{"_id":"@copperiq/n8n-nodes-ai-langfuse","_rev":"4-33de2c2d9ef82a1fb9d70da097fc26e2","name":"@copperiq/n8n-nodes-ai-langfuse","dist-tags":{"latest":"1.0.2"},"versions":{"1.0.0":{"name":"@copperiq/n8n-nodes-ai-langfuse","version":"1.0.0","keywords":["n8n-community-node-package","n8n","langfuse","openai","llm","language-model","observability","tracing","monitoring"],"author":{"name":"Copper-IQ","email":"support@copperiq.com"},"license":"MIT","_id":"@copperiq/n8n-nodes-ai-langfuse@1.0.0","maintainers":[{"name":"cblokland90","email":"cblokland@copperiq.com"}],"homepage":"https://github.com/Copper-IQ/n8n-nodes-ai-langfuse","bugs":{"url":"https://github.com/Copper-IQ/n8n-nodes-ai-langfuse/issues"},"n8n":{"nodes":["dist/nodes/LmChatOpenAiLangfuse/LmChatOpenAiLangfuse.node.js"],"credentials":["dist/credentials/LangfuseApi.credentials.js","dist/credentials/OpenAiApiWithLangfuseApi.credentials.js"],"n8nNodesApiVersion":1},"dist":{"shasum":"caab76b0a077ca783a59214381d1eabe36e1b6bf","tarball":"https://registry.npmjs.org/@copperiq/n8n-nodes-ai-langfuse/-/n8n-nodes-ai-langfuse-1.0.0.tgz","fileCount":83,"integrity":"sha512-+gkwpVEzGzQjdruufel4JHYF8YLCK5NY33kEx4RJpiAcWm2Tfz2snvm71AHf0e5ymje+8EmW38kBSaNufePSxg==","signatures":[{"sig":"MEUCIQCEd6K2Y8U1vYiR9s7QyGe8cpazpqPn4CAmvh25AsfNWwIgKL4n1OBFGWHBuSU/1lOZm8eVQ53o5tsur4BBMllliWY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":233768},"main":"index.js","engines":{"node":">=18.0.0"},"gitHead":"584b65fa84fbee0d86fff79107a1f21ab6ba6680","scripts":{"dev":"tsc --watch","build":"tsc && gulp build:icons","prepublishOnly":"npm run build"},"_npmUser":{"name":"cblokland90","email":"cblokland@copperiq.com"},"repository":{"url":"git+https://github.com/Copper-IQ/n8n-nodes-ai-langfuse.git","type":"git"},"_npmVersion":"10.9.2","description":"n8n OpenAI Language Model with built-in Langfuse observability and tracing","directories":{},"_nodeVersion":"22.17.1","dependencies":{"lodash":"^4.17.21","openai":"^6.9.1","langfuse":"^3.38.6","langchain":"^0.3.33","@langchain/core":"0.3.68","@langchain/openai":"0.6.16","@langfuse/tracing":"^4.4.2","@opentelemetry/api":"^1.9.0","langfuse-langchain":"^3.38.6","@opentelemetry/sdk-node":"^0.56.0","@opentelemetry/resources":"^1.29.0","@opentelemetry/instrumentation":"^0.56.0","@opentelemetry/semantic-conventions":"^1.29.0","@opentelemetry/auto-instrumentations-node":"^0.52.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","gulp":"^5.0.0","jest":"^29.7.0","dotenv":"^17.2.3","eslint":"^9.17.0","ts-jest":"^29.2.5","prettier":"^3.4.2","typescript":"^5.7.2","@types/jest":"^29.5.14","@types/node":"^22.10.2","@types/lodash":"^4.17.21","eslint-config-prettier":"^9.1.0"},"peerDependencies":{"n8n-workflow":"*"},"_npmOperationalInternal":{"tmp":"tmp/n8n-nodes-ai-langfuse_1.0.0_1764742462130_0.76182591224806","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@copperiq/n8n-nodes-ai-langfuse","version":"1.0.1","keywords":["n8n-community-node-package","n8n","langfuse","openai","llm","language-model","observability","tracing","monitoring"],"author":{"name":"Copper-IQ","email":"support@copperiq.com"},"license":"MIT","_id":"@copperiq/n8n-nodes-ai-langfuse@1.0.1","maintainers":[{"name":"cblokland90","email":"cblokland@copperiq.com"}],"homepage":"https://github.com/Copper-IQ/n8n-nodes-ai-langfuse","bugs":{"url":"https://github.com/Copper-IQ/n8n-nodes-ai-langfuse/issues"},"n8n":{"nodes":["dist/nodes/LmChatOpenAiLangfuse/LmChatOpenAiLangfuse.node.js"],"credentials":["dist/credentials/LangfuseApi.credentials.js","dist/credentials/OpenAiApiWithLangfuseApi.credentials.js"],"n8nNodesApiVersion":1},"dist":{"shasum":"5ffd7d8e33e30a87b02bd22c331cc880c50704f3","tarball":"https://registry.npmjs.org/@copperiq/n8n-nodes-ai-langfuse/-/n8n-nodes-ai-langfuse-1.0.1.tgz","fileCount":61,"integrity":"sha512-TGikR9EV3+GWrALOEjBHLNcOtYmcYUjGgVRHL5AKaKEQHnAPykDNBTJZD6kRaDXuUrF58ygXLNlU921cbe0M+g==","signatures":[{"sig":"MEYCIQCiyWyWNdcsSUrsJMead0ERGdE+CXTM2EoIxxxj6A48GgIhAJ5WA3aRG/TcCDtmmCHoCAoFqwqzPB82f6kTqd0WABQE","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":148400},"main":"index.js","engines":{"node":">=18.0.0"},"gitHead":"26122163b3ea649f8540bfea3fdff5eb6b20b35a","scripts":{"dev":"tsc --watch","build":"tsc && gulp build:icons","prepublishOnly":"npm run build"},"_npmUser":{"name":"cblokland90","email":"cblokland@copperiq.com"},"repository":{"url":"git+https://github.com/Copper-IQ/n8n-nodes-ai-langfuse.git","type":"git"},"_npmVersion":"10.9.2","description":"n8n OpenAI Language Model with built-in Langfuse observability and tracing","directories":{},"_nodeVersion":"22.17.1","dependencies":{"lodash":"^4.17.21","openai":"^6.9.1","langfuse":"^3.38.6","langchain":"^0.3.33","@langchain/core":"0.3.68","@langchain/openai":"0.6.16","@langfuse/tracing":"^4.4.2","@opentelemetry/api":"^1.9.0","langfuse-langchain":"^3.38.6","@opentelemetry/sdk-node":"^0.56.0","@opentelemetry/resources":"^1.29.0","@opentelemetry/instrumentation":"^0.56.0","@opentelemetry/semantic-conventions":"^1.29.0","@opentelemetry/auto-instrumentations-node":"^0.52.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","gulp":"^5.0.0","jest":"^29.7.0","dotenv":"^17.2.3","eslint":"^9.17.0","ts-jest":"^29.2.5","prettier":"^3.4.2","typescript":"^5.7.2","@types/jest":"^29.5.14","@types/node":"^22.10.2","@types/lodash":"^4.17.21","eslint-config-prettier":"^9.1.0"},"peerDependencies":{"n8n-workflow":"*"},"_npmOperationalInternal":{"tmp":"tmp/n8n-nodes-ai-langfuse_1.0.1_1764743849862_0.3993938214006647","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@copperiq/n8n-nodes-ai-langfuse","version":"1.0.2","description":"n8n OpenAI Language Model with built-in Langfuse observability and tracing","keywords":["n8n-community-node-package","n8n","langfuse","openai","llm","language-model","observability","tracing","monitoring"],"license":"MIT","homepage":"https://github.com/Copper-IQ/n8n-nodes-ai-langfuse","author":{"name":"Copper-IQ","email":"support@copperiq.com"},"repository":{"type":"git","url":"git+https://github.com/Copper-IQ/n8n-nodes-ai-langfuse.git"},"main":"index.js","n8n":{"n8nNodesApiVersion":1,"credentials":["dist/credentials/LangfuseApi.credentials.js","dist/credentials/OpenAiApiWithLangfuseApi.credentials.js"],"nodes":["dist/nodes/LmChatOpenAiLangfuse/LmChatOpenAiLangfuse.node.js"]},"dependencies":{"@langchain/core":"0.3.68","@langchain/openai":"0.6.16","@langfuse/tracing":"^4.4.2","@opentelemetry/api":"^1.9.0","@opentelemetry/auto-instrumentations-node":"^0.52.1","@opentelemetry/instrumentation":"^0.56.0","@opentelemetry/resources":"^1.29.0","@opentelemetry/sdk-node":"^0.56.0","@opentelemetry/semantic-conventions":"^1.29.0","langchain":"^0.3.33","langfuse":"^3.38.6","langfuse-langchain":"^3.38.6","lodash":"^4.17.21","openai":"^6.9.1"},"devDependencies":{"@types/jest":"^29.5.14","@types/lodash":"^4.17.21","@types/node":"^22.10.2","dotenv":"^17.2.3","eslint":"^9.17.0","eslint-config-prettier":"^9.1.0","gulp":"^5.0.0","jest":"^29.7.0","prettier":"^3.4.2","ts-jest":"^29.2.5","tsx":"^4.21.0","typescript":"^5.7.2"},"peerDependencies":{"n8n-workflow":"*"},"engines":{"node":">=18.0.0"},"scripts":{"build":"tsc && gulp build:icons","dev":"tsc --watch"},"_id":"@copperiq/n8n-nodes-ai-langfuse@1.0.2","bugs":{"url":"https://github.com/Copper-IQ/n8n-nodes-ai-langfuse/issues"},"_integrity":"sha512-RaoxKZQx/lj3oif9aq+QYkmDdmZ8vllMm9oKl+hg2qR9sR33+H7mNnYNKcz0wBIcMeuvBDgvDk4s+q6cBQ8EBQ==","_resolved":"C:\\Users\\ChrisBlokland\\AppData\\Local\\Temp\\4795867a2e3ea3d4d15333754cfa8cc7\\copperiq-n8n-nodes-ai-langfuse-1.0.2.tgz","_from":"file:copperiq-n8n-nodes-ai-langfuse-1.0.2.tgz","_nodeVersion":"22.17.1","_npmVersion":"10.9.2","dist":{"integrity":"sha512-RaoxKZQx/lj3oif9aq+QYkmDdmZ8vllMm9oKl+hg2qR9sR33+H7mNnYNKcz0wBIcMeuvBDgvDk4s+q6cBQ8EBQ==","shasum":"58cc27ec000f80b4b55833f6ef9c9eb93ac7386e","tarball":"https://registry.npmjs.org/@copperiq/n8n-nodes-ai-langfuse/-/n8n-nodes-ai-langfuse-1.0.2.tgz","fileCount":61,"unpackedSize":154266,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIGYYh0146QUi2V/UvqKTfb9BvEBCzOqA7AO15/KCYKAtAiEA4VIDNgHPRpzrMxGT38dNOEHG54vWj3ZlodKWW/7B9dA="}]},"_npmUser":{"name":"cblokland90","email":"cblokland@copperiq.com"},"directories":{},"maintainers":[{"name":"cblokland90","email":"cblokland@copperiq.com"},{"name":"lwesterhuis","email":"lwesterhuis@copperiq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/n8n-nodes-ai-langfuse_1.0.2_1764838623197_0.42220132224717766"},"_hasShrinkwrap":false}},"time":{"created":"2025-12-03T06:14:22.073Z","modified":"2025-12-04T08:57:03.890Z","1.0.0":"2025-12-03T06:14:22.344Z","1.0.1":"2025-12-03T06:37:30.037Z","1.0.2":"2025-12-04T08:57:03.336Z"},"bugs":{"url":"https://github.com/Copper-IQ/n8n-nodes-ai-langfuse/issues"},"author":{"name":"Copper-IQ","email":"support@copperiq.com"},"license":"MIT","homepage":"https://github.com/Copper-IQ/n8n-nodes-ai-langfuse","keywords":["n8n-community-node-package","n8n","langfuse","openai","llm","language-model","observability","tracing","monitoring"],"repository":{"type":"git","url":"git+https://github.com/Copper-IQ/n8n-nodes-ai-langfuse.git"},"description":"n8n OpenAI Language Model with built-in Langfuse observability and tracing","maintainers":[{"name":"cblokland90","email":"cblokland@copperiq.com"},{"name":"lwesterhuis","email":"lwesterhuis@copperiq.com"}],"readme":"# n8n-nodes-ai-langfuse\r\n\r\n[![NPM Version](https://img.shields.io/npm/v/@copperiq/n8n-nodes-ai-langfuse)](https://www.npmjs.com/package/@copperiq/n8n-nodes-ai-langfuse)\r\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\r\n\r\nThis is an n8n community node that provides an OpenAI Language Model with built-in [Langfuse](https://langfuse.com/) observability and tracing.\r\n\r\n[n8n](https://n8n.io/) is a [fair-code licensed](https://docs.n8n.io/reference/license/) workflow automation platform.\r\n\r\n[Langfuse](https://langfuse.com/) is an open-source LLM engineering platform for tracing, evaluating, and monitoring AI applications.\r\n\r\n## Features\r\n\r\n- **OpenAI Language Model**: Full-featured OpenAI chat model with support for all latest models\r\n- **Built-in Langfuse Tracing**: Automatic observability for all LLM interactions\r\n- **Organized Traces**: Traces named as `WorkflowName - NodeName` with model-specific observation names\r\n- **Session Tracking**: Group related traces using session IDs\r\n- **Custom Metadata**: Add custom metadata and tags for filtering and organization\r\n- **Token Tracking**: Accurate token usage tracking including tool calls\r\n- **User Tracking**: Associate traces with specific users\r\n\r\n## Installation\r\n\r\nFollow the [installation guide](https://docs.n8n.io/integrations/community-nodes/installation/) in the n8n community nodes documentation.\r\n\r\n### Using npm\r\n\r\n```bash\r\nnpm install @copperiq/n8n-nodes-ai-langfuse\r\n```\r\n\r\n### Using n8n's UI\r\n\r\n1. Go to **Settings** > **Community Nodes**\r\n2. Select **Install**\r\n3. Enter `@copperiq/n8n-nodes-ai-langfuse` in the **Enter npm package name** field\r\n4. Agree to the [risks](https://docs.n8n.io/integrations/community-nodes/risks/) of using community nodes\r\n5. Select **Install**\r\n\r\nAfter installing the node, you can use it like any other node in your n8n workflows.\r\n\r\n## Configuration\r\n\r\n### Prerequisites\r\n\r\n- An [OpenAI API key](https://platform.openai.com/api-keys)\r\n- A [Langfuse account](https://langfuse.com/) (cloud or self-hosted)\r\n- Langfuse public and secret keys from your project settings\r\n\r\n### Credentials Setup\r\n\r\n1. Create new credentials: **OpenAI API with Langfuse**\r\n2. Enter your **OpenAI API Key**\r\n3. Enter your **Langfuse Public Key**\r\n4. Enter your **Langfuse Secret Key**\r\n5. (Optional) Enter your **Langfuse Base URL** if using self-hosted Langfuse\r\n\r\n## Usage\r\n\r\n### Basic Setup\r\n\r\n1. Add the **OpenAI Language Model (Langfuse)** node to your workflow\r\n2. Select or create **OpenAI API with Langfuse** credentials\r\n3. Choose your desired model (e.g., `gpt-4o`, `gpt-4-turbo`, `gpt-3.5-turbo`)\r\n4. Configure any additional options (temperature, max tokens, etc.)\r\n\r\n### Langfuse Tracking\r\n\r\nThe node includes optional Langfuse tracking fields for enhanced observability:\r\n\r\n- **Session ID**: Group related traces together (e.g., multi-turn conversations)\r\n- **User ID**: Associate traces with specific users\r\n- **Tags**: Add comma-separated tags for filtering (e.g., `production`, `customer-support`)\r\n- **Custom Metadata**: Add any additional context as JSON\r\n\r\nAll fields support n8n expressions for dynamic values:\r\n\r\n```javascript\r\n// Example session ID from incoming data\r\n{{ $json.sessionId }}\r\n\r\n// Example user ID\r\n{{ $json.userId }}\r\n\r\n// Example tags\r\nproduction, api-call, {{ $json.department }}\r\n\r\n// Example metadata\r\n{\r\n  \"customerTier\": \"{{ $json.tier }}\",\r\n  \"region\": \"{{ $json.region }}\"\r\n}\r\n```\r\n\r\n### Trace Organization\r\n\r\nTraces in Langfuse are automatically organized with:\r\n\r\n- **Trace Name**: `WorkflowName - NodeName` (e.g., `Customer Support - AI Assistant`)\r\n- **Observation Names**: Actual model name (e.g., `gpt-4o`)\r\n- **Trace ID**: Unique per workflow execution and node\r\n- **Metadata**: Includes execution ID and workflow name\r\n\r\n## Examples\r\n\r\n### Simple Chat Completion\r\n\r\n```\r\n1. Trigger (e.g., Webhook)\r\n2. OpenAI Language Model (Langfuse)\r\n   - Model: gpt-4o\r\n   - System Message: \"You are a helpful assistant\"\r\n   - User Message: {{ $json.userMessage }}\r\n3. Respond to Webhook\r\n```\r\n\r\n### Conversation with Session Tracking\r\n\r\n```\r\n1. Webhook Trigger\r\n2. OpenAI Language Model (Langfuse)\r\n   - Model: gpt-4o\r\n   - Langfuse Tracking:\r\n     * Session ID: {{ $json.conversationId }}\r\n     * User ID: {{ $json.userId }}\r\n     * Tags: support, {{ $json.priority }}\r\n3. Store in Database\r\n4. Respond to Webhook\r\n```\r\n\r\n## Compatibility\r\n\r\n- Requires n8n version 1.0.0 or above\r\n- Requires Node.js 18.0.0 or above\r\n- Compatible with all OpenAI models including latest GPT-4 and GPT-3.5 models\r\n\r\n## Resources\r\n\r\n- [n8n community nodes documentation](https://docs.n8n.io/integrations/community-nodes/)\r\n- [Langfuse documentation](https://langfuse.com/docs)\r\n- [OpenAI API documentation](https://platform.openai.com/docs)\r\n\r\n## Support\r\n\r\nFor issues, questions, or feature requests, please visit:\r\n- GitHub Issues: [Copper-IQ/n8n-nodes-ai-langfuse](https://github.com/Copper-IQ/n8n-nodes-ai-langfuse/issues)\r\n- Email: support@copperiq.com\r\n\r\n## License\r\n\r\n[MIT](LICENSE)\r\n\r\n## Version History\r\n\r\n### 1.0.0\r\n- Initial release\r\n- OpenAI Language Model with Langfuse integration\r\n- Session tracking and custom metadata support\r\n- Automatic token usage tracking\r\n- Professional trace naming and organization\r\n","readmeFilename":"README.md"}