{"_id":"@cognipeer/observability","_rev":"2-2d0d1bc89b9e7a897c6b4c76c86b834d","name":"@cognipeer/observability","dist-tags":{"latest":"0.2.1"},"versions":{"0.2.0":{"name":"@cognipeer/observability","version":"0.2.0","keywords":["observability","tracing","llm","agents","opentelemetry","langchain","langgraph","openai-agents","claude","anthropic","vercel-ai-sdk","n8n","cognipeer"],"author":{"name":"Cognipeer"},"license":"MIT","_id":"@cognipeer/observability@0.2.0","maintainers":[{"name":"cihanalagoz","email":"cihanalagoz@hotmail.com"},{"name":"cognipeer-dev","email":"dev@cognipeer.com"},{"name":"sercanuste","email":"sercanuste@hotmail.com"},{"name":"aguleroglu","email":"anil.guleroglu@gmail.com"}],"homepage":"https://github.com/Cognipeer/console-observability","bugs":{"url":"https://github.com/Cognipeer/console-observability/issues"},"bin":{"cognipeer-n8n":"bin/cognipeer-n8n.mjs"},"dist":{"shasum":"51831c3465578e99d761ffbcdb7a869bfabc84c1","tarball":"https://registry.npmjs.org/@cognipeer/observability/-/observability-0.2.0.tgz","fileCount":53,"integrity":"sha512-thDz7p8fSr3kOL0wKanVOfChoWYimCzKNz3xf6BWIjLsgqagPL+GyjihdyUgC+HKx8FaxlMSaEJWnaOPqIdsCw==","signatures":[{"sig":"MEQCIFXUOboju9JoZ++BSs6z6vjrqD4Bc8KYgqfdMZEjpznVAiAKYQtV1c91+w0TVhJW2USp3LDCbkTQa0jTHyqut9Lamw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@cognipeer%2fobservability@0.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3220558},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./n8n":{"types":"./dist/integrations/n8n.d.ts","import":"./dist/integrations/n8n.js","require":"./dist/integrations/n8n.cjs"},"./otel":{"types":"./dist/otel/index.d.ts","import":"./dist/otel/index.js","require":"./dist/otel/index.cjs"},"./langchain":{"types":"./dist/integrations/langchain.d.ts","import":"./dist/integrations/langchain.js","require":"./dist/integrations/langchain.cjs"},"./langgraph":{"types":"./dist/integrations/langgraph.d.ts","import":"./dist/integrations/langgraph.js","require":"./dist/integrations/langgraph.cjs"},"./vercel-ai":{"types":"./dist/integrations/vercel-ai.d.ts","import":"./dist/integrations/vercel-ai.js","require":"./dist/integrations/vercel-ai.cjs"},"./package.json":"./package.json","./openai-agents":{"types":"./dist/integrations/openai-agents.d.ts","import":"./dist/integrations/openai-agents.js","require":"./dist/integrations/openai-agents.cjs"},"./claude-agent-sdk":{"types":"./dist/integrations/claude-agent-sdk.d.ts","import":"./dist/integrations/claude-agent-sdk.js","require":"./dist/integrations/claude-agent-sdk.cjs"}},"gitHead":"50c92e8f92ecf7aae4a26495434ec7a5c1af29e3","scripts":{"dev":"tsup --watch","lint":"eslint src --ext .ts","test":"vitest run","build":"tsup","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"aguleroglu","email":"anil.guleroglu@gmail.com"},"repository":{"url":"git+https://github.com/Cognipeer/console-observability.git","type":"git","directory":"js"},"_npmVersion":"10.9.8","description":"Ship agent traces from OpenAI Agents, Claude Agent SDK, LangChain, LangGraph, Vercel AI SDK, n8n and any OpenTelemetry-instrumented agent into Cognipeer Console.","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"ai":"^7.0.0","tsup":"^8.3.5","vitest":"^2.1.8","typescript":"^5.7.2","@types/node":"^22.10.0","@openai/agents":"^0.16.0","@langchain/core":"^1.1.0","@opentelemetry/sdk-trace-base":"^2.0.0","@anthropic-ai/claude-agent-sdk":"^0.3.0"},"peerDependencies":{"ai":">=3.0.0","@openai/agents":">=0.0.1","@langchain/core":">=0.1.0","@opentelemetry/sdk-trace-base":">=1.0.0","@anthropic-ai/claude-agent-sdk":">=0.1.0"},"peerDependenciesMeta":{"ai":{"optional":true},"@openai/agents":{"optional":true},"@langchain/core":{"optional":true},"@opentelemetry/sdk-trace-base":{"optional":true},"@anthropic-ai/claude-agent-sdk":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/observability_0.2.0_1786963625041_0.7174885622425826","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@cognipeer/observability","version":"0.2.1","description":"Ship agent traces from OpenAI Agents, Claude Agent SDK, LangChain, LangGraph, Vercel AI SDK, n8n and any OpenTelemetry-instrumented agent into Cognipeer Console.","license":"MIT","author":{"name":"Cognipeer"},"homepage":"https://docs.cognipeer.com/console/guide/observability/overview","repository":{"type":"git","url":"git+https://github.com/Cognipeer/cognipeer-observability.git","directory":"js"},"bugs":{"url":"https://github.com/Cognipeer/cognipeer-observability/issues"},"keywords":["observability","tracing","llm","agents","opentelemetry","langchain","langgraph","openai-agents","claude","anthropic","vercel-ai-sdk","n8n","cognipeer"],"type":"module","sideEffects":false,"main":"./dist/index.cjs","module":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./langchain":{"types":"./dist/integrations/langchain.d.ts","import":"./dist/integrations/langchain.js","require":"./dist/integrations/langchain.cjs"},"./langgraph":{"types":"./dist/integrations/langgraph.d.ts","import":"./dist/integrations/langgraph.js","require":"./dist/integrations/langgraph.cjs"},"./openai-agents":{"types":"./dist/integrations/openai-agents.d.ts","import":"./dist/integrations/openai-agents.js","require":"./dist/integrations/openai-agents.cjs"},"./claude-agent-sdk":{"types":"./dist/integrations/claude-agent-sdk.d.ts","import":"./dist/integrations/claude-agent-sdk.js","require":"./dist/integrations/claude-agent-sdk.cjs"},"./vercel-ai":{"types":"./dist/integrations/vercel-ai.d.ts","import":"./dist/integrations/vercel-ai.js","require":"./dist/integrations/vercel-ai.cjs"},"./n8n":{"types":"./dist/integrations/n8n.d.ts","import":"./dist/integrations/n8n.js","require":"./dist/integrations/n8n.cjs"},"./otel":{"types":"./dist/otel/index.d.ts","import":"./dist/otel/index.js","require":"./dist/otel/index.cjs"},"./package.json":"./package.json"},"engines":{"node":">=18"},"scripts":{"build":"tsup","dev":"tsup --watch","typecheck":"tsc --noEmit","test":"vitest run","test:watch":"vitest","lint":"eslint src --ext .ts","prepublishOnly":"npm run build"},"peerDependencies":{"@anthropic-ai/claude-agent-sdk":">=0.1.0","@langchain/core":">=0.1.0","@openai/agents":">=0.0.1","@opentelemetry/sdk-trace-base":">=1.0.0","ai":">=3.0.0"},"peerDependenciesMeta":{"@anthropic-ai/claude-agent-sdk":{"optional":true},"@langchain/core":{"optional":true},"@openai/agents":{"optional":true},"@opentelemetry/sdk-trace-base":{"optional":true},"ai":{"optional":true}},"devDependencies":{"@anthropic-ai/claude-agent-sdk":"^0.3.0","@langchain/core":"^1.1.0","@openai/agents":"^0.16.0","@opentelemetry/sdk-trace-base":"^2.0.0","@types/node":"^22.10.0","ai":"^7.0.0","tsup":"^8.3.5","typescript":"^5.7.2","vitest":"^2.1.8"},"publishConfig":{"access":"public","provenance":true},"bin":{"cognipeer-n8n":"bin/cognipeer-n8n.mjs"},"gitHead":"44bdfcaf14d95e88a5d8bf2c92545825ec954583","_id":"@cognipeer/observability@0.2.1","_nodeVersion":"24.19.0","_npmVersion":"11.17.0","dist":{"integrity":"sha512-dOI724D3fjQHwZsTULYTCnQz/XfR5sIMM+1LgOC8pq0SFbQssTVD+GtYhMohuikiYYpr2DnoHfhh6NxQXDuivw==","shasum":"f27ae074855abedec7fbca67607f765717d74fdd","tarball":"https://registry.npmjs.org/@cognipeer/observability/-/observability-0.2.1.tgz","fileCount":54,"unpackedSize":3227508,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@cognipeer%2fobservability@0.2.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQD3bHWm8KcP4XUEM6t6OSzs+zf1vWHNzhHlvRsZPdHNSAIgZAnsvhWtNu3wkrcs932phxWx+KDbsTtS+dgwgXtHZ90="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d8d67d49-3dac-4dc1-90e5-c5e744ea35cb"}},"directories":{},"maintainers":[{"name":"cihanalagoz","email":"cihanalagoz@hotmail.com"},{"name":"cognipeer-dev","email":"dev@cognipeer.com"},{"name":"sercanuste","email":"sercanuste@hotmail.com"},{"name":"aguleroglu","email":"anil.guleroglu@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/observability_0.2.1_1787921578128_0.9188870712250834"},"_hasShrinkwrap":false}},"time":{"created":"2026-08-17T10:47:04.829Z","modified":"2026-08-28T12:52:58.709Z","0.2.0":"2026-08-17T10:47:05.206Z","0.2.1":"2026-08-28T12:52:58.360Z"},"bugs":{"url":"https://github.com/Cognipeer/cognipeer-observability/issues"},"author":{"name":"Cognipeer"},"license":"MIT","homepage":"https://docs.cognipeer.com/console/guide/observability/overview","keywords":["observability","tracing","llm","agents","opentelemetry","langchain","langgraph","openai-agents","claude","anthropic","vercel-ai-sdk","n8n","cognipeer"],"repository":{"type":"git","url":"git+https://github.com/Cognipeer/cognipeer-observability.git","directory":"js"},"description":"Ship agent traces from OpenAI Agents, Claude Agent SDK, LangChain, LangGraph, Vercel AI SDK, n8n and any OpenTelemetry-instrumented agent into Cognipeer Console.","maintainers":[{"name":"cihanalagoz","email":"cihanalagoz@hotmail.com"},{"name":"cognipeer-dev","email":"dev@cognipeer.com"},{"name":"sercanuste","email":"sercanuste@hotmail.com"},{"name":"aguleroglu","email":"anil.guleroglu@gmail.com"}],"readme":"<div align=\"center\">\n\n# @cognipeer/observability\n\n**Ship agent traces from LangChain, LangGraph, the OpenAI Agents SDK, the Claude Agent SDK, Vercel AI SDK, n8n or any OpenTelemetry-instrumented agent into [Cognipeer Console](https://github.com/Cognipeer/console).**\n\n[![npm](https://img.shields.io/npm/v/@cognipeer/observability?label=%40cognipeer%2Fobservability)](https://www.npmjs.com/package/@cognipeer/observability)\n[![License: MIT](https://img.shields.io/badge/license-MIT-blue.svg)](./LICENSE)\n\n</div>\n\nYou already built the agent. This makes it observable — prompts, completions,\ntool calls, token usage, cost and latency — without rewriting it.\n\n```ts\nimport { init } from '@cognipeer/observability';\nimport { CognipeerCallbackHandler } from '@cognipeer/observability/langchain';\n\ninit({ apiKey: 'cpeer_…', agent: { name: 'support-bot' } });\nawait agent.invoke(state, { callbacks: [new CognipeerCallbackHandler()] });\n```\n\nThat is the whole integration. Two lines, no proxy, no base-URL swap, no\nchange to how your agent calls its models.\n\nThis package is the TypeScript half of [`cognipeer-observability`](https://github.com/Cognipeer/cognipeer-observability),\nan MIT-licensed monorepo also publishing [`cognipeer-observability`](https://pypi.org/project/cognipeer-observability/)\nfor Python. See the [full documentation and per-framework guides](https://docs.cognipeer.com/console/guide/observability/overview).\n\n## Install\n\n```bash\nnpm install @cognipeer/observability\n```\n\nThe core has **no required dependencies**. Framework integrations are\noptional peers, so installing this package cannot drag your dependency tree\naround — nothing loads until you import its subpath.\n\n## Subpath exports\n\n| Subpath | Framework | Guide |\n|---|---|---|\n| `@cognipeer/observability` | core client, `observe`/`trace`, session API | [Manual instrumentation](https://docs.cognipeer.com/console/guide/observability/manual) |\n| `@cognipeer/observability/langchain` | LangChain callback handler (0.1 → 1.x) | [LangChain](https://docs.cognipeer.com/console/guide/observability/langchain) |\n| `@cognipeer/observability/langgraph` | LangGraph on top of the same handler | [LangGraph](https://docs.cognipeer.com/console/guide/observability/langgraph) |\n| `@cognipeer/observability/openai-agents` | OpenAI Agents SDK `TracingProcessor` | [OpenAI Agents SDK](https://docs.cognipeer.com/console/guide/observability/openai-agents) |\n| `@cognipeer/observability/claude-agent-sdk` | Claude Agent SDK message-stream tracer | [Claude Agent SDK](https://docs.cognipeer.com/console/guide/observability/claude-agent-sdk) |\n| `@cognipeer/observability/vercel-ai` | Model middleware / `experimental_telemetry` | [Vercel AI SDK](https://docs.cognipeer.com/console/guide/observability/vercel-ai) |\n| `@cognipeer/observability/otel` | OpenTelemetry span exporter | [Anything OpenTelemetry](https://docs.cognipeer.com/console/guide/observability/opentelemetry) |\n| `cognipeer-n8n` CLI (see below) | n8n execution bridge | [n8n](https://docs.cognipeer.com/console/guide/observability/n8n) |\n\nNot on the list? If it emits OpenTelemetry spans — natively or through an\nOpenInference/OpenLLMetry instrumentor — the OTel route already covers it.\n\n## Configure\n\nEverything reads from the environment, so the code above works unchanged\nacross dev, staging and production:\n\n| Variable | Default | Meaning |\n|---|---|---|\n| `COGNIPEER_API_KEY` | — | Console API token. Without it, tracing disables itself and warns once — it never throws. |\n| `COGNIPEER_BASE_URL` | `https://console.cognipeer.com` | Your Console, for self-hosted installs |\n| `COGNIPEER_AGENT_NAME` | — | Default agent name for every session |\n| `COGNIPEER_AGENT_VERSION` | — | Default agent version for every session |\n| `COGNIPEER_CAPTURE_CONTENT` | `all` | `all`, `metadata` (structure and tokens, no message bodies), or `none` |\n| `COGNIPEER_TRACING_ENABLED` | `true` | Master switch |\n| `COGNIPEER_TRACING_MODE` | `auto` | `auto`, `stream` (live updates) or `batch` (one request per run) |\n| `COGNIPEER_DEBUG` | `false` | Log what the exporter is doing |\n\nAny of these can also be passed as explicit options to `init()`, which take\npriority over the environment.\n\n## API\n\n```ts\nimport {\n  init,          // configure the default client (idempotent, safe to call once at boot)\n  getClient,     // the resolved CognipeerObservability instance\n  resetClient,   // mostly for tests\n  observe,       // wrap an async function as a traced span\n  trace,         // start/end a span imperatively\n  TraceSession,  // the session primitive every integration is built on\n  flush,         // await before a short-lived process (script, Lambda, CI job) exits\n  shutdown,      // end every open session and flush; safe to call more than once\n} from '@cognipeer/observability';\n```\n\nLong-running services never need `flush`/`shutdown` — exports run on a\nbackground promise chain, off the request's hot path.\n\n### `cognipeer-n8n` CLI\n\nMirrors n8n workflow executions into Console without touching the n8n\ninstance itself:\n\n```bash\nnpx @cognipeer/observability cognipeer-n8n \\\n  --n8n-url https://n8n.acme.com \\\n  --n8n-api-key $N8N_API_KEY \\\n  --api-key $COGNIPEER_API_KEY \\\n  --once            # mirror the current page and exit — good for cron/CI\n```\n\nEvery flag also reads an environment variable (`N8N_URL`, `N8N_API_KEY`,\n`COGNIPEER_API_KEY`, `COGNIPEER_BASE_URL`, …), so a container needs no\narguments at all. See the [n8n guide](https://docs.cognipeer.com/console/guide/observability/n8n)\nfor the execution-bridge vs. webhook-hook tradeoffs.\n\n## Design rules\n\n- **Tracing never breaks the traced application.** Every export path swallows\n  its own failures and reports them through `onError`. A missing API key\n  disables the exporter; it does not throw.\n- **Tracing never blocks the traced application.** Exports run on a\n  background promise chain — no integration awaits network I/O on a\n  framework's hot path.\n- **No hidden dependencies.** The core is dependency-free; every framework\n  import is behind its own subpath.\n- **Secrets and blobs do not leave your process.** API keys in prompts are\n  redacted by pattern, base64 data URLs are stripped, and oversized content is\n  capped before it is sent.\n\n## Links\n\n- [Cognipeer Console](https://github.com/Cognipeer/console) — the product this feeds\n- [Full documentation](https://docs.cognipeer.com/console/guide/observability/overview)\n- [Data model](https://github.com/Cognipeer/cognipeer-observability/blob/main/docs/data-model.md) every integration maps onto\n- [Examples](https://github.com/Cognipeer/cognipeer-observability/tree/main/examples/js)\n- [Source repository](https://github.com/Cognipeer/cognipeer-observability) (monorepo, `js/` directory)\n- [Issues](https://github.com/Cognipeer/cognipeer-observability/issues)\n\n## Licence\n\nMIT — see [LICENSE](./LICENSE). Cognipeer Console itself is licensed separately.\n","readmeFilename":"README.md"}