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.
Files changed (393) hide show
  1. package/README.md +142 -12
  2. package/bin/cli.js +7 -16
  3. package/dist/index.js +6919 -0
  4. package/dist/index.js.map +1 -0
  5. package/package.json +56 -6
  6. package/web/nitro.json +15 -0
  7. package/web/public/_nuxt/075nz0Lp.js +1 -0
  8. package/web/public/_nuxt/B1O-ibEy.js +213 -0
  9. package/web/public/_nuxt/B7bAnU98.js +1 -0
  10. package/web/public/_nuxt/BDF8cO8j.js +1 -0
  11. package/web/public/_nuxt/BDNMzG2s.js +1 -0
  12. package/web/public/_nuxt/BGnU88BC.js +1 -0
  13. package/web/public/_nuxt/BPhzhJvP.js +1 -0
  14. package/web/public/_nuxt/BgaLDD2o.js +1 -0
  15. package/web/public/_nuxt/BgvEQa6E.js +3 -0
  16. package/web/public/_nuxt/BioUjjBz.js +1 -0
  17. package/web/public/_nuxt/BlvSknce.js +1 -0
  18. package/web/public/_nuxt/Bn14i44R.js +1 -0
  19. package/web/public/_nuxt/BnfUOzcc.js +1 -0
  20. package/web/public/_nuxt/Bv0odo9W.js +1 -0
  21. package/web/public/_nuxt/Bxx0Z5z6.js +1 -0
  22. package/web/public/_nuxt/CiWIPYVi.js +1 -0
  23. package/web/public/_nuxt/CqSNCP5f.js +1 -0
  24. package/web/public/_nuxt/Ctg1e1JV.js +1 -0
  25. package/web/public/_nuxt/Cu3rIkF2.js +47 -0
  26. package/web/public/_nuxt/Cutk9Ewh.js +1 -0
  27. package/web/public/_nuxt/DCVp7cZB.js +96 -0
  28. package/web/public/_nuxt/DCnkQFS0.js +1 -0
  29. package/web/public/_nuxt/DJbGqyvB.js +1 -0
  30. package/web/public/_nuxt/DMT7tA5C.js +1 -0
  31. package/web/public/_nuxt/M0pG6UQn.js +1 -0
  32. package/web/public/_nuxt/RlymLGHS.js +1 -0
  33. package/web/public/_nuxt/TmkSb4nj.js +1 -0
  34. package/web/public/_nuxt/_S09PGd-.js +1 -0
  35. package/web/public/_nuxt/builds/latest.json +1 -0
  36. package/web/public/_nuxt/builds/meta/63ad5f37-5b40-456d-8f53-69ff57b4903c.json +1 -0
  37. package/web/public/_nuxt/cHkFs-ms.js +1 -0
  38. package/web/public/_nuxt/entry.DTNjKx6y.css +2 -0
  39. package/web/public/_nuxt/error-404.DQm6ppno.css +1 -0
  40. package/web/public/_nuxt/error-500.hK5lsCWo.css +1 -0
  41. package/web/public/_nuxt/fjfS4ymU.js +1 -0
  42. package/web/public/_nuxt/limits.DDC9tNkw.css +1 -0
  43. package/web/public/_nuxt/moFy8lON.js +2 -0
  44. package/web/public/_nuxt/oT-x2NdZ.js +1 -0
  45. package/web/public/_nuxt/timeline.7J8JHjUo.css +1 -0
  46. package/web/public/_nuxt/tqUqm2f-.js +1 -0
  47. package/web/public/favicon.svg +14 -0
  48. package/web/server/chunks/_/error-500.mjs +20 -0
  49. package/web/server/chunks/_/error-500.mjs.map +1 -0
  50. package/web/server/chunks/_/filters.mjs +41 -0
  51. package/web/server/chunks/_/filters.mjs.map +1 -0
  52. package/web/server/chunks/build/Badge-C0eTW_zX.mjs +44 -0
  53. package/web/server/chunks/build/Badge-C0eTW_zX.mjs.map +1 -0
  54. package/web/server/chunks/build/Button-7BTto1uR.mjs +75 -0
  55. package/web/server/chunks/build/Button-7BTto1uR.mjs.map +1 -0
  56. package/web/server/chunks/build/CardAction-M7nFIGyX.mjs +30 -0
  57. package/web/server/chunks/build/CardAction-M7nFIGyX.mjs.map +1 -0
  58. package/web/server/chunks/build/CardTitle-D9ve_H9E.mjs +99 -0
  59. package/web/server/chunks/build/CardTitle-D9ve_H9E.mjs.map +1 -0
  60. package/web/server/chunks/build/EmptyState-DWgJMVCI.mjs +103 -0
  61. package/web/server/chunks/build/EmptyState-DWgJMVCI.mjs.map +1 -0
  62. package/web/server/chunks/build/FilterBar-vwbfttN7.mjs +133 -0
  63. package/web/server/chunks/build/FilterBar-vwbfttN7.mjs.map +1 -0
  64. package/web/server/chunks/build/Progress-BckzQSF5.mjs +37 -0
  65. package/web/server/chunks/build/Progress-BckzQSF5.mjs.map +1 -0
  66. package/web/server/chunks/build/Sparkline-Cxifh2uK.mjs +184 -0
  67. package/web/server/chunks/build/Sparkline-Cxifh2uK.mjs.map +1 -0
  68. package/web/server/chunks/build/TableCell-BZwItbY_.mjs +159 -0
  69. package/web/server/chunks/build/TableCell-BZwItbY_.mjs.map +1 -0
  70. package/web/server/chunks/build/Tooltip-BVTXdgMT.mjs +39 -0
  71. package/web/server/chunks/build/Tooltip-BVTXdgMT.mjs.map +1 -0
  72. package/web/server/chunks/build/_id_-BKmH0aHH.mjs +660 -0
  73. package/web/server/chunks/build/_id_-BKmH0aHH.mjs.map +1 -0
  74. package/web/server/chunks/build/_plugin-vue_export-helper-BOaGB7Aw.mjs +8 -0
  75. package/web/server/chunks/build/_plugin-vue_export-helper-BOaGB7Aw.mjs.map +1 -0
  76. package/web/server/chunks/build/default-C8deLrP0.mjs +556 -0
  77. package/web/server/chunks/build/default-C8deLrP0.mjs.map +1 -0
  78. package/web/server/chunks/build/error-404-DPRNxhXC.mjs +88 -0
  79. package/web/server/chunks/build/error-404-DPRNxhXC.mjs.map +1 -0
  80. package/web/server/chunks/build/error-404-styles.DRKRxcAQ.mjs +8 -0
  81. package/web/server/chunks/build/error-404-styles.DRKRxcAQ.mjs.map +1 -0
  82. package/web/server/chunks/build/error-500-DXGrtqsW.mjs +75 -0
  83. package/web/server/chunks/build/error-500-DXGrtqsW.mjs.map +1 -0
  84. package/web/server/chunks/build/error-500-styles.CixRQTsc.mjs +8 -0
  85. package/web/server/chunks/build/error-500-styles.CixRQTsc.mjs.map +1 -0
  86. package/web/server/chunks/build/fetch-Debw9R9i.mjs +503 -0
  87. package/web/server/chunks/build/fetch-Debw9R9i.mjs.map +1 -0
  88. package/web/server/chunks/build/limits-CnRLojCD.mjs +319 -0
  89. package/web/server/chunks/build/limits-CnRLojCD.mjs.map +1 -0
  90. package/web/server/chunks/build/limits-styles.CKdzkgZ8.mjs +8 -0
  91. package/web/server/chunks/build/limits-styles.CKdzkgZ8.mjs.map +1 -0
  92. package/web/server/chunks/build/nuxt-link-mYiLFsJs.mjs +264 -0
  93. package/web/server/chunks/build/nuxt-link-mYiLFsJs.mjs.map +1 -0
  94. package/web/server/chunks/build/pages-DlIWqsLr.mjs +362 -0
  95. package/web/server/chunks/build/pages-DlIWqsLr.mjs.map +1 -0
  96. package/web/server/chunks/build/providers-DOMeWSDZ.mjs +744 -0
  97. package/web/server/chunks/build/providers-DOMeWSDZ.mjs.map +1 -0
  98. package/web/server/chunks/build/scopes-Bagepvnf.mjs +794 -0
  99. package/web/server/chunks/build/scopes-Bagepvnf.mjs.map +1 -0
  100. package/web/server/chunks/build/sessions-peyhKv2_.mjs +708 -0
  101. package/web/server/chunks/build/sessions-peyhKv2_.mjs.map +1 -0
  102. package/web/server/chunks/build/timeline-P2RrZyBs.mjs +632 -0
  103. package/web/server/chunks/build/timeline-P2RrZyBs.mjs.map +1 -0
  104. package/web/server/chunks/build/timeline-styles.XVWi-U9N.mjs +8 -0
  105. package/web/server/chunks/build/timeline-styles.XVWi-U9N.mjs.map +1 -0
  106. package/web/server/chunks/build/useFormat-BfI0x0lv.mjs +119 -0
  107. package/web/server/chunks/build/useFormat-BfI0x0lv.mjs.map +1 -0
  108. package/web/server/chunks/build/useLive-mk38eV0f.mjs +15 -0
  109. package/web/server/chunks/build/useLive-mk38eV0f.mjs.map +1 -0
  110. package/web/server/chunks/build/useStats-Dor6kLek.mjs +91 -0
  111. package/web/server/chunks/build/useStats-Dor6kLek.mjs.map +1 -0
  112. package/web/server/chunks/nitro/nitro.mjs +7422 -0
  113. package/web/server/chunks/nitro/nitro.mjs.map +1 -0
  114. package/web/server/chunks/routes/api/events/stream.get.mjs +34 -0
  115. package/web/server/chunks/routes/api/events/stream.get.mjs.map +1 -0
  116. package/web/server/chunks/routes/api/ingest.post.mjs +35 -0
  117. package/web/server/chunks/routes/api/ingest.post.mjs.map +1 -0
  118. package/web/server/chunks/routes/api/meta.get.mjs +31 -0
  119. package/web/server/chunks/routes/api/meta.get.mjs.map +1 -0
  120. package/web/server/chunks/routes/api/stats/heatmap.get.mjs +39 -0
  121. package/web/server/chunks/routes/api/stats/heatmap.get.mjs.map +1 -0
  122. package/web/server/chunks/routes/api/stats/limits.get.mjs +43 -0
  123. package/web/server/chunks/routes/api/stats/limits.get.mjs.map +1 -0
  124. package/web/server/chunks/routes/api/stats/providers.get.mjs +43 -0
  125. package/web/server/chunks/routes/api/stats/providers.get.mjs.map +1 -0
  126. package/web/server/chunks/routes/api/stats/scopes.get.mjs +41 -0
  127. package/web/server/chunks/routes/api/stats/scopes.get.mjs.map +1 -0
  128. package/web/server/chunks/routes/api/stats/series.get.mjs +35 -0
  129. package/web/server/chunks/routes/api/stats/series.get.mjs.map +1 -0
  130. package/web/server/chunks/routes/api/stats/session/_id_.get.mjs +34 -0
  131. package/web/server/chunks/routes/api/stats/session/_id_.get.mjs.map +1 -0
  132. package/web/server/chunks/routes/api/stats/sessions.get.mjs +27 -0
  133. package/web/server/chunks/routes/api/stats/sessions.get.mjs.map +1 -0
  134. package/web/server/chunks/routes/api/stats/summary.get.mjs +61 -0
  135. package/web/server/chunks/routes/api/stats/summary.get.mjs.map +1 -0
  136. package/web/server/chunks/routes/renderer.mjs +414 -0
  137. package/web/server/chunks/routes/renderer.mjs.map +1 -0
  138. package/web/server/chunks/virtual/_virtual_spa-template.mjs +4 -0
  139. package/web/server/chunks/virtual/_virtual_spa-template.mjs.map +1 -0
  140. package/web/server/chunks/virtual/entry.mjs +2986 -0
  141. package/web/server/chunks/virtual/entry.mjs.map +1 -0
  142. package/web/server/chunks/virtual/precomputed.mjs +4 -0
  143. package/web/server/chunks/virtual/precomputed.mjs.map +1 -0
  144. package/web/server/chunks/virtual/styles.mjs +12 -0
  145. package/web/server/chunks/virtual/styles.mjs.map +1 -0
  146. package/web/server/index.mjs +16 -0
  147. package/web/server/index.mjs.map +1 -0
  148. package/web/server/node_modules/@babel/parser/lib/index.js +14611 -0
  149. package/web/server/node_modules/@babel/parser/package.json +50 -0
  150. package/web/server/node_modules/@vue/compiler-core/dist/compiler-core.cjs.prod.js +6780 -0
  151. package/web/server/node_modules/@vue/compiler-core/package.json +58 -0
  152. package/web/server/node_modules/@vue/compiler-dom/dist/compiler-dom.cjs.prod.js +689 -0
  153. package/web/server/node_modules/@vue/compiler-dom/package.json +57 -0
  154. package/web/server/node_modules/@vue/compiler-ssr/dist/compiler-ssr.cjs.js +1413 -0
  155. package/web/server/node_modules/@vue/compiler-ssr/package.json +34 -0
  156. package/web/server/node_modules/@vue/reactivity/dist/reactivity.cjs.prod.js +1903 -0
  157. package/web/server/node_modules/@vue/reactivity/package.json +55 -0
  158. package/web/server/node_modules/@vue/runtime-core/dist/runtime-core.cjs.prod.js +6949 -0
  159. package/web/server/node_modules/@vue/runtime-core/package.json +52 -0
  160. package/web/server/node_modules/@vue/runtime-dom/dist/runtime-dom.cjs.prod.js +1823 -0
  161. package/web/server/node_modules/@vue/runtime-dom/package.json +60 -0
  162. package/web/server/node_modules/@vue/server-renderer/dist/server-renderer.cjs.prod.js +902 -0
  163. package/web/server/node_modules/@vue/server-renderer/package.json +53 -0
  164. package/web/server/node_modules/@vue/shared/dist/shared.cjs.prod.js +609 -0
  165. package/web/server/node_modules/@vue/shared/package.json +47 -0
  166. package/web/server/node_modules/better-sqlite3/lib/binding.js +62 -0
  167. package/web/server/node_modules/better-sqlite3/lib/database.js +109 -0
  168. package/web/server/node_modules/better-sqlite3/lib/index.js +3 -0
  169. package/web/server/node_modules/better-sqlite3/lib/methods/aggregate.js +43 -0
  170. package/web/server/node_modules/better-sqlite3/lib/methods/backup.js +67 -0
  171. package/web/server/node_modules/better-sqlite3/lib/methods/explain.js +9 -0
  172. package/web/server/node_modules/better-sqlite3/lib/methods/function.js +31 -0
  173. package/web/server/node_modules/better-sqlite3/lib/methods/inspect.js +7 -0
  174. package/web/server/node_modules/better-sqlite3/lib/methods/pragma.js +12 -0
  175. package/web/server/node_modules/better-sqlite3/lib/methods/serialize.js +16 -0
  176. package/web/server/node_modules/better-sqlite3/lib/methods/table.js +195 -0
  177. package/web/server/node_modules/better-sqlite3/lib/methods/transaction.js +78 -0
  178. package/web/server/node_modules/better-sqlite3/lib/methods/wrappers.js +54 -0
  179. package/web/server/node_modules/better-sqlite3/lib/sqlite-error.js +25 -0
  180. package/web/server/node_modules/better-sqlite3/lib/util.js +12 -0
  181. package/web/server/node_modules/better-sqlite3/package.json +67 -0
  182. package/web/server/node_modules/better-sqlite3/prebuilds/darwin-arm64.node +0 -0
  183. package/web/server/node_modules/better-sqlite3/prebuilds/darwin-x64.node +0 -0
  184. package/web/server/node_modules/better-sqlite3/prebuilds/linux-arm64.node +0 -0
  185. package/web/server/node_modules/better-sqlite3/prebuilds/linux-x64.node +0 -0
  186. package/web/server/node_modules/better-sqlite3/prebuilds/linuxmusl-arm64.node +0 -0
  187. package/web/server/node_modules/better-sqlite3/prebuilds/linuxmusl-x64.node +0 -0
  188. package/web/server/node_modules/better-sqlite3/prebuilds/win32-arm64.node +0 -0
  189. package/web/server/node_modules/better-sqlite3/prebuilds/win32-x64.node +0 -0
  190. package/web/server/node_modules/chokidar/handler.js +632 -0
  191. package/web/server/node_modules/chokidar/index.js +822 -0
  192. package/web/server/node_modules/chokidar/package.json +63 -0
  193. package/web/server/node_modules/class-variance-authority/dist/index.mjs +56 -0
  194. package/web/server/node_modules/class-variance-authority/package.json +63 -0
  195. package/web/server/node_modules/clsx/dist/clsx.mjs +1 -0
  196. package/web/server/node_modules/clsx/package.json +60 -0
  197. package/web/server/node_modules/devalue/index.js +17 -0
  198. package/web/server/node_modules/devalue/package.json +39 -0
  199. package/web/server/node_modules/devalue/src/base64.js +60 -0
  200. package/web/server/node_modules/devalue/src/constants.js +12 -0
  201. package/web/server/node_modules/devalue/src/operations.js +193 -0
  202. package/web/server/node_modules/devalue/src/parse.js +270 -0
  203. package/web/server/node_modules/devalue/src/stringify.js +428 -0
  204. package/web/server/node_modules/devalue/src/uneval.js +582 -0
  205. package/web/server/node_modules/devalue/src/utils.js +185 -0
  206. package/web/server/node_modules/drizzle-orm/alias.js +113 -0
  207. package/web/server/node_modules/drizzle-orm/better-sqlite3/driver.js +68 -0
  208. package/web/server/node_modules/drizzle-orm/better-sqlite3/index.js +3 -0
  209. package/web/server/node_modules/drizzle-orm/better-sqlite3/session.js +118 -0
  210. package/web/server/node_modules/drizzle-orm/cache/core/cache.js +32 -0
  211. package/web/server/node_modules/drizzle-orm/cache/core/index.js +2 -0
  212. package/web/server/node_modules/drizzle-orm/casing.js +58 -0
  213. package/web/server/node_modules/drizzle-orm/column-builder.js +106 -0
  214. package/web/server/node_modules/drizzle-orm/column.js +54 -0
  215. package/web/server/node_modules/drizzle-orm/entity.js +31 -0
  216. package/web/server/node_modules/drizzle-orm/errors.js +32 -0
  217. package/web/server/node_modules/drizzle-orm/logger.js +36 -0
  218. package/web/server/node_modules/drizzle-orm/package.json +5529 -0
  219. package/web/server/node_modules/drizzle-orm/pg-core/columns/all.js +72 -0
  220. package/web/server/node_modules/drizzle-orm/pg-core/columns/bigint.js +64 -0
  221. package/web/server/node_modules/drizzle-orm/pg-core/columns/bigserial.js +69 -0
  222. package/web/server/node_modules/drizzle-orm/pg-core/columns/boolean.js +27 -0
  223. package/web/server/node_modules/drizzle-orm/pg-core/columns/char.js +36 -0
  224. package/web/server/node_modules/drizzle-orm/pg-core/columns/cidr.js +27 -0
  225. package/web/server/node_modules/drizzle-orm/pg-core/columns/common.js +198 -0
  226. package/web/server/node_modules/drizzle-orm/pg-core/columns/custom.js +51 -0
  227. package/web/server/node_modules/drizzle-orm/pg-core/columns/date.common.js +13 -0
  228. package/web/server/node_modules/drizzle-orm/pg-core/columns/date.js +65 -0
  229. package/web/server/node_modules/drizzle-orm/pg-core/columns/double-precision.js +36 -0
  230. package/web/server/node_modules/drizzle-orm/pg-core/columns/enum.js +96 -0
  231. package/web/server/node_modules/drizzle-orm/pg-core/columns/inet.js +27 -0
  232. package/web/server/node_modules/drizzle-orm/pg-core/columns/int.common.js +43 -0
  233. package/web/server/node_modules/drizzle-orm/pg-core/columns/integer.js +34 -0
  234. package/web/server/node_modules/drizzle-orm/pg-core/columns/interval.js +34 -0
  235. package/web/server/node_modules/drizzle-orm/pg-core/columns/json.js +43 -0
  236. package/web/server/node_modules/drizzle-orm/pg-core/columns/jsonb.js +43 -0
  237. package/web/server/node_modules/drizzle-orm/pg-core/columns/line.js +70 -0
  238. package/web/server/node_modules/drizzle-orm/pg-core/columns/macaddr.js +27 -0
  239. package/web/server/node_modules/drizzle-orm/pg-core/columns/macaddr8.js +27 -0
  240. package/web/server/node_modules/drizzle-orm/pg-core/columns/numeric.js +130 -0
  241. package/web/server/node_modules/drizzle-orm/pg-core/columns/point.js +76 -0
  242. package/web/server/node_modules/drizzle-orm/pg-core/columns/postgis_extension/geometry.js +70 -0
  243. package/web/server/node_modules/drizzle-orm/pg-core/columns/postgis_extension/utils.js +41 -0
  244. package/web/server/node_modules/drizzle-orm/pg-core/columns/real.js +37 -0
  245. package/web/server/node_modules/drizzle-orm/pg-core/columns/serial.js +29 -0
  246. package/web/server/node_modules/drizzle-orm/pg-core/columns/smallint.js +34 -0
  247. package/web/server/node_modules/drizzle-orm/pg-core/columns/smallserial.js +32 -0
  248. package/web/server/node_modules/drizzle-orm/pg-core/columns/text.js +31 -0
  249. package/web/server/node_modules/drizzle-orm/pg-core/columns/time.js +42 -0
  250. package/web/server/node_modules/drizzle-orm/pg-core/columns/timestamp.js +91 -0
  251. package/web/server/node_modules/drizzle-orm/pg-core/columns/uuid.js +34 -0
  252. package/web/server/node_modules/drizzle-orm/pg-core/columns/varchar.js +36 -0
  253. package/web/server/node_modules/drizzle-orm/pg-core/columns/vector_extension/bit.js +34 -0
  254. package/web/server/node_modules/drizzle-orm/pg-core/columns/vector_extension/halfvec.js +40 -0
  255. package/web/server/node_modules/drizzle-orm/pg-core/columns/vector_extension/sparsevec.js +34 -0
  256. package/web/server/node_modules/drizzle-orm/pg-core/columns/vector_extension/vector.js +40 -0
  257. package/web/server/node_modules/drizzle-orm/pg-core/foreign-keys.js +74 -0
  258. package/web/server/node_modules/drizzle-orm/pg-core/primary-keys.js +42 -0
  259. package/web/server/node_modules/drizzle-orm/pg-core/table.js +71 -0
  260. package/web/server/node_modules/drizzle-orm/pg-core/unique-constraint.js +61 -0
  261. package/web/server/node_modules/drizzle-orm/pg-core/utils/array.js +80 -0
  262. package/web/server/node_modules/drizzle-orm/query-builders/query-builder.js +12 -0
  263. package/web/server/node_modules/drizzle-orm/query-promise.js +27 -0
  264. package/web/server/node_modules/drizzle-orm/relations.js +316 -0
  265. package/web/server/node_modules/drizzle-orm/selection-proxy.js +76 -0
  266. package/web/server/node_modules/drizzle-orm/sql/expressions/conditions.js +184 -0
  267. package/web/server/node_modules/drizzle-orm/sql/expressions/index.js +3 -0
  268. package/web/server/node_modules/drizzle-orm/sql/expressions/select.js +12 -0
  269. package/web/server/node_modules/drizzle-orm/sql/functions/aggregate.js +38 -0
  270. package/web/server/node_modules/drizzle-orm/sql/functions/index.js +3 -0
  271. package/web/server/node_modules/drizzle-orm/sql/functions/vector.js +49 -0
  272. package/web/server/node_modules/drizzle-orm/sql/index.js +4 -0
  273. package/web/server/node_modules/drizzle-orm/sql/sql.js +436 -0
  274. package/web/server/node_modules/drizzle-orm/sqlite-core/alias.js +8 -0
  275. package/web/server/node_modules/drizzle-orm/sqlite-core/checks.js +31 -0
  276. package/web/server/node_modules/drizzle-orm/sqlite-core/columns/all.js +20 -0
  277. package/web/server/node_modules/drizzle-orm/sqlite-core/columns/blob.js +100 -0
  278. package/web/server/node_modules/drizzle-orm/sqlite-core/columns/common.js +59 -0
  279. package/web/server/node_modules/drizzle-orm/sqlite-core/columns/custom.js +55 -0
  280. package/web/server/node_modules/drizzle-orm/sqlite-core/columns/index.js +8 -0
  281. package/web/server/node_modules/drizzle-orm/sqlite-core/columns/integer.js +125 -0
  282. package/web/server/node_modules/drizzle-orm/sqlite-core/columns/numeric.js +86 -0
  283. package/web/server/node_modules/drizzle-orm/sqlite-core/columns/real.js +27 -0
  284. package/web/server/node_modules/drizzle-orm/sqlite-core/columns/text.js +69 -0
  285. package/web/server/node_modules/drizzle-orm/sqlite-core/db.js +342 -0
  286. package/web/server/node_modules/drizzle-orm/sqlite-core/dialect.js +715 -0
  287. package/web/server/node_modules/drizzle-orm/sqlite-core/foreign-keys.js +77 -0
  288. package/web/server/node_modules/drizzle-orm/sqlite-core/index.js +16 -0
  289. package/web/server/node_modules/drizzle-orm/sqlite-core/indexes.js +56 -0
  290. package/web/server/node_modules/drizzle-orm/sqlite-core/primary-keys.js +42 -0
  291. package/web/server/node_modules/drizzle-orm/sqlite-core/query-builders/count.js +48 -0
  292. package/web/server/node_modules/drizzle-orm/sqlite-core/query-builders/delete.js +123 -0
  293. package/web/server/node_modules/drizzle-orm/sqlite-core/query-builders/index.js +7 -0
  294. package/web/server/node_modules/drizzle-orm/sqlite-core/query-builders/insert.js +184 -0
  295. package/web/server/node_modules/drizzle-orm/sqlite-core/query-builders/query-builder.js +75 -0
  296. package/web/server/node_modules/drizzle-orm/sqlite-core/query-builders/query.js +153 -0
  297. package/web/server/node_modules/drizzle-orm/sqlite-core/query-builders/raw.js +32 -0
  298. package/web/server/node_modules/drizzle-orm/sqlite-core/query-builders/select.js +690 -0
  299. package/web/server/node_modules/drizzle-orm/sqlite-core/query-builders/select.types.js +1 -0
  300. package/web/server/node_modules/drizzle-orm/sqlite-core/query-builders/update.js +183 -0
  301. package/web/server/node_modules/drizzle-orm/sqlite-core/session.js +206 -0
  302. package/web/server/node_modules/drizzle-orm/sqlite-core/subquery.js +1 -0
  303. package/web/server/node_modules/drizzle-orm/sqlite-core/table.js +52 -0
  304. package/web/server/node_modules/drizzle-orm/sqlite-core/unique-constraint.js +53 -0
  305. package/web/server/node_modules/drizzle-orm/sqlite-core/utils.js +71 -0
  306. package/web/server/node_modules/drizzle-orm/sqlite-core/view-base.js +9 -0
  307. package/web/server/node_modules/drizzle-orm/sqlite-core/view.js +106 -0
  308. package/web/server/node_modules/drizzle-orm/subquery.js +25 -0
  309. package/web/server/node_modules/drizzle-orm/table.js +79 -0
  310. package/web/server/node_modules/drizzle-orm/table.utils.js +5 -0
  311. package/web/server/node_modules/drizzle-orm/tracing-utils.js +7 -0
  312. package/web/server/node_modules/drizzle-orm/tracing.js +39 -0
  313. package/web/server/node_modules/drizzle-orm/utils.js +174 -0
  314. package/web/server/node_modules/drizzle-orm/version.js +9 -0
  315. package/web/server/node_modules/drizzle-orm/view-common.js +5 -0
  316. package/web/server/node_modules/entities/dist/commonjs/decode-codepoint.js +77 -0
  317. package/web/server/node_modules/entities/dist/commonjs/decode.js +568 -0
  318. package/web/server/node_modules/entities/dist/commonjs/generated/decode-data-html.js +7 -0
  319. package/web/server/node_modules/entities/dist/commonjs/generated/decode-data-xml.js +7 -0
  320. package/web/server/node_modules/entities/dist/commonjs/internal/bin-trie-flags.js +21 -0
  321. package/web/server/node_modules/entities/dist/commonjs/internal/decode-shared.js +31 -0
  322. package/web/server/node_modules/entities/dist/commonjs/package.json +3 -0
  323. package/web/server/node_modules/entities/package.json +120 -0
  324. package/web/server/node_modules/estree-walker/dist/umd/estree-walker.js +344 -0
  325. package/web/server/node_modules/estree-walker/package.json +37 -0
  326. package/web/server/node_modules/fnv1a-64/dist/index.mjs +95 -0
  327. package/web/server/node_modules/fnv1a-64/package.json +75 -0
  328. package/web/server/node_modules/hookable/dist/index.mjs +257 -0
  329. package/web/server/node_modules/hookable/package.json +53 -0
  330. package/web/server/node_modules/lucide-vue-next/dist/cjs/lucide-vue-next.js +24568 -0
  331. package/web/server/node_modules/lucide-vue-next/package.json +64 -0
  332. package/web/server/node_modules/nostics/dist/formatters/ansi.mjs +19 -0
  333. package/web/server/node_modules/nostics/dist/index.mjs +187 -0
  334. package/web/server/node_modules/nostics/package.json +125 -0
  335. package/web/server/node_modules/object-identity/index.js +60 -0
  336. package/web/server/node_modules/object-identity/package.json +40 -0
  337. package/web/server/node_modules/readdirp/index.js +272 -0
  338. package/web/server/node_modules/readdirp/package.json +66 -0
  339. package/web/server/node_modules/source-map-js/lib/array-set.js +121 -0
  340. package/web/server/node_modules/source-map-js/lib/base64-vlq.js +140 -0
  341. package/web/server/node_modules/source-map-js/lib/base64.js +67 -0
  342. package/web/server/node_modules/source-map-js/lib/binary-search.js +111 -0
  343. package/web/server/node_modules/source-map-js/lib/mapping-list.js +79 -0
  344. package/web/server/node_modules/source-map-js/lib/quick-sort.js +132 -0
  345. package/web/server/node_modules/source-map-js/lib/source-map-consumer.js +1188 -0
  346. package/web/server/node_modules/source-map-js/lib/source-map-generator.js +444 -0
  347. package/web/server/node_modules/source-map-js/lib/source-node.js +413 -0
  348. package/web/server/node_modules/source-map-js/lib/util.js +594 -0
  349. package/web/server/node_modules/source-map-js/package.json +71 -0
  350. package/web/server/node_modules/source-map-js/source-map.js +8 -0
  351. package/web/server/node_modules/tailwind-merge/dist/bundle-mjs.mjs +3365 -0
  352. package/web/server/node_modules/tailwind-merge/package.json +93 -0
  353. package/web/server/node_modules/ufo/dist/index.mjs +645 -0
  354. package/web/server/node_modules/ufo/package.json +48 -0
  355. package/web/server/node_modules/unhead/dist/client.mjs +22 -0
  356. package/web/server/node_modules/unhead/dist/index.mjs +52 -0
  357. package/web/server/node_modules/unhead/dist/legacy.mjs +33 -0
  358. package/web/server/node_modules/unhead/dist/minify.mjs +172 -0
  359. package/web/server/node_modules/unhead/dist/parser.mjs +518 -0
  360. package/web/server/node_modules/unhead/dist/plugins.mjs +631 -0
  361. package/web/server/node_modules/unhead/dist/scripts.node.mjs +6 -0
  362. package/web/server/node_modules/unhead/dist/server.mjs +99 -0
  363. package/web/server/node_modules/unhead/dist/shared/unhead.10KEJHqy.mjs +184 -0
  364. package/web/server/node_modules/unhead/dist/shared/unhead.BCcw-xUY.mjs +19 -0
  365. package/web/server/node_modules/unhead/dist/shared/unhead.BEmVMkeA.mjs +673 -0
  366. package/web/server/node_modules/unhead/dist/shared/unhead.BGFxPGPQ.mjs +47 -0
  367. package/web/server/node_modules/unhead/dist/shared/unhead.BTzUdyNs.mjs +194 -0
  368. package/web/server/node_modules/unhead/dist/shared/unhead.Bb4d5b9h.mjs +67 -0
  369. package/web/server/node_modules/unhead/dist/shared/unhead.Bf_fPVYA.mjs +6 -0
  370. package/web/server/node_modules/unhead/dist/shared/unhead.Bm4Y6XQI.mjs +17 -0
  371. package/web/server/node_modules/unhead/dist/shared/unhead.BuspQZgK.mjs +231 -0
  372. package/web/server/node_modules/unhead/dist/shared/unhead.CGPOfp5O.mjs +32 -0
  373. package/web/server/node_modules/unhead/dist/shared/unhead.CHEy9ana.mjs +7 -0
  374. package/web/server/node_modules/unhead/dist/shared/unhead.CTjuIdzk.mjs +27 -0
  375. package/web/server/node_modules/unhead/dist/shared/unhead.D7HkBzZn.mjs +59 -0
  376. package/web/server/node_modules/unhead/dist/shared/unhead.DNKiVLV7.mjs +400 -0
  377. package/web/server/node_modules/unhead/dist/shared/unhead.JIneUUHd.mjs +264 -0
  378. package/web/server/node_modules/unhead/dist/shared/unhead.q9F_9EzH.mjs +588 -0
  379. package/web/server/node_modules/unhead/dist/shared/unhead.sGLr_XKf.mjs +201 -0
  380. package/web/server/node_modules/unhead/dist/stream/client.mjs +28 -0
  381. package/web/server/node_modules/unhead/dist/stream/iife.mjs +2 -0
  382. package/web/server/node_modules/unhead/dist/stream/server.mjs +264 -0
  383. package/web/server/node_modules/unhead/dist/utils.mjs +7 -0
  384. package/web/server/node_modules/unhead/package.json +179 -0
  385. package/web/server/node_modules/vue/dist/vue.cjs.js +80 -0
  386. package/web/server/node_modules/vue/dist/vue.cjs.prod.js +66 -0
  387. package/web/server/node_modules/vue/index.js +7 -0
  388. package/web/server/node_modules/vue/index.mjs +1 -0
  389. package/web/server/node_modules/vue/package.json +112 -0
  390. package/web/server/node_modules/vue/server-renderer/index.mjs +1 -0
  391. package/web/server/node_modules/vue-bundle-renderer/dist/runtime.mjs +249 -0
  392. package/web/server/node_modules/vue-bundle-renderer/package.json +57 -0
  393. 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 AI coding agent is eating tokens.
3
+ > nom nom nom — your agent is eating tokens. The dashboard shows exactly how many.
4
4
 
5
- **Status: work in progress.** This is a placeholder release to reserve the name
6
- while v0.1 is being built.
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
- ## What it will be
9
+ ```sh
10
+ npx nomnomtokens
11
+ ```
9
12
 
10
- A local-first web dashboard for AI coding agent usage analytics:
13
+ ![nomnomtokens dashboard Timeline with spend chart and activity heatmap](docs/dashboard.png)
11
14
 
12
- - run `npx nomnomtokens` a dashboard opens in your browser
13
- - spend, tokens, sessions, per-project breakdowns
14
- - session & weekly limit tracking with exhaustion forecasts
15
- - your data never leaves your machine
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
- ## Follow along
20
+ ## What you get
19
21
 
20
- Star the repo: https://github.com/NikolaiKushner/nomnomtokens
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
- // nomnomtokens v0.0.1 placeholder while the real thing is being built.
3
-
4
- const art = `
5
- ┌─────────────────────────────────┐
6
- ( ˘▽˘)っ nom nom nom │
7
- │ │
8
- │ your agent is eating tokens │
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
+ })