From 16be7e6a1360f031ad94f4b1b87b36ca51829dbc Mon Sep 17 00:00:00 2001 From: Gakshith <142567707+Gakshith@users.noreply.github.com> Date: Sat, 22 Aug 2026 22:21:13 -0700 Subject: [PATCH 1/2] docs(skill): make the auto mode provider list per-language The list was one flat set, but the default set differs by language: Python bundles 7 adapters, TypeScript bundles 9. So the old line was wrong either way. LiteLLM is opt-in in both. Ollama and Google GenAI were missing for Python, OpenRouter and Writer for TypeScript, and Cohere was listed as automatic when it only is on TypeScript. Also says the instrumentation adapter is bundled rather than the provider SDK, to match the paragraph further down. --- skills/references/tracing.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/skills/references/tracing.md b/skills/references/tracing.md index b73a871a..ef209a68 100644 --- a/skills/references/tracing.md +++ b/skills/references/tracing.md @@ -30,7 +30,7 @@ The API key is stored in `.env` as `RESPAN_API_KEY`. **Before analyzing anything, ask the user which setup they want.** This is the first question — the two branches diverge immediately. -1. **Auto** — the fastest path. Install the core SDK and add `Respan()` (one line). Every LLM call from a supported direct SDK — OpenAI, Anthropic, Azure OpenAI, Bedrock, Vertex, Cohere, Together, Gemini, LiteLLM — is automatically captured as a flat span. **No decorators and no framework instrumentor, even if a framework is detected.** Best for a quick start or a live demo: traces flowing in under two minutes. +1. **Auto** — the fastest path. Install the core SDK and add `Respan()` (one line). Every LLM call from a direct SDK whose Respan instrumentation adapter the facade bundles for that language is automatically captured as a flat span. **Python:** OpenAI, Azure OpenAI, Anthropic, Vertex AI, Google GenAI, Bedrock, Together AI, Ollama. **TypeScript:** OpenAI, Azure OpenAI, Anthropic, Vertex AI, Bedrock, Cohere, Together AI, OpenRouter, Writer. Any other provider needs the Full path. **No decorators and no framework instrumentor, even if a framework is detected.** Best for a quick start or a live demo: traces flowing in under two minutes. 2. **Full** — structured setup. Adds framework-specific instrumentation and/or workflow structure on top: - **Explicit instrumentor** — for agent frameworks (LangChain, CrewAI, OpenAI Agents, Claude Agent SDK, LlamaIndex, Haystack, …) so the framework's agent / tool / chain structure is captured. - **Decorators** — wrap the user's own functions with `@workflow` / `@task` for nested spans. From 1ec81cac00b0efcb21786fb3d89d6a0bfb1b6d24 Mon Sep 17 00:00:00 2001 From: Gakshith <142567707+Gakshith@users.noreply.github.com> Date: Sat, 22 Aug 2026 22:21:13 -0700 Subject: [PATCH 2/2] chore(cli): rebuild the generated skill files PR #323 edited skills/references/tracing.md but did not rerun the generators, so the CLI bundle and both plugin copies still shipped the old table. This is generator output only, plus the release intent. --- .../20260822-auto-provider-list.json | 6 +++++ .../skills/respan/references/tracing.md | 26 +++++++++++-------- .../skills/respan/references/tracing.md | 26 +++++++++++-------- .../src/lib/skill-refs.generated.ts | 26 +++++++++++-------- 4 files changed, 51 insertions(+), 33 deletions(-) create mode 100644 .release-intents/20260822-auto-provider-list.json diff --git a/.release-intents/20260822-auto-provider-list.json b/.release-intents/20260822-auto-provider-list.json new file mode 100644 index 00000000..0392b253 --- /dev/null +++ b/.release-intents/20260822-auto-provider-list.json @@ -0,0 +1,6 @@ +{ + "summary": "Fix the auto mode provider list in the tracing skill and rebuild the generated skill files", + "packages": { + "@respan/cli": "patch" + } +} diff --git a/claude-plugin/skills/respan/references/tracing.md b/claude-plugin/skills/respan/references/tracing.md index d32c535b..ef209a68 100644 --- a/claude-plugin/skills/respan/references/tracing.md +++ b/claude-plugin/skills/respan/references/tracing.md @@ -30,7 +30,7 @@ The API key is stored in `.env` as `RESPAN_API_KEY`. **Before analyzing anything, ask the user which setup they want.** This is the first question — the two branches diverge immediately. -1. **Auto** — the fastest path. Install the core SDK and add `Respan()` (one line). Every LLM call from a supported direct SDK — OpenAI, Anthropic, Azure OpenAI, Bedrock, Vertex, Cohere, Together, Gemini, LiteLLM — is automatically captured as a flat span. **No decorators and no framework instrumentor, even if a framework is detected.** Best for a quick start or a live demo: traces flowing in under two minutes. +1. **Auto** — the fastest path. Install the core SDK and add `Respan()` (one line). Every LLM call from a direct SDK whose Respan instrumentation adapter the facade bundles for that language is automatically captured as a flat span. **Python:** OpenAI, Azure OpenAI, Anthropic, Vertex AI, Google GenAI, Bedrock, Together AI, Ollama. **TypeScript:** OpenAI, Azure OpenAI, Anthropic, Vertex AI, Bedrock, Cohere, Together AI, OpenRouter, Writer. Any other provider needs the Full path. **No decorators and no framework instrumentor, even if a framework is detected.** Best for a quick start or a live demo: traces flowing in under two minutes. 2. **Full** — structured setup. Adds framework-specific instrumentation and/or workflow structure on top: - **Explicit instrumentor** — for agent frameworks (LangChain, CrewAI, OpenAI Agents, Claude Agent SDK, LlamaIndex, Haystack, …) so the framework's agent / tool / chain structure is captured. - **Decorators** — wrap the user's own functions with `@workflow` / `@task` for nested spans. @@ -107,19 +107,23 @@ If a Priority 1 framework is found, use its instrumentation. Do NOT also add Pri **Priority 2 — Direct LLM SDKs** (only if no P1 framework covers this provider): -These are **auto-instrumented** — just `Respan()` / `new Respan()`, no extra packages needed: +The integrations listed for each language are **auto-instrumented** with `Respan()` / `new Respan()`. The application still provides the provider SDK; the matching first-party instrumentation adapter is bundled by the Respan facade. A dash means that language currently requires an explicit instrumentation package and instrumentor. -| Library | Python package | JS/TS package | Docs | -|---------|---------------|---------------|------| +| Library | Python SDK (auto) | JS/TS SDK (auto) | Docs | +|---------|-------------------|------------------|------| | OpenAI SDK | `openai` | `openai` | [docs](https://respan.ai/docs/integrations/openai-sdk.md) | | Anthropic SDK | `anthropic` | `@anthropic-ai/sdk` | [docs](https://respan.ai/docs/integrations/anthropic.md) | -| Azure OpenAI | `openai` (azure config) | `openai` | [docs](https://respan.ai/docs/integrations/providers/azure.md) | -| Google Vertex AI | `google-cloud-aiplatform` | — | [docs](https://respan.ai/docs/integrations/vertex-ai.md) | -| AWS Bedrock | `boto3` | — | [docs](https://respan.ai/docs/integrations/aws-bedrock.md) | -| Cohere | `cohere` | — | [docs](https://respan.ai/docs/integrations/providers/cohere.md) | -| Together AI | `together` | — | [docs](https://respan.ai/docs/integrations/together-ai.md) | - -**Note:** LiteLLM in JS uses the OpenAI-compatible API, so the OpenAI auto-instrument covers it. For Python LiteLLM, see [LiteLLM guide](https://respan.ai/docs/integrations/litellm.md). For Google GenAI (`@google/genai`), see [Google GenAI guide](https://respan.ai/docs/integrations/google-genai.md). +| Azure OpenAI | `openai` (Azure config) | `openai` (Azure client) | [docs](https://respan.ai/docs/integrations/providers/azure.md) | +| Google Vertex AI | `google-cloud-aiplatform` | `@google-cloud/vertexai` | [docs](https://respan.ai/docs/integrations/vertex-ai.md) | +| Google GenAI | `google-genai` | — | [docs](https://respan.ai/docs/integrations/google-genai.md) | +| AWS Bedrock | `boto3` | `@aws-sdk/client-bedrock-runtime` | [docs](https://respan.ai/docs/integrations/aws-bedrock.md) | +| Cohere | — | `cohere-ai` | [docs](https://respan.ai/docs/integrations/providers/cohere.md) | +| Together AI | `together` | `together-ai` | [docs](https://respan.ai/docs/integrations/together-ai.md) | +| OpenRouter | — | `@openrouter/sdk` | [docs](https://respan.ai/docs/integrations/providers/openrouter.md) | +| Writer | — | `writer-sdk` | [docs](https://respan.ai/docs/integrations/writer.md) | +| Ollama | `ollama` | — | [docs](https://respan.ai/docs/integrations/ollama.md) | + +**Note:** LLM wrappers such as Python LiteLLM stay explicit-only to avoid overlapping provider spans. See the [LiteLLM guide](https://respan.ai/docs/integrations/litellm.md) for its explicit setup. **1c. Read the actual code and understand the workflow:** diff --git a/cursor-plugin/skills/respan/references/tracing.md b/cursor-plugin/skills/respan/references/tracing.md index d32c535b..ef209a68 100644 --- a/cursor-plugin/skills/respan/references/tracing.md +++ b/cursor-plugin/skills/respan/references/tracing.md @@ -30,7 +30,7 @@ The API key is stored in `.env` as `RESPAN_API_KEY`. **Before analyzing anything, ask the user which setup they want.** This is the first question — the two branches diverge immediately. -1. **Auto** — the fastest path. Install the core SDK and add `Respan()` (one line). Every LLM call from a supported direct SDK — OpenAI, Anthropic, Azure OpenAI, Bedrock, Vertex, Cohere, Together, Gemini, LiteLLM — is automatically captured as a flat span. **No decorators and no framework instrumentor, even if a framework is detected.** Best for a quick start or a live demo: traces flowing in under two minutes. +1. **Auto** — the fastest path. Install the core SDK and add `Respan()` (one line). Every LLM call from a direct SDK whose Respan instrumentation adapter the facade bundles for that language is automatically captured as a flat span. **Python:** OpenAI, Azure OpenAI, Anthropic, Vertex AI, Google GenAI, Bedrock, Together AI, Ollama. **TypeScript:** OpenAI, Azure OpenAI, Anthropic, Vertex AI, Bedrock, Cohere, Together AI, OpenRouter, Writer. Any other provider needs the Full path. **No decorators and no framework instrumentor, even if a framework is detected.** Best for a quick start or a live demo: traces flowing in under two minutes. 2. **Full** — structured setup. Adds framework-specific instrumentation and/or workflow structure on top: - **Explicit instrumentor** — for agent frameworks (LangChain, CrewAI, OpenAI Agents, Claude Agent SDK, LlamaIndex, Haystack, …) so the framework's agent / tool / chain structure is captured. - **Decorators** — wrap the user's own functions with `@workflow` / `@task` for nested spans. @@ -107,19 +107,23 @@ If a Priority 1 framework is found, use its instrumentation. Do NOT also add Pri **Priority 2 — Direct LLM SDKs** (only if no P1 framework covers this provider): -These are **auto-instrumented** — just `Respan()` / `new Respan()`, no extra packages needed: +The integrations listed for each language are **auto-instrumented** with `Respan()` / `new Respan()`. The application still provides the provider SDK; the matching first-party instrumentation adapter is bundled by the Respan facade. A dash means that language currently requires an explicit instrumentation package and instrumentor. -| Library | Python package | JS/TS package | Docs | -|---------|---------------|---------------|------| +| Library | Python SDK (auto) | JS/TS SDK (auto) | Docs | +|---------|-------------------|------------------|------| | OpenAI SDK | `openai` | `openai` | [docs](https://respan.ai/docs/integrations/openai-sdk.md) | | Anthropic SDK | `anthropic` | `@anthropic-ai/sdk` | [docs](https://respan.ai/docs/integrations/anthropic.md) | -| Azure OpenAI | `openai` (azure config) | `openai` | [docs](https://respan.ai/docs/integrations/providers/azure.md) | -| Google Vertex AI | `google-cloud-aiplatform` | — | [docs](https://respan.ai/docs/integrations/vertex-ai.md) | -| AWS Bedrock | `boto3` | — | [docs](https://respan.ai/docs/integrations/aws-bedrock.md) | -| Cohere | `cohere` | — | [docs](https://respan.ai/docs/integrations/providers/cohere.md) | -| Together AI | `together` | — | [docs](https://respan.ai/docs/integrations/together-ai.md) | - -**Note:** LiteLLM in JS uses the OpenAI-compatible API, so the OpenAI auto-instrument covers it. For Python LiteLLM, see [LiteLLM guide](https://respan.ai/docs/integrations/litellm.md). For Google GenAI (`@google/genai`), see [Google GenAI guide](https://respan.ai/docs/integrations/google-genai.md). +| Azure OpenAI | `openai` (Azure config) | `openai` (Azure client) | [docs](https://respan.ai/docs/integrations/providers/azure.md) | +| Google Vertex AI | `google-cloud-aiplatform` | `@google-cloud/vertexai` | [docs](https://respan.ai/docs/integrations/vertex-ai.md) | +| Google GenAI | `google-genai` | — | [docs](https://respan.ai/docs/integrations/google-genai.md) | +| AWS Bedrock | `boto3` | `@aws-sdk/client-bedrock-runtime` | [docs](https://respan.ai/docs/integrations/aws-bedrock.md) | +| Cohere | — | `cohere-ai` | [docs](https://respan.ai/docs/integrations/providers/cohere.md) | +| Together AI | `together` | `together-ai` | [docs](https://respan.ai/docs/integrations/together-ai.md) | +| OpenRouter | — | `@openrouter/sdk` | [docs](https://respan.ai/docs/integrations/providers/openrouter.md) | +| Writer | — | `writer-sdk` | [docs](https://respan.ai/docs/integrations/writer.md) | +| Ollama | `ollama` | — | [docs](https://respan.ai/docs/integrations/ollama.md) | + +**Note:** LLM wrappers such as Python LiteLLM stay explicit-only to avoid overlapping provider spans. See the [LiteLLM guide](https://respan.ai/docs/integrations/litellm.md) for its explicit setup. **1c. Read the actual code and understand the workflow:** diff --git a/javascript-sdks/respan-cli/src/lib/skill-refs.generated.ts b/javascript-sdks/respan-cli/src/lib/skill-refs.generated.ts index cb8807e6..7adb70df 100644 --- a/javascript-sdks/respan-cli/src/lib/skill-refs.generated.ts +++ b/javascript-sdks/respan-cli/src/lib/skill-refs.generated.ts @@ -79,7 +79,7 @@ The API key is stored in \`.env\` as \`RESPAN_API_KEY\`. **Before analyzing anything, ask the user which setup they want.** This is the first question — the two branches diverge immediately. -1. **Auto** — the fastest path. Install the core SDK and add \`Respan()\` (one line). Every LLM call from a supported direct SDK — OpenAI, Anthropic, Azure OpenAI, Bedrock, Vertex, Cohere, Together, Gemini, LiteLLM — is automatically captured as a flat span. **No decorators and no framework instrumentor, even if a framework is detected.** Best for a quick start or a live demo: traces flowing in under two minutes. +1. **Auto** — the fastest path. Install the core SDK and add \`Respan()\` (one line). Every LLM call from a direct SDK whose Respan instrumentation adapter the facade bundles for that language is automatically captured as a flat span. **Python:** OpenAI, Azure OpenAI, Anthropic, Vertex AI, Google GenAI, Bedrock, Together AI, Ollama. **TypeScript:** OpenAI, Azure OpenAI, Anthropic, Vertex AI, Bedrock, Cohere, Together AI, OpenRouter, Writer. Any other provider needs the Full path. **No decorators and no framework instrumentor, even if a framework is detected.** Best for a quick start or a live demo: traces flowing in under two minutes. 2. **Full** — structured setup. Adds framework-specific instrumentation and/or workflow structure on top: - **Explicit instrumentor** — for agent frameworks (LangChain, CrewAI, OpenAI Agents, Claude Agent SDK, LlamaIndex, Haystack, …) so the framework's agent / tool / chain structure is captured. - **Decorators** — wrap the user's own functions with \`@workflow\` / \`@task\` for nested spans. @@ -156,19 +156,23 @@ If a Priority 1 framework is found, use its instrumentation. Do NOT also add Pri **Priority 2 — Direct LLM SDKs** (only if no P1 framework covers this provider): -These are **auto-instrumented** — just \`Respan()\` / \`new Respan()\`, no extra packages needed: +The integrations listed for each language are **auto-instrumented** with \`Respan()\` / \`new Respan()\`. The application still provides the provider SDK; the matching first-party instrumentation adapter is bundled by the Respan facade. A dash means that language currently requires an explicit instrumentation package and instrumentor. -| Library | Python package | JS/TS package | Docs | -|---------|---------------|---------------|------| +| Library | Python SDK (auto) | JS/TS SDK (auto) | Docs | +|---------|-------------------|------------------|------| | OpenAI SDK | \`openai\` | \`openai\` | [docs](https://respan.ai/docs/integrations/openai-sdk.md) | | Anthropic SDK | \`anthropic\` | \`@anthropic-ai/sdk\` | [docs](https://respan.ai/docs/integrations/anthropic.md) | -| Azure OpenAI | \`openai\` (azure config) | \`openai\` | [docs](https://respan.ai/docs/integrations/providers/azure.md) | -| Google Vertex AI | \`google-cloud-aiplatform\` | — | [docs](https://respan.ai/docs/integrations/vertex-ai.md) | -| AWS Bedrock | \`boto3\` | — | [docs](https://respan.ai/docs/integrations/aws-bedrock.md) | -| Cohere | \`cohere\` | — | [docs](https://respan.ai/docs/integrations/providers/cohere.md) | -| Together AI | \`together\` | — | [docs](https://respan.ai/docs/integrations/together-ai.md) | - -**Note:** LiteLLM in JS uses the OpenAI-compatible API, so the OpenAI auto-instrument covers it. For Python LiteLLM, see [LiteLLM guide](https://respan.ai/docs/integrations/litellm.md). For Google GenAI (\`@google/genai\`), see [Google GenAI guide](https://respan.ai/docs/integrations/google-genai.md). +| Azure OpenAI | \`openai\` (Azure config) | \`openai\` (Azure client) | [docs](https://respan.ai/docs/integrations/providers/azure.md) | +| Google Vertex AI | \`google-cloud-aiplatform\` | \`@google-cloud/vertexai\` | [docs](https://respan.ai/docs/integrations/vertex-ai.md) | +| Google GenAI | \`google-genai\` | — | [docs](https://respan.ai/docs/integrations/google-genai.md) | +| AWS Bedrock | \`boto3\` | \`@aws-sdk/client-bedrock-runtime\` | [docs](https://respan.ai/docs/integrations/aws-bedrock.md) | +| Cohere | — | \`cohere-ai\` | [docs](https://respan.ai/docs/integrations/providers/cohere.md) | +| Together AI | \`together\` | \`together-ai\` | [docs](https://respan.ai/docs/integrations/together-ai.md) | +| OpenRouter | — | \`@openrouter/sdk\` | [docs](https://respan.ai/docs/integrations/providers/openrouter.md) | +| Writer | — | \`writer-sdk\` | [docs](https://respan.ai/docs/integrations/writer.md) | +| Ollama | \`ollama\` | — | [docs](https://respan.ai/docs/integrations/ollama.md) | + +**Note:** LLM wrappers such as Python LiteLLM stay explicit-only to avoid overlapping provider spans. See the [LiteLLM guide](https://respan.ai/docs/integrations/litellm.md) for its explicit setup. **1c. Read the actual code and understand the workflow:**