{"_id":"opencode-plugin-langfuse","_rev":"4-32005051562ee56ce496f88a9427df80","name":"opencode-plugin-langfuse","dist-tags":{"latest":"0.1.8"},"versions":{"0.1.0":{"name":"opencode-plugin-langfuse","version":"0.1.0","keywords":["opencode","langfuse","observability","llm","tracing","ai"],"author":{"name":"omercnet"},"license":"MIT","_id":"opencode-plugin-langfuse@0.1.0","maintainers":[{"name":"omercnet","email":"npm@omerc.dev"}],"homepage":"https://github.com/omercnet/opencode-plugin-langfuse#readme","bugs":{"url":"https://github.com/omercnet/opencode-plugin-langfuse/issues"},"dist":{"shasum":"0fe2711add0c9aa5eef841fafd41bc0b2b7ab636","tarball":"https://registry.npmjs.org/opencode-plugin-langfuse/-/opencode-plugin-langfuse-0.1.0.tgz","fileCount":11,"integrity":"sha512-Hn6uA5ssSkEusImEKlN0x3lBXbVjn0QDp3k20zcnN/1JM5pFMUjdB3VWX+K2pVjTKU1cuGL5NLlP3xStYAXmSQ==","signatures":[{"sig":"MEYCIQDbUTrdvgRwJ+k8l0DWhq3cTMuhcYN7WsEByu//ulKlXwIhAPRxWbWhRuYMSYInFfCcMlRD8MQmVB9EevmSNPq0eLRQ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":61992},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"aa91bd0a5ebd649378dfdecbf18c2601a3182133","scripts":{"dev":"tsc --watch","lint":"eslint src --ext .ts","test":"bun test","build":"tsc","format":"prettier --write 'src/**/*.ts'","typecheck":"tsc --noEmit","prepublishOnly":"bun run build"},"_npmUser":{"name":"omercnet","email":"npm@omerc.dev"},"repository":{"url":"git+https://github.com/omercnet/opencode-plugin-langfuse.git","type":"git"},"_npmVersion":"11.6.2","description":"Langfuse observability plugin for OpenCode - LLM tracing, prompt versioning, and cost tracking","directories":{},"_nodeVersion":"25.2.1","dependencies":{"langfuse":"^3.38.6"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.18.0","prettier":"^3.4.2","@types/bun":"^1.3.5","typescript":"^5.7.2","@types/node":"^22.10.5","@typescript-eslint/parser":"^8.19.1","@typescript-eslint/eslint-plugin":"^8.19.1"},"peerDependencies":{"@opencode-ai/plugin":"*"},"_npmOperationalInternal":{"tmp":"tmp/opencode-plugin-langfuse_0.1.0_1768123234887_0.9143285476428917","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"opencode-plugin-langfuse","version":"0.1.4","keywords":["opencode","langfuse","observability","llm","tracing","ai"],"author":{"name":"omercnet"},"license":"MIT","_id":"opencode-plugin-langfuse@0.1.4","maintainers":[{"name":"omercnet","email":"npm@omerc.dev"}],"homepage":"https://github.com/omercnet/opencode-plugin-langfuse#readme","bugs":{"url":"https://github.com/omercnet/opencode-plugin-langfuse/issues"},"dist":{"shasum":"9b216af398928cd539b892486559579f520e61eb","tarball":"https://registry.npmjs.org/opencode-plugin-langfuse/-/opencode-plugin-langfuse-0.1.4.tgz","fileCount":7,"integrity":"sha512-WyU6NPRSLM0tBb0mwIiieT0Bl+XqNdbVgGAPLGUTOf3+IH/ZqBlfmytjeEJpUYPX9nX2SdNQHpBxOobk6LC7eg==","signatures":[{"sig":"MEYCIQD2S/eF9VdTSWtsw6XOKuDHndWmIrDawsSIUIjTZMXhNgIhAKDESL6igG1gH8lCWGOlGgdlly2gX4O4kg5qTU6akgB0","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/opencode-plugin-langfuse@0.1.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":33608},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"1abdee6fd092bd3a123099f3b72f967d12a03c7e","scripts":{"dev":"tsc --watch","lint":"eslint src --ext .ts","test":"bun test","build":"tsc","format":"prettier --write .","prepare":"husky","lint:fix":"eslint src --ext .ts --fix","typecheck":"tsc --noEmit","format:check":"prettier --check .","prepublishOnly":"bun run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:9c58fac2-a358-4311-936c-8354a2168a9b"}},"repository":{"url":"git+https://github.com/omercnet/opencode-plugin-langfuse.git","type":"git"},"_npmVersion":"11.6.2","description":"Langfuse observability plugin for OpenCode - LLM tracing, prompt versioning, and cost tracking","directories":{},"_nodeVersion":"24.12.0","dependencies":{"langfuse":"^3.38.6"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","eslint":"^9.18.0","globals":"^17.0.0","prettier":"^3.4.2","@types/bun":"^1.3.5","typescript":"^5.7.2","@types/node":"^22.10.5","lint-staged":"^16.2.7","@commitlint/cli":"^20.3.1","@typescript-eslint/parser":"^8.19.1","@commitlint/config-conventional":"^20.3.1","@typescript-eslint/eslint-plugin":"^8.19.1"},"peerDependencies":{"@opencode-ai/plugin":"*"},"_npmOperationalInternal":{"tmp":"tmp/opencode-plugin-langfuse_0.1.4_1768130511733_0.6085641826063741","host":"s3://npm-registry-packages-npm-production"}},"0.1.7":{"name":"opencode-plugin-langfuse","version":"0.1.7","keywords":["opencode","langfuse","observability","llm","tracing","ai"],"author":{"name":"omercnet"},"license":"MIT","_id":"opencode-plugin-langfuse@0.1.7","maintainers":[{"name":"omercnet","email":"npm@omerc.dev"}],"homepage":"https://github.com/omercnet/opencode-plugin-langfuse#readme","bugs":{"url":"https://github.com/omercnet/opencode-plugin-langfuse/issues"},"dist":{"shasum":"e418f2a370c76c47674e89c464127dcd58ca62ee","tarball":"https://registry.npmjs.org/opencode-plugin-langfuse/-/opencode-plugin-langfuse-0.1.7.tgz","fileCount":7,"integrity":"sha512-buKX69vIp/y9xsklIF+3SfGXCtdOKEAMUY7a9uTny3/kps+Xi+khXEN3L/y0Ef1hP9P2VvHy5XO4NtPzbFon6A==","signatures":[{"sig":"MEUCIFkom/8+nxSHAYeiBDkg+uU8ZhGu9vg3wVYxlcF9M1q0AiEAo9x/ZOUI/SleK2sfysCGvA6nu0vNrd1WT0KeOuVL4mM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/opencode-plugin-langfuse@0.1.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":8609},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"774e494a61259d4c600b7e12f00740934bda151f","scripts":{"dev":"tsc --watch","lint":"eslint src --ext .ts","test":"bun test","build":"tsc","format":"prettier --write .","prepare":"husky","lint:fix":"eslint src --ext .ts --fix","typecheck":"tsc --noEmit","format:check":"prettier --check .","prepublishOnly":"bun run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:9c58fac2-a358-4311-936c-8354a2168a9b"}},"repository":{"url":"git+https://github.com/omercnet/opencode-plugin-langfuse.git","type":"git"},"_npmVersion":"11.6.2","description":"Langfuse observability plugin for OpenCode - LLM tracing, prompt versioning, and cost tracking","directories":{},"_nodeVersion":"24.12.0","dependencies":{"@langfuse/otel":"4.5.1","@opencode-ai/plugin":"1.1.14","@opentelemetry/sdk-node":"^0.203.0","@opentelemetry/sdk-trace-base":"^2.0.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","eslint":"^9.39.2","globals":"^17.0.0","prettier":"^3.7.4","@types/bun":"^1.3.5","typescript":"^5.9.3","@types/node":"^22.19.5","lint-staged":"^16.2.7","@commitlint/cli":"^20.3.1","@typescript-eslint/parser":"^8.52.0","@commitlint/config-conventional":"^20.3.1","@typescript-eslint/eslint-plugin":"^8.52.0"},"_npmOperationalInternal":{"tmp":"tmp/opencode-plugin-langfuse_0.1.7_1768243010845_0.43002969242291567","host":"s3://npm-registry-packages-npm-production"}},"0.1.8":{"name":"opencode-plugin-langfuse","version":"0.1.8","description":"Langfuse observability plugin for OpenCode - LLM tracing, prompt versioning, and cost tracking","main":"dist/index.js","types":"dist/index.d.ts","type":"module","scripts":{"build":"tsc","dev":"tsc --watch","test":"bun test","lint":"eslint src --ext .ts","lint:fix":"eslint src --ext .ts --fix","format":"prettier --write .","format:check":"prettier --check .","typecheck":"tsc --noEmit","prepublishOnly":"bun run build","prepare":"husky"},"keywords":["opencode","langfuse","observability","llm","tracing","ai"],"author":{"name":"omercnet"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/omercnet/opencode-plugin-langfuse.git"},"publishConfig":{"access":"public"},"dependencies":{"@langfuse/otel":"4.5.1","@opencode-ai/plugin":"1.1.14","@opentelemetry/sdk-node":"^0.203.0","@opentelemetry/sdk-trace-base":"^2.0.1"},"devDependencies":{"@commitlint/cli":"^20.3.1","@commitlint/config-conventional":"^20.3.1","@types/bun":"^1.3.5","@types/node":"^22.19.5","@typescript-eslint/eslint-plugin":"^8.52.0","@typescript-eslint/parser":"^8.52.0","eslint":"^9.39.2","globals":"^17.0.0","husky":"^9.1.7","lint-staged":"^16.2.7","prettier":"^3.7.4","typescript":"^5.9.3"},"gitHead":"38e56616868e33929178e45c55edb17d38bec690","_id":"opencode-plugin-langfuse@0.1.8","bugs":{"url":"https://github.com/omercnet/opencode-plugin-langfuse/issues"},"homepage":"https://github.com/omercnet/opencode-plugin-langfuse#readme","_nodeVersion":"24.12.0","_npmVersion":"11.6.2","dist":{"integrity":"sha512-5+xjWj/hA0U7Nw4OTVBS4g324QcFpAutPR764z+DzHWt/+99S55zeT969vyyMTn0fQr069J2It8lQ0R6itwarg==","shasum":"d8e39675c28ae86f74424a556cbc041f2108fc41","tarball":"https://registry.npmjs.org/opencode-plugin-langfuse/-/opencode-plugin-langfuse-0.1.8.tgz","fileCount":7,"unpackedSize":8870,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/opencode-plugin-langfuse@0.1.8","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIDi/iixZlz5vFquWGCSbV8e0dqafgzr8IoM6sTpzEu6/AiBYJ2oNby1xU0JUONrDknAKMS4TtdJzzCOe4yaFLI5qfQ=="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:9c58fac2-a358-4311-936c-8354a2168a9b"}},"directories":{},"maintainers":[{"name":"omercnet","email":"npm@omerc.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/opencode-plugin-langfuse_0.1.8_1768988541393_0.9046579194551729"},"_hasShrinkwrap":false}},"time":{"created":"2026-01-11T09:20:34.886Z","modified":"2026-01-21T09:42:21.763Z","0.1.0":"2026-01-11T09:20:35.039Z","0.1.4":"2026-01-11T11:21:51.918Z","0.1.7":"2026-01-12T18:36:50.985Z","0.1.8":"2026-01-21T09:42:21.524Z"},"bugs":{"url":"https://github.com/omercnet/opencode-plugin-langfuse/issues"},"author":{"name":"omercnet"},"license":"MIT","homepage":"https://github.com/omercnet/opencode-plugin-langfuse#readme","keywords":["opencode","langfuse","observability","llm","tracing","ai"],"repository":{"type":"git","url":"git+https://github.com/omercnet/opencode-plugin-langfuse.git"},"description":"Langfuse observability plugin for OpenCode - LLM tracing, prompt versioning, and cost tracking","maintainers":[{"name":"omercnet","email":"npm@omerc.dev"}],"readme":"# OpenCode Langfuse Plugin\n\n[![npm version](https://badge.fury.io/js/opencode-plugin-langfuse.svg)](https://www.npmjs.com/package/opencode-plugin-langfuse)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n\n**Automatic LLM observability for OpenCode using Langfuse via OpenTelemetry.**\n\nZero-config tracing of sessions, messages, tool calls, costs, and performance.\n\n---\n\n## Installation\n\n```bash\nnpm install opencode-plugin-langfuse\n# or\nbun add opencode-plugin-langfuse\n```\n\n---\n\n## Setup\n\n### 1. Get Langfuse Credentials\n\nSign up at [cloud.langfuse.com](https://cloud.langfuse.com) and create a project.\n\nGo to **Settings → API Keys** and copy your keys.\n\n### 2. Configure Environment\n\n```bash\nexport LANGFUSE_PUBLIC_KEY=\"pk-lf-...\"\nexport LANGFUSE_SECRET_KEY=\"sk-lf-...\"\nexport LANGFUSE_BASEURL=\"https://cloud.langfuse.com\"  # Optional\n```\n\n### 3. Enable Plugin + OTEL\n\nIn `.opencode/opencode.json`:\n\n```json\n{\n  \"experimental\": {\n    \"openTelemetry\": true\n  },\n  \"plugin\": [\"opencode-plugin-langfuse\"]\n}\n```\n\n### 4. Run OpenCode\n\nThat's it! All traces appear automatically in your Langfuse dashboard.\n\n---\n\n## How It Works\n\nThis plugin initializes a `LangfuseSpanProcessor` that captures all OpenTelemetry spans emitted by OpenCode when `experimental.openTelemetry` is enabled.\n\n```\nOpenCode (OTEL spans) → LangfuseSpanProcessor → Langfuse Dashboard\n```\n\n---\n\n## Environment Variables\n\n| Variable              | Required | Default                      | Description            |\n| --------------------- | -------- | ---------------------------- | ---------------------- |\n| `LANGFUSE_PUBLIC_KEY` | Yes      | -                            | Langfuse public key    |\n| `LANGFUSE_SECRET_KEY` | Yes      | -                            | Langfuse secret key    |\n| `LANGFUSE_BASEURL`    | No       | `https://cloud.langfuse.com` | Self-hosted instance   |\n\n---\n\n## Self-Hosting\n\n```bash\nexport LANGFUSE_BASEURL=\"https://langfuse.yourcompany.com\"\n```\n\nSee [Langfuse self-hosting docs](https://langfuse.com/docs/deployment/self-host).\n\n---\n\n## Troubleshooting\n\n### No traces appearing\n\n1. Verify `experimental.openTelemetry: true` is set\n2. Check credentials: `echo $LANGFUSE_PUBLIC_KEY`\n3. Check Langfuse health: `curl https://cloud.langfuse.com/api/public/health`\n\n### Plugin not loading\n\n- Ensure `opencode-plugin-langfuse` is in `dependencies` (not `devDependencies`)\n- Verify `.opencode/opencode.json` syntax\n\n---\n\n## License\n\nMIT © omercnet\n\n---\n\n## Related\n\n- [OpenCode](https://opencode.ai/)\n- [Langfuse](https://langfuse.com/)\n- [Langfuse OTEL Integration](https://langfuse.com/docs/integrations/opentelemetry)\n","readmeFilename":"README.md"}