@meridiona/meridian-darwin-arm64 1.2.2 → 1.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.env.example +7 -6
- package/VERSION +1 -1
- package/bin/meridian +0 -0
- package/package.json +1 -1
- package/scripts/install-from-bundle.sh +2 -2
- package/scripts/meridian-cli.sh +82 -0
- package/services/agents/README.md +3 -3
- package/services/pyproject.toml +1 -1
- package/ui/.next/static/chunks/06v.9~0d~qa17.css +4 -0
- package/ui/.next/static/chunks/0dl.w-ip2ly5_.js +1 -0
- package/ui/.next/static/chunks/0t0n-_np5foyi.js +1 -0
- package/ui/.next/static/chunks/0z1g1xyfa206c.js +1 -0
- package/ui/ui/.next/BUILD_ID +1 -1
- package/ui/ui/.next/app-path-routes-manifest.json +2 -0
- package/ui/ui/.next/build-manifest.json +3 -3
- package/ui/ui/.next/prerender-manifest.json +3 -3
- package/ui/ui/.next/routes-manifest.json +16 -1
- package/ui/ui/.next/server/app/_global-error.html +1 -1
- package/ui/ui/.next/server/app/_global-error.rsc +1 -1
- package/ui/ui/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/ui/ui/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/ui/ui/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/ui/ui/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/ui/ui/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/ui/ui/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/ui/ui/.next/server/app/_not-found.html +1 -1
- package/ui/ui/.next/server/app/_not-found.rsc +2 -2
- package/ui/ui/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
- package/ui/ui/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
- package/ui/ui/.next/server/app/_not-found.segments/_index.segment.rsc +2 -2
- package/ui/ui/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/ui/ui/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
- package/ui/ui/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
- package/ui/ui/.next/server/app/api/active/route.js +1 -1
- package/ui/ui/.next/server/app/api/active/route.js.nft.json +1 -1
- package/ui/ui/.next/server/app/api/coding-agents/route.js +1 -1
- package/ui/ui/.next/server/app/api/coding-agents/route.js.nft.json +1 -1
- package/ui/ui/.next/server/app/api/queue-review/route.js +1 -1
- package/ui/ui/.next/server/app/api/queue-review/route.js.nft.json +1 -1
- package/ui/ui/.next/server/app/api/tasks/route.js +1 -1
- package/ui/ui/.next/server/app/api/tasks/route.js.nft.json +1 -1
- package/ui/ui/.next/server/app/api/today/route.js +1 -1
- package/ui/ui/.next/server/app/api/today/route.js.nft.json +1 -1
- package/ui/ui/.next/server/app/api/week/route.js +1 -1
- package/ui/ui/.next/server/app/api/week/route.js.nft.json +1 -1
- package/ui/ui/.next/server/app/api/worklogs/[id]/route/app-paths-manifest.json +3 -0
- package/ui/ui/.next/server/app/api/worklogs/[id]/route/build-manifest.json +9 -0
- package/ui/ui/.next/server/app/api/worklogs/[id]/route/server-reference-manifest.json +4 -0
- package/ui/ui/.next/server/app/api/worklogs/[id]/route.js +6 -0
- package/ui/ui/.next/server/app/api/worklogs/[id]/route.js.map +5 -0
- package/ui/ui/.next/server/app/api/worklogs/[id]/route.js.nft.json +1 -0
- package/ui/ui/.next/server/app/api/worklogs/[id]/route_client-reference-manifest.js +3 -0
- package/ui/ui/.next/server/app/api/worklogs/route/app-paths-manifest.json +3 -0
- package/ui/ui/.next/server/app/api/worklogs/route/build-manifest.json +9 -0
- package/ui/ui/.next/server/app/api/worklogs/route/server-reference-manifest.json +4 -0
- package/ui/ui/.next/server/app/api/worklogs/route.js +6 -0
- package/ui/ui/.next/server/app/api/worklogs/route.js.map +5 -0
- package/ui/ui/.next/server/app/api/worklogs/route.js.nft.json +1 -0
- package/ui/ui/.next/server/app/api/worklogs/route_client-reference-manifest.js +3 -0
- package/ui/ui/.next/server/app/index.html +1 -1
- package/ui/ui/.next/server/app/index.rsc +3 -3
- package/ui/ui/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
- package/ui/ui/.next/server/app/index.segments/_full.segment.rsc +3 -3
- package/ui/ui/.next/server/app/index.segments/_head.segment.rsc +1 -1
- package/ui/ui/.next/server/app/index.segments/_index.segment.rsc +2 -2
- package/ui/ui/.next/server/app/index.segments/_tree.segment.rsc +2 -2
- package/ui/ui/.next/server/app/page/react-loadable-manifest.json +7 -1
- package/ui/ui/.next/server/app/page_client-reference-manifest.js +1 -1
- package/ui/ui/.next/server/app/settings/page_client-reference-manifest.js +1 -1
- package/ui/ui/.next/server/app/settings.html +1 -1
- package/ui/ui/.next/server/app/settings.rsc +2 -2
- package/ui/ui/.next/server/app/settings.segments/_full.segment.rsc +2 -2
- package/ui/ui/.next/server/app/settings.segments/_head.segment.rsc +1 -1
- package/ui/ui/.next/server/app/settings.segments/_index.segment.rsc +2 -2
- package/ui/ui/.next/server/app/settings.segments/_tree.segment.rsc +2 -2
- package/ui/ui/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +1 -1
- package/ui/ui/.next/server/app/settings.segments/settings.segment.rsc +1 -1
- package/ui/ui/.next/server/app-paths-manifest.json +2 -0
- package/ui/ui/.next/server/chunks/[root-of-the-server]__0f0b_~6._.js +13 -0
- package/ui/ui/.next/server/chunks/{[root-of-the-server]__0k._39j._.js → [root-of-the-server]__0izj2dt._.js} +2 -2
- package/ui/ui/.next/server/chunks/[root-of-the-server]__0o8yxaf._.js +31 -0
- package/ui/ui/.next/server/chunks/[root-of-the-server]__0vkhuwx._.js +10 -0
- package/ui/ui/.next/server/chunks/[root-of-the-server]__0yujz.-._.js +9 -0
- package/ui/ui/.next/server/chunks/{[root-of-the-server]__0ht7nn0._.js → [root-of-the-server]__0~75nht._.js} +2 -2
- package/ui/ui/.next/server/chunks/{[root-of-the-server]__0xzo8h-._.js → [root-of-the-server]__120.3e1._.js} +2 -2
- package/ui/ui/.next/server/chunks/{[root-of-the-server]__11itz30._.js → [root-of-the-server]__1320.4q._.js} +2 -2
- package/ui/ui/.next/server/chunks/ssr/ui_07v--q0._.js +1 -1
- package/ui/ui/.next/server/chunks/ui__next-internal_server_app_api_worklogs_[id]_route_actions_0uj90mh.js +3 -0
- package/ui/ui/.next/server/chunks/ui__next-internal_server_app_api_worklogs_route_actions_06v-3.b.js +3 -0
- package/ui/ui/.next/server/middleware-build-manifest.js +3 -3
- package/ui/ui/.next/server/pages/404.html +1 -1
- package/ui/ui/.next/server/pages/500.html +1 -1
- package/ui/ui/.next/server/server-reference-manifest.js +1 -1
- package/ui/ui/.next/server/server-reference-manifest.json +1 -1
- package/ui/ui/package.json +1 -1
- package/ui/.next/static/chunks/0te39p~~ln1wb.css +0 -4
- package/ui/.next/static/chunks/0vh2gk~.ts7mj.js +0 -1
- package/ui/.next/static/chunks/10eme~wuwi3ro.js +0 -1
- package/ui/ui/.next/server/chunks/[root-of-the-server]__0nlf5yy._.js +0 -9
- package/ui/ui/.next/server/chunks/[root-of-the-server]__0tb70a~._.js +0 -31
- /package/ui/.next/static/{CCkrzzRwGe9MBRD4oERSo → ssYyfKouyOGsUj1971PsB}/_buildManifest.js +0 -0
- /package/ui/.next/static/{CCkrzzRwGe9MBRD4oERSo → ssYyfKouyOGsUj1971PsB}/_clientMiddlewareManifest.js +0 -0
- /package/ui/.next/static/{CCkrzzRwGe9MBRD4oERSo → ssYyfKouyOGsUj1971PsB}/_ssgManifest.js +0 -0
package/.env.example
CHANGED
|
@@ -36,15 +36,16 @@
|
|
|
36
36
|
# JIRA_PROJECT_KEYS=KAN,ENG # optional — comma-separated; empty = all projects
|
|
37
37
|
|
|
38
38
|
# ---------------------------------------------------------------------------
|
|
39
|
-
# PM worklog (Stage 4) —
|
|
39
|
+
# PM worklog (Stage 4) — Jira worklogs from classified sessions.
|
|
40
40
|
# Runs inside the Rust daemon: one hour-driven worklog per task per hour,
|
|
41
|
-
# synthesised via the MLX server's /synthesise_worklog endpoint
|
|
42
|
-
#
|
|
41
|
+
# synthesised via the MLX server's /synthesise_worklog endpoint. Requires the
|
|
42
|
+
# MLX server (it hosts the synth agent).
|
|
43
43
|
# ---------------------------------------------------------------------------
|
|
44
44
|
|
|
45
|
-
#
|
|
46
|
-
#
|
|
47
|
-
#
|
|
45
|
+
# Nothing posts to Jira automatically. The daemon DRAFTS worklogs every hour;
|
|
46
|
+
# you review, edit, and approve each one in the dashboard (Worklogs view), and
|
|
47
|
+
# the daemon posts approved worklogs within ~60s. Approval is the only gate —
|
|
48
|
+
# there is no auto-post switch.
|
|
48
49
|
|
|
49
50
|
# Driver cadence in hours (clamped to a 60s floor). Default 1.0.
|
|
50
51
|
# PM_WORKLOG_INTERVAL_HOURS=1.0
|
package/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
1.
|
|
1
|
+
1.4.0
|
package/bin/meridian
CHANGED
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@meridiona/meridian-darwin-arm64",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.4.0",
|
|
4
4
|
"description": "Prebuilt Meridian app for macOS arm64 (daemon binary + dashboard + Python services). Installed via @meridiona/meridian.",
|
|
5
5
|
"homepage": "https://github.com/Meridiona/meridian",
|
|
6
6
|
"repository": {
|
|
@@ -161,5 +161,5 @@ echo " meridian logs -f # watch the pipeline"
|
|
|
161
161
|
echo " meridian config edit # add Jira creds"
|
|
162
162
|
echo " open http://localhost:${UI_PORT} # the dashboard"
|
|
163
163
|
echo ""
|
|
164
|
-
echo "Jira
|
|
165
|
-
echo "
|
|
164
|
+
echo "Jira worklogs are DRAFTED only — approve them in the dashboard (Worklogs"
|
|
165
|
+
echo "view) and the daemon posts approved worklogs within ~60s."
|
package/scripts/meridian-cli.sh
CHANGED
|
@@ -51,6 +51,20 @@ Commands:
|
|
|
51
51
|
uninstall Stop daemons and remove CLI symlinks
|
|
52
52
|
--help | -h Show this help
|
|
53
53
|
EOF
|
|
54
|
+
# Dev commands only make sense (and only work) in a source checkout.
|
|
55
|
+
if [[ -f "${REPO_ROOT}/Cargo.toml" ]]; then
|
|
56
|
+
cat <<'EOF'
|
|
57
|
+
|
|
58
|
+
Dev (source checkout — builds from this repo, MLX stays loaded):
|
|
59
|
+
dev Build daemon + UI, restart them, start MLX/screenpipe if down
|
|
60
|
+
dev daemon Rebuild Rust + restart only the daemon ← main backend loop
|
|
61
|
+
dev ui Rebuild UI + restart the dashboard (:3939)
|
|
62
|
+
dev ui-watch Next.js hot-reload dev server (foreground) ← main UI loop
|
|
63
|
+
dev mlx Restart only the MLX server (reloads the model)
|
|
64
|
+
dev screenpipe Restart only screenpipe
|
|
65
|
+
dev build Build daemon + UI, no restart
|
|
66
|
+
EOF
|
|
67
|
+
fi
|
|
54
68
|
}
|
|
55
69
|
|
|
56
70
|
# --- start ---
|
|
@@ -368,6 +382,73 @@ cmd_daemon_passthrough() {
|
|
|
368
382
|
exec "$bin" "$@"
|
|
369
383
|
}
|
|
370
384
|
|
|
385
|
+
# --- dev (source checkout only) ---
|
|
386
|
+
# Build from THIS repo and restart only what changed. The daemon's launchd plist
|
|
387
|
+
# runs ~/.local/bin/meridian-daemon -> target/release/meridian, so a release
|
|
388
|
+
# build is picked up in place. Gated on Cargo.toml: a prebuilt install (bundle at
|
|
389
|
+
# ~/.meridian/app) has no source, so these are hidden/disabled there.
|
|
390
|
+
_is_source_checkout() { [[ -f "${REPO_ROOT}/Cargo.toml" ]]; }
|
|
391
|
+
|
|
392
|
+
# Restart a service to pick up a new build (no-op-with-warning if not running).
|
|
393
|
+
_dev_kick() {
|
|
394
|
+
local label="$1"
|
|
395
|
+
if launchctl kickstart -k "${GUI_TARGET}/${label}" 2>/dev/null; then
|
|
396
|
+
ok "restarted ${label}"
|
|
397
|
+
else
|
|
398
|
+
warn "${label} not running — 'meridian start' or ./install.sh first"
|
|
399
|
+
fi
|
|
400
|
+
}
|
|
401
|
+
|
|
402
|
+
# Start a service ONLY if it isn't already up — never reloads a live process
|
|
403
|
+
# (so the ~6 GB MLX model isn't reloaded when it's already serving).
|
|
404
|
+
_dev_ensure() {
|
|
405
|
+
local label="$1"
|
|
406
|
+
if launchctl print "${GUI_TARGET}/${label}" >/dev/null 2>&1; then
|
|
407
|
+
ok "${label} already up (left as-is)"
|
|
408
|
+
elif [[ -f "${LAUNCH_AGENTS}/${label}.plist" ]]; then
|
|
409
|
+
set +e
|
|
410
|
+
launchctl enable "${GUI_TARGET}/${label}" 2>/dev/null
|
|
411
|
+
launchctl bootstrap "${GUI_TARGET}" "${LAUNCH_AGENTS}/${label}.plist" 2>/dev/null
|
|
412
|
+
set -e
|
|
413
|
+
info "started ${label}"
|
|
414
|
+
else
|
|
415
|
+
warn "${label} not installed — run ./install.sh"
|
|
416
|
+
fi
|
|
417
|
+
}
|
|
418
|
+
|
|
419
|
+
_dev_build_daemon() { info "building daemon (cargo --release)…"; ( cd "${REPO_ROOT}" && cargo build --release ); }
|
|
420
|
+
_dev_build_ui() { info "building UI (npm run build)…"; ( cd "${REPO_ROOT}/ui" && npm run build ); }
|
|
421
|
+
|
|
422
|
+
cmd_dev() {
|
|
423
|
+
if ! _is_source_checkout; then
|
|
424
|
+
err "'meridian dev' needs a source checkout (no Cargo.toml at ${REPO_ROOT})."
|
|
425
|
+
err "This is a prebuilt install — use start / stop / restart / status / logs."
|
|
426
|
+
exit 1
|
|
427
|
+
fi
|
|
428
|
+
local target="${1:-all}"
|
|
429
|
+
case "$target" in
|
|
430
|
+
all)
|
|
431
|
+
# Build everything + bring up: rebuild & restart the cheap services,
|
|
432
|
+
# start MLX/screenpipe only if down (don't reload a live model).
|
|
433
|
+
_dev_build_daemon; _dev_build_ui
|
|
434
|
+
_dev_ensure "${LABEL_SCREENPIPE}"
|
|
435
|
+
_dev_ensure "${LABEL_MLX}"
|
|
436
|
+
_dev_kick "${LABEL_DAEMON}"
|
|
437
|
+
_dev_kick "${LABEL_UI}"
|
|
438
|
+
echo; info "dev up (MLX left loaded if it was already running)"; echo
|
|
439
|
+
cmd_status
|
|
440
|
+
;;
|
|
441
|
+
build) _dev_build_daemon; _dev_build_ui; ok "built (no restart)" ;;
|
|
442
|
+
daemon) _dev_build_daemon; _dev_kick "${LABEL_DAEMON}" ;;
|
|
443
|
+
ui) _dev_build_ui; _dev_kick "${LABEL_UI}" ;;
|
|
444
|
+
ui-watch) info "Next.js hot reload (Ctrl-C to stop)…"; ( cd "${REPO_ROOT}/ui" && exec npm run dev ) ;;
|
|
445
|
+
mlx) _dev_kick "${LABEL_MLX}" ;; # python — restart reloads the model
|
|
446
|
+
screenpipe) _dev_kick "${LABEL_SCREENPIPE}" ;;
|
|
447
|
+
*) err "unknown dev target: ${target}";
|
|
448
|
+
echo " targets: all | build | daemon | ui | ui-watch | mlx | screenpipe"; exit 1 ;;
|
|
449
|
+
esac
|
|
450
|
+
}
|
|
451
|
+
|
|
371
452
|
case "$CMD" in
|
|
372
453
|
start) cmd_start ;;
|
|
373
454
|
stop) cmd_stop ;;
|
|
@@ -376,6 +457,7 @@ case "$CMD" in
|
|
|
376
457
|
logs) cmd_logs "$@" ;;
|
|
377
458
|
doctor) cmd_doctor ;;
|
|
378
459
|
config) cmd_config "$@" ;;
|
|
460
|
+
dev) cmd_dev "$@" ;;
|
|
379
461
|
uninstall) cmd_uninstall ;;
|
|
380
462
|
permissions) cmd_permissions ;;
|
|
381
463
|
worklog-status|pm-worklog) cmd_daemon_passthrough "$CMD" "$@" ;;
|
|
@@ -45,8 +45,8 @@ meridian.db → app_sessions
|
|
|
45
45
|
sends it to the agno worklog synthesiser hosted on the MLX server:
|
|
46
46
|
POST http://127.0.0.1:7823/synthesise_worklog {bundle: ...}
|
|
47
47
|
→ JiraUpdate {summary, evidence-bearing bullets, confidence}
|
|
48
|
-
Rust grounds the result and
|
|
49
|
-
(REST)
|
|
48
|
+
Rust grounds the result and DRAFTS the worklog; it posts to Jira
|
|
49
|
+
(REST) only after a human approves it in the dashboard.
|
|
50
50
|
```
|
|
51
51
|
|
|
52
52
|
---
|
|
@@ -386,7 +386,7 @@ cargo run --bin backfill_task_classification -- --dry-run --today
|
|
|
386
386
|
|
|
387
387
|
## Limitations / known gaps
|
|
388
388
|
|
|
389
|
-
- **Jira write-backs are handled by the pm-worklog (Stage 4) driver, not from classification.** Classification only maps a session to a ticket. Jira worklogs are produced by the Rust hour-driven driver (`src/pm_worklog/`), which synthesises each worklog via the MLX server's `/synthesise_worklog` and
|
|
389
|
+
- **Jira write-backs are handled by the pm-worklog (Stage 4) driver, not from classification.** Classification only maps a session to a ticket. Jira worklogs are produced by the Rust hour-driven driver (`src/pm_worklog/`), which synthesises each worklog via the MLX server's `/synthesise_worklog` and DRAFTS it; it posts to Jira over REST only after a human approves the worklog in the dashboard (Worklogs view). The `dispatch_queue` table is reserved for future GitHub/Linear write-backs and is not yet drained.
|
|
390
390
|
- **`pm_tasks` populated by Rust.** The classifier receives `pm_tasks` as part of the JSON payload from the Rust daemon. If the Rust intelligence module hasn't synced tasks yet (clean install, first run), `pm_tasks` will be empty and every session gets `routing=skip`. Run the Rust daemon for at least one full cycle first.
|
|
391
391
|
- **No re-classification UI.** There is no CLI to re-run classification on a single session — construct the JSON payload manually (see debugging guide above) or trigger the Rust daemon.
|
|
392
392
|
- **Coding-agent sessions are classified on their summary, not their transcript.** The Rust coding-agent ingest (`src/coding_agent_session_ingest/`) seals and summarises each segment first; rows walk `coding_agent_live → pending_summariser → pending_classifier`, and only then does the classification trigger send them to the MLX server. A coding session therefore appears as a worklog candidate only after its summary exists.
|
package/services/pyproject.toml
CHANGED
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "meridian-agents"
|
|
7
|
-
version = "1.
|
|
7
|
+
version = "1.4.0"
|
|
8
8
|
description = "Meridian agents — hermes task linking and Jira progress updates for meridian.db"
|
|
9
9
|
requires-python = ">=3.11"
|
|
10
10
|
authors = [{ name = "Meridiona" }]
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
@font-face{font-family:GeistSans;src:url(../media/Geist_Variable-s.p.0si68_l5hnsib.woff2)format("woff2");font-display:swap;font-weight:100 900}@font-face{font-family:GeistSans Fallback;src:local(Arial);ascent-override:85.83%;descent-override:20.52%;line-gap-override:9.33%;size-adjust:107.19%}.geistsans_d5a4f12f-module__TO7w1a__className{font-family:GeistSans,GeistSans Fallback}.geistsans_d5a4f12f-module__TO7w1a__variable{--font-geist-sans:"GeistSans", "GeistSans Fallback"}
|
|
2
|
+
@font-face{font-family:GeistMono;src:url(../media/GeistMono_Variable.p.17b2olbe3zz2r.woff2)format("woff2");font-display:swap;font-weight:100 900}.geistmono_157ca88a-module__1FklWW__className{font-family:GeistMono,ui-monospace,SFMono-Regular,Roboto Mono,Menlo,Monaco,Liberation Mono,DejaVu Sans Mono,Courier New,monospace}.geistmono_157ca88a-module__1FklWW__variable{--font-geist-mono:"GeistMono", ui-monospace, SFMono-Regular, Roboto Mono, Menlo, Monaco, Liberation Mono, DejaVu Sans Mono, Courier New, monospace}
|
|
3
|
+
@font-face{font-family:Instrument Serif;font-style:italic;font-weight:400;font-display:swap;src:url(../media/fc0a7394b875fa43-s.0y1-r_vehenvp.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Instrument Serif;font-style:italic;font-weight:400;font-display:swap;src:url(../media/7ebf22b5a21034f8-s.p.10_7676vm7pyy.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Instrument Serif;font-style:normal;font-weight:400;font-display:swap;src:url(../media/ccf27e5a7366fb23-s.0hck6o0i8wq3a.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Instrument Serif;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e41d5df559864f9e-s.p.0gq7fw9.sy_5..woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Instrument Serif Fallback;src:local(Times New Roman);ascent-override:117.94%;descent-override:36.93%;line-gap-override:0.0%;size-adjust:83.94%}.instrument_serif_421229c2-module__JnCTKG__className{font-family:Instrument Serif,Instrument Serif Fallback;font-weight:400}.instrument_serif_421229c2-module__JnCTKG__variable{--font-instrument-serif:"Instrument Serif", "Instrument Serif Fallback"}
|
|
4
|
+
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial}}}@layer theme{:root,:host{--font-sans:var(--font-geist-sans);--font-serif:var(--font-instrument-serif);--font-mono:var(--font-geist-mono);--color-white:#fff;--spacing:.25rem;--container-md:28rem;--container-4xl:56rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--font-weight-medium:500;--font-weight-semibold:600;--tracking-tight:-.025em;--tracking-wide:.025em;--tracking-widest:.1em;--leading-tight:1.25;--leading-snug:1.375;--leading-relaxed:1.625;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--blur-sm:8px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing)*0)}.top-0{top:calc(var(--spacing)*0)}.top-\[2px\]{top:2px}.right-4{right:calc(var(--spacing)*4)}.bottom-4{bottom:calc(var(--spacing)*4)}.z-40{z-index:40}.z-50{z-index:50}.m-3{margin:calc(var(--spacing)*3)}.mx-2{margin-inline:calc(var(--spacing)*2)}.mx-auto{margin-inline:auto}.mt-0\.5{margin-top:calc(var(--spacing)*.5)}.mt-1{margin-top:calc(var(--spacing)*1)}.mt-1\.5{margin-top:calc(var(--spacing)*1.5)}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-3{margin-top:calc(var(--spacing)*3)}.mt-4{margin-top:calc(var(--spacing)*4)}.mt-5{margin-top:calc(var(--spacing)*5)}.mt-24{margin-top:calc(var(--spacing)*24)}.mr-1{margin-right:calc(var(--spacing)*1)}.mr-1\.5{margin-right:calc(var(--spacing)*1.5)}.mb-1{margin-bottom:calc(var(--spacing)*1)}.mb-1\.5{margin-bottom:calc(var(--spacing)*1.5)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-3{margin-bottom:calc(var(--spacing)*3)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.mb-px{margin-bottom:1px}.ml-2{margin-left:calc(var(--spacing)*2)}.ml-auto{margin-left:auto}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.h-1\.5{height:calc(var(--spacing)*1.5)}.h-2{height:calc(var(--spacing)*2)}.h-2\.5{height:calc(var(--spacing)*2.5)}.h-6{height:calc(var(--spacing)*6)}.h-9{height:calc(var(--spacing)*9)}.h-12{height:calc(var(--spacing)*12)}.h-\[3px\]{height:3px}.h-\[14px\]{height:14px}.h-\[18px\]{height:18px}.h-\[22px\]{height:22px}.h-\[46px\]{height:46px}.h-full{height:100%}.h-screen{height:100vh}.max-h-\[40vh\]{max-height:40vh}.min-h-screen{min-height:100vh}.w-1\.5{width:calc(var(--spacing)*1.5)}.w-2\.5{width:calc(var(--spacing)*2.5)}.w-8{width:calc(var(--spacing)*8)}.w-9{width:calc(var(--spacing)*9)}.w-\[14px\]{width:14px}.w-\[22px\]{width:22px}.w-\[72px\]{width:72px}.w-\[240px\]{width:240px}.w-\[280px\]{width:280px}.w-\[560px\]{width:560px}.w-full{width:100%}.max-w-4xl{max-width:var(--container-4xl)}.max-w-\[92vw\]{max-width:92vw}.max-w-\[220px\]{max-width:220px}.max-w-\[1080px\]{max-width:1080px}.max-w-md{max-width:var(--container-md)}.max-w-prose{max-width:65ch}.min-w-0{min-width:calc(var(--spacing)*0)}.min-w-\[60px\]{min-width:60px}.min-w-\[200px\]{min-width:200px}.flex-1{flex:1}.shrink-0{flex-shrink:0}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.cursor-default{cursor:default}.cursor-move{cursor:move}.cursor-pointer{cursor:pointer}.resize{resize:both}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-\[1fr_300px\]{grid-template-columns:1fr 300px}.grid-cols-\[80px_auto_1fr_auto_auto\]{grid-template-columns:80px auto 1fr auto auto}.grid-cols-\[120px_1fr_64px\]{grid-template-columns:120px 1fr 64px}.grid-cols-\[auto_1fr_200px_auto\]{grid-template-columns:auto 1fr 200px auto}.grid-cols-\[auto_1fr_auto\]{grid-template-columns:auto 1fr auto}.grid-cols-\[auto_1fr_auto_auto\]{grid-template-columns:auto 1fr auto auto}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-1{gap:calc(var(--spacing)*1)}.gap-1\.5{gap:calc(var(--spacing)*1.5)}.gap-2{gap:calc(var(--spacing)*2)}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}.gap-5{gap:calc(var(--spacing)*5)}.gap-6{gap:calc(var(--spacing)*6)}.gap-8{gap:calc(var(--spacing)*8)}.gap-px{gap:1px}:where(.space-y-0\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*.5)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*.5)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*2)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*3)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*3)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*4)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*5)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*5)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-7>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*7)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*7)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-8>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*8)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*8)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-10>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*10)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*10)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-12>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*12)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*12)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-px>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(1px*var(--tw-space-y-reverse));margin-block-end:calc(1px*calc(1 - var(--tw-space-y-reverse)))}.gap-x-4{column-gap:calc(var(--spacing)*4)}.gap-x-5{column-gap:calc(var(--spacing)*5)}.gap-y-1{row-gap:calc(var(--spacing)*1)}.gap-y-2{row-gap:calc(var(--spacing)*2)}.self-start{align-self:flex-start}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-\[4px\]{border-radius:4px}.rounded-\[14px\]{border-radius:14px}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-\[\#D8E0F4\]{border-color:#d8e0f4}.border-\[\#E8E6E1\]{border-color:#e8e6e1}.border-\[\#F0EFEC\]{border-color:#f0efec}.border-\[\#FDE68A\]{border-color:#fde68a}.bg-\[\#141414\]{background-color:#141414}.bg-\[\#EBF0FB\]{background-color:#ebf0fb}.bg-\[\#F0EFEC\]{background-color:#f0efec}.bg-\[\#F8F7F4\]{background-color:#f8f7f4}.bg-\[\#F8F7F4\]\/90{background-color:#f8f7f4e6;background-color:lab(97.2469% -.0460744 1.56863/.9)}.bg-\[\#FEF9EC\]{background-color:#fef9ec}.bg-white{background-color:var(--color-white)}.fill-white{fill:var(--color-white)}.p-0{padding:calc(var(--spacing)*0)}.p-3{padding:calc(var(--spacing)*3)}.p-4{padding:calc(var(--spacing)*4)}.p-5{padding:calc(var(--spacing)*5)}.p-6{padding:calc(var(--spacing)*6)}.px-1\.5{padding-inline:calc(var(--spacing)*1.5)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-2\.5{padding-inline:calc(var(--spacing)*2.5)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-5{padding-inline:calc(var(--spacing)*5)}.px-6{padding-inline:calc(var(--spacing)*6)}.px-10{padding-inline:calc(var(--spacing)*10)}.py-0\.5{padding-block:calc(var(--spacing)*.5)}.py-1{padding-block:calc(var(--spacing)*1)}.py-1\.5{padding-block:calc(var(--spacing)*1.5)}.py-2{padding-block:calc(var(--spacing)*2)}.py-2\.5{padding-block:calc(var(--spacing)*2.5)}.py-3{padding-block:calc(var(--spacing)*3)}.py-3\.5{padding-block:calc(var(--spacing)*3.5)}.py-4{padding-block:calc(var(--spacing)*4)}.py-7{padding-block:calc(var(--spacing)*7)}.py-12{padding-block:calc(var(--spacing)*12)}.py-14{padding-block:calc(var(--spacing)*14)}.py-16{padding-block:calc(var(--spacing)*16)}.py-px{padding-block:1px}.pt-1{padding-top:calc(var(--spacing)*1)}.pt-2{padding-top:calc(var(--spacing)*2)}.pt-4{padding-top:calc(var(--spacing)*4)}.pt-8{padding-top:calc(var(--spacing)*8)}.pt-\[18vh\]{padding-top:18vh}.pb-4{padding-bottom:calc(var(--spacing)*4)}.pb-5{padding-bottom:calc(var(--spacing)*5)}.pl-3{padding-left:calc(var(--spacing)*3)}.pl-4{padding-left:calc(var(--spacing)*4)}.pl-\[44px\]{padding-left:44px}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-mono{font-family:var(--font-mono)}.font-sans{font-family:var(--font-sans)}.font-serif{font-family:var(--font-serif)}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[9px\]{font-size:9px}.text-\[10px\]{font-size:10px}.text-\[11\.5px\]{font-size:11.5px}.text-\[11px\]{font-size:11px}.text-\[12px\]{font-size:12px}.text-\[13px\]{font-size:13px}.text-\[14px\]{font-size:14px}.text-\[15px\]{font-size:15px}.text-\[18px\]{font-size:18px}.text-\[20px\]{font-size:20px}.text-\[22px\]{font-size:22px}.text-\[24px\]{font-size:24px}.text-\[28px\]{font-size:28px}.text-\[32px\]{font-size:32px}.text-\[36px\]{font-size:36px}.text-\[40px\]{font-size:40px}.text-\[56px\]{font-size:56px}.text-\[88px\]{font-size:88px}.leading-\[0\.95\]{--tw-leading:.95;line-height:.95}.leading-\[1\.1\]{--tw-leading:1.1;line-height:1.1}.leading-\[1\.15\]{--tw-leading:1.15;line-height:1.15}.leading-\[1\],.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\[0\.01em\]{--tw-tracking:.01em;letter-spacing:.01em}.tracking-\[0\.1em\]{--tw-tracking:.1em;letter-spacing:.1em}.tracking-\[0\.2em\]{--tw-tracking:.2em;letter-spacing:.2em}.tracking-\[0\.06em\]{--tw-tracking:.06em;letter-spacing:.06em}.tracking-\[0\.12em\]{--tw-tracking:.12em;letter-spacing:.12em}.tracking-\[0\.14em\]{--tw-tracking:.14em;letter-spacing:.14em}.tracking-\[0\.16em\]{--tw-tracking:.16em;letter-spacing:.16em}.tracking-\[0\.18em\]{--tw-tracking:.18em;letter-spacing:.18em}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-\[\#3D5BB0\]{color:#3d5bb0}.text-\[\#4B4A47\]{color:#4b4a47}.text-\[\#6B6A67\]{color:#6b6a67}.text-\[\#9B9A97\]{color:#9b9a97}.text-\[\#92400E\]{color:#92400e}.text-\[\#141414\]{color:#141414}.text-\[\#C8C6C1\]{color:#c8c6c1}.text-white{color:var(--color-white)}.capitalize{text-transform:capitalize}.uppercase{text-transform:uppercase}.italic{font-style:italic}.opacity-60{opacity:.6}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.select-none{-webkit-user-select:none;user-select:none}@media (hover:hover){.hover\:bg-\[\#E8E6E1\]:hover{background-color:#e8e6e1}.hover\:text-\[\#141414\]:hover{color:#141414}.hover\:opacity-80:hover{opacity:.8}.hover\:brightness-95:hover{--tw-brightness:brightness(95%);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}}@media (min-width:48rem){.md\:block{display:block}}@media (min-width:64rem){.lg\:grid-cols-\[minmax\(0\,300px\)_minmax\(0\,1fr\)\]{grid-template-columns:minmax(0,300px) minmax(0,1fr)}}}:root{--paper:#faf9f7;--surface:#fff;--surface-2:#f5f4f1;--ink:#0d0c0a;--ink-2:#3a3834;--ink-3:#7a7873;--ink-4:#b8b5af;--rule:#eeece8;--rule-2:#e5e3de;--accent:#c4822a;--accent-soft:#fbf0e2;--live:#c4822a;--success:#2d7a4f;--warn:#a36a1a;--tint:#c4822a12}html.dark{--paper:#0a0908;--surface:#111010;--surface-2:#161514;--ink:#f2efe8;--ink-2:#b5b0a8;--ink-3:#787470;--ink-4:#4a4744;--rule:#1e1d1b;--rule-2:#272522;--accent:#d4942e;--accent-soft:#d4942e24;--live:#d4942e;--success:#5ab87a;--warn:#d4a044;--tint:#d4942e14}html,body{background:var(--paper);color:var(--ink)}*{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body,.font-sans{font-feature-settings:"ss01","cv11"}.font-mono{font-feature-settings:"tnum","ss01";font-family:GeistMono,ui-monospace,SFMono-Regular,monospace}.font-serif{font-family:var(--font-instrument-serif),"Instrument Serif",Georgia,serif;font-feature-settings:"liga","dlig"}::selection{background:var(--accent);color:#fff}.cat-coding{fill:#3b6fe0;background:#3b6fe0}.cat-code_review{fill:#7c3aed;background:#7c3aed}.cat-meeting{fill:#d97706;background:#d97706}.cat-communication{fill:#059669;background:#059669}.cat-design{fill:#db2777;background:#db2777}.cat-documentation{fill:#0891b2;background:#0891b2}.cat-planning{fill:#c4822a;background:#c4822a}.cat-deployment_devops{fill:#dc2626;background:#dc2626}.cat-research{fill:#4f46e5;background:#4f46e5}.cat-idle_personal{fill:#78716c;background:#78716c}.cat-text-coding{color:#3b6fe0}.cat-text-code_review{color:#7c3aed}.cat-text-meeting{color:#d97706}.cat-text-communication{color:#059669}.cat-text-design{color:#db2777}.cat-text-documentation{color:#0891b2}.cat-text-planning{color:#c4822a}.cat-text-deployment_devops{color:#dc2626}.cat-text-research{color:#4f46e5}.cat-text-idle_personal{color:#78716c}.rule{border-color:var(--rule)}.rule-b{border-bottom:1px solid var(--rule)}.rule-t{border-top:1px solid var(--rule)}.rule-r{border-right:1px solid var(--rule)}.rule-l{border-left:1px solid var(--rule)}@keyframes mer-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(.92)}}.live-dot{animation:2.2s ease-in-out infinite mer-pulse}@keyframes mer-blink{50%{opacity:.35}}.blink{animation:1.1s ease-in-out infinite mer-blink}@keyframes mer-rise{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.rise{animation:.4s cubic-bezier(.16,1,.3,1) both mer-rise}.tnum{font-variant-numeric:tabular-nums}.kbd{font-family:var(--font-geist-mono),ui-monospace,monospace;border:1px solid var(--rule-2);color:var(--ink-3);background:var(--surface);border-bottom-width:2px;border-radius:4px;padding:2px 5px;font-size:10px;line-height:1}.nice-scroll::-webkit-scrollbar{width:8px;height:8px}.nice-scroll::-webkit-scrollbar-track{background:0 0}.nice-scroll::-webkit-scrollbar-thumb{background:var(--rule-2);background-clip:content-box;border:2px solid #0000;border-radius:6px}.nice-scroll::-webkit-scrollbar-thumb:hover{background:var(--ink-4);background-clip:content-box;border:2px solid #0000}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}html.density-compact .density-pad{padding-top:.5rem;padding-bottom:.5rem}html.density-comfy .density-pad{padding-top:1.25rem;padding-bottom:1.25rem}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,29987,e=>{"use strict";var t=e.i(80663),n=e.i(56916);let s={Antigravity:{mono:"Aᴳ",color:"#7C3AED"},"Google Chrome":{mono:"Ch",color:"#3B82F6"},Terminal:{mono:">_",color:"#111827"},DBeaver:{mono:"DB",color:"#1D4ED8"},Claude:{mono:"Cl",color:"#D97757"},Slack:{mono:"Sl",color:"#E01E5A"},Zoom:{mono:"Zm",color:"#2D8CFF"},Linear:{mono:"Li",color:"#5E6AD2"},Figma:{mono:"Fg",color:"#A259FF"},Notion:{mono:"No",color:"#111111"},Spotify:{mono:"Sp",color:"#1DB954"},Mail:{mono:"Ma",color:"#0EA5E9"},Safari:{mono:"Sf",color:"#006FE5"},Xcode:{mono:"Xc",color:"#1171A3"},iTerm2:{mono:">_",color:"#2A2A2A"}},r={todo:{label:"Todo",dot:"var(--ink-4)"},in_progress:{label:"In progress",dot:"var(--accent)"},in_review:{label:"In review",dot:"#8B5CF6"},done:{label:"Done",dot:"var(--success)"}};e.s(["AppGlyph",0,function({app:e,size:n=24,withName:r=!1}){let a=function(e){if(!e)return{mono:"??",color:"#6B6A67"};if(s[e])return s[e];let t=e.trim().replace(/[^A-Za-z0-9]/g,"").slice(0,2).toUpperCase()||"??",n=0;for(let t=0;t<e.length;t++)n=31*n+e.charCodeAt(t)&65535;let r=n%360;return{mono:t,color:`hsl(${r}, 55%, 42%)`}}(e);return(0,t.jsxs)("span",{className:"inline-flex items-center gap-2",children:[(0,t.jsx)("span",{className:"inline-flex items-center justify-center rounded-md font-mono shrink-0",style:{width:n,height:n,background:a.color+"1A",color:a.color,fontSize:Math.max(9,.42*n),fontWeight:600,letterSpacing:"-0.02em"},"aria-label":e??void 0,children:a.mono}),r&&(0,t.jsx)("span",{className:"text-sm",style:{color:"var(--ink)"},children:e})]})},"CATS",0,{coding:{label:"Coding",short:"Code"},code_review:{label:"Code review",short:"Review"},meeting:{label:"Meeting",short:"Meet"},communication:{label:"Comms",short:"Comms"},design:{label:"Design",short:"Design"},documentation:{label:"Docs",short:"Docs"},planning:{label:"Planning",short:"Plan"},deployment_devops:{label:"DevOps",short:"DevOps"},research:{label:"Research",short:"Res"},idle_personal:{label:"Idle",short:"Idle"}},"Card",0,function({children:e,className:n="",as:s="div",style:r,...a}){return(0,t.jsx)(s,{...a,className:`rounded-xl border ${n}`,style:{background:"var(--surface)",borderColor:"var(--rule)",...r},children:e})},"CatDot",0,function({cat:e,size:n=6}){return(0,t.jsx)("span",{className:`inline-block rounded-full cat-${e} shrink-0`,style:{width:n,height:n},"aria-hidden":!0})},"ConfidenceRing",0,function({value:e,size:n=14}){let s=n/2-1.5,r=2*Math.PI*s,a=r*Math.max(0,Math.min(1,e));return(0,t.jsxs)("svg",{width:n,height:n,viewBox:`0 0 ${n} ${n}`,"aria-label":`${Math.round(100*e)}% confidence`,children:[(0,t.jsx)("circle",{cx:n/2,cy:n/2,r:s,fill:"none",stroke:"var(--rule-2)",strokeWidth:"1.5"}),(0,t.jsx)("circle",{cx:n/2,cy:n/2,r:s,fill:"none",stroke:e>.8?"var(--success)":e>.5?"var(--accent)":"var(--warn)",strokeWidth:"1.5",strokeLinecap:"round",strokeDasharray:`${a} ${r}`,transform:`rotate(-90 ${n/2} ${n/2})`})]})},"LiveDot",0,function({size:e=8}){return(0,t.jsxs)("span",{className:"inline-flex items-center justify-center relative",style:{width:e,height:e},children:[(0,t.jsx)("span",{className:"absolute inline-block rounded-full live-dot",style:{width:e,height:e,background:"var(--live)"}}),(0,t.jsx)("span",{className:"inline-block rounded-full",style:{width:Math.max(3,e-4),height:Math.max(3,e-4),background:"var(--live)"}})]})},"SectionHead",0,function({kicker:e,title:n,right:s}){return(0,t.jsxs)("div",{className:"flex items-end justify-between mb-3",children:[(0,t.jsxs)("div",{children:[e&&(0,t.jsx)("p",{className:"text-[10px] uppercase tracking-[0.16em] mb-1.5",style:{color:"var(--ink-3)"},children:e}),(0,t.jsx)("h2",{className:"text-[15px] font-medium",style:{color:"var(--ink)"},children:n})]}),s]})},"SegBar",0,function({segments:e,height:n=4}){let s=e.reduce((e,t)=>e+t.value,0)||1;return(0,t.jsx)("span",{className:"inline-flex w-full overflow-hidden rounded-full",style:{height:n,background:"var(--rule)"},children:e.map((e,n)=>(0,t.jsx)("span",{className:e.cat?`cat-${e.cat}`:"",style:{width:`${e.value/s*100}%`,background:e.color??void 0}},n))})},"StatusPill",0,function({status:e}){let n=r[e]??r.todo;return(0,t.jsxs)("span",{className:"inline-flex items-center gap-1.5 text-[11px]",style:{color:"var(--ink-2)"},children:[(0,t.jsx)("span",{className:"inline-block w-1.5 h-1.5 rounded-full",style:{background:n.dot}}),n.label]})},"TaskKey",0,function({keyId:e,big:n=!1}){return e?(0,t.jsx)("span",{className:`font-mono tracking-tight ${n?"text-[12px]":"text-[11px]"} px-1.5 py-px rounded-[4px] tnum`,style:{color:"var(--ink)",background:"var(--tint)",borderBottom:"1px solid var(--rule-2)"},children:e}):null},"fmtClock",0,function(e){if("number"==typeof e){let t=Math.floor(e),n=Math.round((e-t)*60);return`${(t+11)%12+1}:${String(n).padStart(2,"0")} ${t>=12?"PM":"AM"}`}let t=new Date(e),n=t.getHours(),s=t.getMinutes();return`${(n+11)%12+1}:${String(s).padStart(2,"0")} ${n>=12?"PM":"AM"}`},"fmtDur",0,function(e){if(e<60)return`${e}s`;let t=Math.floor(e/60);if(t<60)return`${t}m`;let n=Math.floor(t/60),s=t%60;return s>0?`${n}h ${s}m`:`${n}h`},"fmtDurDecimal",0,function(e){if(e<60)return"0:"+String(e).padStart(2,"0");let t=Math.floor(e/60);if(t<60)return"0:"+String(t).padStart(2,"0");let n=Math.floor(t/60);return`${n}:${String(t%60).padStart(2,"0")}`},"useTick",0,function(e=1){let[t,s]=(0,n.useState)(0);return(0,n.useEffect)(()=>{let t=setInterval(()=>s(e=>e+1),1e3*e);return()=>clearInterval(t)},[e]),t}])},953,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"BailoutToCSR",{enumerable:!0,get:function(){return r}});let s=e.r(45158);function r({reason:e,children:t}){if("u"<typeof window)throw Object.defineProperty(new s.BailoutToCSRError(e),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return t}},79372,(e,t,n)=>{"use strict";function s(e){return e.split("/").map(e=>encodeURIComponent(e)).join("/")}Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"encodeURIPath",{enumerable:!0,get:function(){return s}})},70492,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"PreloadChunks",{enumerable:!0,get:function(){return i}});let s=e.r(80663),r=e.r(44939),a=e.r(32316),l=e.r(79372),o=e.r(54389);function i({moduleIds:e}){if("u">typeof window)return null;let t=a.workAsyncStorage.getStore();if(void 0===t)return null;let n=[];if(t.reactLoadableManifest&&e){let s=t.reactLoadableManifest;for(let t of e){if(!s[t])continue;let e=s[t].files;n.push(...e)}}if(0===n.length)return null;let c=(0,o.getAssetTokenQuery)();return(0,s.jsx)(s.Fragment,{children:n.map(e=>{let n=`${t.assetPrefix}/_next/${(0,l.encodeURIPath)(e)}${c}`;return e.endsWith(".css")?(0,s.jsx)("link",{precedence:"dynamic",href:n,rel:"stylesheet",as:"style",nonce:t.nonce},e):((0,r.preload)(n,{as:"script",fetchPriority:"low",nonce:t.nonce}),null)})})}},7395,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"default",{enumerable:!0,get:function(){return c}});let s=e.r(80663),r=e.r(56916),a=e.r(953),l=e.r(70492);function o(e){return{default:e&&"default"in e?e.default:e}}let i={loader:()=>Promise.resolve(o(()=>null)),loading:null,ssr:!0},c=function(e){let t={...i,...e},n=(0,r.lazy)(()=>t.loader().then(o)),c=t.loading;function d(e){let o=c?(0,s.jsx)(c,{isLoading:!0,pastDelay:!0,error:null}):null,i=!t.ssr||!!t.loading,d=i?r.Suspense:r.Fragment,u=t.ssr?(0,s.jsxs)(s.Fragment,{children:["u"<typeof window?(0,s.jsx)(l.PreloadChunks,{moduleIds:t.modules}):null,(0,s.jsx)(n,{...e})]}):(0,s.jsx)(a.BailoutToCSR,{reason:"next/dynamic",children:(0,s.jsx)(n,{...e})});return(0,s.jsx)(d,{...i?{fallback:o}:{},children:u})}return d.displayName="LoadableComponent",d}},2831,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"default",{enumerable:!0,get:function(){return r}});let s=e.r(46921)._(e.r(7395));function r(e,t){let n={};"function"==typeof e&&(n.loader=e);let r={...n,...t};return(0,s.default)({...r,modules:r.loadableGenerated?.modules})}("function"==typeof n.default||"object"==typeof n.default&&null!==n.default)&&void 0===n.default.__esModule&&(Object.defineProperty(n.default,"__esModule",{value:!0}),Object.assign(n.default,n),t.exports=n.default)},82010,e=>{"use strict";var t=e.i(80663),n=e.i(56916),s=e.i(2831),r=e.i(29987);function a({info:e,onClick:n}){let s=(0,r.useTick)(1),l=e.elapsed_s+s;return(0,t.jsxs)("button",{onClick:n,className:"m-3 p-3 rounded-lg text-left transition-colors",style:{background:"var(--surface)",border:"1px solid var(--rule)"},children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(r.LiveDot,{size:8}),(0,t.jsx)("span",{className:"text-[10px] uppercase tracking-[0.16em]",style:{color:"var(--ink-3)"},children:"Now"}),(0,t.jsx)("span",{className:"ml-auto font-mono tnum text-[11px]",style:{color:"var(--ink-2)"},children:(0,r.fmtDurDecimal)(l)})]}),(0,t.jsxs)("div",{className:"flex items-center gap-2 mt-2",children:[(0,t.jsx)(r.AppGlyph,{app:e.app_name,size:18}),(0,t.jsx)("span",{className:"text-[12px] truncate",style:{color:"var(--ink)"},children:e.app_name})]})]})}function l({view:e,onNavigate:s,onOpenCmd:r,queueCount:o}){let[i,c]=(0,n.useState)(null);return(0,n.useEffect)(()=>{function e(){fetch("/api/active").then(e=>e.json()).then(e=>c(e)).catch(()=>{})}e();let t=setInterval(e,3e4);return()=>clearInterval(t)},[]),(0,t.jsxs)("aside",{className:"w-[240px] shrink-0 sticky top-0 self-start h-screen flex flex-col rule-r",style:{borderRightColor:"var(--rule)",background:"var(--paper)"},children:[(0,t.jsxs)("div",{className:"px-6 py-7",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("span",{className:"inline-block w-2.5 h-2.5 rounded-full live-dot",style:{background:"var(--accent)"}}),(0,t.jsx)("span",{className:"font-serif italic text-[22px] leading-none tracking-tight",style:{color:"var(--ink)"},children:"meridian"})]}),(0,t.jsx)("p",{className:"text-[10px] uppercase tracking-[0.2em] mt-2",style:{color:"var(--ink-3)"},children:"local · v0.3"})]}),(0,t.jsxs)("nav",{className:"flex-1 px-3",children:[[{id:"today",label:"Today",kbd:"1"},{id:"tasks",label:"Tasks",kbd:"2"},{id:"queue",label:"Queue",kbd:"3",badge:o||void 0},{id:"worklogs",label:"Worklogs",kbd:"4"},{id:"sessions",label:"Sessions",kbd:"5"},{id:"week",label:"Week",kbd:"6"}].map(n=>{let r=e===n.id;return(0,t.jsxs)("button",{onClick:()=>s(n.id),className:"w-full flex items-center gap-3 px-3 py-2 rounded-md text-left transition-colors mb-px",style:{background:r?"var(--surface-2)":"transparent",color:r?"var(--ink)":"var(--ink-2)"},children:[(0,t.jsx)("span",{className:"text-[13px] flex-1",children:n.label}),null!=n.badge&&(0,t.jsx)("span",{className:"text-[10px] font-mono tnum px-1.5 py-0.5 rounded",style:{background:"var(--accent)",color:"var(--paper)"},children:n.badge}),(0,t.jsx)("span",{className:"kbd",children:n.kbd})]},n.id)}),(0,t.jsxs)("button",{onClick:r,className:"w-full flex items-center gap-3 px-3 py-2 rounded-md text-left mt-4",style:{color:"var(--ink-3)"},children:[(0,t.jsx)("span",{className:"text-[13px] flex-1",children:"Quick switch"}),(0,t.jsx)("span",{className:"kbd",children:"⌘"}),(0,t.jsx)("span",{className:"kbd",children:"K"})]})]}),(0,t.jsx)("div",{className:"px-3 pb-4",children:(0,t.jsxs)("button",{onClick:()=>s("settings"),className:"w-full flex items-center gap-3 px-3 py-2 rounded-md text-left transition-colors",style:{background:"settings"===e?"var(--surface-2)":"transparent",color:"settings"===e?"var(--ink)":"var(--ink-3)"},children:[(0,t.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:"1.5",children:[(0,t.jsx)("circle",{cx:"8",cy:"8",r:"2.5"}),(0,t.jsx)("path",{d:"M8 1v1.5M8 13.5V15M1 8h1.5M13.5 8H15M3.05 3.05l1.06 1.06M11.89 11.89l1.06 1.06M3.05 12.95l1.06-1.06M11.89 4.11l1.06-1.06"})]}),(0,t.jsx)("span",{className:"text-[13px]",children:"Settings"}),(0,t.jsx)("span",{className:"kbd ml-auto",children:"7"})]})}),i&&(0,t.jsx)(a,{info:i,onClick:()=>s("today")})]})}function o({onClose:e,onNavigate:s}){let[a,l]=(0,n.useState)(""),i=(0,n.useRef)(null);(0,n.useEffect)(()=>{i.current?.focus()},[]);let c=[{kind:"view",label:"Go to Today",v:"today"},{kind:"view",label:"Go to Tasks",v:"tasks"},{kind:"view",label:"Go to Review queue",v:"queue"},{kind:"view",label:"Go to Worklogs",v:"worklogs"},{kind:"view",label:"Go to Sessions",v:"sessions"},{kind:"view",label:"Go to Week",v:"week"}].filter(e=>!a||e.label.toLowerCase().includes(a.toLowerCase())).slice(0,8);return(0,t.jsx)("div",{onClick:e,className:"fixed inset-0 z-50 flex items-start justify-center pt-[18vh]",style:{background:"rgba(15,15,15,0.45)",backdropFilter:"blur(4px)"},children:(0,t.jsxs)("div",{onClick:e=>e.stopPropagation(),className:"w-[560px] max-w-[92vw] rounded-xl overflow-hidden rise",style:{background:"var(--surface)",border:"1px solid var(--rule-2)",boxShadow:"0 24px 80px rgba(0,0,0,0.18)"},children:[(0,t.jsx)("input",{ref:i,value:a,onChange:e=>l(e.target.value),onKeyDown:t=>{"Escape"===t.key&&e(),"Enter"===t.key&&c[0]&&s(c[0].v,c[0].key)},placeholder:"Jump to view or task…",className:"w-full px-5 py-4 text-[14px] font-sans",style:{background:"transparent",color:"var(--ink)",border:"none",outline:"none",borderBottom:"1px solid var(--rule)"}}),(0,t.jsxs)("div",{className:"max-h-[40vh] overflow-y-auto nice-scroll",children:[0===c.length&&(0,t.jsx)("p",{className:"p-6 text-center text-[12px]",style:{color:"var(--ink-3)"},children:"No matches."}),c.map((e,n)=>(0,t.jsxs)("button",{onClick:()=>s(e.v,e.key),className:"w-full text-left px-5 py-2.5 flex items-center gap-3 transition-colors hover:opacity-80",style:{background:0===n?"var(--surface-2)":"transparent"},children:["task"===e.kind&&(0,t.jsx)(r.TaskKey,{keyId:e.key}),(0,t.jsx)("span",{className:"text-[13px]",style:{color:"var(--ink)"},children:e.label}),"task"===e.kind&&e.status&&(0,t.jsx)("span",{className:"ml-auto",children:(0,t.jsx)(r.StatusPill,{status:e.status})})]},n))]}),(0,t.jsxs)("div",{className:"px-5 py-2.5 rule-t flex items-center justify-between text-[10px]",style:{borderTopColor:"var(--rule)",color:"var(--ink-4)"},children:[(0,t.jsx)("span",{children:"Local search · no network"}),(0,t.jsxs)("span",{children:[(0,t.jsx)("span",{className:"kbd",children:"↵"})," open · ",(0,t.jsx)("span",{className:"kbd",children:"esc"})," close"]})]})]})})}var i=e.i(38297);function c(){let{dark:e,setDark:s,accent:r,setAccent:a,density:l,setDensity:o,tone:c,setTone:d}=(0,i.useTheme)(),[u,x]=(0,n.useState)(!1),p=(0,n.useRef)(null),m=(0,n.useRef)({x:16,y:16});return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("button",{onClick:()=>x(e=>!e),className:"fixed right-4 bottom-4 z-40 w-9 h-9 rounded-full flex items-center justify-center text-[13px]",style:{background:"var(--surface)",border:"1px solid var(--rule-2)",color:"var(--ink-3)",boxShadow:"0 2px 8px rgba(0,0,0,0.1)"},"aria-label":"Open theme settings",children:"◐"}),u&&(0,t.jsxs)("div",{ref:p,className:"fixed z-50 w-[280px] rounded-[14px] overflow-hidden flex flex-col",style:{right:m.current.x,bottom:m.current.y,background:e?"rgba(20,20,19,0.92)":"rgba(250,249,247,0.92)",border:`.5px solid ${e?"rgba(255,255,255,0.08)":"rgba(255,255,255,0.6)"}`,backdropFilter:"blur(24px) saturate(160%)",boxShadow:"0 12px 40px rgba(0,0,0,0.18)",color:e?"#F4F1EB":"#29261b"},children:[(0,t.jsxs)("div",{className:"flex items-center justify-between px-4 py-3 cursor-move select-none",onMouseDown:function(e){let t=p.current;if(!t)return;let n=t.getBoundingClientRect(),s=e.clientX,r=e.clientY,a=window.innerWidth-n.right,l=window.innerHeight-n.bottom,o=e=>{m.current={x:a-(e.clientX-s),y:l-(e.clientY-r)},function(){let e=p.current;if(!e)return;let t=e.offsetWidth,n=e.offsetHeight,s=Math.max(16,window.innerWidth-t-16),r=Math.max(16,window.innerHeight-n-16);m.current={x:Math.min(s,Math.max(16,m.current.x)),y:Math.min(r,Math.max(16,m.current.y))},e.style.right=m.current.x+"px",e.style.bottom=m.current.y+"px"}()},i=()=>{window.removeEventListener("mousemove",o),window.removeEventListener("mouseup",i)};window.addEventListener("mousemove",o),window.addEventListener("mouseup",i)},style:{borderBottom:`1px solid ${e?"rgba(255,255,255,0.06)":"rgba(0,0,0,0.06)"}`},children:[(0,t.jsx)("span",{className:"text-[12px] font-semibold tracking-[0.01em]",children:"Settings"}),(0,t.jsx)("button",{onClick:()=>x(!1),onMouseDown:e=>e.stopPropagation(),className:"w-[22px] h-[22px] flex items-center justify-center rounded-md text-[13px]",style:{color:e?"rgba(244,241,235,0.5)":"rgba(41,38,27,0.5)",background:"transparent"},children:"✕"})]}),(0,t.jsxs)("div",{className:"p-4 space-y-4",children:[(0,t.jsx)("p",{className:"text-[10px] font-semibold tracking-[0.06em] uppercase",style:{color:e?"rgba(244,241,235,0.4)":"rgba(41,38,27,0.4)"},children:"Appearance"}),(0,t.jsxs)("div",{className:"flex items-center justify-between",children:[(0,t.jsx)("span",{className:"text-[11.5px]",children:"Dark mode"}),(0,t.jsx)("button",{onClick:()=>s(!e),role:"switch","aria-checked":e,className:"relative w-8 h-[18px] rounded-full border-0 p-0 transition-colors",style:{background:e?"#34c759":"rgba(0,0,0,0.15)"},children:(0,t.jsx)("span",{className:"absolute top-[2px] w-[14px] h-[14px] rounded-full transition-transform",style:{left:2,background:"#fff",boxShadow:"0 1px 2px rgba(0,0,0,0.25)",transform:e?"translateX(14px)":"translateX(0)"}})})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)("span",{className:"text-[11.5px]",children:"Accent color"}),(0,t.jsx)("div",{className:"flex gap-1.5",children:i.ACCENT_PRESETS.map(e=>{let n;return(0,t.jsx)("button",{onClick:()=>a(e),className:"flex-1 h-[46px] rounded-md transition-transform",style:{background:e,boxShadow:r===e?"0 0 0 1.5px rgba(0,0,0,0.85), 0 2px 6px rgba(0,0,0,0.15)":"0 0 0 .5px rgba(0,0,0,0.12)"},"aria-label":`Accent ${e}`,children:r===e&&(0,t.jsx)("svg",{viewBox:"0 0 14 14",className:"mx-auto",width:13,height:13,children:(0,t.jsx)("path",{d:"M3 7.2 5.8 10 11 4.2",fill:"none",strokeWidth:"2.2",strokeLinecap:"round",strokeLinejoin:"round",stroke:Number.isNaN(n=parseInt(e.replace("#","").padEnd(6,"0").slice(0,6),16))||299*(n>>16&255)+587*(n>>8&255)+114*(255&n)>148e3?"rgba(0,0,0,.78)":"#fff"})})},e)})})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)("span",{className:"text-[11.5px]",children:"Density"}),(0,t.jsx)("div",{className:"flex rounded-lg overflow-hidden",style:{background:"rgba(0,0,0,0.06)",padding:2,gap:0},children:["compact","regular","comfy"].map(n=>(0,t.jsx)("button",{onClick:()=>o(n),className:"flex-1 py-1 text-[11px] font-medium rounded-md transition-colors capitalize",style:{background:l===n?e?"rgba(255,255,255,0.1)":"rgba(255,255,255,0.9)":"transparent",boxShadow:l===n?"0 1px 2px rgba(0,0,0,0.12)":"none"},children:n},n))})]}),(0,t.jsx)("p",{className:"text-[10px] font-semibold tracking-[0.06em] uppercase pt-2",style:{color:e?"rgba(244,241,235,0.4)":"rgba(41,38,27,0.4)"},children:"Narrative"}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)("span",{className:"text-[11.5px]",children:"Story tone"}),(0,t.jsx)("div",{className:"flex rounded-lg overflow-hidden",style:{background:"rgba(0,0,0,0.06)",padding:2},children:["terse","detailed"].map(n=>(0,t.jsx)("button",{onClick:()=>d(n),className:"flex-1 py-1 text-[11px] font-medium rounded-md transition-colors capitalize",style:{background:c===n?e?"rgba(255,255,255,0.1)":"rgba(255,255,255,0.9)":"transparent",boxShadow:c===n?"0 1px 2px rgba(0,0,0,0.12)":"none"},children:n},n))})]})]})]})]})}let d=(0,s.default)(()=>e.A(82582),{loadableGenerated:{modules:[65906]},ssr:!1}),u=(0,s.default)(()=>e.A(44993),{loadableGenerated:{modules:[63017]},ssr:!1}),x=(0,s.default)(()=>e.A(70744),{loadableGenerated:{modules:[20710]},ssr:!1}),p=(0,s.default)(()=>e.A(31857),{loadableGenerated:{modules:[75042]},ssr:!1}),m=(0,s.default)(()=>e.A(29519),{loadableGenerated:{modules:[37653]},ssr:!1}),f=(0,s.default)(()=>e.A(16457),{loadableGenerated:{modules:[27246]},ssr:!1}),h=(0,s.default)(()=>e.A(58835),{loadableGenerated:{modules:[49661]},ssr:!1});e.s(["default",0,function(){let[e,s]=(0,n.useState)("today"),[r,a]=(0,n.useState)(null),[i,b]=(0,n.useState)(!1),[g,k]=(0,n.useState)(0),v=(0,n.useCallback)((e,t)=>{s(e),a(t??null),window.scrollTo({top:0,behavior:"instant"})},[]);(0,n.useEffect)(()=>{fetch("/api/queue-review").then(e=>e.json()).then(e=>k(e.items?.length??0)).catch(()=>{})},[]),(0,n.useEffect)(()=>{function e(e){if((e.metaKey||e.ctrlKey)&&"k"===e.key.toLowerCase()){e.preventDefault(),b(e=>!e);return}if("Escape"===e.key)return void b(!1);if(i||e.metaKey||e.ctrlKey||e.altKey)return;let t=e.target;"INPUT"!==t.tagName&&"TEXTAREA"!==t.tagName&&("1"===e.key?v("today"):"2"===e.key?v("tasks"):"3"===e.key?v("queue"):"4"===e.key?v("worklogs"):"5"===e.key?v("sessions"):"6"===e.key?v("week"):"7"===e.key&&v("settings"))}return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[i,v]);let y=new Date().toLocaleDateString("en-US",{weekday:"long",month:"long",day:"numeric",year:"numeric"});return(0,t.jsxs)("div",{className:"min-h-screen flex",style:{background:"var(--paper)"},children:[(0,t.jsx)(l,{view:e,onNavigate:v,onOpenCmd:()=>b(!0),queueCount:g}),(0,t.jsx)("main",{className:"flex-1 min-w-0","data-screen-label":e,children:(0,t.jsxs)("div",{className:"max-w-[1080px] mx-auto px-10 py-14",children:["today"===e&&(0,t.jsx)(d,{onNavigate:(e,t)=>v(e,t)}),"tasks"===e&&(0,t.jsx)(u,{focusKey:r}),"queue"===e&&(0,t.jsx)(x,{}),"worklogs"===e&&(0,t.jsx)(p,{}),"sessions"===e&&(0,t.jsx)(m,{}),"week"===e&&(0,t.jsx)(f,{}),"settings"===e&&(0,t.jsx)(h,{}),(0,t.jsxs)("footer",{className:"mt-24 pt-8 rule-t flex items-center justify-between text-[11px]",style:{borderTopColor:"var(--rule)",color:"var(--ink-4)"},children:[(0,t.jsxs)("span",{children:["Meridian · local · ",y]}),(0,t.jsxs)("span",{className:"font-mono tnum",children:[(0,t.jsx)("span",{className:"kbd",children:"⌘"})," ",(0,t.jsx)("span",{className:"kbd",children:"K"})," to jump · ",(0,t.jsx)("span",{className:"kbd",children:"1"}),"–",(0,t.jsx)("span",{className:"kbd",children:"7"})," to switch view"]})]})]})}),i&&(0,t.jsx)(o,{onClose:()=>b(!1),onNavigate:(e,t)=>{v(e,t),b(!1)}}),(0,t.jsx)(c,{})]})}],82010)},82582,e=>{e.v(t=>Promise.all(["static/chunks/0t0n-_np5foyi.js"].map(t=>e.l(t))).then(()=>t(65906)))},44993,e=>{e.v(t=>Promise.all(["static/chunks/0ihy5u7wenwg0.js"].map(t=>e.l(t))).then(()=>t(63017)))},70744,e=>{e.v(t=>Promise.all(["static/chunks/0baqm_s2-t13s.js"].map(t=>e.l(t))).then(()=>t(20710)))},31857,e=>{e.v(t=>Promise.all(["static/chunks/0z1g1xyfa206c.js"].map(t=>e.l(t))).then(()=>t(75042)))},29519,e=>{e.v(t=>Promise.all(["static/chunks/0ifolh1b1knby.js"].map(t=>e.l(t))).then(()=>t(37653)))},16457,e=>{e.v(t=>Promise.all(["static/chunks/0s.zkfto8hpca.js"].map(t=>e.l(t))).then(()=>t(27246)))},58835,e=>{e.v(t=>Promise.all(["static/chunks/0034g-77v57su.js","static/chunks/0_g6ngacmh2ur.js"].map(t=>e.l(t))).then(()=>t(49661)))}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,17303,e=>{"use strict";var s=e.i(56916);let t=e=>{let s=e.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,s,t)=>t?t.toUpperCase():s.toLowerCase());return s.charAt(0).toUpperCase()+s.slice(1)},a=(...e)=>e.filter((e,s,t)=>!!e&&""!==e.trim()&&t.indexOf(e)===s).join(" ").trim();var n={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};let r=(0,s.forwardRef)(({color:e="currentColor",size:t=24,strokeWidth:r=2,absoluteStrokeWidth:l,className:i="",children:c,iconNode:o,...d},u)=>(0,s.createElement)("svg",{ref:u,...n,width:t,height:t,stroke:e,strokeWidth:l?24*Number(r)/Number(t):r,className:a("lucide",i),...!c&&!(e=>{for(let s in e)if(s.startsWith("aria-")||"role"===s||"title"===s)return!0})(d)&&{"aria-hidden":"true"},...d},[...o.map(([e,t])=>(0,s.createElement)(e,t)),...Array.isArray(c)?c:[c]]));e.s(["default",0,(e,n)=>{let l=(0,s.forwardRef)(({className:l,...i},c)=>(0,s.createElement)(r,{ref:c,iconNode:n,className:a(`lucide-${t(e).replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}`,`lucide-${e}`,l),...i}));return l.displayName=t(e),l}],17303)},99963,e=>{"use strict";var s=e.i(80663);let t=(0,e.i(17303).default)("external-link",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]]);function a(){for(var e,s,t=0,a="",n=arguments.length;t<n;t++)(e=arguments[t])&&(s=function e(s){var t,a,n="";if("string"==typeof s||"number"==typeof s)n+=s;else if("object"==typeof s)if(Array.isArray(s)){var r=s.length;for(t=0;t<r;t++)s[t]&&(a=e(s[t]))&&(n&&(n+=" "),n+=a)}else for(a in s)s[a]&&(n&&(n+=" "),n+=a);return n}(e))&&(a&&(a+=" "),a+=s);return a}var n=e.i(89562);function r({taskKey:e,taskTitle:t,sessionType:n,routing:l,confidence:i,method:c}){let o=function(e){if(!e)return[];switch(e){case"prefilter_trivial":return[{label:"Hermes · pre-filter",deciding:!0}];case"llm_standalone":case"agent_tiebreak":return[{label:"Hermes · classification",deciding:!0}];default:return[{label:e,deciding:!0}]}}(c),d="number"==typeof i&&i>0?`${Math.round(100*i)}%`:null,u=e?d?`${e} \xb7 ${d}`:e:"overhead"===n?"overhead":"queue"===l?d?`queued \xb7 ${d}`:"queued":d?`no match \xb7 ${d}`:"no match";return(0,s.jsxs)("div",{className:"space-y-2 min-w-[200px]",children:[o.length>0?(0,s.jsx)("div",{className:"space-y-1",children:o.map((e,t)=>(0,s.jsxs)("div",{className:"flex items-center justify-between gap-4",children:[(0,s.jsx)("span",{className:a("font-mono text-[10px] uppercase tracking-widest shrink-0",e.deciding?"text-[#4B4A47]":"text-[#C8C6C1]"),children:e.label}),(0,s.jsx)("span",{className:a("text-[10px] font-mono",e.deciding?"text-[#141414] font-medium":"text-[#C8C6C1]"),children:e.deciding?u:"→ escalated"})]},t))}):(0,s.jsx)("p",{className:"text-[11px] text-[#9B9A97]",children:"no classification data"}),e&&t&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("div",{className:"border-t border-[#F0EFEC]"}),(0,s.jsx)("p",{className:"text-[11px] text-[#6B6A67] leading-snug max-w-[220px]",children:t})]}),l&&"auto"!==l&&(0,s.jsxs)("p",{className:"text-[10px] text-[#C8C6C1]",children:["routing: ",(0,s.jsx)("span",{className:"font-mono",children:l})]})]})}function l({children:e,...t}){return(0,s.jsxs)(n.Root,{children:[(0,s.jsx)(n.Trigger,{asChild:!0,children:e}),(0,s.jsx)(n.Portal,{children:(0,s.jsxs)(n.Content,{side:"top",align:"center",sideOffset:5,className:"z-50 rounded-lg border border-[#E8E6E1] bg-white px-3 py-2.5 shadow-md",children:[(0,s.jsx)(r,{...t}),(0,s.jsx)(n.Arrow,{className:"fill-white"})]})})]})}e.s(["default",0,function({taskKey:e,sessionType:n,routing:r,confidence:i,method:c,taskTitle:o,taskUrl:d,size:u="xs"}){if(!n)return null;let x="xs"===u?"text-[10px] px-1.5 py-0.5":"text-xs px-2 py-0.5",p={taskKey:e,taskTitle:o??null,sessionType:n,routing:r,confidence:i,method:c};if("overhead"===n)return(0,s.jsx)(l,{...p,children:(0,s.jsx)("span",{className:a("inline-flex items-center rounded-full font-medium cursor-default","bg-[#F0EFEC] text-[#9B9A97]",x),children:"overhead"})});if("task"===n&&"auto"===r&&e){let n=(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("span",{className:"font-mono",children:e}),d&&(0,s.jsx)(t,{className:"w-2.5 h-2.5 opacity-60"})]}),r=d?(0,s.jsx)("a",{href:d,target:"_blank",rel:"noopener noreferrer",className:a("inline-flex items-center gap-1 rounded-full font-medium hover:brightness-95 transition","bg-[#EBF0FB] text-[#3D5BB0] border border-[#D8E0F4]",x),onClick:e=>e.stopPropagation(),children:n}):(0,s.jsx)("span",{className:a("inline-flex items-center gap-1 rounded-full font-medium cursor-default","bg-[#EBF0FB] text-[#3D5BB0] border border-[#D8E0F4]",x),children:n});return(0,s.jsx)(l,{...p,children:r})}return"task"===n&&"queue"===r?(0,s.jsx)(l,{...p,children:(0,s.jsxs)("span",{className:a("inline-flex items-center gap-1 rounded-full font-medium cursor-default","bg-[#FEF9EC] text-[#92400E] border border-[#FDE68A]",x),children:[(0,s.jsx)("span",{className:"font-mono",children:e??"queued"}),(0,s.jsx)("span",{className:"opacity-60",children:"?"})]})}):"task"===n&&"skip"===r?(0,s.jsx)(l,{...p,children:(0,s.jsx)("span",{className:a("inline-flex items-center rounded-full font-medium cursor-default","bg-[#F8F7F4] text-[#C8C6C1] border border-[#F0EFEC]",x),children:(0,s.jsx)("span",{className:"font-mono",children:"∅"})})}):null}],99963)},72868,e=>{"use strict";var s=e.i(80663),t=e.i(56916),a=e.i(29987),n=e.i(99963);let r={coding:"#3B6FE0",code_review:"#7C3AED",meeting:"#D97706",communication:"#059669",design:"#DB2777",documentation:"#0891B2",planning:"#C4822A",deployment_devops:"#DC2626",research:"#4F46E5",idle_personal:"#78716C"};function l({data:e}){let n=e=>new Date(e).getHours()+new Date(e).getMinutes()/60,i=(0,t.useMemo)(()=>{let s={};e.sessions.forEach(e=>{s[e.cat]=(s[e.cat]||0)+e.dur}),e.active&&(s[e.active.cat]=(s[e.active.cat]||0)+e.active.elapsed_s);let t=Object.values(s).reduce((e,s)=>e+s,0)||1;return Object.entries(s).map(([e,s])=>({cat:e,seconds:s,percentage:s/t*100,label:a.CATS[e]?.label||e})).sort((e,s)=>s.seconds-e.seconds)},[e]),c=(0,t.useMemo)(()=>{let s=[...e.sessions.map(e=>({kind:"session",startH:n(e.started_at),dur:e.dur})),...e.active?[{kind:"session",startH:n(e.active.started_at),dur:e.active.elapsed_s}]:[],...e.gaps.map(e=>({kind:"gap",startH:n(e.started_at),dur:e.dur}))].sort((e,s)=>e.startH-s.startH),t=0,a=0;return s.forEach(e=>{"gap"===e.kind&&e.dur>300?(t=Math.max(t,a),a=0):"session"===e.kind&&(a+=e.dur)}),Math.max(t,a)},[e]),o=(0,t.useMemo)(()=>{let e=0;return i.map(s=>{let t=e,a=s.percentage/100*360,n=t+a,r=(t-90)*Math.PI/180,l=(n-90)*Math.PI/180,i=+(a>180),c=`M ${100+85*Math.cos(r)} ${100+85*Math.sin(r)} A 85 85 0 ${i} 1 ${100+85*Math.cos(l)} ${100+85*Math.sin(l)} L ${100+58*Math.cos(l)} ${100+58*Math.sin(l)} A 58 58 0 ${i} 0 ${100+58*Math.cos(r)} ${100+58*Math.sin(r)} Z`;return e=n,{...s,path:c}})},[i]),[d,u]=(0,t.useState)(null);return(0,s.jsx)(a.Card,{className:"p-6",children:(0,s.jsxs)("div",{className:"flex items-center gap-8",children:[(0,s.jsx)("div",{className:"flex-1 flex justify-center",children:(0,s.jsxs)("div",{className:"relative",style:{width:200,height:200},children:[(0,s.jsx)("svg",{width:"200",height:"200",viewBox:"0 0 200 200",children:o.map(e=>(0,s.jsx)("path",{d:e.path,className:`cat-${e.cat}`,opacity:d===e.cat?1:null===d?.95:.35,style:{cursor:"pointer",transition:"opacity 0.2s ease, transform 0.15s ease",transformOrigin:"100px 100px",transform:d===e.cat?"scale(1.05)":"scale(1)"},onMouseEnter:()=>u(e.cat),onMouseLeave:()=>u(null)},e.cat))}),(0,s.jsxs)("div",{className:"absolute inset-0 flex flex-col items-center justify-center pointer-events-none",children:[(0,s.jsx)("p",{className:"font-mono tnum text-[28px] leading-none",style:{color:"var(--ink)"},children:(0,a.fmtDur)(e.focus_s)}),(0,s.jsx)("p",{className:"text-[10px] uppercase tracking-wide mt-1",style:{color:"var(--ink-3)"},children:"active"})]})]})}),(0,s.jsxs)("div",{className:"flex-1 space-y-4",children:[(0,s.jsxs)("div",{className:"grid grid-cols-2 gap-3 pb-4 rule-b",style:{borderBottomColor:"var(--rule)"},children:[(0,s.jsxs)("div",{children:[(0,s.jsx)("p",{className:"text-[10px] uppercase tracking-wide mb-1",style:{color:"var(--ink-3)"},children:"Longest block"}),(0,s.jsx)("p",{className:"font-mono tnum text-[20px] leading-none",style:{color:"var(--success)"},children:(0,a.fmtDur)(c)})]}),(0,s.jsxs)("div",{children:[(0,s.jsx)("p",{className:"text-[10px] uppercase tracking-wide mb-1",style:{color:"var(--ink-3)"},children:"Idle time"}),(0,s.jsx)("p",{className:"font-mono tnum text-[20px] leading-none",style:{color:"var(--ink-3)"},children:(0,a.fmtDur)(e.idle_s)})]})]}),(0,s.jsx)("div",{className:"space-y-0.5",children:i.map(e=>{let t=d===e.cat;return(0,s.jsxs)("div",{className:"flex items-center justify-between gap-3 py-1.5 px-2 rounded-md transition-all cursor-pointer",style:{background:t?"var(--tint)":"transparent",borderLeft:`3px solid ${t?r[e.cat]??"var(--accent)":"transparent"}`,opacity:t||null===d?1:.45,paddingLeft:t?"6px":"8px"},onMouseEnter:()=>u(e.cat),onMouseLeave:()=>u(null),children:[(0,s.jsxs)("div",{className:"flex items-center gap-2 flex-1 min-w-0",children:[(0,s.jsx)(a.CatDot,{cat:e.cat,size:9}),(0,s.jsx)("span",{className:"text-[12px] truncate font-medium",style:{color:t?"var(--ink)":"var(--ink-2)"},children:e.label})]}),(0,s.jsxs)("span",{className:"text-[12px] font-mono tnum font-semibold",style:{color:t?"var(--ink)":"var(--ink-3)"},children:[e.percentage.toFixed(0),"%"]})]},e.cat)})})]})]})})}let i="var(--ink)",c="var(--rule-2)",o="#3B6FE0",d=e=>new Date(e).getTime();function u({data:e}){let[n,r]=(0,t.useState)(null),l=(0,t.useMemo)(()=>{let s=e.presence_segments.map(e=>({startMs:d(e.started_at),endMs:d(e.ended_at),kind:"active",label:"Active"})),t=e.gaps.filter(e=>"user_idle"===e.kind).map(e=>({startMs:d(e.started_at),endMs:d(e.ended_at),kind:"idle",label:"Idle"})),a=e.agent_segments.map(e=>({startMs:d(e.started_at),endMs:d(e.ended_at),kind:"agent",label:"Claude / Codex"})),n=[...s,...t,...a].filter(e=>Number.isFinite(e.startMs)&&e.endMs>e.startMs);if(0===n.length)return null;let r=36e5*Math.floor(Math.min(...n.map(e=>e.startMs))/36e5),l=36e5*Math.ceil(Math.max(...n.map(e=>e.endMs))/36e5),i=Math.max(36e5,l-r),c=[];for(let e=r;e<=l;e+=36e5)c.push({left:(e-r)/i*100,label:new Date(e).getHours().toString().padStart(2,"0")});return{active:s,idle:t,agent:a,ticks:c,pos:e=>({left:(e.startMs-r)/i*100,width:Math.max(.4,(e.endMs-e.startMs)/i*100)})}},[e]);if(!l)return null;let x=(e,t,a,i,c=!1)=>{let{left:o,width:d}=l.pos(e);return(0,s.jsx)("div",{onMouseEnter:()=>r(e),onMouseLeave:()=>r(s=>s===e?null:s),className:"absolute cursor-pointer transition-opacity",style:{left:`${o}%`,width:`${d}%`,top:t,height:a,background:i,borderRadius:c?3:2,opacity:n&&n!==e?.4:1}},`${e.kind}-${e.startMs}`)};return(0,s.jsxs)("div",{className:"select-none",children:[(0,s.jsx)("div",{className:"h-6 mb-1 flex items-end",children:(()=>{if(!n)return null;let e=e=>new Date(e).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"});return(0,s.jsxs)("div",{className:"text-[11px] font-mono tnum px-2 py-1 rounded-md inline-flex gap-2 items-center",style:{background:"var(--ink)",color:"var(--paper)"},children:[(0,s.jsx)("span",{style:{opacity:.7},children:n.label}),(0,s.jsxs)("span",{children:[e(n.startMs),"–",e(n.endMs)]}),(0,s.jsxs)("span",{style:{opacity:.7},children:["· ",(0,a.fmtDur)(Math.round((n.endMs-n.startMs)/1e3))]})]})})()}),(0,s.jsxs)("div",{className:"relative",style:{height:54},children:[l.ticks.map((e,t)=>(0,s.jsx)("div",{className:"absolute top-0",style:{left:`${e.left}%`,height:40,width:1,background:"var(--rule)"}},`g${t}`)),l.idle.map(e=>x(e,6,18,c)),l.active.map(e=>x(e,6,18,i)),l.agent.map(e=>x(e,27,11,o,!0)),l.ticks.map((e,t)=>(0,s.jsx)("div",{className:"absolute font-mono text-[9px]",style:{left:`${e.left}%`,top:42,color:"var(--ink-4)",transform:"translateX(-50%)"},children:e.label},`l${t}`))]}),(0,s.jsxs)("div",{className:"mt-3 flex flex-wrap items-center gap-x-4 gap-y-1 text-[11px]",style:{color:"var(--ink-3)"},children:[(0,s.jsxs)("span",{className:"inline-flex items-center gap-1.5",children:[(0,s.jsx)("i",{style:{width:10,height:10,background:i,borderRadius:2,display:"inline-block"}})," Active"]}),(0,s.jsxs)("span",{className:"inline-flex items-center gap-1.5",children:[(0,s.jsx)("i",{style:{width:10,height:10,background:c,borderRadius:2,display:"inline-block"}})," Idle"]}),(0,s.jsxs)("span",{className:"inline-flex items-center gap-1.5",children:[(0,s.jsx)("i",{style:{width:10,height:6,background:o,borderRadius:2,display:"inline-block"}})," Claude / Codex"]}),(0,s.jsx)("span",{style:{color:"var(--ink-4)"},children:"· agent under an idle stretch = autonomous"})]})]})}let x=(e,s)=>s>0?Math.round(e/s*100):0;function p({label:e,value:t,hint:a}){return(0,s.jsxs)("div",{className:"flex items-baseline justify-between gap-4 py-2",children:[(0,s.jsxs)("div",{className:"min-w-0",children:[(0,s.jsx)("span",{className:"text-[13px]",style:{color:"var(--ink)"},children:e}),a&&(0,s.jsx)("span",{className:"text-[11px] ml-2",style:{color:"var(--ink-3)"},children:a})]}),(0,s.jsx)("span",{className:"font-mono tnum text-[14px] whitespace-nowrap",style:{color:"var(--ink)"},children:t})]})}function m(e){let{focus_s:n,idle_s:r,agent_s:l,supervised_s:i,autonomous_s:c,switch_count:o}=e,[d,u]=(0,t.useState)(null),m=[{key:"focus",label:"Focus",value:(0,a.fmtDur)(n),note:"active"},{key:"ai",label:"AI-assisted",value:`${x(i,n)}%`,note:"of focus"},{key:"switches",label:"Switches",value:String(o),note:"context switches"}];return(0,s.jsxs)("div",{className:"rule-t rule-b",style:{borderColor:"var(--rule)"},children:[(0,s.jsx)("div",{className:"grid grid-cols-3",children:m.map((e,t)=>{let a=d===e.key;return(0,s.jsxs)("button",{onClick:()=>u(a?null:e.key),className:`text-left py-4 px-5 transition-colors ${t>0?"rule-l":""}`,style:{borderColor:"var(--rule)",background:a?"var(--tint)":"transparent"},"aria-expanded":a,children:[(0,s.jsxs)("p",{className:"text-[10px] uppercase tracking-[0.16em] mb-2 flex items-center gap-1.5",style:{color:"var(--ink-3)"},children:[e.label,(0,s.jsx)("span",{className:"text-[9px]",style:{color:"var(--ink-4)",transform:a?"rotate(180deg)":"none",transition:"transform 0.15s"},children:"▾"})]}),(0,s.jsx)("p",{className:"font-mono tnum text-[20px] leading-none",style:{color:"var(--ink)"},children:e.value}),(0,s.jsx)("p",{className:"text-[11px] mt-1.5",style:{color:"var(--ink-3)"},children:e.note})]},e.key)})}),d&&(0,s.jsx)("div",{className:"px-5 py-3 rule-t",style:{borderTopColor:"var(--rule)",background:"var(--surface)"},children:(0,s.jsx)("div",{className:"max-w-md",children:(e=>{switch(e){case"focus":return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(p,{label:"Active",value:(0,a.fmtDur)(n),hint:"you, at the keyboard"}),(0,s.jsx)(p,{label:"Idle / away",value:(0,a.fmtDur)(r),hint:"no input detected"}),(0,s.jsx)(p,{label:"AI-assisted",value:`${(0,a.fmtDur)(i)} \xb7 ${x(i,n)}%`,hint:"of your active time"})]});case"ai":return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(p,{label:"Supervised",value:(0,a.fmtDur)(i),hint:"agent ran while you were active"}),(0,s.jsx)(p,{label:"Autonomous",value:(0,a.fmtDur)(c),hint:"agent ran while you were away"}),(0,s.jsx)(p,{label:"Agent total",value:(0,a.fmtDur)(l),hint:"engaged Claude / Codex time"})]});case"switches":return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(p,{label:"Context switches",value:String(o),hint:"foreground app changes over 15s"}),(0,s.jsx)("p",{className:"text-[12px] leading-relaxed pt-1",style:{color:"var(--ink-3)"},children:"Lower is deeper. Brief sub-15s window flicker is filtered out so this reflects real context shifts, not capture noise."})]})}})(d)})})]})}function h({active:e,taskKey:t}){let n=(0,a.useTick)(1),r=e.elapsed_s+n,l=Math.max(1,Math.floor(r/30));return(0,s.jsxs)(a.Card,{className:"overflow-hidden rise",style:{borderColor:"var(--rule-2)"},children:[(0,s.jsx)("div",{className:"h-[3px] w-full",style:{background:"var(--rule)"},children:(0,s.jsx)("div",{className:"h-full blink",style:{width:"32%",background:"var(--live)"}})}),(0,s.jsxs)("div",{className:"p-5",children:[(0,s.jsxs)("div",{className:"flex items-center gap-3 mb-4",children:[(0,s.jsx)(a.LiveDot,{size:8}),(0,s.jsxs)("span",{className:"text-[10px] uppercase tracking-[0.2em]",style:{color:"var(--ink-3)"},children:["Live · captured ",l," frame",1===l?"":"s"," ago"]}),(0,s.jsxs)("span",{className:"ml-auto text-[11px]",style:{color:"var(--ink-3)"},children:[(0,s.jsx)("span",{className:"font-mono tnum",children:(0,a.fmtClock)(e.started_at)})," → now"]})]}),(0,s.jsxs)("div",{className:"flex items-start gap-5",children:[(0,s.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,s.jsxs)("div",{className:"flex items-baseline gap-3 flex-wrap",children:[(0,s.jsx)("p",{className:"font-serif text-[28px] leading-none italic",style:{color:"var(--ink)"},children:"You're on"}),t&&(0,s.jsx)(a.TaskKey,{keyId:t,big:!0}),(0,s.jsx)("span",{className:"font-serif text-[28px] leading-none italic truncate",style:{color:"var(--ink)"},children:"idle_personal"!==e.cat?a.CATS[e.cat]?.label?.toLowerCase()??e.cat:"an uncategorized session"})]}),(0,s.jsxs)("div",{className:"mt-4 flex flex-wrap items-center gap-x-5 gap-y-2 text-[13px]",style:{color:"var(--ink-2)"},children:[(0,s.jsxs)("span",{className:"inline-flex items-center gap-2",children:[(0,s.jsx)(a.AppGlyph,{app:e.app,size:20}),(0,s.jsx)("span",{style:{color:"var(--ink)"},children:e.app})]}),(0,s.jsxs)("span",{className:"inline-flex items-center gap-1.5",children:[(0,s.jsx)(a.CatDot,{cat:e.cat}),(0,s.jsx)("span",{children:a.CATS[e.cat]?.label??e.cat})]})]}),e.explain&&(0,s.jsxs)("p",{className:"mt-4 text-[12px] leading-relaxed",style:{color:"var(--ink-3)"},children:[(0,s.jsx)("span",{style:{color:"var(--ink-2)"},children:"Why this task"}),(0,s.jsx)("span",{className:"mx-2",style:{color:"var(--ink-4)"},children:"·"}),e.explain]})]}),(0,s.jsxs)("div",{className:"text-right shrink-0 pl-4 rule-l",style:{borderLeftColor:"var(--rule)"},children:[(0,s.jsx)("p",{className:"text-[10px] uppercase tracking-[0.2em]",style:{color:"var(--ink-3)"},children:"elapsed"}),(0,s.jsx)("p",{className:"font-mono tnum text-[40px] leading-none mt-2",style:{color:"var(--ink)"},children:(0,a.fmtDurDecimal)(r)}),(0,s.jsxs)("div",{className:"mt-3 flex items-center justify-end gap-1.5",children:[(0,s.jsx)(a.ConfidenceRing,{value:e.confidence,size:14}),(0,s.jsxs)("span",{className:"text-[11px] font-mono tnum",style:{color:"var(--ink-3)"},children:[Math.round(100*e.confidence),"%"]})]})]})]}),e.titles.length>0&&(0,s.jsx)("div",{className:"mt-5 flex flex-wrap gap-1.5",children:e.titles.slice(0,5).map(e=>(0,s.jsx)("span",{className:"text-[11px] font-mono px-2 py-1 rounded-md tnum",style:{background:"var(--surface-2)",color:"var(--ink-2)",border:"1px solid var(--rule)"},children:e},e))}),(0,s.jsxs)("div",{className:"mt-5 pt-4 rule-t flex items-center justify-between gap-3",style:{borderTopColor:"var(--rule)"},children:[(0,s.jsx)("p",{className:"text-[12px]",style:{color:"var(--ink-2)"},children:"Log this session to Jira when it closes?"}),(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)("button",{className:"text-[12px] px-3 py-1.5 rounded-md",style:{color:"var(--ink-3)"},children:"Skip"}),(0,s.jsx)("button",{className:"text-[12px] px-3 py-1.5 rounded-md font-medium",style:{color:"var(--paper)",background:"var(--ink)"},children:t?`Log to ${t} →`:"Assign task →"})]})]})]})]})}function f({bucket:e}){let[r,l]=(0,t.useState)(!1),i=(0,t.useMemo)(()=>{let s={};return e.sessions.forEach(e=>{s[e.cat]=(s[e.cat]??0)+e.dur}),Object.entries(s).map(([e,s])=>({cat:e,value:s}))},[e.sessions]),c=e.day_total_s>0?(e.total_s/e.day_total_s*100).toFixed(0):"0";return(0,s.jsxs)("div",{style:{background:"var(--surface)"},children:[(0,s.jsxs)("button",{onClick:()=>l(e=>!e),className:"w-full text-left grid grid-cols-[auto_1fr_200px_auto] items-center gap-5 px-5 py-4 transition-colors",style:{background:r?"var(--surface-2)":"var(--surface)"},children:[(0,s.jsx)("span",{className:"font-mono tnum text-[12px] w-[72px]",style:{color:"var(--ink-2)"},children:e.isOverhead||e.isQueue?(0,s.jsx)("span",{style:{color:"var(--ink-3)"},children:e.isOverhead?"overhead":"needs review"}):(0,s.jsx)(a.TaskKey,{keyId:e.key})}),(0,s.jsxs)("div",{className:"min-w-0",children:[(0,s.jsx)("p",{className:"text-[14px] truncate",style:{color:"var(--ink)"},children:e.title}),(0,s.jsxs)("p",{className:"text-[11px] mt-1.5",style:{color:"var(--ink-3)"},children:[e.sessions.length," session",1===e.sessions.length?"":"s",i.length>0&&` \xb7 ${i.slice(0,3).map(e=>a.CATS[e.cat]?.short??e.cat).join(" + ")}`]})]}),(0,s.jsx)("div",{className:"hidden md:block",children:(0,s.jsx)(a.SegBar,{segments:i.length?i:[{value:1,color:"var(--rule-2)"}],height:3})}),(0,s.jsxs)("div",{className:"text-right",children:[(0,s.jsx)("p",{className:"font-mono tnum text-[18px] leading-none",style:{color:"var(--ink)"},children:(0,a.fmtDur)(e.total_s)}),(0,s.jsxs)("p",{className:"text-[11px] mt-1.5",style:{color:"var(--ink-3)"},children:[c,"% of day"]})]})]}),r&&(0,s.jsx)("div",{className:"px-5 pb-4 pt-1 rule-t",style:{borderTopColor:"var(--rule)"},children:(0,s.jsx)("div",{className:"grid grid-cols-1 gap-px",style:{background:"var(--rule)"},children:e.sessions.map(e=>(0,s.jsxs)("div",{className:"grid grid-cols-[auto_1fr_auto_auto] items-center gap-4 py-2.5 px-3",style:{background:"var(--surface)"},children:[(0,s.jsx)(a.AppGlyph,{app:e.app,size:20}),(0,s.jsxs)("div",{className:"min-w-0",children:[(0,s.jsx)("p",{className:"text-[13px] truncate",style:{color:"var(--ink)"},children:e.titles[0]||"—"}),(0,s.jsxs)("div",{className:"flex items-center gap-2 mt-0.5",children:[(0,s.jsx)("span",{className:"font-mono tnum text-[11px]",style:{color:"var(--ink-3)"},children:(0,a.fmtClock)(e.started_at)}),(0,s.jsx)(a.CatDot,{cat:e.cat}),(0,s.jsx)("span",{className:"text-[11px]",style:{color:"var(--ink-3)"},children:a.CATS[e.cat]?.short??e.cat})]})]}),(0,s.jsx)(n.default,{taskKey:e.task_key,sessionType:e.session_type,routing:e.routing,confidence:e.link_confidence,method:e.link_method,size:"xs"}),(0,s.jsx)("span",{className:"font-mono tnum text-[12px]",style:{color:"var(--ink-2)"},children:(0,a.fmtDur)(e.dur)})]},e.id))})})]})}function v({session:e}){return(0,s.jsxs)("div",{className:"grid grid-cols-[auto_1fr_auto_auto] items-center gap-5 px-5 py-4 rule-t",style:{borderTopColor:"var(--rule)"},children:[(0,s.jsx)(a.AppGlyph,{app:e.app,size:24}),(0,s.jsxs)("div",{className:"min-w-0",children:[(0,s.jsx)("p",{className:"text-[13px] truncate",style:{color:"var(--ink)"},children:e.titles[0]||e.app}),(0,s.jsxs)("p",{className:"text-[11px] mt-1",style:{color:"var(--ink-3)"},children:[(0,s.jsx)("span",{className:"font-mono tnum",children:(0,a.fmtClock)(e.started_at)}),e.candidates&&e.candidates.length>0&&(0,s.jsx)("span",{className:"ml-2 text-[11px]",style:{color:"var(--accent)"},children:"· needs review"})]})]}),(0,s.jsx)("div",{className:"flex items-center gap-1.5",children:e.candidates?.map(e=>(0,s.jsx)(a.TaskKey,{keyId:e},e))}),(0,s.jsx)("span",{className:"font-mono tnum text-[12px]",style:{color:"var(--ink-2)"},children:(0,a.fmtDur)(e.dur)})]})}e.s(["default",0,function({onNavigate:e}){let n,r,[i,c]=(0,t.useState)(null);if((0,t.useEffect)(()=>{fetch("/api/today").then(e=>e.json()).then(c).catch(()=>{});let e=setInterval(()=>fetch("/api/today").then(e=>e.json()).then(c).catch(()=>{}),3e4);return()=>clearInterval(e)},[]),!i)return(0,s.jsxs)("div",{className:"space-y-12",children:[(0,s.jsx)("header",{className:"rise",children:(0,s.jsx)("h1",{className:"font-serif leading-[0.95] tracking-tight",style:{color:"var(--ink)"},children:"Today"})}),(0,s.jsx)("p",{className:"text-[13px]",style:{color:"var(--ink-3)"},children:"Loading…"})]});let o=i.focus_s,d=new Map;function x(e,s){d.has(e)||d.set(e,{key:e,title:"",sessions:[],total_s:0,cats:new Set,day_total_s:o,isOverhead:!1,isQueue:!1});let t=d.get(e);t.sessions.push(s),t.total_s+=s.dur,t.cats.add(s.cat)}i.sessions.forEach(e=>{let s={id:e.id,app:e.app,started_at:e.started_at,dur:e.dur,cat:e.cat,titles:e.titles,task_key:e.task_key,session_type:e.session_type,link_method:e.link_method,link_confidence:e.link_confidence,routing:e.routing};e.task_key?x(e.task_key,s):"queue"===e.routing?x("_queue",s):x("_overhead",s)}),i.active&&x("_active",{id:"active",app:i.active.app,started_at:i.active.started_at,dur:i.active.elapsed_s,cat:i.active.cat,titles:i.active.titles,task_key:null,session_type:null,link_method:null,link_confidence:null,routing:null});let p=Array.from(d.values()).map(e=>({...e,isOverhead:"_overhead"===e.key,isQueue:"_queue"===e.key,title:"_overhead"===e.key?"Overhead — comms, mail, planning":"_queue"===e.key?"Sessions waiting to be assigned":"_active"===e.key?"Current session":e.key,day_total_s:o})).sort((e,s)=>{let t=e=>"_queue"===e?9:"_overhead"===e?8:"_active"===e?-1:0;return t(e.key)-t(s.key)||s.total_s-e.total_s}),g=i.sessions.filter(e=>"queue"===e.routing).length,y=new Date().toLocaleDateString("en-US",{weekday:"long",month:"long",day:"numeric"});return(0,s.jsxs)("div",{className:"space-y-12",children:[(0,s.jsxs)("header",{className:"rise",children:[(0,s.jsxs)("div",{className:"flex items-baseline justify-between mb-1",children:[(0,s.jsx)("p",{className:"text-[11px] uppercase tracking-[0.2em]",style:{color:"var(--ink-3)"},children:y}),i.active&&(0,s.jsxs)("p",{className:"text-[11px]",style:{color:"var(--ink-3)"},children:["Last capture ",(0,s.jsx)("span",{className:"font-mono tnum",children:(0,a.fmtClock)(i.active.started_at)})]})]}),(0,s.jsx)("h1",{className:"font-serif text-[88px] leading-[0.95] tracking-tight",style:{color:"var(--ink)"},children:"Today"})]}),(n=function(e){let{focus_s:s,supervised_s:t,autonomous_s:n,switch_count:r,active:l}=e;if(s<300&&!l)return null;let i=s>0?Math.round(t/s*100):0,c=`${(0,a.fmtDur)(s)} focused`;i>=5&&(c+=`, ${i}% of it alongside Claude`);let o=[];n>=600&&o.push(`plus ${(0,a.fmtDur)(n)} of autonomous agent work while you were away`);let d=s/60;return d>60&&r>d/4&&o.push(`a fragmented day — ${r} context switches`),o.length?`${c} — ${o.join("; ")}.`:`${c}.`}(i),r=function(e){let{sessions:s,active:t}=e;if(0===s.length&&!t)return null;let n=new Map;s.forEach(e=>{let s=e.task_key;if(!s)return;n.has(s)||n.set(s,{dur:0,cats:[]});let t=n.get(s);t.dur+=e.dur,t.cats.includes(e.cat)||t.cats.push(e.cat)});let r=s.filter(e=>!e.task_key&&"queue"!==e.routing).reduce((e,s)=>e+s.dur,0),l=Array.from(n.entries()).sort((e,s)=>s[1].dur-e[1].dur).slice(0,3);if(0===l.length&&r<600&&!t)return null;let i=[];if(l.forEach(([e,s],t)=>{let n=(0,a.fmtDur)(s.dur);if(0===t){var r,l;let t;i.push(`${(r=s.cats,l=s.dur,"coding"===(t=r[0])?l>3600?"Deep on":"Coding on":"code_review"===t?"Reviewing":"design"===t?"Designing":"documentation"===t?"Docs for":"planning"===t?"Planning":"meeting"===t?"Meetings around":"communication"===t?"Comms on":"research"===t?"Researching":"deployment_devops"===t?"Deploying":"Working on")} ${e} for ${n}`)}else i.push(`${n} on ${e}`)}),r>900&&i.push(`${(0,a.fmtDur)(r)} of overhead`),t){let e=a.CATS[t.cat]?.label?.toLowerCase()??t.cat;i.push(l.length>0?`currently in ${e}`:`started ${e} at ${(0,a.fmtClock)(t.started_at)}`)}return i.length>0?i.join(", ")+".":null}(i),n||i.sessions.length>0||i.active?(0,s.jsxs)("section",{className:"rise space-y-5",children:[n&&(0,s.jsxs)("div",{children:[(0,s.jsx)("p",{className:"text-[11px] uppercase tracking-[0.18em] mb-3",style:{color:"var(--ink-3)"},children:"Today at a glance"}),(0,s.jsx)("p",{className:"font-serif text-[32px] leading-[1.15]",style:{color:"var(--ink)",textWrap:"pretty"},children:n})]}),(i.sessions.length>0||i.active)&&(0,s.jsx)(a.Card,{className:"p-6",children:(0,s.jsx)(u,{data:i})}),r&&(0,s.jsx)("p",{className:"text-[14px] leading-relaxed",style:{color:"var(--ink-2)",textWrap:"pretty"},children:r})]}):null),i.active&&(0,s.jsx)(h,{active:i.active,taskKey:i.sessions.filter(e=>e.task_key).at(-1)?.task_key}),(0,s.jsx)(m,{focus_s:i.focus_s,idle_s:i.idle_s,agent_s:i.agent_s,supervised_s:i.supervised_s,autonomous_s:i.autonomous_s,switch_count:i.switch_count}),p.length>0&&(0,s.jsxs)("section",{children:[(0,s.jsx)(a.SectionHead,{kicker:"By task",title:"Where your time went",right:(0,s.jsx)("button",{onClick:()=>e?.("tasks"),className:"text-[12px]",style:{color:"var(--ink-3)"},children:"Open Tasks →"})}),(0,s.jsx)("div",{className:"space-y-px rule rounded-xl overflow-hidden border",style:{borderColor:"var(--rule)"},children:p.map(e=>(0,s.jsx)(f,{bucket:e},e.key))})]}),(i.sessions.length>0||i.active)&&(0,s.jsxs)("section",{children:[(0,s.jsx)(a.SectionHead,{kicker:"Shape of the day",title:"Activity patterns & insights"}),(0,s.jsx)(l,{data:i})]}),g>0&&(0,s.jsxs)("section",{children:[(0,s.jsx)(a.SectionHead,{kicker:"Needs review",title:(0,s.jsxs)(s.Fragment,{children:["Unassigned sessions ",(0,s.jsx)("span",{className:"ml-2 font-mono tnum text-[15px]",style:{color:"var(--accent)"},children:g})]}),right:(0,s.jsx)("button",{onClick:()=>e?.("queue"),className:"text-[12px]",style:{color:"var(--ink-3)"},children:"Review queue →"})}),(0,s.jsx)(a.Card,{children:i.sessions.filter(e=>"queue"===e.routing).slice(0,3).map(e=>(0,s.jsx)(v,{session:{...e,candidates:e.task_key?[e.task_key]:[]}},e.id))})]}),0===i.session_count&&!i.active&&(0,s.jsxs)("div",{className:"rounded-xl border py-16 text-center",style:{borderColor:"var(--rule)",background:"var(--surface)"},children:[(0,s.jsx)("p",{className:"text-[13px]",style:{color:"var(--ink-3)"},children:"No activity captured today"}),(0,s.jsx)("p",{className:"text-[11px] mt-1",style:{color:"var(--ink-4)"},children:"Start meridian to begin tracking"})]})]})}],72868)},65906,e=>{e.n(e.i(72868))}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,45540,e=>{"use strict";var t=e.i(80663),s=e.i(56916),r=e.i(29987);function a(e=0){let t=new Date;t.setDate(t.getDate()+e);let s=t.getFullYear(),r=String(t.getMonth()+1).padStart(2,"0"),l=String(t.getDate()).padStart(2,"0");return`${s}-${r}-${l}`}let l={drafted:{label:"Draft",color:"var(--ink-3)"},approved:{label:"Approved",color:"var(--accent)"},posted:{label:"Posted",color:"#2F9E44"},skipped:{label:"Dismissed",color:"var(--ink-4)"},failed:{label:"Failed",color:"#E03131"}};function o(e,t){let s=new Date(`${e}T12:00:00`);s.setDate(s.getDate()+t);let r=new Date;if(r.setHours(12,0,0,0),s>r)return e;let a=s.getFullYear(),l=String(s.getMonth()+1).padStart(2,"0"),o=String(s.getDate()).padStart(2,"0");return`${a}-${l}-${o}`}function n({w:e,busy:a,onApprove:o,onReject:i,onUnapprove:d,onSave:c}){let[p,x]=(0,s.useState)(!1),[m,u]=(0,s.useState)(e.summary),[v,h]=(0,s.useState)(!1),y=l[e.state]??{label:e.state,color:"var(--ink-3)"},k="posted"===e.state;return(0,s.useEffect)(()=>{u(e.summary)},[e.summary]),(0,t.jsx)("div",{className:"rounded-xl border overflow-hidden",style:{borderColor:"var(--rule)",background:"var(--surface)"},children:(0,t.jsxs)("div",{className:"px-5 py-4",children:[(0,t.jsxs)("div",{className:"flex items-center gap-3",children:[(0,t.jsx)(r.TaskKey,{keyId:e.task_key}),(0,t.jsx)("span",{className:"font-mono tnum text-[11px]",style:{color:"var(--ink-3)"},children:(0,r.fmtClock)(e.window_start)}),(0,t.jsx)("span",{className:"text-[11px]",style:{color:"var(--ink-4)"},children:"·"}),(0,t.jsx)("span",{className:"font-mono tnum text-[11px]",style:{color:"var(--ink-3)"},children:(0,r.fmtDur)(e.time_spent_seconds)}),(0,t.jsx)(r.ConfidenceRing,{value:e.confidence}),e.edited&&(0,t.jsx)("span",{className:"text-[10px] uppercase tracking-[0.12em]",style:{color:"var(--ink-4)"},children:"edited"}),(0,t.jsx)("span",{className:"ml-auto text-[10px] uppercase tracking-[0.14em] px-2 py-0.5 rounded",style:{color:y.color,border:`1px solid ${y.color}`},children:y.label})]}),e.risk_flags.length>0&&(0,t.jsx)("div",{className:"flex flex-wrap gap-1.5 mt-2",children:e.risk_flags.map(e=>(0,t.jsxs)("span",{className:"text-[10px] px-1.5 py-0.5 rounded font-mono",style:{background:"var(--tint)",color:"#B45309",border:"1px solid var(--rule-2)"},children:["⚑ ",e]},e))}),(0,t.jsx)("div",{className:"mt-3",children:p&&!k?(0,t.jsxs)("div",{children:[(0,t.jsx)("textarea",{value:m,onChange:e=>u(e.target.value),rows:4,className:"w-full px-3 py-2 rounded-md text-[13px] leading-relaxed",style:{background:"var(--surface-2)",border:"1px solid var(--rule-2)",color:"var(--ink)",outline:"none",resize:"vertical"}}),(0,t.jsxs)("div",{className:"flex items-center gap-2 mt-2",children:[(0,t.jsx)("button",{onClick:()=>{c(m),x(!1)},disabled:a,className:"px-3 py-1 rounded-md text-[12px]",style:{background:"var(--ink)",color:"var(--paper)"},children:"Save"}),(0,t.jsx)("button",{onClick:()=>{u(e.summary),x(!1)},className:"px-3 py-1 rounded-md text-[12px]",style:{color:"var(--ink-3)",border:"1px solid var(--rule-2)"},children:"Cancel"}),(0,t.jsx)("span",{className:"text-[10px]",style:{color:"var(--ink-4)"},children:"saving re-drafts an approved worklog"})]})]}):(0,t.jsx)("p",{className:"text-[13px] leading-relaxed whitespace-pre-wrap",style:{color:e.summary?"var(--ink)":"var(--ink-4)"},children:e.summary||"(empty — nothing to post; edit to add a comment)"})}),e.last_post_error&&(0,t.jsxs)("p",{className:"text-[11px] mt-2 font-mono",style:{color:"#E03131"},children:["post error: ",e.last_post_error]}),k&&e.posted_worklog_id&&(0,t.jsxs)("p",{className:"text-[11px] mt-2",style:{color:"#2F9E44"},children:["✓ posted to Jira · worklog ",e.posted_worklog_id]}),(e.bullets.length>0||e.next_steps.length>0)&&(0,t.jsxs)("button",{onClick:()=>h(e=>!e),className:"text-[11px] mt-3",style:{color:"var(--ink-3)"},children:[v?"− hide":"+ show"," supporting detail"]}),v&&(0,t.jsxs)("div",{className:"mt-2 pl-3 border-l space-y-1",style:{borderColor:"var(--rule-2)"},children:[e.bullets.map((e,s)=>(0,t.jsxs)("p",{className:"text-[12px]",style:{color:"var(--ink-2)"},children:[(0,t.jsx)("span",{className:"text-[10px] uppercase tracking-[0.1em] mr-1.5",style:{color:"var(--ink-4)"},children:e.kind}),e.text]},s)),e.next_steps.length>0&&(0,t.jsxs)("p",{className:"text-[12px] pt-1",style:{color:"var(--ink-3)"},children:[(0,t.jsx)("span",{className:"text-[10px] uppercase tracking-[0.1em] mr-1.5",style:{color:"var(--ink-4)"},children:"next"}),e.next_steps.join(" · ")]})]}),!k&&(0,t.jsxs)("div",{className:"flex items-center gap-2 mt-4",children:["approved"!==e.state?(0,t.jsx)("button",{onClick:o,disabled:a||!e.summary.trim(),className:"px-3 py-1.5 rounded-md text-[12px] transition-colors",style:{background:e.summary.trim()?"var(--accent)":"var(--rule-2)",color:"var(--paper)"},children:"Approve → post"}):(0,t.jsx)("button",{onClick:d,disabled:a,className:"px-3 py-1.5 rounded-md text-[12px]",style:{color:"var(--ink-2)",border:"1px solid var(--rule-2)"},children:"Hold (un-approve)"}),!p&&(0,t.jsx)("button",{onClick:()=>x(!0),disabled:a,className:"px-3 py-1.5 rounded-md text-[12px]",style:{color:"var(--ink-2)",border:"1px solid var(--rule-2)"},children:"Edit"}),"skipped"!==e.state&&(0,t.jsx)("button",{onClick:i,disabled:a,className:"px-3 py-1.5 rounded-md text-[12px] ml-auto",style:{color:"var(--ink-3)"},children:"Dismiss"})]})]})})}e.s(["default",0,function(){let[e,r]=(0,s.useState)(a(0)),[l,i]=(0,s.useState)([]),[d,c]=(0,s.useState)({}),[p,x]=(0,s.useState)(!0),[m,u]=(0,s.useState)(null),v=(0,s.useCallback)(e=>{fetch(`/api/worklogs?day=${e}`).then(e=>e.json()).then(e=>{i(e.items??[]),c(e.counts??{}),x(!1)}).catch(()=>x(!1))},[]);async function h(t,s){u(t);try{let e=await s();if(!e.ok){let t=await e.json().catch(()=>({}));alert(t.error??"Action failed")}}finally{u(null),v(e)}}(0,s.useEffect)(()=>{x(!0),v(e);let t=setInterval(()=>v(e),3e4);return()=>clearInterval(t)},[e,v]);let y=(e,t)=>h(e,()=>fetch(`/api/worklogs/${e}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:t})})),k=l.filter(e=>"drafted"===e.state&&e.summary.trim()).map(e=>e.id);async function g(){u(-1);try{await Promise.all(k.map(e=>fetch(`/api/worklogs/${e}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"approve"})})))}finally{u(null),v(e)}}let f=e===a(0);return(0,t.jsxs)("div",{className:"space-y-8",children:[(0,t.jsxs)("header",{className:"rise flex items-end justify-between gap-4",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("p",{className:"text-[11px] uppercase tracking-[0.2em]",style:{color:"var(--ink-3)"},children:"Worklog review"}),(0,t.jsx)("h1",{className:"font-serif text-[56px] leading-[1] tracking-tight mt-1",style:{color:"var(--ink)"},children:"Approve before it posts"}),(0,t.jsx)("p",{className:"mt-3 text-[14px] max-w-prose",style:{color:"var(--ink-2)"},children:"Nothing reaches Jira until you approve it. Edit the comment if it's off, then approve — the daemon posts approved worklogs within a minute."})]}),(0,t.jsxs)("div",{className:"text-right shrink-0",children:[(0,t.jsxs)("div",{className:"flex items-center gap-1 justify-end",children:[(0,t.jsx)("button",{onClick:()=>r(e=>o(e,-1)),className:"px-2 py-1 rounded-md text-[13px]",style:{color:"var(--ink-3)",border:"1px solid var(--rule-2)"},children:"←"}),(0,t.jsx)("span",{className:"font-mono tnum text-[12px] px-2",style:{color:"var(--ink-2)"},children:f?"Today":e}),(0,t.jsx)("button",{onClick:()=>r(e=>o(e,1)),disabled:f,className:"px-2 py-1 rounded-md text-[13px]",style:{color:f?"var(--ink-4)":"var(--ink-3)",border:"1px solid var(--rule-2)"},children:"→"})]}),(0,t.jsxs)("p",{className:"text-[11px] mt-2",style:{color:"var(--ink-3)"},children:[d.drafted??0," draft · ",d.approved??0," approved · ",d.posted??0," posted"]})]})]}),k.length>0&&(0,t.jsxs)("div",{className:"flex items-center gap-3",children:[(0,t.jsx)("button",{onClick:g,disabled:-1===m,className:"px-3 py-1.5 rounded-md text-[12px] transition-colors",style:{background:"var(--accent)",color:"var(--paper)"},children:-1===m?"Approving…":`Approve all ${k.length} drafts`}),(0,t.jsx)("span",{className:"text-[11px]",style:{color:"var(--ink-4)"},children:"posts everything you haven't edited away"})]}),p?(0,t.jsx)("p",{className:"text-[13px]",style:{color:"var(--ink-3)"},children:"Loading…"}):0===l.length?(0,t.jsxs)("div",{className:"py-16 text-center rounded-xl border",style:{borderColor:"var(--rule)",background:"var(--surface)"},children:[(0,t.jsxs)("p",{className:"font-serif italic text-[24px]",style:{color:"var(--ink-2)"},children:["No worklogs ",f?"yet today":"this day","."]}),(0,t.jsx)("p",{className:"text-[12px] mt-2",style:{color:"var(--ink-3)"},children:"They appear here as the daemon drafts them, hour by hour."})]}):(0,t.jsx)("div",{className:"space-y-3",children:l.map(e=>(0,t.jsx)(n,{w:e,busy:m===e.id,onApprove:()=>y(e.id,"approve"),onReject:()=>y(e.id,"reject"),onUnapprove:()=>y(e.id,"unapprove"),onSave:t=>{let s;return s=e.id,h(s,()=>fetch(`/api/worklogs/${s}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({summary:t})}))}},e.id))})]})}])},75042,e=>{e.n(e.i(45540))}]);
|
package/ui/ui/.next/BUILD_ID
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
ssYyfKouyOGsUj1971PsB
|
|
@@ -7,9 +7,9 @@
|
|
|
7
7
|
"static/chunks/03~yq9q893hmn.js"
|
|
8
8
|
],
|
|
9
9
|
"lowPriorityFiles": [
|
|
10
|
-
"static/
|
|
11
|
-
"static/
|
|
12
|
-
"static/
|
|
10
|
+
"static/ssYyfKouyOGsUj1971PsB/_buildManifest.js",
|
|
11
|
+
"static/ssYyfKouyOGsUj1971PsB/_ssgManifest.js",
|
|
12
|
+
"static/ssYyfKouyOGsUj1971PsB/_clientMiddlewareManifest.js"
|
|
13
13
|
],
|
|
14
14
|
"rootMainFiles": [
|
|
15
15
|
"static/chunks/0dot4ieb6jn6a.js",
|
|
@@ -102,8 +102,8 @@
|
|
|
102
102
|
"dynamicRoutes": {},
|
|
103
103
|
"notFoundRoutes": [],
|
|
104
104
|
"preview": {
|
|
105
|
-
"previewModeId": "
|
|
106
|
-
"previewModeSigningKey": "
|
|
107
|
-
"previewModeEncryptionKey": "
|
|
105
|
+
"previewModeId": "0ced1eb40e6dfedf344e3ee528a04c03",
|
|
106
|
+
"previewModeSigningKey": "1a7ca7bfc3b31098726f0ccdd432c504652190e8e8ea280605170caea9999161",
|
|
107
|
+
"previewModeEncryptionKey": "0a005b2c32aa79a69ab8b5d2ccadc4a8bc592cb9552a2cfc3464fc34481c1ddd"
|
|
108
108
|
}
|
|
109
109
|
}
|
|
@@ -21,7 +21,16 @@
|
|
|
21
21
|
"afterFiles": [],
|
|
22
22
|
"fallback": []
|
|
23
23
|
},
|
|
24
|
-
"dynamicRoutes": [
|
|
24
|
+
"dynamicRoutes": [
|
|
25
|
+
{
|
|
26
|
+
"page": "/api/worklogs/[id]",
|
|
27
|
+
"regex": "^/api/worklogs/([^/]+?)(?:/)?$",
|
|
28
|
+
"routeKeys": {
|
|
29
|
+
"nxtPid": "nxtPid"
|
|
30
|
+
},
|
|
31
|
+
"namedRegex": "^/api/worklogs/(?<nxtPid>[^/]+?)(?:/)?$"
|
|
32
|
+
}
|
|
33
|
+
],
|
|
25
34
|
"staticRoutes": [
|
|
26
35
|
{
|
|
27
36
|
"page": "/",
|
|
@@ -83,6 +92,12 @@
|
|
|
83
92
|
"routeKeys": {},
|
|
84
93
|
"namedRegex": "^/api/week(?:/)?$"
|
|
85
94
|
},
|
|
95
|
+
{
|
|
96
|
+
"page": "/api/worklogs",
|
|
97
|
+
"regex": "^/api/worklogs(?:/)?$",
|
|
98
|
+
"routeKeys": {},
|
|
99
|
+
"namedRegex": "^/api/worklogs(?:/)?$"
|
|
100
|
+
},
|
|
86
101
|
{
|
|
87
102
|
"page": "/settings",
|
|
88
103
|
"regex": "^/settings(?:/)?$",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><html id="__next_error__"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/0dot4ieb6jn6a.js"/><script src="/_next/static/chunks/07w.nc21rbgvr.js" async=""></script><script src="/_next/static/chunks/0k6e32~luaz90.js" async=""></script><script src="/_next/static/chunks/turbopack-07spa5_ifkkbo.js" async=""></script><script src="/_next/static/chunks/0jgj_x4bo_4cp.js" async=""></script><meta name="next-size-adjust" content=""/><title>500: This page couldn’t load</title><style>:root {--next-error-bg: #fff;--next-error-text: #171717;--next-error-title: #171717;--next-error-message: #171717;--next-error-digest: #666666;--next-error-btn-text: #fff;--next-error-btn-bg: #171717;--next-error-btn-border: none;--next-error-btn-secondary-text: #171717;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);}@media (prefers-color-scheme: dark) {:root {--next-error-bg: #0a0a0a;--next-error-text: #ededed;--next-error-title: #ededed;--next-error-message: #ededed;--next-error-digest: #a0a0a0;--next-error-btn-text: #0a0a0a;--next-error-btn-bg: #ededed;--next-error-btn-border: none;--next-error-btn-secondary-text: #ededed;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);}}body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }</style><script src="/_next/static/chunks/03~yq9q893hmn.js" noModule=""></script></head><body><div hidden=""><!--$--><!--/$--></div><div style="font-family:system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";height:100vh;display:flex;align-items:center;justify-content:center"><div style="margin-top:-32px;max-width:325px;padding:32px 28px;text-align:left"><svg width="32" height="32" viewBox="-0.2 -1.5 32 32" fill="none" style="margin-bottom:24px"><path d="M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z" fill="var(--next-error-title)"></path></svg><h1 style="font-size:24px;font-weight:500;letter-spacing:-0.02em;line-height:32px;margin:0 0 12px 0;color:var(--next-error-title)">This page couldn’t load</h1><p style="font-size:14px;font-weight:400;line-height:21px;margin:0 0 20px 0;color:var(--next-error-message)">A server error occurred. Reload to try again.</p><form style="margin:0"><button type="submit" style="display:inline-flex;align-items:center;justify-content:center;height:32px;padding:0 12px;font-size:14px;font-weight:500;line-height:20px;border-radius:6px;cursor:pointer;color:var(--next-error-btn-text);background:var(--next-error-btn-bg);border:var(--next-error-btn-border)">Reload</button></form></div></div><!--$--><!--/$--><script src="/_next/static/chunks/0dot4ieb6jn6a.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[15838,[\"/_next/static/chunks/0jgj_x4bo_4cp.js\"],\"default\"]\n3:I[7840,[\"/_next/static/chunks/0jgj_x4bo_4cp.js\"],\"default\"]\n4:I[22556,[\"/_next/static/chunks/0jgj_x4bo_4cp.js\"],\"OutletBoundary\"]\n5:\"$Sreact.suspense\"\n8:I[22556,[\"/_next/static/chunks/0jgj_x4bo_4cp.js\"],\"ViewportBoundary\"]\na:I[22556,[\"/_next/static/chunks/0jgj_x4bo_4cp.js\"],\"MetadataBoundary\"]\nc:I[32435,[\"/_next/static/chunks/0jgj_x4bo_4cp.js\"],\"default\",1]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"c\":[\"\",\"_global-error\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"__PAGE__\",{}]}],[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"html\",null,{\"id\":\"__next_error__\",\"children\":[[\"$\",\"head\",null,{\"children\":[[\"$\",\"title\",null,{\"children\":\"500: This page couldn’t load\"}],[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\":root {--next-error-bg: #fff;--next-error-text: #171717;--next-error-title: #171717;--next-error-message: #171717;--next-error-digest: #666666;--next-error-btn-text: #fff;--next-error-btn-bg: #171717;--next-error-btn-border: none;--next-error-btn-secondary-text: #171717;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);}@media (prefers-color-scheme: dark) {:root {--next-error-bg: #0a0a0a;--next-error-text: #ededed;--next-error-title: #ededed;--next-error-message: #ededed;--next-error-digest: #a0a0a0;--next-error-btn-text: #0a0a0a;--next-error-btn-bg: #ededed;--next-error-btn-border: none;--next-error-btn-secondary-text: #ededed;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);}}body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }\"}}]]}],[\"$\",\"body\",null,{\"children\":[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"display\":\"flex\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"style\":{\"marginTop\":\"-32px\",\"maxWidth\":\"325px\",\"padding\":\"32px 28px\",\"textAlign\":\"left\"},\"children\":[[\"$\",\"svg\",null,{\"width\":\"32\",\"height\":\"32\",\"viewBox\":\"-0.2 -1.5 32 32\",\"fill\":\"none\",\"style\":{\"marginBottom\":\"24px\"},\"children\":[\"$\",\"path\",null,{\"d\":\"M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z\",\"fill\":\"var(--next-error-title)\"}]}],[\"$\",\"h1\",null,{\"style\":{\"fontSize\":\"24px\",\"fontWeight\":500,\"letterSpacing\":\"-0.02em\",\"lineHeight\":\"32px\",\"margin\":\"0 0 12px 0\",\"color\":\"var(--next-error-title)\"},\"children\":\"This page couldn’t load\"}],[\"$\",\"p\",null,{\"style\":{\"fontSize\":\"14px\",\"fontWeight\":400,\"lineHeight\":\"21px\",\"margin\":\"0 0 20px 0\",\"color\":\"var(--next-error-message)\"},\"children\":\"A server error occurred. Reload to try again.\"}],[\"$\",\"form\",null,{\"style\":{\"margin\":0},\"children\":[\"$\",\"button\",null,{\"type\":\"submit\",\"style\":{\"display\":\"inline-flex\",\"alignItems\":\"center\",\"justifyContent\":\"center\",\"height\":\"32px\",\"padding\":\"0 12px\",\"fontSize\":\"14px\",\"fontWeight\":500,\"lineHeight\":\"20px\",\"borderRadius\":\"6px\",\"cursor\":\"pointer\",\"color\":\"var(--next-error-btn-text)\",\"background\":\"var(--next-error-btn-bg)\",\"border\":\"var(--next-error-btn-border)\"},\"children\":\"Reload\"}]}]]}]}]}]]}],null,[\"$\",\"$L4\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@6\"}]}]]}],{},null,false,null]},null,false,\"$@7\"],[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$L8\",null,{\"children\":\"$L9\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$La\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Lb\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$c\",[]],\"S\":true,\"h\":null,\"s\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"
|
|
1
|
+
<!DOCTYPE html><html id="__next_error__"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/0dot4ieb6jn6a.js"/><script src="/_next/static/chunks/07w.nc21rbgvr.js" async=""></script><script src="/_next/static/chunks/0k6e32~luaz90.js" async=""></script><script src="/_next/static/chunks/turbopack-07spa5_ifkkbo.js" async=""></script><script src="/_next/static/chunks/0jgj_x4bo_4cp.js" async=""></script><meta name="next-size-adjust" content=""/><title>500: This page couldn’t load</title><style>:root {--next-error-bg: #fff;--next-error-text: #171717;--next-error-title: #171717;--next-error-message: #171717;--next-error-digest: #666666;--next-error-btn-text: #fff;--next-error-btn-bg: #171717;--next-error-btn-border: none;--next-error-btn-secondary-text: #171717;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);}@media (prefers-color-scheme: dark) {:root {--next-error-bg: #0a0a0a;--next-error-text: #ededed;--next-error-title: #ededed;--next-error-message: #ededed;--next-error-digest: #a0a0a0;--next-error-btn-text: #0a0a0a;--next-error-btn-bg: #ededed;--next-error-btn-border: none;--next-error-btn-secondary-text: #ededed;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);}}body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }</style><script src="/_next/static/chunks/03~yq9q893hmn.js" noModule=""></script></head><body><div hidden=""><!--$--><!--/$--></div><div style="font-family:system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";height:100vh;display:flex;align-items:center;justify-content:center"><div style="margin-top:-32px;max-width:325px;padding:32px 28px;text-align:left"><svg width="32" height="32" viewBox="-0.2 -1.5 32 32" fill="none" style="margin-bottom:24px"><path d="M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z" fill="var(--next-error-title)"></path></svg><h1 style="font-size:24px;font-weight:500;letter-spacing:-0.02em;line-height:32px;margin:0 0 12px 0;color:var(--next-error-title)">This page couldn’t load</h1><p style="font-size:14px;font-weight:400;line-height:21px;margin:0 0 20px 0;color:var(--next-error-message)">A server error occurred. Reload to try again.</p><form style="margin:0"><button type="submit" style="display:inline-flex;align-items:center;justify-content:center;height:32px;padding:0 12px;font-size:14px;font-weight:500;line-height:20px;border-radius:6px;cursor:pointer;color:var(--next-error-btn-text);background:var(--next-error-btn-bg);border:var(--next-error-btn-border)">Reload</button></form></div></div><!--$--><!--/$--><script src="/_next/static/chunks/0dot4ieb6jn6a.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[15838,[\"/_next/static/chunks/0jgj_x4bo_4cp.js\"],\"default\"]\n3:I[7840,[\"/_next/static/chunks/0jgj_x4bo_4cp.js\"],\"default\"]\n4:I[22556,[\"/_next/static/chunks/0jgj_x4bo_4cp.js\"],\"OutletBoundary\"]\n5:\"$Sreact.suspense\"\n8:I[22556,[\"/_next/static/chunks/0jgj_x4bo_4cp.js\"],\"ViewportBoundary\"]\na:I[22556,[\"/_next/static/chunks/0jgj_x4bo_4cp.js\"],\"MetadataBoundary\"]\nc:I[32435,[\"/_next/static/chunks/0jgj_x4bo_4cp.js\"],\"default\",1]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"c\":[\"\",\"_global-error\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"__PAGE__\",{}]}],[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"html\",null,{\"id\":\"__next_error__\",\"children\":[[\"$\",\"head\",null,{\"children\":[[\"$\",\"title\",null,{\"children\":\"500: This page couldn’t load\"}],[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\":root {--next-error-bg: #fff;--next-error-text: #171717;--next-error-title: #171717;--next-error-message: #171717;--next-error-digest: #666666;--next-error-btn-text: #fff;--next-error-btn-bg: #171717;--next-error-btn-border: none;--next-error-btn-secondary-text: #171717;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);}@media (prefers-color-scheme: dark) {:root {--next-error-bg: #0a0a0a;--next-error-text: #ededed;--next-error-title: #ededed;--next-error-message: #ededed;--next-error-digest: #a0a0a0;--next-error-btn-text: #0a0a0a;--next-error-btn-bg: #ededed;--next-error-btn-border: none;--next-error-btn-secondary-text: #ededed;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);}}body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }\"}}]]}],[\"$\",\"body\",null,{\"children\":[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"display\":\"flex\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"style\":{\"marginTop\":\"-32px\",\"maxWidth\":\"325px\",\"padding\":\"32px 28px\",\"textAlign\":\"left\"},\"children\":[[\"$\",\"svg\",null,{\"width\":\"32\",\"height\":\"32\",\"viewBox\":\"-0.2 -1.5 32 32\",\"fill\":\"none\",\"style\":{\"marginBottom\":\"24px\"},\"children\":[\"$\",\"path\",null,{\"d\":\"M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z\",\"fill\":\"var(--next-error-title)\"}]}],[\"$\",\"h1\",null,{\"style\":{\"fontSize\":\"24px\",\"fontWeight\":500,\"letterSpacing\":\"-0.02em\",\"lineHeight\":\"32px\",\"margin\":\"0 0 12px 0\",\"color\":\"var(--next-error-title)\"},\"children\":\"This page couldn’t load\"}],[\"$\",\"p\",null,{\"style\":{\"fontSize\":\"14px\",\"fontWeight\":400,\"lineHeight\":\"21px\",\"margin\":\"0 0 20px 0\",\"color\":\"var(--next-error-message)\"},\"children\":\"A server error occurred. Reload to try again.\"}],[\"$\",\"form\",null,{\"style\":{\"margin\":0},\"children\":[\"$\",\"button\",null,{\"type\":\"submit\",\"style\":{\"display\":\"inline-flex\",\"alignItems\":\"center\",\"justifyContent\":\"center\",\"height\":\"32px\",\"padding\":\"0 12px\",\"fontSize\":\"14px\",\"fontWeight\":500,\"lineHeight\":\"20px\",\"borderRadius\":\"6px\",\"cursor\":\"pointer\",\"color\":\"var(--next-error-btn-text)\",\"background\":\"var(--next-error-btn-bg)\",\"border\":\"var(--next-error-btn-border)\"},\"children\":\"Reload\"}]}]]}]}]}]]}],null,[\"$\",\"$L4\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@6\"}]}]]}],{},null,false,null]},null,false,\"$@7\"],[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$L8\",null,{\"children\":\"$L9\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$La\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Lb\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$c\",[]],\"S\":true,\"h\":null,\"s\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"ssYyfKouyOGsUj1971PsB\"}\n"])</script><script>self.__next_f.push([1,"d:[]\n7:\"$Wd\"\n"])</script><script>self.__next_f.push([1,"9:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"6:null\nb:[]\n"])</script></body></html>
|