@hirra/vibemeter 0.1.1 → 0.1.3
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 -1
- package/.next/build-manifest.json +3 -3
- package/.next/fallback-build-manifest.json +3 -3
- package/.next/prerender-manifest.json +3 -3
- package/.next/server/app/_global-error.html +1 -1
- package/.next/server/app/_global-error.rsc +1 -1
- package/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/_not-found.html +1 -1
- package/.next/server/app/_not-found.rsc +1 -1
- package/.next/server/app/_not-found.segments/_full.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_index.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/admin/page.js.nft.json +1 -1
- package/.next/server/app/api/codex-accounts/route.js.nft.json +1 -1
- package/.next/server/app/api/import-sessions/route.js.nft.json +1 -1
- package/.next/server/app/page.js.nft.json +1 -1
- package/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/server/chunks/ssr/_0ye~8el._.js +1 -1
- package/.next/server/chunks/ssr/_0ye~8el._.js.map +1 -1
- package/.next/server/middleware-build-manifest.js +3 -3
- package/.next/server/pages/404.html +1 -1
- package/.next/server/pages/500.html +1 -1
- package/.next/server/server-reference-manifest.js +1 -1
- package/.next/server/server-reference-manifest.json +1 -1
- package/.next/static/chunks/{0erq0bmub6w_z.js → 0yz9oprcns4nm.js} +2 -2
- package/bin/require-hook.cjs +11 -0
- package/bin/vibemeter.mjs +9 -1
- package/package.json +1 -1
- /package/.next/static/{pbaZ4xRfoDHL1KG3S0xG- → DcqlVrgh4gM8jlqrnOCpT}/_buildManifest.js +0 -0
- /package/.next/static/{pbaZ4xRfoDHL1KG3S0xG- → DcqlVrgh4gM8jlqrnOCpT}/_clientMiddlewareManifest.js +0 -0
- /package/.next/static/{pbaZ4xRfoDHL1KG3S0xG- → DcqlVrgh4gM8jlqrnOCpT}/_ssgManifest.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":1,"files":["../../../../../AGENTS.md","../../../../../CLAUDE.md","../../../../../LICENSE","../../../../../README.md","../../../../../bin/vibemeter.mjs","../../../../../docs/demo1.png","../../../../../eslint.config.mjs","../../../../../next.config.mjs","../../../../../node_modules/@swc/helpers/cjs/_interop_require_default.cjs","../../../../../node_modules/@swc/helpers/package.json","../../../../../node_modules/next/dist/build/adapter/setup-node-env.external.js","../../../../../node_modules/next/dist/client/components/app-router-headers.js","../../../../../node_modules/next/dist/client/components/hooks-server-context.js","../../../../../node_modules/next/dist/client/components/static-generation-bailout.js","../../../../../node_modules/next/dist/client/lib/console.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-turbo.runtime.prod.js","../../../../../node_modules/next/dist/compiled/next-server/app-route-turbo.runtime.prod.js","../../../../../node_modules/next/dist/compiled/source-map/package.json","../../../../../node_modules/next/dist/compiled/source-map/source-map.js","../../../../../node_modules/next/dist/compiled/stacktrace-parser/package.json","../../../../../node_modules/next/dist/compiled/stacktrace-parser/stack-trace-parser.cjs.js","../../../../../node_modules/next/dist/compiled/ws/index.js","../../../../../node_modules/next/dist/compiled/ws/package.json","../../../../../node_modules/next/dist/lib/client-and-server-references.js","../../../../../node_modules/next/dist/lib/constants.js","../../../../../node_modules/next/dist/lib/framework/boundary-constants.js","../../../../../node_modules/next/dist/lib/interop-default.js","../../../../../node_modules/next/dist/lib/is-error.js","../../../../../node_modules/next/dist/lib/picocolors.js","../../../../../node_modules/next/dist/lib/scheduler.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/console-async-storage-instance.js","../../../../../node_modules/next/dist/server/app-render/console-async-storage.external.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/dynamic-rendering.js","../../../../../node_modules/next/dist/server/app-render/instant-validation/boundary-constants.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/staged-rendering.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/dev/browser-logs/file-logger.js","../../../../../node_modules/next/dist/server/dynamic-rendering-utils.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/parse-stack.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/source-maps.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/node-environment-baseline.js","../../../../../node_modules/next/dist/server/node-environment-extensions/console-dim.external.js","../../../../../node_modules/next/dist/server/node-environment-extensions/console-exit.js","../../../../../node_modules/next/dist/server/node-environment-extensions/console-file.js","../../../../../node_modules/next/dist/server/node-environment-extensions/date.js","../../../../../node_modules/next/dist/server/node-environment-extensions/error-inspect.js","../../../../../node_modules/next/dist/server/node-environment-extensions/fast-set-immediate.external.js","../../../../../node_modules/next/dist/server/node-environment-extensions/io-utils.js","../../../../../node_modules/next/dist/server/node-environment-extensions/node-crypto.js","../../../../../node_modules/next/dist/server/node-environment-extensions/random.js","../../../../../node_modules/next/dist/server/node-environment-extensions/unhandled-rejection.external.js","../../../../../node_modules/next/dist/server/node-environment-extensions/web-crypto.js","../../../../../node_modules/next/dist/server/node-environment.js","../../../../../node_modules/next/dist/server/node-polyfill-crypto.js","../../../../../node_modules/next/dist/server/patch-error-inspect.js","../../../../../node_modules/next/dist/server/require-hook.js","../../../../../node_modules/next/dist/server/response-cache/types.js","../../../../../node_modules/next/dist/server/runtime-reacts.external.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/lazy-dynamic/bailout-to-csr.js","../../../../../node_modules/next/dist/shared/lib/no-fallback-error.external.js","../../../../../node_modules/next/dist/shared/lib/promise-with-resolvers.js","../../../../../node_modules/next/dist/shared/lib/server-reference-info.js","../../../../../node_modules/next/package.json","../../../../../node_modules/react/cjs/react.development.js","../../../../../node_modules/react/cjs/react.production.js","../../../../../node_modules/react/index.js","../../../../../node_modules/react/package.json","../../../../../package-lock.json","../../../../../package.json","../../../../../postcss.config.mjs","../../../../../public/file.svg","../../../../../public/globe.svg","../../../../../public/next.svg","../../../../../public/vercel.svg","../../../../../public/window.svg","../../../../../src/app/admin/page.tsx","../../../../../src/app/api/codex-accounts/route.ts","../../../../../src/app/api/import-sessions/route.ts","../../../../../src/app/api/sessions/[id]/tags/route.ts","../../../../../src/app/api/sessions/route.ts","../../../../../src/app/api/usage/route.ts","../../../../../src/app/favicon.ico","../../../../../src/app/globals.css","../../../../../src/app/layout.tsx","../../../../../src/app/page.tsx","../../../../../src/components/AchievementsCard.tsx","../../../../../src/components/ActivityCard.tsx","../../../../../src/components/BurndownChart.tsx","../../../../../src/components/CodexAccountsPanel.tsx","../../../../../src/components/Dashboard.tsx","../../../../../src/components/FileHotspots.tsx","../../../../../src/components/ProjectLeaderboard.tsx","../../../../../src/components/SessionsTable.tsx","../../../../../src/components/SpendingCard.tsx","../../../../../src/components/ToolSplitCard.tsx","../../../../../src/lib/codex-auth.ts","../../../../../src/lib/collectors/codex-importer.ts","../../../../../src/lib/collectors/cursor-importer.ts","../../../../../src/lib/collectors/session-importer.ts","../../../../../src/lib/data-dir.ts","../../../../../src/lib/db-bootstrap.ts","../../../../../src/lib/db.ts","../../../../../src/lib/parsers/codex-ratelimit.ts","../../../../../src/lib/parsers/session-log.ts","../../../../../src/lib/parsers/statusline-json.ts","../../../../../src/lib/schema.ts","../../../../../src/lib/session-refresh.ts","../../../../../src/lib/stats.ts","../../../../../src/lib/usage-snapshots.ts","../../../../../tests/codex-auth.test.ts","../../../../../tests/codex-ratelimit.test.ts","../../../../../tests/db-migration.test.ts","../../../../../tests/session-refresh.test.ts","../../../../../tests/usage-accounts.test.ts","../../../../../tools/menubar/Vibemeter.app/Contents/Info.plist","../../../../../tools/menubar/Vibemeter.app/Contents/MacOS/Vibemeter","../../../../../tools/menubar/Vibemeter.swift","../../../../../tools/menubar/build.sh","../../../../../tsconfig.json","../../../../../tsconfig.tsbuildinfo","../../../chunks/[root-of-the-server]__0-74syk._.js","../../../chunks/[root-of-the-server]__0j8-xkl._.js","../../../chunks/[turbopack]_runtime.js","../../../chunks/_next-internal_server_app_api_codex-accounts_route_actions_0mvn0sb.js","./route_client-reference-manifest.js"]}
|
|
1
|
+
{"version":1,"files":["../../../../../AGENTS.md","../../../../../CLAUDE.md","../../../../../LICENSE","../../../../../README.md","../../../../../bin/require-hook.cjs","../../../../../bin/vibemeter.mjs","../../../../../docs/demo1.png","../../../../../eslint.config.mjs","../../../../../next.config.mjs","../../../../../node_modules/@swc/helpers/cjs/_interop_require_default.cjs","../../../../../node_modules/@swc/helpers/package.json","../../../../../node_modules/next/dist/build/adapter/setup-node-env.external.js","../../../../../node_modules/next/dist/client/components/app-router-headers.js","../../../../../node_modules/next/dist/client/components/hooks-server-context.js","../../../../../node_modules/next/dist/client/components/static-generation-bailout.js","../../../../../node_modules/next/dist/client/lib/console.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-turbo.runtime.prod.js","../../../../../node_modules/next/dist/compiled/next-server/app-route-turbo.runtime.prod.js","../../../../../node_modules/next/dist/compiled/source-map/package.json","../../../../../node_modules/next/dist/compiled/source-map/source-map.js","../../../../../node_modules/next/dist/compiled/stacktrace-parser/package.json","../../../../../node_modules/next/dist/compiled/stacktrace-parser/stack-trace-parser.cjs.js","../../../../../node_modules/next/dist/compiled/ws/index.js","../../../../../node_modules/next/dist/compiled/ws/package.json","../../../../../node_modules/next/dist/lib/client-and-server-references.js","../../../../../node_modules/next/dist/lib/constants.js","../../../../../node_modules/next/dist/lib/framework/boundary-constants.js","../../../../../node_modules/next/dist/lib/interop-default.js","../../../../../node_modules/next/dist/lib/is-error.js","../../../../../node_modules/next/dist/lib/picocolors.js","../../../../../node_modules/next/dist/lib/scheduler.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/console-async-storage-instance.js","../../../../../node_modules/next/dist/server/app-render/console-async-storage.external.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/dynamic-rendering.js","../../../../../node_modules/next/dist/server/app-render/instant-validation/boundary-constants.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/staged-rendering.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/dev/browser-logs/file-logger.js","../../../../../node_modules/next/dist/server/dynamic-rendering-utils.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/parse-stack.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/source-maps.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/node-environment-baseline.js","../../../../../node_modules/next/dist/server/node-environment-extensions/console-dim.external.js","../../../../../node_modules/next/dist/server/node-environment-extensions/console-exit.js","../../../../../node_modules/next/dist/server/node-environment-extensions/console-file.js","../../../../../node_modules/next/dist/server/node-environment-extensions/date.js","../../../../../node_modules/next/dist/server/node-environment-extensions/error-inspect.js","../../../../../node_modules/next/dist/server/node-environment-extensions/fast-set-immediate.external.js","../../../../../node_modules/next/dist/server/node-environment-extensions/io-utils.js","../../../../../node_modules/next/dist/server/node-environment-extensions/node-crypto.js","../../../../../node_modules/next/dist/server/node-environment-extensions/random.js","../../../../../node_modules/next/dist/server/node-environment-extensions/unhandled-rejection.external.js","../../../../../node_modules/next/dist/server/node-environment-extensions/web-crypto.js","../../../../../node_modules/next/dist/server/node-environment.js","../../../../../node_modules/next/dist/server/node-polyfill-crypto.js","../../../../../node_modules/next/dist/server/patch-error-inspect.js","../../../../../node_modules/next/dist/server/require-hook.js","../../../../../node_modules/next/dist/server/response-cache/types.js","../../../../../node_modules/next/dist/server/runtime-reacts.external.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/lazy-dynamic/bailout-to-csr.js","../../../../../node_modules/next/dist/shared/lib/no-fallback-error.external.js","../../../../../node_modules/next/dist/shared/lib/promise-with-resolvers.js","../../../../../node_modules/next/dist/shared/lib/server-reference-info.js","../../../../../node_modules/next/package.json","../../../../../node_modules/react/cjs/react.development.js","../../../../../node_modules/react/cjs/react.production.js","../../../../../node_modules/react/index.js","../../../../../node_modules/react/package.json","../../../../../package-lock.json","../../../../../package.json","../../../../../postcss.config.mjs","../../../../../public/file.svg","../../../../../public/globe.svg","../../../../../public/next.svg","../../../../../public/vercel.svg","../../../../../public/window.svg","../../../../../src/app/admin/page.tsx","../../../../../src/app/api/codex-accounts/route.ts","../../../../../src/app/api/import-sessions/route.ts","../../../../../src/app/api/sessions/[id]/tags/route.ts","../../../../../src/app/api/sessions/route.ts","../../../../../src/app/api/usage/route.ts","../../../../../src/app/favicon.ico","../../../../../src/app/globals.css","../../../../../src/app/layout.tsx","../../../../../src/app/page.tsx","../../../../../src/components/AchievementsCard.tsx","../../../../../src/components/ActivityCard.tsx","../../../../../src/components/BurndownChart.tsx","../../../../../src/components/CodexAccountsPanel.tsx","../../../../../src/components/Dashboard.tsx","../../../../../src/components/FileHotspots.tsx","../../../../../src/components/ProjectLeaderboard.tsx","../../../../../src/components/SessionsTable.tsx","../../../../../src/components/SpendingCard.tsx","../../../../../src/components/ToolSplitCard.tsx","../../../../../src/lib/codex-auth.ts","../../../../../src/lib/collectors/codex-importer.ts","../../../../../src/lib/collectors/cursor-importer.ts","../../../../../src/lib/collectors/session-importer.ts","../../../../../src/lib/data-dir.ts","../../../../../src/lib/db-bootstrap.ts","../../../../../src/lib/db.ts","../../../../../src/lib/parsers/codex-ratelimit.ts","../../../../../src/lib/parsers/session-log.ts","../../../../../src/lib/parsers/statusline-json.ts","../../../../../src/lib/schema.ts","../../../../../src/lib/session-refresh.ts","../../../../../src/lib/stats.ts","../../../../../src/lib/usage-snapshots.ts","../../../../../tests/codex-auth.test.ts","../../../../../tests/codex-ratelimit.test.ts","../../../../../tests/db-migration.test.ts","../../../../../tests/session-refresh.test.ts","../../../../../tests/usage-accounts.test.ts","../../../../../tools/menubar/Vibemeter.app/Contents/Info.plist","../../../../../tools/menubar/Vibemeter.app/Contents/MacOS/Vibemeter","../../../../../tools/menubar/Vibemeter.swift","../../../../../tools/menubar/build.sh","../../../../../tsconfig.json","../../../../../tsconfig.tsbuildinfo","../../../chunks/[root-of-the-server]__0-74syk._.js","../../../chunks/[root-of-the-server]__0j8-xkl._.js","../../../chunks/[turbopack]_runtime.js","../../../chunks/_next-internal_server_app_api_codex-accounts_route_actions_0mvn0sb.js","./route_client-reference-manifest.js"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":1,"files":["../../../../../.data/continuity.sqlite","../../../../../.data/continuity.sqlite-shm","../../../../../.data/continuity.sqlite-wal","../../../../../.data/probe-usage.txt","../../../../../.data/sessions.db","../../../../../.data/statusline-latest.json","../../../../../AGENTS.md","../../../../../CLAUDE.md","../../../../../LICENSE","../../../../../README.md","../../../../../bin/vibemeter.mjs","../../../../../docs/demo1.png","../../../../../eslint.config.mjs","../../../../../next.config.mjs","../../../../../node_modules/@swc/helpers/cjs/_interop_require_default.cjs","../../../../../node_modules/@swc/helpers/package.json","../../../../../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/build/adapter/setup-node-env.external.js","../../../../../node_modules/next/dist/client/components/app-router-headers.js","../../../../../node_modules/next/dist/client/components/hooks-server-context.js","../../../../../node_modules/next/dist/client/components/static-generation-bailout.js","../../../../../node_modules/next/dist/client/lib/console.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-turbo.runtime.prod.js","../../../../../node_modules/next/dist/compiled/next-server/app-route-turbo.runtime.prod.js","../../../../../node_modules/next/dist/compiled/source-map/package.json","../../../../../node_modules/next/dist/compiled/source-map/source-map.js","../../../../../node_modules/next/dist/compiled/stacktrace-parser/package.json","../../../../../node_modules/next/dist/compiled/stacktrace-parser/stack-trace-parser.cjs.js","../../../../../node_modules/next/dist/compiled/ws/index.js","../../../../../node_modules/next/dist/compiled/ws/package.json","../../../../../node_modules/next/dist/lib/client-and-server-references.js","../../../../../node_modules/next/dist/lib/constants.js","../../../../../node_modules/next/dist/lib/framework/boundary-constants.js","../../../../../node_modules/next/dist/lib/interop-default.js","../../../../../node_modules/next/dist/lib/is-error.js","../../../../../node_modules/next/dist/lib/picocolors.js","../../../../../node_modules/next/dist/lib/scheduler.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/console-async-storage-instance.js","../../../../../node_modules/next/dist/server/app-render/console-async-storage.external.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/dynamic-rendering.js","../../../../../node_modules/next/dist/server/app-render/instant-validation/boundary-constants.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/staged-rendering.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/dev/browser-logs/file-logger.js","../../../../../node_modules/next/dist/server/dynamic-rendering-utils.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/parse-stack.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/source-maps.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/node-environment-baseline.js","../../../../../node_modules/next/dist/server/node-environment-extensions/console-dim.external.js","../../../../../node_modules/next/dist/server/node-environment-extensions/console-exit.js","../../../../../node_modules/next/dist/server/node-environment-extensions/console-file.js","../../../../../node_modules/next/dist/server/node-environment-extensions/date.js","../../../../../node_modules/next/dist/server/node-environment-extensions/error-inspect.js","../../../../../node_modules/next/dist/server/node-environment-extensions/fast-set-immediate.external.js","../../../../../node_modules/next/dist/server/node-environment-extensions/io-utils.js","../../../../../node_modules/next/dist/server/node-environment-extensions/node-crypto.js","../../../../../node_modules/next/dist/server/node-environment-extensions/random.js","../../../../../node_modules/next/dist/server/node-environment-extensions/unhandled-rejection.external.js","../../../../../node_modules/next/dist/server/node-environment-extensions/web-crypto.js","../../../../../node_modules/next/dist/server/node-environment.js","../../../../../node_modules/next/dist/server/node-polyfill-crypto.js","../../../../../node_modules/next/dist/server/patch-error-inspect.js","../../../../../node_modules/next/dist/server/require-hook.js","../../../../../node_modules/next/dist/server/response-cache/types.js","../../../../../node_modules/next/dist/server/runtime-reacts.external.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/lazy-dynamic/bailout-to-csr.js","../../../../../node_modules/next/dist/shared/lib/no-fallback-error.external.js","../../../../../node_modules/next/dist/shared/lib/promise-with-resolvers.js","../../../../../node_modules/next/dist/shared/lib/server-reference-info.js","../../../../../node_modules/next/package.json","../../../../../node_modules/react/cjs/react.development.js","../../../../../node_modules/react/cjs/react.production.js","../../../../../node_modules/react/index.js","../../../../../node_modules/react/package.json","../../../../../package-lock.json","../../../../../package.json","../../../../../postcss.config.mjs","../../../../../public/file.svg","../../../../../public/globe.svg","../../../../../public/next.svg","../../../../../public/vercel.svg","../../../../../public/window.svg","../../../../../src/app/admin/page.tsx","../../../../../src/app/api/codex-accounts/route.ts","../../../../../src/app/api/import-sessions/route.ts","../../../../../src/app/api/sessions/[id]/tags/route.ts","../../../../../src/app/api/sessions/route.ts","../../../../../src/app/api/usage/route.ts","../../../../../src/app/favicon.ico","../../../../../src/app/globals.css","../../../../../src/app/layout.tsx","../../../../../src/app/page.tsx","../../../../../src/components/AchievementsCard.tsx","../../../../../src/components/ActivityCard.tsx","../../../../../src/components/BurndownChart.tsx","../../../../../src/components/CodexAccountsPanel.tsx","../../../../../src/components/Dashboard.tsx","../../../../../src/components/FileHotspots.tsx","../../../../../src/components/ProjectLeaderboard.tsx","../../../../../src/components/SessionsTable.tsx","../../../../../src/components/SpendingCard.tsx","../../../../../src/components/ToolSplitCard.tsx","../../../../../src/lib/codex-auth.ts","../../../../../src/lib/collectors/codex-importer.ts","../../../../../src/lib/collectors/cursor-importer.ts","../../../../../src/lib/collectors/session-importer.ts","../../../../../src/lib/data-dir.ts","../../../../../src/lib/db-bootstrap.ts","../../../../../src/lib/db.ts","../../../../../src/lib/parsers/codex-ratelimit.ts","../../../../../src/lib/parsers/session-log.ts","../../../../../src/lib/parsers/statusline-json.ts","../../../../../src/lib/schema.ts","../../../../../src/lib/session-refresh.ts","../../../../../src/lib/stats.ts","../../../../../src/lib/usage-snapshots.ts","../../../../../tests/codex-auth.test.ts","../../../../../tests/codex-ratelimit.test.ts","../../../../../tests/db-migration.test.ts","../../../../../tests/session-refresh.test.ts","../../../../../tests/usage-accounts.test.ts","../../../../../tools/menubar/Vibemeter.app/Contents/Info.plist","../../../../../tools/menubar/Vibemeter.app/Contents/MacOS/Vibemeter","../../../../../tools/menubar/Vibemeter.swift","../../../../../tools/menubar/build.sh","../../../../../tsconfig.json","../../../../../tsconfig.tsbuildinfo","../../../../node_modules/better-sqlite3-90e2652d1716b047","../../../chunks/[root-of-the-server]__0chedn~._.js","../../../chunks/[root-of-the-server]__0j8-xkl._.js","../../../chunks/[root-of-the-server]__0y68a5d._.js","../../../chunks/[turbopack]_runtime.js","../../../chunks/_next-internal_server_app_api_import-sessions_route_actions_0gcv3u8.js","../../../chunks/node_modules_zod_v4_classic_external_131y~ke.js","./route_client-reference-manifest.js"]}
|
|
1
|
+
{"version":1,"files":["../../../../../.data/continuity.sqlite","../../../../../.data/continuity.sqlite-shm","../../../../../.data/continuity.sqlite-wal","../../../../../.data/probe-usage.txt","../../../../../.data/sessions.db","../../../../../.data/statusline-latest.json","../../../../../AGENTS.md","../../../../../CLAUDE.md","../../../../../LICENSE","../../../../../README.md","../../../../../bin/require-hook.cjs","../../../../../bin/vibemeter.mjs","../../../../../docs/demo1.png","../../../../../eslint.config.mjs","../../../../../next.config.mjs","../../../../../node_modules/@swc/helpers/cjs/_interop_require_default.cjs","../../../../../node_modules/@swc/helpers/package.json","../../../../../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/build/adapter/setup-node-env.external.js","../../../../../node_modules/next/dist/client/components/app-router-headers.js","../../../../../node_modules/next/dist/client/components/hooks-server-context.js","../../../../../node_modules/next/dist/client/components/static-generation-bailout.js","../../../../../node_modules/next/dist/client/lib/console.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-turbo.runtime.prod.js","../../../../../node_modules/next/dist/compiled/next-server/app-route-turbo.runtime.prod.js","../../../../../node_modules/next/dist/compiled/source-map/package.json","../../../../../node_modules/next/dist/compiled/source-map/source-map.js","../../../../../node_modules/next/dist/compiled/stacktrace-parser/package.json","../../../../../node_modules/next/dist/compiled/stacktrace-parser/stack-trace-parser.cjs.js","../../../../../node_modules/next/dist/compiled/ws/index.js","../../../../../node_modules/next/dist/compiled/ws/package.json","../../../../../node_modules/next/dist/lib/client-and-server-references.js","../../../../../node_modules/next/dist/lib/constants.js","../../../../../node_modules/next/dist/lib/framework/boundary-constants.js","../../../../../node_modules/next/dist/lib/interop-default.js","../../../../../node_modules/next/dist/lib/is-error.js","../../../../../node_modules/next/dist/lib/picocolors.js","../../../../../node_modules/next/dist/lib/scheduler.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/console-async-storage-instance.js","../../../../../node_modules/next/dist/server/app-render/console-async-storage.external.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/dynamic-rendering.js","../../../../../node_modules/next/dist/server/app-render/instant-validation/boundary-constants.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/staged-rendering.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/dev/browser-logs/file-logger.js","../../../../../node_modules/next/dist/server/dynamic-rendering-utils.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/parse-stack.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/source-maps.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/node-environment-baseline.js","../../../../../node_modules/next/dist/server/node-environment-extensions/console-dim.external.js","../../../../../node_modules/next/dist/server/node-environment-extensions/console-exit.js","../../../../../node_modules/next/dist/server/node-environment-extensions/console-file.js","../../../../../node_modules/next/dist/server/node-environment-extensions/date.js","../../../../../node_modules/next/dist/server/node-environment-extensions/error-inspect.js","../../../../../node_modules/next/dist/server/node-environment-extensions/fast-set-immediate.external.js","../../../../../node_modules/next/dist/server/node-environment-extensions/io-utils.js","../../../../../node_modules/next/dist/server/node-environment-extensions/node-crypto.js","../../../../../node_modules/next/dist/server/node-environment-extensions/random.js","../../../../../node_modules/next/dist/server/node-environment-extensions/unhandled-rejection.external.js","../../../../../node_modules/next/dist/server/node-environment-extensions/web-crypto.js","../../../../../node_modules/next/dist/server/node-environment.js","../../../../../node_modules/next/dist/server/node-polyfill-crypto.js","../../../../../node_modules/next/dist/server/patch-error-inspect.js","../../../../../node_modules/next/dist/server/require-hook.js","../../../../../node_modules/next/dist/server/response-cache/types.js","../../../../../node_modules/next/dist/server/runtime-reacts.external.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/lazy-dynamic/bailout-to-csr.js","../../../../../node_modules/next/dist/shared/lib/no-fallback-error.external.js","../../../../../node_modules/next/dist/shared/lib/promise-with-resolvers.js","../../../../../node_modules/next/dist/shared/lib/server-reference-info.js","../../../../../node_modules/next/package.json","../../../../../node_modules/react/cjs/react.development.js","../../../../../node_modules/react/cjs/react.production.js","../../../../../node_modules/react/index.js","../../../../../node_modules/react/package.json","../../../../../package-lock.json","../../../../../package.json","../../../../../postcss.config.mjs","../../../../../public/file.svg","../../../../../public/globe.svg","../../../../../public/next.svg","../../../../../public/vercel.svg","../../../../../public/window.svg","../../../../../src/app/admin/page.tsx","../../../../../src/app/api/codex-accounts/route.ts","../../../../../src/app/api/import-sessions/route.ts","../../../../../src/app/api/sessions/[id]/tags/route.ts","../../../../../src/app/api/sessions/route.ts","../../../../../src/app/api/usage/route.ts","../../../../../src/app/favicon.ico","../../../../../src/app/globals.css","../../../../../src/app/layout.tsx","../../../../../src/app/page.tsx","../../../../../src/components/AchievementsCard.tsx","../../../../../src/components/ActivityCard.tsx","../../../../../src/components/BurndownChart.tsx","../../../../../src/components/CodexAccountsPanel.tsx","../../../../../src/components/Dashboard.tsx","../../../../../src/components/FileHotspots.tsx","../../../../../src/components/ProjectLeaderboard.tsx","../../../../../src/components/SessionsTable.tsx","../../../../../src/components/SpendingCard.tsx","../../../../../src/components/ToolSplitCard.tsx","../../../../../src/lib/codex-auth.ts","../../../../../src/lib/collectors/codex-importer.ts","../../../../../src/lib/collectors/cursor-importer.ts","../../../../../src/lib/collectors/session-importer.ts","../../../../../src/lib/data-dir.ts","../../../../../src/lib/db-bootstrap.ts","../../../../../src/lib/db.ts","../../../../../src/lib/parsers/codex-ratelimit.ts","../../../../../src/lib/parsers/session-log.ts","../../../../../src/lib/parsers/statusline-json.ts","../../../../../src/lib/schema.ts","../../../../../src/lib/session-refresh.ts","../../../../../src/lib/stats.ts","../../../../../src/lib/usage-snapshots.ts","../../../../../tests/codex-auth.test.ts","../../../../../tests/codex-ratelimit.test.ts","../../../../../tests/db-migration.test.ts","../../../../../tests/session-refresh.test.ts","../../../../../tests/usage-accounts.test.ts","../../../../../tools/menubar/Vibemeter.app/Contents/Info.plist","../../../../../tools/menubar/Vibemeter.app/Contents/MacOS/Vibemeter","../../../../../tools/menubar/Vibemeter.swift","../../../../../tools/menubar/build.sh","../../../../../tsconfig.json","../../../../../tsconfig.tsbuildinfo","../../../../node_modules/better-sqlite3-90e2652d1716b047","../../../chunks/[root-of-the-server]__0chedn~._.js","../../../chunks/[root-of-the-server]__0j8-xkl._.js","../../../chunks/[root-of-the-server]__0y68a5d._.js","../../../chunks/[turbopack]_runtime.js","../../../chunks/_next-internal_server_app_api_import-sessions_route_actions_0gcv3u8.js","../../../chunks/node_modules_zod_v4_classic_external_131y~ke.js","./route_client-reference-manifest.js"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":1,"files":["../../../.data/continuity.sqlite","../../../.data/continuity.sqlite-shm","../../../.data/continuity.sqlite-wal","../../../.data/probe-usage.txt","../../../.data/sessions.db","../../../.data/statusline-latest.json","../../../AGENTS.md","../../../CLAUDE.md","../../../LICENSE","../../../README.md","../../../bin/vibemeter.mjs","../../../docs/demo1.png","../../../eslint.config.mjs","../../../next.config.mjs","../../../node_modules/@swc/helpers/cjs/_interop_require_default.cjs","../../../node_modules/@swc/helpers/package.json","../../../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/build/adapter/setup-node-env.external.js","../../../node_modules/next/dist/client/components/app-router-headers.js","../../../node_modules/next/dist/client/components/hooks-server-context.js","../../../node_modules/next/dist/client/components/static-generation-bailout.js","../../../node_modules/next/dist/client/lib/console.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-turbo.runtime.prod.js","../../../node_modules/next/dist/compiled/source-map/package.json","../../../node_modules/next/dist/compiled/source-map/source-map.js","../../../node_modules/next/dist/compiled/stacktrace-parser/package.json","../../../node_modules/next/dist/compiled/stacktrace-parser/stack-trace-parser.cjs.js","../../../node_modules/next/dist/compiled/ws/index.js","../../../node_modules/next/dist/compiled/ws/package.json","../../../node_modules/next/dist/lib/client-and-server-references.js","../../../node_modules/next/dist/lib/constants.js","../../../node_modules/next/dist/lib/framework/boundary-constants.js","../../../node_modules/next/dist/lib/interop-default.js","../../../node_modules/next/dist/lib/is-error.js","../../../node_modules/next/dist/lib/picocolors.js","../../../node_modules/next/dist/lib/scheduler.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/console-async-storage-instance.js","../../../node_modules/next/dist/server/app-render/console-async-storage.external.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/dynamic-rendering.js","../../../node_modules/next/dist/server/app-render/instant-validation/boundary-constants.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/staged-rendering.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/dev/browser-logs/file-logger.js","../../../node_modules/next/dist/server/dynamic-rendering-utils.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/parse-stack.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/source-maps.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/node-environment-baseline.js","../../../node_modules/next/dist/server/node-environment-extensions/console-dim.external.js","../../../node_modules/next/dist/server/node-environment-extensions/console-exit.js","../../../node_modules/next/dist/server/node-environment-extensions/console-file.js","../../../node_modules/next/dist/server/node-environment-extensions/date.js","../../../node_modules/next/dist/server/node-environment-extensions/error-inspect.js","../../../node_modules/next/dist/server/node-environment-extensions/fast-set-immediate.external.js","../../../node_modules/next/dist/server/node-environment-extensions/io-utils.js","../../../node_modules/next/dist/server/node-environment-extensions/node-crypto.js","../../../node_modules/next/dist/server/node-environment-extensions/random.js","../../../node_modules/next/dist/server/node-environment-extensions/unhandled-rejection.external.js","../../../node_modules/next/dist/server/node-environment-extensions/web-crypto.js","../../../node_modules/next/dist/server/node-environment.js","../../../node_modules/next/dist/server/node-polyfill-crypto.js","../../../node_modules/next/dist/server/patch-error-inspect.js","../../../node_modules/next/dist/server/require-hook.js","../../../node_modules/next/dist/server/response-cache/types.js","../../../node_modules/next/dist/server/runtime-reacts.external.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/lazy-dynamic/bailout-to-csr.js","../../../node_modules/next/dist/shared/lib/no-fallback-error.external.js","../../../node_modules/next/dist/shared/lib/promise-with-resolvers.js","../../../node_modules/next/dist/shared/lib/server-reference-info.js","../../../node_modules/next/package.json","../../../node_modules/react/cjs/react.development.js","../../../node_modules/react/cjs/react.production.js","../../../node_modules/react/index.js","../../../node_modules/react/package.json","../../../package-lock.json","../../../package.json","../../../postcss.config.mjs","../../../public/file.svg","../../../public/globe.svg","../../../public/next.svg","../../../public/vercel.svg","../../../public/window.svg","../../../src/app/admin/page.tsx","../../../src/app/api/codex-accounts/route.ts","../../../src/app/api/import-sessions/route.ts","../../../src/app/api/sessions/[id]/tags/route.ts","../../../src/app/api/sessions/route.ts","../../../src/app/api/usage/route.ts","../../../src/app/favicon.ico","../../../src/app/globals.css","../../../src/app/layout.tsx","../../../src/app/page.tsx","../../../src/components/AchievementsCard.tsx","../../../src/components/ActivityCard.tsx","../../../src/components/BurndownChart.tsx","../../../src/components/CodexAccountsPanel.tsx","../../../src/components/Dashboard.tsx","../../../src/components/FileHotspots.tsx","../../../src/components/ProjectLeaderboard.tsx","../../../src/components/SessionsTable.tsx","../../../src/components/SpendingCard.tsx","../../../src/components/ToolSplitCard.tsx","../../../src/lib/codex-auth.ts","../../../src/lib/collectors/codex-importer.ts","../../../src/lib/collectors/cursor-importer.ts","../../../src/lib/collectors/session-importer.ts","../../../src/lib/data-dir.ts","../../../src/lib/db-bootstrap.ts","../../../src/lib/db.ts","../../../src/lib/parsers/codex-ratelimit.ts","../../../src/lib/parsers/session-log.ts","../../../src/lib/parsers/statusline-json.ts","../../../src/lib/schema.ts","../../../src/lib/session-refresh.ts","../../../src/lib/stats.ts","../../../src/lib/usage-snapshots.ts","../../../tests/codex-auth.test.ts","../../../tests/codex-ratelimit.test.ts","../../../tests/db-migration.test.ts","../../../tests/session-refresh.test.ts","../../../tests/usage-accounts.test.ts","../../../tools/menubar/Vibemeter.app/Contents/Info.plist","../../../tools/menubar/Vibemeter.app/Contents/MacOS/Vibemeter","../../../tools/menubar/Vibemeter.swift","../../../tools/menubar/build.sh","../../../tsconfig.json","../../../tsconfig.tsbuildinfo","../../node_modules/better-sqlite3-90e2652d1716b047","../chunks/ssr/[root-of-the-server]__098zro9._.js","../chunks/ssr/[root-of-the-server]__09hgk-7._.js","../chunks/ssr/[root-of-the-server]__0l.drdn._.js","../chunks/ssr/[root-of-the-server]__0v1zqf~._.js","../chunks/ssr/[root-of-the-server]__0v73tbn._.js","../chunks/ssr/[turbopack]_runtime.js","../chunks/ssr/_0ye~8el._.js","../chunks/ssr/_next-internal_server_app_page_actions_09-gtaw.js","../chunks/ssr/node_modules_09w7yel._.js","../chunks/ssr/node_modules_0ck2~9g._.js","../chunks/ssr/node_modules_next_dist_0e1izl_._.js","../chunks/ssr/node_modules_next_dist_0gsjr7_._.js","../chunks/ssr/node_modules_next_dist_client_components_0inhx6q._.js","../chunks/ssr/node_modules_next_dist_client_components_builtin_forbidden_0ghu-f7.js","../chunks/ssr/node_modules_next_dist_client_components_builtin_global-error_0lgvd_..js","../chunks/ssr/node_modules_next_dist_client_components_builtin_unauthorized_0cjv-23.js","../chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_07vh7rm.js","./page/react-loadable-manifest.json","./page_client-reference-manifest.js"]}
|
|
1
|
+
{"version":1,"files":["../../../.data/continuity.sqlite","../../../.data/continuity.sqlite-shm","../../../.data/continuity.sqlite-wal","../../../.data/probe-usage.txt","../../../.data/sessions.db","../../../.data/statusline-latest.json","../../../AGENTS.md","../../../CLAUDE.md","../../../LICENSE","../../../README.md","../../../bin/require-hook.cjs","../../../bin/vibemeter.mjs","../../../docs/demo1.png","../../../eslint.config.mjs","../../../next.config.mjs","../../../node_modules/@swc/helpers/cjs/_interop_require_default.cjs","../../../node_modules/@swc/helpers/package.json","../../../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/build/adapter/setup-node-env.external.js","../../../node_modules/next/dist/client/components/app-router-headers.js","../../../node_modules/next/dist/client/components/hooks-server-context.js","../../../node_modules/next/dist/client/components/static-generation-bailout.js","../../../node_modules/next/dist/client/lib/console.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-turbo.runtime.prod.js","../../../node_modules/next/dist/compiled/source-map/package.json","../../../node_modules/next/dist/compiled/source-map/source-map.js","../../../node_modules/next/dist/compiled/stacktrace-parser/package.json","../../../node_modules/next/dist/compiled/stacktrace-parser/stack-trace-parser.cjs.js","../../../node_modules/next/dist/compiled/ws/index.js","../../../node_modules/next/dist/compiled/ws/package.json","../../../node_modules/next/dist/lib/client-and-server-references.js","../../../node_modules/next/dist/lib/constants.js","../../../node_modules/next/dist/lib/framework/boundary-constants.js","../../../node_modules/next/dist/lib/interop-default.js","../../../node_modules/next/dist/lib/is-error.js","../../../node_modules/next/dist/lib/picocolors.js","../../../node_modules/next/dist/lib/scheduler.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/console-async-storage-instance.js","../../../node_modules/next/dist/server/app-render/console-async-storage.external.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/dynamic-rendering.js","../../../node_modules/next/dist/server/app-render/instant-validation/boundary-constants.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/staged-rendering.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/dev/browser-logs/file-logger.js","../../../node_modules/next/dist/server/dynamic-rendering-utils.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/parse-stack.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/source-maps.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/node-environment-baseline.js","../../../node_modules/next/dist/server/node-environment-extensions/console-dim.external.js","../../../node_modules/next/dist/server/node-environment-extensions/console-exit.js","../../../node_modules/next/dist/server/node-environment-extensions/console-file.js","../../../node_modules/next/dist/server/node-environment-extensions/date.js","../../../node_modules/next/dist/server/node-environment-extensions/error-inspect.js","../../../node_modules/next/dist/server/node-environment-extensions/fast-set-immediate.external.js","../../../node_modules/next/dist/server/node-environment-extensions/io-utils.js","../../../node_modules/next/dist/server/node-environment-extensions/node-crypto.js","../../../node_modules/next/dist/server/node-environment-extensions/random.js","../../../node_modules/next/dist/server/node-environment-extensions/unhandled-rejection.external.js","../../../node_modules/next/dist/server/node-environment-extensions/web-crypto.js","../../../node_modules/next/dist/server/node-environment.js","../../../node_modules/next/dist/server/node-polyfill-crypto.js","../../../node_modules/next/dist/server/patch-error-inspect.js","../../../node_modules/next/dist/server/require-hook.js","../../../node_modules/next/dist/server/response-cache/types.js","../../../node_modules/next/dist/server/runtime-reacts.external.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/lazy-dynamic/bailout-to-csr.js","../../../node_modules/next/dist/shared/lib/no-fallback-error.external.js","../../../node_modules/next/dist/shared/lib/promise-with-resolvers.js","../../../node_modules/next/dist/shared/lib/server-reference-info.js","../../../node_modules/next/package.json","../../../node_modules/react/cjs/react.development.js","../../../node_modules/react/cjs/react.production.js","../../../node_modules/react/index.js","../../../node_modules/react/package.json","../../../package-lock.json","../../../package.json","../../../postcss.config.mjs","../../../public/file.svg","../../../public/globe.svg","../../../public/next.svg","../../../public/vercel.svg","../../../public/window.svg","../../../src/app/admin/page.tsx","../../../src/app/api/codex-accounts/route.ts","../../../src/app/api/import-sessions/route.ts","../../../src/app/api/sessions/[id]/tags/route.ts","../../../src/app/api/sessions/route.ts","../../../src/app/api/usage/route.ts","../../../src/app/favicon.ico","../../../src/app/globals.css","../../../src/app/layout.tsx","../../../src/app/page.tsx","../../../src/components/AchievementsCard.tsx","../../../src/components/ActivityCard.tsx","../../../src/components/BurndownChart.tsx","../../../src/components/CodexAccountsPanel.tsx","../../../src/components/Dashboard.tsx","../../../src/components/FileHotspots.tsx","../../../src/components/ProjectLeaderboard.tsx","../../../src/components/SessionsTable.tsx","../../../src/components/SpendingCard.tsx","../../../src/components/ToolSplitCard.tsx","../../../src/lib/codex-auth.ts","../../../src/lib/collectors/codex-importer.ts","../../../src/lib/collectors/cursor-importer.ts","../../../src/lib/collectors/session-importer.ts","../../../src/lib/data-dir.ts","../../../src/lib/db-bootstrap.ts","../../../src/lib/db.ts","../../../src/lib/parsers/codex-ratelimit.ts","../../../src/lib/parsers/session-log.ts","../../../src/lib/parsers/statusline-json.ts","../../../src/lib/schema.ts","../../../src/lib/session-refresh.ts","../../../src/lib/stats.ts","../../../src/lib/usage-snapshots.ts","../../../tests/codex-auth.test.ts","../../../tests/codex-ratelimit.test.ts","../../../tests/db-migration.test.ts","../../../tests/session-refresh.test.ts","../../../tests/usage-accounts.test.ts","../../../tools/menubar/Vibemeter.app/Contents/Info.plist","../../../tools/menubar/Vibemeter.app/Contents/MacOS/Vibemeter","../../../tools/menubar/Vibemeter.swift","../../../tools/menubar/build.sh","../../../tsconfig.json","../../../tsconfig.tsbuildinfo","../../node_modules/better-sqlite3-90e2652d1716b047","../chunks/ssr/[root-of-the-server]__098zro9._.js","../chunks/ssr/[root-of-the-server]__09hgk-7._.js","../chunks/ssr/[root-of-the-server]__0l.drdn._.js","../chunks/ssr/[root-of-the-server]__0v1zqf~._.js","../chunks/ssr/[root-of-the-server]__0v73tbn._.js","../chunks/ssr/[turbopack]_runtime.js","../chunks/ssr/_0ye~8el._.js","../chunks/ssr/_next-internal_server_app_page_actions_09-gtaw.js","../chunks/ssr/node_modules_09w7yel._.js","../chunks/ssr/node_modules_0ck2~9g._.js","../chunks/ssr/node_modules_next_dist_0e1izl_._.js","../chunks/ssr/node_modules_next_dist_0gsjr7_._.js","../chunks/ssr/node_modules_next_dist_client_components_0inhx6q._.js","../chunks/ssr/node_modules_next_dist_client_components_builtin_forbidden_0ghu-f7.js","../chunks/ssr/node_modules_next_dist_client_components_builtin_global-error_0lgvd_..js","../chunks/ssr/node_modules_next_dist_client_components_builtin_unauthorized_0cjv-23.js","../chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_07vh7rm.js","./page/react-loadable-manifest.json","./page_client-reference-manifest.js"]}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
globalThis.__RSC_MANIFEST = globalThis.__RSC_MANIFEST || {};
|
|
2
|
-
globalThis.__RSC_MANIFEST["/page"] = {"moduleLoading":{"prefix":"","crossOrigin":null},"clientModules":{"[project]/node_modules/next/dist/esm/client/components/layout-router.js <module evaluation>":{"id":39756,"name":"*","chunks":["/_next/static/chunks/01xlw8hd842-c.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"async":false},"[project]/node_modules/next/dist/esm/client/components/layout-router.js":{"id":39756,"name":"*","chunks":["/_next/static/chunks/01xlw8hd842-c.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"async":false},"[project]/node_modules/next/dist/esm/client/components/render-from-template-context.js <module evaluation>":{"id":37457,"name":"*","chunks":["/_next/static/chunks/01xlw8hd842-c.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"async":false},"[project]/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":37457,"name":"*","chunks":["/_next/static/chunks/01xlw8hd842-c.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"async":false},"[project]/node_modules/next/dist/esm/client/components/client-page.js <module evaluation>":{"id":47257,"name":"*","chunks":["/_next/static/chunks/01xlw8hd842-c.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"async":false},"[project]/node_modules/next/dist/esm/client/components/client-page.js":{"id":47257,"name":"*","chunks":["/_next/static/chunks/01xlw8hd842-c.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"async":false},"[project]/node_modules/next/dist/esm/client/components/client-segment.js <module evaluation>":{"id":92825,"name":"*","chunks":["/_next/static/chunks/01xlw8hd842-c.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"async":false},"[project]/node_modules/next/dist/esm/client/components/client-segment.js":{"id":92825,"name":"*","chunks":["/_next/static/chunks/01xlw8hd842-c.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"async":false},"[project]/node_modules/next/dist/esm/client/components/http-access-fallback/error-boundary.js <module evaluation>":{"id":68017,"name":"*","chunks":["/_next/static/chunks/01xlw8hd842-c.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"async":false},"[project]/node_modules/next/dist/esm/client/components/http-access-fallback/error-boundary.js":{"id":68017,"name":"*","chunks":["/_next/static/chunks/01xlw8hd842-c.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"async":false},"[project]/node_modules/next/dist/esm/lib/framework/boundary-components.js <module evaluation>":{"id":97367,"name":"*","chunks":["/_next/static/chunks/01xlw8hd842-c.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"async":false},"[project]/node_modules/next/dist/esm/lib/framework/boundary-components.js":{"id":97367,"name":"*","chunks":["/_next/static/chunks/01xlw8hd842-c.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"async":false},"[project]/node_modules/next/dist/esm/lib/metadata/generate/icon-mark.js <module evaluation>":{"id":27201,"name":"*","chunks":["/_next/static/chunks/01xlw8hd842-c.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"async":false},"[project]/node_modules/next/dist/esm/lib/metadata/generate/icon-mark.js":{"id":27201,"name":"*","chunks":["/_next/static/chunks/01xlw8hd842-c.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"async":false},"[project]/node_modules/next/dist/client/components/builtin/global-error.js <module evaluation>":{"id":68027,"name":"*","chunks":["/_next/static/chunks/01xlw8hd842-c.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"async":false},"[project]/node_modules/next/dist/client/components/builtin/global-error.js":{"id":68027,"name":"*","chunks":["/_next/static/chunks/01xlw8hd842-c.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"async":false},"[project]/src/components/Dashboard.tsx <module evaluation>":{"id":58116,"name":"*","chunks":["/_next/static/chunks/01xlw8hd842-c.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/
|
|
2
|
+
globalThis.__RSC_MANIFEST["/page"] = {"moduleLoading":{"prefix":"","crossOrigin":null},"clientModules":{"[project]/node_modules/next/dist/esm/client/components/layout-router.js <module evaluation>":{"id":39756,"name":"*","chunks":["/_next/static/chunks/01xlw8hd842-c.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"async":false},"[project]/node_modules/next/dist/esm/client/components/layout-router.js":{"id":39756,"name":"*","chunks":["/_next/static/chunks/01xlw8hd842-c.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"async":false},"[project]/node_modules/next/dist/esm/client/components/render-from-template-context.js <module evaluation>":{"id":37457,"name":"*","chunks":["/_next/static/chunks/01xlw8hd842-c.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"async":false},"[project]/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":37457,"name":"*","chunks":["/_next/static/chunks/01xlw8hd842-c.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"async":false},"[project]/node_modules/next/dist/esm/client/components/client-page.js <module evaluation>":{"id":47257,"name":"*","chunks":["/_next/static/chunks/01xlw8hd842-c.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"async":false},"[project]/node_modules/next/dist/esm/client/components/client-page.js":{"id":47257,"name":"*","chunks":["/_next/static/chunks/01xlw8hd842-c.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"async":false},"[project]/node_modules/next/dist/esm/client/components/client-segment.js <module evaluation>":{"id":92825,"name":"*","chunks":["/_next/static/chunks/01xlw8hd842-c.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"async":false},"[project]/node_modules/next/dist/esm/client/components/client-segment.js":{"id":92825,"name":"*","chunks":["/_next/static/chunks/01xlw8hd842-c.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"async":false},"[project]/node_modules/next/dist/esm/client/components/http-access-fallback/error-boundary.js <module evaluation>":{"id":68017,"name":"*","chunks":["/_next/static/chunks/01xlw8hd842-c.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"async":false},"[project]/node_modules/next/dist/esm/client/components/http-access-fallback/error-boundary.js":{"id":68017,"name":"*","chunks":["/_next/static/chunks/01xlw8hd842-c.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"async":false},"[project]/node_modules/next/dist/esm/lib/framework/boundary-components.js <module evaluation>":{"id":97367,"name":"*","chunks":["/_next/static/chunks/01xlw8hd842-c.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"async":false},"[project]/node_modules/next/dist/esm/lib/framework/boundary-components.js":{"id":97367,"name":"*","chunks":["/_next/static/chunks/01xlw8hd842-c.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"async":false},"[project]/node_modules/next/dist/esm/lib/metadata/generate/icon-mark.js <module evaluation>":{"id":27201,"name":"*","chunks":["/_next/static/chunks/01xlw8hd842-c.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"async":false},"[project]/node_modules/next/dist/esm/lib/metadata/generate/icon-mark.js":{"id":27201,"name":"*","chunks":["/_next/static/chunks/01xlw8hd842-c.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"async":false},"[project]/node_modules/next/dist/client/components/builtin/global-error.js <module evaluation>":{"id":68027,"name":"*","chunks":["/_next/static/chunks/01xlw8hd842-c.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"async":false},"[project]/node_modules/next/dist/client/components/builtin/global-error.js":{"id":68027,"name":"*","chunks":["/_next/static/chunks/01xlw8hd842-c.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"async":false},"[project]/src/components/Dashboard.tsx <module evaluation>":{"id":58116,"name":"*","chunks":["/_next/static/chunks/01xlw8hd842-c.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0yz9oprcns4nm.js"],"async":false},"[project]/src/components/Dashboard.tsx":{"id":58116,"name":"*","chunks":["/_next/static/chunks/01xlw8hd842-c.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0yz9oprcns4nm.js"],"async":false},"[project]/node_modules/next/dist/client/app-dir/link.js <module evaluation>":{"id":22016,"name":"*","chunks":["/_next/static/chunks/01xlw8hd842-c.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0yz9oprcns4nm.js"],"async":false},"[project]/node_modules/next/dist/client/app-dir/link.js":{"id":22016,"name":"*","chunks":["/_next/static/chunks/01xlw8hd842-c.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0yz9oprcns4nm.js"],"async":false}},"ssrModuleMapping":{"39756":{"*":{"id":2420,"name":"*","chunks":["server/chunks/ssr/[root-of-the-server]__09hgk-7._.js","server/chunks/ssr/node_modules_next_dist_0e1izl_._.js"],"async":false}},"37457":{"*":{"id":24017,"name":"*","chunks":["server/chunks/ssr/[root-of-the-server]__09hgk-7._.js","server/chunks/ssr/node_modules_next_dist_0e1izl_._.js"],"async":false}},"47257":{"*":{"id":77682,"name":"*","chunks":["server/chunks/ssr/[root-of-the-server]__09hgk-7._.js","server/chunks/ssr/node_modules_next_dist_0e1izl_._.js"],"async":false}},"92825":{"*":{"id":97296,"name":"*","chunks":["server/chunks/ssr/[root-of-the-server]__09hgk-7._.js","server/chunks/ssr/node_modules_next_dist_0e1izl_._.js"],"async":false}},"68017":{"*":{"id":61660,"name":"*","chunks":["server/chunks/ssr/[root-of-the-server]__09hgk-7._.js","server/chunks/ssr/node_modules_next_dist_0e1izl_._.js"],"async":false}},"97367":{"*":{"id":90574,"name":"*","chunks":["server/chunks/ssr/[root-of-the-server]__09hgk-7._.js","server/chunks/ssr/node_modules_next_dist_0e1izl_._.js"],"async":false}},"27201":{"*":{"id":60704,"name":"*","chunks":["server/chunks/ssr/[root-of-the-server]__09hgk-7._.js","server/chunks/ssr/node_modules_next_dist_0e1izl_._.js"],"async":false}},"68027":{"*":{"id":40622,"name":"*","chunks":["server/chunks/ssr/[root-of-the-server]__09hgk-7._.js","server/chunks/ssr/node_modules_next_dist_0e1izl_._.js","server/chunks/ssr/node_modules_09w7yel._.js"],"async":false}},"58116":{"*":{"id":39579,"name":"*","chunks":["server/chunks/ssr/[root-of-the-server]__09hgk-7._.js","server/chunks/ssr/node_modules_next_dist_0e1izl_._.js","server/chunks/ssr/_0ye~8el._.js","server/chunks/ssr/node_modules_0ck2~9g._.js"],"async":false}},"22016":{"*":{"id":38246,"name":"*","chunks":["server/chunks/ssr/[root-of-the-server]__09hgk-7._.js","server/chunks/ssr/node_modules_next_dist_0e1izl_._.js","server/chunks/ssr/_0ye~8el._.js","server/chunks/ssr/node_modules_0ck2~9g._.js"],"async":false}}},"edgeSSRModuleMapping":{},"rscModuleMapping":{"39756":{"*":{"id":26768,"name":"*","chunks":[],"async":false}},"37457":{"*":{"id":17910,"name":"*","chunks":[],"async":false}},"47257":{"*":{"id":92977,"name":"*","chunks":[],"async":false}},"92825":{"*":{"id":48552,"name":"*","chunks":[],"async":false}},"68017":{"*":{"id":83919,"name":"*","chunks":[],"async":false}},"97367":{"*":{"id":24150,"name":"*","chunks":[],"async":false}},"27201":{"*":{"id":40771,"name":"*","chunks":[],"async":false}},"68027":{"*":{"id":82509,"name":"*","chunks":[],"async":false}},"58116":{"*":{"id":92848,"name":"*","chunks":[],"async":false}},"22016":{"*":{"id":84707,"name":"*","chunks":[],"async":false}}},"edgeRscModuleMapping":{},"entryCSSFiles":{"[project]/src/app/layout":[{"path":"static/chunks/002~6040mndie.css","inlined":false}],"[project]/node_modules/next/dist/client/components/builtin/global-error":[{"path":"static/chunks/002~6040mndie.css","inlined":false}],"[project]/src/app/page":[{"path":"static/chunks/002~6040mndie.css","inlined":false}]},"entryJSFiles":{"[project]/src/app/layout":["static/chunks/01xlw8hd842-c.js","static/chunks/0d3shmwh5_nmn.js"],"[project]/node_modules/next/dist/client/components/builtin/global-error":["static/chunks/01xlw8hd842-c.js","static/chunks/0d3shmwh5_nmn.js"],"[project]/src/app/page":["static/chunks/01xlw8hd842-c.js","static/chunks/0d3shmwh5_nmn.js","static/chunks/0yz9oprcns4nm.js"]}};
|
|
3
3
|
|
|
@@ -2,6 +2,6 @@ module.exports=[57997,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule
|
|
|
2
2
|
${b}`))}function O(){let a=new AbortController;return a.abort(Object.defineProperty(new q.BailoutToCSRError("Render in Browser"),"__NEXT_ERROR_CODE",{value:"E721",enumerable:!1,configurable:!0})),a.signal}function P(a){switch(a.type){case"prerender":case"prerender-runtime":let b=new AbortController;if(a.cacheSignal)a.cacheSignal.inputReady().then(()=>{b.abort()});else if("prerender-runtime"===a.type&&a.stagedRendering){let{stagedRendering:c}=a;c.waitForStage((0,n.getRuntimeStage)(c)).then(()=>(0,p.scheduleOnNextTick)(()=>b.abort()))}else(0,p.scheduleOnNextTick)(()=>b.abort());return b.signal;case"prerender-client":case"validation-client":case"prerender-ppr":case"prerender-legacy":case"request":case"cache":case"private-cache":case"unstable-cache":case"generate-static-params":return}}function Q(a,b){let c=b.dynamicTracking;c&&c.dynamicAccesses.push({stack:c.isDebugDynamicAccesses?Error().stack:void 0,expression:a})}function R(a){let b=m.workAsyncStorage.getStore(),c=l.workUnitAsyncStorage.getStore();if(b&&c)switch(c.type){case"prerender-client":case"prerender":{let d=c.fallbackRouteParams;d&&d.size>0&&i.default.use((0,n.makeHangingPromise)(c.renderSignal,b.route,a));break}case"prerender-ppr":{let d=c.fallbackRouteParams;if(d&&d.size>0)return E(b.route,a,c.dynamicTracking);break}case"validation-client":case"prerender-legacy":case"request":case"unstable-cache":break;case"prerender-runtime":throw Object.defineProperty(new r.InvariantError(`\`${a}\` was called during a runtime prerender. Next.js should be preventing ${a} from being included in server components statically, but did not in this case.`),"__NEXT_ERROR_CODE",{value:"E771",enumerable:!1,configurable:!0});case"cache":case"private-cache":throw Object.defineProperty(new r.InvariantError(`\`${a}\` was called inside a cache scope. Next.js should be preventing ${a} from being included in server components statically, but did not in this case.`),"__NEXT_ERROR_CODE",{value:"E745",enumerable:!1,configurable:!0});case"generate-static-params":throw Object.defineProperty(new r.InvariantError(`\`${a}\` was called in \`generateStaticParams\`. Next.js should be preventing ${a} from being included in server component files statically, but did not in this case.`),"__NEXT_ERROR_CODE",{value:"E1130",enumerable:!1,configurable:!0})}}function S(a){let b=m.workAsyncStorage.getStore(),c=l.workUnitAsyncStorage.getStore();if(b)switch(!c&&(0,l.throwForMissingRequestStore)(a),c.type){case"validation-client":case"request":return;case"prerender-client":i.default.use((0,n.makeHangingPromise)(c.renderSignal,b.route,a));break;case"prerender-legacy":case"prerender-ppr":if(b.forceStatic)return;throw Object.defineProperty(new q.BailoutToCSRError(a),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});case"prerender":case"prerender-runtime":throw Object.defineProperty(new r.InvariantError(`\`${a}\` was called from a Server Component. Next.js should be preventing ${a} from being included in server components statically, but did not in this case.`),"__NEXT_ERROR_CODE",{value:"E795",enumerable:!1,configurable:!0});case"cache":case"unstable-cache":case"private-cache":throw Object.defineProperty(new r.InvariantError(`\`${a}\` was called inside a cache scope. Next.js should be preventing ${a} from being included in server components statically, but did not in this case.`),"__NEXT_ERROR_CODE",{value:"E745",enumerable:!1,configurable:!0});case"generate-static-params":throw Object.defineProperty(new r.InvariantError(`\`${a}\` was called in \`generateStaticParams\`. Next.js should be preventing ${a} from being included in server component files statically, but did not in this case.`),"__NEXT_ERROR_CODE",{value:"E1130",enumerable:!1,configurable:!0})}}let T=/\n\s+at Suspense \(<anonymous>\)/,U=RegExp(`\\n\\s+at Suspense \\(<anonymous>\\)(?:(?!\\n\\s+at (?:body|div|main|section|article|aside|header|footer|nav|form|p|span|h1|h2|h3|h4|h5|h6) \\(<anonymous>\\))[\\s\\S])*?\\n\\s+at ${o.ROOT_LAYOUT_BOUNDARY_NAME} \\([^\\n]*\\)`),V=RegExp(`\\n\\s+at ${o.METADATA_BOUNDARY_NAME}[\\n\\s]`),W=RegExp(`\\n\\s+at ${o.VIEWPORT_BOUNDARY_NAME}[\\n\\s]`),X=RegExp(`\\n\\s+at ${o.OUTLET_BOUNDARY_NAME}[\\n\\s]`),Y=RegExp(`\\n\\s+at ${s.INSTANT_VALIDATION_BOUNDARY_NAME}[\\n\\s]`);function Z(a,b,c,d){if(!X.test(b)){if(V.test(b)){c.hasDynamicMetadata=!0;return}if(W.test(b)){c.hasDynamicViewport=!0;return}if(U.test(b)){c.hasAllowedDynamic=!0,c.hasSuspenseAboveBody=!0;return}else if(T.test(b)){c.hasAllowedDynamic=!0;return}else{if(d.syncDynamicErrorWithStack)return void c.dynamicErrors.push(d.syncDynamicErrorWithStack);let e=ae(Object.defineProperty(Error(`Route "${a.route}": Uncached data was accessed outside of <Suspense>. This delays the entire page from rendering, resulting in a slow user experience. Learn more: https://nextjs.org/docs/messages/blocking-route`),"__NEXT_ERROR_CODE",{value:"E1079",enumerable:!1,configurable:!0}),b,null);return void c.dynamicErrors.push(e)}}}var $=((e={})[e.Runtime=1]="Runtime",e[e.Dynamic=2]="Dynamic",e);function _(a){return{hasDynamicMetadata:!1,hasAllowedClientDynamicAboveBoundary:!1,dynamicMetadata:null,hasDynamicViewport:!1,hasAllowedDynamic:!1,dynamicErrors:[],validationPreventingErrors:[],thrownErrorsOutsideBoundary:[],createInstantStack:a}}function aa(a,b,c,d,e,f){if(X.test(b))return;if(V.test(b)){let d=ae(Object.defineProperty(Error(`Route "${a.route}": ${1===e?"Runtime data such as `cookies()`, `headers()`, `params`, or `searchParams` was accessed inside `generateMetadata` or you have file-based metadata such as icons that depend on dynamic params segments.":"Uncached data or `connection()` was accessed inside `generateMetadata`."} Except for this instance, the page would have been entirely prerenderable which may have been the intended behavior. See more info here: https://nextjs.org/docs/messages/next-prerender-dynamic-metadata`),"__NEXT_ERROR_CODE",{value:"E1076",enumerable:!1,configurable:!0}),b,c.createInstantStack);c.dynamicMetadata=d;return}if(W.test(b)){let d=ae(Object.defineProperty(Error(`Route "${a.route}": ${1===e?"Runtime data such as `cookies()`, `headers()`, `params`, or `searchParams` was accessed inside `generateViewport`.":"Uncached data or `connection()` was accessed inside `generateViewport`."} This delays the entire page from rendering, resulting in a slow user experience. Learn more: https://nextjs.org/docs/messages/next-prerender-dynamic-viewport`),"__NEXT_ERROR_CODE",{value:"E1086",enumerable:!1,configurable:!0}),b,c.createInstantStack);c.dynamicErrors.push(d);return}let g=Y.exec(b);if(g){let a=T.exec(b);if(a&&a.index<g.index){c.hasAllowedDynamic=!0;return}}else if(f.expectedIds.size===f.renderedIds.size){c.hasAllowedClientDynamicAboveBoundary=!0,c.hasAllowedDynamic=!0;return}else{let d=ae(Object.defineProperty(Error(`Route "${a.route}": Could not validate \`unstable_instant\` because a Client Component in a parent segment prevented the page from rendering.`),"__NEXT_ERROR_CODE",{value:"E1082",enumerable:!1,configurable:!0}),b,c.createInstantStack);c.validationPreventingErrors.push(d);return}if(d.syncDynamicErrorWithStack){let a=d.syncDynamicErrorWithStack;null!==c.createInstantStack&&void 0===a.cause&&(a.cause=c.createInstantStack()),c.dynamicErrors.push(a);return}let h=ae(Object.defineProperty(Error(`Route "${a.route}": ${1===e?"Runtime data such as `cookies()`, `headers()`, `params`, or `searchParams` was accessed outside of `<Suspense>`.":"Uncached data or `connection()` was accessed outside of `<Suspense>`."} This delays the entire page from rendering, resulting in a slow user experience. Learn more: https://nextjs.org/docs/messages/blocking-route`),"__NEXT_ERROR_CODE",{value:"E1078",enumerable:!1,configurable:!0}),b,c.createInstantStack);c.dynamicErrors.push(h)}function ab(a,b,c,d){let e=Y.exec(d);if(e){let f=T.exec(d);if(f&&f.index<e.index)return;let g=ae(Object.defineProperty(Error(`Route "${a.route}": Could not validate \`unstable_instant\` because an error prevented the target segment from rendering.`,{cause:c}),"__NEXT_ERROR_CODE",{value:"E1112",enumerable:!1,configurable:!0}),d,null);b.validationPreventingErrors.push(g)}else{let a=ae(Object.defineProperty(Error("An error occurred while attempting to validate instant UI. This error may be preventing the validation from completing.",{cause:c}),"__NEXT_ERROR_CODE",{value:"E1118",enumerable:!1,configurable:!0}),d,null);b.thrownErrorsOutsideBoundary.push(a)}}function ac(a,b,c,d){if(X.test(b))return;if(V.test(b)){c.dynamicMetadata=ae(Object.defineProperty(Error(`Route "${a.route}": Uncached data or \`connection()\` was accessed inside \`generateMetadata\`. Except for this instance, the page would have been entirely prerenderable which may have been the intended behavior. See more info here: https://nextjs.org/docs/messages/next-prerender-dynamic-metadata`),"__NEXT_ERROR_CODE",{value:"E1080",enumerable:!1,configurable:!0}),b,null);return}if(W.test(b)){let d=ae(Object.defineProperty(Error(`Route "${a.route}": Uncached data or \`connection()\` was accessed inside \`generateViewport\`. This delays the entire page from rendering, resulting in a slow user experience. Learn more: https://nextjs.org/docs/messages/next-prerender-dynamic-viewport`),"__NEXT_ERROR_CODE",{value:"E1077",enumerable:!1,configurable:!0}),b,null);c.dynamicErrors.push(d);return}if(U.test(b)){c.hasAllowedDynamic=!0,c.hasSuspenseAboveBody=!0;return}if(T.test(b)){c.hasAllowedDynamic=!0;return}else if(d.syncDynamicErrorWithStack)return void c.dynamicErrors.push(d.syncDynamicErrorWithStack);let e=ae(Object.defineProperty(Error(`Route "${a.route}": Uncached data or \`connection()\` was accessed outside of \`<Suspense>\`. This delays the entire page from rendering, resulting in a slow user experience. Learn more: https://nextjs.org/docs/messages/blocking-route`),"__NEXT_ERROR_CODE",{value:"E1084",enumerable:!1,configurable:!0}),b,null);c.dynamicErrors.push(e)}function ad(a,b,c,d){if(!X.test(b)){if(V.test(b)){c.dynamicMetadata=ae(Object.defineProperty(Error(`Route "${a.route}": Runtime data such as \`cookies()\`, \`headers()\`, \`params\`, or \`searchParams\` was accessed inside \`generateMetadata\` or you have file-based metadata such as icons that depend on dynamic params segments. Except for this instance, the page would have been entirely prerenderable which may have been the intended behavior. See more info here: https://nextjs.org/docs/messages/next-prerender-dynamic-metadata`),"__NEXT_ERROR_CODE",{value:"E1085",enumerable:!1,configurable:!0}),b,null);return}if(W.test(b)){let d=ae(Object.defineProperty(Error(`Route "${a.route}": Runtime data such as \`cookies()\`, \`headers()\`, \`params\`, or \`searchParams\` was accessed inside \`generateViewport\`. This delays the entire page from rendering, resulting in a slow user experience. Learn more: https://nextjs.org/docs/messages/next-prerender-dynamic-viewport`),"__NEXT_ERROR_CODE",{value:"E1081",enumerable:!1,configurable:!0}),b,null);c.dynamicErrors.push(d);return}if(U.test(b)){c.hasAllowedDynamic=!0,c.hasSuspenseAboveBody=!0;return}else if(T.test(b)){c.hasAllowedDynamic=!0;return}else{if(d.syncDynamicErrorWithStack)return void c.dynamicErrors.push(d.syncDynamicErrorWithStack);let e=ae(Object.defineProperty(Error(`Route "${a.route}": Runtime data such as \`cookies()\`, \`headers()\`, \`params\`, or \`searchParams\` was accessed outside of \`<Suspense>\`. This delays the entire page from rendering, resulting in a slow user experience. Learn more: https://nextjs.org/docs/messages/blocking-route`),"__NEXT_ERROR_CODE",{value:"E1083",enumerable:!1,configurable:!0}),b,null);return void c.dynamicErrors.push(e)}}}function ae(a,b,c){return null!==c&&(a.cause=c()),a.stack=a.name+": "+a.message+b,a}var af=((f={})[f.Full=0]="Full",f[f.Empty=1]="Empty",f[f.Errored=2]="Errored",f);function ag(a,b){console.error(b),console.error(`To get a more detailed stack trace and pinpoint the issue, try one of the following:
|
|
3
3
|
- Start the app in development mode by running \`next dev\`, then open "${a.route}" in your browser to investigate the error.
|
|
4
4
|
- Rerun the production build with \`next build --debug-prerender\` to generate better stack traces.`)}function ah(a,b,c,d){if(d.syncDynamicErrorWithStack)throw ag(a,d.syncDynamicErrorWithStack),new k.StaticGenBailoutError;if(0!==b){if(c.hasSuspenseAboveBody)return;let d=c.dynamicErrors;if(d.length>0){for(let b=0;b<d.length;b++)ag(a,d[b]);throw new k.StaticGenBailoutError}if(c.hasDynamicViewport)throw console.error(`Route "${a.route}" has a \`generateViewport\` that depends on Request data (\`cookies()\`, etc...) or uncached external data (\`fetch(...)\`, etc...) without explicitly allowing fully dynamic rendering. See more info here: https://nextjs.org/docs/messages/next-prerender-dynamic-viewport`),new k.StaticGenBailoutError;if(1===b)throw console.error(`Route "${a.route}" did not produce a static shell and Next.js was unable to determine a reason. This is a bug in Next.js.`),new k.StaticGenBailoutError}else if(!1===c.hasAllowedDynamic&&c.hasDynamicMetadata)throw console.error(`Route "${a.route}" has a \`generateMetadata\` that depends on Request data (\`cookies()\`, etc...) or uncached external data (\`fetch(...)\`, etc...) when the rest of the route does not. See more info here: https://nextjs.org/docs/messages/next-prerender-dynamic-metadata`),new k.StaticGenBailoutError}function ai(a,b,c,d){if(d||c.hasSuspenseAboveBody)return[];if(0!==b){let d=c.dynamicErrors;if(d.length>0)return d;if(1===b)return[Object.defineProperty(new r.InvariantError(`Route "${a.route}" did not produce a static shell and Next.js was unable to determine a reason.`),"__NEXT_ERROR_CODE",{value:"E936",enumerable:!1,configurable:!0})]}else if(!1===c.hasAllowedDynamic&&0===c.dynamicErrors.length&&c.dynamicMetadata)return[c.dynamicMetadata];return[]}function aj(a,b,c,d,e){if(d){let{missingSampleErrors:a}=d;if(a.length>0)return a}let{validationPreventingErrors:f}=c;if(f.length>0)return f;if(e.renderedIds.size<e.expectedIds.size){let{thrownErrorsOutsideBoundary:b,createInstantStack:d}=c;if(0===b.length){let b=`Route "${a.route}": Could not validate \`unstable_instant\` because the target segment was prevented from rendering for an unknown reason.`,c=null!==d?d():Error();return c.name="Error",c.message=b,[c]}if(1===b.length){let c=`Route "${a.route}": Could not validate \`unstable_instant\` because the target segment was prevented from rendering, likely due to the following error.`,e=null!==d?d():Error();return e.name="Error",e.message=c,[e,b[0]]}{let c=`Route "${a.route}": Could not validate \`unstable_instant\` because the target segment was prevented from rendering, likely due to one of the following errors.`,e=null!==d?d():Error();return e.name="Error",e.message=c,[e,...b]}}if(0!==b){let d=c.dynamicErrors;if(d.length>0)return d;if(1===b)return c.hasAllowedClientDynamicAboveBoundary?[]:[Object.defineProperty(new r.InvariantError(`Route "${a.route}" failed to render during instant validation and Next.js was unable to determine a reason.`),"__NEXT_ERROR_CODE",{value:"E1055",enumerable:!1,configurable:!0})]}else{let a=c.dynamicErrors;if(a.length>0)return a;if(!1===c.hasAllowedDynamic&&c.dynamicMetadata)return[c.dynamicMetadata]}return[]}},44753,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"unstable_rethrow",{enumerable:!0,get:function(){return function a(b){if((0,g.isNextRouterError)(b)||(0,f.isBailoutToCSRError)(b)||(0,i.isDynamicServerError)(b)||(0,h.isDynamicPostpone)(b)||(0,e.isPostpone)(b)||(0,d.isHangingPromiseRejectionError)(b)||(0,h.isPrerenderInterruptedError)(b))throw b;b instanceof Error&&"cause"in b&&a(b.cause)}}});let d=a.r(35710),e=a.r(31101),f=a.r(41997),g=a.r(77747),h=a.r(54110),i=a.r(3326);("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},47083,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"unstable_rethrow",{enumerable:!0,get:function(){return d}});let d=a.r(44753).unstable_rethrow;("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},21066,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={ReadonlyURLSearchParams:function(){return f.ReadonlyURLSearchParams},RedirectType:function(){return m},forbidden:function(){return i.forbidden},notFound:function(){return h.notFound},permanentRedirect:function(){return g.permanentRedirect},redirect:function(){return g.redirect},unauthorized:function(){return j.unauthorized},unstable_isUnrecognizedActionError:function(){return l},unstable_rethrow:function(){return k.unstable_rethrow}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f=a.r(75718),g=a.r(22099),h=a.r(28102),i=a.r(64177),j=a.r(88213),k=a.r(47083);function l(){throw Object.defineProperty(Error("`unstable_isUnrecognizedActionError` can only be used on the client."),"__NEXT_ERROR_CODE",{value:"E776",enumerable:!1,configurable:!0})}let m={push:"push",replace:"replace"};("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},74137,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={ReadonlyURLSearchParams:function(){return h.ReadonlyURLSearchParams},RedirectType:function(){return l.RedirectType},ServerInsertedHTMLContext:function(){return j.ServerInsertedHTMLContext},forbidden:function(){return l.forbidden},notFound:function(){return l.notFound},permanentRedirect:function(){return l.permanentRedirect},redirect:function(){return l.redirect},unauthorized:function(){return l.unauthorized},unstable_isUnrecognizedActionError:function(){return k.unstable_isUnrecognizedActionError},unstable_rethrow:function(){return l.unstable_rethrow},useParams:function(){return u},usePathname:function(){return s},useRouter:function(){return t},useSearchParams:function(){return r},useSelectedLayoutSegment:function(){return w},useSelectedLayoutSegments:function(){return v},useServerInsertedHTML:function(){return j.useServerInsertedHTML}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f=a.r(46058)._(a.r(72131)),g=a.r(9270),h=a.r(36313),i=a.r(39118),j=a.r(18341),k=a.r(57997),l=a.r(21066),m=a.r(54110).useDynamicRouteParams,n=a.r(54110).useDynamicSearchParams,{instrumentParamsForClientValidation:o,instrumentSearchParamsForClientValidation:p,expectCompleteParamsInClientValidation:q}={};function r(){n?.("useSearchParams()");let a=(0,f.useContext)(h.SearchParamsContext);return(0,f.useMemo)(()=>a?new h.ReadonlyURLSearchParams(a):null,[a])}function s(){return m?.("usePathname()"),(0,f.useContext)(h.PathnameContext)}function t(){let a=(0,f.useContext)(g.AppRouterContext);if(null===a)throw Object.defineProperty(Error("invariant expected app router to be mounted"),"__NEXT_ERROR_CODE",{value:"E238",enumerable:!1,configurable:!0});return a}function u(){return m?.("useParams()"),(0,f.useContext)(h.PathParamsContext)}function v(a="children"){m?.("useSelectedLayoutSegments()");let b=(0,f.useContext)(g.LayoutRouterContext);return b?(0,i.getSelectedLayoutSegmentPath)(b.parentTree,a):null}function w(a="children"){m?.("useSelectedLayoutSegment()"),(0,f.useContext)(h.NavigationPromisesContext);let b=v(a);return(0,i.computeSelectedLayoutSegment)(b,a)}("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},50944,(a,b,c)=>{b.exports=a.r(74137)},39579,a=>{"use strict";var b=a.i(87924),c=a.i(72131),d=a.i(50944);let e=["blocked","poc","spike","review","done"];function f(a){return a?a.split("/").filter(Boolean).pop()??a:"—"}function g({tool:a}){return"codex"===a?(0,b.jsx)("span",{className:"text-xs px-1.5 py-0.5 rounded bg-emerald-900/40 text-emerald-400 border border-emerald-800/50",children:"codex"}):"cursor"===a?(0,b.jsx)("span",{className:"text-xs px-1.5 py-0.5 rounded bg-sky-900/40 text-sky-400 border border-sky-800/50",children:"cursor"}):(0,b.jsx)("span",{className:"text-xs px-1.5 py-0.5 rounded bg-violet-900/40 text-violet-400 border border-violet-800/50",children:"claude"})}function h({label:a,onRemove:c}){let d={blocked:"bg-red-900/40 text-red-400 border-red-800/50",poc:"bg-yellow-900/40 text-yellow-400 border-yellow-800/50",spike:"bg-orange-900/40 text-orange-400 border-orange-800/50",review:"bg-blue-900/40 text-blue-400 border-blue-800/50",done:"bg-zinc-700/40 text-zinc-400 border-zinc-600/50"}[a]??"bg-zinc-800/40 text-zinc-400 border-zinc-700/50";return(0,b.jsxs)("span",{className:`inline-flex items-center gap-1 text-xs px-1.5 py-0.5 rounded border ${d}`,children:[a,c&&(0,b.jsx)("button",{onClick:c,className:"hover:text-white leading-none",children:"×"})]})}function i({sessions:a}){let[d,j]=(0,c.useState)(""),[k,l]=(0,c.useState)({}),[m,n]=(0,c.useState)({}),[o,p]=(0,c.useState)(null),q=(0,c.useMemo)(()=>{let b=d.toLowerCase();return b?a.filter(a=>f(a.cwd).toLowerCase().includes(b)||(a.ai_title??"").toLowerCase().includes(b)||(a.summary??"").toLowerCase().includes(b)):a},[a,d]);async function r(a,b){l(c=>({...c,[a]:b})),await fetch(`/api/sessions/${a}/tags`,{method:"PATCH",headers:{"content-type":"application/json"},body:JSON.stringify({tags:b})})}function s(a){return k[a.id]??function(a){try{return a?JSON.parse(a):[]}catch{return[]}}(a.tags)}function t(a,b){let c=b.trim().toLowerCase().replace(/\s+/g,"-");if(!c)return;let d=s(a);d.includes(c)||(r(a.id,[...d,c]),n(b=>({...b,[a.id]:""})))}return(0,b.jsxs)("div",{className:"rounded-lg border border-zinc-800 bg-zinc-900",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between px-5 py-3 border-b border-zinc-800 gap-4",children:[(0,b.jsx)("h2",{className:"text-sm font-medium text-zinc-300 shrink-0",children:"Recent Sessions"}),(0,b.jsx)("input",{type:"text",placeholder:"search project / title…",value:d,onChange:a=>j(a.target.value),className:"flex-1 max-w-xs bg-zinc-800 border border-zinc-700 rounded px-3 py-1 text-xs text-zinc-200 placeholder-zinc-600 focus:outline-none focus:border-zinc-500"}),(0,b.jsxs)("span",{className:"text-xs text-zinc-500 shrink-0",children:[a.filter(a=>!a.ended_at).length," active · ",q.length,"/",a.length]})]}),0===q.length?(0,b.jsx)("p",{className:"px-5 py-8 text-zinc-600 text-sm text-center",children:"No sessions match."}):(0,b.jsxs)("table",{className:"w-full text-sm",children:[(0,b.jsx)("thead",{children:(0,b.jsxs)("tr",{className:"text-xs text-zinc-500 border-b border-zinc-800",children:[(0,b.jsx)("th",{className:"px-4 py-2 text-left font-normal",children:"started"}),(0,b.jsx)("th",{className:"px-4 py-2 text-left font-normal",children:"tool"}),(0,b.jsx)("th",{className:"px-4 py-2 text-left font-normal",children:"project · title"}),(0,b.jsx)("th",{className:"px-4 py-2 text-left font-normal",children:"dur"}),(0,b.jsx)("th",{className:"px-4 py-2 text-left font-normal",children:"status"}),(0,b.jsx)("th",{className:"px-4 py-2 text-left font-normal",children:"tags"})]})}),(0,b.jsx)("tbody",{children:q.map(a=>{let d=!a.ended_at,i=s(a),j=o===a.id;return(0,b.jsx)(c.default.Fragment,{children:(0,b.jsxs)("tr",{className:"border-b border-zinc-800/40 hover:bg-zinc-800/20 transition-colors",children:[(0,b.jsx)("td",{className:"px-4 py-2 text-zinc-500 tabular-nums whitespace-nowrap text-xs",children:new Date(a.started_at).toLocaleString("zh-CN",{month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",hour12:!1})}),(0,b.jsx)("td",{className:"px-4 py-2",children:(0,b.jsx)(g,{tool:a.tool})}),(0,b.jsxs)("td",{className:"px-4 py-2 max-w-xs",children:[(0,b.jsx)("div",{className:"text-zinc-200 text-xs font-medium",children:f(a.cwd)}),a.ai_title&&(0,b.jsx)("div",{className:"text-zinc-500 text-xs truncate",children:a.ai_title}),!a.ai_title&&a.summary&&(0,b.jsx)("div",{className:"text-zinc-600 text-xs truncate",children:a.summary})]}),(0,b.jsx)("td",{className:"px-4 py-2 text-zinc-500 tabular-nums text-xs",children:function(a,b){if(!b)return"active";let c=Math.round((b-a)/6e4);return c<60?`${c}m`:`${Math.floor(c/60)}h ${c%60}m`}(a.started_at,a.ended_at??null)}),(0,b.jsx)("td",{className:"px-4 py-2",children:d?(0,b.jsxs)("span",{className:"inline-flex items-center gap-1 text-emerald-400 text-xs",children:[(0,b.jsx)("span",{className:"w-1.5 h-1.5 rounded-full bg-emerald-400 animate-pulse inline-block"}),"active"]}):(0,b.jsx)("span",{className:"text-zinc-700 text-xs",children:"done"})}),(0,b.jsx)("td",{className:"px-4 py-2",children:(0,b.jsxs)("div",{className:"flex flex-wrap gap-1 items-center",children:[i.map(c=>(0,b.jsx)(h,{label:c,onRemove:()=>{r(a.id,s(a).filter(a=>a!==c))}},c)),j?(0,b.jsxs)("div",{className:"flex items-center gap-1",children:[(0,b.jsx)("input",{autoFocus:!0,value:m[a.id]??"",onChange:b=>n(c=>({...c,[a.id]:b.target.value})),onKeyDown:b=>{"Enter"===b.key&&t(a,m[a.id]??""),"Escape"===b.key&&p(null)},placeholder:"tag…",className:"w-16 bg-zinc-800 border border-zinc-600 rounded px-1 py-0.5 text-xs text-zinc-200 focus:outline-none"}),(0,b.jsx)("div",{className:"flex gap-1",children:e.filter(a=>!i.includes(a)).slice(0,3).map(c=>(0,b.jsx)("button",{onClick:()=>t(a,c),className:"text-xs text-zinc-500 hover:text-zinc-300 px-1 py-0.5 rounded border border-zinc-700",children:c},c))}),(0,b.jsx)("button",{onClick:()=>p(null),className:"text-zinc-600 hover:text-zinc-400 text-xs",children:"✕"})]}):(0,b.jsx)("button",{onClick:()=>p(a.id),className:"text-zinc-700 hover:text-zinc-400 text-xs leading-none",children:"+"})]})})]})},a.id)})})]})]})}let j={"claude-code":"bg-violet-500",codex:"bg-emerald-500",cursor:"bg-sky-500",other:"bg-zinc-500"};function k({data:a}){let c=a.reduce((a,b)=>a+b.sessions,0);return(0,b.jsxs)("div",{className:"rounded-lg border border-zinc-800 bg-zinc-900 p-5",children:[(0,b.jsx)("p",{className:"text-xs text-zinc-500 uppercase tracking-wider mb-3",children:"tool split"}),0===a.length?(0,b.jsx)("p",{className:"text-zinc-600 text-sm",children:"no data"}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("div",{className:"flex h-2 rounded overflow-hidden gap-0.5 mb-3",children:a.map(a=>(0,b.jsx)("div",{className:`${j[a.tool]??"bg-zinc-500"} rounded-sm`,style:{width:`${a.pct}%`}},a.tool))}),(0,b.jsx)("div",{className:"space-y-1.5",children:a.map(a=>{let c;return(0,b.jsxs)("div",{className:"flex items-center justify-between text-xs",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)("span",{className:`w-2 h-2 rounded-sm inline-block ${j[a.tool]??"bg-zinc-500"}`}),(0,b.jsx)("span",{className:"text-zinc-300",children:"claude-code"===a.tool?"claude code":a.tool})]}),(0,b.jsxs)("span",{className:"text-zinc-500 tabular-nums",children:[a.sessions," sessions · ",(c=a.totalMs/36e5)<1?`${Math.round(60*c)}m`:`${c.toFixed(1)}h`," · ",a.pct,"%"]})]},a.tool)})}),(0,b.jsxs)("p",{className:"text-xs text-zinc-600 mt-2",children:[c," total sessions"]})]})]})}function l(a){return a.map(a=>`${a.x.toFixed(1)},${a.y.toFixed(1)}`).join(" ")}function m(a){let b=new Date(a),c=new Date,d=b.toLocaleTimeString("zh-CN",{hour:"2-digit",minute:"2-digit",hour12:!1});return b.toDateString()===c.toDateString()?d:`${(b.getMonth()+1).toString().padStart(2,"0")}/${b.getDate().toString().padStart(2,"0")} ${d}`}function n({data:a,label:d="claude code"}){let e=(0,c.useRef)(null),[f,g]=(0,c.useState)(null),h=a.length>=2?a[0].ts:0,i=a.length>=2?a[a.length-1].ts:1,j=i-h||1,k=a=>32+(a-h)/j*520,o=a=>null==a?null:4+(1-a/100)*112,p=(0,c.useCallback)(b=>{if(!e.current||a.length<2)return;let c=e.current.getBoundingClientRect(),d=32+520*Math.max(0,Math.min(1,(b.clientX-c.left)/c.width)),f=a[0],h=1/0;for(let b of a){let a=Math.abs(k(b.ts)-d);a<h&&(h=a,f=b)}g({svgX:k(f.ts),screenX:b.clientX,screenY:c.top,point:f})},[a,h,j]);if(a.length<2)return(0,b.jsxs)("div",{className:"rounded-lg border border-zinc-800 bg-zinc-900 p-5",children:[(0,b.jsxs)("p",{className:"text-xs text-zinc-500 uppercase tracking-wider mb-2",children:["usage history (7d) · ",d]}),(0,b.jsx)("p",{className:"text-zinc-600 text-sm",children:"not enough data yet"})]});let q=a.filter(a=>null!=a.pct5h).map(a=>({x:k(a.ts),y:o(a.pct5h)})),r=a.filter(a=>null!=a.pctWeekly).map(a=>({x:k(a.ts),y:o(a.pctWeekly)})),s=a.filter(a=>null!=a.pct5h).at(-1)?.pct5h,t=a.filter(a=>null!=a.pctWeekly).at(-1)?.pctWeekly;return(0,b.jsxs)("div",{className:"rounded-lg border border-zinc-800 bg-zinc-900 p-5 relative",children:[(0,b.jsxs)("p",{className:"text-xs text-zinc-500 uppercase tracking-wider mb-3",children:["usage history (7d) · ",d]}),(0,b.jsxs)("svg",{ref:e,viewBox:"0 0 560 120",className:"w-full h-28 cursor-crosshair",preserveAspectRatio:"none",onMouseMove:p,onMouseLeave:()=>g(null),children:[[0,25,50,75,100].map(a=>{let c=o(a);return(0,b.jsxs)("g",{children:[(0,b.jsx)("line",{x1:32,y1:c,x2:552,y2:c,stroke:"#27272a",strokeWidth:"1"}),(0,b.jsxs)("text",{x:29,y:c+3.5,textAnchor:"end",fontSize:"8",fill:"#52525b",children:[a,"%"]})]},a)}),q.length>=2&&(0,b.jsx)("polyline",{points:l(q),fill:"none",stroke:"#8b5cf6",strokeWidth:"1.5",strokeLinejoin:"round"}),r.length>=2&&(0,b.jsx)("polyline",{points:l(r),fill:"none",stroke:"#10b981",strokeWidth:"1.5",strokeLinejoin:"round",strokeDasharray:"4 2"}),f&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("line",{x1:f.svgX,y1:4,x2:f.svgX,y2:116,stroke:"#52525b",strokeWidth:"1",strokeDasharray:"3 2"}),null!=f.point.pct5h&&(0,b.jsx)("circle",{cx:f.svgX,cy:o(f.point.pct5h),r:"2.5",fill:"#8b5cf6"}),null!=f.point.pctWeekly&&(0,b.jsx)("circle",{cx:f.svgX,cy:o(f.point.pctWeekly),r:"2.5",fill:"#10b981"})]})]}),f&&(0,b.jsxs)("div",{className:"pointer-events-none absolute z-10 bg-zinc-800 border border-zinc-700 rounded px-2 py-1.5 text-xs shadow-lg",style:{left:`${((f.svgX-32)/520*100).toFixed(1)}%`,transform:f.svgX>364?"translateX(-110%)":"translateX(4px)",top:"40px"},children:[(0,b.jsx)("p",{className:"text-zinc-400 mb-1",children:m(f.point.ts)}),null!=f.point.pct5h&&(0,b.jsxs)("p",{className:"text-violet-400",children:["5h: ",f.point.pct5h.toFixed(0),"% used"]}),null!=f.point.pctWeekly&&(0,b.jsxs)("p",{className:"text-emerald-400",children:["7day: ",f.point.pctWeekly.toFixed(0),"% used"]})]}),(0,b.jsxs)("div",{className:"flex items-center justify-between mt-1 text-xs text-zinc-600",children:[(0,b.jsx)("span",{children:m(h)}),(0,b.jsxs)("div",{className:"flex gap-4",children:[(0,b.jsxs)("span",{className:"text-violet-400",children:["— 5h ",null!=s?`(${s.toFixed(0)}% used)`:""]}),(0,b.jsxs)("span",{className:"text-emerald-400",children:["-- 7day ",null!=t?`(${t.toFixed(0)}% used)`:""]})]}),(0,b.jsx)("span",{children:m(i)})]})]})}function o({data:a}){if(0===a.length)return null;let c=a[0].changes;return(0,b.jsxs)("div",{className:"rounded-lg border border-zinc-800 bg-zinc-900 p-5",children:[(0,b.jsx)("p",{className:"text-xs text-zinc-500 uppercase tracking-wider mb-3",children:"file hotspots"}),(0,b.jsx)("div",{className:"space-y-2",children:a.map(a=>{let d,e;return(0,b.jsxs)("div",{children:[(0,b.jsxs)("div",{className:"flex items-center justify-between text-xs mb-0.5",children:[(0,b.jsxs)("span",{className:"text-zinc-300 truncate max-w-xs",title:a.path,children:[(0,b.jsxs)("span",{className:"text-zinc-600",children:[(d=a.path.split("/")).length>1?d.slice(-2,-1)[0]:"","/"]}),(e=a.path).split("/").pop()??e]}),(0,b.jsxs)("span",{className:"text-zinc-500 tabular-nums ml-2 shrink-0",children:[a.changes,"× · ",a.sessions," sessions"]})]}),(0,b.jsx)("div",{className:"h-1 bg-zinc-800 rounded",children:(0,b.jsx)("div",{className:"h-1 bg-amber-500/60 rounded",style:{width:`${a.changes/c*100}%`}})})]},a.path)})})]})}function p(a){return a>=1e9?`${(a/1e9).toFixed(1)}B`:a>=1e6?`${(a/1e6).toFixed(0)}M`:a>=1e3?`${(a/1e3).toFixed(0)}K`:String(a)}function q({data:a,toolFilter:c}){let d="all"===c||"claude-code"===c,e="all"===c||"codex"===c,f=d?Math.max(...a.daily.map(a=>a.claudeUsd),.01):.01,g=e?Math.max(...a.daily.map(a=>a.codexTokens),1):1;return d||e?(0,b.jsxs)("div",{className:"rounded-lg border border-zinc-800 bg-zinc-900 p-5",children:[(0,b.jsx)("p",{className:"text-xs text-zinc-500 uppercase tracking-wider mb-3",children:"spending / consumption"}),(0,b.jsxs)("div",{className:"flex gap-6 mb-4",children:[d&&(0,b.jsxs)("div",{children:[(0,b.jsxs)("p",{className:"text-xl font-bold text-violet-400",children:["$",a.claudeTotalUsd.toFixed(2)]}),(0,b.jsx)("p",{className:"text-xs text-zinc-600 mt-0.5",children:"claude code total"})]}),e&&(0,b.jsxs)("div",{children:[(0,b.jsx)("p",{className:"text-xl font-bold text-emerald-400",children:p(a.codexTotalTokens)}),(0,b.jsx)("p",{className:"text-xs text-zinc-600 mt-0.5",children:"codex tokens"})]})]}),(0,b.jsx)("p",{className:"text-xs text-zinc-600 mb-2",children:"last 14 days"}),(0,b.jsx)("div",{className:"flex items-end gap-px h-16",children:a.daily.map(a=>{let c=d?a.claudeUsd/f*100:0,h=e?a.codexTokens/g*100:0,i=[a.date.slice(5),d?`Claude $${a.claudeUsd.toFixed(2)}`:"",e?`Codex ${p(a.codexTokens)} tokens`:""].filter(Boolean).join("\n");return(0,b.jsx)("div",{className:"flex-1 flex flex-col items-center",title:i,children:(0,b.jsxs)("div",{className:"w-full flex flex-col justify-end gap-px",style:{height:"56px"},children:[e&&a.codexTokens>0&&(0,b.jsx)("div",{className:"w-full bg-emerald-600/60 rounded-sm",style:{height:`${Math.max(.56*h,1)}px`}}),d&&a.claudeUsd>0&&(0,b.jsx)("div",{className:"w-full bg-violet-500/70 rounded-sm",style:{height:`${Math.max(.56*c,1)}px`}})]})},a.date)})}),(0,b.jsxs)("div",{className:"flex justify-between mt-1",children:[(0,b.jsx)("span",{className:"text-zinc-700 text-xs",children:a.daily[0]?.date.slice(5)}),(0,b.jsx)("span",{className:"text-zinc-700 text-xs",children:a.daily[a.daily.length-1]?.date.slice(5)})]}),(0,b.jsxs)("div",{className:"flex gap-4 mt-2",children:[d&&(0,b.jsxs)("span",{className:"flex items-center gap-1 text-xs text-zinc-600",children:[(0,b.jsx)("span",{className:"w-2 h-2 rounded-sm bg-violet-500/70 inline-block"})," claude ($)"]}),e&&(0,b.jsxs)("span",{className:"flex items-center gap-1 text-xs text-zinc-600",children:[(0,b.jsx)("span",{className:"w-2 h-2 rounded-sm bg-emerald-600/60 inline-block"})," codex (tokens)"]})]})]}):(0,b.jsxs)("div",{className:"rounded-lg border border-zinc-800 bg-zinc-900 p-5",children:[(0,b.jsx)("p",{className:"text-xs text-zinc-500 uppercase tracking-wider mb-3",children:"spending / consumption"}),(0,b.jsx)("p",{className:"text-zinc-600 text-sm",children:"no spending data for cursor"})]})}let r=["Mon","Tue","Wed","Thu","Fri","Sat","Sun"];function s(a){return a<60?`${Math.round(a)}m`:`${(a/60).toFixed(1)}h`}function t(a){let b=new Date(a);return`${b.getHours().toString().padStart(2,"0")}:${b.getMinutes().toString().padStart(2,"0")}`}let u={"claude-code":"bg-violet-500/80 border-violet-400 text-violet-50",codex:"bg-emerald-600/80 border-emerald-400 text-emerald-50",cursor:"bg-sky-600/80 border-sky-400 text-sky-50"};function v({sessions:a,streak:d,timeline:e}){var f;let[g,h]=(0,c.useState)("pattern"),[i,j]=(0,c.useState)(null),k=(0,c.useMemo)(()=>(function(a){let b=new Map;for(let c of a){let a=c.started_at,d=c.ended_at??Math.min(Date.now(),c.started_at+36e5),e=a,f=null;for(;e<d;){let a=new Date(e),c=(a.getDay()+6)%7,g=a.getHours(),h=`${c}-${g}`,i=new Date(a);i.setMinutes(0,0,0),i.setHours(a.getHours()+1);let j=(Math.min(i.getTime(),d)-e)/6e4,k=b.get(h)??{minutes:0,sessions:0};k.minutes+=j,null===f&&(k.sessions+=1,f=h),b.set(h,k),e=i.getTime()}}let c=[];for(let a=0;a<7;a++)for(let d=0;d<24;d++){let e=b.get(`${a}-${d}`)??{minutes:0,sessions:0};c.push({dow:a,hour:d,...e})}return c})(a),[a]),l=Math.max(...k.map(a=>a.minutes),1),m=k.reduce((a,b)=>a+b.minutes,0)/60,n=k.reduce((a,b)=>b.minutes>a.minutes?b:a,k[0]),o=new Date(e.dateLabel+"T00:00:00").getTime(),p=o+864e5,q=e.sessions.map(a=>({...a,_start:Math.max(a.startMs,o),_end:Math.min(a.endMs,p)})).filter(a=>a._end>a._start).sort((a,b)=>a._start-b._start),w=[];for(let a of q){let b=!1;for(let c of w)if(c[c.length-1]._end<=a._start){c.push(a),b=!0;break}b||w.push([a])}let x=Math.max(w.length,1),y=q.reduce((a,b)=>a+(b._end-b._start),0)/36e5;return(0,b.jsxs)("div",{className:"rounded-lg border border-zinc-800 bg-zinc-900 p-5 relative",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between mb-4 gap-4 flex-wrap",children:[(0,b.jsxs)("div",{className:"flex items-center gap-3",children:[(0,b.jsx)("p",{className:"text-xs text-zinc-500 uppercase tracking-wider",children:"activity"}),(0,b.jsxs)("div",{className:"flex gap-1",children:[(0,b.jsx)("button",{onClick:()=>h("pattern"),className:`text-xs px-2.5 py-1 rounded border transition-colors ${"pattern"===g?"bg-zinc-700 border-zinc-500 text-zinc-100":"border-zinc-800 text-zinc-500 hover:text-zinc-300 hover:border-zinc-600"}`,children:"pattern"}),(0,b.jsx)("button",{onClick:()=>h("today"),className:`text-xs px-2.5 py-1 rounded border transition-colors ${"today"===g?"bg-zinc-700 border-zinc-500 text-zinc-100":"border-zinc-800 text-zinc-500 hover:text-zinc-300 hover:border-zinc-600"}`,children:"today"})]})]}),(0,b.jsxs)("div",{className:"flex items-center gap-4 text-xs",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("span",{className:"text-base font-bold text-zinc-100 tabular-nums",children:d.current}),(0,b.jsx)("span",{className:"text-zinc-500 ml-1",children:"day streak"})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)("span",{className:"text-base font-bold text-zinc-300 tabular-nums",children:d.longest}),(0,b.jsx)("span",{className:"text-zinc-500 ml-1",children:"longest"})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)("span",{className:"text-base font-bold text-zinc-300 tabular-nums",children:d.totalDays}),(0,b.jsx)("span",{className:"text-zinc-500 ml-1",children:"active days"})]}),(0,b.jsxs)("div",{className:"border-l border-zinc-800 pl-4",children:[(0,b.jsxs)("span",{className:"text-base font-bold text-violet-400 tabular-nums",children:[m.toFixed(0),"h"]}),(0,b.jsx)("span",{className:"text-zinc-500 ml-1",children:"total"})]})]})]}),"pattern"===g?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("p",{className:"text-xs text-zinc-600 mb-2",children:["peak slot: ",r[n.dow]," ",n.hour.toString().padStart(2,"0"),":00 (",s(n.minutes),")"]}),(0,b.jsxs)("div",{className:"flex gap-1 text-xs",children:[(0,b.jsx)("div",{className:"w-8 shrink-0"}),(0,b.jsx)("div",{className:"flex-1 grid gap-px",style:{gridTemplateColumns:"repeat(24, minmax(0, 1fr))"},children:Array.from({length:24}).map((a,c)=>(0,b.jsx)("div",{className:`text-center text-[9px] text-zinc-600 ${c%3==0?"":"opacity-40"}`,children:c%3==0?c.toString().padStart(2,"0"):""},c))})]}),r.map((a,c)=>(0,b.jsxs)("div",{className:"flex gap-1 mt-px",children:[(0,b.jsx)("div",{className:"w-8 shrink-0 text-[10px] text-zinc-600 leading-4",children:a}),(0,b.jsx)("div",{className:"flex-1 grid gap-px",style:{gridTemplateColumns:"repeat(24, minmax(0, 1fr))"},children:Array.from({length:24}).map((d,e)=>{let f=k[24*c+e];return(0,b.jsx)("div",{className:`h-4 rounded-sm ${function(a,b){if(0===a)return"bg-zinc-900";let c=b>0?a/b:0;return c<.15?"bg-violet-900/40":c<.3?"bg-violet-800/60":c<.5?"bg-violet-700":c<.75?"bg-violet-600":"bg-violet-400"}(f.minutes,l)}`,title:`${a} ${e.toString().padStart(2,"0")}:00
|
|
5
|
-
${s(f.minutes)} \xb7 ${f.sessions} sessions`},e)})})]},a)),(0,b.jsxs)("div",{className:"flex items-center gap-2 mt-3 text-[10px] text-zinc-600",children:[(0,b.jsx)("span",{children:"less"}),(0,b.jsx)("span",{className:"w-3 h-3 rounded-sm bg-zinc-900 border border-zinc-800"}),(0,b.jsx)("span",{className:"w-3 h-3 rounded-sm bg-violet-900/40"}),(0,b.jsx)("span",{className:"w-3 h-3 rounded-sm bg-violet-800/60"}),(0,b.jsx)("span",{className:"w-3 h-3 rounded-sm bg-violet-700"}),(0,b.jsx)("span",{className:"w-3 h-3 rounded-sm bg-violet-600"}),(0,b.jsx)("span",{className:"w-3 h-3 rounded-sm bg-violet-400"}),(0,b.jsx)("span",{children:"more"})]})]}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("p",{className:"text-xs text-zinc-600 mb-2",children:[e.dateLabel," · ",q.length," sessions · ",y.toFixed(1),"h active"]}),0===q.length?(0,b.jsx)("p",{className:"text-zinc-600 text-sm py-4",children:"no sessions today"}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("div",{className:"relative h-4 mb-1",children:Array.from({length:25}).map((a,c)=>(0,b.jsx)("div",{className:"absolute top-0 text-[10px] text-zinc-600 tabular-nums",style:{left:`${c/24*100}%`,transform:"translateX(-50%)"},children:c%3==0?c.toString().padStart(2,"0"):""},c))}),(0,b.jsxs)("div",{className:"relative bg-zinc-950/50 rounded overflow-hidden",style:{height:`${32*x+4}px`},children:[Array.from({length:25}).map((a,c)=>(0,b.jsx)("div",{className:"absolute top-0 bottom-0 border-l border-zinc-800/40",style:{left:`${c/24*100}%`}},c)),w.flatMap((a,c)=>a.map(a=>{let d=(a._start-o)/864e5*100,e=(a._end-a._start)/864e5*100;return(0,b.jsx)("div",{className:`absolute rounded border text-[11px] font-medium leading-none cursor-pointer hover:brightness-125 transition-all overflow-hidden ${u[a.tool]??"bg-zinc-600 border-zinc-500 text-zinc-100"}`,style:{left:`${d}%`,width:`${Math.max(e,.4)}%`,top:`${4+32*c}px`,height:"28px"},onMouseEnter:b=>j({s:a,x:b.clientX,y:b.clientY}),onMouseMove:b=>j({s:a,x:b.clientX,y:b.clientY}),onMouseLeave:()=>j(null),children:e>4&&(0,b.jsxs)("div",{className:"px-1.5 py-1 truncate",children:[(0,b.jsx)("span",{className:"opacity-80",children:t(a._start)})," · ",a.project]})},a.id)}))]}),(0,b.jsxs)("div",{className:"flex gap-4 mt-3 text-[11px] text-zinc-600",children:[(0,b.jsxs)("span",{className:"flex items-center gap-1",children:[(0,b.jsx)("span",{className:"w-2.5 h-2.5 rounded-sm bg-violet-500/80 inline-block"})," claude code"]}),(0,b.jsxs)("span",{className:"flex items-center gap-1",children:[(0,b.jsx)("span",{className:"w-2.5 h-2.5 rounded-sm bg-emerald-600/80 inline-block"})," codex"]}),(0,b.jsxs)("span",{className:"flex items-center gap-1",children:[(0,b.jsx)("span",{className:"w-2.5 h-2.5 rounded-sm bg-sky-600/80 inline-block"})," cursor"]})]}),i&&(0,b.jsxs)("div",{className:"fixed z-20 bg-zinc-800 border border-zinc-700 rounded px-3 py-2 text-xs shadow-xl pointer-events-none max-w-xs",style:{left:i.x+12,top:i.y+12},children:[(0,b.jsxs)("p",{className:"text-zinc-100 font-medium mb-0.5",children:[i.s.project," ",(0,b.jsxs)("span",{className:"text-zinc-500 font-normal",children:["· ",i.s.tool]})]}),i.s.aiTitle&&(0,b.jsx)("p",{className:"text-zinc-400 mb-1 line-clamp-2",children:i.s.aiTitle}),(0,b.jsxs)("p",{className:"text-zinc-500 tabular-nums",children:[t(i.s.startMs)," → ",t(i.s.endMs)," · ",(f=i.s.startMs,Math.max(1,Math.round((i.s.endMs-f)/6e4))),"m"]})]})]})]})]})}let w={"claude-code":"bg-violet-500",codex:"bg-emerald-500",cursor:"bg-sky-500"};function x({sessions:a,limit:d=10}){let e=(0,c.useMemo)(()=>{let b=new Map;for(let d of a){var c;let a=(c=d.cwd)?c.split("/").filter(Boolean).pop()??c:"—";if("—"===a)continue;let e=(d.ended_at??d.started_at)-d.started_at,f=b.get(a)??{project:a,cwd:d.cwd,sessions:0,totalMs:0,tools:{}};f.sessions+=1,f.totalMs+=e,f.tools[d.tool]=(f.tools[d.tool]??0)+1,b.set(a,f)}return[...b.values()].sort((a,b)=>b.totalMs-a.totalMs).slice(0,d)},[a,d]),f=Math.max(...e.map(a=>a.totalMs),1);return 0===e.length?(0,b.jsxs)("div",{className:"rounded-lg border border-zinc-800 bg-zinc-900 p-5",children:[(0,b.jsx)("p",{className:"text-xs text-zinc-500 uppercase tracking-wider mb-3",children:"project leaderboard"}),(0,b.jsx)("p",{className:"text-zinc-600 text-sm",children:"no projects yet"})]}):(0,b.jsxs)("div",{className:"rounded-lg border border-zinc-800 bg-zinc-900 p-5",children:[(0,b.jsx)("p",{className:"text-xs text-zinc-500 uppercase tracking-wider mb-3",children:"project leaderboard"}),(0,b.jsx)("div",{className:"space-y-1.5",children:e.map((a,c)=>{let d;return(0,b.jsxs)("div",{className:"group",children:[(0,b.jsxs)("div",{className:"flex items-center gap-3 text-xs",children:[(0,b.jsx)("span",{className:"w-5 text-right text-zinc-600 tabular-nums",children:c+1}),(0,b.jsx)("span",{className:"flex-1 text-zinc-200 truncate",title:a.cwd??a.project,children:a.project}),(0,b.jsx)("div",{className:"flex gap-0.5",children:Object.entries(a.tools).map(([a,c])=>(0,b.jsx)("span",{className:`w-1.5 h-1.5 rounded-full ${w[a]??"bg-zinc-500"}`,title:`${a}: ${c}`},a))}),(0,b.jsxs)("span",{className:"text-zinc-500 tabular-nums w-12 text-right",children:[a.sessions,"×"]}),(0,b.jsx)("span",{className:"text-zinc-400 tabular-nums w-14 text-right",children:(d=a.totalMs/36e5)<1?`${Math.round(60*d)}m`:`${d.toFixed(1)}h`})]}),(0,b.jsx)("div",{className:"flex gap-px h-1 mt-0.5 ml-8",children:(0,b.jsx)("div",{className:"bg-violet-500/30 rounded-sm",style:{width:`${a.totalMs/f*100}%`}})})]},a.project)})})]})}function y({data:a}){let[d,e]=(0,c.useState)(!1),f=a.filter(a=>a.unlocked),g=a.filter(a=>!a.unlocked).sort((a,b)=>{let c=a.progress?a.progress.current/a.progress.target:0;return(b.progress?b.progress.current/b.progress.target:0)-c}),h=d?[...f,...g]:[...f.slice(0,4),...g.slice(0,Math.max(0,6-Math.min(f.length,4)))];return(0,b.jsxs)("div",{className:"rounded-lg border border-zinc-800 bg-zinc-900 p-5",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between mb-3",children:[(0,b.jsx)("p",{className:"text-xs text-zinc-500 uppercase tracking-wider",children:"achievements"}),(0,b.jsxs)("p",{className:"text-xs text-zinc-600",children:[f.length," / ",a.length," unlocked"]})]}),(0,b.jsx)("div",{className:"grid grid-cols-2 gap-2",children:h.map(a=>{let c=a.progress?Math.min(100,a.progress.current/a.progress.target*100):100*!!a.unlocked;return(0,b.jsxs)("div",{className:`rounded border px-2.5 py-2 ${a.unlocked?"border-amber-700/50 bg-amber-950/30":"border-zinc-800 bg-zinc-950/30"}`,title:a.description,children:[(0,b.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,b.jsxs)("span",{className:`text-xs font-medium ${a.unlocked?"text-amber-300":"text-zinc-500"}`,children:[a.unlocked?"★":"☆"," ",a.title]}),(0,b.jsx)("span",{className:"text-[10px] text-zinc-600 tabular-nums shrink-0",children:function(a){if(!a.progress)return"";let{current:b,target:c}=a.progress;return c>=1e6?`${(b/1e6).toFixed(0)}M / ${(c/1e6).toFixed(0)}M`:c>=1e3?`${b.toLocaleString()} / ${c.toLocaleString()}`:c>=100&&Number.isFinite(b)&&b<100&&b%1!=0?`${b.toFixed(1)} / ${c}`:`${Math.floor(b)} / ${c}`}(a)})]}),(0,b.jsx)("div",{className:"h-0.5 bg-zinc-800 rounded mt-1.5 overflow-hidden",children:(0,b.jsx)("div",{className:`h-full ${a.unlocked?"bg-amber-500":"bg-zinc-600"}`,style:{width:`${c}%`}})}),(0,b.jsx)("p",{className:"text-[10px] text-zinc-600 mt-1 truncate",children:a.description})]},a.id)})}),a.length>6&&(0,b.jsx)("button",{onClick:()=>e(!d),className:"w-full mt-3 text-xs text-zinc-500 hover:text-zinc-300 border border-zinc-800 rounded py-1",children:d?"show less":`show all (${a.length})`})]})}let z=["all","claude-code","codex","cursor"],A={all:"All","claude-code":"Claude Code",codex:"Codex",cursor:"Cursor"},B=["today","7d","30d","all"],C={today:"Today","7d":"7 days","30d":"30 days",all:"All time"};function D(a){if(!a)return"";let b=a-Date.now();if(b<=0)return"resetting…";let c=new Date(a),d=c.toLocaleTimeString("zh-CN",{hour:"2-digit",minute:"2-digit",hour12:!1}),e=new Date().toDateString()===c.toDateString()?d:`${(c.getMonth()+1).toString().padStart(2,"0")}/${c.getDate().toString().padStart(2,"0")} ${d}`,f=Math.floor(b/36e5),g=Math.floor(b%36e5/6e4),h=f>0?`${f}h ${g}m`:`${g}m`;return`resets at ${e} (in ${h})`}a.s(["Dashboard",0,function({sessions:a,streak:e,allBurndown:f,claudeBurndown:g,codexBurndown:h,hotspots:j,allUsage:l,claudeUsage:m,codexUsage:p,codexAccounts:r,selectedCodexAccountId:s,initialToolFilter:t,spending:u,timeline:w,achievements:E}){var F;let G,H,I=(0,d.useRouter)(),J=(0,d.usePathname)(),K=(0,d.useSearchParams)(),[L,M]=(0,c.useState)(t),[N,O]=(0,c.useState)("all"),[P,Q]=(0,c.useState)("idle"),[R,S]=(0,c.useState)(null),T=(0,c.useMemo)(()=>r.find(a=>a.accountId===s)??null,[r,s]),U=T?`codex \xb7 ${T.label}`:"codex · all accounts",V=(0,c.useMemo)(()=>{let a;return a=new Date,"today"===N?(a.setHours(0,0,0,0),a.getTime()):"7d"===N?Date.now()-6048e5:"30d"===N?Date.now()-2592e6:0},[N]),W=(0,c.useMemo)(()=>{let b=V>0?a.filter(a=>a.started_at>=V):a,c={all:b.length};for(let a of b)c[a.tool]=(c[a.tool]??0)+1;return c},[a,V]),X=(0,c.useMemo)(()=>{let b="all"===L?a:a.filter(a=>a.tool===L);return V>0&&(b=b.filter(a=>a.started_at>=V)),b},[a,L,V]),Y=(0,c.useMemo)(()=>{let a=new Map;for(let b of X){let c=(b.ended_at??b.started_at)-b.started_at,d=a.get(b.tool)??{sessions:0,totalMs:0};a.set(b.tool,{sessions:d.sessions+1,totalMs:d.totalMs+c})}let b=Math.max([...a.values()].reduce((a,b)=>a+b.totalMs,0),1);return[...a.entries()].map(([a,c])=>({tool:a,sessions:c.sessions,totalMs:c.totalMs,pct:Math.round(c.totalMs/b*100)})).sort((a,b)=>b.totalMs-a.totalMs)},[X]),Z=(0,c.useMemo)(()=>{if(0===V)return u;let a=new Date(V).toISOString().slice(0,10);return{...u,daily:u.daily.filter(b=>b.date>=a)}},[u,V]);async function $(){Q("refreshing"),S(null);try{let a=await fetch("/api/import-sessions",{method:"POST"}),b=await a.json();if(!a.ok)throw Error(b.error??"Refresh failed");Q("done"),S(`scanned ${b.scanned??0} logs in ${Math.round((b.durationMs??0)/100)/10}s`),I.refresh()}catch(a){Q("error"),S(a instanceof Error?a.message:"Refresh failed")}}function _(a,b){let c=new URLSearchParams(K.toString());"all"===a?(c.delete("agent"),c.delete("codexAccount")):(c.set("agent",a),"codex"!==a&&c.delete("codexAccount")),"codex"===a&&b?c.set("codexAccount",b):c.delete("codexAccount");let d=c.toString();I.replace(d?`${J}?${d}`:J,{scroll:!1}),I.refresh()}return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("div",{className:"flex flex-wrap items-center justify-between mb-4 gap-3",children:[(0,b.jsx)("div",{className:"flex flex-wrap gap-2",children:z.filter(a=>"all"===a||(W[a]??0)>0).sort((a,b)=>"all"===a?-1:"all"===b?1:(W[b]??0)-(W[a]??0)).map(a=>(0,b.jsxs)("button",{onClick:()=>{M(a),_(a,"codex"===a?s:null)},className:`text-xs px-3 py-1.5 rounded-full border transition-colors ${L===a?"bg-zinc-700 border-zinc-500 text-zinc-100":"border-zinc-700 text-zinc-500 hover:text-zinc-300 hover:border-zinc-600"}`,children:[A[a],(0,b.jsx)("span",{className:"ml-1.5 text-zinc-600 tabular-nums",children:W[a]??0})]},a))}),(0,b.jsxs)("div",{className:"flex flex-wrap items-center justify-end gap-2",children:[(0,b.jsx)("div",{className:"flex gap-1",children:B.map(a=>(0,b.jsx)("button",{onClick:()=>O(a),className:`text-xs px-3 py-1.5 rounded-full border transition-colors ${N===a?"bg-zinc-700 border-zinc-500 text-zinc-100":"border-zinc-700 text-zinc-500 hover:text-zinc-300 hover:border-zinc-600"}`,children:C[a]},a))}),(0,b.jsx)("button",{type:"button",onClick:$,disabled:"refreshing"===P,className:"text-xs px-3 py-1.5 rounded-full border border-violet-500/40 bg-violet-500/10 text-violet-100 transition-colors hover:bg-violet-500/20 disabled:cursor-not-allowed disabled:opacity-50",children:"refreshing"===P?"Refreshing...":"Refresh data"})]})]}),R&&(0,b.jsx)("div",{className:`mb-4 rounded-lg border px-4 py-3 text-xs ${"error"===P?"border-red-900/60 bg-red-950/40 text-red-200":"border-emerald-900/60 bg-emerald-950/30 text-emerald-200"}`,children:R}),"codex"===L&&r.length>0&&(0,b.jsxs)("div",{className:"mb-3 flex flex-wrap items-center justify-between gap-2 rounded-lg border border-zinc-800 bg-zinc-900 px-4 py-3",children:[(0,b.jsxs)("div",{className:"min-w-0",children:[(0,b.jsx)("p",{className:"text-xs uppercase tracking-wider text-zinc-500",children:"Codex account"}),(0,b.jsx)("p",{className:"mt-1 truncate text-xs text-zinc-600",children:T?T.isCurrent?"current account only":"saved account only":"all saved and legacy Codex usage"})]}),(0,b.jsxs)("div",{className:"flex min-w-0 items-center gap-2",children:[(0,b.jsxs)("select",{value:s??"",onChange:a=>{var b;return b=a.target.value,void(M("codex"),_("codex",b||null))},className:"max-w-72 rounded-md border border-zinc-700 bg-zinc-950 px-3 py-2 text-xs text-zinc-100 outline-none transition-colors hover:border-zinc-500 focus:border-violet-500",children:[(0,b.jsx)("option",{value:"",children:"All Codex accounts"}),r.map(a=>(0,b.jsxs)("option",{value:a.accountId,children:[a.label," · ",a.planType??"unknown",a.isCurrent?" · current":""]},a.accountId))]}),(0,b.jsx)("span",{className:"hidden shrink-0 text-xs text-zinc-600 sm:inline",children:T?(F=T.accountId).length>12?`${F.slice(0,6)}...${F.slice(-4)}`:F:"all"})]})]}),(G="codex"===L?p:"claude-code"===L?m:"all"===L?l:null,H="codex"===L?U:"claude-code"===L?"claude code":"all"===L?"all agents":A[L].toLowerCase(),(0,b.jsx)(b.Fragment,{children:(0,b.jsxs)("div",{className:"grid grid-cols-2 gap-4 mb-4",children:[(0,b.jsxs)("div",{className:"rounded-lg border border-zinc-800 bg-zinc-900 p-5",children:[(0,b.jsxs)("p",{className:"text-xs text-zinc-500 uppercase tracking-wider mb-2",children:["5h window · ",H]}),G?.window_5h_used_pct!=null?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("p",{className:"text-3xl font-bold text-zinc-100",children:[(100-G.window_5h_used_pct).toFixed(0),"%"]}),(0,b.jsxs)("p",{className:"text-xs text-zinc-500 mt-1",children:["remaining · ",G.window_5h_used_pct.toFixed(0),"% used"]}),G.reset_at_5h&&(0,b.jsx)("p",{className:"text-xs text-zinc-600 mt-1",children:D(G.reset_at_5h)})]}):(0,b.jsx)("p",{className:"text-zinc-600 text-sm mt-1",children:"codex"===L&&s?"no usage snapshot for this account yet":"no data yet"})]}),(0,b.jsxs)("div",{className:"rounded-lg border border-zinc-800 bg-zinc-900 p-5",children:[(0,b.jsxs)("p",{className:"text-xs text-zinc-500 uppercase tracking-wider mb-2",children:["7-day budget · ",H]}),G?.window_weekly_used_pct!=null?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("p",{className:"text-3xl font-bold text-zinc-100",children:[(100-G.window_weekly_used_pct).toFixed(0),"%"]}),(0,b.jsxs)("p",{className:"text-xs text-zinc-500 mt-1",children:["remaining · ",G.window_weekly_used_pct.toFixed(0),"% used"]}),G.reset_at_weekly&&(0,b.jsx)("p",{className:"text-xs text-zinc-600 mt-1",children:D(G.reset_at_weekly)})]}):(0,b.jsx)("p",{className:"text-zinc-600 text-sm mt-1",children:"codex"===L&&s?"click Refresh data after using this account":"no data yet"})]})]})})),(0,b.jsxs)("div",{className:"grid grid-cols-2 gap-4 mb-4",children:[(0,b.jsx)(q,{data:Z,toolFilter:L}),(0,b.jsx)(y,{data:E})]}),(0,b.jsx)("div",{className:"mb-4",children:(0,b.jsx)(v,{sessions:X,streak:e,timeline:w})}),(0,b.jsx)("div",{className:"mb-4",children:(0,b.jsx)(n,{data:"codex"===L?h:"claude-code"===L?g:f,label:"codex"===L?U:"claude-code"===L?"claude code":"all agents"})}),(0,b.jsxs)("div",{className:"grid grid-cols-2 gap-4 mb-4",children:[(0,b.jsx)(k,{data:Y}),(0,b.jsx)(x,{sessions:X})]}),(0,b.jsx)("div",{className:"mb-4",children:(0,b.jsx)(i,{sessions:X.slice(0,40)})}),j.length>0&&(0,b.jsx)(o,{data:j})]})}],39579)}];
|
|
5
|
+
${s(f.minutes)} \xb7 ${f.sessions} sessions`},e)})})]},a)),(0,b.jsxs)("div",{className:"flex items-center gap-2 mt-3 text-[10px] text-zinc-600",children:[(0,b.jsx)("span",{children:"less"}),(0,b.jsx)("span",{className:"w-3 h-3 rounded-sm bg-zinc-900 border border-zinc-800"}),(0,b.jsx)("span",{className:"w-3 h-3 rounded-sm bg-violet-900/40"}),(0,b.jsx)("span",{className:"w-3 h-3 rounded-sm bg-violet-800/60"}),(0,b.jsx)("span",{className:"w-3 h-3 rounded-sm bg-violet-700"}),(0,b.jsx)("span",{className:"w-3 h-3 rounded-sm bg-violet-600"}),(0,b.jsx)("span",{className:"w-3 h-3 rounded-sm bg-violet-400"}),(0,b.jsx)("span",{children:"more"})]})]}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("p",{className:"text-xs text-zinc-600 mb-2",children:[e.dateLabel," · ",q.length," sessions · ",y.toFixed(1),"h active"]}),0===q.length?(0,b.jsx)("p",{className:"text-zinc-600 text-sm py-4",children:"no sessions today"}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("div",{className:"relative h-4 mb-1",children:Array.from({length:25}).map((a,c)=>(0,b.jsx)("div",{className:"absolute top-0 text-[10px] text-zinc-600 tabular-nums",style:{left:`${c/24*100}%`,transform:"translateX(-50%)"},children:c%3==0?c.toString().padStart(2,"0"):""},c))}),(0,b.jsxs)("div",{className:"relative bg-zinc-950/50 rounded overflow-hidden",style:{height:`${32*x+4}px`},children:[Array.from({length:25}).map((a,c)=>(0,b.jsx)("div",{className:"absolute top-0 bottom-0 border-l border-zinc-800/40",style:{left:`${c/24*100}%`}},c)),w.flatMap((a,c)=>a.map(a=>{let d=(a._start-o)/864e5*100,e=(a._end-a._start)/864e5*100;return(0,b.jsx)("div",{className:`absolute rounded border text-[11px] font-medium leading-none cursor-pointer hover:brightness-125 transition-all overflow-hidden ${u[a.tool]??"bg-zinc-600 border-zinc-500 text-zinc-100"}`,style:{left:`${d}%`,width:`${Math.max(e,.4)}%`,top:`${4+32*c}px`,height:"28px"},onMouseEnter:b=>j({s:a,x:b.clientX,y:b.clientY}),onMouseMove:b=>j({s:a,x:b.clientX,y:b.clientY}),onMouseLeave:()=>j(null),children:e>4&&(0,b.jsxs)("div",{className:"px-1.5 py-1 truncate",children:[(0,b.jsx)("span",{className:"opacity-80",children:t(a._start)})," · ",a.project]})},a.id)}))]}),(0,b.jsxs)("div",{className:"flex gap-4 mt-3 text-[11px] text-zinc-600",children:[(0,b.jsxs)("span",{className:"flex items-center gap-1",children:[(0,b.jsx)("span",{className:"w-2.5 h-2.5 rounded-sm bg-violet-500/80 inline-block"})," claude code"]}),(0,b.jsxs)("span",{className:"flex items-center gap-1",children:[(0,b.jsx)("span",{className:"w-2.5 h-2.5 rounded-sm bg-emerald-600/80 inline-block"})," codex"]}),(0,b.jsxs)("span",{className:"flex items-center gap-1",children:[(0,b.jsx)("span",{className:"w-2.5 h-2.5 rounded-sm bg-sky-600/80 inline-block"})," cursor"]})]}),i&&(0,b.jsxs)("div",{className:"fixed z-20 bg-zinc-800 border border-zinc-700 rounded px-3 py-2 text-xs shadow-xl pointer-events-none max-w-xs",style:{left:i.x+12,top:i.y+12},children:[(0,b.jsxs)("p",{className:"text-zinc-100 font-medium mb-0.5",children:[i.s.project," ",(0,b.jsxs)("span",{className:"text-zinc-500 font-normal",children:["· ",i.s.tool]})]}),i.s.aiTitle&&(0,b.jsx)("p",{className:"text-zinc-400 mb-1 line-clamp-2",children:i.s.aiTitle}),(0,b.jsxs)("p",{className:"text-zinc-500 tabular-nums",children:[t(i.s.startMs)," → ",t(i.s.endMs)," · ",(f=i.s.startMs,Math.max(1,Math.round((i.s.endMs-f)/6e4))),"m"]})]})]})]})]})}let w={"claude-code":"bg-violet-500",codex:"bg-emerald-500",cursor:"bg-sky-500"};function x({sessions:a,limit:d=10}){let e=(0,c.useMemo)(()=>{let b=new Map;for(let d of a){var c;let a=(c=d.cwd)?c.split("/").filter(Boolean).pop()??c:"—";if("—"===a)continue;let e=(d.ended_at??d.started_at)-d.started_at,f=b.get(a)??{project:a,cwd:d.cwd,sessions:0,totalMs:0,tools:{}};f.sessions+=1,f.totalMs+=e,f.tools[d.tool]=(f.tools[d.tool]??0)+1,b.set(a,f)}return[...b.values()].sort((a,b)=>b.totalMs-a.totalMs).slice(0,d)},[a,d]),f=Math.max(...e.map(a=>a.totalMs),1);return 0===e.length?(0,b.jsxs)("div",{className:"rounded-lg border border-zinc-800 bg-zinc-900 p-5",children:[(0,b.jsx)("p",{className:"text-xs text-zinc-500 uppercase tracking-wider mb-3",children:"project leaderboard"}),(0,b.jsx)("p",{className:"text-zinc-600 text-sm",children:"no projects yet"})]}):(0,b.jsxs)("div",{className:"rounded-lg border border-zinc-800 bg-zinc-900 p-5",children:[(0,b.jsx)("p",{className:"text-xs text-zinc-500 uppercase tracking-wider mb-3",children:"project leaderboard"}),(0,b.jsx)("div",{className:"space-y-1.5",children:e.map((a,c)=>{let d;return(0,b.jsxs)("div",{className:"group",children:[(0,b.jsxs)("div",{className:"flex items-center gap-3 text-xs",children:[(0,b.jsx)("span",{className:"w-5 text-right text-zinc-600 tabular-nums",children:c+1}),(0,b.jsx)("span",{className:"flex-1 text-zinc-200 truncate",title:a.cwd??a.project,children:a.project}),(0,b.jsx)("div",{className:"flex gap-0.5",children:Object.entries(a.tools).map(([a,c])=>(0,b.jsx)("span",{className:`w-1.5 h-1.5 rounded-full ${w[a]??"bg-zinc-500"}`,title:`${a}: ${c}`},a))}),(0,b.jsxs)("span",{className:"text-zinc-500 tabular-nums w-12 text-right",children:[a.sessions,"×"]}),(0,b.jsx)("span",{className:"text-zinc-400 tabular-nums w-14 text-right",children:(d=a.totalMs/36e5)<1?`${Math.round(60*d)}m`:`${d.toFixed(1)}h`})]}),(0,b.jsx)("div",{className:"flex gap-px h-1 mt-0.5 ml-8",children:(0,b.jsx)("div",{className:"bg-violet-500/30 rounded-sm",style:{width:`${a.totalMs/f*100}%`}})})]},a.project)})})]})}function y({data:a}){let[d,e]=(0,c.useState)(!1),f=a.filter(a=>a.unlocked),g=a.filter(a=>!a.unlocked).sort((a,b)=>{let c=a.progress?a.progress.current/a.progress.target:0;return(b.progress?b.progress.current/b.progress.target:0)-c}),h=d?[...f,...g]:[...f.slice(0,4),...g.slice(0,Math.max(0,6-Math.min(f.length,4)))];return(0,b.jsxs)("div",{className:"rounded-lg border border-zinc-800 bg-zinc-900 p-5",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between mb-3",children:[(0,b.jsx)("p",{className:"text-xs text-zinc-500 uppercase tracking-wider",children:"achievements"}),(0,b.jsxs)("p",{className:"text-xs text-zinc-600",children:[f.length," / ",a.length," unlocked"]})]}),(0,b.jsx)("div",{className:"grid grid-cols-2 gap-2",children:h.map(a=>{let c=a.progress?Math.min(100,a.progress.current/a.progress.target*100):100*!!a.unlocked;return(0,b.jsxs)("div",{className:`rounded border px-2.5 py-2 ${a.unlocked?"border-amber-700/50 bg-amber-950/30":"border-zinc-800 bg-zinc-950/30"}`,title:a.description,children:[(0,b.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,b.jsxs)("span",{className:`text-xs font-medium ${a.unlocked?"text-amber-300":"text-zinc-500"}`,children:[a.unlocked?"★":"☆"," ",a.title]}),(0,b.jsx)("span",{className:"text-[10px] text-zinc-600 tabular-nums shrink-0",children:function(a){if(!a.progress)return"";let{current:b,target:c}=a.progress;return c>=1e6?`${(b/1e6).toFixed(0)}M / ${(c/1e6).toFixed(0)}M`:c>=1e3?`${b.toLocaleString()} / ${c.toLocaleString()}`:c>=100&&Number.isFinite(b)&&b<100&&b%1!=0?`${b.toFixed(1)} / ${c}`:`${Math.floor(b)} / ${c}`}(a)})]}),(0,b.jsx)("div",{className:"h-0.5 bg-zinc-800 rounded mt-1.5 overflow-hidden",children:(0,b.jsx)("div",{className:`h-full ${a.unlocked?"bg-amber-500":"bg-zinc-600"}`,style:{width:`${c}%`}})}),(0,b.jsx)("p",{className:"text-[10px] text-zinc-600 mt-1 truncate",children:a.description})]},a.id)})}),a.length>6&&(0,b.jsx)("button",{onClick:()=>e(!d),className:"w-full mt-3 text-xs text-zinc-500 hover:text-zinc-300 border border-zinc-800 rounded py-1",children:d?"show less":`show all (${a.length})`})]})}let z=["all","claude-code","codex","cursor"],A={all:"All","claude-code":"Claude Code",codex:"Codex",cursor:"Cursor"},B=["today","7d","30d","all"],C={today:"Today","7d":"7 days","30d":"30 days",all:"All time"};function D(a){if(!a)return"";let b=a-Date.now();if(b<=0)return"resetting…";let c=new Date(a),d=c.toLocaleTimeString("zh-CN",{hour:"2-digit",minute:"2-digit",hour12:!1}),e=new Date().toDateString()===c.toDateString()?d:`${(c.getMonth()+1).toString().padStart(2,"0")}/${c.getDate().toString().padStart(2,"0")} ${d}`,f=Math.floor(b/36e5),g=Math.floor(b%36e5/6e4),h=f>0?`${f}h ${g}m`:`${g}m`;return`resets at ${e} (in ${h})`}a.s(["Dashboard",0,function({sessions:a,streak:e,allBurndown:f,claudeBurndown:g,codexBurndown:h,hotspots:j,allUsage:l,claudeUsage:m,codexUsage:p,codexAccounts:r,selectedCodexAccountId:s,initialToolFilter:t,spending:u,timeline:w,achievements:E}){var F;let G,H,I=(0,d.useRouter)(),J=(0,d.usePathname)(),K=(0,d.useSearchParams)(),L=K.get("agent"),M=z.includes(L)?L:t,[N,O]=(0,c.useState)("all"),[P,Q]=(0,c.useState)("idle"),[R,S]=(0,c.useState)(null),T=(0,c.useMemo)(()=>r.find(a=>a.accountId===s)??null,[r,s]),U=T?`codex \xb7 ${T.label}`:"codex · all accounts",V=(0,c.useMemo)(()=>{let a;return a=new Date,"today"===N?(a.setHours(0,0,0,0),a.getTime()):"7d"===N?Date.now()-6048e5:"30d"===N?Date.now()-2592e6:0},[N]),W=(0,c.useMemo)(()=>{let b=V>0?a.filter(a=>a.started_at>=V):a,c={all:b.length};for(let a of b)c[a.tool]=(c[a.tool]??0)+1;return c},[a,V]),X=(0,c.useMemo)(()=>{let b="all"===M?a:a.filter(a=>a.tool===M);return V>0&&(b=b.filter(a=>a.started_at>=V)),b},[a,M,V]),Y=(0,c.useMemo)(()=>{let a=new Map;for(let b of X){let c=(b.ended_at??b.started_at)-b.started_at,d=a.get(b.tool)??{sessions:0,totalMs:0};a.set(b.tool,{sessions:d.sessions+1,totalMs:d.totalMs+c})}let b=Math.max([...a.values()].reduce((a,b)=>a+b.totalMs,0),1);return[...a.entries()].map(([a,c])=>({tool:a,sessions:c.sessions,totalMs:c.totalMs,pct:Math.round(c.totalMs/b*100)})).sort((a,b)=>b.totalMs-a.totalMs)},[X]),Z=(0,c.useMemo)(()=>{if(0===V)return u;let a=new Date(V).toISOString().slice(0,10);return{...u,daily:u.daily.filter(b=>b.date>=a)}},[u,V]);async function $(){Q("refreshing"),S(null);try{let a=await fetch("/api/import-sessions",{method:"POST"}),b=await a.json();if(!a.ok)throw Error(b.error??"Refresh failed");Q("done"),S(`scanned ${b.scanned??0} logs in ${Math.round((b.durationMs??0)/100)/10}s`),I.refresh()}catch(a){Q("error"),S(a instanceof Error?a.message:"Refresh failed")}}function _(a,b){let c=new URLSearchParams(K.toString());"all"===a?(c.delete("agent"),c.delete("codexAccount")):(c.set("agent",a),"codex"!==a&&c.delete("codexAccount")),"codex"===a&&b?c.set("codexAccount",b):c.delete("codexAccount");let d=c.toString();I.replace(d?`${J}?${d}`:J,{scroll:!1}),I.refresh()}return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("div",{className:"flex flex-wrap items-center justify-between mb-4 gap-3",children:[(0,b.jsx)("div",{className:"flex flex-wrap gap-2",children:z.filter(a=>"all"===a||(W[a]??0)>0).sort((a,b)=>"all"===a?-1:"all"===b?1:(W[b]??0)-(W[a]??0)).map(a=>(0,b.jsxs)("button",{onClick:()=>{_(a,"codex"===a?s:null)},className:`text-xs px-3 py-1.5 rounded-full border transition-colors ${M===a?"bg-zinc-700 border-zinc-500 text-zinc-100":"border-zinc-700 text-zinc-500 hover:text-zinc-300 hover:border-zinc-600"}`,children:[A[a],(0,b.jsx)("span",{className:"ml-1.5 text-zinc-600 tabular-nums",children:W[a]??0})]},a))}),(0,b.jsxs)("div",{className:"flex flex-wrap items-center justify-end gap-2",children:[(0,b.jsx)("div",{className:"flex gap-1",children:B.map(a=>(0,b.jsx)("button",{onClick:()=>O(a),className:`text-xs px-3 py-1.5 rounded-full border transition-colors ${N===a?"bg-zinc-700 border-zinc-500 text-zinc-100":"border-zinc-700 text-zinc-500 hover:text-zinc-300 hover:border-zinc-600"}`,children:C[a]},a))}),(0,b.jsx)("button",{type:"button",onClick:$,disabled:"refreshing"===P,className:"text-xs px-3 py-1.5 rounded-full border border-violet-500/40 bg-violet-500/10 text-violet-100 transition-colors hover:bg-violet-500/20 disabled:cursor-not-allowed disabled:opacity-50",children:"refreshing"===P?"Refreshing...":"Refresh data"})]})]}),R&&(0,b.jsx)("div",{className:`mb-4 rounded-lg border px-4 py-3 text-xs ${"error"===P?"border-red-900/60 bg-red-950/40 text-red-200":"border-emerald-900/60 bg-emerald-950/30 text-emerald-200"}`,children:R}),"codex"===M&&r.length>0&&(0,b.jsxs)("div",{className:"mb-3 flex flex-wrap items-center justify-between gap-2 rounded-lg border border-zinc-800 bg-zinc-900 px-4 py-3",children:[(0,b.jsxs)("div",{className:"min-w-0",children:[(0,b.jsx)("p",{className:"text-xs uppercase tracking-wider text-zinc-500",children:"Codex account"}),(0,b.jsx)("p",{className:"mt-1 truncate text-xs text-zinc-600",children:T?T.isCurrent?"current account only":"saved account only":"all saved and legacy Codex usage"})]}),(0,b.jsxs)("div",{className:"flex min-w-0 items-center gap-2",children:[(0,b.jsxs)("select",{value:s??"",onChange:a=>{_("codex",a.target.value||null)},className:"max-w-72 rounded-md border border-zinc-700 bg-zinc-950 px-3 py-2 text-xs text-zinc-100 outline-none transition-colors hover:border-zinc-500 focus:border-violet-500",children:[(0,b.jsx)("option",{value:"",children:"All Codex accounts"}),r.map(a=>(0,b.jsxs)("option",{value:a.accountId,children:[a.label," · ",a.planType??"unknown",a.isCurrent?" · current":""]},a.accountId))]}),(0,b.jsx)("span",{className:"hidden shrink-0 text-xs text-zinc-600 sm:inline",children:T?(F=T.accountId).length>12?`${F.slice(0,6)}...${F.slice(-4)}`:F:"all"})]})]}),(G="codex"===M?p:"claude-code"===M?m:"all"===M?l:null,H="codex"===M?U:"claude-code"===M?"claude code":"all"===M?"all agents":A[M].toLowerCase(),(0,b.jsx)(b.Fragment,{children:(0,b.jsxs)("div",{className:"grid grid-cols-2 gap-4 mb-4",children:[(0,b.jsxs)("div",{className:"rounded-lg border border-zinc-800 bg-zinc-900 p-5",children:[(0,b.jsxs)("p",{className:"text-xs text-zinc-500 uppercase tracking-wider mb-2",children:["5h window · ",H]}),G?.window_5h_used_pct!=null?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("p",{className:"text-3xl font-bold text-zinc-100",children:[(100-G.window_5h_used_pct).toFixed(0),"%"]}),(0,b.jsxs)("p",{className:"text-xs text-zinc-500 mt-1",children:["remaining · ",G.window_5h_used_pct.toFixed(0),"% used"]}),G.reset_at_5h&&(0,b.jsx)("p",{className:"text-xs text-zinc-600 mt-1",children:D(G.reset_at_5h)})]}):(0,b.jsx)("p",{className:"text-zinc-600 text-sm mt-1",children:"codex"===M&&s?"no usage snapshot for this account yet":"no data yet"})]}),(0,b.jsxs)("div",{className:"rounded-lg border border-zinc-800 bg-zinc-900 p-5",children:[(0,b.jsxs)("p",{className:"text-xs text-zinc-500 uppercase tracking-wider mb-2",children:["7-day budget · ",H]}),G?.window_weekly_used_pct!=null?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("p",{className:"text-3xl font-bold text-zinc-100",children:[(100-G.window_weekly_used_pct).toFixed(0),"%"]}),(0,b.jsxs)("p",{className:"text-xs text-zinc-500 mt-1",children:["remaining · ",G.window_weekly_used_pct.toFixed(0),"% used"]}),G.reset_at_weekly&&(0,b.jsx)("p",{className:"text-xs text-zinc-600 mt-1",children:D(G.reset_at_weekly)})]}):(0,b.jsx)("p",{className:"text-zinc-600 text-sm mt-1",children:"codex"===M&&s?"click Refresh data after using this account":"no data yet"})]})]})})),(0,b.jsxs)("div",{className:"grid grid-cols-2 gap-4 mb-4",children:[(0,b.jsx)(q,{data:Z,toolFilter:M}),(0,b.jsx)(y,{data:E})]}),(0,b.jsx)("div",{className:"mb-4",children:(0,b.jsx)(v,{sessions:X,streak:e,timeline:w})}),(0,b.jsx)("div",{className:"mb-4",children:(0,b.jsx)(n,{data:"codex"===M?h:"claude-code"===M?g:f,label:"codex"===M?U:"claude-code"===M?"claude code":"all agents"})}),(0,b.jsxs)("div",{className:"grid grid-cols-2 gap-4 mb-4",children:[(0,b.jsx)(k,{data:Y}),(0,b.jsx)(x,{sessions:X})]}),(0,b.jsx)("div",{className:"mb-4",children:(0,b.jsx)(i,{sessions:X.slice(0,40)})}),j.length>0&&(0,b.jsx)(o,{data:j})]})}],39579)}];
|
|
6
6
|
|
|
7
7
|
//# sourceMappingURL=_0ye~8el._.js.map
|