@prismer/runtime 2.0.6 → 2.0.8

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 (207) hide show
  1. package/CHANGELOG.md +201 -0
  2. package/built-in-skills/agent-coordination/SKILL.md +235 -0
  3. package/built-in-skills/agent-meta/SKILL.md +52 -0
  4. package/built-in-skills/assets/SKILL.md +131 -0
  5. package/built-in-skills/canvas-design/LICENSE.txt +202 -0
  6. package/built-in-skills/canvas-design/SKILL.md +156 -0
  7. package/built-in-skills/canvas-design/canvas-fonts/ArsenalSC-OFL.txt +93 -0
  8. package/built-in-skills/canvas-design/canvas-fonts/ArsenalSC-Regular.ttf +0 -0
  9. package/built-in-skills/canvas-design/canvas-fonts/BigShoulders-Bold.ttf +0 -0
  10. package/built-in-skills/canvas-design/canvas-fonts/BigShoulders-OFL.txt +93 -0
  11. package/built-in-skills/canvas-design/canvas-fonts/BigShoulders-Regular.ttf +0 -0
  12. package/built-in-skills/canvas-design/canvas-fonts/Boldonse-OFL.txt +93 -0
  13. package/built-in-skills/canvas-design/canvas-fonts/Boldonse-Regular.ttf +0 -0
  14. package/built-in-skills/canvas-design/canvas-fonts/BricolageGrotesque-Bold.ttf +0 -0
  15. package/built-in-skills/canvas-design/canvas-fonts/BricolageGrotesque-OFL.txt +93 -0
  16. package/built-in-skills/canvas-design/canvas-fonts/BricolageGrotesque-Regular.ttf +0 -0
  17. package/built-in-skills/canvas-design/canvas-fonts/CrimsonPro-Bold.ttf +0 -0
  18. package/built-in-skills/canvas-design/canvas-fonts/CrimsonPro-Italic.ttf +0 -0
  19. package/built-in-skills/canvas-design/canvas-fonts/CrimsonPro-OFL.txt +93 -0
  20. package/built-in-skills/canvas-design/canvas-fonts/CrimsonPro-Regular.ttf +0 -0
  21. package/built-in-skills/canvas-design/canvas-fonts/DMMono-OFL.txt +93 -0
  22. package/built-in-skills/canvas-design/canvas-fonts/DMMono-Regular.ttf +0 -0
  23. package/built-in-skills/canvas-design/canvas-fonts/EricaOne-OFL.txt +94 -0
  24. package/built-in-skills/canvas-design/canvas-fonts/EricaOne-Regular.ttf +0 -0
  25. package/built-in-skills/canvas-design/canvas-fonts/GeistMono-Bold.ttf +0 -0
  26. package/built-in-skills/canvas-design/canvas-fonts/GeistMono-OFL.txt +93 -0
  27. package/built-in-skills/canvas-design/canvas-fonts/GeistMono-Regular.ttf +0 -0
  28. package/built-in-skills/canvas-design/canvas-fonts/Gloock-OFL.txt +93 -0
  29. package/built-in-skills/canvas-design/canvas-fonts/Gloock-Regular.ttf +0 -0
  30. package/built-in-skills/canvas-design/canvas-fonts/IBMPlexMono-Bold.ttf +0 -0
  31. package/built-in-skills/canvas-design/canvas-fonts/IBMPlexMono-OFL.txt +93 -0
  32. package/built-in-skills/canvas-design/canvas-fonts/IBMPlexMono-Regular.ttf +0 -0
  33. package/built-in-skills/canvas-design/canvas-fonts/IBMPlexSerif-Bold.ttf +0 -0
  34. package/built-in-skills/canvas-design/canvas-fonts/IBMPlexSerif-BoldItalic.ttf +0 -0
  35. package/built-in-skills/canvas-design/canvas-fonts/IBMPlexSerif-Italic.ttf +0 -0
  36. package/built-in-skills/canvas-design/canvas-fonts/IBMPlexSerif-Regular.ttf +0 -0
  37. package/built-in-skills/canvas-design/canvas-fonts/InstrumentSans-Bold.ttf +0 -0
  38. package/built-in-skills/canvas-design/canvas-fonts/InstrumentSans-BoldItalic.ttf +0 -0
  39. package/built-in-skills/canvas-design/canvas-fonts/InstrumentSans-Italic.ttf +0 -0
  40. package/built-in-skills/canvas-design/canvas-fonts/InstrumentSans-OFL.txt +93 -0
  41. package/built-in-skills/canvas-design/canvas-fonts/InstrumentSans-Regular.ttf +0 -0
  42. package/built-in-skills/canvas-design/canvas-fonts/InstrumentSerif-Italic.ttf +0 -0
  43. package/built-in-skills/canvas-design/canvas-fonts/InstrumentSerif-Regular.ttf +0 -0
  44. package/built-in-skills/canvas-design/canvas-fonts/Italiana-OFL.txt +93 -0
  45. package/built-in-skills/canvas-design/canvas-fonts/Italiana-Regular.ttf +0 -0
  46. package/built-in-skills/canvas-design/canvas-fonts/JetBrainsMono-Bold.ttf +0 -0
  47. package/built-in-skills/canvas-design/canvas-fonts/JetBrainsMono-OFL.txt +93 -0
  48. package/built-in-skills/canvas-design/canvas-fonts/JetBrainsMono-Regular.ttf +0 -0
  49. package/built-in-skills/canvas-design/canvas-fonts/Jura-Light.ttf +0 -0
  50. package/built-in-skills/canvas-design/canvas-fonts/Jura-Medium.ttf +0 -0
  51. package/built-in-skills/canvas-design/canvas-fonts/Jura-OFL.txt +93 -0
  52. package/built-in-skills/canvas-design/canvas-fonts/LibreBaskerville-OFL.txt +93 -0
  53. package/built-in-skills/canvas-design/canvas-fonts/LibreBaskerville-Regular.ttf +0 -0
  54. package/built-in-skills/canvas-design/canvas-fonts/Lora-Bold.ttf +0 -0
  55. package/built-in-skills/canvas-design/canvas-fonts/Lora-BoldItalic.ttf +0 -0
  56. package/built-in-skills/canvas-design/canvas-fonts/Lora-Italic.ttf +0 -0
  57. package/built-in-skills/canvas-design/canvas-fonts/Lora-OFL.txt +93 -0
  58. package/built-in-skills/canvas-design/canvas-fonts/Lora-Regular.ttf +0 -0
  59. package/built-in-skills/canvas-design/canvas-fonts/NationalPark-Bold.ttf +0 -0
  60. package/built-in-skills/canvas-design/canvas-fonts/NationalPark-OFL.txt +93 -0
  61. package/built-in-skills/canvas-design/canvas-fonts/NationalPark-Regular.ttf +0 -0
  62. package/built-in-skills/canvas-design/canvas-fonts/NothingYouCouldDo-OFL.txt +93 -0
  63. package/built-in-skills/canvas-design/canvas-fonts/NothingYouCouldDo-Regular.ttf +0 -0
  64. package/built-in-skills/canvas-design/canvas-fonts/Outfit-Bold.ttf +0 -0
  65. package/built-in-skills/canvas-design/canvas-fonts/Outfit-OFL.txt +93 -0
  66. package/built-in-skills/canvas-design/canvas-fonts/Outfit-Regular.ttf +0 -0
  67. package/built-in-skills/canvas-design/canvas-fonts/PixelifySans-Medium.ttf +0 -0
  68. package/built-in-skills/canvas-design/canvas-fonts/PixelifySans-OFL.txt +93 -0
  69. package/built-in-skills/canvas-design/canvas-fonts/PoiretOne-OFL.txt +93 -0
  70. package/built-in-skills/canvas-design/canvas-fonts/PoiretOne-Regular.ttf +0 -0
  71. package/built-in-skills/canvas-design/canvas-fonts/RedHatMono-Bold.ttf +0 -0
  72. package/built-in-skills/canvas-design/canvas-fonts/RedHatMono-OFL.txt +93 -0
  73. package/built-in-skills/canvas-design/canvas-fonts/RedHatMono-Regular.ttf +0 -0
  74. package/built-in-skills/canvas-design/canvas-fonts/Silkscreen-OFL.txt +93 -0
  75. package/built-in-skills/canvas-design/canvas-fonts/Silkscreen-Regular.ttf +0 -0
  76. package/built-in-skills/canvas-design/canvas-fonts/SmoochSans-Medium.ttf +0 -0
  77. package/built-in-skills/canvas-design/canvas-fonts/SmoochSans-OFL.txt +93 -0
  78. package/built-in-skills/canvas-design/canvas-fonts/Tektur-Medium.ttf +0 -0
  79. package/built-in-skills/canvas-design/canvas-fonts/Tektur-OFL.txt +93 -0
  80. package/built-in-skills/canvas-design/canvas-fonts/Tektur-Regular.ttf +0 -0
  81. package/built-in-skills/canvas-design/canvas-fonts/WorkSans-Bold.ttf +0 -0
  82. package/built-in-skills/canvas-design/canvas-fonts/WorkSans-BoldItalic.ttf +0 -0
  83. package/built-in-skills/canvas-design/canvas-fonts/WorkSans-Italic.ttf +0 -0
  84. package/built-in-skills/canvas-design/canvas-fonts/WorkSans-OFL.txt +93 -0
  85. package/built-in-skills/canvas-design/canvas-fonts/WorkSans-Regular.ttf +0 -0
  86. package/built-in-skills/canvas-design/canvas-fonts/YoungSerif-OFL.txt +93 -0
  87. package/built-in-skills/canvas-design/canvas-fonts/YoungSerif-Regular.ttf +0 -0
  88. package/built-in-skills/claim-agent-ownership/SKILL.md +254 -0
  89. package/built-in-skills/claude-api/LICENSE.txt +202 -0
  90. package/built-in-skills/claude-api/SKILL.md +324 -0
  91. package/built-in-skills/claude-api/csharp/claude-api.md +402 -0
  92. package/built-in-skills/claude-api/curl/examples.md +216 -0
  93. package/built-in-skills/claude-api/curl/managed-agents.md +336 -0
  94. package/built-in-skills/claude-api/go/claude-api.md +421 -0
  95. package/built-in-skills/claude-api/go/managed-agents/README.md +561 -0
  96. package/built-in-skills/claude-api/java/claude-api.md +432 -0
  97. package/built-in-skills/claude-api/java/managed-agents/README.md +442 -0
  98. package/built-in-skills/claude-api/php/claude-api.md +375 -0
  99. package/built-in-skills/claude-api/php/managed-agents/README.md +435 -0
  100. package/built-in-skills/claude-api/python/claude-api/README.md +420 -0
  101. package/built-in-skills/claude-api/python/claude-api/batches.md +185 -0
  102. package/built-in-skills/claude-api/python/claude-api/files-api.md +165 -0
  103. package/built-in-skills/claude-api/python/claude-api/streaming.md +162 -0
  104. package/built-in-skills/claude-api/python/claude-api/tool-use.md +590 -0
  105. package/built-in-skills/claude-api/python/managed-agents/README.md +332 -0
  106. package/built-in-skills/claude-api/ruby/claude-api.md +113 -0
  107. package/built-in-skills/claude-api/ruby/managed-agents/README.md +389 -0
  108. package/built-in-skills/claude-api/shared/agent-design.md +101 -0
  109. package/built-in-skills/claude-api/shared/error-codes.md +213 -0
  110. package/built-in-skills/claude-api/shared/live-sources.md +135 -0
  111. package/built-in-skills/claude-api/shared/managed-agents-api-reference.md +378 -0
  112. package/built-in-skills/claude-api/shared/managed-agents-client-patterns.md +209 -0
  113. package/built-in-skills/claude-api/shared/managed-agents-core.md +238 -0
  114. package/built-in-skills/claude-api/shared/managed-agents-environments.md +215 -0
  115. package/built-in-skills/claude-api/shared/managed-agents-events.md +195 -0
  116. package/built-in-skills/claude-api/shared/managed-agents-memory.md +197 -0
  117. package/built-in-skills/claude-api/shared/managed-agents-multiagent.md +99 -0
  118. package/built-in-skills/claude-api/shared/managed-agents-onboarding.md +114 -0
  119. package/built-in-skills/claude-api/shared/managed-agents-outcomes.md +106 -0
  120. package/built-in-skills/claude-api/shared/managed-agents-overview.md +68 -0
  121. package/built-in-skills/claude-api/shared/managed-agents-self-hosted-sandboxes.md +173 -0
  122. package/built-in-skills/claude-api/shared/managed-agents-tools.md +321 -0
  123. package/built-in-skills/claude-api/shared/managed-agents-webhooks.md +110 -0
  124. package/built-in-skills/claude-api/shared/model-migration.md +779 -0
  125. package/built-in-skills/claude-api/shared/models.md +121 -0
  126. package/built-in-skills/claude-api/shared/prompt-caching.md +171 -0
  127. package/built-in-skills/claude-api/shared/tool-use-concepts.md +327 -0
  128. package/built-in-skills/claude-api/typescript/claude-api/README.md +333 -0
  129. package/built-in-skills/claude-api/typescript/claude-api/batches.md +106 -0
  130. package/built-in-skills/claude-api/typescript/claude-api/files-api.md +98 -0
  131. package/built-in-skills/claude-api/typescript/claude-api/streaming.md +178 -0
  132. package/built-in-skills/claude-api/typescript/claude-api/tool-use.md +527 -0
  133. package/built-in-skills/claude-api/typescript/managed-agents/README.md +359 -0
  134. package/built-in-skills/doc-coauthoring/SKILL.md +375 -0
  135. package/built-in-skills/frontend-design/LICENSE.txt +177 -0
  136. package/built-in-skills/frontend-design/SKILL.md +42 -0
  137. package/built-in-skills/human-approval/SKILL.md +114 -0
  138. package/built-in-skills/image-generate/SKILL.md +327 -0
  139. package/built-in-skills/ingest/SKILL.md +105 -0
  140. package/built-in-skills/internal-comms/LICENSE.txt +202 -0
  141. package/built-in-skills/internal-comms/SKILL.md +32 -0
  142. package/built-in-skills/internal-comms/examples/3p-updates.md +47 -0
  143. package/built-in-skills/internal-comms/examples/company-newsletter.md +65 -0
  144. package/built-in-skills/internal-comms/examples/faq-answers.md +30 -0
  145. package/built-in-skills/internal-comms/examples/general-comms.md +16 -0
  146. package/built-in-skills/liteparse/SKILL.md +156 -0
  147. package/built-in-skills/mcp-builder/LICENSE.txt +202 -0
  148. package/built-in-skills/mcp-builder/SKILL.md +236 -0
  149. package/built-in-skills/mcp-builder/reference/evaluation.md +602 -0
  150. package/built-in-skills/mcp-builder/reference/mcp_best_practices.md +249 -0
  151. package/built-in-skills/mcp-builder/reference/node_mcp_server.md +970 -0
  152. package/built-in-skills/mcp-builder/reference/python_mcp_server.md +719 -0
  153. package/built-in-skills/mcp-builder/scripts/connections.py +151 -0
  154. package/built-in-skills/mcp-builder/scripts/evaluation.py +373 -0
  155. package/built-in-skills/mcp-builder/scripts/example_evaluation.xml +22 -0
  156. package/built-in-skills/mcp-builder/scripts/requirements.txt +2 -0
  157. package/built-in-skills/memory/SKILL.md +106 -0
  158. package/built-in-skills/memory-curation/SKILL.md +135 -0
  159. package/built-in-skills/office-artifacts/SKILL.md +198 -0
  160. package/built-in-skills/prismer-im-collab/SKILL.md +148 -0
  161. package/built-in-skills/skill-authoring/SKILL.md +124 -0
  162. package/built-in-skills/skill-authoring/skill.json +74 -0
  163. package/built-in-skills/skill-creator/LICENSE.txt +202 -0
  164. package/built-in-skills/skill-creator/SKILL.md +485 -0
  165. package/built-in-skills/skill-creator/agents/analyzer.md +274 -0
  166. package/built-in-skills/skill-creator/agents/comparator.md +202 -0
  167. package/built-in-skills/skill-creator/agents/grader.md +223 -0
  168. package/built-in-skills/skill-creator/assets/eval_review.html +146 -0
  169. package/built-in-skills/skill-creator/eval-viewer/generate_review.py +471 -0
  170. package/built-in-skills/skill-creator/eval-viewer/viewer.html +1325 -0
  171. package/built-in-skills/skill-creator/references/schemas.md +430 -0
  172. package/built-in-skills/skill-creator/scripts/__init__.py +0 -0
  173. package/built-in-skills/skill-creator/scripts/aggregate_benchmark.py +401 -0
  174. package/built-in-skills/skill-creator/scripts/generate_report.py +326 -0
  175. package/built-in-skills/skill-creator/scripts/improve_description.py +247 -0
  176. package/built-in-skills/skill-creator/scripts/package_skill.py +136 -0
  177. package/built-in-skills/skill-creator/scripts/quick_validate.py +103 -0
  178. package/built-in-skills/skill-creator/scripts/run_eval.py +310 -0
  179. package/built-in-skills/skill-creator/scripts/run_loop.py +328 -0
  180. package/built-in-skills/skill-creator/scripts/utils.py +47 -0
  181. package/built-in-skills/slack-gif-creator/LICENSE.txt +202 -0
  182. package/built-in-skills/slack-gif-creator/SKILL.md +271 -0
  183. package/built-in-skills/slack-gif-creator/core/easing.py +234 -0
  184. package/built-in-skills/slack-gif-creator/core/frame_composer.py +176 -0
  185. package/built-in-skills/slack-gif-creator/core/gif_builder.py +269 -0
  186. package/built-in-skills/slack-gif-creator/core/validators.py +136 -0
  187. package/built-in-skills/slack-gif-creator/requirements.txt +4 -0
  188. package/built-in-skills/tasks/SKILL.md +398 -0
  189. package/built-in-skills/team/SKILL.md +76 -0
  190. package/built-in-skills/web-artifacts-builder/LICENSE.txt +202 -0
  191. package/built-in-skills/web-artifacts-builder/SKILL.md +104 -0
  192. package/built-in-skills/web-artifacts-builder/scripts/bundle-artifact.sh +54 -0
  193. package/built-in-skills/web-artifacts-builder/scripts/init-artifact.sh +334 -0
  194. package/built-in-skills/web-artifacts-builder/scripts/shadcn-components.tar.gz +0 -0
  195. package/built-in-skills/webapp-testing/LICENSE.txt +202 -0
  196. package/built-in-skills/webapp-testing/SKILL.md +96 -0
  197. package/built-in-skills/webapp-testing/examples/console_logging.py +35 -0
  198. package/built-in-skills/webapp-testing/examples/element_discovery.py +40 -0
  199. package/built-in-skills/webapp-testing/examples/static_html_automation.py +33 -0
  200. package/built-in-skills/webapp-testing/scripts/with_server.py +106 -0
  201. package/dist/cli.cjs +10239 -3309
  202. package/dist/cli.js +10111 -3183
  203. package/dist/index.cjs +11275 -4344
  204. package/dist/index.d.cts +932 -43
  205. package/dist/index.d.ts +932 -43
  206. package/dist/index.js +13087 -6158
  207. package/package.json +4 -2
@@ -0,0 +1,442 @@
1
+ # Managed Agents — Java
2
+
3
+ > **Bindings not shown here:** This README covers the most common managed-agents flows for Java. If you need a class, method, namespace, field, or behavior that isn't shown, WebFetch the Java 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 `client.beta().agents().create` and pass it to every subsequent `client.beta().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
+ ```xml
10
+ <dependency>
11
+ <groupId>com.anthropic</groupId>
12
+ <artifactId>anthropic-java</artifactId>
13
+ </dependency>
14
+ ```
15
+
16
+ ## Client Initialization
17
+
18
+ ```java
19
+ import com.anthropic.client.okhttp.AnthropicOkHttpClient;
20
+
21
+ // Default (uses ANTHROPIC_API_KEY env var)
22
+ var client = AnthropicOkHttpClient.fromEnv();
23
+ ```
24
+
25
+ ---
26
+
27
+ ## Create an Environment
28
+
29
+ ```java
30
+ import com.anthropic.models.beta.environments.BetaCloudConfigParams;
31
+ import com.anthropic.models.beta.environments.EnvironmentCreateParams;
32
+ import com.anthropic.models.beta.environments.UnrestrictedNetwork;
33
+
34
+ var environment = client.beta().environments().create(EnvironmentCreateParams.builder()
35
+ .name("my-dev-env")
36
+ .config(BetaCloudConfigParams.builder()
37
+ .networking(UnrestrictedNetwork.builder().build())
38
+ .build())
39
+ .build());
40
+ System.out.println("Environment ID: " + environment.id()); // env_...
41
+ ```
42
+
43
+ ---
44
+
45
+ ## Create an Agent (required first step)
46
+
47
+ > ⚠️ **There is no inline agent config.** Model, system, and tools live on the agent object, not the session. Always start with `client.beta().agents().create()` — the session takes either `.agent(agent.id())` or the typed `BetaManagedAgentsAgentParams.builder()...build()`.
48
+
49
+ ### Minimal
50
+
51
+ ```java
52
+ import com.anthropic.models.beta.agents.AgentCreateParams;
53
+ import com.anthropic.models.beta.agents.BetaManagedAgentsAgentToolset20260401Params;
54
+ import com.anthropic.models.beta.sessions.BetaManagedAgentsAgentParams;
55
+ import com.anthropic.models.beta.sessions.SessionCreateParams;
56
+
57
+ // 1. Create the agent (reusable, versioned)
58
+ var agent = client.beta().agents().create(AgentCreateParams.builder()
59
+ .name("Coding Assistant")
60
+ .model("claude-opus-4-7")
61
+ .system("You are a helpful coding assistant.")
62
+ .addTool(BetaManagedAgentsAgentToolset20260401Params.builder()
63
+ .type(BetaManagedAgentsAgentToolset20260401Params.Type.AGENT_TOOLSET_20260401)
64
+ .build())
65
+ .build());
66
+
67
+ // 2. Start a session
68
+ var session = client.beta().sessions().create(SessionCreateParams.builder()
69
+ .agent(BetaManagedAgentsAgentParams.builder()
70
+ .type(BetaManagedAgentsAgentParams.Type.AGENT)
71
+ .id(agent.id())
72
+ .version(agent.version())
73
+ .build())
74
+ .environmentId(environment.id())
75
+ .title("Quickstart session")
76
+ .build());
77
+ System.out.println("Session ID: " + session.id());
78
+ ```
79
+
80
+ ### Updating an Agent
81
+
82
+ Updates create new versions; the agent object is immutable per version.
83
+
84
+ ```java
85
+ import com.anthropic.models.beta.agents.AgentUpdateParams;
86
+
87
+ var updatedAgent = client.beta().agents().update(agent.id(), AgentUpdateParams.builder()
88
+ .version(agent.version())
89
+ .system("You are a helpful coding agent. Always write tests.")
90
+ .build());
91
+ System.out.println("New version: " + updatedAgent.version());
92
+
93
+ // List all versions
94
+ for (var version : client.beta().agents().versions().list(agent.id()).autoPager()) {
95
+ System.out.println("Version " + version.version() + ": " + version.updatedAt());
96
+ }
97
+
98
+ // Archive the agent
99
+ var archived = client.beta().agents().archive(agent.id());
100
+ System.out.println("Archived at: " + archived.archivedAt().orElseThrow());
101
+ ```
102
+
103
+ ---
104
+
105
+ ## Send a User Message
106
+
107
+ ```java
108
+ import com.anthropic.models.beta.sessions.events.BetaManagedAgentsUserMessageEventParams;
109
+ import com.anthropic.models.beta.sessions.events.EventSendParams;
110
+
111
+ client.beta().sessions().events().send(session.id(), EventSendParams.builder()
112
+ .addEvent(BetaManagedAgentsUserMessageEventParams.builder()
113
+ .type(BetaManagedAgentsUserMessageEventParams.Type.USER_MESSAGE)
114
+ .addTextContent("Review the auth module")
115
+ .build())
116
+ .build());
117
+ ```
118
+
119
+ > 💡 **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).
120
+
121
+ ---
122
+
123
+ ## Stream Events (SSE)
124
+
125
+ ```java
126
+ import com.anthropic.models.beta.sessions.events.StreamEvents;
127
+
128
+ // Open the stream first, then send the user message
129
+ try (var stream = client.beta().sessions().events().streamStreaming(session.id())) {
130
+ client.beta().sessions().events().send(session.id(), EventSendParams.builder()
131
+ .addEvent(BetaManagedAgentsUserMessageEventParams.builder()
132
+ .type(BetaManagedAgentsUserMessageEventParams.Type.USER_MESSAGE)
133
+ .addTextContent("Summarize the repo README")
134
+ .build())
135
+ .build());
136
+
137
+ for (var event : (Iterable<StreamEvents>) stream.stream()::iterator) {
138
+ if (event.isAgentMessage()) {
139
+ event.asAgentMessage().content().forEach(block -> System.out.print(block.text()));
140
+ } else if (event.isAgentToolUse()) {
141
+ System.out.println("\n[Using tool: " + event.asAgentToolUse().name() + "]");
142
+ } else if (event.isSessionStatusIdle()) {
143
+ break;
144
+ } else if (event.isSessionError()) {
145
+ System.out.println("\n[Error]");
146
+ break;
147
+ }
148
+ }
149
+ }
150
+ ```
151
+
152
+ ### Reconnecting and Tailing
153
+
154
+ When reconnecting mid-session, list past events first to dedupe, then tail live events. The cross-variant `id` field is read from the raw `_json()` value:
155
+
156
+ ```java
157
+ import com.anthropic.core.JsonValue;
158
+ import java.util.HashSet;
159
+ import java.util.Map;
160
+ import java.util.Optional;
161
+
162
+ try (var stream = client.beta().sessions().events().streamStreaming(session.id())) {
163
+ // Stream is open and buffering. List history before tailing live.
164
+ var seenEventIds = new HashSet<String>();
165
+ for (var past : client.beta().sessions().events().list(session.id()).autoPager()) {
166
+ Optional<Map<String, JsonValue>> obj = past._json().orElseThrow().asObject();
167
+ seenEventIds.add(obj.orElseThrow().get("id").asStringOrThrow());
168
+ }
169
+
170
+ // Tail live events, skipping anything already seen
171
+ for (var event : (Iterable<StreamEvents>) stream.stream()::iterator) {
172
+ Optional<Map<String, JsonValue>> obj = event._json().orElseThrow().asObject();
173
+ if (!seenEventIds.add(obj.orElseThrow().get("id").asStringOrThrow())) continue;
174
+ if (event.isAgentMessage()) {
175
+ event.asAgentMessage().content().forEach(block -> System.out.print(block.text()));
176
+ } else if (event.isSessionStatusIdle()) {
177
+ break;
178
+ }
179
+ }
180
+ }
181
+ ```
182
+
183
+ ---
184
+
185
+ ## Provide Custom Tool Result
186
+
187
+ > ℹ️ The Java managed-agents bindings for `user.custom_tool_result` are not yet documented in this skill or in the apps source examples. Refer to `shared/managed-agents-events.md` for the wire format and the `anthropic-java` repository for the corresponding params types.
188
+
189
+ ---
190
+
191
+ ## Poll Events
192
+
193
+ ```java
194
+ for (var event : client.beta().sessions().events().list(session.id()).autoPager()) {
195
+ System.out.println(event.type() + ": " + event);
196
+ }
197
+ ```
198
+
199
+ ---
200
+
201
+ ## Upload a File
202
+
203
+ ```java
204
+ import com.anthropic.models.beta.files.FileUploadParams;
205
+ import com.anthropic.models.beta.sessions.BetaManagedAgentsFileResourceParams;
206
+ import java.nio.file.Path;
207
+
208
+ var dataCsv = Path.of("data.csv");
209
+
210
+ var file = client.beta().files().upload(FileUploadParams.builder()
211
+ .file(dataCsv)
212
+ .build());
213
+ System.out.println("File ID: " + file.id());
214
+
215
+ // Mount in a session
216
+ var session = client.beta().sessions().create(SessionCreateParams.builder()
217
+ .agent(agent.id())
218
+ .environmentId(environment.id())
219
+ .addResource(BetaManagedAgentsFileResourceParams.builder()
220
+ .type(BetaManagedAgentsFileResourceParams.Type.FILE)
221
+ .fileId(file.id())
222
+ .mountPath("/workspace/data.csv")
223
+ .build())
224
+ .build());
225
+ ```
226
+
227
+ ### Add and Manage Resources on an Existing Session
228
+
229
+ ```java
230
+ import com.anthropic.models.beta.sessions.resources.ResourceAddParams;
231
+ import com.anthropic.models.beta.sessions.resources.ResourceDeleteParams;
232
+
233
+ // Attach an additional file to an open session
234
+ var resource = client.beta().sessions().resources().add(session.id(), ResourceAddParams.builder()
235
+ .betaManagedAgentsFileResourceParams(BetaManagedAgentsFileResourceParams.builder()
236
+ .type(BetaManagedAgentsFileResourceParams.Type.FILE)
237
+ .fileId(file.id())
238
+ .build())
239
+ .build());
240
+ System.out.println(resource.id()); // "sesrsc_01ABC..."
241
+
242
+ // List resources on the session — entries are a discriminated union
243
+ var listed = client.beta().sessions().resources().list(session.id());
244
+ for (var entry : listed.data()) {
245
+ if (entry.isFile()) {
246
+ var fileResource = entry.asFile();
247
+ System.out.println(fileResource.id() + " " + fileResource.type());
248
+ } else if (entry.isGitHubRepository()) {
249
+ var repoResource = entry.asGitHubRepository();
250
+ System.out.println(repoResource.id() + " " + repoResource.type());
251
+ }
252
+ }
253
+
254
+ // Detach a resource
255
+ client.beta().sessions().resources().delete(resource.id(), ResourceDeleteParams.builder()
256
+ .sessionId(session.id())
257
+ .build());
258
+ ```
259
+
260
+ ---
261
+
262
+ ## List and Download Session Files
263
+
264
+ > ℹ️ Listing and downloading files an agent wrote during a session is not yet documented for Java in this skill or in the apps source examples. See `shared/managed-agents-events.md` and the `anthropic-java` repository for the file list/download bindings.
265
+
266
+ ---
267
+
268
+ ## Session Management
269
+
270
+ ```java
271
+ // List environments
272
+ var environments = client.beta().environments().list();
273
+
274
+ // Retrieve a specific environment
275
+ var env = client.beta().environments().retrieve(environment.id());
276
+
277
+ // Archive an environment (read-only, existing sessions continue)
278
+ client.beta().environments().archive(environment.id());
279
+
280
+ // Delete an environment (only if no sessions reference it)
281
+ client.beta().environments().delete(environment.id());
282
+
283
+ // Delete a session
284
+ client.beta().sessions().delete(session.id());
285
+ ```
286
+
287
+ ---
288
+
289
+ ## MCP Server Integration
290
+
291
+ ```java
292
+ import com.anthropic.models.beta.agents.BetaManagedAgentsMcpToolsetParams;
293
+ import com.anthropic.models.beta.agents.BetaManagedAgentsUrlmcpServerParams;
294
+
295
+ // Agent declares MCP server (no auth here — auth goes in a vault)
296
+ var agent = client.beta().agents().create(AgentCreateParams.builder()
297
+ .name("GitHub Assistant")
298
+ .model("claude-opus-4-7")
299
+ .addMcpServer(BetaManagedAgentsUrlmcpServerParams.builder()
300
+ .type(BetaManagedAgentsUrlmcpServerParams.Type.URL)
301
+ .name("github")
302
+ .url("https://api.githubcopilot.com/mcp/")
303
+ .build())
304
+ .addTool(BetaManagedAgentsAgentToolset20260401Params.builder()
305
+ .type(BetaManagedAgentsAgentToolset20260401Params.Type.AGENT_TOOLSET_20260401)
306
+ .build())
307
+ .addTool(BetaManagedAgentsMcpToolsetParams.builder()
308
+ .type(BetaManagedAgentsMcpToolsetParams.Type.MCP_TOOLSET)
309
+ .mcpServerName("github")
310
+ .build())
311
+ .build());
312
+
313
+ // Session attaches vault(s) containing credentials for those MCP server URLs
314
+ var session = client.beta().sessions().create(SessionCreateParams.builder()
315
+ .agent(BetaManagedAgentsAgentParams.builder()
316
+ .type(BetaManagedAgentsAgentParams.Type.AGENT)
317
+ .id(agent.id())
318
+ .version(agent.version())
319
+ .build())
320
+ .environmentId(environment.id())
321
+ .addVaultId(vault.id())
322
+ .build());
323
+ ```
324
+
325
+ See `shared/managed-agents-tools.md` §Vaults for creating vaults and adding credentials.
326
+
327
+ ---
328
+
329
+ ## Vaults
330
+
331
+ ```java
332
+ import com.anthropic.core.JsonValue;
333
+ import com.anthropic.models.beta.vaults.VaultCreateParams;
334
+ import com.anthropic.models.beta.vaults.credentials.BetaManagedAgentsMcpOAuthCreateParams;
335
+ import com.anthropic.models.beta.vaults.credentials.BetaManagedAgentsMcpOAuthRefreshParams;
336
+ import com.anthropic.models.beta.vaults.credentials.BetaManagedAgentsMcpOAuthRefreshUpdateParams;
337
+ import com.anthropic.models.beta.vaults.credentials.BetaManagedAgentsMcpOAuthUpdateParams;
338
+ import com.anthropic.models.beta.vaults.credentials.CredentialCreateParams;
339
+ import com.anthropic.models.beta.vaults.credentials.CredentialUpdateParams;
340
+ import java.time.OffsetDateTime;
341
+
342
+ // Create a vault
343
+ var vault = client.beta().vaults().create(VaultCreateParams.builder()
344
+ .displayName("Alice")
345
+ .metadata(VaultCreateParams.Metadata.builder()
346
+ .putAdditionalProperty("external_user_id", JsonValue.from("usr_abc123"))
347
+ .build())
348
+ .build());
349
+ System.out.println(vault.id()); // "vlt_01ABC..."
350
+
351
+ // Add an OAuth credential
352
+ var credential = client.beta().vaults().credentials().create(vault.id(),
353
+ CredentialCreateParams.builder()
354
+ .displayName("Alice's Slack")
355
+ .auth(BetaManagedAgentsMcpOAuthCreateParams.builder()
356
+ .type(BetaManagedAgentsMcpOAuthCreateParams.Type.MCP_OAUTH)
357
+ .mcpServerUrl("https://mcp.slack.com/mcp")
358
+ .accessToken("xoxp-...")
359
+ .expiresAt(OffsetDateTime.parse("2026-04-15T00:00:00Z"))
360
+ .refresh(BetaManagedAgentsMcpOAuthRefreshParams.builder()
361
+ .tokenEndpoint("https://slack.com/api/oauth.v2.access")
362
+ .clientId("1234567890.0987654321")
363
+ .scope("channels:read chat:write")
364
+ .refreshToken("xoxe-1-...")
365
+ .clientSecretPostTokenEndpointAuth("abc123...")
366
+ .build())
367
+ .build())
368
+ .build());
369
+
370
+ // Rotate the credential (e.g., after a token refresh)
371
+ client.beta().vaults().credentials().update(credential.id(),
372
+ CredentialUpdateParams.builder()
373
+ .vaultId(vault.id())
374
+ .auth(BetaManagedAgentsMcpOAuthUpdateParams.builder()
375
+ .type(BetaManagedAgentsMcpOAuthUpdateParams.Type.MCP_OAUTH)
376
+ .accessToken("xoxp-new-...")
377
+ .expiresAt(OffsetDateTime.parse("2026-05-15T00:00:00Z"))
378
+ .refresh(BetaManagedAgentsMcpOAuthRefreshUpdateParams.builder()
379
+ .refreshToken("xoxe-1-new-...")
380
+ .build())
381
+ .build())
382
+ .build());
383
+
384
+ // Archive a vault
385
+ client.beta().vaults().archive(vault.id());
386
+ ```
387
+
388
+ ---
389
+
390
+ ## GitHub Repository Integration
391
+
392
+ Mount a GitHub repository as a session resource (a vault holds the GitHub MCP credential):
393
+
394
+ ```java
395
+ import com.anthropic.models.beta.sessions.BetaManagedAgentsGitHubRepositoryResourceParams;
396
+
397
+ var session = client.beta().sessions().create(SessionCreateParams.builder()
398
+ .agent(agent.id())
399
+ .environmentId(environment.id())
400
+ .addVaultId(vault.id())
401
+ .addResource(BetaManagedAgentsGitHubRepositoryResourceParams.builder()
402
+ .type(BetaManagedAgentsGitHubRepositoryResourceParams.Type.GITHUB_REPOSITORY)
403
+ .url("https://github.com/org/repo")
404
+ .mountPath("/workspace/repo")
405
+ .authorizationToken("ghp_your_github_token")
406
+ .build())
407
+ .build());
408
+ ```
409
+
410
+ Multiple repositories on the same session:
411
+
412
+ ```java
413
+ import java.util.List;
414
+
415
+ var resources = List.of(
416
+ BetaManagedAgentsGitHubRepositoryResourceParams.builder()
417
+ .type(BetaManagedAgentsGitHubRepositoryResourceParams.Type.GITHUB_REPOSITORY)
418
+ .url("https://github.com/org/frontend")
419
+ .mountPath("/workspace/frontend")
420
+ .authorizationToken("ghp_your_github_token")
421
+ .build(),
422
+ BetaManagedAgentsGitHubRepositoryResourceParams.builder()
423
+ .type(BetaManagedAgentsGitHubRepositoryResourceParams.Type.GITHUB_REPOSITORY)
424
+ .url("https://github.com/org/backend")
425
+ .mountPath("/workspace/backend")
426
+ .authorizationToken("ghp_your_github_token")
427
+ .build());
428
+ ```
429
+
430
+ Rotating a repository's authorization token:
431
+
432
+ ```java
433
+ import com.anthropic.models.beta.sessions.resources.ResourceUpdateParams;
434
+
435
+ var listed = client.beta().sessions().resources().list(session.id());
436
+ var repoResourceId = listed.data().get(0).asGitHubRepository().id();
437
+
438
+ client.beta().sessions().resources().update(repoResourceId, ResourceUpdateParams.builder()
439
+ .sessionId(session.id())
440
+ .authorizationToken("ghp_your_new_github_token")
441
+ .build());
442
+ ```