hive-skills 0.1.0
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/LICENSE +28 -0
- package/README.md +235 -0
- package/assets/LICENSE +32 -0
- package/assets/THIRD_PARTY_NOTICES.md +72 -0
- package/assets/manifest.json +1290 -0
- package/assets/skills/authored/code-review/composable/BUNDLE.md +192 -0
- package/assets/skills/authored/code-review/composable/INDEX.md +13 -0
- package/assets/skills/authored/code-review/composable/VERSION +1 -0
- package/assets/skills/authored/code-review/composable/mini/01-review-method.md +34 -0
- package/assets/skills/authored/code-review/composable/mini/02-security-review.md +20 -0
- package/assets/skills/authored/code-review/composable/mini/03-correctness-bugs.md +19 -0
- package/assets/skills/authored/code-review/composable/mini/04-concurrency.md +16 -0
- package/assets/skills/authored/code-review/composable/mini/05-error-handling.md +12 -0
- package/assets/skills/authored/code-review/composable/mini/06-performance.md +11 -0
- package/assets/skills/authored/code-review/composable/mini/07-api-design.md +20 -0
- package/assets/skills/authored/code-review/composable/mini/08-missing-tests.md +25 -0
- package/assets/skills/authored/code-review/composable/mini/09-refactoring-and-communication.md +32 -0
- package/assets/skills/authored/data-analysis/composable/BUNDLE.md +186 -0
- package/assets/skills/authored/data-analysis/composable/INDEX.md +13 -0
- package/assets/skills/authored/data-analysis/composable/VERSION +1 -0
- package/assets/skills/authored/data-analysis/composable/mini/01-data-quality-profiling.md +26 -0
- package/assets/skills/authored/data-analysis/composable/mini/02-aggregation-pitfalls.md +21 -0
- package/assets/skills/authored/data-analysis/composable/mini/03-time-series.md +19 -0
- package/assets/skills/authored/data-analysis/composable/mini/04-segmentation.md +23 -0
- package/assets/skills/authored/data-analysis/composable/mini/05-discount-pricing.md +17 -0
- package/assets/skills/authored/data-analysis/composable/mini/06-insight-generation.md +25 -0
- package/assets/skills/authored/data-analysis/composable/mini/07-executive-writing.md +26 -0
- package/assets/skills/authored/data-analysis/composable/mini/08-recommendations.md +20 -0
- package/assets/skills/authored/data-analysis/composable/mini/09-reproducibility-assumptions.md +20 -0
- package/assets/skills/authored/financial-analysis/composable/BUNDLE.md +1293 -0
- package/assets/skills/authored/financial-analysis/composable/INDEX.md +17 -0
- package/assets/skills/authored/financial-analysis/composable/VERSION +1 -0
- package/assets/skills/authored/financial-analysis/composable/mini/00-core.md +69 -0
- package/assets/skills/authored/financial-analysis/composable/mini/01-profitability-efficiency-ratios.md +173 -0
- package/assets/skills/authored/financial-analysis/composable/mini/02-liquidity-leverage-ratios.md +120 -0
- package/assets/skills/authored/financial-analysis/composable/mini/03-valuation-ratios-interpretation.md +107 -0
- package/assets/skills/authored/financial-analysis/composable/mini/04-dcf-projection-wacc.md +122 -0
- package/assets/skills/authored/financial-analysis/composable/mini/05-dcf-terminal-value-sensitivity.md +75 -0
- package/assets/skills/authored/financial-analysis/composable/mini/06-comparables-precedents.md +78 -0
- package/assets/skills/authored/financial-analysis/composable/mini/07-budget-variance-analysis.md +47 -0
- package/assets/skills/authored/financial-analysis/composable/mini/08-driver-based-forecasting-scenarios.md +111 -0
- package/assets/skills/authored/financial-analysis/composable/mini/09-rolling-forecasts-accuracy.md +114 -0
- package/assets/skills/authored/financial-analysis/composable/mini/10-reporting-exec-summary.md +58 -0
- package/assets/skills/authored/financial-analysis/composable/mini/11-industry-adaptations.md +130 -0
- package/assets/skills/authored/financial-analysis/composable/mini/12-toolkit-scripts-io.md +102 -0
- package/assets/skills/authored/python-api/composable/BUNDLE.md +389 -0
- package/assets/skills/authored/python-api/composable/INDEX.md +13 -0
- package/assets/skills/authored/python-api/composable/VERSION +1 -0
- package/assets/skills/authored/python-api/composable/mini/01-project-structure.md +44 -0
- package/assets/skills/authored/python-api/composable/mini/02-routing-and-app.md +38 -0
- package/assets/skills/authored/python-api/composable/mini/03-pydantic-models.md +45 -0
- package/assets/skills/authored/python-api/composable/mini/04-validation-and-errors.md +59 -0
- package/assets/skills/authored/python-api/composable/mini/05-dependencies-and-auth.md +60 -0
- package/assets/skills/authored/python-api/composable/mini/06-pagination-filtering.md +44 -0
- package/assets/skills/authored/python-api/composable/mini/07-async-performance.md +30 -0
- package/assets/skills/authored/python-api/composable/mini/08-testing.md +45 -0
- package/assets/skills/authored/python-api/composable/mini/09-middleware-observability.md +29 -0
- package/assets/skills/authored/tech-writing/composable/BUNDLE.md +220 -0
- package/assets/skills/authored/tech-writing/composable/INDEX.md +12 -0
- package/assets/skills/authored/tech-writing/composable/VERSION +1 -0
- package/assets/skills/authored/tech-writing/composable/mini/01-audience-analysis.md +26 -0
- package/assets/skills/authored/tech-writing/composable/mini/02-document-types.md +27 -0
- package/assets/skills/authored/tech-writing/composable/mini/03-readme-quickstart-changelog.md +22 -0
- package/assets/skills/authored/tech-writing/composable/mini/04-information-architecture.md +21 -0
- package/assets/skills/authored/tech-writing/composable/mini/05-style-clarity.md +29 -0
- package/assets/skills/authored/tech-writing/composable/mini/06-breaking-changes-migrations.md +33 -0
- package/assets/skills/authored/tech-writing/composable/mini/07-troubleshooting-security.md +30 -0
- package/assets/skills/authored/tech-writing/composable/mini/08-faq-voice-tone.md +32 -0
- package/assets/skills/converted/claude-api/composable/BUNDLE.md +14996 -0
- package/assets/skills/converted/claude-api/composable/INDEX.md +98 -0
- package/assets/skills/converted/claude-api/composable/VERSION +1 -0
- package/assets/skills/converted/claude-api/composable/mini/00-core.md +235 -0
- package/assets/skills/converted/claude-api/composable/mini/01-model-api-quick-reference.md +258 -0
- package/assets/skills/converted/claude-api/composable/mini/02-common-pitfalls.md +42 -0
- package/assets/skills/converted/claude-api/composable/mini/10-models.md +135 -0
- package/assets/skills/converted/claude-api/composable/mini/11-platform-availability.md +96 -0
- package/assets/skills/converted/claude-api/composable/mini/12-claude-platform-on-aws.md +59 -0
- package/assets/skills/converted/claude-api/composable/mini/13-live-sources.md +143 -0
- package/assets/skills/converted/claude-api/composable/mini/14-error-codes.md +256 -0
- package/assets/skills/converted/claude-api/composable/mini/15-prompt-caching.md +223 -0
- package/assets/skills/converted/claude-api/composable/mini/16-token-counting.md +56 -0
- package/assets/skills/converted/claude-api/composable/mini/17-tool-use-concepts.md +444 -0
- package/assets/skills/converted/claude-api/composable/mini/18-agent-design.md +101 -0
- package/assets/skills/converted/claude-api/composable/mini/19-anthropic-cli.md +246 -0
- package/assets/skills/converted/claude-api/composable/mini/20-model-migration.md +1301 -0
- package/assets/skills/converted/claude-api/composable/mini/30-managed-agents-overview.md +71 -0
- package/assets/skills/converted/claude-api/composable/mini/31-managed-agents-core.md +278 -0
- package/assets/skills/converted/claude-api/composable/mini/32-managed-agents-environments.md +219 -0
- package/assets/skills/converted/claude-api/composable/mini/33-managed-agents-tools.md +366 -0
- package/assets/skills/converted/claude-api/composable/mini/34-managed-agents-events.md +252 -0
- package/assets/skills/converted/claude-api/composable/mini/35-managed-agents-outcomes.md +106 -0
- package/assets/skills/converted/claude-api/composable/mini/36-managed-agents-multiagent.md +101 -0
- package/assets/skills/converted/claude-api/composable/mini/37-managed-agents-webhooks.md +123 -0
- package/assets/skills/converted/claude-api/composable/mini/38-managed-agents-memory.md +197 -0
- package/assets/skills/converted/claude-api/composable/mini/39-managed-agents-scheduled-deployments.md +146 -0
- package/assets/skills/converted/claude-api/composable/mini/40-managed-agents-client-patterns.md +211 -0
- package/assets/skills/converted/claude-api/composable/mini/41-managed-agents-onboarding.md +82 -0
- package/assets/skills/converted/claude-api/composable/mini/42-managed-agents-api-reference.md +441 -0
- package/assets/skills/converted/claude-api/composable/mini/43-managed-agents-self-hosted-sandboxes.md +174 -0
- package/assets/skills/converted/claude-api/composable/mini/50-python-readme.md +564 -0
- package/assets/skills/converted/claude-api/composable/mini/51-python-tool-use.md +590 -0
- package/assets/skills/converted/claude-api/composable/mini/52-python-streaming-batches-files.md +549 -0
- package/assets/skills/converted/claude-api/composable/mini/53-python-managed-agents.md +335 -0
- package/assets/skills/converted/claude-api/composable/mini/55-typescript-readme.md +404 -0
- package/assets/skills/converted/claude-api/composable/mini/56-typescript-tool-use.md +548 -0
- package/assets/skills/converted/claude-api/composable/mini/57-typescript-streaming-batches-files.md +384 -0
- package/assets/skills/converted/claude-api/composable/mini/58-typescript-managed-agents.md +358 -0
- package/assets/skills/converted/claude-api/composable/mini/60-csharp-readme.md +361 -0
- package/assets/skills/converted/claude-api/composable/mini/61-csharp-tool-use.md +163 -0
- package/assets/skills/converted/claude-api/composable/mini/62-csharp-streaming-batches-files.md +64 -0
- package/assets/skills/converted/claude-api/composable/mini/65-go-readme.md +185 -0
- package/assets/skills/converted/claude-api/composable/mini/66-go-tool-use.md +219 -0
- package/assets/skills/converted/claude-api/composable/mini/67-go-streaming-files.md +63 -0
- package/assets/skills/converted/claude-api/composable/mini/68-go-managed-agents.md +564 -0
- package/assets/skills/converted/claude-api/composable/mini/70-java-readme.md +237 -0
- package/assets/skills/converted/claude-api/composable/mini/71-java-tool-use.md +227 -0
- package/assets/skills/converted/claude-api/composable/mini/72-java-streaming-files.md +49 -0
- package/assets/skills/converted/claude-api/composable/mini/73-java-managed-agents.md +443 -0
- package/assets/skills/converted/claude-api/composable/mini/75-php-readme.md +173 -0
- package/assets/skills/converted/claude-api/composable/mini/76-php-tool-use.md +252 -0
- package/assets/skills/converted/claude-api/composable/mini/77-php-streaming-batches-files.md +53 -0
- package/assets/skills/converted/claude-api/composable/mini/78-php-managed-agents.md +443 -0
- package/assets/skills/converted/claude-api/composable/mini/80-ruby-readme.md +133 -0
- package/assets/skills/converted/claude-api/composable/mini/81-ruby-tool-use-streaming.md +56 -0
- package/assets/skills/converted/claude-api/composable/mini/82-ruby-managed-agents.md +394 -0
- package/assets/skills/converted/claude-api/composable/mini/85-curl-examples.md +255 -0
- package/assets/skills/converted/claude-api/composable/mini/86-curl-managed-agents.md +340 -0
- package/assets/skills/converted/claude-api/composable/presets/csharp.md +1151 -0
- package/assets/skills/converted/claude-api/composable/presets/curl.md +1154 -0
- package/assets/skills/converted/claude-api/composable/presets/go.md +1598 -0
- package/assets/skills/converted/claude-api/composable/presets/java.md +1523 -0
- package/assets/skills/converted/claude-api/composable/presets/php.md +1488 -0
- package/assets/skills/converted/claude-api/composable/presets/python.md +2605 -0
- package/assets/skills/converted/claude-api/composable/presets/ruby.md +1146 -0
- package/assets/skills/converted/claude-api/composable/presets/shared.md +6478 -0
- package/assets/skills/converted/claude-api/composable/presets/typescript.md +2261 -0
- package/assets/skills/converted/docx/composable/BUNDLE.md +617 -0
- package/assets/skills/converted/docx/composable/INDEX.md +12 -0
- package/assets/skills/converted/docx/composable/VERSION +1 -0
- package/assets/skills/converted/docx/composable/mini/00-core.md +26 -0
- package/assets/skills/converted/docx/composable/mini/01-reading-converting.md +36 -0
- package/assets/skills/converted/docx/composable/mini/02-creating-setup-layout.md +85 -0
- package/assets/skills/converted/docx/composable/mini/03-creating-elements.md +257 -0
- package/assets/skills/converted/docx/composable/mini/04-editing-existing.md +57 -0
- package/assets/skills/converted/docx/composable/mini/05-xml-reference.md +128 -0
- package/assets/skills/converted/internal-comms/composable/BUNDLE.md +220 -0
- package/assets/skills/converted/internal-comms/composable/INDEX.md +11 -0
- package/assets/skills/converted/internal-comms/composable/VERSION +1 -0
- package/assets/skills/converted/internal-comms/composable/mini/00-core.md +30 -0
- package/assets/skills/converted/internal-comms/composable/mini/01-3p-updates.md +49 -0
- package/assets/skills/converted/internal-comms/composable/mini/02-company-newsletter.md +67 -0
- package/assets/skills/converted/internal-comms/composable/mini/03-faq-answers.md +32 -0
- package/assets/skills/converted/internal-comms/composable/mini/04-general-comms.md +18 -0
- package/assets/skills/converted/mcp-builder/composable/BUNDLE.md +2460 -0
- package/assets/skills/converted/mcp-builder/composable/INDEX.md +23 -0
- package/assets/skills/converted/mcp-builder/composable/VERSION +1 -0
- package/assets/skills/converted/mcp-builder/composable/mini/00-core.md +43 -0
- package/assets/skills/converted/mcp-builder/composable/mini/01-workflow-research-planning.md +54 -0
- package/assets/skills/converted/mcp-builder/composable/mini/02-implementation-process.md +78 -0
- package/assets/skills/converted/mcp-builder/composable/mini/03-naming-conventions.md +33 -0
- package/assets/skills/converted/mcp-builder/composable/mini/04-response-formats.md +21 -0
- package/assets/skills/converted/mcp-builder/composable/mini/05-pagination.md +24 -0
- package/assets/skills/converted/mcp-builder/composable/mini/06-transport.md +47 -0
- package/assets/skills/converted/mcp-builder/composable/mini/07-annotations.md +20 -0
- package/assets/skills/converted/mcp-builder/composable/mini/08-security.md +35 -0
- package/assets/skills/converted/mcp-builder/composable/mini/09-error-handling.md +32 -0
- package/assets/skills/converted/mcp-builder/composable/mini/10-testing-and-documentation.md +21 -0
- package/assets/skills/converted/mcp-builder/composable/mini/11-python-implementation.md +432 -0
- package/assets/skills/converted/mcp-builder/composable/mini/12-python-advanced-and-checklist.md +233 -0
- package/assets/skills/converted/mcp-builder/composable/mini/13-node-implementation.md +717 -0
- package/assets/skills/converted/mcp-builder/composable/mini/14-node-advanced-and-checklist.md +200 -0
- package/assets/skills/converted/mcp-builder/composable/mini/15-evaluation-design.md +200 -0
- package/assets/skills/converted/mcp-builder/composable/mini/16-evaluation-running.md +198 -0
- package/assets/skills/converted/mcp-builder/composable/presets/node-server.md +1381 -0
- package/assets/skills/converted/mcp-builder/composable/presets/python-server.md +1129 -0
- package/assets/skills/converted/pdf/composable/BUNDLE.md +1284 -0
- package/assets/skills/converted/pdf/composable/INDEX.md +14 -0
- package/assets/skills/converted/pdf/composable/VERSION +1 -0
- package/assets/skills/converted/pdf/composable/mini/00-core.md +46 -0
- package/assets/skills/converted/pdf/composable/mini/01-creation.md +176 -0
- package/assets/skills/converted/pdf/composable/mini/02-extraction.md +178 -0
- package/assets/skills/converted/pdf/composable/mini/03-merge-split-manipulate.md +240 -0
- package/assets/skills/converted/pdf/composable/mini/04-images-ocr.md +168 -0
- package/assets/skills/converted/pdf/composable/mini/05-encryption.md +51 -0
- package/assets/skills/converted/pdf/composable/mini/06-forms.md +300 -0
- package/assets/skills/converted/pdf/composable/mini/07-libraries-reference.md +89 -0
- package/assets/skills/converted/pptx/composable/BUNDLE.md +911 -0
- package/assets/skills/converted/pptx/composable/INDEX.md +12 -0
- package/assets/skills/converted/pptx/composable/VERSION +1 -0
- package/assets/skills/converted/pptx/composable/mini/00-core.md +37 -0
- package/assets/skills/converted/pptx/composable/mini/01-reading.md +37 -0
- package/assets/skills/converted/pptx/composable/mini/02-creating-from-scratch.md +422 -0
- package/assets/skills/converted/pptx/composable/mini/03-editing-templates.md +207 -0
- package/assets/skills/converted/pptx/composable/mini/04-design.md +89 -0
- package/assets/skills/converted/pptx/composable/mini/05-qa-and-rendering.md +91 -0
- package/assets/skills/converted/pptx/composable/presets/creating.md +659 -0
- package/assets/skills/converted/pptx/composable/presets/editing.md +485 -0
- package/assets/skills/converted/skill-creator/composable/BUNDLE.md +1681 -0
- package/assets/skills/converted/skill-creator/composable/INDEX.md +21 -0
- package/assets/skills/converted/skill-creator/composable/VERSION +1 -0
- package/assets/skills/converted/skill-creator/composable/mini/00-core.md +59 -0
- package/assets/skills/converted/skill-creator/composable/mini/01-creating-a-skill.md +27 -0
- package/assets/skills/converted/skill-creator/composable/mini/02-skill-writing-guide.md +71 -0
- package/assets/skills/converted/skill-creator/composable/mini/03-test-cases.md +21 -0
- package/assets/skills/converted/skill-creator/composable/mini/04-running-and-evaluating.md +128 -0
- package/assets/skills/converted/skill-creator/composable/mini/05-improving-the-skill.md +30 -0
- package/assets/skills/converted/skill-creator/composable/mini/06-blind-comparison.md +5 -0
- package/assets/skills/converted/skill-creator/composable/mini/07-description-optimization.md +74 -0
- package/assets/skills/converted/skill-creator/composable/mini/08-packaging.md +11 -0
- package/assets/skills/converted/skill-creator/composable/mini/09-environment-specific.md +38 -0
- package/assets/skills/converted/skill-creator/composable/mini/10-scripts-and-references.md +34 -0
- package/assets/skills/converted/skill-creator/composable/mini/11-json-schemas.md +414 -0
- package/assets/skills/converted/skill-creator/composable/mini/12-agent-grader.md +225 -0
- package/assets/skills/converted/skill-creator/composable/mini/13-agent-comparator.md +204 -0
- package/assets/skills/converted/skill-creator/composable/mini/14-agent-analyzer.md +276 -0
- package/assets/skills/converted/skill-creator/composable/presets/authoring.md +198 -0
- package/assets/skills/converted/skill-creator/composable/presets/evaluating.md +1334 -0
- package/assets/skills/converted/skill-creator/composable/presets/optimizing.md +160 -0
- package/assets/skills/converted/skill-creator/composable/presets.json +5 -0
- package/assets/skills/meta/ccs-skill-creator/composable/BUNDLE.md +465 -0
- package/assets/skills/meta/ccs-skill-creator/composable/INDEX.md +8 -0
- package/assets/skills/meta/ccs-skill-creator/composable/VERSION +1 -0
- package/assets/skills/meta/ccs-skill-creator/composable/mini/00-core.md +46 -0
- package/assets/skills/meta/ccs-skill-creator/composable/mini/01-create-new-skill.md +167 -0
- package/assets/skills/meta/ccs-skill-creator/composable/mini/02-convert-existing-skill.md +120 -0
- package/assets/skills/meta/ccs-skill-creator/composable/mini/03-review-and-maintain.md +112 -0
- package/assets/skills/sources/anthropic/PROVENANCE.md +3 -0
- package/assets/skills/sources/anthropic/claude-api/LICENSE.txt +202 -0
- package/assets/skills/sources/anthropic/docx/LICENSE.txt +30 -0
- package/assets/skills/sources/anthropic/internal-comms/LICENSE.txt +202 -0
- package/assets/skills/sources/anthropic/mcp-builder/LICENSE.txt +202 -0
- package/assets/skills/sources/anthropic/pdf/LICENSE.txt +30 -0
- package/assets/skills/sources/anthropic/pptx/LICENSE.txt +30 -0
- package/assets/skills/sources/anthropic/skill-creator/LICENSE.txt +202 -0
- package/assets/skills/sources/financial-analyst/PROVENANCE.md +1 -0
- package/assets/tools/hive.py +728 -0
- package/dist/cli.js +7494 -0
- package/package.json +40 -0
|
@@ -0,0 +1,358 @@
|
|
|
1
|
+
# Managed Agents — TypeScript
|
|
2
|
+
|
|
3
|
+
> **Bindings not shown here:** This README covers the most common managed-agents flows for TypeScript. If you need a class, method, namespace, field, or behavior that isn't shown, WebFetch the TypeScript SDK repo **or the relevant docs page** from `shared/live-sources.md` rather than guess. Do not extrapolate from cURL shapes or another language's SDK.
|
|
4
|
+
|
|
5
|
+
> **Agents are persistent — create once, reference by ID.** Store the agent ID returned by `agents.create` and pass it to every subsequent `sessions.create`; do not call `agents.create` in the request path. The Anthropic CLI is one convenient way to create agents and environments from version-controlled YAML — its URL is in `shared/live-sources.md`. The examples below show in-code creation for completeness; in production the create call belongs in setup, not in the request path.
|
|
6
|
+
|
|
7
|
+
## Installation
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
npm install @anthropic-ai/sdk
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
## Client Initialization
|
|
14
|
+
|
|
15
|
+
```typescript
|
|
16
|
+
import Anthropic from "@anthropic-ai/sdk";
|
|
17
|
+
|
|
18
|
+
// Default — resolves credentials from the environment:
|
|
19
|
+
// ANTHROPIC_API_KEY, or ANTHROPIC_AUTH_TOKEN, or an `ant auth login` profile.
|
|
20
|
+
// Prefer this for local dev; don't hardcode a key.
|
|
21
|
+
const client = new Anthropic();
|
|
22
|
+
|
|
23
|
+
// Explicit API key (only when you must inject a specific key)
|
|
24
|
+
const client = new Anthropic({ apiKey: "your-api-key" });
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
---
|
|
28
|
+
|
|
29
|
+
## Create an Environment
|
|
30
|
+
|
|
31
|
+
```typescript
|
|
32
|
+
const environment = await client.beta.environments.create(
|
|
33
|
+
{
|
|
34
|
+
name: "my-dev-env",
|
|
35
|
+
config: {
|
|
36
|
+
type: "cloud",
|
|
37
|
+
networking: { type: "unrestricted" },
|
|
38
|
+
},
|
|
39
|
+
},
|
|
40
|
+
);
|
|
41
|
+
console.log(environment.id); // env_...
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
---
|
|
45
|
+
|
|
46
|
+
## Create an Agent (required first step)
|
|
47
|
+
|
|
48
|
+
> ⚠️ **There is no inline agent config.** `model`/`system`/`tools` live on the agent object, not the session. Always start with `agents.create()` — the session only takes `agent: { type: "agent", id: agent.id }`.
|
|
49
|
+
|
|
50
|
+
### Minimal
|
|
51
|
+
|
|
52
|
+
```typescript
|
|
53
|
+
// 1. Create the agent (reusable, versioned)
|
|
54
|
+
const agent = await client.beta.agents.create(
|
|
55
|
+
{
|
|
56
|
+
name: "Coding Assistant",
|
|
57
|
+
model: "claude-opus-4-8",
|
|
58
|
+
tools: [{ type: "agent_toolset_20260401", default_config: { enabled: true } }],
|
|
59
|
+
},
|
|
60
|
+
);
|
|
61
|
+
|
|
62
|
+
// 2. Start a session
|
|
63
|
+
const session = await client.beta.sessions.create(
|
|
64
|
+
{
|
|
65
|
+
agent: { type: "agent", id: agent.id, version: agent.version },
|
|
66
|
+
environment_id: environment.id,
|
|
67
|
+
},
|
|
68
|
+
);
|
|
69
|
+
console.log(session.id, session.status);
|
|
70
|
+
console.log(`Trace: https://platform.claude.com/workspaces/default/sessions/${session.id}`);
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
### With system prompt and custom tools
|
|
74
|
+
|
|
75
|
+
```typescript
|
|
76
|
+
const agent = await client.beta.agents.create(
|
|
77
|
+
{
|
|
78
|
+
name: "Code Reviewer",
|
|
79
|
+
model: "claude-opus-4-8",
|
|
80
|
+
system: "You are a senior code reviewer.",
|
|
81
|
+
tools: [
|
|
82
|
+
{ type: "agent_toolset_20260401", default_config: { enabled: true } },
|
|
83
|
+
{
|
|
84
|
+
type: "custom",
|
|
85
|
+
name: "run_tests",
|
|
86
|
+
description: "Run the test suite",
|
|
87
|
+
input_schema: {
|
|
88
|
+
type: "object",
|
|
89
|
+
properties: {
|
|
90
|
+
test_path: { type: "string", description: "Path to test file" },
|
|
91
|
+
},
|
|
92
|
+
required: ["test_path"],
|
|
93
|
+
},
|
|
94
|
+
},
|
|
95
|
+
],
|
|
96
|
+
},
|
|
97
|
+
);
|
|
98
|
+
|
|
99
|
+
const session = await client.beta.sessions.create(
|
|
100
|
+
{
|
|
101
|
+
agent: { type: "agent", id: agent.id, version: agent.version },
|
|
102
|
+
environment_id: environment.id,
|
|
103
|
+
title: "Code review session",
|
|
104
|
+
resources: [
|
|
105
|
+
{
|
|
106
|
+
type: "github_repository",
|
|
107
|
+
url: "https://github.com/owner/repo",
|
|
108
|
+
mount_path: "/workspace/repo",
|
|
109
|
+
authorization_token: process.env.GITHUB_TOKEN,
|
|
110
|
+
branch: "main",
|
|
111
|
+
},
|
|
112
|
+
],
|
|
113
|
+
},
|
|
114
|
+
);
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
---
|
|
118
|
+
|
|
119
|
+
## Send a User Message
|
|
120
|
+
|
|
121
|
+
```typescript
|
|
122
|
+
await client.beta.sessions.events.send(
|
|
123
|
+
session.id,
|
|
124
|
+
{
|
|
125
|
+
events: [
|
|
126
|
+
{
|
|
127
|
+
type: "user.message",
|
|
128
|
+
content: [{ type: "text", text: "Review the auth module" }],
|
|
129
|
+
},
|
|
130
|
+
],
|
|
131
|
+
},
|
|
132
|
+
);
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
> 💡 **Stream-first:** Open the stream *before* (or concurrently with) sending the message. The stream only delivers events that occur after it opens — stream-after-send means early events arrive buffered in one batch. See [Steering Patterns](../../shared/managed-agents-events.md#steering-patterns).
|
|
136
|
+
|
|
137
|
+
---
|
|
138
|
+
|
|
139
|
+
## Stream Events (SSE)
|
|
140
|
+
|
|
141
|
+
```typescript
|
|
142
|
+
// Stream-first: open stream and send concurrently
|
|
143
|
+
const [events] = await Promise.all([
|
|
144
|
+
collectStream(session.id),
|
|
145
|
+
client.beta.sessions.events.send(
|
|
146
|
+
session.id,
|
|
147
|
+
{ events: [{ type: "user.message", content: [{ type: "text", text: "..." }] }] },
|
|
148
|
+
),
|
|
149
|
+
]);
|
|
150
|
+
|
|
151
|
+
// Standalone stream iteration:
|
|
152
|
+
const stream = await client.beta.sessions.events.stream(
|
|
153
|
+
session.id,
|
|
154
|
+
);
|
|
155
|
+
|
|
156
|
+
for await (const event of stream) {
|
|
157
|
+
switch (event.type) {
|
|
158
|
+
case "agent.message":
|
|
159
|
+
for (const block of event.content) {
|
|
160
|
+
if (block.type === "text") {
|
|
161
|
+
process.stdout.write(block.text);
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
break;
|
|
165
|
+
case "agent.custom_tool_use":
|
|
166
|
+
// Custom tool invocation — session is now idle
|
|
167
|
+
console.log(`\nCustom tool call: ${event.name}`);
|
|
168
|
+
console.log(`Input: ${JSON.stringify(event.input)}`);
|
|
169
|
+
break;
|
|
170
|
+
case "session.status_idle":
|
|
171
|
+
console.log("\n--- Agent idle ---");
|
|
172
|
+
break;
|
|
173
|
+
case "session.status_terminated":
|
|
174
|
+
console.log("\n--- Session terminated ---");
|
|
175
|
+
break;
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
---
|
|
181
|
+
|
|
182
|
+
## Provide Custom Tool Result
|
|
183
|
+
|
|
184
|
+
```typescript
|
|
185
|
+
await client.beta.sessions.events.send(
|
|
186
|
+
session.id,
|
|
187
|
+
{
|
|
188
|
+
events: [
|
|
189
|
+
{
|
|
190
|
+
type: "user.custom_tool_result",
|
|
191
|
+
custom_tool_use_id: "sevt_abc123",
|
|
192
|
+
content: [{ type: "text", text: "All 42 tests passed." }],
|
|
193
|
+
},
|
|
194
|
+
],
|
|
195
|
+
},
|
|
196
|
+
);
|
|
197
|
+
```
|
|
198
|
+
|
|
199
|
+
---
|
|
200
|
+
|
|
201
|
+
## Poll Events
|
|
202
|
+
|
|
203
|
+
```typescript
|
|
204
|
+
const events = await client.beta.sessions.events.list(
|
|
205
|
+
session.id,
|
|
206
|
+
);
|
|
207
|
+
for (const event of events.data) {
|
|
208
|
+
console.log(`${event.type}: ${event.id}`);
|
|
209
|
+
}
|
|
210
|
+
```
|
|
211
|
+
|
|
212
|
+
---
|
|
213
|
+
|
|
214
|
+
## Full Streaming Loop with Custom Tools
|
|
215
|
+
|
|
216
|
+
```typescript
|
|
217
|
+
function runCustomTool(toolName: string, toolInput: unknown): string {
|
|
218
|
+
if (toolName === "run_tests") {
|
|
219
|
+
// Your tool implementation here
|
|
220
|
+
return "All tests passed.";
|
|
221
|
+
}
|
|
222
|
+
return `Unknown tool: ${toolName}`;
|
|
223
|
+
}
|
|
224
|
+
|
|
225
|
+
async function runSession(client: Anthropic, sessionId: string) {
|
|
226
|
+
while (true) {
|
|
227
|
+
const stream = await client.beta.sessions.events.stream(
|
|
228
|
+
sessionId,
|
|
229
|
+
);
|
|
230
|
+
|
|
231
|
+
const toolCalls: Anthropic.Beta.Sessions.BetaManagedAgentsAgentCustomToolUseEvent[] = [];
|
|
232
|
+
|
|
233
|
+
for await (const event of stream) {
|
|
234
|
+
if (event.type === "agent.message") {
|
|
235
|
+
for (const block of event.content) {
|
|
236
|
+
if (block.type === "text") {
|
|
237
|
+
process.stdout.write(block.text);
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
} else if (event.type === "agent.custom_tool_use") {
|
|
241
|
+
toolCalls.push(event);
|
|
242
|
+
} else if (event.type === "session.status_idle") {
|
|
243
|
+
break;
|
|
244
|
+
} else if (event.type === "session.status_terminated") {
|
|
245
|
+
return;
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
|
|
249
|
+
if (toolCalls.length === 0) break;
|
|
250
|
+
|
|
251
|
+
// Process custom tool calls
|
|
252
|
+
const results = toolCalls.map((call) => ({
|
|
253
|
+
type: "user.custom_tool_result" as const,
|
|
254
|
+
custom_tool_use_id: call.id,
|
|
255
|
+
content: [{ type: "text" as const, text: runCustomTool(call.name, call.input) }],
|
|
256
|
+
}));
|
|
257
|
+
|
|
258
|
+
await client.beta.sessions.events.send(
|
|
259
|
+
sessionId,
|
|
260
|
+
{ events: results },
|
|
261
|
+
);
|
|
262
|
+
}
|
|
263
|
+
}
|
|
264
|
+
```
|
|
265
|
+
|
|
266
|
+
---
|
|
267
|
+
|
|
268
|
+
## Upload a File
|
|
269
|
+
|
|
270
|
+
```typescript
|
|
271
|
+
import fs from "fs";
|
|
272
|
+
|
|
273
|
+
const file = await client.beta.files.upload({
|
|
274
|
+
file: fs.createReadStream("data.csv"),
|
|
275
|
+
});
|
|
276
|
+
|
|
277
|
+
// Use in a session
|
|
278
|
+
const session = await client.beta.sessions.create(
|
|
279
|
+
{
|
|
280
|
+
agent: { type: "agent", id: agent.id, version: agent.version },
|
|
281
|
+
environment_id: environment.id,
|
|
282
|
+
resources: [{ type: "file", file_id: file.id, mount_path: "/workspace/data.csv" }],
|
|
283
|
+
},
|
|
284
|
+
);
|
|
285
|
+
```
|
|
286
|
+
|
|
287
|
+
---
|
|
288
|
+
|
|
289
|
+
## List and Download Session Files
|
|
290
|
+
|
|
291
|
+
List files the agent wrote to `/mnt/session/outputs/` during a session, then download them.
|
|
292
|
+
|
|
293
|
+
```typescript
|
|
294
|
+
import fs from "fs";
|
|
295
|
+
|
|
296
|
+
// List files associated with a session
|
|
297
|
+
const files = await client.beta.files.list({
|
|
298
|
+
scope_id: session.id,
|
|
299
|
+
betas: ["managed-agents-2026-04-01"],
|
|
300
|
+
});
|
|
301
|
+
for (const f of files.data) {
|
|
302
|
+
console.log(f.filename, f.size_bytes);
|
|
303
|
+
|
|
304
|
+
// Download and save to disk
|
|
305
|
+
const resp = await client.beta.files.download(f.id);
|
|
306
|
+
const buffer = Buffer.from(await resp.arrayBuffer());
|
|
307
|
+
fs.writeFileSync(f.filename, buffer);
|
|
308
|
+
}
|
|
309
|
+
```
|
|
310
|
+
|
|
311
|
+
> 💡 There's a brief indexing lag (~1–3s) between `session.status_idle` and output files appearing in `files.list`. Retry once or twice if the list is empty.
|
|
312
|
+
|
|
313
|
+
---
|
|
314
|
+
|
|
315
|
+
## Session Management
|
|
316
|
+
|
|
317
|
+
```typescript
|
|
318
|
+
// Get session details
|
|
319
|
+
const session = await client.beta.sessions.retrieve("sesn_011CZxAbc123Def456");
|
|
320
|
+
console.log(session.status, session.usage);
|
|
321
|
+
|
|
322
|
+
// List sessions
|
|
323
|
+
const sessions = await client.beta.sessions.list();
|
|
324
|
+
|
|
325
|
+
// Delete a session
|
|
326
|
+
await client.beta.sessions.delete("sesn_011CZxAbc123Def456");
|
|
327
|
+
|
|
328
|
+
// Archive a session
|
|
329
|
+
await client.beta.sessions.archive("sesn_011CZxAbc123Def456");
|
|
330
|
+
```
|
|
331
|
+
|
|
332
|
+
---
|
|
333
|
+
|
|
334
|
+
## MCP Server Integration
|
|
335
|
+
|
|
336
|
+
```typescript
|
|
337
|
+
// Agent declares MCP server (no auth here — auth goes in a vault)
|
|
338
|
+
const agent = await client.beta.agents.create({
|
|
339
|
+
name: "MCP Agent",
|
|
340
|
+
model: "claude-opus-4-8",
|
|
341
|
+
mcp_servers: [
|
|
342
|
+
{ type: "url", name: "my-tools", url: "https://my-mcp-server.example.com/sse" },
|
|
343
|
+
],
|
|
344
|
+
tools: [
|
|
345
|
+
{ type: "agent_toolset_20260401", default_config: { enabled: true } },
|
|
346
|
+
{ type: "mcp_toolset", mcp_server_name: "my-tools" },
|
|
347
|
+
],
|
|
348
|
+
});
|
|
349
|
+
|
|
350
|
+
// Session attaches vault(s) containing credentials for those MCP server URLs
|
|
351
|
+
const session = await client.beta.sessions.create({
|
|
352
|
+
agent: agent.id,
|
|
353
|
+
environment_id: environment.id,
|
|
354
|
+
vault_ids: [vault.id],
|
|
355
|
+
});
|
|
356
|
+
```
|
|
357
|
+
|
|
358
|
+
See `shared/managed-agents-tools.md` §Vaults for creating vaults and adding credentials.
|