{"_id":"@agent-web-portal/aws-cli","_rev":"2-6733c9c598416a220eb24cded167f736","name":"@agent-web-portal/aws-cli","dist-tags":{"latest":"0.2.0"},"versions":{"0.1.0":{"name":"@agent-web-portal/aws-cli","version":"0.1.0","keywords":["mcp","ai-agent","agent-web-portal","awp","aws","cli","deploy"],"author":{"name":"Agent Web Portal Contributors"},"license":"MIT","_id":"@agent-web-portal/aws-cli@0.1.0","maintainers":[{"name":"shazhou.ww","email":"shazhou.ww@gmail.com"}],"homepage":"https://github.com/anthropics/agent-web-portal#readme","bugs":{"url":"https://github.com/anthropics/agent-web-portal/issues"},"bin":{"awp":"bin/awp.ts"},"dist":{"shasum":"5393b2c5dff48093dfa11682df6c129a80b5567a","tarball":"https://registry.npmjs.org/@agent-web-portal/aws-cli/-/aws-cli-0.1.0.tgz","fileCount":9,"integrity":"sha512-iW0eY6YI3QvLCLrzohAv/ZiZE28LNH10bYiJL1Mj3DC3c84B0laEf4fxzbUoT/8cYuhsFXRtvigSBmi5XeNz8A==","signatures":[{"sig":"MEQCIAjhV4sNxpiaFoYaG+3QNFmb63LU11VRlpmz683ofX/KAiBLysxGKhFW8wxvuzQO33YXpMSOoKUWa165YnGYJTkOXA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":24547},"main":"src/index.ts","type":"module","types":"src/index.ts","exports":{".":{"types":"./src/index.ts","import":"./src/index.ts"}},"gitHead":"775a13ba357a3164925dac6fd943f64188b54dd4","scripts":{"lint":"biome check .","check":"tsc --noEmit && biome check .","lint:fix":"biome check --write .","typecheck":"tsc --noEmit"},"_npmUser":{"name":"shazhou.ww","email":"shazhou.ww@gmail.com"},"repository":{"url":"git+https://github.com/anthropics/agent-web-portal.git","type":"git","directory":"packages/aws-cli"},"_npmVersion":"11.6.2","description":"CLI tools for Agent Web Portal AWS deployment","directories":{},"_nodeVersion":"24.12.0","dependencies":{"yaml":"^2.7.0","chalk":"^5.4.1","archiver":"^7.0.1","commander":"^13.1.0","@aws-sdk/client-s3":"^3.700.0","@agent-web-portal/core":"^0.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^22.10.5","@types/archiver":"^6.0.3"},"peerDependencies":{"typescript":"^5"},"_npmOperationalInternal":{"tmp":"tmp/aws-cli_0.1.0_1769099680264_0.7284841711970362","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@agent-web-portal/aws-cli","version":"0.2.0","description":"CLI tools for Agent Web Portal AWS deployment","license":"MIT","author":{"name":"Agent Web Portal Contributors"},"repository":{"type":"git","url":"git+https://github.com/anthropics/agent-web-portal.git","directory":"packages/aws-cli"},"homepage":"https://github.com/anthropics/agent-web-portal#readme","bugs":{"url":"https://github.com/anthropics/agent-web-portal/issues"},"publishConfig":{"access":"public"},"keywords":["mcp","ai-agent","agent-web-portal","awp","aws","cli","deploy"],"type":"module","main":"src/index.ts","types":"src/index.ts","bin":{"awp":"bin/awp.ts"},"exports":{".":{"import":"./src/index.ts","types":"./src/index.ts"}},"scripts":{"clean":"rimraf .turbo dist","typecheck":"tsc --noEmit","lint":"biome check .","lint:fix":"biome check --write .","check":"tsc --noEmit && biome check ."},"dependencies":{"@agent-web-portal/core":"^0.2.0","@aws-sdk/client-s3":"^3.700.0","archiver":"^7.0.1","chalk":"^5.4.1","commander":"^13.1.0","yaml":"^2.7.0"},"devDependencies":{"@types/archiver":"^6.0.3","@types/node":"^22.10.5"},"peerDependencies":{"typescript":"^5"},"gitHead":"ee9e9127b046b65772299a166ae6c03eb8009ea9","_id":"@agent-web-portal/aws-cli@0.2.0","_nodeVersion":"24.12.0","_npmVersion":"11.6.2","dist":{"integrity":"sha512-DtCh3o7oLYjAacRGu+hFDKA1CLkOAbEyHxrxsH8ae5yU2tt7iPx3JUJeKuZiwvfhmz79gTnqdm1s8OCPkOrgQQ==","shasum":"ea20fd015de54b15d2cd4dfa7ff475ac68259d52","tarball":"https://registry.npmjs.org/@agent-web-portal/aws-cli/-/aws-cli-0.2.0.tgz","fileCount":9,"unpackedSize":24582,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIFkYe8LWyrMfGaCeYDaL1vZCByWnBk3zX8KWqm8aiBe6AiAIofaLvIAXmjT2BI212ZXQT366g8zwSQn/ZNq7W9hrwQ=="}]},"_npmUser":{"name":"shazhou.ww","email":"shazhou.ww@gmail.com"},"directories":{},"maintainers":[{"name":"shazhou.ww","email":"shazhou.ww@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/aws-cli_0.2.0_1769334909483_0.8904622492818983"},"_hasShrinkwrap":false}},"time":{"created":"2026-01-22T16:34:40.095Z","modified":"2026-01-25T09:55:09.792Z","0.1.0":"2026-01-22T16:34:40.410Z","0.2.0":"2026-01-25T09:55:09.632Z"},"bugs":{"url":"https://github.com/anthropics/agent-web-portal/issues"},"author":{"name":"Agent Web Portal Contributors"},"license":"MIT","homepage":"https://github.com/anthropics/agent-web-portal#readme","keywords":["mcp","ai-agent","agent-web-portal","awp","aws","cli","deploy"],"repository":{"type":"git","url":"git+https://github.com/anthropics/agent-web-portal.git","directory":"packages/aws-cli"},"description":"CLI tools for Agent Web Portal AWS deployment","maintainers":[{"name":"shazhou.ww","email":"shazhou.ww@gmail.com"}],"readme":"# @agent-web-portal/aws-cli\n\nAgent Web Portal AWS 部署 CLI 工具。\n\n## 概述\n\n`@agent-web-portal/aws-cli` 提供：\n\n- **Skills 上传** - 将 SKILL.md 文件打包上传到 S3\n- **Frontmatter 解析** - 解析和验证 SKILL.md 文件\n- **环境检查** - 验证 AWS 配置\n\n## 安装\n\n```bash\nbun add -D @agent-web-portal/aws-cli\n```\n\n## CLI 使用\n\n### 上传 Skills\n\n```bash\n# 上传整个 skills 文件夹\nbunx awp upload --folder ./skills --bucket my-skills-bucket\n\n# 指定前缀\nbunx awp upload --folder ./skills --bucket my-bucket --prefix skills/v1/\n```\n\n### 检查环境\n\n```bash\nbunx awp check-env\n```\n\n## 编程使用\n\n### 发现和上传 Skills\n\n```typescript\nimport { discoverSkills, uploadSkills } from \"@agent-web-portal/aws-cli\";\n\n// 发现本地 Skills\nconst skills = discoverSkills(\"./skills\");\nconsole.log(skills);\n// [\n//   { name: \"my-skill\", path: \"./skills/my-skill\", frontmatter: { ... } },\n// ]\n\n// 上传到 S3\nawait uploadSkills({\n  folder: \"./skills\",\n  bucket: \"my-bucket\",\n  prefix: \"skills/\",\n});\n```\n\n### 解析 SKILL.md\n\n```typescript\nimport { parseSkillFile, validateFrontmatter } from \"@agent-web-portal/aws-cli\";\n\nconst { frontmatter, markdown } = parseSkillFile(\"./skills/my-skill/SKILL.md\");\n\nconst validation = validateFrontmatter(frontmatter, \"my-skill\");\nif (!validation.valid) {\n  console.error(\"Errors:\", validation.errors);\n}\n```\n\n### 检查环境\n\n```typescript\nimport { checkEnv, printCheckEnvResult } from \"@agent-web-portal/aws-cli\";\n\nconst result = await checkEnv();\nprintCheckEnvResult(result);\n\nif (!result.success) {\n  process.exit(1);\n}\n```\n\n## SKILL.md 格式\n\n```markdown\n---\nname: My Skill\ndescription: A skill that does something\nversion: 1.0.0\nallowed-tools:\n  - tool_a\n  - tool_b\n  - external_mcp:tool_c\nmcp-servers:\n  external_mcp: https://external.example.com/mcp\n---\n\n# My Skill\n\nSkill content in markdown...\n```\n\n## 文件结构\n\nSkills 应该按以下结构组织：\n\n```\nskills/\n├── skill-a/\n│   └── SKILL.md\n├── skill-b/\n│   └── SKILL.md\n└── skill-c/\n    └── SKILL.md\n```\n\n每个 Skill 目录包含一个 `SKILL.md` 文件。\n\n## 上传输出\n\n上传后会生成 `skills.yaml` 配置文件：\n\n```yaml\nskills:\n  - name: skill-a\n    s3_key: skills/skill-a.zip\n    frontmatter:\n      name: Skill A\n      allowed-tools:\n        - tool_a\n  - name: skill-b\n    s3_key: skills/skill-b.zip\n    frontmatter:\n      name: Skill B\n      allowed-tools:\n        - tool_b\n```\n\n## API\n\n### `discoverSkills(folderPath)`\n\n发现指定目录下的所有 Skills。\n\n### `uploadSkills(options)`\n\n上传 Skills 到 S3。\n\n```typescript\ninterface UploadOptions {\n  folder: string;       // Skills 目录\n  bucket: string;       // S3 bucket\n  prefix?: string;      // S3 key 前缀\n  region?: string;      // AWS 区域\n}\n```\n\n### `parseSkillFile(filePath)`\n\n解析单个 SKILL.md 文件。\n\n### `parseFrontmatter(content)`\n\n从 Markdown 内容解析 Frontmatter。\n\n### `validateFrontmatter(frontmatter, skillName)`\n\n验证 Frontmatter 格式。\n\n### `checkEnv()`\n\n检查 AWS 环境配置。\n\n## 类型导出\n\n- `SkillMetadata` - Skill 元数据\n- `UploadOptions` - 上传选项\n- `SkillsYaml` - skills.yaml 结构\n- `CheckEnvResult` - 环境检查结果\n\n## 环境变量\n\n| 变量 | 说明 |\n|------|------|\n| `AWS_REGION` | AWS 区域 |\n| `AWS_ACCESS_KEY_ID` | AWS Access Key |\n| `AWS_SECRET_ACCESS_KEY` | AWS Secret Key |\n\n## License\n\nMIT\n","readmeFilename":"README.md"}