{"_id":"@bytesbrains/pi-loki-gate","_rev":"2-b71ffa0f2f6707af98bee50cb95c2121","name":"@bytesbrains/pi-loki-gate","dist-tags":{"latest":"1.0.1"},"versions":{"1.0.0":{"name":"@bytesbrains/pi-loki-gate","version":"1.0.0","keywords":["pi-package","pi-extension","loki","grafana","logs","logging","ai-factory"],"author":{"name":"nandal","email":"nandal@users.noreply.github.com"},"license":"MIT","_id":"@bytesbrains/pi-loki-gate@1.0.0","maintainers":[{"name":"nandal","email":"sandeep@nandal.in"}],"homepage":"https://github.com/nandal/pi-ext/tree/main/loki-gate","bugs":{"url":"https://github.com/nandal/pi-ext/issues"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"a92b1b2849f5bf1194fe08b0eaa94df4fdf868fa","tarball":"https://registry.npmjs.org/@bytesbrains/pi-loki-gate/-/pi-loki-gate-1.0.0.tgz","fileCount":9,"integrity":"sha512-aHYaDq9LVKcsL/hizEsWve1dT4RSkbO4lrCsd1oaQ475ApYwKcnejReJvbT4yk3bfnW+tI+LjC+J3JLUPmWoWQ==","signatures":[{"sig":"MEUCIQDkizzoZze2u7skrA67U4OS2Z/8QViOoS9hu2T2dMC/FgIgVCr3lyS0P1PhvWNbVjzhZPAoHCEnDZHGNhKmG51ayKs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":18665},"main":"./src/index.ts","engines":{"node":">=18"},"gitHead":"1fca2cfdcbdf155b60d39efd9495773b47cb49a1","scripts":{"test":"vitest run","test:watch":"vitest"},"_npmUser":{"name":"nandal","email":"sandeep@nandal.in"},"repository":{"url":"git+https://github.com/nandal/pi-ext.git","type":"git","directory":"loki-gate"},"_npmVersion":"11.3.0","description":"Loki log gateway for pi agents — query Grafana Loki for container/job/worker logs from the wrok.in AI Factory.","directories":{},"_nodeVersion":"24.2.0","_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.9","typescript":"^6.0.3"},"peerDependencies":{"typebox":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-loki-gate_1.0.0_1778871264007_0.2100903583228746","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@bytesbrains/pi-loki-gate","version":"1.0.1","description":"Loki log gateway for pi agents — query Grafana Loki for container/job/worker logs from the wrok.in AI Factory.","keywords":["pi-package","pi-extension","loki","grafana","logs","logging","ai-factory"],"author":{"name":"BytesBrains Pte Ltd","url":"https://bytesbrains.com"},"repository":{"type":"git","url":"git+https://github.com/bytesbrains/pi-loki-gate.git"},"homepage":"https://github.com/bytesbrains/pi-loki-gate#readme","bugs":{"url":"https://github.com/bytesbrains/pi-loki-gate/issues"},"license":"MIT","main":"./src/index.ts","engines":{"node":">=18"},"peerDependencies":{"@earendil-works/pi-coding-agent":"*","typebox":"*"},"pi":{"extensions":["./src/index.ts"]},"scripts":{"test":"vitest run","test:watch":"vitest"},"devDependencies":{"typescript":"^6.0.3","vitest":"^2.1.9"},"_id":"@bytesbrains/pi-loki-gate@1.0.1","gitHead":"0922d8219a6189d20ff57eec5f343dd79e2c89c6","_nodeVersion":"24.2.0","_npmVersion":"11.3.0","dist":{"integrity":"sha512-g5pArK8qRdyy18b8nup+k2yNYMdF1xPTH3fut7XGFHfLuw1vRdU2DMxLJMEucVPFCLmegcwVoFdv9fJGfQip/Q==","shasum":"c17a2ae3b236fd7862dfdcea3a2c2c91a5172b9a","tarball":"https://registry.npmjs.org/@bytesbrains/pi-loki-gate/-/pi-loki-gate-1.0.1.tgz","fileCount":9,"unpackedSize":19184,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCUUH1x19QRrudY8CnojvceUzm9QUtEC2dCcKv2hoXkVQIgBpmZeWEj1c8sqaWenApz7QgKdppJpvOR6zH7eHpnq20="}]},"_npmUser":{"name":"nandal","email":"sandeep@nandal.in"},"directories":{},"maintainers":[{"name":"nandal","email":"sandeep@nandal.in"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-loki-gate_1.0.1_1783472796992_0.8754779562848016"},"_hasShrinkwrap":false}},"time":{"created":"2026-05-15T18:54:23.894Z","modified":"2026-07-08T01:06:37.266Z","1.0.0":"2026-05-15T18:54:24.160Z","1.0.1":"2026-07-08T01:06:37.128Z"},"bugs":{"url":"https://github.com/bytesbrains/pi-loki-gate/issues"},"author":{"name":"BytesBrains Pte Ltd","url":"https://bytesbrains.com"},"license":"MIT","homepage":"https://github.com/bytesbrains/pi-loki-gate#readme","keywords":["pi-package","pi-extension","loki","grafana","logs","logging","ai-factory"],"repository":{"type":"git","url":"git+https://github.com/bytesbrains/pi-loki-gate.git"},"description":"Loki log gateway for pi agents — query Grafana Loki for container/job/worker logs from the wrok.in AI Factory.","maintainers":[{"name":"nandal","email":"sandeep@nandal.in"}],"readme":"# pi-loki-gate\n\nLoki log gateway for pi agents — query Grafana Loki for structured application logs from the [wrok.in](https://github.com/nandal/wrok.in) AI Factory.\n\nFor raw Docker container output (console.log + everything), use [pi-docker-logs](../docker-logs).\n\n## Install\n\n```bash\npi install npm:@bytesbrains/pi-loki-gate\n```\n\n## Configuration\n\nAdd a `.lokirc.yml` to your repo root:\n\n```yaml\nlokiUrl: http://localhost:3100\ndefaultLimit: 100\n```\n\n| Key | Default | Description |\n|-----|---------|-------------|\n| `lokiUrl` | `http://localhost:3100` | Grafana Loki API URL |\n| `defaultLimit` | `100` | Default log lines per query |\n\n## Available Labels\n\n| Label | Values | Description |\n|-------|--------|-------------|\n| `service_name` | `worker`, `orchestrator` | Service producing the log |\n| `service` | `worker`, `orchestrator` | Same as service_name |\n| `agent` | `developer`, etc. | Agent running the task |\n\n## Tools\n\n### loki_query\n\nRun arbitrary LogQL queries against Loki.\n\n```\nloki_query(query='{service_name=\"orchestrator\"}')\nloki_query(query='{service_name=\"worker\"} |= \"error\"', limit=50)\n```\n\n### loki_job_logs\n\nFetch logs for a specific factory job by its ID.\n\n> **Note:** Only matches structured JSON log lines. Console output like \"Job X complete\" is only in Docker logs — use `docker_worker_logs` for full output.\n\n```\nloki_job_logs(jobId=\"af57818e\")\n```\n\n### loki_worker_logs\n\nFetch logs from workers or orchestrator via Loki.\n\n```\nloki_worker_logs(worker=\"1\")\nloki_worker_logs(worker=\"3\", search=\"error\")\nloki_worker_logs(container=\"ai-factory-orchestrator\")\n```\n\n## Loki vs Docker Logs\n\n| | Loki | Docker Logs |\n|---|---|---|\n| Captures | Structured JSON only | All stdout/stderr |\n| Per-container | ❌ | ✅ |\n| Label filtering | ✅ (agent, service) | ❌ (text search) |\n| Best for | Service/agent exploration, error patterns | Complete job output, console messages |\n\n## License\n\nMIT\n\n---\n\nBuilt and maintained by [BytesBrains](https://bytesbrains.com) — AI automation & agents, engineered to production standards.\n*The model proposes, code guarantees.*\n","readmeFilename":"README.md"}