leedab 0.9.0 → 0.9.1
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/apps/console/.next/standalone/.next/BUILD_ID +1 -1
- package/apps/console/.next/standalone/.next/app-build-manifest.json +203 -196
- package/apps/console/.next/standalone/.next/app-path-routes-manifest.json +58 -57
- package/apps/console/.next/standalone/.next/build-manifest.json +2 -2
- package/apps/console/.next/standalone/.next/prerender-manifest.json +9 -9
- package/apps/console/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/_not-found.html +1 -1
- package/apps/console/.next/standalone/.next/server/app/_not-found.rsc +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/agent/route_client-reference-manifest.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/approvals/route_client-reference-manifest.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/approvals/stream/route_client-reference-manifest.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/automation/workflow-blueprint/route_client-reference-manifest.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/backend/endpoint-spec/route_client-reference-manifest.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/bootstrap-admin-token/route_client-reference-manifest.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/brain/add-folder/route_client-reference-manifest.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/brain/forget/route_client-reference-manifest.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/brain/pick-folder/route.js +9 -0
- package/apps/console/.next/standalone/.next/server/app/api/brain/pick-folder/route.js.nft.json +1 -0
- package/apps/console/.next/standalone/.next/server/app/api/brain/pick-folder/route_client-reference-manifest.js +1 -0
- package/apps/console/.next/standalone/.next/server/app/api/brain/scan/route_client-reference-manifest.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/brain/search/route_client-reference-manifest.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/brain/status/route_client-reference-manifest.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/brand/brand-audit/route_client-reference-manifest.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/campaigns/campaign-brief/route_client-reference-manifest.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/champion/confidence/route_client-reference-manifest.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/champion/customer/route_client-reference-manifest.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/champion/dispatches/route_client-reference-manifest.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/champion/engagement/route_client-reference-manifest.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/champion/escalate/route_client-reference-manifest.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/champion/profile/route_client-reference-manifest.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/champion/screenshare/route_client-reference-manifest.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/champion/track-question/route_client-reference-manifest.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/champion/use-case-wiki/route_client-reference-manifest.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/chat/route_client-reference-manifest.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/compliance/risk-register-seed/route_client-reference-manifest.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/computer-use/[id]/route_client-reference-manifest.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/computer-use/route_client-reference-manifest.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/concierge/morning-brief/route_client-reference-manifest.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/contacts/route_client-reference-manifest.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/content/seo-brief/route_client-reference-manifest.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/conversations/route_client-reference-manifest.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/coo/roster/route_client-reference-manifest.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/coo/route_client-reference-manifest.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/cx/escalation-triage/route_client-reference-manifest.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/cx/health-score/route_client-reference-manifest.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/data/cohort-brief/route_client-reference-manifest.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/delegate/route_client-reference-manifest.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/delegate/stream/route.js +2 -2
- package/apps/console/.next/standalone/.next/server/app/api/delegate/stream/route_client-reference-manifest.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/delivery/qbr-brief/route_client-reference-manifest.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/delivery/weekly-brief/route_client-reference-manifest.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/dev/invalidate-cache/route_client-reference-manifest.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/devops/runbook/route_client-reference-manifest.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/email/sequence-brief/route_client-reference-manifest.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/engineering/adr-draft/route_client-reference-manifest.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/finance/runway-snapshot/route_client-reference-manifest.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/frontend/component-spec/route_client-reference-manifest.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/health/route_client-reference-manifest.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/implementation/brief/route_client-reference-manifest.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/implementation/scaffold-migration-script/route_client-reference-manifest.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/implementation/scaffold-n8n-workflow/route_client-reference-manifest.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/implementation/scaffold-skill-override/route_client-reference-manifest.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/inbox/route_client-reference-manifest.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/inbox/stream/route_client-reference-manifest.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/investor/kpi-tracker/route_client-reference-manifest.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/leedab/channels/status/route_client-reference-manifest.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/leedab/channels/telegram/connect/route_client-reference-manifest.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/leedab/channels/whatsapp/connect/route_client-reference-manifest.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/leedab/gtm/leads/[id]/route_client-reference-manifest.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/leedab/gtm/leads/[id]/status/route_client-reference-manifest.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/leedab/gtm/templates/[name]/route_client-reference-manifest.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/leedab/license/route_client-reference-manifest.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/leedab/models/route_client-reference-manifest.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/leedab/providers/route_client-reference-manifest.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/leedab/sessions/[id]/route_client-reference-manifest.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/leedab/sessions/route_client-reference-manifest.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/leedab/team/[id]/route_client-reference-manifest.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/leedab/team/route_client-reference-manifest.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/leedab/vault/route_client-reference-manifest.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/leedab/workflows/route_client-reference-manifest.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/legal/clause-template/route_client-reference-manifest.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/manifest/agents/custom/draft/route_client-reference-manifest.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/manifest/agents/custom/route_client-reference-manifest.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/manifest/agents/route_client-reference-manifest.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/marketing/cadence-planner/route_client-reference-manifest.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/marketing/competitive-snapshot/route_client-reference-manifest.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/marketplace/catalogue/route_client-reference-manifest.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/onboarding/engagement-plan/route_client-reference-manifest.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/onboarding/kickoff-brief/route_client-reference-manifest.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/openclaw/status/route_client-reference-manifest.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/ops/dispatch-brief/route_client-reference-manifest.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/pack/route_client-reference-manifest.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/people/job-brief/route_client-reference-manifest.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/preferences/route_client-reference-manifest.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/procurement/po-brief/route_client-reference-manifest.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/product/prd-draft/route_client-reference-manifest.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/research/prospect-intel/route_client-reference-manifest.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/research/search/route_client-reference-manifest.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/routing/route_client-reference-manifest.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/runs/route_client-reference-manifest.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/sales/pipeline-summary/route_client-reference-manifest.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/sales/prospect-brief/route_client-reference-manifest.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/solutions/build/route_client-reference-manifest.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/solutions/quickstart-regenerate/route_client-reference-manifest.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/solutions/refine/route_client-reference-manifest.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/strategy/market-pulse/route_client-reference-manifest.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/telegram/[customerId]/route_client-reference-manifest.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/templates/regenerate/route_client-reference-manifest.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/templates/route_client-reference-manifest.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/uploads/[id]/route_client-reference-manifest.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/uploads/route_client-reference-manifest.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/usage/route_client-reference-manifest.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/video/video-script/route_client-reference-manifest.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/webhooks/workflow/[id]/route_client-reference-manifest.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/workflows/[id]/history/[runId]/route_client-reference-manifest.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/workflows/[id]/history/route_client-reference-manifest.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/workflows/[id]/route_client-reference-manifest.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/workflows/[id]/run/route_client-reference-manifest.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/api/workflows/route_client-reference-manifest.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/gtm/page_client-reference-manifest.js +1 -1
- package/apps/console/.next/standalone/.next/server/app/index.html +1 -1
- package/apps/console/.next/standalone/.next/server/app/index.rsc +2 -2
- package/apps/console/.next/standalone/.next/server/app/page.js +2 -2
- package/apps/console/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
- package/apps/console/.next/standalone/.next/server/app-paths-manifest.json +58 -57
- package/apps/console/.next/standalone/.next/server/functions-config-manifest.json +51 -50
- package/apps/console/.next/standalone/.next/server/next-font-manifest.js +1 -1
- package/apps/console/.next/standalone/.next/server/next-font-manifest.json +1 -1
- package/apps/console/.next/standalone/.next/server/pages/404.html +1 -1
- package/apps/console/.next/standalone/.next/server/pages/500.html +1 -1
- package/apps/console/.next/standalone/.next/server/pages/_error.js +2 -2
- package/apps/console/.next/standalone/.next/server/server-reference-manifest.json +1 -1
- package/apps/console/.next/standalone/.next/static/NMX49PyJUVvU7h4ilJIeH/_buildManifest.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/agent/{route-e7d105b160fdcdb6.js → route-2c497fd3a9a57cbd.js} +1 -1
- package/apps/console/.next/standalone/.next/static/chunks/app/api/approvals/{route-e7d105b160fdcdb6.js → route-2c497fd3a9a57cbd.js} +1 -1
- package/apps/console/.next/standalone/.next/static/chunks/app/api/approvals/stream/{route-e7d105b160fdcdb6.js → route-2c497fd3a9a57cbd.js} +1 -1
- package/apps/console/.next/standalone/.next/static/chunks/app/api/automation/workflow-blueprint/{route-e7d105b160fdcdb6.js → route-2c497fd3a9a57cbd.js} +1 -1
- package/apps/console/.next/standalone/.next/static/chunks/app/api/backend/endpoint-spec/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/bootstrap-admin-token/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/brain/add-folder/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/brain/forget/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/brain/pick-folder/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/brain/scan/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/brain/search/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/brain/status/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/brand/brand-audit/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/campaigns/campaign-brief/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/champion/confidence/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/champion/customer/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/champion/dispatches/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/champion/engagement/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/champion/escalate/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/champion/profile/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/champion/screenshare/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/champion/track-question/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/champion/use-case-wiki/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/chat/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/compliance/risk-register-seed/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/computer-use/[id]/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/computer-use/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/concierge/morning-brief/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/contacts/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/content/seo-brief/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/conversations/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/coo/roster/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/coo/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/cx/escalation-triage/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/cx/health-score/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/data/cohort-brief/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/delegate/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/delegate/stream/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/delivery/qbr-brief/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/delivery/weekly-brief/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/dev/invalidate-cache/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/devops/runbook/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/email/sequence-brief/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/engineering/adr-draft/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/finance/runway-snapshot/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/frontend/component-spec/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/health/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/implementation/brief/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/implementation/scaffold-migration-script/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/implementation/scaffold-n8n-workflow/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/implementation/scaffold-skill-override/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/inbox/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/inbox/stream/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/investor/kpi-tracker/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/leedab/channels/status/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/leedab/channels/telegram/connect/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/leedab/channels/whatsapp/connect/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/leedab/gtm/leads/[id]/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/leedab/gtm/leads/[id]/status/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/leedab/gtm/templates/[name]/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/leedab/license/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/leedab/models/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/leedab/providers/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/leedab/sessions/[id]/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/leedab/sessions/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/leedab/team/[id]/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/leedab/team/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/leedab/vault/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/leedab/workflows/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/legal/clause-template/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/manifest/agents/custom/draft/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/manifest/agents/custom/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/manifest/agents/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/marketing/cadence-planner/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/marketing/competitive-snapshot/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/marketplace/catalogue/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/onboarding/engagement-plan/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/onboarding/kickoff-brief/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/openclaw/status/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/ops/dispatch-brief/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/pack/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/people/job-brief/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/preferences/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/procurement/po-brief/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/product/prd-draft/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/research/prospect-intel/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/research/search/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/routing/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/runs/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/sales/pipeline-summary/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/sales/prospect-brief/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/solutions/build/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/solutions/quickstart-regenerate/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/solutions/refine/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/strategy/market-pulse/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/telegram/[customerId]/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/templates/regenerate/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/templates/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/uploads/[id]/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/uploads/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/usage/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/video/video-script/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/webhooks/workflow/[id]/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/workflows/[id]/history/[runId]/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/workflows/[id]/history/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/workflows/[id]/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/workflows/[id]/run/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/api/workflows/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/standalone/.next/static/chunks/app/page-117393cb77865729.js +1 -0
- package/apps/console/.next/static/NMX49PyJUVvU7h4ilJIeH/_buildManifest.js +1 -0
- package/apps/console/.next/static/chunks/app/api/agent/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/static/chunks/app/api/approvals/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/static/chunks/app/api/approvals/stream/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/static/chunks/app/api/automation/workflow-blueprint/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/static/chunks/app/api/backend/endpoint-spec/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/static/chunks/app/api/bootstrap-admin-token/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/static/chunks/app/api/brain/add-folder/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/static/chunks/app/api/brain/forget/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/static/chunks/app/api/brain/pick-folder/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/static/chunks/app/api/brain/scan/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/static/chunks/app/api/brain/search/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/static/chunks/app/api/brain/status/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/static/chunks/app/api/brand/brand-audit/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/static/chunks/app/api/campaigns/campaign-brief/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/static/chunks/app/api/champion/confidence/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/static/chunks/app/api/champion/customer/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/static/chunks/app/api/champion/dispatches/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/static/chunks/app/api/champion/engagement/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/static/chunks/app/api/champion/escalate/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/static/chunks/app/api/champion/profile/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/static/chunks/app/api/champion/screenshare/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/static/chunks/app/api/champion/track-question/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/static/chunks/app/api/champion/use-case-wiki/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/static/chunks/app/api/chat/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/static/chunks/app/api/compliance/risk-register-seed/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/static/chunks/app/api/computer-use/[id]/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/static/chunks/app/api/computer-use/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/static/chunks/app/api/concierge/morning-brief/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/static/chunks/app/api/contacts/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/static/chunks/app/api/content/seo-brief/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/static/chunks/app/api/conversations/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/static/chunks/app/api/coo/roster/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/static/chunks/app/api/coo/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/static/chunks/app/api/cx/escalation-triage/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/static/chunks/app/api/cx/health-score/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/static/chunks/app/api/data/cohort-brief/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/static/chunks/app/api/delegate/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/static/chunks/app/api/delegate/stream/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/static/chunks/app/api/delivery/qbr-brief/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/static/chunks/app/api/delivery/weekly-brief/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/static/chunks/app/api/dev/invalidate-cache/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/static/chunks/app/api/devops/runbook/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/static/chunks/app/api/email/sequence-brief/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/static/chunks/app/api/engineering/adr-draft/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/static/chunks/app/api/finance/runway-snapshot/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/static/chunks/app/api/frontend/component-spec/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/static/chunks/app/api/health/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/static/chunks/app/api/implementation/brief/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/static/chunks/app/api/implementation/scaffold-migration-script/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/static/chunks/app/api/implementation/scaffold-n8n-workflow/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/static/chunks/app/api/implementation/scaffold-skill-override/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/static/chunks/app/api/inbox/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/static/chunks/app/api/inbox/stream/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/static/chunks/app/api/investor/kpi-tracker/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/static/chunks/app/api/leedab/channels/status/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/static/chunks/app/api/leedab/channels/telegram/connect/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/static/chunks/app/api/leedab/channels/whatsapp/connect/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/static/chunks/app/api/leedab/gtm/leads/[id]/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/static/chunks/app/api/leedab/gtm/leads/[id]/status/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/static/chunks/app/api/leedab/gtm/templates/[name]/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/static/chunks/app/api/leedab/license/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/static/chunks/app/api/leedab/models/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/static/chunks/app/api/leedab/providers/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/static/chunks/app/api/leedab/sessions/[id]/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/static/chunks/app/api/leedab/sessions/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/static/chunks/app/api/leedab/team/[id]/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/static/chunks/app/api/leedab/team/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/static/chunks/app/api/leedab/vault/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/static/chunks/app/api/leedab/workflows/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/static/chunks/app/api/legal/clause-template/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/static/chunks/app/api/manifest/agents/custom/draft/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/static/chunks/app/api/manifest/agents/custom/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/static/chunks/app/api/manifest/agents/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/static/chunks/app/api/marketing/cadence-planner/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/static/chunks/app/api/marketing/competitive-snapshot/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/static/chunks/app/api/marketplace/catalogue/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/static/chunks/app/api/onboarding/engagement-plan/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/static/chunks/app/api/onboarding/kickoff-brief/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/static/chunks/app/api/openclaw/status/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/static/chunks/app/api/ops/dispatch-brief/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/static/chunks/app/api/pack/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/static/chunks/app/api/people/job-brief/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/static/chunks/app/api/preferences/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/static/chunks/app/api/procurement/po-brief/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/static/chunks/app/api/product/prd-draft/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/static/chunks/app/api/research/prospect-intel/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/static/chunks/app/api/research/search/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/static/chunks/app/api/routing/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/static/chunks/app/api/runs/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/static/chunks/app/api/sales/pipeline-summary/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/static/chunks/app/api/sales/prospect-brief/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/static/chunks/app/api/solutions/build/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/static/chunks/app/api/solutions/quickstart-regenerate/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/static/chunks/app/api/solutions/refine/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/static/chunks/app/api/strategy/market-pulse/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/static/chunks/app/api/telegram/[customerId]/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/static/chunks/app/api/templates/regenerate/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/static/chunks/app/api/templates/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/static/chunks/app/api/uploads/[id]/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/static/chunks/app/api/uploads/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/static/chunks/app/api/usage/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/static/chunks/app/api/video/video-script/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/static/chunks/app/api/webhooks/workflow/[id]/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/static/chunks/app/api/workflows/[id]/history/[runId]/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/static/chunks/app/api/workflows/[id]/history/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/static/chunks/app/api/workflows/[id]/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/static/chunks/app/api/workflows/[id]/run/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/static/chunks/app/api/workflows/route-2c497fd3a9a57cbd.js +1 -0
- package/apps/console/.next/static/chunks/app/page-117393cb77865729.js +1 -0
- package/clients/default/manifest.json +7 -1
- package/dist/templates/workspace/SOUL.md +12 -0
- package/package.json +1 -1
- package/apps/console/.next/standalone/.next/static/chunks/app/api/backend/endpoint-spec/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/standalone/.next/static/chunks/app/api/bootstrap-admin-token/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/standalone/.next/static/chunks/app/api/brain/add-folder/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/standalone/.next/static/chunks/app/api/brain/forget/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/standalone/.next/static/chunks/app/api/brain/scan/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/standalone/.next/static/chunks/app/api/brain/search/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/standalone/.next/static/chunks/app/api/brain/status/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/standalone/.next/static/chunks/app/api/brand/brand-audit/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/standalone/.next/static/chunks/app/api/campaigns/campaign-brief/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/standalone/.next/static/chunks/app/api/champion/confidence/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/standalone/.next/static/chunks/app/api/champion/customer/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/standalone/.next/static/chunks/app/api/champion/dispatches/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/standalone/.next/static/chunks/app/api/champion/engagement/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/standalone/.next/static/chunks/app/api/champion/escalate/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/standalone/.next/static/chunks/app/api/champion/profile/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/standalone/.next/static/chunks/app/api/champion/screenshare/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/standalone/.next/static/chunks/app/api/champion/track-question/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/standalone/.next/static/chunks/app/api/champion/use-case-wiki/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/standalone/.next/static/chunks/app/api/chat/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/standalone/.next/static/chunks/app/api/compliance/risk-register-seed/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/standalone/.next/static/chunks/app/api/computer-use/[id]/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/standalone/.next/static/chunks/app/api/computer-use/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/standalone/.next/static/chunks/app/api/concierge/morning-brief/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/standalone/.next/static/chunks/app/api/contacts/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/standalone/.next/static/chunks/app/api/content/seo-brief/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/standalone/.next/static/chunks/app/api/conversations/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/standalone/.next/static/chunks/app/api/coo/roster/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/standalone/.next/static/chunks/app/api/coo/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/standalone/.next/static/chunks/app/api/cx/escalation-triage/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/standalone/.next/static/chunks/app/api/cx/health-score/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/standalone/.next/static/chunks/app/api/data/cohort-brief/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/standalone/.next/static/chunks/app/api/delegate/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/standalone/.next/static/chunks/app/api/delegate/stream/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/standalone/.next/static/chunks/app/api/delivery/qbr-brief/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/standalone/.next/static/chunks/app/api/delivery/weekly-brief/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/standalone/.next/static/chunks/app/api/dev/invalidate-cache/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/standalone/.next/static/chunks/app/api/devops/runbook/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/standalone/.next/static/chunks/app/api/email/sequence-brief/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/standalone/.next/static/chunks/app/api/engineering/adr-draft/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/standalone/.next/static/chunks/app/api/finance/runway-snapshot/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/standalone/.next/static/chunks/app/api/frontend/component-spec/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/standalone/.next/static/chunks/app/api/health/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/standalone/.next/static/chunks/app/api/implementation/brief/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/standalone/.next/static/chunks/app/api/implementation/scaffold-migration-script/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/standalone/.next/static/chunks/app/api/implementation/scaffold-n8n-workflow/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/standalone/.next/static/chunks/app/api/implementation/scaffold-skill-override/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/standalone/.next/static/chunks/app/api/inbox/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/standalone/.next/static/chunks/app/api/inbox/stream/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/standalone/.next/static/chunks/app/api/investor/kpi-tracker/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/standalone/.next/static/chunks/app/api/leedab/channels/status/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/standalone/.next/static/chunks/app/api/leedab/channels/telegram/connect/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/standalone/.next/static/chunks/app/api/leedab/channels/whatsapp/connect/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/standalone/.next/static/chunks/app/api/leedab/gtm/leads/[id]/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/standalone/.next/static/chunks/app/api/leedab/gtm/leads/[id]/status/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/standalone/.next/static/chunks/app/api/leedab/gtm/templates/[name]/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/standalone/.next/static/chunks/app/api/leedab/license/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/standalone/.next/static/chunks/app/api/leedab/models/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/standalone/.next/static/chunks/app/api/leedab/providers/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/standalone/.next/static/chunks/app/api/leedab/sessions/[id]/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/standalone/.next/static/chunks/app/api/leedab/sessions/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/standalone/.next/static/chunks/app/api/leedab/team/[id]/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/standalone/.next/static/chunks/app/api/leedab/team/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/standalone/.next/static/chunks/app/api/leedab/vault/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/standalone/.next/static/chunks/app/api/leedab/workflows/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/standalone/.next/static/chunks/app/api/legal/clause-template/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/standalone/.next/static/chunks/app/api/manifest/agents/custom/draft/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/standalone/.next/static/chunks/app/api/manifest/agents/custom/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/standalone/.next/static/chunks/app/api/manifest/agents/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/standalone/.next/static/chunks/app/api/marketing/cadence-planner/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/standalone/.next/static/chunks/app/api/marketing/competitive-snapshot/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/standalone/.next/static/chunks/app/api/marketplace/catalogue/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/standalone/.next/static/chunks/app/api/onboarding/engagement-plan/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/standalone/.next/static/chunks/app/api/onboarding/kickoff-brief/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/standalone/.next/static/chunks/app/api/openclaw/status/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/standalone/.next/static/chunks/app/api/ops/dispatch-brief/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/standalone/.next/static/chunks/app/api/pack/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/standalone/.next/static/chunks/app/api/people/job-brief/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/standalone/.next/static/chunks/app/api/preferences/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/standalone/.next/static/chunks/app/api/procurement/po-brief/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/standalone/.next/static/chunks/app/api/product/prd-draft/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/standalone/.next/static/chunks/app/api/research/prospect-intel/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/standalone/.next/static/chunks/app/api/research/search/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/standalone/.next/static/chunks/app/api/routing/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/standalone/.next/static/chunks/app/api/runs/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/standalone/.next/static/chunks/app/api/sales/pipeline-summary/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/standalone/.next/static/chunks/app/api/sales/prospect-brief/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/standalone/.next/static/chunks/app/api/solutions/build/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/standalone/.next/static/chunks/app/api/solutions/quickstart-regenerate/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/standalone/.next/static/chunks/app/api/solutions/refine/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/standalone/.next/static/chunks/app/api/strategy/market-pulse/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/standalone/.next/static/chunks/app/api/telegram/[customerId]/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/standalone/.next/static/chunks/app/api/templates/regenerate/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/standalone/.next/static/chunks/app/api/templates/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/standalone/.next/static/chunks/app/api/uploads/[id]/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/standalone/.next/static/chunks/app/api/uploads/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/standalone/.next/static/chunks/app/api/usage/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/standalone/.next/static/chunks/app/api/video/video-script/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/standalone/.next/static/chunks/app/api/webhooks/workflow/[id]/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/standalone/.next/static/chunks/app/api/workflows/[id]/history/[runId]/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/standalone/.next/static/chunks/app/api/workflows/[id]/history/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/standalone/.next/static/chunks/app/api/workflows/[id]/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/standalone/.next/static/chunks/app/api/workflows/[id]/run/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/standalone/.next/static/chunks/app/api/workflows/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/standalone/.next/static/chunks/app/page-a85bd367b676799b.js +0 -1
- package/apps/console/.next/standalone/.next/static/pI-RunP5kCTXBDuNkwoV1/_buildManifest.js +0 -1
- package/apps/console/.next/static/chunks/app/api/agent/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/static/chunks/app/api/approvals/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/static/chunks/app/api/approvals/stream/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/static/chunks/app/api/automation/workflow-blueprint/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/static/chunks/app/api/backend/endpoint-spec/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/static/chunks/app/api/bootstrap-admin-token/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/static/chunks/app/api/brain/add-folder/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/static/chunks/app/api/brain/forget/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/static/chunks/app/api/brain/scan/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/static/chunks/app/api/brain/search/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/static/chunks/app/api/brain/status/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/static/chunks/app/api/brand/brand-audit/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/static/chunks/app/api/campaigns/campaign-brief/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/static/chunks/app/api/champion/confidence/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/static/chunks/app/api/champion/customer/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/static/chunks/app/api/champion/dispatches/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/static/chunks/app/api/champion/engagement/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/static/chunks/app/api/champion/escalate/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/static/chunks/app/api/champion/profile/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/static/chunks/app/api/champion/screenshare/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/static/chunks/app/api/champion/track-question/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/static/chunks/app/api/champion/use-case-wiki/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/static/chunks/app/api/chat/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/static/chunks/app/api/compliance/risk-register-seed/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/static/chunks/app/api/computer-use/[id]/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/static/chunks/app/api/computer-use/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/static/chunks/app/api/concierge/morning-brief/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/static/chunks/app/api/contacts/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/static/chunks/app/api/content/seo-brief/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/static/chunks/app/api/conversations/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/static/chunks/app/api/coo/roster/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/static/chunks/app/api/coo/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/static/chunks/app/api/cx/escalation-triage/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/static/chunks/app/api/cx/health-score/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/static/chunks/app/api/data/cohort-brief/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/static/chunks/app/api/delegate/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/static/chunks/app/api/delegate/stream/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/static/chunks/app/api/delivery/qbr-brief/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/static/chunks/app/api/delivery/weekly-brief/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/static/chunks/app/api/dev/invalidate-cache/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/static/chunks/app/api/devops/runbook/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/static/chunks/app/api/email/sequence-brief/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/static/chunks/app/api/engineering/adr-draft/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/static/chunks/app/api/finance/runway-snapshot/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/static/chunks/app/api/frontend/component-spec/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/static/chunks/app/api/health/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/static/chunks/app/api/implementation/brief/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/static/chunks/app/api/implementation/scaffold-migration-script/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/static/chunks/app/api/implementation/scaffold-n8n-workflow/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/static/chunks/app/api/implementation/scaffold-skill-override/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/static/chunks/app/api/inbox/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/static/chunks/app/api/inbox/stream/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/static/chunks/app/api/investor/kpi-tracker/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/static/chunks/app/api/leedab/channels/status/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/static/chunks/app/api/leedab/channels/telegram/connect/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/static/chunks/app/api/leedab/channels/whatsapp/connect/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/static/chunks/app/api/leedab/gtm/leads/[id]/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/static/chunks/app/api/leedab/gtm/leads/[id]/status/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/static/chunks/app/api/leedab/gtm/templates/[name]/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/static/chunks/app/api/leedab/license/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/static/chunks/app/api/leedab/models/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/static/chunks/app/api/leedab/providers/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/static/chunks/app/api/leedab/sessions/[id]/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/static/chunks/app/api/leedab/sessions/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/static/chunks/app/api/leedab/team/[id]/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/static/chunks/app/api/leedab/team/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/static/chunks/app/api/leedab/vault/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/static/chunks/app/api/leedab/workflows/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/static/chunks/app/api/legal/clause-template/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/static/chunks/app/api/manifest/agents/custom/draft/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/static/chunks/app/api/manifest/agents/custom/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/static/chunks/app/api/manifest/agents/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/static/chunks/app/api/marketing/cadence-planner/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/static/chunks/app/api/marketing/competitive-snapshot/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/static/chunks/app/api/marketplace/catalogue/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/static/chunks/app/api/onboarding/engagement-plan/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/static/chunks/app/api/onboarding/kickoff-brief/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/static/chunks/app/api/openclaw/status/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/static/chunks/app/api/ops/dispatch-brief/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/static/chunks/app/api/pack/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/static/chunks/app/api/people/job-brief/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/static/chunks/app/api/preferences/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/static/chunks/app/api/procurement/po-brief/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/static/chunks/app/api/product/prd-draft/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/static/chunks/app/api/research/prospect-intel/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/static/chunks/app/api/research/search/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/static/chunks/app/api/routing/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/static/chunks/app/api/runs/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/static/chunks/app/api/sales/pipeline-summary/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/static/chunks/app/api/sales/prospect-brief/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/static/chunks/app/api/solutions/build/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/static/chunks/app/api/solutions/quickstart-regenerate/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/static/chunks/app/api/solutions/refine/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/static/chunks/app/api/strategy/market-pulse/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/static/chunks/app/api/telegram/[customerId]/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/static/chunks/app/api/templates/regenerate/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/static/chunks/app/api/templates/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/static/chunks/app/api/uploads/[id]/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/static/chunks/app/api/uploads/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/static/chunks/app/api/usage/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/static/chunks/app/api/video/video-script/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/static/chunks/app/api/webhooks/workflow/[id]/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/static/chunks/app/api/workflows/[id]/history/[runId]/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/static/chunks/app/api/workflows/[id]/history/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/static/chunks/app/api/workflows/[id]/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/static/chunks/app/api/workflows/[id]/run/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/static/chunks/app/api/workflows/route-e7d105b160fdcdb6.js +0 -1
- package/apps/console/.next/static/chunks/app/page-a85bd367b676799b.js +0 -1
- package/apps/console/.next/static/pI-RunP5kCTXBDuNkwoV1/_buildManifest.js +0 -1
- /package/apps/console/.next/standalone/.next/static/{pI-RunP5kCTXBDuNkwoV1 → NMX49PyJUVvU7h4ilJIeH}/_ssgManifest.js +0 -0
- /package/apps/console/.next/static/{pI-RunP5kCTXBDuNkwoV1 → NMX49PyJUVvU7h4ilJIeH}/_ssgManifest.js +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8974],{5086:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>tR});var a=n(5155),i=n(2115),r=n(856);let l={coo:{id:"coo",name:"COO",tagline:"Org coordination, daily briefs",description:"Cross-team coordination, priority calls, daily ops briefs, delegation recommendations.",defaultModel:"claude-opus-4-7",availableModels:["claude-opus-4-7","claude-sonnet-4-6"],accent:"#10b981",team:"executive",contextFiles:["context/product-brief.md","context/metrics.md","context/roadmap.md","context/skills/ops-skills.md","context/skills/dashboard-ops.md"],agentFile:"agents/coo-agent.md",code:"COO",section:"\xa7 00",status:"active",tasks:["Drafted weekly ops brief","Flagged 2 cross-team blockers"]},marketing:{id:"marketing",name:"Marketing",tagline:"Team lead, brand, ICP, strategy",description:"Marketing team lead. Brand voice, ICP definition, marketing strategy, and cross-channel oversight.",defaultModel:"claude-sonnet-4-6",availableModels:["claude-sonnet-4-6","claude-opus-4-7","claude-haiku-4-5"],accent:"#f59e0b",team:"marketing",contextFiles:["context/product-brief.md","context/brand-guide.md","context/customer-personas.md","context/competitor-landscape.md","context/skills/marketing-skills.md","context/skills/content-skills.md"],agentFile:"agents/marketing-agent.md",code:"MKT",section:"\xa7 10",status:"active",tasks:["Drafted 3 email sequences","Updated ICP scoring"]},content:{id:"content",name:"Content",tagline:"Copywriting, SEO, social, newsletters",description:"Conversion copywriting, SEO blog posts, social media content, newsletters, and case studies.",defaultModel:"claude-sonnet-4-6",availableModels:["claude-sonnet-4-6","claude-opus-4-7","claude-haiku-4-5"],accent:"#f59e0b",team:"marketing",contextFiles:["context/product-brief.md","context/brand-guide.md","context/customer-personas.md","context/skills/content-skills.md"],agentFile:"agents/content-agent.md",code:"CNT",section:"\xa7 11",status:"active",tasks:["Published 2 SEO blog posts","Drafted newsletter #8"]},video:{id:"video",name:"Video",tagline:"AI video, scripts, programmatic production",description:"Video production using AI tools: Hyperframes, HeyGen, Veo, Runway. Scripts, storyboards, and demo walkthroughs.",defaultModel:"claude-sonnet-4-6",availableModels:["claude-sonnet-4-6","claude-opus-4-7"],accent:"#f59e0b",team:"marketing",contextFiles:["context/product-brief.md","context/brand-guide.md","context/customer-personas.md","context/skills/video-skills.md"],agentFile:"agents/video-agent.md",code:"VDO",section:"\xa7 12",status:"idle",tasks:["Scripted demo walkthrough","LinkedIn video brief"]},campaigns:{id:"campaigns",name:"Campaigns",tagline:"Paid ads, A/B tests, growth experiments",description:"Paid acquisition on Google/Meta/LinkedIn, A/B test programs, UTM taxonomy, CAC/LTV analysis, ad copy variants.",defaultModel:"claude-sonnet-4-6",availableModels:["claude-sonnet-4-6","claude-opus-4-7"],accent:"#f59e0b",team:"marketing",contextFiles:["context/product-brief.md","context/customer-personas.md","context/competitor-landscape.md","context/metrics.md","context/skills/campaigns-skills.md"],agentFile:"agents/campaigns-agent.md",code:"CMP",section:"\xa7 13",status:"active",tasks:["Launched Google Search test","A/B test plan for headlines"]},email:{id:"email",name:"Email",tagline:"Sequences, cold outreach, nurture flows",description:"Email sequences, cold outreach campaigns, lifecycle drips, and re-engagement flows.",defaultModel:"claude-sonnet-4-6",availableModels:["claude-sonnet-4-6","claude-opus-4-7","claude-haiku-4-5"],accent:"#f59e0b",team:"marketing",contextFiles:["context/product-brief.md","context/brand-guide.md","context/customer-personas.md","context/skills/email-skills.md"],agentFile:"agents/email-agent.md",code:"EML",section:"\xa7 14",status:"active",tasks:["Wrote 5-email welcome sequence","Cold outreach drafted for 3 segments"]},product:{id:"product",name:"Product",tagline:"Specs, PRDs, release notes",description:"Turns fuzzy ideas into implementable specs. Feature docs, user stories, release notes.",defaultModel:"claude-sonnet-4-6",availableModels:["claude-sonnet-4-6","claude-opus-4-7"],accent:"#fbbf24",team:"product",contextFiles:["context/product-brief.md","context/roadmap.md","context/skills/product-skills.md"],agentFile:"agents/product-agent.md",code:"PRD",section:"\xa7 30",status:"active",tasks:["Summarised 47 user tickets","Updated roadmap priorities"]},engineering:{id:"engineering",name:"Engineering",tagline:"Tech lead, architecture, code review",description:"Engineering team lead. Architecture decisions, code review, technical documentation, ADRs.",defaultModel:"claude-opus-4-7",availableModels:["claude-opus-4-7","claude-sonnet-4-6","claude-opus-4-6"],accent:"#d97706",team:"engineering",contextFiles:["context/product-brief.md"],agentFile:"agents/engineering-agent.md",code:"ENG",section:"\xa7 40",status:"active",tasks:["Reviewed 4 PRs","Provider abstraction ADR"]},frontend:{id:"frontend",name:"Frontend",tagline:"React, UI, design implementation",description:"React/Next.js/Tailwind specialist. Component specs, UI implementation, accessibility, performance.",defaultModel:"claude-sonnet-4-6",availableModels:["claude-sonnet-4-6","claude-opus-4-7"],accent:"#d97706",team:"engineering",contextFiles:["context/product-brief.md"],agentFile:"agents/frontend-agent.md",code:"FE",section:"\xa7 41",status:"active",tasks:["Shipped agent belt redesign","Accessibility audit pass"]},backend:{id:"backend",name:"Backend",tagline:"APIs, databases, server architecture",description:"Node.js/TypeScript specialist. API design, database schemas, server architecture, security.",defaultModel:"claude-opus-4-7",availableModels:["claude-opus-4-7","claude-sonnet-4-6"],accent:"#d97706",team:"engineering",contextFiles:["context/product-brief.md"],agentFile:"agents/backend-agent.md",code:"BE",section:"\xa7 42",status:"idle",tasks:["Built SSE streaming endpoint","Added Zod validation layer"]},devops:{id:"devops",name:"DevOps",tagline:"CI/CD, infra, monitoring, runbooks",description:"GitHub Actions, Docker, deployment pipelines, uptime monitoring, incident runbooks.",defaultModel:"claude-sonnet-4-6",availableModels:["claude-sonnet-4-6","claude-opus-4-7"],accent:"#d97706",team:"engineering",contextFiles:["context/product-brief.md"],agentFile:"agents/devops-agent.md",code:"DVP",section:"\xa7 43",status:"idle",tasks:["Set up CI pipeline","Deploy runbook written"]},strategy:{id:"strategy",name:"Strategy",tagline:"GTM, competitive, pricing",description:"GTM plans, competitive analysis, pricing strategy, roadmap prioritization, OKRs.",defaultModel:"claude-opus-4-7",availableModels:["claude-opus-4-7","claude-sonnet-4-6"],accent:"#f59e0b",team:"strategy",contextFiles:["context/product-brief.md","context/competitor-landscape.md","context/customer-personas.md","context/metrics.md","context/roadmap.md","context/skills/strategy-investor-skills.md"],agentFile:"agents/strategy-agent.md",code:"STR",section:"\xa7 50",status:"active",tasks:["Scanned 12 competitor updates","TAM model draft"]},sales:{id:"sales",name:"Sales",tagline:"Deals, proposals, outreach, pipeline",description:"Deal-stage work: proposal decks, outreach sequences, demo scripts, objection handling, CRM notes.",defaultModel:"claude-sonnet-4-6",availableModels:["claude-sonnet-4-6","claude-opus-4-7"],accent:"#10b981",team:"sales",contextFiles:["context/product-brief.md","context/customer-personas.md","context/competitor-landscape.md","context/skills/sales-skills.md"],agentFile:"agents/sales-agent.md",code:"SLS",section:"\xa7 20",status:"active",tasks:["3 outreach sequences ready","Demo script v2 done"]},finance:{id:"finance",name:"Finance",tagline:"Runway, burn, scenario planning",description:"Internal financial ops: runway models, burn analysis, scenario planning, budget vs actuals.",defaultModel:"claude-opus-4-7",availableModels:["claude-opus-4-7","claude-sonnet-4-6"],accent:"#10b981",team:"finance",contextFiles:["context/product-brief.md","context/metrics.md","context/skills/finance-skills.md"],agentFile:"agents/finance-agent.md",code:"CFN",section:"\xa7 70",status:"active",tasks:["Runway model updated","Q2 budget vs actuals"]},cx:{id:"cx",name:"Customer Success",tagline:"Onboarding, health scores, churn",description:"Customer health scoring, onboarding playbooks, churn risk memos, QBR decks, escalation templates.",defaultModel:"claude-sonnet-4-6",availableModels:["claude-sonnet-4-6","claude-opus-4-7"],accent:"#10b981",team:"cx",contextFiles:["context/product-brief.md","context/customer-personas.md","context/metrics.md","context/skills/cx-skills.md"],agentFile:"agents/cx-agent.md",code:"CXS",section:"\xa7 80",status:"active",tasks:["Onboarding playbook v1","Health score framework"]},investor:{id:"investor",name:"Investor",tagline:"Deck, updates, fundraising",description:"Pitch decks, investor updates, financial models, due diligence prep.",defaultModel:"claude-opus-4-7",availableModels:["claude-opus-4-7","claude-sonnet-4-6"],accent:"#fde68a",team:"investor",contextFiles:["context/product-brief.md","context/metrics.md","context/competitor-landscape.md","context/customer-personas.md","context/skills/strategy-investor-skills.md"],agentFile:"agents/investor-agent.md",code:"INV",section:"\xa7 71",status:"active",tasks:["Board memo draft ready","KPI tracker updated"]},legal:{id:"legal",name:"Legal",tagline:"Contracts, privacy, compliance",description:"Customer contracts, privacy policy, data handling compliance, term sheets, due diligence.",defaultModel:"claude-opus-4-7",availableModels:["claude-opus-4-7","claude-sonnet-4-6"],accent:"#6366f1",team:"legal",contextFiles:["context/product-brief.md"],agentFile:"agents/legal-agent.md",code:"LGL",section:"\xa7 90",status:"idle",tasks:["Reviewed customer MSA","Privacy policy gap analysis"]},automation:{id:"automation",name:"Automation",tagline:"Build & manage n8n workflows",description:"Build, deploy, and manage n8n workflows from natural language. Connect any app, trigger any automation, inspect execution history.",defaultModel:"claude-opus-4-7",availableModels:["claude-opus-4-7","claude-sonnet-4-6"],accent:"#f97316",team:"automation",contextFiles:["context/product-brief.md","context/skills/n8n-skills.md","context/skills/dashboard-ops.md"],agentFile:"agents/automation-agent.md",code:"N8N",section:"\xa7 45",status:"active",tasks:["Built 3 n8n workflows","Lead capture → Sheets live"]},data:{id:"data",name:"Data",tagline:"Metrics, cohorts, retention",description:"Product analytics, cohort analysis, funnel metrics, retention modeling, growth instrumentation.",defaultModel:"claude-opus-4-7",availableModels:["claude-opus-4-7","claude-sonnet-4-6"],accent:"#06b6d4",team:"data",contextFiles:["context/product-brief.md","context/metrics.md"],agentFile:"agents/data-agent.md",code:"DAT",section:"\xa7 72",status:"active",tasks:["D7/D30 retention model","Funnel drop-off analysis"]},ops:{id:"ops",name:"Operations",tagline:"Hiring, internal, partnerships",description:"Hiring posts, internal processes, support templates, partner outreach.",defaultModel:"claude-sonnet-4-6",availableModels:["claude-sonnet-4-6","claude-opus-4-7","claude-haiku-4-5"],accent:"#fbbf24",team:"ops",contextFiles:["context/product-brief.md","context/brand-guide.md","context/skills/ops-skills.md"],agentFile:"agents/ops-agent.md",code:"OPS",section:"\xa7 60",status:"active",tasks:["Drafted 2 job posts","Payroll files sent"]},concierge:{id:"concierge",name:"Concierge",tagline:"Calendar, travel, life logistics",description:"Founder-only personal assistant. Calendar defence, travel, expenses, meeting prep.",defaultModel:"claude-sonnet-4-6",availableModels:["claude-sonnet-4-6","claude-opus-4-7","claude-haiku-4-5"],accent:"#10b981",team:"executive",contextFiles:["context/skills/concierge-skills.md"],agentFile:"agents/concierge-agent.md",code:"CON",section:"\xa7 01",status:"active",tasks:["Daily brief sent 07:00","Booked Sydney→Melbourne flights"]},brand:{id:"brand",name:"Brand",tagline:"Visual identity, decks, guardrails",description:"Brand consistency, deck design, visual identity, asset briefs, brand audits.",defaultModel:"claude-sonnet-4-6",availableModels:["claude-sonnet-4-6","claude-opus-4-7","claude-haiku-4-5"],accent:"#f59e0b",team:"marketing",contextFiles:["context/brand-guide.md","context/skills/brand-skills.md","context/skills/marketing-skills.md"],agentFile:"agents/brand-agent.md",code:"BR",section:"\xa7 15",status:"active",tasks:["Audited investor deck v3","Drafted social card spec"]},research:{id:"research",name:"Research",tagline:"Cited findings, prospect briefs, intel",description:"Competitive intel, market sizing, prospect briefs, vendor evaluation. Cite or shut up.",defaultModel:"claude-opus-4-7",availableModels:["claude-opus-4-7","claude-sonnet-4-6"],accent:"#4a7c8a",team:"strategy",contextFiles:["context/product-brief.md","context/competitor-landscape.md","context/skills/research-skills.md"],agentFile:"agents/research-agent.md",code:"RES",section:"\xa7 51",status:"active",tasks:["Prospect brief: Acme Logistics","Vendor eval: EU payroll tools"]},people:{id:"people",name:"People",tagline:"Hiring, onboarding, leave, performance",description:"HR for SMBs. Job descriptions, onboarding plans, performance reviews, employee comms.",defaultModel:"claude-sonnet-4-6",availableModels:["claude-sonnet-4-6","claude-opus-4-7","claude-haiku-4-5"],accent:"#8a5e7a",team:"people",contextFiles:["context/product-brief.md","context/brand-guide.md","context/skills/people-skills.md"],agentFile:"agents/people-agent.md",code:"PPL",section:"\xa7 55",status:"active",tasks:["Drafted senior BE engineer JD","Q2 review template ready"]},procurement:{id:"procurement",name:"Procurement",tagline:"Suppliers, POs, freight, disputes",description:"Purchase orders, supplier scoring, freight rate sourcing, deduction disputes.",defaultModel:"claude-sonnet-4-6",availableModels:["claude-sonnet-4-6","claude-opus-4-7","claude-haiku-4-5"],accent:"#7a6248",team:"ops",contextFiles:["context/product-brief.md","context/skills/procurement-skills.md","context/skills/finance-skills.md"],agentFile:"agents/procurement-agent.md",code:"PRC",section:"\xa7 61",status:"active",tasks:["Negotiated SYD→MEL rate","Coles deduction dispute drafted"]},compliance:{id:"compliance",name:"Compliance",tagline:"SOC 2, ISO, insurance, risk register",description:"Compliance frameworks, audit prep, insurance tracking, vendor due diligence, risk register.",defaultModel:"claude-sonnet-4-6",availableModels:["claude-sonnet-4-6","claude-opus-4-7"],accent:"#5a6b80",team:"legal",contextFiles:["context/product-brief.md","context/skills/compliance-skills.md"],agentFile:"agents/compliance-agent.md",code:"RSK",section:"\xa7 91",status:"active",tasks:["SOC 2 gap analysis v1","Risk register Q2 review"]},delivery:{id:"delivery",name:"Delivery",tagline:"Lifecycle ownership, 30/60/90, escalations",description:"Head of Delivery. Owns paying-client engagements signature → first 90 days. Delegates to Solutions, Onboarding, Implementation. Surfaces what needs founders.",defaultModel:"claude-opus-4-7",availableModels:["claude-opus-4-7","claude-sonnet-4-6"],accent:"#9b6e2a",team:"lifecycle",contextFiles:["context/product-brief.md","context/metrics.md","context/skills/cx-skills.md"],agentFile:"agents/delivery-agent.md",code:"DEL",section:"\xa7 95",status:"active",tasks:["30/60/90 plan drafted for new pilot","Weekly delivery brief sent to founders"]},solutions:{id:"solutions",name:"Solutions",tagline:"Pre-sale prospect demos, /build trigger",description:"Pre-sale prospect demos. Mina sends `/build <slug>` from Telegram → drafts manifest preview → on `go`, commits to private prospect repo with shareable demo URL.",defaultModel:"claude-sonnet-4-6",availableModels:["claude-sonnet-4-6","claude-opus-4-7"],accent:"#9b6e2a",team:"lifecycle",contextFiles:["context/product-brief.md","context/customer-personas.md","context/skills/sales-skills.md"],agentFile:"agents/solutions-agent.md",code:"SOL",section:"\xa7 96",status:"active",tasks:["Built 3 prospect demos via /build","Logistics use-case wiki updated"]},onboarding:{id:"onboarding",name:"Onboarding",tagline:"Day 0–90 lifecycle, kickoff briefs, milestones",description:"Owns the first 30–90 days of a paying client's life. Goal: 'replaced a real task' by Day 7, 'I'd be sad to lose this' by Day 30. Reports to Delivery.",defaultModel:"claude-sonnet-4-6",availableModels:["claude-sonnet-4-6","claude-opus-4-7","claude-haiku-4-5"],accent:"#9b6e2a",team:"lifecycle",contextFiles:["context/product-brief.md","context/skills/cx-skills.md"],agentFile:"agents/onboarding-agent.md",code:"ONB",section:"\xa7 97",status:"active",tasks:["Day 7 check-in scheduled","Kickoff brief drafted for new client"]},implementation:{id:"implementation",name:"Implementation",tagline:"Custom integrations, data migrations, technical bring-up",description:"Technical bring-up beyond the standard install. Custom integrations, data migrations, bespoke workflows. Writes a one-page implementation brief before code.",defaultModel:"claude-sonnet-4-6",availableModels:["claude-sonnet-4-6","claude-opus-4-7"],accent:"#9b6e2a",team:"lifecycle",contextFiles:["context/product-brief.md","context/skills/devops-skills.md"],agentFile:"agents/implementation-agent.md",code:"IMP",section:"\xa7 98",status:"active",tasks:["Custom Cario TMS integration spec drafted","Xero pull integration scoped"]},champion:{id:"champion",name:"Champion",tagline:"Customer-side enablement coach, 1:1 with the Champion",description:"Customer-side enablement. Serves the customer's designated Champion 1:1 — Telegram-first, always-on. Goal: Champion self-sufficiency. Escalates to Implementation/Onboarding, never directly to founders.",defaultModel:"claude-sonnet-4-6",availableModels:["claude-sonnet-4-6","claude-opus-4-7"],accent:"#9b6e2a",team:"lifecycle",contextFiles:["context/product-brief.md","context/skills/cx-skills.md"],agentFile:"agents/champion-agent.md",code:"CHM",section:"\xa7 99",status:"active",tasks:["Day 30 milestone walkthrough delivered","Workflow-of-the-week DM sent"]}},o=["coo","concierge","procurement","cx","finance","sales","people"],s=[{label:"EXECUTIVE",color:"#c95c0a",ids:["coo","concierge"]},{label:"SUPPLY",color:"#7a6248",ids:["procurement"]},{label:"SUPPORT",color:"#8a4a3a",ids:["cx"]},{label:"MONEY",color:"#7a8e5a",ids:["finance"]},{label:"SALES",color:"#b8633a",ids:["sales"]},{label:"PEOPLE",color:"#8a5e7a",ids:["people"]}],d="leedab_admin_token",c="x-leedab-admin-token";class p extends Error{constructor(){super("admin token not present in sessionStorage"),this.name="AdminTokenMissingError"}}function u(){try{return window.sessionStorage.getItem(d)}catch(e){return null}}function h(e){let t=e.trim();if(t)try{window.sessionStorage.setItem(d,t)}catch(e){}}function g(){try{window.sessionStorage.removeItem(d)}catch(e){}}function m(){return null!==u()}async function f(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=u();if(!n)throw new p;let a=new Headers(t.headers);return a.set(c,n),fetch(e,{...t,headers:a})}async function x(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=u();if(!n)return null;let a=new Headers(t.headers);return a.set(c,n),fetch(e,{...t,headers:a})}async function y(e){if(401!==e.status&&503!==e.status)return!1;try{let t=await e.clone().json();return"admin_required"===t.error||"admin_not_configured"===t.error}catch(e){return!1}}let v=(0,i.createContext)({pack:null,loading:!0,refresh:async()=>{}});function b(e){let{children:t}=e,[n,r]=(0,i.useState)(null),[l,o]=(0,i.useState)(!0),s=(0,i.useCallback)(async()=>{try{let e=window.location.search,t=await fetch("/api/pack".concat(e));if(!t.ok)throw Error("pack ".concat(t.status));let n=await t.json();r(n)}catch(e){r(null)}finally{o(!1)}},[]);return(0,i.useEffect)(()=>{let e=!1;return(async()=>{let t=new AbortController,n=setTimeout(()=>t.abort(),3e3);try{await x("/api/leedab/license",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"revalidate"}),signal:t.signal})}catch(e){}finally{clearTimeout(n)}e||await s()})(),()=>{e=!0}},[s]),(0,a.jsx)(v.Provider,{value:{pack:n,loading:l,refresh:s},children:t})}function j(){return(0,i.useContext)(v)}let k="var(--paper)",S="var(--paper-2)",w="var(--paper-3)",T="var(--hair)",F="var(--hair-2)",C="#B8540B",R="#B8540B33",E="var(--f-mono)",z="var(--f-body)",B="var(--f-display)",M="var(--f-serif)",I=Object.fromEntries(Object.entries(l).map(e=>{let[t,n]=e;return[t,n.code]})),A=Object.fromEntries(Object.entries(l).map(e=>{let[t,n]=e;return[t,n.section]})),D=Object.fromEntries(Object.entries(l).map(e=>{let[t,n]=e;return[t,n.status]})),W=Object.fromEntries(Object.entries(l).map(e=>{let[t,n]=e;return[t,n.tasks]})),O={coo:["Draft today's ops brief — what's moving, what's blocked, what needs founder input.","We're launching a new campaign next week. Build a cross-team plan for Marketing, Product, and Engineering.","Which team is most bottlenecked right now and what should we do about it?"],marketing:["Write a LinkedIn post about why local-first AI beats cloud for SMBs.","Draft 3 subject line variants for a cold outreach email to logistics companies.","Write a one-paragraph product description for our website hero section."],content:["Write a 1000-word SEO post targeting 'how to automate payroll deductions without APIs'.","Draft newsletter #8 — main story: our new computer-use workflow. Two short items.","Write a case study for a 12-truck logistics fleet that cut payroll time by 80%."],video:["Write a 90-second LinkedIn video script: the problem with manual ops reconciliation.","Storyboard a 4-minute YouTube demo: LeedAB automating a driver hours workflow.","Write a talking-head outline for the founder: 'why we built LeedAB locally-first'."],campaigns:["Design a Google Search campaign targeting SMB ops managers. ICP, ad groups, copy variants.","Write an A/B test plan for our LinkedIn headline: pain-first vs outcome-first.","Build a UTM taxonomy for Q2. Channels: Google, LinkedIn, newsletter, referral."],email:["Write a 5-email welcome sequence for a new SMB customer who just signed up to LeedAB.","Write a cold outreach sequence targeting ops managers at 10-50 person logistics companies.","Build a re-engagement sequence for customers who haven't logged in for 30 days."],automation:["Build me a workflow: when a new lead fills out our contact form, add them to Google Sheets and send a Slack notification.","Create a daily 9am workflow that fetches our top metrics and sends a summary email.","List all my active n8n workflows and show me which ones have run in the last 24 hours."],product:["Draft a feature spec for voice message tasks via WhatsApp.","Write user stories for the onboarding flow for a new SMB customer.","Create acceptance criteria for computer-use task execution."],engineering:["Write an ADR for the provider abstraction layer (Anthropic / OpenAI / local).","Review the streaming architecture and suggest reliability improvements.","Design the data model for multi-tenant task queues."],frontend:["Write a component spec for the AgentCard — props, variants, hover/selected states.","Review our current Tailwind setup and flag performance or accessibility issues.","Design the empty state for a new agent with no messages yet."],backend:["Design the API for multi-agent broadcast: one prompt → all 18 agents in parallel.","Write a Zod schema for the /api/chat request body with full validation.","ADR: when should we migrate from SQLite to Postgres? What's the trigger?"],devops:["Write a GitHub Actions CI pipeline: typecheck → lint → test → build → deploy.","Write a runbook for: deploy failed on Railway, dashboard is down, it's 2am.","Design the Docker build for the Next.js dashboard — multi-stage, minimal image."],strategy:["Build a one-page competitive battlecard: LeedAB vs Zapier.","What's our ideal ICP and why? Give me a crisp two-paragraph answer.","Suggest three pricing tiers with rationale for each."],sales:["Write a 3-email cold outreach sequence for ops managers at 10–50 person logistics SMBs.","Write a demo script: one workflow, 6 minutes, maximum impact.","Build an objection handling guide for 'we already use Zapier'."],finance:["Build a runway model: $180k cash, $22k monthly burn. Three scenarios.","Calculate CAC and LTV: $8k/month spend, 4 new customers, $400 ACV, 24-month lifetime.","Write a budget vs actuals template for a 6-category monthly review."],"customer success":["Write an onboarding playbook for a new SMB customer — Day 1, Week 1, Month 1.","Design a customer health score framework for our ICP (5–50 person logistics SMB).","Write a QBR deck template for a quarterly review with a mid-tier customer."],investor:["Draft the April investor update. Wins: 30 customers. Ask: senior Node engineer hire.","Write a two-sentence answer to 'What makes LeedAB defensible?'","Summarise our traction story for a seed-stage VC intro email."],operations:["Write a job post for a senior Node.js engineer, AU remote, $160-200k + equity.","Draft a partnership outreach email to a WhatsApp Business API reseller.","Write an internal onboarding doc for a new founding team member."],legal:["Review our standard customer MSA — flag any clauses that expose us given our local-first data model.","Draft a privacy policy for a local-first AI agent that stores all data on the customer's machine.","What should we have in order before a seed raise? Give me a legal due diligence checklist."],data:["Design a retention dashboard for a local-first SMB tool. What D1/D7/D30 metrics matter most?","We have 30 customers. Build a cohort analysis framework to identify which segments stick longest.","Map our full activation funnel from install → first workflow live. What are the drop-off points?"],concierge:["Send my morning brief — schedule, top priority, one decision to make today.","I'm flying Sydney → Melbourne next Tuesday for a 2pm meeting. Build the trip itinerary.","Categorise my last 30 days of expenses and flag anything unusual."],brand:["Audit slide 4 of our investor deck — three things to fix, one to keep.","Write an asset brief for a launch banner: 1200\xd7630, ICP = logistics SMB, tone confident-direct.","Review our marketing site visuals and flag anything off-brand."],delivery:["Draft a 30/60/90 engagement plan for a new logistics customer signed yesterday.","Build this week's delivery brief — what's moving, what's at risk, what needs founders.","Score our active customers on health (red/amber/green) and propose one action per amber/red."],solutions:["/build north-shore-freight, NSW logistics co, 200 dispatches/day, similar to Tarheel","/build hudson-fab, fabless designer, advanced packaging allocation pain","Show me the last three prospects you built and which ones converted."],onboarding:["Draft the Day 0 kickoff brief for a new logistics client — three week-1 wins, calendar invite.","Run the Day 30 check-in template against this client's recent activity and flag anything drifting.","Write a one-paragraph 'first task replaced' celebration message for a Day 7 milestone."],implementation:["Write a one-page implementation brief for pulling Cario TMS dispatches into the ops workflow.","Scope a Xero direct-read integration for the finance agent — risks, effort, in/out of scope.","Three customers want the same MYOB sync — frame this as a reusable integration, not a one-off."],champion:["The Champion at Tarheel hasn't messaged in 8 days — draft a check-in DM.","Walk a Champion through adding their first n8n workflow without doing it for them.","The Champion is asking the same routing question for the third time — surface a pattern + adjust pacing."],research:["Build a prospect brief on Acme Logistics — recent moves, tech stack signals, decision-makers.","Compare 3 competitor agentic ops platforms across deployment, voice channels, computer-use, pricing.","Size the AU SMB logistics ops automation market — TAM/SAM/SOM with sources."],people:["Write a job description for a senior backend engineer, Sydney remote, $160-200k + 0.25-0.75% equity.","Build an onboarding plan for a new ops hire starting Monday — day 1, week 1, month 1.","Draft a Q2 performance review template — quarterly cadence, 15-min written + 15-min call."],procurement:["Compare these 3 freight quotes for SYD→MEL 32 pallets and recommend one.","Build a supplier scorecard for our top carrier this quarter — on-time, defects, response time, pricing.","Coles deducted $2,400 against PO 8821. Draft the dispute response with evidence."],compliance:["Run a SOC 2 Type 1 gap analysis for us — top 5 gaps blocking certification today.","Build a risk register starter — 8-10 likely operational risks for a 12-person SaaS.","Draft an Acceptable Use Policy in plain English — one page, examples on every rule."]};function L(e){let{toasts:t,onDismiss:n}=e;return 0===t.length?null:(0,a.jsx)("div",{style:{position:"fixed",bottom:24,right:24,zIndex:2e3,display:"flex",flexDirection:"column",gap:8},children:t.map(e=>{let t="error"===e.type?{bg:"#fef2f2",border:"#fca5a5",icon:"⚠",fg:"#1a1713"}:"success"===e.type?{bg:"#f0fdf4",border:"#86efac",icon:"✓",fg:"#1a1713"}:{bg:"var(--paper-2)",border:"var(--hair)",icon:"ⓘ",fg:"var(--ink)"};return(0,a.jsxs)("div",{className:"animate-fade-up",style:{display:"flex",alignItems:"center",gap:10,padding:"10px 14px",borderRadius:4,background:t.bg,border:"1px solid ".concat(t.border),boxShadow:"0 4px 16px rgba(26,23,19,0.1)",fontFamily:z,fontSize:13,color:t.fg,maxWidth:420},children:[(0,a.jsx)("span",{style:{fontSize:14,flexShrink:0},children:t.icon}),(0,a.jsx)("span",{style:{flex:1},children:e.message}),e.action&&(0,a.jsx)("button",{onClick:()=>{e.action.onClick(),n(e.id)},style:{background:"none",border:"none",cursor:"pointer",color:C,fontFamily:E,fontSize:10,letterSpacing:"0.1em",textTransform:"uppercase",padding:"2px 6px",flexShrink:0},children:e.action.label}),(0,a.jsx)("button",{onClick:()=>n(e.id),style:{background:"none",border:"none",cursor:"pointer",color:"var(--ink-5)",fontSize:16,lineHeight:1,padding:0,flexShrink:0},children:"\xd7"})]},e.id)})})}function N(e){let{onClose:t}=e;return(0,a.jsx)("div",{onClick:t,style:{position:"fixed",inset:0,background:"rgba(0,0,0,0.7)",zIndex:1100,display:"flex",alignItems:"center",justifyContent:"center",WebkitBackdropFilter:"blur(4px)",backdropFilter:"blur(4px)"},children:(0,a.jsxs)("div",{onClick:e=>e.stopPropagation(),className:"animate-palette-drop",style:{width:520,maxHeight:"80vh",background:"var(--paper-3)",border:"1px solid ".concat(T),borderRadius:6,overflow:"hidden",display:"flex",flexDirection:"column",boxShadow:"0 24px 80px rgba(0,0,0,0.6)"},children:[(0,a.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"14px 18px",borderBottom:"1px solid ".concat(T)},children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("div",{style:{fontFamily:E,fontSize:9,color:C,letterSpacing:"0.16em"},children:"SHORTCUTS"}),(0,a.jsx)("div",{style:{fontFamily:B,fontSize:22,fontWeight:500,color:"var(--ink)",letterSpacing:"-0.01em"},children:"Keyboard reference."})]}),(0,a.jsx)("button",{onClick:t,style:{background:"none",border:"none",color:"var(--ink-5)",cursor:"pointer",fontSize:20,lineHeight:1},children:"\xd7"})]}),(0,a.jsx)("div",{style:{overflowY:"auto",padding:"16px 18px"},children:[{title:"Navigation",rows:[{keys:["⌘","L"],label:"Open command palette / search"},{keys:["?"],label:"Show this keyboard shortcuts panel"},{keys:["Esc"],label:"Close any open overlay / drawer"}]},{title:"Chat",rows:[{keys:["/"],label:"Focus the message input"},{keys:["b"],label:"Toggle broadcast mode"},{keys:["Enter"],label:"Send the message"},{keys:["Shift","Enter"],label:"New line in the message"}]},{title:"Files",rows:[{keys:["Drop"],label:"Drop files anywhere on the input to attach"},{keys:["⌘","V"],label:"Paste an image to attach inline"}]}].map(e=>(0,a.jsxs)("div",{style:{marginBottom:18},children:[(0,a.jsx)("div",{style:{fontFamily:E,fontSize:9,color:"var(--ink-5)",letterSpacing:"0.14em",marginBottom:8},children:e.title.toUpperCase()}),e.rows.map((t,n)=>(0,a.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:12,padding:"6px 0",borderBottom:n===e.rows.length-1?"none":"1px solid ".concat(F)},children:[(0,a.jsx)("div",{style:{display:"flex",gap:4},children:t.keys.map((e,t)=>(0,a.jsx)("kbd",{style:{fontFamily:E,fontSize:10,padding:"2px 6px",background:"var(--paper-2)",border:"1px solid ".concat(T),borderRadius:3,color:"var(--ink-2)",minWidth:18,textAlign:"center"},children:e},t))}),(0,a.jsx)("div",{style:{fontSize:13,color:"var(--ink-3)"},children:t.label})]},n))]},e.title))})]})})}function P(e){let t,n=new Set,a=[],i=new Set(["I","We","You","They","It","He","She","Our","My","The","A","An","Just","Yes","No","OK","Hi","Hey","Hello","Draft","Write","Send","Email","Schedule","Create","Build","List","Show","Tell","Make","Find","Plan","Get","Series","Mac","API","URL","ID","PR","QBR","AI","Day","Week","Month"]),r=/\b[A-Z][a-z]+(?:[.\-][A-Z][a-z]+)*(?:\s[A-Z][a-z]+){0,2}\b/g;for(;null!==(t=r.exec(e));){let e=t[0];n.has(e)||!e.includes(" ")&&i.has(e)||(n.add(e),a.push({id:"cand-".concat(a.length),literal:e,suggestedName:H(e),suggestedLabel:e.length<=30?"".concat(e.split(" ")[0]," (override)"):"Subject",type:"text",accepted:!0}))}let l=/"([^"\n]{2,80})"|'([^'\n]{2,80})'/g;for(;null!==(t=l.exec(e));){var o;let e=t[0],i=null!=(o=t[1])?o:t[2];n.has(e)||n.has(i)||(n.add(e),a.push({id:"cand-".concat(a.length),literal:e,suggestedName:H(i)||"value_".concat(a.length),suggestedLabel:i.length<=30?i:"Quoted text",type:i.length>60?"textarea":"text",accepted:!0}))}let s=/\$\s?[\d,.]+\s?[KkMm]?|\b(?:AUD|USD|EUR|GBP)\s?[\d,.]+/g;for(;null!==(t=s.exec(e));){let e=t[0];n.has(e)||(n.add(e),a.push({id:"cand-".concat(a.length),literal:e,suggestedName:"amount_".concat(a.length),suggestedLabel:"Amount",type:"text",accepted:!1}))}let d=/\b\d{4}-\d{2}-\d{2}\b|\b(?:Mon|Tue|Wed|Thu|Fri|Sat|Sun)(?:day)?\b|\b(?:tomorrow|today|yesterday|next week|this week)\b/gi;for(;null!==(t=d.exec(e));){let e=t[0];n.has(e)||(n.add(e),a.push({id:"cand-".concat(a.length),literal:e,suggestedName:e.match(/^\d{4}-\d{2}-\d{2}$/)?"date":"when",suggestedLabel:"When",type:"text",accepted:!1}))}return a}function H(e){return e.toLowerCase().replace(/[^a-z0-9]+/g,"_").replace(/^_+|_+$/g,"").slice(0,32)||"value"}function U(e,t){let n=e,a=[],i=new Set;for(let e of t){if(!e.accepted)continue;let t=e.suggestedName.trim();t||(t="value_".concat(a.length));let r=t,l=2;for(;i.has(r);)r="".concat(t,"_").concat(l++);i.add(r);let o=e.literal,s="{{".concat(r,"}}");n=n.split(o).join(s),a.push({name:r,label:e.suggestedLabel||r,type:e.type,required:!0})}return{template:n,inputs:a}}function q(e){let{draft:t,agentName:n,onCancel:r,onSave:l}=e,[o,s]=(0,i.useState)(t.name),[d,c]=(0,i.useState)(t.description),[p,u]=(0,i.useState)(t.promptTemplate),[h,g]=(0,i.useState)(!1),[m,f]=(0,i.useState)(()=>P(t.promptTemplate)),x=m.filter(e=>e.accepted).length,y=(0,i.useMemo)(()=>U(p,m),[p,m]),v=o.trim().length>0&&p.trim().length>0&&!h;return(0,a.jsx)("div",{onClick:r,style:{position:"fixed",inset:0,background:"rgba(0,0,0,0.7)",zIndex:1100,display:"flex",alignItems:"center",justifyContent:"center",WebkitBackdropFilter:"blur(4px)",backdropFilter:"blur(4px)"},children:(0,a.jsxs)("div",{onClick:e=>e.stopPropagation(),className:"animate-palette-drop",style:{width:680,maxWidth:"94vw",maxHeight:"88vh",background:"var(--paper-3)",border:"1px solid ".concat(T),borderRadius:6,overflow:"hidden",display:"flex",flexDirection:"column",boxShadow:"0 24px 80px rgba(0,0,0,0.6)"},children:[(0,a.jsxs)("div",{style:{padding:"16px 20px",borderBottom:"1px solid ".concat(T)},children:[(0,a.jsx)("div",{style:{fontFamily:E,fontSize:9,color:C,letterSpacing:"0.16em",marginBottom:4},children:"SAVE AS WORKFLOW"}),(0,a.jsx)("div",{style:{fontFamily:B,fontSize:22,fontWeight:500,color:"var(--ink)",letterSpacing:"-0.01em"},children:"Promote this chat into a reusable template."}),(0,a.jsxs)("div",{style:{fontSize:12,color:"var(--ink-4)",marginTop:4,fontFamily:z},children:["Lives in the ",n," AB's templates. Variables get prompted at run time."]})]}),(0,a.jsxs)("div",{style:{flex:1,overflowY:"auto",padding:"18px 20px",display:"flex",flexDirection:"column",gap:14},children:[(0,a.jsx)(K,{label:"Name",children:(0,a.jsx)("input",{value:o,onChange:e=>s(e.target.value),autoFocus:!0,onKeyDown:e=>{(e.metaKey||e.ctrlKey)&&"Enter"===e.key&&v&&(e.preventDefault(),b())},style:Y})}),(0,a.jsx)(K,{label:"Description",children:(0,a.jsx)("input",{value:d,onChange:e=>c(e.target.value),style:Y})}),(0,a.jsx)(K,{label:"Prompt template",children:(0,a.jsx)("textarea",{value:p,onChange:e=>u(e.target.value),rows:6,onKeyDown:e=>{(e.metaKey||e.ctrlKey)&&"Enter"===e.key&&v&&(e.preventDefault(),b())},style:{...Y,resize:"vertical",minHeight:110,fontFamily:z,fontSize:13,lineHeight:1.55}})}),m.length>0&&(0,a.jsxs)("div",{style:{background:"var(--paper-2)",border:"1px solid ".concat(T),borderRadius:4,padding:"12px 14px"},children:[(0,a.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"baseline",marginBottom:10},children:[(0,a.jsxs)("div",{children:[(0,a.jsxs)("div",{style:{fontFamily:E,fontSize:9,color:C,letterSpacing:"0.14em",textTransform:"uppercase",marginBottom:2},children:["Detected variables \xb7 ",x," of ",m.length," accepted"]}),(0,a.jsxs)("div",{style:{fontSize:11,color:"var(--ink-5)",fontFamily:z,fontStyle:"italic"},children:["Accepted entries become ","{{placeholders}}"," prompting at run time. Edit names below."]})]}),(0,a.jsx)("button",{onClick:function(){f(P(p))},style:{padding:"4px 10px",border:"1px solid ".concat(T),background:"transparent",color:"var(--ink-4)",borderRadius:3,fontFamily:E,fontSize:9,letterSpacing:"0.1em",cursor:"pointer",textTransform:"uppercase"},children:"↻ rescan"})]}),(0,a.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:6},children:m.map(e=>(0,a.jsxs)("label",{style:{display:"flex",alignItems:"center",gap:10,padding:"6px 8px",background:e.accepted?"var(--paper-3)":"transparent",border:"1px solid ".concat(e.accepted?C:T),borderRadius:3,cursor:"pointer",transition:"all 0.15s"},children:[(0,a.jsx)("input",{type:"checkbox",checked:e.accepted,onChange:()=>{var t;return t=e.id,void f(e=>e.map(e=>e.id===t?{...e,accepted:!e.accepted}:e))},style:{accentColor:C,cursor:"pointer",flexShrink:0}}),(0,a.jsx)("span",{style:{fontFamily:z,fontSize:12,color:"var(--ink-3)",flexShrink:0,maxWidth:180,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e.literal}),(0,a.jsx)("span",{style:{color:"var(--ink-6)",fontFamily:E,fontSize:11},children:"→"}),(0,a.jsx)("span",{style:{fontFamily:E,fontSize:11,color:"var(--ink-5)",flexShrink:0},children:"{{"}),(0,a.jsx)("input",{value:e.suggestedName,onChange:t=>{var n,a;return n=e.id,a=t.target.value,void f(e=>e.map(e=>e.id===n?{...e,suggestedName:H(a)||e.suggestedName}:e))},disabled:!e.accepted,style:{flex:1,minWidth:80,background:"transparent",border:"none",borderBottom:"1px dashed ".concat(T),fontFamily:E,fontSize:12,color:e.accepted?C:"var(--ink-6)",outline:"none",padding:"2px 0"}}),(0,a.jsx)("span",{style:{fontFamily:E,fontSize:11,color:"var(--ink-5)",flexShrink:0},children:"}}"})]},e.id))})]}),x>0&&(0,a.jsxs)("div",{style:{background:"var(--paper-input)",border:"1px solid ".concat(T),borderRadius:4,padding:"10px 12px"},children:[(0,a.jsx)("div",{style:{fontFamily:E,fontSize:9,color:"var(--ink-5)",letterSpacing:"0.14em",textTransform:"uppercase",marginBottom:6},children:"Will save as"}),(0,a.jsx)("pre",{style:{fontFamily:E,fontSize:12,color:"var(--ink-2)",margin:0,whiteSpace:"pre-wrap",wordBreak:"break-word",lineHeight:1.5},children:y.template})]}),(0,a.jsxs)("div",{style:{fontSize:11,color:"var(--ink-5)",fontFamily:E,letterSpacing:"0.08em"},children:["Tip: wrap variables manually with ",(0,a.jsx)("span",{style:{color:C},children:"{{name}}"})," if the auto-detector misses any."]})]}),(0,a.jsxs)("div",{style:{padding:"12px 20px",borderTop:"1px solid ".concat(T),display:"flex",gap:8,justifyContent:"flex-end"},children:[(0,a.jsx)("button",{onClick:r,style:{padding:"6px 14px",border:"1px solid ".concat(T),background:"transparent",color:"var(--ink-4)",borderRadius:3,fontFamily:E,fontSize:11,letterSpacing:"0.08em",cursor:"pointer",textTransform:"uppercase"},children:"Cancel"}),(0,a.jsx)("button",{onClick:b,disabled:!v,style:{padding:"6px 14px",border:"1px solid ".concat(C),background:v?C:"var(--paper-2)",color:v?"#000":"var(--ink-6)",borderRadius:3,fontFamily:E,fontSize:11,letterSpacing:"0.08em",cursor:v?"pointer":"not-allowed",textTransform:"uppercase"},children:h?"Saving…":"Save".concat(x>0?" \xb7 ".concat(x," var").concat(1===x?"":"s"):""," \xb7 ⌘↵")})]})]})});async function b(){if(v){g(!0);try{let{template:e,inputs:t}=U(p,m);await l({name:o.trim(),description:d.trim(),promptTemplate:e,inputs:t})}finally{g(!1)}}}}let Y={width:"100%",padding:"9px 12px",background:"var(--paper-2)",border:"1px solid ".concat(T),borderRadius:3,color:"var(--ink)",fontFamily:z,fontSize:13,outline:"none"};function K(e){let{label:t,children:n}=e;return(0,a.jsxs)("label",{style:{display:"flex",flexDirection:"column",gap:4},children:[(0,a.jsx)("span",{style:{fontFamily:E,fontSize:9,color:"var(--ink-5)",letterSpacing:"0.14em",textTransform:"uppercase"},children:t}),n]})}function J(e){var t;let{onClose:n}=e,{refresh:r}=j(),[l,o]=(0,i.useState)(0),[s,d]=(0,i.useState)(""),[c,u]=(0,i.useState)(!1),[g,x]=(0,i.useState)(null),[y,v]=(0,i.useState)(""),[b,k]=(0,i.useState)({}),[S,w]=(0,i.useState)([]),[R,M]=(0,i.useState)([]),[I,A]=(0,i.useState)(""),D=async()=>{let e=y.trim(),t=s.trim();if(!e)return!1;if(!t)return k({error:"Admin token required. Run `leedab start` once to generate one, or paste it manually."}),!1;h(t),k({loading:!0});try{let t=await f("/api/leedab/license",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"set-key",key:e})}),i=await t.json();if(!t.ok){if("admin_not_configured"===i.error)k({error:"Server has no admin token configured. Run `leedab start` once — it auto-generates the token at ~/.leedab/admin-token."});else if("admin_required"===i.error)k({error:"Admin token rejected by server. The pasted value doesn't match ~/.leedab/admin-token — copy the current one and try again."});else if(t.status>=500)k({error:"Licensing service unavailable (".concat(t.status,"). Try again in a moment.")});else{var n,a;k({error:null!=(a=null!=(n=i.message)?n:i.error)?a:"Invalid key (HTTP ".concat(t.status,")")})}return!1}return k({tier:i.tier,orgName:i.orgName}),await r(),!0}catch(e){if(e instanceof p)return k({error:"Admin token cleared. Paste it again from ~/.leedab/admin-token."}),!1;return k({error:"Could not reach licensing service. Check your network."}),!1}};(0,i.useEffect)(()=>{let e=!1;return(async()=>{try{let t=await fetch("/api/leedab/license");if(!t.ok)return;let n=await t.json();if(e)return;n.valid&&n.tier&&(k({tier:n.tier,orgName:n.orgName}),m()&&o(1))}catch(e){}})(),()=>{e=!0}},[]),(0,i.useEffect)(()=>{let e=!1;return m()?void u(!0):((async()=>{try{let t=await fetch("/api/bootstrap-admin-token");if(e)return;if(t.ok){let{token:e}=await t.json();if(e){d(e),h(e),u(!0);return}}try{let{error:e}=await t.clone().json();e&&x(function(e){switch(e){case"bootstrap_missing":return"No admin token on disk. Run `leedab start` once in a terminal — it generates one automatically.";case"bootstrap_perms_too_open":return"Token file ~/.leedab/admin-token is readable by others. Fix with: chmod 600 ~/.leedab/admin-token";case"bootstrap_not_local":return"Auto-fill is only available on a localhost browser. Paste the token from ~/.leedab/admin-token.";case"bootstrap_empty":return"Token file at ~/.leedab/admin-token is empty. Delete it and run `leedab start` to regenerate.";default:return"Auto-fill unavailable. Paste the operator admin token below."}}(e))}catch(e){}}catch(e){}})(),()=>{e=!0})},[]);let W=(e,t,n)=>t(e.includes(n)?e.filter(e=>e!==n):[...e,n]),O=()=>o(e=>Math.min(e+1,4)),L=async()=>{let e="Just me"===I?50:"2–5"===I?200:"6–20"===I?400:"20+"===I?800:void 0;try{if(await f("/api/preferences",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({channels:S,workflows:R,teamSize:I,monthlyBudgetUsd:e})}),e)try{localStorage.setItem("leedab-budget",String(e))}catch(e){}}catch(e){}};return(0,a.jsx)("div",{style:{position:"fixed",inset:0,background:"rgba(0,0,0,0.7)",zIndex:1200,display:"flex",alignItems:"center",justifyContent:"center",backdropFilter:"blur(4px)"},children:(0,a.jsxs)("div",{className:"animate-palette-drop",style:{width:600,maxWidth:"92vw",maxHeight:"86vh",background:"var(--paper-3)",border:"1px solid ".concat(T),borderRadius:6,overflow:"hidden",display:"flex",flexDirection:"column",boxShadow:"0 24px 80px rgba(0,0,0,0.6)"},children:[(0,a.jsxs)("div",{style:{padding:"18px 22px",borderBottom:"1px solid ".concat(T)},children:[(0,a.jsx)("div",{style:{fontFamily:E,fontSize:9,color:C,letterSpacing:"0.16em",marginBottom:4},children:"WELCOME TO LEEDAB"}),(0,a.jsxs)("div",{style:{fontFamily:B,fontSize:26,fontWeight:500,color:"var(--ink)",letterSpacing:"-0.01em"},children:[0===l&&"Got a license key?",1===l&&"Three quick questions, then you're in.",2===l&&"Where do messages come from?",3===l&&"What should agents handle?",4===l&&"How many of you?"]})]}),(0,a.jsxs)("div",{style:{flex:1,overflowY:"auto",padding:"20px 22px"},children:[0===l&&(0,a.jsxs)("div",{style:{fontSize:13,color:"var(--ink-3)",lineHeight:1.6,fontFamily:z},children:[(0,a.jsxs)("p",{style:{marginBottom:14},children:[c?(0,a.jsxs)(a.Fragment,{children:["Enter your LeedAB license key to unlock the dashboard."," "]}):(0,a.jsxs)(a.Fragment,{children:["Paste your admin token (from ",(0,a.jsx)("code",{style:{background:"var(--paper-2)",padding:"1px 5px",borderRadius:3,fontSize:11},children:"~/.leedab/admin-token"}),"), then your LeedAB license key."," "]}),"Don't have a license key yet? ",(0,a.jsx)("a",{href:"https://leedab.com/contact",target:"_blank",rel:"noopener noreferrer",style:{color:C,textDecoration:"underline"},children:"Request access"}),"."]}),c?(0,a.jsx)("div",{style:{marginBottom:14,padding:"8px 12px",border:"1px solid ".concat(C,"44"),background:"".concat(C,"0a"),borderRadius:3,fontSize:11,color:C,fontFamily:E,letterSpacing:"0.04em"},children:"✓ Admin token auto-loaded from ~/.leedab/admin-token"}):(0,a.jsxs)(a.Fragment,{children:[g&&(0,a.jsx)("div",{style:{marginBottom:10,padding:"8px 12px",border:"1px solid ".concat(F),background:"var(--paper-2)",borderRadius:3,fontSize:11,color:"var(--ink-3)",fontFamily:z},children:g}),(0,a.jsx)("div",{style:{fontSize:10,color:C,fontFamily:E,letterSpacing:"0.12em",marginBottom:4},children:"ADMIN TOKEN"}),(0,a.jsx)("input",{type:"password",value:s,onChange:e=>{d(e.target.value),k({})},placeholder:"paste admin token",spellCheck:!1,autoFocus:!0,style:{width:"100%",padding:"10px 12px",background:"var(--paper-2)",border:"1px solid ".concat(T),color:"var(--ink)",fontFamily:E,fontSize:13,borderRadius:3,outline:"none",letterSpacing:"0.04em",marginBottom:12}})]}),(0,a.jsx)("div",{style:{fontSize:10,color:C,fontFamily:E,letterSpacing:"0.12em",marginBottom:4},children:"LICENSE KEY"}),(0,a.jsx)("input",{type:"text",value:y,onChange:e=>{v(e.target.value),k({})},placeholder:"am_live_...",spellCheck:!1,style:{width:"100%",padding:"10px 12px",background:"var(--paper-2)",border:"1px solid ".concat(T),color:"var(--ink)",fontFamily:E,fontSize:13,borderRadius:3,outline:"none",letterSpacing:"0.04em"}}),b.error&&(0,a.jsx)("div",{style:{marginTop:10,fontSize:12,color:"#a52a1a",fontFamily:z},children:b.error}),b.tier&&(0,a.jsxs)("div",{style:{marginTop:10,fontSize:12,color:C,fontFamily:z},children:["✓ Unlocked ",(0,a.jsx)("strong",{children:b.tier}),b.orgName?" for ".concat(b.orgName):"","."]})]}),1===l&&(0,a.jsxs)("div",{style:{fontSize:13,color:"var(--ink-3)",lineHeight:1.6,fontFamily:z},children:["logistics-pro"===b.tier&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)("p",{children:["You're on the ",(0,a.jsx)("strong",{style:{color:C},children:"Logistics Pro"})," tier. LeedAB just unlocked your 7 logistics-shaped agents — COO, Concierge, Procurement, CX, Finance, Sales, People — pre-loaded with logistics playbooks (HVNL, Chain of Responsibility, freight terminology)."]}),(0,a.jsx)("p",{children:"The next 60 seconds wires your channels (Telegram, WhatsApp, email), picks your day-1 workflows, and seeds enough demo data that the views aren't empty when you land."})]}),"founder"===b.tier&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)("p",{children:["You're on the ",(0,a.jsx)("strong",{style:{color:C},children:"Founder"}),' tier — LeedAB-internal full-roster install. All 31 agents are unlocked, organised across "Today\'s company" (Executive \xb7 Operations \xb7 Finance \xb7 Product \xb7 People) and "Tomorrow\'s growth" (Activation \xb7 Intel \xb7 Brand \xb7 Sales).']}),(0,a.jsx)("p",{children:"Wizard sets sensible defaults; you can change everything in the Roster and Admin views once you're in."})]}),"starter"===b.tier&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)("p",{children:["You're on the ",(0,a.jsx)("strong",{style:{color:C},children:"Starter"})," tier — COO + Concierge only. Useful for trialling the orchestration shape; upgrade when you want the full vertical roster."]}),(0,a.jsx)("p",{children:"This wizard sets up sensible defaults so you can see the system working in 60 seconds."})]}),!["logistics-pro","founder","starter"].includes(null!=(t=b.tier)?t:"")&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("p",{children:"LeedAB connects messaging channels (Telegram, WhatsApp, email) to a team of specialised AI agents. Inbound messages route to the right agent; the agent drafts replies; you approve and ship."}),(0,a.jsx)("p",{children:"This wizard sets up sensible defaults so you can see the system working in 60 seconds. You can change everything later in the Roster and Admin views."})]})]}),2===l&&(0,a.jsxs)("div",{children:[(0,a.jsx)("div",{style:{fontSize:12,color:"var(--ink-4)",marginBottom:12,fontFamily:z},children:"Pick the channels your team uses today."}),(0,a.jsx)("div",{style:{display:"flex",gap:8,flexWrap:"wrap"},children:["Telegram","WhatsApp","Email","Slack"].map(e=>{let t=S.includes(e);return(0,a.jsx)("button",{onClick:()=>W(S,w,e),style:{padding:"8px 14px",background:t?"".concat(C,"1a"):"var(--paper-2)",border:"1px solid ".concat(t?C:T),color:t?C:"var(--ink-3)",borderRadius:3,cursor:"pointer",fontFamily:E,fontSize:11,letterSpacing:"0.06em"},children:e},e)})})]}),3===l&&(0,a.jsxs)("div",{children:[(0,a.jsx)("div",{style:{fontSize:12,color:"var(--ink-4)",marginBottom:12,fontFamily:z},children:"Pick the work you want agents to do. We'll surface relevant templates next."}),(0,a.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:6},children:["Customer support replies","Logistics dispatch & ETA updates","Cold sales outreach","Finance reconciliation","Internal ops briefings","Hiring / recruiting"].map(e=>{let t=R.includes(e);return(0,a.jsxs)("button",{onClick:()=>W(R,M,e),style:{padding:"10px 14px",textAlign:"left",background:t?"".concat(C,"10"):"var(--paper-2)",border:"1px solid ".concat(t?C:T),color:t?C:"var(--ink-3)",borderRadius:3,cursor:"pointer",fontFamily:z,fontSize:13,display:"flex",justifyContent:"space-between",alignItems:"center"},children:[(0,a.jsx)("span",{children:e}),t&&(0,a.jsx)("span",{style:{color:C,fontFamily:E,fontSize:12},children:"✓"})]},e)})})]}),4===l&&(0,a.jsxs)("div",{children:[(0,a.jsx)("div",{style:{fontSize:12,color:"var(--ink-4)",marginBottom:12,fontFamily:z},children:"Roughly how many people are on the operations team?"}),(0,a.jsx)("div",{style:{display:"flex",gap:8,flexWrap:"wrap"},children:["Just me","2–5","6–20","20+"].map(e=>{let t=I===e;return(0,a.jsx)("button",{onClick:()=>A(e),style:{padding:"8px 14px",background:t?"".concat(C,"1a"):"var(--paper-2)",border:"1px solid ".concat(t?C:T),color:t?C:"var(--ink-3)",borderRadius:3,cursor:"pointer",fontFamily:E,fontSize:11,letterSpacing:"0.06em"},children:e},e)})}),(0,a.jsx)("div",{style:{marginTop:22,padding:14,background:"var(--paper-2)",border:"1px solid ".concat(F),borderRadius:3,fontSize:12,color:"var(--ink-3)",fontFamily:z,lineHeight:1.55},children:"Want to see the dashboard with realistic logistics activity right now? We'll seed sample inbound messages, pending approvals, and runs. You can clear it anytime from the DEMO toggle."})]})]}),(0,a.jsxs)("div",{style:{padding:"14px 22px",borderTop:"1px solid ".concat(T),display:"flex",gap:8,alignItems:"center"},children:[(0,a.jsxs)("span",{style:{fontFamily:E,fontSize:9,color:"var(--ink-6)",letterSpacing:"0.12em"},children:["STEP ",l+1," OF 5"]}),(0,a.jsxs)("div",{style:{marginLeft:"auto",display:"flex",gap:8},children:[l>0&&(0,a.jsx)("button",{onClick:()=>o(e=>Math.max(e-1,0)),style:{padding:"6px 12px",border:"1px solid ".concat(T),background:"transparent",color:"var(--ink-4)",borderRadius:3,fontFamily:E,fontSize:11,letterSpacing:"0.08em",cursor:"pointer",textTransform:"uppercase"},children:"Back"}),l>0&&(0,a.jsx)("button",{onClick:n,style:{padding:"6px 12px",border:"1px solid ".concat(T),background:"transparent",color:"var(--ink-5)",borderRadius:3,fontFamily:E,fontSize:11,letterSpacing:"0.08em",cursor:"pointer",textTransform:"uppercase"},children:"Skip"}),l<4?(0,a.jsx)("button",{onClick:async()=>{if(0===l&&!b.tier)return void await D();if(0===l&&b.tier&&!m()){let e=s.trim();return e?(h(e),k({tier:b.tier,orgName:b.orgName}),void O()):void k({...b,error:"Admin token required. Run `leedab start` to auto-generate it, or paste it from ~/.leedab/admin-token."})}O()},disabled:!!(b.loading||0===l&&!b.tier&&(!y.trim()||!s.trim())||0===l&&b.tier&&!m()&&!s.trim()),style:{padding:"6px 14px",border:"1px solid ".concat(C),background:C,color:"#000",borderRadius:3,fontFamily:E,fontSize:11,letterSpacing:"0.08em",cursor:b.loading?"wait":"pointer",textTransform:"uppercase",opacity:!b.loading&&(0!==l||b.tier||y.trim()&&s.trim())&&(0!==l||!b.tier||m()||s.trim())?1:.4},children:0!==l||b.tier?"Next →":"Validate →"}):(0,a.jsx)("button",{onClick:async()=>{await L(),n()},style:{padding:"6px 14px",border:"1px solid ".concat(C),background:C,color:"#000",borderRadius:3,fontFamily:E,fontSize:11,letterSpacing:"0.08em",cursor:"pointer",textTransform:"uppercase"},children:"Finish →"})]})]})]})})}function V(e){let{notifs:t,onMarkAllRead:n,onClose:i}=e,r={success:C,warn:"#f59e0b",info:"#6366f1"};return(0,a.jsxs)("div",{className:"animate-slide-left no-scrollbar",style:{position:"fixed",top:0,right:0,bottom:0,width:320,background:"var(--paper-input)",borderLeft:"1px solid ".concat(T),zIndex:500,display:"flex",flexDirection:"column",overflowY:"auto"},children:[(0,a.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"16px 20px",borderBottom:"1px solid ".concat(T),flexShrink:0},children:[(0,a.jsx)("span",{style:{fontFamily:E,fontSize:12,fontWeight:700,color:"var(--ink)",letterSpacing:"0.04em"},children:"FEED"}),(0,a.jsxs)("div",{style:{display:"flex",gap:8,alignItems:"center"},children:[(0,a.jsx)("button",{onClick:n,style:{fontFamily:E,fontSize:9,color:"var(--ink-5)",background:"none",border:"none",cursor:"pointer",letterSpacing:"0.08em"},children:"MARK ALL READ"}),(0,a.jsx)("button",{onClick:i,style:{background:"none",border:"none",cursor:"pointer",color:"var(--ink-5)",fontSize:18,lineHeight:1,padding:4},children:"\xd7"})]})]}),(0,a.jsxs)("div",{style:{flex:1,padding:"8px 0"},children:[0===t.length&&(0,a.jsx)("div",{style:{padding:"32px 20px",textAlign:"center",fontFamily:E,fontSize:10,color:"var(--ink-6)",letterSpacing:"0.08em"},children:"All quiet. Activity from your channels and approvals will land here."}),t.map(e=>(0,a.jsx)("div",{style:{padding:"12px 20px",borderBottom:"1px solid ".concat(F),background:e.read?"transparent":"var(--paper-3)",opacity:e.read?.6:1,transition:"opacity 0.2s"},children:(0,a.jsxs)("div",{style:{display:"flex",alignItems:"flex-start",gap:10},children:[(0,a.jsx)("span",{style:{width:6,height:6,borderRadius:"50%",background:r[e.level],flexShrink:0,marginTop:4}}),(0,a.jsxs)("div",{style:{flex:1,minWidth:0},children:[(0,a.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6,marginBottom:3},children:[(0,a.jsx)("span",{style:{fontFamily:E,fontSize:9,color:r[e.level],letterSpacing:"0.08em"},children:I[e.agent]}),(0,a.jsx)("span",{style:{fontFamily:E,fontSize:9,color:"var(--ink-6)"},children:e.ts})]}),(0,a.jsx)("div",{style:{fontSize:12,color:e.read?"var(--ink-5)":"var(--ink-2)",fontFamily:z,lineHeight:1.5},children:e.msg})]})]})},e.id))]})]})}let G=[{id:"o1",name:"runway-model-apr-2026.csv",agent:"finance",type:"model",date:"Apr 22",size:"4.2 KB"},{id:"o2",name:"linkedin-post-local-first.txt",agent:"marketing",type:"draft",date:"Apr 19",size:"1.8 KB"},{id:"o3",name:"adr-0001-provider-abstraction.md",agent:"engineering",type:"spec",date:"Apr 18",size:"3.1 KB"},{id:"o4",name:"onboarding-playbook-template.html",agent:"cx",type:"template",date:"Apr 17",size:"5.6 KB"},{id:"o5",name:"retention-cohort-model-2026-04-22.csv",agent:"data",type:"report",date:"Apr 22",size:"7.3 KB"},{id:"o6",name:"cold-sequence-logistics-smbs.txt",agent:"sales",type:"draft",date:"Apr 20",size:"2.4 KB"},{id:"o7",name:"privacy-policy-draft.html",agent:"legal",type:"draft",date:"Apr 22",size:"8.1 KB"},{id:"o8",name:"seed-due-diligence-checklist.md",agent:"legal",type:"template",date:"Apr 22",size:"3.7 KB"},{id:"o9",name:"unit-economics-q2-2026.csv",agent:"finance",type:"model",date:"Apr 21",size:"5.2 KB"},{id:"o10",name:"competitor-battlecard-zapier.html",agent:"strategy",type:"report",date:"Apr 20",size:"4.8 KB"},{id:"o11",name:"blog-post-why-apis-failed-smbs.html",agent:"content",type:"draft",date:"Apr 19",size:"6.2 KB"},{id:"o12",name:"tracking-plan-v1.md",agent:"data",type:"spec",date:"Apr 22",size:"4.5 KB"}];function _(e){var t;let{agent:n,agentId:i,conversations:r,onClose:l}=e,o=null!=(t=r[i])?t:[],s=G.filter(e=>e.agent===i).slice(0,4);return(0,a.jsxs)("div",{className:"animate-slide-left no-scrollbar",style:{position:"fixed",top:0,right:0,bottom:0,width:300,background:"var(--paper-input)",borderLeft:"1px solid ".concat(T),zIndex:500,display:"flex",flexDirection:"column",overflowY:"auto"},children:[(0,a.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"16px 20px",borderBottom:"1px solid ".concat(T),flexShrink:0},children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("div",{style:{fontFamily:E,fontSize:10,color:C,letterSpacing:"0.1em",marginBottom:2},children:A[i]}),(0,a.jsx)("div",{style:{fontFamily:E,fontSize:14,fontWeight:700,color:"var(--ink)"},children:I[i]})]}),(0,a.jsx)("button",{onClick:l,style:{background:"none",border:"none",cursor:"pointer",color:"var(--ink-5)",fontSize:18,lineHeight:1,padding:4},children:"\xd7"})]}),(0,a.jsxs)("div",{style:{padding:"16px 20px",borderBottom:"1px solid ".concat(F)},children:[(0,a.jsx)("div",{style:{fontFamily:E,fontSize:9,color:"var(--ink-6)",letterSpacing:"0.12em",marginBottom:8},children:"AGENT"}),(0,a.jsx)("div",{style:{fontSize:13,color:"var(--ink-3)",fontFamily:z,lineHeight:1.6},children:n.description})]}),(0,a.jsxs)("div",{style:{padding:"16px 20px",borderBottom:"1px solid ".concat(F)},children:[(0,a.jsx)("div",{style:{fontFamily:E,fontSize:9,color:"var(--ink-6)",letterSpacing:"0.12em",marginBottom:8},children:"STATUS"}),(0,a.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,marginBottom:6},children:[(0,a.jsx)("span",{style:{width:6,height:6,borderRadius:"50%",background:"active"===D[i]?C:"var(--ink-5)",boxShadow:"active"===D[i]?"0 0 8px ".concat(C):"none",display:"inline-block"}}),(0,a.jsx)("span",{style:{fontFamily:E,fontSize:10,color:"active"===D[i]?C:"var(--ink-5)"},children:D[i].toUpperCase()})]}),(0,a.jsxs)("div",{style:{fontFamily:E,fontSize:10,color:"var(--ink-6)"},children:[o.length," messages \xb7 ",o.filter(e=>"user"===e.role).length," exchanges"]})]}),(0,a.jsxs)("div",{style:{padding:"16px 20px",borderBottom:"1px solid ".concat(F)},children:[(0,a.jsx)("div",{style:{fontFamily:E,fontSize:9,color:"var(--ink-6)",letterSpacing:"0.12em",marginBottom:8},children:"DEFAULT MODEL"}),(0,a.jsx)("div",{style:{fontFamily:E,fontSize:11,color:"var(--ink-4)"},children:n.defaultModel.replace("claude-","").replace("-20251001","").toUpperCase()})]}),s.length>0&&(0,a.jsxs)("div",{style:{padding:"16px 20px",borderBottom:"1px solid ".concat(F)},children:[(0,a.jsx)("div",{style:{fontFamily:E,fontSize:9,color:"var(--ink-6)",letterSpacing:"0.12em",marginBottom:8},children:"RECENT OUTPUTS"}),(0,a.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:6},children:s.map(e=>(0,a.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"6px 8px",background:S,borderRadius:3,border:"1px solid ".concat(F)},children:[(0,a.jsx)("span",{style:{fontSize:11,color:"var(--ink-4)",fontFamily:z,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",flex:1},children:e.name}),(0,a.jsx)("span",{style:{fontFamily:E,fontSize:9,color:"var(--ink-6)",marginLeft:8,flexShrink:0},children:e.date})]},e.id))})]}),(0,a.jsxs)("div",{style:{padding:"16px 20px"},children:[(0,a.jsx)("div",{style:{fontFamily:E,fontSize:9,color:"var(--ink-6)",letterSpacing:"0.12em",marginBottom:8},children:"RECENT TASKS"}),(0,a.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:4},children:W[i].map((e,t)=>(0,a.jsxs)("div",{style:{fontSize:11,color:"var(--ink-5)",fontFamily:z},children:["→ ",e]},t))})]})]})}function $(e){var t,n;let{onChannelClick:r}=e,[l,o]=(0,i.useState)(null),[s,d]=(0,i.useState)(!0);(0,i.useEffect)(()=>{let e=!1;function t(){fetch("/api/openclaw/status").then(e=>e.json()).then(t=>{e||(o(t),d(!1))}).catch(()=>{e||d(!1)})}t();let n=setInterval(t,15e3);return()=>{e=!0,clearInterval(n)}},[]);let c=null!=(t=null==l?void 0:l.ok)&&t,p=(null!=(n=null==l?void 0:l.channels)?n:[]).filter(e=>e.enabled&&!0===e.connected);return(0,a.jsxs)("div",{"data-mobile-hide":!0,style:{display:"flex",alignItems:"center",gap:8},children:[(0,a.jsxs)("span",{style:{display:"flex",alignItems:"center",gap:4},children:[(0,a.jsx)("span",{style:{width:6,height:6,borderRadius:"50%",background:s?"var(--hair)":c?C:"#a52a1a",boxShadow:c?"0 0 4px ".concat(C,"88"):"none",display:"inline-block"}}),(0,a.jsx)("span",{style:{fontFamily:E,fontSize:9,color:c?"var(--ink-4)":"#a52a1a",letterSpacing:"0.08em",whiteSpace:"nowrap"},children:s?"...":c?"LIVE":"OFFLINE"})]}),c&&(0,a.jsxs)("span",{title:"Computer use is on. ABs can drive browsers, fill forms, and read on-screen content.",style:{display:"inline-flex",alignItems:"center",gap:4,color:"var(--ink-4)"},children:[(0,a.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",children:[(0,a.jsx)("path",{d:"M1.5 8s2.5-4.5 6.5-4.5S14.5 8 14.5 8s-2.5 4.5-6.5 4.5S1.5 8 1.5 8z",stroke:"currentColor",strokeWidth:"1",strokeLinejoin:"round"}),(0,a.jsx)("circle",{cx:"8",cy:"8",r:"1.8",fill:"currentColor"})]}),(0,a.jsx)("span",{style:{fontFamily:E,fontSize:9,color:"var(--ink-4)",letterSpacing:"0.08em",whiteSpace:"nowrap"},children:"COMPUTER USE"})]}),p.map(e=>(0,a.jsxs)(r?"button":"div",{onClick:r?()=>r(e.name):void 0,title:r?"Manage ".concat(e.name):void 0,style:{display:"flex",alignItems:"center",gap:4,padding:0,border:"none",background:"transparent",color:"inherit",cursor:r?"pointer":"default",fontFamily:"inherit"},children:[(0,a.jsx)("span",{style:{width:6,height:6,borderRadius:"50%",background:C,boxShadow:"0 0 4px ".concat(C,"88"),display:"inline-block"}}),(0,a.jsx)("span",{style:{fontFamily:E,fontSize:9,color:"var(--ink-4)",letterSpacing:"0.08em",whiteSpace:"nowrap",textTransform:"uppercase"},children:e.name})]},e.name))]})}function X(e){var t,n;let{query:r,onQueryChange:s,inputRef:d,conversations:c,onSelectAgent:p,onSelectView:u,onClose:h}=e,[g,m]=(0,i.useState)(0),[f,x]=(0,i.useState)([]),[y,v]=(0,i.useState)([]),[b,k]=(0,i.useState)([]);(0,i.useEffect)(()=>{let e=!1;return async function(){try{var t,n,a;let[i,r,l]=await Promise.all([fetch("/api/inbox?limit=200").then(e=>e.ok?e.json():{messages:[]}),fetch("/api/approvals?limit=200").then(e=>e.ok?e.json():{approvals:[]}),fetch("/api/runs?limit=100").then(e=>e.ok?e.json():{runs:[]})]);if(e)return;x(null!=(t=i.messages)?t:[]),v(null!=(n=r.approvals)?n:[]),k(null!=(a=l.runs)?a:[])}catch(e){}}(),()=>{e=!0}},[]);let S=r.toLowerCase().trim(),w=e=>!S||(null!=e?e:"").toLowerCase().includes(S),{pack:R}=j(),B=null!=(t=null==R?void 0:R.agentOrder)?t:o,M=null!=(n=null==R?void 0:R.agents)?n:l,W=B.filter(e=>{let t=M[e];return w(I[e])||w(null==t?void 0:t.name)||w(null==t?void 0:t.tagline)}),O=[{label:"Workflows",sub:"Pre-built workflows",view:"workflows"}].filter(e=>{let{label:t,sub:n}=e;return w(t)||w(n)}),L=S?f.filter(e=>w(e.fromName)||w(e.text)||w(e.channel)).slice(0,8):[],N=S?y.filter(e=>w(e.title)||w(e.body)||w(e.agentId)||w(e.meta.to)).slice(0,8):[],P=S?b.filter(e=>w(e.agentId)||w(e.triggerType)||w(e.status)).slice(0,8):[],H=O.length+W.length+L.length+N.length+P.length;(0,i.useEffect)(()=>{m(0)},[r]);let U={views:0,agents:O.length,inbox:O.length+W.length,approvals:O.length+W.length+L.length,runs:O.length+W.length+L.length+N.length},q=e=>{try{let t=new URL(window.location.href);t.searchParams.set("id",e),window.history.replaceState({},"",t.toString())}catch(e){}},Y=e=>{if(e<U.agents)return void u(O[e].view);if(e<U.inbox)return void p(W[e-U.agents]);if(e<U.approvals){let t=L[e-U.inbox];t&&q(t.id),u("inbox");return}if(e<U.runs){let t=N[e-U.approvals];t&&q(t.id),u("approvals");return}let t=P[e-U.runs];t&&q(t.id),u("runs")};return(0,a.jsx)("div",{onClick:h,style:{position:"fixed",inset:0,background:"rgba(0,0,0,0.7)",zIndex:1e3,display:"flex",alignItems:"flex-start",justifyContent:"center",paddingTop:"12vh",WebkitBackdropFilter:"blur(4px)",backdropFilter:"blur(4px)"},children:(0,a.jsxs)("div",{onClick:e=>e.stopPropagation(),className:"animate-palette-drop",style:{width:580,maxHeight:"60vh",background:"var(--paper-3)",border:"1px solid #404040",borderRadius:6,overflow:"hidden",display:"flex",flexDirection:"column",boxShadow:"0 24px 80px rgba(0,0,0,0.8)"},children:[(0,a.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:12,padding:"14px 16px",borderBottom:"1px solid ".concat(T)},children:[(0,a.jsx)("span",{style:{color:"var(--ink-5)",fontSize:14},children:"⌕"}),(0,a.jsx)("input",{ref:d,value:r,onChange:e=>s(e.target.value),onKeyDown:e=>{"ArrowDown"===e.key&&(e.preventDefault(),m(e=>Math.min(e+1,H-1))),"ArrowUp"===e.key&&(e.preventDefault(),m(e=>Math.max(e-1,0))),"Enter"===e.key&&Y(g)},placeholder:"Search agents, views, actions…",style:{flex:1,background:"transparent",border:"none",outline:"none",fontSize:14,color:"var(--ink)",fontFamily:z}}),(0,a.jsx)("span",{style:{fontFamily:E,fontSize:9,color:"var(--ink-6)",border:"1px solid ".concat(T),borderRadius:2,padding:"2px 5px"},children:"ESC"})]}),(0,a.jsxs)("div",{className:"no-scrollbar",style:{overflowY:"auto"},children:[O.length>0&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("div",{style:{padding:"8px 16px 4px",fontFamily:E,fontSize:9,color:"var(--ink-6)",letterSpacing:"0.12em"},children:"VIEWS"}),O.map((e,t)=>{let{label:n,sub:i,view:r}=e;return(0,a.jsxs)("div",{onClick:()=>u(r),style:{display:"flex",alignItems:"center",gap:12,padding:"10px 16px",cursor:"pointer",background:g===t?"".concat(C,"0a"):"transparent",borderLeft:"2px solid ".concat(g===t?C:"transparent"),transition:"all 0.1s"},children:[(0,a.jsx)("div",{style:{width:32,height:32,borderRadius:3,background:"var(--paper-input)",border:"1px solid ".concat(T),display:"flex",alignItems:"center",justifyContent:"center",flexShrink:0},children:(0,a.jsx)("span",{style:{fontSize:13},children:"workflows"===r?"⊞":"\xb7"})}),(0,a.jsxs)("div",{children:[(0,a.jsx)("div",{style:{fontSize:13,color:"var(--ink)",fontFamily:z},children:n}),(0,a.jsx)("div",{style:{fontSize:11,color:"var(--ink-5)"},children:i})]})]},r)})]}),W.length>0&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("div",{style:{padding:"8px 16px 4px",fontFamily:E,fontSize:9,color:"var(--ink-6)",letterSpacing:"0.12em"},children:"OPERATORS"}),W.map((e,t)=>{var n,i,r,l;let o=O.length+t,s=null==(n=c[e])?void 0:n.slice(-1)[0];return(0,a.jsxs)("div",{onClick:()=>p(e),style:{display:"flex",alignItems:"center",gap:12,padding:"10px 16px",cursor:"pointer",background:g===o?"".concat(C,"0a"):"transparent",borderLeft:"2px solid ".concat(g===o?C:"transparent"),transition:"all 0.1s"},children:[(0,a.jsxs)("div",{style:{width:32,height:32,borderRadius:"50%",flexShrink:0,background:"radial-gradient(circle at 35% 28%, #f5f0e6 0%, #ebe2d3 50%, #d8ccb8 100%)",border:"1px solid ".concat(T),boxShadow:"inset 0 1px 0 rgba(255,255,255,0.8), 0 1px 4px rgba(26,23,19,0.10)",display:"flex",alignItems:"center",justifyContent:"center",position:"relative"},children:[(0,a.jsx)("span",{style:{fontFamily:E,fontSize:8,fontWeight:700,color:"active"===D[e]?C:"var(--ink-5)"},children:I[e]}),(0,a.jsx)("span",{style:{position:"absolute",bottom:0,right:0,width:7,height:7,borderRadius:"50%",background:"active"===D[e]?C:"var(--ink-7)",border:"1.5px solid #ebe5d7"}})]}),(0,a.jsxs)("div",{style:{flex:1,minWidth:0},children:[(0,a.jsxs)("div",{style:{display:"flex",alignItems:"baseline",gap:8},children:[(0,a.jsx)("span",{style:{fontSize:13,color:"var(--ink)",fontFamily:z},children:null==(i=M[e])?void 0:i.name}),(0,a.jsx)("span",{style:{fontSize:9,color:"var(--ink-6)",fontFamily:E},children:A[e]})]}),(0,a.jsx)("div",{style:{fontSize:11,color:"var(--ink-5)",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},children:s?s.content.slice(0,60)+(s.content.length>60?"…":""):null!=(l=null==(r=M[e])?void 0:r.tagline)?l:""})]}),(0,a.jsx)("span",{style:{fontFamily:E,fontSize:9,color:"var(--ink-6)",whiteSpace:"nowrap"},children:A[e]})]},e)})]}),L.length>0&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("div",{style:{padding:"8px 16px 4px",fontFamily:E,fontSize:9,color:"var(--ink-6)",letterSpacing:"0.12em"},children:"INBOX"}),L.map((e,t)=>{let n=U.inbox+t;return(0,a.jsxs)("div",{onClick:()=>Y(n),style:{display:"flex",alignItems:"center",gap:12,padding:"10px 16px",cursor:"pointer",background:g===n?"".concat(C,"0a"):"transparent",borderLeft:"2px solid ".concat(g===n?C:"transparent"),transition:"all 0.1s"},children:[(0,a.jsx)("div",{style:{width:32,height:32,borderRadius:3,background:"var(--paper-input)",border:"1px solid ".concat(T),display:"flex",alignItems:"center",justifyContent:"center",flexShrink:0,fontFamily:E,fontSize:8,color:"var(--ink-3)"},children:"telegram"===e.channel?"TG":"whatsapp"===e.channel?"WA":"EM"}),(0,a.jsxs)("div",{style:{flex:1,minWidth:0},children:[(0,a.jsx)("div",{style:{fontSize:13,color:"var(--ink)",fontFamily:z},children:e.fromName}),(0,a.jsx)("div",{style:{fontSize:11,color:"var(--ink-5)",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},children:e.text})]}),e.agentId&&(0,a.jsxs)("span",{style:{fontFamily:E,fontSize:9,color:C,whiteSpace:"nowrap"},children:["→ ",e.agentId]})]},e.id)})]}),N.length>0&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("div",{style:{padding:"8px 16px 4px",fontFamily:E,fontSize:9,color:"var(--ink-6)",letterSpacing:"0.12em"},children:"APPROVALS"}),N.map((e,t)=>{let n=U.approvals+t;return(0,a.jsxs)("div",{onClick:()=>Y(n),style:{display:"flex",alignItems:"center",gap:12,padding:"10px 16px",cursor:"pointer",background:g===n?"".concat(C,"0a"):"transparent",borderLeft:"2px solid ".concat(g===n?C:"transparent"),transition:"all 0.1s"},children:[(0,a.jsx)("div",{style:{width:32,height:32,borderRadius:3,background:"var(--paper-input)",border:"1px solid ".concat(T),display:"flex",alignItems:"center",justifyContent:"center",flexShrink:0},children:(0,a.jsx)("span",{style:{fontSize:13},children:"✓"})}),(0,a.jsxs)("div",{style:{flex:1,minWidth:0},children:[(0,a.jsx)("div",{style:{fontSize:13,color:"var(--ink)",fontFamily:z,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},children:e.title}),(0,a.jsxs)("div",{style:{fontSize:11,color:"var(--ink-5)",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},children:[e.agentId," \xb7 ",e.status]})]})]},e.id)})]}),P.length>0&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("div",{style:{padding:"8px 16px 4px",fontFamily:E,fontSize:9,color:"var(--ink-6)",letterSpacing:"0.12em"},children:"RUNS"}),P.map((e,t)=>{let n=U.runs+t;return(0,a.jsxs)("div",{onClick:()=>Y(n),style:{display:"flex",alignItems:"center",gap:12,padding:"10px 16px",cursor:"pointer",background:g===n?"".concat(C,"0a"):"transparent",borderLeft:"2px solid ".concat(g===n?C:"transparent"),transition:"all 0.1s"},children:[(0,a.jsx)("div",{style:{width:32,height:32,borderRadius:3,background:"var(--paper-input)",border:"1px solid ".concat(T),display:"flex",alignItems:"center",justifyContent:"center",flexShrink:0},children:(0,a.jsx)("span",{style:{fontSize:13},children:"◌"})}),(0,a.jsxs)("div",{style:{flex:1,minWidth:0},children:[(0,a.jsxs)("div",{style:{fontSize:13,color:"var(--ink)",fontFamily:z},children:[e.agentId," \xb7 ",e.triggerType]}),(0,a.jsxs)("div",{style:{fontSize:11,color:"var(--ink-5)"},children:[e.status," \xb7 ",new Date(e.startedAt).toLocaleString()]})]})]},e.id)})]}),0===H&&(0,a.jsxs)("div",{style:{padding:"32px 16px",textAlign:"center",fontFamily:E,fontSize:11,color:"var(--ink-6)"},children:['No results for "',r,'"']})]}),(0,a.jsxs)("div",{style:{padding:"8px 16px",borderTop:"1px solid ".concat(F),display:"flex",gap:16,fontFamily:E,fontSize:9,color:"var(--ink-6)"},children:[(0,a.jsx)("span",{children:"↑↓ navigate"}),(0,a.jsx)("span",{children:"↵ open"}),(0,a.jsx)("span",{children:"esc close"})]})]})})}function Q(e){let{disabled:t,onExport:n}=e,[r,l]=(0,i.useState)(!1),o=(0,i.useRef)(null);return(0,i.useEffect)(()=>{if(!r)return;let e=e=>{o.current&&!o.current.contains(e.target)&&l(!1)};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[r]),(0,a.jsxs)("div",{ref:o,style:{position:"relative"},children:[(0,a.jsx)("button",{onClick:()=>!t&&l(e=>!e),disabled:t,style:{fontFamily:E,fontSize:10,letterSpacing:"0.08em",padding:"5px 10px",border:"1px solid ".concat(T),background:"transparent",color:"var(--ink-5)",borderRadius:3,cursor:t?"not-allowed":"pointer",opacity:t?.3:1,transition:"all 0.15s"},children:"EXPORT ↗"}),r&&(0,a.jsx)("div",{style:{position:"absolute",top:"calc(100% + 4px)",right:0,background:w,border:"1px solid ".concat(T),borderRadius:4,boxShadow:"0 4px 16px rgba(26,23,19,0.12)",zIndex:100,minWidth:140,overflow:"hidden"},children:[{fmt:"md",label:".MD",desc:"Markdown"},{fmt:"html",label:".HTML",desc:"Webpage"},{fmt:"txt",label:".TXT",desc:"Plain text"},{fmt:"csv",label:".CSV",desc:"Spreadsheet"},{fmt:"json",label:".JSON",desc:"Structured"}].map(e=>{let{fmt:t,label:i,desc:r}=e;return(0,a.jsxs)("button",{onClick:()=>{n(t),l(!1)},style:{display:"flex",alignItems:"center",gap:8,width:"100%",padding:"7px 12px",background:"transparent",border:"none",cursor:"pointer",textAlign:"left",transition:"background 0.1s"},onMouseEnter:e=>{e.currentTarget.style.background=S},onMouseLeave:e=>{e.currentTarget.style.background="transparent"},children:[(0,a.jsx)("span",{style:{fontFamily:E,fontSize:9,color:C,letterSpacing:"0.06em",width:36},children:i}),(0,a.jsx)("span",{style:{fontFamily:z,fontSize:11,color:"var(--ink-5)"},children:r})]},t)})})]})}function Z(e){let{label:t,active:n,disabled:i,onClick:r}=e;return(0,a.jsx)("button",{onClick:r,disabled:i,style:{fontFamily:E,fontSize:10,letterSpacing:"0.08em",padding:"5px 10px",border:"1px solid ".concat(n?C:T),background:n?"".concat(R):"transparent",color:n?C:"var(--ink-5)",borderRadius:3,cursor:i?"not-allowed":"pointer",opacity:i?.3:1,transition:"all 0.15s"},children:t})}function ee(e){let{label:t,active:n,onClick:i}=e;return(0,a.jsx)("button",{onClick:i,style:{fontFamily:E,fontSize:9,padding:"3px 8px",border:"1px solid ".concat(n?C:T),background:n?"".concat(R):"transparent",color:n?C:"var(--ink-5)",borderRadius:3,cursor:"pointer",letterSpacing:"0.06em",transition:"all 0.15s"},children:t})}function et(e){let{value:t,options:n,onChange:i}=e,r=n.map(e=>"string"==typeof e?{value:e,label:e.replace("claude-","").replace("-20251001","").toUpperCase()}:e);return(0,a.jsxs)("div",{style:{position:"relative"},children:[(0,a.jsx)("select",{value:t,onChange:e=>i(e.target.value),style:{appearance:"none",background:"var(--paper-input)",border:"1px solid ".concat(T),color:"var(--ink-4)",fontSize:10,letterSpacing:"0.08em",padding:"5px 24px 5px 10px",borderRadius:3,cursor:"pointer",outline:"none",fontFamily:E},children:r.map(e=>(0,a.jsx)("option",{value:e.value,children:e.label},e.value))}),(0,a.jsx)("span",{style:{position:"absolute",right:8,top:"50%",transform:"translateY(-50%)",color:"var(--ink-5)",fontSize:10,pointerEvents:"none"},children:"▾"})]})}function en(e){var t;let{agentName:n,agentCode:i,agentSection:r,tagline:l,onChipClick:o,customQuickStart:s}=e,d=s&&s.length>0?s:null!=(t=O[n.toLowerCase()])?t:[];return(0,a.jsxs)("div",{className:"animate-fade-up",style:{padding:"40px 0",textAlign:"center"},children:[(0,a.jsx)("div",{style:{fontFamily:E,fontSize:9,color:"var(--ink-6)",letterSpacing:"0.12em",marginBottom:8},children:r}),(0,a.jsx)("div",{style:{fontFamily:E,fontSize:28,fontWeight:700,color:"var(--ink)",letterSpacing:"-0.02em",marginBottom:4},children:i}),(0,a.jsx)("div",{style:{fontSize:14,color:"var(--ink-4)",marginBottom:32},children:l}),(0,a.jsxs)("div",{style:{maxWidth:480,margin:"0 auto",textAlign:"left"},children:[(0,a.jsx)("div",{style:{fontFamily:E,fontSize:10,color:"var(--ink-6)",letterSpacing:"0.14em",marginBottom:12,textAlign:"center"},children:"QUICK START"}),(0,a.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:8},children:d.map(e=>(0,a.jsx)("button",{onClick:()=>o(e),style:{textAlign:"left",fontSize:13,color:"var(--ink-4)",border:"1px solid ".concat(T),background:"transparent",borderRadius:3,padding:"10px 14px",cursor:"pointer",lineHeight:1.5,transition:"all 0.15s"},onMouseEnter:e=>{let t=e.currentTarget;t.style.borderColor=C,t.style.color="var(--ink)"},onMouseLeave:e=>{let t=e.currentTarget;t.style.borderColor=T,t.style.color="var(--ink-4)"},children:e},e))})]})]})}function ea(e){let t=Date.now()-e;return t<6e4?"just now":t<36e5?"".concat(Math.floor(t/6e4),"m ago"):t<864e5?"".concat(Math.floor(t/36e5),"h ago"):new Date(e).toLocaleDateString()}let ei=null;function er(e){let{message:t,agentCode:n,onRunTemplate:l,conversationContext:o}=e,[s,d]=(0,i.useState)(!1),[c,p]=(0,i.useState)([]),u="user"===t.role;return((0,i.useEffect)(()=>{if(u||!t.content)return;let e=!1;return(ei?Promise.resolve(ei):fetch("/api/templates").then(e=>e.json()).then(e=>(ei=e.templates,e.templates)).catch(()=>[])).then(n=>{e||p(n.filter(e=>RegExp("\\b".concat(e.name.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),"\\b"),"i").test(t.content)).map(e=>({id:e.id,name:e.name})))}),()=>{e=!0}},[t.content,u]),u)?(0,a.jsxs)("div",{className:"animate-fade-up",style:{display:"flex",gap:12,alignItems:"flex-start",flexDirection:"row-reverse"},children:[(0,a.jsx)("div",{style:{width:24,height:24,borderRadius:2,flexShrink:0,marginTop:1,background:"var(--user-bg)",border:"1px solid ".concat(C,"44"),display:"flex",alignItems:"center",justifyContent:"center"},children:(0,a.jsx)("span",{style:{fontFamily:E,fontSize:7,color:C,fontWeight:700},children:"ME"})}),(0,a.jsxs)("div",{style:{maxWidth:"72%",padding:"10px 14px",background:"var(--user-bg)",borderRadius:"4px 0 4px 4px",border:"1px solid ".concat(C,"22")},children:[(0,a.jsx)("pre",{style:{fontFamily:z,fontSize:13,color:"var(--ink)",lineHeight:1.65,margin:0,whiteSpace:"pre-wrap",wordBreak:"break-word"},children:t.content}),(0,a.jsx)("time",{style:{fontFamily:E,fontSize:9,color:"var(--ink-6)",display:"block",marginTop:6},children:ea(t.timestamp)})]})]}):t.content?(0,a.jsxs)("div",{className:"animate-fade-up",style:{display:"flex",gap:12,alignItems:"flex-start"},children:[(0,a.jsx)("div",{style:{width:24,height:24,borderRadius:2,flexShrink:0,marginTop:1,background:"var(--paper-input)",border:"1px solid ".concat(T),display:"flex",alignItems:"center",justifyContent:"center"},children:(0,a.jsx)("span",{style:{fontFamily:E,fontSize:7,color:C,fontWeight:700},children:"AI"})}),(0,a.jsxs)("div",{style:{flex:1,minWidth:0},children:[(0,a.jsx)("div",{style:{maxWidth:"80%",padding:"10px 14px",background:"var(--paper-input)",borderRadius:"0 4px 4px 4px",border:"1px solid ".concat(T)},children:(0,a.jsx)("div",{className:"prose-agent",children:(0,a.jsx)(r.oz,{children:t.content||""})})}),t.content&&(0,a.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,marginTop:6,fontFamily:E},children:[(0,a.jsx)("time",{style:{fontSize:9,color:"var(--ink-6)"},children:ea(t.timestamp)}),(0,a.jsx)("div",{style:{display:"flex",gap:4,marginLeft:"auto"},children:(0,a.jsx)(ee,{label:s?"✓ COPIED":"COPY",active:s,onClick:()=>{navigator.clipboard.writeText(t.content),d(!0),setTimeout(()=>d(!1),1500)}})})]}),c.length>0&&l&&(0,a.jsx)("div",{style:{marginTop:8,display:"flex",flexWrap:"wrap",gap:6},children:c.map(e=>(0,a.jsxs)("button",{onClick:()=>l(e.id,null!=o?o:t.content),style:{fontFamily:E,fontSize:9,letterSpacing:"0.08em",textTransform:"uppercase",padding:"5px 10px",border:"1px solid ".concat(C),background:"".concat(C,"1a"),color:C,borderRadius:2,cursor:"pointer"},children:['↳ Run "',e.name,'"']},e.id))})]})]}):null}let el=(0,i.forwardRef)(function(e,t){let{value:n,onChange:r,onSubmit:l,onVoice:o,onBroadcast:s,onAttach:d,hasAttachments:c,disabled:p,isListening:u,broadcastMode:h,agentName:g}=e,m=(0,i.useRef)(null),f=h?C:u?"#ef4444":T,x=(n.trim().length>0||!0===c)&&!p;return(0,a.jsxs)("div",{style:{position:"relative",border:"1px solid ".concat(f),borderRadius:3,background:"var(--paper-input)",transition:"border-color 0.15s"},children:[(0,a.jsx)("input",{ref:m,type:"file",multiple:!0,style:{display:"none"},onChange:e=>{e.target.files&&d&&(d(e.target.files),e.target.value="")}}),(0,a.jsx)("span",{style:{position:"absolute",left:12,top:"50%",transform:"translateY(-50%)",fontFamily:E,fontSize:11,color:"var(--ink-6)",pointerEvents:"none",zIndex:1},children:"→"}),(0,a.jsx)("button",{onClick:o,disabled:p,style:{position:"absolute",left:36,top:7,width:28,height:28,borderRadius:2,display:"flex",alignItems:"center",justifyContent:"center",background:u?"rgba(239,68,68,0.15)":S,border:"1px solid ".concat(u?"#ef4444":T),cursor:p?"not-allowed":"pointer",opacity:p?.3:1,color:u?"#ef4444":"var(--ink-5)",transition:"all 0.15s"},children:(0,a.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,a.jsx)("rect",{x:"9",y:"2",width:"6",height:"11",rx:"3"}),(0,a.jsx)("path",{d:"M5 10a7 7 0 0 0 14 0"}),(0,a.jsx)("line",{x1:"12",y1:"19",x2:"12",y2:"22"}),(0,a.jsx)("line",{x1:"8",y1:"22",x2:"16",y2:"22"})]})}),d&&(0,a.jsx)("button",{onClick:()=>{var e;return null==(e=m.current)?void 0:e.click()},disabled:p,title:"Attach file",style:{position:"absolute",left:70,top:7,width:28,height:28,borderRadius:2,display:"flex",alignItems:"center",justifyContent:"center",background:S,border:"1px solid ".concat(T),cursor:p?"not-allowed":"pointer",opacity:p?.3:1,color:"var(--ink-5)",transition:"all 0.15s"},children:(0,a.jsx)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:(0,a.jsx)("path",{d:"M21.44 11.05l-9.19 9.19a6 6 0 0 1-8.49-8.49l9.19-9.19a4 4 0 0 1 5.66 5.66l-9.2 9.19a2 2 0 0 1-2.83-2.83l8.49-8.48"})})}),(0,a.jsx)("textarea",{ref:t,value:n,onChange:e=>r(e.target.value),onKeyDown:e=>{"Enter"!==e.key||e.shiftKey||(e.preventDefault(),l())},onPaste:e=>{var t;if(!d)return;let n=null==(t=e.clipboardData)?void 0:t.items;if(!n)return;let a=[];for(let e=0;e<n.length;e++){let t=n[e];if("file"===t.kind){let e=t.getAsFile();e&&a.push(e)}}a.length>0&&(e.preventDefault(),d(a))},placeholder:h?"Broadcast to all agents…":"Message ".concat(g.toLowerCase()," agent…"),disabled:p,rows:1,style:{width:"100%",background:"transparent",border:"none",outline:"none",padding:"12px 132px 12px ".concat(d?106:72,"px"),fontSize:13,color:"var(--ink)",fontFamily:z,resize:"none",lineHeight:1.5,minHeight:44,maxHeight:240,cursor:p?"not-allowed":"text"},onInput:e=>{let t=e.currentTarget;t.style.height="auto",t.style.height=Math.min(t.scrollHeight,240)+"px"}}),(0,a.jsxs)("div",{style:{position:"absolute",right:10,top:7,display:"flex",alignItems:"center",gap:6},children:[(0,a.jsx)("button",{onClick:s,disabled:p,title:"Broadcast to all agents",style:{width:28,height:28,borderRadius:2,display:"flex",alignItems:"center",justifyContent:"center",background:h?C:S,border:"1px solid ".concat(h?C:T),cursor:p?"not-allowed":"pointer",opacity:p?.3:1,fontSize:13,transition:"all 0.15s",flexShrink:0},children:"\uD83D\uDCE2"}),(0,a.jsx)("button",{onClick:l,disabled:!x,style:{padding:"7px 12px",borderRadius:3,background:x?C:"var(--paper-input)",border:"1px solid ".concat(x?C:T),color:x?"#000":"var(--ink-6)",fontFamily:E,fontSize:10,letterSpacing:"0.08em",cursor:x?"pointer":"not-allowed",transition:"all 0.15s",whiteSpace:"nowrap",flexShrink:0},children:"SEND →"})]})]})});function eo(e){var t,n;let{selectedAgent:r,chatOpen:o,conversations:d,onSelectAgent:c,onOpenMarketplace:p}=e,{pack:u}=j(),h=null!=(t=null==u?void 0:u.agentTeams)?t:s,g=null!=(n=null==u?void 0:u.agents)?n:l,[m,f]=(0,i.useState)(new Set),[x,y]=(0,i.useState)(""),v=(0,i.useRef)(null),[b,k]=(0,i.useState)({}),[w,R]=(0,i.useState)(()=>{try{let e=window.localStorage.getItem("leedab:agent:seen-len");return e?JSON.parse(e):{}}catch(e){return{}}});(0,i.useEffect)(()=>{var e,t,n;if(!o)return;let a=null!=(t=null==(e=d[r])?void 0:e.length)?t:0;if((null!=(n=w[r])?n:0)===a)return;let i={...w,[r]:a};R(i);try{window.localStorage.setItem("leedab:agent:seen-len",JSON.stringify(i))}catch(e){}},[r,o,d,w]),(0,i.useEffect)(()=>{let e=e=>{let t=["TEXTAREA","INPUT"].includes(e.target.tagName);"/"!==e.key||t||!v.current||o||(e.preventDefault(),v.current.focus())};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[o]);let B=e=>{var t,n,a;if(!x.trim())return!0;let i=x.toLowerCase(),r=g[e];return null!=(t=null==r?void 0:r.code.toLowerCase().includes(i))&&t||null!=(n=null==r?void 0:r.name.toLowerCase().includes(i))&&n||null!=(a=null==r?void 0:r.tagline.toLowerCase().includes(i))&&a};return(0,i.useEffect)(()=>{let e=!1,t=async()=>{try{let t=await fetch("/api/runs?limit=500");if(!t.ok)return;let n=await t.json(),a=Date.now(),i={};for(let e of n.runs){let t=a-e.startedAt;if(t>864e5)continue;let n=11-Math.floor(t/72e5);!(n<0)&&!(n>11)&&(i[e.agentId]||(i[e.agentId]=Array(12).fill(0)),i[e.agentId][n]++)}e||k(i)}catch(e){}};t();let n=setInterval(t,3e4);return()=>{e=!0,clearInterval(n)}},[]),(0,a.jsxs)("div",{style:{width:220,flexShrink:0,borderRight:"1px solid ".concat(T),background:S,display:"flex",flexDirection:"column",overflow:"hidden"},children:[(0,a.jsx)("div",{style:{padding:"8px 10px",borderBottom:"1px solid ".concat(F),flexShrink:0},children:(0,a.jsx)("input",{ref:v,value:x,onChange:e=>y(e.target.value),onKeyDown:e=>{"Escape"===e.key&&(y(""),e.currentTarget.blur())},placeholder:"Find…",style:{width:"100%",padding:"4px 8px",background:"var(--paper-input)",border:"1px solid ".concat(F),borderRadius:2,color:"var(--ink)",fontFamily:E,fontSize:10,outline:"none"}})}),(0,a.jsx)("div",{style:{flex:1,overflowY:"auto"},children:h.map((e,t)=>{let{label:n,ids:i,color:l}=e,s=i.filter(B);if(0===s.length)return null;let p=!m.has(n);return(0,a.jsxs)("div",{style:{borderTop:0===t?"none":"1px solid ".concat(F),background:"linear-gradient(90deg, ".concat(l,"0a 0%, transparent 60%)")},children:[(0,a.jsxs)("button",{onClick:()=>f(e=>{let t=new Set(e);return t.has(n)?t.delete(n):t.add(n),t}),style:{display:"flex",alignItems:"center",gap:8,width:"100%",padding:"8px 10px 7px",background:"transparent",borderTop:"none",borderRight:"none",borderBottom:"none",borderLeft:"3px solid ".concat(l),cursor:"pointer",textAlign:"left",transition:"background 0.12s"},onMouseEnter:e=>{e.currentTarget.style.background="".concat(l,"14")},onMouseLeave:e=>{e.currentTarget.style.background="transparent"},children:[(0,a.jsx)("span",{style:{fontFamily:E,fontSize:9,color:l,opacity:.7,display:"inline-block",transition:"transform 0.15s",transform:p?"rotate(90deg)":"none",lineHeight:1,width:8},children:"›"}),(0,a.jsx)("span",{style:{fontFamily:E,fontSize:10,fontWeight:600,color:l,letterSpacing:"0.14em",flex:1,overflow:"hidden",textOverflow:"ellipsis"},children:n})]}),p&&s.map(e=>{var t;let n=g[e];if(!n)return null;let i=function(e){var t,n,a;let i=null!=(n=null==(t=d[e])?void 0:t.length)?n:0,r=null!=(a=w[e])?a:i;return Math.min(99,Math.max(0,i-r))}(e),s=e===r&&o,p=D[e];return(0,a.jsxs)("button",{onClick:()=>c(e),style:{display:"flex",alignItems:"center",gap:7,width:"100%",padding:"5px 10px 5px 22px",background:s?"".concat(l,"1c"):"transparent",borderTop:"none",borderRight:"none",borderBottom:"none",borderLeft:"2px solid ".concat(s?l:"transparent"),cursor:"pointer",textAlign:"left",transition:"background 0.1s"},onMouseEnter:e=>{s||(e.currentTarget.style.background="".concat(l,"10"))},onMouseLeave:e=>{s||(e.currentTarget.style.background="transparent")},children:[(0,a.jsx)("span",{style:{width:5,height:5,borderRadius:"50%",flexShrink:0,background:"active"===p?l:"var(--ink-7)",boxShadow:"active"===p?"0 0 4px ".concat(l,"88"):"none"}}),(0,a.jsx)("span",{style:{fontFamily:E,fontSize:8,color:s?l:"var(--ink-5)",flex:"0 0 26px",letterSpacing:"0.04em",fontVariantNumeric:"tabular-nums",textAlign:"left"},children:n.code}),(0,a.jsx)("span",{title:"".concat(n.name," — ").concat(n.tagline),style:{fontSize:11,fontFamily:z,color:s?"var(--ink)":"var(--ink-3)",flex:1,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",fontWeight:s?500:400},children:n.name}),(0,a.jsx)(es,{buckets:null!=(t=b[e])?t:[],accent:l}),i>0&&(0,a.jsx)("span",{style:{background:l,color:"var(--paper)",borderRadius:8,fontSize:9,lineHeight:1,padding:"2px 6px",fontFamily:E,fontWeight:600,flexShrink:0,minWidth:16,textAlign:"center"},children:i})]},e)})]},n)})}),(0,a.jsxs)("button",{onClick:()=>null==p?void 0:p(),onMouseEnter:e=>{e.currentTarget.style.background="".concat(C,"14")},onMouseLeave:e=>{e.currentTarget.style.background="transparent"},style:{flexShrink:0,display:"flex",alignItems:"center",justifyContent:"center",gap:6,padding:"10px 12px",background:"transparent",border:"none",borderTop:"1px dashed ".concat(T),color:"var(--ink-5)",fontFamily:E,fontSize:10,letterSpacing:"0.16em",cursor:"pointer",textTransform:"uppercase",transition:"background 0.15s, color 0.15s"},children:[(0,a.jsx)("span",{style:{color:C,fontSize:13,lineHeight:1},children:"+"})," ADD OPERATOR"]})]})}function es(e){let{buckets:t,accent:n}=e;if(0===t.length)return(0,a.jsx)("div",{style:{width:36,height:14,flexShrink:0},"aria-hidden":!0});let i=null!=n?n:C,r=Math.max(1,...t);return(0,a.jsx)("svg",{width:36,height:14,style:{flexShrink:0},"aria-label":"last 24h activity",children:Array.from({length:12}).map((e,n)=>{var l;let o=null!=(l=t[n])?l:0,s=0===o?1:Math.max(1,Math.round(o/r*12));return(0,a.jsx)("rect",{x:3*n,y:14-s,width:2.5,height:s,fill:0===o?"var(--ink-7)":i,opacity:0===o?.3:.85},n)})})}function ed(e){return"".concat("leedab-dashboard-layout-").concat(e)}var ec=n(7787),ep=n(9027),eu=n(7587);function eh(e){var t,n,r,o;let{selectedAgent:d,chatOpen:c,conversations:p,onSelectAgent:u,broadcastTargets:h=[],onOpenMarketplace:g}=e,[m,f]=(0,i.useState)(new Set);(0,i.useEffect)(()=>{let e=!1;async function t(){try{let t=await fetch("/api/runs?limit=200");if(!t.ok)return;let n=await t.json(),a=Date.now()-36e5,i=new Set(n.runs.filter(e=>e.startedAt>a).map(e=>e.agentId));e||f(i)}catch(e){}}t();let n=setInterval(t,3e4);return()=>{e=!0,clearInterval(n)}},[]);let{pack:x}=j(),y=null!=(t=null==x?void 0:x.agentTeams)?t:s,v=null!=(n=null==x?void 0:x.agents)?n:l,b=null!=(r=null==x?void 0:x.customer)?r:null,k=null!=(o=null==b?void 0:b.clientId)?o:null,[S,w]=(0,i.useState)(null);(0,i.useEffect)(()=>{if(!k)return void w(null);w(function(e){try{let t=window.localStorage.getItem(ed(e));if(!t)return null;let n=JSON.parse(t);if(!n||!Array.isArray(n.teamOrder))return null;return n}catch(e){return null}}(k))},[k]);let T=(0,i.useMemo)(()=>(function(e,t){if(!t)return e;let n=new Map(e.map(e=>[e.label,e])),a=[];for(let t of e){var i;let e=null!=(i=t.group)?i:null,n=a[a.length-1];n&&n.group===e?n.labels.push(t.label):a.push({group:e,labels:[t.label]})}let r=[];for(let e of a){let n=new Set(e.labels),a=new Set;for(let e of t.teamOrder)n.has(e)&&!a.has(e)&&(r.push(e),a.add(e));for(let t of e.labels)a.has(t)||(r.push(t),a.add(t))}return r.map(e=>n.get(e))})(y,S),[y,S]),F=T.length,R=T.reduce((e,t)=>e+t.ids.length,0),[z,I]=(0,i.useState)(!1),A=(0,ec.FR)((0,ec.MS)(ec.AN,{activationConstraint:{distance:5}}),(0,ec.MS)(ec.uN,{coordinateGetter:ep.JR})),D=e=>{let{active:t,over:n}=e;if(!n||!k)return;let a=String(t.id),i=String(n.id);if(a===i)return;let r=function(e,t,n){var a,i;if(t===n)return e;let r=e.findIndex(e=>e.label===t),l=e.findIndex(e=>e.label===n);if(r<0||l<0||(null!=(a=e[r].group)?a:null)!==(null!=(i=e[l].group)?i:null))return e;let o=e.slice(),[s]=o.splice(r,1);return o.splice(l,0,s),o}(T,a,i);if(r===T)return;let l={teamOrder:r.map(e=>e.label),updatedAt:Date.now()};w(l);try{window.localStorage.setItem(ed(k),JSON.stringify(l))}catch(e){}},W=(e,t)=>{var n,a;return{id:e,agent:v[e],isOpen:e===d&&c,isInBroadcast:h.includes(e),hasMessages:(null!=(a=null==(n=p[e])?void 0:n.length)?a:0)>0,ranRecently:m.has(e),floatDelay:t,onClick:t=>{u(e,{multi:t.metaKey||t.ctrlKey||t.shiftKey})}}},O=R<=10?108:R<=14?98:R<=24?88:R<=40?78:68,L=T.reduce((e,t)=>e+t.ids.filter(e=>m.has(e)).length,0),N=R<=10?420:R<=18?380:340;return(0,a.jsx)("div",{style:{flex:1,overflow:"auto",background:"radial-gradient(ellipse 70% 40% at 50% 0%, ".concat(C,"06 0%, transparent 70%), var(--paper)")},children:(0,a.jsxs)("div",{style:{maxWidth:1320,margin:"0 auto",padding:"32px 32px 96px"},children:[(0,a.jsxs)("div",{style:{display:"flex",alignItems:"flex-end",gap:24,paddingBottom:22,marginBottom:32,borderBottom:"1px solid var(--ink-7)",position:"relative",flexWrap:"wrap"},children:[(0,a.jsx)("div",{style:{fontFamily:E,fontSize:10,color:C,letterSpacing:"0.2em",lineHeight:1,paddingBottom:4,flexShrink:0},children:"\xa7 00"}),(0,a.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:6,flexShrink:0},children:[(0,a.jsxs)("div",{style:{fontFamily:M,fontStyle:"italic",fontSize:38,fontWeight:400,color:"var(--ink)",letterSpacing:"-0.025em",lineHeight:.95},children:["The ",(0,a.jsx)("span",{style:{color:C},children:"workforce"}),"."]}),b&&(0,a.jsxs)("div",{style:{fontFamily:E,fontSize:10,color:"var(--ink-4)",letterSpacing:"0.16em",textTransform:"uppercase"},children:[(0,a.jsx)("span",{style:{color:"var(--ink-2)"},children:b.displayName}),b.industry?(0,a.jsxs)("span",{children:[" \xb7 ",b.industry]}):null,b.tier?(0,a.jsxs)("span",{children:[" \xb7 ",b.tier]}):null]})]}),(0,a.jsxs)("div",{style:{fontFamily:E,fontSize:10,color:"var(--ink-5)",letterSpacing:"0.14em",textTransform:"uppercase",paddingBottom:6,lineHeight:1.5,flex:1,minWidth:180,display:"flex",flexDirection:"column",alignItems:"flex-end",gap:3},children:[(0,a.jsxs)("span",{children:[(0,a.jsx)("span",{style:{color:"var(--ink-2)",fontSize:14,fontFamily:B,fontWeight:500,letterSpacing:"-0.01em",marginRight:4},children:R})," ",1===R?"AB":"AB's"," \xb7 ",F," teams"]}),L>0&&(0,a.jsxs)("span",{style:{color:C},children:["● ",L," active last hour"]}),k&&(0,a.jsxs)("span",{style:{display:"flex",gap:6,marginTop:4},children:[g&&(0,a.jsxs)("button",{type:"button",onClick:g,title:"Add, remove, or spawn a custom operator",style:{fontFamily:E,fontSize:9,letterSpacing:"0.14em",textTransform:"uppercase",padding:"4px 10px",borderRadius:3,border:"1px solid var(--ink-7)",background:"transparent",color:"var(--ink-4)",cursor:"pointer",transition:"all 0.18s",display:"inline-flex",alignItems:"center",gap:5},onMouseEnter:e=>{e.currentTarget.style.background="".concat(C,"14"),e.currentTarget.style.borderColor=C},onMouseLeave:e=>{e.currentTarget.style.background="transparent",e.currentTarget.style.borderColor="var(--ink-7)"},children:[(0,a.jsx)("span",{style:{color:C,fontSize:11,lineHeight:1},children:"+"}),"Add operator"]}),(0,a.jsx)("button",{type:"button",onClick:()=>I(e=>!e),title:z?"Exit layout edit mode":"Drag team cards to rearrange",style:{fontFamily:E,fontSize:9,letterSpacing:"0.14em",textTransform:"uppercase",padding:"4px 10px",borderRadius:3,border:"1px solid ".concat(z?C:"var(--ink-7)"),background:z?"".concat(C,"14"):"transparent",color:z?C:"var(--ink-4)",cursor:"pointer",transition:"all 0.18s"},children:z?"Done":"Edit layout"}),z&&S&&(0,a.jsx)("button",{type:"button",onClick:()=>{if(k){try{window.localStorage.removeItem(ed(k))}catch(e){}w(null),I(!1)}},title:"Restore default team order",style:{fontFamily:E,fontSize:9,letterSpacing:"0.14em",textTransform:"uppercase",padding:"4px 10px",borderRadius:3,border:"1px solid var(--ink-7)",background:"transparent",color:"var(--ink-5)",cursor:"pointer"},children:"Reset"})]})]})]}),(()=>{let e=[];for(let n of T){var t;let a=null!=(t=n.group)?t:null,i=e[e.length-1];i&&i.group===a?i.teams.push(n):e.push({group:a,teams:[n]})}let n=0;return(0,a.jsx)(ec.Mp,{sensors:A,collisionDetection:ec.fp,onDragEnd:D,children:e.map((e,t)=>(0,a.jsxs)("div",{children:[e.group&&(0,a.jsxs)("div",{style:{fontFamily:E,fontSize:11,color:"var(--ink-4)",letterSpacing:"0.22em",textTransform:"uppercase",paddingBottom:8,marginTop:36*(0!==t),marginBottom:18,borderBottom:"1px dashed var(--ink-7)",display:"flex",alignItems:"baseline",gap:12},children:[(0,a.jsx)("span",{style:{color:C,letterSpacing:"0.18em"},children:"—"}),(0,a.jsx)("span",{children:e.group})]}),(0,a.jsx)(ep.gB,{items:e.teams.map(e=>e.label),strategy:ep.kL,children:(0,a.jsx)("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(".concat(N,"px, 1fr))"),gap:20},children:e.teams.map(e=>{let t=n++;return(0,a.jsx)(eg,{team:e,teamIndex:t,orbSize:O,agentMap:v,recentIds:m,orbProps:W,editMode:z},e.label)})})})]},"group-".concat(t)))})})()]})})}function eg(e){var t;let{team:n,teamIndex:i,orbSize:r,agentMap:l,recentIds:o,orbProps:s,editMode:d}=e,{label:c,ids:p,color:u}=n,h=u||(null==(t=l[p[0]])?void 0:t.accent)||C,g=p.some(e=>o.has(e)),{attributes:m,listeners:f,setNodeRef:x,transform:y,transition:v,isDragging:b}=(0,ep.gl)({id:c,disabled:!d}),j={transform:eu.Ks.Transform.toString(y),transition:v,opacity:b?.55:1,cursor:d?b?"grabbing":"grab":"default",boxShadow:b?"0 1px 0 rgba(255,255,255,0.6) inset, 0 18px 40px -10px ".concat(h,"99, 0 4px 12px rgba(26,23,19,0.18)"):"0 1px 0 rgba(255,255,255,0.6) inset, 0 6px 18px -10px ".concat(h,"55, 0 1px 3px rgba(26, 23, 19, 0.06)")},k=d?{outline:"1px dashed ".concat(h,"88"),outlineOffset:4}:void 0;return(0,a.jsxs)("div",{ref:x,...d?m:{},...d?f:{},style:{border:"1px solid ".concat(h,"40"),borderRadius:8,background:"linear-gradient(160deg, ".concat(h,"0d 0%, var(--paper) 55%)"),padding:"18px 18px 22px",position:"relative",overflow:"hidden",transition:"transform 0.3s cubic-bezier(.22,1,.36,1), box-shadow 0.3s",...k,...j},onMouseEnter:e=>{d||b||(e.currentTarget.style.transform="translateY(-2px)",e.currentTarget.style.boxShadow="0 1px 0 rgba(255,255,255,0.6) inset, 0 14px 32px -14px ".concat(h,"88, 0 2px 6px rgba(26, 23, 19, 0.08)"))},onMouseLeave:e=>{d||b||(e.currentTarget.style.transform="translateY(0)",e.currentTarget.style.boxShadow="0 1px 0 rgba(255,255,255,0.6) inset, 0 6px 18px -10px ".concat(h,"55, 0 1px 3px rgba(26, 23, 19, 0.06)"))},children:[(0,a.jsx)("div",{style:{position:"absolute",top:0,left:0,right:0,height:2,background:"linear-gradient(90deg, ".concat(h,"aa 0%, ").concat(h,"33 100%)")}}),(0,a.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10,paddingBottom:14,marginBottom:18,borderBottom:"1px dashed ".concat(h,"33")},children:[(0,a.jsx)("span",{style:{fontFamily:E,fontSize:13,fontWeight:700,color:h,letterSpacing:"0.16em"},children:c}),g&&(0,a.jsx)("span",{title:"active in last hour",className:"orb-recent-halo",style:{width:7,height:7,borderRadius:"50%",background:h,boxShadow:"0 0 7px ".concat(h,"cc")}}),(0,a.jsxs)("span",{style:{marginLeft:"auto",fontFamily:E,fontSize:10,color:h,padding:"3px 9px",border:"1px solid ".concat(h,"55"),borderRadius:999,lineHeight:1.5,letterSpacing:"0.06em"},children:[p.length," \xb7 ",1===p.length?"AB":"AB's"]})]}),(0,a.jsx)("div",{style:{display:"flex",flexWrap:"wrap",gap:"32px 26px",justifyContent:"flex-start",alignItems:"flex-start",paddingTop:4,pointerEvents:d?"none":"auto"},children:p.map((e,t)=>{let[n,l]=function(e){let t=0x811c9dc5;for(let n=0;n<e.length;n++)t^=e.charCodeAt(n),t=Math.imul(t,0x1000193);return[(t>>>0)%29-14,(t>>>8)%29-12]}(e);return(0,a.jsx)("div",{style:{transform:"translate(".concat(.2*n,"px, ").concat(.2*l,"px)")},children:(0,a.jsx)(em,{...s(e,-(1.2*i+.3*t)),orbSize:r})},e)})})]})}function em(e){var t;let{id:n,agent:r,isOpen:l,isInBroadcast:o=!1,hasMessages:s,ranRecently:d=!1,floatDelay:c,orbSize:p=80,onClick:u}=e,[h,g]=(0,i.useState)(!1),m=D[n],f=null!=(t=r.accent)?t:C,x=Math.round(.1375*p),y="#9aa37a",v=l?"radial-gradient(circle at 35% 28%, ".concat(f,"30 0%, ").concat(f,"14 35%, #ebe2d3 65%, #d8ccb8 100%)"):o?"radial-gradient(circle at 35% 28%, ".concat(y,"26 0%, ").concat(y,"10 40%, #ece4d0 70%, #d8ccb8 100%)"):h?"radial-gradient(circle at 35% 28%, #f0e8d8 0%, #e3d6c2 50%, #cfc0a5 100%)":"radial-gradient(circle at 35% 28%, #f5f0e6 0%, #ebe2d3 50%, #d8ccb8 100%)",b=l?"0 0 0 1.5px ".concat(f,"44, 0 0 20px ").concat(f,"22, 0 6px 24px rgba(26,23,19,0.14), inset 0 1px 0 rgba(255,255,255,0.75)"):o?"0 0 0 2px ".concat(y,", 0 0 0 4px ").concat(y,"30, 0 4px 16px rgba(26,23,19,0.12), inset 0 1px 0 rgba(255,255,255,0.78)"):h?"0 0 0 1px #b5a892, 0 4px 20px rgba(26,23,19,0.16), inset 0 1px 0 rgba(255,255,255,0.85), inset 0 0 14px rgba(26,23,19,0.05)":"0 0 0 1px #c9bea6, 0 2px 12px rgba(26,23,19,0.10), inset 0 1px 0 rgba(255,255,255,0.80), inset 0 0 12px rgba(26,23,19,0.04)";return(0,a.jsxs)("div",{onClick:u,onMouseEnter:()=>g(!0),onMouseLeave:()=>g(!1),style:{display:"flex",flexDirection:"column",alignItems:"center",gap:0,cursor:"pointer",transform:"scale(".concat(l?1.15:h?1.08:1,")"),transition:"transform 0.22s cubic-bezier(0.4, 0, 0.2, 1)"},children:[(0,a.jsxs)("div",{style:{position:"relative",width:p,height:p,animation:"orb-float 4s ease-in-out ".concat(c,"s infinite"),willChange:"transform"},children:[l&&(0,a.jsx)("div",{style:{position:"absolute",inset:-12,borderRadius:"50%",background:"radial-gradient(ellipse, ".concat(f,"28 0%, transparent 70%)"),pointerEvents:"none"}}),"active"===m&&(0,a.jsx)("div",{className:"orb-pulse-ring",style:{position:"absolute",inset:-4,borderRadius:"50%",border:"1px solid ".concat(l?f+"44":f+"22"),pointerEvents:"none"}}),d&&!l&&(0,a.jsx)("div",{className:"orb-recent-halo",style:{position:"absolute",inset:-8,borderRadius:"50%",background:"radial-gradient(ellipse, ".concat(f,"24 0%, transparent 65%)"),pointerEvents:"none"}}),(0,a.jsxs)("div",{style:{width:p,height:p,borderRadius:"50%",background:v,boxShadow:b,display:"flex",alignItems:"center",justifyContent:"center",position:"relative",overflow:"hidden",transition:"background 0.3s, box-shadow 0.3s"},children:[(0,a.jsx)("div",{style:{position:"absolute",top:"12%",left:"18%",width:"38%",height:"26%",borderRadius:"50%",background:"radial-gradient(ellipse, rgba(255,255,255,0.80) 0%, transparent 75%)",pointerEvents:"none"}}),(0,a.jsx)("div",{style:{position:"absolute",bottom:"8%",right:"10%",width:"44%",height:"34%",borderRadius:"50%",background:"radial-gradient(ellipse, rgba(0,0,0,0.10) 0%, transparent 70%)",pointerEvents:"none"}}),(0,a.jsx)("div",{style:{position:"absolute",inset:0,borderRadius:"50%",background:"radial-gradient(ellipse at 50% 0%, rgba(255,255,255,0.45) 0%, transparent 55%)",pointerEvents:"none"}}),(0,a.jsx)("span",{style:{fontFamily:E,fontSize:x,fontWeight:700,color:l?f:h?"var(--ink-3)":"var(--ink-5)",letterSpacing:"0.04em",textShadow:l?"0 0 12px ".concat(f,"55"):"none",position:"relative",zIndex:1,transition:"color 0.25s, text-shadow 0.25s"},children:r.code})]}),(0,a.jsxs)("div",{style:{position:"absolute",bottom:1,right:1,display:"flex",alignItems:"center",gap:3},children:[s&&!l&&(0,a.jsx)("span",{style:{width:5,height:5,borderRadius:"50%",background:C,display:"inline-block",boxShadow:"0 0 6px ".concat(C)}}),(0,a.jsx)("span",{style:{width:8,height:8,borderRadius:"50%",display:"inline-block",background:"active"===m?C:"var(--ink-7)",boxShadow:"active"===m?"0 0 8px ".concat(C,"aa"):"none",border:"1.5px solid ".concat(k),transition:"all 0.3s"}})]})]}),(0,a.jsx)("div",{style:{width:.7*p,height:6,borderRadius:"50%",background:"radial-gradient(ellipse, #00000077 0%, transparent 80%)",marginTop:6,animation:"orb-shadow 4s ease-in-out ".concat(c,"s infinite"),willChange:"transform, opacity"}}),(0,a.jsx)("div",{style:{marginTop:10,fontFamily:E,fontSize:11,letterSpacing:"0.1em",textAlign:"center",color:l?"var(--ink-2)":h?"var(--ink-4)":"var(--ink-6)",transition:"color 0.2s",whiteSpace:"nowrap",textTransform:"uppercase"},children:r.name})]})}var ef=n(6497),ex=n(9924);function ey(e){var t;let{agents:n,agentOrder:r,onSelectAgent:l}=e,o=r[0],s=o?n[o]:void 0,[d,c]=(0,i.useState)(null),[p,u]=(0,i.useState)([]);(0,i.useEffect)(()=>{let e=!1;async function t(){try{let t=await fetch("/api/runs?limit=50");if(!t.ok)return;let n=await t.json();if(e)return;let a=new Date;a.setHours(0,0,0,0);let i=n.runs.filter(e=>e.startedAt>=a.getTime());u(i);let r=n.runs[0];c(r?{agentId:r.agentId,startedAt:r.startedAt}:null)}catch(e){}}t();let n=setInterval(t,3e4);return()=>{e=!0,clearInterval(n)}},[]);let h=(0,i.useMemo)(()=>{var e,t,a,i,r,l,o,s,c,u,h;let g=[],m=p.length,f=Date.now();if(d){let a=null!=(t=null==(e=n[d.agentId])?void 0:e.name)?t:d.agentId,i=function(e){let t=Date.now()-e;return t<6e4?"just now":t<36e5?"".concat(Math.floor(t/6e4),"m ago"):t<864e5?"".concat(Math.floor(t/36e5),"h ago"):"".concat(Math.floor(t/864e5),"d ago")}(d.startedAt);g.push({line:"".concat(a," finished a thread ").concat(i,"."),attribution:"the brain"});let r=f-d.startedAt;r>6e5&&0===m&&g.push({line:"Quiet stretch: ".concat(Math.round(r/6e4),"m since the last run."),attribution:"the brain"})}m>=2&&g.push({line:"".concat(m," runs closed today."),attribution:"the brain"});let x=p.reduce((e,t)=>{var n;return e+(null!=(n=t.estimatedCost)?n:0)},0);x>=.01&&g.push({line:"Spent $".concat(x.toFixed(2)," today across ").concat(m," runs."),attribution:"the brain"});let y=p.filter(e=>{var t;return(null!=(t=e.durationMs)?t:0)>0});if(y.length>=3){let e=y.reduce((e,t)=>{var n;return e+(null!=(n=t.durationMs)?n:0)},0)/y.length,t=e>=1e3?"".concat((e/1e3).toFixed(1),"s"):"".concat(Math.round(e),"ms");g.push({line:"Average thread closed in ".concat(t," today."),attribution:"the brain"})}if(m>=3){let e={};for(let t of p)e[t.agentId]=(null!=(a=e[t.agentId])?a:0)+1;let t=Object.entries(e).sort((e,t)=>t[1]-e[1]),d=t[0];if(d&&d[1]>=2){let e=null!=(r=null==(i=n[d[0]])?void 0:i.name)?r:d[0];g.push({line:"".concat(e," carried most of the load, ").concat(d[1]," threads."),attribution:"the brain"})}let u=t[1];if(d&&u&&u[1]>=2&&d[0]!==u[0]){let e=null!=(s=null==(l=n[d[0]])?void 0:l.name)?s:d[0],t=null!=(c=null==(o=n[u[0]])?void 0:o.name)?c:u[0];g.push({line:"".concat(e," and ").concat(t," did most of today's work."),attribution:"the brain"})}}if(m>=2){let e={};for(let t of p){let n=null!=(u=t.triggerType)?u:"console";e[n]=(null!=(h=e[n])?h:0)+1}let t=Object.entries(e).sort((e,t)=>t[1]-e[1])[0];if(t&&t[1]>=2){let e="console"===t[0]?"Console":t[0][0].toUpperCase()+t[0].slice(1);g.push({line:"".concat(e," drove ").concat(t[1]," of today's threads."),attribution:"the brain"})}}let v=p.filter(e=>"error"===e.status).length;v>0&&m>v&&g.push({line:"".concat(m-v," clean \xb7 ").concat(v," flagged today."),attribution:"the brain"});let b=p.filter(e=>f-e.startedAt<36e5).length;b>=2&&g.push({line:"".concat(b," threads closed in the last hour."),attribution:"the brain"});let j=new Date().getHours();j<5?g.push({line:"Late. The brain's still listening.",attribution:"the loop"}):j<12?g.push({line:"Morning. The workforce is awake.",attribution:"the brain"}):j<18?g.push({line:"Afternoon. Threads quietly in motion.",attribution:"the brain"}):g.push({line:"Evening. Still on the loop.",attribution:"the brain"}),g.push({line:"Welcome back. The thread was held.",attribution:"the brain"},{line:"Good to see you. We kept watch.",attribution:"the loop"}),g.push({line:"Nothing repeats. Everything compounds.",attribution:"the brain"},{line:"Signal in. Outcome out.",attribution:"the loop"},{line:"A colleague that never forgets a step.",attribution:"an AB"},{line:"Memory deepens with every run.",attribution:"the brain"});let k=[...g],S=31*new Date().getHours()+new Date().getMinutes();for(let e=k.length-1;e>0;e--){let t=(S=0x41c64e6d*S+12345&0x7fffffff)%(e+1);[k[e],k[t]]=[k[t],k[e]]}return k},[d,p,n]),[g,m]=(0,i.useState)(0);(0,i.useEffect)(()=>{if(h.length<=1)return;let e=setInterval(()=>m(e=>(e+1)%h.length),Math.max(4e3,Math.floor(6e4/h.length)));return()=>clearInterval(e)},[h.length]);let f=null!=(t=h[g%Math.max(1,h.length)])?t:{line:"All quiet. The workforce is ready.",attribution:"the brain"};return(0,a.jsxs)("div",{style:{flex:1,display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",padding:"40px 32px",gap:0},children:[(0,a.jsx)("div",{style:{fontFamily:E,fontSize:10,color:"var(--ink-6)",letterSpacing:"0.14em",marginBottom:28},children:"\xa7 00 / OPERATORS"}),(0,a.jsx)(ev,{}),(0,a.jsx)("div",{style:{marginTop:30,minHeight:78,width:"100%",maxWidth:460,display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center"},children:(0,a.jsx)(ef.N,{mode:"wait",children:(0,a.jsxs)(ex.P.div,{initial:{opacity:0,y:6},animate:{opacity:1,y:0},exit:{opacity:0,y:-6},transition:{duration:.6,ease:"easeOut"},style:{display:"flex",flexDirection:"column",alignItems:"center"},children:[(0,a.jsx)("div",{style:{fontFamily:M,fontStyle:"italic",fontSize:26,color:"var(--ink-2)",textAlign:"center",letterSpacing:"-0.01em",lineHeight:1.25},children:f.line}),(0,a.jsxs)("div",{style:{marginTop:8,fontFamily:E,fontSize:9,color:"var(--ink-5)",letterSpacing:"0.14em",textTransform:"uppercase"},children:["— ",f.attribution]})]},g)})}),s&&(0,a.jsxs)("button",{type:"button",onClick:()=>l(s.id),style:{marginTop:32,padding:"10px 22px",background:"transparent",border:"1px solid ".concat(C,"88"),borderRadius:3,color:C,fontFamily:E,fontSize:11,letterSpacing:"0.12em",textTransform:"uppercase",cursor:"pointer",transition:"all 0.18s"},onMouseEnter:e=>{e.currentTarget.style.background="".concat(C,"14"),e.currentTarget.style.borderColor=C},onMouseLeave:e=>{e.currentTarget.style.background="transparent",e.currentTarget.style.borderColor="".concat(C,"88")},children:["→ Start with ",s.name]}),(0,a.jsx)("div",{style:{marginTop:36,fontFamily:z,fontSize:10,color:"var(--ink-6)",letterSpacing:"0.06em"},children:"⌘L to search"})]})}function ev(){return(0,a.jsxs)("svg",{width:280,height:140,viewBox:"0 0 ".concat(280," ").concat(140),"aria-hidden":"true",style:{display:"block"},children:[(0,a.jsx)(ex.P.circle,{cx:140,cy:70,r:28,fill:"".concat(C,"14"),animate:{opacity:[.5,.9,.5],scale:[1,1.06,1]},transition:{duration:3.6,repeat:1/0,ease:"easeInOut"},style:{transformOrigin:"".concat(140,"px ").concat(70,"px")}}),(0,a.jsx)(ex.P.circle,{cx:140,cy:70,r:5,fill:C,animate:{opacity:[.85,1,.85]},transition:{duration:2.4,repeat:1/0,ease:"easeInOut"}}),[{x:28,y:30,r:1.8,dur:3.4,delay:0},{x:64,y:18,r:1.5,dur:4.1,delay:.6},{x:108,y:26,r:1.7,dur:3.6,delay:1.2},{x:172,y:22,r:1.5,dur:4.3,delay:.3},{x:220,y:32,r:1.8,dur:3.2,delay:.9},{x:256,y:50,r:1.5,dur:4.5,delay:1.5},{x:22,y:78,r:1.7,dur:3.8,delay:.4},{x:256,y:92,r:1.7,dur:3.5,delay:1.1},{x:36,y:116,r:1.5,dur:4,delay:.7},{x:80,y:122,r:1.8,dur:3.3,delay:1.4},{x:140,y:128,r:1.5,dur:4.2,delay:.2},{x:200,y:122,r:1.7,dur:3.7,delay:.8},{x:240,y:114,r:1.5,dur:4.4,delay:1},{x:96,y:60,r:1.4,dur:4.6,delay:1.3}].map((e,t)=>(0,a.jsx)(ex.P.circle,{cx:e.x,cy:e.y,r:e.r+.4,fill:C,animate:{opacity:[.28,.78,.28]},transition:{duration:e.dur,delay:e.delay,repeat:1/0,ease:"easeInOut"}},t))]})}function eb(e){let{open:t,context:n,onSubmit:r,onCancel:l}=e,[o,s]=(0,i.useState)(""),[d,c]=(0,i.useState)(null),[p,u]=(0,i.useState)(!0);if((0,i.useEffect)(()=>{if(!t)return void u(!0);let e=!1;return(async()=>{try{let n=await fetch("/api/bootstrap-admin-token",{cache:"no-store"});if(e)return;if(n.ok){var t;let e=await n.json(),a=null==e||null==(t=e.token)?void 0:t.trim();if(a){h(a),r();return}}}catch(e){}e||u(!1)})(),()=>{e=!0}},[t]),!t||p)return null;let g=()=>{let e=o.trim();if(!e)return void c("Token is required");h(e),s(""),c(null),r()};return(0,a.jsx)("div",{style:{position:"fixed",inset:0,background:"rgba(0,0,0,0.7)",zIndex:1300,display:"flex",alignItems:"center",justifyContent:"center",backdropFilter:"blur(4px)"},children:(0,a.jsxs)("div",{style:{width:460,maxWidth:"92vw",background:"var(--paper-3)",border:"1px solid ".concat(T),borderRadius:6,padding:"22px 24px",boxShadow:"0 24px 80px rgba(0,0,0,0.6)"},children:[(0,a.jsx)("div",{style:{fontFamily:E,fontSize:9,color:C,letterSpacing:"0.16em",marginBottom:6},children:"ADMIN TOKEN REQUIRED"}),(0,a.jsx)("div",{style:{fontFamily:B,fontSize:20,fontWeight:500,color:"var(--ink)",marginBottom:12,letterSpacing:"-0.01em"},children:n?"Paste your admin token ".concat(n,"."):"Paste your admin token to continue."}),(0,a.jsxs)("div",{style:{fontSize:12,color:"var(--ink-3)",lineHeight:1.6,fontFamily:z,marginBottom:14},children:["The token is in ",(0,a.jsx)("code",{style:{background:"var(--paper-2)",padding:"1px 5px",borderRadius:3},children:"apps/console/.env.local"})," as"," ",(0,a.jsx)("code",{style:{background:"var(--paper-2)",padding:"1px 5px",borderRadius:3},children:"LEEDAB_ADMIN_TOKEN"}),". Stored in this tab only — closing the tab clears it."]}),(0,a.jsx)("input",{type:"password",value:o,onChange:e=>{s(e.target.value),c(null)},onKeyDown:e=>{"Enter"===e.key&&g(),"Escape"===e.key&&l()},placeholder:"paste token here",spellCheck:!1,autoFocus:!0,style:{width:"100%",padding:"10px 12px",background:"var(--paper-2)",border:"1px solid ".concat(d?"#c44":T),color:"var(--ink)",fontFamily:E,fontSize:12,borderRadius:3,outline:"none",letterSpacing:"0.04em",marginBottom:d?6:14}}),d&&(0,a.jsx)("div",{style:{fontSize:11,color:"#e58",marginBottom:12,fontFamily:E},children:d}),(0,a.jsxs)("div",{style:{display:"flex",gap:10,justifyContent:"flex-end"},children:[(0,a.jsx)("button",{type:"button",onClick:l,style:{padding:"8px 16px",background:"transparent",border:"1px solid ".concat(T),color:"var(--ink-2)",fontFamily:E,fontSize:12,borderRadius:3,cursor:"pointer",letterSpacing:"0.04em"},children:"Cancel"}),(0,a.jsx)("button",{type:"button",onClick:g,style:{padding:"8px 18px",background:C,border:"1px solid ".concat(C),color:"var(--paper-3)",fontFamily:E,fontSize:12,borderRadius:3,cursor:"pointer",letterSpacing:"0.04em",fontWeight:600},children:"Save for tab"})]})]})})}function ej(e){let{onClose:t}=e,[n,r]=(0,i.useState)("catalogue"),[l,o]=(0,i.useState)(null);return(0,a.jsxs)("div",{onClick:t,style:{position:"fixed",inset:0,background:"rgba(0,0,0,0.7)",zIndex:1100,display:"flex",alignItems:"center",justifyContent:"center",WebkitBackdropFilter:"blur(4px)",backdropFilter:"blur(4px)"},children:[(0,a.jsxs)("div",{onClick:e=>e.stopPropagation(),className:"animate-palette-drop",style:{width:860,maxWidth:"94vw",height:640,maxHeight:"88vh",background:"var(--paper-3)",border:"1px solid ".concat(T),borderRadius:6,overflow:"hidden",display:"flex",flexDirection:"column",boxShadow:"0 24px 80px rgba(0,0,0,0.6)"},children:[(0,a.jsxs)("div",{style:{padding:"16px 20px",borderBottom:"1px solid ".concat(T),display:"flex",alignItems:"baseline",justifyContent:"space-between"},children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("div",{style:{fontFamily:E,fontSize:9,color:C,letterSpacing:"0.16em",marginBottom:4},children:"OPERATOR LAB"}),(0,a.jsx)("div",{style:{fontFamily:B,fontSize:22,fontWeight:500,color:"var(--ink)",letterSpacing:"-0.01em"},children:"Add, remove, or spawn a custom operator."})]}),(0,a.jsx)("button",{onClick:t,style:{background:"transparent",border:"1px solid ".concat(T),color:"var(--ink-4)",padding:"4px 10px",borderRadius:3,fontFamily:E,fontSize:10,letterSpacing:"0.1em",cursor:"pointer"},children:"ESC"})]}),(0,a.jsxs)("div",{style:{display:"flex",borderBottom:"1px solid ".concat(T)},children:[(0,a.jsx)(ek,{label:"CATALOGUE",active:"catalogue"===n,onClick:()=>r("catalogue")}),(0,a.jsx)(ek,{label:"BUILD CUSTOM",active:"custom"===n,onClick:()=>r("custom")})]}),(0,a.jsx)("div",{style:{flex:1,overflowY:"auto"},children:"catalogue"===n?(0,a.jsx)(eS,{requestAdminToken:(e,t)=>o({context:e,retry:t})}):(0,a.jsx)(eF,{onSaved:t,requestAdminToken:(e,t)=>o({context:e,retry:t})})})]}),(0,a.jsx)(eb,{open:null!==l,context:null==l?void 0:l.context,onSubmit:()=>{let e=null==l?void 0:l.retry;o(null),e&&e()},onCancel:()=>o(null)})]})}function ek(e){let{label:t,active:n,onClick:i}=e;return(0,a.jsx)("button",{onClick:i,style:{flex:1,padding:"10px 16px",background:n?"var(--paper-2)":"transparent",border:"none",borderBottom:n?"2px solid ".concat(C):"2px solid transparent",color:n?"var(--ink)":"var(--ink-5)",fontFamily:E,fontSize:10,letterSpacing:"0.14em",cursor:"pointer"},children:t})}function eS(e){let{requestAdminToken:t}=e,{pack:n,refresh:r}=j(),[l,o]=(0,i.useState)(null),[s,d]=(0,i.useState)(null),[c,u]=(0,i.useState)(null),[h,m]=(0,i.useState)(null),x=(0,i.useCallback)(async()=>{try{let e=await fetch("/api/marketplace/catalogue");if(!e.ok)throw Error("catalogue ".concat(e.status));let t=await e.json();o(t.agents)}catch(e){u(e instanceof Error?e.message:"failed to load catalogue")}},[]);(0,i.useEffect)(()=>{x()},[x]);let v=(0,i.useCallback)(async e=>{u(null),d(e.id);try{let i=e.inUse?"DELETE":"POST",l=await f("/api/manifest/agents",{method:i,headers:{"Content-Type":"application/json"},body:JSON.stringify({id:e.id})});if(!l.ok){var n,a;if(await y(l)){g(),t("to ".concat(e.inUse?"remove":"add"," this operator"),()=>v(e));return}let r=await l.json().catch(()=>({}));u(null!=(a=null!=(n=r.message)?n:r.error)?a:"".concat(i," failed (").concat(l.status,")"));return}await Promise.all([x(),r()])}catch(n){if(n instanceof p)return void t("to ".concat(e.inUse?"remove":"add"," this operator"),()=>v(e));u(n instanceof Error?n.message:"request failed")}finally{d(null)}},[x,r,t]),b=(0,i.useMemo)(()=>{var e;let t=new Map;for(let a of null!=(e=null==n?void 0:n.agentTeams)?e:[])t.set(a.label.toUpperCase(),a.color);return t},[null==n?void 0:n.agentTeams]),k=(0,i.useMemo)(()=>{var e,t,a,i;if(!l)return[];let r=new Map,o=new Map;for(let n of l){let a=(null!=(e=n.team)?e:"—").toUpperCase();r.set(a,(null!=(t=r.get(a))?t:0)+1),o.has(a)||o.set(a,n.accent)}let s=[],d=new Set;for(let e of null!=(a=null==n?void 0:n.agentTeams)?a:[]){let t=e.label.toUpperCase(),n=r.get(t);void 0!==n&&(s.push({label:t,count:n,color:e.color}),d.add(t))}for(let[e,t]of r)d.has(e)||s.push({label:e,count:t,color:null!=(i=o.get(e))?i:C});return s},[l,null==n?void 0:n.agentTeams]),S=(0,i.useMemo)(()=>l&&h?l.filter(e=>{var t;return(null!=(t=e.team)?t:"—").toUpperCase()===h}):l,[l,h]);return l||c?(0,a.jsxs)("div",{style:{padding:18},children:[c&&(0,a.jsx)("div",{style:{marginBottom:12,padding:"8px 12px",background:"".concat(C,"14"),border:"1px solid ".concat(C),color:C,fontFamily:E,fontSize:11,borderRadius:3},children:c}),l&&l.length>0&&(0,a.jsxs)("div",{className:"marketplace-team-slider",style:{display:"flex",flexWrap:"nowrap",gap:6,marginBottom:14,paddingBottom:6,overflowX:"auto",overflowY:"hidden",WebkitOverflowScrolling:"touch",scrollbarWidth:"thin"},children:[(0,a.jsx)(ew,{label:"ALL",count:l.length,color:C,active:null===h,onClick:()=>m(null)}),k.map(e=>{var t;return(0,a.jsx)(ew,{label:e.label,count:e.count,color:null!=(t=b.get(e.label))?t:e.color,active:h===e.label,onClick:()=>m(e.label===h?null:e.label)},e.label)})]}),(0,a.jsx)("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fill, minmax(360px, 1fr))",gap:18},children:null==S?void 0:S.map((e,t)=>(0,a.jsx)(eT,{entry:e,index:t+1,pending:s===e.id,onToggle:()=>v(e)},e.id))}),S&&0===S.length&&(0,a.jsxs)("div",{style:{padding:"32px 12px",textAlign:"center",color:"var(--ink-5)",fontFamily:z,fontSize:13},children:["No operators in ",(0,a.jsx)("span",{style:{color:C,fontFamily:E,fontSize:11,letterSpacing:"0.1em"},children:h}),"."]})]}):(0,a.jsx)("div",{style:{padding:24,color:"var(--ink-5)",fontFamily:z,fontSize:13},children:"Loading catalogue…"})}function ew(e){let{label:t,count:n,color:i,active:r,onClick:l}=e;return(0,a.jsxs)("button",{onClick:l,title:"Filter by ".concat(t),style:{flexShrink:0,display:"inline-flex",alignItems:"center",gap:6,padding:"4px 10px",border:"1px solid ".concat(T),background:r?"var(--paper-2)":"transparent",color:r?"var(--ink)":"var(--ink-4)",borderRadius:2,fontFamily:E,fontSize:10,letterSpacing:"0.12em",textTransform:"uppercase",cursor:"pointer",whiteSpace:"nowrap",transition:"background 0.15s, color 0.15s"},onMouseEnter:e=>{r||(e.currentTarget.style.background="var(--paper-input)",e.currentTarget.style.color="var(--ink-2)")},onMouseLeave:e=>{r||(e.currentTarget.style.background="transparent",e.currentTarget.style.color="var(--ink-4)")},children:[(0,a.jsx)("span",{style:{width:6,height:6,borderRadius:"50%",background:i,opacity:r?1:.7,flexShrink:0}}),(0,a.jsx)("span",{children:t}),(0,a.jsx)("span",{style:{color:"var(--ink-6)",opacity:.7},children:"\xb7"}),(0,a.jsx)("span",{style:{color:"var(--ink-6)",fontVariantNumeric:"tabular-nums"},children:n})]})}function eT(e){var t;let{entry:n,index:i,pending:r,onToggle:l}=e,o=n.accent,s=String(i).padStart(2,"0");return(0,a.jsxs)("article",{style:{position:"relative",border:"1px solid ".concat(T),borderTop:n.inUse?"2px solid ".concat(o):"1px solid ".concat(T),borderRadius:4,padding:"20px 22px 18px",background:n.inUse?"var(--paper-2)":"var(--paper-3)",display:"flex",flexDirection:"column",gap:14,minHeight:220,opacity:r?.55:1,transition:"opacity 0.15s"},children:[(0,a.jsxs)("header",{style:{display:"flex",alignItems:"baseline",justifyContent:"space-between",gap:12},children:[(0,a.jsxs)("span",{style:{fontFamily:E,fontSize:9,letterSpacing:"0.18em",color:"var(--ink-6)"},children:["EXHIBIT ",s," \xb7 ",(null!=(t=n.team)?t:"—").toUpperCase()]}),(0,a.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:5,fontFamily:E,fontSize:9,letterSpacing:"0.14em",color:n.inUse?o:"var(--ink-7)"},children:[(0,a.jsx)("span",{style:{width:5,height:5,borderRadius:"50%",background:n.inUse?o:"var(--ink-7)",boxShadow:n.inUse?"0 0 4px ".concat(o,"66"):"none"}}),n.inUse?"ENROLLED":"AVAILABLE"]})]}),(0,a.jsxs)("div",{style:{display:"flex",alignItems:"flex-start",gap:16},children:[(0,a.jsx)("span",{"aria-hidden":!0,style:{fontFamily:M,fontSize:44,lineHeight:.9,color:o,letterSpacing:"-0.02em",flexShrink:0,paddingTop:2},children:n.code}),(0,a.jsx)("h3",{style:{margin:0,fontFamily:M,fontSize:26,lineHeight:1.1,fontWeight:400,color:"var(--ink)",letterSpacing:"-0.01em"},children:n.name})]}),(0,a.jsx)("p",{style:{margin:0,fontFamily:z,fontSize:14,lineHeight:1.55,color:"var(--ink-3)"},children:n.tagline}),(0,a.jsxs)("footer",{style:{marginTop:"auto",paddingTop:6,display:"flex",alignItems:"center",justifyContent:"space-between",gap:8,borderTop:"1px solid ".concat(T)},children:[(0,a.jsx)("span",{style:{fontFamily:E,fontSize:9,color:"var(--ink-6)",letterSpacing:"0.1em"},children:n.hidden?"HISTORY KEPT":""}),(0,a.jsx)("button",{onClick:l,disabled:r,style:{padding:"6px 14px",border:"1px solid ".concat(n.inUse?T:"".concat(C,"88")),background:"transparent",color:n.inUse?"var(--ink-4)":C,borderRadius:2,fontFamily:E,fontSize:10,letterSpacing:"0.14em",cursor:r?"wait":"pointer",textTransform:"uppercase",transition:"all 0.15s"},onMouseEnter:e=>{r||(e.currentTarget.style.background=n.inUse?"var(--paper-input)":"".concat(C,"14"),e.currentTarget.style.borderColor=n.inUse?"var(--ink-5)":C)},onMouseLeave:e=>{e.currentTarget.style.background="transparent",e.currentTarget.style.borderColor=n.inUse?T:"".concat(C,"88")},children:r?"…":n.inUse?"Remove":"Add to roster"})]})]})}function eF(e){let{onSaved:t,requestAdminToken:n}=e,{pack:r,refresh:l}=j(),[o,s]=(0,i.useState)(""),[d,c]=(0,i.useState)(!1),[u,h]=(0,i.useState)(null),[m,x]=(0,i.useState)(!1),[v,b]=(0,i.useState)(!1),[k,S]=(0,i.useState)(null),w=(0,i.useRef)(null),F=(0,i.useMemo)(()=>{var e;return(null!=(e=null==r?void 0:r.agentTeams)?e:[]).map(e=>({label:e.label,color:e.color}))},[r]),R=(0,i.useMemo)(()=>{var e;if(!u)return"#9b6e2a";let t=F.find(e=>e.label.toUpperCase()===u.team.toUpperCase());return null!=(e=null==t?void 0:t.color)?e:"#9b6e2a"},[u,F]),[B,M]=(0,i.useState)(null);async function I(){S(null),c(!0),h(null),x(!1);try{let a=await f("/api/manifest/agents/custom/draft",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({jobDescription:o})});if(!a.ok){var e,t;if(await y(a)){g(),n("to draft a custom operator",()=>I());return}let i=await a.json().catch(()=>({}));S(null!=(t=null!=(e=i.message)?e:i.error)?t:"draft failed (".concat(a.status,")"));return}let i=await a.json();h(i.spec),x(i.suggestedTeamIsNew),M(null)}catch(e){if(e instanceof p)return void n("to draft a custom operator",()=>I());S(e instanceof Error?e.message:"request failed")}finally{c(!1)}}async function A(){if(u){S(null),b(!0);try{let o={label:u.team.trim().toUpperCase(),color:null!=B?B:R,isNew:m},s=await f("/api/manifest/agents/custom",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({spec:u,team:o})});if(!s.ok){var e,a,i,r;if(await y(s)){g(),n("to save this custom operator",()=>A());return}let t=await s.json().catch(()=>({}));S(null!=(r=null!=(i=null!=(a=null==(e=t.errors)?void 0:e.join("; "))?a:t.message)?i:t.error)?r:"save failed (".concat(s.status,")"));return}await l(),t()}catch(e){if(e instanceof p)return void n("to save this custom operator",()=>A());S(e instanceof Error?e.message:"request failed")}finally{b(!1)}}}function D(e,t){h(n=>n?{...n,[e]:t}:n)}return(0,a.jsxs)("div",{style:{padding:18,display:"flex",flexDirection:"column",gap:14},children:[k&&(0,a.jsx)("div",{style:{padding:"8px 12px",background:"".concat(C,"14"),border:"1px solid ".concat(C),color:C,fontFamily:E,fontSize:11,borderRadius:3},children:k}),(0,a.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:6},children:[(0,a.jsxs)("div",{style:{display:"flex",alignItems:"baseline",justifyContent:"space-between"},children:[(0,a.jsx)("label",{style:{fontFamily:E,fontSize:9,color:"var(--ink-5)",letterSpacing:"0.14em",textTransform:"uppercase"},children:"Paste or upload a job description"}),(0,a.jsx)("button",{type:"button",onClick:()=>{var e;return null==(e=w.current)?void 0:e.click()},style:{fontFamily:E,fontSize:9,letterSpacing:"0.12em",padding:"3px 8px",borderRadius:3,border:"1px solid ".concat(T),background:"transparent",color:"var(--ink-5)",cursor:"pointer",textTransform:"uppercase"},onMouseEnter:e=>{e.currentTarget.style.color=C,e.currentTarget.style.borderColor=C},onMouseLeave:e=>{e.currentTarget.style.color="var(--ink-5)",e.currentTarget.style.borderColor=T},children:"Upload .txt / .md"}),(0,a.jsx)("input",{ref:w,type:"file",accept:".txt,.md,text/plain,text/markdown",onChange:e=>{var t;let n=null==(t=e.target.files)?void 0:t[0];if(n){if(!/\.(txt|md)$/i.test(n.name)){S("Upload a .txt or .md file. For PDF or DOCX, paste the text in."),e.target.value="";return}n.text().then(e=>{s(e),S(null)}).catch(e=>S(e instanceof Error?e.message:"could not read file")),e.target.value=""}},style:{display:"none"}})]}),(0,a.jsx)("textarea",{value:o,onChange:e=>s(e.target.value),placeholder:"Paste a role here, or upload a .txt / .md file. The more concrete the responsibilities and constraints, the sharper the operator.",rows:6,style:{width:"100%",padding:"10px 12px",background:"var(--paper-2)",border:"1px solid ".concat(T),borderRadius:3,color:"var(--ink)",fontFamily:z,fontSize:13,lineHeight:1.5,outline:"none",resize:"vertical",minHeight:120}}),(0,a.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center"},children:[(0,a.jsxs)("div",{style:{fontFamily:E,fontSize:10,color:"var(--ink-6)",letterSpacing:"0.08em"},children:[o.trim().length," chars"]}),(0,a.jsx)("button",{onClick:I,disabled:d||o.trim().length<40,style:{padding:"6px 14px",border:"1px solid ".concat(C),background:d||o.trim().length<40?"var(--paper-2)":C,color:d||o.trim().length<40?"var(--ink-6)":"#fff",borderRadius:3,fontFamily:E,fontSize:11,letterSpacing:"0.1em",cursor:d?"wait":o.trim().length<40?"not-allowed":"pointer",textTransform:"uppercase"},children:d?"Drafting…":"Draft operator"})]})]}),u&&(0,a.jsxs)("div",{style:{border:"1px solid ".concat(T),borderRadius:4,padding:14,display:"flex",flexDirection:"column",gap:10,background:"var(--paper-2)"},children:[(0,a.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"baseline"},children:[(0,a.jsx)("div",{style:{fontFamily:E,fontSize:9,color:C,letterSpacing:"0.14em"},children:"PREVIEW \xb7 EDIT BEFORE SAVING"}),m&&(0,a.jsx)("div",{style:{fontFamily:E,fontSize:9,color:"var(--ink-6)",letterSpacing:"0.1em"},children:"NEW TEAM"})]}),(0,a.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"2fr 1fr",gap:10},children:[(0,a.jsx)(eR,{label:"Name",children:(0,a.jsx)("input",{value:u.name,onChange:e=>D("name",e.target.value),style:eC})}),(0,a.jsx)(eR,{label:"Code \xb7 3 letters",hint:"Ticker shown on orbs, lists, and workflow nodes (e.g. GTE). The first 2 letters serve as the compact glyph.",children:(0,a.jsx)("input",{value:u.code,maxLength:3,onChange:e=>D("code",e.target.value.toUpperCase()),style:eC})})]}),(0,a.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"1fr 2fr",gap:10},children:[(0,a.jsx)(eR,{label:"Team",children:(0,a.jsx)("input",{value:u.team,onChange:e=>D("team",e.target.value.toUpperCase()),style:eC})}),(0,a.jsx)(eR,{label:"Tagline",children:(0,a.jsx)("input",{value:u.tagline,onChange:e=>D("tagline",e.target.value),style:eC})})]}),(0,a.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:10},children:[(0,a.jsx)(eR,{label:"Accent",children:(0,a.jsx)(ez,{value:u.accent,onChange:e=>D("accent",e)})}),(0,a.jsx)(eR,{label:"Team color",children:(0,a.jsx)(ez,{value:null!=B?B:R,onChange:e=>M(e)})})]}),(0,a.jsx)(eR,{label:"Instructions",children:(0,a.jsx)("textarea",{value:u.systemPrompt,onChange:e=>D("systemPrompt",e.target.value),rows:8,style:{...eC,resize:"vertical",minHeight:160,fontFamily:z,fontSize:12,lineHeight:1.55}})}),(0,a.jsxs)("div",{style:{display:"flex",gap:8,justifyContent:"flex-end"},children:[(0,a.jsx)("button",{onClick:()=>h(null),style:{padding:"6px 14px",border:"1px solid ".concat(T),background:"transparent",color:"var(--ink-4)",borderRadius:3,fontFamily:E,fontSize:11,letterSpacing:"0.08em",cursor:"pointer",textTransform:"uppercase"},children:"Discard"}),(0,a.jsx)("button",{onClick:A,disabled:v,style:{padding:"6px 14px",border:"1px solid ".concat(C),background:v?"var(--paper-2)":C,color:v?"var(--ink-6)":"#fff",borderRadius:3,fontFamily:E,fontSize:11,letterSpacing:"0.08em",cursor:v?"wait":"pointer",textTransform:"uppercase"},children:v?"Saving…":"Save operator"})]})]})]})}let eC={width:"100%",padding:"8px 10px",background:"var(--paper-3)",border:"1px solid ".concat(T),borderRadius:3,color:"var(--ink)",fontFamily:z,fontSize:12,outline:"none"};function eR(e){let{label:t,hint:n,children:i}=e;return(0,a.jsxs)("label",{style:{display:"flex",flexDirection:"column",gap:4},children:[(0,a.jsx)("span",{style:{fontFamily:E,fontSize:9,color:"var(--ink-5)",letterSpacing:"0.14em",textTransform:"uppercase"},children:t}),i,n&&(0,a.jsx)("span",{style:{fontFamily:z,fontSize:11,color:"var(--ink-5)",lineHeight:1.35},children:n})]})}let eE=["#B8540B","#7A4C2F","#B27A0E","#2F6A3E","#4A7A78","#4A6FA5","#6E4F8A","#A8455B"];function ez(e){let{value:t,onChange:n}=e,r=(t||"").trim().toLowerCase(),l=!!r&&!eE.some(e=>e.toLowerCase()===r),[o,s]=(0,i.useState)(!1);return(0,a.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:6},children:[(0,a.jsxs)("div",{style:{display:"flex",flexWrap:"wrap",gap:6,alignItems:"center"},children:[eE.map(e=>{let t=e.toLowerCase()===r;return(0,a.jsx)("button",{type:"button",onClick:()=>n(e),title:e,"aria-label":"Pick ".concat(e),style:{width:22,height:22,padding:0,borderRadius:"50%",background:e,border:t?"2px solid var(--ink)":"1px solid ".concat(T),boxShadow:t?"0 0 0 2px var(--paper-3), 0 0 0 3px ".concat(C):"none",cursor:"pointer",flexShrink:0}},e)}),l&&(0,a.jsx)("span",{title:t,style:{width:22,height:22,borderRadius:"50%",background:t,border:"2px solid var(--ink)",boxShadow:"0 0 0 2px var(--paper-3), 0 0 0 3px ".concat(C),flexShrink:0}}),(0,a.jsx)("button",{type:"button",onClick:()=>s(e=>!e),title:o?"Hide custom hex input":"Pick a custom hex colour","aria-label":o?"Hide custom hex":"Pick a custom hex colour","aria-expanded":o,style:{width:22,height:22,padding:0,borderRadius:"50%",background:"transparent",border:"1px dashed ".concat(o?C:T),color:o?C:"var(--ink-5)",cursor:"pointer",flexShrink:0,display:"inline-flex",alignItems:"center",justifyContent:"center",fontFamily:E,fontSize:12,lineHeight:1,transition:"color 0.15s, border-color 0.15s"},children:"+"})]}),o&&(0,a.jsx)("input",{value:t,onChange:e=>n(e.target.value),placeholder:"#hex",style:{...eC,fontFamily:E,fontSize:11,letterSpacing:"0.04em",padding:"6px 10px"}})]})}function eB(){let e=(0,i.useRef)(null),[t,n]=(0,i.useState)(0);return(0,i.useEffect)(()=>{let t=e.current;if(!t||(n(t.getBoundingClientRect().width),"undefined"==typeof ResizeObserver))return;let a=new ResizeObserver(e=>{for(let t of e)n(t.contentRect.width)});return a.observe(t),()=>a.disconnect()},[]),{ref:e,width:t}}function eM(e){return{showAddAgent:e>=360,showSaveAsWorkflow:e>=480,showContext:e>=600,showExport:e>=760,showClear:e>=900}}function eI(e){let{index:t,weights:n,onResize:r,containerWidth:l}=e,[o,s]=(0,i.useState)(null),d=(0,i.useRef)(n);return d.current=n,(0,i.useEffect)(()=>{if(o)return document.body.style.cursor="col-resize",document.body.style.userSelect="none",window.addEventListener("mousemove",e),window.addEventListener("mouseup",n),()=>{window.removeEventListener("mousemove",e),window.removeEventListener("mouseup",n),document.body.style.cursor="",document.body.style.userSelect=""};function e(e){e.preventDefault();let{startX:n,startA:a,startB:i}=o,s=e.clientX-n,c=a+i,p=d.current.reduce((e,t)=>e+t,0),u=p>0?c/p*l:0;if(u<=0)return;let h=s/u,g=a+h*c,m=i-h*c;g<.15*c&&(g=.15*c,m=c-g),m<.15*c&&(m=.15*c,g=c-m);let f=[...d.current];f[t]=g,f[t+1]=m,r(f)}function n(){s(null)}},[o,l,t,r]),(0,a.jsx)("div",{onMouseDown:function(e){e.preventDefault(),s({startX:e.clientX,startA:n[t],startB:n[t+1]})},title:"Drag to resize panes",style:{width:5,flexShrink:0,cursor:"col-resize",background:T,position:"relative",transition:"background 0.15s"},onMouseEnter:e=>{e.currentTarget.style.background=C},onMouseLeave:e=>{e.currentTarget.style.background=T},children:(0,a.jsx)("div",{style:{position:"absolute",top:0,bottom:0,left:-3,right:-3,cursor:"col-resize"}})})}function eA(e){var t,n,r,l;let{agentId:o,agent:s,agentCode:d,agentSection:c,messages:p,modelOverride:u,onModelChange:h,onMessagesUpdate:g,onClose:m,clientId:f,modelOptions:x,openclawDefaultModel:y}=e,[v,b]=(0,i.useState)(""),[k,S]=(0,i.useState)(!1),[w,F]=(0,i.useState)(null),R=(0,i.useRef)(null),B=(0,i.useRef)(null),{pack:M}=j(),{ref:I,width:A}=eB(),D=eM(A),W=null!=(l=null!=u?u:y)?l:s.defaultModel;async function O(){let e=v.trim();if(!e||k)return;b("");let t={id:crypto.randomUUID(),role:"user",content:e,timestamp:Date.now()},n={id:crypto.randomUUID(),role:"assistant",content:"",timestamp:Date.now(),model:W},a=[...p,t,n];g(a),S(!0);try{let t=f?"/api/chat?client=".concat(encodeURIComponent(f)):"/api/chat",r=await fetch(t,{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({agentId:o,model:W,messages:[...p.map(e=>({role:e.role,content:e.content})),{role:"user",content:e}]})});if(!r.ok||!r.body)throw Error(await r.text()||"HTTP ".concat(r.status));let l=r.body.getReader(),s=new TextDecoder,d="",c="";for(;;){var i;let{value:e,done:t}=await l.read();if(t)break;let r=(d+=s.decode(e,{stream:!0})).split("\n\n");for(let e of(d=null!=(i=r.pop())?i:"",r))if(e.startsWith("data:"))try{let t=JSON.parse(e.slice(5).trim());if("tool_call"===t.type)F(t.tool);else if("text"===t.type){F(null),c+=t.value;let e=[...a.slice(0,-1),{...n,content:c}];g(e)}else if("error"===t.type){F(null);let e=[...a.slice(0,-1),{...n,content:"[Error] ".concat(t.value)}];g(e)}}catch(e){}}}catch(t){let e=t instanceof Error?t.message:"Unknown error";g([...a.slice(0,-1),{...n,content:"[Error] ".concat(e)}])}finally{S(!1),F(null)}}return(0,i.useEffect)(()=>{R.current&&(R.current.scrollTop=R.current.scrollHeight)},[p,k]),(0,a.jsxs)("div",{ref:I,style:{flex:1,display:"flex",flexDirection:"column",minWidth:0,minHeight:0,overflow:"hidden"},children:[(0,a.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"12px 20px",borderBottom:"1px solid ".concat(T),flexShrink:0},children:[(0,a.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:12,fontFamily:E,minWidth:0,flex:1},children:[(0,a.jsx)("span",{style:{fontSize:10,color:C,letterSpacing:"0.1em",flexShrink:0},children:c}),(0,a.jsx)("span",{style:{fontSize:12,fontWeight:700,color:"var(--ink)",letterSpacing:"0.06em",flexShrink:0},children:d}),A>=320&&(0,a.jsxs)("span",{style:{fontSize:13,color:"var(--ink-4)",fontFamily:z,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:["/ ",s.name," AB"]})]}),(0,a.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,flexShrink:0},children:[D.showSaveAsWorkflow&&null,(0,a.jsx)(et,{value:W,options:x&&x.length>0?x:s.availableModels,onChange:h}),(0,a.jsx)("button",{onClick:m,title:"Close pane",style:{background:"none",border:"none",cursor:"pointer",color:"var(--ink-5)",fontSize:18,lineHeight:1,padding:"0 2px",fontFamily:E,transition:"color 0.15s"},onMouseEnter:e=>{e.currentTarget.style.color="var(--ink)"},onMouseLeave:e=>{e.currentTarget.style.color="var(--ink-5)"},children:"\xd7"})]})]}),(0,a.jsx)("div",{ref:R,style:{flex:1,overflowY:"auto",minHeight:0},children:(0,a.jsx)("div",{style:{maxWidth:720,margin:"0 auto",padding:"20px 24px",display:"flex",flexDirection:"column",gap:16},children:0===p.length?(0,a.jsx)(en,{agentName:s.name,agentCode:d,agentSection:c,tagline:s.tagline,onChipClick:e=>{var t;b(e),null==(t=B.current)||t.focus()},customQuickStart:null==M||null==(n=M.customer)||null==(t=n.quickstartByAgent)?void 0:t[o]}):(0,a.jsxs)(a.Fragment,{children:[p.map((e,t)=>k&&t===p.length-1&&"assistant"===e.role&&""===e.content?null:(0,a.jsx)(er,{message:e,agentCode:d,conversationContext:p.slice(-4).map(e=>e.content).join("\n\n")},e.id)),k&&(null==(r=p[p.length-1])?void 0:r.content)===""&&(0,a.jsxs)("div",{style:{display:"flex",gap:12,alignItems:"flex-start"},children:[(0,a.jsx)("div",{style:{width:24,height:24,borderRadius:2,background:"var(--paper-input)",border:"1px solid ".concat(T),display:"flex",alignItems:"center",justifyContent:"center",flexShrink:0},children:(0,a.jsx)("span",{style:{fontFamily:E,fontSize:7,color:C,fontWeight:700},children:d})}),(0,a.jsx)("div",{style:{padding:"10px 14px",background:"var(--paper-input)",borderRadius:"0 4px 4px 4px",border:"1px solid ".concat(T)},children:w?(0,a.jsxs)("span",{style:{fontFamily:E,fontSize:10,color:"var(--ink-5)",letterSpacing:"0.06em"},children:["⟳ ",w.replace(/_/g," "),"…"]}):(0,a.jsx)("div",{style:{display:"flex",gap:4,alignItems:"center",height:14},children:[0,1,2].map(e=>(0,a.jsx)("span",{className:"typing-dot",style:{width:5,height:5,borderRadius:"50%",background:C,display:"inline-block"}},e))})})]})]})})}),(0,a.jsxs)("div",{style:{padding:"12px 20px",borderTop:"1px solid ".concat(T),flexShrink:0,position:"relative"},children:[(0,a.jsx)(el,{ref:B,value:v,onChange:b,onSubmit:O,onVoice:()=>{},onBroadcast:()=>{},disabled:k,isListening:!1,broadcastMode:!1,agentName:s.name}),(0,a.jsxs)("div",{style:{marginTop:8,display:"flex",justifyContent:"space-between",fontFamily:E,fontSize:10,color:"var(--ink-6)",letterSpacing:"0.08em"},children:[(0,a.jsx)("span",{children:"ENTER TO SEND \xb7 SHIFT+ENTER NEWLINE \xb7 \xd7 TO CLOSE PANE"}),(0,a.jsx)("span",{children:W.replace("claude-","").replace("-20251001","").toUpperCase()})]})]})]})}class eD extends i.Component{static getDerivedStateFromError(e){return{error:e}}componentDidCatch(e,t){var n;console.error("[ErrorBoundary]",null!=(n=this.props.fallbackLabel)?n:"subtree",e,t)}render(){if(this.state.error){var e,t,n;return(0,a.jsxs)("div",{style:{flex:1,minWidth:280,display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",padding:20,background:"var(--paper)",color:"var(--ink-4)",fontFamily:z,fontSize:13,gap:12,borderLeft:"1px solid ".concat(T)},children:[(0,a.jsx)("div",{style:{fontFamily:E,fontSize:10,color:"var(--ink-5)",letterSpacing:"0.18em",textTransform:"uppercase"},children:null!=(t=this.props.fallbackLabel)?t:"Pane error"}),(0,a.jsx)("div",{style:{fontFamily:B,fontSize:18,color:"var(--ink-2)",textAlign:"center",maxWidth:280,lineHeight:1.3},children:"This pane hit a render error."}),(0,a.jsx)("pre",{style:{fontFamily:E,fontSize:10,color:"var(--ink-5)",maxWidth:320,whiteSpace:"pre-wrap",wordBreak:"break-word",textAlign:"center",margin:0},children:null!=(n=null==(e=this.state.error.message)?void 0:e.slice(0,200))?n:"Unknown error"}),(0,a.jsx)("button",{onClick:this.reset,style:{padding:"6px 14px",border:"1px solid ".concat(T),background:"transparent",color:"var(--ink-3)",borderRadius:3,fontFamily:E,fontSize:10,letterSpacing:"0.12em",cursor:"pointer",textTransform:"uppercase"},children:"↻ Retry"})]})}return this.props.children}constructor(...e){super(...e),this.state={error:null},this.reset=()=>{var e,t;this.setState({error:null}),null==(e=(t=this.props).onReset)||e.call(t)}}}let eW={B:"var(--paper)",S:"var(--paper-2)",P:"var(--paper-3)",BR:"var(--hair)",BR2:"var(--hair-2)",EM:"#B8540B",EM3:"#B8540B33",EM6:"#B8540B66",T1:"var(--ink)",T2:"var(--ink-2)",T3:"var(--ink-3)",T4:"var(--ink-4)",T5:"var(--ink-5)",T6:"var(--ink-6)",T7:"var(--ink-7)",FM:"var(--f-mono)",FB:"var(--f-body)",FD:"var(--f-display)",FS:"var(--f-serif)"};function eO(e){let t=Date.now()-e;return t<6e4?"just now":t<36e5?"".concat(Math.floor(t/6e4),"m ago"):t<864e5?"".concat(Math.floor(t/36e5),"h ago"):t<6048e5?"".concat(Math.floor(t/864e5),"d ago"):new Date(e).toLocaleDateString()}function eL(e){let{section:t,title:n,subtitle:i,actions:r}=e;return(0,a.jsxs)("div",{"data-mobile-flat-header":!0,style:{borderBottom:"1px solid ".concat(eW.BR2),padding:"20px 28px 18px",display:"grid",gridTemplateColumns:"200px 1fr auto",gap:20,alignItems:"start",flexShrink:0},children:[(0,a.jsxs)("div",{style:{display:"inline-flex",alignItems:"center",gap:10,fontFamily:eW.FM,fontSize:12,color:eW.T3,letterSpacing:"0.12em",textTransform:"uppercase"},children:[(0,a.jsx)("span",{style:{width:6,height:6,background:eW.EM,borderRadius:"50%",flex:"none"}}),t]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("div",{style:{fontFamily:eW.FD,fontSize:32,fontWeight:500,letterSpacing:"-0.02em",color:eW.T1,lineHeight:1.05},children:n}),i&&(0,a.jsx)("div",{style:{marginTop:6,fontSize:13,color:eW.T3,fontFamily:eW.FB},children:i})]}),r&&(0,a.jsx)("div",{style:{display:"flex",gap:8,alignItems:"center"},children:r})]})}function eN(e){let{children:t,color:n,bg:i}=e;return(0,a.jsx)("span",{style:{display:"inline-block",padding:"2px 8px",fontFamily:eW.FM,fontSize:9,letterSpacing:"0.1em",textTransform:"uppercase",border:"1px solid ".concat(null!=n?n:eW.T4),color:null!=n?n:eW.T4,background:null!=i?i:"transparent",borderRadius:2,whiteSpace:"nowrap"},children:t})}function eP(e){let{children:t,onClick:n,variant:i="secondary",disabled:r,size:l="md"}=e,o={primary:{background:eW.EM,color:"#fff",borderColor:eW.EM},secondary:{background:"transparent",color:eW.T2,borderColor:eW.BR},danger:{background:"transparent",color:"#a52a1a",borderColor:"#a52a1a"},ghost:{background:"transparent",color:eW.T4,borderColor:"transparent"}};return(0,a.jsx)("button",{onClick:n,disabled:r,style:{...o[i],border:"1px solid ".concat(o[i].borderColor),padding:"sm"===l?"5px 10px":"8px 14px",fontFamily:eW.FM,fontSize:"sm"===l?10:11,letterSpacing:"0.12em",textTransform:"uppercase",borderRadius:2,cursor:r?"not-allowed":"pointer",opacity:r?.4:1,transition:"all 0.15s"},children:t})}function eH(e){let{channel:t}=e,n={telegram:"#0088cc",whatsapp:"#25d366",email:eW.T4};return(0,a.jsx)("span",{style:{display:"inline-flex",alignItems:"center",justifyContent:"center",width:22,height:22,borderRadius:2,fontFamily:eW.FM,fontSize:8,fontWeight:700,background:"".concat(n[t],"22"),color:n[t],border:"1px solid ".concat(n[t],"66"),flexShrink:0},children:{telegram:"TG",whatsapp:"WA",email:"EM"}[t]})}function eU(e){let{variant:t="row",count:n=5}=e,i=Array.from({length:n});return"row"===t?(0,a.jsx)("div",{style:{display:"flex",flexDirection:"column"},children:i.map((e,t)=>(0,a.jsxs)("div",{style:{padding:"12px 16px",borderBottom:"1px solid ".concat(eW.BR2),display:"flex",flexDirection:"column",gap:6},children:[(0,a.jsx)(eq,{w:"40%",h:10}),(0,a.jsx)(eq,{w:"85%",h:9}),(0,a.jsx)(eq,{w:"60%",h:9})]},t))}):"card"===t?(0,a.jsx)("div",{style:{display:"grid",gap:16,maxWidth:880,margin:"0 auto"},children:i.map((e,t)=>(0,a.jsxs)("div",{style:{border:"1px solid ".concat(eW.BR),background:eW.S,borderRadius:3,padding:"18px 22px",display:"flex",flexDirection:"column",gap:10},children:[(0,a.jsx)(eq,{w:"55%",h:14}),(0,a.jsx)(eq,{w:"30%",h:9}),(0,a.jsxs)("div",{style:{marginTop:6,padding:"12px 14px",background:eW.B,border:"1px solid ".concat(eW.BR2),borderRadius:2,display:"flex",flexDirection:"column",gap:6},children:[(0,a.jsx)(eq,{w:"100%",h:10}),(0,a.jsx)(eq,{w:"92%",h:10}),(0,a.jsx)(eq,{w:"78%",h:10})]})]},t))}):"list-row"===t?(0,a.jsx)("div",{children:i.map((e,t)=>(0,a.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:12,padding:"10px 24px",borderBottom:"1px solid ".concat(eW.BR2)},children:[(0,a.jsx)(eq,{w:26,h:9}),(0,a.jsx)(eq,{w:"30%",h:10}),(0,a.jsx)(eq,{w:"20%",h:9}),(0,a.jsx)(eq,{w:"15%",h:9})]},t))}):(0,a.jsxs)("div",{style:{padding:28,maxWidth:760},children:[(0,a.jsxs)("div",{style:{display:"flex",gap:10,marginBottom:14},children:[(0,a.jsx)(eq,{w:22,h:22,radius:2}),(0,a.jsxs)("div",{style:{flex:1,display:"flex",flexDirection:"column",gap:6},children:[(0,a.jsx)(eq,{w:"40%",h:14}),(0,a.jsx)(eq,{w:"55%",h:9})]})]}),(0,a.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:10},children:i.map((e,t)=>(0,a.jsxs)("div",{style:{padding:"12px 16px",background:eW.S,border:"1px solid ".concat(eW.BR),borderRadius:3,display:"flex",flexDirection:"column",gap:8},children:[(0,a.jsx)(eq,{w:"100%",h:10}),(0,a.jsx)(eq,{w:"80%",h:10})]},t))})]})}function eq(e){let{w:t,h:n,radius:i=2}=e;return(0,a.jsx)("span",{className:"skel-shimmer",style:{display:"block",width:t,height:n,borderRadius:i,background:"var(--paper-2)"}})}function eY(e){let{icon:t,title:n,body:i}=e;return(0,a.jsxs)("div",{style:{flex:1,display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",padding:48,color:eW.T4},children:[t&&(0,a.jsx)("div",{style:{fontSize:44,marginBottom:12,color:eW.T7},children:t}),(0,a.jsx)("div",{style:{fontFamily:eW.FS,fontStyle:"italic",fontSize:22,fontWeight:400,color:eW.T2,marginBottom:6},children:n}),i&&(0,a.jsx)("div",{style:{fontSize:13,fontFamily:eW.FB,maxWidth:380,textAlign:"center"},children:i})]})}function eK(e,t,n){let a=(0,i.useRef)(n);a.current=n,(0,i.useEffect)(()=>{if(!e)return;let n=null,i=()=>{for(let i of(null==n||n.close(),n=new EventSource(e),t))n.addEventListener(i,e=>{let t=e.data;try{t=JSON.parse(e.data)}catch(e){}a.current(i,t)});n.onerror=()=>{}};i();let r=()=>{"visible"===document.visibilityState&&i()};return document.addEventListener("visibilitychange",r),()=>{document.removeEventListener("visibilitychange",r),null==n||n.close()}},[e,t.join("|")])}function eJ(e){let{toast:t}=e,[n,r]=(0,i.useState)(null),[l,o]=(0,i.useState)("pending"),[s,d]=(0,i.useState)(null),[c,p]=(0,i.useState)(null),[u,h]=(0,i.useState)(new Set),[g,m]=(0,i.useState)(!1),[f,x]=(0,i.useState)(new Set),[y,v]=(0,i.useState)({});(0,i.useEffect)(()=>{if(!n)return;let e=n.map(e=>e.inboxMessageId).filter(e=>!!e&&!y[e]);0!==e.length&&fetch("/api/inbox?limit=500").then(e=>e.json()).then(t=>{let n={...y},a=0;for(let i of t.messages)e.includes(i.id)&&!n[i.id]&&(n[i.id]=i,a++);a>0&&v(n)}).catch(()=>{})},[n]);let b=(0,i.useCallback)(e=>{x(t=>{let n=new Set(t);return n.add(e),n}),setTimeout(()=>{x(t=>{if(!t.has(e))return t;let n=new Set(t);return n.delete(e),n})},1700)},[]);eK("/api/approvals/stream",["snapshot","created","updated"],(0,i.useCallback)((e,t)=>{if("snapshot"===e){let{approvals:e}=t;r(e);return}if("created"===e){r(e=>e?e.some(e=>e.id===t.id)?e:[t,...e]:[t]),b(t.id);return}if("updated"===e)return void r(e=>e?e.map(e=>e.id===t.id?t:e):e)},[])),(0,i.useEffect)(()=>{if(!n||0===n.length)return;let e=new URL(window.location.href),t=e.searchParams.get("id");t&&n.some(e=>e.id===t)&&(b(t),requestAnimationFrame(()=>{let e=document.getElementById("approval-".concat(t));e&&e.scrollIntoView({behavior:"smooth",block:"center"})}),e.searchParams.delete("id"),window.history.replaceState({},"",e.toString()))},[n,b]);let j=(null!=n?n:[]).filter(e=>"all"===l||"pending"===e.status),k=(null!=n?n:[]).filter(e=>"pending"===e.status).length;async function S(e,a,i){p(e);try{var r;let l=await fetch("/api/approvals",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:e,action:a,editedBody:i})}),o=await l.json();if(!l.ok)throw Error(null!=(r=o.error)?r:"HTTP ".concat(l.status));"reject"===a?t.info("Rejected.",{ttlMs:6e3,action:{label:"Undo",onClick:async()=>{try{let a=(null!=n?n:[]).find(t=>t.id===e);if(!a)return;await fetch("/api/approvals",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({type:a.type,agentId:a.agentId,title:a.title,body:a.body,meta:a.meta,inboxMessageId:a.inboxMessageId})}),t.success("Restored as pending.")}catch(e){t.error(e instanceof Error?e.message:"undo failed")}}}}):t.success("edit"===a?"Edited & sent.":"Approved & sent."),d(null)}catch(e){t.error(e instanceof Error?e.message:"action failed")}finally{p(null)}}async function w(e){let a=(null!=n?n:[]).filter(e=>u.has(e.id)&&"pending"===e.status);if(0===a.length||"reject"===e&&!confirm("Reject ".concat(a.length," approval").concat(1===a.length?"":"s","?")))return;m(!0);let i=0,r=0;await Promise.all(a.map(async t=>{try{(await fetch("/api/approvals",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:t.id,action:e})})).ok?i++:r++}catch(e){r++}})),m(!1),h(new Set),0===r?t.success("".concat(i," ").concat(e,"d.")):t.error("".concat(i," ok \xb7 ").concat(r," failed"))}return(0,a.jsxs)("div",{style:{flex:1,display:"flex",flexDirection:"column",overflow:"hidden",background:eW.B},children:[(0,a.jsx)(eL,{section:"\xa7 APPROVALS".concat(k>0?" \xb7 ".concat(k," PENDING"):""),title:"One tap to ship.",subtitle:"Drafts, replies, and actions waiting for your sign-off.",actions:(0,a.jsx)("div",{style:{display:"flex",gap:4},children:["pending","all"].map(e=>(0,a.jsx)("button",{onClick:()=>o(e),style:{padding:"5px 10px",fontFamily:eW.FM,fontSize:9,letterSpacing:"0.1em",textTransform:"uppercase",border:"1px solid ".concat(l===e?eW.EM:eW.BR),background:l===e?eW.EM3:"transparent",color:l===e?eW.EM:eW.T4,cursor:"pointer",borderRadius:2},children:e},e))})}),u.size>0&&(0,a.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:12,flexWrap:"wrap",padding:"10px 28px",background:eW.S,borderBottom:"1px solid ".concat(eW.BR),fontFamily:eW.FM,fontSize:11,color:eW.T2},children:[(0,a.jsxs)("span",{style:{color:eW.EM},children:[u.size," selected"]}),(0,a.jsxs)("div",{style:{marginLeft:"auto",display:"flex",gap:8,flexWrap:"wrap"},children:[(0,a.jsx)(eP,{size:"sm",variant:"primary",disabled:g,onClick:()=>w("approve"),children:"Approve selected"}),(0,a.jsx)(eP,{size:"sm",variant:"danger",disabled:g,onClick:()=>w("reject"),children:"Reject selected"}),(0,a.jsx)(eP,{size:"sm",onClick:()=>h(new Set),children:"Clear"})]})]}),(null!=n?n:[]).filter(e=>"pending"===e.status).length>1&&"pending"===l&&(0,a.jsx)("div",{style:{padding:"8px 28px",fontFamily:eW.FM,fontSize:10,color:eW.T5,borderBottom:"1px solid ".concat(eW.BR2)},children:(0,a.jsx)("button",{onClick:function(){let e=(null!=n?n:[]).filter(e=>"pending"===e.status).map(e=>e.id);h(t=>e.every(e=>t.has(e))?new Set:new Set(e))},style:{background:"none",border:"none",color:eW.T4,cursor:"pointer",textTransform:"uppercase",letterSpacing:"0.1em",padding:0},children:u.size===(null!=n?n:[]).filter(e=>"pending"===e.status).length?"Unselect all":"Select all pending"})}),(0,a.jsxs)("div",{style:{flex:1,overflowY:"auto",padding:"24px 28px"},children:[null===n&&(0,a.jsx)(eU,{variant:"card",count:3}),null!==n&&0===j.length&&(0,a.jsx)(eY,{icon:"✓",title:"Inbox zero.",body:"No drafts pending right now. New work from your agents lands here for review."}),(0,a.jsx)("div",{"data-mobile-grid-stack":!0,style:{display:"grid",gap:16,maxWidth:880,margin:"0 auto"},children:j.map(e=>{let t="pending"===e.status,n=(null==s?void 0:s.id)===e.id,i="pending"===e.status?eW.EM:"sent"===e.status?"#2f5b3b":"rejected"===e.status?"#a52a1a":eW.T4,r=f.has(e.id);return(0,a.jsxs)("div",{id:"approval-".concat(e.id),className:r?"sse-flash":void 0,style:{border:"1px solid ".concat(r?eW.EM:eW.BR),background:eW.S,borderRadius:3,padding:"18px 22px",position:"relative",transition:"border-color 1.6s ease-out"},children:[(0,a.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10,marginBottom:12},children:[t&&(0,a.jsx)("input",{type:"checkbox",checked:u.has(e.id),onChange:()=>{var t;return t=e.id,void h(e=>{let n=new Set(e);return n.has(t)?n.delete(t):n.add(t),n})},"aria-label":"select for bulk action",style:{width:16,height:16,accentColor:eW.EM,cursor:"pointer",flexShrink:0}}),e.meta.channel&&(0,a.jsx)(eH,{channel:e.meta.channel}),(0,a.jsxs)("div",{style:{flex:1},children:[(0,a.jsx)("div",{title:e.title,style:{fontFamily:eW.FD,fontSize:18,fontWeight:500,color:eW.T1,letterSpacing:"-0.01em",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e.title}),(0,a.jsxs)("div",{style:{fontFamily:eW.FM,fontSize:10,color:eW.T5,marginTop:2},children:[e.agentId," \xb7 ",e.type," \xb7 ",eO(e.createdAt)]})]}),(0,a.jsx)(eN,{color:i,children:e.status})]}),e.inboxMessageId&&y[e.inboxMessageId]&&(0,a.jsx)(eV,{msg:y[e.inboxMessageId],defaultOpen:t}),n?(0,a.jsx)("textarea",{value:s.body,onChange:t=>d({id:e.id,body:t.target.value}),onKeyDown:t=>{(t.metaKey||t.ctrlKey)&&"Enter"===t.key&&(t.preventDefault(),c!==e.id&&S(e.id,"edit",s.body)),"Escape"===t.key&&(t.preventDefault(),d(null))},rows:Math.max(6,s.body.split("\n").length+1),autoFocus:!0,style:{width:"100%",padding:"12px 14px",background:eW.B,border:"1px solid ".concat(eW.BR),borderRadius:2,color:eW.T1,fontFamily:eW.FB,fontSize:13,lineHeight:1.55,resize:"vertical"}}):(0,a.jsx)("div",{style:{padding:"12px 14px",background:eW.B,border:"1px solid ".concat(eW.BR2),borderRadius:2,fontSize:13,lineHeight:1.55,color:eW.T2,fontFamily:eW.FB,whiteSpace:"pre-wrap",maxHeight:280,overflowY:"auto"},children:e.body}),e.meta.to&&(0,a.jsxs)("div",{style:{fontFamily:eW.FM,fontSize:10,color:eW.T5,marginTop:8},children:["to: ",e.meta.to]}),e.meta.subject&&(0,a.jsxs)("div",{style:{fontFamily:eW.FM,fontSize:10,color:eW.T5,marginTop:2},children:["subject: ",e.meta.subject]}),t&&(0,a.jsx)("div",{style:{marginTop:14,display:"flex",gap:8,flexWrap:"wrap"},children:n?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(eP,{variant:"primary",disabled:c===e.id,onClick:()=>S(e.id,"edit",s.body),children:"Save & send \xb7 ⌘↵"}),(0,a.jsx)(eP,{onClick:()=>d(null),children:"Cancel \xb7 esc"})]}):(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(eP,{variant:"primary",disabled:c===e.id,onClick:()=>S(e.id,"approve"),children:"Approve & send"}),(0,a.jsx)(eP,{onClick:()=>d({id:e.id,body:e.body}),children:"Edit"}),(0,a.jsx)(eP,{variant:"danger",disabled:c===e.id,onClick:()=>S(e.id,"reject"),children:"Reject"})]})})]},e.id)})})]})]})}function eV(e){let{msg:t,defaultOpen:n}=e,[r,l]=(0,i.useState)(n);return(0,a.jsxs)("div",{style:{marginBottom:10,border:"1px dashed ".concat(eW.BR),borderRadius:2,background:eW.B},children:[(0,a.jsxs)("button",{onClick:()=>l(e=>!e),style:{display:"flex",alignItems:"center",gap:10,width:"100%",padding:"8px 12px",background:"transparent",border:"none",cursor:"pointer",fontFamily:eW.FM,fontSize:9,letterSpacing:"0.12em",color:eW.T4,textTransform:"uppercase",textAlign:"left"},children:[(0,a.jsx)(eH,{channel:t.channel}),(0,a.jsxs)("span",{children:["From ",t.fromName,t.fromHandle?" \xb7 ".concat(t.fromHandle):""]}),(0,a.jsx)("span",{style:{marginLeft:"auto",fontSize:11},children:r?"▾":"▸"})]}),r&&(0,a.jsx)("div",{style:{padding:"10px 14px",borderTop:"1px solid ".concat(eW.BR2),fontSize:13,lineHeight:1.55,color:eW.T2,fontFamily:eW.FB,whiteSpace:"pre-wrap",maxHeight:200,overflowY:"auto"},children:t.text})]})}function eG(e){let{toast:t,requestAdminToken:n}=e,[r,l]=(0,i.useState)(null),o=null!=n?n:(e,t)=>l({context:e,retry:t}),[s,d]=(0,i.useState)(null),[c,u]=(0,i.useState)(null),[h,m]=(0,i.useState)("contacts"),[x,v]=(0,i.useState)(null),[b,j]=(0,i.useState)(null),k=(0,i.useCallback)(async()=>{try{let[e,t]=await Promise.all([fetch("/api/contacts").then(e=>e.json()),fetch("/api/routing").then(e=>e.json())]);d(e.contacts),u(t.rules)}catch(e){t.error(e instanceof Error?e.message:"load failed"),d([]),u([])}},[t]);async function S(e){try{let n=await f("/api/contacts",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({contacts:e})});if(await y(n)){g(),o("to save contacts",()=>S(e));return}if(!n.ok)throw Error("HTTP ".concat(n.status));d(e),t.success("Saved.")}catch(n){if(n instanceof p)return void o("to save contacts",()=>S(e));t.error(n instanceof Error?n.message:"save failed")}}async function w(e){try{let n=await f("/api/routing",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({rules:e})});if(await y(n)){g(),o("to save routing rules",()=>w(e));return}if(!n.ok)throw Error("HTTP ".concat(n.status));u(e),t.success("Saved.")}catch(n){if(n instanceof p)return void o("to save routing rules",()=>w(e));t.error(n instanceof Error?n.message:"save failed")}}return(0,i.useEffect)(()=>{k()},[k]),(0,a.jsxs)("div",{style:{flex:1,display:"flex",flexDirection:"column",overflow:"hidden",background:eW.B},children:[(0,a.jsx)(eL,{section:"\xa7 ROSTER & ROUTING",title:"Who talks to whom.",subtitle:"Drivers, clients, and the rules that point their messages at the right agent.",actions:(0,a.jsx)("div",{style:{display:"flex",gap:4},children:["contacts","routing"].map(e=>(0,a.jsx)("button",{onClick:()=>m(e),style:{padding:"5px 10px",fontFamily:eW.FM,fontSize:9,letterSpacing:"0.1em",textTransform:"uppercase",border:"1px solid ".concat(h===e?eW.EM:eW.BR),background:h===e?eW.EM3:"transparent",color:h===e?eW.EM:eW.T4,cursor:"pointer",borderRadius:2},children:e},e))})}),(0,a.jsx)("div",{style:{flex:1,overflowY:"auto",padding:"24px 28px"},children:"contacts"===h?(0,a.jsxs)("div",{style:{maxWidth:880,margin:"0 auto"},children:[(0,a.jsx)("div",{style:{marginBottom:16,display:"flex",justifyContent:"flex-end"},children:(0,a.jsx)(eP,{variant:"primary",onClick:()=>v({id:crypto.randomUUID(),clientId:"",name:"",channels:{},tags:[],createdAt:Date.now()}),children:"+ Add contact"})}),null===s&&(0,a.jsx)(eU,{variant:"row",count:4}),null!==s&&0===s.length&&!x&&(0,a.jsx)(eY,{icon:"◇",title:"No contacts yet.",body:"Add your drivers, dispatch leads, and clients here so the dashboard knows who's messaging."}),(0,a.jsx)("div",{style:{display:"grid",gap:12},children:null==s?void 0:s.map(e=>(0,a.jsxs)("div",{style:{background:eW.S,border:"1px solid ".concat(eW.BR),borderRadius:3,padding:"14px 18px",display:"grid",gridTemplateColumns:"1fr auto",alignItems:"center",gap:16},children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("div",{style:{fontFamily:eW.FB,fontSize:14,fontWeight:600,color:eW.T1},children:e.name}),(0,a.jsxs)("div",{style:{fontFamily:eW.FM,fontSize:10,color:eW.T5,marginTop:2},children:[e.role&&"".concat(e.role," \xb7 "),e.company]}),(0,a.jsxs)("div",{style:{marginTop:6,display:"flex",gap:6,flexWrap:"wrap"},children:[e.channels.telegram&&(0,a.jsxs)(eN,{color:"#0088cc",children:["TG ",e.channels.telegram]}),e.channels.whatsapp&&(0,a.jsxs)(eN,{color:"#25d366",children:["WA ",e.channels.whatsapp]}),e.channels.email&&(0,a.jsxs)(eN,{children:["EM ",e.channels.email]}),e.tags.map(e=>(0,a.jsx)(eN,{children:e},e))]})]}),(0,a.jsxs)("div",{style:{display:"flex",gap:6},children:[(0,a.jsx)(eP,{size:"sm",onClick:()=>v(e),children:"Edit"}),(0,a.jsx)(eP,{size:"sm",variant:"danger",onClick:()=>S(s.filter(t=>t.id!==e.id)),children:"Remove"})]})]},e.id))}),x&&(0,a.jsx)(e_,{contact:x,onCancel:()=>v(null),onSave:async e=>{let t=null!=s?s:[],n=t.find(t=>t.id===e.id);await S(n?t.map(t=>t.id===e.id?e:t):[...t,e]),v(null)}})]}):(0,a.jsxs)("div",{style:{maxWidth:880,margin:"0 auto"},children:[(0,a.jsx)("div",{style:{marginBottom:16,display:"flex",justifyContent:"flex-end"},children:(0,a.jsx)(eP,{variant:"primary",onClick:()=>j({id:crypto.randomUUID(),clientId:"",channel:"telegram",match:{},agentId:"coo",requireApproval:!0,enabled:!0,createdAt:Date.now()}),children:"+ Add rule"})}),null===c&&(0,a.jsx)(eU,{variant:"row",count:3}),null!==c&&0===c.length&&!b&&(0,a.jsx)(eY,{icon:"⤳",title:"No routing rules yet.",body:"Tell the dashboard which Telegram chats go to which agent. Without a rule, messages sit in the inbox unrouted."}),(0,a.jsx)("div",{style:{display:"grid",gap:12},children:null==c?void 0:c.map(e=>(0,a.jsxs)("div",{style:{background:eW.S,border:"1px solid ".concat(e.enabled?eW.BR:eW.BR2),borderRadius:3,padding:"14px 18px",display:"grid",gridTemplateColumns:"1fr auto",alignItems:"center",gap:16,opacity:e.enabled?1:.55},children:[(0,a.jsxs)("div",{children:[(0,a.jsxs)("div",{style:{fontFamily:eW.FM,fontSize:11,color:eW.T1,letterSpacing:"0.04em"},children:[e.channel.toUpperCase(),e.match.chatId&&(0,a.jsxs)("span",{style:{color:eW.T3},children:[" \xb7 chat ",e.match.chatId]}),e.match.keyword&&(0,a.jsxs)("span",{style:{color:eW.T3},children:[' \xb7 keyword "',e.match.keyword,'"']}),(0,a.jsx)("span",{style:{color:eW.T4},children:" → "}),(0,a.jsx)("span",{style:{color:eW.EM},children:e.agentId})]}),(0,a.jsxs)("div",{style:{marginTop:6,display:"flex",gap:6},children:[(0,a.jsx)(eN,{color:e.requireApproval?eW.EM:"#2f5b3b",children:e.requireApproval?"approval gate":"auto-send"}),(0,a.jsx)(eN,{children:e.enabled?"enabled":"disabled"})]})]}),(0,a.jsxs)("div",{style:{display:"flex",gap:6},children:[(0,a.jsx)(eP,{size:"sm",onClick:()=>j(e),children:"Edit"}),(0,a.jsx)(eP,{size:"sm",onClick:()=>w(c.map(t=>t.id===e.id?{...t,enabled:!t.enabled}:t)),children:e.enabled?"Disable":"Enable"}),(0,a.jsx)(eP,{size:"sm",variant:"danger",onClick:()=>w(c.filter(t=>t.id!==e.id)),children:"Remove"})]})]},e.id))}),b&&(0,a.jsx)(e$,{rule:b,onCancel:()=>j(null),onSave:async e=>{let t=null!=c?c:[],n=t.find(t=>t.id===e.id);await w(n?t.map(t=>t.id===e.id?e:t):[...t,e]),j(null)}})]})}),!n&&(0,a.jsx)(eb,{open:null!==r,context:null==r?void 0:r.context,onSubmit:()=>{let e=null==r?void 0:r.retry;l(null),e&&e()},onCancel:()=>l(null)})]})}function e_(e){var t,n,r,l,o;let{contact:s,onCancel:d,onSave:c}=e,[p,u]=(0,i.useState)(s);return(0,a.jsxs)("div",{style:{marginTop:18,padding:20,background:eW.S,border:"1px solid ".concat(eW.EM),borderRadius:3},children:[(0,a.jsx)("div",{style:{fontFamily:eW.FD,fontSize:18,color:eW.T1,marginBottom:14,letterSpacing:"-0.01em"},children:s.name?"Edit contact":"New contact"}),(0,a.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:12},children:[(0,a.jsx)(eX,{label:"Name",children:(0,a.jsx)("input",{value:p.name,onChange:e=>u({...p,name:e.target.value}),style:eQ})}),(0,a.jsx)(eX,{label:"Role",children:(0,a.jsx)("input",{value:null!=(t=p.role)?t:"",onChange:e=>u({...p,role:e.target.value}),style:eQ})}),(0,a.jsx)(eX,{label:"Company",children:(0,a.jsx)("input",{value:null!=(n=p.company)?n:"",onChange:e=>u({...p,company:e.target.value}),style:eQ})}),(0,a.jsx)(eX,{label:"Tags (comma-separated)",children:(0,a.jsx)("input",{value:p.tags.join(", "),onChange:e=>u({...p,tags:e.target.value.split(",").map(e=>e.trim()).filter(Boolean)}),style:eQ})}),(0,a.jsx)(eX,{label:"Telegram (@handle)",children:(0,a.jsx)("input",{value:null!=(r=p.channels.telegram)?r:"",onChange:e=>u({...p,channels:{...p.channels,telegram:e.target.value}}),style:eQ,placeholder:"@username"})}),(0,a.jsx)(eX,{label:"WhatsApp (+ number)",children:(0,a.jsx)("input",{value:null!=(l=p.channels.whatsapp)?l:"",onChange:e=>u({...p,channels:{...p.channels,whatsapp:e.target.value}}),style:eQ,placeholder:"+61..."})}),(0,a.jsx)(eX,{label:"Email",children:(0,a.jsx)("input",{value:null!=(o=p.channels.email)?o:"",onChange:e=>u({...p,channels:{...p.channels,email:e.target.value}}),style:eQ})})]}),(0,a.jsxs)("div",{style:{marginTop:14,display:"flex",gap:8},children:[(0,a.jsx)(eP,{variant:"primary",onClick:()=>c(p),disabled:!p.name.trim(),children:"Save"}),(0,a.jsx)(eP,{onClick:d,children:"Cancel"})]})]})}function e$(e){var t,n;let{rule:r,onCancel:s,onSave:d}=e,[c,p]=(0,i.useState)(r);return(0,a.jsxs)("div",{style:{marginTop:18,padding:20,background:eW.S,border:"1px solid ".concat(eW.EM),borderRadius:3},children:[(0,a.jsx)("div",{style:{fontFamily:eW.FD,fontSize:18,color:eW.T1,marginBottom:14,letterSpacing:"-0.01em"},children:r.match.chatId||r.match.keyword?"Edit rule":"New rule"}),(0,a.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:12},children:[(0,a.jsx)(eX,{label:"Channel",children:(0,a.jsxs)("select",{value:c.channel,onChange:e=>p({...c,channel:e.target.value}),style:eQ,children:[(0,a.jsx)("option",{value:"telegram",children:"Telegram"}),(0,a.jsx)("option",{value:"whatsapp",children:"WhatsApp"}),(0,a.jsx)("option",{value:"email",children:"Email"})]})}),(0,a.jsx)(eX,{label:"Route to agent",children:(0,a.jsx)("select",{value:c.agentId,onChange:e=>p({...c,agentId:e.target.value}),style:eQ,children:o.map(e=>(0,a.jsx)("option",{value:e,children:l[e].name},e))})}),(0,a.jsx)(eX,{label:"Match: chat ID (optional)",children:(0,a.jsx)("input",{value:null!=(t=c.match.chatId)?t:"",onChange:e=>p({...c,match:{...c.match,chatId:e.target.value||void 0}}),style:eQ,placeholder:"e.g. 1663098725"})}),(0,a.jsx)(eX,{label:"Match: keyword (optional)",children:(0,a.jsx)("input",{value:null!=(n=c.match.keyword)?n:"",onChange:e=>p({...c,match:{...c.match,keyword:e.target.value||void 0}}),style:eQ,placeholder:"e.g. delay"})}),(0,a.jsx)(eX,{label:"Approval gate",children:(0,a.jsxs)("select",{value:c.requireApproval?"yes":"no",onChange:e=>p({...c,requireApproval:"yes"===e.target.value}),style:eQ,children:[(0,a.jsx)("option",{value:"yes",children:"Yes — require approval before reply"}),(0,a.jsx)("option",{value:"no",children:"No — auto-send the reply"})]})}),(0,a.jsx)(eX,{label:"Enabled",children:(0,a.jsxs)("select",{value:c.enabled?"yes":"no",onChange:e=>p({...c,enabled:"yes"===e.target.value}),style:eQ,children:[(0,a.jsx)("option",{value:"yes",children:"Yes"}),(0,a.jsx)("option",{value:"no",children:"No"})]})})]}),(0,a.jsxs)("div",{style:{marginTop:14,display:"flex",gap:8},children:[(0,a.jsx)(eP,{variant:"primary",onClick:()=>d(c),children:"Save"}),(0,a.jsx)(eP,{onClick:s,children:"Cancel"})]})]})}function eX(e){let{label:t,children:n}=e;return(0,a.jsxs)("label",{style:{display:"block"},children:[(0,a.jsx)("div",{style:{fontFamily:eW.FM,fontSize:9,color:eW.T5,letterSpacing:"0.12em",textTransform:"uppercase",marginBottom:4},children:t}),n]})}let eQ={width:"100%",padding:"8px 10px",background:eW.B,border:"1px solid ".concat(eW.BR),color:eW.T1,fontFamily:eW.FB,fontSize:13,borderRadius:2,outline:"none"},eZ={"chip-pro":"One-click runs for the things your procurement team does every week.","logistics-pro":"One-click runs for the things logistics ops do every day.",founder:"Every workflow LeedAB ships. Pick a card, fill in the blanks, run.",starter:"A taste of what your team can run with the full pack."},e0={"chip-pro":["chip","admin","general"],"logistics-pro":["logistics","admin","general"],founder:["chip","logistics","sales","admin","general"],starter:["admin","general"]},e1={chip:"Chip supply chain",logistics:"Logistics back office",sales:"Sales",admin:"Admin",general:"General"};function e2(e){var t,n,l,o,s,d;let{toast:c,onSelectAgent:p}=e,{pack:u}=j(),[h,g]=(0,i.useState)(null),[m,f]=(0,i.useState)(null),x=new URLSearchParams(window.location.search).get("client"),y=x?"?client=".concat(encodeURIComponent(x)):"";(0,i.useEffect)(()=>{fetch("/api/templates".concat(y)).then(e=>e.json()).then(e=>{g(e.templates);try{let t=localStorage.getItem("leedab-pending-template"),n=localStorage.getItem("leedab-pending-template-context");if(t){let a=e.templates.find(e=>e.id===t);if(a){let e={},t=a.inputs.find(e=>"textarea"===e.type);t&&n&&(e[t.name]=n),f({template:a,vars:e})}localStorage.removeItem("leedab-pending-template"),localStorage.removeItem("leedab-pending-template-context")}}catch(e){}}).catch(e=>{var t;c.error(null!=(t=e.message)?t:"load failed"),g([])})},[c]);let v=null==u||null==(t=u.templates[0])?void 0:t.id,b=(0,i.useMemo)(()=>{var e;return h&&v&&null!=(e=h.find(e=>e.id===v))?e:null},[h,v]),k=(0,i.useMemo)(()=>{if(!h)return{};let e={};for(let a of h){var t,n;v&&a.id===v||(null!=(n=e[t=a.category])?n:e[t]=[]).push(a)}return e},[h,v]),S=(0,i.useMemo)(()=>(function(e,t){var n;let a=null!=(n=e&&e0[e])?n:[],i=e=>{let n=a.indexOf(e);return -1===n?a.length+t.indexOf(e):n};return[...t].sort((e,t)=>i(e)-i(t))})(null==u?void 0:u.id,Object.keys(k)),[null==u?void 0:u.id,k]),w=null!=(n=(null==u?void 0:u.id)&&eZ[u.id])?n:"Pre-built workflows your agents can run end-to-end.",T=null!=(l=null==u?void 0:u.name)?l:"LeedAB";async function F(){if(m){f({...m,loading:!0});try{var e;let t=m.template.promptTemplate.replace(/\{\{(\w+)\}\}/g,(e,t)=>{var n;return null!=(n=m.vars[t])?n:"{{".concat(t,"}}")});t=t.replace(/\{(\w+)\}/g,(e,t)=>{var n;return null!=(n=m.vars[t])?n:"{".concat(t,"}")});let n=await fetch("/api/agent",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({agentId:m.template.agentId,message:t})}),a=await n.json();if(!n.ok)throw Error(null!=(e=a.error)?e:"HTTP ".concat(n.status));f({...m,output:a.response,loading:!1})}catch(e){c.error(e instanceof Error?e.message:"run failed"),f({...m,loading:!1})}}}return(0,a.jsxs)("div",{style:{flex:1,display:"flex",flexDirection:"column",overflow:"hidden",background:eW.B},children:[(0,a.jsx)(eL,{section:"\xa7 WORKFLOWS",title:"Pre-built workflows.",subtitle:w}),(0,a.jsxs)("div",{style:{flex:1,overflowY:"auto",padding:"24px 28px"},children:[u&&(0,a.jsxs)("div",{style:{maxWidth:1100,margin:"0 auto 24px",padding:"14px 18px",border:"1px solid ".concat(eW.BR),background:eW.S,borderRadius:4,display:"flex",alignItems:"center",justifyContent:"space-between",flexWrap:"wrap",gap:12,fontFamily:eW.FM,fontSize:11,letterSpacing:"0.08em",textTransform:"uppercase",color:eW.T3},children:[(0,a.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:10},children:[(0,a.jsx)("span",{"aria-hidden":!0,style:{width:6,height:6,borderRadius:"50%",background:eW.EM,boxShadow:"0 0 0 3px ".concat(eW.EM3)}}),(0,a.jsx)("span",{style:{color:eW.T1,fontWeight:600},children:T}),(0,a.jsx)("span",{style:{color:eW.T4},children:"\xb7"}),(0,a.jsxs)("span",{children:[null!=(o=null==h?void 0:h.length)?o:0," workflows"]}),(0,a.jsx)("span",{style:{color:eW.T4},children:"\xb7"}),(0,a.jsx)("span",{children:"Brain + AB’s"})]}),(0,a.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:6},children:[(0,a.jsx)("span",{"aria-hidden":!0,style:{width:6,height:6,borderRadius:"50%",background:"var(--ok)"}}),(0,a.jsx)("span",{children:"Local \xb7 No cloud transfer"})]})]}),null===h&&(0,a.jsx)("div",{style:{maxWidth:1100,margin:"0 auto"},children:(0,a.jsx)("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fill, minmax(320px, 1fr))",gap:12},children:Array.from({length:6}).map((e,t)=>(0,a.jsxs)("div",{style:{padding:18,background:eW.S,border:"1px solid ".concat(eW.BR),borderRadius:3,display:"flex",flexDirection:"column",gap:8},children:[(0,a.jsx)("span",{className:"skel-shimmer",style:{display:"block",width:"55%",height:14,borderRadius:2,background:"var(--paper-2)"}}),(0,a.jsx)("span",{className:"skel-shimmer",style:{display:"block",width:"100%",height:9,borderRadius:2,background:"var(--paper-2)"}}),(0,a.jsx)("span",{className:"skel-shimmer",style:{display:"block",width:"80%",height:9,borderRadius:2,background:"var(--paper-2)"}})]},t))})}),null!==h&&0===h.length&&(0,a.jsx)(eY,{title:"No workflows yet."}),b&&(0,a.jsxs)("button",{onClick:()=>f({template:b,vars:{}}),style:{maxWidth:1100,width:"100%",margin:"0 auto 28px",textAlign:"left",padding:"28px 32px",background:"linear-gradient(180deg, ".concat(eW.EM3," 0%, ").concat(eW.S," 100%)"),border:"1px solid ".concat(eW.BR),borderRadius:4,cursor:"pointer",color:eW.T1,position:"relative",display:"block"},children:[(0,a.jsxs)("span",{style:{position:"absolute",top:18,right:22,display:"inline-flex",alignItems:"center",gap:5,fontFamily:eW.FM,fontSize:9,letterSpacing:"0.14em",color:eW.T3,textTransform:"uppercase",opacity:.85},children:[(0,a.jsx)("svg",{width:"9",height:"9",viewBox:"0 0 12 12",fill:"none","aria-hidden":"true",children:(0,a.jsx)("path",{d:"M6 1.2 7 4.4l3.4.3L7.8 6.8l.8 3.3L6 8.4 3.4 10l.8-3.2L1.6 4.7 5 4.4z",stroke:"currentColor",strokeWidth:"0.9",strokeLinejoin:"round"})}),"Pinned"]}),(0,a.jsx)("div",{style:{fontFamily:eW.FM,fontSize:11,letterSpacing:"0.14em",color:eW.EM,textTransform:"uppercase",marginBottom:14},children:null!=(s=e1[b.category])?s:b.category}),(0,a.jsx)("div",{style:{fontFamily:eW.FD,fontSize:30,fontWeight:500,color:eW.T1,marginBottom:10,letterSpacing:"-0.02em",lineHeight:1.1,maxWidth:720},children:b.name}),(0,a.jsx)("div",{style:{fontSize:14,color:eW.T2,lineHeight:1.55,marginBottom:18,fontFamily:eW.FB,maxWidth:720},children:b.description}),(0,a.jsxs)("div",{style:{display:"flex",gap:6,flexWrap:"wrap"},children:[(0,a.jsx)(eN,{color:eW.EM,children:b.agentId}),(0,a.jsxs)(eN,{children:["→ ",b.outputType]})]})]}),S.map(e=>{var t;let n=k[e];return n&&0!==n.length?(0,a.jsxs)("div",{style:{marginBottom:32,maxWidth:1100,margin:"0 auto 32px"},children:[(0,a.jsx)("div",{style:{fontFamily:eW.FM,fontSize:11,color:eW.EM,letterSpacing:"0.14em",marginBottom:10,textTransform:"uppercase"},children:null!=(t=e1[e])?t:e}),(0,a.jsx)("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fill, minmax(320px, 1fr))",gap:12},children:n.map(e=>(0,a.jsxs)("button",{onClick:()=>f({template:e,vars:{}}),style:{textAlign:"left",padding:18,background:eW.S,border:"1px solid ".concat(eW.BR),borderRadius:3,cursor:"pointer",color:eW.T1,transition:"all 0.15s"},children:[(0,a.jsx)("div",{style:{fontFamily:eW.FD,fontSize:18,fontWeight:500,color:eW.T1,marginBottom:6,letterSpacing:"-0.01em"},children:e.name}),(0,a.jsx)("div",{style:{fontSize:12,color:eW.T3,lineHeight:1.5,marginBottom:12,fontFamily:eW.FB},children:e.description}),(0,a.jsxs)("div",{style:{display:"flex",gap:6,flexWrap:"wrap"},children:[(0,a.jsx)(eN,{color:eW.EM,children:e.agentId}),(0,a.jsxs)(eN,{children:["→ ",e.outputType]})]})]},e.id))})]},e):null}),null!==h&&h.length>0&&(0,a.jsx)("div",{style:{maxWidth:1100,margin:"0 auto"},children:(0,a.jsxs)("a",{href:"https://leedab.com/contact",target:"_blank",rel:"noopener noreferrer",style:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:18,background:"transparent",border:"1px dashed ".concat(eW.BR),borderRadius:3,color:eW.T3,textDecoration:"none",transition:"all 0.15s"},onMouseEnter:e=>{e.currentTarget.style.borderColor=eW.EM,e.currentTarget.style.color=eW.T1},onMouseLeave:e=>{e.currentTarget.style.borderColor=eW.BR,e.currentTarget.style.color=eW.T3},children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("div",{style:{fontFamily:eW.FD,fontSize:18,fontWeight:500,letterSpacing:"-0.01em"},children:"Request more workflows"}),(0,a.jsx)("div",{style:{fontSize:12,color:eW.T4,marginTop:4,fontFamily:eW.FB},children:"Tell us what you need built. We’ll ship it for your team."})]}),(0,a.jsx)("span",{style:{fontFamily:eW.FM,fontSize:11,letterSpacing:"0.14em",color:eW.EM},children:"leedab.com/contact →"})]})})]}),m&&(0,a.jsx)("div",{onClick:()=>m.loading||f(null),style:{position:"fixed",inset:0,background:"rgba(0,0,0,0.5)",zIndex:1e3,display:"flex",alignItems:"center",justifyContent:"center",padding:24},children:(0,a.jsxs)("div",{onClick:e=>e.stopPropagation(),style:{width:"100%",maxWidth:720,maxHeight:"85vh",overflowY:"auto",background:eW.B,border:"1px solid ".concat(eW.BR),borderRadius:4,padding:28},children:[(0,a.jsx)("div",{style:{fontFamily:eW.FD,fontSize:26,fontWeight:500,color:eW.T1,letterSpacing:"-0.02em",marginBottom:6},children:m.template.name}),(0,a.jsx)("div",{style:{fontSize:13,color:eW.T3,marginBottom:22,fontFamily:eW.FB},children:m.template.description}),m.output?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("div",{style:{fontFamily:eW.FM,fontSize:10,color:eW.EM,letterSpacing:"0.12em",marginBottom:8,textTransform:"uppercase"},children:"Result"}),(0,a.jsx)("div",{className:"prose-agent",style:{padding:"16px 20px",background:eW.S,border:"1px solid ".concat(eW.BR),borderRadius:2,fontSize:14,color:eW.T1,fontFamily:eW.FB,lineHeight:1.6,maxHeight:420,overflowY:"auto",marginBottom:16},children:(0,a.jsx)(r.oz,{children:null!=(d=m.output)?d:""})}),(0,a.jsxs)("div",{style:{display:"flex",gap:8},children:[(0,a.jsx)(eP,{onClick:()=>{var e;return navigator.clipboard.writeText(null!=(e=m.output)?e:"")},children:"Copy"}),(0,a.jsx)(eP,{onClick:()=>f({template:m.template,vars:m.vars}),children:"Run again"}),(0,a.jsx)(eP,{onClick:()=>f(null),children:"Close"})]})]}):(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)("div",{style:{display:"grid",gap:12,marginBottom:18},children:[m.template.inputs.map(e=>{var t,n;return(0,a.jsxs)("div",{children:[(0,a.jsxs)("div",{style:{display:"flex",alignItems:"baseline",justifyContent:"space-between",marginBottom:4},children:[(0,a.jsxs)("div",{style:{fontFamily:eW.FM,fontSize:9,color:eW.T5,letterSpacing:"0.12em",textTransform:"uppercase"},children:[e.label,e.required&&" *"]}),"textarea"===e.type&&(0,a.jsx)(e4,{onText:(t,n)=>{var a;let i="[file: ".concat(t,"]\n"),r=null!=(a=m.vars[e.name])?a:"",l=r?"".concat(r,"\n\n").concat(i).concat(n):"".concat(i).concat(n);f(t=>t?{...t,vars:{...t.vars,[e.name]:l}}:t)}})]}),"textarea"===e.type?(0,a.jsx)("textarea",{value:null!=(t=m.vars[e.name])?t:"",onChange:t=>f({...m,vars:{...m.vars,[e.name]:t.target.value}}),rows:5,placeholder:"Paste rows here, or drop a .csv / .tsv / .txt above",style:{width:"100%",padding:"10px 12px",background:eW.S,border:"1px solid ".concat(eW.BR),color:eW.T1,fontFamily:eW.FB,fontSize:13,borderRadius:2,outline:"none",resize:"vertical"}}):(0,a.jsx)("input",{value:null!=(n=m.vars[e.name])?n:"",onChange:t=>f({...m,vars:{...m.vars,[e.name]:t.target.value}}),style:{width:"100%",padding:"8px 12px",background:eW.S,border:"1px solid ".concat(eW.BR),color:eW.T1,fontFamily:eW.FB,fontSize:13,borderRadius:2,outline:"none"}})]},e.name)}),0===m.template.inputs.length&&(0,a.jsx)("div",{style:{fontSize:13,color:eW.T4,fontFamily:eW.FB},children:"This template takes no inputs — just hit Run."})]}),(0,a.jsxs)("div",{style:{display:"flex",gap:8},children:[(0,a.jsx)(eP,{variant:"primary",disabled:m.loading,onClick:F,children:m.loading?"Running…":"Run"}),(0,a.jsx)(eP,{onClick:()=>f(null),disabled:m.loading,children:"Close"}),(0,a.jsx)(eP,{onClick:()=>p(m.template.agentId),disabled:m.loading,children:"Open in chat"})]})]})]})})]})}function e4(e){let{onText:t}=e,n=(0,i.useRef)(null),[r,l]=(0,i.useState)(!1);async function o(e){if(e&&e.length){l(!0);try{for(let n of Array.from(e)){let e=await n.text();t(n.name,e)}}finally{l(!1),n.current&&(n.current.value="")}}}return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("button",{type:"button",onClick:()=>{var e;return null==(e=n.current)?void 0:e.click()},disabled:r,style:{fontFamily:eW.FM,fontSize:10,letterSpacing:"0.1em",textTransform:"uppercase",color:eW.EM,background:"transparent",border:"1px dashed ".concat(eW.EM6),borderRadius:2,padding:"3px 8px",cursor:r?"wait":"pointer"},children:r?"Reading…":"+ Upload file"}),(0,a.jsx)("input",{ref:n,type:"file",accept:".csv,.tsv,.txt,.md,.json,.log,.eml,text/csv,text/plain,application/json",multiple:!0,style:{display:"none"},onChange:e=>o(e.target.files)})]})}function e6(){let{onOpenSession:e}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},[t,n]=(0,i.useState)(null),[r,l]=(0,i.useState)(null),[o,s]=(0,i.useState)(200),[d,c]=(0,i.useState)(!1),p=(0,i.useCallback)(async()=>{try{let e=await fetch("/api/runs?limit=".concat(o));if(!e.ok)throw Error("HTTP ".concat(e.status));let t=await e.json();n(t.runs),l(t.metrics)}catch(e){n([]),l(null)}},[o]);(0,i.useEffect)(()=>{p()},[p]),(0,i.useEffect)(()=>{let e=setInterval(p,8e3);return()=>clearInterval(e)},[p]);let u=t&&d?t.filter(e=>"error"===e.status):t,h=r&&t?Math.max(0,r.totalRuns-t.length):0;return(0,a.jsxs)("div",{style:{flex:1,display:"flex",flexDirection:"column",overflow:"hidden",background:eW.B},children:[(0,a.jsx)(eL,{section:"\xa7 RUNS",title:"Every action, logged.",subtitle:"What ran, when, how long, how much it cost."}),r&&(0,a.jsx)("div",{style:{display:"grid",gridTemplateColumns:"repeat(4, 1fr)",borderBottom:"1px solid ".concat(eW.BR),flexShrink:0},children:[{label:"TOTAL RUNS",value:r.totalRuns.toString(),interactive:!1,active:!1,sub:void 0},{label:d?"FAILURES":"SUCCESS RATE",value:d?r.errorRuns.toString():"".concat((100*r.successRate).toFixed(0),"%"),interactive:r.errorRuns>0||d,active:d,sub:d?"Click to clear filter":r.errorRuns>0?"Click to review ".concat(r.errorRuns," failure").concat(1===r.errorRuns?"":"s"):void 0},{label:"AVG DURATION",value:"".concat((r.avgDurationMs/1e3).toFixed(1),"s"),interactive:!1,active:!1,sub:void 0},{label:"EST. COST",value:"$".concat(r.totalCost.toFixed(2)),interactive:!1,active:!1,sub:void 0}].map(e=>(0,a.jsxs)("div",{onClick:e.interactive?()=>c(e=>!e):void 0,title:e.interactive&&!e.active?"Show only failed runs":e.interactive?"Show all runs":void 0,style:{padding:"20px 24px",borderRight:"1px solid ".concat(eW.BR2),cursor:e.interactive?"pointer":"default",background:e.active?eW.S:"transparent"},children:[(0,a.jsx)("div",{style:{fontFamily:eW.FM,fontSize:9,color:e.active?"#a52a1a":eW.T5,letterSpacing:"0.14em"},children:e.label}),(0,a.jsx)("div",{style:{fontFamily:eW.FD,fontSize:32,fontWeight:500,color:e.active?"#a52a1a":eW.T1,letterSpacing:"-0.02em",marginTop:4},children:e.value}),e.sub&&(0,a.jsx)("div",{style:{fontFamily:eW.FM,fontSize:10,color:eW.T5,marginTop:4,letterSpacing:"0.04em"},children:e.sub})]},e.label))}),(0,a.jsxs)("div",{style:{flex:1,overflowY:"auto"},children:[null===t&&(0,a.jsx)(eU,{variant:"list-row",count:6}),null!==t&&0===t.length&&(0,a.jsx)(eY,{icon:"◌",title:"No runs yet.",body:"Each agent task or workflow execution will appear here with timing and cost."}),null!==t&&t.length>0&&d&&u&&0===u.length&&(0,a.jsx)(eY,{icon:"✓",title:"No failures.",body:"All runs in the current page succeeded. Click SUCCESS RATE again to clear the filter."}),u&&u.length>0&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)("table",{style:{width:"100%",borderCollapse:"collapse",fontFamily:eW.FM,fontSize:12},children:[(0,a.jsx)("thead",{children:(0,a.jsx)("tr",{style:{borderBottom:"1px solid ".concat(eW.BR)},children:["TIME","AGENT","TRIGGER","STATUS","DURATION","TOKENS","COST"].map(e=>(0,a.jsx)("th",{style:{textAlign:"left",padding:"12px 18px",fontSize:9,color:eW.T5,letterSpacing:"0.14em",fontWeight:400},children:e},e))})}),(0,a.jsx)("tbody",{children:u.map(t=>{var n;let i="success"===t.status?"#2f5b3b":"error"===t.status?"#a52a1a":"running"===t.status?eW.EM:eW.T4,r=!!(t.sessionId&&e);return(0,a.jsxs)("tr",{onClick:r?()=>e(t.sessionId,t.startedAt):void 0,title:r?"Open session for this run":void 0,style:{borderBottom:"1px solid ".concat(eW.BR2),color:eW.T2,cursor:r?"pointer":"default"},children:[(0,a.jsx)("td",{style:{padding:"10px 18px"},children:eO(t.startedAt)}),(0,a.jsx)("td",{style:{padding:"10px 18px",color:eW.T1,fontWeight:500},children:t.agentId}),(0,a.jsx)("td",{style:{padding:"10px 18px"},children:t.triggerType}),(0,a.jsx)("td",{style:{padding:"10px 18px"},children:(0,a.jsx)(eN,{color:i,children:t.status})}),(0,a.jsx)("td",{style:{padding:"10px 18px"},children:t.durationMs?"".concat((t.durationMs/1e3).toFixed(1),"s"):"—"}),(0,a.jsx)("td",{style:{padding:"10px 18px"},children:t.inputTokens?"".concat(t.inputTokens,"/").concat(null!=(n=t.outputTokens)?n:0):"—"}),(0,a.jsx)("td",{style:{padding:"10px 18px",color:eW.EM},children:t.estimatedCost?"$".concat(t.estimatedCost.toFixed(4)):"—"})]},t.id)})})]}),h>0&&(0,a.jsx)("div",{style:{padding:"16px 18px",textAlign:"center",borderTop:"1px solid ".concat(eW.BR)},children:(0,a.jsxs)("button",{type:"button",onClick:()=>s(e=>e+200),style:{fontFamily:eW.FM,fontSize:11,letterSpacing:"0.14em",color:eW.T2,background:"transparent",border:"1px solid ".concat(eW.BR),padding:"8px 18px",cursor:"pointer",textTransform:"uppercase"},children:["Show more \xb7 ",h," remaining"]})})]})]})]})}function e5(){var e;let{onOpenSession:t}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},[n,r]=(0,i.useState)([]),{pack:o}=j(),s=null!=(e=null==o?void 0:o.agents)?e:l;return((0,i.useEffect)(()=>{let e=!1,t=e=>{var t,n;return null!=(n=null==(t=s[e])?void 0:t.code)?n:e.toUpperCase()};async function n(){try{let[a,i,l]=await Promise.all([fetch("/api/runs?limit=5").then(e=>e.json()),fetch("/api/inbox?limit=5").then(e=>e.json()),fetch("/api/approvals?status=pending&limit=5").then(e=>e.json())]);if(e)return;let o=[];for(let e of a.runs){var n;o.push({id:"run-".concat(e.id),ts:e.startedAt,kind:"run",text:"".concat(t(e.agentId)," ran via ").concat(e.triggerType," — ").concat("success"===e.status?"".concat((null!=(n=e.durationMs)?n:0)/1e3,"s"):e.status),tone:"error"===e.status?"warn":"running"===e.status?"live":"ok",sessionId:e.sessionId})}for(let e of i.messages)o.push({id:"in-".concat(e.id),ts:e.timestamp,kind:"inbox",text:"".concat(e.channel.toUpperCase()," message from ").concat(e.fromName," — ").concat(e.text.slice(0,60)).concat(e.text.length>60?"…":""),tone:"new"===e.status?"live":"ok"});for(let e of l.approvals)o.push({id:"app-".concat(e.id),ts:e.createdAt,kind:"approval",text:"Approval pending — ".concat(e.title),tone:"warn"});o.sort((e,t)=>t.ts-e.ts),r(o.slice(0,12))}catch(e){}}n();let a=setInterval(n,8e3);return()=>{e=!0,clearInterval(a)}},[s]),0===n.length)?null:(0,a.jsx)("div",{"data-mobile-hide":!0,style:{display:"flex",alignItems:"center",gap:0,padding:"0 28px",height:28,borderBottom:"1px solid ".concat(eW.BR2),background:eW.B,flexShrink:0,overflow:"hidden",whiteSpace:"nowrap",fontFamily:eW.FM,fontSize:11},children:(0,a.jsx)("div",{style:{display:"inline-flex",gap:28,animation:"tick 60s linear infinite",paddingLeft:0},children:[...n,...n].map((e,n)=>{let i=!!(e.sessionId&&t);return(0,a.jsxs)("span",{onClick:i?()=>t(e.sessionId,e.ts):void 0,title:i?"Open session for this event":void 0,style:{display:"inline-flex",alignItems:"center",gap:8,color:eW.T3,cursor:i?"pointer":"default"},children:[(0,a.jsx)("span",{style:{fontSize:8,padding:"1px 6px",border:"1px solid ".concat("live"===e.tone?eW.EM:"warn"===e.tone?"#a52a1a":"#2f5b3b"),color:"live"===e.tone?eW.EM:"warn"===e.tone?"#a52a1a":"#2f5b3b",letterSpacing:"0.1em",textTransform:"uppercase"},children:e.kind}),(0,a.jsx)("span",{children:e.text}),(0,a.jsxs)("span",{style:{color:eW.T6},children:["\xb7 ",eO(e.ts)]}),(0,a.jsx)("span",{style:{color:eW.T7},children:"◆"})]},"".concat(e.id,"-").concat(n))})})})}let e8={click:"CLICK",type:"TYPE",scroll:"SCROLL",extract:"EXTRACT",wait:"WAIT",navigate:"NAVIGATE"},e3={click:"#6b85a0",type:"#8a6e9e",scroll:"#7a8e5a",extract:eW.EM,wait:"#9a9081",navigate:"#4a7c8a"};function e9(e){let{toast:t,onSelectAgent:n}=e,[r,l]=(0,i.useState)(null),[o,s]=(0,i.useState)(null),[d,c]=(0,i.useState)(0),p=(0,i.useCallback)((e,t)=>{if("snapshot"===e){let{sessions:e}=t;l(e);return}return"created"===e?void l(e=>e?[t,...e.filter(e=>e.id!==t.id)]:[t]):"updated"===e?void l(e=>e?e.map(e=>e.id===t.id?t:e):e):void 0},[]);(0,i.useEffect)(()=>{fetch("/api/computer-use?limit=50").then(e=>e.json()).then(e=>l(e.sessions)).catch(()=>l([]))},[]),eK(null,["snapshot","created","updated"],p);let u=(0,i.useMemo)(()=>{var e;return null!=(e=(null!=r?r:[]).find(e=>e.id===o))?e:null},[r,o]);(0,i.useEffect)(()=>{!o&&r&&r.length>0&&s(r[0].id)},[r,o]),(0,i.useEffect)(()=>{c(0)},[o]);let h=(null!=r?r:[]).filter(e=>"running"===e.status).length;return(0,a.jsxs)("div",{style:{flex:1,display:"flex",flexDirection:"column",overflow:"hidden",background:eW.B},children:[(0,a.jsx)(eL,{section:"\xa7 COMPUTER USE".concat(h>0?" \xb7 ".concat(h," LIVE"):""),title:"What the agent actually did.",subtitle:"Step-by-step replay of every action the agent took on your customer's software."}),(0,a.jsxs)("div",{"data-mobile-stack":!0,style:{flex:1,display:"flex",overflow:"hidden"},children:[(0,a.jsxs)("div",{"data-mobile-fullwidth":!0,style:{width:360,borderRight:"1px solid ".concat(eW.BR),overflowY:"auto",flexShrink:0},children:[null===r&&(0,a.jsx)(eU,{variant:"row",count:4}),null!==r&&0===r.length&&(0,a.jsx)(eY,{icon:"◫",title:"No sessions yet.",body:"Computer-use sessions appear here as agents drive your tools. Try the DEMO toggle to load a few."}),null==r?void 0:r.map(e=>{var t,n;let i=null==(t=[...e.steps].reverse().find(e=>e.screenshotUrl))?void 0:t.screenshotUrl,r=o===e.id;return(0,a.jsxs)("button",{onClick:()=>s(e.id),style:{display:"block",width:"100%",textAlign:"left",padding:"12px 16px",background:r?eW.EM3:"transparent",borderTop:"none",borderRight:"none",borderBottom:"1px solid ".concat(eW.BR2),borderLeft:"3px solid ".concat("running"===e.status?eW.EM:"error"===e.status?"#a52a1a":"transparent"),cursor:"pointer",color:eW.T1},children:[(0,a.jsxs)("div",{style:{display:"flex",gap:10,marginBottom:6},children:[i&&(0,a.jsx)("img",{src:i,alt:"",style:{width:56,height:36,objectFit:"cover",borderRadius:2,border:"1px solid ".concat(eW.BR2),flexShrink:0}}),(0,a.jsxs)("div",{style:{flex:1,minWidth:0},children:[(0,a.jsx)("div",{title:e.taskTitle,style:{fontSize:12,fontWeight:600,fontFamily:eW.FB,color:eW.T1,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e.taskTitle}),(0,a.jsxs)("div",{style:{fontFamily:eW.FM,fontSize:9,color:eW.T5,marginTop:2},children:[e.agentId," \xb7 ",null!=(n=e.surface)?n:"—"," \xb7 ",eO(e.startedAt)]})]})]}),(0,a.jsxs)("div",{style:{display:"flex",gap:6,alignItems:"center"},children:[(0,a.jsx)(eN,{color:"running"===e.status?eW.EM:"error"===e.status?"#a52a1a":"#2f5b3b",children:e.status}),(0,a.jsxs)("span",{style:{fontFamily:eW.FM,fontSize:9,color:eW.T5},children:[e.steps.length," step",1===e.steps.length?"":"s"]}),e.finishedAt&&(0,a.jsxs)("span",{style:{fontFamily:eW.FM,fontSize:9,color:eW.T5},children:["\xb7 ",Math.round((e.finishedAt-e.startedAt)/1e3),"s"]})]})]},e.id)})]}),(0,a.jsx)("div",{style:{flex:1,overflowY:"auto"},children:u?(0,a.jsx)(e7,{session:u,stepIdx:d,onStepChange:c}):(0,a.jsx)(eY,{icon:"◫",title:"Select a session.",body:"Pick a session on the left to scrub through it."})})]})]})}function e7(e){var t;let{session:n,stepIdx:i,onStepChange:r}=e,l=Math.min(i,n.steps.length-1),o=n.steps[l];return(0,a.jsxs)("div",{style:{display:"flex",flexDirection:"column",height:"100%"},children:[(0,a.jsxs)("div",{style:{padding:"20px 28px 14px",borderBottom:"1px solid ".concat(eW.BR),flexShrink:0},children:[(0,a.jsx)("div",{style:{fontFamily:eW.FD,fontSize:22,fontWeight:500,color:eW.T1,letterSpacing:"-0.01em"},children:n.taskTitle}),n.taskDescription&&(0,a.jsx)("div",{style:{fontSize:13,color:eW.T3,marginTop:4,fontFamily:eW.FB,lineHeight:1.55},children:n.taskDescription}),(0,a.jsxs)("div",{style:{display:"flex",gap:10,marginTop:10,fontFamily:eW.FM,fontSize:9,color:eW.T5,letterSpacing:"0.1em"},children:[(0,a.jsxs)("span",{children:["AGENT \xb7 ",n.agentId.toUpperCase()]}),(0,a.jsxs)("span",{children:["SURFACE \xb7 ",(null!=(t=n.surface)?t:"—").toUpperCase()]}),(0,a.jsxs)("span",{children:["STARTED \xb7 ",new Date(n.startedAt).toLocaleString()]}),n.finishedAt&&(0,a.jsxs)("span",{children:["DURATION \xb7 ",Math.round((n.finishedAt-n.startedAt)/1e3),"S"]})]})]}),(0,a.jsxs)("div",{style:{flex:1,padding:"20px 28px",overflowY:"auto",display:"flex",flexDirection:"column",gap:14},children:[(null==o?void 0:o.screenshotUrl)?(0,a.jsx)("img",{src:o.screenshotUrl,alt:o.description,style:{width:"100%",maxWidth:880,alignSelf:"center",borderRadius:4,border:"1px solid ".concat(eW.BR),boxShadow:"0 4px 24px rgba(26,23,19,0.10)",background:eW.S}}):(0,a.jsx)("div",{style:{width:"100%",maxWidth:880,alignSelf:"center",height:360,borderRadius:4,border:"1px dashed ".concat(eW.BR),display:"flex",alignItems:"center",justifyContent:"center",color:eW.T5,fontFamily:eW.FM,fontSize:11,letterSpacing:"0.1em"},children:"NO SCREENSHOT FOR THIS STEP"}),o&&(0,a.jsxs)("div",{style:{maxWidth:880,alignSelf:"center",width:"100%",display:"flex",gap:10,alignItems:"flex-start"},children:[(0,a.jsx)("span",{style:{fontFamily:eW.FM,fontSize:9,letterSpacing:"0.12em",color:e3[o.action],padding:"3px 8px",border:"1px solid ".concat(e3[o.action],"66"),borderRadius:2,flexShrink:0,lineHeight:1.4},children:e8[o.action]}),(0,a.jsx)("span",{style:{fontSize:14,color:eW.T1,fontFamily:eW.FB,lineHeight:1.55},children:o.description}),(0,a.jsxs)("span",{style:{fontFamily:eW.FM,fontSize:9,color:eW.T5,marginLeft:"auto",flexShrink:0},children:["+",(o.ts/1e3).toFixed(1),"s"]})]}),n.outcome&&l===n.steps.length-1&&(0,a.jsxs)("div",{style:{maxWidth:880,alignSelf:"center",width:"100%",padding:"12px 16px",marginTop:6,background:"".concat(eW.EM3),border:"1px solid ".concat(eW.EM),borderRadius:3,fontSize:13,color:eW.T1,fontFamily:eW.FB,lineHeight:1.55},children:[(0,a.jsx)("div",{style:{fontFamily:eW.FM,fontSize:9,color:eW.EM,letterSpacing:"0.14em",marginBottom:4},children:"OUTCOME"}),n.outcome]})]}),(0,a.jsxs)("div",{style:{borderTop:"1px solid ".concat(eW.BR),background:eW.S,flexShrink:0},children:[(0,a.jsxs)("div",{style:{padding:"10px 28px",display:"flex",alignItems:"center",gap:12},children:[(0,a.jsx)("button",{onClick:()=>r(Math.max(0,l-1)),disabled:0===l,style:{fontFamily:eW.FM,fontSize:11,padding:"4px 10px",border:"1px solid ".concat(eW.BR),background:"transparent",color:0===l?eW.T6:eW.T3,borderRadius:2,cursor:0===l?"not-allowed":"pointer"},children:"← PREV"}),(0,a.jsx)("input",{type:"range",min:0,max:Math.max(0,n.steps.length-1),value:l,onChange:e=>r(Number(e.target.value)),"aria-label":"Scrub through session",style:{flex:1,accentColor:eW.EM}}),(0,a.jsx)("button",{onClick:()=>r(Math.min(n.steps.length-1,l+1)),disabled:l>=n.steps.length-1,style:{fontFamily:eW.FM,fontSize:11,padding:"4px 10px",border:"1px solid ".concat(eW.BR),background:"transparent",color:l>=n.steps.length-1?eW.T6:eW.T3,borderRadius:2,cursor:l>=n.steps.length-1?"not-allowed":"pointer"},children:"NEXT →"}),(0,a.jsxs)("span",{style:{fontFamily:eW.FM,fontSize:10,color:eW.T5,letterSpacing:"0.08em",minWidth:60,textAlign:"right"},children:[l+1," / ",n.steps.length]})]}),(0,a.jsx)("div",{style:{borderTop:"1px solid ".concat(eW.BR2),maxHeight:180,overflowY:"auto"},children:n.steps.map((e,t)=>{let n=t===l;return(0,a.jsxs)("button",{onClick:()=>r(t),style:{display:"flex",alignItems:"center",gap:10,width:"100%",padding:"6px 28px",textAlign:"left",background:n?"".concat(eW.EM,"1a"):"transparent",borderTop:"none",borderRight:"none",borderBottom:"none",borderLeft:"2px solid ".concat(n?eW.EM:"transparent"),cursor:"pointer"},children:[(0,a.jsxs)("span",{style:{fontFamily:eW.FM,fontSize:9,color:eW.T6,width:40,flexShrink:0},children:[(e.ts/1e3).toFixed(1),"s"]}),(0,a.jsx)("span",{style:{fontFamily:eW.FM,fontSize:8,letterSpacing:"0.12em",color:e3[e.action],padding:"1px 5px",border:"1px solid ".concat(e3[e.action],"55"),borderRadius:2,width:64,textAlign:"center",flexShrink:0},children:e8[e.action]}),(0,a.jsx)("span",{style:{fontSize:12,color:n?eW.T1:eW.T3,fontFamily:eW.FB,flex:1,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e.description})]},t)})})]})]})}function te(e){var t;let{toast:n,onSelectAgent:r}=e,[l,o]=(0,i.useState)(null),[s,d]=(0,i.useState)("all"),[c,p]=(0,i.useState)(null),[u,h]=(0,i.useState)(new Set),g=(0,i.useCallback)(e=>{h(t=>{let n=new Set(t);return n.add(e),n}),setTimeout(()=>{h(t=>{if(!t.has(e))return t;let n=new Set(t);return n.delete(e),n})},1700)},[]);eK("/api/inbox/stream",["snapshot","created","updated"],(0,i.useCallback)((e,t)=>{if("snapshot"===e){let{messages:e}=t;o(e);return}if("created"===e){o(e=>e?e.some(e=>e.id===t.id)?e:[t,...e]:[t]),g(t.threadId);return}if("updated"===e)return void o(e=>e?e.map(e=>e.id===t.id?t:e):e)},[g])),(0,i.useEffect)(()=>{if(!l||0===l.length)return;let e=new URL(window.location.href),t=e.searchParams.get("id");if(!t)return;let n=l.find(e=>e.id===t);n&&(p(n.threadId),e.searchParams.delete("id"),window.history.replaceState({},"",e.toString()))},[l]);let m=(0,i.useMemo)(()=>{var e=(null!=l?l:[]).filter(e=>"all"===s||e.status===s);let t=new Map;for(let n of e){let e=t.get(n.threadId);e?(e.messages.push(n),"new"===n.status&&e.newCount++):t.set(n.threadId,{id:n.threadId,channel:n.channel,chatId:n.chatId,fromName:n.fromName,fromHandle:n.fromHandle,agentId:n.agentId,messages:[n],newCount:+("new"===n.status),latestStatus:n.status,latestTimestamp:n.timestamp})}return Array.from(t.values()).sort((e,t)=>t.latestTimestamp-e.latestTimestamp)},[l,s]),f=(null!=l?l:[]).filter(e=>"new"===e.status).length,x=c&&null!=(t=m.find(e=>e.id===c))?t:null;async function y(e,t){try{let n=await fetch("/api/inbox",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:e,patch:{status:t}})});if(!n.ok)throw Error("HTTP ".concat(n.status))}catch(e){n.error(e instanceof Error?e.message:"update failed")}}async function v(e){let t=e.messages.map(e=>({id:e.id,status:e.status}));for(let t of e.messages)await y(t.id,"archived");n.info("Archived ".concat(e.fromName,"."),{ttlMs:6e3,action:{label:"Undo",onClick:async()=>{for(let e of t)await y(e.id,e.status)}}})}async function b(e){for(let t of e.messages)await y(t.id,"read")}return(0,a.jsxs)("div",{style:{flex:1,display:"flex",flexDirection:"column",overflow:"hidden",background:eW.B},children:[(0,a.jsx)(eL,{section:"\xa7 INBOX".concat(f>0?" \xb7 ".concat(f," NEW"):""),title:"The signal in your channels.",subtitle:"Incoming messages from Telegram, WhatsApp, and email — grouped by conversation.",actions:(0,a.jsx)("div",{style:{display:"flex",gap:4},children:["all","new","replied","archived"].map(e=>(0,a.jsx)("button",{onClick:()=>d(e),style:{padding:"5px 10px",fontFamily:eW.FM,fontSize:9,letterSpacing:"0.1em",textTransform:"uppercase",border:"1px solid ".concat(s===e?eW.EM:eW.BR),background:s===e?eW.EM3:"transparent",color:s===e?eW.EM:eW.T4,cursor:"pointer",borderRadius:2},children:e},e))})}),(0,a.jsxs)("div",{"data-mobile-stack":!0,style:{flex:1,display:"flex",overflow:"hidden"},children:[(0,a.jsxs)("div",{"data-mobile-fullwidth":!0,style:{width:360,borderRight:"1px solid ".concat(eW.BR),overflowY:"auto",flexShrink:0},children:[null===l&&(0,a.jsx)(eU,{variant:"row",count:6}),null!==l&&0===m.length&&(0,a.jsx)(eY,{title:"new"===s?"Nothing new.":"No conversations yet.",body:"Connect Telegram or WhatsApp and route a chat to an agent to see incoming messages here."}),m.map(e=>{let t=e.messages[0],n=e.newCount>0,i=u.has(e.id)&&c!==e.id;return(0,a.jsxs)("button",{onClick:()=>(function(e){for(let t of(p(e.id),e.messages))"new"===t.status&&y(t.id,"read")})(e),className:i?"sse-flash":void 0,style:{display:"block",width:"100%",textAlign:"left",padding:"12px 16px",background:c===e.id?eW.EM3:"transparent",borderTop:"none",borderRight:"none",borderBottom:"1px solid ".concat(eW.BR2),borderLeft:"3px solid ".concat(n?eW.EM:"transparent"),cursor:"pointer",color:eW.T1},children:[(0,a.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,marginBottom:4},children:[(0,a.jsx)(eH,{channel:e.channel}),(0,a.jsx)("span",{title:e.fromName,style:{fontSize:12,fontWeight:600,fontFamily:eW.FB,color:eW.T1,flex:1,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e.fromName}),e.messages.length>1&&(0,a.jsx)("span",{style:{fontFamily:eW.FM,fontSize:9,color:eW.T4,padding:"1px 5px",border:"1px solid ".concat(eW.BR),borderRadius:2},children:e.messages.length}),(0,a.jsx)("span",{style:{fontFamily:eW.FM,fontSize:9,color:eW.T5},children:eO(e.latestTimestamp)})]}),(0,a.jsx)("div",{title:t.text,style:{fontSize:12,color:eW.T3,lineHeight:1.4,fontFamily:eW.FB,overflow:"hidden",display:"-webkit-box",WebkitLineClamp:2,WebkitBoxOrient:"vertical"},children:t.text}),(0,a.jsxs)("div",{style:{marginTop:6,display:"flex",gap:6,alignItems:"center"},children:[n&&(0,a.jsxs)(eN,{color:eW.EM,children:[e.newCount," new"]}),!n&&"new"!==e.latestStatus&&(0,a.jsx)(eN,{children:e.latestStatus}),e.agentId&&(0,a.jsxs)(eN,{color:eW.EM,children:["→ ",e.agentId]})]})]},e.id)})]}),(0,a.jsx)("div",{style:{flex:1,overflowY:"auto"},children:x?(0,a.jsx)(tt,{thread:x,toast:n,onSelectAgent:r,onArchiveThread:()=>v(x),onUnarchiveThread:()=>b(x)}):(0,a.jsx)(eY,{icon:"✉",title:"Select a conversation.",body:"Pick a thread on the left to read it."})})]})]})}function tt(e){let{thread:t,toast:n,onSelectAgent:i,onArchiveThread:r,onUnarchiveThread:l}=e,o=[...t.messages].sort((e,t)=>e.timestamp-t.timestamp);return(0,a.jsxs)("div",{style:{padding:28,maxWidth:760},children:[(0,a.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10,marginBottom:14},children:[(0,a.jsx)(eH,{channel:t.channel}),(0,a.jsxs)("div",{style:{flex:1},children:[(0,a.jsx)("div",{style:{fontSize:16,fontWeight:600,color:eW.T1,fontFamily:eW.FB},children:t.fromName}),(0,a.jsxs)("div",{style:{fontFamily:eW.FM,fontSize:11,color:eW.T5},children:[t.fromHandle?"".concat(t.fromHandle," \xb7 "):"","chat ",t.chatId," \xb7 ",t.messages.length," message",1===t.messages.length?"":"s"]})]}),t.agentId&&(0,a.jsxs)(eN,{color:eW.EM,children:["routed → ",t.agentId]})]}),(0,a.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:10,marginBottom:24},children:o.map(e=>(0,a.jsxs)("div",{style:{padding:"12px 16px",background:eW.S,border:"1px solid ".concat(eW.BR),borderLeft:"3px solid ".concat("new"===e.status?eW.EM:eW.BR),borderRadius:3,fontSize:14,lineHeight:1.6,color:eW.T1,fontFamily:eW.FB,whiteSpace:"pre-wrap"},children:[(0,a.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",marginBottom:6,fontSize:11,color:eW.T5,fontFamily:eW.FM},children:[(0,a.jsx)("span",{children:new Date(e.timestamp).toLocaleString()}),(0,a.jsxs)("div",{style:{display:"flex",gap:6},children:[(0,a.jsx)(eN,{children:e.status}),e.approvalId&&(0,a.jsx)(eN,{color:"#a52a1a",children:"awaiting approval"})]})]}),e.text]},e.id))}),(0,a.jsxs)("div",{style:{display:"flex",gap:8,flexWrap:"wrap"},children:[t.agentId&&(0,a.jsxs)(eP,{variant:"primary",onClick:()=>i(t.agentId),children:["Open in ",t.agentId," chat"]}),"archived"!==t.latestStatus&&(0,a.jsx)(eP,{onClick:r,children:"Archive thread"}),"archived"===t.latestStatus&&(0,a.jsx)(eP,{onClick:l,children:"Unarchive thread"})]})]})}function tn(e){var t;if(e.senderName)return e.senderName;let n=null!=(t=e.key)?t:"",a=n.match(/:default:([a-z][a-z0-9-]*):delegate$/);if(a)return"Delegated \xb7 ".concat(a[1]);let i=n.match(/:default:([a-z][a-z0-9-]*)$/);if(i)return"Chat \xb7 ".concat(i[1]);let r=n.match(/:default:([a-z][a-z0-9-]*):([a-z][a-z0-9-]*)$/);return r?"".concat(r[1]," \xb7 ").concat(r[2]):"agent:main:main"===n?"Direct session":"".concat(e.sessionId.slice(0,8),"…")}function ta(e){let{toast:t,onSelectAgent:n,initialTab:r,initialSelectedId:l,initialTargetTimestamp:o}=e,[s,d]=(0,i.useState)(l?"transcripts":null!=r?r:"transcripts"),[c,p]=(0,i.useState)(null),[u,h]=(0,i.useState)(null!=l?l:null),[g,m]=(0,i.useState)("all");return(0,i.useEffect)(()=>{l&&(h(l),d("transcripts"))},[l]),(0,i.useEffect)(()=>{if("transcripts"!==s)return;let e=!1;function t(){fetch("/api/leedab/sessions").then(e=>e.json()).then(t=>{var n,a;!e&&(p(null!=(a=t.sessions)?a:[]),!u&&(null==(n=t.sessions)?void 0:n.length)&&h(t.sessions[0].sessionId))}).catch(()=>{e||p([])})}t();let n=setInterval(t,1e4);return()=>{e=!0,clearInterval(n)}},[u,s]),(0,a.jsxs)("div",{style:{display:"flex",flexDirection:"column",height:"100%",overflow:"hidden"},children:[(0,a.jsx)(eL,{section:"sessions",title:"Sessions",subtitle:"inbox"===s?"Inbound messages from your channels — operator inbox with status.":"Per-peer conversation threads. Each Telegram / WhatsApp user has their own.",actions:(0,a.jsx)("div",{style:{display:"flex",gap:4},children:["inbox","transcripts"].map(e=>(0,a.jsx)("button",{onClick:()=>d(e),style:{padding:"5px 12px",fontFamily:eW.FM,fontSize:10,letterSpacing:"0.1em",textTransform:"uppercase",border:"1px solid ".concat(s===e?eW.EM:eW.BR),background:s===e?eW.EM3:"transparent",color:s===e?eW.EM:eW.T4,cursor:"pointer",borderRadius:2},children:e},e))})}),"inbox"===s?(0,a.jsx)(te,{toast:t,onSelectAgent:n}):(0,a.jsx)(ti,{sessions:c,filter:g,setFilter:m,selectedId:u,setSelectedId:h,targetTimestamp:o,toast:t})]})}function ti(e){var t,n,i;let{sessions:r,filter:l,setFilter:o,selectedId:s,setSelectedId:d,targetTimestamp:c,toast:p}=e,u=e=>"telegram"===e.channel?"telegram":"whatsapp"===e.channel?"whatsapp":"console",h=(null!=r?r:[]).filter(e=>"all"===l||u(e)===l),g=null!=(n=null!=(t=h.find(e=>e.sessionId===s))?t:h[0])?n:null,m={};for(let e of null!=r?r:[]){let t=u(e);m[t]=(null!=(i=m[t])?i:0)+1}let f=["all",...["telegram","whatsapp","console"].filter(e=>{var t;return(null!=(t=m[e])?t:0)>0})];return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("div",{style:{display:"flex",gap:8,padding:"10px 28px",borderBottom:"1px solid ".concat(eW.BR),background:eW.S,flexShrink:0,overflowX:"auto"},children:f.map(e=>{var t,n;let i="all"===e?null!=(t=null==r?void 0:r.length)?t:0:null!=(n=m[e])?n:0,s=l===e;return(0,a.jsxs)("button",{onClick:()=>o(e),style:{fontFamily:eW.FM,fontSize:10,letterSpacing:"0.08em",padding:"5px 10px",background:s?eW.EM:"transparent",color:s?"#fff":eW.T4,border:"1px solid ".concat(s?eW.EM:eW.BR),borderRadius:3,cursor:"pointer",textTransform:"uppercase",whiteSpace:"nowrap"},children:[e," ",i>0&&(0,a.jsx)("span",{style:{opacity:.6},children:i})]},e)})}),(0,a.jsxs)("div",{"data-mobile-grid-stack":!0,style:{flex:1,display:"grid",gridTemplateColumns:"320px 1fr",overflow:"hidden",minHeight:0},children:[(0,a.jsx)("div",{style:{borderRight:"1px solid ".concat(eW.BR),overflow:"auto",background:eW.S},children:null===r?(0,a.jsx)("div",{style:{padding:16},children:(0,a.jsx)(eU,{count:5})}):0===h.length?(0,a.jsx)("div",{style:{padding:28},children:(0,a.jsx)(eY,{title:"No sessions",body:"Channel traffic will appear here once a paired user messages the bot."})}):h.map(e=>{let t=e.sessionId===s;return(0,a.jsxs)("button",{onClick:()=>d(e.sessionId),style:{width:"100%",display:"flex",flexDirection:"column",gap:4,padding:"12px 16px",background:t?eW.P:"transparent",border:"none",borderBottom:"1px solid ".concat(eW.BR2),borderLeft:"3px solid ".concat(t?eW.EM:"transparent"),cursor:"pointer",textAlign:"left",color:eW.T1},children:[(0,a.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:8},children:[(0,a.jsx)("span",{style:{fontFamily:eW.FB,fontSize:13,fontWeight:600,color:eW.T1,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:tn(e)}),(0,a.jsx)("span",{style:{fontFamily:eW.FM,fontSize:9,color:eW.T6,flexShrink:0},children:eO(e.updatedAt)})]}),e.summary&&(0,a.jsx)("span",{style:{fontFamily:eW.FB,fontSize:11,color:eW.T5,lineHeight:1.4,display:"-webkit-box",WebkitLineClamp:2,WebkitBoxOrient:"vertical",overflow:"hidden"},children:e.summary}),(0,a.jsxs)("div",{style:{display:"flex",gap:6,alignItems:"center",marginTop:2},children:[e.channel&&(0,a.jsx)("span",{style:{fontFamily:eW.FM,fontSize:9,color:eW.T6,letterSpacing:"0.08em",textTransform:"uppercase"},children:e.channel}),(0,a.jsx)("span",{style:{fontFamily:eW.FM,fontSize:9,color:eW.T7},children:"\xb7"}),(0,a.jsxs)("span",{style:{fontFamily:eW.FM,fontSize:9,color:eW.T6},children:[e.messageCount," msg",1===e.messageCount?"":"s"]})]})]},e.sessionId)})}),(0,a.jsx)("div",{style:{overflow:"auto",padding:28},children:g?(0,a.jsx)(to,{session:g,toast:p,targetTimestamp:c}):(0,a.jsx)(eY,{title:"Select a session",body:"Pick a conversation on the left to see the full transcript."})})]})]})}function tr(e){let t,n=[],i=/\*\*([^*\n]+)\*\*|\*([^*\n]+)\*|`([^`\n]+)`/g,r=0;for(;null!==(t=i.exec(e));)t.index>r&&n.push(e.slice(r,t.index)),void 0!==t[1]?n.push((0,a.jsx)("strong",{children:t[1]},n.length)):void 0!==t[2]?n.push((0,a.jsx)("em",{children:t[2]},n.length)):void 0!==t[3]&&n.push((0,a.jsx)("code",{style:{fontFamily:eW.FM,fontSize:12,padding:"1px 4px",background:eW.S,borderRadius:2},children:t[3]},n.length)),r=i.lastIndex;return r<e.length&&n.push(e.slice(r)),n}function tl(e){let{text:t}=e,n=t.replace(/\[\[reply_to_current\]\]\s*/g,"").replace(/^\s*\[Chat messages since your last reply[^\]]*\]\s*$/gm,"").replace(/^\s*\[Current message[^\]]*\]\s*$/gm,"").trimStart().split(/\n{2,}/);return(0,a.jsx)(a.Fragment,{children:n.map((e,t)=>{let n=e.split("\n"),i=n.every(e=>/^\s*[-*]\s+/.test(e)),r=n.every(e=>/^\s*\d+\.\s+/.test(e)),l=0===t?0:"8px 0 0";return i||r?(0,a.jsx)(i?"ul":"ol",{style:{margin:l,paddingLeft:22},children:n.map((e,t)=>(0,a.jsx)("li",{children:tr(e.replace(/^\s*(?:[-*]|\d+\.)\s+/,""))},t))},t):(0,a.jsx)("p",{style:{margin:l,whiteSpace:"pre-wrap"},children:tr(e)},t)})})}function to(e){let{session:t,toast:n,targetTimestamp:r}=e,[l,o]=(0,i.useState)(null),s=(0,i.useRef)(null),d=(0,i.useRef)([]),c=(()=>{if(!r||!l||0===l.length)return -1;let e=-1,t=3e3;for(let n=0;n<l.length;n++){let a=l[n].timestamp;if(!a)continue;let i=new Date(a).getTime();if(!Number.isFinite(i))continue;let o=Math.abs(i-r);o<t&&(t=o,e=n)}return e})();return(0,i.useEffect)(()=>{o(null)},[t.sessionId]),(0,i.useEffect)(()=>{var e;if(l&&0!==l.length){if(c>=0&&d.current[c])return void d.current[c].scrollIntoView({block:"center",behavior:"auto"});null==(e=s.current)||e.scrollIntoView({block:"end",behavior:"auto"})}},[t.sessionId,l,c]),(0,i.useEffect)(()=>{let e=!1;return fetch("/api/leedab/sessions/".concat(encodeURIComponent(t.sessionId))).then(e=>e.json()).then(t=>{if(!e)if(t.error)n.error(t.error),o([]);else{var a;o(null!=(a=t.messages)?a:[])}}).catch(()=>{e||o([])}),()=>{e=!0}},[t.sessionId,t.updatedAt,n]),(0,a.jsxs)("div",{style:{maxWidth:760,margin:"0 auto"},children:[(0,a.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10,marginBottom:14,flexWrap:"wrap"},children:[(0,a.jsx)("h3",{style:{fontFamily:eW.FB,fontSize:16,fontWeight:600,color:eW.T1,margin:0},children:tn(t)}),t.channel&&(0,a.jsx)(eN,{children:t.channel}),t.chatType&&"direct"!==t.chatType&&(0,a.jsx)(eN,{children:t.chatType}),(0,a.jsx)("span",{style:{fontFamily:eW.FM,fontSize:10,color:eW.T5,letterSpacing:"0.08em"},children:eO(t.updatedAt)})]}),(0,a.jsxs)("div",{style:{fontFamily:eW.FM,fontSize:9,color:eW.T7,marginBottom:18,letterSpacing:"0.06em"},children:["SESSION ID ",t.sessionId]}),null===l?(0,a.jsx)(eU,{count:4}):0===l.length?(0,a.jsx)(eY,{title:"No messages",body:"The session exists but has no parsed user/assistant turns yet."}):(0,a.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:10},children:[l.map((e,t)=>(0,a.jsxs)("div",{ref:e=>{d.current[t]=e},style:{padding:"12px 16px",background:t===c?eW.EM3:"user"===e.role?eW.B:eW.S,border:"1px solid ".concat(t===c?eW.EM:eW.BR),borderLeft:"3px solid ".concat(t===c?eW.EM:"user"===e.role?eW.T7:eW.EM),borderRadius:3,fontSize:14,lineHeight:1.6,color:eW.T1,fontFamily:eW.FB,boxShadow:t===c?"0 0 0 2px ".concat(eW.EM,"33"):"none",transition:"background 0.4s ease, box-shadow 0.4s ease"},children:[(0,a.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",marginBottom:6},children:[(0,a.jsx)("span",{style:{fontFamily:eW.FM,fontSize:9,color:eW.T5,letterSpacing:"0.12em",textTransform:"uppercase"},children:e.role}),e.timestamp&&(0,a.jsx)("span",{style:{fontFamily:eW.FM,fontSize:9,color:eW.T6},children:new Date(e.timestamp).toLocaleString()})]}),e.thoughts&&e.thoughts.length>0&&(0,a.jsxs)("details",{style:{marginBottom:8,fontFamily:eW.FM,fontSize:11,color:eW.T5},children:[(0,a.jsxs)("summary",{style:{cursor:"pointer",letterSpacing:"0.08em",textTransform:"uppercase",fontSize:9},children:["Thinking (",e.thoughts.length,")"]}),(0,a.jsx)("div",{style:{marginTop:6,padding:"8px 10px",background:eW.S,borderRadius:3,lineHeight:1.55},children:e.thoughts.map((t,n)=>(0,a.jsx)("div",{style:{marginBottom:8*(n<e.thoughts.length-1),whiteSpace:"pre-wrap"},children:t},n))})]}),(0,a.jsx)(tl,{text:e.text})]},t)),(0,a.jsx)("div",{ref:s})]})]})}let ts=[{id:"channels",label:"Channels"},{id:"team",label:"Team"},{id:"roster",label:"Roster + Routing"},{id:"providers",label:"Providers"},{id:"brain",label:"Brain"},{id:"vault",label:"Vault"},{id:"license",label:"License"}];function td(e){let{toast:t,initialChannel:n}=e,[r,l]=(0,i.useState)("channels"),[o,s]=(0,i.useState)(null),d=(e,t)=>s({context:e,retry:t});return(0,i.useEffect)(()=>{n&&l("channels")},[n]),(0,a.jsxs)("div",{style:{display:"flex",flexDirection:"column",height:"100%",overflow:"hidden"},children:[(0,a.jsx)(eL,{section:"admin",title:"Admin",subtitle:"Channel allowlists, team members, credential vault, license"}),(0,a.jsx)("div",{className:"no-scrollbar",style:{display:"flex",gap:0,padding:"0 28px",borderBottom:"1px solid ".concat(eW.BR),background:eW.S,flexShrink:0,overflowX:"auto",WebkitOverflowScrolling:"touch"},children:ts.map(e=>(0,a.jsx)("button",{onClick:()=>l(e.id),style:{fontFamily:eW.FM,fontSize:10,letterSpacing:"0.08em",padding:"10px 16px",background:"transparent",color:r===e.id?eW.EM:eW.T5,borderTop:"none",borderRight:"none",borderLeft:"none",borderBottom:"2px solid ".concat(r===e.id?eW.EM:"transparent"),cursor:"pointer",textTransform:"uppercase",whiteSpace:"nowrap",flexShrink:0},children:e.label},e.id))}),(0,a.jsxs)("div",{style:{flex:1,overflow:"auto"},children:["channels"===r&&(0,a.jsx)(tc,{toast:t,initialChannel:n,onJumpToTeam:()=>l("team"),requestAdminToken:d}),"team"===r&&(0,a.jsx)(th,{toast:t,requestAdminToken:d}),"roster"===r&&(0,a.jsxs)("div",{children:[(0,a.jsxs)("div",{style:{padding:"16px 28px 0",fontFamily:eW.FM,fontSize:10,color:eW.T5,letterSpacing:"0.06em",lineHeight:1.6,maxWidth:720},children:["Source of truth for who and what reaches the agent layer.",(0,a.jsx)("strong",{style:{color:eW.T3,fontWeight:500},children:" Contacts"})," are the people the dashboard knows about (chatIds, phone numbers, email handles). ",(0,a.jsx)("strong",{style:{color:eW.T3,fontWeight:500},children:"Routing"}),' rules map an inbound channel + sender to a specific agent. Edit one of these and the runtime config reloads — there\'s no separate "deploy."']}),(0,a.jsx)(eG,{toast:t,requestAdminToken:d})]}),"providers"===r&&(0,a.jsx)(tb,{toast:t,requestAdminToken:d}),"brain"===r&&(0,a.jsx)(tf,{toast:t,requestAdminToken:d}),"vault"===r&&(0,a.jsx)(ty,{toast:t,requestAdminToken:d}),"license"===r&&(0,a.jsx)(tk,{toast:t,requestAdminToken:d})]}),(0,a.jsx)(eb,{open:null!==o,context:null==o?void 0:o.context,onSubmit:()=>{let e=null==o?void 0:o.retry;s(null),e&&e()},onCancel:()=>s(null)})]})}function tc(e){let{toast:t,initialChannel:n,onJumpToTeam:r,requestAdminToken:l}=e,[o,s]=(0,i.useState)(null),[d,c]=(0,i.useState)(null!=n?n:null);async function p(){try{let e=await fetch("/api/leedab/channels/status"),t=await e.json();s(t.channels),!d&&t.channels.length>0&&c(t.channels[0].name)}catch(e){s([])}}if((0,i.useEffect)(()=>{p()},[]),(0,i.useEffect)(()=>{n&&c(n)},[n]),null===o)return(0,a.jsx)("div",{style:{padding:28},children:(0,a.jsx)(eU,{count:3})});if(0===o.length)return(0,a.jsx)("div",{style:{padding:28},children:(0,a.jsx)(eY,{title:"No channels configured",body:"Run `leedab onboard` to add Telegram, WhatsApp, or other channels."})});let u=o.find(e=>e.name===d);return(0,a.jsxs)("div",{"data-mobile-grid-stack":!0,style:{display:"grid",gridTemplateColumns:"260px 1fr",height:"100%",overflow:"hidden"},children:[(0,a.jsx)("div",{style:{borderRight:"1px solid ".concat(eW.BR),overflow:"auto",background:eW.S},children:o.map(e=>{let t=e.name===d;return(0,a.jsxs)("button",{onClick:()=>c(e.name),style:{width:"100%",display:"flex",alignItems:"center",gap:10,padding:"12px 16px",background:t?eW.P:"transparent",border:"none",borderBottom:"1px solid ".concat(eW.BR2),borderLeft:"3px solid ".concat(t?eW.EM:"transparent"),cursor:"pointer",textAlign:"left",color:eW.T1},children:[("telegram"===e.name||"whatsapp"===e.name||"email"===e.name)&&(0,a.jsx)(eH,{channel:e.name}),(0,a.jsxs)("div",{style:{flex:1},children:[(0,a.jsx)("div",{style:{fontFamily:eW.FB,fontSize:13,fontWeight:600,textTransform:"capitalize"},children:e.name}),(0,a.jsxs)("div",{style:{fontFamily:eW.FM,fontSize:10,color:eW.T5,marginTop:2},children:[e.connected?"connected":"not connected"," \xb7 ",e.allowFromCount," allowed"]})]}),e.connected&&(0,a.jsx)("span",{style:{width:6,height:6,borderRadius:"50%",background:eW.EM,boxShadow:"0 0 6px ".concat(eW.EM6)}})]},e.name)})}),(0,a.jsx)("div",{style:{overflow:"auto",padding:28},children:u?(0,a.jsx)(tp,{channel:u,onJumpToTeam:r,onChanged:p,toast:t,requestAdminToken:l}):null})]})}function tp(e){let{channel:t,onJumpToTeam:n,onChanged:r,toast:l,requestAdminToken:o}=e,[s,d]=(0,i.useState)(null);return(0,i.useEffect)(()=>{let e=!1;return d(null),fetch("/api/leedab/team").then(e=>e.json()).then(n=>{var a;e||d((null!=(a=n.members)?a:[]).filter(e=>{var n;return(null!=(n=e.allowedChannels)?n:[]).includes(t.name)}).map(e=>{var n,a;return{id:e.id,name:e.name,email:e.email,role:e.role,handle:null!=(a=(null!=(n=e.handles)?n:{})[t.name])?a:""}}))}).catch(()=>{e||d([])}),()=>{e=!0}},[t.name]),(0,a.jsxs)("div",{children:[(0,a.jsxs)("div",{style:{display:"flex",flexWrap:"wrap",gap:12,alignItems:"center",marginBottom:18},children:[(0,a.jsx)("h3",{style:{fontFamily:eW.FB,fontSize:16,fontWeight:600,color:eW.T1,margin:0,textTransform:"capitalize"},children:t.name}),(0,a.jsx)(eN,{color:t.connected?eW.EM:"#a52a1a",children:t.connected?"connected":"disconnected"}),t.dmPolicy&&(0,a.jsx)(eN,{children:t.dmPolicy}),(0,a.jsx)("span",{style:{fontFamily:eW.FM,fontSize:10,color:eW.T5,letterSpacing:"0.08em"},children:t.enabled?"ENABLED":"DISABLED"})]}),("telegram"===t.name||"whatsapp"===t.name)&&(0,a.jsx)(tT,{channel:t,toast:l,onChanged:r,requestAdminToken:o}),(0,a.jsxs)("div",{style:{marginTop:18},children:[(0,a.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"baseline",marginBottom:10},children:[(0,a.jsx)("div",{style:{fontFamily:eW.FM,fontSize:9,color:eW.T5,letterSpacing:"0.14em",textTransform:"uppercase"},children:"Allowed members"}),(0,a.jsx)(eP,{size:"sm",onClick:n,children:"Manage in Team →"})]}),(0,a.jsxs)("p",{style:{fontFamily:eW.FB,fontSize:12,color:eW.T4,lineHeight:1.5,marginTop:0,marginBottom:14},children:["The ",t.name," allowlist is derived from team members who have a ",t.name," handle and ",t.name," access. To add or remove someone, edit the team in the Team tab — the runtime config rebuilds automatically."]}),null===s?(0,a.jsx)(eU,{count:2}):0===s.length?(0,a.jsx)("div",{style:{fontFamily:eW.FM,fontSize:11,color:eW.T6,padding:"8px 0"},children:"no members allowed yet"}):(0,a.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:6},children:s.map(e=>(0,a.jsx)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"8px 12px",background:eW.S,border:"1px solid ".concat(eW.BR),borderRadius:3},children:(0,a.jsxs)("div",{style:{flex:1,minWidth:0},children:[(0,a.jsxs)("div",{style:{fontFamily:eW.FB,fontSize:13,fontWeight:600,color:eW.T1},children:[e.name," ",(0,a.jsx)("span",{style:{fontFamily:eW.FM,fontSize:10,color:eW.T5,fontWeight:400,marginLeft:6},children:e.role})]}),(0,a.jsxs)("div",{style:{fontFamily:eW.FM,fontSize:11,color:eW.T5,marginTop:2},children:[e.handle,e.email&&(0,a.jsxs)("span",{children:[" \xb7 ",e.email]})]})]})},e.id))})]})]})}let tu=["whatsapp","telegram","teams","dashboard"];function th(e){let{toast:t,requestAdminToken:n}=e,[r,l]=(0,i.useState)(null),[o,s]=(0,i.useState)([]),[d,c]=(0,i.useState)(!1),[u,h]=(0,i.useState)(null);async function m(){var e,t;let[n,a]=await Promise.all([fetch("/api/leedab/team").then(e=>e.json()).catch(()=>({members:[]})),fetch("/api/leedab/workflows").then(e=>e.json()).catch(()=>({workflows:[]}))]);l(null!=(e=n.members)?e:[]),s(null!=(t=a.workflows)?t:[])}async function x(e,a,i){try{var r;let l=await f("/api/leedab/team",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:e,email:a||void 0,role:i})});if(await y(l)){g(),n("to add a team member",()=>x(e,a,i));return}let o=await l.json();if(!l.ok)throw Error(null!=(r=o.error)?r:"HTTP ".concat(l.status));t.success("Added ".concat(e)),c(!1),m()}catch(r){if(r instanceof p)return void n("to add a team member",()=>x(e,a,i));t.error(r instanceof Error?r.message:"add failed")}}async function v(e,a){if(confirm("Remove ".concat(a," from the team?")))try{var i;let r=await f("/api/leedab/team/".concat(encodeURIComponent(e)),{method:"DELETE"});if(await y(r)){g(),n("to remove a team member",()=>v(e,a));return}let l=await r.json();if(!r.ok)throw Error(null!=(i=l.error)?i:"HTTP ".concat(r.status));t.info("Removed ".concat(a)),m()}catch(i){if(i instanceof p)return void n("to remove a team member",()=>v(e,a));t.error(i instanceof Error?i.message:"remove failed")}}async function b(e,a){try{var i;let t=await f("/api/leedab/team/".concat(encodeURIComponent(e)),{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(a)});if(await y(t)){g(),n("to update a team member",()=>b(e,a));return}let r=await t.json();if(!t.ok)throw Error(null!=(i=r.error)?i:"HTTP ".concat(t.status));m()}catch(i){if(i instanceof p)return void n("to update a team member",()=>b(e,a));t.error(i instanceof Error?i.message:"update failed")}}return(0,i.useEffect)(()=>{m()},[]),(0,a.jsxs)("div",{style:{padding:28,maxWidth:920},children:[(0,a.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",marginBottom:18},children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("h3",{style:{fontFamily:eW.FB,fontSize:16,fontWeight:600,color:eW.T1,margin:0},children:"Team"}),(0,a.jsx)("p",{style:{fontFamily:eW.FB,fontSize:12,color:eW.T4,lineHeight:1.5,marginTop:8,marginBottom:0},children:"Each member lists their per-channel handle and which channels + workflows they can use. Channel allowlists rebuild automatically when you save."})]}),(0,a.jsx)(eP,{variant:"primary",onClick:()=>c(!0),children:"Add member"})]}),d&&(0,a.jsx)("div",{style:{marginBottom:14},children:(0,a.jsx)(tg,{onCancel:()=>c(!1),onSave:x})}),null===r?(0,a.jsx)(eU,{count:3}):0!==r.length||d?(0,a.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:10},children:null==r?void 0:r.map(e=>(0,a.jsx)(tm,{member:e,workflows:o,editing:u===e.id,onEdit:()=>h(e.id),onCancel:()=>h(null),onRemove:()=>v(e.id,e.name),onSave:async t=>{await b(e.id,t),h(null)}},e.id))}):(0,a.jsx)(eY,{title:"No team members",body:"Add yourself as the first member to set up channel access."})]})}function tg(e){let{onCancel:t,onSave:n}=e,[r,l]=(0,i.useState)(""),[o,s]=(0,i.useState)(""),[d,c]=(0,i.useState)("member");return(0,a.jsxs)("div",{style:{padding:14,background:eW.S,border:"1px solid ".concat(eW.BR),borderRadius:3,display:"flex",flexDirection:"column",gap:8},children:[(0,a.jsx)("input",{value:r,onChange:e=>l(e.target.value),placeholder:"Name",style:tv}),(0,a.jsx)("input",{value:o,onChange:e=>s(e.target.value),placeholder:"Email (optional)",style:tv}),(0,a.jsxs)("select",{value:d,onChange:e=>c(e.target.value),style:tv,children:[(0,a.jsx)("option",{value:"member",children:"member"}),(0,a.jsx)("option",{value:"admin",children:"admin"}),(0,a.jsx)("option",{value:"owner",children:"owner"})]}),(0,a.jsxs)("div",{style:{display:"flex",gap:6,justifyContent:"flex-end"},children:[(0,a.jsx)(eP,{onClick:t,children:"Cancel"}),(0,a.jsx)(eP,{variant:"primary",onClick:()=>n(r,o,d),disabled:!r.trim(),children:"Add member"})]}),(0,a.jsx)("p",{style:{fontFamily:eW.FM,fontSize:10,color:eW.T6,margin:0},children:"After adding, edit the member to set channel handles + permissions."})]})}function tm(e){var t,n,r,l;let{member:o,workflows:s,editing:d,onEdit:c,onCancel:p,onRemove:u,onSave:h}=e,[g,m]=(0,i.useState)(o.name),[f,x]=(0,i.useState)(null!=(t=o.email)?t:""),[y,v]=(0,i.useState)(o.role),[b,j]=(0,i.useState)({...o.handles}),[k,S]=(0,i.useState)([...o.allowedChannels]),[w,T]=(0,i.useState)([...o.allowedWorkflows]),[F,C]=(0,i.useState)(!1);async function R(){C(!0);try{await h({name:g,email:f||void 0,role:y,handles:b,allowedChannels:k,allowedWorkflows:w})}finally{C(!1)}}return(0,i.useEffect)(()=>{if(d){var e;m(o.name),x(null!=(e=o.email)?e:""),v(o.role),j({...o.handles}),S([...o.allowedChannels]),T([...o.allowedWorkflows])}},[d,o]),d?(0,a.jsxs)("div",{style:{padding:14,background:eW.S,border:"1px solid ".concat(eW.EM),borderRadius:3,display:"flex",flexDirection:"column",gap:12},children:[(0,a.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr 140px",gap:8},children:[(0,a.jsx)("input",{value:g,onChange:e=>m(e.target.value),placeholder:"Name",style:tv}),(0,a.jsx)("input",{value:f,onChange:e=>x(e.target.value),placeholder:"Email (optional)",style:tv}),(0,a.jsxs)("select",{value:y,onChange:e=>v(e.target.value),style:tv,children:[(0,a.jsx)("option",{value:"member",children:"member"}),(0,a.jsx)("option",{value:"admin",children:"admin"}),(0,a.jsx)("option",{value:"owner",children:"owner"})]})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("div",{style:{fontFamily:eW.FM,fontSize:9,color:eW.T5,letterSpacing:"0.14em",textTransform:"uppercase",marginBottom:6},children:"Channel handles"}),(0,a.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr 1fr",gap:8},children:[(0,a.jsx)("input",{value:null!=(n=b.telegram)?n:"",onChange:e=>j({...b,telegram:e.target.value}),placeholder:"Telegram user id",style:tv}),(0,a.jsx)("input",{value:null!=(r=b.whatsapp)?r:"",onChange:e=>j({...b,whatsapp:e.target.value}),placeholder:"WhatsApp number",style:tv}),(0,a.jsx)("input",{value:null!=(l=b.teams)?l:"",onChange:e=>j({...b,teams:e.target.value}),placeholder:"Teams username",style:tv})]})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("div",{style:{fontFamily:eW.FM,fontSize:9,color:eW.T5,letterSpacing:"0.14em",textTransform:"uppercase",marginBottom:6},children:"Allowed channels"}),(0,a.jsx)("div",{style:{display:"flex",flexWrap:"wrap",gap:8},children:tu.map(e=>{let t=k.includes(e);return(0,a.jsx)("button",{onClick:()=>{S(t=>t.includes(e)?t.filter(t=>t!==e):[...t,e])},style:{fontFamily:eW.FM,fontSize:11,padding:"4px 10px",background:t?eW.EM:"transparent",color:t?"#fff":eW.T4,border:"1px solid ".concat(t?eW.EM:eW.BR),borderRadius:3,cursor:"pointer",textTransform:"uppercase",letterSpacing:"0.06em"},children:e},e)})})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("div",{style:{fontFamily:eW.FM,fontSize:9,color:eW.T5,letterSpacing:"0.14em",textTransform:"uppercase",marginBottom:6},children:"Allowed workflows"}),0===s.length?(0,a.jsx)("span",{style:{fontFamily:eW.FM,fontSize:10,color:eW.T6},children:"no workflows registered"}):(0,a.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:4},children:s.map(e=>{let t=w.includes(e.id);return(0,a.jsxs)("label",{style:{display:"flex",alignItems:"flex-start",gap:8,padding:"6px 8px",background:t?"".concat(eW.EM,"11"):"transparent",border:"1px solid ".concat(t?eW.EM3:eW.BR2),borderRadius:3,cursor:"pointer",fontFamily:eW.FB,fontSize:12},children:[(0,a.jsx)("input",{type:"checkbox",checked:t,onChange:()=>{var t;return t=e.id,void T(e=>e.includes(t)?e.filter(e=>e!==t):[...e,t])},style:{marginTop:2}}),(0,a.jsxs)("div",{style:{flex:1,minWidth:0},children:[(0,a.jsxs)("div",{style:{color:eW.T1,fontWeight:600},children:[e.title,e.isFinancial&&(0,a.jsx)("span",{style:{fontFamily:eW.FM,fontSize:9,color:"#a52a1a",marginLeft:8,letterSpacing:"0.06em"},children:"$"})]}),(0,a.jsx)("div",{style:{fontFamily:eW.FB,fontSize:11,color:eW.T5,marginTop:2},children:e.description})]})]},e.id)})})]}),(0,a.jsxs)("div",{style:{display:"flex",gap:6,justifyContent:"flex-end"},children:[(0,a.jsx)(eP,{onClick:p,disabled:F,children:"Cancel"}),(0,a.jsx)(eP,{variant:"primary",onClick:R,disabled:!g.trim()||F,children:F?"Saving...":"Save changes"})]})]}):(0,a.jsx)("div",{style:{padding:14,background:eW.S,border:"1px solid ".concat(eW.BR),borderRadius:3},children:(0,a.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between"},children:[(0,a.jsxs)("div",{style:{flex:1,minWidth:0},children:[(0,a.jsxs)("div",{style:{fontFamily:eW.FB,fontSize:14,fontWeight:600,color:eW.T1},children:[o.name,(0,a.jsx)(eN,{children:o.role})]}),(0,a.jsxs)("div",{style:{fontFamily:eW.FM,fontSize:11,color:eW.T5,marginTop:4,display:"flex",flexWrap:"wrap",gap:12},children:[o.email&&(0,a.jsx)("span",{children:o.email}),o.allowedChannels.length>0&&(0,a.jsxs)("span",{children:["channels: ",o.allowedChannels.join(", ")]}),o.allowedWorkflows.length>0&&(0,a.jsxs)("span",{children:["workflows: ",o.allowedWorkflows.length]})]}),(o.handles.telegram||o.handles.whatsapp||o.handles.teams)&&(0,a.jsxs)("div",{style:{fontFamily:eW.FM,fontSize:10,color:eW.T6,marginTop:4},children:[o.handles.telegram&&(0,a.jsxs)("span",{children:["tg:",o.handles.telegram," "]}),o.handles.whatsapp&&(0,a.jsxs)("span",{children:["wa:",o.handles.whatsapp," "]}),o.handles.teams&&(0,a.jsxs)("span",{children:["teams:",o.handles.teams]})]})]}),(0,a.jsxs)("div",{style:{display:"flex",gap:6},children:[(0,a.jsx)(eP,{size:"sm",onClick:c,children:"Edit"}),(0,a.jsx)(eP,{size:"sm",onClick:u,children:"Remove"})]})]})})}function tf(e){let{toast:t,requestAdminToken:n}=e,[r,l]=(0,i.useState)(null),[o,s]=(0,i.useState)(null),[d,c]=(0,i.useState)(""),[u,h]=(0,i.useState)(null);async function g(){try{var e,t;let n=await f("/api/brain/status"),a=await n.json();if(!n.ok)throw Error(null!=(t=null!=(e=a.detail)?e:a.error)?t:"HTTP ".concat(n.status));l(a),s(null)}catch(e){if(e instanceof p)return void n("to read the brain index status",()=>{g()});l(null),s(e instanceof Error?e.message:"brain status read failed")}}async function m(){if(d.trim()){h("add");try{var e,a;let n=await f("/api/brain/add-folder",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:d.trim()})}),i=await n.json();if(!n.ok)throw Error(null!=(a=null!=(e=i.detail)?e:i.error)?a:"HTTP ".concat(n.status));t.success("Added ".concat(d.trim()," as a brain source. Run 'Scan now' to index it.")),c(""),await g()}catch(e){if(e instanceof p)return void n("to register a vault folder",()=>{m()});t.error(e instanceof Error?e.message:"add folder failed")}finally{h(null)}}}async function x(){h("scan");try{var e,a;let n=await f("/api/brain/scan",{method:"POST"}),i=await n.json();if(!n.ok)throw Error(null!=(a=null!=(e=i.detail)?e:i.error)?a:"HTTP ".concat(n.status));let r=i.stats;t.success("Indexed ".concat(r.filesIndexed," new file").concat(1===r.filesIndexed?"":"s"," (").concat(r.filesUnchanged," unchanged, ").concat(r.errors," errors).")),await g()}catch(e){if(e instanceof p)return void n("to scan the vault",()=>{x()});t.error(e instanceof Error?e.message:"scan failed")}finally{h(null)}}async function y(){if(window.confirm("Wipe the local search index? Your markdown vault on disk is untouched; only the cached chunks are removed.")){h("forget");try{var e,a,i;let n=await f("/api/brain/forget",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({confirm:null!=(e=null==r?void 0:r.clientId)?e:"default"})}),l=await n.json();if(!n.ok)throw Error(null!=(i=null!=(a=l.detail)?a:l.error)?i:"HTTP ".concat(n.status));t.success("Brain index wiped. Add a folder and scan to rebuild."),await g()}catch(e){if(e instanceof p)return void n("to wipe the brain index",()=>{y()});t.error(e instanceof Error?e.message:"forget failed")}finally{h(null)}}}return(0,i.useEffect)(()=>{g()},[]),(0,a.jsxs)("div",{style:{padding:"20px 28px",maxWidth:880},children:[(0,a.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10,marginBottom:8},children:[(0,a.jsxs)("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",style:{color:eW.EM},children:[(0,a.jsx)("path",{d:"M6 9 12 3l6 6-6 12-6-12z",stroke:"currentColor",strokeWidth:"1.4",strokeLinejoin:"round"}),(0,a.jsx)("path",{d:"M6 9h12M12 3v18",stroke:"currentColor",strokeWidth:"1",strokeOpacity:"0.55",strokeLinejoin:"round"})]}),(0,a.jsx)("span",{style:{fontFamily:eW.FD,fontSize:18,fontWeight:500,color:eW.T1,letterSpacing:"-0.01em"},children:"Brain"}),(0,a.jsx)("span",{style:{fontFamily:eW.FM,fontSize:9,color:eW.T5,letterSpacing:"0.12em"},children:"OBSIDIAN \xb7 MARKDOWN \xb7 NOTES"})]}),(0,a.jsx)("p",{style:{fontFamily:eW.FB,fontSize:13,color:eW.T3,lineHeight:1.6,marginTop:0,marginBottom:22,maxWidth:640},children:"Point at any folder of markdown notes — your Obsidian vault, an internal docs directory, anything readable — and every AB will search it before answering. Files stay where they are; we only index chunks locally for fast recall."}),(0,a.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,marginBottom:18},children:[(0,a.jsx)("input",{value:d,onChange:e=>c(e.target.value),placeholder:"/Users/you/obsidian/MyVault",style:{flex:1,fontFamily:eW.FM,fontSize:12,padding:"8px 10px",background:eW.S,border:"1px solid ".concat(eW.BR),borderRadius:3,color:eW.T1,outline:"none"}}),(0,a.jsx)(eP,{variant:"primary",onClick:m,disabled:null!==u||!d.trim(),children:"add"===u?"Adding…":"Add folder"})]}),o&&(0,a.jsx)("div",{style:{marginBottom:16,fontFamily:eW.FM,fontSize:11,color:"#a52a1a"},children:o}),r&&(0,a.jsxs)("div",{style:{border:"1px solid ".concat(eW.BR),borderRadius:4,padding:"14px 18px",background:eW.S,marginBottom:18},children:[(0,a.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"repeat(4, 1fr)",gap:16,marginBottom:14},children:[(0,a.jsx)(tx,{label:"Roots",value:r.roots.length.toString()}),(0,a.jsx)(tx,{label:"Documents",value:r.documents.toLocaleString()}),(0,a.jsx)(tx,{label:"Chunks",value:r.chunks.toLocaleString()}),(0,a.jsx)(tx,{label:"Last scan",value:r.lastFullScanAt?function(e){let t=Date.now()-e;return t<6e4?"just now":t<36e5?"".concat(Math.floor(t/6e4),"m ago"):t<864e5?"".concat(Math.floor(t/36e5),"h ago"):new Date(e).toLocaleDateString()}(r.lastFullScanAt):"never"})]}),0===r.roots.length?(0,a.jsx)("div",{style:{fontFamily:eW.FB,fontSize:12,color:eW.T5,fontStyle:"italic"},children:"No folders connected yet. Add one above to start."}):(0,a.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:6},children:r.roots.map(e=>(0,a.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10,fontFamily:eW.FM,fontSize:11},children:[(0,a.jsx)("span",{style:{width:6,height:6,borderRadius:"50%",background:eW.EM,flexShrink:0}}),(0,a.jsx)("span",{style:{color:eW.T3,letterSpacing:"0.06em",flexShrink:0},children:e.kind.toUpperCase()}),(0,a.jsx)("span",{style:{color:eW.T1,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e.uri})]},e.id))})]}),(0,a.jsxs)("div",{style:{display:"flex",gap:8},children:[(0,a.jsx)(eP,{onClick:x,disabled:null!==u||!r||0===r.roots.length,children:"scan"===u?"Scanning…":"Scan now"}),(0,a.jsx)(eP,{onClick:y,disabled:null!==u||!r||0===r.documents&&0===r.roots.length,children:"forget"===u?"Wiping…":"Forget all"})]})]})}function tx(e){let{label:t,value:n}=e;return(0,a.jsxs)("div",{children:[(0,a.jsx)("div",{style:{fontFamily:eW.FM,fontSize:9,color:eW.T5,letterSpacing:"0.12em",marginBottom:4},children:t.toUpperCase()}),(0,a.jsx)("div",{style:{fontFamily:eW.FD,fontSize:18,fontWeight:500,color:eW.T1},children:n})]})}function ty(e){let{toast:t,requestAdminToken:n}=e,[r,l]=(0,i.useState)(null),[o,s]=(0,i.useState)(!1),[d,c]=(0,i.useState)(null),[u,h]=(0,i.useState)(!1),[m,x]=(0,i.useState)(!1),[v,b]=(0,i.useState)({service:"",url:"",username:"",password:"",notes:""});async function j(){try{var e,t;let n=await fetch("/api/leedab/vault"),a=await n.json();if(!n.ok)throw Error(null!=(e=a.error)?e:"HTTP ".concat(n.status));l(null!=(t=a.entries)?t:[]),s(!!a.encrypted),c(null)}catch(e){l([]),c(e instanceof Error?e.message:"vault read failed")}}async function k(){if(v.service.trim()&&!m){x(!0);try{var e;let a=await f("/api/leedab/vault",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(v)});if(await y(a)){g(),n("to save vault credentials",()=>k());return}let i=await a.json();if(!a.ok)throw Error(null!=(e=i.error)?e:"HTTP ".concat(a.status));t.success("Saved credentials for ".concat(v.service)),b({service:"",url:"",username:"",password:"",notes:""}),h(!1),j()}catch(e){if(e instanceof p)return void n("to save vault credentials",()=>k());t.error(e instanceof Error?e.message:"save failed")}finally{x(!1)}}}async function S(e){if(!m&&confirm('Remove credentials for "'.concat(e,'"?'))){x(!0);try{var a;let i=await f("/api/leedab/vault?service=".concat(encodeURIComponent(e)),{method:"DELETE"});if(await y(i)){g(),n("to remove vault credentials",()=>S(e));return}let r=await i.json();if(!i.ok)throw Error(null!=(a=r.error)?a:"HTTP ".concat(i.status));t.info("Removed ".concat(e)),j()}catch(a){if(a instanceof p)return void n("to remove vault credentials",()=>S(e));t.error(a instanceof Error?a.message:"remove failed")}finally{x(!1)}}}return(0,i.useEffect)(()=>{j()},[]),(0,a.jsxs)("div",{style:{padding:28,maxWidth:760},children:[(0,a.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",marginBottom:18},children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("h3",{style:{fontFamily:eW.FB,fontSize:16,fontWeight:600,color:eW.T1,margin:0},children:"Credential vault"}),(0,a.jsx)("p",{style:{fontFamily:eW.FB,fontSize:12,color:eW.T4,lineHeight:1.5,marginTop:8,marginBottom:0},children:"Stored credentials the browser tool uses for auto-login (Coles supplier portal, Xero, etc). Reads stay local; passwords never reach the browser UI."})]}),(0,a.jsx)(eP,{variant:"primary",onClick:()=>h(!0),children:"Add credential"})]}),o&&(0,a.jsxs)("div",{style:{padding:"8px 12px",background:eW.S,border:"1px solid ".concat(eW.BR),borderRadius:3,marginBottom:14,fontFamily:eW.FM,fontSize:11,color:eW.T4},children:["Vault is encrypted. ",(0,a.jsx)("code",{children:"LEEDAB_VAULT_KEY"})," is set; reads + writes pass through transparently."]}),d&&(0,a.jsx)("div",{style:{padding:"8px 12px",background:"#a52a1a22",border:"1px solid #a52a1a",borderRadius:3,marginBottom:14,fontFamily:eW.FM,fontSize:11,color:"#a52a1a"},children:d}),u&&(0,a.jsxs)("div",{style:{padding:14,background:eW.S,border:"1px solid ".concat(eW.BR),borderRadius:3,marginBottom:14,display:"flex",flexDirection:"column",gap:8},children:[(0,a.jsx)("input",{value:v.service,onChange:e=>b({...v,service:e.target.value}),placeholder:"Service name (e.g. coles)",style:tv}),(0,a.jsx)("input",{value:v.url,onChange:e=>b({...v,url:e.target.value}),placeholder:"Login URL (optional)",style:tv}),(0,a.jsx)("input",{value:v.username,onChange:e=>b({...v,username:e.target.value}),placeholder:"Username / email (optional)",style:tv}),(0,a.jsx)("input",{value:v.password,onChange:e=>b({...v,password:e.target.value}),placeholder:"Password (optional)",type:"password",style:tv}),(0,a.jsx)("textarea",{value:v.notes,onChange:e=>b({...v,notes:e.target.value}),placeholder:"Notes (optional)",rows:2,style:{...tv,resize:"vertical"}}),(0,a.jsxs)("div",{style:{display:"flex",gap:6,justifyContent:"flex-end"},children:[(0,a.jsx)(eP,{onClick:()=>{h(!1),b({service:"",url:"",username:"",password:"",notes:""})},children:"Cancel"}),(0,a.jsx)(eP,{variant:"primary",onClick:k,disabled:!v.service.trim()||m,children:m?"...":"Save"})]})]}),null===r?(0,a.jsx)(eU,{count:3}):0===r.length?(0,a.jsx)(eY,{title:"No credentials",body:"Add one above, or use `leedab vault add <service>`."}):(0,a.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:6},children:r.map(e=>(0,a.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"10px 14px",background:eW.S,border:"1px solid ".concat(eW.BR),borderRadius:3},children:[(0,a.jsxs)("div",{style:{flex:1,minWidth:0},children:[(0,a.jsx)("div",{style:{fontFamily:eW.FB,fontSize:13,fontWeight:600,color:eW.T1},children:e.service}),(0,a.jsxs)("div",{style:{fontFamily:eW.FM,fontSize:10,color:eW.T5,marginTop:2,display:"flex",gap:10,flexWrap:"wrap"},children:[e.url&&(0,a.jsx)("span",{children:e.url}),e.username&&(0,a.jsxs)("span",{children:["\xb7 ",e.username]}),e.hasPassword&&(0,a.jsx)("span",{children:"\xb7 password set"}),e.hasNotes&&(0,a.jsx)("span",{children:"\xb7 notes"})]})]}),(0,a.jsx)(eP,{size:"sm",onClick:()=>S(e.service),disabled:m,children:"Remove"})]},e.service))})]})}let tv={width:"100%",padding:"8px 12px",background:eW.B,border:"1px solid ".concat(eW.BR),borderRadius:3,fontFamily:eW.FM,fontSize:12,color:eW.T1,outline:"none"};function tb(e){var t;let{toast:n,requestAdminToken:r}=e,[l,o]=(0,i.useState)(null),[s,d]=(0,i.useState)(null),[c,u]=(0,i.useState)(null),[h,m]=(0,i.useState)(""),[x,v]=(0,i.useState)(!1);async function b(){try{var e;let t=await fetch("/api/leedab/providers"),n=await t.json();if(!t.ok)throw Error(null!=(e=n.error)?e:"HTTP ".concat(t.status));o(n),d(null)}catch(e){d(e instanceof Error?e.message:"providers read failed")}}async function j(e){if(h.trim()&&!x){v(!0);try{var t;let a=await f("/api/leedab/providers",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"set-key",provider:e,apiKey:h.trim()})});if(await y(a)){g(),r("to save the ".concat(e," key"),()=>j(e));return}let i=await a.json();if(!a.ok)throw Error(null!=(t=i.error)?t:"HTTP ".concat(a.status));n.success("Saved ".concat(e," key")),u(null),m(""),b()}catch(t){if(t instanceof p)return void r("to save the ".concat(e," key"),()=>j(e));n.error(t instanceof Error?t.message:"save failed")}finally{v(!1)}}}async function k(e){if(!x&&confirm("Remove ".concat(e," auth profile? You'll need to re-add a key to use it."))){v(!0);try{var t;let a=await f("/api/leedab/providers",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"remove-key",provider:e})});if(await y(a)){g(),r("to remove the ".concat(e," key"),()=>k(e));return}let i=await a.json();if(!a.ok)throw Error(null!=(t=i.error)?t:"HTTP ".concat(a.status));n.info("Removed ".concat(e)),b()}catch(t){if(t instanceof p)return void r("to remove the ".concat(e," key"),()=>k(e));n.error(t instanceof Error?t.message:"remove failed")}finally{v(!1)}}}async function S(e){if(!x){v(!0);try{var t;let a=await f("/api/leedab/providers",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"set-default-model",openclawId:e})});if(await y(a)){g(),r("to change the default model",()=>S(e));return}let i=await a.json();if(!a.ok)throw Error(null!=(t=i.error)?t:"HTTP ".concat(a.status));n.success("Default model set to ".concat(e)),b()}catch(t){if(t instanceof p)return void r("to change the default model",()=>S(e));n.error(t instanceof Error?t.message:"set default failed")}finally{v(!1)}}}if((0,i.useEffect)(()=>{b()},[]),!l)return(0,a.jsx)("div",{style:{padding:28},children:s?(0,a.jsx)(tj,{children:s}):(0,a.jsx)(eU,{count:3})});let w=l.providers.filter(e=>e.configured||e.envDetected||e.keyless).flatMap(e=>e.models);return(0,a.jsxs)("div",{style:{padding:28,maxWidth:760},children:[(0,a.jsx)("h3",{style:{fontFamily:eW.FB,fontSize:16,fontWeight:600,color:eW.T1,margin:0,marginBottom:6},children:"LLM providers"}),(0,a.jsxs)("p",{style:{fontFamily:eW.FB,fontSize:12,color:eW.T4,lineHeight:1.5,marginTop:0,marginBottom:18},children:["API keys live in the OpenClaw credential store, never in this UI. Adding a key here writes through the same path as ",(0,a.jsx)("code",{style:{fontFamily:eW.FM},children:"leedab onboard"}),". Restart the gateway after changes."]}),(0,a.jsxs)("div",{style:{padding:14,background:eW.S,border:"1px solid ".concat(eW.BR),borderRadius:3,marginBottom:18},children:[(0,a.jsx)("div",{style:{fontFamily:eW.FM,fontSize:9,color:eW.T5,letterSpacing:"0.14em",textTransform:"uppercase",marginBottom:8},children:"Default model"}),0===w.length?(0,a.jsx)("div",{style:{fontFamily:eW.FB,fontSize:12,color:eW.T4},children:"Configure at least one provider below to pick a default model."}):(0,a.jsxs)("select",{value:null!=(t=l.defaultModel)?t:"",onChange:e=>S(e.target.value),disabled:x,style:{...tv,maxWidth:420},children:[(0,a.jsx)("option",{value:"",disabled:!0,children:"Select a model."}),w.map(e=>(0,a.jsxs)("option",{value:e.openclawId,children:[e.label," . ",e.openclawId]},e.openclawId))]})]}),s&&(0,a.jsx)(tj,{children:s}),(0,a.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:8},children:l.providers.map(e=>{let t=c===e.id;return(0,a.jsxs)("div",{style:{padding:"12px 14px",background:eW.S,border:"1px solid ".concat(eW.BR),borderRadius:3},children:[(0,a.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:12},children:[(0,a.jsxs)("div",{style:{flex:1,minWidth:0},children:[(0,a.jsx)("div",{style:{fontFamily:eW.FB,fontSize:13,fontWeight:600,color:eW.T1},children:e.label}),(0,a.jsxs)("div",{style:{fontFamily:eW.FM,fontSize:10,color:eW.T5,marginTop:4,display:"flex",gap:10,flexWrap:"wrap"},children:[(0,a.jsx)(eN,{color:e.configured?eW.EM:"#7a6248",children:e.configured?"configured":"not configured"}),e.envDetected&&e.envVarName&&(0,a.jsxs)(eN,{color:eW.EM,children:[e.envVarName," in env"]}),e.keyless&&(0,a.jsx)(eN,{color:"#7a6248",children:"keyless . uses AWS env"})]})]}),(0,a.jsxs)("div",{style:{display:"flex",gap:6,flexShrink:0},children:[!e.keyless&&(0,a.jsx)(eP,{size:"sm",onClick:()=>{u(t?null:e.id),m("")},disabled:x,children:t?"Cancel":e.configured?"Rotate key":"Add key"}),e.configured&&(0,a.jsx)(eP,{size:"sm",onClick:()=>k(e.id),disabled:x,children:"Remove"})]})]}),t&&(0,a.jsxs)("div",{style:{marginTop:10,display:"flex",gap:6},children:[(0,a.jsx)("input",{value:h,onChange:e=>m(e.target.value),placeholder:"".concat(e.label," API key"),type:"password",style:{...tv,flex:1},autoFocus:!0}),(0,a.jsx)(eP,{variant:"primary",onClick:()=>j(e.id),disabled:!h.trim()||x,children:x?"...":"Save"})]})]},e.id)})})]})}function tj(e){let{children:t}=e;return(0,a.jsx)("div",{style:{padding:"8px 12px",background:"#a52a1a22",border:"1px solid #a52a1a",borderRadius:3,marginBottom:14,fontFamily:eW.FM,fontSize:11,color:"#a52a1a"},children:t})}function tk(e){let{toast:t,requestAdminToken:n}=e,[r,l]=(0,i.useState)(null),[o,s]=(0,i.useState)(!1),[d,c]=(0,i.useState)(""),[u,h]=(0,i.useState)(!1),[m,x]=(0,i.useState)(null);async function v(){if(d.trim()&&!u){h(!0),x(null);try{var e;let a=await f("/api/leedab/license",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"set-key",key:d.trim()})});if(await y(a)){g(),n("to set the license key",()=>v());return}let i=await a.json();if(!a.ok)throw Error(null!=(e=i.error)?e:"HTTP ".concat(a.status));null==t||t.success("License ".concat(i.status," . tier ").concat(i.tier)),l(i),s(!1),c("")}catch(a){if(a instanceof p)return void n("to set the license key",()=>v());let e=a instanceof Error?a.message:"save failed";x(e),null==t||t.error(e)}finally{h(!1)}}}async function b(){if(!u){h(!0),x(null);try{var e;let a=await f("/api/leedab/license",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"revalidate"})});if(await y(a)){g(),n("to revalidate the license",()=>b());return}let i=await a.json();if(!a.ok)throw Error(null!=(e=i.error)?e:"HTTP ".concat(a.status));null==t||t.info("Revalidated . ".concat(i.status)),l(i)}catch(a){if(a instanceof p)return void n("to revalidate the license",()=>b());let e=a instanceof Error?a.message:"revalidate failed";x(e),null==t||t.error(e)}finally{h(!1)}}}if((0,i.useEffect)(()=>{fetch("/api/leedab/license").then(e=>e.json()).then(e=>{l(e),x(null)}).catch(()=>l({valid:!1,tier:"none",status:"missing",seatsUsed:0,maxSeats:0}))},[]),!r)return(0,a.jsx)("div",{style:{padding:28},children:(0,a.jsx)(eU,{count:2})});let j=r.maxSeats>0?Math.min(100,r.seatsUsed/r.maxSeats*100):0,k=!!r.keyMasked;return(0,a.jsxs)("div",{style:{padding:28,maxWidth:600},children:[(0,a.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",marginBottom:6},children:[(0,a.jsx)("h3",{style:{fontFamily:eW.FB,fontSize:16,fontWeight:600,color:eW.T1,margin:0},children:"License"}),(0,a.jsxs)("div",{style:{display:"flex",gap:6},children:[k&&(0,a.jsx)(eP,{size:"sm",onClick:b,disabled:u,children:"Revalidate"}),(0,a.jsx)(eP,{size:"sm",variant:"primary",onClick:()=>{s(!o),c(""),x(null)},disabled:u,children:o?"Cancel":k?"Replace key":"Enter key"})]})]}),o&&(0,a.jsxs)("div",{style:{padding:12,background:eW.S,border:"1px solid ".concat(eW.BR),borderRadius:3,marginBottom:18,display:"flex",gap:6},children:[(0,a.jsx)("input",{value:d,onChange:e=>c(e.target.value),placeholder:"License key (sk-leedab-...)",type:"password",style:{...tv,flex:1},autoFocus:!0}),(0,a.jsx)(eP,{variant:"primary",onClick:v,disabled:!d.trim()||u,children:u?"...":"Validate & save"})]}),m&&(0,a.jsx)(tj,{children:m}),(0,a.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"120px 1fr",rowGap:10,columnGap:16,fontFamily:eW.FM,fontSize:12},children:[(0,a.jsx)(tS,{children:"Status"}),(0,a.jsx)("div",{style:{display:"flex",alignItems:"center",gap:8},children:(0,a.jsx)(eN,{color:r.valid?eW.EM:"#a52a1a",children:r.status})}),(0,a.jsx)(tS,{children:"Tier"}),(0,a.jsx)(tw,{children:r.tier}),(0,a.jsx)(tS,{children:"Seats"}),(0,a.jsxs)("div",{children:[(0,a.jsxs)("div",{style:{color:eW.T1},children:[r.seatsUsed," / ",r.maxSeats||"∞"]}),r.maxSeats>0&&(0,a.jsx)("div",{style:{width:"100%",maxWidth:260,height:4,background:eW.BR2,marginTop:6,borderRadius:2,overflow:"hidden"},children:(0,a.jsx)("div",{style:{width:"".concat(j,"%"),height:"100%",background:j>80?"#a52a1a":eW.EM}})})]}),r.keyMasked&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(tS,{children:"Key"}),(0,a.jsx)(tw,{mono:!0,children:r.keyMasked})]}),r.email&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(tS,{children:"Email"}),(0,a.jsx)(tw,{children:r.email})]}),r.orgName&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(tS,{children:"Org"}),(0,a.jsx)(tw,{children:r.orgName})]}),r.validatedAt&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(tS,{children:"Validated"}),(0,a.jsx)(tw,{children:new Date(r.validatedAt).toLocaleDateString()})]})]})]})}function tS(e){let{children:t}=e;return(0,a.jsx)("div",{style:{fontFamily:eW.FM,fontSize:9,color:eW.T5,letterSpacing:"0.14em",textTransform:"uppercase",paddingTop:2},children:t})}function tw(e){let{children:t,mono:n}=e;return(0,a.jsx)("div",{style:{fontFamily:n?eW.FM:eW.FB,fontSize:13,color:eW.T1},children:t})}function tT(e){let{channel:t,toast:n,onChanged:r,requestAdminToken:l}=e,[o,s]=(0,i.useState)(!1);return(0,a.jsxs)("div",{style:{marginBottom:18},children:[(0,a.jsxs)("button",{onClick:()=>s(e=>!e),style:{fontFamily:eW.FM,fontSize:10,letterSpacing:"0.08em",padding:"6px 12px",background:"transparent",color:eW.T4,border:"1px solid ".concat(eW.BR),borderRadius:3,cursor:"pointer",textTransform:"uppercase"},children:[t.connected?"Re-pair":"Connect"," ▾"]}),o&&(0,a.jsx)("div",{style:{marginTop:10,padding:14,background:eW.S,border:"1px solid ".concat(eW.BR),borderRadius:3},children:"telegram"===t.name?(0,a.jsx)(tF,{toast:n,onSuccess:()=>{s(!1),r()},requestAdminToken:l}):(0,a.jsx)(tC,{toast:n,onSuccess:()=>{s(!1),r()},requestAdminToken:l})})]})}function tF(e){let{toast:t,onSuccess:n,requestAdminToken:r}=e,[l,o]=(0,i.useState)(""),[s,d]=(0,i.useState)(!1);async function c(){if(l.trim()&&!s){d(!0);try{var e;let a=await f("/api/leedab/channels/telegram/connect",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({token:l.trim()})});if(await y(a)){g(),r("to connect Telegram",()=>c());return}let i=await a.json();if(!a.ok)throw Error(null!=(e=i.error)?e:"HTTP ".concat(a.status));t.success(i.username?"Connected @".concat(i.username):"Telegram connected"),o(""),n()}catch(e){if(e instanceof p)return void r("to connect Telegram",()=>c());t.error(e instanceof Error?e.message:"telegram connect failed")}finally{d(!1)}}}return(0,a.jsxs)("div",{children:[(0,a.jsxs)("p",{style:{fontFamily:eW.FB,fontSize:12,color:eW.T4,lineHeight:1.5,marginTop:0,marginBottom:10},children:["Paste the bot token from ",(0,a.jsx)("code",{children:"@BotFather"}),". We validate via Telegram's getMe before saving."]}),(0,a.jsxs)("div",{style:{display:"flex",gap:8},children:[(0,a.jsx)("input",{value:l,onChange:e=>o(e.target.value),onKeyDown:e=>{"Enter"===e.key&&c()},placeholder:"123456789:ABC-DEF...",disabled:s,style:tv}),(0,a.jsx)(eP,{variant:"primary",onClick:c,disabled:!l.trim()||s,children:s?"Validating...":"Connect"})]})]})}function tC(e){let{toast:t,onSuccess:n,requestAdminToken:r}=e,[l,o]=(0,i.useState)(null),[s,d]=(0,i.useState)(!1);async function c(){if(!s){d(!0),o(null);try{var e;let n=await f("/api/leedab/channels/whatsapp/connect",{method:"POST"});if(await y(n)){g(),r("to start WhatsApp pairing",()=>c());return}let a=await n.json();if(!n.ok)throw Error(null!=(e=a.error)?e:"HTTP ".concat(n.status));a.qr?(o(a.qr),t.info("Scan the QR with WhatsApp on your phone (Linked Devices).",{ttlMs:8e3})):t.error("No QR returned. Check the gateway log.")}catch(e){if(e instanceof p)return void r("to start WhatsApp pairing",()=>c());t.error(e instanceof Error?e.message:"whatsapp pairing failed")}finally{d(!1)}}}return(0,a.jsxs)("div",{children:[(0,a.jsxs)("p",{style:{fontFamily:eW.FB,fontSize:12,color:eW.T4,lineHeight:1.5,marginTop:0,marginBottom:10},children:["Click ",(0,a.jsx)("em",{children:"Get QR"}),", then on your phone open WhatsApp → Settings → Linked Devices → Link a device, and scan."]}),(0,a.jsx)(eP,{variant:"primary",onClick:c,disabled:s,children:s?"Spawning pairing...":l?"Get new QR":"Get QR"}),l&&(0,a.jsx)("pre",{style:{marginTop:12,padding:10,background:eW.B,border:"1px solid ".concat(eW.BR),borderRadius:3,fontFamily:eW.FM,fontSize:8,lineHeight:1,color:eW.T1,overflowX:"auto",whiteSpace:"pre"},children:l}),(0,a.jsx)("p",{style:{fontFamily:eW.FM,fontSize:10,color:eW.T6,marginTop:8},children:"This page won't auto-refresh after the scan. Click off the channel and back to refresh status."})]})}function tR(){return(0,a.jsx)(b,{children:(0,a.jsx)(tE,{})})}function tE(){var e,t,n,s,d,c,u,h,m,x,v,b,R,M,I,W,O,P,H;let{pack:U,loading:Y}=j(),K=null!=(h=null==U?void 0:U.agentOrder)?h:o;null==U||U.agentTeams;let G=null!=(m=null==U?void 0:U.agents)?m:l,[ee,ea]=(0,i.useState)("marketing"),[ei,es]=(0,i.useState)(()=>{let e={};for(let t of o)e[t]=[];return e}),[ed,ec]=(0,i.useState)({}),[ep,eu]=(0,i.useState)(!1),[eg,em]=(0,i.useState)([]),[ef,ex]=(0,i.useState)(null);(0,i.useEffect)(()=>{let e=!1;return(async()=>{try{let t=await fetch("/api/leedab/models",{cache:"no-store"});if(!t.ok||e)return;let n=await t.json();if(e)return;em(n.models.map(e=>({value:e.modelId,label:e.providerLabel?"".concat(e.providerLabel.split(" ")[0].toUpperCase()," . ").concat(e.modelId.toUpperCase()):e.modelId.toUpperCase()}))),ex(n.defaultModel)}catch(e){}})(),()=>{e=!0}},[]);let[ev,ek]=(0,i.useState)(""),[eS,ew]=(0,i.useState)(!1),[eT,eF]=(0,i.useState)(!1),[eC,eR]=(0,i.useState)(!1),[eE,ez]=(0,i.useState)(null),[eW,eO]=(0,i.useState)(!1),[eL,eN]=(0,i.useState)(!1),[eP,eH]=(0,i.useState)(()=>Object.fromEntries(o.map(e=>[e,""]))),[eU,eq]=(0,i.useState)([]),[eY,eK]=(0,i.useState)([]),[eV,e_]=(0,i.useState)(!1),[e$,eX]=(0,i.useState)([1]);function eQ(e){eX(e);try{localStorage.setItem("leedab-pane-weights",JSON.stringify(e))}catch(e){}}(0,i.useEffect)(()=>{let e=1+eY.length;if(e$.length!==e){try{let t=localStorage.getItem("leedab-pane-weights");if(t){let n=JSON.parse(t);if(Array.isArray(n)&&n.length===e&&n.every(e=>"number"==typeof e&&e>0))return void eX(n)}}catch(e){}eX(Array(e).fill(1))}},[eY.length]);let{ref:eZ,width:e0}=eB(),e1=eM(e0),[e4,e8]=(0,i.useState)(!1),[e3,e7]=(0,i.useState)(340),[te,tt]=(0,i.useState)("agents"),[tn,ti]=(0,i.useState)(()=>"1"===localStorage.getItem("leedab-strips-collapsed"));(0,i.useEffect)(()=>{try{localStorage.setItem("leedab-strips-collapsed",tn?"1":"0")}catch(e){}},[tn]);let[tr,tl]=(0,i.useState)(null),[to,ts]=(0,i.useState)(null),[tc,tp]=(0,i.useState)(null),tu=(0,i.useCallback)((e,t)=>{ts(e),tp(null!=t?t:null),tt("sessions")},[]),[th,tg]=(0,i.useState)(!1),[tm,tf]=(0,i.useState)(""),[tx,ty]=(0,i.useState)(!1),[tv,tb]=(0,i.useState)(!1),[tj,tk]=(0,i.useState)([]),[tS,tw]=(0,i.useState)(0);(0,i.useEffect)(()=>{let e=[],t=Date.now(),n=(e,t,n)=>{let a={id:crypto.randomUUID(),agent:t,msg:n,level:e,ts:"just now",read:!1,createdAt:Date.now()};tk(e=>[a,...e].slice(0,30))},a=new EventSource("/api/inbox/stream");a.addEventListener("created",e=>{try{var a;let i=JSON.parse(e.data);if(i.timestamp<t-5e3)return;n("info",null!=(a=i.agentId)?a:"ops","New ".concat(i.channel," from ").concat(i.fromName))}catch(e){}}),e.push(a);let i=new EventSource("/api/approvals/stream");return i.addEventListener("snapshot",e=>{try{let{approvals:t}=JSON.parse(e.data);tw(t.filter(e=>"pending"===e.status).length)}catch(e){}}),i.addEventListener("created",e=>{try{let a=JSON.parse(e.data);if("pending"===a.status&&tw(e=>e+1),a.createdAt<t-5e3)return;n("warn",a.agentId,"Approval pending: ".concat(a.title))}catch(e){}}),i.addEventListener("updated",e=>{try{let t=JSON.parse(e.data);"pending"!==t.status&&tw(e=>Math.max(0,e-1))}catch(e){}}),e.push(i),()=>{e.forEach(e=>e.close())}},[]),(0,i.useEffect)(()=>{let e="agents"===te?"Operators":te.charAt(0).toUpperCase()+te.slice(1),t="LeedAB OS | ".concat(e);document.title=tS>0?"(".concat(tS,") ").concat(t):t},[tS,te]),(0,i.useEffect)(()=>{let e=setInterval(()=>{tk(e=>e.map(e=>({...e,ts:function(e){let t=Date.now()-e;return t<6e4?"just now":t<36e5?"".concat(Math.floor(t/6e4),"m ago"):t<864e5?"".concat(Math.floor(t/36e5),"h ago"):"".concat(Math.floor(t/864e5),"d ago")}(e.createdAt)})))},3e4);return()=>clearInterval(e)},[]);let[tT,tF]=(0,i.useState)(null),[tC,tR]=(0,i.useState)(!1),[tE,tz]=(0,i.useState)("light"),[tB,tM]=(0,i.useState)("orb"),[tI,tA]=(0,i.useState)([]),[tD,tW]=(0,i.useState)(!1),[tO,tL]=(0,i.useState)(!1),[tN,tP]=(0,i.useState)(!1),[tH,tU]=(0,i.useState)(!1),[tq,tY]=(0,i.useState)(!1),[tK,tJ]=(0,i.useState)(null),[tV,tG]=(0,i.useState)(null),{toasts:t_,toast:t$,dismiss:tX}=function(){let[e,t]=(0,i.useState)([]),n=(0,i.useCallback)((e,n,a)=>{var i;let r=crypto.randomUUID(),l=null!=(i=null==a?void 0:a.ttlMs)?i:5e3;return t(t=>[...t,{id:r,type:e,message:n,action:null==a?void 0:a.action,ttlMs:l}]),setTimeout(()=>t(e=>e.filter(e=>e.id!==r)),l),r},[]);return{toasts:e,toast:{error:(e,t)=>n("error",e,t),success:(e,t)=>n("success",e,t),info:(e,t)=>n("info",e,t)},dismiss:e=>t(t=>t.filter(t=>t.id!==e))}}(),[tQ,tZ]=(0,i.useState)(!1);(0,i.useEffect)(()=>{if("1"===new URLSearchParams(window.location.search).get("onboarding")){try{localStorage.removeItem("leedab-onboarded")}catch(e){}tZ(!0);return}"1"!==localStorage.getItem("leedab-onboarded")&&Promise.all([fetch("/api/routing").then(e=>e.json()).catch(()=>({rules:[]})),fetch("/api/contacts").then(e=>e.json()).catch(()=>({contacts:[]}))]).then(e=>{let[t,n]=e;t.rules&&0!==t.rules.length||n.contacts&&0!==n.contacts.length||tZ(!0)})},[]),(0,i.useEffect)(()=>{let e=window.matchMedia("(max-width: 900px)"),t=()=>tP(e.matches);return t(),e.addEventListener("change",t),()=>e.removeEventListener("change",t)},[]);let t0=(0,i.useCallback)(async e=>{if(e&&0!==e.length){tW(!0);try{let n=Array.from(e),a=[];for(let e of n){let n=new FormData;n.append("file",e);let i=await fetch("/api/uploads",{method:"POST",body:n});if(!i.ok){var t;let e=await i.json().catch(()=>({}));throw Error(null!=(t=e.error)?t:"HTTP ".concat(i.status))}let r=await i.json();a.push(r)}tA(e=>[...e,...a])}catch(e){t$.error(e instanceof Error?e.message:"upload failed")}finally{tW(!1)}}},[t$]),t1=(0,i.useCallback)(e=>{tA(t=>t.filter(t=>t.id!==e))},[]);(0,i.useEffect)(()=>{!K.includes(ee)&&K.length>0&&ea(K[0])},[K,ee]),(0,i.useEffect)(()=>{var e,t;let n=localStorage.getItem("leedab-theme"),a=localStorage.getItem("leedab-view");"dark"===n||"light"===n?tz(n):(null==(e=(t=window).matchMedia)?void 0:e.call(t,"(prefers-color-scheme: dark)").matches)&&tz("dark"),"list"===a&&tM("list")},[]),(0,i.useEffect)(()=>{document.documentElement.setAttribute("data-theme","dark"===tE?"dark":"light");try{localStorage.setItem("leedab-theme",tE)}catch(e){}},[tE]),(0,i.useEffect)(()=>{try{localStorage.setItem("leedab-view",tB)}catch(e){}},[tB]);let t2=(0,i.useRef)(null);(0,i.useRef)(!1);let t4=(0,i.useRef)(null),t6=(0,i.useRef)(null),t5=(0,i.useRef)(null),t8=null!=(v=null!=(x=G[ee])?x:G[K[0]])?v:l.marketing,t3=null!=(b=ei[ee])?b:[],t9=null!=(M=null!=(R=ed[ee])?R:ef)?M:t8.defaultModel;K.indexOf(ee);let t7=K.filter(e=>"active"===D[e]).length,ne=tj.filter(e=>!e.read).length,nt=new Date().toLocaleDateString("en-US",{month:"short",day:"2-digit"}).toUpperCase(),nn=new Date().getFullYear();(0,i.useEffect)(()=>{let e=!1;return tR(!0),(async()=>{try{let t=await fetch("/api/conversations?agentId=".concat(ee));if(e)return;if(!t.ok)throw Error("HTTP ".concat(t.status));let n=await t.json();!e&&Array.isArray(n.messages)&&es(e=>({...e,[ee]:n.messages}))}catch(t){e||t$.error(t instanceof Error?t.message:"Failed to load conversation")}finally{e||tR(!1)}})(),()=>{e=!0}},[ee]),(0,i.useEffect)(()=>{var e;null==(e=t2.current)||e.scrollTo({top:t2.current.scrollHeight,behavior:"smooth"})},[t3,eS]),(0,i.useEffect)(()=>{eC&&fetch("/api/usage").then(e=>e.json()).then(ez).catch(e=>{var t;return t$.error(null!=(t=e.message)?t:"Failed to load usage")})},[eC]),(0,i.useEffect)(()=>{th&&setTimeout(()=>{var e;return null==(e=t6.current)?void 0:e.focus()},50)},[th]),(0,i.useEffect)(()=>{let e=e=>{var t,n;let a=["TEXTAREA","INPUT"].includes(e.target.tagName);if((e.metaKey||e.ctrlKey)&&"l"===e.key){e.preventDefault(),tg(e=>!e),tf("");return}if("Escape"===e.key)return tq?void tY(!1):th?void tg(!1):tx?void ty(!1):tv?void tb(!1):eV?void e_(!1):eU.length>0?void eq([]):(eL&&(eN(!1),eO(!1)),e8(!1),void(null==(t=document.activeElement)||t.blur()));if("?"===e.key&&!a&&!th){e.preventDefault(),tY(e=>!e);return}if("/"===e.key&&!a&&!th){e.preventDefault(),null==(n=t4.current)||n.focus();return}if("b"===e.key&&!a&&!th)return void eO(e=>!e)};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[eL,eU,th,tx,tv,tq,eV]),(0,i.useEffect)(()=>{if(!eV)return;let e=e=>{e.target.closest("[data-extra-pane-adder]")||e_(!1)};return window.addEventListener("mousedown",e),()=>window.removeEventListener("mousedown",e)},[eV]),(0,i.useEffect)(()=>{e4&&"agents"===te||e_(!1)},[e4,te]),(0,i.useEffect)(()=>{if(!e4||"agents"!==te)return;let e=new EventSource("/api/delegate/stream"),t=async e=>{try{let t=await fetch("/api/conversations?agentId=".concat(e));if(!t.ok)return;let n=await t.json();Array.isArray(n.messages)&&es(t=>({...t,[e]:n.messages}))}catch(e){}};return e.addEventListener("created",e=>{try{let n=JSON.parse(e.data),a=[ee,...eY];if(!n.fromAgentId||!a.includes(n.fromAgentId))return;let i=n.toAgentId;if(t(i),i===ee)return;eK(e=>e.includes(i)?e:[...e,i])}catch(e){}}),()=>{e.close()}},[e4,te,ee,eY]);let na=(0,i.useCallback)((e,t)=>{if(null==t?void 0:t.multi){eq(t=>t.includes(e)?t.filter(t=>t!==e):[...t,e]),tt("agents"),e8(!0),setTimeout(()=>{var e;return null==(e=t4.current)?void 0:e.focus()},0);return}eq([]),e===ee?e8(e=>!e):(ea(e),e8(!0),eN(!1),eO(!1)),tt("agents"),setTimeout(()=>{var e;return null==(e=t4.current)?void 0:e.focus()},0)},[ee]),ni=(0,i.useCallback)(async()=>{let e=ev.trim();if(!e&&0===tI.length||eS)return;ek(""),tA([]);let t=eW?K:eU.length>0?eU:[];if(t.length>0){eN(!0),eH(Object.fromEntries(t.map(e=>[e,""]))),t.forEach(async t=>{var n,a;let i=l[t],r=null!=(n=ed[t])?n:i.defaultModel;try{let n=await fetch("/api/chat",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({agentId:t,model:r,messages:[{role:"user",content:e}]})});if(!n.ok||!n.body)return;let i=n.body.getReader(),l=new TextDecoder,o="";for(;;){let{value:e,done:n}=await i.read();if(n)break;let r=(o+=l.decode(e,{stream:!0})).split("\n\n");for(let e of(o=null!=(a=r.pop())?a:"",r))if(e.startsWith("data:"))try{let n=JSON.parse(e.slice(5).trim());"text"===n.type&&eH(e=>({...e,[t]:e[t]+n.value}))}catch(e){}}}catch(e){}}),eU.length>0&&eq([]);return}let n=tI.length?"\n\n"+tI.map(e=>"[Attached: ".concat(e.name,"]")).join("\n"):"",a={id:crypto.randomUUID(),role:"user",content:e+n,timestamp:Date.now()},i={id:crypto.randomUUID(),role:"assistant",content:"",timestamp:Date.now(),model:t9};es(e=>({...e,[ee]:[...e[ee],a,i]})),ew(!0);try{let t=await fetch("/api/chat",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({agentId:ee,model:t9,messages:[...t3.map(e=>({role:e.role,content:e.content})),{role:"user",content:e}],attachments:tI})});if(!t.ok||!t.body)throw Error(await t.text()||"HTTP ".concat(t.status));let n=t.body.getReader(),a=new TextDecoder,i="";for(;;){var r;let{value:e,done:t}=await n.read();if(t)break;let l=(i+=a.decode(e,{stream:!0})).split("\n\n");for(let e of(i=null!=(r=l.pop())?r:"",l))if(e.startsWith("data:"))try{let t=JSON.parse(e.slice(5).trim());"tool_call"===t.type?tF(t.tool):"text"===t.type?(tF(null),es(e=>{let n=e[ee],a=n[n.length-1];return(null==a?void 0:a.role)!=="assistant"?e:{...e,[ee]:[...n.slice(0,-1),{...a,content:a.content+t.value}]}})):"error"===t.type&&(tF(null),es(e=>{let n=e[ee],a=n[n.length-1];return(null==a?void 0:a.role)!=="assistant"?e:{...e,[ee]:[...n.slice(0,-1),{...a,content:"[Error] ".concat(t.value)}]}}))}catch(e){}}}catch(t){let e=t instanceof Error?t.message:"Unknown error";es(t=>{let n=t[ee],a=n[n.length-1];return(null==a?void 0:a.role)!=="assistant"?t:{...t,[ee]:[...n.slice(0,-1),{...a,content:"[Error] ".concat(e)}]}})}finally{ew(!1),tF(null)}},[ev,eS,ee,t9,t3,eW,ed,tI]),nr=(0,i.useCallback)(async()=>{confirm("Clear conversation with ".concat(t8.name," AB?"))&&(await fetch("/api/conversations?agentId=".concat(ee),{method:"DELETE"}),es(e=>({...e,[ee]:[]})))},[ee,t8.name]),nl=(0,i.useCallback)(e=>{var t,n,a,i;if(0===t3.length)return;let r=new Date().toISOString().slice(0,10),l=t3.filter(e=>"assistant"===e.role).map(e=>e.content),o="",s="text/plain";if("md"===e)o=t3.map(e=>"user"===e.role?"**You:** ".concat(e.content):"**".concat(t8.name,":** ").concat(e.content)).join("\n\n---\n\n"),s="text/markdown";else if("txt"===e)o=(null!=(t=l.at(-1))?t:t3.map(e=>"user"===e.role?"You: ".concat(e.content):"".concat(t8.name,": ").concat(e.content)).join("\n\n")).replace(/#{1,6}\s+/g,"").replace(/\*\*(.+?)\*\*/g,"$1").replace(/\*(.+?)\*/g,"$1").replace(/`{3}[\s\S]*?`{3}/g,e=>e.replace(/`{3}[^\n]*\n?/,"").replace(/\n?`{3}/,"")).replace(/`(.+?)`/g,"$1").replace(/\[(.+?)\]\(.+?\)/g,"$1").replace(/^[-*]\s+/gm,"• ").replace(/^\d+\.\s+/gm,e=>e);else if("html"===e){let e=(null!=(n=l.at(-1))?n:"").replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/#{3}\s+(.+)/g,"<h3>$1</h3>").replace(/#{2}\s+(.+)/g,"<h2>$1</h2>").replace(/#{1}\s+(.+)/g,"<h1>$1</h1>").replace(/\*\*(.+?)\*\*/g,"<strong>$1</strong>").replace(/\*(.+?)\*/g,"<em>$1</em>").replace(/`(.+?)`/g,"<code>$1</code>").replace(/\[(.+?)\]\((.+?)\)/g,'<a href="$2">$1</a>').replace(/^[-*]\s+(.+)/gm,"<li>$1</li>").replace(/(<li>[\s\S]+?<\/li>)/g,"<ul>$1</ul>").replace(/\n\n/g,"</p><p>").replace(/\n/g,"<br>");o='<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>'.concat(t8.name," — LeedAB</title><style>body{font-family:system-ui,sans-serif;max-width:720px;margin:40px auto;padding:0 24px;color:#1a1713;line-height:1.7;background:#efe9dd}h1,h2,h3{font-weight:600;margin-top:2em}code{background:#e6dfcf;padding:2px 6px;border-radius:3px;font-size:.9em}pre{background:#e6dfcf;padding:16px;border-radius:4px;overflow-x:auto}ul{padding-left:1.5em}a{color:#10b981}</style></head><body><p>").concat(e,"</p></body></html>"),s="text/html"}else if("json"===e)o=JSON.stringify({agent:t8.name,exportedAt:new Date().toISOString(),messages:t3},null,2),s="application/json";else if("csv"===e){let e=[["role","content","timestamp"]];for(let t of t3)e.push([t.role,'"'.concat((null!=(a=t.content)?a:"").replace(/"/g,'""'),'"'),String(null!=(i=t.timestamp)?i:"")]);o=e.map(e=>e.join(",")).join("\n"),s="text/csv"}let d=new Blob([o],{type:s}),c=URL.createObjectURL(d),p=document.createElement("a");p.href=c,p.download="leedab-".concat(ee,"-").concat(r,".").concat(e),p.click(),URL.revokeObjectURL(c)},[t3,ee,t8.name]),no=(0,i.useCallback)(()=>{var e;let t=window,n=null!=(e=t.SpeechRecognition)?e:t.webkitSpeechRecognition;if(!n)return void alert("Use your WhisperFlow shortcut to dictate into the text field.");if(eT&&t5.current){t5.current.stop(),eF(!1);return}let a=new n;a.continuous=!1,a.interimResults=!0,a.lang="en-US",a.onstart=()=>eF(!0),a.onend=()=>eF(!1),a.onerror=()=>eF(!1),a.onresult=e=>ek(Array.from(e.results).map(e=>e[0].transcript).join("")),t5.current=a,a.start()},[eT]);return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(L,{toasts:t_,onDismiss:tX}),tq&&(0,a.jsx)(N,{onClose:()=>tY(!1)}),ep&&(0,a.jsx)(ej,{onClose:()=>eu(!1)}),tK&&(0,a.jsx)(q,{draft:tK,agentId:ee,agentName:t8.name,onCancel:()=>tJ(null),onSave:async function e(t){var n,a,i,r;let l=(null==U||null==(n=U.customer)?void 0:n.clientId)?"?client=".concat(encodeURIComponent(U.customer.clientId)):"",o=JSON.stringify({name:t.name,description:t.description,category:"general",agentId:ee,promptTemplate:t.promptTemplate,inputs:null!=(a=t.inputs)?a:[],outputType:"message"});try{let n=await f("/api/templates".concat(l),{method:"POST",headers:{"Content-Type":"application/json"},body:o});if(await y(n)){g(),tG({context:"to save this workflow",retry:()=>e(t)});return}if(!n.ok)throw Error(null!=(i=(await n.json()).error)?i:"HTTP ".concat(n.status));let a=(null!=(r=t.inputs)?r:[]).length;t$.success('Saved "'.concat(t.name,'"').concat(a>0?" (".concat(a," variable").concat(1===a?"":"s",")"):""," to Templates.")),tJ(null)}catch(n){if(n instanceof p)return void tG({context:"to save this workflow",retry:()=>e(t)});t$.error(n instanceof Error?n.message:"save failed")}}}),(0,a.jsx)(eb,{open:null!==tV,context:null==tV?void 0:tV.context,onSubmit:()=>{let e=null==tV?void 0:tV.retry;tG(null),e&&e()},onCancel:()=>tG(null)}),tQ&&(0,a.jsx)(J,{onClose:()=>{tZ(!1);try{localStorage.setItem("leedab-onboarded","1")}catch(e){}}}),th&&(0,a.jsx)(X,{query:tm,onQueryChange:tf,inputRef:t6,conversations:ei,onSelectAgent:e=>{na(e),tg(!1),tf("")},onSelectView:e=>{tt(e),tg(!1),tf("")},onClose:()=>{tg(!1),tf("")}}),tx&&(0,a.jsx)(_,{agent:t8,agentId:ee,conversations:ei,onClose:()=>ty(!1)}),tv&&(0,a.jsx)(V,{notifs:tj,onMarkAllRead:()=>tk(e=>e.map(e=>({...e,read:!0}))),onClose:()=>tb(!1)}),(0,a.jsxs)("div",{style:{minHeight:"100svh",height:"100dvh",display:"flex",flexDirection:"column",overflow:"hidden",background:k,color:"var(--ink)"},children:[(0,a.jsxs)("nav",{"data-app-nav":!0,style:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"0 28px",height:52,borderBottom:"1px solid ".concat(T),background:w,flexShrink:0,fontFamily:E,gap:12,minWidth:0},children:[(0,a.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:16,flex:1,minWidth:0},children:[tN&&(0,a.jsx)("button",{onClick:()=>{"agents"!==te&&tt("agents"),tU(!0)},"aria-label":"Open team rail",style:{background:"none",border:"1px solid ".concat(T),color:"var(--ink-3)",padding:"4px 8px",borderRadius:3,cursor:"pointer",fontSize:14},children:"☰"}),(0,a.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:0,lineHeight:1},children:[(0,a.jsxs)("span",{style:{display:"inline-flex",alignItems:"baseline",gap:1,fontFamily:z,fontSize:18,fontWeight:500,letterSpacing:"-0.02em",color:"var(--ink)"},children:["LeedAB",(0,a.jsx)("span",{style:{width:6,height:6,background:C,borderRadius:"50%",display:"inline-block",marginLeft:2,transform:"translateY(-1px)",flex:"none"}})]}),(0,a.jsx)("span",{"data-mobile-condense":!0,style:{fontFamily:E,fontSize:10,fontWeight:500,letterSpacing:"0.14em",color:"var(--ink-3)",marginTop:3},children:"agentic OS"})]}),(0,a.jsx)("div",{"data-mobile-tabs":!0,className:"no-scrollbar",style:{display:"flex",gap:2,overflowX:"auto",flex:1,minWidth:0,WebkitOverflowScrolling:"touch"},children:["agents","workflows","sessions","runs","admin"].map(e=>(0,a.jsx)("button",{onClick:()=>{te===e?ti(e=>!e):(tt(e),ti(!1))},style:{fontFamily:E,fontSize:10,letterSpacing:"0.08em",padding:"4px 10px",background:"transparent",color:te===e?C:"var(--ink-5)",borderTop:"none",borderRight:"none",borderLeft:"none",borderBottom:"2px solid ".concat(te===e?C:"transparent"),cursor:"pointer",transition:"all 0.15s",textTransform:"uppercase",flexShrink:0,whiteSpace:"nowrap"},children:"agents"===e?"operators":e},e))})]}),(0,a.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10,flexShrink:0},children:["agents"===te&&(0,a.jsx)("div",{style:{display:"flex",border:"1px solid ".concat(T),borderRadius:3,overflow:"hidden"},children:["list","orb"].map(e=>(0,a.jsx)("button",{onClick:()=>{e!==tB&&(tM(e),e8(!1),eK([]),e_(!1),eq([]),eO(!1),eN(!1))},style:{fontFamily:E,fontSize:9,letterSpacing:"0.08em",padding:"4px 8px",border:"none",background:tB===e?C:"transparent",color:tB===e?"var(--paper)":"var(--ink-5)",cursor:"pointer",textTransform:"uppercase",transition:"all 0.15s"},children:e},e))}),(0,a.jsx)($,{onChannelClick:e=>{tl(e),tt("admin")}}),(0,a.jsxs)("span",{"data-mobile-hide":!0,style:{fontSize:10,color:C,letterSpacing:"0.1em"},children:["● ",t7," ACTIVE"]}),(0,a.jsxs)("span",{"data-mobile-hide":!0,style:{fontSize:10,color:"var(--ink-6)"},children:[nt," \xb7 ",nn]}),(0,a.jsx)("button",{onClick:()=>tz("dark"===tE?"light":"dark"),title:"Toggle theme",style:{background:"transparent",border:"1px solid ".concat(T),color:"var(--ink-4)",borderRadius:3,padding:"4px 8px",cursor:"pointer",fontFamily:E,fontSize:11,display:"flex",alignItems:"center",justifyContent:"center",width:28,height:24},children:"dark"===tE?"☀":"☾"}),(0,a.jsxs)("button",{onClick:()=>{tg(!0),tf("")},style:{background:S,border:"1px solid ".concat(T),color:"var(--ink-5)",borderRadius:3,padding:"4px 10px",cursor:"pointer",display:"flex",alignItems:"center",gap:6,fontFamily:E,fontSize:10},children:[(0,a.jsx)("span",{style:{fontSize:11},children:"⌘"}),"L"]}),(0,a.jsx)("span",{"data-mobile-hide":!0,style:{display:"inline-flex"},children:(0,a.jsx)(Z,{label:"USAGE",active:eC,onClick:()=>eR(e=>!e)})}),(0,a.jsxs)("button",{onClick:()=>{tb(e=>!e),tv||tk(e=>e.map(e=>({...e,read:!0})))},style:{position:"relative",background:"none",border:"none",cursor:"pointer",color:ne>0?C:"var(--ink-5)",fontSize:14,padding:"4px 6px",transition:"color 0.15s"},children:["◎",ne>0&&(0,a.jsx)("span",{style:{position:"absolute",top:0,right:0,width:8,height:8,borderRadius:"50%",background:C,border:"2px solid ".concat(w),display:"block"}})]})]})]}),!tn&&(0,a.jsx)(e5,{onOpenSession:tu}),eC&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("div",{onClick:()=>eR(!1),style:{position:"fixed",inset:0,background:"rgba(0,0,0,0.18)",zIndex:480}}),(0,a.jsx)("div",{className:"animate-fade-in",style:{position:"fixed",top:56,left:"50%",transform:"translateX(-50%)",width:"min(940px, calc(100vw - 32px))",maxHeight:"calc(100vh - 96px)",border:"1px solid ".concat(T),borderRadius:4,boxShadow:"0 18px 48px rgba(0,0,0,0.18)",background:w,padding:"20px 28px",overflowY:"auto",zIndex:490},children:eE?(0,a.jsxs)("div",{style:{maxWidth:900,margin:"0 auto"},children:[(0,a.jsx)("div",{style:{display:"grid",gridTemplateColumns:"repeat(4, 1fr)",gap:12,marginBottom:20},children:[{label:"Today \xb7 Requests",value:eE.todayTotals.requests.toString()},{label:"Today \xb7 Input",value:eE.todayTotals.inputTokens.toLocaleString()},{label:"Today \xb7 Output",value:eE.todayTotals.outputTokens.toLocaleString()},{label:"Today \xb7 Est. cost",value:"$".concat(eE.todayTotals.estimatedCost.toFixed(4))}].map(e=>{let{label:t,value:n}=e;return(0,a.jsxs)("div",{style:{background:S,border:"1px solid ".concat(T),borderRadius:3,padding:"12px 16px"},children:[(0,a.jsx)("div",{style:{fontSize:9,color:"var(--ink-5)",letterSpacing:"0.14em",marginBottom:6,fontFamily:E},children:t.toUpperCase()}),(0,a.jsx)("div",{style:{fontSize:20,fontWeight:700,color:"var(--ink)",fontFamily:E},children:n})]},t)})}),(0,a.jsx)("div",{style:{fontSize:9,color:"var(--ink-5)",letterSpacing:"0.14em",marginBottom:8,fontFamily:E},children:"ALL-TIME \xb7 BY AGENT"}),(0,a.jsxs)("table",{style:{width:"100%",fontSize:12,fontFamily:E,borderCollapse:"collapse"},children:[(0,a.jsx)("thead",{children:(0,a.jsx)("tr",{style:{color:"var(--ink-5)",borderBottom:"1px solid ".concat(T)},children:["Agent","Requests","Input","Output","Est. Cost"].map(e=>(0,a.jsx)("th",{style:{textAlign:"Agent"!==e?"right":"left",paddingBottom:8,paddingRight:16,fontWeight:400},children:e},e))})}),(0,a.jsxs)("tbody",{children:[K.map(e=>{var t,n,i,r,l;let o=null!=(i=eE.byAgent[e])?i:{requests:0,inputTokens:0,outputTokens:0,estimatedCost:0};return(0,a.jsxs)("tr",{style:{borderBottom:"1px solid ".concat(F)},children:[(0,a.jsxs)("td",{style:{padding:"8px 16px 8px 0",color:"var(--ink-3)"},children:[(0,a.jsx)("span",{style:{color:"var(--ink)",marginRight:8},children:null!=(r=null==(t=G[e])?void 0:t.code)?r:""}),null!=(l=null==(n=G[e])?void 0:n.name)?l:e]}),(0,a.jsx)("td",{style:{padding:"8px 16px 8px 0",textAlign:"right",color:"var(--ink-5)"},children:o.requests}),(0,a.jsx)("td",{style:{padding:"8px 16px 8px 0",textAlign:"right",color:"var(--ink-5)"},children:o.inputTokens.toLocaleString()}),(0,a.jsx)("td",{style:{padding:"8px 16px 8px 0",textAlign:"right",color:"var(--ink-5)"},children:o.outputTokens.toLocaleString()}),(0,a.jsxs)("td",{style:{padding:"8px 0",textAlign:"right",color:C},children:["$",o.estimatedCost.toFixed(4)]})]},e)}),(0,a.jsxs)("tr",{style:{color:"var(--ink)"},children:[(0,a.jsx)("td",{style:{paddingTop:12,paddingRight:16},children:"Total"}),(0,a.jsx)("td",{style:{paddingTop:12,paddingRight:16,textAlign:"right"},children:eE.totals.requests}),(0,a.jsx)("td",{style:{paddingTop:12,paddingRight:16,textAlign:"right"},children:eE.totals.inputTokens.toLocaleString()}),(0,a.jsx)("td",{style:{paddingTop:12,paddingRight:16,textAlign:"right"},children:eE.totals.outputTokens.toLocaleString()}),(0,a.jsxs)("td",{style:{paddingTop:12,textAlign:"right",color:C,fontWeight:700},children:["$",eE.totals.estimatedCost.toFixed(4)]})]})]})]})]}):(0,a.jsx)("div",{style:{fontSize:12,color:"var(--ink-5)",fontFamily:E},children:"Loading…"})})]}),"inbox"===te&&(0,a.jsx)(ta,{toast:t$,onSelectAgent:na,initialTab:"inbox"}),"approvals"===te&&(0,a.jsx)(eJ,{toast:t$}),"roster"===te&&(0,a.jsx)(eG,{toast:t$}),"workflows"===te&&(0,a.jsx)(e2,{toast:t$,onSelectAgent:na}),"runs"===te&&(0,a.jsx)(e6,{onOpenSession:tu}),"compute"===te&&(0,a.jsx)(e9,{toast:t$,onSelectAgent:na}),"sessions"===te&&(0,a.jsx)(ta,{toast:t$,onSelectAgent:na,initialTab:"transcripts",initialSelectedId:null!=to?to:void 0,initialTargetTimestamp:null!=tc?tc:void 0}),"admin"===te&&(0,a.jsx)(td,{toast:t$,initialChannel:tr}),"agents"===te&&Y&&(0,a.jsxs)("div",{style:{flex:1,display:"flex",alignItems:"center",justifyContent:"center",gap:10},children:[(0,a.jsx)("span",{className:"orb-pulse-ring",style:{width:8,height:8,borderRadius:"50%",background:C,display:"inline-block"}}),(0,a.jsx)("span",{style:{fontFamily:E,fontSize:10,color:"var(--ink-5)",letterSpacing:"0.14em",textTransform:"uppercase"},children:"loading ABs"})]}),"agents"===te&&!Y&&(0,a.jsxs)("div",{className:"animate-fade-in",style:{flex:1,display:"flex",overflow:"hidden"},children:["list"===tB&&!tN&&(0,a.jsx)(eo,{selectedAgent:ee,chatOpen:e4,conversations:ei,onSelectAgent:na,onOpenMarketplace:()=>eu(!0)}),tN&&tH&&(0,a.jsx)("div",{className:"team-rail-drawer",onClick:()=>tU(!1),children:(0,a.jsx)("div",{className:"team-rail-drawer-panel",onClick:e=>e.stopPropagation(),children:(0,a.jsx)(eo,{selectedAgent:ee,chatOpen:e4,conversations:ei,onSelectAgent:e=>{na(e),tU(!1)},onOpenMarketplace:()=>{eu(!0),tU(!1)}})})}),(0,a.jsxs)("div",{style:{flex:1,display:"flex",flexDirection:"row",overflow:"hidden",minWidth:0,padding:"16px 20px 16px 0"},children:[(0,a.jsx)("div",{ref:eZ,style:{flex:null!=(I=e$[0])?I:1,display:"flex",flexDirection:"column",overflow:"hidden",minWidth:280},children:e4?(0,a.jsxs)("div",{className:"animate-fade-up",style:{flex:1,marginLeft:20,borderRadius:4,border:"1px solid ".concat(T),background:"var(--paper-3)",display:"flex",flexDirection:"column",overflow:"hidden",minHeight:0},children:[eL?(0,a.jsxs)("div",{style:{flex:1,overflow:"hidden",background:"var(--paper-3)",display:"flex",flexDirection:"column"},children:[(0,a.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"16px 24px",borderBottom:"1px solid ".concat(T),flexShrink:0},children:[(0,a.jsxs)("div",{style:{display:"flex",alignItems:"baseline",gap:14},children:[(0,a.jsx)("span",{style:{fontFamily:E,fontSize:10,color:C,letterSpacing:"0.14em"},children:"\xa7 BROADCAST"}),(0,a.jsxs)("span",{style:{fontFamily:B,fontSize:22,fontWeight:500,color:"var(--ink)",letterSpacing:"-0.01em"},children:[Object.values(eP).filter(Boolean).length,"/",K.length," responded"]})]}),(0,a.jsx)("button",{onClick:()=>{eN(!1),eO(!1)},style:{fontFamily:E,fontSize:10,letterSpacing:"0.08em",padding:"5px 10px",border:"1px solid ".concat(T),background:"transparent",color:"var(--ink-5)",borderRadius:3,cursor:"pointer"},children:"CLOSE"})]}),(0,a.jsx)("div",{style:{flex:1,overflowX:"auto",overflowY:"hidden"},children:(0,a.jsx)("div",{style:{display:"flex",gap:12,padding:18,height:"100%"},children:[...K].sort((e,t)=>{var n,a,i,r;return(null!=(i=null==(n=eP[t])?void 0:n.length)?i:0)-(null!=(r=null==(a=eP[e])?void 0:a.length)?r:0)}).map(e=>{var t,n,i,l,o;let s=null!=(i=eP[e])?i:"",d=s.length>0;return(0,a.jsxs)("div",{className:"animate-broadcast-slide",style:{width:360,flexShrink:0,background:"var(--paper-input)",border:"1px solid ".concat(d?"".concat(C,"66"):T),borderRadius:4,display:"flex",flexDirection:"column",overflow:"hidden"},children:[(0,a.jsxs)("div",{style:{padding:"10px 14px",borderBottom:"1px solid ".concat(F),display:"flex",alignItems:"center",gap:10,background:"var(--paper-2)",flexShrink:0},children:[(0,a.jsx)("span",{style:{fontFamily:E,fontWeight:700,fontSize:11,color:d?C:"var(--ink-5)",letterSpacing:"0.04em",width:28},children:null!=(l=null==(t=G[e])?void 0:t.code)?l:""}),(0,a.jsxs)("div",{style:{flex:1,minWidth:0},children:[(0,a.jsx)("div",{style:{fontSize:13,color:"var(--ink)",fontFamily:z,fontWeight:500,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:null!=(o=null==(n=G[e])?void 0:n.name)?o:e}),(0,a.jsx)("div",{style:{fontFamily:E,fontSize:9,color:"var(--ink-6)",letterSpacing:"0.08em"},children:d?"".concat(s.length," chars"):"waiting…"})]}),!d&&(0,a.jsx)("span",{style:{display:"flex",gap:3,alignItems:"center"},children:[0,1,2].map(e=>(0,a.jsx)("span",{className:"typing-dot",style:{width:4,height:4,borderRadius:"50%",background:C,display:"inline-block"}},e))})]}),(0,a.jsx)("div",{className:"prose-agent",style:{flex:1,padding:"12px 14px",fontSize:12,overflowY:"auto"},children:s?(0,a.jsx)(r.oz,{children:s}):(0,a.jsx)("span",{style:{color:"var(--ink-7)"},children:"waiting…"})})]},e)})})})]}):(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"12px 20px",borderBottom:"1px solid ".concat(T),flexShrink:0},children:[(0,a.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:12,fontFamily:E,minWidth:0,flex:1},children:[(0,a.jsx)("span",{style:{fontSize:10,color:C,letterSpacing:"0.1em",flexShrink:0},children:A[ee]}),(0,a.jsx)("span",{style:{fontSize:12,fontWeight:700,color:"var(--ink)",letterSpacing:"0.06em",flexShrink:0},children:null!=(W=null==(e=G[ee])?void 0:e.code)?W:""}),(0,a.jsxs)("span",{"data-mobile-hide":!0,style:{fontSize:13,color:"var(--ink-4)",fontFamily:z,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:["/ ",t8.name," AB"]})]}),(0,a.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,flexShrink:0},children:[(0,a.jsx)("span",{"data-mobile-hide":!0,style:{display:"inline-flex"},children:(0,a.jsx)(et,{value:t9,options:eg.length>0?eg:t8.availableModels,onChange:e=>ec(t=>({...t,[ee]:e}))})}),e1.showContext&&(0,a.jsx)("span",{"data-mobile-hide":!0,style:{display:"inline-flex"},children:(0,a.jsx)(Z,{label:"CONTEXT",active:tx,onClick:()=>ty(e=>!e)})}),e1.showExport&&(0,a.jsx)("span",{"data-mobile-hide":!0,style:{display:"inline-flex"},children:(0,a.jsx)(Q,{disabled:0===t3.length,onExport:nl})}),e1.showAddAgent&&(0,a.jsxs)("span",{"data-mobile-hide":!0,"data-extra-pane-adder":!0,style:{display:"inline-flex",position:"relative"},children:[(0,a.jsx)(Z,{label:"+ AGENT",onClick:()=>e_(e=>!e)}),eV&&(0,a.jsxs)("div",{style:{position:"absolute",top:"100%",right:0,marginTop:6,background:"var(--paper-3)",border:"1px solid ".concat(T),borderRadius:4,boxShadow:"0 8px 32px rgba(0,0,0,0.4)",zIndex:100,minWidth:220,maxHeight:360,overflowY:"auto"},children:[(0,a.jsx)("div",{style:{padding:"8px 10px",borderBottom:"1px solid ".concat(T),fontFamily:E,fontSize:9,color:"var(--ink-5)",letterSpacing:"0.16em"},children:"OPEN PARALLEL PANE"}),K.filter(e=>e!==ee&&!eY.includes(e)).map(e=>{var t,n;let i=l[e];return(0,a.jsxs)("button",{onClick:()=>{eK(t=>[...t,e]),e_(!1)},style:{display:"block",width:"100%",textAlign:"left",padding:"8px 12px",border:"none",background:"transparent",cursor:"pointer",fontFamily:z,fontSize:12,color:"var(--ink)",borderBottom:"1px dashed ".concat(T)},onMouseEnter:e=>{e.currentTarget.style.background="var(--paper-2)"},onMouseLeave:e=>{e.currentTarget.style.background="transparent"},children:[(0,a.jsx)("span",{style:{fontFamily:E,fontSize:9,color:C,letterSpacing:"0.1em",marginRight:6},children:null!=(n=null==(t=G[e])?void 0:t.code)?n:""}),i.name]},e)}),0===K.filter(e=>e!==ee&&!eY.includes(e)).length&&(0,a.jsx)("div",{style:{padding:"10px 12px",fontSize:11,color:"var(--ink-5)",fontStyle:"italic"},children:"All agents already open."})]})]}),e1.showSaveAsWorkflow&&(0,a.jsx)("span",{"data-mobile-hide":!0,style:{display:"inline-flex"},children:(0,a.jsx)(Z,{label:"SAVE AS WORKFLOW",disabled:0===t3.filter(e=>"user"===e.role).length,onClick:()=>{let e=[...t3].reverse().find(e=>"user"===e.role);if(!e)return void t$.error("Need at least one of your messages.");tJ({name:e.content.slice(0,60),description:"Saved from a ".concat(t8.name," chat thread."),promptTemplate:e.content})}})}),e1.showClear&&(0,a.jsx)("span",{"data-mobile-hide":!0,style:{display:"inline-flex"},children:(0,a.jsx)(Z,{label:"CLEAR",disabled:0===t3.length,onClick:nr})}),(0,a.jsx)("button",{onClick:()=>e8(!1),style:{background:"none",border:"none",cursor:"pointer",color:"var(--ink-5)",fontSize:18,lineHeight:1,padding:"0 2px",fontFamily:E,transition:"color 0.15s"},onMouseEnter:e=>{e.currentTarget.style.color="var(--ink)"},onMouseLeave:e=>{e.currentTarget.style.color="var(--ink-5)"},children:"\xd7"})]})]}),(0,a.jsx)("div",{ref:t2,style:{flex:1,overflowY:"auto",minHeight:0},children:(0,a.jsx)("div",{style:{maxWidth:720,margin:"0 auto",padding:"20px 24px",display:"flex",flexDirection:"column",gap:16},children:tC?(0,a.jsxs)("div",{style:{display:"flex",gap:12,alignItems:"flex-start"},children:[(0,a.jsx)("div",{style:{width:24,height:24,borderRadius:2,background:"var(--paper-input)",border:"1px solid ".concat(T),display:"flex",alignItems:"center",justifyContent:"center",flexShrink:0},children:(0,a.jsx)("span",{style:{fontFamily:E,fontSize:7,color:C,fontWeight:700},children:null!=(O=null==(t=G[ee])?void 0:t.code)?O:""})}),(0,a.jsx)("div",{style:{padding:"10px 14px",background:"var(--paper-input)",borderRadius:"0 4px 4px 4px",border:"1px solid ".concat(T)},children:(0,a.jsx)("div",{style:{display:"flex",gap:4,alignItems:"center",height:14},children:[0,1,2].map(e=>(0,a.jsx)("span",{className:"typing-dot",style:{width:5,height:5,borderRadius:"50%",background:T,display:"inline-block"}},e))})})]}):0===t3.length?(0,a.jsx)(en,{agentName:t8.name,agentCode:null!=(P=null==(n=G[ee])?void 0:n.code)?P:"",agentSection:A[ee],tagline:t8.tagline,onChipClick:e=>{var t;ek(e),null==(t=t4.current)||t.focus()},customQuickStart:null==U||null==(d=U.customer)||null==(s=d.quickstartByAgent)?void 0:s[ee]}):(0,a.jsxs)(a.Fragment,{children:[t3.map((e,t)=>{var n,i;return eS&&t===t3.length-1&&"assistant"===e.role&&""===e.content?null:(0,a.jsx)(er,{message:e,agentCode:null!=(i=null==(n=G[ee])?void 0:n.code)?i:"",onRunTemplate:(e,t)=>{try{localStorage.setItem("leedab-pending-template",e),localStorage.setItem("leedab-pending-template-context",t)}catch(e){}tt("workflows")},conversationContext:t3.slice(-4).map(e=>e.content).join("\n\n")},e.id)}),eS&&(null==(c=t3[t3.length-1])?void 0:c.content)===""&&(0,a.jsxs)("div",{style:{display:"flex",gap:12,alignItems:"flex-start"},children:[(0,a.jsx)("div",{style:{width:24,height:24,borderRadius:2,background:"var(--paper-input)",border:"1px solid ".concat(T),display:"flex",alignItems:"center",justifyContent:"center",flexShrink:0},children:(0,a.jsx)("span",{style:{fontFamily:E,fontSize:7,color:C,fontWeight:700},children:null!=(H=null==(u=G[ee])?void 0:u.code)?H:""})}),(0,a.jsx)("div",{style:{padding:"10px 14px",background:"var(--paper-input)",borderRadius:"0 4px 4px 4px",border:"1px solid ".concat(T)},children:tT?(0,a.jsxs)("span",{style:{fontFamily:E,fontSize:10,color:"var(--ink-5)",letterSpacing:"0.06em"},children:["⟳ ",tT.replace(/_/g," "),"…"]}):(0,a.jsx)("div",{style:{display:"flex",gap:4,alignItems:"center",height:14},children:[0,1,2].map(e=>(0,a.jsx)("span",{className:"typing-dot",style:{width:5,height:5,borderRadius:"50%",background:C,display:"inline-block"}},e))})})]})]})})})]}),(0,a.jsxs)("div",{onDragEnter:e=>{e.preventDefault(),tL(!0)},onDragOver:e=>{e.preventDefault(),tL(!0)},onDragLeave:e=>{e.currentTarget===e.target&&tL(!1)},onDrop:e=>{var t;e.preventDefault(),tL(!1),(null==(t=e.dataTransfer.files)?void 0:t.length)&&t0(e.dataTransfer.files)},style:{padding:"12px 20px",borderTop:"1px solid ".concat(T),flexShrink:0,position:"relative"},children:[tO&&(0,a.jsx)("div",{style:{position:"absolute",inset:0,background:"".concat(C,"22"),border:"2px dashed ".concat(C),display:"flex",alignItems:"center",justifyContent:"center",fontFamily:E,fontSize:12,color:C,letterSpacing:"0.12em",pointerEvents:"none",zIndex:10},children:"DROP TO ATTACH"}),tI.length>0&&(0,a.jsxs)("div",{style:{display:"flex",flexWrap:"wrap",gap:6,marginBottom:8},children:[tI.map(e=>{let t=e.mimeType.startsWith("image/");return(0,a.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6,padding:"4px 8px",background:S,border:"1px solid ".concat(T),borderRadius:3,fontFamily:E,fontSize:10,color:"var(--ink-3)"},children:[t?(0,a.jsx)("img",{src:"/api/uploads/".concat(e.id),alt:"",style:{width:18,height:18,objectFit:"cover",borderRadius:2}}):(0,a.jsx)("span",{style:{fontSize:11},children:"\uD83D\uDCC4"}),(0,a.jsx)("span",{style:{maxWidth:180,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e.name}),(0,a.jsx)("button",{onClick:()=>t1(e.id),"aria-label":"remove",style:{background:"none",border:"none",color:"var(--ink-5)",cursor:"pointer",fontSize:13,lineHeight:1,padding:0},children:"\xd7"})]},e.id)}),tD&&(0,a.jsx)("div",{style:{fontSize:10,color:"var(--ink-5)",fontFamily:E,alignSelf:"center"},children:"uploading…"})]}),eU.length>0&&(0,a.jsxs)("div",{style:{marginBottom:10,padding:"10px 14px",background:"rgba(154,163,122,0.10)",border:"1px solid #9aa37a",borderRadius:6,display:"flex",justifyContent:"space-between",alignItems:"center",fontFamily:E,fontSize:11,color:"#5d6a44",letterSpacing:"0.04em"},children:[(0,a.jsxs)("span",{children:["● BROADCASTING TO ",eU.length," AGENTS:"," ",(0,a.jsx)("span",{style:{color:"var(--ink-2)"},children:eU.map(e=>{var t,n;return null!=(n=null==(t=l[e])?void 0:t.name)?n:e}).join(" \xb7 ")})]}),(0,a.jsx)("button",{onClick:()=>eq([]),style:{background:"transparent",border:"1px solid #9aa37a",color:"#5d6a44",borderRadius:3,padding:"3px 10px",fontFamily:"inherit",fontSize:10,letterSpacing:"0.1em",cursor:"pointer"},title:"Clear broadcast selection",children:"CLEAR"})]}),(0,a.jsx)(el,{ref:t4,value:ev,onChange:ek,onSubmit:ni,onVoice:no,onBroadcast:()=>eO(e=>!e),onAttach:t0,hasAttachments:tI.length>0,disabled:eS,isListening:eT,broadcastMode:eW||eU.length>0,agentName:t8.name}),(0,a.jsxs)("div",{style:{marginTop:8,display:"flex",justifyContent:"space-between",fontFamily:E,fontSize:10,color:"var(--ink-6)",letterSpacing:"0.08em"},children:[(0,a.jsxs)("span",{children:["ENTER TO SEND \xb7 ESC TO CLOSE \xb7 ⌘L SEARCH \xb7 ⌘-CLICK ORB FOR MULTI \xb7 DROP FILES",eT&&(0,a.jsx)("span",{style:{color:"#ef4444",marginLeft:8},children:"● REC"}),eW&&(0,a.jsx)("span",{style:{color:C,marginLeft:8},children:"● BROADCAST-ALL"}),!eW&&eU.length>0&&(0,a.jsxs)("span",{style:{color:"#5d6a44",marginLeft:8},children:["● MULTI (",eU.length,")"]})]}),(0,a.jsx)("span",{children:t9.replace("claude-","").replace("-20251001","").toUpperCase()})]})]})]}):"orb"===tB?(0,a.jsx)(eh,{selectedAgent:ee,chatOpen:e4,conversations:ei,onSelectAgent:na,broadcastTargets:eU,onOpenMarketplace:()=>eu(!0)}):(0,a.jsx)(ey,{agents:G,agentOrder:K,onSelectAgent:e=>na(e)})}),eY.map((e,t)=>{var n,i,r,o,s;let d=l[e];if(!d)return null;let c=t+1;return(0,a.jsxs)("div",{style:{display:"contents"},children:[(0,a.jsx)(eI,{index:c-1,weights:e$,onResize:eQ,containerWidth:window.innerWidth}),(0,a.jsx)("div",{className:"animate-fade-up",style:{flex:null!=(r=e$[c])?r:1,minWidth:280,borderRadius:4,border:"1px solid ".concat(T),background:"var(--paper-3)",display:"flex",flexDirection:"column",overflow:"hidden",minHeight:0},children:(0,a.jsx)(eD,{fallbackLabel:"".concat(d.name," pane"),onReset:()=>eK(t=>t.filter(t=>t!==e)),children:(0,a.jsx)(eA,{agentId:e,agent:d,agentCode:null!=(o=null==(n=G[e])?void 0:n.code)?o:"",agentSection:A[e],messages:null!=(s=ei[e])?s:[],modelOverride:ed[e],onModelChange:t=>ec(n=>({...n,[e]:t})),onMessagesUpdate:t=>es(n=>({...n,[e]:t})),onClose:()=>eK(t=>t.filter(t=>t!==e)),clientId:null==U||null==(i=U.customer)?void 0:i.clientId,modelOptions:eg,openclawDefaultModel:ef})})})]},"pane-".concat(e))})]})]},"agents-loaded")]})]})}},7659:(e,t,n)=>{Promise.resolve().then(n.bind(n,5086))}},e=>{e.O(0,[3395,8441,1255,7358],()=>e(e.s=7659)),_N_E=e.O()}]);
|