claudecode-omc 5.6.7 → 5.9.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/.local/skills/THIRD_PARTY_LICENSES/AvdLee-SwiftUI-Agent-Skill.LICENSE +21 -0
- package/.local/skills/THIRD_PARTY_LICENSES/Dimillian-Skills.LICENSE +21 -0
- package/.local/skills/THIRD_PARTY_LICENSES/README.md +36 -0
- package/.local/skills/THIRD_PARTY_LICENSES/twostraws-swiftui-agent-skill.LICENSE +21 -0
- package/.local/skills/ios-debugger-agent/SKILL.md +51 -0
- package/.local/skills/ios-debugger-agent/agents/openai.yaml +4 -0
- package/.local/skills/prompt-optimizer/SKILL.md +262 -19
- package/.local/skills/swift-concurrency-expert/SKILL.md +105 -0
- package/.local/skills/swift-concurrency-expert/agents/openai.yaml +4 -0
- package/.local/skills/swift-concurrency-expert/references/approachable-concurrency.md +63 -0
- package/.local/skills/swift-concurrency-expert/references/swift-6-2-concurrency.md +272 -0
- package/.local/skills/swift-concurrency-expert/references/swiftui-concurrency-tour-wwdc.md +33 -0
- package/.local/skills/swiftui-expert-skill/SKILL.md +162 -0
- package/.local/skills/swiftui-expert-skill/references/accessibility-patterns.md +215 -0
- package/.local/skills/swiftui-expert-skill/references/animation-advanced.md +403 -0
- package/.local/skills/swiftui-expert-skill/references/animation-basics.md +284 -0
- package/.local/skills/swiftui-expert-skill/references/animation-transitions.md +326 -0
- package/.local/skills/swiftui-expert-skill/references/charts-accessibility.md +135 -0
- package/.local/skills/swiftui-expert-skill/references/charts.md +602 -0
- package/.local/skills/swiftui-expert-skill/references/focus-patterns.md +299 -0
- package/.local/skills/swiftui-expert-skill/references/image-optimization.md +203 -0
- package/.local/skills/swiftui-expert-skill/references/latest-apis.md +488 -0
- package/.local/skills/swiftui-expert-skill/references/layout-best-practices.md +266 -0
- package/.local/skills/swiftui-expert-skill/references/liquid-glass.md +423 -0
- package/.local/skills/swiftui-expert-skill/references/list-patterns.md +446 -0
- package/.local/skills/swiftui-expert-skill/references/macos-scenes.md +318 -0
- package/.local/skills/swiftui-expert-skill/references/macos-views.md +357 -0
- package/.local/skills/swiftui-expert-skill/references/macos-window-styling.md +303 -0
- package/.local/skills/swiftui-expert-skill/references/performance-patterns.md +403 -0
- package/.local/skills/swiftui-expert-skill/references/scroll-patterns.md +293 -0
- package/.local/skills/swiftui-expert-skill/references/sheet-navigation-patterns.md +363 -0
- package/.local/skills/swiftui-expert-skill/references/state-management.md +388 -0
- package/.local/skills/swiftui-expert-skill/references/text-patterns.md +32 -0
- package/.local/skills/swiftui-expert-skill/references/trace-analysis.md +295 -0
- package/.local/skills/swiftui-expert-skill/references/trace-recording.md +134 -0
- package/.local/skills/swiftui-expert-skill/references/view-structure.md +780 -0
- package/.local/skills/swiftui-expert-skill/scripts/__pycache__/analyze_trace.cpython-313.pyc +0 -0
- package/.local/skills/swiftui-expert-skill/scripts/__pycache__/record_trace.cpython-313.pyc +0 -0
- package/.local/skills/swiftui-expert-skill/scripts/analyze_trace.py +301 -0
- package/.local/skills/swiftui-expert-skill/scripts/instruments_parser/__init__.py +1 -0
- package/.local/skills/swiftui-expert-skill/scripts/instruments_parser/__pycache__/__init__.cpython-313.pyc +0 -0
- package/.local/skills/swiftui-expert-skill/scripts/instruments_parser/__pycache__/causes.cpython-313.pyc +0 -0
- package/.local/skills/swiftui-expert-skill/scripts/instruments_parser/__pycache__/correlate.cpython-313.pyc +0 -0
- package/.local/skills/swiftui-expert-skill/scripts/instruments_parser/__pycache__/events.cpython-313.pyc +0 -0
- package/.local/skills/swiftui-expert-skill/scripts/instruments_parser/__pycache__/hangs.cpython-313.pyc +0 -0
- package/.local/skills/swiftui-expert-skill/scripts/instruments_parser/__pycache__/hitches.cpython-313.pyc +0 -0
- package/.local/skills/swiftui-expert-skill/scripts/instruments_parser/__pycache__/summary.cpython-313.pyc +0 -0
- package/.local/skills/swiftui-expert-skill/scripts/instruments_parser/__pycache__/swiftui.cpython-313.pyc +0 -0
- package/.local/skills/swiftui-expert-skill/scripts/instruments_parser/__pycache__/time_profiler.cpython-313.pyc +0 -0
- package/.local/skills/swiftui-expert-skill/scripts/instruments_parser/__pycache__/xctrace.cpython-313.pyc +0 -0
- package/.local/skills/swiftui-expert-skill/scripts/instruments_parser/__pycache__/xml_utils.cpython-313.pyc +0 -0
- package/.local/skills/swiftui-expert-skill/scripts/instruments_parser/causes.py +187 -0
- package/.local/skills/swiftui-expert-skill/scripts/instruments_parser/correlate.py +179 -0
- package/.local/skills/swiftui-expert-skill/scripts/instruments_parser/events.py +291 -0
- package/.local/skills/swiftui-expert-skill/scripts/instruments_parser/hangs.py +108 -0
- package/.local/skills/swiftui-expert-skill/scripts/instruments_parser/hitches.py +145 -0
- package/.local/skills/swiftui-expert-skill/scripts/instruments_parser/summary.py +243 -0
- package/.local/skills/swiftui-expert-skill/scripts/instruments_parser/swiftui.py +195 -0
- package/.local/skills/swiftui-expert-skill/scripts/instruments_parser/time_profiler.py +135 -0
- package/.local/skills/swiftui-expert-skill/scripts/instruments_parser/xctrace.py +117 -0
- package/.local/skills/swiftui-expert-skill/scripts/instruments_parser/xml_utils.py +224 -0
- package/.local/skills/swiftui-expert-skill/scripts/record_trace.py +252 -0
- package/.local/skills/swiftui-liquid-glass/SKILL.md +90 -0
- package/.local/skills/swiftui-liquid-glass/agents/openai.yaml +4 -0
- package/.local/skills/swiftui-liquid-glass/references/liquid-glass.md +280 -0
- package/.local/skills/swiftui-performance-audit/SKILL.md +106 -0
- package/.local/skills/swiftui-performance-audit/agents/openai.yaml +4 -0
- package/.local/skills/swiftui-performance-audit/references/code-smells.md +150 -0
- package/.local/skills/swiftui-performance-audit/references/demystify-swiftui-performance-wwdc23.md +46 -0
- package/.local/skills/swiftui-performance-audit/references/optimizing-swiftui-performance-instruments.md +29 -0
- package/.local/skills/swiftui-performance-audit/references/profiling-intake.md +44 -0
- package/.local/skills/swiftui-performance-audit/references/report-template.md +47 -0
- package/.local/skills/swiftui-performance-audit/references/understanding-hangs-in-your-app.md +33 -0
- package/.local/skills/swiftui-performance-audit/references/understanding-improving-swiftui-performance.md +52 -0
- package/.local/skills/swiftui-pro/SKILL.md +108 -0
- package/.local/skills/swiftui-pro/agents/openai.yaml +10 -0
- package/.local/skills/swiftui-pro/assets/swiftui-pro-icon.png +0 -0
- package/.local/skills/swiftui-pro/assets/swiftui-pro-icon.svg +29 -0
- package/.local/skills/swiftui-pro/references/accessibility.md +13 -0
- package/.local/skills/swiftui-pro/references/api.md +39 -0
- package/.local/skills/swiftui-pro/references/data.md +43 -0
- package/.local/skills/swiftui-pro/references/design.md +32 -0
- package/.local/skills/swiftui-pro/references/hygiene.md +9 -0
- package/.local/skills/swiftui-pro/references/navigation.md +14 -0
- package/.local/skills/swiftui-pro/references/performance.md +46 -0
- package/.local/skills/swiftui-pro/references/swift.md +56 -0
- package/.local/skills/swiftui-pro/references/views.md +36 -0
- package/.local/skills/swiftui-ui-patterns/SKILL.md +95 -0
- package/.local/skills/swiftui-ui-patterns/agents/openai.yaml +4 -0
- package/.local/skills/swiftui-ui-patterns/references/app-wiring.md +201 -0
- package/.local/skills/swiftui-ui-patterns/references/async-state.md +96 -0
- package/.local/skills/swiftui-ui-patterns/references/components-index.md +50 -0
- package/.local/skills/swiftui-ui-patterns/references/controls.md +57 -0
- package/.local/skills/swiftui-ui-patterns/references/deeplinks.md +66 -0
- package/.local/skills/swiftui-ui-patterns/references/focus.md +90 -0
- package/.local/skills/swiftui-ui-patterns/references/form.md +97 -0
- package/.local/skills/swiftui-ui-patterns/references/grids.md +71 -0
- package/.local/skills/swiftui-ui-patterns/references/haptics.md +71 -0
- package/.local/skills/swiftui-ui-patterns/references/input-toolbar.md +51 -0
- package/.local/skills/swiftui-ui-patterns/references/lightweight-clients.md +93 -0
- package/.local/skills/swiftui-ui-patterns/references/list.md +86 -0
- package/.local/skills/swiftui-ui-patterns/references/loading-placeholders.md +38 -0
- package/.local/skills/swiftui-ui-patterns/references/macos-settings.md +71 -0
- package/.local/skills/swiftui-ui-patterns/references/matched-transitions.md +59 -0
- package/.local/skills/swiftui-ui-patterns/references/media.md +73 -0
- package/.local/skills/swiftui-ui-patterns/references/menu-bar.md +101 -0
- package/.local/skills/swiftui-ui-patterns/references/navigationstack.md +159 -0
- package/.local/skills/swiftui-ui-patterns/references/overlay.md +45 -0
- package/.local/skills/swiftui-ui-patterns/references/performance.md +62 -0
- package/.local/skills/swiftui-ui-patterns/references/previews.md +48 -0
- package/.local/skills/swiftui-ui-patterns/references/scroll-reveal.md +133 -0
- package/.local/skills/swiftui-ui-patterns/references/scrollview.md +87 -0
- package/.local/skills/swiftui-ui-patterns/references/searchable.md +71 -0
- package/.local/skills/swiftui-ui-patterns/references/sheets.md +155 -0
- package/.local/skills/swiftui-ui-patterns/references/split-views.md +72 -0
- package/.local/skills/swiftui-ui-patterns/references/tabview.md +114 -0
- package/.local/skills/swiftui-ui-patterns/references/theming.md +71 -0
- package/.local/skills/swiftui-ui-patterns/references/title-menus.md +93 -0
- package/.local/skills/swiftui-ui-patterns/references/top-bar.md +49 -0
- package/.local/skills/swiftui-view-refactor/SKILL.md +202 -0
- package/.local/skills/swiftui-view-refactor/agents/openai.yaml +4 -0
- package/.local/skills/swiftui-view-refactor/references/mv-patterns.md +161 -0
- package/.omc-curation/ecc-selection.json +80 -0
- package/.omc-curation/governance.json +113 -0
- package/.omc-curation/sources.lock.json +25 -0
- package/README.md +69 -4
- package/bundled/manifest.json +5 -5
- package/bundled/upstream/anthropic-skills/.omc-source/bundle.json +18 -0
- package/bundled/upstream/anthropic-skills/.omc-source/provenance.json +399 -0
- package/bundled/upstream/anthropic-skills/skills/claude-api/SKILL.md +18 -17
- package/bundled/upstream/anthropic-skills/skills/claude-api/curl/examples.md +9 -9
- package/bundled/upstream/anthropic-skills/skills/claude-api/curl/managed-agents.md +4 -4
- package/bundled/upstream/anthropic-skills/skills/claude-api/go/managed-agents/README.md +2 -2
- package/bundled/upstream/anthropic-skills/skills/claude-api/java/claude-api.md +2 -2
- package/bundled/upstream/anthropic-skills/skills/claude-api/java/managed-agents/README.md +2 -2
- package/bundled/upstream/anthropic-skills/skills/claude-api/php/claude-api.md +10 -10
- package/bundled/upstream/anthropic-skills/skills/claude-api/php/managed-agents/README.md +2 -2
- package/bundled/upstream/anthropic-skills/skills/claude-api/python/claude-api/README.md +16 -16
- package/bundled/upstream/anthropic-skills/skills/claude-api/python/claude-api/batches.md +3 -3
- package/bundled/upstream/anthropic-skills/skills/claude-api/python/claude-api/files-api.md +3 -3
- package/bundled/upstream/anthropic-skills/skills/claude-api/python/claude-api/streaming.md +7 -7
- package/bundled/upstream/anthropic-skills/skills/claude-api/python/claude-api/tool-use.md +19 -19
- package/bundled/upstream/anthropic-skills/skills/claude-api/python/managed-agents/README.md +3 -3
- package/bundled/upstream/anthropic-skills/skills/claude-api/ruby/claude-api.md +4 -4
- package/bundled/upstream/anthropic-skills/skills/claude-api/ruby/managed-agents/README.md +2 -2
- package/bundled/upstream/anthropic-skills/skills/claude-api/shared/error-codes.md +5 -5
- package/bundled/upstream/anthropic-skills/skills/claude-api/shared/live-sources.md +3 -1
- package/bundled/upstream/anthropic-skills/skills/claude-api/shared/managed-agents-api-reference.md +10 -4
- package/bundled/upstream/anthropic-skills/skills/claude-api/shared/managed-agents-core.md +19 -1
- package/bundled/upstream/anthropic-skills/skills/claude-api/shared/managed-agents-environments.md +6 -2
- package/bundled/upstream/anthropic-skills/skills/claude-api/shared/managed-agents-multiagent.md +1 -1
- package/bundled/upstream/anthropic-skills/skills/claude-api/shared/managed-agents-onboarding.md +3 -3
- package/bundled/upstream/anthropic-skills/skills/claude-api/shared/managed-agents-overview.md +3 -2
- package/bundled/upstream/anthropic-skills/skills/claude-api/shared/managed-agents-self-hosted-sandboxes.md +173 -0
- package/bundled/upstream/anthropic-skills/skills/claude-api/shared/managed-agents-tools.md +10 -4
- package/bundled/upstream/anthropic-skills/skills/claude-api/shared/model-migration.md +113 -13
- package/bundled/upstream/anthropic-skills/skills/claude-api/shared/models.md +14 -11
- package/bundled/upstream/anthropic-skills/skills/claude-api/shared/prompt-caching.md +2 -2
- package/bundled/upstream/anthropic-skills/skills/claude-api/shared/tool-use-concepts.md +4 -4
- package/bundled/upstream/anthropic-skills/skills/claude-api/typescript/claude-api/README.md +15 -15
- package/bundled/upstream/anthropic-skills/skills/claude-api/typescript/claude-api/batches.md +2 -2
- package/bundled/upstream/anthropic-skills/skills/claude-api/typescript/claude-api/files-api.md +1 -1
- package/bundled/upstream/anthropic-skills/skills/claude-api/typescript/claude-api/streaming.md +5 -5
- package/bundled/upstream/anthropic-skills/skills/claude-api/typescript/claude-api/tool-use.md +15 -15
- package/bundled/upstream/anthropic-skills/skills/claude-api/typescript/managed-agents/README.md +3 -3
- package/bundled/upstream/ecc/.omc-source/bundle.json +2 -1
- package/bundled/upstream/ecc/.omc-source/last-plan-apply.json +108 -24
- package/bundled/upstream/ecc/.omc-source/manifests/.claude-plugin/marketplace.json +3 -3
- package/bundled/upstream/ecc/.omc-source/provenance.json +563 -0
- package/bundled/upstream/ecc/agents/marketing-agent.md +159 -0
- package/bundled/upstream/ecc/agents/react-build-resolver.md +215 -0
- package/bundled/upstream/ecc/agents/react-reviewer.md +167 -0
- package/bundled/upstream/ecc/agents/typescript-reviewer.md +3 -0
- package/bundled/upstream/ecc/commands/harness-audit.md +17 -10
- package/bundled/upstream/ecc/commands/marketing-campaign.md +129 -0
- package/bundled/upstream/ecc/commands/react-build.md +187 -0
- package/bundled/upstream/ecc/commands/react-review.md +170 -0
- package/bundled/upstream/ecc/commands/react-test.md +265 -0
- package/bundled/upstream/ecc/skills/benchmark-optimization-loop/SKILL.md +69 -0
- package/bundled/upstream/ecc/skills/blender-motion-state-inspection/SKILL.md +164 -0
- package/bundled/upstream/ecc/skills/canary-watch/SKILL.md +9 -1
- package/bundled/upstream/ecc/skills/continuous-learning-v2/hooks/observe.sh +31 -9
- package/bundled/upstream/ecc/skills/continuous-learning-v2/scripts/detect-project.sh +38 -4
- package/bundled/upstream/ecc/skills/continuous-learning-v2/scripts/instinct-cli.py +319 -12
- package/bundled/upstream/ecc/skills/data-throughput-accelerator/SKILL.md +72 -0
- package/bundled/upstream/ecc/skills/dynamic-workflow-mode/SKILL.md +123 -0
- package/bundled/upstream/ecc/skills/frontend-a11y/SKILL.md +446 -0
- package/bundled/upstream/ecc/skills/ito-basket-compare/SKILL.md +63 -0
- package/bundled/upstream/ecc/skills/ito-data-atlas-agent/SKILL.md +63 -0
- package/bundled/upstream/ecc/skills/ito-market-intelligence/SKILL.md +60 -0
- package/bundled/upstream/ecc/skills/ito-trade-planner/SKILL.md +67 -0
- package/bundled/upstream/ecc/skills/latency-critical-systems/SKILL.md +73 -0
- package/bundled/upstream/ecc/skills/marketing-campaign/SKILL.md +113 -0
- package/bundled/upstream/ecc/skills/nextjs-turbopack/SKILL.md +13 -0
- package/bundled/upstream/ecc/skills/parallel-execution-optimizer/SKILL.md +72 -0
- package/bundled/upstream/ecc/skills/prediction-market-oracle-research/SKILL.md +63 -0
- package/bundled/upstream/ecc/skills/prediction-market-risk-review/SKILL.md +60 -0
- package/bundled/upstream/ecc/skills/react-patterns/SKILL.md +341 -0
- package/bundled/upstream/ecc/skills/react-performance/SKILL.md +574 -0
- package/bundled/upstream/ecc/skills/react-testing/SKILL.md +423 -0
- package/bundled/upstream/ecc/skills/recsys-pipeline-architect/SKILL.md +114 -0
- package/bundled/upstream/ecc/skills/recursive-decision-ledger/SKILL.md +79 -0
- package/bundled/upstream/ecc/skills/social-publisher/SKILL.md +115 -0
- package/bundled/upstream/ecc/skills/team-agent-orchestration/SKILL.md +110 -0
- package/bundled/upstream/ecc/skills/uncloud/SKILL.md +343 -0
- package/bundled/upstream/ecc/skills/windows-desktop-e2e/SKILL.md +99 -0
- package/bundled/upstream/oh-my-claudecode/.omc-source/bundle.json +2 -1
- package/bundled/upstream/oh-my-claudecode/.omc-source/provenance.json +116 -0
- package/bundled/upstream/oh-my-claudecode/skills/autopilot/SKILL.md +7 -0
- package/bundled/upstream/oh-my-claudecode/skills/cancel/SKILL.md +1 -0
- package/bundled/upstream/oh-my-claudecode/skills/deep-interview/SKILL.md +39 -5
- package/bundled/upstream/oh-my-claudecode/skills/hud/SKILL.md +1 -0
- package/bundled/upstream/oh-my-claudecode/skills/local-build-reminder/SKILL.md +78 -0
- package/bundled/upstream/oh-my-claudecode/skills/omc-doctor/SKILL.md +1 -1
- package/bundled/upstream/oh-my-claudecode/skills/omc-setup/SKILL.md +26 -10
- package/bundled/upstream/oh-my-claudecode/skills/omc-setup/phases/01-install-claude-md.md +3 -3
- package/bundled/upstream/oh-my-claudecode/skills/omc-setup/phases/02-configure.md +6 -4
- package/bundled/upstream/oh-my-claudecode/skills/omc-setup/phases/03-integrations.md +1 -1
- package/bundled/upstream/oh-my-claudecode/skills/omc-setup/phases/04-welcome.md +2 -2
- package/bundled/upstream/oh-my-claudecode/skills/omc-teams/SKILL.md +6 -6
- package/bundled/upstream/oh-my-claudecode/skills/plan/SKILL.md +44 -32
- package/bundled/upstream/oh-my-claudecode/skills/ralph/SKILL.md +45 -21
- package/bundled/upstream/oh-my-claudecode/skills/ralplan/SKILL.md +1 -1
- package/bundled/upstream/oh-my-claudecode/skills/self-improve/SKILL.md +7 -0
- package/bundled/upstream/oh-my-claudecode/skills/self-improve/scripts/resolve-paths.mjs +39 -15
- package/bundled/upstream/oh-my-claudecode/skills/team/SKILL.md +132 -90
- package/bundled/upstream/oh-my-claudecode/skills/ultragoal/SKILL.md +93 -0
- package/bundled/upstream/oh-my-claudecode/skills/ultraqa/SKILL.md +28 -13
- package/bundled/upstream/oh-my-claudecode/skills/ultrawork/SKILL.md +7 -0
- package/bundled/upstream/superpowers/.omc-source/bundle.json +2 -1
- package/bundled/upstream/superpowers/.omc-source/provenance.json +63 -0
- package/package.json +2 -1
- package/src/catalog/source-catalog.js +10 -4
- package/src/cli/index.js +4 -0
- package/src/cli/plan.js +14 -2
- package/src/cli/setup.js +52 -13
- package/src/cli/skill.js +1 -1
- package/src/cli/source.js +265 -14
- package/src/config/sources.js +67 -1
- package/src/merge/content-patch.js +84 -0
- package/templates/merge-config.json +1 -8
- package/bundled/upstream/ecc/skills/strategic-compact/suggest-compact.sh +0 -54
|
@@ -63,7 +63,7 @@ curl -X POST https://api.anthropic.com/v1/agents \
|
|
|
63
63
|
"${HEADERS[@]}" \
|
|
64
64
|
-d '{
|
|
65
65
|
"name": "Coding Assistant",
|
|
66
|
-
"model": "claude-opus-4-
|
|
66
|
+
"model": "claude-opus-4-8",
|
|
67
67
|
"tools": [{ "type": "agent_toolset_20260401" }]
|
|
68
68
|
}'
|
|
69
69
|
# → { "id": "agent_abc123", ... }
|
|
@@ -85,7 +85,7 @@ curl -X POST https://api.anthropic.com/v1/agents \
|
|
|
85
85
|
"${HEADERS[@]}" \
|
|
86
86
|
-d '{
|
|
87
87
|
"name": "Code Reviewer",
|
|
88
|
-
"model": "claude-opus-4-
|
|
88
|
+
"model": "claude-opus-4-8",
|
|
89
89
|
"system": "You are a senior code reviewer. Be thorough and constructive.",
|
|
90
90
|
"tools": [
|
|
91
91
|
{ "type": "agent_toolset_20260401" },
|
|
@@ -291,7 +291,7 @@ curl -X POST https://api.anthropic.com/v1/agents \
|
|
|
291
291
|
"${HEADERS[@]}" \
|
|
292
292
|
-d '{
|
|
293
293
|
"name": "MCP Agent",
|
|
294
|
-
"model": "claude-opus-4-
|
|
294
|
+
"model": "claude-opus-4-8",
|
|
295
295
|
"mcp_servers": [
|
|
296
296
|
{ "type": "url", "name": "my-tools", "url": "https://my-mcp-server.example.com/sse" }
|
|
297
297
|
],
|
|
@@ -322,7 +322,7 @@ curl -X POST https://api.anthropic.com/v1/agents \
|
|
|
322
322
|
"${HEADERS[@]}" \
|
|
323
323
|
-d '{
|
|
324
324
|
"name": "Restricted Agent",
|
|
325
|
-
"model": "claude-opus-4-
|
|
325
|
+
"model": "claude-opus-4-8",
|
|
326
326
|
"tools": [
|
|
327
327
|
{
|
|
328
328
|
"type": "agent_toolset_20260401",
|
|
@@ -63,7 +63,7 @@ fmt.Println(environment.ID) // env_...
|
|
|
63
63
|
agent, err := client.Beta.Agents.New(ctx, anthropic.BetaAgentNewParams{
|
|
64
64
|
Name: "Coding Assistant",
|
|
65
65
|
Model: anthropic.BetaManagedAgentsModelConfigParams{
|
|
66
|
-
ID: "claude-opus-4-
|
|
66
|
+
ID: "claude-opus-4-8",
|
|
67
67
|
Type: anthropic.BetaManagedAgentsModelConfigParamsTypeModelConfig,
|
|
68
68
|
},
|
|
69
69
|
System: anthropic.String("You are a helpful coding assistant."),
|
|
@@ -380,7 +380,7 @@ if err != nil {
|
|
|
380
380
|
agent, err := client.Beta.Agents.New(ctx, anthropic.BetaAgentNewParams{
|
|
381
381
|
Name: "GitHub Assistant",
|
|
382
382
|
Model: anthropic.BetaManagedAgentsModelConfigParams{
|
|
383
|
-
ID: "claude-opus-4-
|
|
383
|
+
ID: "claude-opus-4-8",
|
|
384
384
|
Type: anthropic.BetaManagedAgentsModelConfigParamsTypeModelConfig,
|
|
385
385
|
},
|
|
386
386
|
MCPServers: []anthropic.BetaManagedAgentsUrlmcpServerParams{{
|
|
@@ -136,7 +136,7 @@ static class GetWeather implements Supplier<String> {
|
|
|
136
136
|
|
|
137
137
|
BetaToolRunner toolRunner = client.beta().messages().toolRunner(
|
|
138
138
|
MessageCreateParams.builder()
|
|
139
|
-
.model("claude-opus-4-
|
|
139
|
+
.model("claude-opus-4-8")
|
|
140
140
|
.maxTokens(16000L)
|
|
141
141
|
.putAdditionalHeader("anthropic-beta", "structured-outputs-2025-11-13")
|
|
142
142
|
.addTool(GetWeather.class)
|
|
@@ -164,7 +164,7 @@ import com.anthropic.models.beta.messages.ToolRunnerCreateParams;
|
|
|
164
164
|
BetaMemoryToolHandler memoryHandler = new FileSystemMemoryToolHandler(sandboxRoot);
|
|
165
165
|
|
|
166
166
|
MessageCreateParams createParams = MessageCreateParams.builder()
|
|
167
|
-
.model("claude-opus-4-
|
|
167
|
+
.model("claude-opus-4-8")
|
|
168
168
|
.maxTokens(4096L)
|
|
169
169
|
.addTool(BetaMemoryTool20250818.builder().build())
|
|
170
170
|
.addUserMessage("Remember that my favorite color is blue")
|
|
@@ -57,7 +57,7 @@ import com.anthropic.models.beta.sessions.SessionCreateParams;
|
|
|
57
57
|
// 1. Create the agent (reusable, versioned)
|
|
58
58
|
var agent = client.beta().agents().create(AgentCreateParams.builder()
|
|
59
59
|
.name("Coding Assistant")
|
|
60
|
-
.model("claude-opus-4-
|
|
60
|
+
.model("claude-opus-4-8")
|
|
61
61
|
.system("You are a helpful coding assistant.")
|
|
62
62
|
.addTool(BetaManagedAgentsAgentToolset20260401Params.builder()
|
|
63
63
|
.type(BetaManagedAgentsAgentToolset20260401Params.Type.AGENT_TOOLSET_20260401)
|
|
@@ -295,7 +295,7 @@ import com.anthropic.models.beta.agents.BetaManagedAgentsUrlmcpServerParams;
|
|
|
295
295
|
// Agent declares MCP server (no auth here — auth goes in a vault)
|
|
296
296
|
var agent = client.beta().agents().create(AgentCreateParams.builder()
|
|
297
297
|
.name("GitHub Assistant")
|
|
298
|
-
.model("claude-opus-4-
|
|
298
|
+
.model("claude-opus-4-8")
|
|
299
299
|
.addMcpServer(BetaManagedAgentsUrlmcpServerParams.builder()
|
|
300
300
|
.type(BetaManagedAgentsUrlmcpServerParams.Type.URL)
|
|
301
301
|
.name("github")
|
|
@@ -56,7 +56,7 @@ $client = Foundry\Client::withCredentials(
|
|
|
56
56
|
|
|
57
57
|
```php
|
|
58
58
|
$message = $client->messages->create(
|
|
59
|
-
model: 'claude-opus-4-
|
|
59
|
+
model: 'claude-opus-4-8',
|
|
60
60
|
maxTokens: 16000,
|
|
61
61
|
messages: [
|
|
62
62
|
['role' => 'user', 'content' => 'What is the capital of France?'],
|
|
@@ -96,7 +96,7 @@ use Anthropic\Messages\RawContentBlockDeltaEvent;
|
|
|
96
96
|
use Anthropic\Messages\TextDelta;
|
|
97
97
|
|
|
98
98
|
$stream = $client->messages->createStream(
|
|
99
|
-
model: 'claude-opus-4-
|
|
99
|
+
model: 'claude-opus-4-8',
|
|
100
100
|
maxTokens: 64000,
|
|
101
101
|
messages: [
|
|
102
102
|
['role' => 'user', 'content' => 'Write a haiku'],
|
|
@@ -141,7 +141,7 @@ $weatherTool = new BetaRunnableTool(
|
|
|
141
141
|
$runner = $client->beta->messages->toolRunner(
|
|
142
142
|
maxTokens: 16000,
|
|
143
143
|
messages: [['role' => 'user', 'content' => 'What is the weather in Paris?']],
|
|
144
|
-
model: 'claude-opus-4-
|
|
144
|
+
model: 'claude-opus-4-8',
|
|
145
145
|
tools: [$weatherTool],
|
|
146
146
|
);
|
|
147
147
|
|
|
@@ -178,7 +178,7 @@ $tools = [
|
|
|
178
178
|
$messages = [['role' => 'user', 'content' => 'What is the weather in SF?']];
|
|
179
179
|
|
|
180
180
|
$response = $client->messages->create(
|
|
181
|
-
model: 'claude-opus-4-
|
|
181
|
+
model: 'claude-opus-4-8',
|
|
182
182
|
maxTokens: 16000,
|
|
183
183
|
tools: $tools,
|
|
184
184
|
messages: $messages,
|
|
@@ -205,7 +205,7 @@ while ($response->stopReason === 'tool_use') { // camelCase property
|
|
|
205
205
|
$messages[] = ['role' => 'user', 'content' => $toolResults];
|
|
206
206
|
|
|
207
207
|
$response = $client->messages->create(
|
|
208
|
-
model: 'claude-opus-4-
|
|
208
|
+
model: 'claude-opus-4-8',
|
|
209
209
|
maxTokens: 16000,
|
|
210
210
|
tools: $tools,
|
|
211
211
|
messages: $messages,
|
|
@@ -233,7 +233,7 @@ foreach ($response->content as $block) {
|
|
|
233
233
|
use Anthropic\Messages\ThinkingBlock;
|
|
234
234
|
|
|
235
235
|
$message = $client->messages->create(
|
|
236
|
-
model: 'claude-opus-4-
|
|
236
|
+
model: 'claude-opus-4-8',
|
|
237
237
|
maxTokens: 16000,
|
|
238
238
|
thinking: ['type' => 'adaptive'],
|
|
239
239
|
messages: [
|
|
@@ -265,7 +265,7 @@ foreach ($message->content as $block) {
|
|
|
265
265
|
|
|
266
266
|
```php
|
|
267
267
|
$message = $client->messages->create(
|
|
268
|
-
model: 'claude-opus-4-
|
|
268
|
+
model: 'claude-opus-4-8',
|
|
269
269
|
maxTokens: 16000,
|
|
270
270
|
system: [
|
|
271
271
|
['type' => 'text', 'text' => $longSystemPrompt, 'cacheControl' => ['type' => 'ephemeral']],
|
|
@@ -304,7 +304,7 @@ class Person implements StructuredOutputModel
|
|
|
304
304
|
}
|
|
305
305
|
|
|
306
306
|
$message = $client->messages->create(
|
|
307
|
-
model: 'claude-opus-4-
|
|
307
|
+
model: 'claude-opus-4-8',
|
|
308
308
|
maxTokens: 16000,
|
|
309
309
|
messages: [['role' => 'user', 'content' => 'Generate a profile for Alice, age 30']],
|
|
310
310
|
outputConfig: ['format' => Person::class],
|
|
@@ -320,7 +320,7 @@ Types are inferred from PHP type hints. Use `#[Constrained(description: '...')]`
|
|
|
320
320
|
|
|
321
321
|
```php
|
|
322
322
|
$message = $client->messages->create(
|
|
323
|
-
model: 'claude-opus-4-
|
|
323
|
+
model: 'claude-opus-4-8',
|
|
324
324
|
maxTokens: 16000,
|
|
325
325
|
messages: [['role' => 'user', 'content' => 'Extract: John (john@co.com), Enterprise plan']],
|
|
326
326
|
outputConfig: [
|
|
@@ -359,7 +359,7 @@ foreach ($message->content as $block) {
|
|
|
359
359
|
use Anthropic\Beta\Messages\BetaRequestMCPServerURLDefinition;
|
|
360
360
|
|
|
361
361
|
$response = $client->beta->messages->create(
|
|
362
|
-
model: 'claude-opus-4-
|
|
362
|
+
model: 'claude-opus-4-8',
|
|
363
363
|
maxTokens: 16000,
|
|
364
364
|
mcpServers: [
|
|
365
365
|
BetaRequestMCPServerURLDefinition::with(
|
|
@@ -48,7 +48,7 @@ use Anthropic\Beta\Agents\BetaManagedAgentsAgentToolset20260401Params;
|
|
|
48
48
|
// 1. Create the agent (reusable, versioned)
|
|
49
49
|
$agent = $client->beta->agents->create(
|
|
50
50
|
name: 'Coding Assistant',
|
|
51
|
-
model: 'claude-opus-4-
|
|
51
|
+
model: 'claude-opus-4-8',
|
|
52
52
|
system: 'You are a helpful coding assistant.',
|
|
53
53
|
tools: [
|
|
54
54
|
BetaManagedAgentsAgentToolset20260401Params::with(
|
|
@@ -299,7 +299,7 @@ use Anthropic\Beta\Sessions\BetaManagedAgentsAgentParams;
|
|
|
299
299
|
// Agent declares MCP server (no auth here — auth goes in a vault)
|
|
300
300
|
$agent = $client->beta->agents->create(
|
|
301
301
|
name: 'GitHub Assistant',
|
|
302
|
-
model: 'claude-opus-4-
|
|
302
|
+
model: 'claude-opus-4-8',
|
|
303
303
|
mcpServers: [
|
|
304
304
|
BetaManagedAgentsUrlmcpServerParams::with(
|
|
305
305
|
type: 'url',
|
|
@@ -27,7 +27,7 @@ async_client = anthropic.AsyncAnthropic()
|
|
|
27
27
|
|
|
28
28
|
```python
|
|
29
29
|
response = client.messages.create(
|
|
30
|
-
model="claude-opus-4-
|
|
30
|
+
model="claude-opus-4-8",
|
|
31
31
|
max_tokens=16000,
|
|
32
32
|
messages=[
|
|
33
33
|
{"role": "user", "content": "What is the capital of France?"}
|
|
@@ -46,7 +46,7 @@ for block in response.content:
|
|
|
46
46
|
|
|
47
47
|
```python
|
|
48
48
|
response = client.messages.create(
|
|
49
|
-
model="claude-opus-4-
|
|
49
|
+
model="claude-opus-4-8",
|
|
50
50
|
max_tokens=16000,
|
|
51
51
|
system="You are a helpful coding assistant. Always provide examples in Python.",
|
|
52
52
|
messages=[{"role": "user", "content": "How do I read a JSON file?"}]
|
|
@@ -66,7 +66,7 @@ with open("image.png", "rb") as f:
|
|
|
66
66
|
image_data = base64.standard_b64encode(f.read()).decode("utf-8")
|
|
67
67
|
|
|
68
68
|
response = client.messages.create(
|
|
69
|
-
model="claude-opus-4-
|
|
69
|
+
model="claude-opus-4-8",
|
|
70
70
|
max_tokens=16000,
|
|
71
71
|
messages=[{
|
|
72
72
|
"role": "user",
|
|
@@ -89,7 +89,7 @@ response = client.messages.create(
|
|
|
89
89
|
|
|
90
90
|
```python
|
|
91
91
|
response = client.messages.create(
|
|
92
|
-
model="claude-opus-4-
|
|
92
|
+
model="claude-opus-4-8",
|
|
93
93
|
max_tokens=16000,
|
|
94
94
|
messages=[{
|
|
95
95
|
"role": "user",
|
|
@@ -119,7 +119,7 @@ Use top-level `cache_control` to automatically cache the last cacheable block in
|
|
|
119
119
|
|
|
120
120
|
```python
|
|
121
121
|
response = client.messages.create(
|
|
122
|
-
model="claude-opus-4-
|
|
122
|
+
model="claude-opus-4-8",
|
|
123
123
|
max_tokens=16000,
|
|
124
124
|
cache_control={"type": "ephemeral"}, # auto-caches the last cacheable block
|
|
125
125
|
system="You are an expert on this large document...",
|
|
@@ -133,7 +133,7 @@ For fine-grained control, add `cache_control` to specific content blocks:
|
|
|
133
133
|
|
|
134
134
|
```python
|
|
135
135
|
response = client.messages.create(
|
|
136
|
-
model="claude-opus-4-
|
|
136
|
+
model="claude-opus-4-8",
|
|
137
137
|
max_tokens=16000,
|
|
138
138
|
system=[{
|
|
139
139
|
"type": "text",
|
|
@@ -145,7 +145,7 @@ response = client.messages.create(
|
|
|
145
145
|
|
|
146
146
|
# With explicit TTL (time-to-live)
|
|
147
147
|
response = client.messages.create(
|
|
148
|
-
model="claude-opus-4-
|
|
148
|
+
model="claude-opus-4-8",
|
|
149
149
|
max_tokens=16000,
|
|
150
150
|
system=[{
|
|
151
151
|
"type": "text",
|
|
@@ -170,13 +170,13 @@ If `cache_read_input_tokens` is zero across repeated identical-prefix requests,
|
|
|
170
170
|
|
|
171
171
|
## Extended Thinking
|
|
172
172
|
|
|
173
|
-
> **Opus 4.7, Opus 4.6, and Sonnet 4.6:** Use adaptive thinking. `budget_tokens` is removed on Opus 4.7 (400 if sent); deprecated on Opus 4.6 and Sonnet 4.6.
|
|
173
|
+
> **Opus 4.8, Opus 4.7, Opus 4.6, and Sonnet 4.6:** Use adaptive thinking. `budget_tokens` is removed on Opus 4.8 and 4.7 (400 if sent); deprecated on Opus 4.6 and Sonnet 4.6.
|
|
174
174
|
> **Older models:** Use `thinking: {type: "enabled", budget_tokens: N}` (must be < `max_tokens`, min 1024).
|
|
175
175
|
|
|
176
176
|
```python
|
|
177
|
-
# Opus 4.7 / 4.6: adaptive thinking (recommended)
|
|
177
|
+
# Opus 4.8 / 4.7 / 4.6: adaptive thinking (recommended)
|
|
178
178
|
response = client.messages.create(
|
|
179
|
-
model="claude-opus-4-
|
|
179
|
+
model="claude-opus-4-8",
|
|
180
180
|
max_tokens=16000,
|
|
181
181
|
thinking={"type": "adaptive"},
|
|
182
182
|
output_config={"effort": "high"}, # low | medium | high | max
|
|
@@ -258,7 +258,7 @@ class ConversationManager:
|
|
|
258
258
|
# Usage
|
|
259
259
|
conversation = ConversationManager(
|
|
260
260
|
client=anthropic.Anthropic(),
|
|
261
|
-
model="claude-opus-4-
|
|
261
|
+
model="claude-opus-4-8",
|
|
262
262
|
system="You are a helpful assistant."
|
|
263
263
|
)
|
|
264
264
|
|
|
@@ -275,7 +275,7 @@ response2 = conversation.send("What's my name?") # Claude remembers "Alice"
|
|
|
275
275
|
|
|
276
276
|
### Compaction (long conversations)
|
|
277
277
|
|
|
278
|
-
> **Beta, Opus 4.7, Opus 4.6, and Sonnet 4.6.** When conversations approach the 200K context window, compaction automatically summarizes earlier context server-side. The API returns a `compaction` block; you must pass it back on subsequent requests — append `response.content`, not just the text.
|
|
278
|
+
> **Beta, Opus 4.8, Opus 4.7, Opus 4.6, and Sonnet 4.6.** When conversations approach the 200K context window, compaction automatically summarizes earlier context server-side. The API returns a `compaction` block; you must pass it back on subsequent requests — append `response.content`, not just the text.
|
|
279
279
|
|
|
280
280
|
```python
|
|
281
281
|
import anthropic
|
|
@@ -288,7 +288,7 @@ def chat(user_message: str) -> str:
|
|
|
288
288
|
|
|
289
289
|
response = client.beta.messages.create(
|
|
290
290
|
betas=["compact-2026-01-12"],
|
|
291
|
-
model="claude-opus-4-
|
|
291
|
+
model="claude-opus-4-8",
|
|
292
292
|
max_tokens=16000,
|
|
293
293
|
messages=messages,
|
|
294
294
|
context_management={
|
|
@@ -331,7 +331,7 @@ The `stop_reason` field in the response indicates why the model stopped generati
|
|
|
331
331
|
```python
|
|
332
332
|
# Automatic caching (simplest — caches the last cacheable block)
|
|
333
333
|
response = client.messages.create(
|
|
334
|
-
model="claude-opus-4-
|
|
334
|
+
model="claude-opus-4-8",
|
|
335
335
|
max_tokens=16000,
|
|
336
336
|
cache_control={"type": "ephemeral"},
|
|
337
337
|
system=large_document_text, # e.g., 50KB of context
|
|
@@ -347,7 +347,7 @@ response = client.messages.create(
|
|
|
347
347
|
```python
|
|
348
348
|
# Default to Opus for most tasks
|
|
349
349
|
response = client.messages.create(
|
|
350
|
-
model="claude-opus-4-
|
|
350
|
+
model="claude-opus-4-8", # $5.00/$25.00 per 1M tokens
|
|
351
351
|
max_tokens=16000,
|
|
352
352
|
messages=[{"role": "user", "content": "Explain quantum computing"}]
|
|
353
353
|
)
|
|
@@ -371,7 +371,7 @@ simple_response = client.messages.create(
|
|
|
371
371
|
|
|
372
372
|
```python
|
|
373
373
|
count_response = client.messages.count_tokens(
|
|
374
|
-
model="claude-opus-4-
|
|
374
|
+
model="claude-opus-4-8",
|
|
375
375
|
messages=messages,
|
|
376
376
|
system=system
|
|
377
377
|
)
|
|
@@ -26,7 +26,7 @@ message_batch = client.messages.batches.create(
|
|
|
26
26
|
Request(
|
|
27
27
|
custom_id="request-1",
|
|
28
28
|
params=MessageCreateParamsNonStreaming(
|
|
29
|
-
model="claude-opus-4-
|
|
29
|
+
model="claude-opus-4-8",
|
|
30
30
|
max_tokens=16000,
|
|
31
31
|
messages=[{"role": "user", "content": "Summarize climate change impacts"}]
|
|
32
32
|
)
|
|
@@ -34,7 +34,7 @@ message_batch = client.messages.batches.create(
|
|
|
34
34
|
Request(
|
|
35
35
|
custom_id="request-2",
|
|
36
36
|
params=MessageCreateParamsNonStreaming(
|
|
37
|
-
model="claude-opus-4-
|
|
37
|
+
model="claude-opus-4-8",
|
|
38
38
|
max_tokens=16000,
|
|
39
39
|
messages=[{"role": "user", "content": "Explain quantum computing basics"}]
|
|
40
40
|
)
|
|
@@ -117,7 +117,7 @@ message_batch = client.messages.batches.create(
|
|
|
117
117
|
Request(
|
|
118
118
|
custom_id=f"analysis-{i}",
|
|
119
119
|
params=MessageCreateParamsNonStreaming(
|
|
120
|
-
model="claude-opus-4-
|
|
120
|
+
model="claude-opus-4-8",
|
|
121
121
|
max_tokens=16000,
|
|
122
122
|
system=shared_system,
|
|
123
123
|
messages=[{"role": "user", "content": question}]
|
|
@@ -36,7 +36,7 @@ print(f"Size: {uploaded.size_bytes} bytes")
|
|
|
36
36
|
|
|
37
37
|
```python
|
|
38
38
|
response = client.beta.messages.create(
|
|
39
|
-
model="claude-opus-4-
|
|
39
|
+
model="claude-opus-4-8",
|
|
40
40
|
max_tokens=16000,
|
|
41
41
|
messages=[{
|
|
42
42
|
"role": "user",
|
|
@@ -65,7 +65,7 @@ image_file = client.beta.files.upload(
|
|
|
65
65
|
)
|
|
66
66
|
|
|
67
67
|
response = client.beta.messages.create(
|
|
68
|
-
model="claude-opus-4-
|
|
68
|
+
model="claude-opus-4-8",
|
|
69
69
|
max_tokens=16000,
|
|
70
70
|
messages=[{
|
|
71
71
|
"role": "user",
|
|
@@ -142,7 +142,7 @@ questions = [
|
|
|
142
142
|
|
|
143
143
|
for question in questions:
|
|
144
144
|
response = client.beta.messages.create(
|
|
145
|
-
model="claude-opus-4-
|
|
145
|
+
model="claude-opus-4-8",
|
|
146
146
|
max_tokens=16000,
|
|
147
147
|
messages=[{
|
|
148
148
|
"role": "user",
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
```python
|
|
6
6
|
with client.messages.stream(
|
|
7
|
-
model="claude-opus-4-
|
|
7
|
+
model="claude-opus-4-8",
|
|
8
8
|
max_tokens=64000,
|
|
9
9
|
messages=[{"role": "user", "content": "Write a story"}]
|
|
10
10
|
) as stream:
|
|
@@ -16,7 +16,7 @@ with client.messages.stream(
|
|
|
16
16
|
|
|
17
17
|
```python
|
|
18
18
|
async with async_client.messages.stream(
|
|
19
|
-
model="claude-opus-4-
|
|
19
|
+
model="claude-opus-4-8",
|
|
20
20
|
max_tokens=64000,
|
|
21
21
|
messages=[{"role": "user", "content": "Write a story"}]
|
|
22
22
|
) as stream:
|
|
@@ -30,11 +30,11 @@ async with async_client.messages.stream(
|
|
|
30
30
|
|
|
31
31
|
Claude may return text, thinking blocks, or tool use. Handle each appropriately:
|
|
32
32
|
|
|
33
|
-
> **Opus 4.7 / Opus 4.6:** Use `thinking: {type: "adaptive"}`. On older models, use `thinking: {type: "enabled", budget_tokens: N}` instead.
|
|
33
|
+
> **Opus 4.8 / Opus 4.7 / Opus 4.6:** Use `thinking: {type: "adaptive"}`. On older models, use `thinking: {type: "enabled", budget_tokens: N}` instead.
|
|
34
34
|
|
|
35
35
|
```python
|
|
36
36
|
with client.messages.stream(
|
|
37
|
-
model="claude-opus-4-
|
|
37
|
+
model="claude-opus-4-8",
|
|
38
38
|
max_tokens=64000,
|
|
39
39
|
thinking={"type": "adaptive"},
|
|
40
40
|
messages=[{"role": "user", "content": "Analyze this problem"}]
|
|
@@ -61,7 +61,7 @@ The Python tool runner currently returns complete messages. Use streaming for in
|
|
|
61
61
|
|
|
62
62
|
```python
|
|
63
63
|
with client.messages.stream(
|
|
64
|
-
model="claude-opus-4-
|
|
64
|
+
model="claude-opus-4-8",
|
|
65
65
|
max_tokens=64000,
|
|
66
66
|
tools=tools,
|
|
67
67
|
messages=messages
|
|
@@ -79,7 +79,7 @@ with client.messages.stream(
|
|
|
79
79
|
|
|
80
80
|
```python
|
|
81
81
|
with client.messages.stream(
|
|
82
|
-
model="claude-opus-4-
|
|
82
|
+
model="claude-opus-4-8",
|
|
83
83
|
max_tokens=64000,
|
|
84
84
|
messages=[{"role": "user", "content": "Hello"}]
|
|
85
85
|
) as stream:
|
|
@@ -126,7 +126,7 @@ def stream_with_progress(client, **kwargs):
|
|
|
126
126
|
```python
|
|
127
127
|
try:
|
|
128
128
|
with client.messages.stream(
|
|
129
|
-
model="claude-opus-4-
|
|
129
|
+
model="claude-opus-4-8",
|
|
130
130
|
max_tokens=64000,
|
|
131
131
|
messages=[{"role": "user", "content": "Write a story"}]
|
|
132
132
|
) as stream:
|
|
@@ -27,7 +27,7 @@ def get_weather(location: str, unit: str = "celsius") -> str:
|
|
|
27
27
|
|
|
28
28
|
# The tool runner handles the agentic loop automatically
|
|
29
29
|
runner = client.beta.messages.tool_runner(
|
|
30
|
-
model="claude-opus-4-
|
|
30
|
+
model="claude-opus-4-8",
|
|
31
31
|
max_tokens=16000,
|
|
32
32
|
tools=[get_weather],
|
|
33
33
|
messages=[{"role": "user", "content": "What's the weather in Paris?"}],
|
|
@@ -72,7 +72,7 @@ async with stdio_client(StdioServerParameters(command="mcp-server")) as (read, w
|
|
|
72
72
|
tools_result = await mcp_client.list_tools()
|
|
73
73
|
# tool_runner is sync — returns the runner, not a coroutine
|
|
74
74
|
runner = client.beta.messages.tool_runner(
|
|
75
|
-
model="claude-opus-4-
|
|
75
|
+
model="claude-opus-4-8",
|
|
76
76
|
max_tokens=16000,
|
|
77
77
|
messages=[{"role": "user", "content": "Use the available tools"}],
|
|
78
78
|
tools=[async_mcp_tool(t, mcp_client) for t in tools_result.tools],
|
|
@@ -90,7 +90,7 @@ from anthropic.lib.tools.mcp import mcp_message
|
|
|
90
90
|
|
|
91
91
|
prompt = await mcp_client.get_prompt(name="my-prompt")
|
|
92
92
|
response = await client.beta.messages.create(
|
|
93
|
-
model="claude-opus-4-
|
|
93
|
+
model="claude-opus-4-8",
|
|
94
94
|
max_tokens=16000,
|
|
95
95
|
messages=[mcp_message(m) for m in prompt.messages],
|
|
96
96
|
)
|
|
@@ -103,7 +103,7 @@ from anthropic.lib.tools.mcp import mcp_resource_to_content
|
|
|
103
103
|
|
|
104
104
|
resource = await mcp_client.read_resource(uri="file:///path/to/doc.txt")
|
|
105
105
|
response = await client.beta.messages.create(
|
|
106
|
-
model="claude-opus-4-
|
|
106
|
+
model="claude-opus-4-8",
|
|
107
107
|
max_tokens=16000,
|
|
108
108
|
messages=[{
|
|
109
109
|
"role": "user",
|
|
@@ -142,7 +142,7 @@ messages = [{"role": "user", "content": user_input}]
|
|
|
142
142
|
# Agentic loop: keep going until Claude stops calling tools
|
|
143
143
|
while True:
|
|
144
144
|
response = client.messages.create(
|
|
145
|
-
model="claude-opus-4-
|
|
145
|
+
model="claude-opus-4-8",
|
|
146
146
|
max_tokens=16000,
|
|
147
147
|
tools=tools,
|
|
148
148
|
messages=messages
|
|
@@ -189,7 +189,7 @@ final_text = next(b.text for b in response.content if b.type == "text")
|
|
|
189
189
|
|
|
190
190
|
```python
|
|
191
191
|
response = client.messages.create(
|
|
192
|
-
model="claude-opus-4-
|
|
192
|
+
model="claude-opus-4-8",
|
|
193
193
|
max_tokens=16000,
|
|
194
194
|
tools=tools,
|
|
195
195
|
messages=[{"role": "user", "content": "What's the weather in Paris?"}]
|
|
@@ -204,7 +204,7 @@ for block in response.content:
|
|
|
204
204
|
result = execute_tool(tool_name, tool_input)
|
|
205
205
|
|
|
206
206
|
followup = client.messages.create(
|
|
207
|
-
model="claude-opus-4-
|
|
207
|
+
model="claude-opus-4-8",
|
|
208
208
|
max_tokens=16000,
|
|
209
209
|
tools=tools,
|
|
210
210
|
messages=[
|
|
@@ -241,7 +241,7 @@ for block in response.content:
|
|
|
241
241
|
# Send all results back at once
|
|
242
242
|
if tool_results:
|
|
243
243
|
followup = client.messages.create(
|
|
244
|
-
model="claude-opus-4-
|
|
244
|
+
model="claude-opus-4-8",
|
|
245
245
|
max_tokens=16000,
|
|
246
246
|
tools=tools,
|
|
247
247
|
messages=[
|
|
@@ -271,7 +271,7 @@ tool_result = {
|
|
|
271
271
|
|
|
272
272
|
```python
|
|
273
273
|
response = client.messages.create(
|
|
274
|
-
model="claude-opus-4-
|
|
274
|
+
model="claude-opus-4-8",
|
|
275
275
|
max_tokens=16000,
|
|
276
276
|
tools=tools,
|
|
277
277
|
tool_choice={"type": "tool", "name": "get_weather"}, # Force specific tool
|
|
@@ -291,7 +291,7 @@ import anthropic
|
|
|
291
291
|
client = anthropic.Anthropic()
|
|
292
292
|
|
|
293
293
|
response = client.messages.create(
|
|
294
|
-
model="claude-opus-4-
|
|
294
|
+
model="claude-opus-4-8",
|
|
295
295
|
max_tokens=16000,
|
|
296
296
|
messages=[{
|
|
297
297
|
"role": "user",
|
|
@@ -319,7 +319,7 @@ uploaded = client.beta.files.upload(file=open("sales_data.csv", "rb"))
|
|
|
319
319
|
# 2. Pass to code execution via container_upload block
|
|
320
320
|
# Code execution is GA; Files API is still beta (pass via extra_headers)
|
|
321
321
|
response = client.messages.create(
|
|
322
|
-
model="claude-opus-4-
|
|
322
|
+
model="claude-opus-4-8",
|
|
323
323
|
max_tokens=16000,
|
|
324
324
|
extra_headers={"anthropic-beta": "files-api-2025-04-14"},
|
|
325
325
|
messages=[{
|
|
@@ -364,7 +364,7 @@ for block in response.content:
|
|
|
364
364
|
```python
|
|
365
365
|
# First request: set up environment
|
|
366
366
|
response1 = client.messages.create(
|
|
367
|
-
model="claude-opus-4-
|
|
367
|
+
model="claude-opus-4-8",
|
|
368
368
|
max_tokens=16000,
|
|
369
369
|
messages=[{"role": "user", "content": "Install tabulate and create data.json with sample data"}],
|
|
370
370
|
tools=[{"type": "code_execution_20260120", "name": "code_execution"}]
|
|
@@ -376,7 +376,7 @@ container_id = response1.container.id
|
|
|
376
376
|
# Second request: reuse the same container
|
|
377
377
|
response2 = client.messages.create(
|
|
378
378
|
container=container_id,
|
|
379
|
-
model="claude-opus-4-
|
|
379
|
+
model="claude-opus-4-8",
|
|
380
380
|
max_tokens=16000,
|
|
381
381
|
messages=[{"role": "user", "content": "Read data.json and display as a formatted table"}],
|
|
382
382
|
tools=[{"type": "code_execution_20260120", "name": "code_execution"}]
|
|
@@ -416,7 +416,7 @@ import anthropic
|
|
|
416
416
|
client = anthropic.Anthropic()
|
|
417
417
|
|
|
418
418
|
response = client.messages.create(
|
|
419
|
-
model="claude-opus-4-
|
|
419
|
+
model="claude-opus-4-8",
|
|
420
420
|
max_tokens=16000,
|
|
421
421
|
messages=[{"role": "user", "content": "Remember that my preferred language is Python."}],
|
|
422
422
|
tools=[{"type": "memory_20250818", "name": "memory"}],
|
|
@@ -442,7 +442,7 @@ memory = MyMemoryTool()
|
|
|
442
442
|
|
|
443
443
|
# Use with tool runner
|
|
444
444
|
runner = client.beta.messages.tool_runner(
|
|
445
|
-
model="claude-opus-4-
|
|
445
|
+
model="claude-opus-4-8",
|
|
446
446
|
max_tokens=16000,
|
|
447
447
|
tools=[memory],
|
|
448
448
|
messages=[{"role": "user", "content": "Remember my preferences"}],
|
|
@@ -477,7 +477,7 @@ class ContactInfo(BaseModel):
|
|
|
477
477
|
client = anthropic.Anthropic()
|
|
478
478
|
|
|
479
479
|
response = client.messages.parse(
|
|
480
|
-
model="claude-opus-4-
|
|
480
|
+
model="claude-opus-4-8",
|
|
481
481
|
max_tokens=16000,
|
|
482
482
|
messages=[{
|
|
483
483
|
"role": "user",
|
|
@@ -496,7 +496,7 @@ print(contact.interests) # ["API", "SDKs"]
|
|
|
496
496
|
|
|
497
497
|
```python
|
|
498
498
|
response = client.messages.create(
|
|
499
|
-
model="claude-opus-4-
|
|
499
|
+
model="claude-opus-4-8",
|
|
500
500
|
max_tokens=16000,
|
|
501
501
|
messages=[{
|
|
502
502
|
"role": "user",
|
|
@@ -530,7 +530,7 @@ data = json.loads(text)
|
|
|
530
530
|
|
|
531
531
|
```python
|
|
532
532
|
response = client.messages.create(
|
|
533
|
-
model="claude-opus-4-
|
|
533
|
+
model="claude-opus-4-8",
|
|
534
534
|
max_tokens=16000,
|
|
535
535
|
messages=[{"role": "user", "content": "Book a flight to Tokyo for 2 passengers on March 15"}],
|
|
536
536
|
tools=[{
|
|
@@ -555,7 +555,7 @@ response = client.messages.create(
|
|
|
555
555
|
|
|
556
556
|
```python
|
|
557
557
|
response = client.messages.create(
|
|
558
|
-
model="claude-opus-4-
|
|
558
|
+
model="claude-opus-4-8",
|
|
559
559
|
max_tokens=16000,
|
|
560
560
|
messages=[{"role": "user", "content": "Plan a trip to Paris next month"}],
|
|
561
561
|
output_config={
|
|
@@ -49,7 +49,7 @@ print(environment.id) # env_...
|
|
|
49
49
|
# 1. Create the agent (reusable, versioned)
|
|
50
50
|
agent = client.beta.agents.create(
|
|
51
51
|
name="Coding Assistant",
|
|
52
|
-
model="claude-opus-4-
|
|
52
|
+
model="claude-opus-4-8",
|
|
53
53
|
tools=[{"type": "agent_toolset_20260401", "default_config": {"enabled": True}}],
|
|
54
54
|
)
|
|
55
55
|
|
|
@@ -68,7 +68,7 @@ import os
|
|
|
68
68
|
|
|
69
69
|
agent = client.beta.agents.create(
|
|
70
70
|
name="Code Reviewer",
|
|
71
|
-
model="claude-opus-4-
|
|
71
|
+
model="claude-opus-4-8",
|
|
72
72
|
system="You are a senior code reviewer.",
|
|
73
73
|
tools=[
|
|
74
74
|
{"type": "agent_toolset_20260401"},
|
|
@@ -311,7 +311,7 @@ client.beta.sessions.archive(session_id="sesn_011CZxAbc123Def456")
|
|
|
311
311
|
# Agent declares MCP server (no auth here — auth goes in a vault)
|
|
312
312
|
agent = client.beta.agents.create(
|
|
313
313
|
name="MCP Agent",
|
|
314
|
-
model="claude-opus-4-
|
|
314
|
+
model="claude-opus-4-8",
|
|
315
315
|
mcp_servers=[
|
|
316
316
|
{"type": "url", "name": "my-tools", "url": "https://my-mcp-server.example.com/sse"},
|
|
317
317
|
],
|
|
@@ -26,7 +26,7 @@ client = Anthropic::Client.new(api_key: "your-api-key")
|
|
|
26
26
|
|
|
27
27
|
```ruby
|
|
28
28
|
message = client.messages.create(
|
|
29
|
-
model: :"claude-opus-4-
|
|
29
|
+
model: :"claude-opus-4-8",
|
|
30
30
|
max_tokens: 16000,
|
|
31
31
|
messages: [
|
|
32
32
|
{ role: "user", content: "What is the capital of France?" }
|
|
@@ -46,7 +46,7 @@ end
|
|
|
46
46
|
|
|
47
47
|
```ruby
|
|
48
48
|
stream = client.messages.stream(
|
|
49
|
-
model: :"claude-opus-4-
|
|
49
|
+
model: :"claude-opus-4-8",
|
|
50
50
|
max_tokens: 64000,
|
|
51
51
|
messages: [{ role: "user", content: "Write a haiku" }]
|
|
52
52
|
)
|
|
@@ -78,7 +78,7 @@ class GetWeather < Anthropic::BaseTool
|
|
|
78
78
|
end
|
|
79
79
|
|
|
80
80
|
client.beta.messages.tool_runner(
|
|
81
|
-
model: :"claude-opus-4-
|
|
81
|
+
model: :"claude-opus-4-8",
|
|
82
82
|
max_tokens: 16000,
|
|
83
83
|
tools: [GetWeather.new],
|
|
84
84
|
messages: [{ role: "user", content: "What's the weather in San Francisco?" }]
|
|
@@ -99,7 +99,7 @@ See the [shared tool use concepts](../shared/tool-use-concepts.md) for the tool
|
|
|
99
99
|
|
|
100
100
|
```ruby
|
|
101
101
|
message = client.messages.create(
|
|
102
|
-
model: :"claude-opus-4-
|
|
102
|
+
model: :"claude-opus-4-8",
|
|
103
103
|
max_tokens: 16000,
|
|
104
104
|
system_: [
|
|
105
105
|
{ type: "text", text: long_system_prompt, cache_control: { type: "ephemeral" } }
|