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.
Files changed (238) hide show
  1. package/LICENSE +28 -0
  2. package/README.md +235 -0
  3. package/assets/LICENSE +32 -0
  4. package/assets/THIRD_PARTY_NOTICES.md +72 -0
  5. package/assets/manifest.json +1290 -0
  6. package/assets/skills/authored/code-review/composable/BUNDLE.md +192 -0
  7. package/assets/skills/authored/code-review/composable/INDEX.md +13 -0
  8. package/assets/skills/authored/code-review/composable/VERSION +1 -0
  9. package/assets/skills/authored/code-review/composable/mini/01-review-method.md +34 -0
  10. package/assets/skills/authored/code-review/composable/mini/02-security-review.md +20 -0
  11. package/assets/skills/authored/code-review/composable/mini/03-correctness-bugs.md +19 -0
  12. package/assets/skills/authored/code-review/composable/mini/04-concurrency.md +16 -0
  13. package/assets/skills/authored/code-review/composable/mini/05-error-handling.md +12 -0
  14. package/assets/skills/authored/code-review/composable/mini/06-performance.md +11 -0
  15. package/assets/skills/authored/code-review/composable/mini/07-api-design.md +20 -0
  16. package/assets/skills/authored/code-review/composable/mini/08-missing-tests.md +25 -0
  17. package/assets/skills/authored/code-review/composable/mini/09-refactoring-and-communication.md +32 -0
  18. package/assets/skills/authored/data-analysis/composable/BUNDLE.md +186 -0
  19. package/assets/skills/authored/data-analysis/composable/INDEX.md +13 -0
  20. package/assets/skills/authored/data-analysis/composable/VERSION +1 -0
  21. package/assets/skills/authored/data-analysis/composable/mini/01-data-quality-profiling.md +26 -0
  22. package/assets/skills/authored/data-analysis/composable/mini/02-aggregation-pitfalls.md +21 -0
  23. package/assets/skills/authored/data-analysis/composable/mini/03-time-series.md +19 -0
  24. package/assets/skills/authored/data-analysis/composable/mini/04-segmentation.md +23 -0
  25. package/assets/skills/authored/data-analysis/composable/mini/05-discount-pricing.md +17 -0
  26. package/assets/skills/authored/data-analysis/composable/mini/06-insight-generation.md +25 -0
  27. package/assets/skills/authored/data-analysis/composable/mini/07-executive-writing.md +26 -0
  28. package/assets/skills/authored/data-analysis/composable/mini/08-recommendations.md +20 -0
  29. package/assets/skills/authored/data-analysis/composable/mini/09-reproducibility-assumptions.md +20 -0
  30. package/assets/skills/authored/financial-analysis/composable/BUNDLE.md +1293 -0
  31. package/assets/skills/authored/financial-analysis/composable/INDEX.md +17 -0
  32. package/assets/skills/authored/financial-analysis/composable/VERSION +1 -0
  33. package/assets/skills/authored/financial-analysis/composable/mini/00-core.md +69 -0
  34. package/assets/skills/authored/financial-analysis/composable/mini/01-profitability-efficiency-ratios.md +173 -0
  35. package/assets/skills/authored/financial-analysis/composable/mini/02-liquidity-leverage-ratios.md +120 -0
  36. package/assets/skills/authored/financial-analysis/composable/mini/03-valuation-ratios-interpretation.md +107 -0
  37. package/assets/skills/authored/financial-analysis/composable/mini/04-dcf-projection-wacc.md +122 -0
  38. package/assets/skills/authored/financial-analysis/composable/mini/05-dcf-terminal-value-sensitivity.md +75 -0
  39. package/assets/skills/authored/financial-analysis/composable/mini/06-comparables-precedents.md +78 -0
  40. package/assets/skills/authored/financial-analysis/composable/mini/07-budget-variance-analysis.md +47 -0
  41. package/assets/skills/authored/financial-analysis/composable/mini/08-driver-based-forecasting-scenarios.md +111 -0
  42. package/assets/skills/authored/financial-analysis/composable/mini/09-rolling-forecasts-accuracy.md +114 -0
  43. package/assets/skills/authored/financial-analysis/composable/mini/10-reporting-exec-summary.md +58 -0
  44. package/assets/skills/authored/financial-analysis/composable/mini/11-industry-adaptations.md +130 -0
  45. package/assets/skills/authored/financial-analysis/composable/mini/12-toolkit-scripts-io.md +102 -0
  46. package/assets/skills/authored/python-api/composable/BUNDLE.md +389 -0
  47. package/assets/skills/authored/python-api/composable/INDEX.md +13 -0
  48. package/assets/skills/authored/python-api/composable/VERSION +1 -0
  49. package/assets/skills/authored/python-api/composable/mini/01-project-structure.md +44 -0
  50. package/assets/skills/authored/python-api/composable/mini/02-routing-and-app.md +38 -0
  51. package/assets/skills/authored/python-api/composable/mini/03-pydantic-models.md +45 -0
  52. package/assets/skills/authored/python-api/composable/mini/04-validation-and-errors.md +59 -0
  53. package/assets/skills/authored/python-api/composable/mini/05-dependencies-and-auth.md +60 -0
  54. package/assets/skills/authored/python-api/composable/mini/06-pagination-filtering.md +44 -0
  55. package/assets/skills/authored/python-api/composable/mini/07-async-performance.md +30 -0
  56. package/assets/skills/authored/python-api/composable/mini/08-testing.md +45 -0
  57. package/assets/skills/authored/python-api/composable/mini/09-middleware-observability.md +29 -0
  58. package/assets/skills/authored/tech-writing/composable/BUNDLE.md +220 -0
  59. package/assets/skills/authored/tech-writing/composable/INDEX.md +12 -0
  60. package/assets/skills/authored/tech-writing/composable/VERSION +1 -0
  61. package/assets/skills/authored/tech-writing/composable/mini/01-audience-analysis.md +26 -0
  62. package/assets/skills/authored/tech-writing/composable/mini/02-document-types.md +27 -0
  63. package/assets/skills/authored/tech-writing/composable/mini/03-readme-quickstart-changelog.md +22 -0
  64. package/assets/skills/authored/tech-writing/composable/mini/04-information-architecture.md +21 -0
  65. package/assets/skills/authored/tech-writing/composable/mini/05-style-clarity.md +29 -0
  66. package/assets/skills/authored/tech-writing/composable/mini/06-breaking-changes-migrations.md +33 -0
  67. package/assets/skills/authored/tech-writing/composable/mini/07-troubleshooting-security.md +30 -0
  68. package/assets/skills/authored/tech-writing/composable/mini/08-faq-voice-tone.md +32 -0
  69. package/assets/skills/converted/claude-api/composable/BUNDLE.md +14996 -0
  70. package/assets/skills/converted/claude-api/composable/INDEX.md +98 -0
  71. package/assets/skills/converted/claude-api/composable/VERSION +1 -0
  72. package/assets/skills/converted/claude-api/composable/mini/00-core.md +235 -0
  73. package/assets/skills/converted/claude-api/composable/mini/01-model-api-quick-reference.md +258 -0
  74. package/assets/skills/converted/claude-api/composable/mini/02-common-pitfalls.md +42 -0
  75. package/assets/skills/converted/claude-api/composable/mini/10-models.md +135 -0
  76. package/assets/skills/converted/claude-api/composable/mini/11-platform-availability.md +96 -0
  77. package/assets/skills/converted/claude-api/composable/mini/12-claude-platform-on-aws.md +59 -0
  78. package/assets/skills/converted/claude-api/composable/mini/13-live-sources.md +143 -0
  79. package/assets/skills/converted/claude-api/composable/mini/14-error-codes.md +256 -0
  80. package/assets/skills/converted/claude-api/composable/mini/15-prompt-caching.md +223 -0
  81. package/assets/skills/converted/claude-api/composable/mini/16-token-counting.md +56 -0
  82. package/assets/skills/converted/claude-api/composable/mini/17-tool-use-concepts.md +444 -0
  83. package/assets/skills/converted/claude-api/composable/mini/18-agent-design.md +101 -0
  84. package/assets/skills/converted/claude-api/composable/mini/19-anthropic-cli.md +246 -0
  85. package/assets/skills/converted/claude-api/composable/mini/20-model-migration.md +1301 -0
  86. package/assets/skills/converted/claude-api/composable/mini/30-managed-agents-overview.md +71 -0
  87. package/assets/skills/converted/claude-api/composable/mini/31-managed-agents-core.md +278 -0
  88. package/assets/skills/converted/claude-api/composable/mini/32-managed-agents-environments.md +219 -0
  89. package/assets/skills/converted/claude-api/composable/mini/33-managed-agents-tools.md +366 -0
  90. package/assets/skills/converted/claude-api/composable/mini/34-managed-agents-events.md +252 -0
  91. package/assets/skills/converted/claude-api/composable/mini/35-managed-agents-outcomes.md +106 -0
  92. package/assets/skills/converted/claude-api/composable/mini/36-managed-agents-multiagent.md +101 -0
  93. package/assets/skills/converted/claude-api/composable/mini/37-managed-agents-webhooks.md +123 -0
  94. package/assets/skills/converted/claude-api/composable/mini/38-managed-agents-memory.md +197 -0
  95. package/assets/skills/converted/claude-api/composable/mini/39-managed-agents-scheduled-deployments.md +146 -0
  96. package/assets/skills/converted/claude-api/composable/mini/40-managed-agents-client-patterns.md +211 -0
  97. package/assets/skills/converted/claude-api/composable/mini/41-managed-agents-onboarding.md +82 -0
  98. package/assets/skills/converted/claude-api/composable/mini/42-managed-agents-api-reference.md +441 -0
  99. package/assets/skills/converted/claude-api/composable/mini/43-managed-agents-self-hosted-sandboxes.md +174 -0
  100. package/assets/skills/converted/claude-api/composable/mini/50-python-readme.md +564 -0
  101. package/assets/skills/converted/claude-api/composable/mini/51-python-tool-use.md +590 -0
  102. package/assets/skills/converted/claude-api/composable/mini/52-python-streaming-batches-files.md +549 -0
  103. package/assets/skills/converted/claude-api/composable/mini/53-python-managed-agents.md +335 -0
  104. package/assets/skills/converted/claude-api/composable/mini/55-typescript-readme.md +404 -0
  105. package/assets/skills/converted/claude-api/composable/mini/56-typescript-tool-use.md +548 -0
  106. package/assets/skills/converted/claude-api/composable/mini/57-typescript-streaming-batches-files.md +384 -0
  107. package/assets/skills/converted/claude-api/composable/mini/58-typescript-managed-agents.md +358 -0
  108. package/assets/skills/converted/claude-api/composable/mini/60-csharp-readme.md +361 -0
  109. package/assets/skills/converted/claude-api/composable/mini/61-csharp-tool-use.md +163 -0
  110. package/assets/skills/converted/claude-api/composable/mini/62-csharp-streaming-batches-files.md +64 -0
  111. package/assets/skills/converted/claude-api/composable/mini/65-go-readme.md +185 -0
  112. package/assets/skills/converted/claude-api/composable/mini/66-go-tool-use.md +219 -0
  113. package/assets/skills/converted/claude-api/composable/mini/67-go-streaming-files.md +63 -0
  114. package/assets/skills/converted/claude-api/composable/mini/68-go-managed-agents.md +564 -0
  115. package/assets/skills/converted/claude-api/composable/mini/70-java-readme.md +237 -0
  116. package/assets/skills/converted/claude-api/composable/mini/71-java-tool-use.md +227 -0
  117. package/assets/skills/converted/claude-api/composable/mini/72-java-streaming-files.md +49 -0
  118. package/assets/skills/converted/claude-api/composable/mini/73-java-managed-agents.md +443 -0
  119. package/assets/skills/converted/claude-api/composable/mini/75-php-readme.md +173 -0
  120. package/assets/skills/converted/claude-api/composable/mini/76-php-tool-use.md +252 -0
  121. package/assets/skills/converted/claude-api/composable/mini/77-php-streaming-batches-files.md +53 -0
  122. package/assets/skills/converted/claude-api/composable/mini/78-php-managed-agents.md +443 -0
  123. package/assets/skills/converted/claude-api/composable/mini/80-ruby-readme.md +133 -0
  124. package/assets/skills/converted/claude-api/composable/mini/81-ruby-tool-use-streaming.md +56 -0
  125. package/assets/skills/converted/claude-api/composable/mini/82-ruby-managed-agents.md +394 -0
  126. package/assets/skills/converted/claude-api/composable/mini/85-curl-examples.md +255 -0
  127. package/assets/skills/converted/claude-api/composable/mini/86-curl-managed-agents.md +340 -0
  128. package/assets/skills/converted/claude-api/composable/presets/csharp.md +1151 -0
  129. package/assets/skills/converted/claude-api/composable/presets/curl.md +1154 -0
  130. package/assets/skills/converted/claude-api/composable/presets/go.md +1598 -0
  131. package/assets/skills/converted/claude-api/composable/presets/java.md +1523 -0
  132. package/assets/skills/converted/claude-api/composable/presets/php.md +1488 -0
  133. package/assets/skills/converted/claude-api/composable/presets/python.md +2605 -0
  134. package/assets/skills/converted/claude-api/composable/presets/ruby.md +1146 -0
  135. package/assets/skills/converted/claude-api/composable/presets/shared.md +6478 -0
  136. package/assets/skills/converted/claude-api/composable/presets/typescript.md +2261 -0
  137. package/assets/skills/converted/docx/composable/BUNDLE.md +617 -0
  138. package/assets/skills/converted/docx/composable/INDEX.md +12 -0
  139. package/assets/skills/converted/docx/composable/VERSION +1 -0
  140. package/assets/skills/converted/docx/composable/mini/00-core.md +26 -0
  141. package/assets/skills/converted/docx/composable/mini/01-reading-converting.md +36 -0
  142. package/assets/skills/converted/docx/composable/mini/02-creating-setup-layout.md +85 -0
  143. package/assets/skills/converted/docx/composable/mini/03-creating-elements.md +257 -0
  144. package/assets/skills/converted/docx/composable/mini/04-editing-existing.md +57 -0
  145. package/assets/skills/converted/docx/composable/mini/05-xml-reference.md +128 -0
  146. package/assets/skills/converted/internal-comms/composable/BUNDLE.md +220 -0
  147. package/assets/skills/converted/internal-comms/composable/INDEX.md +11 -0
  148. package/assets/skills/converted/internal-comms/composable/VERSION +1 -0
  149. package/assets/skills/converted/internal-comms/composable/mini/00-core.md +30 -0
  150. package/assets/skills/converted/internal-comms/composable/mini/01-3p-updates.md +49 -0
  151. package/assets/skills/converted/internal-comms/composable/mini/02-company-newsletter.md +67 -0
  152. package/assets/skills/converted/internal-comms/composable/mini/03-faq-answers.md +32 -0
  153. package/assets/skills/converted/internal-comms/composable/mini/04-general-comms.md +18 -0
  154. package/assets/skills/converted/mcp-builder/composable/BUNDLE.md +2460 -0
  155. package/assets/skills/converted/mcp-builder/composable/INDEX.md +23 -0
  156. package/assets/skills/converted/mcp-builder/composable/VERSION +1 -0
  157. package/assets/skills/converted/mcp-builder/composable/mini/00-core.md +43 -0
  158. package/assets/skills/converted/mcp-builder/composable/mini/01-workflow-research-planning.md +54 -0
  159. package/assets/skills/converted/mcp-builder/composable/mini/02-implementation-process.md +78 -0
  160. package/assets/skills/converted/mcp-builder/composable/mini/03-naming-conventions.md +33 -0
  161. package/assets/skills/converted/mcp-builder/composable/mini/04-response-formats.md +21 -0
  162. package/assets/skills/converted/mcp-builder/composable/mini/05-pagination.md +24 -0
  163. package/assets/skills/converted/mcp-builder/composable/mini/06-transport.md +47 -0
  164. package/assets/skills/converted/mcp-builder/composable/mini/07-annotations.md +20 -0
  165. package/assets/skills/converted/mcp-builder/composable/mini/08-security.md +35 -0
  166. package/assets/skills/converted/mcp-builder/composable/mini/09-error-handling.md +32 -0
  167. package/assets/skills/converted/mcp-builder/composable/mini/10-testing-and-documentation.md +21 -0
  168. package/assets/skills/converted/mcp-builder/composable/mini/11-python-implementation.md +432 -0
  169. package/assets/skills/converted/mcp-builder/composable/mini/12-python-advanced-and-checklist.md +233 -0
  170. package/assets/skills/converted/mcp-builder/composable/mini/13-node-implementation.md +717 -0
  171. package/assets/skills/converted/mcp-builder/composable/mini/14-node-advanced-and-checklist.md +200 -0
  172. package/assets/skills/converted/mcp-builder/composable/mini/15-evaluation-design.md +200 -0
  173. package/assets/skills/converted/mcp-builder/composable/mini/16-evaluation-running.md +198 -0
  174. package/assets/skills/converted/mcp-builder/composable/presets/node-server.md +1381 -0
  175. package/assets/skills/converted/mcp-builder/composable/presets/python-server.md +1129 -0
  176. package/assets/skills/converted/pdf/composable/BUNDLE.md +1284 -0
  177. package/assets/skills/converted/pdf/composable/INDEX.md +14 -0
  178. package/assets/skills/converted/pdf/composable/VERSION +1 -0
  179. package/assets/skills/converted/pdf/composable/mini/00-core.md +46 -0
  180. package/assets/skills/converted/pdf/composable/mini/01-creation.md +176 -0
  181. package/assets/skills/converted/pdf/composable/mini/02-extraction.md +178 -0
  182. package/assets/skills/converted/pdf/composable/mini/03-merge-split-manipulate.md +240 -0
  183. package/assets/skills/converted/pdf/composable/mini/04-images-ocr.md +168 -0
  184. package/assets/skills/converted/pdf/composable/mini/05-encryption.md +51 -0
  185. package/assets/skills/converted/pdf/composable/mini/06-forms.md +300 -0
  186. package/assets/skills/converted/pdf/composable/mini/07-libraries-reference.md +89 -0
  187. package/assets/skills/converted/pptx/composable/BUNDLE.md +911 -0
  188. package/assets/skills/converted/pptx/composable/INDEX.md +12 -0
  189. package/assets/skills/converted/pptx/composable/VERSION +1 -0
  190. package/assets/skills/converted/pptx/composable/mini/00-core.md +37 -0
  191. package/assets/skills/converted/pptx/composable/mini/01-reading.md +37 -0
  192. package/assets/skills/converted/pptx/composable/mini/02-creating-from-scratch.md +422 -0
  193. package/assets/skills/converted/pptx/composable/mini/03-editing-templates.md +207 -0
  194. package/assets/skills/converted/pptx/composable/mini/04-design.md +89 -0
  195. package/assets/skills/converted/pptx/composable/mini/05-qa-and-rendering.md +91 -0
  196. package/assets/skills/converted/pptx/composable/presets/creating.md +659 -0
  197. package/assets/skills/converted/pptx/composable/presets/editing.md +485 -0
  198. package/assets/skills/converted/skill-creator/composable/BUNDLE.md +1681 -0
  199. package/assets/skills/converted/skill-creator/composable/INDEX.md +21 -0
  200. package/assets/skills/converted/skill-creator/composable/VERSION +1 -0
  201. package/assets/skills/converted/skill-creator/composable/mini/00-core.md +59 -0
  202. package/assets/skills/converted/skill-creator/composable/mini/01-creating-a-skill.md +27 -0
  203. package/assets/skills/converted/skill-creator/composable/mini/02-skill-writing-guide.md +71 -0
  204. package/assets/skills/converted/skill-creator/composable/mini/03-test-cases.md +21 -0
  205. package/assets/skills/converted/skill-creator/composable/mini/04-running-and-evaluating.md +128 -0
  206. package/assets/skills/converted/skill-creator/composable/mini/05-improving-the-skill.md +30 -0
  207. package/assets/skills/converted/skill-creator/composable/mini/06-blind-comparison.md +5 -0
  208. package/assets/skills/converted/skill-creator/composable/mini/07-description-optimization.md +74 -0
  209. package/assets/skills/converted/skill-creator/composable/mini/08-packaging.md +11 -0
  210. package/assets/skills/converted/skill-creator/composable/mini/09-environment-specific.md +38 -0
  211. package/assets/skills/converted/skill-creator/composable/mini/10-scripts-and-references.md +34 -0
  212. package/assets/skills/converted/skill-creator/composable/mini/11-json-schemas.md +414 -0
  213. package/assets/skills/converted/skill-creator/composable/mini/12-agent-grader.md +225 -0
  214. package/assets/skills/converted/skill-creator/composable/mini/13-agent-comparator.md +204 -0
  215. package/assets/skills/converted/skill-creator/composable/mini/14-agent-analyzer.md +276 -0
  216. package/assets/skills/converted/skill-creator/composable/presets/authoring.md +198 -0
  217. package/assets/skills/converted/skill-creator/composable/presets/evaluating.md +1334 -0
  218. package/assets/skills/converted/skill-creator/composable/presets/optimizing.md +160 -0
  219. package/assets/skills/converted/skill-creator/composable/presets.json +5 -0
  220. package/assets/skills/meta/ccs-skill-creator/composable/BUNDLE.md +465 -0
  221. package/assets/skills/meta/ccs-skill-creator/composable/INDEX.md +8 -0
  222. package/assets/skills/meta/ccs-skill-creator/composable/VERSION +1 -0
  223. package/assets/skills/meta/ccs-skill-creator/composable/mini/00-core.md +46 -0
  224. package/assets/skills/meta/ccs-skill-creator/composable/mini/01-create-new-skill.md +167 -0
  225. package/assets/skills/meta/ccs-skill-creator/composable/mini/02-convert-existing-skill.md +120 -0
  226. package/assets/skills/meta/ccs-skill-creator/composable/mini/03-review-and-maintain.md +112 -0
  227. package/assets/skills/sources/anthropic/PROVENANCE.md +3 -0
  228. package/assets/skills/sources/anthropic/claude-api/LICENSE.txt +202 -0
  229. package/assets/skills/sources/anthropic/docx/LICENSE.txt +30 -0
  230. package/assets/skills/sources/anthropic/internal-comms/LICENSE.txt +202 -0
  231. package/assets/skills/sources/anthropic/mcp-builder/LICENSE.txt +202 -0
  232. package/assets/skills/sources/anthropic/pdf/LICENSE.txt +30 -0
  233. package/assets/skills/sources/anthropic/pptx/LICENSE.txt +30 -0
  234. package/assets/skills/sources/anthropic/skill-creator/LICENSE.txt +202 -0
  235. package/assets/skills/sources/financial-analyst/PROVENANCE.md +1 -0
  236. package/assets/tools/hive.py +728 -0
  237. package/dist/cli.js +7494 -0
  238. package/package.json +40 -0
@@ -0,0 +1,384 @@
1
+ # Streaming — TypeScript
2
+
3
+ ## Quick Start
4
+
5
+ ```typescript
6
+ const stream = client.messages.stream({
7
+ model: "claude-opus-4-8",
8
+ max_tokens: 64000,
9
+ messages: [{ role: "user", content: "Write a story" }],
10
+ });
11
+
12
+ for await (const event of stream) {
13
+ if (
14
+ event.type === "content_block_delta" &&
15
+ event.delta.type === "text_delta"
16
+ ) {
17
+ process.stdout.write(event.delta.text);
18
+ }
19
+ }
20
+ ```
21
+
22
+ ---
23
+
24
+ ## Handling Different Content Types
25
+
26
+ > **Fable 5 / Opus 4.8 / Opus 4.7 / Opus 4.6:** Use `thinking: {type: "adaptive"}`. On older models, use `thinking: {type: "enabled", budget_tokens: N}` instead.
27
+
28
+ ```typescript
29
+ const stream = client.messages.stream({
30
+ model: "claude-opus-4-8",
31
+ max_tokens: 64000,
32
+ thinking: { type: "adaptive", display: "summarized" }, // display opt-in: default is omitted (empty thinking text) on Fable 5 / Mythos 5 / Opus 4.8 / 4.7
33
+ messages: [{ role: "user", content: "Analyze this problem" }],
34
+ });
35
+
36
+ for await (const event of stream) {
37
+ switch (event.type) {
38
+ case "content_block_start":
39
+ switch (event.content_block.type) {
40
+ case "thinking":
41
+ console.log("\n[Thinking...]");
42
+ break;
43
+ case "text":
44
+ console.log("\n[Response:]");
45
+ break;
46
+ }
47
+ break;
48
+ case "content_block_delta":
49
+ switch (event.delta.type) {
50
+ case "thinking_delta":
51
+ process.stdout.write(event.delta.thinking);
52
+ break;
53
+ case "text_delta":
54
+ process.stdout.write(event.delta.text);
55
+ break;
56
+ }
57
+ break;
58
+ }
59
+ }
60
+ ```
61
+
62
+ ---
63
+
64
+ ## Streaming with Tool Use (Tool Runner)
65
+
66
+ Use the tool runner with `stream: true`. The outer loop iterates over tool runner iterations (messages), the inner loop processes stream events:
67
+
68
+ ```typescript
69
+ import Anthropic from "@anthropic-ai/sdk";
70
+ import { betaZodTool } from "@anthropic-ai/sdk/helpers/beta/zod";
71
+ import { z } from "zod";
72
+
73
+ const client = new Anthropic();
74
+
75
+ const getWeather = betaZodTool({
76
+ name: "get_weather",
77
+ description: "Get current weather for a location",
78
+ inputSchema: z.object({
79
+ location: z.string().describe("City and state, e.g., San Francisco, CA"),
80
+ }),
81
+ run: async ({ location }) => `72°F and sunny in ${location}`,
82
+ });
83
+
84
+ const runner = client.beta.messages.toolRunner({
85
+ model: "claude-opus-4-8",
86
+ max_tokens: 64000,
87
+ tools: [getWeather],
88
+ messages: [
89
+ { role: "user", content: "What's the weather in Paris and London?" },
90
+ ],
91
+ stream: true,
92
+ });
93
+
94
+ // Outer loop: each tool runner iteration
95
+ for await (const messageStream of runner) {
96
+ // Inner loop: stream events for this iteration
97
+ for await (const event of messageStream) {
98
+ switch (event.type) {
99
+ case "content_block_delta":
100
+ switch (event.delta.type) {
101
+ case "text_delta":
102
+ process.stdout.write(event.delta.text);
103
+ break;
104
+ case "input_json_delta":
105
+ // Tool input being streamed
106
+ break;
107
+ }
108
+ break;
109
+ }
110
+ }
111
+ }
112
+ ```
113
+
114
+ ---
115
+
116
+ ## Getting the Final Message
117
+
118
+ ```typescript
119
+ const stream = client.messages.stream({
120
+ model: "claude-opus-4-8",
121
+ max_tokens: 64000,
122
+ messages: [{ role: "user", content: "Hello" }],
123
+ });
124
+
125
+ for await (const event of stream) {
126
+ // Process events...
127
+ }
128
+
129
+ const finalMessage = await stream.finalMessage();
130
+ console.log(`Tokens used: ${finalMessage.usage.output_tokens}`);
131
+ ```
132
+
133
+ ---
134
+
135
+ ## Stream Event Types
136
+
137
+ | Event Type | Description | When it fires |
138
+ | --------------------- | --------------------------- | --------------------------------- |
139
+ | `message_start` | Contains message metadata | Once at the beginning |
140
+ | `content_block_start` | New content block beginning | When a text/tool_use block starts |
141
+ | `content_block_delta` | Incremental content update | For each token/chunk |
142
+ | `content_block_stop` | Content block complete | When a block finishes |
143
+ | `message_delta` | Message-level updates | Contains `stop_reason`, usage |
144
+ | `message_stop` | Message complete | Once at the end |
145
+
146
+ ## Best Practices
147
+
148
+ 1. **Always flush output** — Use `process.stdout.write()` for immediate display
149
+ 2. **Handle partial responses** — If the stream is interrupted, you may have incomplete content
150
+ 3. **Track token usage** — The `message_delta` event contains usage information
151
+ 4. **Use `finalMessage()`** — Get the complete `Anthropic.Message` object even when streaming. Don't wrap `.on()` events in `new Promise()` — `finalMessage()` handles all completion/error/abort states internally
152
+ 5. **Buffer for web UIs** — Consider buffering a few tokens before rendering to avoid excessive DOM updates
153
+ 6. **Use `stream.on("text", ...)` for deltas** — The `text` event provides just the delta string, simpler than manually filtering `content_block_delta` events
154
+ 7. **For agentic loops with streaming** — See the [Streaming Manual Loop](./tool-use.md#streaming-manual-loop) section in tool-use.md for combining `stream()` + `finalMessage()` with a tool-use loop
155
+
156
+ ## Raw SSE Format
157
+
158
+ If using raw HTTP (not SDKs), the stream returns Server-Sent Events:
159
+
160
+ ```
161
+ event: message_start
162
+ data: {"type":"message_start","message":{"id":"msg_...","type":"message",...}}
163
+
164
+ event: content_block_start
165
+ data: {"type":"content_block_start","index":0,"content_block":{"type":"text","text":""}}
166
+
167
+ event: content_block_delta
168
+ data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"Hello"}}
169
+
170
+ event: content_block_stop
171
+ data: {"type":"content_block_stop","index":0}
172
+
173
+ event: message_delta
174
+ data: {"type":"message_delta","delta":{"stop_reason":"end_turn"},"usage":{"output_tokens":12}}
175
+
176
+ event: message_stop
177
+ data: {"type":"message_stop"}
178
+ ```
179
+
180
+ # Message Batches API — TypeScript
181
+
182
+ The Batches API (`POST /v1/messages/batches`) processes Messages API requests asynchronously at 50% of standard prices.
183
+
184
+ ## Key Facts
185
+
186
+ - Up to 100,000 requests or 256 MB per batch
187
+ - Most batches complete within 1 hour; maximum 24 hours
188
+ - Results available for 29 days after creation
189
+ - 50% cost reduction on all token usage
190
+ - All Messages API features supported (vision, tools, caching, etc.)
191
+
192
+ ---
193
+
194
+ ## Create a Batch
195
+
196
+ ```typescript
197
+ import Anthropic from "@anthropic-ai/sdk";
198
+
199
+ const client = new Anthropic();
200
+
201
+ const messageBatch = await client.messages.batches.create({
202
+ requests: [
203
+ {
204
+ custom_id: "request-1",
205
+ params: {
206
+ model: "claude-opus-4-8",
207
+ max_tokens: 16000,
208
+ messages: [
209
+ { role: "user", content: "Summarize climate change impacts" },
210
+ ],
211
+ },
212
+ },
213
+ {
214
+ custom_id: "request-2",
215
+ params: {
216
+ model: "claude-opus-4-8",
217
+ max_tokens: 16000,
218
+ messages: [
219
+ { role: "user", content: "Explain quantum computing basics" },
220
+ ],
221
+ },
222
+ },
223
+ ],
224
+ });
225
+
226
+ console.log(`Batch ID: ${messageBatch.id}`);
227
+ console.log(`Status: ${messageBatch.processing_status}`);
228
+ ```
229
+
230
+ ---
231
+
232
+ ## Poll for Completion
233
+
234
+ ```typescript
235
+ let batch;
236
+ while (true) {
237
+ batch = await client.messages.batches.retrieve(messageBatch.id);
238
+ if (batch.processing_status === "ended") break;
239
+ console.log(
240
+ `Status: ${batch.processing_status}, processing: ${batch.request_counts.processing}`,
241
+ );
242
+ await new Promise((resolve) => setTimeout(resolve, 60_000));
243
+ }
244
+
245
+ console.log("Batch complete!");
246
+ console.log(`Succeeded: ${batch.request_counts.succeeded}`);
247
+ console.log(`Errored: ${batch.request_counts.errored}`);
248
+ ```
249
+
250
+ ---
251
+
252
+ ## Retrieve Results
253
+
254
+ ```typescript
255
+ for await (const result of await client.messages.batches.results(
256
+ messageBatch.id,
257
+ )) {
258
+ switch (result.result.type) {
259
+ case "succeeded":
260
+ console.log(
261
+ `[${result.custom_id}] ${result.result.message.content[0].text.slice(0, 100)}`,
262
+ );
263
+ break;
264
+ case "errored":
265
+ if (result.result.error.type === "invalid_request") {
266
+ console.log(`[${result.custom_id}] Validation error - fix and retry`);
267
+ } else {
268
+ console.log(`[${result.custom_id}] Server error - safe to retry`);
269
+ }
270
+ break;
271
+ case "expired":
272
+ console.log(`[${result.custom_id}] Expired - resubmit`);
273
+ break;
274
+ }
275
+ }
276
+ ```
277
+
278
+ ---
279
+
280
+ ## Cancel a Batch
281
+
282
+ ```typescript
283
+ const cancelled = await client.messages.batches.cancel(messageBatch.id);
284
+ console.log(`Status: ${cancelled.processing_status}`); // "canceling"
285
+ ```
286
+
287
+ # Files API — TypeScript
288
+
289
+ The Files API uploads files for use in Messages API requests. Reference files via `file_id` in content blocks, avoiding re-uploads across multiple API calls.
290
+
291
+ **Beta:** Pass `betas: ["files-api-2025-04-14"]` in your API calls (the SDK sets the required header automatically).
292
+
293
+ ## Key Facts
294
+
295
+ - Maximum file size: 500 MB
296
+ - Total storage: 100 GB per organization
297
+ - Files persist until deleted
298
+ - File operations (upload, list, delete) are free; content used in messages is billed as input tokens
299
+ - Not available on Amazon Bedrock or Google Vertex AI
300
+
301
+ ---
302
+
303
+ ## Upload a File
304
+
305
+ ```typescript
306
+ import Anthropic, { toFile } from "@anthropic-ai/sdk";
307
+ import fs from "fs";
308
+
309
+ const client = new Anthropic();
310
+
311
+ const uploaded = await client.beta.files.upload({
312
+ file: await toFile(fs.createReadStream("report.pdf"), undefined, {
313
+ type: "application/pdf",
314
+ }),
315
+ betas: ["files-api-2025-04-14"],
316
+ });
317
+
318
+ console.log(`File ID: ${uploaded.id}`);
319
+ console.log(`Size: ${uploaded.size_bytes} bytes`);
320
+ ```
321
+
322
+ ---
323
+
324
+ ## Use a File in Messages
325
+
326
+ ### PDF / Text Document
327
+
328
+ ```typescript
329
+ const response = await client.beta.messages.create({
330
+ model: "claude-opus-4-8",
331
+ max_tokens: 16000,
332
+ messages: [
333
+ {
334
+ role: "user",
335
+ content: [
336
+ { type: "text", text: "Summarize the key findings in this report." },
337
+ {
338
+ type: "document",
339
+ source: { type: "file", file_id: uploaded.id },
340
+ title: "Q4 Report",
341
+ citations: { enabled: true },
342
+ },
343
+ ],
344
+ },
345
+ ],
346
+ betas: ["files-api-2025-04-14"],
347
+ });
348
+
349
+ console.log(response.content[0].text);
350
+ ```
351
+
352
+ ---
353
+
354
+ ## Manage Files
355
+
356
+ ### List Files
357
+
358
+ ```typescript
359
+ const files = await client.beta.files.list({
360
+ betas: ["files-api-2025-04-14"],
361
+ });
362
+ for (const f of files.data) {
363
+ console.log(`${f.id}: ${f.filename} (${f.size_bytes} bytes)`);
364
+ }
365
+ ```
366
+
367
+ ### Delete a File
368
+
369
+ ```typescript
370
+ await client.beta.files.delete("file_011CNha8iCJcU1wXNR6q4V8w", {
371
+ betas: ["files-api-2025-04-14"],
372
+ });
373
+ ```
374
+
375
+ ### Download a File
376
+
377
+ ```typescript
378
+ const response = await client.beta.files.download(
379
+ "file_011CNha8iCJcU1wXNR6q4V8w",
380
+ { betas: ["files-api-2025-04-14"] },
381
+ );
382
+ const content = Buffer.from(await response.arrayBuffer());
383
+ await fs.promises.writeFile("output.txt", content);
384
+ ```