Add OpenAI Agents, Strands Agents, and Claude Managed Agents Guard examples - #211
Conversation
…xamples Add standalone JS Guard demos for @arcjet/guard/openai-agents/v0, @arcjet/guard/strands-agents/v1, and vendored claude-managed-agents/v0. Update root README, compose.yaml, and prepare-to-publish workspaces. Co-authored-by: David Mytton <davidmytton@users.noreply.github.com>
|
Review the following changes in direct dependencies. Learn more about Socket for GitHub.
|
|
Caution Review the following alerts detected in dependencies. According to your organization's Security Policy, you must resolve all "Block" alerts before proceeding. It is recommended to resolve "Warn" alerts too. Learn more about Socket for GitHub.
|
Stop Claude Managed on end_turn idle, abort the SSE stream, and serialize harness creation. Collect Strands tool results from agent.messages. Use a per-example OpenAI Runner instead of a nested agents-openai import, and align HTTP error handling plus compose include order. Co-authored-by: David Mytton <davidmytton@users.noreply.github.com>
There was a problem hiding this comment.
Arcjet Review — 🔴 High Risk
Decision: Cannot Assess
Rationale: Review failed due to an internal error: unknown error. Escalating to human reviewers.
Review: 61f3359e | Powered by Arcjet Review
There was a problem hiding this comment.
Arcjet Review — 🔴 High Risk
Decision: Cannot Assess
Rationale: Review failed due to an internal error: unknown error. Escalating to human reviewers.
Review: 6721f197 | Powered by Arcjet Review
Summary
Adds three standalone JavaScript Guard agent examples and updates the repository catalog:
examples/openai-agent— OpenAI Agents JS (@openai/agents@0.17.0) with@arcjet/guard/openai-agents/v0(guardTool, inbound screen beforerun())examples/strands-agent— Strands Agents JS (@strands-agents/sdk@1.14.0) with@arcjet/guard/strands-agents/v1(guardTool+guardHooksplugin)examples/claude-managed-agent— Claude Managed Agents hosted harness (@anthropic-ai/sdk@0.123.0) with vendored@arcjet/guard/claude-managed-agents/v0from arcjet-jscb35c8f9(unpublished adapter +@arcjet/transport/http2)Each example follows existing agent demo conventions: support-agent scenario, caller-owned correlation id, fail-closed guard errors, HTML demo page, Docker/compose/devcontainer, and
npm run typecheck.Catalog updates
README.mdUse cases listcompose.yamlincludes for all three examples (alpha order)scripts/prepare-to-publish.tsworkspaces arrayCompared existing JS Guard integrations in the repo against the README; all other agent examples were already listed — only these three were missing.
Review follow-up
session.status_idlewithstop_reason.type === "end_turn"(notrequires_action); abort the SSE stream infinally; serialize agent/environment creation.agent.messages.OpenAIProvider/Runnerimported from@openai/agents(no nested@openai/agents-openaiimport); typedRunItemtool-output collection.Verification
Notes
@arcjet/guard@1.11.0(published adapters).google-adk-agent/tanstack-agent) until@arcjet/guard/claude-managed-agents/v0ships on npm.