{"_id":"@eforest-finance/agent-skills","_rev":"7-5bafced8382f3618d54cf140b6cc4f20","name":"@eforest-finance/agent-skills","dist-tags":{"latest":"0.4.3"},"versions":{"0.2.0":{"name":"@eforest-finance/agent-skills","version":"0.2.0","keywords":["aelf","eforest","token","agent","mcp","ai","openclaw","blockchain"],"license":"MIT","_id":"@eforest-finance/agent-skills@0.2.0","maintainers":[{"name":"asikki-y","email":"asikki@eforest.finance"}],"homepage":"https://github.com/eforest-finance/eforest-agent-skills#readme","bugs":{"url":"https://github.com/eforest-finance/eforest-agent-skills/issues"},"bin":{"eforest-setup":"bin/setup.ts"},"dist":{"shasum":"b26d2055700a1a319f2581b40a43a5f92f1a4280","tarball":"https://registry.npmjs.org/@eforest-finance/agent-skills/-/agent-skills-0.2.0.tgz","fileCount":21,"integrity":"sha512-bqcuvfCVyFvkd9ERyfvNy9ietQrhlcSlSZAFbhT9/V0TQzW/8chN/MIddA44p1B8o7+qk08zbj5T/YmcHwIR/w==","signatures":[{"sig":"MEUCIGQnRdJfCKfXjkRVXxT9FcbnVwI2XQAA0uPM/ywB4z7cAiEAxAx9RFdvAlBZaFwiTovNqXKwy548jYRNBZzAPhY/bP8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":93137},"main":"index.ts","types":"index.ts","gitHead":"d1f95b5e08fd0322fe3b89890ad30438c5412baa","scripts":{"cli":"bun run create_token_skill.ts","mcp":"bun run src/mcp/server.ts","test":"bun test __tests__/","setup":"bun run bin/setup.ts","buy-seed":"bun run create_token_skill.ts buy-seed","test:e2e":"bun test __tests__/e2e/","test:unit":"bun test __tests__/unit/","issue-token":"bun run create_token_skill.ts issue-token","create-token":"bun run create_token_skill.ts create-token","test:integration":"bun test __tests__/integration/"},"_npmUser":{"name":"asikki-y","email":"asikki@eforest.finance"},"repository":{"url":"git+https://github.com/eforest-finance/eforest-agent-skills.git","type":"git"},"_npmVersion":"11.6.2","description":"AI Agent Kit for aelf token lifecycle on eForest: buy-seed, create-token, issue-token. Supports CLI, MCP, and SDK.","directories":{},"_nodeVersion":"24.11.1","dependencies":{"zod":"^3.24.0","axios":"^1.7.0","aelf-sdk":"^3.2.44","commander":"^12.1.0","@modelcontextprotocol/sdk":"^1.12.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/agent-skills_0.2.0_1770826038148_0.2607726560027124","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@eforest-finance/agent-skills","version":"0.3.0","keywords":["aelf","eforest","token","agent","mcp","ai","openclaw","blockchain"],"license":"MIT","_id":"@eforest-finance/agent-skills@0.3.0","maintainers":[{"name":"asikki-y","email":"asikki@eforest.finance"}],"homepage":"https://github.com/eforest-finance/eforest-agent-skills#readme","bugs":{"url":"https://github.com/eforest-finance/eforest-agent-skills/issues"},"bin":{"eforest-setup":"bin/setup.ts"},"dist":{"shasum":"3e1dae8bd6152a494def90ab45066931f4af2868","tarball":"https://registry.npmjs.org/@eforest-finance/agent-skills/-/agent-skills-0.3.0.tgz","fileCount":21,"integrity":"sha512-4lTw6JXoUUovRhYHBWM6BcPALIeUn7r0JZ/TgS0cb70NFQHgraVIcfZ9A0Gv90JtvOyMb+djPeTgpfw9IOOw2g==","signatures":[{"sig":"MEUCIGkaXn6iHd7eo2SWwMeAu5X9N+8ULePs/r0hU1VAL8p3AiEAmEC28HLo++TgJsYzRTvA27aRDP9t8WPho/N6Q/qczPs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":95311},"main":"index.ts","types":"index.ts","gitHead":"e4ef229aa9df3a23a62062f887d506032efac585","scripts":{"cli":"bun run create_token_skill.ts","mcp":"bun run src/mcp/server.ts","test":"bun test __tests__/","setup":"bun run bin/setup.ts","buy-seed":"bun run create_token_skill.ts buy-seed","test:e2e":"bun test __tests__/e2e/","test:unit":"bun test __tests__/unit/","issue-token":"bun run create_token_skill.ts issue-token","create-token":"bun run create_token_skill.ts create-token","test:integration":"bun test __tests__/integration/"},"_npmUser":{"name":"asikki-y","email":"asikki@eforest.finance"},"repository":{"url":"git+https://github.com/eforest-finance/eforest-agent-skills.git","type":"git"},"_npmVersion":"11.6.2","description":"AI Agent Kit for aelf token lifecycle on eForest: buy-seed, create-token, issue-token. Supports CLI, MCP, and SDK.","directories":{},"_nodeVersion":"24.11.1","dependencies":{"zod":"^3.24.0","axios":"^1.7.0","aelf-sdk":"^3.2.44","commander":"^12.1.0","@portkey/aelf-signer":"^1.0.0","@modelcontextprotocol/sdk":"^1.12.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/agent-skills_0.3.0_1771000126213_0.4335612199838734","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"@eforest-finance/agent-skills","version":"0.3.1","keywords":["aelf","eforest","token","agent","mcp","ai","openclaw","blockchain"],"license":"MIT","_id":"@eforest-finance/agent-skills@0.3.1","maintainers":[{"name":"asikki-y","email":"asikki@eforest.finance"}],"homepage":"https://github.com/eforest-finance/eforest-agent-skills#readme","bugs":{"url":"https://github.com/eforest-finance/eforest-agent-skills/issues"},"bin":{"eforest-setup":"bin/setup.ts"},"dist":{"shasum":"b96a063bab43eb5d85ff6681b6a8ccdbccabea7f","tarball":"https://registry.npmjs.org/@eforest-finance/agent-skills/-/agent-skills-0.3.1.tgz","fileCount":21,"integrity":"sha512-Oxym5UIXQr2ToNYkxkerzfE82ajgrcuT9lul2PGYZfT/sVnPRHmXEJ+/yhIdDEWKq0INjel8hfh3WzVwOGehtQ==","signatures":[{"sig":"MEUCIQC+WRY+WzXCekZXD1Fl3yz85T2ap/8vCgxv4YpWlgpC8AIgdp11oVCOUvcUbH7qoeUvi0xLkqtpi5OS/StU/Dzzz0M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@eforest-finance%2fagent-skills@0.3.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":95310},"main":"index.ts","types":"index.ts","gitHead":"1d11a177bc77f2778d2b598b9c5831a5657c516b","scripts":{"cli":"bun run create_token_skill.ts","mcp":"bun run src/mcp/server.ts","test":"bun test __tests__/","setup":"bun run bin/setup.ts","buy-seed":"bun run create_token_skill.ts buy-seed","test:e2e":"bun test __tests__/e2e/","test:unit":"bun test __tests__/unit/","issue-token":"bun run create_token_skill.ts issue-token","create-token":"bun run create_token_skill.ts create-token","test:integration":"bun test __tests__/integration/"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:261bf461-cb28-4081-b1b1-c202e9e9ab8d"}},"repository":{"url":"git+https://github.com/eforest-finance/eforest-agent-skills.git","type":"git"},"_npmVersion":"11.10.0","description":"AI Agent Kit for aelf token lifecycle on eForest: buy-seed, create-token, issue-token. Supports CLI, MCP, and SDK.","directories":{},"_nodeVersion":"22.22.0","dependencies":{"zod":"^3.24.0","axios":"^1.7.0","aelf-sdk":"^3.2.44","commander":"^12.1.0","@portkey/aelf-signer":"1.0.1","@modelcontextprotocol/sdk":"^1.12.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/agent-skills_0.3.1_1771076595018_0.8405994655186477","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@eforest-finance/agent-skills","version":"0.4.0","keywords":["aelf","eforest","token","agent","mcp","ai","openclaw","blockchain"],"license":"MIT","_id":"@eforest-finance/agent-skills@0.4.0","maintainers":[{"name":"asikki-y","email":"asikki@eforest.finance"}],"homepage":"https://github.com/eforest-finance/eforest-agent-skills#readme","bugs":{"url":"https://github.com/eforest-finance/eforest-agent-skills/issues"},"bin":{"eforest-setup":"bin/setup.ts"},"dist":{"shasum":"c9c958074f07813e093c292cfa343ba6f9e82c03","tarball":"https://registry.npmjs.org/@eforest-finance/agent-skills/-/agent-skills-0.4.0.tgz","fileCount":29,"integrity":"sha512-SG3qaUo4N310xxoAgJJ1kR3df1nVPMfxUsKD3NUyQLnG6TSIOOtJ8QfoBena/SJ/KAdDuQ3PadDnS99rF71Npw==","signatures":[{"sig":"MEQCIBjLXvYNOsc83e48KURgn92EHJiRWAb6wARh2M+gmucMAiAHCZIdlEPwXkzbEb5ie6Qecq1i9EGj8O6FUViTXrCmtA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@eforest-finance%2fagent-skills@0.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":290441},"main":"index.ts","types":"index.ts","gitHead":"aa9ef4523cfa5774ec8c97a69f08c02b632077b7","scripts":{"cli":"bun run create_token_skill.ts","mcp":"bun run src/mcp/server.ts","test":"bun test __tests__/","setup":"bun run bin/setup.ts","buy-seed":"bun run create_token_skill.ts buy-seed","test:e2e":"bun test __tests__/e2e/","test:unit":"bun test __tests__/unit/","issue-token":"bun run create_token_skill.ts issue-token","create-token":"bun run create_token_skill.ts create-token","forest-skill":"bun run src/cli/forest_skill.ts","test:integration":"bun test __tests__/integration/","generate:openclaw":"bun run bin/generate-openclaw.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:261bf461-cb28-4081-b1b1-c202e9e9ab8d"}},"repository":{"url":"git+https://github.com/eforest-finance/eforest-agent-skills.git","type":"git"},"_npmVersion":"11.10.1","description":"AI Agent Kit for aelf token lifecycle on eForest: buy-seed, create-token, issue-token. Supports CLI, MCP, and SDK.","directories":{},"_nodeVersion":"22.22.0","dependencies":{"ajv":"^8.17.1","zod":"^3.24.0","axios":"^1.7.0","aelf-sdk":"^3.2.44","commander":"^12.1.0","@portkey/aelf-signer":"1.0.1","@modelcontextprotocol/sdk":"^1.12.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/agent-skills_0.4.0_1771946074650_0.7002735497050911","host":"s3://npm-registry-packages-npm-production"}},"0.4.1":{"name":"@eforest-finance/agent-skills","version":"0.4.1","keywords":["aelf","eforest","token","agent","mcp","ai","openclaw","blockchain"],"license":"MIT","_id":"@eforest-finance/agent-skills@0.4.1","maintainers":[{"name":"asikki-y","email":"asikki@eforest.finance"}],"homepage":"https://github.com/eforest-finance/eforest-agent-skills#readme","bugs":{"url":"https://github.com/eforest-finance/eforest-agent-skills/issues"},"bin":{"eforest-setup":"bin/setup.ts"},"dist":{"shasum":"62ca7a8cd7f038eba3ad1520bcc04f883242322d","tarball":"https://registry.npmjs.org/@eforest-finance/agent-skills/-/agent-skills-0.4.1.tgz","fileCount":48,"integrity":"sha512-eXHiN/moZ0keIEi3KuCtQFW5tKZ+D3eLL0g8Xhu9f8+w3hcCWHRvAEaw4fCMPgLP51b2LovKEjSVCsTctq2BSA==","signatures":[{"sig":"MEQCIHwvUFX6uNg7IaUVP4dMuExSMSUXapqaGfcr3RDwWvT5AiApg5/aLqSKWbCFqPvkkDyHfivcfQvPJg1GNcfAqYM8Hg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@eforest-finance%2fagent-skills@0.4.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":317494},"main":"index.ts","types":"index.ts","gitHead":"a57dbe46fd24029959ce74c426cf06565c4757f2","scripts":{"cli":"bun run create_token_skill.ts","mcp":"bun run src/mcp/server.ts","test":"bun test __tests__/","setup":"bun run bin/setup.ts","buy-seed":"bun run create_token_skill.ts buy-seed","test:e2e":"bun run test:e2e:full","test:unit":"bun test __tests__/unit/","deps:check":"bun run scripts/check-deps-baseline.ts","issue-token":"bun run create_token_skill.ts issue-token","create-token":"bun run create_token_skill.ts create-token","forest-skill":"bun run src/cli/forest_skill.ts","coverage:gate":"bun run scripts/coverage-gate.ts","test:e2e:full":"bun test __tests__/e2e/","build:openclaw":"bun run bin/generate-openclaw.ts","coverage:badge":"bun run bin/generate-coverage-badge.ts","test:e2e:smoke":"bun test __tests__/e2e/smoke/","test:coverage:ci":"COVERAGE_MIN_LINES=85 COVERAGE_MIN_FUNCS=80 bun run test:unit:coverage && bun run coverage:gate","test:integration":"bun test __tests__/integration/","generate:openclaw":"bun run build:openclaw","test:unit:coverage":"bun run test:unit --coverage --coverage-reporter=text --coverage-reporter=lcov --coverage-dir=coverage","build:openclaw:check":"bun run bin/generate-openclaw.ts --check"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:261bf461-cb28-4081-b1b1-c202e9e9ab8d"}},"repository":{"url":"git+https://github.com/eforest-finance/eforest-agent-skills.git","type":"git"},"_npmVersion":"11.11.0","description":"AI Agent Kit for aelf token lifecycle on eForest: buy-seed, create-token, issue-token. Supports CLI, MCP, and SDK.","directories":{},"_nodeVersion":"22.22.0","dependencies":{"ajv":"^8.17.1","zod":"^3.24.0","axios":"^1.7.0","aelf-sdk":"^3.5.1-beta.0","commander":"^12.1.0","@portkey/aelf-signer":"1.0.1","@modelcontextprotocol/sdk":"^1.26.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"latest"},"_npmOperationalInternal":{"tmp":"tmp/agent-skills_0.4.1_1772291838563_0.9260237322563118","host":"s3://npm-registry-packages-npm-production"}},"0.4.2":{"name":"@eforest-finance/agent-skills","version":"0.4.2","keywords":["aelf","eforest","token","agent","mcp","ai","openclaw","blockchain"],"license":"MIT","_id":"@eforest-finance/agent-skills@0.4.2","maintainers":[{"name":"asikki-y","email":"asikki@eforest.finance"}],"homepage":"https://github.com/eforest-finance/eforest-agent-skills#readme","bugs":{"url":"https://github.com/eforest-finance/eforest-agent-skills/issues"},"bin":{"eforest-setup":"bin/setup.ts"},"dist":{"shasum":"817e721934c780a45abe65cae9188c95f7e0094b","tarball":"https://registry.npmjs.org/@eforest-finance/agent-skills/-/agent-skills-0.4.2.tgz","fileCount":52,"integrity":"sha512-0HCqeLbEbJOo8tKggF3D1qHLiB1Jtu+6G6hdt+CDVvjyA3vJtuMIQrpCZDfCE73kcYeaMkUp48rM57DPoeVxFA==","signatures":[{"sig":"MEUCIAJyPxjxQ3pPp2KOCN6p2Xf2fSGeQw8IUm+n1rM7m5cDAiEAu3IVTUM218tDSMePBsmv4EuUDhBn0WArLl0eWLk9Vok=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@eforest-finance%2fagent-skills@0.4.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":339801},"main":"index.ts","types":"index.ts","gitHead":"3cc3a34995e7cb32a13eca4976bc8dcf8e29bf6b","scripts":{"cli":"bun run create_token_skill.ts","mcp":"bun run src/mcp/server.ts","test":"bun test __tests__/","setup":"bun run bin/setup.ts","buy-seed":"bun run create_token_skill.ts buy-seed","test:e2e":"bun run test:e2e:full","test:unit":"bun test __tests__/unit/","typecheck":"bun run typecheck:src && bun run typecheck:test","deps:check":"bun run scripts/check-deps-baseline.ts","issue-token":"bun run create_token_skill.ts issue-token","create-token":"bun run create_token_skill.ts create-token","forest-skill":"bun run src/cli/forest_skill.ts","coverage:gate":"bun run scripts/coverage-gate.ts","test:e2e:full":"bun test __tests__/e2e/","typecheck:src":"bunx tsc -p tsconfig.src.json --noEmit","build:openclaw":"bun run bin/generate-openclaw.ts","coverage:badge":"bun run bin/generate-coverage-badge.ts","test:e2e:smoke":"bun test __tests__/e2e/smoke/","typecheck:test":"bunx tsc -p tsconfig.test.json --noEmit","test:coverage:ci":"COVERAGE_MIN_LINES=85 COVERAGE_MIN_FUNCS=80 bun run test:unit:coverage && bun run coverage:gate","test:integration":"bun test __tests__/integration/","generate:openclaw":"bun run build:openclaw","test:unit:coverage":"bun run test:unit --coverage --coverage-reporter=text --coverage-reporter=lcov --coverage-dir=coverage","build:openclaw:check":"bun run bin/generate-openclaw.ts --check"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:261bf461-cb28-4081-b1b1-c202e9e9ab8d"}},"repository":{"url":"git+https://github.com/eforest-finance/eforest-agent-skills.git","type":"git"},"_npmVersion":"11.11.0","description":"AI Agent Kit for aelf token lifecycle on eForest: buy-seed, create-token, issue-token. Supports CLI, MCP, and SDK.","directories":{},"_nodeVersion":"22.22.0","dependencies":{"ajv":"^8.17.1","zod":"^3.24.0","axios":"^1.7.0","aelf-sdk":"^3.5.1-beta.0","commander":"^12.1.0","@portkey/aelf-signer":"1.0.1","@modelcontextprotocol/sdk":"^1.26.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"latest","typescript":"^5.7.0","@types/node":"latest"},"_npmOperationalInternal":{"tmp":"tmp/agent-skills_0.4.2_1772642434755_0.6689115015316034","host":"s3://npm-registry-packages-npm-production"}},"0.4.3":{"name":"@eforest-finance/agent-skills","version":"0.4.3","description":"AI Agent Kit for aelf token lifecycle on eForest: buy-seed, create-token, issue-token. Supports CLI, MCP, and SDK.","license":"MIT","repository":{"type":"git","url":"git+https://github.com/eforest-finance/eforest-agent-skills.git"},"homepage":"https://github.com/eforest-finance/eforest-agent-skills#readme","bugs":{"url":"https://github.com/eforest-finance/eforest-agent-skills/issues"},"keywords":["aelf","eforest","token","agent","mcp","ai","openclaw","blockchain"],"main":"index.ts","types":"index.ts","bin":{"eforest-setup":"bin/setup.ts"},"scripts":{"test":"bun test __tests__/","test:unit":"bun test __tests__/unit/","test:unit:coverage":"bun run test:unit --coverage --coverage-reporter=text --coverage-reporter=lcov --coverage-dir=coverage","test:integration":"bun test __tests__/integration/","test:e2e:smoke":"bun test __tests__/e2e/smoke/","test:e2e:full":"bun test __tests__/e2e/","test:e2e":"bun run test:e2e:full","cli":"bun run create_token_skill.ts","buy-seed":"bun run create_token_skill.ts buy-seed","create-token":"bun run create_token_skill.ts create-token","issue-token":"bun run create_token_skill.ts issue-token","mcp":"bun run src/mcp/server.ts","setup":"bun run bin/setup.ts","forest-skill":"bun run src/cli/forest_skill.ts","generate:openclaw":"bun run build:openclaw","coverage:gate":"bun run scripts/coverage-gate.ts","test:coverage:ci":"COVERAGE_MIN_LINES=85 COVERAGE_MIN_FUNCS=80 bun run test:unit:coverage && bun run coverage:gate","typecheck:src":"bunx tsc -p tsconfig.src.json --noEmit","typecheck:test":"bunx tsc -p tsconfig.test.json --noEmit","typecheck":"bun run typecheck:src && bun run typecheck:test","build:openclaw":"bun run bin/generate-openclaw.ts","build:openclaw:check":"bun run bin/generate-openclaw.ts --check","coverage:badge":"bun run bin/generate-coverage-badge.ts","deps:check":"bun run scripts/check-deps-baseline.ts"},"dependencies":{"@modelcontextprotocol/sdk":"^1.26.0","@portkey/aelf-signer":"1.0.1","aelf-sdk":"^3.5.1-beta.0","ajv":"^8.17.1","axios":"^1.7.0","commander":"^12.1.0","zod":"^3.24.0"},"devDependencies":{"@types/bun":"latest","@types/node":"latest","typescript":"^5.7.0"},"publishConfig":{"access":"public"},"gitHead":"759a03e15db9190159c85bc97b87acfdc39d4429","_id":"@eforest-finance/agent-skills@0.4.3","_nodeVersion":"22.22.0","_npmVersion":"11.11.0","dist":{"integrity":"sha512-lXcPBvDOgLJM2E094faA4PQcnvBU2bIqz2owivcWiXNgmaN/ZSJY4Z0PHNi+5gse6ORFpnT/SNNV3K4FG9SFMQ==","shasum":"eed1e43486a9d00589327b935193e63793ad8dd3","tarball":"https://registry.npmjs.org/@eforest-finance/agent-skills/-/agent-skills-0.4.3.tgz","fileCount":52,"unpackedSize":340026,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@eforest-finance%2fagent-skills@0.4.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIDcUgiy9LxVPpJQCFANZq92YbgEfCAFxF6WzNUmeto7RAiAjJJkWyKL5AUzds1Uh70Vt16foK6nozvDZmxW7alreJg=="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:261bf461-cb28-4081-b1b1-c202e9e9ab8d"}},"directories":{},"maintainers":[{"name":"asikki-y","email":"asikki@eforest.finance"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/agent-skills_0.4.3_1772647010413_0.6864870307741182"},"_hasShrinkwrap":false}},"time":{"created":"2026-02-11T16:07:18.066Z","modified":"2026-03-04T17:56:50.855Z","0.2.0":"2026-02-11T16:07:18.293Z","0.3.0":"2026-02-13T16:28:46.362Z","0.3.1":"2026-02-14T13:43:15.182Z","0.4.0":"2026-02-24T15:14:34.804Z","0.4.1":"2026-02-28T15:17:18.704Z","0.4.2":"2026-03-04T16:40:34.912Z","0.4.3":"2026-03-04T17:56:50.546Z"},"bugs":{"url":"https://github.com/eforest-finance/eforest-agent-skills/issues"},"license":"MIT","homepage":"https://github.com/eforest-finance/eforest-agent-skills#readme","keywords":["aelf","eforest","token","agent","mcp","ai","openclaw","blockchain"],"repository":{"type":"git","url":"git+https://github.com/eforest-finance/eforest-agent-skills.git"},"description":"AI Agent Kit for aelf token lifecycle on eForest: buy-seed, create-token, issue-token. Supports CLI, MCP, and SDK.","maintainers":[{"name":"asikki-y","email":"asikki@eforest.finance"}],"readme":"[English](README.md) | [中文](README.zh-CN.md)\n\n# eForest Agent Skills\n\n[![Unit Tests](https://github.com/eforest-finance/eforest-agent-skills/actions/workflows/test.yml/badge.svg)](https://github.com/eforest-finance/eforest-agent-skills/actions/workflows/test.yml)\n[![Coverage](https://img.shields.io/endpoint?url=https://eforest-finance.github.io/eforest-agent-skills/coverage.json)](https://eforest-finance.github.io/eforest-agent-skills/coverage.json)\n\n面向 aelf + eForest 的 AI Agent Kit，提供 CLI、MCP Server、SDK 三种接入方式。\n\n## 业务能力概览\n\n### Symbol-Market 业务域\n\n- 先做名称可用性检查与费用预估\n- 购买创建资格（SEED）\n- 创建 NFT / FT 资产\n- 向目标地址发行资产\n- 支持试运行预览、风险提示与结构化失败反馈\n\n### Forest 业务域（聚焦常用 NFT 能力）\n\n- NFT 创建：collection 与 item（支持批量）\n- NFT 交易：上架、购买、报价、成交、撤销\n- NFT 资产操作：转账、价格查询\n- 扩展能力（可选）：drop、whitelist、AI、miniapp、profile、discover、realtime\n\n## 本次更新（Forest Skillization v1）\n\n1. 能力从 token 流程扩展到“symbol 创建 + 常用 NFT 业务”一体化。\n2. 技能输入输出风格统一，接入和跨团队协作更简单。\n3. 失败反馈与维护中提示更清晰，减少主流程中断风险。\n4. Forest 能力按 P0/P1/P2 分层，便于分阶段上线与验收。\n5. 保留旧工具可用，迁移可逐步进行，不影响现有使用。\n\n## Forest Skills（P0 / P1 / P2）\n\n### P0（核心交易闭环）\n\nWorkflow：\n- `aelf-forest-create-collection`\n- `aelf-forest-create-item`\n- `aelf-forest-batch-create-items`\n- `aelf-forest-list-item`\n- `aelf-forest-buy-now`\n- `aelf-forest-make-offer`\n- `aelf-forest-deal-offer`\n- `aelf-forest-cancel-offer`\n- `aelf-forest-cancel-listing`\n- `aelf-forest-transfer-item`\n- `aelf-forest-get-price-quote`\n\nMethod（Contract）：\n- `aelf-forest-contract-market`\n- `aelf-forest-contract-multitoken`\n- `aelf-forest-contract-token-adapter`\n- `aelf-forest-contract-proxy`\n\nMethod（API）：\n- `aelf-forest-api-market`\n- `aelf-forest-api-nft`\n- `aelf-forest-api-collection`\n- `aelf-forest-api-sync`\n- `aelf-forest-api-seed-auction`\n\n### P1（增长能力）\n\nWorkflow：\n- `aelf-forest-issue-item`\n- `aelf-forest-place-bid`\n- `aelf-forest-claim-drop`\n- `aelf-forest-query-drop`\n- `aelf-forest-whitelist-read`\n- `aelf-forest-whitelist-manage`\n\nMethod（Contract）：\n- `aelf-forest-contract-auction`\n- `aelf-forest-contract-drop`\n- `aelf-forest-contract-whitelist`\n\nMethod（API）：\n- `aelf-forest-api-drop`\n- `aelf-forest-api-whitelist`\n\n### P2（扩展能力）\n\nWorkflow：\n- `aelf-forest-ai-generate`\n- `aelf-forest-ai-retry`\n- `aelf-forest-create-platform-nft`\n- `aelf-forest-miniapp-action`\n- `aelf-forest-update-profile`\n- `aelf-forest-query-collections`\n- `aelf-forest-watch-market-signals`\n\nMethod（Contract）：\n- `aelf-forest-contract-miniapp`\n\nMethod（API）：\n- `aelf-forest-api-ai`\n- `aelf-forest-api-platform`\n- `aelf-forest-api-miniapp`\n- `aelf-forest-api-user`\n- `aelf-forest-api-system`\n- `aelf-forest-api-realtime`\n\n## 快速开始\n\n### 前置条件\n\n- [Bun](https://bun.sh) >= 1.0\n- 可用的 aelf 钱包私钥（EOA）或 Portkey CA 钱包凭据\n\n### 安装\n\n```bash\ngit clone https://github.com/eforest-finance/eforest-agent-skills.git\ncd eforest-agent-skills\nbun install\n```\n\n### 配置\n\n```bash\ncp .env.example .env\n# 编辑 .env，填写网络配置与 signer 回退凭据\n```\n\n### CLI 使用（Legacy）\n\n```bash\n# 查询 SEED 价格（dry-run，不发交易）\nbun run cli buy-seed --symbol MYTOKEN --issuer <你的地址> --dry-run\n\n# 购买 SEED（限价 2 ELF）\nbun run cli buy-seed --symbol MYTOKEN --issuer <你的地址> --force 2\n\n# 在 tDVV 侧链创建 Token\nbun run cli create-token \\\n  --symbol MYTOKEN --token-name \"My Token\" \\\n  --seed-symbol SEED-321 \\\n  --total-supply 100000000 --decimals 8 \\\n  --issue-chain tDVV\n\n# 发行 Token\nbun run cli issue-token \\\n  --symbol MYTOKEN --amount 10000000000000000 \\\n  --to <接收地址> --chain tDVV\n```\n\n## MCP Server（Claude Desktop / Cursor）\n\n一键配置：\n\n```bash\n# Claude Desktop\nbun run setup claude\n\n# Cursor IDE（项目级）\nbun run setup cursor\n\n# Cursor IDE（全局）\nbun run setup cursor --global\n\n# 查看配置状态\nbun run setup list\n```\n\nMCP Server 会自动注册 legacy tools + 全部 `aelf-forest-*` tools（来自 skill registry）。\n\n### 手动 MCP 配置\n\n**EOA 模式**：\n\n```json\n{\n  \"mcpServers\": {\n    \"eforest-token\": {\n      \"command\": \"bun\",\n      \"args\": [\"run\", \"/path/to/eforest-agent-skills/src/mcp/server.ts\"],\n      \"env\": {\n        \"AELF_PRIVATE_KEY\": \"your_private_key\",\n        \"EFOREST_NETWORK\": \"mainnet\"\n      }\n    }\n  }\n}\n```\n\n**CA 模式**：\n\n```json\n{\n  \"mcpServers\": {\n    \"eforest-token\": {\n      \"command\": \"bun\",\n      \"args\": [\"run\", \"/path/to/eforest-agent-skills/src/mcp/server.ts\"],\n      \"env\": {\n        \"PORTKEY_PRIVATE_KEY\": \"your_manager_private_key\",\n        \"PORTKEY_CA_HASH\": \"your_ca_hash\",\n        \"PORTKEY_CA_ADDRESS\": \"your_ca_address\",\n        \"EFOREST_NETWORK\": \"mainnet\"\n      }\n    }\n  }\n}\n```\n\n### 跨 Skill 签名上下文（推荐）\n\n写操作可优先从共享钱包上下文解析 signer。解析顺序：\n\n1. 显式输入（`privateKey` 或 CA 三元组）\n2. Active context（`~/.portkey/skill-wallet/context.v1.json`）\n3. 环境变量回退（`AELF_PRIVATE_KEY` 或 `PORTKEY_*`）\n\n如果 context 指向加密钱包/keystore，可通过工具入参传密码，或使用：\n\n- `PORTKEY_WALLET_PASSWORD`（EOA 钱包文件）\n- `PORTKEY_CA_KEYSTORE_PASSWORD`（CA keystore 文件）\n\n## Forest API Route Map（配置优先）\n\nMethod API skill 的路由映射通过环境变量配置（不写死路由分支）：\n\n- `EFOREST_FOREST_API_ACTION_MAP_JSON`（优先）\n- `FOREST_API_ACTION_MAP_JSON`（兜底）\n\n示例：\n\n```json\n{\n  \"aelf-forest-api-market\": {\n    \"fetchTokens\": {\n      \"method\": \"GET\",\n      \"path\": \"/app/market/tokens\",\n      \"auth\": true\n    }\n  },\n  \"aelf-forest-api-sync\": {\n    \"fetchSyncCollection\": {\n      \"method\": \"POST\",\n      \"path\": \"/app/nft/sync\",\n      \"auth\": true\n    }\n  }\n}\n```\n\n## SDK 使用\n\n```typescript\nimport {\n  getNetworkConfig,\n  dispatchForestSkill,\n  listForestSkills,\n} from '@eforest-finance/agent-skills';\n\nconst config = await getNetworkConfig({ env: 'mainnet' });\n\nconsole.log('registered forest skills:', listForestSkills().length);\n\nconst quote = await dispatchForestSkill(\n  'aelf-forest-get-price-quote',\n  {\n    env: 'mainnet',\n    payload: {\n      symbol: 'MY-NFT',\n      include: ['tokenData', 'txFee'],\n    },\n  },\n  { config },\n);\n\nif (!quote.success) {\n  console.error(quote.code, quote.message);\n} else {\n  console.log(quote.data);\n}\n```\n\n## Envelope 与错误契约\n\n成功返回：\n\n```json\n{\n  \"success\": true,\n  \"code\": \"OK\",\n  \"data\": {},\n  \"warnings\": [],\n  \"traceId\": \"...\"\n}\n```\n\n失败返回：\n\n```json\n{\n  \"success\": false,\n  \"code\": \"SERVICE_DISABLED\",\n  \"message\": \"...\",\n  \"maintenance\": true,\n  \"retryable\": false,\n  \"traceId\": \"...\",\n  \"details\": {}\n}\n```\n\n## Service Gating 与优雅降级\n\n### 关键环境变量\n\n- `EFOREST_ENABLED_SERVICES`\n- `EFOREST_DISABLED_SERVICES`\n- `EFOREST_MAINTENANCE_SERVICES`\n- `EFOREST_DISABLE_ALL_SERVICES`\n- `EFOREST_SERVICE_<SERVICE_KEY_IN_UPPERCASE>`\n\n示例：\n\n```bash\n# 关闭 AI 与 miniapp 域\nexport EFOREST_DISABLED_SERVICES=\"forest.ai.*,forest.miniapp.*\"\n\n# market 域进入维护模式\nexport EFOREST_MAINTENANCE_SERVICES=\"forest.market.*\"\n\n# 关闭某个精确 service key\nexport EFOREST_SERVICE_FOREST_MARKET_WORKFLOW=false\n```\n\n## OpenClaw\n\n### 初始化\n\n```bash\n# 1) 从 Forest registry 重新生成 catalog（3 个 legacy + 45 个 Forest skills）\nbun run generate:openclaw\n\n# 2) 生成独立 OpenClaw 配置\nbun run setup openclaw\n\n# 3) 或合并到已有 OpenClaw 配置\nbun run setup openclaw --config-path /path/to/openclaw.json\n```\n\n### 调用模式\n\n- `structured` 模式（12 个高频 NFT skills）：直接传业务参数（symbol/price/chain 等）。\n- `inputJson` 模式（33 个长尾 Forest skills）：传一个 JSON 字符串覆盖完整输入。\n\n**Structured 示例**（`aelf-forest-list-item`）：\n\n```json\n{\n  \"symbol\": \"NFT-1\",\n  \"quantity\": 1,\n  \"priceSymbol\": \"ELF\",\n  \"priceAmount\": 1.2,\n  \"durationJson\": \"{\\\"hours\\\":24}\",\n  \"chain\": \"AELF\",\n  \"env\": \"mainnet\"\n}\n```\n\n**inputJson 示例**（`aelf-forest-api-market`）：\n\n```json\n{\n  \"inputJson\": \"{\\\"action\\\":\\\"fetchTokens\\\",\\\"params\\\":{\\\"chainId\\\":\\\"AELF\\\",\\\"page\\\":1}}\",\n  \"env\": \"mainnet\"\n}\n```\n\n### 常见失败码\n\n- `INVALID_PARAMS`：入参与 schema 不匹配（缺字段、enum/type 错误）。\n- `SERVICE_DISABLED`：对应 service key 被环境开关关闭。\n- `MAINTENANCE`：服务处于维护中，或路由/配置不可用。\n\n快速排查：\n- 检查参数或 `inputJson` 结构\n- 检查 `EFOREST_DISABLED_SERVICES` / `EFOREST_MAINTENANCE_SERVICES`\n- 检查 `EFOREST_FOREST_API_ACTION_MAP_JSON` 的 method-api 路由映射\n\n## 架构\n\nCore forest dispatcher 已模块化到 `src/core/forest/`（`src/core/forest.ts` 保留为兼容 facade）。\n\n```\neforest-agent-skills/\n├── lib/\n│   ├── types.ts\n│   ├── config.ts\n│   ├── aelf-client.ts\n│   ├── api-client.ts\n│   ├── forest-envelope.ts\n│   ├── forest-service.ts\n│   ├── forest-skill-registry.ts\n│   ├── forest-schemas.ts\n│   └── forest-validator.ts\n├── src/\n│   ├── cli/\n│   │   └── forest_skill.ts\n│   ├── core/\n│   │   ├── seed.ts\n│   │   ├── token.ts\n│   │   ├── issue.ts\n│   │   ├── forest.ts\n│   │   └── forest/\n│   │       ├── index.ts\n│   │       ├── dispatcher.ts\n│   │       ├── executors/\n│   │       └── workflow/\n│   └── mcp/\n│       └── server.ts\n├── bin/\n│   ├── setup.ts\n│   ├── generate-openclaw.ts\n│   └── platforms/\n├── create_token_skill.ts\n├── index.ts\n├── openclaw.json\n└── __tests__/\n```\n\n## 配置优先级\n\n配置解析顺序（从高到低）：\n\n1. 函数参数（SDK 调用方）\n2. CLI 参数（`--env`、`--rpc-url`）\n3. `EFOREST_*` / `AELF_*` 环境变量\n4. `.env` 文件\n5. CMS 远程配置\n6. 代码默认值（`ENV_PRESETS`）\n\n## 测试\n\n```bash\nbun test                 # 全量测试\nbun test:unit            # 单元测试\nbun test:integration     # 集成测试\nbun test:e2e:smoke       # Dry-run smoke e2e（PR gate）\nbun test:e2e:full        # 全量 dry-run e2e\nbun test:e2e             # 等价于 test:e2e:full\n```\n\n说明：\n- e2e 套件为 dry-run deterministic，不依赖链上写操作。\n- CI 中默认 e2e 不依赖额外 test secrets。\n\n## 分支测试矩阵\n\n| Git Event | Branch/Ref | Suite | Gate Level |\n|---|---|---|---|\n| `pull_request` | `main` | `unit + integration + e2e:smoke` | Required |\n| `push` | `main` | `unit + integration + e2e:full` | Required |\n| `push` | `v*` tag | `publish.yml`（包含 `bun test`） | Release Gate |\n\n## 环境变量\n\n| 变量名 | 说明 | 默认值 |\n|--------|------|--------|\n| `AELF_PRIVATE_KEY` | aelf 钱包私钥（EOA） | — |\n| `PORTKEY_PRIVATE_KEY` | Portkey Manager 私钥（CA） | — |\n| `PORTKEY_CA_HASH` | Portkey CA hash（CA） | — |\n| `PORTKEY_CA_ADDRESS` | Portkey CA 地址（CA） | — |\n| `PORTKEY_WALLET_PASSWORD` | EOA wallet context 解密密码缓存（可选） | — |\n| `PORTKEY_CA_KEYSTORE_PASSWORD` | CA keystore context 解密密码缓存（可选） | — |\n| `PORTKEY_SKILL_WALLET_CONTEXT_PATH` | 覆盖 active context 文件路径 | `~/.portkey/skill-wallet/context.v1.json` |\n| `EFOREST_NETWORK` / `AELF_ENV` | `mainnet` 或 `testnet` | `mainnet` |\n| `EFOREST_API_URL` / `AELF_API_URL` | 后端 API 地址 | 自动 |\n| `EFOREST_RPC_URL` / `AELF_RPC_URL` | AELF 主链 RPC | 自动 |\n| `EFOREST_RPC_URL_TDVV` | tDVV RPC | 自动 |\n| `EFOREST_RPC_URL_TDVW` | tDVW RPC | 自动 |\n| `EFOREST_ENABLED_SERVICES` | service 白名单（逗号分隔 pattern） | 空（默认全开） |\n| `EFOREST_DISABLED_SERVICES` | service 关闭列表（逗号分隔 pattern） | 空 |\n| `EFOREST_MAINTENANCE_SERVICES` | 维护中列表（逗号分隔 pattern） | 空 |\n| `EFOREST_DISABLE_ALL_SERVICES` | 关闭全部 forest service（`true/false`） | `false` |\n| `EFOREST_FOREST_API_ACTION_MAP_JSON` | Method API action 到 route 的 JSON 映射 | 空 |\n\n## 许可证\n\n[MIT](LICENSE)\n","readmeFilename":"README.zh-CN.md"}