{"_id":"@artus-engineering/n8n-nodes-loki","_rev":"9-b19b773aed07c0800ccfb0e71ac9e069","name":"@artus-engineering/n8n-nodes-loki","dist-tags":{"latest":"1.1.2"},"versions":{"0.1.0":{"name":"@artus-engineering/n8n-nodes-loki","version":"0.1.0","keywords":["n8n-community-node-package","n8n","loki","grafana","logging","observability"],"author":{"name":"Jonas Scholl","email":"jonas@artus-engineering.de"},"license":"MIT","_id":"@artus-engineering/n8n-nodes-loki@0.1.0","maintainers":[{"name":"jonas-scholl","email":"jonas@artus-engineering.de"}],"homepage":"https://github.com/artus-engineering/n8n-nodes-loki#readme","bugs":{"url":"https://github.com/artus-engineering/n8n-nodes-loki/issues"},"n8n":{"nodes":["dist/nodes/Loki/Loki.node.js"],"strict":true,"credentials":["dist/credentials/LokiApi.credentials.js"],"n8nNodesApiVersion":1},"dist":{"shasum":"40dc52800d6b015ee6333cfb602dc04d6a519a0f","tarball":"https://registry.npmjs.org/@artus-engineering/n8n-nodes-loki/-/n8n-nodes-loki-0.1.0.tgz","fileCount":19,"integrity":"sha512-v4bJxjC5r25E5CC3LtFqkD8Jw6E1Vc4T7qWCORR4vkTLxBQGN59GOJJkxmNfgCoj+K25oBvPyhGp0GjqHTSTwA==","signatures":[{"sig":"MEUCIQDq8JqufvN7QtR8FIOtCT+A55u0yDnhPNvh6YZMEiVQdgIgdoS+qtN0F0YnmFceeduZu4flnFYoybXOD0SJZVpwVqg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":70200},"gitHead":"3c43c551bc00387f49a2bef07bde4a2509e6eca3","scripts":{"dev":"n8n-node dev","lint":"biome check .","test":"vitest run --coverage","build":"n8n-node build && node scripts/clean-dist.mjs","format":"biome format --write .","lint:fix":"biome check --write .","lint:n8n":"n8n-node lint","typecheck":"tsc -p tsconfig.test.json --noEmit","test:watch":"vitest"},"_npmUser":{"name":"jonas-scholl","email":"jonas@artus-engineering.de"},"repository":{"url":"git+https://github.com/artus-engineering/n8n-nodes-loki.git","type":"git"},"_npmVersion":"11.19.0","description":"n8n community node to write log lines to Grafana Loki.","directories":{},"_nodeVersion":"26.7.0","_hasShrinkwrap":false,"packageManager":"pnpm@11.24.0","devDependencies":{"eslint":"9.39.4","vitest":"5.0.0","lefthook":"2.1.12","typescript":"5.9.3","n8n-workflow":"2.16.0","@n8n/node-cli":"0.47.0","@biomejs/biome":"2.5.12","@vitest/coverage-v8":"5.0.0"},"peerDependencies":{"n8n-workflow":"*"},"_npmOperationalInternal":{"tmp":"tmp/n8n-nodes-loki_0.1.0_1788874950114_0.03897004506849644","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@artus-engineering/n8n-nodes-loki","version":"0.1.1","keywords":["n8n-community-node-package","n8n","loki","grafana","logging","observability"],"author":{"name":"Jonas Scholl","email":"jonas@artus-engineering.de"},"license":"MIT","_id":"@artus-engineering/n8n-nodes-loki@0.1.1","maintainers":[{"name":"jonas-scholl","email":"jonas@artus-engineering.de"},{"name":"yannic.schroeer","email":"yannic@artus-engineering.de"}],"homepage":"https://github.com/artus-engineering/n8n-nodes-loki#readme","bugs":{"url":"https://github.com/artus-engineering/n8n-nodes-loki/issues"},"n8n":{"nodes":["dist/nodes/Loki/Loki.node.js"],"strict":true,"credentials":["dist/credentials/LokiApi.credentials.js"],"n8nNodesApiVersion":1},"dist":{"shasum":"dbe72b656ca1a26ec7a606a682491e261a1d04da","tarball":"https://registry.npmjs.org/@artus-engineering/n8n-nodes-loki/-/n8n-nodes-loki-0.1.1.tgz","fileCount":19,"integrity":"sha512-mB1S6YT+M4GrY4RFS+I95aEcBK+bJF0j9R5WgEcIOCmnVVo+GCxgCWxApj15WnonYxV1NnUAu3y1bWxQc7YX2Q==","signatures":[{"sig":"MEYCIQCjfX2BzmL6b0fu3EHj06T/HvKpGqWcIu4jtNpe9Tb4/gIhAPjn6m0010RHHGho1iVuws8Jbckr8o+eezrTkt+7Ml8F","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@artus-engineering%2fn8n-nodes-loki@0.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":72388},"gitHead":"3d13882d8af4cd59c63865716f49be1308f6ead8","scripts":{"dev":"n8n-node dev","lint":"biome check .","test":"vitest run --coverage","build":"n8n-node build && node scripts/clean-dist.mjs","format":"biome format --write .","lint:fix":"biome check --write .","lint:n8n":"n8n-node lint","typecheck":"tsc -p tsconfig.test.json --noEmit","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6cf67c60-1416-41d3-b7fd-3552d6f39bdd"}},"repository":{"url":"git+https://github.com/artus-engineering/n8n-nodes-loki.git","type":"git"},"_npmVersion":"11.19.0","description":"n8n community node to write log lines to Grafana Loki.","directories":{},"_nodeVersion":"24.20.0","_hasShrinkwrap":false,"packageManager":"pnpm@11.24.0","devDependencies":{"eslint":"9.39.4","vitest":"5.0.0","lefthook":"2.1.12","typescript":"5.9.3","n8n-workflow":"2.16.0","@n8n/node-cli":"0.47.0","@biomejs/biome":"2.5.12","@vitest/coverage-v8":"5.0.0"},"peerDependencies":{"n8n-workflow":"*"},"_npmOperationalInternal":{"tmp":"tmp/n8n-nodes-loki_0.1.1_1788888738293_0.06495585569460438","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@artus-engineering/n8n-nodes-loki","version":"0.2.0","keywords":["n8n-community-node-package","n8n","loki","grafana","logging","observability"],"author":{"name":"Jonas Scholl","email":"jonas@artus-engineering.de"},"license":"MIT","_id":"@artus-engineering/n8n-nodes-loki@0.2.0","maintainers":[{"name":"jonas-scholl","email":"jonas@artus-engineering.de"},{"name":"yannic.schroeer","email":"yannic@artus-engineering.de"}],"homepage":"https://github.com/artus-engineering/n8n-nodes-loki#readme","bugs":{"url":"https://github.com/artus-engineering/n8n-nodes-loki/issues"},"n8n":{"nodes":["dist/nodes/Loki/Loki.node.js"],"strict":true,"credentials":["dist/credentials/LokiApi.credentials.js"],"n8nNodesApiVersion":1},"dist":{"shasum":"00f0be34c7a0f75eafb6121744569c2b88fe2afd","tarball":"https://registry.npmjs.org/@artus-engineering/n8n-nodes-loki/-/n8n-nodes-loki-0.2.0.tgz","fileCount":19,"integrity":"sha512-bATHQkTU6BoiKENTQRMEBsSd3EncB0dnoqPQ7ms9jCu3vJRUqdxH8paGejnV9rn90Ff+auwYRjWNaDNERJkjvg==","signatures":[{"sig":"MEUCIBVOB0fTgoIryfl4h1Prbdv/wBbNA9n7Co9TKDBKfObSAiEAgurvF3d3L/qfY2pbX7YXBzoMuYPRkAGexrGhv7oSixo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@artus-engineering%2fn8n-nodes-loki@0.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":77307},"gitHead":"9a4f265845a66ba3583c53e6f104c8bd2d8b5ccd","scripts":{"dev":"n8n-node dev","lint":"biome check .","test":"vitest run --coverage","build":"n8n-node build && node scripts/clean-dist.mjs","format":"biome format --write .","lint:fix":"biome check --write .","lint:n8n":"n8n-node lint","typecheck":"tsc -p tsconfig.test.json --noEmit","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6cf67c60-1416-41d3-b7fd-3552d6f39bdd"}},"repository":{"url":"git+https://github.com/artus-engineering/n8n-nodes-loki.git","type":"git"},"_npmVersion":"11.19.0","description":"n8n community node to write log lines to Grafana Loki.","directories":{},"_nodeVersion":"24.20.0","_hasShrinkwrap":false,"packageManager":"pnpm@11.24.0","devDependencies":{"eslint":"9.39.4","vitest":"5.0.0","lefthook":"2.1.12","typescript":"5.9.3","n8n-workflow":"2.16.0","@n8n/node-cli":"0.47.0","@biomejs/biome":"2.5.12","@vitest/coverage-v8":"5.0.0"},"peerDependencies":{"n8n-workflow":"*"},"_npmOperationalInternal":{"tmp":"tmp/n8n-nodes-loki_0.2.0_1788943898108_0.018799818584260164","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@artus-engineering/n8n-nodes-loki","version":"0.2.1","keywords":["n8n-community-node-package","n8n","loki","grafana","logging","observability"],"author":{"name":"Jonas Scholl","email":"jonas@artus-engineering.de"},"license":"MIT","_id":"@artus-engineering/n8n-nodes-loki@0.2.1","maintainers":[{"name":"jonas-scholl","email":"jonas@artus-engineering.de"},{"name":"yannic.schroeer","email":"yannic@artus-engineering.de"}],"homepage":"https://github.com/artus-engineering/n8n-nodes-loki#readme","bugs":{"url":"https://github.com/artus-engineering/n8n-nodes-loki/issues"},"n8n":{"nodes":["dist/nodes/Loki/Loki.node.js"],"strict":true,"credentials":["dist/credentials/LokiApi.credentials.js"],"n8nNodesApiVersion":1},"dist":{"shasum":"1a725e63a6ab5b381dbcd2e6a6aefeedcb8b2ac4","tarball":"https://registry.npmjs.org/@artus-engineering/n8n-nodes-loki/-/n8n-nodes-loki-0.2.1.tgz","fileCount":19,"integrity":"sha512-D7V3G71KiimLfnDzy4tg0MiQMSkXPgww+2c5QyXbJRsCNDDhBev7bI4KcGfPtSv/fuS9jwSXKgaYCa5CZeYF9Q==","signatures":[{"sig":"MEYCIQD3AkpHoCA6nMsUnc9KBlMwHaWKEE+tL3e1+G3RAIo/6gIhAPUmJpJQBB1VqDipufX2VGftic2VoUTSULtiPA1dzzT1","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@artus-engineering%2fn8n-nodes-loki@0.2.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":76119},"gitHead":"e133b98b4bacf204784c4c19fbc096bf289eeefb","scripts":{"dev":"n8n-node dev","lint":"biome check .","test":"vitest run --coverage","build":"n8n-node build && node scripts/clean-dist.mjs","format":"biome format --write .","lint:fix":"biome check --write .","lint:n8n":"n8n-node lint","typecheck":"tsc -p tsconfig.test.json --noEmit","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6cf67c60-1416-41d3-b7fd-3552d6f39bdd"}},"repository":{"url":"git+https://github.com/artus-engineering/n8n-nodes-loki.git","type":"git"},"_npmVersion":"11.19.0","description":"n8n community node to write log lines to Grafana Loki.","directories":{},"_nodeVersion":"24.20.0","_hasShrinkwrap":false,"packageManager":"pnpm@11.24.0","devDependencies":{"eslint":"9.39.4","vitest":"5.0.0","lefthook":"2.1.12","typescript":"5.9.3","n8n-workflow":"2.16.0","@n8n/node-cli":"0.47.0","@biomejs/biome":"2.5.12","@vitest/coverage-v8":"5.0.0"},"peerDependencies":{"n8n-workflow":"*"},"_npmOperationalInternal":{"tmp":"tmp/n8n-nodes-loki_0.2.1_1788945026092_0.3298973634347877","host":"s3://npm-registry-packages-npm-production"}},"1.0.0":{"name":"@artus-engineering/n8n-nodes-loki","version":"1.0.0","keywords":["n8n-community-node-package","n8n","loki","grafana","logging","observability"],"author":{"name":"Jonas Scholl","email":"jonas@artus-engineering.de"},"license":"MIT","_id":"@artus-engineering/n8n-nodes-loki@1.0.0","maintainers":[{"name":"jonas-scholl","email":"jonas@artus-engineering.de"},{"name":"yannic.schroeer","email":"yannic@artus-engineering.de"}],"homepage":"https://github.com/artus-engineering/n8n-nodes-loki#readme","bugs":{"url":"https://github.com/artus-engineering/n8n-nodes-loki/issues"},"n8n":{"nodes":["dist/nodes/Loki/Loki.node.js"],"strict":true,"credentials":["dist/credentials/LokiApi.credentials.js"],"n8nNodesApiVersion":1},"dist":{"shasum":"82291a76f5884cf7d8edd6be125436588c98dcee","tarball":"https://registry.npmjs.org/@artus-engineering/n8n-nodes-loki/-/n8n-nodes-loki-1.0.0.tgz","fileCount":19,"integrity":"sha512-ohuU5GxHePb6Nrs5mPECM2zR5KDnT+6VO/H/9rnvtijgo79vZqRp2rENsinn7HyQP3G2qRfQAueYorgiXCmYrw==","signatures":[{"sig":"MEUCIQCIkeU9588hOaZNYce2JA9Br3y7wcO7kvG6d8df1GCEWAIgEltlcbFEQJO6v48DdFaZvSo+eRtR4XkHADnUyriEmbo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@artus-engineering%2fn8n-nodes-loki@1.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":76119},"gitHead":"adeb99c6ef968237107e913adb7fdf691e9897a0","scripts":{"dev":"n8n-node dev","lint":"biome check .","test":"vitest run --coverage","build":"n8n-node build && node scripts/clean-dist.mjs","format":"biome format --write .","lint:fix":"biome check --write .","lint:n8n":"n8n-node lint","typecheck":"tsc -p tsconfig.test.json --noEmit","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6cf67c60-1416-41d3-b7fd-3552d6f39bdd"}},"repository":{"url":"git+https://github.com/artus-engineering/n8n-nodes-loki.git","type":"git"},"_npmVersion":"11.19.0","description":"n8n community node to write log lines to Grafana Loki.","directories":{},"_nodeVersion":"24.20.0","_hasShrinkwrap":false,"packageManager":"pnpm@11.24.0","devDependencies":{"eslint":"9.39.4","vitest":"5.0.0","lefthook":"2.1.12","typescript":"5.9.3","n8n-workflow":"2.16.0","@n8n/node-cli":"0.47.0","@biomejs/biome":"2.5.12","@vitest/coverage-v8":"5.0.0"},"peerDependencies":{"n8n-workflow":"*"},"_npmOperationalInternal":{"tmp":"tmp/n8n-nodes-loki_1.0.0_1788946174001_0.750728711784155","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@artus-engineering/n8n-nodes-loki","version":"1.1.0","keywords":["n8n-community-node-package","n8n","loki","grafana","logging","observability"],"author":{"name":"Jonas Scholl","email":"jonas@artus-engineering.de"},"license":"MIT","_id":"@artus-engineering/n8n-nodes-loki@1.1.0","maintainers":[{"name":"jonas-scholl","email":"jonas@artus-engineering.de"},{"name":"yannic.schroeer","email":"yannic@artus-engineering.de"}],"homepage":"https://github.com/artus-engineering/n8n-nodes-loki#readme","bugs":{"url":"https://github.com/artus-engineering/n8n-nodes-loki/issues"},"n8n":{"nodes":["dist/nodes/Loki/Loki.node.js"],"strict":true,"credentials":["dist/credentials/LokiApi.credentials.js"],"n8nNodesApiVersion":1},"dist":{"shasum":"514e968c1bb98ad7d84f178e23c8f15423888d4d","tarball":"https://registry.npmjs.org/@artus-engineering/n8n-nodes-loki/-/n8n-nodes-loki-1.1.0.tgz","fileCount":19,"integrity":"sha512-L65r93LkHGl8tTpowSf54uIBbh4KTHmpGKb6aa2ArOVj/ScBDoEJKntmqZ7VX8NM5YzbjwziNSb0imsiLMLV7g==","signatures":[{"sig":"MEUCIGE5j+LezAdFi4ccx0vNlZazhb9WfVtHr5Bxf900yNpGAiEAx8m/wGGzHNQ1UTbN3OmTwkvEZKVNOk3BMI3jIJPszO4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@artus-engineering%2fn8n-nodes-loki@1.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":103538},"gitHead":"24843e870e6269ed79db0b0233b8373c49a4bcdc","scripts":{"dev":"n8n-node dev","lint":"biome check .","test":"vitest run --coverage","build":"n8n-node build && node scripts/clean-dist.mjs","format":"biome format --write .","lint:fix":"biome check --write .","lint:n8n":"n8n-node lint","typecheck":"tsc -p tsconfig.test.json --noEmit","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6cf67c60-1416-41d3-b7fd-3552d6f39bdd"}},"repository":{"url":"git+https://github.com/artus-engineering/n8n-nodes-loki.git","type":"git"},"_npmVersion":"11.19.0","description":"n8n community node to write log lines to Grafana Loki.","directories":{},"_nodeVersion":"24.20.0","_hasShrinkwrap":false,"packageManager":"pnpm@11.24.0","devDependencies":{"eslint":"9.39.4","vitest":"5.0.0","lefthook":"2.1.12","typescript":"5.9.3","n8n-workflow":"2.16.0","@n8n/node-cli":"0.47.0","@biomejs/biome":"2.5.12","@vitest/coverage-v8":"5.0.0"},"peerDependencies":{"n8n-workflow":"*"},"_npmOperationalInternal":{"tmp":"tmp/n8n-nodes-loki_1.1.0_1788960483943_0.4928960469244481","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"@artus-engineering/n8n-nodes-loki","version":"1.1.1","keywords":["n8n-community-node-package","n8n","loki","grafana","logging","observability"],"author":{"name":"Jonas Scholl","email":"jonas@artus-engineering.de"},"license":"MIT","_id":"@artus-engineering/n8n-nodes-loki@1.1.1","maintainers":[{"name":"jonas-scholl","email":"jonas@artus-engineering.de"},{"name":"yannic.schroeer","email":"yannic@artus-engineering.de"}],"homepage":"https://github.com/artus-engineering/n8n-nodes-loki#readme","bugs":{"url":"https://github.com/artus-engineering/n8n-nodes-loki/issues"},"n8n":{"nodes":["dist/nodes/Loki/Loki.node.js"],"strict":true,"credentials":["dist/credentials/LokiApi.credentials.js"],"n8nNodesApiVersion":1},"dist":{"shasum":"0ea0cdb499c356bffaa757d10bd59d572c5174ae","tarball":"https://registry.npmjs.org/@artus-engineering/n8n-nodes-loki/-/n8n-nodes-loki-1.1.1.tgz","fileCount":19,"integrity":"sha512-SnyJ0BmrCwOFwSrMywymy0CJx9Q35Y8GcU5hTFrZiCRezhdBGBcLYKNP63M0H7+jxzufQqd7GQqlTsuFsEMnpg==","signatures":[{"sig":"MEUCIGFZf7sIuhryi+kp65c7Pf2+hmFT9upJNKSYEt0bUVgoAiEAur29swQ5Y9mLpsSTCp10eXYRvsf5AOq1vtj52LSyyJI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@artus-engineering%2fn8n-nodes-loki@1.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":103600},"gitHead":"4c5c403bd597fdb97793ce9a77297eecfc0853b6","scripts":{"dev":"n8n-node dev","lint":"biome check .","test":"vitest run --coverage","build":"n8n-node build && node scripts/clean-dist.mjs","format":"biome format --write .","lint:fix":"biome check --write .","lint:n8n":"n8n-node lint","typecheck":"tsc -p tsconfig.test.json --noEmit","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6cf67c60-1416-41d3-b7fd-3552d6f39bdd"}},"repository":{"url":"git+https://github.com/artus-engineering/n8n-nodes-loki.git","type":"git"},"_npmVersion":"11.19.0","description":"n8n community node to write log lines to Grafana Loki.","directories":{},"_nodeVersion":"24.20.0","_hasShrinkwrap":false,"packageManager":"pnpm@11.24.0","devDependencies":{"eslint":"9.39.4","vitest":"5.0.0","lefthook":"2.1.12","typescript":"5.9.3","n8n-workflow":"2.16.0","@n8n/node-cli":"0.47.0","@biomejs/biome":"2.5.12","@vitest/coverage-v8":"5.0.0"},"peerDependencies":{"n8n-workflow":"*"},"_npmOperationalInternal":{"tmp":"tmp/n8n-nodes-loki_1.1.1_1789040677209_0.4796033544541449","host":"s3://npm-registry-packages-npm-production"}},"1.1.2":{"_id":"@artus-engineering/n8n-nodes-loki@1.1.2","n8n":{"nodes":["dist/nodes/Loki/Loki.node.js"],"strict":true,"credentials":["dist/credentials/LokiApi.credentials.js"],"n8nNodesApiVersion":1},"bugs":{"url":"https://github.com/artus-engineering/n8n-nodes-loki/issues"},"dist":{"shasum":"5831d1618ea9800d7c584986e25dd126c514afc6","tarball":"https://registry.npmjs.org/@artus-engineering/n8n-nodes-loki/-/n8n-nodes-loki-1.1.2.tgz","fileCount":19,"integrity":"sha512-1IoP/C7cpi9hDV4/0ryGQtD4wzNQq2VuPymxKSEMBs3KhfTB9Es0LRdGQKgxhFJ061aMqXd6OaKDr7x+sApCJA==","signatures":[{"sig":"MEQCIA8+aDYVfghzjt6NMutxxHxo7bNSSnya4GhtvRJPza6vAiBGsGt8liS8YWK0LTawWCoxEFU0S2JSbnjN/Ro3qPAAQw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIG4jQclOMaP5HWF9Z72HjgaDRuMaySKqE+k3w7FdfOxqAiBYfjLgEaBTEfRnBNEvsHRBJueSOWxc1JqpATPTpJjHGA=="}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@artus-engineering%2fn8n-nodes-loki@1.1.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":103544},"name":"@artus-engineering/n8n-nodes-loki","author":{"name":"Artus Engineering","email":"hi@artus-engineering.de"},"gitHead":"a9c915941d5b5983c58d1054c3a23628684528f8","license":"MIT","scripts":{"dev":"n8n-node dev","lint":"biome check .","test":"vitest run --coverage","build":"n8n-node build && node scripts/clean-dist.mjs","format":"biome format --write .","lint:fix":"biome check --write .","lint:n8n":"n8n-node lint","typecheck":"tsc -p tsconfig.test.json --noEmit","test:watch":"vitest"},"version":"1.1.2","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6cf67c60-1416-41d3-b7fd-3552d6f39bdd"}},"homepage":"https://artus-engineering.de","keywords":["n8n-community-node-package","n8n","loki","grafana","logging","observability"],"repository":{"url":"git+https://github.com/artus-engineering/n8n-nodes-loki.git","type":"git"},"_npmVersion":"11.19.0","description":"n8n community node to write log lines to Grafana Loki.","directories":{},"maintainers":[{"name":"jonas-scholl","email":"jonas@artus-engineering.de"},{"name":"yannic.schroeer","email":"yannic@artus-engineering.de"}],"_nodeVersion":"24.20.0","_hasShrinkwrap":false,"packageManager":"pnpm@11.24.0","devDependencies":{"eslint":"9.39.5","vitest":"5.0.1","lefthook":"2.1.14","typescript":"5.9.3","n8n-workflow":"2.16.0","@n8n/node-cli":"0.48.4","@biomejs/biome":"2.5.14","@vitest/coverage-v8":"5.0.1"},"peerDependencies":{"n8n-workflow":"*"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/n8n-nodes-loki_1.1.2_1789551726000_0.5883575653806166"}}},"time":{"created":"2026-09-08T13:42:29.728Z","modified":"2026-09-16T09:42:06.443Z","0.1.0":"2026-09-08T13:42:30.270Z","0.1.1":"2026-09-08T17:32:18.425Z","0.2.0":"2026-09-09T08:51:38.245Z","0.2.1":"2026-09-09T09:10:26.213Z","1.0.0":"2026-09-09T09:29:34.139Z","1.1.0":"2026-09-09T13:28:04.074Z","1.1.1":"2026-09-10T11:44:37.342Z","1.1.2":"2026-09-16T09:42:06.087Z"},"bugs":{"url":"https://github.com/artus-engineering/n8n-nodes-loki/issues"},"author":{"name":"Artus Engineering","email":"hi@artus-engineering.de"},"license":"MIT","homepage":"https://artus-engineering.de","keywords":["n8n-community-node-package","n8n","loki","grafana","logging","observability"],"repository":{"url":"git+https://github.com/artus-engineering/n8n-nodes-loki.git","type":"git"},"description":"n8n community node to write log lines to Grafana Loki.","maintainers":[{"name":"jonas-scholl","email":"jonas@artus-engineering.de"},{"name":"yannic.schroeer","email":"yannic@artus-engineering.de"}],"readme":"<div align=\"center\">\n  <picture>\n    <source media=\"(prefers-color-scheme: dark)\" srcset=\"assets/artus-engineering-logo-white.svg\" />\n    <source media=\"(prefers-color-scheme: light)\" srcset=\"assets/artus-engineering-logo-black.svg\" />\n    <img alt=\"Artus Engineering\" src=\"assets/artus-engineering-logo-black.svg\" width=\"400\" />\n  </picture>\n</div>\n\n<p align=\"center\">\n  An <a href=\"https://n8n.io\" target=\"_blank\">n8n</a> community node that sends log lines to <a href=\"https://grafana.com/oss/loki/\" target=\"_blank\">Grafana Loki</a>. Plain text or JSON, with optional auth and custom headers.\n</p>\n\n<div align=\"center\">\n  <a href=\"https://www.npmjs.com/package/@artus-engineering/n8n-nodes-loki\"><img alt=\"NPM Version\" src=\"https://img.shields.io/npm/v/%40artus-engineering%2Fn8n-nodes-loki\"></a>\n  <a href=\"https://github.com/artus-engineering/n8n-nodes-loki/blob/main/LICENSE\"><img alt=\"License\" src=\"https://img.shields.io/badge/License-MIT-8b5cf6\"></a>\n  <a href=\"https://github.com/artus-engineering/n8n-nodes-loki/actions/workflows/branch.yaml\"><img alt=\"CI Status\" src=\"https://img.shields.io/github/actions/workflow/status/artus-engineering/n8n-nodes-loki/.github%2Fworkflows%2Fbranch.yaml?label=CI&logo=GitHub\"></a>\n  <a href=\"https://sonar.artus-engineering.de/dashboard?id=artus-engineering_n8n-nodes-loki_f771277c-125c-400f-aca0-df3d8c63b594\"><img alt=\"SonarQube Quality Gate\" src=\"https://sonar.artus-engineering.de/api/project_badges/measure?project=artus-engineering_n8n-nodes-loki_f771277c-125c-400f-aca0-df3d8c63b594&metric=alert_status&token=sqb_a5a57356a20825f17494e7b95caf1d0a015b00e7\"></a>\n  <img alt=\"n8n community node\" src=\"https://img.shields.io/badge/n8n-community--node-ea4b71?logo=n8n&logoColor=white\">\n</div>\n\n<hr />\n\n## Table of Contents <!-- omit in toc -->\n\n- [Features](#features)\n- [Installation](#installation)\n  - [From the n8n GUI (recommended)](#from-the-n8n-gui-recommended)\n  - [Self-hosted, via npm](#self-hosted-via-npm)\n- [Credential](#credential)\n- [Node reference](#node-reference)\n  - [Options](#options)\n- [Automatic n8n context](#automatic-n8n-context)\n- [Workflow-level logging toggle](#workflow-level-logging-toggle)\n  - [Sub-workflows](#sub-workflows)\n- [Usage](#usage)\n  - [Plain text](#plain-text)\n  - [Free-form JSON](#free-form-json)\n  - [Key/value JSON (no manual stringify)](#keyvalue-json-no-manual-stringify)\n  - [Multiple items in one stream](#multiple-items-in-one-stream)\n- [Loki push payload](#loki-push-payload)\n- [Troubleshooting](#troubleshooting)\n- [Development](#development)\n- [Releases](#releases)\n\n## Features\n\n- **Auto-detected Loki URL** — Enter a base URL (`https://loki.example.com`) or the full push endpoint (`.../loki/api/v1/push`); both work\n- **Optional authentication** — None, Basic Auth, Bearer Token, or a custom header — configured once on a reusable credential\n- **Custom headers & multi-tenant support** — Arbitrary headers plus a dedicated `X-Scope-OrgID` tenant field\n- **Plain text or JSON messages** — Free-form JSON, or build a JSON object from typed key/value fields, no manual `JSON.stringify` needed\n- **Automatic n8n context** — Every entry gets `job`, `workflow` and `workflow_id` stream labels plus the execution ID as structured metadata\n- **Labels & structured metadata** — Set additional Loki stream labels and per-entry structured metadata from the node UI\n- **Workflow-level mute** — A `Set Workflow Logging` operation on one Loki node turns logging off for every Loki node downstream, sub-workflows included, without disabling each one\n- **Batching** — Send all input items in a single push request (grouped into streams by label set), or one request per item\n- **Zero runtime dependencies** — Uses n8n's built-in HTTP helpers only, per n8n's community node requirements\n- **Full TypeScript support** — Written in strict TypeScript against `n8n-workflow`'s types\n\n## Installation\n\n### From the n8n GUI (recommended)\n\nIn n8n, go to **Settings → Community Nodes → Install**, and enter:\n\n```\n@artus-engineering/n8n-nodes-loki\n```\n\n### Self-hosted, via npm\n\n```bash\nnpm install @artus-engineering/n8n-nodes-loki\n```\n\nSee n8n's [community nodes installation guide](https://docs.n8n.io/integrations/community-nodes/installation/) for details (including instructions for `npm`-restricted or Docker deployments).\n\n## Credential\n\nCreate a **Loki API** credential and configure:\n\n| Field | Description |\n| --- | --- |\n| **Loki URL** | Base URL or full push endpoint, e.g. `https://loki.example.com` or `https://loki.example.com/loki/api/v1/push` — both work |\n| **Authentication** | `None` (default), `Basic Auth`, `Bearer Token`, or `Header Auth` |\n| **Username / Password** | Shown for Basic Auth |\n| **Token** | Shown for Bearer Token |\n| **Header Name / Header Secret** | Shown for Header Auth, e.g. an `X-Api-Key` header |\n| **Tenant ID (X-Scope-OrgID)** | Sent as `X-Scope-OrgID` for multi-tenant Loki setups. Leave empty otherwise |\n| **Custom Headers** | Arbitrary name/value headers sent with every request |\n| **Ignore SSL Issues (Insecure)** | Accept self-signed or otherwise invalid TLS certificates |\n\nUse **Test** on the credential to verify connectivity (calls `GET /loki/api/v1/labels`).\n\n## Node reference\n\n| Parameter | Description |\n| --- | --- |\n| **Operation** | `Send Log` — pushes one or more log lines to Loki. `Set Workflow Logging` — a pass-through switch that later Loki nodes read to mute or allow logging |\n| **Logging Enabled** | Shown for `Set Workflow Logging`. Defaults to on. Turn off to mute every Loki node further down this workflow |\n| **Labels** | Extra Loki stream labels (name/value pairs, Edit Fields–style). Shown for both operations: on Send Log they apply to this entry; on Set Workflow Logging they are added to every downstream Loki node. A same-name label on Send Log overrides the workflow default. `job` (`n8n`), `workflow` and `workflow_id` are added automatically. In workflow JSON this is `{ \"assignments\": [{ \"name\": \"env\", \"value\": \"prod\", \"type\": \"string\" }] }` |\n| **Log Format** | `Text` or `JSON` |\n| **Message** | The plain-text log line (shown for `Text`) |\n| **JSON Input Mode** | `JSON` (a raw JSON value) or `Fields Below` (build an object from typed fields) — shown for `JSON` |\n| **JSON** | The raw JSON log line — shown for JSON Input Mode `JSON` |\n| **Fields** | Name/Value/Type rows assembled into the JSON log line — shown for JSON Input Mode `Fields Below`. Same `assignments` JSON shape as Labels |\n\n### Options\n\n| Option | Description |\n| --- | --- |\n| **Timestamp** | ISO-8601 or epoch (seconds/ms/µs/ns auto-detected). Defaults to now. Do not also add a `timestamp` label or JSON field — Loki already indexes this value on the entry |\n| **Structured Metadata** | Extra per-entry [structured metadata](https://grafana.com/docs/loki/latest/get-started/labels/structured-metadata/) (indexed but not part of the stream labels). The execution ID is always added as `execution_id`. Also available on Set Workflow Logging as a default for downstream nodes |\n| **Send All Items in One Request** | Default on. Groups all input items into one push request (still split into separate streams per distinct label set); disable to send one request per item. Send Log only |\n| **Additional Headers** | Extra headers for this request, layered on top of the credential's. Also available on Set Workflow Logging as a default for downstream nodes |\n| **Timeout** | Request timeout in ms (default `10000`). Also available on Set Workflow Logging as a default for downstream nodes |\n| **Propagate to Sub-Workflows** | Set Workflow Logging only, default on. Writes the resolved settings onto every item as `_lokiLogging` so sub-workflows inherit them |\n\n## Automatic n8n context\n\nEvery log entry is tagged with the current workflow without extra fields on the node:\n\n| Field | Where it lands | Why |\n| --- | --- | --- |\n| `job` | Stream label | Fixed to `n8n` so every log from this node is queryable as one job |\n| `workflow` | Stream label | Low cardinality — bounded by how many workflows you have |\n| `workflow_id` | Stream label | Survives a rename; same cardinality as `workflow` |\n| `execution_id` | [Structured metadata](https://grafana.com/docs/loki/latest/get-started/labels/structured-metadata/) | High cardinality — a new value every run, so it must not become a stream label |\n| Entry timestamp | Loki value tuple (`[ts, line]`) | Already produced automatically. Do not add a `timestamp` label or JSON field |\n\nA user-defined label or metadata key of the same name wins over the injected value. Structured metadata requires Loki 3.0+ with a TSDB schema v13.\n\n## Workflow-level logging toggle\n\nn8n has no per-workflow setting a community node can register, so the mute switch lives on a Loki node itself.\n\n1. Drop a Loki node immediately after the trigger (or anywhere that is an ancestor of every Loki node you want to gate).\n2. Set **Operation** to `Set Workflow Logging`.\n3. Leave **Logging Enabled** on (the default) or turn it off to mute Loki for the rest of this workflow.\n4. Optionally add **Labels** and, under Options, **Additional Headers**, **Structured Metadata**, or **Timeout**. Those become defaults for every downstream `Send Log` node.\n\nHow later `Send Log` nodes resolve the switch and defaults:\n\n- No control node upstream, or `Logging Enabled` left at its default / unset → logging stays on\n- Any enabled upstream control node resolving to off disables logging (\"off wins\")\n- A control node that is itself disabled on the canvas is ignored, so disabling that node is the quick way to restore logging\n- The control node can use an expression (`={{ $vars.LOKI_ENABLED }}`). Expressions on a control node in the *same* workflow are evaluated in the reading Loki node's context; `Logging Enabled`, `Timeout` and `Additional Headers` are resolved once against the first input item, `Labels` and `Structured Metadata` per item\n- An expression that resolves to something other than `false` (including an unset variable) leaves logging on — the switch fails open\n- When logging is off, each `Send Log` node passes its input items through unchanged and does not call Loki\n- Workflow labels / headers / metadata are merged under the automatic n8n context; a same-name field on the Send Log node overrides the workflow default\n- Workflow Timeout is used when the Send Log node has not added Timeout itself; a local Timeout always wins\n- Several enabled control nodes merge nearest-last, so the control node closest to the Send Log node wins on colliding keys\n\nThe control operation does not require a Loki credential. Also skip `Send All Items in One Request` and `Timestamp` on the control node — those stay per Send Log node.\n\n### Sub-workflows\n\nNothing about a running workflow is visible from a sub-workflow, so the settings travel with the data: a control node writes them onto every item it passes through, under `_lokiLogging`. `Execute Sub-workflow` hands those items to the sub-workflow, where Loki nodes pick them up again — from their own input item, or from the `Execute Sub-workflow Trigger` if nodes in between rebuilt the items.\n\n- Off stays off: a sub-workflow cannot re-enable logging its caller muted. A control node inside the sub-workflow can add labels, headers, metadata and a timeout on top, and merges the inherited settings into what it propagates further down, so nesting works to any depth\n- The `Execute Sub-workflow Trigger` must accept the extra field. With **Input data mode** set to `Define using fields below`, n8n drops everything outside the declared schema — including `_lokiLogging` — so use `Accept all data`, or declare a `_lokiLogging` field\n- Turn the `Propagate to Sub-Workflows` option off to leave the items untouched; the switch then applies inside the current workflow only\n- A Loki node used as an **AI tool** is not connected into the main flow and receives no items from it, so the switch does not reach it — mute those nodes on the canvas instead\n\n## Usage\n\n### Plain text\n\nSet **Log Format** to `Text` and enter a message. `job`, `workflow` and `workflow_id` are added automatically:\n\n```\nMessage: Workflow \"Order Sync\" completed successfully\n```\n\n### Free-form JSON\n\nSet **Log Format** to `JSON`, **JSON Input Mode** to `JSON`:\n\n```json\n{\n  \"event\": \"order.synced\",\n  \"orderId\": \"{{ $json.orderId }}\",\n  \"durationMs\": 842\n}\n```\n\n### Key/value JSON (no manual stringify)\n\nSet **JSON Input Mode** to `Fields Below` and add typed fields:\n\n| Name | Value | Type |\n| --- | --- | --- |\n| `event` | `order.synced` | String |\n| `orderId` | `{{ $json.orderId }}` | String |\n| `durationMs` | `842` | Number |\n| `success` | `true` | Boolean |\n\n### Multiple items in one stream\n\nWith **Send All Items in One Request** enabled (default), feeding the node multiple input items with the same labels sends one push request containing one stream with all entries, sorted by timestamp — the efficient way to log a batch.\n\n## Loki push payload\n\nThe node builds a standard Loki [push API](https://grafana.com/docs/loki/latest/reference/loki-http-api/#ingest-logs) request. For the plain-text example above, it sends:\n\n```json\n{\n  \"streams\": [\n    {\n      \"stream\": { \"job\": \"n8n\", \"workflow\": \"Order Sync\", \"workflow_id\": \"wCmWqkUNVuNhbIU0\" },\n      \"values\": [\n        [\"1717000000000000000\", \"Workflow \\\"Order Sync\\\" completed successfully\", { \"execution_id\": \"1234\" }]\n      ]\n    }\n  ]\n}\n```\n\n## Troubleshooting\n\n| Problem | Cause |\n| --- | --- |\n| `400 Bad Request` mentioning a label | Label names must match `[a-zA-Z_][a-zA-Z0-9_]*` — no hyphens or leading digits |\n| `400` — entry out of order / too far behind | Loki requires non-decreasing timestamps per stream; check the **Timestamp** option and clock skew |\n| `401` / `403` | Check the credential's authentication settings and, for multi-tenant Loki, the **Tenant ID (X-Scope-OrgID)** field |\n| `ECONNREFUSED` / TLS errors | Verify the **Loki URL**, and enable **Ignore SSL Issues** for self-signed certificates on self-hosted Loki |\n\n## Development\n\nClone the repository and install dependencies:\n\n```bash\npnpm install\npnpm run dev    # launches n8n on :5678 with this node hot-linked\n```\n\nRun the full check suite before opening a pull request:\n\n```bash\npnpm run lint       # biome\npnpm run lint:n8n   # n8n node/credential structural rules\npnpm run typecheck\npnpm run build\npnpm run test\n```\n\nSee [AGENTS.md](AGENTS.md) for contributor conventions.\n\n## Releases\n\nPackages are published to [npm](https://www.npmjs.com/package/@artus-engineering/n8n-nodes-loki) when a [GitHub Release](https://github.com/artus-engineering/n8n-nodes-loki/releases) is published.\n\n1. Ensure `main` is green.\n2. Create a GitHub Release with a semver tag, e.g. `v0.2.0`.\n3. The publish workflow runs lint, type checks, builds, tests, and publishes to npm via [Trusted Publishing](https://docs.npmjs.com/trusted-publishers/) with npm provenance (no npm token required).\n\nThe release tag (without the leading `v`) becomes the package version.\n\n---\n\nMaintained by [Artus Engineering GmbH](https://artus-engineering.de).\n","readmeFilename":"README.md"}