Skip to content

feat(node): Add responses.create to orchestrion OpenAI integration#21880

Merged
nicohrubec merged 1 commit into
nh/openai-orchestrionfrom
nh/openai-orchestrion-responses
Jul 1, 2026
Merged

feat(node): Add responses.create to orchestrion OpenAI integration#21880
nicohrubec merged 1 commit into
nh/openai-orchestrionfrom
nh/openai-orchestrion-responses

Conversation

@nicohrubec

Copy link
Copy Markdown
Member

Stacked on #21877 (base: nh/openai-orchestrion) — review/merge that first.

Adds a diagnostics-channel (orchestrion) path for non-streaming responses.create, alongside the chat.completions.create support from the parent PR. responses.create maps to the chat operation (same gen_ai.chat span shape as chat completions), matching the proxy's OPENAI_METHOD_REGISTRY.

No new attribute logic: addResponseAttributes already handles the Responses shape (status → finish_reasons, output_text → response text, output[].type === 'function_call' → tool calls, input_tokens/output_tokens). Tool-call capture therefore works for responses.create for free. The subscriber is generalized from a single hardcoded channel to a { channel, operation } table.

Changes:

  • orchestrion/channels.ts: add OPENAI_RESPONSES: 'orchestrion:openai:responses'.
  • orchestrion/config.ts: inject Responses.create (resources/responses/responses.js + .mjs).
  • integrations/tracing-channel/openai.ts: subscribe to both channels via the operation table; createChatSpancreateGenAiSpan(data, operation, options).
  • Extend the orchestrion integration test with responses assertions (recording-disabled + PII).

Scope: non-streaming only. Streaming and embeddings/conversations remain follow-ups.

🤖 Generated with Claude Code

@github-actions

github-actions Bot commented Jul 1, 2026

Copy link
Copy Markdown
Contributor

size-limit report 📦

Path Size % Change Change
@sentry/browser 27.62 kB added added
@sentry/browser - with treeshaking flags 26.05 kB added added
@sentry/browser (incl. Tracing) 46.07 kB added added
@sentry/browser (incl. Tracing + Span Streaming) 47.82 kB added added
@sentry/browser (incl. Tracing, Profiling) 50.84 kB added added
@sentry/browser (incl. Tracing, Replay) 85.31 kB added added
@sentry/browser (incl. Tracing, Replay) - with treeshaking flags 74.91 kB added added
@sentry/browser (incl. Tracing, Replay with Canvas) 89.99 kB added added
@sentry/browser (incl. Tracing, Replay, Feedback) 102.67 kB added added
@sentry/browser (incl. Feedback) 44.8 kB added added
@sentry/browser (incl. sendFeedback) 32.42 kB added added
@sentry/browser (incl. FeedbackAsync) 37.55 kB added added
@sentry/browser (incl. Metrics) 28.68 kB added added
@sentry/browser (incl. Logs) 28.93 kB added added
@sentry/browser (incl. Metrics & Logs) 29.61 kB added added
@sentry/react 29.41 kB added added
@sentry/react (incl. Tracing) 48.38 kB added added
@sentry/vue 32.85 kB added added
@sentry/vue (incl. Tracing) 47.93 kB added added
@sentry/svelte 27.64 kB added added
CDN Bundle 30.02 kB added added
CDN Bundle (incl. Tracing) 48.02 kB added added
CDN Bundle (incl. Logs, Metrics) 31.58 kB added added
CDN Bundle (incl. Tracing, Logs, Metrics) 49.35 kB added added
CDN Bundle (incl. Replay, Logs, Metrics) 70.79 kB added added
CDN Bundle (incl. Tracing, Replay) 85.51 kB added added
CDN Bundle (incl. Tracing, Replay, Logs, Metrics) 86.79 kB added added
CDN Bundle (incl. Tracing, Replay, Feedback) 91.32 kB added added
CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) 92.56 kB added added
CDN Bundle - uncompressed 89.42 kB added added
CDN Bundle (incl. Tracing) - uncompressed 145.35 kB added added
CDN Bundle (incl. Logs, Metrics) - uncompressed 94.12 kB added added
CDN Bundle (incl. Tracing, Logs, Metrics) - uncompressed 149.32 kB added added
CDN Bundle (incl. Replay, Logs, Metrics) - uncompressed 218.66 kB added added
CDN Bundle (incl. Tracing, Replay) - uncompressed 264.36 kB added added
CDN Bundle (incl. Tracing, Replay, Logs, Metrics) - uncompressed 268.32 kB added added
CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed 278.06 kB added added
CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) - uncompressed 282.01 kB added added
@sentry/nextjs (client) 50.76 kB added added
@sentry/sveltekit (client) 46.46 kB added added
@sentry/core/server 77.77 kB added added
@sentry/core/browser 64.07 kB added added
@sentry/node-core 61.47 kB added added
@sentry/node 122.07 kB added added
@sentry/node/import (ESM hook with diagnostics-channel injection) 69.95 kB added added
@sentry/node/light 50.45 kB added added
@sentry/node - without tracing 73.2 kB added added
@sentry/aws-serverless 84.09 kB added added
@sentry/cloudflare (withSentry) - minified 180.62 kB added added
@sentry/cloudflare (withSentry) 446.93 kB added added

Adds a diagnostics-channel (orchestrion) path for non-streaming
`responses.create`, alongside the existing `chat.completions.create`. Reuses
the shared core attribute helpers (responses shape already handled) and
generalizes the subscriber to a per-channel operation table.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@nicohrubec nicohrubec force-pushed the nh/openai-orchestrion-responses branch from b33f3cf to a65ccd5 Compare July 1, 2026 11:44
@nicohrubec nicohrubec merged commit a65ccd5 into nh/openai-orchestrion Jul 1, 2026
5 checks passed
@nicohrubec nicohrubec deleted the nh/openai-orchestrion-responses branch July 1, 2026 11:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant