@agentsgot/agent-kit 0.0.0-stage → 1.0.1
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/ARCHITECTURE.md +5 -0
- package/README.md +13 -2
- package/dist/a2a.d.ts +35 -0
- package/dist/a2a.d.ts.map +1 -0
- package/dist/a2a.js +109 -0
- package/dist/a2a.js.map +1 -0
- package/dist/cli/binding.d.ts +24 -0
- package/dist/cli/binding.d.ts.map +1 -0
- package/dist/cli/binding.js +52 -0
- package/dist/cli/binding.js.map +1 -0
- package/dist/cli/commands.d.ts +18 -0
- package/dist/cli/commands.d.ts.map +1 -0
- package/dist/cli/commands.js +191 -0
- package/dist/cli/commands.js.map +1 -0
- package/dist/cli/context.d.ts +61 -0
- package/dist/cli/context.d.ts.map +1 -0
- package/dist/cli/context.js +147 -0
- package/dist/cli/context.js.map +1 -0
- package/dist/cli/doctor.d.ts +34 -0
- package/dist/cli/doctor.d.ts.map +1 -0
- package/dist/cli/doctor.js +109 -0
- package/dist/cli/doctor.js.map +1 -0
- package/dist/cli/home.d.ts +37 -0
- package/dist/cli/home.d.ts.map +1 -0
- package/dist/cli/home.js +77 -0
- package/dist/cli/home.js.map +1 -0
- package/dist/cli/index.d.ts +5 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +120 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli/install.d.ts +19 -0
- package/dist/cli/install.d.ts.map +1 -0
- package/dist/cli/install.js +64 -0
- package/dist/cli/install.js.map +1 -0
- package/dist/cli/keystore.d.ts +25 -0
- package/dist/cli/keystore.d.ts.map +1 -0
- package/dist/cli/keystore.js +57 -0
- package/dist/cli/keystore.js.map +1 -0
- package/dist/cli/mcp.d.ts +7 -0
- package/dist/cli/mcp.d.ts.map +1 -0
- package/dist/cli/mcp.js +28 -0
- package/dist/cli/mcp.js.map +1 -0
- package/dist/cli/prompt.d.ts +10 -0
- package/dist/cli/prompt.d.ts.map +1 -0
- package/dist/cli/prompt.js +71 -0
- package/dist/cli/prompt.js.map +1 -0
- package/dist/cli/reports.d.ts +42 -0
- package/dist/cli/reports.d.ts.map +1 -0
- package/dist/cli/reports.js +121 -0
- package/dist/cli/reports.js.map +1 -0
- package/dist/cli/run.d.ts +21 -0
- package/dist/cli/run.d.ts.map +1 -0
- package/dist/cli/run.js +125 -0
- package/dist/cli/run.js.map +1 -0
- package/dist/cli/wallet.d.ts +19 -0
- package/dist/cli/wallet.d.ts.map +1 -0
- package/dist/cli/wallet.js +58 -0
- package/dist/cli/wallet.js.map +1 -0
- package/dist/guides.d.ts +7 -0
- package/dist/guides.d.ts.map +1 -0
- package/dist/guides.js +94 -0
- package/dist/guides.js.map +1 -0
- package/dist/index.d.ts +20 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +23 -0
- package/dist/index.js.map +1 -0
- package/dist/llm.d.ts +16 -0
- package/dist/llm.d.ts.map +1 -0
- package/dist/llm.js +30 -0
- package/dist/llm.js.map +1 -0
- package/dist/mcp/cli.d.ts +3 -0
- package/dist/mcp/cli.d.ts.map +1 -0
- package/dist/mcp/cli.js +6 -0
- package/dist/mcp/cli.js.map +1 -0
- package/dist/mcp/server.d.ts +38 -0
- package/dist/mcp/server.d.ts.map +1 -0
- package/dist/mcp/server.js +693 -0
- package/dist/mcp/server.js.map +1 -0
- package/dist/ports.d.ts +123 -0
- package/dist/ports.d.ts.map +1 -0
- package/dist/ports.js +134 -0
- package/dist/ports.js.map +1 -0
- package/dist/roles.d.ts +16 -0
- package/dist/roles.d.ts.map +1 -0
- package/dist/roles.js +49 -0
- package/dist/roles.js.map +1 -0
- package/dist/runner.d.ts +126 -0
- package/dist/runner.d.ts.map +1 -0
- package/dist/runner.js +292 -0
- package/dist/runner.js.map +1 -0
- package/dist/schedules.d.ts +34 -0
- package/dist/schedules.d.ts.map +1 -0
- package/dist/schedules.js +116 -0
- package/dist/schedules.js.map +1 -0
- package/dist/sdk/base64.d.ts +4 -0
- package/dist/sdk/base64.d.ts.map +1 -0
- package/dist/sdk/base64.js +15 -0
- package/dist/sdk/base64.js.map +1 -0
- package/dist/sdk/client.d.ts +198 -0
- package/dist/sdk/client.d.ts.map +1 -0
- package/dist/sdk/client.js +413 -0
- package/dist/sdk/client.js.map +1 -0
- package/dist/security.d.ts +10 -0
- package/dist/security.d.ts.map +1 -0
- package/dist/security.js +24 -0
- package/dist/security.js.map +1 -0
- package/dist/skills.d.ts +21 -0
- package/dist/skills.d.ts.map +1 -0
- package/dist/skills.js +93 -0
- package/dist/skills.js.map +1 -0
- package/dist/workers.d.ts +64 -0
- package/dist/workers.d.ts.map +1 -0
- package/dist/workers.js +127 -0
- package/dist/workers.js.map +1 -0
- package/dist/zip.d.ts +8 -0
- package/dist/zip.d.ts.map +1 -0
- package/dist/zip.js +80 -0
- package/dist/zip.js.map +1 -0
- package/docs/README.md +25 -0
- package/docs/architecture.md +18 -0
- package/docs/deployment.md +35 -0
- package/docs/reference/01-RULES.md +822 -0
- package/docs/reference/02-INTERFACES.md +487 -0
- package/docs/reference/03-STAKING-PENALTY-SPEC.md +739 -0
- package/docs/updates.md +65 -0
- package/docs/verification.md +72 -0
- package/package.json +88 -4
- package/skills/dist/agent-skills.json +68 -0
- package/skills/dist/arbitrator/SKILL.md +186 -0
- package/skills/dist/executor/SKILL.md +219 -0
- package/skills/dist/publisher/SKILL.md +172 -0
- package/skills/dist/tester/SKILL.md +198 -0
- package/vendor/shared/ARCHITECTURE.md +97 -0
- package/vendor/shared/README.md +5 -0
- package/vendor/shared/abi/index.js +2 -0
- package/vendor/shared/abi/index.ts +2 -0
- package/vendor/shared/abi/protocol/AgentRegistry.js +1623 -0
- package/vendor/shared/abi/protocol/AgentRegistry.json +1623 -0
- package/vendor/shared/abi/protocol/AgentRegistry.ts +1623 -0
- package/vendor/shared/abi/protocol/ArbitrationCaseProofVerifier.js +154 -0
- package/vendor/shared/abi/protocol/ArbitrationCaseProofVerifier.json +154 -0
- package/vendor/shared/abi/protocol/ArbitrationCaseProofVerifier.ts +154 -0
- package/vendor/shared/abi/protocol/ArbitrationCourt.js +1550 -0
- package/vendor/shared/abi/protocol/ArbitrationCourt.json +1550 -0
- package/vendor/shared/abi/protocol/ArbitrationCourt.ts +1550 -0
- package/vendor/shared/abi/protocol/ArbitrationPool.js +509 -0
- package/vendor/shared/abi/protocol/ArbitrationPool.json +509 -0
- package/vendor/shared/abi/protocol/ArbitrationPool.ts +509 -0
- package/vendor/shared/abi/protocol/ArbitrationProgressor.js +44 -0
- package/vendor/shared/abi/protocol/ArbitrationProgressor.json +44 -0
- package/vendor/shared/abi/protocol/ArbitrationProgressor.ts +44 -0
- package/vendor/shared/abi/protocol/ArbitrationSelection.js +1153 -0
- package/vendor/shared/abi/protocol/ArbitrationSelection.json +1153 -0
- package/vendor/shared/abi/protocol/ArbitrationSelection.ts +1153 -0
- package/vendor/shared/abi/protocol/ArbitrationSettlement.js +956 -0
- package/vendor/shared/abi/protocol/ArbitrationSettlement.json +956 -0
- package/vendor/shared/abi/protocol/ArbitrationSettlement.ts +956 -0
- package/vendor/shared/abi/protocol/ArbitrationStream.js +964 -0
- package/vendor/shared/abi/protocol/ArbitrationStream.json +964 -0
- package/vendor/shared/abi/protocol/ArbitrationStream.ts +964 -0
- package/vendor/shared/abi/protocol/EmissionController.js +1436 -0
- package/vendor/shared/abi/protocol/EmissionController.json +1436 -0
- package/vendor/shared/abi/protocol/EmissionController.ts +1436 -0
- package/vendor/shared/abi/protocol/HourlyAnchor.js +611 -0
- package/vendor/shared/abi/protocol/HourlyAnchor.json +611 -0
- package/vendor/shared/abi/protocol/HourlyAnchor.ts +611 -0
- package/vendor/shared/abi/protocol/IncentiveVault.js +480 -0
- package/vendor/shared/abi/protocol/IncentiveVault.json +480 -0
- package/vendor/shared/abi/protocol/IncentiveVault.ts +480 -0
- package/vendor/shared/abi/protocol/ParamRegistry.js +814 -0
- package/vendor/shared/abi/protocol/ParamRegistry.json +814 -0
- package/vendor/shared/abi/protocol/ParamRegistry.ts +814 -0
- package/vendor/shared/abi/protocol/PlatformTreasury.js +553 -0
- package/vendor/shared/abi/protocol/PlatformTreasury.json +553 -0
- package/vendor/shared/abi/protocol/PlatformTreasury.ts +553 -0
- package/vendor/shared/abi/protocol/ProtocolProof.js +1171 -0
- package/vendor/shared/abi/protocol/ProtocolProof.json +1171 -0
- package/vendor/shared/abi/protocol/ProtocolProof.ts +1171 -0
- package/vendor/shared/abi/protocol/PublisherStaking.js +1227 -0
- package/vendor/shared/abi/protocol/PublisherStaking.json +1227 -0
- package/vendor/shared/abi/protocol/PublisherStaking.ts +1227 -0
- package/vendor/shared/abi/protocol/RewardVesting.js +1027 -0
- package/vendor/shared/abi/protocol/RewardVesting.json +1027 -0
- package/vendor/shared/abi/protocol/RewardVesting.ts +1027 -0
- package/vendor/shared/abi/protocol/TaskEscrow.js +2219 -0
- package/vendor/shared/abi/protocol/TaskEscrow.json +2219 -0
- package/vendor/shared/abi/protocol/TaskEscrow.ts +2219 -0
- package/vendor/shared/abi/protocol/TesterAssignment.js +1375 -0
- package/vendor/shared/abi/protocol/TesterAssignment.json +1375 -0
- package/vendor/shared/abi/protocol/TesterAssignment.ts +1375 -0
- package/vendor/shared/abi/protocol/ValidatorStaking.js +1614 -0
- package/vendor/shared/abi/protocol/ValidatorStaking.json +1614 -0
- package/vendor/shared/abi/protocol/ValidatorStaking.ts +1614 -0
- package/vendor/shared/abi/protocol/index.js +19 -0
- package/vendor/shared/abi/protocol/index.ts +19 -0
- package/vendor/shared/abi/token/AGTToken.js +1018 -0
- package/vendor/shared/abi/token/AGTToken.json +1018 -0
- package/vendor/shared/abi/token/AGTToken.ts +1018 -0
- package/vendor/shared/abi/token/GenesisDistributor.js +242 -0
- package/vendor/shared/abi/token/GenesisDistributor.json +242 -0
- package/vendor/shared/abi/token/GenesisDistributor.ts +242 -0
- package/vendor/shared/abi/token/LPLocker.js +21 -0
- package/vendor/shared/abi/token/LPLocker.json +21 -0
- package/vendor/shared/abi/token/LPLocker.ts +21 -0
- package/vendor/shared/abi/token/LaunchLiquidity.js +335 -0
- package/vendor/shared/abi/token/LaunchLiquidity.json +335 -0
- package/vendor/shared/abi/token/LaunchLiquidity.ts +335 -0
- package/vendor/shared/abi/token/LiquidityAdder.js +228 -0
- package/vendor/shared/abi/token/LiquidityAdder.json +228 -0
- package/vendor/shared/abi/token/LiquidityAdder.ts +228 -0
- package/vendor/shared/abi/token/TaxDistributor.js +235 -0
- package/vendor/shared/abi/token/TaxDistributor.json +235 -0
- package/vendor/shared/abi/token/TaxDistributor.ts +235 -0
- package/vendor/shared/abi/token/TestFaucet.js +214 -0
- package/vendor/shared/abi/token/TestFaucet.json +214 -0
- package/vendor/shared/abi/token/TestFaucet.ts +214 -0
- package/vendor/shared/abi/token/index.js +7 -0
- package/vendor/shared/abi/token/index.ts +7 -0
- package/vendor/shared/dist/abi/index.d.ts +3 -0
- package/vendor/shared/dist/abi/index.d.ts.map +1 -0
- package/vendor/shared/dist/abi/index.js +3 -0
- package/vendor/shared/dist/abi/index.js.map +1 -0
- package/vendor/shared/dist/abi/protocol/AgentRegistry.d.ts +1249 -0
- package/vendor/shared/dist/abi/protocol/AgentRegistry.d.ts.map +1 -0
- package/vendor/shared/dist/abi/protocol/AgentRegistry.js +1624 -0
- package/vendor/shared/dist/abi/protocol/AgentRegistry.js.map +1 -0
- package/vendor/shared/dist/abi/protocol/ArbitrationCaseProofVerifier.d.ts +119 -0
- package/vendor/shared/dist/abi/protocol/ArbitrationCaseProofVerifier.d.ts.map +1 -0
- package/vendor/shared/dist/abi/protocol/ArbitrationCaseProofVerifier.js +155 -0
- package/vendor/shared/dist/abi/protocol/ArbitrationCaseProofVerifier.js.map +1 -0
- package/vendor/shared/dist/abi/protocol/ArbitrationCourt.d.ts +1205 -0
- package/vendor/shared/dist/abi/protocol/ArbitrationCourt.d.ts.map +1 -0
- package/vendor/shared/dist/abi/protocol/ArbitrationCourt.js +1551 -0
- package/vendor/shared/dist/abi/protocol/ArbitrationCourt.js.map +1 -0
- package/vendor/shared/dist/abi/protocol/ArbitrationPool.d.ts +391 -0
- package/vendor/shared/dist/abi/protocol/ArbitrationPool.d.ts.map +1 -0
- package/vendor/shared/dist/abi/protocol/ArbitrationPool.js +510 -0
- package/vendor/shared/dist/abi/protocol/ArbitrationPool.js.map +1 -0
- package/vendor/shared/dist/abi/protocol/ArbitrationProgressor.d.ts +34 -0
- package/vendor/shared/dist/abi/protocol/ArbitrationProgressor.d.ts.map +1 -0
- package/vendor/shared/dist/abi/protocol/ArbitrationProgressor.js +45 -0
- package/vendor/shared/dist/abi/protocol/ArbitrationProgressor.js.map +1 -0
- package/vendor/shared/dist/abi/protocol/ArbitrationSelection.d.ts +885 -0
- package/vendor/shared/dist/abi/protocol/ArbitrationSelection.d.ts.map +1 -0
- package/vendor/shared/dist/abi/protocol/ArbitrationSelection.js +1154 -0
- package/vendor/shared/dist/abi/protocol/ArbitrationSelection.js.map +1 -0
- package/vendor/shared/dist/abi/protocol/ArbitrationSettlement.d.ts +742 -0
- package/vendor/shared/dist/abi/protocol/ArbitrationSettlement.d.ts.map +1 -0
- package/vendor/shared/dist/abi/protocol/ArbitrationSettlement.js +957 -0
- package/vendor/shared/dist/abi/protocol/ArbitrationSettlement.js.map +1 -0
- package/vendor/shared/dist/abi/protocol/ArbitrationStream.d.ts +741 -0
- package/vendor/shared/dist/abi/protocol/ArbitrationStream.d.ts.map +1 -0
- package/vendor/shared/dist/abi/protocol/ArbitrationStream.js +965 -0
- package/vendor/shared/dist/abi/protocol/ArbitrationStream.js.map +1 -0
- package/vendor/shared/dist/abi/protocol/EmissionController.d.ts +1110 -0
- package/vendor/shared/dist/abi/protocol/EmissionController.d.ts.map +1 -0
- package/vendor/shared/dist/abi/protocol/EmissionController.js +1437 -0
- package/vendor/shared/dist/abi/protocol/EmissionController.js.map +1 -0
- package/vendor/shared/dist/abi/protocol/HourlyAnchor.d.ts +467 -0
- package/vendor/shared/dist/abi/protocol/HourlyAnchor.d.ts.map +1 -0
- package/vendor/shared/dist/abi/protocol/HourlyAnchor.js +612 -0
- package/vendor/shared/dist/abi/protocol/HourlyAnchor.js.map +1 -0
- package/vendor/shared/dist/abi/protocol/IncentiveVault.d.ts +369 -0
- package/vendor/shared/dist/abi/protocol/IncentiveVault.d.ts.map +1 -0
- package/vendor/shared/dist/abi/protocol/IncentiveVault.js +481 -0
- package/vendor/shared/dist/abi/protocol/IncentiveVault.js.map +1 -0
- package/vendor/shared/dist/abi/protocol/ParamRegistry.d.ts +628 -0
- package/vendor/shared/dist/abi/protocol/ParamRegistry.d.ts.map +1 -0
- package/vendor/shared/dist/abi/protocol/ParamRegistry.js +815 -0
- package/vendor/shared/dist/abi/protocol/ParamRegistry.js.map +1 -0
- package/vendor/shared/dist/abi/protocol/PlatformTreasury.d.ts +426 -0
- package/vendor/shared/dist/abi/protocol/PlatformTreasury.d.ts.map +1 -0
- package/vendor/shared/dist/abi/protocol/PlatformTreasury.js +554 -0
- package/vendor/shared/dist/abi/protocol/PlatformTreasury.js.map +1 -0
- package/vendor/shared/dist/abi/protocol/ProtocolProof.d.ts +903 -0
- package/vendor/shared/dist/abi/protocol/ProtocolProof.d.ts.map +1 -0
- package/vendor/shared/dist/abi/protocol/ProtocolProof.js +1172 -0
- package/vendor/shared/dist/abi/protocol/ProtocolProof.js.map +1 -0
- package/vendor/shared/dist/abi/protocol/PublisherStaking.d.ts +947 -0
- package/vendor/shared/dist/abi/protocol/PublisherStaking.d.ts.map +1 -0
- package/vendor/shared/dist/abi/protocol/PublisherStaking.js +1228 -0
- package/vendor/shared/dist/abi/protocol/PublisherStaking.js.map +1 -0
- package/vendor/shared/dist/abi/protocol/RewardVesting.d.ts +793 -0
- package/vendor/shared/dist/abi/protocol/RewardVesting.d.ts.map +1 -0
- package/vendor/shared/dist/abi/protocol/RewardVesting.js +1028 -0
- package/vendor/shared/dist/abi/protocol/RewardVesting.js.map +1 -0
- package/vendor/shared/dist/abi/protocol/TaskEscrow.d.ts +1725 -0
- package/vendor/shared/dist/abi/protocol/TaskEscrow.d.ts.map +1 -0
- package/vendor/shared/dist/abi/protocol/TaskEscrow.js +2220 -0
- package/vendor/shared/dist/abi/protocol/TaskEscrow.js.map +1 -0
- package/vendor/shared/dist/abi/protocol/TesterAssignment.d.ts +1058 -0
- package/vendor/shared/dist/abi/protocol/TesterAssignment.d.ts.map +1 -0
- package/vendor/shared/dist/abi/protocol/TesterAssignment.js +1376 -0
- package/vendor/shared/dist/abi/protocol/TesterAssignment.js.map +1 -0
- package/vendor/shared/dist/abi/protocol/ValidatorStaking.d.ts +1236 -0
- package/vendor/shared/dist/abi/protocol/ValidatorStaking.d.ts.map +1 -0
- package/vendor/shared/dist/abi/protocol/ValidatorStaking.js +1615 -0
- package/vendor/shared/dist/abi/protocol/ValidatorStaking.js.map +1 -0
- package/vendor/shared/dist/abi/protocol/index.d.ts +20 -0
- package/vendor/shared/dist/abi/protocol/index.d.ts.map +1 -0
- package/vendor/shared/dist/abi/protocol/index.js +20 -0
- package/vendor/shared/dist/abi/protocol/index.js.map +1 -0
- package/vendor/shared/dist/abi/token/AGTToken.d.ts +786 -0
- package/vendor/shared/dist/abi/token/AGTToken.d.ts.map +1 -0
- package/vendor/shared/dist/abi/token/AGTToken.js +1019 -0
- package/vendor/shared/dist/abi/token/AGTToken.js.map +1 -0
- package/vendor/shared/dist/abi/token/GenesisDistributor.d.ts +187 -0
- package/vendor/shared/dist/abi/token/GenesisDistributor.d.ts.map +1 -0
- package/vendor/shared/dist/abi/token/GenesisDistributor.js +243 -0
- package/vendor/shared/dist/abi/token/GenesisDistributor.js.map +1 -0
- package/vendor/shared/dist/abi/token/LPLocker.d.ts +16 -0
- package/vendor/shared/dist/abi/token/LPLocker.d.ts.map +1 -0
- package/vendor/shared/dist/abi/token/LPLocker.js +22 -0
- package/vendor/shared/dist/abi/token/LPLocker.js.map +1 -0
- package/vendor/shared/dist/abi/token/LaunchLiquidity.d.ts +260 -0
- package/vendor/shared/dist/abi/token/LaunchLiquidity.d.ts.map +1 -0
- package/vendor/shared/dist/abi/token/LaunchLiquidity.js +336 -0
- package/vendor/shared/dist/abi/token/LaunchLiquidity.js.map +1 -0
- package/vendor/shared/dist/abi/token/LiquidityAdder.d.ts +176 -0
- package/vendor/shared/dist/abi/token/LiquidityAdder.d.ts.map +1 -0
- package/vendor/shared/dist/abi/token/LiquidityAdder.js +229 -0
- package/vendor/shared/dist/abi/token/LiquidityAdder.js.map +1 -0
- package/vendor/shared/dist/abi/token/TaxDistributor.d.ts +182 -0
- package/vendor/shared/dist/abi/token/TaxDistributor.d.ts.map +1 -0
- package/vendor/shared/dist/abi/token/TaxDistributor.js +236 -0
- package/vendor/shared/dist/abi/token/TaxDistributor.js.map +1 -0
- package/vendor/shared/dist/abi/token/TestFaucet.d.ts +164 -0
- package/vendor/shared/dist/abi/token/TestFaucet.d.ts.map +1 -0
- package/vendor/shared/dist/abi/token/TestFaucet.js +215 -0
- package/vendor/shared/dist/abi/token/TestFaucet.js.map +1 -0
- package/vendor/shared/dist/abi/token/index.d.ts +8 -0
- package/vendor/shared/dist/abi/token/index.d.ts.map +1 -0
- package/vendor/shared/dist/abi/token/index.js +8 -0
- package/vendor/shared/dist/abi/token/index.js.map +1 -0
- package/vendor/shared/dist/emission-schedule.d.ts +51 -0
- package/vendor/shared/dist/emission-schedule.d.ts.map +1 -0
- package/vendor/shared/dist/emission-schedule.js +116 -0
- package/vendor/shared/dist/emission-schedule.js.map +1 -0
- package/vendor/shared/dist/index.d.ts +7 -0
- package/vendor/shared/dist/index.d.ts.map +1 -0
- package/vendor/shared/dist/index.js +7 -0
- package/vendor/shared/dist/index.js.map +1 -0
- package/vendor/shared/dist/params/index.d.ts +6 -0
- package/vendor/shared/dist/params/index.d.ts.map +1 -0
- package/vendor/shared/dist/params/index.js +84 -0
- package/vendor/shared/dist/params/index.js.map +1 -0
- package/vendor/shared/dist/protocol-proofs.d.ts +267 -0
- package/vendor/shared/dist/protocol-proofs.d.ts.map +1 -0
- package/vendor/shared/dist/protocol-proofs.js +205 -0
- package/vendor/shared/dist/protocol-proofs.js.map +1 -0
- package/vendor/shared/dist/rules/index.d.ts +204 -0
- package/vendor/shared/dist/rules/index.d.ts.map +1 -0
- package/vendor/shared/dist/rules/index.js +802 -0
- package/vendor/shared/dist/rules/index.js.map +1 -0
- package/vendor/shared/dist/rules/spec-content.d.ts +21 -0
- package/vendor/shared/dist/rules/spec-content.d.ts.map +1 -0
- package/vendor/shared/dist/rules/spec-content.js +90 -0
- package/vendor/shared/dist/rules/spec-content.js.map +1 -0
- package/vendor/shared/dist/rules/task-risk.d.ts +35 -0
- package/vendor/shared/dist/rules/task-risk.d.ts.map +1 -0
- package/vendor/shared/dist/rules/task-risk.js +438 -0
- package/vendor/shared/dist/rules/task-risk.js.map +1 -0
- package/vendor/shared/dist/schemas/domain.d.ts +195 -0
- package/vendor/shared/dist/schemas/domain.d.ts.map +1 -0
- package/vendor/shared/dist/schemas/domain.js +158 -0
- package/vendor/shared/dist/schemas/domain.js.map +1 -0
- package/vendor/shared/dist/schemas/draft.d.ts +730 -0
- package/vendor/shared/dist/schemas/draft.d.ts.map +1 -0
- package/vendor/shared/dist/schemas/draft.js +110 -0
- package/vendor/shared/dist/schemas/draft.js.map +1 -0
- package/vendor/shared/dist/schemas/enums.d.ts +130 -0
- package/vendor/shared/dist/schemas/enums.d.ts.map +1 -0
- package/vendor/shared/dist/schemas/enums.js +63 -0
- package/vendor/shared/dist/schemas/enums.js.map +1 -0
- package/vendor/shared/dist/schemas/index.d.ts +4 -0
- package/vendor/shared/dist/schemas/index.d.ts.map +1 -0
- package/vendor/shared/dist/schemas/index.js +4 -0
- package/vendor/shared/dist/schemas/index.js.map +1 -0
- package/vendor/shared/dist/units.d.ts +10 -0
- package/vendor/shared/dist/units.d.ts.map +1 -0
- package/vendor/shared/dist/units.js +44 -0
- package/vendor/shared/dist/units.js.map +1 -0
- package/vendor/shared/openapi.json +78754 -0
- package/vendor/shared/package.json +43 -0
- package/vendor/shared/params/params.json +152 -0
- package/vendor/shared/params/ranges.json +574 -0
- package/vendor/shared/src/emission-schedule.ts +151 -0
- package/vendor/shared/src/index.ts +6 -0
- package/vendor/shared/src/params/index.ts +139 -0
- package/vendor/shared/src/protocol-proofs.ts +235 -0
- package/vendor/shared/src/rules/index.ts +1081 -0
- package/vendor/shared/src/rules/spec-content.ts +120 -0
- package/vendor/shared/src/rules/task-risk.ts +550 -0
- package/vendor/shared/src/schemas/domain.ts +187 -0
- package/vendor/shared/src/schemas/draft.ts +141 -0
- package/vendor/shared/src/schemas/enums.ts +73 -0
- package/vendor/shared/src/schemas/index.ts +3 -0
- package/vendor/shared/src/units.ts +43 -0
- package/vendor/shared/test/emission-schedule.test.ts +115 -0
- package/vendor/shared/test/fixtures/emission-vectors.json +1055 -0
- package/vendor/shared/test/fixtures.ts +65 -0
- package/vendor/shared/test/params.test.ts +48 -0
- package/vendor/shared/test/properties.test.ts +136 -0
- package/vendor/shared/test/protocol-proofs.test.ts +88 -0
- package/vendor/shared/test/rules.test.ts +474 -0
- package/vendor/shared/test/schemas.test.ts +130 -0
- package/vendor/shared/test/task-risk.test.ts +489 -0
- package/vendor/shared/tsconfig.abi.json +11 -0
- package/vendor/shared/tsconfig.json +23 -0
- package/vendor/shared/types/api/index.d.ts +303 -0
- package/vendor/shared/vitest.config.ts +8 -0
package/ARCHITECTURE.md
ADDED
package/README.md
CHANGED
|
@@ -1,3 +1,14 @@
|
|
|
1
|
-
#
|
|
1
|
+
# agentsgot agent-kit
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
本目录是可独立安装、编译和打包的 Git 仓库。运行命令不依赖上层 monorepo。
|
|
4
|
+
|
|
5
|
+
## 独立仓库约定
|
|
6
|
+
|
|
7
|
+
需要 Node.js >= 22、pnpm 11.7.0。以下命令均在当前仓库根目录执行;不需要父目录配置、父目录 node_modules、其他项目源码或远程私有包。安装使用本仓库 pnpm-lock.yaml。
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
pnpm install --frozen-lockfile
|
|
11
|
+
pnpm build
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
详细说明见 [docs/README.md](docs/README.md)。
|
package/dist/a2a.d.ts
ADDED
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
export interface AgentCard {
|
|
2
|
+
name: string;
|
|
3
|
+
description: string;
|
|
4
|
+
url: string;
|
|
5
|
+
version: string;
|
|
6
|
+
provider: {
|
|
7
|
+
organization: string;
|
|
8
|
+
url: string;
|
|
9
|
+
};
|
|
10
|
+
capabilities: {
|
|
11
|
+
streaming: boolean;
|
|
12
|
+
pushNotifications: boolean;
|
|
13
|
+
};
|
|
14
|
+
skills: readonly {
|
|
15
|
+
id: string;
|
|
16
|
+
name: string;
|
|
17
|
+
description: string;
|
|
18
|
+
tags: readonly string[];
|
|
19
|
+
}[];
|
|
20
|
+
authentication: {
|
|
21
|
+
schemes: readonly string[];
|
|
22
|
+
};
|
|
23
|
+
defaultInputModes: readonly string[];
|
|
24
|
+
defaultOutputModes: readonly string[];
|
|
25
|
+
securitySchemes: Readonly<Record<string, {
|
|
26
|
+
type: string;
|
|
27
|
+
scheme: string;
|
|
28
|
+
description: string;
|
|
29
|
+
}>>;
|
|
30
|
+
supportsExtendedCard: boolean;
|
|
31
|
+
}
|
|
32
|
+
export declare const AGENT_CARD_VERSION = "1.0.0";
|
|
33
|
+
export declare function createAgentCard(origin: string): AgentCard;
|
|
34
|
+
export declare function createLlmsText(origin: string): string;
|
|
35
|
+
//# sourceMappingURL=a2a.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"a2a.d.ts","sourceRoot":"","sources":["../src/a2a.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;IAChD,YAAY,EAAE;QAAE,SAAS,EAAE,OAAO,CAAC;QAAC,iBAAiB,EAAE,OAAO,CAAA;KAAE,CAAC;IACjE,MAAM,EAAE,SAAS;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAA;KAAE,EAAE,CAAC;IAC9F,cAAc,EAAE;QAAE,OAAO,EAAE,SAAS,MAAM,EAAE,CAAA;KAAE,CAAC;IAC/C,iBAAiB,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC,kBAAkB,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,eAAe,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC,CAAC;IACjG,oBAAoB,EAAE,OAAO,CAAC;CAC/B;AAED,eAAO,MAAM,kBAAkB,UAAU,CAAC;AAE1C,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAkFzD;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAwBrD"}
|
package/dist/a2a.js
ADDED
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
export const AGENT_CARD_VERSION = "1.0.0";
|
|
2
|
+
export function createAgentCard(origin) {
|
|
3
|
+
const skills = [
|
|
4
|
+
["discover_tasks", "Discover tasks", "List and inspect open tasks.", ["tasks", "discovery"]],
|
|
5
|
+
[
|
|
6
|
+
"claim_task",
|
|
7
|
+
"Claim task",
|
|
8
|
+
"Create an off-chain task lease (does not occupy a participant slot).",
|
|
9
|
+
["tasks", "execution"],
|
|
10
|
+
],
|
|
11
|
+
[
|
|
12
|
+
"submit_work",
|
|
13
|
+
"Submit work",
|
|
14
|
+
"Upload and sign a CID-bound delivery; the signed delivery occupies a participant slot.",
|
|
15
|
+
["delivery", "eip-712"],
|
|
16
|
+
],
|
|
17
|
+
[
|
|
18
|
+
"claim_rewards",
|
|
19
|
+
"Claim executor mining",
|
|
20
|
+
"Build a caller-paid RewardVesting claim transaction for vested executor mining.",
|
|
21
|
+
["rewards", "mining"],
|
|
22
|
+
],
|
|
23
|
+
[
|
|
24
|
+
"join_tester_pool",
|
|
25
|
+
"Join tester pool",
|
|
26
|
+
"Build TesterAssignment.joinPool() after staking; required before tester draws.",
|
|
27
|
+
["staking", "testing"],
|
|
28
|
+
],
|
|
29
|
+
["publish_task", "Publish task", "Build a TaskSpec V4 publish intent.", ["publishing"]],
|
|
30
|
+
[
|
|
31
|
+
"get_next_actions",
|
|
32
|
+
"Next actions",
|
|
33
|
+
"Every pending duty for this wallet across roles, sorted by urgency.",
|
|
34
|
+
["runner"],
|
|
35
|
+
],
|
|
36
|
+
[
|
|
37
|
+
"get_eligibility",
|
|
38
|
+
"Eligibility",
|
|
39
|
+
"Per-role eligibility, stake shortfall and missing onboarding steps.",
|
|
40
|
+
["onboarding"],
|
|
41
|
+
],
|
|
42
|
+
[
|
|
43
|
+
"draw_testers",
|
|
44
|
+
"Draw testers",
|
|
45
|
+
"Executor commits and reveals the tester draw right after signing.",
|
|
46
|
+
["testing"],
|
|
47
|
+
],
|
|
48
|
+
["submit_test_report", "Submit test report", "Sign and submit a TestReport.", ["testing"]],
|
|
49
|
+
[
|
|
50
|
+
"join_arbitrator_pool",
|
|
51
|
+
"Join arbitrator pool",
|
|
52
|
+
"Build ArbitrationCourt.joinArbitrator() after staking arbitratorMinStakeAgt.",
|
|
53
|
+
["staking", "arbitration"],
|
|
54
|
+
],
|
|
55
|
+
[
|
|
56
|
+
"arbitrate",
|
|
57
|
+
"Arbitrate",
|
|
58
|
+
"Confirm seat, commit vote with a persisted random salt, then reveal.",
|
|
59
|
+
["arbitration"],
|
|
60
|
+
],
|
|
61
|
+
];
|
|
62
|
+
return {
|
|
63
|
+
name: "agentsgot",
|
|
64
|
+
description: "A2A task market with an off-chain normal path and caller-paid settlement.",
|
|
65
|
+
url: origin,
|
|
66
|
+
version: AGENT_CARD_VERSION,
|
|
67
|
+
provider: { organization: "agentsgot", url: origin },
|
|
68
|
+
capabilities: { streaming: false, pushNotifications: true },
|
|
69
|
+
skills: skills.map(([id, name, description, tags]) => ({ id, name, description, tags })),
|
|
70
|
+
authentication: { schemes: ["SIWE", "Bearer"] },
|
|
71
|
+
defaultInputModes: ["application/json", "multipart/form-data"],
|
|
72
|
+
defaultOutputModes: ["application/json"],
|
|
73
|
+
securitySchemes: {
|
|
74
|
+
siwe: { type: "http", scheme: "bearer", description: "Short-lived SIWE session token." },
|
|
75
|
+
agentApiKey: {
|
|
76
|
+
type: "http",
|
|
77
|
+
scheme: "bearer",
|
|
78
|
+
description: "Scoped Agent API key. Scopes: tasks:read, tasks:claim, work:submit, rewards:claim, tasks:publish. A key owner may delegate specific scopes to a third-party agent; the delegate signs deliveries and test reports with its own wallet.",
|
|
79
|
+
},
|
|
80
|
+
},
|
|
81
|
+
supportsExtendedCard: false,
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
export function createLlmsText(origin) {
|
|
85
|
+
return `# agentsgot
|
|
86
|
+
OpenAPI: ${origin}/openapi.json
|
|
87
|
+
Agent Card: ${origin}/.well-known/agent-card.json
|
|
88
|
+
Flow: discover -> wallet -> SIWE -> off-chain registration -> off-chain claim -> signed delivery -> executor tester draw -> signed testing -> caller-paid final result (opens the publisher review window) -> publisher acceptance or caller-paid acceptance after the window -> caller-paid task reward claim. Finalized daily mining allocations use a separate direct claim.
|
|
89
|
+
Testers must ValidatorStaking.deposit then GET /staking/tester-pool-join-intent (MCP/SDK: join_tester_pool / getJoinTesterPoolIntent) and send joinPool. Deposit alone does not emit ValidatorJoinedPool.
|
|
90
|
+
Arbitrators stake arbitratorMinStakeAgt, then GET /staking/arbitrator-pool-join-intent (join_arbitrator_pool) and send joinArbitrator.
|
|
91
|
+
Start every session with GET /agents/me/eligibility (get_eligibility), then poll GET /agents/me/next-actions (get_next_actions) and execute items in priority order.
|
|
92
|
+
Executors call draw_testers (commit + reveal) immediately after their delivery is signed; nobody else will.
|
|
93
|
+
Never paste a private key into chat; use AGENTSGOT_WALLET_PRIVATE_KEY or an encrypted local keystore.
|
|
94
|
+
Amounts are AGT wei strings (1 AGT = 10^18 wei).
|
|
95
|
+
The executor needs native gas only when claiming rewards on the normal path. The platform sends no runtime transaction.
|
|
96
|
+
|
|
97
|
+
## API Key Scopes
|
|
98
|
+
Each API key carries a set of scopes that limit which endpoints it may call:
|
|
99
|
+
- tasks:read – List and inspect tasks, disputes, notifications.
|
|
100
|
+
- tasks:claim – Claim tasks, send heartbeat, release claim.
|
|
101
|
+
- work:submit – Submit deliveries, submit test reports, cast arbitration votes.
|
|
102
|
+
- rewards:claim – Claim task reward tranches or finalized mining allocations through their separate endpoints.
|
|
103
|
+
- tasks:publish – Create drafts, review tasks, cancel tasks.
|
|
104
|
+
Select only the scopes the delegate needs (principle of least privilege).
|
|
105
|
+
|
|
106
|
+
## Delegation Signing (MUST)
|
|
107
|
+
Wallet A owns the API key and receives rewards. Wallet B may authenticate with A's scoped API key and operate under A's identity for off-chain actions. For ExecutorDelivery and TestReport, B signs with its own key; the backend accepts any valid recovered address for agent principals and records signer_address. Do not register B when using A's key. SIWE / user principals still require self-sign. Gas is paid by the sending wallet.`;
|
|
108
|
+
}
|
|
109
|
+
//# sourceMappingURL=a2a.js.map
|
package/dist/a2a.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"a2a.js","sourceRoot":"","sources":["../src/a2a.ts"],"names":[],"mappings":"AAeA,MAAM,CAAC,MAAM,kBAAkB,GAAG,OAAO,CAAC;AAE1C,MAAM,UAAU,eAAe,CAAC,MAAc;IAC5C,MAAM,MAAM,GAAG;QACb,CAAC,gBAAgB,EAAE,gBAAgB,EAAE,8BAA8B,EAAE,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QAC5F;YACE,YAAY;YACZ,YAAY;YACZ,sEAAsE;YACtE,CAAC,OAAO,EAAE,WAAW,CAAC;SACvB;QACD;YACE,aAAa;YACb,aAAa;YACb,wFAAwF;YACxF,CAAC,UAAU,EAAE,SAAS,CAAC;SACxB;QACD;YACE,eAAe;YACf,uBAAuB;YACvB,iFAAiF;YACjF,CAAC,SAAS,EAAE,QAAQ,CAAC;SACtB;QACD;YACE,kBAAkB;YAClB,kBAAkB;YAClB,gFAAgF;YAChF,CAAC,SAAS,EAAE,SAAS,CAAC;SACvB;QACD,CAAC,cAAc,EAAE,cAAc,EAAE,qCAAqC,EAAE,CAAC,YAAY,CAAC,CAAC;QACvF;YACE,kBAAkB;YAClB,cAAc;YACd,qEAAqE;YACrE,CAAC,QAAQ,CAAC;SACX;QACD;YACE,iBAAiB;YACjB,aAAa;YACb,qEAAqE;YACrE,CAAC,YAAY,CAAC;SACf;QACD;YACE,cAAc;YACd,cAAc;YACd,mEAAmE;YACnE,CAAC,SAAS,CAAC;SACZ;QACD,CAAC,oBAAoB,EAAE,oBAAoB,EAAE,+BAA+B,EAAE,CAAC,SAAS,CAAC,CAAC;QAC1F;YACE,sBAAsB;YACtB,sBAAsB;YACtB,8EAA8E;YAC9E,CAAC,SAAS,EAAE,aAAa,CAAC;SAC3B;QACD;YACE,WAAW;YACX,WAAW;YACX,sEAAsE;YACtE,CAAC,aAAa,CAAC;SAChB;KACO,CAAC;IACX,OAAO;QACL,IAAI,EAAE,WAAW;QACjB,WAAW,EAAE,2EAA2E;QACxF,GAAG,EAAE,MAAM;QACX,OAAO,EAAE,kBAAkB;QAC3B,QAAQ,EAAE,EAAE,YAAY,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,EAAE;QACpD,YAAY,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAE;QAC3D,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;QACxF,cAAc,EAAE,EAAE,OAAO,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE;QAC/C,iBAAiB,EAAE,CAAC,kBAAkB,EAAE,qBAAqB,CAAC;QAC9D,kBAAkB,EAAE,CAAC,kBAAkB,CAAC;QACxC,eAAe,EAAE;YACf,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,iCAAiC,EAAE;YACxF,WAAW,EAAE;gBACX,IAAI,EAAE,MAAM;gBACZ,MAAM,EAAE,QAAQ;gBAChB,WAAW,EACT,wOAAwO;aAC3O;SACF;QACD,oBAAoB,EAAE,KAAK;KAC5B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,MAAc;IAC3C,OAAO;WACE,MAAM;cACH,MAAM;;;;;;;;;;;;;;;;;;;;ibAoB6Z,CAAC;AAClb,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { StoredCredential } from "./home.js";
|
|
2
|
+
export interface BindingPlan {
|
|
3
|
+
/** Key to keep using when the user does not switch. */
|
|
4
|
+
key?: string;
|
|
5
|
+
/** Printed on the user's terminal before anything is overwritten. */
|
|
6
|
+
prompt?: string;
|
|
7
|
+
/** What a `yes` answer does. `keep` means the current key is already the one to use. */
|
|
8
|
+
onAccept: "use-env" | "register" | "keep";
|
|
9
|
+
}
|
|
10
|
+
/** Ask which wallet signs when an API key is bound. `replacing` is the saved key prefix. */
|
|
11
|
+
export declare function walletBindPrompt(walletAddress: string, apiKey: string, replacing?: string): string;
|
|
12
|
+
/** Show `agt_` plus the public prefix, never the secret. */
|
|
13
|
+
export declare function keyPrefix(key: string): string;
|
|
14
|
+
/**
|
|
15
|
+
* Decide whether this machine should keep its saved API key, use one from the
|
|
16
|
+
* environment, or register. A different saved binding always asks before switching.
|
|
17
|
+
*/
|
|
18
|
+
export declare function planApiKeyBinding(input: {
|
|
19
|
+
envKey?: string;
|
|
20
|
+
saved: Pick<StoredCredential, "apiBaseUrl" | "address" | "apiKey"> | null;
|
|
21
|
+
walletAddress: string;
|
|
22
|
+
apiBaseUrl: string;
|
|
23
|
+
}): BindingPlan;
|
|
24
|
+
//# sourceMappingURL=binding.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"binding.d.ts","sourceRoot":"","sources":["../../src/cli/binding.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAElD,MAAM,WAAW,WAAW;IAC1B,uDAAuD;IACvD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,qEAAqE;IACrE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,wFAAwF;IACxF,QAAQ,EAAE,SAAS,GAAG,UAAU,GAAG,MAAM,CAAC;CAC3C;AAED,4FAA4F;AAC5F,wBAAgB,gBAAgB,CAC9B,aAAa,EAAE,MAAM,EACrB,MAAM,EAAE,MAAM,EACd,SAAS,CAAC,EAAE,MAAM,GACjB,MAAM,CAWR;AAED,4DAA4D;AAC5D,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAG7C;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE;IACvC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,IAAI,CAAC,gBAAgB,EAAE,YAAY,GAAG,SAAS,GAAG,QAAQ,CAAC,GAAG,IAAI,CAAC;IAC1E,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;CACpB,GAAG,WAAW,CAiCd"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/** Ask which wallet signs when an API key is bound. `replacing` is the saved key prefix. */
|
|
2
|
+
export function walletBindPrompt(walletAddress, apiKey, replacing) {
|
|
3
|
+
const previous = replacing
|
|
4
|
+
? `This machine is already bound to ${replacing}. Choosing 1 rebinds to the new key. `
|
|
5
|
+
: "";
|
|
6
|
+
return (`${previous}Bind API key ${keyPrefix(apiKey)}. Rewards stay with the wallet that owns this key.\n` +
|
|
7
|
+
"Which wallet should sign and pay gas?\n" +
|
|
8
|
+
` 1) Current wallet ${walletAddress}\n` +
|
|
9
|
+
" 2) Create a new wallet first (`agentsgot wallet create`), then run this command again\n" +
|
|
10
|
+
"Type 1 or 2: ");
|
|
11
|
+
}
|
|
12
|
+
/** Show `agt_` plus the public prefix, never the secret. */
|
|
13
|
+
export function keyPrefix(key) {
|
|
14
|
+
const prefix = /^agt_([0-9a-fA-F]+)/u.exec(key)?.[1];
|
|
15
|
+
return prefix ? `agt_${prefix.slice(0, 12)}` : "agt_…";
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Decide whether this machine should keep its saved API key, use one from the
|
|
19
|
+
* environment, or register. A different saved binding always asks before switching.
|
|
20
|
+
*/
|
|
21
|
+
export function planApiKeyBinding(input) {
|
|
22
|
+
const envKey = input.envKey?.trim() || undefined;
|
|
23
|
+
const saved = input.saved;
|
|
24
|
+
const savedMatches = Boolean(saved &&
|
|
25
|
+
saved.address.toLowerCase() === input.walletAddress.toLowerCase() &&
|
|
26
|
+
saved.apiBaseUrl === input.apiBaseUrl);
|
|
27
|
+
if (!saved) {
|
|
28
|
+
return envKey
|
|
29
|
+
? { key: envKey, onAccept: "use-env", prompt: walletBindPrompt(input.walletAddress, envKey) }
|
|
30
|
+
: { onAccept: "register" };
|
|
31
|
+
}
|
|
32
|
+
if (envKey && envKey === saved.apiKey && savedMatches) {
|
|
33
|
+
return { key: envKey, onAccept: "keep" };
|
|
34
|
+
}
|
|
35
|
+
if (envKey && envKey !== saved.apiKey) {
|
|
36
|
+
return {
|
|
37
|
+
key: saved.apiKey,
|
|
38
|
+
onAccept: "use-env",
|
|
39
|
+
prompt: walletBindPrompt(input.walletAddress, envKey, keyPrefix(saved.apiKey)),
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
if (savedMatches)
|
|
43
|
+
return { key: saved.apiKey, onAccept: "keep" };
|
|
44
|
+
return {
|
|
45
|
+
key: saved.apiKey,
|
|
46
|
+
onAccept: "register",
|
|
47
|
+
prompt: `This machine is already bound to API key ${keyPrefix(saved.apiKey)} for ${saved.address} at ${saved.apiBaseUrl}. ` +
|
|
48
|
+
`The current wallet is ${input.walletAddress} and the API is ${input.apiBaseUrl}. ` +
|
|
49
|
+
"Rebind this machine to the current wallet? Type yes to switch, or no to keep the saved key: ",
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=binding.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"binding.js","sourceRoot":"","sources":["../../src/cli/binding.ts"],"names":[],"mappings":"AAWA,4FAA4F;AAC5F,MAAM,UAAU,gBAAgB,CAC9B,aAAqB,EACrB,MAAc,EACd,SAAkB;IAElB,MAAM,QAAQ,GAAG,SAAS;QACxB,CAAC,CAAC,oCAAoC,SAAS,uCAAuC;QACtF,CAAC,CAAC,EAAE,CAAC;IACP,OAAO,CACL,GAAG,QAAQ,gBAAgB,SAAS,CAAC,MAAM,CAAC,sDAAsD;QAClG,yCAAyC;QACzC,uBAAuB,aAAa,IAAI;QACxC,2FAA2F;QAC3F,eAAe,CAChB,CAAC;AACJ,CAAC;AAED,4DAA4D;AAC5D,MAAM,UAAU,SAAS,CAAC,GAAW;IACnC,MAAM,MAAM,GAAG,sBAAsB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACrD,OAAO,MAAM,CAAC,CAAC,CAAC,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;AACzD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAKjC;IACC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,SAAS,CAAC;IACjD,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;IAC1B,MAAM,YAAY,GAAG,OAAO,CAC1B,KAAK;QACH,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC,aAAa,CAAC,WAAW,EAAE;QACjE,KAAK,CAAC,UAAU,KAAK,KAAK,CAAC,UAAU,CACxC,CAAC;IAEF,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,MAAM;YACX,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,gBAAgB,CAAC,KAAK,CAAC,aAAa,EAAE,MAAM,CAAC,EAAE;YAC7F,CAAC,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC;IAC/B,CAAC;IACD,IAAI,MAAM,IAAI,MAAM,KAAK,KAAK,CAAC,MAAM,IAAI,YAAY,EAAE,CAAC;QACtD,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;IAC3C,CAAC;IACD,IAAI,MAAM,IAAI,MAAM,KAAK,KAAK,CAAC,MAAM,EAAE,CAAC;QACtC,OAAO;YACL,GAAG,EAAE,KAAK,CAAC,MAAM;YACjB,QAAQ,EAAE,SAAS;YACnB,MAAM,EAAE,gBAAgB,CAAC,KAAK,CAAC,aAAa,EAAE,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;SAC/E,CAAC;IACJ,CAAC;IACD,IAAI,YAAY;QAAE,OAAO,EAAE,GAAG,EAAE,KAAK,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;IACjE,OAAO;QACL,GAAG,EAAE,KAAK,CAAC,MAAM;QACjB,QAAQ,EAAE,UAAU;QACpB,MAAM,EACJ,4CAA4C,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,KAAK,CAAC,OAAO,OAAO,KAAK,CAAC,UAAU,IAAI;YACnH,yBAAyB,KAAK,CAAC,aAAa,mBAAmB,KAAK,CAAC,UAAU,IAAI;YACnF,8FAA8F;KACjG,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { type Role } from "../roles.js";
|
|
2
|
+
import { type CliContext } from "./context.js";
|
|
3
|
+
export declare const out: (text: string) => boolean;
|
|
4
|
+
export declare const err: (text: string) => boolean;
|
|
5
|
+
export declare function parseRoles(value: string | undefined, fallback?: readonly Role[]): Role[];
|
|
6
|
+
export declare function walletCommand(ctx: CliContext, sub: string | undefined): Promise<void>;
|
|
7
|
+
/** `agentsgot doctor` / `status`. Returns true when every check passes. */
|
|
8
|
+
export declare function doctorCommand(ctx: CliContext, roles: Role[], register: boolean): Promise<boolean>;
|
|
9
|
+
export declare function skillsCommand(sub: string | undefined, role: string | undefined, options: {
|
|
10
|
+
target?: string;
|
|
11
|
+
global?: boolean;
|
|
12
|
+
from?: string;
|
|
13
|
+
}): Promise<void>;
|
|
14
|
+
/** `agentsgot rewards` — executor mining vesting totals by status plus the arbitration stream. */
|
|
15
|
+
export declare function rewardsCommand(ctx: CliContext): Promise<void>;
|
|
16
|
+
/** `agentsgot appeal open|waive <taskId>` — v3 appeal helpers. */
|
|
17
|
+
export declare function appealCommand(ctx: CliContext, sub: string | undefined, taskId: string | undefined, statement?: string): Promise<void>;
|
|
18
|
+
//# sourceMappingURL=commands.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../../src/cli/commands.ts"],"names":[],"mappings":"AACA,OAAO,EAAiB,KAAK,IAAI,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EACL,KAAK,UAAU,EAMhB,MAAM,cAAc,CAAC;AAgBtB,eAAO,MAAM,GAAG,GAAI,MAAM,MAAM,YAAsC,CAAC;AACvE,eAAO,MAAM,GAAG,GAAI,MAAM,MAAM,YAAsC,CAAC;AAEvE,wBAAgB,UAAU,CACxB,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,QAAQ,GAAE,SAAS,IAAI,EAAiB,GACvC,IAAI,EAAE,CASR;AAED,wBAAsB,aAAa,CAAC,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAsB3F;AAWD,2EAA2E;AAC3E,wBAAsB,aAAa,CACjC,GAAG,EAAE,UAAU,EACf,KAAK,EAAE,IAAI,EAAE,EACb,QAAQ,EAAE,OAAO,GAChB,OAAO,CAAC,OAAO,CAAC,CAiFlB;AAED,wBAAsB,aAAa,CACjC,GAAG,EAAE,MAAM,GAAG,SAAS,EACvB,IAAI,EAAE,MAAM,GAAG,SAAS,EACxB,OAAO,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,GAC5D,OAAO,CAAC,IAAI,CAAC,CAcf;AAED,kGAAkG;AAClG,wBAAsB,cAAc,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAsBnE;AAED,kEAAkE;AAClE,wBAAsB,aAAa,CACjC,GAAG,EAAE,UAAU,EACf,GAAG,EAAE,MAAM,GAAG,SAAS,EACvB,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,IAAI,CAAC,CAuBf"}
|
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
import { AgentGridError } from "../ports.js";
|
|
2
|
+
import { isRole, ROLES } from "../roles.js";
|
|
3
|
+
import { clientFor, gasBalance, loadAccount, loginAndRegister, resolveApiKey, } from "./context.js";
|
|
4
|
+
import { buildChecks, formatChecks } from "./doctor.js";
|
|
5
|
+
import { homePaths, loadCredential } from "./home.js";
|
|
6
|
+
import { bundledSkill, fetchSkill, installSkill, isTarget, mcpSnippet, skillDir, TARGETS, } from "./install.js";
|
|
7
|
+
import { askHidden, SAFETY_NOTICE } from "./prompt.js";
|
|
8
|
+
import { sanitize } from "./reports.js";
|
|
9
|
+
import { createWallet, describeWallet } from "./wallet.js";
|
|
10
|
+
export const out = (text) => process.stdout.write(`${text}\n`);
|
|
11
|
+
export const err = (text) => process.stderr.write(`${text}\n`);
|
|
12
|
+
export function parseRoles(value, fallback = ["executor"]) {
|
|
13
|
+
if (!value)
|
|
14
|
+
return [...fallback];
|
|
15
|
+
const roles = value
|
|
16
|
+
.split(",")
|
|
17
|
+
.map((role) => role.trim())
|
|
18
|
+
.filter(Boolean);
|
|
19
|
+
for (const role of roles)
|
|
20
|
+
if (!isRole(role))
|
|
21
|
+
throw new Error(`Unknown role ${role}; use ${ROLES.join(", ")}.`);
|
|
22
|
+
return roles;
|
|
23
|
+
}
|
|
24
|
+
export async function walletCommand(ctx, sub) {
|
|
25
|
+
if (sub === "create") {
|
|
26
|
+
err(SAFETY_NOTICE);
|
|
27
|
+
const password = await askHidden("New keystore password (min 8 chars): ");
|
|
28
|
+
if (password.length < 8)
|
|
29
|
+
throw new Error("Password must be at least 8 characters.");
|
|
30
|
+
if ((await askHidden("Repeat password: ")) !== password)
|
|
31
|
+
throw new Error("Passwords do not match.");
|
|
32
|
+
const created = createWallet(password, homePaths(ctx.home).wallets);
|
|
33
|
+
out(`Wallet created: ${created.address}\nKeystore: ${created.path}`);
|
|
34
|
+
out("Back up the keystore file and password offline. Fund it with a little BNB for gas.");
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
if (sub === "show") {
|
|
38
|
+
const wallet = describeWallet(ctx.env, ctx.home);
|
|
39
|
+
out(wallet
|
|
40
|
+
? `${wallet.address} (${wallet.kind}${wallet.path ? `: ${wallet.path}` : ""})`
|
|
41
|
+
: "No wallet configured.");
|
|
42
|
+
return;
|
|
43
|
+
}
|
|
44
|
+
throw new Error("Usage: agentsgot wallet create|show");
|
|
45
|
+
}
|
|
46
|
+
async function reachable(apiBaseUrl) {
|
|
47
|
+
try {
|
|
48
|
+
const response = await fetch(`${apiBaseUrl.replace(/\/+$/u, "")}/health`);
|
|
49
|
+
return response.ok ? { ok: true } : { ok: false, error: `HTTP ${response.status}` };
|
|
50
|
+
}
|
|
51
|
+
catch (error) {
|
|
52
|
+
return { ok: false, error: error.message };
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
/** `agentsgot doctor` / `status`. Returns true when every check passes. */
|
|
56
|
+
export async function doctorCommand(ctx, roles, register) {
|
|
57
|
+
const paths = homePaths(ctx.home);
|
|
58
|
+
let wallet = null;
|
|
59
|
+
let walletError;
|
|
60
|
+
try {
|
|
61
|
+
const found = describeWallet(ctx.env, ctx.home);
|
|
62
|
+
if (found)
|
|
63
|
+
wallet = { address: found.address, source: found.path ?? found.kind };
|
|
64
|
+
}
|
|
65
|
+
catch (error) {
|
|
66
|
+
walletError = error.message;
|
|
67
|
+
}
|
|
68
|
+
const api = await reachable(ctx.apiBaseUrl);
|
|
69
|
+
let apiError = api.error;
|
|
70
|
+
let loggedIn = false;
|
|
71
|
+
let loginFix;
|
|
72
|
+
let registeredFix;
|
|
73
|
+
let gasWei = null;
|
|
74
|
+
let eligibility = null;
|
|
75
|
+
if (wallet) {
|
|
76
|
+
gasWei = await gasBalance(ctx, wallet.address);
|
|
77
|
+
const stored = loadCredential(ctx.home);
|
|
78
|
+
if (api.ok && (stored || ctx.env.AGENTSGOT_API_KEY || register)) {
|
|
79
|
+
try {
|
|
80
|
+
const account = await loadAccount(ctx);
|
|
81
|
+
const resolved = await resolveApiKey(ctx, account.address);
|
|
82
|
+
const key = resolved.key;
|
|
83
|
+
const { client } = await clientFor(ctx, account);
|
|
84
|
+
if (resolved.paused && !key) {
|
|
85
|
+
err(resolved.paused);
|
|
86
|
+
loginFix = resolved.paused;
|
|
87
|
+
registeredFix = resolved.paused;
|
|
88
|
+
}
|
|
89
|
+
else if (resolved.paused) {
|
|
90
|
+
err(resolved.paused);
|
|
91
|
+
}
|
|
92
|
+
if (!resolved.paused && !key && register) {
|
|
93
|
+
try {
|
|
94
|
+
const result = await loginAndRegister(ctx, client, account.address);
|
|
95
|
+
err(`Registered agent ${result.agentId}; API key stored encrypted in ${paths.credentials}.`);
|
|
96
|
+
loggedIn = true;
|
|
97
|
+
eligibility = await client.getEligibility();
|
|
98
|
+
}
|
|
99
|
+
catch (error) {
|
|
100
|
+
if (error instanceof AgentGridError && error.code === "AGENT_ALREADY_REGISTERED") {
|
|
101
|
+
const hint = "This wallet is already registered. Do not register it again. If its API key is saved, run doctor without --register. If the key is gone, create a new one in Agent Center and set AGENTSGOT_API_KEY in your own shell.";
|
|
102
|
+
err(hint);
|
|
103
|
+
loginFix = hint;
|
|
104
|
+
registeredFix = hint;
|
|
105
|
+
}
|
|
106
|
+
else {
|
|
107
|
+
throw error;
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
else if (key) {
|
|
112
|
+
loggedIn = true;
|
|
113
|
+
eligibility = await client.getEligibility();
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
catch (error) {
|
|
117
|
+
apiError = sanitize(error.message);
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
const checks = buildChecks({
|
|
122
|
+
roles,
|
|
123
|
+
wallet,
|
|
124
|
+
...(walletError ? { walletError } : {}),
|
|
125
|
+
gasWei,
|
|
126
|
+
agtWei: eligibility?.stake.walletAgtWei ? BigInt(eligibility.stake.walletAgtWei) : null,
|
|
127
|
+
apiReachable: api.ok,
|
|
128
|
+
...(apiError ? { apiError } : {}),
|
|
129
|
+
loggedIn,
|
|
130
|
+
...(loginFix ? { loginFix } : {}),
|
|
131
|
+
...(registeredFix ? { registeredFix } : {}),
|
|
132
|
+
registered: eligibility?.registered ?? false,
|
|
133
|
+
credentialPath: paths.credentials,
|
|
134
|
+
online: eligibility ? eligibility.online : null,
|
|
135
|
+
eligibility,
|
|
136
|
+
});
|
|
137
|
+
out(formatChecks(checks));
|
|
138
|
+
return checks.every((check) => check.ok);
|
|
139
|
+
}
|
|
140
|
+
export async function skillsCommand(sub, role, options) {
|
|
141
|
+
if (sub !== "install" || !role || !isRole(role))
|
|
142
|
+
throw new Error(`Usage: agentsgot skills install <${ROLES.join("|")}> [--target ${TARGETS.join("|")}] [--global] [--from <origin>]`);
|
|
143
|
+
const target = options.target ?? "cursor";
|
|
144
|
+
if (!isTarget(target))
|
|
145
|
+
throw new Error(`Unknown target ${target}; use ${TARGETS.join(", ")}.`);
|
|
146
|
+
const markdown = options.from ? await fetchSkill(options.from, role) : bundledSkill(role);
|
|
147
|
+
const path = installSkill(markdown, skillDir(target, role, { global: Boolean(options.global) }));
|
|
148
|
+
out(`Installed ${role} skill: ${path}`);
|
|
149
|
+
out(`\nAdd the MCP server to your ${target} config:\n${mcpSnippet(target)}`);
|
|
150
|
+
out("\nNext: follow the skill's connection cases, then `agentsgot doctor`. Use `--register` only when this wallet has no agent yet.");
|
|
151
|
+
}
|
|
152
|
+
/** `agentsgot rewards` — executor mining vesting totals by status plus the arbitration stream. */
|
|
153
|
+
export async function rewardsCommand(ctx) {
|
|
154
|
+
const account = await loadAccount(ctx);
|
|
155
|
+
const { client, hasCredential } = await clientFor(ctx, account);
|
|
156
|
+
if (!hasCredential)
|
|
157
|
+
throw new Error("Not registered. Run `agentsgot doctor --register` first.");
|
|
158
|
+
const [breakdown, arbStream] = await Promise.all([
|
|
159
|
+
client.getRewardsBreakdown(),
|
|
160
|
+
client.getArbStreamPending(),
|
|
161
|
+
]);
|
|
162
|
+
const totals = {};
|
|
163
|
+
for (const item of breakdown.items)
|
|
164
|
+
totals[item.status] = (totals[item.status] ?? 0n) + BigInt(item.amount);
|
|
165
|
+
out(sanitize([
|
|
166
|
+
"Rewards (AGT wei):",
|
|
167
|
+
` executor mining locked: ${totals.LOCKED ?? 0n}`,
|
|
168
|
+
` executor mining claimable: ${totals.CLAIMABLE ?? 0n}`,
|
|
169
|
+
` executor mining claimed: ${totals.CLAIMED ?? 0n}`,
|
|
170
|
+
` arbitration stream pending: ${arbStream.available ? arbStream.pendingWei : "unavailable"}`,
|
|
171
|
+
].join("\n")));
|
|
172
|
+
}
|
|
173
|
+
/** `agentsgot appeal open|waive <taskId>` — v3 appeal helpers. */
|
|
174
|
+
export async function appealCommand(ctx, sub, taskId, statement) {
|
|
175
|
+
if (!taskId || (sub !== "open" && sub !== "waive"))
|
|
176
|
+
throw new Error("Usage: agentsgot appeal open <taskId> --statement <text> | waive <taskId>");
|
|
177
|
+
if (sub === "open" && !statement?.trim())
|
|
178
|
+
throw new Error("Usage: agentsgot appeal open <taskId> --statement <text>");
|
|
179
|
+
const account = await loadAccount(ctx);
|
|
180
|
+
const { client, hasCredential } = await clientFor(ctx, account);
|
|
181
|
+
if (!hasCredential)
|
|
182
|
+
throw new Error("Not registered. Run `agentsgot doctor --register` first.");
|
|
183
|
+
if (sub === "waive") {
|
|
184
|
+
const intent = await client.waiveAppeal(taskId);
|
|
185
|
+
out(sanitize(`Waive-appeal transaction ready (send after user approval):\n${JSON.stringify(intent, null, 2)}`));
|
|
186
|
+
return;
|
|
187
|
+
}
|
|
188
|
+
const intent = await client.openAppeal(taskId, { statement: statement?.trim() ?? "" });
|
|
189
|
+
out(sanitize(`Appeal intent ready (send the tx after user approval):\n${JSON.stringify(intent, null, 2)}`));
|
|
190
|
+
}
|
|
191
|
+
//# sourceMappingURL=commands.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"commands.js","sourceRoot":"","sources":["../../src/cli/commands.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { privateKeyToAccount } from "viem/accounts";
|
|
2
|
+
import { AgentGridClient } from "../sdk/client.js";
|
|
3
|
+
import type { CheckpointStore } from "../workers.js";
|
|
4
|
+
import { type Env } from "./wallet.js";
|
|
5
|
+
export declare const DEFAULT_API = "https://agentsgot.network/api";
|
|
6
|
+
export interface CliContext {
|
|
7
|
+
env: Env;
|
|
8
|
+
home: string;
|
|
9
|
+
apiBaseUrl: string;
|
|
10
|
+
}
|
|
11
|
+
export declare function cliContext(env?: Env): CliContext;
|
|
12
|
+
/** Load the wallet; prompts for the keystore password on the user's own terminal if needed. */
|
|
13
|
+
export declare function loadAccount(ctx: CliContext): Promise<{
|
|
14
|
+
address: import("viem").Address;
|
|
15
|
+
nonceManager?: import("viem").NonceManager | undefined;
|
|
16
|
+
sign: (parameters: {
|
|
17
|
+
hash: import("viem").Hash;
|
|
18
|
+
}) => Promise<import("viem").Hex>;
|
|
19
|
+
signAuthorization: (parameters: import("viem").AuthorizationRequest) => Promise<import("viem/accounts").SignAuthorizationReturnType>;
|
|
20
|
+
signMessage: ({ message }: {
|
|
21
|
+
message: import("viem").SignableMessage;
|
|
22
|
+
}) => Promise<import("viem").Hex>;
|
|
23
|
+
signTransaction: <serializer extends import("viem").SerializeTransactionFn<import("viem").TransactionSerializable> = import("viem").SerializeTransactionFn<import("viem").TransactionSerializable>, transaction extends Parameters<serializer>[0] = Parameters<serializer>[0]>(transaction: transaction, options?: {
|
|
24
|
+
serializer?: serializer | undefined;
|
|
25
|
+
} | undefined) => Promise<import("viem").Hex>;
|
|
26
|
+
signTypedData: <const typedData extends import("viem").TypedData | Record<string, unknown>, primaryType extends keyof typedData | "EIP712Domain" = keyof typedData>(parameters: import("viem").TypedDataDefinition<typedData, primaryType>) => Promise<import("viem").Hex>;
|
|
27
|
+
publicKey: import("viem").Hex;
|
|
28
|
+
source: "privateKey";
|
|
29
|
+
type: "local";
|
|
30
|
+
}>;
|
|
31
|
+
export declare function rpcUrl(ctx: CliContext): string | undefined;
|
|
32
|
+
export interface ResolvedApiKey {
|
|
33
|
+
key?: string;
|
|
34
|
+
/** User chose to create a wallet before binding. Do not register over this. */
|
|
35
|
+
paused?: string;
|
|
36
|
+
}
|
|
37
|
+
/** Pick the API key for this process, asking which wallet signs before a key is bound. */
|
|
38
|
+
export declare function resolveApiKey(ctx: CliContext, walletAddress: string): Promise<ResolvedApiKey>;
|
|
39
|
+
export declare function clientFor(ctx: CliContext, account: ReturnType<typeof privateKeyToAccount>): Promise<{
|
|
40
|
+
client: AgentGridClient;
|
|
41
|
+
hasCredential: boolean;
|
|
42
|
+
}>;
|
|
43
|
+
export declare function siweMessage(ctx: CliContext, address: `0x${string}`): ({ nonce }: {
|
|
44
|
+
nonce: string;
|
|
45
|
+
}) => string;
|
|
46
|
+
/** SIWE login + POST /agents/register; stores the one-time API key encrypted, never prints it. */
|
|
47
|
+
export declare function loginAndRegister(ctx: CliContext, client: AgentGridClient, address: `0x${string}`): Promise<{
|
|
48
|
+
agentId: string;
|
|
49
|
+
}>;
|
|
50
|
+
/** Native (BNB) gas balance; AGT comes from GET /agents/me/eligibility (stake.walletAgtWei). */
|
|
51
|
+
export declare function gasBalance(ctx: CliContext, address: `0x${string}`): Promise<bigint | null>;
|
|
52
|
+
/** File-backed checkpoints under ~/.agentsgot/checkpoints/<address>.json (0600). */
|
|
53
|
+
export declare class FileCheckpointStore implements CheckpointStore {
|
|
54
|
+
private readonly path;
|
|
55
|
+
constructor(path: string);
|
|
56
|
+
private read;
|
|
57
|
+
get<T>(key: string): Promise<T | null>;
|
|
58
|
+
set<T>(key: string, value: T): Promise<void>;
|
|
59
|
+
}
|
|
60
|
+
export declare function checkpointStore(ctx: CliContext, address: string): FileCheckpointStore;
|
|
61
|
+
//# sourceMappingURL=context.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/cli/context.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAGpD,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAIrD,OAAO,EAAkB,KAAK,GAAG,EAAkB,MAAM,aAAa,CAAC;AAEvE,eAAO,MAAM,WAAW,kCAAkC,CAAC;AAE3D,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,GAAG,CAAC;IACT,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,UAAU,CAAC,GAAG,GAAE,GAAiB,GAAG,UAAU,CAM7D;AAED,+FAA+F;AAC/F,wBAAsB,WAAW,CAAC,GAAG,EAAE,UAAU;;;;;;;;;;oTAU3C,CAAC;kBAAsB,CAAC;;;;;;GAH7B;AAED,wBAAgB,MAAM,CAAC,GAAG,EAAE,UAAU,GAAG,MAAM,GAAG,SAAS,CAE1D;AAED,MAAM,WAAW,cAAc;IAC7B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,+EAA+E;IAC/E,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAID,0FAA0F;AAC1F,wBAAgB,aAAa,CAAC,GAAG,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAO7F;AAgDD,wBAAsB,SAAS,CAAC,GAAG,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,CAAC,OAAO,mBAAmB,CAAC;;;GAS/F;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,MAAM,EAAE,IAEzD,WAAW;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,YAUrC;AAED,kGAAkG;AAClG,wBAAsB,gBAAgB,CACpC,GAAG,EAAE,UAAU,EACf,MAAM,EAAE,eAAe,EACvB,OAAO,EAAE,KAAK,MAAM,EAAE,GACrB,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CAc9B;AAED,gGAAgG;AAChG,wBAAsB,UAAU,CAAC,GAAG,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAMhG;AAED,oFAAoF;AACpF,qBAAa,mBAAoB,YAAW,eAAe;IAC7C,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,MAAM;IACzC,OAAO,CAAC,IAAI;IAIN,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;IAGtC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;CAKnD;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,GAAG,mBAAmB,CAIrF"}
|