tokentrace 0.1.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 (224) hide show
  1. package/.next/BUILD_ID +1 -0
  2. package/.next/app-build-manifest.json +167 -0
  3. package/.next/app-path-routes-manifest.json +22 -0
  4. package/.next/build-manifest.json +33 -0
  5. package/.next/export-marker.json +6 -0
  6. package/.next/images-manifest.json +58 -0
  7. package/.next/next-minimal-server.js.nft.json +1 -0
  8. package/.next/next-server.js.nft.json +1 -0
  9. package/.next/package.json +1 -0
  10. package/.next/prerender-manifest.json +37 -0
  11. package/.next/react-loadable-manifest.json +1 -0
  12. package/.next/required-server-files.json +323 -0
  13. package/.next/routes-manifest.json +119 -0
  14. package/.next/server/app/_not-found/page.js +2 -0
  15. package/.next/server/app/_not-found/page.js.nft.json +1 -0
  16. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -0
  17. package/.next/server/app/_not-found.html +1 -0
  18. package/.next/server/app/_not-found.meta +8 -0
  19. package/.next/server/app/_not-found.rsc +37 -0
  20. package/.next/server/app/api/analytics/route.js +1 -0
  21. package/.next/server/app/api/analytics/route.js.nft.json +1 -0
  22. package/.next/server/app/api/analytics/route_client-reference-manifest.js +1 -0
  23. package/.next/server/app/api/data/route.js +151 -0
  24. package/.next/server/app/api/data/route.js.nft.json +1 -0
  25. package/.next/server/app/api/data/route_client-reference-manifest.js +1 -0
  26. package/.next/server/app/api/export/route.js +1 -0
  27. package/.next/server/app/api/export/route.js.nft.json +1 -0
  28. package/.next/server/app/api/export/route_client-reference-manifest.js +1 -0
  29. package/.next/server/app/api/files/route.js +1 -0
  30. package/.next/server/app/api/files/route.js.nft.json +1 -0
  31. package/.next/server/app/api/files/route_client-reference-manifest.js +1 -0
  32. package/.next/server/app/api/prices/route.js +151 -0
  33. package/.next/server/app/api/prices/route.js.nft.json +1 -0
  34. package/.next/server/app/api/prices/route_client-reference-manifest.js +1 -0
  35. package/.next/server/app/api/scan/route.js +144 -0
  36. package/.next/server/app/api/scan/route.js.nft.json +1 -0
  37. package/.next/server/app/api/scan/route_client-reference-manifest.js +1 -0
  38. package/.next/server/app/api/settings/route.js +128 -0
  39. package/.next/server/app/api/settings/route.js.nft.json +1 -0
  40. package/.next/server/app/api/settings/route_client-reference-manifest.js +1 -0
  41. package/.next/server/app/debug/page.js +2 -0
  42. package/.next/server/app/debug/page.js.nft.json +1 -0
  43. package/.next/server/app/debug/page_client-reference-manifest.js +1 -0
  44. package/.next/server/app/diagnostics/page.js +2 -0
  45. package/.next/server/app/diagnostics/page.js.nft.json +1 -0
  46. package/.next/server/app/diagnostics/page_client-reference-manifest.js +1 -0
  47. package/.next/server/app/discovery/page.js +2 -0
  48. package/.next/server/app/discovery/page.js.nft.json +1 -0
  49. package/.next/server/app/discovery/page_client-reference-manifest.js +1 -0
  50. package/.next/server/app/models/page.js +2 -0
  51. package/.next/server/app/models/page.js.nft.json +1 -0
  52. package/.next/server/app/models/page_client-reference-manifest.js +1 -0
  53. package/.next/server/app/optimisation/page.js +2 -0
  54. package/.next/server/app/optimisation/page.js.nft.json +1 -0
  55. package/.next/server/app/optimisation/page_client-reference-manifest.js +1 -0
  56. package/.next/server/app/page.js +2 -0
  57. package/.next/server/app/page.js.nft.json +1 -0
  58. package/.next/server/app/page_client-reference-manifest.js +1 -0
  59. package/.next/server/app/parser-debug/page.js +2 -0
  60. package/.next/server/app/parser-debug/page.js.nft.json +1 -0
  61. package/.next/server/app/parser-debug/page_client-reference-manifest.js +1 -0
  62. package/.next/server/app/pricing/page.js +152 -0
  63. package/.next/server/app/pricing/page.js.nft.json +1 -0
  64. package/.next/server/app/pricing/page_client-reference-manifest.js +1 -0
  65. package/.next/server/app/projects/page.js +2 -0
  66. package/.next/server/app/projects/page.js.nft.json +1 -0
  67. package/.next/server/app/projects/page_client-reference-manifest.js +1 -0
  68. package/.next/server/app/sessions/page.js +2 -0
  69. package/.next/server/app/sessions/page.js.nft.json +1 -0
  70. package/.next/server/app/sessions/page_client-reference-manifest.js +1 -0
  71. package/.next/server/app/settings/page.js +129 -0
  72. package/.next/server/app/settings/page.js.nft.json +1 -0
  73. package/.next/server/app/settings/page_client-reference-manifest.js +1 -0
  74. package/.next/server/app/tools/page.js +2 -0
  75. package/.next/server/app/tools/page.js.nft.json +1 -0
  76. package/.next/server/app/tools/page_client-reference-manifest.js +1 -0
  77. package/.next/server/app-paths-manifest.json +22 -0
  78. package/.next/server/chunks/123.js +9 -0
  79. package/.next/server/chunks/153.js +1 -0
  80. package/.next/server/chunks/237.js +13 -0
  81. package/.next/server/chunks/331.js +22 -0
  82. package/.next/server/chunks/366.js +1 -0
  83. package/.next/server/chunks/444.js +267 -0
  84. package/.next/server/chunks/611.js +6 -0
  85. package/.next/server/chunks/692.js +1 -0
  86. package/.next/server/chunks/779.js +1 -0
  87. package/.next/server/chunks/815.js +1 -0
  88. package/.next/server/chunks/868.js +1 -0
  89. package/.next/server/functions-config-manifest.json +4 -0
  90. package/.next/server/interception-route-rewrite-manifest.js +1 -0
  91. package/.next/server/middleware-build-manifest.js +1 -0
  92. package/.next/server/middleware-manifest.json +6 -0
  93. package/.next/server/middleware-react-loadable-manifest.js +1 -0
  94. package/.next/server/next-font-manifest.js +1 -0
  95. package/.next/server/next-font-manifest.json +1 -0
  96. package/.next/server/pages/404.html +1 -0
  97. package/.next/server/pages/500.html +1 -0
  98. package/.next/server/pages/_app.js +1 -0
  99. package/.next/server/pages/_app.js.nft.json +1 -0
  100. package/.next/server/pages/_document.js +1 -0
  101. package/.next/server/pages/_document.js.nft.json +1 -0
  102. package/.next/server/pages/_error.js +19 -0
  103. package/.next/server/pages/_error.js.nft.json +1 -0
  104. package/.next/server/pages-manifest.json +6 -0
  105. package/.next/server/server-reference-manifest.js +1 -0
  106. package/.next/server/server-reference-manifest.json +1 -0
  107. package/.next/server/webpack-runtime.js +1 -0
  108. package/.next/static/Fh8usqK3dgfncUx9s3VR1/_buildManifest.js +1 -0
  109. package/.next/static/Fh8usqK3dgfncUx9s3VR1/_ssgManifest.js +1 -0
  110. package/.next/static/chunks/125-ab0f8db8f84c1166.js +1 -0
  111. package/.next/static/chunks/255-e881f48ae1d2333a.js +1 -0
  112. package/.next/static/chunks/4bd1b696-409494caf8c83275.js +1 -0
  113. package/.next/static/chunks/619-f072ac750404f9da.js +1 -0
  114. package/.next/static/chunks/850-8bc31e41590b5831.js +1 -0
  115. package/.next/static/chunks/938-23236de1c47554ea.js +1 -0
  116. package/.next/static/chunks/app/_not-found/page-6d75243350d9e0b5.js +1 -0
  117. package/.next/static/chunks/app/api/analytics/route-33d3f29973de91a4.js +1 -0
  118. package/.next/static/chunks/app/api/data/route-33d3f29973de91a4.js +1 -0
  119. package/.next/static/chunks/app/api/export/route-33d3f29973de91a4.js +1 -0
  120. package/.next/static/chunks/app/api/files/route-33d3f29973de91a4.js +1 -0
  121. package/.next/static/chunks/app/api/prices/route-33d3f29973de91a4.js +1 -0
  122. package/.next/static/chunks/app/api/scan/route-33d3f29973de91a4.js +1 -0
  123. package/.next/static/chunks/app/api/settings/route-33d3f29973de91a4.js +1 -0
  124. package/.next/static/chunks/app/debug/page-33d3f29973de91a4.js +1 -0
  125. package/.next/static/chunks/app/diagnostics/page-053a5e810a59e548.js +1 -0
  126. package/.next/static/chunks/app/discovery/page-33d3f29973de91a4.js +1 -0
  127. package/.next/static/chunks/app/layout-8942804176ff26f3.js +1 -0
  128. package/.next/static/chunks/app/models/page-c0acf74dd8197e01.js +1 -0
  129. package/.next/static/chunks/app/optimisation/page-33d3f29973de91a4.js +1 -0
  130. package/.next/static/chunks/app/page-b6886ec802c03cbf.js +1 -0
  131. package/.next/static/chunks/app/parser-debug/page-33d3f29973de91a4.js +1 -0
  132. package/.next/static/chunks/app/pricing/page-5e27b1ae27314539.js +1 -0
  133. package/.next/static/chunks/app/projects/page-b6886ec802c03cbf.js +1 -0
  134. package/.next/static/chunks/app/sessions/page-0abcdc88aac9dcaf.js +1 -0
  135. package/.next/static/chunks/app/settings/page-59fc80673f0750cd.js +1 -0
  136. package/.next/static/chunks/app/tools/page-c0acf74dd8197e01.js +1 -0
  137. package/.next/static/chunks/framework-3457b9c2619cdd96.js +1 -0
  138. package/.next/static/chunks/main-8744520a8a31e6ae.js +1 -0
  139. package/.next/static/chunks/main-app-e9ccddef393e28c3.js +1 -0
  140. package/.next/static/chunks/pages/_app-5addca2b3b969fde.js +1 -0
  141. package/.next/static/chunks/pages/_error-022e4ac7bbb9914f.js +1 -0
  142. package/.next/static/chunks/polyfills-42372ed130431b0a.js +1 -0
  143. package/.next/static/chunks/webpack-3fcacae817f3ffab.js +1 -0
  144. package/.next/static/css/366bb38b386229a5.css +3 -0
  145. package/LICENSE +21 -0
  146. package/README.md +216 -0
  147. package/app/api/analytics/route.ts +8 -0
  148. package/app/api/data/route.ts +9 -0
  149. package/app/api/export/route.ts +26 -0
  150. package/app/api/files/route.ts +8 -0
  151. package/app/api/prices/route.ts +33 -0
  152. package/app/api/scan/route.ts +15 -0
  153. package/app/api/settings/route.ts +25 -0
  154. package/app/debug/page.tsx +101 -0
  155. package/app/diagnostics/page.tsx +113 -0
  156. package/app/discovery/page.tsx +61 -0
  157. package/app/globals.css +51 -0
  158. package/app/layout.tsx +30 -0
  159. package/app/models/page.tsx +97 -0
  160. package/app/optimisation/page.tsx +67 -0
  161. package/app/page.tsx +164 -0
  162. package/app/parser-debug/page.tsx +57 -0
  163. package/app/pricing/page.tsx +18 -0
  164. package/app/projects/page.tsx +111 -0
  165. package/app/sessions/page.tsx +24 -0
  166. package/app/settings/page.tsx +26 -0
  167. package/app/tools/page.tsx +92 -0
  168. package/bin/tokentrace.js +316 -0
  169. package/components/charts/rank-bar-chart.tsx +69 -0
  170. package/components/charts/trend-chart.tsx +123 -0
  171. package/components/empty-state.tsx +14 -0
  172. package/components/pricing-settings.tsx +171 -0
  173. package/components/session-explorer.tsx +210 -0
  174. package/components/settings-panel.tsx +203 -0
  175. package/components/sidebar.tsx +88 -0
  176. package/components/ui/badge.tsx +30 -0
  177. package/components/ui/button.tsx +47 -0
  178. package/components/ui/card.tsx +22 -0
  179. package/components/ui/input.tsx +19 -0
  180. package/components/ui/label.tsx +6 -0
  181. package/components/ui/table.tsx +31 -0
  182. package/components/ui/textarea.tsx +18 -0
  183. package/components.json +16 -0
  184. package/dist/runtime/db-migrate.mjs +410 -0
  185. package/dist/runtime/db-seed.mjs +506 -0
  186. package/dist/runtime/reset.mjs +519 -0
  187. package/dist/runtime/scan.mjs +1817 -0
  188. package/fixtures/generic-jsonl/sample.jsonl +2 -0
  189. package/next.config.mjs +7 -0
  190. package/package.json +96 -0
  191. package/postcss.config.mjs +8 -0
  192. package/scripts/build-cli-runtime.mjs +40 -0
  193. package/scripts/db-migrate.ts +5 -0
  194. package/scripts/db-seed.ts +5 -0
  195. package/scripts/reset.ts +5 -0
  196. package/scripts/scan.ts +30 -0
  197. package/src/db/client.ts +32 -0
  198. package/src/db/migrate-core.ts +147 -0
  199. package/src/db/reset.ts +14 -0
  200. package/src/db/schema.ts +259 -0
  201. package/src/db/seed.ts +110 -0
  202. package/src/db/settings.ts +47 -0
  203. package/src/ingestion/adapters/claude-code.ts +78 -0
  204. package/src/ingestion/adapters/codex-cli.ts +82 -0
  205. package/src/ingestion/adapters/generic-json.ts +93 -0
  206. package/src/ingestion/adapters/generic-jsonl.ts +62 -0
  207. package/src/ingestion/adapters/generic-log.ts +144 -0
  208. package/src/ingestion/adapters/generic-records.ts +178 -0
  209. package/src/ingestion/adapters/helpers.ts +309 -0
  210. package/src/ingestion/adapters/index.ts +15 -0
  211. package/src/ingestion/discovery.ts +130 -0
  212. package/src/ingestion/persist.ts +283 -0
  213. package/src/ingestion/scan.ts +247 -0
  214. package/src/ingestion/types.ts +78 -0
  215. package/src/lib/analytics.ts +592 -0
  216. package/src/lib/cost.ts +62 -0
  217. package/src/lib/csv.ts +15 -0
  218. package/src/lib/format.ts +51 -0
  219. package/src/lib/ids.ts +23 -0
  220. package/src/lib/pricing.ts +86 -0
  221. package/src/lib/token-estimator.ts +24 -0
  222. package/src/lib/utils.ts +6 -0
  223. package/tailwind.config.ts +53 -0
  224. package/tsconfig.json +28 -0
@@ -0,0 +1,323 @@
1
+ {
2
+ "version": 1,
3
+ "config": {
4
+ "env": {},
5
+ "webpack": null,
6
+ "eslint": {
7
+ "ignoreDuringBuilds": false
8
+ },
9
+ "typescript": {
10
+ "ignoreBuildErrors": false,
11
+ "tsconfigPath": "tsconfig.json"
12
+ },
13
+ "typedRoutes": false,
14
+ "distDir": ".next",
15
+ "cleanDistDir": true,
16
+ "assetPrefix": "",
17
+ "cacheMaxMemorySize": 52428800,
18
+ "configOrigin": "next.config.mjs",
19
+ "useFileSystemPublicRoutes": true,
20
+ "generateEtags": true,
21
+ "pageExtensions": [
22
+ "tsx",
23
+ "ts",
24
+ "jsx",
25
+ "js"
26
+ ],
27
+ "poweredByHeader": true,
28
+ "compress": true,
29
+ "images": {
30
+ "deviceSizes": [
31
+ 640,
32
+ 750,
33
+ 828,
34
+ 1080,
35
+ 1200,
36
+ 1920,
37
+ 2048,
38
+ 3840
39
+ ],
40
+ "imageSizes": [
41
+ 16,
42
+ 32,
43
+ 48,
44
+ 64,
45
+ 96,
46
+ 128,
47
+ 256,
48
+ 384
49
+ ],
50
+ "path": "/_next/image",
51
+ "loader": "default",
52
+ "loaderFile": "",
53
+ "domains": [],
54
+ "disableStaticImages": false,
55
+ "minimumCacheTTL": 60,
56
+ "formats": [
57
+ "image/webp"
58
+ ],
59
+ "maximumResponseBody": 50000000,
60
+ "dangerouslyAllowSVG": false,
61
+ "contentSecurityPolicy": "script-src 'none'; frame-src 'none'; sandbox;",
62
+ "contentDispositionType": "attachment",
63
+ "remotePatterns": [],
64
+ "unoptimized": false
65
+ },
66
+ "devIndicators": {
67
+ "position": "bottom-left"
68
+ },
69
+ "onDemandEntries": {
70
+ "maxInactiveAge": 60000,
71
+ "pagesBufferLength": 5
72
+ },
73
+ "amp": {
74
+ "canonicalBase": ""
75
+ },
76
+ "basePath": "",
77
+ "sassOptions": {},
78
+ "trailingSlash": false,
79
+ "i18n": null,
80
+ "productionBrowserSourceMaps": false,
81
+ "excludeDefaultMomentLocales": true,
82
+ "serverRuntimeConfig": {},
83
+ "publicRuntimeConfig": {},
84
+ "reactProductionProfiling": false,
85
+ "reactStrictMode": null,
86
+ "reactMaxHeadersLength": 6000,
87
+ "httpAgentOptions": {
88
+ "keepAlive": true
89
+ },
90
+ "logging": {},
91
+ "compiler": {},
92
+ "expireTime": 31536000,
93
+ "staticPageGenerationTimeout": 60,
94
+ "modularizeImports": {
95
+ "@mui/icons-material": {
96
+ "transform": "@mui/icons-material/{{member}}"
97
+ },
98
+ "lodash": {
99
+ "transform": "lodash/{{member}}"
100
+ }
101
+ },
102
+ "outputFileTracingRoot": "/Users/abhyoh/Documents/Brand/Apps/token-usage",
103
+ "experimental": {
104
+ "useSkewCookie": false,
105
+ "cacheLife": {
106
+ "default": {
107
+ "stale": 300,
108
+ "revalidate": 900,
109
+ "expire": 4294967294
110
+ },
111
+ "seconds": {
112
+ "stale": 30,
113
+ "revalidate": 1,
114
+ "expire": 60
115
+ },
116
+ "minutes": {
117
+ "stale": 300,
118
+ "revalidate": 60,
119
+ "expire": 3600
120
+ },
121
+ "hours": {
122
+ "stale": 300,
123
+ "revalidate": 3600,
124
+ "expire": 86400
125
+ },
126
+ "days": {
127
+ "stale": 300,
128
+ "revalidate": 86400,
129
+ "expire": 604800
130
+ },
131
+ "weeks": {
132
+ "stale": 300,
133
+ "revalidate": 604800,
134
+ "expire": 2592000
135
+ },
136
+ "max": {
137
+ "stale": 300,
138
+ "revalidate": 2592000,
139
+ "expire": 4294967294
140
+ }
141
+ },
142
+ "cacheHandlers": {},
143
+ "cssChunking": true,
144
+ "multiZoneDraftMode": false,
145
+ "appNavFailHandling": false,
146
+ "prerenderEarlyExit": true,
147
+ "serverMinification": true,
148
+ "serverSourceMaps": false,
149
+ "linkNoTouchStart": false,
150
+ "caseSensitiveRoutes": false,
151
+ "clientSegmentCache": false,
152
+ "clientParamParsing": false,
153
+ "dynamicOnHover": false,
154
+ "preloadEntriesOnStart": true,
155
+ "clientRouterFilter": true,
156
+ "clientRouterFilterRedirects": false,
157
+ "fetchCacheKeyPrefix": "",
158
+ "middlewarePrefetch": "flexible",
159
+ "optimisticClientCache": true,
160
+ "manualClientBasePath": false,
161
+ "cpus": 11,
162
+ "memoryBasedWorkersCount": false,
163
+ "imgOptConcurrency": null,
164
+ "imgOptTimeoutInSeconds": 7,
165
+ "imgOptMaxInputPixels": 268402689,
166
+ "imgOptSequentialRead": null,
167
+ "imgOptSkipMetadata": null,
168
+ "isrFlushToDisk": true,
169
+ "workerThreads": false,
170
+ "optimizeCss": false,
171
+ "nextScriptWorkers": false,
172
+ "scrollRestoration": false,
173
+ "externalDir": false,
174
+ "disableOptimizedLoading": false,
175
+ "gzipSize": true,
176
+ "craCompat": false,
177
+ "esmExternals": true,
178
+ "fullySpecified": false,
179
+ "swcTraceProfiling": false,
180
+ "forceSwcTransforms": false,
181
+ "largePageDataBytes": 128000,
182
+ "typedEnv": false,
183
+ "parallelServerCompiles": false,
184
+ "parallelServerBuildTraces": false,
185
+ "ppr": false,
186
+ "authInterrupts": false,
187
+ "webpackMemoryOptimizations": false,
188
+ "optimizeServerReact": true,
189
+ "viewTransition": false,
190
+ "routerBFCache": false,
191
+ "removeUncaughtErrorAndRejectionListeners": false,
192
+ "validateRSCRequestHeaders": false,
193
+ "staleTimes": {
194
+ "dynamic": 0,
195
+ "static": 300
196
+ },
197
+ "serverComponentsHmrCache": true,
198
+ "staticGenerationMaxConcurrency": 8,
199
+ "staticGenerationMinPagesPerWorker": 25,
200
+ "cacheComponents": false,
201
+ "inlineCss": false,
202
+ "useCache": false,
203
+ "globalNotFound": false,
204
+ "devtoolSegmentExplorer": true,
205
+ "browserDebugInfoInTerminal": false,
206
+ "optimizeRouterScrolling": false,
207
+ "middlewareClientMaxBodySize": 10485760,
208
+ "optimizePackageImports": [
209
+ "lucide-react",
210
+ "date-fns",
211
+ "lodash-es",
212
+ "ramda",
213
+ "antd",
214
+ "react-bootstrap",
215
+ "ahooks",
216
+ "@ant-design/icons",
217
+ "@headlessui/react",
218
+ "@headlessui-float/react",
219
+ "@heroicons/react/20/solid",
220
+ "@heroicons/react/24/solid",
221
+ "@heroicons/react/24/outline",
222
+ "@visx/visx",
223
+ "@tremor/react",
224
+ "rxjs",
225
+ "@mui/material",
226
+ "@mui/icons-material",
227
+ "recharts",
228
+ "react-use",
229
+ "effect",
230
+ "@effect/schema",
231
+ "@effect/platform",
232
+ "@effect/platform-node",
233
+ "@effect/platform-browser",
234
+ "@effect/platform-bun",
235
+ "@effect/sql",
236
+ "@effect/sql-mssql",
237
+ "@effect/sql-mysql2",
238
+ "@effect/sql-pg",
239
+ "@effect/sql-sqlite-node",
240
+ "@effect/sql-sqlite-bun",
241
+ "@effect/sql-sqlite-wasm",
242
+ "@effect/sql-sqlite-react-native",
243
+ "@effect/rpc",
244
+ "@effect/rpc-http",
245
+ "@effect/typeclass",
246
+ "@effect/experimental",
247
+ "@effect/opentelemetry",
248
+ "@material-ui/core",
249
+ "@material-ui/icons",
250
+ "@tabler/icons-react",
251
+ "mui-core",
252
+ "react-icons/ai",
253
+ "react-icons/bi",
254
+ "react-icons/bs",
255
+ "react-icons/cg",
256
+ "react-icons/ci",
257
+ "react-icons/di",
258
+ "react-icons/fa",
259
+ "react-icons/fa6",
260
+ "react-icons/fc",
261
+ "react-icons/fi",
262
+ "react-icons/gi",
263
+ "react-icons/go",
264
+ "react-icons/gr",
265
+ "react-icons/hi",
266
+ "react-icons/hi2",
267
+ "react-icons/im",
268
+ "react-icons/io",
269
+ "react-icons/io5",
270
+ "react-icons/lia",
271
+ "react-icons/lib",
272
+ "react-icons/lu",
273
+ "react-icons/md",
274
+ "react-icons/pi",
275
+ "react-icons/ri",
276
+ "react-icons/rx",
277
+ "react-icons/si",
278
+ "react-icons/sl",
279
+ "react-icons/tb",
280
+ "react-icons/tfi",
281
+ "react-icons/ti",
282
+ "react-icons/vsc",
283
+ "react-icons/wi"
284
+ ],
285
+ "trustHostHeader": false,
286
+ "isExperimentalCompile": false
287
+ },
288
+ "htmlLimitedBots": "[\\w-]+-Google|Google-[\\w-]+|Chrome-Lighthouse|Slurp|DuckDuckBot|baiduspider|yandex|sogou|bitlybot|tumblr|vkShare|quora link preview|redditbot|ia_archiver|Bingbot|BingPreview|applebot|facebookexternalhit|facebookcatalog|Twitterbot|LinkedInBot|Slackbot|Discordbot|WhatsApp|SkypeUriPreview|Yeti|googleweblight",
289
+ "bundlePagesRouterDependencies": false,
290
+ "configFileName": "next.config.mjs",
291
+ "serverExternalPackages": [
292
+ "better-sqlite3"
293
+ ],
294
+ "turbopack": {
295
+ "root": "/Users/abhyoh/Documents/Brand/Apps/token-usage"
296
+ }
297
+ },
298
+ "appDir": "/Users/abhyoh/Documents/Brand/Apps/token-usage",
299
+ "relativeAppDir": "",
300
+ "files": [
301
+ ".next/routes-manifest.json",
302
+ ".next/server/pages-manifest.json",
303
+ ".next/build-manifest.json",
304
+ ".next/prerender-manifest.json",
305
+ ".next/server/functions-config-manifest.json",
306
+ ".next/server/middleware-manifest.json",
307
+ ".next/server/middleware-build-manifest.js",
308
+ ".next/server/middleware-react-loadable-manifest.js",
309
+ ".next/react-loadable-manifest.json",
310
+ ".next/server/app-paths-manifest.json",
311
+ ".next/app-path-routes-manifest.json",
312
+ ".next/app-build-manifest.json",
313
+ ".next/server/server-reference-manifest.js",
314
+ ".next/server/server-reference-manifest.json",
315
+ ".next/BUILD_ID",
316
+ ".next/server/next-font-manifest.js",
317
+ ".next/server/next-font-manifest.json",
318
+ ".next/required-server-files.json"
319
+ ],
320
+ "ignore": [
321
+ "node_modules/next/dist/compiled/@ampproject/toolbox-optimizer/**/*"
322
+ ]
323
+ }
@@ -0,0 +1,119 @@
1
+ {
2
+ "version": 3,
3
+ "pages404": true,
4
+ "caseSensitive": false,
5
+ "basePath": "",
6
+ "redirects": [
7
+ {
8
+ "source": "/:path+/",
9
+ "destination": "/:path+",
10
+ "internal": true,
11
+ "statusCode": 308,
12
+ "regex": "^(?:/((?:[^/]+?)(?:/(?:[^/]+?))*))/$"
13
+ }
14
+ ],
15
+ "headers": [],
16
+ "rewrites": {
17
+ "beforeFiles": [],
18
+ "afterFiles": [],
19
+ "fallback": []
20
+ },
21
+ "dynamicRoutes": [],
22
+ "staticRoutes": [
23
+ {
24
+ "page": "/",
25
+ "regex": "^/(?:/)?$",
26
+ "routeKeys": {},
27
+ "namedRegex": "^/(?:/)?$"
28
+ },
29
+ {
30
+ "page": "/_not-found",
31
+ "regex": "^/_not\\-found(?:/)?$",
32
+ "routeKeys": {},
33
+ "namedRegex": "^/_not\\-found(?:/)?$"
34
+ },
35
+ {
36
+ "page": "/debug",
37
+ "regex": "^/debug(?:/)?$",
38
+ "routeKeys": {},
39
+ "namedRegex": "^/debug(?:/)?$"
40
+ },
41
+ {
42
+ "page": "/diagnostics",
43
+ "regex": "^/diagnostics(?:/)?$",
44
+ "routeKeys": {},
45
+ "namedRegex": "^/diagnostics(?:/)?$"
46
+ },
47
+ {
48
+ "page": "/discovery",
49
+ "regex": "^/discovery(?:/)?$",
50
+ "routeKeys": {},
51
+ "namedRegex": "^/discovery(?:/)?$"
52
+ },
53
+ {
54
+ "page": "/models",
55
+ "regex": "^/models(?:/)?$",
56
+ "routeKeys": {},
57
+ "namedRegex": "^/models(?:/)?$"
58
+ },
59
+ {
60
+ "page": "/optimisation",
61
+ "regex": "^/optimisation(?:/)?$",
62
+ "routeKeys": {},
63
+ "namedRegex": "^/optimisation(?:/)?$"
64
+ },
65
+ {
66
+ "page": "/parser-debug",
67
+ "regex": "^/parser\\-debug(?:/)?$",
68
+ "routeKeys": {},
69
+ "namedRegex": "^/parser\\-debug(?:/)?$"
70
+ },
71
+ {
72
+ "page": "/pricing",
73
+ "regex": "^/pricing(?:/)?$",
74
+ "routeKeys": {},
75
+ "namedRegex": "^/pricing(?:/)?$"
76
+ },
77
+ {
78
+ "page": "/projects",
79
+ "regex": "^/projects(?:/)?$",
80
+ "routeKeys": {},
81
+ "namedRegex": "^/projects(?:/)?$"
82
+ },
83
+ {
84
+ "page": "/sessions",
85
+ "regex": "^/sessions(?:/)?$",
86
+ "routeKeys": {},
87
+ "namedRegex": "^/sessions(?:/)?$"
88
+ },
89
+ {
90
+ "page": "/settings",
91
+ "regex": "^/settings(?:/)?$",
92
+ "routeKeys": {},
93
+ "namedRegex": "^/settings(?:/)?$"
94
+ },
95
+ {
96
+ "page": "/tools",
97
+ "regex": "^/tools(?:/)?$",
98
+ "routeKeys": {},
99
+ "namedRegex": "^/tools(?:/)?$"
100
+ }
101
+ ],
102
+ "dataRoutes": [],
103
+ "rsc": {
104
+ "header": "rsc",
105
+ "varyHeader": "rsc, next-router-state-tree, next-router-prefetch, next-router-segment-prefetch",
106
+ "prefetchHeader": "next-router-prefetch",
107
+ "didPostponeHeader": "x-nextjs-postponed",
108
+ "contentTypeHeader": "text/x-component",
109
+ "suffix": ".rsc",
110
+ "prefetchSuffix": ".prefetch.rsc",
111
+ "prefetchSegmentHeader": "next-router-segment-prefetch",
112
+ "prefetchSegmentSuffix": ".segment.rsc",
113
+ "prefetchSegmentDirSuffix": ".segments"
114
+ },
115
+ "rewriteHeaders": {
116
+ "pathHeader": "x-nextjs-rewritten-path",
117
+ "queryHeader": "x-nextjs-rewritten-query"
118
+ }
119
+ }
@@ -0,0 +1,2 @@
1
+ (()=>{var a={};a.id=492,a.ids=[492],a.modules={261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},9958:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,65169,23))},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},19121:a=>{"use strict";a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},26713:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/is-bot")},28354:a=>{"use strict";a.exports=require("util")},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},33873:a=>{"use strict";a.exports=require("path")},36599:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,81170,23)),Promise.resolve().then(c.t.bind(c,23597,23)),Promise.resolve().then(c.t.bind(c,36893,23)),Promise.resolve().then(c.t.bind(c,89748,23)),Promise.resolve().then(c.t.bind(c,6060,23)),Promise.resolve().then(c.t.bind(c,7184,23)),Promise.resolve().then(c.t.bind(c,69576,23)),Promise.resolve().then(c.t.bind(c,73041,23)),Promise.resolve().then(c.t.bind(c,51384,23))},41025:a=>{"use strict";a.exports=require("next/dist/server/app-render/dynamic-access-async-storage.external.js")},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},67455:(a,b,c)=>{"use strict";c.r(b),c.d(b,{GlobalError:()=>E.a,__next_app__:()=>K,handler:()=>M,pages:()=>J,routeModule:()=>L,tree:()=>I});var d=c(49754),e=c(9117),f=c(46595),g=c(32324),h=c(39326),i=c(38928),j=c(20175),k=c(12),l=c(54290),m=c(12696),n=c(52574),o=c(82802),p=c(77533),q=c(45229),r=c(32822),s=c(261),t=c(26453),u=c(52474),v=c(26713),w=c(51356),x=c(62685),y=c(36225),z=c(63446),A=c(2762),B=c(45742),C=c(86439),D=c(81170),E=c.n(D),F=c(62506),G=c(91203),H={};for(let a in F)0>["default","tree","pages","GlobalError","__next_app__","routeModule","handler"].indexOf(a)&&(H[a]=()=>F[a]);c.d(b,H);let I={children:["",{children:["/_not-found",{children:["__PAGE__",{},{page:[()=>Promise.resolve().then(c.t.bind(c,87028,23)),"next/dist/client/components/builtin/not-found.js"]}]},{}]},{layout:[()=>Promise.resolve().then(c.bind(c,98635)),"/Users/abhyoh/Documents/Brand/Apps/token-usage/app/layout.tsx"],"global-error":[()=>Promise.resolve().then(c.t.bind(c,81170,23)),"next/dist/client/components/builtin/global-error.js"],forbidden:[()=>Promise.resolve().then(c.t.bind(c,90461,23)),"next/dist/client/components/builtin/forbidden.js"],unauthorized:[()=>Promise.resolve().then(c.t.bind(c,32768,23)),"next/dist/client/components/builtin/unauthorized.js"]}]}.children,J=[],K={require:c,loadChunk:()=>Promise.resolve()},L=new d.AppPageRouteModule({definition:{kind:e.RouteKind.APP_PAGE,page:"/_not-found/page",pathname:"/_not-found",bundlePath:"",filename:"",appPaths:[]},userland:{loaderTree:I},distDir:".next",relativeProjectDir:""});async function M(a,b,d){var D;let H="/_not-found/page";"/index"===H&&(H="/");let N=(0,h.getRequestMeta)(a,"postponed"),O=(0,h.getRequestMeta)(a,"minimalMode"),P=await L.prepare(a,b,{srcPage:H,multiZoneDraftMode:!1});if(!P)return b.statusCode=400,b.end("Bad Request"),null==d.waitUntil||d.waitUntil.call(d,Promise.resolve()),null;let{buildId:Q,query:R,params:S,parsedUrl:T,pageIsDynamic:U,buildManifest:V,nextFontManifest:W,reactLoadableManifest:X,serverActionsManifest:Y,clientReferenceManifest:Z,subresourceIntegrityManifest:$,prerenderManifest:_,isDraftMode:aa,resolvedPathname:ab,revalidateOnlyGenerated:ac,routerServerContext:ad,nextConfig:ae,interceptionRoutePatterns:af}=P,ag=T.pathname||"/",ah=(0,s.normalizeAppPath)(H),{isOnDemandRevalidate:ai}=P,aj=L.match(ag,_),ak=!!_.routes[ab],al=!!(aj||ak||_.routes[ah]),am=a.headers["user-agent"]||"",an=(0,v.getBotType)(am),ao=(0,q.isHtmlBotRequest)(a),ap=(0,h.getRequestMeta)(a,"isPrefetchRSCRequest")??"1"===a.headers[u.NEXT_ROUTER_PREFETCH_HEADER],aq=(0,h.getRequestMeta)(a,"isRSCRequest")??(0,n.f)(a.headers[u.RSC_HEADER]),ar=(0,t.getIsPossibleServerAction)(a),as=(0,m.checkIsAppPPREnabled)(ae.experimental.ppr)&&(null==(D=_.routes[ah]??_.dynamicRoutes[ah])?void 0:D.renderingMode)==="PARTIALLY_STATIC",at=!1,au=!1,av=as?N:void 0,aw=as&&aq&&!ap,ax=(0,h.getRequestMeta)(a,"segmentPrefetchRSCRequest"),ay=!am||(0,q.shouldServeStreamingMetadata)(am,ae.htmlLimitedBots);ao&&as&&(al=!1,ay=!1);let az=!0===L.isDev||!al||"string"==typeof N||aw,aA=ao&&as,aB=null;aa||!al||az||ar||av||aw||(aB=ab);let aC=aB;!aC&&L.isDev&&(aC=ab),L.isDev||aa||!al||!aq||aw||(0,k.d)(a.headers);let aD={...F,tree:I,pages:J,GlobalError:E(),handler:M,routeModule:L,__next_app__:K};Y&&Z&&(0,p.setReferenceManifestsSingleton)({page:H,clientReferenceManifest:Z,serverActionsManifest:Y,serverModuleMap:(0,r.createServerModuleMap)({serverActionsManifest:Y})});let aE=a.method||"GET",aF=(0,g.getTracer)(),aG=aF.getActiveScopeSpan();try{let f=L.getVaryHeader(ab,af);b.setHeader("Vary",f);let k=async(c,d)=>{let e=new l.NodeNextRequest(a),f=new l.NodeNextResponse(b);return L.render(e,f,d).finally(()=>{if(!c)return;c.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let d=aF.getRootSpanAttributes();if(!d)return;if(d.get("next.span_type")!==i.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${d.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=d.get("next.route");if(e){let a=`${aE} ${e}`;c.setAttributes({"next.route":e,"http.route":e,"next.span_name":a}),c.updateName(a)}else c.updateName(`${aE} ${a.url}`)})},m=async({span:e,postponed:f,fallbackRouteParams:g})=>{let i={query:R,params:S,page:ah,sharedContext:{buildId:Q},serverComponentsHmrCache:(0,h.getRequestMeta)(a,"serverComponentsHmrCache"),fallbackRouteParams:g,renderOpts:{App:()=>null,Document:()=>null,pageConfig:{},ComponentMod:aD,Component:(0,j.T)(aD),params:S,routeModule:L,page:H,postponed:f,shouldWaitOnAllReady:aA,serveStreamingMetadata:ay,supportsDynamicResponse:"string"==typeof f||az,buildManifest:V,nextFontManifest:W,reactLoadableManifest:X,subresourceIntegrityManifest:$,serverActionsManifest:Y,clientReferenceManifest:Z,setIsrStatus:null==ad?void 0:ad.setIsrStatus,dir:c(33873).join(process.cwd(),L.relativeProjectDir),isDraftMode:aa,isRevalidate:al&&!f&&!aw,botType:an,isOnDemandRevalidate:ai,isPossibleServerAction:ar,assetPrefix:ae.assetPrefix,nextConfigOutput:ae.output,crossOrigin:ae.crossOrigin,trailingSlash:ae.trailingSlash,previewProps:_.preview,deploymentId:ae.deploymentId,enableTainting:ae.experimental.taint,htmlLimitedBots:ae.htmlLimitedBots,devtoolSegmentExplorer:ae.experimental.devtoolSegmentExplorer,reactMaxHeadersLength:ae.reactMaxHeadersLength,multiZoneDraftMode:!1,incrementalCache:(0,h.getRequestMeta)(a,"incrementalCache"),cacheLifeProfiles:ae.experimental.cacheLife,basePath:ae.basePath,serverActions:ae.experimental.serverActions,...at?{nextExport:!0,supportsDynamicResponse:!1,isStaticGeneration:!0,isRevalidate:!0,isDebugDynamicAccesses:at}:{},experimental:{isRoutePPREnabled:as,expireTime:ae.expireTime,staleTimes:ae.experimental.staleTimes,cacheComponents:!!ae.experimental.cacheComponents,clientSegmentCache:!!ae.experimental.clientSegmentCache,clientParamParsing:!!ae.experimental.clientParamParsing,dynamicOnHover:!!ae.experimental.dynamicOnHover,inlineCss:!!ae.experimental.inlineCss,authInterrupts:!!ae.experimental.authInterrupts,clientTraceMetadata:ae.experimental.clientTraceMetadata||[]},waitUntil:d.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:()=>{},onInstrumentationRequestError:(b,c,d)=>L.onRequestError(a,b,d,ad),err:(0,h.getRequestMeta)(a,"invokeError"),dev:L.isDev}},l=await k(e,i),{metadata:m}=l,{cacheControl:n,headers:o={},fetchTags:p}=m;if(p&&(o[z.NEXT_CACHE_TAGS_HEADER]=p),a.fetchMetrics=m.fetchMetrics,al&&(null==n?void 0:n.revalidate)===0&&!L.isDev&&!as){let a=m.staticBailoutInfo,b=Object.defineProperty(Error(`Page changed from static to dynamic at runtime ${ab}${(null==a?void 0:a.description)?`, reason: ${a.description}`:""}
2
+ see more here https://nextjs.org/docs/messages/app-static-to-dynamic-error`),"__NEXT_ERROR_CODE",{value:"E132",enumerable:!1,configurable:!0});if(null==a?void 0:a.stack){let c=a.stack;b.stack=b.message+c.substring(c.indexOf("\n"))}throw b}return{value:{kind:w.CachedRouteKind.APP_PAGE,html:l,headers:o,rscData:m.flightData,postponed:m.postponed,status:m.statusCode,segmentData:m.segmentData},cacheControl:n}},n=async({hasResolved:c,previousCacheEntry:f,isRevalidating:g,span:i})=>{let j,k=!1===L.isDev,l=c||b.writableEnded;if(ai&&ac&&!f&&!O)return(null==ad?void 0:ad.render404)?await ad.render404(a,b):(b.statusCode=404,b.end("This page could not be found")),null;if(aj&&(j=(0,x.parseFallbackField)(aj.fallback)),j===x.FallbackMode.PRERENDER&&(0,v.isBot)(am)&&(!as||ao)&&(j=x.FallbackMode.BLOCKING_STATIC_RENDER),(null==f?void 0:f.isStale)===-1&&(ai=!0),ai&&(j!==x.FallbackMode.NOT_FOUND||f)&&(j=x.FallbackMode.BLOCKING_STATIC_RENDER),!O&&j!==x.FallbackMode.BLOCKING_STATIC_RENDER&&aC&&!l&&!aa&&U&&(k||!ak)){let b;if((k||aj)&&j===x.FallbackMode.NOT_FOUND)throw new C.NoFallbackError;if(as&&!aq){let c="string"==typeof(null==aj?void 0:aj.fallback)?aj.fallback:k?ah:null;if(b=await L.handleResponse({cacheKey:c,req:a,nextConfig:ae,routeKind:e.RouteKind.APP_PAGE,isFallback:!0,prerenderManifest:_,isRoutePPREnabled:as,responseGenerator:async()=>m({span:i,postponed:void 0,fallbackRouteParams:k||au?(0,o.u)(ah):null}),waitUntil:d.waitUntil}),null===b)return null;if(b)return delete b.cacheControl,b}}let n=ai||g||!av?void 0:av;if(at&&void 0!==n)return{cacheControl:{revalidate:1,expire:void 0},value:{kind:w.CachedRouteKind.PAGES,html:y.default.EMPTY,pageData:{},headers:void 0,status:void 0}};let p=U&&as&&((0,h.getRequestMeta)(a,"renderFallbackShell")||au)?(0,o.u)(ag):null;return m({span:i,postponed:n,fallbackRouteParams:p})},p=async c=>{var f,g,i,j,k;let l,o=await L.handleResponse({cacheKey:aB,responseGenerator:a=>n({span:c,...a}),routeKind:e.RouteKind.APP_PAGE,isOnDemandRevalidate:ai,isRoutePPREnabled:as,req:a,nextConfig:ae,prerenderManifest:_,waitUntil:d.waitUntil});if(aa&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate"),L.isDev&&b.setHeader("Cache-Control","no-store, must-revalidate"),!o){if(aB)throw Object.defineProperty(Error("invariant: cache entry required but not generated"),"__NEXT_ERROR_CODE",{value:"E62",enumerable:!1,configurable:!0});return null}if((null==(f=o.value)?void 0:f.kind)!==w.CachedRouteKind.APP_PAGE)throw Object.defineProperty(Error(`Invariant app-page handler received invalid cache entry ${null==(i=o.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E707",enumerable:!1,configurable:!0});let p="string"==typeof o.value.postponed;al&&!aw&&(!p||ap)&&(O||b.setHeader("x-nextjs-cache",ai?"REVALIDATED":o.isMiss?"MISS":o.isStale?"STALE":"HIT"),b.setHeader(u.NEXT_IS_PRERENDER_HEADER,"1"));let{value:q}=o;if(av)l={revalidate:0,expire:void 0};else if(O&&aq&&!ap&&as)l={revalidate:0,expire:void 0};else if(!L.isDev)if(aa)l={revalidate:0,expire:void 0};else if(al){if(o.cacheControl)if("number"==typeof o.cacheControl.revalidate){if(o.cacheControl.revalidate<1)throw Object.defineProperty(Error(`Invalid revalidate configuration provided: ${o.cacheControl.revalidate} < 1`),"__NEXT_ERROR_CODE",{value:"E22",enumerable:!1,configurable:!0});l={revalidate:o.cacheControl.revalidate,expire:(null==(j=o.cacheControl)?void 0:j.expire)??ae.expireTime}}else l={revalidate:z.CACHE_ONE_YEAR,expire:void 0}}else b.getHeader("Cache-Control")||(l={revalidate:0,expire:void 0});if(o.cacheControl=l,"string"==typeof ax&&(null==q?void 0:q.kind)===w.CachedRouteKind.APP_PAGE&&q.segmentData){b.setHeader(u.NEXT_DID_POSTPONE_HEADER,"2");let c=null==(k=q.headers)?void 0:k[z.NEXT_CACHE_TAGS_HEADER];O&&al&&c&&"string"==typeof c&&b.setHeader(z.NEXT_CACHE_TAGS_HEADER,c);let d=q.segmentData.get(ax);return void 0!==d?(0,B.sendRenderResult)({req:a,res:b,generateEtags:ae.generateEtags,poweredByHeader:ae.poweredByHeader,result:y.default.fromStatic(d,u.RSC_CONTENT_TYPE_HEADER),cacheControl:o.cacheControl}):(b.statusCode=204,(0,B.sendRenderResult)({req:a,res:b,generateEtags:ae.generateEtags,poweredByHeader:ae.poweredByHeader,result:y.default.EMPTY,cacheControl:o.cacheControl}))}let r=(0,h.getRequestMeta)(a,"onCacheEntry");if(r&&await r({...o,value:{...o.value,kind:"PAGE"}},{url:(0,h.getRequestMeta)(a,"initURL")}))return null;if(p&&av)throw Object.defineProperty(Error("Invariant: postponed state should not be present on a resume request"),"__NEXT_ERROR_CODE",{value:"E396",enumerable:!1,configurable:!0});if(q.headers){let a={...q.headers};for(let[c,d]of(O&&al||delete a[z.NEXT_CACHE_TAGS_HEADER],Object.entries(a)))if(void 0!==d)if(Array.isArray(d))for(let a of d)b.appendHeader(c,a);else"number"==typeof d&&(d=d.toString()),b.appendHeader(c,d)}let s=null==(g=q.headers)?void 0:g[z.NEXT_CACHE_TAGS_HEADER];if(O&&al&&s&&"string"==typeof s&&b.setHeader(z.NEXT_CACHE_TAGS_HEADER,s),!q.status||aq&&as||(b.statusCode=q.status),!O&&q.status&&G.RedirectStatusCode[q.status]&&aq&&(b.statusCode=200),p&&b.setHeader(u.NEXT_DID_POSTPONE_HEADER,"1"),aq&&!aa){if(void 0===q.rscData){if(q.postponed)throw Object.defineProperty(Error("Invariant: Expected postponed to be undefined"),"__NEXT_ERROR_CODE",{value:"E372",enumerable:!1,configurable:!0});return(0,B.sendRenderResult)({req:a,res:b,generateEtags:ae.generateEtags,poweredByHeader:ae.poweredByHeader,result:q.html,cacheControl:aw?{revalidate:0,expire:void 0}:o.cacheControl})}return(0,B.sendRenderResult)({req:a,res:b,generateEtags:ae.generateEtags,poweredByHeader:ae.poweredByHeader,result:y.default.fromStatic(q.rscData,u.RSC_CONTENT_TYPE_HEADER),cacheControl:o.cacheControl})}let t=q.html;if(!p||O||aq)return(0,B.sendRenderResult)({req:a,res:b,generateEtags:ae.generateEtags,poweredByHeader:ae.poweredByHeader,result:t,cacheControl:o.cacheControl});if(at)return t.push(new ReadableStream({start(a){a.enqueue(A.ENCODED_TAGS.CLOSED.BODY_AND_HTML),a.close()}})),(0,B.sendRenderResult)({req:a,res:b,generateEtags:ae.generateEtags,poweredByHeader:ae.poweredByHeader,result:t,cacheControl:{revalidate:0,expire:void 0}});let v=new TransformStream;return t.push(v.readable),m({span:c,postponed:q.postponed,fallbackRouteParams:null}).then(async a=>{var b,c;if(!a)throw Object.defineProperty(Error("Invariant: expected a result to be returned"),"__NEXT_ERROR_CODE",{value:"E463",enumerable:!1,configurable:!0});if((null==(b=a.value)?void 0:b.kind)!==w.CachedRouteKind.APP_PAGE)throw Object.defineProperty(Error(`Invariant: expected a page response, got ${null==(c=a.value)?void 0:c.kind}`),"__NEXT_ERROR_CODE",{value:"E305",enumerable:!1,configurable:!0});await a.value.html.pipeTo(v.writable)}).catch(a=>{v.writable.abort(a).catch(a=>{console.error("couldn't abort transformer",a)})}),(0,B.sendRenderResult)({req:a,res:b,generateEtags:ae.generateEtags,poweredByHeader:ae.poweredByHeader,result:t,cacheControl:{revalidate:0,expire:void 0}})};if(!aG)return await aF.withPropagatedContext(a.headers,()=>aF.trace(i.BaseServerSpan.handleRequest,{spanName:`${aE} ${a.url}`,kind:g.SpanKind.SERVER,attributes:{"http.method":aE,"http.target":a.url}},p));await p(aG)}catch(b){throw b instanceof C.NoFallbackError||await L.onRequestError(a,b,{routerKind:"App Router",routePath:H,routeType:"render",revalidateReason:(0,f.c)({isRevalidate:al,isOnDemandRevalidate:ai})},ad),b}}},79694:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,3991,23))},82704:()=>{},86439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},89743:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,54160,23)),Promise.resolve().then(c.t.bind(c,31603,23)),Promise.resolve().then(c.t.bind(c,68495,23)),Promise.resolve().then(c.t.bind(c,75170,23)),Promise.resolve().then(c.t.bind(c,77526,23)),Promise.resolve().then(c.t.bind(c,78922,23)),Promise.resolve().then(c.t.bind(c,29234,23)),Promise.resolve().then(c.t.bind(c,12263,23)),Promise.resolve().then(c.bind(c,82146))},98635:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>w,metadata:()=>v});var d=c(75338);c(82704);var e=c(65169),f=c.n(e),g=c(95904),h=c(87859),i=c(23554),j=c(50629),k=c(44391),l=c(17448),m=c(93238),n=c(69138),o=c(47186),p=c(27765),q=c(5794),r=c(99618);let s=[{href:"/",label:"Overview",icon:g.A},{href:"/tools",label:"Tools",icon:h.A},{href:"/models",label:"Models",icon:i.A},{href:"/projects",label:"Projects",icon:j.A},{href:"/sessions",label:"Sessions",icon:k.A},{href:"/optimisation",label:"Insights",icon:l.A},{href:"/pricing",label:"Pricing",icon:m.A},{href:"/diagnostics",label:"Diagnostics",icon:n.A},{href:"/discovery",label:"Discovery",icon:o.A},{href:"/parser-debug",label:"Parsers",icon:p.A},{href:"/debug",label:"Raw Data",icon:p.A},{href:"/settings",label:"Settings",icon:q.A}];function t(){return(0,d.jsx)("aside",{className:"sticky top-0 hidden h-screen w-64 shrink-0 border-r bg-card md:block",children:(0,d.jsxs)("div",{className:"flex h-full flex-col",children:[(0,d.jsx)("div",{className:"border-b p-5",children:(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)("div",{className:"flex h-9 w-9 items-center justify-center rounded-md bg-primary text-primary-foreground",children:(0,d.jsx)(r.A,{className:"h-5 w-5"})}),(0,d.jsxs)("div",{children:[(0,d.jsx)("div",{className:"text-sm font-semibold",children:"TokenTrace CLI"}),(0,d.jsx)("div",{className:"text-xs text-muted-foreground",children:"Local analytics"})]})]})}),(0,d.jsx)("nav",{className:"flex-1 space-y-1 p-3",children:s.map(a=>{let b=a.icon;return(0,d.jsxs)(f(),{href:a.href,className:"flex items-center gap-3 rounded-md px-3 py-2 text-sm text-muted-foreground transition-colors hover:bg-muted hover:text-foreground",children:[(0,d.jsx)(b,{className:"h-4 w-4"}),a.label]},a.href)})}),(0,d.jsx)("div",{className:"border-t p-4 text-xs text-muted-foreground",children:"Local only. No telemetry. Raw content off by default."})]})})}function u(){return(0,d.jsx)("nav",{className:"flex gap-2 overflow-x-auto border-b bg-card px-4 py-2 md:hidden",children:s.map(a=>{let b=a.icon;return(0,d.jsxs)(f(),{href:a.href,className:"flex shrink-0 items-center gap-2 rounded-md border px-3 py-2 text-xs text-muted-foreground",children:[(0,d.jsx)(b,{className:"h-3.5 w-3.5"}),a.label]},a.href)})})}let v={title:"TokenTrace CLI",description:"Local-first AI CLI token and cost analytics"};function w({children:a}){return(0,d.jsx)("html",{lang:"en",children:(0,d.jsx)("body",{children:(0,d.jsxs)("div",{className:"flex min-h-screen",children:[(0,d.jsx)(t,{}),(0,d.jsxs)("main",{className:"min-w-0 flex-1",children:[(0,d.jsxs)("div",{className:"border-b bg-card px-4 py-3 md:hidden",children:[(0,d.jsx)("div",{className:"text-sm font-semibold",children:"TokenTrace CLI"}),(0,d.jsx)("div",{className:"text-xs text-muted-foreground",children:"Local analytics dashboard"})]}),(0,d.jsx)(u,{}),(0,d.jsx)("div",{className:"mx-auto w-full max-w-7xl px-4 py-6 sm:px-6 lg:px-8",children:a})]})]})})})}}};var b=require("../../webpack-runtime.js");b.C(a);var c=b.X(0,[331,123],()=>b(b.s=67455));module.exports=c})();
@@ -0,0 +1 @@
1
+ {"version":1,"files":["../../../../node_modules/next/dist/client/components/app-router-headers.js","../../../../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../node_modules/next/dist/compiled/jsonwebtoken/index.js","../../../../node_modules/next/dist/compiled/jsonwebtoken/package.json","../../../../node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../../node_modules/next/dist/lib/client-and-server-references.js","../../../../node_modules/next/dist/lib/constants.js","../../../../node_modules/next/dist/lib/interop-default.js","../../../../node_modules/next/dist/lib/is-error.js","../../../../node_modules/next/dist/lib/semver-noop.js","../../../../node_modules/next/dist/server/app-render/action-async-storage-instance.js","../../../../node_modules/next/dist/server/app-render/action-async-storage.external.js","../../../../node_modules/next/dist/server/app-render/after-task-async-storage-instance.js","../../../../node_modules/next/dist/server/app-render/after-task-async-storage.external.js","../../../../node_modules/next/dist/server/app-render/async-local-storage.js","../../../../node_modules/next/dist/server/app-render/cache-signal.js","../../../../node_modules/next/dist/server/app-render/dynamic-access-async-storage-instance.js","../../../../node_modules/next/dist/server/app-render/dynamic-access-async-storage.external.js","../../../../node_modules/next/dist/server/app-render/module-loading/track-module-loading.external.js","../../../../node_modules/next/dist/server/app-render/module-loading/track-module-loading.instance.js","../../../../node_modules/next/dist/server/app-render/work-async-storage-instance.js","../../../../node_modules/next/dist/server/app-render/work-async-storage.external.js","../../../../node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js","../../../../node_modules/next/dist/server/app-render/work-unit-async-storage.external.js","../../../../node_modules/next/dist/server/lib/cache-handlers/default.external.js","../../../../node_modules/next/dist/server/lib/incremental-cache/memory-cache.external.js","../../../../node_modules/next/dist/server/lib/incremental-cache/shared-cache-controls.external.js","../../../../node_modules/next/dist/server/lib/incremental-cache/tags-manifest.external.js","../../../../node_modules/next/dist/server/lib/lru-cache.js","../../../../node_modules/next/dist/server/lib/router-utils/instrumentation-globals.external.js","../../../../node_modules/next/dist/server/lib/router-utils/instrumentation-node-extensions.js","../../../../node_modules/next/dist/server/lib/trace/constants.js","../../../../node_modules/next/dist/server/lib/trace/tracer.js","../../../../node_modules/next/dist/server/load-manifest.external.js","../../../../node_modules/next/dist/server/response-cache/types.js","../../../../node_modules/next/dist/shared/lib/deep-freeze.js","../../../../node_modules/next/dist/shared/lib/invariant-error.js","../../../../node_modules/next/dist/shared/lib/is-plain-object.js","../../../../node_modules/next/dist/shared/lib/is-thenable.js","../../../../node_modules/next/dist/shared/lib/no-fallback-error.external.js","../../../../node_modules/next/dist/shared/lib/page-path/ensure-leading-slash.js","../../../../node_modules/next/dist/shared/lib/router/utils/app-paths.js","../../../../node_modules/next/dist/shared/lib/router/utils/html-bots.js","../../../../node_modules/next/dist/shared/lib/router/utils/is-bot.js","../../../../node_modules/next/dist/shared/lib/segment.js","../../../../node_modules/next/dist/shared/lib/server-reference-info.js","../../../../node_modules/next/package.json","../../../package.json","../../chunks/123.js","../../chunks/331.js","../../webpack-runtime.js","page_client-reference-manifest.js"]}
@@ -0,0 +1 @@
1
+ globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/_not-found/page"]={"moduleLoading":{"prefix":"/_next/"},"ssrModuleMapping":{"5813":{"*":{"id":"1551","name":"*","chunks":[],"async":false}},"9766":{"*":{"id":"77526","name":"*","chunks":[],"async":false}},"15278":{"*":{"id":"78922","name":"*","chunks":[],"async":false}},"17989":{"*":{"id":"68495","name":"*","chunks":[],"async":false}},"23050":{"*":{"id":"30438","name":"*","chunks":[],"async":false}},"24431":{"*":{"id":"12263","name":"*","chunks":[],"async":false}},"33055":{"*":{"id":"13879","name":"*","chunks":[],"async":false}},"36918":{"*":{"id":"13860","name":"*","chunks":[],"async":false}},"40675":{"*":{"id":"37524","name":"*","chunks":[],"async":false}},"52619":{"*":{"id":"3991","name":"*","chunks":[],"async":false}},"57150":{"*":{"id":"54160","name":"*","chunks":[],"async":false}},"63886":{"*":{"id":"75170","name":"*","chunks":[],"async":false}},"80622":{"*":{"id":"82146","name":"*","chunks":[],"async":false}},"81959":{"*":{"id":"31603","name":"*","chunks":[],"async":false}},"98924":{"*":{"id":"29234","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"/Users/abhyoh/Documents/Brand/Apps/token-usage/node_modules/next/dist/client/components/builtin/global-error.js":{"id":57150,"name":"*","chunks":[],"async":false},"/Users/abhyoh/Documents/Brand/Apps/token-usage/node_modules/next/dist/esm/client/components/builtin/global-error.js":{"id":57150,"name":"*","chunks":[],"async":false},"/Users/abhyoh/Documents/Brand/Apps/token-usage/node_modules/next/dist/client/components/client-page.js":{"id":81959,"name":"*","chunks":[],"async":false},"/Users/abhyoh/Documents/Brand/Apps/token-usage/node_modules/next/dist/esm/client/components/client-page.js":{"id":81959,"name":"*","chunks":[],"async":false},"/Users/abhyoh/Documents/Brand/Apps/token-usage/node_modules/next/dist/client/components/client-segment.js":{"id":17989,"name":"*","chunks":[],"async":false},"/Users/abhyoh/Documents/Brand/Apps/token-usage/node_modules/next/dist/esm/client/components/client-segment.js":{"id":17989,"name":"*","chunks":[],"async":false},"/Users/abhyoh/Documents/Brand/Apps/token-usage/node_modules/next/dist/client/components/http-access-fallback/error-boundary.js":{"id":63886,"name":"*","chunks":[],"async":false},"/Users/abhyoh/Documents/Brand/Apps/token-usage/node_modules/next/dist/esm/client/components/http-access-fallback/error-boundary.js":{"id":63886,"name":"*","chunks":[],"async":false},"/Users/abhyoh/Documents/Brand/Apps/token-usage/node_modules/next/dist/client/components/layout-router.js":{"id":9766,"name":"*","chunks":[],"async":false},"/Users/abhyoh/Documents/Brand/Apps/token-usage/node_modules/next/dist/esm/client/components/layout-router.js":{"id":9766,"name":"*","chunks":[],"async":false},"/Users/abhyoh/Documents/Brand/Apps/token-usage/node_modules/next/dist/client/components/metadata/async-metadata.js":{"id":15278,"name":"*","chunks":[],"async":false},"/Users/abhyoh/Documents/Brand/Apps/token-usage/node_modules/next/dist/esm/client/components/metadata/async-metadata.js":{"id":15278,"name":"*","chunks":[],"async":false},"/Users/abhyoh/Documents/Brand/Apps/token-usage/node_modules/next/dist/client/components/render-from-template-context.js":{"id":98924,"name":"*","chunks":[],"async":false},"/Users/abhyoh/Documents/Brand/Apps/token-usage/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":98924,"name":"*","chunks":[],"async":false},"/Users/abhyoh/Documents/Brand/Apps/token-usage/node_modules/next/dist/lib/framework/boundary-components.js":{"id":24431,"name":"*","chunks":[],"async":false},"/Users/abhyoh/Documents/Brand/Apps/token-usage/node_modules/next/dist/esm/lib/framework/boundary-components.js":{"id":24431,"name":"*","chunks":[],"async":false},"/Users/abhyoh/Documents/Brand/Apps/token-usage/node_modules/next/dist/lib/metadata/generate/icon-mark.js":{"id":80622,"name":"*","chunks":[],"async":false},"/Users/abhyoh/Documents/Brand/Apps/token-usage/node_modules/next/dist/esm/lib/metadata/generate/icon-mark.js":{"id":80622,"name":"*","chunks":[],"async":false},"/Users/abhyoh/Documents/Brand/Apps/token-usage/app/globals.css":{"id":41290,"name":"*","chunks":["619","static/chunks/619-f072ac750404f9da.js","558","static/chunks/app/layout-8942804176ff26f3.js"],"async":false},"/Users/abhyoh/Documents/Brand/Apps/token-usage/node_modules/next/dist/client/app-dir/link.js":{"id":52619,"name":"*","chunks":["125","static/chunks/125-ab0f8db8f84c1166.js","938","static/chunks/938-23236de1c47554ea.js","619","static/chunks/619-f072ac750404f9da.js","850","static/chunks/850-8bc31e41590b5831.js","974","static/chunks/app/page-b6886ec802c03cbf.js"],"async":false},"/Users/abhyoh/Documents/Brand/Apps/token-usage/node_modules/next/dist/esm/client/app-dir/link.js":{"id":52619,"name":"*","chunks":["125","static/chunks/125-ab0f8db8f84c1166.js","938","static/chunks/938-23236de1c47554ea.js","619","static/chunks/619-f072ac750404f9da.js","850","static/chunks/850-8bc31e41590b5831.js","974","static/chunks/app/page-b6886ec802c03cbf.js"],"async":false},"/Users/abhyoh/Documents/Brand/Apps/token-usage/components/pricing-settings.tsx":{"id":40675,"name":"*","chunks":[],"async":false},"/Users/abhyoh/Documents/Brand/Apps/token-usage/components/session-explorer.tsx":{"id":33055,"name":"*","chunks":[],"async":false},"/Users/abhyoh/Documents/Brand/Apps/token-usage/components/charts/rank-bar-chart.tsx":{"id":5813,"name":"*","chunks":["125","static/chunks/125-ab0f8db8f84c1166.js","938","static/chunks/938-23236de1c47554ea.js","619","static/chunks/619-f072ac750404f9da.js","850","static/chunks/850-8bc31e41590b5831.js","974","static/chunks/app/page-b6886ec802c03cbf.js"],"async":false},"/Users/abhyoh/Documents/Brand/Apps/token-usage/components/charts/trend-chart.tsx":{"id":23050,"name":"*","chunks":["125","static/chunks/125-ab0f8db8f84c1166.js","938","static/chunks/938-23236de1c47554ea.js","619","static/chunks/619-f072ac750404f9da.js","850","static/chunks/850-8bc31e41590b5831.js","974","static/chunks/app/page-b6886ec802c03cbf.js"],"async":false},"/Users/abhyoh/Documents/Brand/Apps/token-usage/components/settings-panel.tsx":{"id":36918,"name":"*","chunks":[],"async":false}},"entryCSSFiles":{"/Users/abhyoh/Documents/Brand/Apps/token-usage/":[],"/Users/abhyoh/Documents/Brand/Apps/token-usage/app/layout":[{"inlined":false,"path":"static/css/366bb38b386229a5.css"}],"/Users/abhyoh/Documents/Brand/Apps/token-usage/app/page":[],"/Users/abhyoh/Documents/Brand/Apps/token-usage/app/_not-found/page":[]},"rscModuleMapping":{"5813":{"*":{"id":"62317","name":"*","chunks":[],"async":false}},"9766":{"*":{"id":"6060","name":"*","chunks":[],"async":false}},"15278":{"*":{"id":"7184","name":"*","chunks":[],"async":false}},"17989":{"*":{"id":"36893","name":"*","chunks":[],"async":false}},"23050":{"*":{"id":"25268","name":"*","chunks":[],"async":false}},"24431":{"*":{"id":"73041","name":"*","chunks":[],"async":false}},"33055":{"*":{"id":"44300","name":"*","chunks":[],"async":false}},"36918":{"*":{"id":"3570","name":"*","chunks":[],"async":false}},"40675":{"*":{"id":"61488","name":"*","chunks":[],"async":false}},"41290":{"*":{"id":"82704","name":"*","chunks":[],"async":false}},"52619":{"*":{"id":"65169","name":"*","chunks":[],"async":false}},"57150":{"*":{"id":"81170","name":"*","chunks":[],"async":false}},"63886":{"*":{"id":"89748","name":"*","chunks":[],"async":false}},"80622":{"*":{"id":"51384","name":"*","chunks":[],"async":false}},"81959":{"*":{"id":"23597","name":"*","chunks":[],"async":false}},"98924":{"*":{"id":"69576","name":"*","chunks":[],"async":false}}},"edgeRscModuleMapping":{}}