{"_id":"@dmsdc-ai/aigentry-logger","name":"@dmsdc-ai/aigentry-logger","dist-tags":{"latest":"0.2.0"},"versions":{"0.2.0":{"name":"@dmsdc-ai/aigentry-logger","version":"0.2.0","description":"aigentry-logger — passive TelemetryEvent NDJSON aggregator (MVP: receiver + query CLI + emitter SDK).","type":"module","main":"dist/index.js","module":"dist/index.js","types":"dist/index.d.ts","bin":{"aigentry-logger":"bin/aigentry-logger.mjs"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./emit":{"types":"./dist/emit.d.ts","import":"./dist/emit.js"},"./receive":{"types":"./dist/receive.d.ts","import":"./dist/receive.js"},"./query":{"types":"./dist/query.d.ts","import":"./dist/query.js"}},"scripts":{"build":"tsc -p tsconfig.json && node scripts/copy-assets.mjs","typecheck":"tsc -p tsconfig.json --noEmit","check:schema-drift":"node scripts/check-schema-drift.mjs","test":"vitest run","test:watch":"vitest"},"engines":{"node":">=18"},"license":"MIT","publishConfig":{"access":"public"},"dependencies":{"@dmsdc-ai/aigentry-ssot":"^1.0.0","ajv":"^8.17.1"},"devDependencies":{"@types/node":"^20.14.0","typescript":"^5.5.0","vitest":"^2.0.0"},"_id":"@dmsdc-ai/aigentry-logger@0.2.0","gitHead":"5e032245cf569c2bc49d9392d7cce7f1b97d72d6","_nodeVersion":"20.20.0","_npmVersion":"10.8.2","dist":{"integrity":"sha512-PqiLcyT4Xs9wxF7qjDqVSg1dBpXJk4xGGedV2p94VBGcxzT9S7vzp5PYO3M2lMsJVVoHgDM2Pa6L2X5xXyogTA==","shasum":"366321aae5b298f1ace89d432d42ef0aa897effe","tarball":"https://registry.npmjs.org/@dmsdc-ai/aigentry-logger/-/aigentry-logger-0.2.0.tgz","fileCount":39,"unpackedSize":57108,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDQ8kCka2V9iiS40G7Rn7kLgugQCbR6xZfKxOzvOFbHaQIgf8oAK7UHKnKd+uNHC+JtCR+qIiNSljxMs374yiq8Aus="}]},"_npmUser":{"name":"duckyoung_kim","email":"banggayo3@gmail.com"},"directories":{},"maintainers":[{"name":"duckyoung_kim","email":"banggayo3@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/aigentry-logger_0.2.0_1780754124967_0.14881802746437356"},"_hasShrinkwrap":false}},"time":{"created":"2026-06-06T13:55:24.803Z","0.2.0":"2026-06-06T13:55:25.099Z","modified":"2026-06-06T13:55:25.330Z"},"maintainers":[{"name":"duckyoung_kim","email":"banggayo3@gmail.com"}],"description":"aigentry-logger — passive TelemetryEvent NDJSON aggregator (MVP: receiver + query CLI + emitter SDK).","license":"MIT","readme":"# @dmsdc-ai/aigentry-logger\n\nPassive `TelemetryEvent` NDJSON aggregator for the aigentry ecosystem — a\n**receiver**, a **query CLI**, and an **emitter SDK**. Events are validated\nagainst the canonical `TelemetryEvent` JSON Schema (Draft 2020-12) vendored\nfrom [`@dmsdc-ai/aigentry-ssot`](https://www.npmjs.com/package/@dmsdc-ai/aigentry-ssot).\n\nAt runtime the package depends only on `ajv`; its coupling to `@dmsdc-ai/aigentry-ssot`\nis **type-only** (the schema is vendored into `dist/`).\n\n## Install\n\n```bash\nnpm install @dmsdc-ai/aigentry-logger\n```\n\nKeep it a **local, per-repo** dependency — do not `npm i -g` the CLI. Each\nconsumer's emitter and receiver should run the same pinned version (see the\nversion-skew note below).\n\n## CLI\n\n```bash\n# Receive: read TelemetryEvent NDJSON from stdin, validate, append per-day\naigentry-logger receive --emitter <name>\n# → ~/.aigentry/telemetry/<emitter>-<YYYY-MM-DD>.ndjson (rotated by emitted_at)\n\n# Query: filter aggregated events\naigentry-logger query --kind <k> --role <r> --emitter <e> \\\n  --since 1d --until <iso> --limit 100 --jq-filter .payload.task_id\n\naigentry-logger --version\naigentry-logger --help\n```\n\n`--since` / `--until` accept `Nd` / `Nh` / `Nm` / `Ns` or ISO 8601.\n`--jq-filter` takes a dot-path extractor (e.g. `.role`, `.payload.task_id`).\n\n## Emitter SDK\n\n```ts\nimport { emit, makeEmitter } from '@dmsdc-ai/aigentry-logger';\n\nawait emit(event);                       // validate + append to the per-emitter file\nconst log = makeEmitter({ emitter: 'my-svc' });  // bind base dir / name / clock once\nawait log(event);\n```\n\nEntry points: `@dmsdc-ai/aigentry-logger` (emit), `@dmsdc-ai/aigentry-logger/emit`,\n`@dmsdc-ai/aigentry-logger/receive`, `@dmsdc-ai/aigentry-logger/query`.\n\n## Versioning\n\nPin `@dmsdc-ai/aigentry-ssot` by exact patch (per ssot's `SEMVER.md` CI gate) and\n`@dmsdc-ai/aigentry-logger` by caret-minor. Never float `latest` in a daemon or\nlong-running process. See `CHANGELOG.md` for release history.\n\n## License\n\nMIT — see `LICENSE`.\n","readmeFilename":"README.md","_rev":"1-c2715fa4c1fe4be310a4ba2b56b6f406"}