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.
- package/.next/BUILD_ID +1 -0
- package/.next/app-build-manifest.json +167 -0
- package/.next/app-path-routes-manifest.json +22 -0
- package/.next/build-manifest.json +33 -0
- package/.next/export-marker.json +6 -0
- package/.next/images-manifest.json +58 -0
- package/.next/next-minimal-server.js.nft.json +1 -0
- package/.next/next-server.js.nft.json +1 -0
- package/.next/package.json +1 -0
- package/.next/prerender-manifest.json +37 -0
- package/.next/react-loadable-manifest.json +1 -0
- package/.next/required-server-files.json +323 -0
- package/.next/routes-manifest.json +119 -0
- package/.next/server/app/_not-found/page.js +2 -0
- package/.next/server/app/_not-found/page.js.nft.json +1 -0
- package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -0
- package/.next/server/app/_not-found.html +1 -0
- package/.next/server/app/_not-found.meta +8 -0
- package/.next/server/app/_not-found.rsc +37 -0
- package/.next/server/app/api/analytics/route.js +1 -0
- package/.next/server/app/api/analytics/route.js.nft.json +1 -0
- package/.next/server/app/api/analytics/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/data/route.js +151 -0
- package/.next/server/app/api/data/route.js.nft.json +1 -0
- package/.next/server/app/api/data/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/export/route.js +1 -0
- package/.next/server/app/api/export/route.js.nft.json +1 -0
- package/.next/server/app/api/export/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/files/route.js +1 -0
- package/.next/server/app/api/files/route.js.nft.json +1 -0
- package/.next/server/app/api/files/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/prices/route.js +151 -0
- package/.next/server/app/api/prices/route.js.nft.json +1 -0
- package/.next/server/app/api/prices/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/scan/route.js +144 -0
- package/.next/server/app/api/scan/route.js.nft.json +1 -0
- package/.next/server/app/api/scan/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/settings/route.js +128 -0
- package/.next/server/app/api/settings/route.js.nft.json +1 -0
- package/.next/server/app/api/settings/route_client-reference-manifest.js +1 -0
- package/.next/server/app/debug/page.js +2 -0
- package/.next/server/app/debug/page.js.nft.json +1 -0
- package/.next/server/app/debug/page_client-reference-manifest.js +1 -0
- package/.next/server/app/diagnostics/page.js +2 -0
- package/.next/server/app/diagnostics/page.js.nft.json +1 -0
- package/.next/server/app/diagnostics/page_client-reference-manifest.js +1 -0
- package/.next/server/app/discovery/page.js +2 -0
- package/.next/server/app/discovery/page.js.nft.json +1 -0
- package/.next/server/app/discovery/page_client-reference-manifest.js +1 -0
- package/.next/server/app/models/page.js +2 -0
- package/.next/server/app/models/page.js.nft.json +1 -0
- package/.next/server/app/models/page_client-reference-manifest.js +1 -0
- package/.next/server/app/optimisation/page.js +2 -0
- package/.next/server/app/optimisation/page.js.nft.json +1 -0
- package/.next/server/app/optimisation/page_client-reference-manifest.js +1 -0
- package/.next/server/app/page.js +2 -0
- package/.next/server/app/page.js.nft.json +1 -0
- package/.next/server/app/page_client-reference-manifest.js +1 -0
- package/.next/server/app/parser-debug/page.js +2 -0
- package/.next/server/app/parser-debug/page.js.nft.json +1 -0
- package/.next/server/app/parser-debug/page_client-reference-manifest.js +1 -0
- package/.next/server/app/pricing/page.js +152 -0
- package/.next/server/app/pricing/page.js.nft.json +1 -0
- package/.next/server/app/pricing/page_client-reference-manifest.js +1 -0
- package/.next/server/app/projects/page.js +2 -0
- package/.next/server/app/projects/page.js.nft.json +1 -0
- package/.next/server/app/projects/page_client-reference-manifest.js +1 -0
- package/.next/server/app/sessions/page.js +2 -0
- package/.next/server/app/sessions/page.js.nft.json +1 -0
- package/.next/server/app/sessions/page_client-reference-manifest.js +1 -0
- package/.next/server/app/settings/page.js +129 -0
- package/.next/server/app/settings/page.js.nft.json +1 -0
- package/.next/server/app/settings/page_client-reference-manifest.js +1 -0
- package/.next/server/app/tools/page.js +2 -0
- package/.next/server/app/tools/page.js.nft.json +1 -0
- package/.next/server/app/tools/page_client-reference-manifest.js +1 -0
- package/.next/server/app-paths-manifest.json +22 -0
- package/.next/server/chunks/123.js +9 -0
- package/.next/server/chunks/153.js +1 -0
- package/.next/server/chunks/237.js +13 -0
- package/.next/server/chunks/331.js +22 -0
- package/.next/server/chunks/366.js +1 -0
- package/.next/server/chunks/444.js +267 -0
- package/.next/server/chunks/611.js +6 -0
- package/.next/server/chunks/692.js +1 -0
- package/.next/server/chunks/779.js +1 -0
- package/.next/server/chunks/815.js +1 -0
- package/.next/server/chunks/868.js +1 -0
- package/.next/server/functions-config-manifest.json +4 -0
- package/.next/server/interception-route-rewrite-manifest.js +1 -0
- package/.next/server/middleware-build-manifest.js +1 -0
- package/.next/server/middleware-manifest.json +6 -0
- package/.next/server/middleware-react-loadable-manifest.js +1 -0
- package/.next/server/next-font-manifest.js +1 -0
- package/.next/server/next-font-manifest.json +1 -0
- package/.next/server/pages/404.html +1 -0
- package/.next/server/pages/500.html +1 -0
- package/.next/server/pages/_app.js +1 -0
- package/.next/server/pages/_app.js.nft.json +1 -0
- package/.next/server/pages/_document.js +1 -0
- package/.next/server/pages/_document.js.nft.json +1 -0
- package/.next/server/pages/_error.js +19 -0
- package/.next/server/pages/_error.js.nft.json +1 -0
- package/.next/server/pages-manifest.json +6 -0
- package/.next/server/server-reference-manifest.js +1 -0
- package/.next/server/server-reference-manifest.json +1 -0
- package/.next/server/webpack-runtime.js +1 -0
- package/.next/static/Fh8usqK3dgfncUx9s3VR1/_buildManifest.js +1 -0
- package/.next/static/Fh8usqK3dgfncUx9s3VR1/_ssgManifest.js +1 -0
- package/.next/static/chunks/125-ab0f8db8f84c1166.js +1 -0
- package/.next/static/chunks/255-e881f48ae1d2333a.js +1 -0
- package/.next/static/chunks/4bd1b696-409494caf8c83275.js +1 -0
- package/.next/static/chunks/619-f072ac750404f9da.js +1 -0
- package/.next/static/chunks/850-8bc31e41590b5831.js +1 -0
- package/.next/static/chunks/938-23236de1c47554ea.js +1 -0
- package/.next/static/chunks/app/_not-found/page-6d75243350d9e0b5.js +1 -0
- package/.next/static/chunks/app/api/analytics/route-33d3f29973de91a4.js +1 -0
- package/.next/static/chunks/app/api/data/route-33d3f29973de91a4.js +1 -0
- package/.next/static/chunks/app/api/export/route-33d3f29973de91a4.js +1 -0
- package/.next/static/chunks/app/api/files/route-33d3f29973de91a4.js +1 -0
- package/.next/static/chunks/app/api/prices/route-33d3f29973de91a4.js +1 -0
- package/.next/static/chunks/app/api/scan/route-33d3f29973de91a4.js +1 -0
- package/.next/static/chunks/app/api/settings/route-33d3f29973de91a4.js +1 -0
- package/.next/static/chunks/app/debug/page-33d3f29973de91a4.js +1 -0
- package/.next/static/chunks/app/diagnostics/page-053a5e810a59e548.js +1 -0
- package/.next/static/chunks/app/discovery/page-33d3f29973de91a4.js +1 -0
- package/.next/static/chunks/app/layout-8942804176ff26f3.js +1 -0
- package/.next/static/chunks/app/models/page-c0acf74dd8197e01.js +1 -0
- package/.next/static/chunks/app/optimisation/page-33d3f29973de91a4.js +1 -0
- package/.next/static/chunks/app/page-b6886ec802c03cbf.js +1 -0
- package/.next/static/chunks/app/parser-debug/page-33d3f29973de91a4.js +1 -0
- package/.next/static/chunks/app/pricing/page-5e27b1ae27314539.js +1 -0
- package/.next/static/chunks/app/projects/page-b6886ec802c03cbf.js +1 -0
- package/.next/static/chunks/app/sessions/page-0abcdc88aac9dcaf.js +1 -0
- package/.next/static/chunks/app/settings/page-59fc80673f0750cd.js +1 -0
- package/.next/static/chunks/app/tools/page-c0acf74dd8197e01.js +1 -0
- package/.next/static/chunks/framework-3457b9c2619cdd96.js +1 -0
- package/.next/static/chunks/main-8744520a8a31e6ae.js +1 -0
- package/.next/static/chunks/main-app-e9ccddef393e28c3.js +1 -0
- package/.next/static/chunks/pages/_app-5addca2b3b969fde.js +1 -0
- package/.next/static/chunks/pages/_error-022e4ac7bbb9914f.js +1 -0
- package/.next/static/chunks/polyfills-42372ed130431b0a.js +1 -0
- package/.next/static/chunks/webpack-3fcacae817f3ffab.js +1 -0
- package/.next/static/css/366bb38b386229a5.css +3 -0
- package/LICENSE +21 -0
- package/README.md +216 -0
- package/app/api/analytics/route.ts +8 -0
- package/app/api/data/route.ts +9 -0
- package/app/api/export/route.ts +26 -0
- package/app/api/files/route.ts +8 -0
- package/app/api/prices/route.ts +33 -0
- package/app/api/scan/route.ts +15 -0
- package/app/api/settings/route.ts +25 -0
- package/app/debug/page.tsx +101 -0
- package/app/diagnostics/page.tsx +113 -0
- package/app/discovery/page.tsx +61 -0
- package/app/globals.css +51 -0
- package/app/layout.tsx +30 -0
- package/app/models/page.tsx +97 -0
- package/app/optimisation/page.tsx +67 -0
- package/app/page.tsx +164 -0
- package/app/parser-debug/page.tsx +57 -0
- package/app/pricing/page.tsx +18 -0
- package/app/projects/page.tsx +111 -0
- package/app/sessions/page.tsx +24 -0
- package/app/settings/page.tsx +26 -0
- package/app/tools/page.tsx +92 -0
- package/bin/tokentrace.js +316 -0
- package/components/charts/rank-bar-chart.tsx +69 -0
- package/components/charts/trend-chart.tsx +123 -0
- package/components/empty-state.tsx +14 -0
- package/components/pricing-settings.tsx +171 -0
- package/components/session-explorer.tsx +210 -0
- package/components/settings-panel.tsx +203 -0
- package/components/sidebar.tsx +88 -0
- package/components/ui/badge.tsx +30 -0
- package/components/ui/button.tsx +47 -0
- package/components/ui/card.tsx +22 -0
- package/components/ui/input.tsx +19 -0
- package/components/ui/label.tsx +6 -0
- package/components/ui/table.tsx +31 -0
- package/components/ui/textarea.tsx +18 -0
- package/components.json +16 -0
- package/dist/runtime/db-migrate.mjs +410 -0
- package/dist/runtime/db-seed.mjs +506 -0
- package/dist/runtime/reset.mjs +519 -0
- package/dist/runtime/scan.mjs +1817 -0
- package/fixtures/generic-jsonl/sample.jsonl +2 -0
- package/next.config.mjs +7 -0
- package/package.json +96 -0
- package/postcss.config.mjs +8 -0
- package/scripts/build-cli-runtime.mjs +40 -0
- package/scripts/db-migrate.ts +5 -0
- package/scripts/db-seed.ts +5 -0
- package/scripts/reset.ts +5 -0
- package/scripts/scan.ts +30 -0
- package/src/db/client.ts +32 -0
- package/src/db/migrate-core.ts +147 -0
- package/src/db/reset.ts +14 -0
- package/src/db/schema.ts +259 -0
- package/src/db/seed.ts +110 -0
- package/src/db/settings.ts +47 -0
- package/src/ingestion/adapters/claude-code.ts +78 -0
- package/src/ingestion/adapters/codex-cli.ts +82 -0
- package/src/ingestion/adapters/generic-json.ts +93 -0
- package/src/ingestion/adapters/generic-jsonl.ts +62 -0
- package/src/ingestion/adapters/generic-log.ts +144 -0
- package/src/ingestion/adapters/generic-records.ts +178 -0
- package/src/ingestion/adapters/helpers.ts +309 -0
- package/src/ingestion/adapters/index.ts +15 -0
- package/src/ingestion/discovery.ts +130 -0
- package/src/ingestion/persist.ts +283 -0
- package/src/ingestion/scan.ts +247 -0
- package/src/ingestion/types.ts +78 -0
- package/src/lib/analytics.ts +592 -0
- package/src/lib/cost.ts +62 -0
- package/src/lib/csv.ts +15 -0
- package/src/lib/format.ts +51 -0
- package/src/lib/ids.ts +23 -0
- package/src/lib/pricing.ts +86 -0
- package/src/lib/token-estimator.ts +24 -0
- package/src/lib/utils.ts +6 -0
- package/tailwind.config.ts +53 -0
- package/tsconfig.json +28 -0
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
(()=>{var a={};a.id=949,a.ids=[949],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")},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},11670:(a,b,c)=>{"use strict";c.d(b,{W:()=>i,t:()=>h});var d=c(48689),e=c(89820),f=c(74608);let g={customFolders:[],storeRawMessageContent:!1};function h(){var a;let b=e.db.select().from(f.settings).where((0,d.eq)(f.settings.key,"app")).get();return(a=b?.value)&&"object"==typeof a?{customFolders:Array.isArray(a.customFolders)?a.customFolders.filter(a=>"string"==typeof a):[],storeRawMessageContent:!!a.storeRawMessageContent}:g}function i(a){return e.db.insert(f.settings).values({key:"app",value:a,updatedAt:new Date}).onConflictDoUpdate({target:f.settings.key,set:{value:a,updatedAt:new Date}}).run(),a}},19121:a=>{"use strict";a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},24151:(a,b,c)=>{"use strict";c.r(b),c.d(b,{handler:()=>aA,patchFetch:()=>az,routeModule:()=>av,serverHooks:()=>ay,workAsyncStorage:()=>aw,workUnitAsyncStorage:()=>ax});var d={};c.r(d),c.d(d,{POST:()=>au,dynamic:()=>at});var e=c(95736),f=c(9117),g=c(4044),h=c(39326),i=c(32324),j=c(261),k=c(54290),l=c(85328),m=c(38928),n=c(46595),o=c(3421),p=c(17679),q=c(41681),r=c(63446),s=c(86439),t=c(51356),u=c(10641);let v=require("node:fs/promises");var w=c.n(v),x=c(76760),y=c.n(x),z=c(89820),A=c(11670),B=c(30727);function C(a){let b=(a??"").trim();return b?{tokens:Math.max(1,Math.ceil(b.length/4)),method:"chars-div-4"}:{tokens:0,method:"chars-div-4"}}function D(a,b=240){let c=(a??"").replace(/\s+/g," ").trim();return c.length<=b?c:`${c.slice(0,b-3)}...`}async function E(a,b=64e3){let c=await w().open(a,"r");try{let a=Buffer.alloc(b),{bytesRead:d}=await c.read(a,0,b,0);return a.subarray(0,d).toString("utf8")}finally{await c.close()}}async function F(a,b=0x1900000){if((await w().stat(a)).size>b)throw Error(`File is larger than ${Math.round(b/1024/1024)} MB.`);return w().readFile(a,"utf8")}function G(a){try{return JSON.parse(a)}catch{return null}}function H(a){return a&&"object"==typeof a&&!Array.isArray(a)?a:null}function I(a){return Array.isArray(a)?a:[]}function J(...a){for(let b of a)if("string"==typeof b&&b.trim())return b.trim();return null}function K(...a){for(let b of a){if("number"==typeof b&&Number.isFinite(b))return Math.max(0,Math.round(b));if("string"==typeof b&&b.trim()&&Number.isFinite(Number(b)))return Math.max(0,Math.round(Number(b)))}return null}function L(...a){for(let b of a){if(b instanceof Date&&!Number.isNaN(b.getTime()))return b;if("number"==typeof b&&Number.isFinite(b)){let a=new Date(b>1e10?b:1e3*b);if(!Number.isNaN(a.getTime()))return a}if("string"==typeof b&&b.trim()){let a=new Date(b);if(!Number.isNaN(a.getTime()))return a}}return null}function M(a){if("string"==typeof a)return a;if(Array.isArray(a))return a.map(a=>{if("string"==typeof a)return a;let b=H(a);return J(b?.text,b?.content,b?.input,b?.output)}).filter(Boolean).join("\n");let b=H(a);return b?J(b.text,b.content,b.value,b.input,b.output):null}function N(a){let b=H(a.message),c=H(a.payload),d=H(a.response);return M(a.text)??M(a.content)??M(a.prompt)??M(a.completion)??M(a.output)??M(b?.content)??M(c?.content)??M(c?.message)??M(d?.content)??null}function O(a){let b=H(a.message),c=H(a.payload),d=H(a.response)??H(c?.response),e=H(a.usage)??H(b?.usage)??H(c?.usage)??H(d?.usage)??H(a.token_usage)??H(a.tokens),f=H(e?.input_tokens_details)??H(e?.prompt_tokens_details)??H(e?.cache),g=H(e?.output_tokens_details)??H(e?.completion_tokens_details);return{inputTokens:K(e?.input_tokens,e?.prompt_tokens,e?.inputTokens,e?.promptTokens,a.input_tokens,a.prompt_tokens),outputTokens:K(e?.output_tokens,e?.completion_tokens,e?.outputTokens,e?.completionTokens,a.output_tokens,a.completion_tokens),cacheReadTokens:K(e?.cache_read_input_tokens,e?.cached_input_tokens,f?.cached_tokens,f?.cache_read_tokens,a.cache_read_tokens),cacheWriteTokens:K(e?.cache_creation_input_tokens,e?.cache_write_input_tokens,f?.cache_creation_tokens,f?.cache_write_tokens,a.cache_write_tokens),reasoningTokens:K(e?.reasoning_tokens,g?.reasoning_tokens,a.reasoning_tokens),totalTokens:K(e?.total_tokens,e?.totalTokens,e?.tokens,a.total_tokens,a.totalTokens)}}function P(a){let b=H(a.message),c=H(a.payload),d=H(a.response)??H(c?.response);return J(a.model,a.model_name,a.modelName,b?.model,c?.model,d?.model)}function Q(a){let b=H(a.message),c=J(a.role,a.type,b?.role);if(!c)return"unknown";let d=c.toLowerCase();return d.includes("assistant")||d.includes("completion")?"assistant":d.includes("user")||d.includes("prompt")?"user":d.includes("system")?"system":d.includes("tool")?"tool":"unknown"}function R(a){let b=H(a.message),c=H(a.payload),d=[...I(a.tool_calls),...I(a.toolCalls),...I(b?.tool_calls),...I(c?.tool_calls),...I(c?.toolCalls)],e=[];return d.forEach((a,b)=>{let c=H(a);if(!c)return;let d=J(c.name,c.tool,c.function_name,H(c.function)?.name);d&&e.push({externalId:J(c.id,c.call_id)??`${b}`,name:d,status:J(c.status,c.state),durationMs:K(c.duration_ms,c.durationMs),rawMetadata:c})}),e}let S=new Set(["content","text","prompt","completion","input","output","arguments","message"]);function T(a,b=0){return null==a?a:"string"==typeof a?D(a,160):"object"!=typeof a?a:b>3?"[nested metadata]":Array.isArray(a)?a.slice(0,5).map(a=>T(a,b+1)):Object.fromEntries(Object.entries(a).map(([a,c])=>S.has(a.toLowerCase())?[a,"[redacted: raw storage disabled]"]:[a,T(c,b+1)]))}function U(a){return y().basename(a).replace(/\.(jsonl|json|log|txt|md)$/i,"")}function V(a){let b=a.split(/\r?\n/).map(a=>a.trim()).filter(Boolean).slice(0,5);return b.length>0&&b.every(a=>null!==G(a))}function W(a){let b=a.defaultSessionId??U(a.file.path),c=new Map;return a.records.forEach((d,e)=>{let f=function(a,b){let c=H(a.message),d=H(a.payload);return J(a.session_id,a.sessionId,a.conversation_id,a.conversationId,a.thread_id,a.threadId,c?.session_id,c?.sessionId,d?.session_id,d?.sessionId,d?.conversation_id)??b}(d,b),g=c.get(f)??{interactions:[],projectPath:a.defaultProjectPath??null,title:null,timestamps:[],metadata:[]};g.projectPath=g.projectPath??function(a){let b=H(a.payload);return J(a.cwd,a.project_path,a.projectPath,a.repository,b?.cwd,b?.project_path,b?.projectPath)}(d),g.title=g.title??function(a){let b=H(a.payload);return J(a.title,a.summary,b?.title,b?.summary)}(d),g.metadata.push(d);let h=L(d.timestamp,d.created_at,d.createdAt,d.time,d.ts);if(h&&g.timestamps.push(h),function(a){let b=O(a);return!!(N(a)||Object.values(b).some(a=>"number"==typeof a&&a>0)||P(a)||R(a).length||"unknown"!==Q(a))}(d)){var i;let b="unknown"!==(i=function(a,b,c){let d=N(a),e=O(a),f=Object.values(e).some(a=>null!=a&&a>0),g=H(a.message),h=H(a.payload);return{externalId:b,timestamp:L(a.timestamp,a.created_at,a.createdAt,a.time,a.ts),role:Q(a),modelName:P(a),inputTokens:e.inputTokens,outputTokens:e.outputTokens,cacheReadTokens:e.cacheReadTokens,cacheWriteTokens:e.cacheWriteTokens,reasoningTokens:e.reasoningTokens,totalTokens:e.totalTokens,estimatedTokens:!1,tokenConfidence:f?"exact":d?"high-confidence estimate":"unknown",latencyMs:K(a.latency_ms,a.latencyMs,h?.latency_ms,g?.latency_ms),rawText:c?d:null,rawTextPreview:D(d),rawMetadata:c?a:T(a),toolCalls:R(a).map(a=>({...a,rawMetadata:c?a.rawMetadata:T(a.rawMetadata)}))}}(d,function(a,b){let c=H(a.message),d=H(a.payload),e=H(a.response)??H(d?.response);return J(a.uuid,a.id,a.message_id,a.messageId,c?.id,d?.id,e?.id)??`${b}`}(d,e),a.storeRawMessageContent)).role?i:(i.outputTokens??0)>0||(i.reasoningTokens??0)>0?{...i,role:"assistant"}:(i.inputTokens??0)>0?{...i,role:"user"}:i;g.interactions.push(b)}c.set(f,g)}),Array.from(c.entries()).filter(([,a])=>a.interactions.length>0).map(([b,c])=>{let d=[...c.timestamps].sort((a,b)=>a.getTime()-b.getTime());return{externalId:b,provider:a.provider,tool:a.tool,projectPath:c.projectPath,projectName:c.projectPath?void 0:"Unknown project",startedAt:d[0]??a.file.modifiedTime,endedAt:d[d.length-1]??a.file.modifiedTime,title:c.title??U(a.file.path),sourceFile:a.file.path,rawMetadata:{parserInputRecords:c.metadata.length},interactions:c.interactions}})}function X(a){let b=H(a.payload),c=H(b?.response)??H(a.response),d=H(c?.usage)??H(b?.usage)??H(a.usage),e=H(b?.message)??H(a.message),f=J(a.type,b?.type,e?.type);return{...a,...b,response:c,usage:d,model:J(a.model,b?.model,c?.model),role:J(a.role,b?.role,e?.role)??(f?.includes("response")?"assistant":void 0),content:a.content??b?.content??e?.content,cwd:a.cwd??b?.cwd,id:J(a.id,b?.id,c?.id,e?.id),timestamp:a.timestamp??b?.timestamp}}function Y(a,b){for(let c of b){let b=a.match(c);if(b?.[1])return K(b[1])}return null}function Z(a,b){for(let c of b){let b=a.match(c);if(b?.[1])return b[1].trim()}return null}let $=[{id:"claude-code",displayName:"Claude Code",async detect(a){let b=a.path.toLowerCase(),c=y().extname(a.path).toLowerCase();if(b.includes(`${y().sep}.claude${y().sep}`)&&[".jsonl",".json"].includes(c))return{detected:!0,confidence:.95,reason:"Path is inside a .claude directory"};if(![".jsonl",".json",".log"].includes(c))return{detected:!1,confidence:0};let d=await E(a.path);return/claude|anthropic|cache_creation_input_tokens|cache_read_input_tokens/i.test(d)?{detected:!0,confidence:.72,reason:"Claude/Anthropic fields found"}:{detected:!1,confidence:0}},async parse(a,b){let c=[],d=[],e=await F(a.path);if(V(e))e.split(/\r?\n/).forEach((a,b)=>{let e=a.trim();if(!e)return;let f=H(G(e));if(!f)return void c.push(`Line ${b+1} is not a JSON object.`);let g=H(f.message);d.push({...f,model:J(f.model,g?.model),role:f.type??g?.role??f.role})});else{let a=H(G(e));a&&d.push(a)}let f=function(a){let b=a.split(y().sep),c=b.lastIndexOf("projects");if(-1===c||!b[c+1])return null;let d=b[c+1];return d.startsWith("-")?d.replace(/-/g,y().sep):null}(a.path);return{sessions:W({file:a,records:d,provider:{id:"anthropic",name:"Anthropic",type:"llm-provider"},tool:{id:"claude-code",name:"Claude Code"},storeRawMessageContent:b.storeRawMessageContent,defaultProjectPath:f}),warnings:c,errors:d.length?[]:["No Claude Code JSON records were parsed."]}}},{id:"codex-cli",displayName:"Codex CLI",async detect(a){let b=a.path.toLowerCase(),c=y().extname(a.path).toLowerCase();if(b.includes(`${y().sep}.codex${y().sep}`)&&[".jsonl",".json",".log"].includes(c))return{detected:!0,confidence:.95,reason:"Path is inside a .codex directory"};if(![".jsonl",".json",".log"].includes(c))return{detected:!1,confidence:0};let d=await E(a.path);return/codex|openai|response\.completed|response_completed|turn_context/i.test(d)?{detected:!0,confidence:.72,reason:"Codex/OpenAI event fields found"}:{detected:!1,confidence:0}},async parse(a,b){let c=[],d=[],e=await F(a.path);if(V(e))e.split(/\r?\n/).forEach((a,b)=>{let e=a.trim();if(!e)return;let f=H(G(e));if(!f)return void c.push(`Line ${b+1} is not a JSON object.`);d.push(X(f))});else{let a=H(G(e));a&&d.push(X(a))}return{sessions:W({file:a,records:d,provider:{id:"openai",name:"OpenAI",type:"llm-provider"},tool:{id:"codex-cli",name:"Codex CLI"},storeRawMessageContent:b.storeRawMessageContent}),warnings:c,errors:d.length?[]:["No Codex CLI JSON records were parsed."]}}},{id:"generic-jsonl",displayName:"Generic JSONL",async detect(a){let b=y().extname(a.path).toLowerCase();return".jsonl"===b||a.path.endsWith(".jsonl.gz")?{detected:!0,confidence:.75,reason:"JSONL extension"}:[".log",".txt",""].includes(b)&&V(await E(a.path))?{detected:!0,confidence:.55,reason:"First lines are JSON objects"}:{detected:!1,confidence:0}},async parse(a,b){let c=[],d=[],e=await F(a.path),f=[];return e.split(/\r?\n/).forEach((a,b)=>{let d=a.trim();if(!d)return;let e=H(G(d));if(!e)return void c.push(`Line ${b+1} is not a JSON object.`);f.push(e)}),f.length||d.push("No JSON objects were parsed."),{sessions:W({file:a,records:f,provider:{id:"generic",name:"Generic",type:"local-log"},tool:{id:"generic-jsonl",name:"Generic JSONL"},storeRawMessageContent:b.storeRawMessageContent}),warnings:c,errors:d}}},{id:"generic-json",displayName:"Generic JSON",detect:async a=>".json"!==y().extname(a.path).toLowerCase()?{detected:!1,confidence:0}:G(await E(a.path))?{detected:!0,confidence:.65,reason:"JSON extension and valid JSON sample"}:{detected:!0,confidence:.35,reason:"JSON extension"},async parse(a,b){let c=[],d=function(a){let b=H(a);if(Array.isArray(a))return a.map(H).filter(a=>!!a);if(!b)return[];let c=I(b.sessions);if(c.length)return c.flatMap((a,b)=>{let c=H(a);if(!c)return[];let d=[...I(c.messages),...I(c.interactions),...I(c.events)];return d.length?d.map(H).filter(a=>!!a).map((a,d)=>({...a,session_id:c.session_id??c.sessionId??c.id??`session-${b}`,cwd:a.cwd??c.cwd??c.project_path,title:a.title??c.title,id:a.id??`${b}-${d}`})):[c]});let d=[...I(b.messages),...I(b.interactions),...I(b.events),...I(b.records)];return d.length?d.map(H).filter(a=>!!a):[b]}(G(await F(a.path)));return d.length||c.push("No usable JSON records were found."),{sessions:W({file:a,records:d,provider:{id:"generic",name:"Generic",type:"local-log"},tool:{id:"generic-json",name:"Generic JSON"},storeRawMessageContent:b.storeRawMessageContent}),warnings:[],errors:c}}},{id:"generic-log",displayName:"Generic Text Log",async detect(a){if(![".log",".txt",".md",""].includes(y().extname(a.path).toLowerCase()))return{detected:!1,confidence:0};let b=await E(a.path);return/(tokens?|prompt_tokens|completion_tokens|model|session|cost|\$[0-9.]+)/i.test(b)?{detected:!0,confidence:.45,reason:"Token/model/cost-like text found"}:{detected:!1,confidence:0}},async parse(a,b){let c=await F(a.path),d=c.split(/\r?\n/),e=[],f=[],g=U(a.path),h=null;if(d.forEach((c,d)=>{let f=Z(c,[/session(?:_id)?\s*[:=]\s*([^\s,]+)/i]);f&&(g=f),h=h??Z(c,[/(?:cwd|project|path)\s*[:=]\s*(.+)$/i]);let i=Z(c,[/model\s*[:=]\s*([A-Za-z0-9_.:/-]+)/i]),j=Y(c,[/(?:input_tokens|prompt_tokens|input tokens|prompt tokens)\s*[:=]\s*([0-9,]+)/i]),k=Y(c,[/(?:output_tokens|completion_tokens|output tokens|completion tokens)\s*[:=]\s*([0-9,]+)/i]),l=Y(c,[/(?:total_tokens|total tokens|tokens)\s*[:=]\s*([0-9,]+)/i]),m=Y(c,[/(?:reasoning_tokens|reasoning tokens)\s*[:=]\s*([0-9,]+)/i]),n=null!=j||null!=k||null!=l||null!=m;if(!i&&!n)return;let o=L(Z(c,[/^(\d{4}-\d{2}-\d{2}T[^\s]+)/,/^(\d{4}-\d{2}-\d{2} [^\]]+)/]))??a.modifiedTime,p=!n,q=p?C(c):{tokens:0},r=l??(j??0)+(k??0)+(m??0);e.push({externalId:`${g}-${d}`,timestamp:o,role:k||m?"assistant":"unknown",modelName:i,inputTokens:j??(p?q.tokens:0),outputTokens:k??0,reasoningTokens:m??0,cacheReadTokens:0,cacheWriteTokens:0,totalTokens:r||q.tokens,estimatedTokens:p,tokenConfidence:p?"low-confidence estimate":"high-confidence estimate",rawText:b.storeRawMessageContent?c:null,rawTextPreview:D(c),rawMetadata:{source:"generic-log-line",line:d+1},toolCalls:[]})}),!e.length&&c.trim()){let d=C(c);f.push("No structured token lines found; created one estimated file-level interaction."),e.push({externalId:`${g}-estimated-file`,timestamp:a.modifiedTime,role:"unknown",modelName:"unknown",inputTokens:d.tokens,outputTokens:0,reasoningTokens:0,cacheReadTokens:0,cacheWriteTokens:0,totalTokens:d.tokens,estimatedTokens:!0,tokenConfidence:"low-confidence estimate",rawText:b.storeRawMessageContent?c:null,rawTextPreview:D(c),rawMetadata:{source:"generic-log-file-estimate"},toolCalls:[]})}return{sessions:e.length?[{externalId:g,provider:{id:"generic",name:"Generic",type:"local-log"},tool:{id:"generic-log",name:"Generic Log"},projectPath:h,projectName:h?void 0:"Unknown project",startedAt:e[0]?.timestamp??a.modifiedTime,endedAt:e[e.length-1]?.timestamp??a.modifiedTime,title:U(a.path),sourceFile:a.path,rawMetadata:{parser:"generic-log"},interactions:e}]:[],warnings:f,errors:e.length?[]:["No text log records were inferred."]}}}],_=require("node:os");var aa=c.n(_);let ab=new Set([".jsonl",".json",".log",".txt",".md",".db",".sqlite",".sqlite3"]),ac=new Set(["node_modules",".git",".next","dist","out","build","coverage","Library","Applications"]);function ad(a){return"~"===a?aa().homedir():a.startsWith("~/")?y().join(aa().homedir(),a.slice(2)):a}async function ae(a){try{return await w().access(a),!0}catch{return!1}}async function af(a=[]){let b=aa().homedir(),c=process.env.TOKENTRACE_WORKDIR??process.cwd(),d=process.env.TOKENTRACE_APP_DATA_DIR,e=Array.from(new Set([y().join(b,".claude"),y().join(b,".config","claude"),y().join(b,".codex"),y().join(b,".config","codex"),y().join(b,".openai"),y().join(c,".claude"),y().join(c,".codex"),y().join(c,".openai"),y().join(c,".ai"),...d?[y().join(d,"wrapper-runs")]:[],...a.map(ad)].map(a=>y().resolve(a)))),f=[];for(let a of e)await ae(a)&&f.push(a);return f}async function ag(a,b,c,d){let e;if(!(b>c)){try{e=await w().readdir(a,{withFileTypes:!0})}catch{return}for(let f of e){let e=y().join(a,f.name);if(f.isDirectory()){if(ac.has(f.name))continue;await ag(e,b+1,c,d);continue}if(!f.isFile())continue;let g=y().extname(f.name).toLowerCase();if(ab.has(g))try{let a=await w().stat(e);if(a.size<=0||a.size>0x1900000)continue;d.push({path:e,modifiedTime:a.mtime,sizeBytes:a.size})}catch{continue}}}}async function ah(a){let b=[];for(let c of a){let a=await w().stat(c).catch(()=>null);if(a){if(a.isFile()){let d=y().extname(c).toLowerCase();ab.has(d)&&b.push({path:c,modifiedTime:a.mtime,sizeBytes:a.size});continue}a.isDirectory()&&await ag(c,0,12,b)}}let c=new Map;for(let a of b)c.set(a.path,a);return Array.from(c.values()).sort((a,b)=>a.path.localeCompare(b.path))}var ai=c(73024),aj=c.n(ai);function ak(a,b){return a&&null!=b?a*b/1e6:0}function al(a){return JSON.stringify(a??null)}function am(a,b){return z.F.prepare(a).run(...b).changes}function an(a,b){return z.F.prepare(`SELECT id, input_token_price, output_token_price, cached_input_token_price, currency
|
|
2
|
+
FROM models WHERE provider_id = ? AND lower(name) = lower(?)`).get(a,b)}function ao(a){return JSON.stringify(a??null)}async function ap(a){let b=await w().readFile(a.path);return{...a,hash:(0,B.sW)(b)}}async function aq(a){let b=[],c=[];for(let d of $)try{let c=await d.detect(a);c.detected&&b.push({adapter:d,confidence:c.confidence,reason:c.reason})}catch(a){c.push(`${d.displayName} detection failed: ${a instanceof Error?a.message:"Unknown error"}`)}return b.sort((a,b)=>b.confidence-a.confidence),{selected:b[0]??null,warnings:c}}function ar(a){let b=(0,B.dD)("scanfile",[a.scanRunId,a.file.path,a.file.hash,a.status,a.parser]);z.F.prepare(`INSERT INTO scan_files
|
|
3
|
+
(id, scan_run_id, path, modified_time, size_bytes, file_hash, parser, status,
|
|
4
|
+
records_imported, warnings, errors, raw_metadata)
|
|
5
|
+
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`).run(b,a.scanRunId,a.file.path,a.file.modifiedTime?.getTime()??null,a.file.sizeBytes,a.file.hash??null,a.parser,a.status,a.recordsImported,ao(a.warnings),ao(a.errors),ao(a.rawMetadata??{}))}async function as(a={}){let b=(0,A.t)(),c=a.folders??[],d=!1===a.includeDefaults?c.map(a=>y().resolve(ad(a))):await af([...b.customFolders,...c]),e=await ah(d),f=new Date,g=(0,B.dD)("scan",[f.getTime(),d.join("|")]),h=[],i=[],j=0,k=0;for(let c of(z.F.prepare("INSERT INTO scan_runs (id, started_at, warnings, errors) VALUES (?, ?, '[]', '[]')").run(g,f.getTime()),e)){k+=1;let d=c,e=[],f=[];try{var l;if(d=await ap(c),!a.force&&(l=d).hash&&z.F.prepare("SELECT id FROM scan_files WHERE path = ? AND file_hash = ? AND status = 'imported' LIMIT 1").get(l.path,l.hash)){ar({scanRunId:g,file:d,parser:null,status:"skipped_duplicate",recordsImported:0,warnings:["File hash already imported. Use force rescan to parse again."],errors:[]});continue}let h=await aq(d);if(e.push(...h.warnings),!h.selected){ar({scanRunId:g,file:d,parser:null,status:"skipped_unknown",recordsImported:0,warnings:e,errors:["No parser detected a compatible format."]});continue}let i=await h.selected.adapter.parse(d,{storeRawMessageContent:a.storeRawMessageContent??b.storeRawMessageContent});e.push(...i.warnings),f.push(...i.errors);let k=function(a){let b=0,c=0,d=0;return z.F.transaction(a=>{for(let f of a){var e;am("INSERT OR IGNORE INTO providers (id, name, type) VALUES (?, ?, ?)",[f.provider.id,f.provider.name,f.provider.type]),am("INSERT OR IGNORE INTO tools (id, provider_id, name) VALUES (?, ?, ?)",[f.tool.id,f.provider.id,f.tool.name]);let a=(e=f.tool.id,z.F.prepare("SELECT provider_id FROM tools WHERE id = ?").get(e))?.provider_id??f.provider.id,g=function(a){let b=a.projectPath||function(a){let b=aj().statSync(a).isDirectory()?a:y().dirname(a),c=process.env.HOME??y().parse(b).root;for(;b!==y().dirname(b);){if(aj().existsSync(y().join(b,".git"))||aj().existsSync(y().join(b,"package.json"))||aj().existsSync(y().join(b,"pyproject.toml"))||aj().existsSync(y().join(b,"Cargo.toml")))return b;if(b===c)break;b=y().dirname(b)}return y().dirname(a)}(a.sourceFile),c=y().resolve(b),d=a.projectName||y().basename(c)||"Unknown project",e=(0,B.dD)("project",[c]);return am("INSERT OR IGNORE INTO projects (id, name, path) VALUES (?, ?, ?)",[e,d,c]),e}(f),h=(0,B.dD)("session-source",[f.tool.id,f.sourceFile,f.externalId??f.title]),i=(0,B.dD)("session",[h]),j=am(`INSERT OR IGNORE INTO sessions
|
|
6
|
+
(id, source_id, tool_id, project_id, started_at, ended_at, title, source_file, raw_metadata)
|
|
7
|
+
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`,[i,h,f.tool.id,g,f.startedAt?.getTime()??null,f.endedAt?.getTime()??null,f.title??null,f.sourceFile,al(f.rawMetadata)]);for(let e of(b+=j,f.interactions)){let b=function(a,b){let c=b?.trim()||"unknown",d=an(a,c);if(d)return d;let e=(0,B.dD)("model",[a,c]);return am(`INSERT OR IGNORE INTO models
|
|
8
|
+
(id, provider_id, name, input_token_price, output_token_price, cached_input_token_price, currency, raw_metadata)
|
|
9
|
+
VALUES (?, ?, ?, NULL, NULL, NULL, 'USD', ?)`,[e,a,c,al({note:"Observed during import. Add prices on the Pricing page to enable cost calculation."})]),an(a,c)??{id:e,input_token_price:null,output_token_price:null,cached_input_token_price:null,currency:"USD"}}(a,e.modelName),g=function(a){let b=[a.inputTokens,a.outputTokens,a.cacheReadTokens,a.cacheWriteTokens,a.reasoningTokens,a.totalTokens].some(a=>null!=a&&a>0),c=C(a.rawText||a.rawTextPreview||"").tokens,d=!!(a.estimatedTokens||!b),e=a.tokenConfidence??"unknown",f=a.inputTokens??0,g=a.outputTokens??0,h=a.cacheReadTokens??0,i=a.cacheWriteTokens??0,j=a.reasoningTokens??0;!b&&c>0&&("assistant"===a.role?g=c:f=c,"unknown"===e&&(e="low-confidence estimate"));let k=f+g+h+i+j;return{inputTokens:f,outputTokens:g,cacheReadTokens:h,cacheWriteTokens:i,reasoningTokens:j,totalTokens:Math.max(a.totalTokens??0,k),estimatedTokens:d,tokenConfidence:e}}(e),j=function(a,b){if(!b||null==b.inputTokenPrice||null==b.outputTokenPrice)return{amount:null,currency:b?.currency??"USD",estimated:a.estimatedTokens,status:"unknown",explanation:"No complete model pricing is configured."};let c=ak(a.inputTokens,b.inputTokenPrice),d=ak(a.outputTokens+a.reasoningTokens,b.outputTokenPrice),e=ak(a.cacheReadTokens,b.cachedInputTokenPrice??b.inputTokenPrice),f=ak(a.cacheWriteTokens,b.inputTokenPrice);return{amount:c+d+e+f,currency:b.currency,estimated:a.estimatedTokens,status:a.estimatedTokens?"estimated":"exact",explanation:a.estimatedTokens?"Token counts were estimated before applying configured prices.":"Exact token counts were multiplied by configured prices."}}(g,{inputTokenPrice:b.input_token_price,outputTokenPrice:b.output_token_price,cachedInputTokenPrice:b.cached_input_token_price,currency:b.currency}),k=(0,B.dD)("interaction-source",[h,e.externalId,e.timestamp?.getTime(),e.role,e.rawTextPreview]),l=(0,B.dD)("interaction",[k]),m=am(`INSERT OR IGNORE INTO interactions
|
|
10
|
+
(id, source_id, session_id, timestamp, role, model_id, input_tokens, output_tokens,
|
|
11
|
+
cache_read_tokens, cache_write_tokens, reasoning_tokens, total_tokens, estimated_tokens,
|
|
12
|
+
token_confidence, cost, cost_estimated, latency_ms, raw_text_preview, raw_text, raw_metadata)
|
|
13
|
+
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`,[l,k,i,e.timestamp?.getTime()??f.startedAt?.getTime()??null,e.role,b.id,g.inputTokens,g.outputTokens,g.cacheReadTokens,g.cacheWriteTokens,g.reasoningTokens,g.totalTokens,+!!g.estimatedTokens,g.tokenConfidence,j.amount,+("estimated"===j.status),e.latencyMs??null,D(e.rawTextPreview||e.rawText),e.rawText??null,al({...e.rawMetadata??{},costStatus:j.status,costExplanation:j.explanation})]);for(let[a,b]of(c+=m,(e.toolCalls??[]).entries())){let c=(0,B.dD)("toolcall",[l,b.externalId??a,b.name]);d+=am(`INSERT OR IGNORE INTO tool_calls
|
|
14
|
+
(id, interaction_id, name, status, duration_ms, raw_metadata)
|
|
15
|
+
VALUES (?, ?, ?, ?, ?, ?)`,[c,l,b.name,b.status??null,b.durationMs??null,al(b.rawMetadata)])}}}})(a),{sessionsImported:b,interactionsImported:c,toolCallsImported:d,warnings:[]}}(i.sessions),m=i.sessions.flatMap(a=>a.interactions).reduce((a,b)=>{let c=b.tokenConfidence??"unknown";return a[c]=(a[c]??0)+1,a},{});e.push(...k.warnings),j+=k.interactionsImported,ar({scanRunId:g,file:d,parser:h.selected.adapter.id,status:f.length?"imported_with_errors":"imported",recordsImported:k.interactionsImported,warnings:e,errors:f,rawMetadata:{confidence:h.selected.confidence,reason:h.selected.reason,tokenConfidence:m,sessionsParsed:i.sessions.length,sessionsImported:k.sessionsImported,toolCallsImported:k.toolCallsImported}})}catch(b){let a=b instanceof Error?b.message:"Unknown scan error";f.push(a),ar({scanRunId:g,file:d,parser:null,status:"failed",recordsImported:0,warnings:e,errors:f})}h.push(...e.map(a=>`${c.path}: ${a}`)),i.push(...f.map(a=>`${c.path}: ${a}`))}return z.F.prepare(`UPDATE scan_runs
|
|
16
|
+
SET completed_at = ?, files_scanned = ?, records_imported = ?, warnings = ?, errors = ?
|
|
17
|
+
WHERE id = ?`).run(Date.now(),k,j,ao(h),ao(i),g),{scanRunId:g,filesScanned:k,recordsImported:j,warnings:h,errors:i}}let at="force-dynamic";async function au(a){let b=await a.json().catch(()=>({})),c=await as({folders:Array.isArray(b.folders)?b.folders.filter(a=>"string"==typeof a):void 0,force:!!b.force});return u.NextResponse.json(c)}let av=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/scan/route",pathname:"/api/scan",filename:"route",bundlePath:"app/api/scan/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"/Users/abhyoh/Documents/Brand/Apps/token-usage/app/api/scan/route.ts",nextConfigOutput:"",userland:d}),{workAsyncStorage:aw,workUnitAsyncStorage:ax,serverHooks:ay}=av;function az(){return(0,g.patchFetch)({workAsyncStorage:aw,workUnitAsyncStorage:ax})}async function aA(a,b,c){var d;let e="/api/scan/route";"/index"===e&&(e="/");let g=await av.prepare(a,b,{srcPage:e,multiZoneDraftMode:!1});if(!g)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:u,params:v,nextConfig:w,isDraftMode:x,prerenderManifest:y,routerServerContext:z,isOnDemandRevalidate:A,revalidateOnlyGenerated:B,resolvedPathname:C}=g,D=(0,j.normalizeAppPath)(e),E=!!(y.dynamicRoutes[D]||y.routes[C]);if(E&&!x){let a=!!y.routes[C],b=y.dynamicRoutes[D];if(b&&!1===b.fallback&&!a)throw new s.NoFallbackError}let F=null;!E||av.isDev||x||(F="/index"===(F=C)?"/":F);let G=!0===av.isDev||!E,H=E&&!G,I=a.method||"GET",J=(0,i.getTracer)(),K=J.getActiveScopeSpan(),L={params:v,prerenderManifest:y,renderOpts:{experimental:{cacheComponents:!!w.experimental.cacheComponents,authInterrupts:!!w.experimental.authInterrupts},supportsDynamicResponse:G,incrementalCache:(0,h.getRequestMeta)(a,"incrementalCache"),cacheLifeProfiles:null==(d=w.experimental)?void 0:d.cacheLife,isRevalidate:H,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d)=>av.onRequestError(a,b,d,z)},sharedContext:{buildId:u}},M=new k.NodeNextRequest(a),N=new k.NodeNextResponse(b),O=l.NextRequestAdapter.fromNodeNextRequest(M,(0,l.signalFromNodeResponse)(b));try{let d=async c=>av.handle(O,L).finally(()=>{if(!c)return;c.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let d=J.getRootSpanAttributes();if(!d)return;if(d.get("next.span_type")!==m.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=`${I} ${e}`;c.setAttributes({"next.route":e,"http.route":e,"next.span_name":a}),c.updateName(a)}else c.updateName(`${I} ${a.url}`)}),g=async g=>{var i,j;let k=async({previousCacheEntry:f})=>{try{if(!(0,h.getRequestMeta)(a,"minimalMode")&&A&&B&&!f)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let e=await d(g);a.fetchMetrics=L.renderOpts.fetchMetrics;let i=L.renderOpts.pendingWaitUntil;i&&c.waitUntil&&(c.waitUntil(i),i=void 0);let j=L.renderOpts.collectedTags;if(!E)return await (0,o.I)(M,N,e,L.renderOpts.pendingWaitUntil),null;{let a=await e.blob(),b=(0,p.toNodeOutgoingHttpHeaders)(e.headers);j&&(b[r.NEXT_CACHE_TAGS_HEADER]=j),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==L.renderOpts.collectedRevalidate&&!(L.renderOpts.collectedRevalidate>=r.INFINITE_CACHE)&&L.renderOpts.collectedRevalidate,d=void 0===L.renderOpts.collectedExpire||L.renderOpts.collectedExpire>=r.INFINITE_CACHE?void 0:L.renderOpts.collectedExpire;return{value:{kind:t.CachedRouteKind.APP_ROUTE,status:e.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:d}}}}catch(b){throw(null==f?void 0:f.isStale)&&await av.onRequestError(a,b,{routerKind:"App Router",routePath:e,routeType:"route",revalidateReason:(0,n.c)({isRevalidate:H,isOnDemandRevalidate:A})},z),b}},l=await av.handleResponse({req:a,nextConfig:w,cacheKey:F,routeKind:f.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:y,isRoutePPREnabled:!1,isOnDemandRevalidate:A,revalidateOnlyGenerated:B,responseGenerator:k,waitUntil:c.waitUntil});if(!E)return null;if((null==l||null==(i=l.value)?void 0:i.kind)!==t.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==l||null==(j=l.value)?void 0:j.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});(0,h.getRequestMeta)(a,"minimalMode")||b.setHeader("x-nextjs-cache",A?"REVALIDATED":l.isMiss?"MISS":l.isStale?"STALE":"HIT"),x&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let m=(0,p.fromNodeOutgoingHttpHeaders)(l.value.headers);return(0,h.getRequestMeta)(a,"minimalMode")&&E||m.delete(r.NEXT_CACHE_TAGS_HEADER),!l.cacheControl||b.getHeader("Cache-Control")||m.get("Cache-Control")||m.set("Cache-Control",(0,q.getCacheControlHeader)(l.cacheControl)),await (0,o.I)(M,N,new Response(l.value.body,{headers:m,status:l.value.status||200})),null};K?await g(K):await J.withPropagatedContext(a.headers,()=>J.trace(m.BaseServerSpan.handleRequest,{spanName:`${I} ${a.url}`,kind:i.SpanKind.SERVER,attributes:{"http.method":I,"http.target":a.url}},g))}catch(b){if(b instanceof s.NoFallbackError||await av.onRequestError(a,b,{routerKind:"App Router",routePath:D,routeType:"route",revalidateReason:(0,n.c)({isRevalidate:H,isOnDemandRevalidate:A})}),E)throw b;return await (0,o.I)(M,N,new Response(null,{status:500})),null}}},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},30727:(a,b,c)=>{"use strict";c.d(b,{sW:()=>g,dD:()=>f});let d=require("node:crypto");var e=c.n(d);function f(a,b){let c=e().createHash("sha1").update(b.map(a=>String(a??"")).join("\x1f")).digest("hex").slice(0,24);return`${a}_${c}`}function g(a){return e().createHash("sha256").update(a).digest("hex")}},44870:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},73024:a=>{"use strict";a.exports=require("node:fs")},73136:a=>{"use strict";a.exports=require("node:url")},74608:(a,b,c)=>{"use strict";c.r(b),c.d(b,{interactionRelations:()=>z,interactions:()=>p,modelRelations:()=>w,models:()=>m,projectRelations:()=>x,projects:()=>n,providerRelations:()=>u,providers:()=>k,scanFiles:()=>s,scanRuns:()=>r,sessionRelations:()=>y,sessions:()=>o,settings:()=>t,toolCalls:()=>q,toolRelations:()=>v,tools:()=>l});var d=c(85766),e=c(47543),f=c(95417),g=c(58040),h=c(20377),i=c(4035),j=c(19643);let k=(0,f.D)("providers",{id:(0,g.Qq)("id").primaryKey(),name:(0,g.Qq)("name").notNull(),type:(0,g.Qq)("type").notNull(),createdAt:(0,h.nd)("created_at",{mode:"timestamp_ms"}).notNull().$defaultFn(()=>new Date)}),l=(0,f.D)("tools",{id:(0,g.Qq)("id").primaryKey(),providerId:(0,g.Qq)("provider_id").notNull().references(()=>k.id,{onDelete:"cascade"}),name:(0,g.Qq)("name").notNull(),createdAt:(0,h.nd)("created_at",{mode:"timestamp_ms"}).notNull().$defaultFn(()=>new Date)},a=>({providerNameIdx:(0,i.GL)("tools_provider_name_idx").on(a.providerId,a.name)})),m=(0,f.D)("models",{id:(0,g.Qq)("id").primaryKey(),providerId:(0,g.Qq)("provider_id").notNull().references(()=>k.id,{onDelete:"cascade"}),name:(0,g.Qq)("name").notNull(),inputTokenPrice:(0,j.x)("input_token_price"),outputTokenPrice:(0,j.x)("output_token_price"),cachedInputTokenPrice:(0,j.x)("cached_input_token_price"),currency:(0,g.Qq)("currency").notNull().default("USD"),effectiveFrom:(0,h.nd)("effective_from",{mode:"timestamp_ms"}),rawMetadata:(0,g.Qq)("raw_metadata",{mode:"json"}).$type()},a=>({providerModelIdx:(0,i.GL)("models_provider_name_idx").on(a.providerId,a.name)})),n=(0,f.D)("projects",{id:(0,g.Qq)("id").primaryKey(),name:(0,g.Qq)("name").notNull(),path:(0,g.Qq)("path").notNull(),createdAt:(0,h.nd)("created_at",{mode:"timestamp_ms"}).notNull().$defaultFn(()=>new Date)},a=>({pathIdx:(0,i.GL)("projects_path_idx").on(a.path)})),o=(0,f.D)("sessions",{id:(0,g.Qq)("id").primaryKey(),sourceId:(0,g.Qq)("source_id").notNull(),toolId:(0,g.Qq)("tool_id").notNull().references(()=>l.id,{onDelete:"cascade"}),projectId:(0,g.Qq)("project_id").references(()=>n.id,{onDelete:"set null"}),startedAt:(0,h.nd)("started_at",{mode:"timestamp_ms"}),endedAt:(0,h.nd)("ended_at",{mode:"timestamp_ms"}),title:(0,g.Qq)("title"),sourceFile:(0,g.Qq)("source_file").notNull(),rawMetadata:(0,g.Qq)("raw_metadata",{mode:"json"}).$type()},a=>({sourceIdx:(0,i.GL)("sessions_source_id_idx").on(a.sourceId),toolIdx:(0,i.Pe)("sessions_tool_idx").on(a.toolId),projectIdx:(0,i.Pe)("sessions_project_idx").on(a.projectId),startedIdx:(0,i.Pe)("sessions_started_idx").on(a.startedAt)})),p=(0,f.D)("interactions",{id:(0,g.Qq)("id").primaryKey(),sourceId:(0,g.Qq)("source_id").notNull(),sessionId:(0,g.Qq)("session_id").notNull().references(()=>o.id,{onDelete:"cascade"}),timestamp:(0,h.nd)("timestamp",{mode:"timestamp_ms"}),role:(0,g.Qq)("role").notNull(),modelId:(0,g.Qq)("model_id").references(()=>m.id,{onDelete:"set null"}),inputTokens:(0,h.nd)("input_tokens").notNull().default(0),outputTokens:(0,h.nd)("output_tokens").notNull().default(0),cacheReadTokens:(0,h.nd)("cache_read_tokens").notNull().default(0),cacheWriteTokens:(0,h.nd)("cache_write_tokens").notNull().default(0),reasoningTokens:(0,h.nd)("reasoning_tokens").notNull().default(0),totalTokens:(0,h.nd)("total_tokens").notNull().default(0),estimatedTokens:(0,h.nd)("estimated_tokens",{mode:"boolean"}).notNull().default(!1),tokenConfidence:(0,g.Qq)("token_confidence").notNull().default("unknown"),cost:(0,j.x)("cost"),costEstimated:(0,h.nd)("cost_estimated",{mode:"boolean"}).notNull().default(!1),latencyMs:(0,h.nd)("latency_ms"),rawTextPreview:(0,g.Qq)("raw_text_preview"),rawText:(0,g.Qq)("raw_text"),rawMetadata:(0,g.Qq)("raw_metadata",{mode:"json"}).$type()},a=>({sourceIdx:(0,i.GL)("interactions_source_id_idx").on(a.sourceId),sessionIdx:(0,i.Pe)("interactions_session_idx").on(a.sessionId),modelIdx:(0,i.Pe)("interactions_model_idx").on(a.modelId),timestampIdx:(0,i.Pe)("interactions_timestamp_idx").on(a.timestamp)})),q=(0,f.D)("tool_calls",{id:(0,g.Qq)("id").primaryKey(),interactionId:(0,g.Qq)("interaction_id").notNull().references(()=>p.id,{onDelete:"cascade"}),name:(0,g.Qq)("name").notNull(),status:(0,g.Qq)("status"),durationMs:(0,h.nd)("duration_ms"),rawMetadata:(0,g.Qq)("raw_metadata",{mode:"json"}).$type()},a=>({interactionIdx:(0,i.Pe)("tool_calls_interaction_idx").on(a.interactionId)})),r=(0,f.D)("scan_runs",{id:(0,g.Qq)("id").primaryKey(),startedAt:(0,h.nd)("started_at",{mode:"timestamp_ms"}).notNull(),completedAt:(0,h.nd)("completed_at",{mode:"timestamp_ms"}),filesScanned:(0,h.nd)("files_scanned").notNull().default(0),recordsImported:(0,h.nd)("records_imported").notNull().default(0),warnings:(0,g.Qq)("warnings",{mode:"json"}).$type().notNull().default((0,d.ll)`'[]'`),errors:(0,g.Qq)("errors",{mode:"json"}).$type().notNull().default((0,d.ll)`'[]'`)}),s=(0,f.D)("scan_files",{id:(0,g.Qq)("id").primaryKey(),scanRunId:(0,g.Qq)("scan_run_id").notNull().references(()=>r.id,{onDelete:"cascade"}),path:(0,g.Qq)("path").notNull(),modifiedTime:(0,h.nd)("modified_time",{mode:"timestamp_ms"}),sizeBytes:(0,h.nd)("size_bytes").notNull().default(0),fileHash:(0,g.Qq)("file_hash"),parser:(0,g.Qq)("parser"),status:(0,g.Qq)("status").notNull(),recordsImported:(0,h.nd)("records_imported").notNull().default(0),warnings:(0,g.Qq)("warnings",{mode:"json"}).$type().notNull().default((0,d.ll)`'[]'`),errors:(0,g.Qq)("errors",{mode:"json"}).$type().notNull().default((0,d.ll)`'[]'`),rawMetadata:(0,g.Qq)("raw_metadata",{mode:"json"}).$type()},a=>({pathHashIdx:(0,i.Pe)("scan_files_path_hash_idx").on(a.path,a.fileHash),scanRunIdx:(0,i.Pe)("scan_files_run_idx").on(a.scanRunId)})),t=(0,f.D)("settings",{key:(0,g.Qq)("key").primaryKey(),value:(0,g.Qq)("value",{mode:"json"}).$type().notNull(),updatedAt:(0,h.nd)("updated_at",{mode:"timestamp_ms"}).notNull().$defaultFn(()=>new Date)}),u=(0,e.K1)(k,({many:a})=>({tools:a(l),models:a(m)})),v=(0,e.K1)(l,({one:a,many:b})=>({provider:a(k,{fields:[l.providerId],references:[k.id]}),sessions:b(o)})),w=(0,e.K1)(m,({one:a,many:b})=>({provider:a(k,{fields:[m.providerId],references:[k.id]}),interactions:b(p)})),x=(0,e.K1)(n,({many:a})=>({sessions:a(o)})),y=(0,e.K1)(o,({one:a,many:b})=>({tool:a(l,{fields:[o.toolId],references:[l.id]}),project:a(n,{fields:[o.projectId],references:[n.id]}),interactions:b(p)})),z=(0,e.K1)(p,({one:a,many:b})=>({session:a(o,{fields:[p.sessionId],references:[o.id]}),model:a(m,{fields:[p.modelId],references:[m.id]}),toolCalls:b(q)}))},76760:a=>{"use strict";a.exports=require("node:path")},78335:()=>{},86439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},87550:a=>{"use strict";a.exports=require("better-sqlite3")},89820:(a,b,c)=>{"use strict";c.d(b,{db:()=>q,X:()=>r,F:()=>p});var d=c(73024),e=c.n(d),f=c(76760),g=c.n(f),h=c(73136),i=c(87550),j=c.n(i),k=c(64947);let l=`
|
|
18
|
+
PRAGMA journal_mode = WAL;
|
|
19
|
+
PRAGMA foreign_keys = ON;
|
|
20
|
+
|
|
21
|
+
CREATE TABLE IF NOT EXISTS providers (
|
|
22
|
+
id TEXT PRIMARY KEY,
|
|
23
|
+
name TEXT NOT NULL,
|
|
24
|
+
type TEXT NOT NULL,
|
|
25
|
+
created_at INTEGER NOT NULL DEFAULT (unixepoch() * 1000)
|
|
26
|
+
);
|
|
27
|
+
|
|
28
|
+
CREATE TABLE IF NOT EXISTS tools (
|
|
29
|
+
id TEXT PRIMARY KEY,
|
|
30
|
+
provider_id TEXT NOT NULL REFERENCES providers(id) ON DELETE CASCADE,
|
|
31
|
+
name TEXT NOT NULL,
|
|
32
|
+
created_at INTEGER NOT NULL DEFAULT (unixepoch() * 1000)
|
|
33
|
+
);
|
|
34
|
+
CREATE UNIQUE INDEX IF NOT EXISTS tools_provider_name_idx ON tools(provider_id, name);
|
|
35
|
+
|
|
36
|
+
CREATE TABLE IF NOT EXISTS models (
|
|
37
|
+
id TEXT PRIMARY KEY,
|
|
38
|
+
provider_id TEXT NOT NULL REFERENCES providers(id) ON DELETE CASCADE,
|
|
39
|
+
name TEXT NOT NULL,
|
|
40
|
+
input_token_price REAL,
|
|
41
|
+
output_token_price REAL,
|
|
42
|
+
cached_input_token_price REAL,
|
|
43
|
+
currency TEXT NOT NULL DEFAULT 'USD',
|
|
44
|
+
effective_from INTEGER,
|
|
45
|
+
raw_metadata TEXT
|
|
46
|
+
);
|
|
47
|
+
CREATE UNIQUE INDEX IF NOT EXISTS models_provider_name_idx ON models(provider_id, name);
|
|
48
|
+
|
|
49
|
+
CREATE TABLE IF NOT EXISTS projects (
|
|
50
|
+
id TEXT PRIMARY KEY,
|
|
51
|
+
name TEXT NOT NULL,
|
|
52
|
+
path TEXT NOT NULL,
|
|
53
|
+
created_at INTEGER NOT NULL DEFAULT (unixepoch() * 1000)
|
|
54
|
+
);
|
|
55
|
+
CREATE UNIQUE INDEX IF NOT EXISTS projects_path_idx ON projects(path);
|
|
56
|
+
|
|
57
|
+
CREATE TABLE IF NOT EXISTS sessions (
|
|
58
|
+
id TEXT PRIMARY KEY,
|
|
59
|
+
source_id TEXT NOT NULL,
|
|
60
|
+
tool_id TEXT NOT NULL REFERENCES tools(id) ON DELETE CASCADE,
|
|
61
|
+
project_id TEXT REFERENCES projects(id) ON DELETE SET NULL,
|
|
62
|
+
started_at INTEGER,
|
|
63
|
+
ended_at INTEGER,
|
|
64
|
+
title TEXT,
|
|
65
|
+
source_file TEXT NOT NULL,
|
|
66
|
+
raw_metadata TEXT
|
|
67
|
+
);
|
|
68
|
+
CREATE UNIQUE INDEX IF NOT EXISTS sessions_source_id_idx ON sessions(source_id);
|
|
69
|
+
CREATE INDEX IF NOT EXISTS sessions_tool_idx ON sessions(tool_id);
|
|
70
|
+
CREATE INDEX IF NOT EXISTS sessions_project_idx ON sessions(project_id);
|
|
71
|
+
CREATE INDEX IF NOT EXISTS sessions_started_idx ON sessions(started_at);
|
|
72
|
+
|
|
73
|
+
CREATE TABLE IF NOT EXISTS interactions (
|
|
74
|
+
id TEXT PRIMARY KEY,
|
|
75
|
+
source_id TEXT NOT NULL,
|
|
76
|
+
session_id TEXT NOT NULL REFERENCES sessions(id) ON DELETE CASCADE,
|
|
77
|
+
timestamp INTEGER,
|
|
78
|
+
role TEXT NOT NULL,
|
|
79
|
+
model_id TEXT REFERENCES models(id) ON DELETE SET NULL,
|
|
80
|
+
input_tokens INTEGER NOT NULL DEFAULT 0,
|
|
81
|
+
output_tokens INTEGER NOT NULL DEFAULT 0,
|
|
82
|
+
cache_read_tokens INTEGER NOT NULL DEFAULT 0,
|
|
83
|
+
cache_write_tokens INTEGER NOT NULL DEFAULT 0,
|
|
84
|
+
reasoning_tokens INTEGER NOT NULL DEFAULT 0,
|
|
85
|
+
total_tokens INTEGER NOT NULL DEFAULT 0,
|
|
86
|
+
estimated_tokens INTEGER NOT NULL DEFAULT 0,
|
|
87
|
+
token_confidence TEXT NOT NULL DEFAULT 'unknown',
|
|
88
|
+
cost REAL,
|
|
89
|
+
cost_estimated INTEGER NOT NULL DEFAULT 0,
|
|
90
|
+
latency_ms INTEGER,
|
|
91
|
+
raw_text_preview TEXT,
|
|
92
|
+
raw_text TEXT,
|
|
93
|
+
raw_metadata TEXT
|
|
94
|
+
);
|
|
95
|
+
CREATE UNIQUE INDEX IF NOT EXISTS interactions_source_id_idx ON interactions(source_id);
|
|
96
|
+
CREATE INDEX IF NOT EXISTS interactions_session_idx ON interactions(session_id);
|
|
97
|
+
CREATE INDEX IF NOT EXISTS interactions_model_idx ON interactions(model_id);
|
|
98
|
+
CREATE INDEX IF NOT EXISTS interactions_timestamp_idx ON interactions(timestamp);
|
|
99
|
+
|
|
100
|
+
PRAGMA user_version;
|
|
101
|
+
|
|
102
|
+
CREATE TABLE IF NOT EXISTS tool_calls (
|
|
103
|
+
id TEXT PRIMARY KEY,
|
|
104
|
+
interaction_id TEXT NOT NULL REFERENCES interactions(id) ON DELETE CASCADE,
|
|
105
|
+
name TEXT NOT NULL,
|
|
106
|
+
status TEXT,
|
|
107
|
+
duration_ms INTEGER,
|
|
108
|
+
raw_metadata TEXT
|
|
109
|
+
);
|
|
110
|
+
CREATE INDEX IF NOT EXISTS tool_calls_interaction_idx ON tool_calls(interaction_id);
|
|
111
|
+
|
|
112
|
+
CREATE TABLE IF NOT EXISTS scan_runs (
|
|
113
|
+
id TEXT PRIMARY KEY,
|
|
114
|
+
started_at INTEGER NOT NULL,
|
|
115
|
+
completed_at INTEGER,
|
|
116
|
+
files_scanned INTEGER NOT NULL DEFAULT 0,
|
|
117
|
+
records_imported INTEGER NOT NULL DEFAULT 0,
|
|
118
|
+
warnings TEXT NOT NULL DEFAULT '[]',
|
|
119
|
+
errors TEXT NOT NULL DEFAULT '[]'
|
|
120
|
+
);
|
|
121
|
+
|
|
122
|
+
CREATE TABLE IF NOT EXISTS scan_files (
|
|
123
|
+
id TEXT PRIMARY KEY,
|
|
124
|
+
scan_run_id TEXT NOT NULL REFERENCES scan_runs(id) ON DELETE CASCADE,
|
|
125
|
+
path TEXT NOT NULL,
|
|
126
|
+
modified_time INTEGER,
|
|
127
|
+
size_bytes INTEGER NOT NULL DEFAULT 0,
|
|
128
|
+
file_hash TEXT,
|
|
129
|
+
parser TEXT,
|
|
130
|
+
status TEXT NOT NULL,
|
|
131
|
+
records_imported INTEGER NOT NULL DEFAULT 0,
|
|
132
|
+
warnings TEXT NOT NULL DEFAULT '[]',
|
|
133
|
+
errors TEXT NOT NULL DEFAULT '[]',
|
|
134
|
+
raw_metadata TEXT
|
|
135
|
+
);
|
|
136
|
+
CREATE INDEX IF NOT EXISTS scan_files_path_hash_idx ON scan_files(path, file_hash);
|
|
137
|
+
CREATE INDEX IF NOT EXISTS scan_files_run_idx ON scan_files(scan_run_id);
|
|
138
|
+
|
|
139
|
+
CREATE TABLE IF NOT EXISTS settings (
|
|
140
|
+
key TEXT PRIMARY KEY,
|
|
141
|
+
value TEXT NOT NULL,
|
|
142
|
+
updated_at INTEGER NOT NULL DEFAULT (unixepoch() * 1000)
|
|
143
|
+
);
|
|
144
|
+
`;var m=c(74608);let n=g().join(process.cwd(),".tokentrace","tokentrace.db"),o=process.env.TOKENTRACE_DB??function(a){if(!a?.startsWith("file:"))return null;try{return(0,h.fileURLToPath)(a)}catch{return a.slice(5)}}(process.env.DATABASE_URL)??n;e().mkdirSync(g().dirname(o),{recursive:!0});let p=new(j())(o);p.pragma("foreign_keys = ON"),function(a){if(a.exec(l),!a.prepare("PRAGMA table_info(interactions)").all().some(a=>"token_confidence"===a.name))try{a.exec("ALTER TABLE interactions ADD COLUMN token_confidence TEXT NOT NULL DEFAULT 'unknown'")}catch(a){if(!(a instanceof Error)||!a.message.toLowerCase().includes("duplicate column"))throw a}}(p);let q=(0,k.f)(p,{schema:m});function r(){return o}},96487:()=>{}};var b=require("../../../webpack-runtime.js");b.C(a);var c=b.X(0,[331,237,692],()=>b(b.s=24151));module.exports=c})();
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":1,"files":["../../../../../.tokentrace/tokentrace.db","../../../../../node_modules/better-sqlite3/build/Release/better_sqlite3.node","../../../../../node_modules/better-sqlite3/lib/database.js","../../../../../node_modules/better-sqlite3/lib/index.js","../../../../../node_modules/better-sqlite3/lib/methods/aggregate.js","../../../../../node_modules/better-sqlite3/lib/methods/backup.js","../../../../../node_modules/better-sqlite3/lib/methods/function.js","../../../../../node_modules/better-sqlite3/lib/methods/inspect.js","../../../../../node_modules/better-sqlite3/lib/methods/pragma.js","../../../../../node_modules/better-sqlite3/lib/methods/serialize.js","../../../../../node_modules/better-sqlite3/lib/methods/table.js","../../../../../node_modules/better-sqlite3/lib/methods/transaction.js","../../../../../node_modules/better-sqlite3/lib/methods/wrappers.js","../../../../../node_modules/better-sqlite3/lib/sqlite-error.js","../../../../../node_modules/better-sqlite3/lib/util.js","../../../../../node_modules/better-sqlite3/package.json","../../../../../node_modules/bindings/bindings.js","../../../../../node_modules/bindings/package.json","../../../../../node_modules/file-uri-to-path/index.js","../../../../../node_modules/file-uri-to-path/package.json","../../../../../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/compiled/next-server/app-route.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/segment.js","../../../../../node_modules/next/dist/shared/lib/server-reference-info.js","../../../../../node_modules/next/package.json","../../../../../package.json","../../../../package.json","../../../chunks/237.js","../../../chunks/331.js","../../../chunks/692.js","../../../webpack-runtime.js","route_client-reference-manifest.js"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/api/scan/route"]={"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/api/scan/route":[]},"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":{}}
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
(()=>{var a={};a.id=177,a.ids=[177],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")},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},11670:(a,b,c)=>{"use strict";c.d(b,{W:()=>i,t:()=>h});var d=c(48689),e=c(89820),f=c(74608);let g={customFolders:[],storeRawMessageContent:!1};function h(){var a;let b=e.db.select().from(f.settings).where((0,d.eq)(f.settings.key,"app")).get();return(a=b?.value)&&"object"==typeof a?{customFolders:Array.isArray(a.customFolders)?a.customFolders.filter(a=>"string"==typeof a):[],storeRawMessageContent:!!a.storeRawMessageContent}:g}function i(a){return e.db.insert(f.settings).values({key:"app",value:a,updatedAt:new Date}).onConflictDoUpdate({target:f.settings.key,set:{value:a,updatedAt:new Date}}).run(),a}},19121:a=>{"use strict";a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},39461:(a,b,c)=>{"use strict";c.r(b),c.d(b,{handler:()=>F,patchFetch:()=>E,routeModule:()=>A,serverHooks:()=>D,workAsyncStorage:()=>B,workUnitAsyncStorage:()=>C});var d={};c.r(d),c.d(d,{GET:()=>y,PUT:()=>z,dynamic:()=>x});var e=c(95736),f=c(9117),g=c(4044),h=c(39326),i=c(32324),j=c(261),k=c(54290),l=c(85328),m=c(38928),n=c(46595),o=c(3421),p=c(17679),q=c(41681),r=c(63446),s=c(86439),t=c(51356),u=c(10641),v=c(89820),w=c(11670);let x="force-dynamic";async function y(){return u.NextResponse.json({...(0,w.t)(),databasePath:(0,v.X)()})}async function z(a){let b=await a.json(),c=Array.isArray(b.customFolders)?b.customFolders.filter(a=>"string"==typeof a):[],d=(0,w.W)({customFolders:c,storeRawMessageContent:!!b.storeRawMessageContent});return u.NextResponse.json(d)}let A=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/settings/route",pathname:"/api/settings",filename:"route",bundlePath:"app/api/settings/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"/Users/abhyoh/Documents/Brand/Apps/token-usage/app/api/settings/route.ts",nextConfigOutput:"",userland:d}),{workAsyncStorage:B,workUnitAsyncStorage:C,serverHooks:D}=A;function E(){return(0,g.patchFetch)({workAsyncStorage:B,workUnitAsyncStorage:C})}async function F(a,b,c){var d;let e="/api/settings/route";"/index"===e&&(e="/");let g=await A.prepare(a,b,{srcPage:e,multiZoneDraftMode:!1});if(!g)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:u,params:v,nextConfig:w,isDraftMode:x,prerenderManifest:y,routerServerContext:z,isOnDemandRevalidate:B,revalidateOnlyGenerated:C,resolvedPathname:D}=g,E=(0,j.normalizeAppPath)(e),F=!!(y.dynamicRoutes[E]||y.routes[D]);if(F&&!x){let a=!!y.routes[D],b=y.dynamicRoutes[E];if(b&&!1===b.fallback&&!a)throw new s.NoFallbackError}let G=null;!F||A.isDev||x||(G="/index"===(G=D)?"/":G);let H=!0===A.isDev||!F,I=F&&!H,J=a.method||"GET",K=(0,i.getTracer)(),L=K.getActiveScopeSpan(),M={params:v,prerenderManifest:y,renderOpts:{experimental:{cacheComponents:!!w.experimental.cacheComponents,authInterrupts:!!w.experimental.authInterrupts},supportsDynamicResponse:H,incrementalCache:(0,h.getRequestMeta)(a,"incrementalCache"),cacheLifeProfiles:null==(d=w.experimental)?void 0:d.cacheLife,isRevalidate:I,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d)=>A.onRequestError(a,b,d,z)},sharedContext:{buildId:u}},N=new k.NodeNextRequest(a),O=new k.NodeNextResponse(b),P=l.NextRequestAdapter.fromNodeNextRequest(N,(0,l.signalFromNodeResponse)(b));try{let d=async c=>A.handle(P,M).finally(()=>{if(!c)return;c.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let d=K.getRootSpanAttributes();if(!d)return;if(d.get("next.span_type")!==m.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=`${J} ${e}`;c.setAttributes({"next.route":e,"http.route":e,"next.span_name":a}),c.updateName(a)}else c.updateName(`${J} ${a.url}`)}),g=async g=>{var i,j;let k=async({previousCacheEntry:f})=>{try{if(!(0,h.getRequestMeta)(a,"minimalMode")&&B&&C&&!f)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let e=await d(g);a.fetchMetrics=M.renderOpts.fetchMetrics;let i=M.renderOpts.pendingWaitUntil;i&&c.waitUntil&&(c.waitUntil(i),i=void 0);let j=M.renderOpts.collectedTags;if(!F)return await (0,o.I)(N,O,e,M.renderOpts.pendingWaitUntil),null;{let a=await e.blob(),b=(0,p.toNodeOutgoingHttpHeaders)(e.headers);j&&(b[r.NEXT_CACHE_TAGS_HEADER]=j),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==M.renderOpts.collectedRevalidate&&!(M.renderOpts.collectedRevalidate>=r.INFINITE_CACHE)&&M.renderOpts.collectedRevalidate,d=void 0===M.renderOpts.collectedExpire||M.renderOpts.collectedExpire>=r.INFINITE_CACHE?void 0:M.renderOpts.collectedExpire;return{value:{kind:t.CachedRouteKind.APP_ROUTE,status:e.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:d}}}}catch(b){throw(null==f?void 0:f.isStale)&&await A.onRequestError(a,b,{routerKind:"App Router",routePath:e,routeType:"route",revalidateReason:(0,n.c)({isRevalidate:I,isOnDemandRevalidate:B})},z),b}},l=await A.handleResponse({req:a,nextConfig:w,cacheKey:G,routeKind:f.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:y,isRoutePPREnabled:!1,isOnDemandRevalidate:B,revalidateOnlyGenerated:C,responseGenerator:k,waitUntil:c.waitUntil});if(!F)return null;if((null==l||null==(i=l.value)?void 0:i.kind)!==t.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==l||null==(j=l.value)?void 0:j.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});(0,h.getRequestMeta)(a,"minimalMode")||b.setHeader("x-nextjs-cache",B?"REVALIDATED":l.isMiss?"MISS":l.isStale?"STALE":"HIT"),x&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let m=(0,p.fromNodeOutgoingHttpHeaders)(l.value.headers);return(0,h.getRequestMeta)(a,"minimalMode")&&F||m.delete(r.NEXT_CACHE_TAGS_HEADER),!l.cacheControl||b.getHeader("Cache-Control")||m.get("Cache-Control")||m.set("Cache-Control",(0,q.getCacheControlHeader)(l.cacheControl)),await (0,o.I)(N,O,new Response(l.value.body,{headers:m,status:l.value.status||200})),null};L?await g(L):await K.withPropagatedContext(a.headers,()=>K.trace(m.BaseServerSpan.handleRequest,{spanName:`${J} ${a.url}`,kind:i.SpanKind.SERVER,attributes:{"http.method":J,"http.target":a.url}},g))}catch(b){if(b instanceof s.NoFallbackError||await A.onRequestError(a,b,{routerKind:"App Router",routePath:E,routeType:"route",revalidateReason:(0,n.c)({isRevalidate:I,isOnDemandRevalidate:B})}),F)throw b;return await (0,o.I)(N,O,new Response(null,{status:500})),null}}},44870:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},73024:a=>{"use strict";a.exports=require("node:fs")},73136:a=>{"use strict";a.exports=require("node:url")},74608:(a,b,c)=>{"use strict";c.r(b),c.d(b,{interactionRelations:()=>z,interactions:()=>p,modelRelations:()=>w,models:()=>m,projectRelations:()=>x,projects:()=>n,providerRelations:()=>u,providers:()=>k,scanFiles:()=>s,scanRuns:()=>r,sessionRelations:()=>y,sessions:()=>o,settings:()=>t,toolCalls:()=>q,toolRelations:()=>v,tools:()=>l});var d=c(85766),e=c(47543),f=c(95417),g=c(58040),h=c(20377),i=c(4035),j=c(19643);let k=(0,f.D)("providers",{id:(0,g.Qq)("id").primaryKey(),name:(0,g.Qq)("name").notNull(),type:(0,g.Qq)("type").notNull(),createdAt:(0,h.nd)("created_at",{mode:"timestamp_ms"}).notNull().$defaultFn(()=>new Date)}),l=(0,f.D)("tools",{id:(0,g.Qq)("id").primaryKey(),providerId:(0,g.Qq)("provider_id").notNull().references(()=>k.id,{onDelete:"cascade"}),name:(0,g.Qq)("name").notNull(),createdAt:(0,h.nd)("created_at",{mode:"timestamp_ms"}).notNull().$defaultFn(()=>new Date)},a=>({providerNameIdx:(0,i.GL)("tools_provider_name_idx").on(a.providerId,a.name)})),m=(0,f.D)("models",{id:(0,g.Qq)("id").primaryKey(),providerId:(0,g.Qq)("provider_id").notNull().references(()=>k.id,{onDelete:"cascade"}),name:(0,g.Qq)("name").notNull(),inputTokenPrice:(0,j.x)("input_token_price"),outputTokenPrice:(0,j.x)("output_token_price"),cachedInputTokenPrice:(0,j.x)("cached_input_token_price"),currency:(0,g.Qq)("currency").notNull().default("USD"),effectiveFrom:(0,h.nd)("effective_from",{mode:"timestamp_ms"}),rawMetadata:(0,g.Qq)("raw_metadata",{mode:"json"}).$type()},a=>({providerModelIdx:(0,i.GL)("models_provider_name_idx").on(a.providerId,a.name)})),n=(0,f.D)("projects",{id:(0,g.Qq)("id").primaryKey(),name:(0,g.Qq)("name").notNull(),path:(0,g.Qq)("path").notNull(),createdAt:(0,h.nd)("created_at",{mode:"timestamp_ms"}).notNull().$defaultFn(()=>new Date)},a=>({pathIdx:(0,i.GL)("projects_path_idx").on(a.path)})),o=(0,f.D)("sessions",{id:(0,g.Qq)("id").primaryKey(),sourceId:(0,g.Qq)("source_id").notNull(),toolId:(0,g.Qq)("tool_id").notNull().references(()=>l.id,{onDelete:"cascade"}),projectId:(0,g.Qq)("project_id").references(()=>n.id,{onDelete:"set null"}),startedAt:(0,h.nd)("started_at",{mode:"timestamp_ms"}),endedAt:(0,h.nd)("ended_at",{mode:"timestamp_ms"}),title:(0,g.Qq)("title"),sourceFile:(0,g.Qq)("source_file").notNull(),rawMetadata:(0,g.Qq)("raw_metadata",{mode:"json"}).$type()},a=>({sourceIdx:(0,i.GL)("sessions_source_id_idx").on(a.sourceId),toolIdx:(0,i.Pe)("sessions_tool_idx").on(a.toolId),projectIdx:(0,i.Pe)("sessions_project_idx").on(a.projectId),startedIdx:(0,i.Pe)("sessions_started_idx").on(a.startedAt)})),p=(0,f.D)("interactions",{id:(0,g.Qq)("id").primaryKey(),sourceId:(0,g.Qq)("source_id").notNull(),sessionId:(0,g.Qq)("session_id").notNull().references(()=>o.id,{onDelete:"cascade"}),timestamp:(0,h.nd)("timestamp",{mode:"timestamp_ms"}),role:(0,g.Qq)("role").notNull(),modelId:(0,g.Qq)("model_id").references(()=>m.id,{onDelete:"set null"}),inputTokens:(0,h.nd)("input_tokens").notNull().default(0),outputTokens:(0,h.nd)("output_tokens").notNull().default(0),cacheReadTokens:(0,h.nd)("cache_read_tokens").notNull().default(0),cacheWriteTokens:(0,h.nd)("cache_write_tokens").notNull().default(0),reasoningTokens:(0,h.nd)("reasoning_tokens").notNull().default(0),totalTokens:(0,h.nd)("total_tokens").notNull().default(0),estimatedTokens:(0,h.nd)("estimated_tokens",{mode:"boolean"}).notNull().default(!1),tokenConfidence:(0,g.Qq)("token_confidence").notNull().default("unknown"),cost:(0,j.x)("cost"),costEstimated:(0,h.nd)("cost_estimated",{mode:"boolean"}).notNull().default(!1),latencyMs:(0,h.nd)("latency_ms"),rawTextPreview:(0,g.Qq)("raw_text_preview"),rawText:(0,g.Qq)("raw_text"),rawMetadata:(0,g.Qq)("raw_metadata",{mode:"json"}).$type()},a=>({sourceIdx:(0,i.GL)("interactions_source_id_idx").on(a.sourceId),sessionIdx:(0,i.Pe)("interactions_session_idx").on(a.sessionId),modelIdx:(0,i.Pe)("interactions_model_idx").on(a.modelId),timestampIdx:(0,i.Pe)("interactions_timestamp_idx").on(a.timestamp)})),q=(0,f.D)("tool_calls",{id:(0,g.Qq)("id").primaryKey(),interactionId:(0,g.Qq)("interaction_id").notNull().references(()=>p.id,{onDelete:"cascade"}),name:(0,g.Qq)("name").notNull(),status:(0,g.Qq)("status"),durationMs:(0,h.nd)("duration_ms"),rawMetadata:(0,g.Qq)("raw_metadata",{mode:"json"}).$type()},a=>({interactionIdx:(0,i.Pe)("tool_calls_interaction_idx").on(a.interactionId)})),r=(0,f.D)("scan_runs",{id:(0,g.Qq)("id").primaryKey(),startedAt:(0,h.nd)("started_at",{mode:"timestamp_ms"}).notNull(),completedAt:(0,h.nd)("completed_at",{mode:"timestamp_ms"}),filesScanned:(0,h.nd)("files_scanned").notNull().default(0),recordsImported:(0,h.nd)("records_imported").notNull().default(0),warnings:(0,g.Qq)("warnings",{mode:"json"}).$type().notNull().default((0,d.ll)`'[]'`),errors:(0,g.Qq)("errors",{mode:"json"}).$type().notNull().default((0,d.ll)`'[]'`)}),s=(0,f.D)("scan_files",{id:(0,g.Qq)("id").primaryKey(),scanRunId:(0,g.Qq)("scan_run_id").notNull().references(()=>r.id,{onDelete:"cascade"}),path:(0,g.Qq)("path").notNull(),modifiedTime:(0,h.nd)("modified_time",{mode:"timestamp_ms"}),sizeBytes:(0,h.nd)("size_bytes").notNull().default(0),fileHash:(0,g.Qq)("file_hash"),parser:(0,g.Qq)("parser"),status:(0,g.Qq)("status").notNull(),recordsImported:(0,h.nd)("records_imported").notNull().default(0),warnings:(0,g.Qq)("warnings",{mode:"json"}).$type().notNull().default((0,d.ll)`'[]'`),errors:(0,g.Qq)("errors",{mode:"json"}).$type().notNull().default((0,d.ll)`'[]'`),rawMetadata:(0,g.Qq)("raw_metadata",{mode:"json"}).$type()},a=>({pathHashIdx:(0,i.Pe)("scan_files_path_hash_idx").on(a.path,a.fileHash),scanRunIdx:(0,i.Pe)("scan_files_run_idx").on(a.scanRunId)})),t=(0,f.D)("settings",{key:(0,g.Qq)("key").primaryKey(),value:(0,g.Qq)("value",{mode:"json"}).$type().notNull(),updatedAt:(0,h.nd)("updated_at",{mode:"timestamp_ms"}).notNull().$defaultFn(()=>new Date)}),u=(0,e.K1)(k,({many:a})=>({tools:a(l),models:a(m)})),v=(0,e.K1)(l,({one:a,many:b})=>({provider:a(k,{fields:[l.providerId],references:[k.id]}),sessions:b(o)})),w=(0,e.K1)(m,({one:a,many:b})=>({provider:a(k,{fields:[m.providerId],references:[k.id]}),interactions:b(p)})),x=(0,e.K1)(n,({many:a})=>({sessions:a(o)})),y=(0,e.K1)(o,({one:a,many:b})=>({tool:a(l,{fields:[o.toolId],references:[l.id]}),project:a(n,{fields:[o.projectId],references:[n.id]}),interactions:b(p)})),z=(0,e.K1)(p,({one:a,many:b})=>({session:a(o,{fields:[p.sessionId],references:[o.id]}),model:a(m,{fields:[p.modelId],references:[m.id]}),toolCalls:b(q)}))},76760:a=>{"use strict";a.exports=require("node:path")},78335:()=>{},86439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},87550:a=>{"use strict";a.exports=require("better-sqlite3")},89820:(a,b,c)=>{"use strict";c.d(b,{db:()=>q,X:()=>r,F:()=>p});var d=c(73024),e=c.n(d),f=c(76760),g=c.n(f),h=c(73136),i=c(87550),j=c.n(i),k=c(64947);let l=`
|
|
2
|
+
PRAGMA journal_mode = WAL;
|
|
3
|
+
PRAGMA foreign_keys = ON;
|
|
4
|
+
|
|
5
|
+
CREATE TABLE IF NOT EXISTS providers (
|
|
6
|
+
id TEXT PRIMARY KEY,
|
|
7
|
+
name TEXT NOT NULL,
|
|
8
|
+
type TEXT NOT NULL,
|
|
9
|
+
created_at INTEGER NOT NULL DEFAULT (unixepoch() * 1000)
|
|
10
|
+
);
|
|
11
|
+
|
|
12
|
+
CREATE TABLE IF NOT EXISTS tools (
|
|
13
|
+
id TEXT PRIMARY KEY,
|
|
14
|
+
provider_id TEXT NOT NULL REFERENCES providers(id) ON DELETE CASCADE,
|
|
15
|
+
name TEXT NOT NULL,
|
|
16
|
+
created_at INTEGER NOT NULL DEFAULT (unixepoch() * 1000)
|
|
17
|
+
);
|
|
18
|
+
CREATE UNIQUE INDEX IF NOT EXISTS tools_provider_name_idx ON tools(provider_id, name);
|
|
19
|
+
|
|
20
|
+
CREATE TABLE IF NOT EXISTS models (
|
|
21
|
+
id TEXT PRIMARY KEY,
|
|
22
|
+
provider_id TEXT NOT NULL REFERENCES providers(id) ON DELETE CASCADE,
|
|
23
|
+
name TEXT NOT NULL,
|
|
24
|
+
input_token_price REAL,
|
|
25
|
+
output_token_price REAL,
|
|
26
|
+
cached_input_token_price REAL,
|
|
27
|
+
currency TEXT NOT NULL DEFAULT 'USD',
|
|
28
|
+
effective_from INTEGER,
|
|
29
|
+
raw_metadata TEXT
|
|
30
|
+
);
|
|
31
|
+
CREATE UNIQUE INDEX IF NOT EXISTS models_provider_name_idx ON models(provider_id, name);
|
|
32
|
+
|
|
33
|
+
CREATE TABLE IF NOT EXISTS projects (
|
|
34
|
+
id TEXT PRIMARY KEY,
|
|
35
|
+
name TEXT NOT NULL,
|
|
36
|
+
path TEXT NOT NULL,
|
|
37
|
+
created_at INTEGER NOT NULL DEFAULT (unixepoch() * 1000)
|
|
38
|
+
);
|
|
39
|
+
CREATE UNIQUE INDEX IF NOT EXISTS projects_path_idx ON projects(path);
|
|
40
|
+
|
|
41
|
+
CREATE TABLE IF NOT EXISTS sessions (
|
|
42
|
+
id TEXT PRIMARY KEY,
|
|
43
|
+
source_id TEXT NOT NULL,
|
|
44
|
+
tool_id TEXT NOT NULL REFERENCES tools(id) ON DELETE CASCADE,
|
|
45
|
+
project_id TEXT REFERENCES projects(id) ON DELETE SET NULL,
|
|
46
|
+
started_at INTEGER,
|
|
47
|
+
ended_at INTEGER,
|
|
48
|
+
title TEXT,
|
|
49
|
+
source_file TEXT NOT NULL,
|
|
50
|
+
raw_metadata TEXT
|
|
51
|
+
);
|
|
52
|
+
CREATE UNIQUE INDEX IF NOT EXISTS sessions_source_id_idx ON sessions(source_id);
|
|
53
|
+
CREATE INDEX IF NOT EXISTS sessions_tool_idx ON sessions(tool_id);
|
|
54
|
+
CREATE INDEX IF NOT EXISTS sessions_project_idx ON sessions(project_id);
|
|
55
|
+
CREATE INDEX IF NOT EXISTS sessions_started_idx ON sessions(started_at);
|
|
56
|
+
|
|
57
|
+
CREATE TABLE IF NOT EXISTS interactions (
|
|
58
|
+
id TEXT PRIMARY KEY,
|
|
59
|
+
source_id TEXT NOT NULL,
|
|
60
|
+
session_id TEXT NOT NULL REFERENCES sessions(id) ON DELETE CASCADE,
|
|
61
|
+
timestamp INTEGER,
|
|
62
|
+
role TEXT NOT NULL,
|
|
63
|
+
model_id TEXT REFERENCES models(id) ON DELETE SET NULL,
|
|
64
|
+
input_tokens INTEGER NOT NULL DEFAULT 0,
|
|
65
|
+
output_tokens INTEGER NOT NULL DEFAULT 0,
|
|
66
|
+
cache_read_tokens INTEGER NOT NULL DEFAULT 0,
|
|
67
|
+
cache_write_tokens INTEGER NOT NULL DEFAULT 0,
|
|
68
|
+
reasoning_tokens INTEGER NOT NULL DEFAULT 0,
|
|
69
|
+
total_tokens INTEGER NOT NULL DEFAULT 0,
|
|
70
|
+
estimated_tokens INTEGER NOT NULL DEFAULT 0,
|
|
71
|
+
token_confidence TEXT NOT NULL DEFAULT 'unknown',
|
|
72
|
+
cost REAL,
|
|
73
|
+
cost_estimated INTEGER NOT NULL DEFAULT 0,
|
|
74
|
+
latency_ms INTEGER,
|
|
75
|
+
raw_text_preview TEXT,
|
|
76
|
+
raw_text TEXT,
|
|
77
|
+
raw_metadata TEXT
|
|
78
|
+
);
|
|
79
|
+
CREATE UNIQUE INDEX IF NOT EXISTS interactions_source_id_idx ON interactions(source_id);
|
|
80
|
+
CREATE INDEX IF NOT EXISTS interactions_session_idx ON interactions(session_id);
|
|
81
|
+
CREATE INDEX IF NOT EXISTS interactions_model_idx ON interactions(model_id);
|
|
82
|
+
CREATE INDEX IF NOT EXISTS interactions_timestamp_idx ON interactions(timestamp);
|
|
83
|
+
|
|
84
|
+
PRAGMA user_version;
|
|
85
|
+
|
|
86
|
+
CREATE TABLE IF NOT EXISTS tool_calls (
|
|
87
|
+
id TEXT PRIMARY KEY,
|
|
88
|
+
interaction_id TEXT NOT NULL REFERENCES interactions(id) ON DELETE CASCADE,
|
|
89
|
+
name TEXT NOT NULL,
|
|
90
|
+
status TEXT,
|
|
91
|
+
duration_ms INTEGER,
|
|
92
|
+
raw_metadata TEXT
|
|
93
|
+
);
|
|
94
|
+
CREATE INDEX IF NOT EXISTS tool_calls_interaction_idx ON tool_calls(interaction_id);
|
|
95
|
+
|
|
96
|
+
CREATE TABLE IF NOT EXISTS scan_runs (
|
|
97
|
+
id TEXT PRIMARY KEY,
|
|
98
|
+
started_at INTEGER NOT NULL,
|
|
99
|
+
completed_at INTEGER,
|
|
100
|
+
files_scanned INTEGER NOT NULL DEFAULT 0,
|
|
101
|
+
records_imported INTEGER NOT NULL DEFAULT 0,
|
|
102
|
+
warnings TEXT NOT NULL DEFAULT '[]',
|
|
103
|
+
errors TEXT NOT NULL DEFAULT '[]'
|
|
104
|
+
);
|
|
105
|
+
|
|
106
|
+
CREATE TABLE IF NOT EXISTS scan_files (
|
|
107
|
+
id TEXT PRIMARY KEY,
|
|
108
|
+
scan_run_id TEXT NOT NULL REFERENCES scan_runs(id) ON DELETE CASCADE,
|
|
109
|
+
path TEXT NOT NULL,
|
|
110
|
+
modified_time INTEGER,
|
|
111
|
+
size_bytes INTEGER NOT NULL DEFAULT 0,
|
|
112
|
+
file_hash TEXT,
|
|
113
|
+
parser TEXT,
|
|
114
|
+
status TEXT NOT NULL,
|
|
115
|
+
records_imported INTEGER NOT NULL DEFAULT 0,
|
|
116
|
+
warnings TEXT NOT NULL DEFAULT '[]',
|
|
117
|
+
errors TEXT NOT NULL DEFAULT '[]',
|
|
118
|
+
raw_metadata TEXT
|
|
119
|
+
);
|
|
120
|
+
CREATE INDEX IF NOT EXISTS scan_files_path_hash_idx ON scan_files(path, file_hash);
|
|
121
|
+
CREATE INDEX IF NOT EXISTS scan_files_run_idx ON scan_files(scan_run_id);
|
|
122
|
+
|
|
123
|
+
CREATE TABLE IF NOT EXISTS settings (
|
|
124
|
+
key TEXT PRIMARY KEY,
|
|
125
|
+
value TEXT NOT NULL,
|
|
126
|
+
updated_at INTEGER NOT NULL DEFAULT (unixepoch() * 1000)
|
|
127
|
+
);
|
|
128
|
+
`;var m=c(74608);let n=g().join(process.cwd(),".tokentrace","tokentrace.db"),o=process.env.TOKENTRACE_DB??function(a){if(!a?.startsWith("file:"))return null;try{return(0,h.fileURLToPath)(a)}catch{return a.slice(5)}}(process.env.DATABASE_URL)??n;e().mkdirSync(g().dirname(o),{recursive:!0});let p=new(j())(o);p.pragma("foreign_keys = ON"),function(a){if(a.exec(l),!a.prepare("PRAGMA table_info(interactions)").all().some(a=>"token_confidence"===a.name))try{a.exec("ALTER TABLE interactions ADD COLUMN token_confidence TEXT NOT NULL DEFAULT 'unknown'")}catch(a){if(!(a instanceof Error)||!a.message.toLowerCase().includes("duplicate column"))throw a}}(p);let q=(0,k.f)(p,{schema:m});function r(){return o}},96487:()=>{}};var b=require("../../../webpack-runtime.js");b.C(a);var c=b.X(0,[331,237,692],()=>b(b.s=39461));module.exports=c})();
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":1,"files":["../../../../../.tokentrace/tokentrace.db","../../../../../node_modules/better-sqlite3/build/Release/better_sqlite3.node","../../../../../node_modules/better-sqlite3/lib/database.js","../../../../../node_modules/better-sqlite3/lib/index.js","../../../../../node_modules/better-sqlite3/lib/methods/aggregate.js","../../../../../node_modules/better-sqlite3/lib/methods/backup.js","../../../../../node_modules/better-sqlite3/lib/methods/function.js","../../../../../node_modules/better-sqlite3/lib/methods/inspect.js","../../../../../node_modules/better-sqlite3/lib/methods/pragma.js","../../../../../node_modules/better-sqlite3/lib/methods/serialize.js","../../../../../node_modules/better-sqlite3/lib/methods/table.js","../../../../../node_modules/better-sqlite3/lib/methods/transaction.js","../../../../../node_modules/better-sqlite3/lib/methods/wrappers.js","../../../../../node_modules/better-sqlite3/lib/sqlite-error.js","../../../../../node_modules/better-sqlite3/lib/util.js","../../../../../node_modules/better-sqlite3/package.json","../../../../../node_modules/bindings/bindings.js","../../../../../node_modules/bindings/package.json","../../../../../node_modules/file-uri-to-path/index.js","../../../../../node_modules/file-uri-to-path/package.json","../../../../../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/compiled/next-server/app-route.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/segment.js","../../../../../node_modules/next/dist/shared/lib/server-reference-info.js","../../../../../node_modules/next/package.json","../../../../../package.json","../../../../package.json","../../../chunks/237.js","../../../chunks/331.js","../../../chunks/692.js","../../../webpack-runtime.js","route_client-reference-manifest.js"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/api/settings/route"]={"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/api/settings/route":[]},"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":{}}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
(()=>{var a={};a.id=302,a.ids=[302],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")},22821:(a,b,c)=>{"use strict";c.d(b,{BT:()=>i,Wu:()=>j,ZB:()=>h,Zp:()=>f,aR:()=>g});var d=c(75338);c(74515);var e=c(70673);function f({className:a,...b}){return(0,d.jsx)("div",{className:(0,e.cn)("rounded-lg border bg-card text-card-foreground",a),...b})}function g({className:a,...b}){return(0,d.jsx)("div",{className:(0,e.cn)("flex flex-col gap-1.5 p-4",a),...b})}function h({className:a,...b}){return(0,d.jsx)("h3",{className:(0,e.cn)("text-sm font-semibold",a),...b})}function i({className:a,...b}){return(0,d.jsx)("p",{className:(0,e.cn)("text-sm text-muted-foreground",a),...b})}function j({className:a,...b}){return(0,d.jsx)("div",{className:(0,e.cn)("p-4 pt-0",a),...b})}},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))},37762:(a,b,c)=>{"use strict";c.d(b,{E:()=>h});var d=c(75338);c(74515);var e=c(86281),f=c(70673);let g=(0,e.F)("inline-flex items-center rounded-md border px-2 py-0.5 text-xs font-medium",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground",secondary:"border-transparent bg-muted text-muted-foreground",outline:"text-foreground",warning:"border-amber-300 bg-amber-50 text-amber-800",success:"border-emerald-300 bg-emerald-50 text-emerald-800",destructive:"border-red-300 bg-red-50 text-red-800"}},defaultVariants:{variant:"default"}});function h({className:a,variant:b,...c}){return(0,d.jsx)("div",{className:(0,f.cn)(g({variant:b}),a),...c})}},41025:a=>{"use strict";a.exports=require("next/dist/server/app-render/dynamic-access-async-storage.external.js")},46145:(a,b,c)=>{"use strict";function d(a){let b=a??0;return b>=1e6?`${(b/1e6).toFixed(2)}M`:b>=1e3?`${(b/1e3).toFixed(1)}K`:b.toLocaleString()}function e(a,b="USD"){return null==a?"Unknown":new Intl.NumberFormat("en-US",{style:"currency",currency:b,maximumFractionDigits:a<1?4:2}).format(a)}function f(a){if(!a)return"Unknown";let b=a instanceof Date?a:new Date(a);return Number.isNaN(b.getTime())?"Unknown":new Intl.DateTimeFormat("en-US",{month:"short",day:"numeric",year:"numeric",hour:"2-digit",minute:"2-digit"}).format(b)}function g(a){return`${Math.round((a??0)*100)}%`}c.d(b,{KN:()=>g,Yq:()=>f,_y:()=>d,vv:()=>e})},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},63299:(a,b,c)=>{"use strict";c.d(b,{A0:()=>g,BF:()=>h,Hj:()=>i,XI:()=>f,nA:()=>k,nd:()=>j});var d=c(75338);c(74515);var e=c(70673);function f({className:a,...b}){return(0,d.jsx)("table",{className:(0,e.cn)("w-full caption-bottom text-sm",a),...b})}function g({className:a,...b}){return(0,d.jsx)("thead",{className:(0,e.cn)("[&_tr]:border-b",a),...b})}function h({className:a,...b}){return(0,d.jsx)("tbody",{className:(0,e.cn)("[&_tr:last-child]:border-0",a),...b})}function i({className:a,...b}){return(0,d.jsx)("tr",{className:(0,e.cn)("border-b transition-colors hover:bg-muted/50",a),...b})}function j({className:a,...b}){return(0,d.jsx)("th",{className:(0,e.cn)("h-10 px-3 text-left align-middle text-xs font-medium text-muted-foreground",a),...b})}function k({className:a,...b}){return(0,d.jsx)("td",{className:(0,e.cn)("p-3 align-middle",a),...b})}},70673:(a,b,c)=>{"use strict";c.d(b,{cn:()=>f});var d=c(81171),e=c(11167);function f(...a){return(0,e.QP)((0,d.$)(a))}},73024:a=>{"use strict";a.exports=require("node:fs")},73136:a=>{"use strict";a.exports=require("node:url")},75022:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>k,dynamic:()=>j});var d=c(75338),e=c(37762),f=c(22821),g=c(63299),h=c(66444),i=c(46145);let j="force-dynamic";function k(){let a=(0,h.U)();return(0,d.jsxs)("div",{className:"space-y-6",children:[(0,d.jsxs)("div",{children:[(0,d.jsx)("h1",{className:"text-2xl font-semibold tracking-normal",children:"Raw Data"}),(0,d.jsx)("p",{className:"text-sm text-muted-foreground",children:"Inspect recent scan runs, parser selection, imported records, warnings, and failures."})]}),(0,d.jsxs)(f.Zp,{children:[(0,d.jsxs)(f.aR,{children:[(0,d.jsx)(f.ZB,{children:"Recent Scan Runs"}),(0,d.jsx)(f.BT,{children:"High-level import history."})]}),(0,d.jsx)(f.Wu,{className:"table-scroll",children:(0,d.jsxs)(g.XI,{children:[(0,d.jsx)(g.A0,{children:(0,d.jsxs)(g.Hj,{children:[(0,d.jsx)(g.nd,{children:"Started"}),(0,d.jsx)(g.nd,{children:"Completed"}),(0,d.jsx)(g.nd,{children:"Files"}),(0,d.jsx)(g.nd,{children:"Imported"}),(0,d.jsx)(g.nd,{children:"Warnings"}),(0,d.jsx)(g.nd,{children:"Errors"})]})}),(0,d.jsx)(g.BF,{children:a.scanRuns.map(a=>(0,d.jsxs)(g.Hj,{children:[(0,d.jsx)(g.nA,{children:(0,i.Yq)(a.startedAt)}),(0,d.jsx)(g.nA,{children:(0,i.Yq)(a.completedAt)}),(0,d.jsx)(g.nA,{children:a.filesScanned.toLocaleString()}),(0,d.jsx)(g.nA,{children:a.recordsImported.toLocaleString()}),(0,d.jsx)(g.nA,{children:a.warnings.length.toLocaleString()}),(0,d.jsx)(g.nA,{children:a.errors.length.toLocaleString()})]},a.id))})]})})]}),(0,d.jsxs)(f.Zp,{children:[(0,d.jsxs)(f.aR,{children:[(0,d.jsx)(f.ZB,{children:"Scanned Files"}),(0,d.jsx)(f.BT,{children:"Parser, status, warning, error, and metadata preview per file."})]}),(0,d.jsx)(f.Wu,{className:"table-scroll",children:(0,d.jsxs)(g.XI,{children:[(0,d.jsx)(g.A0,{children:(0,d.jsxs)(g.Hj,{children:[(0,d.jsx)(g.nd,{children:"File"}),(0,d.jsx)(g.nd,{children:"Parser"}),(0,d.jsx)(g.nd,{children:"Status"}),(0,d.jsx)(g.nd,{children:"Imported"}),(0,d.jsx)(g.nd,{children:"Warnings"}),(0,d.jsx)(g.nd,{children:"Errors"}),(0,d.jsx)(g.nd,{children:"Metadata"})]})}),(0,d.jsx)(g.BF,{children:a.scanFiles.map(a=>{var b;return(0,d.jsxs)(g.Hj,{children:[(0,d.jsx)(g.nA,{className:"max-w-96 truncate font-mono text-xs",children:a.path}),(0,d.jsx)(g.nA,{children:a.parser??"None"}),(0,d.jsx)(g.nA,{children:(0,d.jsx)(e.E,{variant:"imported"===(b=a.status)?"success":b.includes("error")||"failed"===b?"destructive":b.includes("skipped")?"secondary":"warning",children:a.status})}),(0,d.jsx)(g.nA,{children:a.recordsImported.toLocaleString()}),(0,d.jsx)(g.nA,{className:"max-w-64 truncate",children:a.warnings.join("; ")||"None"}),(0,d.jsx)(g.nA,{className:"max-w-64 truncate",children:a.errors.join("; ")||"None"}),(0,d.jsx)(g.nA,{className:"max-w-80 truncate font-mono text-xs",children:JSON.stringify(a.rawMetadata)})]},a.id)})})]})})]})]})}},76760:a=>{"use strict";a.exports=require("node:path")},78335:()=>{},79694:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,3991,23))},82704:()=>{},86281:(a,b,c)=>{"use strict";c.d(b,{F:()=>g});var d=c(81171);let e=a=>"boolean"==typeof a?`${a}`:0===a?"0":a,f=d.$,g=(a,b)=>c=>{var d;if((null==b?void 0:b.variants)==null)return f(a,null==c?void 0:c.class,null==c?void 0:c.className);let{variants:g,defaultVariants:h}=b,i=Object.keys(g).map(a=>{let b=null==c?void 0:c[a],d=null==h?void 0:h[a];if(null===b)return null;let f=e(b)||e(d);return g[a][f]}),j=c&&Object.entries(c).reduce((a,b)=>{let[c,d]=b;return void 0===d||(a[c]=d),a},{});return f(a,i,null==b||null==(d=b.compoundVariants)?void 0:d.reduce((a,b)=>{let{class:c,className:d,...e}=b;return Object.entries(e).every(a=>{let[b,c]=a;return Array.isArray(c)?c.includes({...h,...j}[b]):({...h,...j})[b]===c})?[...a,c,d]:a},[]),null==c?void 0:c.class,null==c?void 0:c.className)}},86439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},87550:a=>{"use strict";a.exports=require("better-sqlite3")},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))},92158:(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:["debug",{children:["__PAGE__",{},{page:[()=>Promise.resolve().then(c.bind(c,75022)),"/Users/abhyoh/Documents/Brand/Apps/token-usage/app/debug/page.tsx"]}]},{}]},{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"],"not-found":[()=>Promise.resolve().then(c.t.bind(c,87028,23)),"next/dist/client/components/builtin/not-found.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=["/Users/abhyoh/Documents/Brand/Apps/token-usage/app/debug/page.tsx"],K={require:c,loadChunk:()=>Promise.resolve()},L=new d.AppPageRouteModule({definition:{kind:e.RouteKind.APP_PAGE,page:"/debug/page",pathname:"/debug",bundlePath:"",filename:"",appPaths:[]},userland:{loaderTree:I},distDir:".next",relativeProjectDir:""});async function M(a,b,d){var D;let H="/debug/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}}},96487:()=>{},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,237,123,153,444],()=>b(b.s=92158));module.exports=c})();
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":1,"files":["../../../../.tokentrace/tokentrace.db","../../../../node_modules/better-sqlite3/build/Release/better_sqlite3.node","../../../../node_modules/better-sqlite3/lib/database.js","../../../../node_modules/better-sqlite3/lib/index.js","../../../../node_modules/better-sqlite3/lib/methods/aggregate.js","../../../../node_modules/better-sqlite3/lib/methods/backup.js","../../../../node_modules/better-sqlite3/lib/methods/function.js","../../../../node_modules/better-sqlite3/lib/methods/inspect.js","../../../../node_modules/better-sqlite3/lib/methods/pragma.js","../../../../node_modules/better-sqlite3/lib/methods/serialize.js","../../../../node_modules/better-sqlite3/lib/methods/table.js","../../../../node_modules/better-sqlite3/lib/methods/transaction.js","../../../../node_modules/better-sqlite3/lib/methods/wrappers.js","../../../../node_modules/better-sqlite3/lib/sqlite-error.js","../../../../node_modules/better-sqlite3/lib/util.js","../../../../node_modules/better-sqlite3/package.json","../../../../node_modules/bindings/bindings.js","../../../../node_modules/bindings/package.json","../../../../node_modules/file-uri-to-path/index.js","../../../../node_modules/file-uri-to-path/package.json","../../../../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","../../../package.json","../../chunks/123.js","../../chunks/153.js","../../chunks/237.js","../../chunks/331.js","../../chunks/444.js","../../webpack-runtime.js","page_client-reference-manifest.js"]}
|