nomnomtokens 0.0.1 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +142 -12
- package/bin/cli.js +7 -16
- package/dist/index.js +6919 -0
- package/dist/index.js.map +1 -0
- package/package.json +56 -6
- package/web/nitro.json +15 -0
- package/web/public/_nuxt/075nz0Lp.js +1 -0
- package/web/public/_nuxt/B1O-ibEy.js +213 -0
- package/web/public/_nuxt/B7bAnU98.js +1 -0
- package/web/public/_nuxt/BDF8cO8j.js +1 -0
- package/web/public/_nuxt/BDNMzG2s.js +1 -0
- package/web/public/_nuxt/BGnU88BC.js +1 -0
- package/web/public/_nuxt/BPhzhJvP.js +1 -0
- package/web/public/_nuxt/BgaLDD2o.js +1 -0
- package/web/public/_nuxt/BgvEQa6E.js +3 -0
- package/web/public/_nuxt/BioUjjBz.js +1 -0
- package/web/public/_nuxt/BlvSknce.js +1 -0
- package/web/public/_nuxt/Bn14i44R.js +1 -0
- package/web/public/_nuxt/BnfUOzcc.js +1 -0
- package/web/public/_nuxt/Bv0odo9W.js +1 -0
- package/web/public/_nuxt/Bxx0Z5z6.js +1 -0
- package/web/public/_nuxt/CiWIPYVi.js +1 -0
- package/web/public/_nuxt/CqSNCP5f.js +1 -0
- package/web/public/_nuxt/Ctg1e1JV.js +1 -0
- package/web/public/_nuxt/Cu3rIkF2.js +47 -0
- package/web/public/_nuxt/Cutk9Ewh.js +1 -0
- package/web/public/_nuxt/DCVp7cZB.js +96 -0
- package/web/public/_nuxt/DCnkQFS0.js +1 -0
- package/web/public/_nuxt/DJbGqyvB.js +1 -0
- package/web/public/_nuxt/DMT7tA5C.js +1 -0
- package/web/public/_nuxt/M0pG6UQn.js +1 -0
- package/web/public/_nuxt/RlymLGHS.js +1 -0
- package/web/public/_nuxt/TmkSb4nj.js +1 -0
- package/web/public/_nuxt/_S09PGd-.js +1 -0
- package/web/public/_nuxt/builds/latest.json +1 -0
- package/web/public/_nuxt/builds/meta/63ad5f37-5b40-456d-8f53-69ff57b4903c.json +1 -0
- package/web/public/_nuxt/cHkFs-ms.js +1 -0
- package/web/public/_nuxt/entry.DTNjKx6y.css +2 -0
- package/web/public/_nuxt/error-404.DQm6ppno.css +1 -0
- package/web/public/_nuxt/error-500.hK5lsCWo.css +1 -0
- package/web/public/_nuxt/fjfS4ymU.js +1 -0
- package/web/public/_nuxt/limits.DDC9tNkw.css +1 -0
- package/web/public/_nuxt/moFy8lON.js +2 -0
- package/web/public/_nuxt/oT-x2NdZ.js +1 -0
- package/web/public/_nuxt/timeline.7J8JHjUo.css +1 -0
- package/web/public/_nuxt/tqUqm2f-.js +1 -0
- package/web/public/favicon.svg +14 -0
- package/web/server/chunks/_/error-500.mjs +20 -0
- package/web/server/chunks/_/error-500.mjs.map +1 -0
- package/web/server/chunks/_/filters.mjs +41 -0
- package/web/server/chunks/_/filters.mjs.map +1 -0
- package/web/server/chunks/build/Badge-C0eTW_zX.mjs +44 -0
- package/web/server/chunks/build/Badge-C0eTW_zX.mjs.map +1 -0
- package/web/server/chunks/build/Button-7BTto1uR.mjs +75 -0
- package/web/server/chunks/build/Button-7BTto1uR.mjs.map +1 -0
- package/web/server/chunks/build/CardAction-M7nFIGyX.mjs +30 -0
- package/web/server/chunks/build/CardAction-M7nFIGyX.mjs.map +1 -0
- package/web/server/chunks/build/CardTitle-D9ve_H9E.mjs +99 -0
- package/web/server/chunks/build/CardTitle-D9ve_H9E.mjs.map +1 -0
- package/web/server/chunks/build/EmptyState-DWgJMVCI.mjs +103 -0
- package/web/server/chunks/build/EmptyState-DWgJMVCI.mjs.map +1 -0
- package/web/server/chunks/build/FilterBar-vwbfttN7.mjs +133 -0
- package/web/server/chunks/build/FilterBar-vwbfttN7.mjs.map +1 -0
- package/web/server/chunks/build/Progress-BckzQSF5.mjs +37 -0
- package/web/server/chunks/build/Progress-BckzQSF5.mjs.map +1 -0
- package/web/server/chunks/build/Sparkline-Cxifh2uK.mjs +184 -0
- package/web/server/chunks/build/Sparkline-Cxifh2uK.mjs.map +1 -0
- package/web/server/chunks/build/TableCell-BZwItbY_.mjs +159 -0
- package/web/server/chunks/build/TableCell-BZwItbY_.mjs.map +1 -0
- package/web/server/chunks/build/Tooltip-BVTXdgMT.mjs +39 -0
- package/web/server/chunks/build/Tooltip-BVTXdgMT.mjs.map +1 -0
- package/web/server/chunks/build/_id_-BKmH0aHH.mjs +660 -0
- package/web/server/chunks/build/_id_-BKmH0aHH.mjs.map +1 -0
- package/web/server/chunks/build/_plugin-vue_export-helper-BOaGB7Aw.mjs +8 -0
- package/web/server/chunks/build/_plugin-vue_export-helper-BOaGB7Aw.mjs.map +1 -0
- package/web/server/chunks/build/default-C8deLrP0.mjs +556 -0
- package/web/server/chunks/build/default-C8deLrP0.mjs.map +1 -0
- package/web/server/chunks/build/error-404-DPRNxhXC.mjs +88 -0
- package/web/server/chunks/build/error-404-DPRNxhXC.mjs.map +1 -0
- package/web/server/chunks/build/error-404-styles.DRKRxcAQ.mjs +8 -0
- package/web/server/chunks/build/error-404-styles.DRKRxcAQ.mjs.map +1 -0
- package/web/server/chunks/build/error-500-DXGrtqsW.mjs +75 -0
- package/web/server/chunks/build/error-500-DXGrtqsW.mjs.map +1 -0
- package/web/server/chunks/build/error-500-styles.CixRQTsc.mjs +8 -0
- package/web/server/chunks/build/error-500-styles.CixRQTsc.mjs.map +1 -0
- package/web/server/chunks/build/fetch-Debw9R9i.mjs +503 -0
- package/web/server/chunks/build/fetch-Debw9R9i.mjs.map +1 -0
- package/web/server/chunks/build/limits-CnRLojCD.mjs +319 -0
- package/web/server/chunks/build/limits-CnRLojCD.mjs.map +1 -0
- package/web/server/chunks/build/limits-styles.CKdzkgZ8.mjs +8 -0
- package/web/server/chunks/build/limits-styles.CKdzkgZ8.mjs.map +1 -0
- package/web/server/chunks/build/nuxt-link-mYiLFsJs.mjs +264 -0
- package/web/server/chunks/build/nuxt-link-mYiLFsJs.mjs.map +1 -0
- package/web/server/chunks/build/pages-DlIWqsLr.mjs +362 -0
- package/web/server/chunks/build/pages-DlIWqsLr.mjs.map +1 -0
- package/web/server/chunks/build/providers-DOMeWSDZ.mjs +744 -0
- package/web/server/chunks/build/providers-DOMeWSDZ.mjs.map +1 -0
- package/web/server/chunks/build/scopes-Bagepvnf.mjs +794 -0
- package/web/server/chunks/build/scopes-Bagepvnf.mjs.map +1 -0
- package/web/server/chunks/build/sessions-peyhKv2_.mjs +708 -0
- package/web/server/chunks/build/sessions-peyhKv2_.mjs.map +1 -0
- package/web/server/chunks/build/timeline-P2RrZyBs.mjs +632 -0
- package/web/server/chunks/build/timeline-P2RrZyBs.mjs.map +1 -0
- package/web/server/chunks/build/timeline-styles.XVWi-U9N.mjs +8 -0
- package/web/server/chunks/build/timeline-styles.XVWi-U9N.mjs.map +1 -0
- package/web/server/chunks/build/useFormat-BfI0x0lv.mjs +119 -0
- package/web/server/chunks/build/useFormat-BfI0x0lv.mjs.map +1 -0
- package/web/server/chunks/build/useLive-mk38eV0f.mjs +15 -0
- package/web/server/chunks/build/useLive-mk38eV0f.mjs.map +1 -0
- package/web/server/chunks/build/useStats-Dor6kLek.mjs +91 -0
- package/web/server/chunks/build/useStats-Dor6kLek.mjs.map +1 -0
- package/web/server/chunks/nitro/nitro.mjs +7422 -0
- package/web/server/chunks/nitro/nitro.mjs.map +1 -0
- package/web/server/chunks/routes/api/events/stream.get.mjs +34 -0
- package/web/server/chunks/routes/api/events/stream.get.mjs.map +1 -0
- package/web/server/chunks/routes/api/ingest.post.mjs +35 -0
- package/web/server/chunks/routes/api/ingest.post.mjs.map +1 -0
- package/web/server/chunks/routes/api/meta.get.mjs +31 -0
- package/web/server/chunks/routes/api/meta.get.mjs.map +1 -0
- package/web/server/chunks/routes/api/stats/heatmap.get.mjs +39 -0
- package/web/server/chunks/routes/api/stats/heatmap.get.mjs.map +1 -0
- package/web/server/chunks/routes/api/stats/limits.get.mjs +43 -0
- package/web/server/chunks/routes/api/stats/limits.get.mjs.map +1 -0
- package/web/server/chunks/routes/api/stats/providers.get.mjs +43 -0
- package/web/server/chunks/routes/api/stats/providers.get.mjs.map +1 -0
- package/web/server/chunks/routes/api/stats/scopes.get.mjs +41 -0
- package/web/server/chunks/routes/api/stats/scopes.get.mjs.map +1 -0
- package/web/server/chunks/routes/api/stats/series.get.mjs +35 -0
- package/web/server/chunks/routes/api/stats/series.get.mjs.map +1 -0
- package/web/server/chunks/routes/api/stats/session/_id_.get.mjs +34 -0
- package/web/server/chunks/routes/api/stats/session/_id_.get.mjs.map +1 -0
- package/web/server/chunks/routes/api/stats/sessions.get.mjs +27 -0
- package/web/server/chunks/routes/api/stats/sessions.get.mjs.map +1 -0
- package/web/server/chunks/routes/api/stats/summary.get.mjs +61 -0
- package/web/server/chunks/routes/api/stats/summary.get.mjs.map +1 -0
- package/web/server/chunks/routes/renderer.mjs +414 -0
- package/web/server/chunks/routes/renderer.mjs.map +1 -0
- package/web/server/chunks/virtual/_virtual_spa-template.mjs +4 -0
- package/web/server/chunks/virtual/_virtual_spa-template.mjs.map +1 -0
- package/web/server/chunks/virtual/entry.mjs +2986 -0
- package/web/server/chunks/virtual/entry.mjs.map +1 -0
- package/web/server/chunks/virtual/precomputed.mjs +4 -0
- package/web/server/chunks/virtual/precomputed.mjs.map +1 -0
- package/web/server/chunks/virtual/styles.mjs +12 -0
- package/web/server/chunks/virtual/styles.mjs.map +1 -0
- package/web/server/index.mjs +16 -0
- package/web/server/index.mjs.map +1 -0
- package/web/server/node_modules/@babel/parser/lib/index.js +14611 -0
- package/web/server/node_modules/@babel/parser/package.json +50 -0
- package/web/server/node_modules/@vue/compiler-core/dist/compiler-core.cjs.prod.js +6780 -0
- package/web/server/node_modules/@vue/compiler-core/package.json +58 -0
- package/web/server/node_modules/@vue/compiler-dom/dist/compiler-dom.cjs.prod.js +689 -0
- package/web/server/node_modules/@vue/compiler-dom/package.json +57 -0
- package/web/server/node_modules/@vue/compiler-ssr/dist/compiler-ssr.cjs.js +1413 -0
- package/web/server/node_modules/@vue/compiler-ssr/package.json +34 -0
- package/web/server/node_modules/@vue/reactivity/dist/reactivity.cjs.prod.js +1903 -0
- package/web/server/node_modules/@vue/reactivity/package.json +55 -0
- package/web/server/node_modules/@vue/runtime-core/dist/runtime-core.cjs.prod.js +6949 -0
- package/web/server/node_modules/@vue/runtime-core/package.json +52 -0
- package/web/server/node_modules/@vue/runtime-dom/dist/runtime-dom.cjs.prod.js +1823 -0
- package/web/server/node_modules/@vue/runtime-dom/package.json +60 -0
- package/web/server/node_modules/@vue/server-renderer/dist/server-renderer.cjs.prod.js +902 -0
- package/web/server/node_modules/@vue/server-renderer/package.json +53 -0
- package/web/server/node_modules/@vue/shared/dist/shared.cjs.prod.js +609 -0
- package/web/server/node_modules/@vue/shared/package.json +47 -0
- package/web/server/node_modules/better-sqlite3/lib/binding.js +62 -0
- package/web/server/node_modules/better-sqlite3/lib/database.js +109 -0
- package/web/server/node_modules/better-sqlite3/lib/index.js +3 -0
- package/web/server/node_modules/better-sqlite3/lib/methods/aggregate.js +43 -0
- package/web/server/node_modules/better-sqlite3/lib/methods/backup.js +67 -0
- package/web/server/node_modules/better-sqlite3/lib/methods/explain.js +9 -0
- package/web/server/node_modules/better-sqlite3/lib/methods/function.js +31 -0
- package/web/server/node_modules/better-sqlite3/lib/methods/inspect.js +7 -0
- package/web/server/node_modules/better-sqlite3/lib/methods/pragma.js +12 -0
- package/web/server/node_modules/better-sqlite3/lib/methods/serialize.js +16 -0
- package/web/server/node_modules/better-sqlite3/lib/methods/table.js +195 -0
- package/web/server/node_modules/better-sqlite3/lib/methods/transaction.js +78 -0
- package/web/server/node_modules/better-sqlite3/lib/methods/wrappers.js +54 -0
- package/web/server/node_modules/better-sqlite3/lib/sqlite-error.js +25 -0
- package/web/server/node_modules/better-sqlite3/lib/util.js +12 -0
- package/web/server/node_modules/better-sqlite3/package.json +67 -0
- package/web/server/node_modules/better-sqlite3/prebuilds/darwin-arm64.node +0 -0
- package/web/server/node_modules/better-sqlite3/prebuilds/darwin-x64.node +0 -0
- package/web/server/node_modules/better-sqlite3/prebuilds/linux-arm64.node +0 -0
- package/web/server/node_modules/better-sqlite3/prebuilds/linux-x64.node +0 -0
- package/web/server/node_modules/better-sqlite3/prebuilds/linuxmusl-arm64.node +0 -0
- package/web/server/node_modules/better-sqlite3/prebuilds/linuxmusl-x64.node +0 -0
- package/web/server/node_modules/better-sqlite3/prebuilds/win32-arm64.node +0 -0
- package/web/server/node_modules/better-sqlite3/prebuilds/win32-x64.node +0 -0
- package/web/server/node_modules/chokidar/handler.js +632 -0
- package/web/server/node_modules/chokidar/index.js +822 -0
- package/web/server/node_modules/chokidar/package.json +63 -0
- package/web/server/node_modules/class-variance-authority/dist/index.mjs +56 -0
- package/web/server/node_modules/class-variance-authority/package.json +63 -0
- package/web/server/node_modules/clsx/dist/clsx.mjs +1 -0
- package/web/server/node_modules/clsx/package.json +60 -0
- package/web/server/node_modules/devalue/index.js +17 -0
- package/web/server/node_modules/devalue/package.json +39 -0
- package/web/server/node_modules/devalue/src/base64.js +60 -0
- package/web/server/node_modules/devalue/src/constants.js +12 -0
- package/web/server/node_modules/devalue/src/operations.js +193 -0
- package/web/server/node_modules/devalue/src/parse.js +270 -0
- package/web/server/node_modules/devalue/src/stringify.js +428 -0
- package/web/server/node_modules/devalue/src/uneval.js +582 -0
- package/web/server/node_modules/devalue/src/utils.js +185 -0
- package/web/server/node_modules/drizzle-orm/alias.js +113 -0
- package/web/server/node_modules/drizzle-orm/better-sqlite3/driver.js +68 -0
- package/web/server/node_modules/drizzle-orm/better-sqlite3/index.js +3 -0
- package/web/server/node_modules/drizzle-orm/better-sqlite3/session.js +118 -0
- package/web/server/node_modules/drizzle-orm/cache/core/cache.js +32 -0
- package/web/server/node_modules/drizzle-orm/cache/core/index.js +2 -0
- package/web/server/node_modules/drizzle-orm/casing.js +58 -0
- package/web/server/node_modules/drizzle-orm/column-builder.js +106 -0
- package/web/server/node_modules/drizzle-orm/column.js +54 -0
- package/web/server/node_modules/drizzle-orm/entity.js +31 -0
- package/web/server/node_modules/drizzle-orm/errors.js +32 -0
- package/web/server/node_modules/drizzle-orm/logger.js +36 -0
- package/web/server/node_modules/drizzle-orm/package.json +5529 -0
- package/web/server/node_modules/drizzle-orm/pg-core/columns/all.js +72 -0
- package/web/server/node_modules/drizzle-orm/pg-core/columns/bigint.js +64 -0
- package/web/server/node_modules/drizzle-orm/pg-core/columns/bigserial.js +69 -0
- package/web/server/node_modules/drizzle-orm/pg-core/columns/boolean.js +27 -0
- package/web/server/node_modules/drizzle-orm/pg-core/columns/char.js +36 -0
- package/web/server/node_modules/drizzle-orm/pg-core/columns/cidr.js +27 -0
- package/web/server/node_modules/drizzle-orm/pg-core/columns/common.js +198 -0
- package/web/server/node_modules/drizzle-orm/pg-core/columns/custom.js +51 -0
- package/web/server/node_modules/drizzle-orm/pg-core/columns/date.common.js +13 -0
- package/web/server/node_modules/drizzle-orm/pg-core/columns/date.js +65 -0
- package/web/server/node_modules/drizzle-orm/pg-core/columns/double-precision.js +36 -0
- package/web/server/node_modules/drizzle-orm/pg-core/columns/enum.js +96 -0
- package/web/server/node_modules/drizzle-orm/pg-core/columns/inet.js +27 -0
- package/web/server/node_modules/drizzle-orm/pg-core/columns/int.common.js +43 -0
- package/web/server/node_modules/drizzle-orm/pg-core/columns/integer.js +34 -0
- package/web/server/node_modules/drizzle-orm/pg-core/columns/interval.js +34 -0
- package/web/server/node_modules/drizzle-orm/pg-core/columns/json.js +43 -0
- package/web/server/node_modules/drizzle-orm/pg-core/columns/jsonb.js +43 -0
- package/web/server/node_modules/drizzle-orm/pg-core/columns/line.js +70 -0
- package/web/server/node_modules/drizzle-orm/pg-core/columns/macaddr.js +27 -0
- package/web/server/node_modules/drizzle-orm/pg-core/columns/macaddr8.js +27 -0
- package/web/server/node_modules/drizzle-orm/pg-core/columns/numeric.js +130 -0
- package/web/server/node_modules/drizzle-orm/pg-core/columns/point.js +76 -0
- package/web/server/node_modules/drizzle-orm/pg-core/columns/postgis_extension/geometry.js +70 -0
- package/web/server/node_modules/drizzle-orm/pg-core/columns/postgis_extension/utils.js +41 -0
- package/web/server/node_modules/drizzle-orm/pg-core/columns/real.js +37 -0
- package/web/server/node_modules/drizzle-orm/pg-core/columns/serial.js +29 -0
- package/web/server/node_modules/drizzle-orm/pg-core/columns/smallint.js +34 -0
- package/web/server/node_modules/drizzle-orm/pg-core/columns/smallserial.js +32 -0
- package/web/server/node_modules/drizzle-orm/pg-core/columns/text.js +31 -0
- package/web/server/node_modules/drizzle-orm/pg-core/columns/time.js +42 -0
- package/web/server/node_modules/drizzle-orm/pg-core/columns/timestamp.js +91 -0
- package/web/server/node_modules/drizzle-orm/pg-core/columns/uuid.js +34 -0
- package/web/server/node_modules/drizzle-orm/pg-core/columns/varchar.js +36 -0
- package/web/server/node_modules/drizzle-orm/pg-core/columns/vector_extension/bit.js +34 -0
- package/web/server/node_modules/drizzle-orm/pg-core/columns/vector_extension/halfvec.js +40 -0
- package/web/server/node_modules/drizzle-orm/pg-core/columns/vector_extension/sparsevec.js +34 -0
- package/web/server/node_modules/drizzle-orm/pg-core/columns/vector_extension/vector.js +40 -0
- package/web/server/node_modules/drizzle-orm/pg-core/foreign-keys.js +74 -0
- package/web/server/node_modules/drizzle-orm/pg-core/primary-keys.js +42 -0
- package/web/server/node_modules/drizzle-orm/pg-core/table.js +71 -0
- package/web/server/node_modules/drizzle-orm/pg-core/unique-constraint.js +61 -0
- package/web/server/node_modules/drizzle-orm/pg-core/utils/array.js +80 -0
- package/web/server/node_modules/drizzle-orm/query-builders/query-builder.js +12 -0
- package/web/server/node_modules/drizzle-orm/query-promise.js +27 -0
- package/web/server/node_modules/drizzle-orm/relations.js +316 -0
- package/web/server/node_modules/drizzle-orm/selection-proxy.js +76 -0
- package/web/server/node_modules/drizzle-orm/sql/expressions/conditions.js +184 -0
- package/web/server/node_modules/drizzle-orm/sql/expressions/index.js +3 -0
- package/web/server/node_modules/drizzle-orm/sql/expressions/select.js +12 -0
- package/web/server/node_modules/drizzle-orm/sql/functions/aggregate.js +38 -0
- package/web/server/node_modules/drizzle-orm/sql/functions/index.js +3 -0
- package/web/server/node_modules/drizzle-orm/sql/functions/vector.js +49 -0
- package/web/server/node_modules/drizzle-orm/sql/index.js +4 -0
- package/web/server/node_modules/drizzle-orm/sql/sql.js +436 -0
- package/web/server/node_modules/drizzle-orm/sqlite-core/alias.js +8 -0
- package/web/server/node_modules/drizzle-orm/sqlite-core/checks.js +31 -0
- package/web/server/node_modules/drizzle-orm/sqlite-core/columns/all.js +20 -0
- package/web/server/node_modules/drizzle-orm/sqlite-core/columns/blob.js +100 -0
- package/web/server/node_modules/drizzle-orm/sqlite-core/columns/common.js +59 -0
- package/web/server/node_modules/drizzle-orm/sqlite-core/columns/custom.js +55 -0
- package/web/server/node_modules/drizzle-orm/sqlite-core/columns/index.js +8 -0
- package/web/server/node_modules/drizzle-orm/sqlite-core/columns/integer.js +125 -0
- package/web/server/node_modules/drizzle-orm/sqlite-core/columns/numeric.js +86 -0
- package/web/server/node_modules/drizzle-orm/sqlite-core/columns/real.js +27 -0
- package/web/server/node_modules/drizzle-orm/sqlite-core/columns/text.js +69 -0
- package/web/server/node_modules/drizzle-orm/sqlite-core/db.js +342 -0
- package/web/server/node_modules/drizzle-orm/sqlite-core/dialect.js +715 -0
- package/web/server/node_modules/drizzle-orm/sqlite-core/foreign-keys.js +77 -0
- package/web/server/node_modules/drizzle-orm/sqlite-core/index.js +16 -0
- package/web/server/node_modules/drizzle-orm/sqlite-core/indexes.js +56 -0
- package/web/server/node_modules/drizzle-orm/sqlite-core/primary-keys.js +42 -0
- package/web/server/node_modules/drizzle-orm/sqlite-core/query-builders/count.js +48 -0
- package/web/server/node_modules/drizzle-orm/sqlite-core/query-builders/delete.js +123 -0
- package/web/server/node_modules/drizzle-orm/sqlite-core/query-builders/index.js +7 -0
- package/web/server/node_modules/drizzle-orm/sqlite-core/query-builders/insert.js +184 -0
- package/web/server/node_modules/drizzle-orm/sqlite-core/query-builders/query-builder.js +75 -0
- package/web/server/node_modules/drizzle-orm/sqlite-core/query-builders/query.js +153 -0
- package/web/server/node_modules/drizzle-orm/sqlite-core/query-builders/raw.js +32 -0
- package/web/server/node_modules/drizzle-orm/sqlite-core/query-builders/select.js +690 -0
- package/web/server/node_modules/drizzle-orm/sqlite-core/query-builders/select.types.js +1 -0
- package/web/server/node_modules/drizzle-orm/sqlite-core/query-builders/update.js +183 -0
- package/web/server/node_modules/drizzle-orm/sqlite-core/session.js +206 -0
- package/web/server/node_modules/drizzle-orm/sqlite-core/subquery.js +1 -0
- package/web/server/node_modules/drizzle-orm/sqlite-core/table.js +52 -0
- package/web/server/node_modules/drizzle-orm/sqlite-core/unique-constraint.js +53 -0
- package/web/server/node_modules/drizzle-orm/sqlite-core/utils.js +71 -0
- package/web/server/node_modules/drizzle-orm/sqlite-core/view-base.js +9 -0
- package/web/server/node_modules/drizzle-orm/sqlite-core/view.js +106 -0
- package/web/server/node_modules/drizzle-orm/subquery.js +25 -0
- package/web/server/node_modules/drizzle-orm/table.js +79 -0
- package/web/server/node_modules/drizzle-orm/table.utils.js +5 -0
- package/web/server/node_modules/drizzle-orm/tracing-utils.js +7 -0
- package/web/server/node_modules/drizzle-orm/tracing.js +39 -0
- package/web/server/node_modules/drizzle-orm/utils.js +174 -0
- package/web/server/node_modules/drizzle-orm/version.js +9 -0
- package/web/server/node_modules/drizzle-orm/view-common.js +5 -0
- package/web/server/node_modules/entities/dist/commonjs/decode-codepoint.js +77 -0
- package/web/server/node_modules/entities/dist/commonjs/decode.js +568 -0
- package/web/server/node_modules/entities/dist/commonjs/generated/decode-data-html.js +7 -0
- package/web/server/node_modules/entities/dist/commonjs/generated/decode-data-xml.js +7 -0
- package/web/server/node_modules/entities/dist/commonjs/internal/bin-trie-flags.js +21 -0
- package/web/server/node_modules/entities/dist/commonjs/internal/decode-shared.js +31 -0
- package/web/server/node_modules/entities/dist/commonjs/package.json +3 -0
- package/web/server/node_modules/entities/package.json +120 -0
- package/web/server/node_modules/estree-walker/dist/umd/estree-walker.js +344 -0
- package/web/server/node_modules/estree-walker/package.json +37 -0
- package/web/server/node_modules/fnv1a-64/dist/index.mjs +95 -0
- package/web/server/node_modules/fnv1a-64/package.json +75 -0
- package/web/server/node_modules/hookable/dist/index.mjs +257 -0
- package/web/server/node_modules/hookable/package.json +53 -0
- package/web/server/node_modules/lucide-vue-next/dist/cjs/lucide-vue-next.js +24568 -0
- package/web/server/node_modules/lucide-vue-next/package.json +64 -0
- package/web/server/node_modules/nostics/dist/formatters/ansi.mjs +19 -0
- package/web/server/node_modules/nostics/dist/index.mjs +187 -0
- package/web/server/node_modules/nostics/package.json +125 -0
- package/web/server/node_modules/object-identity/index.js +60 -0
- package/web/server/node_modules/object-identity/package.json +40 -0
- package/web/server/node_modules/readdirp/index.js +272 -0
- package/web/server/node_modules/readdirp/package.json +66 -0
- package/web/server/node_modules/source-map-js/lib/array-set.js +121 -0
- package/web/server/node_modules/source-map-js/lib/base64-vlq.js +140 -0
- package/web/server/node_modules/source-map-js/lib/base64.js +67 -0
- package/web/server/node_modules/source-map-js/lib/binary-search.js +111 -0
- package/web/server/node_modules/source-map-js/lib/mapping-list.js +79 -0
- package/web/server/node_modules/source-map-js/lib/quick-sort.js +132 -0
- package/web/server/node_modules/source-map-js/lib/source-map-consumer.js +1188 -0
- package/web/server/node_modules/source-map-js/lib/source-map-generator.js +444 -0
- package/web/server/node_modules/source-map-js/lib/source-node.js +413 -0
- package/web/server/node_modules/source-map-js/lib/util.js +594 -0
- package/web/server/node_modules/source-map-js/package.json +71 -0
- package/web/server/node_modules/source-map-js/source-map.js +8 -0
- package/web/server/node_modules/tailwind-merge/dist/bundle-mjs.mjs +3365 -0
- package/web/server/node_modules/tailwind-merge/package.json +93 -0
- package/web/server/node_modules/ufo/dist/index.mjs +645 -0
- package/web/server/node_modules/ufo/package.json +48 -0
- package/web/server/node_modules/unhead/dist/client.mjs +22 -0
- package/web/server/node_modules/unhead/dist/index.mjs +52 -0
- package/web/server/node_modules/unhead/dist/legacy.mjs +33 -0
- package/web/server/node_modules/unhead/dist/minify.mjs +172 -0
- package/web/server/node_modules/unhead/dist/parser.mjs +518 -0
- package/web/server/node_modules/unhead/dist/plugins.mjs +631 -0
- package/web/server/node_modules/unhead/dist/scripts.node.mjs +6 -0
- package/web/server/node_modules/unhead/dist/server.mjs +99 -0
- package/web/server/node_modules/unhead/dist/shared/unhead.10KEJHqy.mjs +184 -0
- package/web/server/node_modules/unhead/dist/shared/unhead.BCcw-xUY.mjs +19 -0
- package/web/server/node_modules/unhead/dist/shared/unhead.BEmVMkeA.mjs +673 -0
- package/web/server/node_modules/unhead/dist/shared/unhead.BGFxPGPQ.mjs +47 -0
- package/web/server/node_modules/unhead/dist/shared/unhead.BTzUdyNs.mjs +194 -0
- package/web/server/node_modules/unhead/dist/shared/unhead.Bb4d5b9h.mjs +67 -0
- package/web/server/node_modules/unhead/dist/shared/unhead.Bf_fPVYA.mjs +6 -0
- package/web/server/node_modules/unhead/dist/shared/unhead.Bm4Y6XQI.mjs +17 -0
- package/web/server/node_modules/unhead/dist/shared/unhead.BuspQZgK.mjs +231 -0
- package/web/server/node_modules/unhead/dist/shared/unhead.CGPOfp5O.mjs +32 -0
- package/web/server/node_modules/unhead/dist/shared/unhead.CHEy9ana.mjs +7 -0
- package/web/server/node_modules/unhead/dist/shared/unhead.CTjuIdzk.mjs +27 -0
- package/web/server/node_modules/unhead/dist/shared/unhead.D7HkBzZn.mjs +59 -0
- package/web/server/node_modules/unhead/dist/shared/unhead.DNKiVLV7.mjs +400 -0
- package/web/server/node_modules/unhead/dist/shared/unhead.JIneUUHd.mjs +264 -0
- package/web/server/node_modules/unhead/dist/shared/unhead.q9F_9EzH.mjs +588 -0
- package/web/server/node_modules/unhead/dist/shared/unhead.sGLr_XKf.mjs +201 -0
- package/web/server/node_modules/unhead/dist/stream/client.mjs +28 -0
- package/web/server/node_modules/unhead/dist/stream/iife.mjs +2 -0
- package/web/server/node_modules/unhead/dist/stream/server.mjs +264 -0
- package/web/server/node_modules/unhead/dist/utils.mjs +7 -0
- package/web/server/node_modules/unhead/package.json +179 -0
- package/web/server/node_modules/vue/dist/vue.cjs.js +80 -0
- package/web/server/node_modules/vue/dist/vue.cjs.prod.js +66 -0
- package/web/server/node_modules/vue/index.js +7 -0
- package/web/server/node_modules/vue/index.mjs +1 -0
- package/web/server/node_modules/vue/package.json +112 -0
- package/web/server/node_modules/vue/server-renderer/index.mjs +1 -0
- package/web/server/node_modules/vue-bundle-renderer/dist/runtime.mjs +249 -0
- package/web/server/node_modules/vue-bundle-renderer/package.json +57 -0
- package/web/server/package.json +37 -0
package/README.md
CHANGED
|
@@ -1,23 +1,153 @@
|
|
|
1
1
|
# nomnomtokens
|
|
2
2
|
|
|
3
|
-
> nom nom nom — your
|
|
3
|
+
> nom nom nom — your agent is eating tokens. The dashboard shows exactly how many.
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
A local-first dashboard for AI coding agent spend. Run one command and a
|
|
6
|
+
dashboard opens in your browser: how much your agent ate today, on which
|
|
7
|
+
projects, and when you'll hit your limit.
|
|
7
8
|
|
|
8
|
-
|
|
9
|
+
```sh
|
|
10
|
+
npx nomnomtokens
|
|
11
|
+
```
|
|
9
12
|
|
|
10
|
-
|
|
13
|
+

|
|
11
14
|
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
- Claude Code first; other agents next
|
|
15
|
+
Claude Code, Cursor (when its local IDE database has token fields), and Codex
|
|
16
|
+
CLI/IDE session rollouts. The event contract is deliberately not AI-shaped, so
|
|
17
|
+
other agents — and eventually CI minutes and cloud bills — plug in as adapters
|
|
18
|
+
without touching the core.
|
|
17
19
|
|
|
18
|
-
##
|
|
20
|
+
## What you get
|
|
19
21
|
|
|
20
|
-
|
|
22
|
+
- **Overview** — eaten today / this week / this month, with a limits widget that
|
|
23
|
+
projects when you'll hit the cap at your current burn rate.
|
|
24
|
+
- **Timeline** — spend over time stacked by model, plus an hour×weekday heatmap
|
|
25
|
+
of when you actually work.
|
|
26
|
+
- **Projects** — per-project cost with trend against the preceding period. Click
|
|
27
|
+
a row to filter every screen. This is the one that lets a freelancer bill a
|
|
28
|
+
client.
|
|
29
|
+
- **Providers** — cache hit rate and cost per 1,000 changed lines.
|
|
30
|
+
- **Sessions** — every conversation, drilling into how the bill accumulated.
|
|
31
|
+
- **Limits** — window-fill history with a burn-rate projection and markers for
|
|
32
|
+
the moments you actually hit the cap.
|
|
33
|
+
|
|
34
|
+
Filter state lives in the URL, `⌘K` jumps anywhere, dark by default.
|
|
35
|
+
|
|
36
|
+
## Install
|
|
37
|
+
|
|
38
|
+
```sh
|
|
39
|
+
npx nomnomtokens # scan history and open the dashboard
|
|
40
|
+
npx nomnomtokens init # wire up the status line hook (limits + live updates)
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
`init` edits `~/.claude/settings.json` to add a `statusLine` entry. It backs the
|
|
44
|
+
file up first, refuses to clobber a status line you already have, and prints
|
|
45
|
+
exactly what it changed.
|
|
46
|
+
|
|
47
|
+
Why it matters: **subscription limits appear nowhere in the transcript.** The
|
|
48
|
+
5-hour and 7-day window percentages are only ever handed to the status line
|
|
49
|
+
hook. Without it you still get full history and cost; you don't get limits or
|
|
50
|
+
live updates.
|
|
51
|
+
|
|
52
|
+
The hook doubles as a real status line:
|
|
53
|
+
|
|
54
|
+
```
|
|
55
|
+
(^u^) $4.20 ctx 37% 5h 73% 7d 41% 138 lines
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
## Commands
|
|
59
|
+
|
|
60
|
+
| Command | Does |
|
|
61
|
+
|---|---|
|
|
62
|
+
| `nnt` | scan, then open the dashboard |
|
|
63
|
+
| `nnt scan [--watch]` | read new records into the local store |
|
|
64
|
+
| `nnt serve [--port]` | open the dashboard |
|
|
65
|
+
| `nnt init [--force]` | wire up the status line hook |
|
|
66
|
+
| `nnt statusline` | ingest a session payload and print a status line |
|
|
67
|
+
| `nnt doctor` | why is it empty? checks sources, hook, and store |
|
|
68
|
+
|
|
69
|
+
## Privacy
|
|
70
|
+
|
|
71
|
+
Your data never leaves your machine. No account, no telemetry, no network calls
|
|
72
|
+
at all — not even a font or a CDN script.
|
|
73
|
+
|
|
74
|
+
The event type has nowhere to put a prompt, a diff, or a path:
|
|
75
|
+
|
|
76
|
+
```ts
|
|
77
|
+
scopeHash: string // sha256(project path).slice(0, 16)
|
|
78
|
+
meta: Record<string, number> // numbers only — no strings, by construction
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
Project paths are hashed; the readable label lives in a separate local table and
|
|
82
|
+
is never attached to an event. Full detail in
|
|
83
|
+
[docs/privacy.md](docs/privacy.md). Uninstalling is `rm -rf ~/.nomnomtokens`.
|
|
84
|
+
|
|
85
|
+
## Are the numbers right?
|
|
86
|
+
|
|
87
|
+
This turned out to be the hard part, and it's worth being explicit about,
|
|
88
|
+
because the obvious implementation over-reports by roughly **2.3×**.
|
|
89
|
+
|
|
90
|
+
1. **Claude Code writes the same turn several times.** On a 25k-line corpus,
|
|
91
|
+
3,269 of 4,806 distinct turns appeared 2–3 times, identical apart from a
|
|
92
|
+
per-record `uuid`. Dedup keys on `requestId` + `message.id`.
|
|
93
|
+
2. **Subagent spend is three directories deeper** than session transcripts, at
|
|
94
|
+
`projects/<project>/<session>/subagents/`. A `projects/*/*.jsonl` glob
|
|
95
|
+
silently drops every Task-tool subagent.
|
|
96
|
+
3. **There is no cost field any more.** Modern transcripts dropped `costUSD`, so
|
|
97
|
+
cost is computed locally from the model and token counts. A model we can't
|
|
98
|
+
price contributes `null`, never `0`, and the UI tells you how many events
|
|
99
|
+
that was.
|
|
100
|
+
|
|
101
|
+
The scanner is reconciled against an independent implementation over the same
|
|
102
|
+
raw files, matching exactly on row count and all five token buckets. See
|
|
103
|
+
[docs/architecture.md](docs/architecture.md).
|
|
104
|
+
|
|
105
|
+
## Development
|
|
106
|
+
|
|
107
|
+
```sh
|
|
108
|
+
pnpm install
|
|
109
|
+
pnpm start # build if needed, scan history, open the dashboard
|
|
110
|
+
pnpm dev # Nuxt live reload only (no scan) on :4269
|
|
111
|
+
pnpm test # unit tests
|
|
112
|
+
pnpm build # Nuxt build, staged to web/, plus the bundled CLI in dist/
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
To check the published artefact rather than the workspace:
|
|
116
|
+
|
|
117
|
+
```sh
|
|
118
|
+
npm pack
|
|
119
|
+
cd $(mktemp -d) && npm init -y && npm i /path/to/nomnomtokens-0.1.0.tgz
|
|
120
|
+
./node_modules/.bin/nnt doctor
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
Layout: `packages/core` (types, pricing, aggregation — isomorphic, zero Node
|
|
124
|
+
API), `packages/db` (Drizzle + SQLite), `packages/adapters`, `packages/cli`,
|
|
125
|
+
`apps/web` (Nuxt 4 + Nitro).
|
|
126
|
+
|
|
127
|
+
The UI is Tailwind v4 with hand-written components that reproduce shadcn's
|
|
128
|
+
design tokens and variant recipes exactly — no component-library dependency.
|
|
129
|
+
Charts are [Unovis](https://unovis.dev), chosen because it styles from CSS
|
|
130
|
+
custom properties and so inherits the theme without a parallel config.
|
|
131
|
+
|
|
132
|
+
**Writing an adapter?** [docs/adapters.md](docs/adapters.md). A new source
|
|
133
|
+
should be a new directory and one line in the registry — if it needs a change to
|
|
134
|
+
the core, the contract is wrong and that's a bug worth reporting.
|
|
135
|
+
|
|
136
|
+
## Roadmap
|
|
137
|
+
|
|
138
|
+
Shipped: Claude Code adapter, Cursor adapter (local `state.vscdb`), Codex
|
|
139
|
+
adapter (`~/.codex/sessions/**/rollout-*.jsonl`), all six screens, limits with
|
|
140
|
+
forecasting, live updates. CSV helpers exist in `packages/adapters` but are not
|
|
141
|
+
wired into `scan` / the UI yet.
|
|
142
|
+
|
|
143
|
+
Cursor caveat: the IDE often stores zero token counts in local bubbles. We only
|
|
144
|
+
emit events when numbers are present (exact `tokenCount`, or
|
|
145
|
+
`tokensUsed` + delta). We do not estimate from message text. Sessions without
|
|
146
|
+
local counts will not appear until Cursor writes them — or until a future
|
|
147
|
+
optional CSV enrich from the Cursor dashboard.
|
|
148
|
+
|
|
149
|
+
Next: wire up CSV import, OTLP receiver, export, alerts. Then cloud mode — a
|
|
150
|
+
second sink for the same events, never a rewrite, and never in the critical path.
|
|
21
151
|
|
|
22
152
|
## License
|
|
23
153
|
|
package/bin/cli.js
CHANGED
|
@@ -1,17 +1,8 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
//
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
│ soon you'll see how many │
|
|
10
|
-
│ │
|
|
11
|
-
│ v0.0.1 · work in progress │
|
|
12
|
-
│ github.com/NikolaiKushner/nomnomtokens │
|
|
13
|
-
└─────────────────────────────────┘
|
|
14
|
-
`;
|
|
15
|
-
console.log(art);
|
|
16
|
-
console.log('Planned: local-first dashboard for AI coding agent usage —');
|
|
17
|
-
console.log('spend, tokens, limits, forecasts. Star the repo to follow along.\n');
|
|
2
|
+
// Stable entry point. The published `bin` path has to keep working across
|
|
3
|
+
// versions, so it stays here and forwards to the bundle rather than moving.
|
|
4
|
+
import('../dist/index.js').catch((error) => {
|
|
5
|
+
console.error(`nomnomtokens failed to start: ${error?.message ?? error}`)
|
|
6
|
+
console.error('This install looks incomplete. Try: npm i -g nomnomtokens@latest')
|
|
7
|
+
process.exit(1)
|
|
8
|
+
})
|