constella 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.next/BUILD_ID +1 -0
- package/.next/app-path-routes-manifest.json +53 -0
- package/.next/build-manifest.json +20 -0
- package/.next/diagnostics/build-diagnostics.json +6 -0
- package/.next/diagnostics/framework.json +1 -0
- package/.next/export-marker.json +6 -0
- package/.next/images-manifest.json +68 -0
- package/.next/next-minimal-server.js.nft.json +1 -0
- package/.next/next-server.js.nft.json +1 -0
- package/.next/package.json +1 -0
- package/.next/prerender-manifest.json +36 -0
- package/.next/react-loadable-manifest.json +14 -0
- package/.next/required-server-files.js +343 -0
- package/.next/required-server-files.json +343 -0
- package/.next/routes-manifest.json +362 -0
- package/.next/server/app/(app)/activity/page.js +2 -0
- package/.next/server/app/(app)/activity/page.js.nft.json +1 -0
- package/.next/server/app/(app)/activity/page_client-reference-manifest.js +1 -0
- package/.next/server/app/(app)/agents/[handle]/page.js +18 -0
- package/.next/server/app/(app)/agents/[handle]/page.js.nft.json +1 -0
- package/.next/server/app/(app)/agents/[handle]/page_client-reference-manifest.js +1 -0
- package/.next/server/app/(app)/code/page.js +2 -0
- package/.next/server/app/(app)/code/page.js.nft.json +1 -0
- package/.next/server/app/(app)/code/page_client-reference-manifest.js +1 -0
- package/.next/server/app/(app)/config/page.js +2 -0
- package/.next/server/app/(app)/config/page.js.nft.json +1 -0
- package/.next/server/app/(app)/config/page_client-reference-manifest.js +1 -0
- package/.next/server/app/(app)/costs/page.js +2 -0
- package/.next/server/app/(app)/costs/page.js.nft.json +1 -0
- package/.next/server/app/(app)/costs/page_client-reference-manifest.js +1 -0
- package/.next/server/app/(app)/cron/page.js +2 -0
- package/.next/server/app/(app)/cron/page.js.nft.json +1 -0
- package/.next/server/app/(app)/cron/page_client-reference-manifest.js +1 -0
- package/.next/server/app/(app)/dashboard/page.js +2 -0
- package/.next/server/app/(app)/dashboard/page.js.nft.json +1 -0
- package/.next/server/app/(app)/dashboard/page_client-reference-manifest.js +1 -0
- package/.next/server/app/(app)/docs/[id]/page.js +2 -0
- package/.next/server/app/(app)/docs/[id]/page.js.nft.json +1 -0
- package/.next/server/app/(app)/docs/[id]/page_client-reference-manifest.js +1 -0
- package/.next/server/app/(app)/docs/page.js +2 -0
- package/.next/server/app/(app)/docs/page.js.nft.json +1 -0
- package/.next/server/app/(app)/docs/page_client-reference-manifest.js +1 -0
- package/.next/server/app/(app)/github/page.js +2 -0
- package/.next/server/app/(app)/github/page.js.nft.json +1 -0
- package/.next/server/app/(app)/github/page_client-reference-manifest.js +1 -0
- package/.next/server/app/(app)/goals/page.js +2 -0
- package/.next/server/app/(app)/goals/page.js.nft.json +1 -0
- package/.next/server/app/(app)/goals/page_client-reference-manifest.js +1 -0
- package/.next/server/app/(app)/inbox/page.js +2 -0
- package/.next/server/app/(app)/inbox/page.js.nft.json +1 -0
- package/.next/server/app/(app)/inbox/page_client-reference-manifest.js +1 -0
- package/.next/server/app/(app)/knowledge/page.js +3 -0
- package/.next/server/app/(app)/knowledge/page.js.nft.json +1 -0
- package/.next/server/app/(app)/knowledge/page_client-reference-manifest.js +1 -0
- package/.next/server/app/(app)/models/page.js +2 -0
- package/.next/server/app/(app)/models/page.js.nft.json +1 -0
- package/.next/server/app/(app)/models/page_client-reference-manifest.js +1 -0
- package/.next/server/app/(app)/notifications/page.js +2 -0
- package/.next/server/app/(app)/notifications/page.js.nft.json +1 -0
- package/.next/server/app/(app)/notifications/page_client-reference-manifest.js +1 -0
- package/.next/server/app/(app)/org/page.js +2 -0
- package/.next/server/app/(app)/org/page.js.nft.json +1 -0
- package/.next/server/app/(app)/org/page_client-reference-manifest.js +1 -0
- package/.next/server/app/(app)/organizations/page.js +2 -0
- package/.next/server/app/(app)/organizations/page.js.nft.json +1 -0
- package/.next/server/app/(app)/organizations/page_client-reference-manifest.js +1 -0
- package/.next/server/app/(app)/page.js +3 -0
- package/.next/server/app/(app)/page.js.nft.json +1 -0
- package/.next/server/app/(app)/page_client-reference-manifest.js +1 -0
- package/.next/server/app/(app)/planner/page.js +2 -0
- package/.next/server/app/(app)/planner/page.js.nft.json +1 -0
- package/.next/server/app/(app)/planner/page_client-reference-manifest.js +1 -0
- package/.next/server/app/(app)/plugins/page.js +2 -0
- package/.next/server/app/(app)/plugins/page.js.nft.json +1 -0
- package/.next/server/app/(app)/plugins/page_client-reference-manifest.js +1 -0
- package/.next/server/app/(app)/pm/page.js +2 -0
- package/.next/server/app/(app)/pm/page.js.nft.json +1 -0
- package/.next/server/app/(app)/pm/page_client-reference-manifest.js +1 -0
- package/.next/server/app/(app)/prepare-deploy/page.js +19 -0
- package/.next/server/app/(app)/prepare-deploy/page.js.nft.json +1 -0
- package/.next/server/app/(app)/prepare-deploy/page_client-reference-manifest.js +1 -0
- package/.next/server/app/(app)/profile/page.js +2 -0
- package/.next/server/app/(app)/profile/page.js.nft.json +1 -0
- package/.next/server/app/(app)/profile/page_client-reference-manifest.js +1 -0
- package/.next/server/app/(app)/pulse/page.js +2 -0
- package/.next/server/app/(app)/pulse/page.js.nft.json +1 -0
- package/.next/server/app/(app)/pulse/page_client-reference-manifest.js +1 -0
- package/.next/server/app/(app)/reports/[id]/page.js +3 -0
- package/.next/server/app/(app)/reports/[id]/page.js.nft.json +1 -0
- package/.next/server/app/(app)/reports/[id]/page_client-reference-manifest.js +1 -0
- package/.next/server/app/(app)/reports/page.js +5 -0
- package/.next/server/app/(app)/reports/page.js.nft.json +1 -0
- package/.next/server/app/(app)/reports/page_client-reference-manifest.js +1 -0
- package/.next/server/app/(app)/routines/page.js +2 -0
- package/.next/server/app/(app)/routines/page.js.nft.json +1 -0
- package/.next/server/app/(app)/routines/page_client-reference-manifest.js +1 -0
- package/.next/server/app/(app)/search/page.js +2 -0
- package/.next/server/app/(app)/search/page.js.nft.json +1 -0
- package/.next/server/app/(app)/search/page_client-reference-manifest.js +1 -0
- package/.next/server/app/(app)/security/page.js +2 -0
- package/.next/server/app/(app)/security/page.js.nft.json +1 -0
- package/.next/server/app/(app)/security/page_client-reference-manifest.js +1 -0
- package/.next/server/app/(app)/skills/page.js +18 -0
- package/.next/server/app/(app)/skills/page.js.nft.json +1 -0
- package/.next/server/app/(app)/skills/page_client-reference-manifest.js +1 -0
- package/.next/server/app/(app)/tasks/page.js +2 -0
- package/.next/server/app/(app)/tasks/page.js.nft.json +1 -0
- package/.next/server/app/(app)/tasks/page_client-reference-manifest.js +1 -0
- package/.next/server/app/(app)/test-dev/page.js +2 -0
- package/.next/server/app/(app)/test-dev/page.js.nft.json +1 -0
- package/.next/server/app/(app)/test-dev/page_client-reference-manifest.js +1 -0
- package/.next/server/app/(app)/update/page.js +2 -0
- package/.next/server/app/(app)/update/page.js.nft.json +1 -0
- package/.next/server/app/(app)/update/page_client-reference-manifest.js +1 -0
- package/.next/server/app/(auth)/login/page.js +2 -0
- package/.next/server/app/(auth)/login/page.js.nft.json +1 -0
- package/.next/server/app/(auth)/login/page_client-reference-manifest.js +1 -0
- package/.next/server/app/(auth)/onboarding/page.js +18 -0
- package/.next/server/app/(auth)/onboarding/page.js.nft.json +1 -0
- package/.next/server/app/(auth)/onboarding/page_client-reference-manifest.js +1 -0
- package/.next/server/app/_global-error/page.js +32 -0
- package/.next/server/app/_global-error/page.js.nft.json +1 -0
- package/.next/server/app/_global-error/page_client-reference-manifest.js +1 -0
- package/.next/server/app/_global-error.html +1 -0
- package/.next/server/app/_global-error.meta +16 -0
- package/.next/server/app/_global-error.rsc +15 -0
- package/.next/server/app/_global-error.segments/_full.segment.rsc +15 -0
- package/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +5 -0
- package/.next/server/app/_global-error.segments/_global-error.segment.rsc +5 -0
- package/.next/server/app/_global-error.segments/_head.segment.rsc +5 -0
- package/.next/server/app/_global-error.segments/_index.segment.rsc +6 -0
- package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -0
- package/.next/server/app/_not-found/page.js +2 -0
- package/.next/server/app/_not-found/page.js.nft.json +1 -0
- package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -0
- package/.next/server/app/api/auth/[...all]/route.js +1 -0
- package/.next/server/app/api/auth/[...all]/route.js.nft.json +1 -0
- package/.next/server/app/api/auth/[...all]/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/cron/tick/route.js +52 -0
- package/.next/server/app/api/cron/tick/route.js.nft.json +1 -0
- package/.next/server/app/api/cron/tick/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/dev-login/route.js +1 -0
- package/.next/server/app/api/dev-login/route.js.nft.json +1 -0
- package/.next/server/app/api/dev-login/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/locks/acquire/route.js +1 -0
- package/.next/server/app/api/locks/acquire/route.js.nft.json +1 -0
- package/.next/server/app/api/locks/acquire/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/models/progress/route.js +1 -0
- package/.next/server/app/api/models/progress/route.js.nft.json +1 -0
- package/.next/server/app/api/models/progress/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/passkey/authenticate/options/route.js +1 -0
- package/.next/server/app/api/passkey/authenticate/options/route.js.nft.json +1 -0
- package/.next/server/app/api/passkey/authenticate/options/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/passkey/authenticate/verify/route.js +1 -0
- package/.next/server/app/api/passkey/authenticate/verify/route.js.nft.json +1 -0
- package/.next/server/app/api/passkey/authenticate/verify/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/passkey/register/options/route.js +1 -0
- package/.next/server/app/api/passkey/register/options/route.js.nft.json +1 -0
- package/.next/server/app/api/passkey/register/options/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/passkey/register/verify/route.js +1 -0
- package/.next/server/app/api/passkey/register/verify/route.js.nft.json +1 -0
- package/.next/server/app/api/passkey/register/verify/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/stream/route.js +4 -0
- package/.next/server/app/api/stream/route.js.nft.json +1 -0
- package/.next/server/app/api/stream/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/sync/file/route.js +2 -0
- package/.next/server/app/api/sync/file/route.js.nft.json +1 -0
- package/.next/server/app/api/sync/file/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/telegram/poll/route.js +15 -0
- package/.next/server/app/api/telegram/poll/route.js.nft.json +1 -0
- package/.next/server/app/api/telegram/poll/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/upload/route.js +1 -0
- package/.next/server/app/api/upload/route.js.nft.json +1 -0
- package/.next/server/app/api/upload/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/v1/[[...path]]/route.js +1 -0
- package/.next/server/app/api/v1/[[...path]]/route.js.nft.json +1 -0
- package/.next/server/app/api/v1/[[...path]]/route_client-reference-manifest.js +1 -0
- package/.next/server/app-paths-manifest.json +53 -0
- package/.next/server/chunks/1003.js +1 -0
- package/.next/server/chunks/127.js +26 -0
- package/.next/server/chunks/1388.js +1 -0
- package/.next/server/chunks/1408.js +21 -0
- package/.next/server/chunks/1572.js +1 -0
- package/.next/server/chunks/1591.js +24 -0
- package/.next/server/chunks/1619.js +188 -0
- package/.next/server/chunks/162.js +1 -0
- package/.next/server/chunks/1881.js +1 -0
- package/.next/server/chunks/1968.js +1 -0
- package/.next/server/chunks/2297.js +348 -0
- package/.next/server/chunks/2341.js +1 -0
- package/.next/server/chunks/2517.js +1 -0
- package/.next/server/chunks/2549.js +1 -0
- package/.next/server/chunks/259.js +14 -0
- package/.next/server/chunks/2599.js +1 -0
- package/.next/server/chunks/260.js +1 -0
- package/.next/server/chunks/2867.js +147 -0
- package/.next/server/chunks/3018.js +1 -0
- package/.next/server/chunks/3050.js +18 -0
- package/.next/server/chunks/3085.js +12 -0
- package/.next/server/chunks/3131.js +1 -0
- package/.next/server/chunks/3242.js +1 -0
- package/.next/server/chunks/3266.js +15 -0
- package/.next/server/chunks/3524.js +1 -0
- package/.next/server/chunks/3527.js +479 -0
- package/.next/server/chunks/3533.js +869 -0
- package/.next/server/chunks/3550.js +1 -0
- package/.next/server/chunks/3609.js +2 -0
- package/.next/server/chunks/3667.js +462 -0
- package/.next/server/chunks/3760.js +4 -0
- package/.next/server/chunks/4679.js +1 -0
- package/.next/server/chunks/4804.js +1 -0
- package/.next/server/chunks/4832.js +2 -0
- package/.next/server/chunks/4853.js +1 -0
- package/.next/server/chunks/4979.js +67 -0
- package/.next/server/chunks/5060.js +1 -0
- package/.next/server/chunks/5278.js +1 -0
- package/.next/server/chunks/5614.js +1 -0
- package/.next/server/chunks/5818.js +1 -0
- package/.next/server/chunks/6479.js +1 -0
- package/.next/server/chunks/6658.js +1 -0
- package/.next/server/chunks/6706.js +1 -0
- package/.next/server/chunks/6719.js +1 -0
- package/.next/server/chunks/678.js +1 -0
- package/.next/server/chunks/683.js +1 -0
- package/.next/server/chunks/6862.js +1 -0
- package/.next/server/chunks/6882.js +1 -0
- package/.next/server/chunks/7037.js +1 -0
- package/.next/server/chunks/7107.js +741 -0
- package/.next/server/chunks/73.js +17 -0
- package/.next/server/chunks/7327.js +1 -0
- package/.next/server/chunks/7514.js +1 -0
- package/.next/server/chunks/7622.js +1 -0
- package/.next/server/chunks/7778.js +1 -0
- package/.next/server/chunks/7912.js +1 -0
- package/.next/server/chunks/7949.js +1 -0
- package/.next/server/chunks/7971.js +1 -0
- package/.next/server/chunks/7989.js +1 -0
- package/.next/server/chunks/842.js +22 -0
- package/.next/server/chunks/8762.js +15 -0
- package/.next/server/chunks/8823.js +77 -0
- package/.next/server/chunks/9146.js +4 -0
- package/.next/server/chunks/9676.js +1 -0
- package/.next/server/chunks/9783.js +22 -0
- package/.next/server/chunks/9969.js +3 -0
- package/.next/server/functions-config-manifest.json +18 -0
- package/.next/server/instrumentation.js +1 -0
- package/.next/server/instrumentation.js.nft.json +1 -0
- package/.next/server/interception-route-rewrite-manifest.js +1 -0
- package/.next/server/middleware-build-manifest.js +1 -0
- package/.next/server/middleware-manifest.json +6 -0
- package/.next/server/middleware-react-loadable-manifest.js +1 -0
- package/.next/server/middleware.js +18 -0
- package/.next/server/middleware.js.nft.json +1 -0
- package/.next/server/next-font-manifest.js +1 -0
- package/.next/server/next-font-manifest.json +1 -0
- package/.next/server/pages/500.html +1 -0
- package/.next/server/pages-manifest.json +3 -0
- package/.next/server/prefetch-hints.json +1 -0
- package/.next/server/server-reference-manifest.js +1 -0
- package/.next/server/server-reference-manifest.json +1 -0
- package/.next/server/webpack-runtime.js +1 -0
- package/.next/static/chunks/1858-339516f78a4b00da.js +1 -0
- package/.next/static/chunks/2320-fc8b39380e69d465.js +2 -0
- package/.next/static/chunks/23550918-ff694f70f4b0648c.js +1 -0
- package/.next/static/chunks/3219-ebb3c23be38c838d.js +1 -0
- package/.next/static/chunks/4263-adecb5b466380b6e.js +1 -0
- package/.next/static/chunks/5479-0cceab68cd0ca9c7.js +1 -0
- package/.next/static/chunks/5701-665b927b06158b76.js +1 -0
- package/.next/static/chunks/5920.6451a68b63918988.js +1 -0
- package/.next/static/chunks/6575-5c9139720bb0f5bf.js +4 -0
- package/.next/static/chunks/6834-4759af1ce7d95fb6.js +32 -0
- package/.next/static/chunks/7509.721cd47a931c5518.js +1 -0
- package/.next/static/chunks/8264-1ca011989ee2b231.js +1 -0
- package/.next/static/chunks/9219-4a39a98b5502d9d1.js +1 -0
- package/.next/static/chunks/9690-53d5222618cbeddb.js +1 -0
- package/.next/static/chunks/app/(app)/activity/page-3973534281ecea81.js +1 -0
- package/.next/static/chunks/app/(app)/agents/[handle]/page-83662a175c098282.js +1 -0
- package/.next/static/chunks/app/(app)/code/page-33979545192cd137.js +1 -0
- package/.next/static/chunks/app/(app)/config/page-9933aed1ca8a85c1.js +1 -0
- package/.next/static/chunks/app/(app)/costs/page-131c4dc580efcc19.js +1 -0
- package/.next/static/chunks/app/(app)/cron/page-53ea1aff998a87ca.js +1 -0
- package/.next/static/chunks/app/(app)/dashboard/page-deed83aaa9d0d447.js +1 -0
- package/.next/static/chunks/app/(app)/docs/[id]/page-38c993d73c0eab4f.js +1 -0
- package/.next/static/chunks/app/(app)/docs/page-bf463b55d0554e86.js +1 -0
- package/.next/static/chunks/app/(app)/error-988cd28480809861.js +1 -0
- package/.next/static/chunks/app/(app)/github/page-62678b4e82dfecb6.js +1 -0
- package/.next/static/chunks/app/(app)/goals/page-4adb426fe1c96106.js +1 -0
- package/.next/static/chunks/app/(app)/inbox/page-e347dc55ab467310.js +1 -0
- package/.next/static/chunks/app/(app)/knowledge/page-65393a045b4349be.js +1 -0
- package/.next/static/chunks/app/(app)/layout-7f65675705b011d8.js +1 -0
- package/.next/static/chunks/app/(app)/models/page-e01f1dd7e49a2951.js +1 -0
- package/.next/static/chunks/app/(app)/notifications/page-56548ac87aef00da.js +1 -0
- package/.next/static/chunks/app/(app)/org/page-699e6a6dc0db7d81.js +1 -0
- package/.next/static/chunks/app/(app)/organizations/page-36051a380a7e8eb7.js +1 -0
- package/.next/static/chunks/app/(app)/page-7d1011a566f81520.js +1 -0
- package/.next/static/chunks/app/(app)/planner/page-dab7ced94083373a.js +1 -0
- package/.next/static/chunks/app/(app)/plugins/page-5b5a1f53389be42e.js +1 -0
- package/.next/static/chunks/app/(app)/pm/page-0de5c08c0b227bb0.js +1 -0
- package/.next/static/chunks/app/(app)/prepare-deploy/page-e426038552df8d41.js +1 -0
- package/.next/static/chunks/app/(app)/profile/page-608dfcaf8aae0a69.js +1 -0
- package/.next/static/chunks/app/(app)/pulse/page-309ccaca91de1faa.js +1 -0
- package/.next/static/chunks/app/(app)/reports/[id]/page-53ea1aff998a87ca.js +1 -0
- package/.next/static/chunks/app/(app)/reports/page-68cdc6dcfa472d86.js +1 -0
- package/.next/static/chunks/app/(app)/routines/page-bcc55550b197a9fa.js +1 -0
- package/.next/static/chunks/app/(app)/search/page-5c5f67558d0dbf0d.js +1 -0
- package/.next/static/chunks/app/(app)/security/page-a7d41e36aa366b45.js +1 -0
- package/.next/static/chunks/app/(app)/skills/page-c5b21e89593b8336.js +1 -0
- package/.next/static/chunks/app/(app)/tasks/page-08ae079e3e54d2ce.js +1 -0
- package/.next/static/chunks/app/(app)/test-dev/page-633f82dfd9c3ce23.js +1 -0
- package/.next/static/chunks/app/(app)/update/page-4be019054351bfac.js +1 -0
- package/.next/static/chunks/app/(auth)/login/page-6e85d3377062acae.js +1 -0
- package/.next/static/chunks/app/(auth)/onboarding/page-ebb10c175abf3b85.js +1 -0
- package/.next/static/chunks/app/_global-error/page-23fe50a6bf589c97.js +1 -0
- package/.next/static/chunks/app/_not-found/page-dc38b02aebeab535.js +1 -0
- package/.next/static/chunks/app/api/auth/[...all]/route-23fe50a6bf589c97.js +1 -0
- package/.next/static/chunks/app/api/cron/tick/route-23fe50a6bf589c97.js +1 -0
- package/.next/static/chunks/app/api/dev-login/route-23fe50a6bf589c97.js +1 -0
- package/.next/static/chunks/app/api/locks/acquire/route-23fe50a6bf589c97.js +1 -0
- package/.next/static/chunks/app/api/models/progress/route-23fe50a6bf589c97.js +1 -0
- package/.next/static/chunks/app/api/passkey/authenticate/options/route-23fe50a6bf589c97.js +1 -0
- package/.next/static/chunks/app/api/passkey/authenticate/verify/route-23fe50a6bf589c97.js +1 -0
- package/.next/static/chunks/app/api/passkey/register/options/route-23fe50a6bf589c97.js +1 -0
- package/.next/static/chunks/app/api/passkey/register/verify/route-23fe50a6bf589c97.js +1 -0
- package/.next/static/chunks/app/api/stream/route-23fe50a6bf589c97.js +1 -0
- package/.next/static/chunks/app/api/sync/file/route-23fe50a6bf589c97.js +1 -0
- package/.next/static/chunks/app/api/telegram/poll/route-23fe50a6bf589c97.js +1 -0
- package/.next/static/chunks/app/api/upload/route-23fe50a6bf589c97.js +1 -0
- package/.next/static/chunks/app/api/v1/[[...path]]/route-23fe50a6bf589c97.js +1 -0
- package/.next/static/chunks/app/error-09899a13c38b6e89.js +1 -0
- package/.next/static/chunks/app/global-error-b8050d4d886f448c.js +1 -0
- package/.next/static/chunks/app/layout-ab9deed1e7e2e9df.js +1 -0
- package/.next/static/chunks/framework-4b2c6b6043dd203f.js +1 -0
- package/.next/static/chunks/main-722e16032e7764d1.js +5 -0
- package/.next/static/chunks/main-app-761880af2b6f1962.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/app-error-23fe50a6bf589c97.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/forbidden-23fe50a6bf589c97.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/not-found-23fe50a6bf589c97.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-23fe50a6bf589c97.js +1 -0
- package/.next/static/chunks/polyfills-42372ed130431b0a.js +1 -0
- package/.next/static/chunks/webpack-222e3894b78c67db.js +1 -0
- package/.next/static/css/0a9b5805594444e3.css +1 -0
- package/.next/static/yztMvBwyrWWkSqP6jfXoa/_buildManifest.js +1 -0
- package/.next/static/yztMvBwyrWWkSqP6jfXoa/_ssgManifest.js +1 -0
- package/.next/trace-build +1 -0
- package/.next/types/app/(app)/activity/page.ts +87 -0
- package/.next/types/app/(app)/agents/[handle]/page.ts +87 -0
- package/.next/types/app/(app)/code/page.ts +87 -0
- package/.next/types/app/(app)/config/page.ts +87 -0
- package/.next/types/app/(app)/costs/page.ts +87 -0
- package/.next/types/app/(app)/cron/page.ts +87 -0
- package/.next/types/app/(app)/dashboard/page.ts +87 -0
- package/.next/types/app/(app)/docs/[id]/page.ts +87 -0
- package/.next/types/app/(app)/docs/page.ts +87 -0
- package/.next/types/app/(app)/github/page.ts +87 -0
- package/.next/types/app/(app)/goals/page.ts +87 -0
- package/.next/types/app/(app)/inbox/page.ts +87 -0
- package/.next/types/app/(app)/knowledge/page.ts +87 -0
- package/.next/types/app/(app)/models/page.ts +87 -0
- package/.next/types/app/(app)/notifications/page.ts +87 -0
- package/.next/types/app/(app)/org/page.ts +87 -0
- package/.next/types/app/(app)/organizations/page.ts +87 -0
- package/.next/types/app/(app)/page.ts +87 -0
- package/.next/types/app/(app)/planner/page.ts +87 -0
- package/.next/types/app/(app)/plugins/page.ts +87 -0
- package/.next/types/app/(app)/pm/page.ts +87 -0
- package/.next/types/app/(app)/prepare-deploy/page.ts +87 -0
- package/.next/types/app/(app)/profile/page.ts +87 -0
- package/.next/types/app/(app)/pulse/page.ts +87 -0
- package/.next/types/app/(app)/reports/[id]/page.ts +87 -0
- package/.next/types/app/(app)/reports/page.ts +87 -0
- package/.next/types/app/(app)/routines/page.ts +87 -0
- package/.next/types/app/(app)/search/page.ts +87 -0
- package/.next/types/app/(app)/security/page.ts +87 -0
- package/.next/types/app/(app)/skills/page.ts +87 -0
- package/.next/types/app/(app)/tasks/page.ts +87 -0
- package/.next/types/app/(app)/test-dev/page.ts +87 -0
- package/.next/types/app/(app)/update/page.ts +87 -0
- package/.next/types/app/(auth)/login/page.ts +87 -0
- package/.next/types/app/(auth)/onboarding/page.ts +87 -0
- package/.next/types/app/api/auth/[...all]/route.ts +351 -0
- package/.next/types/app/api/cron/tick/route.ts +351 -0
- package/.next/types/app/api/dev-login/route.ts +351 -0
- package/.next/types/app/api/locks/acquire/route.ts +351 -0
- package/.next/types/app/api/models/progress/route.ts +351 -0
- package/.next/types/app/api/passkey/authenticate/options/route.ts +351 -0
- package/.next/types/app/api/passkey/authenticate/verify/route.ts +351 -0
- package/.next/types/app/api/passkey/register/options/route.ts +351 -0
- package/.next/types/app/api/passkey/register/verify/route.ts +351 -0
- package/.next/types/app/api/stream/route.ts +351 -0
- package/.next/types/app/api/sync/file/route.ts +351 -0
- package/.next/types/app/api/telegram/poll/route.ts +351 -0
- package/.next/types/app/api/upload/route.ts +351 -0
- package/.next/types/app/api/v1/[[...path]]/route.ts +351 -0
- package/.next/types/cache-life.d.ts +145 -0
- package/.next/types/link.d.ts +210 -0
- package/.next/types/package.json +1 -0
- package/.next/types/routes.d.ts +120 -0
- package/.next/types/validator.ts +511 -0
- package/CHANGELOG.md +312 -0
- package/LICENSE +21 -0
- package/README.md +382 -0
- package/README.pt-BR.md +391 -0
- package/bin/constella.mjs +329 -0
- package/bin/guard-hook.mjs +44 -0
- package/bin/lock-hook.mjs +49 -0
- package/bin/worker.mjs +142 -0
- package/docs/assets/arch-orbit.svg +56 -0
- package/docs/assets/blackhole.svg +37 -0
- package/docs/assets/divider-orbit.svg +23 -0
- package/docs/assets/hero-constella.svg +72 -0
- package/docs/en/AGENTS.md +279 -0
- package/docs/en/AI_ARCHITECTURE.md +373 -0
- package/docs/en/ARCHITECTURE.md +334 -0
- package/docs/en/AUTH_MODE.md +247 -0
- package/docs/en/CHAT_COMMANDS.md +305 -0
- package/docs/en/CONFIGURATION.md +340 -0
- package/docs/en/DEPLOY.md +331 -0
- package/docs/en/DM.md +297 -0
- package/docs/en/FAQ.md +258 -0
- package/docs/en/GITHUB.md +341 -0
- package/docs/en/GOALS_SPECS_ISSUES.md +303 -0
- package/docs/en/INBOX.md +340 -0
- package/docs/en/INSTALLATION.md +329 -0
- package/docs/en/KB_AGENT.md +305 -0
- package/docs/en/KB_RAG.md +356 -0
- package/docs/en/MCP.md +313 -0
- package/docs/en/MEMORY_RAG.md +289 -0
- package/docs/en/MODELS.md +341 -0
- package/docs/en/ONBOARDING.md +327 -0
- package/docs/en/PLUGINS.md +290 -0
- package/docs/en/PORTABLE_MODE.md +387 -0
- package/docs/en/PO_AGENT.md +379 -0
- package/docs/en/PREPARE_DEPLOY.md +308 -0
- package/docs/en/PROJECT_STACKS.md +258 -0
- package/docs/en/PUBLIC_API.md +315 -0
- package/docs/en/PUBLISHING.md +343 -0
- package/docs/en/README.md +95 -0
- package/docs/en/SECURITY.md +280 -0
- package/docs/en/SKILLS.md +349 -0
- package/docs/en/START_MODE.md +340 -0
- package/docs/en/SYNCED_BLOCKS.md +320 -0
- package/docs/en/TEAM_ROOM.md +285 -0
- package/docs/en/TELEGRAM.md +294 -0
- package/docs/en/TEST_DEV.md +321 -0
- package/docs/en/TROUBLESHOOTING.md +294 -0
- package/docs/en/UPDATE.md +301 -0
- package/docs/en/VPS_MODE.md +334 -0
- package/docs/en/WORKFLOW.md +321 -0
- package/docs/pt/AGENTS.md +279 -0
- package/docs/pt/AI_ARCHITECTURE.md +373 -0
- package/docs/pt/ARCHITECTURE.md +334 -0
- package/docs/pt/AUTH_MODE.md +247 -0
- package/docs/pt/CHAT_COMMANDS.md +307 -0
- package/docs/pt/CONFIGURATION.md +340 -0
- package/docs/pt/DEPLOY.md +331 -0
- package/docs/pt/DM.md +297 -0
- package/docs/pt/FAQ.md +258 -0
- package/docs/pt/GITHUB.md +341 -0
- package/docs/pt/GOALS_SPECS_ISSUES.md +303 -0
- package/docs/pt/INBOX.md +340 -0
- package/docs/pt/INSTALLATION.md +329 -0
- package/docs/pt/KB_AGENT.md +305 -0
- package/docs/pt/KB_RAG.md +356 -0
- package/docs/pt/MCP.md +313 -0
- package/docs/pt/MEMORY_RAG.md +289 -0
- package/docs/pt/MODELS.md +341 -0
- package/docs/pt/ONBOARDING.md +327 -0
- package/docs/pt/PLUGINS.md +290 -0
- package/docs/pt/PORTABLE_MODE.md +387 -0
- package/docs/pt/PO_AGENT.md +379 -0
- package/docs/pt/PREPARE_DEPLOY.md +308 -0
- package/docs/pt/PROJECT_STACKS.md +258 -0
- package/docs/pt/PUBLIC_API.md +315 -0
- package/docs/pt/PUBLISHING.md +343 -0
- package/docs/pt/README.md +95 -0
- package/docs/pt/SECURITY.md +280 -0
- package/docs/pt/SKILLS.md +349 -0
- package/docs/pt/START_MODE.md +340 -0
- package/docs/pt/SYNCED_BLOCKS.md +320 -0
- package/docs/pt/TEAM_ROOM.md +285 -0
- package/docs/pt/TELEGRAM.md +294 -0
- package/docs/pt/TEST_DEV.md +321 -0
- package/docs/pt/TROUBLESHOOTING.md +294 -0
- package/docs/pt/UPDATE.md +301 -0
- package/docs/pt/VPS_MODE.md +334 -0
- package/docs/pt/WORKFLOW.md +321 -0
- package/drizzle/0000_regular_nightshade.sql +644 -0
- package/drizzle/0001_mixed_zombie.sql +106 -0
- package/drizzle/meta/0000_snapshot.json +4650 -0
- package/drizzle/meta/0001_snapshot.json +5418 -0
- package/drizzle/meta/_journal.json +20 -0
- package/drizzle.config.mjs +16 -0
- package/next.config.mjs +18 -0
- package/package.json +130 -0
- package/scripts/clean-repo.mjs +20 -0
- package/scripts/dev-all.mjs +46 -0
- package/scripts/i18n-parity.mjs +57 -0
- package/scripts/mcp-server.mjs +100 -0
- package/scripts/postbuild.mjs +11 -0
- package/scripts/publish-public.mjs +116 -0
- package/scripts/start-all.mjs +45 -0
- package/scripts/trim-next.mjs +23 -0
- package/scripts/vps-install.sh +39 -0
- package/skills/CONTRIBUTING.md +122 -0
- package/skills/COVERAGE.md +129 -0
- package/skills/INDEX.json +3443 -0
- package/skills/README.md +57 -0
- package/skills/design/animation-motion/SKILL.md +60 -0
- package/skills/design/color-and-typography/SKILL.md +60 -0
- package/skills/design/css-techniques/SKILL.md +58 -0
- package/skills/design/design-systems/SKILL.md +60 -0
- package/skills/design/gradients/SKILL.md +59 -0
- package/skills/design/graphic-design-basics/SKILL.md +55 -0
- package/skills/design/microinteractions/SKILL.md +58 -0
- package/skills/design/responsive-layout/SKILL.md +59 -0
- package/skills/design/ui-ux-principles/SKILL.md +58 -0
- package/skills/engineering/architecture/api-design-rest-graphql/SKILL.md +67 -0
- package/skills/engineering/architecture/caching-strategies/SKILL.md +59 -0
- package/skills/engineering/architecture/data-modeling/SKILL.md +64 -0
- package/skills/engineering/architecture/message-queues-async/SKILL.md +58 -0
- package/skills/engineering/architecture/scalability-reliability/SKILL.md +62 -0
- package/skills/engineering/architecture/software-architecture-patterns/SKILL.md +56 -0
- package/skills/engineering/architecture/system-design-fundamentals/SKILL.md +56 -0
- package/skills/engineering/backend/auth-and-authorization/SKILL.md +62 -0
- package/skills/engineering/backend/backend-fundamentals/SKILL.md +65 -0
- package/skills/engineering/backend/observability-logging/SKILL.md +60 -0
- package/skills/engineering/frontend/accessibility-wcag/SKILL.md +57 -0
- package/skills/engineering/frontend/frontend-architecture/SKILL.md +65 -0
- package/skills/engineering/frontend/rendering-strategies-ssr-csr/SKILL.md +60 -0
- package/skills/engineering/frontend/state-management/SKILL.md +69 -0
- package/skills/engineering/performance/backend-performance/SKILL.md +69 -0
- package/skills/engineering/performance/database-query-optimization/SKILL.md +64 -0
- package/skills/engineering/performance/profiling-and-benchmarking/SKILL.md +60 -0
- package/skills/engineering/performance/web-performance-core-vitals/SKILL.md +72 -0
- package/skills/engineering/practices/clean-code/SKILL.md +61 -0
- package/skills/engineering/practices/code-optimization/SKILL.md +60 -0
- package/skills/engineering/practices/code-review-practices/SKILL.md +58 -0
- package/skills/engineering/practices/git-workflow/SKILL.md +62 -0
- package/skills/engineering/practices/refactoring/SKILL.md +58 -0
- package/skills/engineering/security/appsec-fundamentals/SKILL.md +70 -0
- package/skills/engineering/security/dependency-supply-chain/SKILL.md +77 -0
- package/skills/engineering/security/owasp-asvs/SKILL.md +54 -0
- package/skills/engineering/security/owasp-top-10/SKILL.md +63 -0
- package/skills/engineering/security/secrets-management/SKILL.md +58 -0
- package/skills/engineering/security/secure-auth-sessions/SKILL.md +56 -0
- package/skills/engineering/testing/tdd-and-coverage/SKILL.md +62 -0
- package/skills/engineering/testing/testing-strategy-pyramid/SKILL.md +56 -0
- package/skills/engineering/testing/unit-integration-e2e/SKILL.md +75 -0
- package/skills/languages/c/SKILL.md +74 -0
- package/skills/languages/clojure/SKILL.md +73 -0
- package/skills/languages/cpp/SKILL.md +75 -0
- package/skills/languages/csharp/SKILL.md +75 -0
- package/skills/languages/dart/SKILL.md +82 -0
- package/skills/languages/elixir/SKILL.md +74 -0
- package/skills/languages/erlang/SKILL.md +76 -0
- package/skills/languages/go/SKILL.md +83 -0
- package/skills/languages/haskell/SKILL.md +70 -0
- package/skills/languages/java/SKILL.md +71 -0
- package/skills/languages/javascript/SKILL.md +62 -0
- package/skills/languages/kotlin/SKILL.md +68 -0
- package/skills/languages/lua/SKILL.md +79 -0
- package/skills/languages/objectivec/SKILL.md +83 -0
- package/skills/languages/php/SKILL.md +74 -0
- package/skills/languages/python/SKILL.md +68 -0
- package/skills/languages/r/SKILL.md +70 -0
- package/skills/languages/ruby/SKILL.md +67 -0
- package/skills/languages/rust/SKILL.md +72 -0
- package/skills/languages/scala/SKILL.md +73 -0
- package/skills/languages/swift/SKILL.md +73 -0
- package/skills/languages/typescript/SKILL.md +69 -0
- package/skills/meta/authoring-agent-skills/SKILL.md +73 -0
- package/skills/meta/progressive-disclosure/SKILL.md +65 -0
- package/skills/meta/skill-frontmatter-spec/SKILL.md +65 -0
- package/skills/process/adr-technical-decisions/SKILL.md +59 -0
- package/skills/process/app-planning/SKILL.md +63 -0
- package/skills/process/architecture-before-code/SKILL.md +52 -0
- package/skills/process/breaking-work-into-sprints/SKILL.md +53 -0
- package/skills/process/idea-to-product/SKILL.md +50 -0
- package/skills/process/mocks-and-screen-flows/SKILL.md +52 -0
- package/skills/process/prioritization-moscow-rice/SKILL.md +64 -0
- package/skills/process/problem-framing/SKILL.md +51 -0
- package/skills/process/product-discovery/SKILL.md +53 -0
- package/skills/process/readme-generation/SKILL.md +90 -0
- package/skills/process/requirements-to-specs/SKILL.md +53 -0
- package/skills/process/research-official-docs/SKILL.md +58 -0
- package/skills/process/review-code-perf-security/SKILL.md +65 -0
- package/skills/process/security-by-design/SKILL.md +68 -0
- package/skills/process/specs-to-issues/SKILL.md +53 -0
- package/skills/process/testing-before-done/SKILL.md +61 -0
- package/skills/process/validating-ux-navigation/SKILL.md +63 -0
- package/skills/references/ai-attachments-ui/SKILL.md +66 -0
- package/skills/references/ai-in-browser-webllm/SKILL.md +74 -0
- package/skills/references/ai-tool-ui-patterns/SKILL.md +63 -0
- package/skills/references/component-patterns-gallery/SKILL.md +62 -0
- package/skills/references/gradient-resources/SKILL.md +66 -0
- package/skills/references/react-component-libraries/SKILL.md +61 -0
- package/skills/references/saas-landing-patterns/SKILL.md +67 -0
- package/skills/references/shadcn-tailwind-theming/SKILL.md +74 -0
- package/skills/references/vercel-ai-sdk-elements/SKILL.md +66 -0
- package/skills/references/web-animation-codrops/SKILL.md +68 -0
- package/skills/stacks/aiml/jupyter/SKILL.md +68 -0
- package/skills/stacks/aiml/keras/SKILL.md +77 -0
- package/skills/stacks/aiml/numpy/SKILL.md +69 -0
- package/skills/stacks/aiml/pandas/SKILL.md +72 -0
- package/skills/stacks/aiml/pytorch/SKILL.md +77 -0
- package/skills/stacks/aiml/scikit-learn/SKILL.md +74 -0
- package/skills/stacks/aiml/tensorflow/SKILL.md +79 -0
- package/skills/stacks/auth/auth0/SKILL.md +63 -0
- package/skills/stacks/auth/authjs/SKILL.md +69 -0
- package/skills/stacks/auth/clerk/SKILL.md +72 -0
- package/skills/stacks/auth/keycloak/SKILL.md +63 -0
- package/skills/stacks/auth/lucia/SKILL.md +56 -0
- package/skills/stacks/auth/passport/SKILL.md +70 -0
- package/skills/stacks/auth/supabase-auth/SKILL.md +66 -0
- package/skills/stacks/baas/amplify/SKILL.md +71 -0
- package/skills/stacks/baas/appwrite/SKILL.md +79 -0
- package/skills/stacks/baas/firebase/SKILL.md +73 -0
- package/skills/stacks/baas/heroku/SKILL.md +71 -0
- package/skills/stacks/backend/actix/SKILL.md +77 -0
- package/skills/stacks/backend/adonisjs/SKILL.md +65 -0
- package/skills/stacks/backend/aspnet-core/SKILL.md +75 -0
- package/skills/stacks/backend/codeigniter/SKILL.md +76 -0
- package/skills/stacks/backend/django/SKILL.md +62 -0
- package/skills/stacks/backend/express/SKILL.md +65 -0
- package/skills/stacks/backend/fastapi/SKILL.md +64 -0
- package/skills/stacks/backend/fastify/SKILL.md +64 -0
- package/skills/stacks/backend/fiber/SKILL.md +68 -0
- package/skills/stacks/backend/flask/SKILL.md +71 -0
- package/skills/stacks/backend/gin/SKILL.md +68 -0
- package/skills/stacks/backend/graphql/SKILL.md +70 -0
- package/skills/stacks/backend/hono/SKILL.md +64 -0
- package/skills/stacks/backend/koa/SKILL.md +63 -0
- package/skills/stacks/backend/laravel/SKILL.md +73 -0
- package/skills/stacks/backend/nestjs/SKILL.md +70 -0
- package/skills/stacks/backend/nginx/SKILL.md +77 -0
- package/skills/stacks/backend/phoenix/SKILL.md +68 -0
- package/skills/stacks/backend/rails/SKILL.md +67 -0
- package/skills/stacks/backend/spring/SKILL.md +70 -0
- package/skills/stacks/backend/spring-boot/SKILL.md +70 -0
- package/skills/stacks/backend/symfony/SKILL.md +77 -0
- package/skills/stacks/container/containerd/SKILL.md +75 -0
- package/skills/stacks/container/docker/SKILL.md +90 -0
- package/skills/stacks/container/podman/SKILL.md +93 -0
- package/skills/stacks/database/cassandra/SKILL.md +74 -0
- package/skills/stacks/database/cockroachdb/SKILL.md +69 -0
- package/skills/stacks/database/dynamodb/SKILL.md +62 -0
- package/skills/stacks/database/mariadb/SKILL.md +71 -0
- package/skills/stacks/database/mongodb/SKILL.md +71 -0
- package/skills/stacks/database/mysql/SKILL.md +72 -0
- package/skills/stacks/database/neon/SKILL.md +68 -0
- package/skills/stacks/database/planetscale/SKILL.md +70 -0
- package/skills/stacks/database/postgresql/SKILL.md +81 -0
- package/skills/stacks/database/redis/SKILL.md +78 -0
- package/skills/stacks/database/sqlite/SKILL.md +70 -0
- package/skills/stacks/database/supabase/SKILL.md +79 -0
- package/skills/stacks/dataviz/chart-js/SKILL.md +72 -0
- package/skills/stacks/dataviz/d3/SKILL.md +77 -0
- package/skills/stacks/dataviz/grafana/SKILL.md +69 -0
- package/skills/stacks/dataviz/plotly/SKILL.md +71 -0
- package/skills/stacks/frontend/alpine/SKILL.md +75 -0
- package/skills/stacks/frontend/angular/SKILL.md +75 -0
- package/skills/stacks/frontend/backbone/SKILL.md +82 -0
- package/skills/stacks/frontend/ember/SKILL.md +85 -0
- package/skills/stacks/frontend/htmx/SKILL.md +73 -0
- package/skills/stacks/frontend/lit/SKILL.md +76 -0
- package/skills/stacks/frontend/preact/SKILL.md +74 -0
- package/skills/stacks/frontend/qwik/SKILL.md +65 -0
- package/skills/stacks/frontend/react/SKILL.md +77 -0
- package/skills/stacks/frontend/solidjs/SKILL.md +75 -0
- package/skills/stacks/frontend/svelte/SKILL.md +70 -0
- package/skills/stacks/frontend/vue/SKILL.md +69 -0
- package/skills/stacks/infra/ansible/SKILL.md +76 -0
- package/skills/stacks/infra/aws/SKILL.md +66 -0
- package/skills/stacks/infra/azure/SKILL.md +72 -0
- package/skills/stacks/infra/circleci/SKILL.md +78 -0
- package/skills/stacks/infra/cloudflare/SKILL.md +65 -0
- package/skills/stacks/infra/fly-io/SKILL.md +63 -0
- package/skills/stacks/infra/gcp/SKILL.md +66 -0
- package/skills/stacks/infra/jenkins/SKILL.md +73 -0
- package/skills/stacks/infra/kubernetes/SKILL.md +64 -0
- package/skills/stacks/infra/netlify/SKILL.md +60 -0
- package/skills/stacks/infra/railway/SKILL.md +63 -0
- package/skills/stacks/infra/tailscale/SKILL.md +65 -0
- package/skills/stacks/infra/terraform/SKILL.md +75 -0
- package/skills/stacks/infra/vagrant/SKILL.md +70 -0
- package/skills/stacks/infra/vercel/SKILL.md +60 -0
- package/skills/stacks/meta/astro/SKILL.md +64 -0
- package/skills/stacks/meta/docusaurus/SKILL.md +71 -0
- package/skills/stacks/meta/eleventy/SKILL.md +69 -0
- package/skills/stacks/meta/gatsby/SKILL.md +63 -0
- package/skills/stacks/meta/hugo/SKILL.md +73 -0
- package/skills/stacks/meta/jekyll/SKILL.md +70 -0
- package/skills/stacks/meta/nextjs/SKILL.md +62 -0
- package/skills/stacks/meta/nuxt/SKILL.md +66 -0
- package/skills/stacks/meta/remix/SKILL.md +67 -0
- package/skills/stacks/meta/sveltekit/SKILL.md +70 -0
- package/skills/stacks/meta/vite/SKILL.md +63 -0
- package/skills/stacks/mobile/android/SKILL.md +77 -0
- package/skills/stacks/mobile/flutter/SKILL.md +77 -0
- package/skills/stacks/mobile/ionic/SKILL.md +72 -0
- package/skills/stacks/mobile/nativescript/SKILL.md +71 -0
- package/skills/stacks/mobile/react-native/SKILL.md +75 -0
- package/skills/stacks/mobile/xamarin/SKILL.md +73 -0
- package/skills/stacks/orm/diesel/SKILL.md +72 -0
- package/skills/stacks/orm/django-orm/SKILL.md +58 -0
- package/skills/stacks/orm/drizzle/SKILL.md +67 -0
- package/skills/stacks/orm/gorm/SKILL.md +73 -0
- package/skills/stacks/orm/knex/SKILL.md +64 -0
- package/skills/stacks/orm/mongoose/SKILL.md +64 -0
- package/skills/stacks/orm/prisma/SKILL.md +64 -0
- package/skills/stacks/orm/sequelize/SKILL.md +65 -0
- package/skills/stacks/orm/sqlalchemy/SKILL.md +71 -0
- package/skills/stacks/orm/typeorm/SKILL.md +70 -0
- package/skills/stacks/queue/bullmq/SKILL.md +69 -0
- package/skills/stacks/queue/celery/SKILL.md +68 -0
- package/skills/stacks/queue/kafka/SKILL.md +66 -0
- package/skills/stacks/queue/nats/SKILL.md +66 -0
- package/skills/stacks/queue/rabbitmq/SKILL.md +64 -0
- package/skills/stacks/queue/redis/SKILL.md +66 -0
- package/skills/stacks/runtime/beam/SKILL.md +72 -0
- package/skills/stacks/runtime/bun/SKILL.md +80 -0
- package/skills/stacks/runtime/deno/SKILL.md +74 -0
- package/skills/stacks/runtime/dotnet/SKILL.md +64 -0
- package/skills/stacks/runtime/jvm/SKILL.md +66 -0
- package/skills/stacks/runtime/node/SKILL.md +70 -0
- package/skills/stacks/runtime/pypy/SKILL.md +69 -0
- package/skills/stacks/runtime/python3/SKILL.md +70 -0
- package/skills/stacks/styling/bootstrap/SKILL.md +74 -0
- package/skills/stacks/styling/bulma/SKILL.md +80 -0
- package/skills/stacks/styling/chakra-ui/SKILL.md +61 -0
- package/skills/stacks/styling/css-modules/SKILL.md +54 -0
- package/skills/stacks/styling/mui/SKILL.md +60 -0
- package/skills/stacks/styling/sass/SKILL.md +63 -0
- package/skills/stacks/styling/shadcn-ui/SKILL.md +58 -0
- package/skills/stacks/styling/styled-components/SKILL.md +62 -0
- package/skills/stacks/styling/tailwind/SKILL.md +59 -0
- package/skills/stacks/styling/unocss/SKILL.md +64 -0
- package/skills/stacks/styling/vanilla-extract/SKILL.md +64 -0
- package/skills/stacks/styling/vuetify/SKILL.md +89 -0
- package/skills/stacks/testing/cypress/SKILL.md +68 -0
- package/skills/stacks/testing/jasmine/SKILL.md +67 -0
- package/skills/stacks/testing/jest/SKILL.md +67 -0
- package/skills/stacks/testing/mocha/SKILL.md +71 -0
- package/skills/stacks/testing/playwright/SKILL.md +68 -0
- package/skills/stacks/testing/puppeteer/SKILL.md +70 -0
- package/skills/stacks/testing/selenium/SKILL.md +70 -0
- package/skills/stacks/testing/vitest/SKILL.md +68 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[4263],{3728:(e,t,o)=>{o.d(t,{m:()=>r});var s=o(5076),p=o(8488),a=o(8576),i=o(9265),l=o(5629);function r({value:e,options:t,onChange:o,placeholder:n,mono:c,glyph:u,disabled:d,searchable:y}){let m=(0,l.k)(),[h,A]=(0,p.useState)(!1),[_,g]=(0,p.useState)(""),b=(0,p.useRef)(null),f=(0,p.useRef)(null),v=(0,p.useMemo)(()=>(t||[]).map(e=>"string"==typeof e?{value:e,label:e}:e),[t]),k=v.find(t=>t.value===e),T=(y??v.length>8)&&!d,x=_.trim().toLowerCase(),O=T&&x?v.filter(e=>(e.label+" "+e.value+" "+(e.sub||"")).toLowerCase().includes(x)):v;return(0,p.useEffect)(()=>{if(!h)return void g("");function e(e){b.current&&!b.current.contains(e.target)&&A(!1)}function t(e){"Escape"===e.key&&A(!1)}return document.addEventListener("mousedown",e),document.addEventListener("keydown",t),T&&requestAnimationFrame(()=>f.current?.focus()),()=>{document.removeEventListener("mousedown",e),document.removeEventListener("keydown",t)}},[h,T]),(0,s.jsxs)("div",{className:"dd"+(h?" open":"")+(d?" disabled":""),ref:b,children:[(0,s.jsxs)("button",{type:"button",className:"dd-btn"+(c?" mono":""),onClick:()=>!d&&A(e=>!e),children:[u&&k&&(0,s.jsx)(i.W,{id:k.glyphId||k.value,size:20}),(0,s.jsx)("span",{className:"dd-val",children:k?k.label:(0,s.jsx)("span",{className:"dd-ph",children:n||m("common.selectEllipsis")})}),(0,s.jsx)(a.I,{name:"chevronDown",size:14})]}),h&&(0,s.jsxs)("div",{className:"dd-menu scroll",children:[T&&(0,s.jsxs)("div",{style:{position:"sticky",top:0,zIndex:1,display:"flex",alignItems:"center",gap:6,padding:"6px 8px",margin:"-4px -4px 4px",background:"var(--bg-elev, var(--bg-active))",borderBottom:"1px solid var(--border)"},children:[(0,s.jsx)(a.I,{name:"search",size:13}),(0,s.jsx)("input",{ref:f,value:_,placeholder:m("common.searchEllipsis"),onChange:e=>g(e.target.value),onKeyDown:e=>{"Enter"===e.key&&O[0]?(o(O[0].value),A(!1)):"Escape"===e.key&&_&&(e.stopPropagation(),g(""))},className:c?"mono":void 0,style:{flex:1,minWidth:0,background:"transparent",border:"none",outline:"none",color:"var(--text)",fontSize:12.5,fontFamily:c?"var(--mono-font)":"inherit"}}),_&&(0,s.jsx)("button",{type:"button",title:m("common.clear"),onClick:()=>{g(""),f.current?.focus()},style:{background:"none",border:"none",color:"var(--text-dim)",cursor:"pointer",display:"flex",padding:0},children:(0,s.jsx)(a.I,{name:"close",size:12})})]}),0===v.length&&(0,s.jsx)("div",{className:"dd-empty",children:m("common.noOptions")}),v.length>0&&0===O.length&&(0,s.jsx)("div",{className:"dd-empty",children:m("dropdown.noMatch",{q:_})}),O.map(t=>(0,s.jsxs)("button",{type:"button",className:"dd-opt"+(t.value===e?" on":""),onClick:()=>{o(t.value),A(!1)},children:[u&&(0,s.jsx)(i.W,{id:t.glyphId||t.value,size:22}),(0,s.jsxs)("span",{className:"dd-opt-main",children:[(0,s.jsx)("span",{className:"dd-opt-label"+(c?" mono":""),children:t.label}),t.sub&&(0,s.jsx)("span",{className:"dd-opt-sub",children:t.sub})]}),t.tag&&(0,s.jsx)("span",{className:"dd-opt-tag",children:t.tag}),t.value===e&&(0,s.jsx)(a.I,{name:"check",size:13})]},t.value))]})]})}},8088:(e,t,o)=>{o.d(t,{WQ:()=>s,kH:()=>a});let s=[{id:"anthropic",displayName:"Anthropic",category:"cloud_api",connectionTypes:["api_key","oauth"],defaultAdapter:"http_anthropic",baseUrl:"https://api.anthropic.com",supportsModelSync:!0,supportsApiKey:!0,supportsOAuth:!0,supportsVision:!0,supportsTools:!0,status:"available",notes:"Claude family. Model list mapped from provider capabilities."},{id:"openai",displayName:"OpenAI",category:"cloud_api",connectionTypes:["api_key","oauth"],defaultAdapter:"http_openai",baseUrl:"https://api.openai.com/v1",supportsModelSync:!0,supportsApiKey:!0,supportsOAuth:!0,supportsVision:!0,supportsTools:!0,status:"available",notes:"GPT-4o/o-series + DALL\xb7E + Whisper."},{id:"google_gemini",displayName:"Google AI / Gemini",category:"cloud_api",connectionTypes:["api_key","oauth"],defaultAdapter:"http_google",baseUrl:"https://generativelanguage.googleapis.com",supportsModelSync:!0,supportsApiKey:!0,supportsOAuth:!0,supportsVision:!0,supportsTools:!0,status:"available",notes:"Gemini 1.5/2.x via AI Studio API key."},{id:"xai_grok",displayName:"xAI / Grok",category:"cloud_api",connectionTypes:["api_key"],defaultAdapter:"http_xai",baseUrl:"https://api.x.ai/v1",supportsModelSync:!0,supportsApiKey:!0,supportsOAuth:!1,supportsVision:!0,supportsTools:!0,status:"available",notes:"OpenAI-compatible REST. Grok-2/3."},{id:"deepseek",displayName:"DeepSeek",category:"cloud_api",connectionTypes:["api_key"],defaultAdapter:"http_deepseek",baseUrl:"https://api.deepseek.com",supportsModelSync:!0,supportsApiKey:!0,supportsOAuth:!1,supportsTools:!0,status:"available",notes:"deepseek-chat / deepseek-reasoner."},{id:"cohere",displayName:"Cohere",category:"cloud_api",connectionTypes:["api_key"],defaultAdapter:"http_cohere",baseUrl:"https://api.cohere.com/v2",supportsModelSync:!0,supportsApiKey:!0,supportsOAuth:!1,supportsTools:!0,status:"available",notes:"Command R/R+ and strong rerank/embeddings."},{id:"ai21",displayName:"AI21",category:"cloud_api",connectionTypes:["api_key"],defaultAdapter:"http_ai21",baseUrl:"https://api.ai21.com/studio/v1",supportsModelSync:!1,supportsApiKey:!0,supportsOAuth:!1,status:"experimental"},{id:"perplexity",displayName:"Perplexity",category:"cloud_api",connectionTypes:["api_key"],defaultAdapter:"http_perplexity",baseUrl:"https://api.perplexity.ai",supportsModelSync:!1,supportsApiKey:!0,supportsOAuth:!1,status:"available"},{id:"groq",displayName:"Groq",category:"cloud_api",connectionTypes:["api_key"],defaultAdapter:"http_groq",baseUrl:"https://api.groq.com/openai/v1",supportsModelSync:!0,supportsApiKey:!0,supportsOAuth:!1,supportsTools:!0,status:"available",notes:"Ultra-low-latency LPU inference, OpenAI-compatible."},{id:"nvidia_nim",displayName:"NVIDIA / NIM",category:"cloud_api",connectionTypes:["api_key"],defaultAdapter:"http_nvidia",baseUrl:"https://integrate.api.nvidia.com/v1",supportsModelSync:!0,supportsApiKey:!0,supportsOAuth:!1,supportsVision:!0,supportsTools:!0,status:"available",notes:"NIM microservices, OpenAI-compatible."},{id:"together",displayName:"Together AI",category:"cloud_api",connectionTypes:["api_key"],defaultAdapter:"http_together",baseUrl:"https://api.together.xyz/v1",supportsModelSync:!0,supportsApiKey:!0,supportsOAuth:!1,supportsTools:!0,status:"available"},{id:"fireworks",displayName:"Fireworks AI",category:"cloud_api",connectionTypes:["api_key"],defaultAdapter:"http_fireworks",baseUrl:"https://api.fireworks.ai/inference/v1",supportsModelSync:!0,supportsApiKey:!0,supportsOAuth:!1,supportsTools:!0,status:"available"},{id:"cerebras",displayName:"Cerebras",category:"cloud_api",connectionTypes:["api_key"],defaultAdapter:"http_cerebras",baseUrl:"https://api.cerebras.ai/v1",supportsModelSync:!0,supportsApiKey:!0,supportsOAuth:!1,status:"available",notes:"Wafer-scale fast inference."},{id:"huggingface",displayName:"Hugging Face",category:"cloud_api",connectionTypes:["api_key"],defaultAdapter:"http_hf",baseUrl:"https://api-inference.huggingface.co",supportsModelSync:!1,supportsApiKey:!0,supportsOAuth:!1,status:"experimental"},{id:"replicate",displayName:"Replicate",category:"cloud_api",connectionTypes:["api_key"],defaultAdapter:"http_replicate",baseUrl:"https://api.replicate.com/v1",supportsModelSync:!1,supportsApiKey:!0,supportsOAuth:!1,status:"experimental"},{id:"anyscale",displayName:"Anyscale",category:"cloud_api",connectionTypes:["api_key"],defaultAdapter:"http_anyscale",baseUrl:"https://api.endpoints.anyscale.com/v1",supportsModelSync:!1,supportsApiKey:!0,supportsOAuth:!1,status:"planned",notes:"Endpoints product changing — adapter pending."},{id:"databricks",displayName:"Databricks",category:"cloud_api",connectionTypes:["api_key","oauth"],defaultAdapter:"http_databricks",supportsModelSync:!1,supportsApiKey:!0,supportsOAuth:!0,status:"requires_setup"},{id:"stability",displayName:"Stability AI",category:"image",connectionTypes:["api_key"],defaultAdapter:"http_stability",baseUrl:"https://api.stability.ai",supportsModelSync:!1,supportsApiKey:!0,supportsOAuth:!1,status:"experimental"},{id:"elevenlabs",displayName:"ElevenLabs",category:"audio",connectionTypes:["api_key"],defaultAdapter:"http_elevenlabs",baseUrl:"https://api.elevenlabs.io/v1",supportsModelSync:!0,supportsApiKey:!0,supportsOAuth:!1,status:"available",notes:"TTS / voice."},{id:"voyage",displayName:"Voyage AI",category:"embedding",connectionTypes:["api_key"],defaultAdapter:"http_voyage",baseUrl:"https://api.voyageai.com/v1",supportsModelSync:!1,supportsApiKey:!0,supportsOAuth:!1,status:"available"},{id:"jina",displayName:"Jina AI",category:"embedding",connectionTypes:["api_key"],defaultAdapter:"http_jina",baseUrl:"https://api.jina.ai/v1",supportsModelSync:!1,supportsApiKey:!0,supportsOAuth:!1,status:"available"},{id:"runpod",displayName:"RunPod",category:"cloud_api",connectionTypes:["api_key"],defaultAdapter:"http_runpod",baseUrl:"https://api.runpod.ai/v2",supportsModelSync:!1,supportsApiKey:!0,supportsOAuth:!1,status:"requires_setup"},{id:"lambda",displayName:"Lambda Labs",category:"cloud_api",connectionTypes:["api_key"],defaultAdapter:"http_lambda",baseUrl:"https://api.lambdalabs.com/v1",supportsModelSync:!0,supportsApiKey:!0,supportsOAuth:!1,status:"experimental"},{id:"modal",displayName:"Modal",category:"cloud_api",connectionTypes:["api_key","custom_endpoint"],defaultAdapter:"http_modal",supportsModelSync:!1,supportsApiKey:!0,supportsOAuth:!1,status:"requires_setup"},{id:"baseten",displayName:"Baseten",category:"cloud_api",connectionTypes:["api_key"],defaultAdapter:"http_baseten",baseUrl:"https://inference.baseten.co/v1",supportsModelSync:!1,supportsApiKey:!0,supportsOAuth:!1,status:"requires_setup"},{id:"openrouter",displayName:"OpenRouter",category:"router",connectionTypes:["api_key","oauth"],defaultAdapter:"http_openrouter",baseUrl:"https://openrouter.ai/api/v1",supportsModelSync:!0,supportsApiKey:!0,supportsOAuth:!0,supportsVision:!0,supportsTools:!0,status:"available",notes:"Aggregates 300+ models across providers — full live list."},{id:"omnirouter",displayName:"OmniRouter",category:"router",connectionTypes:["api_key"],defaultAdapter:"http_omnirouter",baseUrl:"https://api.omnirouter.ai/v1",supportsModelSync:!0,supportsApiKey:!0,supportsOAuth:!1,status:"experimental",notes:"OpenAI-compatible multi-provider router."},{id:"litellm",displayName:"LiteLLM",category:"openai_compatible",connectionTypes:["api_key","openai_compatible","custom_endpoint"],defaultAdapter:"http_litellm",baseUrl:"http://localhost:4000",supportsModelSync:!0,supportsApiKey:!0,supportsOAuth:!1,supportsTools:!0,status:"available",notes:"Self-hosted proxy; unifies 100+ providers."},{id:"portkey",displayName:"Portkey",category:"router",connectionTypes:["api_key"],defaultAdapter:"http_portkey",baseUrl:"https://api.portkey.ai/v1",supportsModelSync:!0,supportsApiKey:!0,supportsOAuth:!1,supportsTools:!0,status:"experimental",notes:"Gateway with virtual keys."},{id:"helicone",displayName:"Helicone",category:"router",connectionTypes:["api_key"],defaultAdapter:"http_helicone",baseUrl:"https://oai.helicone.ai/v1",supportsModelSync:!1,supportsApiKey:!0,supportsOAuth:!1,status:"experimental",notes:"Observability proxy in front of OpenAI-compatible providers."},{id:"openai_compatible",displayName:"OpenAI-compatible endpoint",category:"openai_compatible",connectionTypes:["openai_compatible","api_key","custom_endpoint"],defaultAdapter:"http_openai_compat",baseUrl:"https://",supportsModelSync:!0,supportsApiKey:!0,supportsOAuth:!1,supportsTools:!0,status:"available",notes:"Any server exposing /v1/chat/completions + /v1/models."},{id:"lmstudio_server",displayName:"LM Studio (OpenAI server)",category:"openai_compatible",connectionTypes:["openai_compatible","local"],defaultAdapter:"http_openai_compat",baseUrl:"http://localhost:1234/v1",supportsModelSync:!0,supportsApiKey:!1,supportsOAuth:!1,status:"available",notes:"Local OpenAI-compatible server from LM Studio."},{id:"ollama_openai",displayName:"Ollama (OpenAI endpoint)",category:"openai_compatible",connectionTypes:["openai_compatible","local"],defaultAdapter:"http_openai_compat",baseUrl:"http://localhost:11434/v1",supportsModelSync:!0,supportsApiKey:!1,supportsOAuth:!1,supportsTools:!0,status:"available",notes:"Ollama's OpenAI-compatible surface."},{id:"vllm_server",displayName:"vLLM (OpenAI server)",category:"openai_compatible",connectionTypes:["openai_compatible","local"],defaultAdapter:"http_openai_compat",baseUrl:"http://localhost:8000/v1",supportsModelSync:!0,supportsApiKey:!1,supportsOAuth:!1,supportsTools:!0,status:"available",notes:"High-throughput self-hosted serving."},{id:"tgi",displayName:"Text Generation Inference",category:"openai_compatible",connectionTypes:["openai_compatible","local","custom_endpoint"],defaultAdapter:"http_openai_compat",baseUrl:"http://localhost:8080/v1",supportsModelSync:!0,supportsApiKey:!1,supportsOAuth:!1,status:"experimental",notes:"HF TGI with OpenAI route."},{id:"localai",displayName:"LocalAI",category:"openai_compatible",connectionTypes:["openai_compatible","local"],defaultAdapter:"http_openai_compat",baseUrl:"http://localhost:8080/v1",supportsModelSync:!0,supportsApiKey:!1,supportsOAuth:!1,status:"available",notes:"Drop-in OpenAI replacement, fully local."},{id:"azure_openai",displayName:"Azure OpenAI",category:"cloud_platform",connectionTypes:["api_key","oauth"],defaultAdapter:"http_azure_openai",supportsModelSync:!1,supportsApiKey:!0,supportsOAuth:!0,supportsVision:!0,supportsTools:!0,status:"requires_setup"},{id:"aws_bedrock",displayName:"AWS Bedrock",category:"cloud_platform",connectionTypes:["api_key","custom_endpoint"],defaultAdapter:"sdk_bedrock",supportsModelSync:!0,supportsApiKey:!0,supportsOAuth:!1,supportsVision:!0,supportsTools:!0,status:"requires_setup",notes:"SigV4 auth; multi-vendor models."},{id:"vertex_ai",displayName:"Google Vertex AI",category:"cloud_platform",connectionTypes:["oauth","api_key"],defaultAdapter:"sdk_vertex",supportsModelSync:!0,supportsApiKey:!0,supportsOAuth:!0,supportsVision:!0,supportsTools:!0,status:"requires_setup",notes:"GCP service-account / ADC."},{id:"cloudflare",displayName:"Cloudflare Workers AI",category:"cloud_platform",connectionTypes:["api_key"],defaultAdapter:"http_cloudflare",baseUrl:"https://api.cloudflare.com/client/v4",supportsModelSync:!0,supportsApiKey:!0,supportsOAuth:!1,status:"experimental"},{id:"oci_genai",displayName:"Oracle OCI Generative AI",category:"cloud_platform",connectionTypes:["api_key","custom_endpoint"],defaultAdapter:"sdk_oci",supportsModelSync:!1,supportsApiKey:!0,supportsOAuth:!1,status:"planned",notes:"OCI SDK signing — adapter pending."},{id:"watsonx",displayName:"IBM watsonx",category:"cloud_platform",connectionTypes:["api_key","oauth"],defaultAdapter:"http_watsonx",supportsModelSync:!1,supportsApiKey:!0,supportsOAuth:!0,status:"requires_setup"},{id:"dashscope",displayName:"Alibaba DashScope / Qwen",category:"cloud_platform",connectionTypes:["api_key"],defaultAdapter:"http_dashscope",baseUrl:"https://dashscope-intl.aliyuncs.com/compatible-mode/v1",supportsModelSync:!0,supportsApiKey:!0,supportsOAuth:!1,supportsVision:!0,supportsTools:!0,status:"experimental",notes:"Qwen models, OpenAI-compatible mode."},{id:"qianfan",displayName:"Baidu Qianfan",category:"cloud_platform",connectionTypes:["api_key","oauth"],defaultAdapter:"http_qianfan",supportsModelSync:!1,supportsApiKey:!0,supportsOAuth:!0,status:"planned",notes:"ERNIE; access-token auth — adapter pending."},{id:"hunyuan",displayName:"Tencent Hunyuan",category:"cloud_platform",connectionTypes:["api_key"],defaultAdapter:"http_hunyuan",supportsModelSync:!1,supportsApiKey:!0,supportsOAuth:!1,status:"planned",notes:"TC3-HMAC signing — adapter pending."},{id:"zhipu",displayName:"Zhipu AI (GLM)",category:"cloud_platform",connectionTypes:["api_key"],defaultAdapter:"http_zhipu",baseUrl:"https://open.bigmodel.cn/api/paas/v4",supportsModelSync:!1,supportsApiKey:!0,supportsOAuth:!1,supportsVision:!0,supportsTools:!0,status:"experimental"},{id:"moonshot",displayName:"Moonshot AI / Kimi",category:"cloud_platform",connectionTypes:["api_key"],defaultAdapter:"http_moonshot",baseUrl:"https://api.moonshot.cn/v1",supportsModelSync:!0,supportsApiKey:!0,supportsOAuth:!1,supportsTools:!0,status:"experimental",notes:"OpenAI-compatible; long context."},{id:"minimax",displayName:"MiniMax",category:"cloud_platform",connectionTypes:["api_key"],defaultAdapter:"http_minimax",baseUrl:"https://api.minimax.chat/v1",supportsModelSync:!1,supportsApiKey:!0,supportsOAuth:!1,status:"planned",notes:"Group-id + key auth — adapter pending."},{id:"ollama",displayName:"Ollama",category:"local_runtime",connectionTypes:["local","cli"],defaultAdapter:"local_ollama",baseUrl:"http://localhost:11434",supportsModelSync:!0,supportsApiKey:!1,supportsOAuth:!1,supportsVision:!0,supportsTools:!0,status:"available",notes:"Pulls + serves local models; live /api/tags list."},{id:"llamacpp",displayName:"llama.cpp",category:"local_runtime",connectionTypes:["local"],defaultAdapter:"local_llamacpp",baseUrl:"http://127.0.0.1:8082",supportsModelSync:!0,supportsApiKey:!1,supportsOAuth:!1,status:"available",notes:"GGUF models, SHA-256 verified, bound to 127.0.0.1."},{id:"lmstudio",displayName:"LM Studio",category:"local_runtime",connectionTypes:["local"],defaultAdapter:"local_lmstudio",baseUrl:"http://localhost:1234",supportsModelSync:!0,supportsApiKey:!1,supportsOAuth:!1,supportsVision:!0,status:"available",notes:"Desktop runtime + local server."},{id:"vllm",displayName:"vLLM",category:"local_runtime",connectionTypes:["local"],defaultAdapter:"local_vllm",baseUrl:"http://localhost:8000",supportsModelSync:!0,supportsApiKey:!1,supportsOAuth:!1,supportsTools:!0,status:"available",notes:"GPU serving engine."},{id:"localai_rt",displayName:"LocalAI",category:"local_runtime",connectionTypes:["local"],defaultAdapter:"local_localai",baseUrl:"http://localhost:8080",supportsModelSync:!0,supportsApiKey:!1,supportsOAuth:!1,status:"available"},{id:"gpt4all",displayName:"GPT4All",category:"local_runtime",connectionTypes:["local"],defaultAdapter:"local_gpt4all",baseUrl:"http://localhost:4891/v1",supportsModelSync:!0,supportsApiKey:!1,supportsOAuth:!1,status:"experimental"},{id:"koboldcpp",displayName:"KoboldCpp",category:"local_runtime",connectionTypes:["local"],defaultAdapter:"local_kobold",baseUrl:"http://localhost:5001",supportsModelSync:!1,supportsApiKey:!1,supportsOAuth:!1,status:"experimental"},{id:"jan",displayName:"Jan",category:"local_runtime",connectionTypes:["local"],defaultAdapter:"local_jan",baseUrl:"http://localhost:1337/v1",supportsModelSync:!0,supportsApiKey:!1,supportsOAuth:!1,status:"experimental"},{id:"anythingllm",displayName:"AnythingLLM (local)",category:"local_runtime",connectionTypes:["local","api_key"],defaultAdapter:"local_anythingllm",baseUrl:"http://localhost:3001/api",supportsModelSync:!1,supportsApiKey:!0,supportsOAuth:!1,status:"planned",notes:"Workspace API — adapter pending."},{id:"openwebui",displayName:"Open WebUI (backend)",category:"local_runtime",connectionTypes:["local","openai_compatible"],defaultAdapter:"http_openai_compat",baseUrl:"http://localhost:3000/api",supportsModelSync:!0,supportsApiKey:!1,supportsOAuth:!1,status:"experimental"},{id:"claude_code",displayName:"Claude Code",category:"cli",connectionTypes:["cli","oauth"],defaultAdapter:"cli_claude_code",supportsModelSync:!1,supportsApiKey:!1,supportsOAuth:!0,supportsTools:!0,status:"available",notes:"Drives the local Claude Code CLI / agent."},{id:"codex_cli",displayName:"Codex CLI",category:"cli",connectionTypes:["cli"],defaultAdapter:"cli_codex",supportsModelSync:!1,supportsApiKey:!1,supportsOAuth:!1,supportsTools:!0,status:"experimental",notes:"OpenAI Codex CLI agent."},{id:"openclaw",displayName:"OpenClaw",category:"cli",connectionTypes:["cli"],defaultAdapter:"cli_openclaw",supportsModelSync:!1,supportsApiKey:!1,supportsOAuth:!1,supportsTools:!0,status:"experimental",notes:"OpenClaw CLI — headless `openclaw infer model run --json` (provider-routed). No token/cost reported."},{id:"hermes_cli",displayName:"Hermes (Nous Research)",category:"cli",connectionTypes:["cli"],defaultAdapter:"cli_hermes",supportsModelSync:!1,supportsApiKey:!1,supportsOAuth:!1,supportsTools:!0,status:"experimental",notes:"Hermes agent CLI — headless `hermes -z`. Configure providers via `hermes model`."},{id:"gemini_cli",displayName:"Gemini CLI",category:"cli",connectionTypes:["cli","oauth"],defaultAdapter:"cli_gemini",supportsModelSync:!1,supportsApiKey:!1,supportsOAuth:!0,supportsTools:!0,status:"experimental"},{id:"aider",displayName:"Aider",category:"cli",connectionTypes:["cli"],defaultAdapter:"cli_aider",supportsModelSync:!0,supportsApiKey:!1,supportsOAuth:!1,supportsTools:!0,status:"experimental",notes:"Headless `aider --message --yes-always`; provider-routed via its own env keys. Model list from `aider --list-models`. No token/cost reported."},{id:"opencode",displayName:"OpenCode",category:"cli",connectionTypes:["cli"],defaultAdapter:"cli_opencode",supportsModelSync:!0,supportsApiKey:!1,supportsOAuth:!1,supportsTools:!0,status:"experimental",notes:"Headless `opencode run`; providers via `opencode auth login`. Model list from `opencode models`. No token/cost reported."},{id:"copilot_cli",displayName:"GitHub Copilot CLI",category:"cli",connectionTypes:["cli","oauth"],defaultAdapter:"cli_copilot",supportsModelSync:!1,supportsApiKey:!1,supportsOAuth:!0,supportsTools:!0,status:"experimental",notes:"Headless `copilot -p --allow-all-tools`; sign in with the Copilot CLI. No token/cost reported."},{id:"cursor_cli",displayName:"Cursor CLI",category:"cli",connectionTypes:["cli"],defaultAdapter:"cli_cursor",supportsModelSync:!1,supportsApiKey:!1,supportsOAuth:!1,supportsTools:!0,status:"experimental",notes:"Headless `cursor-agent -p --output-format json`; sign in via `cursor-agent login`. `-p` can hang → bounded timeout. No token/cost reported."},{id:"cline_cli",displayName:"Cline CLI",category:"cli",connectionTypes:["cli"],defaultAdapter:"cli_cline",supportsModelSync:!1,supportsApiKey:!1,supportsOAuth:!1,supportsTools:!0,status:"experimental",notes:"Headless `cline --json -y`; provider-routed via its own config. No token/cost reported."},{id:"kilo_code",displayName:"Kilo Code CLI",category:"cli",connectionTypes:["cli"],defaultAdapter:"cli_kilo",supportsModelSync:!1,supportsApiKey:!1,supportsOAuth:!1,supportsTools:!0,status:"experimental",notes:"Headless `kilocode --yes`; provider-routed via its own config. No token/cost reported."},{id:"openai_cli",displayName:"OpenAI CLI",category:"cli",connectionTypes:["cli","api_key"],defaultAdapter:"cli_openai",supportsModelSync:!1,supportsApiKey:!0,supportsOAuth:!1,status:"planned",notes:"Thin CLI over the API — adapter pending."},{id:"ollama_cli",displayName:"Ollama CLI",category:"cli",connectionTypes:["cli","local"],defaultAdapter:"cli_ollama",supportsModelSync:!0,supportsApiKey:!1,supportsOAuth:!1,status:"available",notes:"`ollama run/list` driven."},{id:"custom_cli",displayName:"Custom CLI provider",category:"cli",connectionTypes:["cli","custom_endpoint"],defaultAdapter:"cli_custom",supportsModelSync:!1,supportsApiKey:!1,supportsOAuth:!1,status:"requires_setup",notes:"Define your own command + arg template."}],p=Object.fromEntries(s.map(e=>[e.id,e])),a=e=>p[e]},9265:(e,t,o)=>{o.d(t,{W:()=>l});var s=o(5076),p=o(8488);let a={anthropic:"anthropic",claude_code:"claude",openai:"openai",codex_cli:"openai",google:"google",google_gemini:"gemini",gemini_cli:"gemini",vertex_ai:"vertexai",mistral:"mistral",deepseek:"deepseek",cohere:"cohere",perplexity:"perplexity",xai_grok:"grok",groq:"groq",ai21:"ai21",nvidia_nim:"nvidia",huggingface:"huggingface",replicate:"replicate",azure_openai:"azure",aws_bedrock:"bedrock",cloudflare:"cloudflare",dashscope:"qwen",zhipu:"zhipu",moonshot:"moonshot",minimax:"minimax",together:"together",openrouter:"openrouter",fireworks:"fireworks",cerebras:"cerebras",ollama:"ollama",ollama_cli:"ollama",lmstudio:"lmstudio",vllm:"vllm",localai:"localai",elevenlabs:"elevenlabs",stability:"stability",jina:"jina",voyage:"voyage"},i={anthropic:["#d97757","An"],openai:["#10a37f","AI"],google_gemini:["#4285f4","G"],google:["#4285f4","G"],mistral:["#fa520f","Mi"],xai_grok:["#1a1a1a","X"],deepseek:["#4d6bfe","DS"],cohere:["#39594d","Co"],ai21:["#e8488a","A2"],perplexity:["#20808d","Px"],groq:["#f55036","Gq"],nvidia_nim:["#76b900","NV"],together:["#0f6fff","To"],fireworks:["#5019c5","Fw"],cerebras:["#f25733","Cb"],huggingface:["#ff9d00","HF"],replicate:["#1a1a1a","Rp"],openrouter:["#6566f1","OR"],litellm:["#00b8a3","LL"],portkey:["#3b5bdb","Pk"],azure_openai:["#0078d4","Az"],aws_bedrock:["#ff9900","Br"],vertex_ai:["#4285f4","Vx"],cloudflare:["#f38020","Cf"],dashscope:["#ff6a00","Qw"],zhipu:["#3859ff","GL"],moonshot:["#16162a","Ki"],minimax:["#e1342c","MM"],ollama:["#0c0c0c","Ol"],llamacpp:["#7a4ddb","Lc"],lmstudio:["#4a5cff","LM"],vllm:["#1668dc","vL"],localai:["#2e7d32","La"],gpt4all:["#5b6cff","G4"],jan:["#1a1a1a","Jn"],claude_code:["#d97757","CC"],codex_cli:["#10a37f","Cx"],gemini_cli:["#4285f4","Gc"],aider:["#14b8a6","Ad"],ollama_cli:["#0c0c0c","Oc"],openclaw:["#e8590c","OC"],hermes_cli:["#6d28d9","Hm"],opencode:["#1a1a1a","Oc"],copilot_cli:["#1f2328","Co"],cursor_cli:["#1a1a1a","Cu"],cline_cli:["#2563eb","Cl"],kilo_code:["#7c3aed","Ki"],voyage:["#5b21b6","Vo"],jina:["#ec4899","Ji"],stability:["#a855f7","St"],elevenlabs:["#1a1a1a","El"]};function l({id:e,size:t=34,radius:o}){let r,n=i[e],c=n?n[0]:"#5b6378",u=n?n[1]:(e||"?").slice(0,2).replace(/[^a-z0-9]/gi,"").toUpperCase(),d=(r=a[e])?`https://cdn.jsdelivr.net/npm/@lobehub/icons-static-svg/icons/${r}.svg`:null,[y,m]=(0,p.useState)(!1),h=null!=o?o:Math.round(.28*t),A=d&&!y,_=Math.round(.66*t);return(0,s.jsx)("span",{className:"prov-glyph",style:{width:t,height:t,flex:"0 0 "+t+"px",borderRadius:h,background:A?"#fff":"linear-gradient(150deg, "+c+", color-mix(in srgb, "+c+" 70%, #000))",color:"#fff",display:"grid",placeItems:"center",overflow:"hidden",fontSize:Math.round(.4*t),fontWeight:800,letterSpacing:"-.5px",boxShadow:A?"inset 0 0 0 1px rgba(0,0,0,.08)":"inset 0 1px 0 rgba(255,255,255,.18)"},children:A?(0,s.jsx)("img",{src:d,alt:"",width:_,height:_,loading:"lazy",onError:()=>m(!0),style:{width:_,height:_,objectFit:"contain",display:"block"}}):u})}}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[5479],{2027:(e,t,n)=>{n.d(t,{qV:()=>o});let r=["javascript:","data:","vbscript:"];function o(e){let t;try{t=new URL(e)}catch{return!0}return!r.includes(t.protocol)}},5693:(e,t,n)=>{n.d(t,{M:()=>ev});var r=n(5036);let o=Object.create(null),i=e=>globalThis.process?.env||globalThis.Deno?.env.toObject()||globalThis.__env__||(e?o:globalThis),s=new Proxy(o,{get:(e,t)=>i()[t]??o[t],has:(e,t)=>t in i()||t in o,set:(e,t,n)=>(i(!0)[t]=n,!0),deleteProperty(e,t){if(!t)return!1;let n=i(!0);return delete n[t],!0},ownKeys:()=>Object.keys(i(!0))});function a(e,t){return void 0!==r&&r.env?r.env[e]??t:"u">typeof Deno?Deno.env.get(e)??t:"u">typeof Bun?Bun.env[e]??t:t}s.NODE_ENV,Object.freeze({get BETTER_AUTH_SECRET(){return a("BETTER_AUTH_SECRET")},get AUTH_SECRET(){return a("AUTH_SECRET")},get BETTER_AUTH_TELEMETRY(){return a("BETTER_AUTH_TELEMETRY")},get BETTER_AUTH_TELEMETRY_ID(){return a("BETTER_AUTH_TELEMETRY_ID")},get NODE_ENV(){return a("NODE_ENV","development")},get PACKAGE_VERSION(){return a("PACKAGE_VERSION","0.0.0")},get BETTER_AUTH_TELEMETRY_ENDPOINT(){return a("BETTER_AUTH_TELEMETRY_ENDPOINT","")}});let l={OK:200,CREATED:201,ACCEPTED:202,NO_CONTENT:204,MULTIPLE_CHOICES:300,MOVED_PERMANENTLY:301,FOUND:302,SEE_OTHER:303,NOT_MODIFIED:304,TEMPORARY_REDIRECT:307,BAD_REQUEST:400,UNAUTHORIZED:401,PAYMENT_REQUIRED:402,FORBIDDEN:403,NOT_FOUND:404,METHOD_NOT_ALLOWED:405,NOT_ACCEPTABLE:406,PROXY_AUTHENTICATION_REQUIRED:407,REQUEST_TIMEOUT:408,CONFLICT:409,GONE:410,LENGTH_REQUIRED:411,PRECONDITION_FAILED:412,PAYLOAD_TOO_LARGE:413,URI_TOO_LONG:414,UNSUPPORTED_MEDIA_TYPE:415,RANGE_NOT_SATISFIABLE:416,EXPECTATION_FAILED:417,"I'M_A_TEAPOT":418,MISDIRECTED_REQUEST:421,UNPROCESSABLE_ENTITY:422,LOCKED:423,FAILED_DEPENDENCY:424,TOO_EARLY:425,UPGRADE_REQUIRED:426,PRECONDITION_REQUIRED:428,TOO_MANY_REQUESTS:429,REQUEST_HEADER_FIELDS_TOO_LARGE:431,UNAVAILABLE_FOR_LEGAL_REASONS:451,INTERNAL_SERVER_ERROR:500,NOT_IMPLEMENTED:501,BAD_GATEWAY:502,SERVICE_UNAVAILABLE:503,GATEWAY_TIMEOUT:504,HTTP_VERSION_NOT_SUPPORTED:505,VARIANT_ALSO_NEGOTIATES:506,INSUFFICIENT_STORAGE:507,LOOP_DETECTED:508,NOT_EXTENDED:510,NETWORK_AUTHENTICATION_REQUIRED:511};var u=class extends Error{constructor(e="INTERNAL_SERVER_ERROR",t,n={},r="number"==typeof e?e:l[e]){super(t?.message,t?.cause?{cause:t.cause}:void 0),this.status=e,this.body=t,this.headers=n,this.statusCode=r,this.name="APIError",this.status=e,this.headers=n,this.statusCode=r,this.body=t}};Symbol.for("better-call:api-error-headers"),function(e,t){class n extends e{#e;constructor(...e){if(function(){let e=Object.getOwnPropertyDescriptor(Error,"stackTraceLimit");return void 0===e?Object.isExtensible(Error):Object.prototype.hasOwnProperty.call(e,"writable")?e.writable:void 0!==e.set}()){const t=Error.stackTraceLimit;Error.stackTraceLimit=0,super(...e),Error.stackTraceLimit=t}else super(...e);const t=Error().stack;t&&(this.#e=function(e){let t=e.split("\n at ");return t.length<=1?e:(t.splice(1,1),t.join("\n at "))}(t.replace(/^Error/,this.name)))}get errorStack(){return this.#e}}Object.defineProperty(n.prototype,"constructor",{get:()=>t,enumerable:!1,configurable:!0})}(u,Error);var c=class extends Error{constructor(e,t){super(e,t),this.name="BetterAuthError",this.message=e,this.stack=""}};function f(e){let t=e.length;for(;t>0&&47===e.charCodeAt(t-1);)t--;return t===e.length?e:e.slice(0,t)}function d(e,t="/api/auth"){try{let t=new URL(e);if("http:"!==t.protocol&&"https:"!==t.protocol)throw new c(`Invalid base URL: ${e}. URL must include 'http://' or 'https://'`)}catch(t){if(t instanceof c)throw t;throw new c(`Invalid base URL: ${e}. Please provide a valid base URL.`,{cause:t})}if(function(e){try{return"/"!==(f(new URL(e).pathname)||"/")}catch{throw new c(`Invalid base URL: ${e}. Please provide a valid base URL.`)}}(e))return e;let n=f(e);return t&&"/"!==t?(t=t.startsWith("/")?t:`/${t}`,`${n}${t}`):n}let p={proto:/"(?:_|\\u0{2}5[Ff]){2}(?:p|\\u0{2}70)(?:r|\\u0{2}72)(?:o|\\u0{2}6[Ff])(?:t|\\u0{2}74)(?:o|\\u0{2}6[Ff])(?:_|\\u0{2}5[Ff]){2}"\s*:/,constructor:/"(?:c|\\u0063)(?:o|\\u006[Ff])(?:n|\\u006[Ee])(?:s|\\u0073)(?:t|\\u0074)(?:r|\\u0072)(?:u|\\u0075)(?:c|\\u0063)(?:t|\\u0074)(?:o|\\u006[Ff])(?:r|\\u0072)"\s*:/,protoShort:/"__proto__"\s*:/,constructorShort:/"constructor"\s*:/},h=/^\s*["[{]|^\s*-?\d{1,16}(\.\d{1,17})?([Ee][+-]?\d+)?\s*$/,E={true:!0,false:!1,null:null,undefined:void 0,nan:NaN,infinity:1/0,"-infinity":-1/0},v=/^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2})(?:\.(\d{1,7}))?(?:Z|([+-])(\d{2}):(\d{2}))$/;var T=n(2027);let g={id:"redirect",name:"Redirect",hooks:{onSuccess(e){if(e.data?.url&&e.data?.redirect&&(0,T.qV)(e.data.url)&&"u">typeof window&&window.location&&window.location)try{window.location.href=e.data.url}catch{}}}},b=(e,t,n,r)=>(e.events=e.events||{},e.events[n+10]||(e.events[n+10]=r(t=>{e.events[n].reduceRight((e,t)=>(t(e),e),{shared:{},...t})})),e.events[n]=e.events[n]||[],e.events[n].push(t),()=>{let r=e.events[n],o=r.indexOf(t);r.splice(o,1),r.length||(delete e.events[n],e.events[n+10](),delete e.events[n+10])});function y(e){if("object"!=typeof e||null===e)return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||null===t}function O(e,t){if(e===t)return!0;if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(!O(e[n],t[n]))return!1;return!0}if(y(e)&&y(t)){let n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(let r of n)if(!(r in t)||!O(e[r],t[r]))return!1;return!0}return!1}let w=Symbol.for("better-auth:broadcast-channel");var R=class{listeners=new Set;name;constructor(e="better-auth.message"){this.name=e}subscribe(e){return this.listeners.add(e),()=>{this.listeners.delete(e)}}post(e){if("u">typeof window)try{localStorage.setItem(this.name,JSON.stringify({...e,timestamp:Math.floor(Date.now()/1e3)}))}catch{}}setup(){if("u"<typeof window||void 0===window.addEventListener)return()=>{};let e=e=>{if(e.key!==this.name)return;let t=JSON.parse(e.newValue??"{}");t?.event==="session"&&t?.data&&this.listeners.forEach(e=>e(t))};return window.addEventListener("storage",e),()=>{window.removeEventListener("storage",e)}}};function _(e="better-auth.message"){return globalThis[w]||(globalThis[w]=new R(e)),globalThis[w]}let m=Symbol.for("better-auth:focus-manager");var S=class{listeners=new Set;subscribe(e){return this.listeners.add(e),()=>{this.listeners.delete(e)}}setFocused(e){this.listeners.forEach(t=>t(e))}setup(){if("u"<typeof window||"u"<typeof document||void 0===window.addEventListener)return()=>{};let e=()=>{"visible"===document.visibilityState&&this.setFocused(!0)};return document.addEventListener("visibilitychange",e,!1),()=>{document.removeEventListener("visibilitychange",e,!1)}}};function A(){return globalThis[m]||(globalThis[m]=new S),globalThis[m]}let L=Symbol.for("better-auth:online-manager");var P=class{listeners=new Set;isOnline="u"<typeof navigator||navigator.onLine;subscribe(e){return this.listeners.add(e),()=>{this.listeners.delete(e)}}setOnline(e){this.isOnline=e,this.listeners.forEach(t=>t(e))}setup(){if("u"<typeof window||void 0===window.addEventListener)return()=>{};let e=()=>this.setOnline(!0),t=()=>this.setOnline(!1);return window.addEventListener("online",e,!1),window.addEventListener("offline",t,!1),()=>{window.removeEventListener("online",e,!1),window.removeEventListener("offline",t,!1)}}};function U(){return globalThis[L]||(globalThis[L]=new P),globalThis[L]}let I=()=>Math.floor(Date.now()/1e3),N=[],D=0,C=globalThis.nanostoresGlobal||={epoch:0},j=e=>{let t=[],n={get:()=>(n.lc||n.listen(()=>{})(),n.value),init:e,lc:0,listen:e=>(n.lc=t.push(e),()=>{for(let t=D+4;t<N.length;)N[t]===e?N.splice(t,4):t+=4;let r=t.indexOf(e);~r&&(t.splice(r,1),--n.lc||n.off())}),notify(e,r){C.epoch++;let o=!N.length;for(let o of t)N.push(o,n.value,e,r);if(o){for(D=0;D<N.length;D+=4)N[D](N[D+1],N[D+2],N[D+3]);N.length=0}},off(){},set(e){let t=n.value;t!==e&&(n.value=e,n.notify(t))},subscribe(e){let t=n.listen(e);return e(n.value),t},value:e};return n};function k(e){return"object"==typeof e&&null!==e&&"data"in e&&"error"in e?e:{data:e,error:null}}function B(e,t){return O(e.data,t.data)&&e.error===t.error&&e.isPending===t.isPending&&e.isRefetching===t.isRefetching&&e.refetch===t.refetch}function F(e){if(null===e||"object"!=typeof e)return!1;let t=Object.getPrototypeOf(e);return(null===t||t===Object.prototype||null===Object.getPrototypeOf(t))&&!(Symbol.iterator in e)&&(!(Symbol.toStringTag in e)||"[object Module]"===Object.prototype.toString.call(e))}function x(e){return(...t)=>t.reduce((t,n)=>(function e(t,n,r=".",o){if(!F(n))return e(t,{},r,o);let i={...n};for(let n of Object.keys(t)){if("__proto__"===n||"constructor"===n)continue;let s=t[n];null!=s&&(o&&o(i,n,s,r)||(Array.isArray(s)&&Array.isArray(i[n])?i[n]=[...s,...i[n]]:F(s)&&F(i[n])?i[n]=e(s,i[n],(r?`${r}.`:"")+n.toString(),o):i[n]=s))}return i})(t,n,"",e),{})}let M=x();x((e,t,n)=>{if(void 0!==e[t]&&"function"==typeof n)return e[t]=n(e[t]),!0}),x((e,t,n)=>{if(Array.isArray(e[t])&&"function"==typeof n)return e[t]=n(e[t]),!0});var $=Object.defineProperty,q=Object.defineProperties,H=Object.getOwnPropertyDescriptors,V=Object.getOwnPropertySymbols,W=Object.prototype.hasOwnProperty,G=Object.prototype.propertyIsEnumerable,Y=(e,t,n)=>t in e?$(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,K=(e,t)=>{for(var n in t||(t={}))W.call(t,n)&&Y(e,n,t[n]);if(V)for(var n of V(t))G.call(t,n)&&Y(e,n,t[n]);return e},Q=(e,t)=>q(e,H(t)),X=class extends Error{constructor(e,t,n){super(t||e.toString(),{cause:n}),this.status=e,this.statusText=t,this.error=n,Error.captureStackTrace(this,this.constructor)}},J=async(e,t)=>{var n,r,o,i,s,a;let l=t||{},u={onRequest:[null==t?void 0:t.onRequest],onResponse:[null==t?void 0:t.onResponse],onSuccess:[null==t?void 0:t.onSuccess],onError:[null==t?void 0:t.onError],onRetry:[null==t?void 0:t.onRetry]};if(!t||!(null==t?void 0:t.plugins))return{url:e,options:l,hooks:u};for(let c of(null==t?void 0:t.plugins)||[]){if(c.init){let r=await (null==(n=c.init)?void 0:n.call(c,e.toString(),t));l=r.options||l,e=r.url}u.onRequest.push(null==(r=c.hooks)?void 0:r.onRequest),u.onResponse.push(null==(o=c.hooks)?void 0:o.onResponse),u.onSuccess.push(null==(i=c.hooks)?void 0:i.onSuccess),u.onError.push(null==(s=c.hooks)?void 0:s.onError),u.onRetry.push(null==(a=c.hooks)?void 0:a.onRetry)}return{url:e,options:l,hooks:u}},z=class{constructor(e){this.options=e}shouldAttemptRetry(e,t){return this.options.shouldRetry?Promise.resolve(e<this.options.attempts&&this.options.shouldRetry(t)):Promise.resolve(e<this.options.attempts)}getDelay(){return this.options.delay}},Z=class{constructor(e){this.options=e}shouldAttemptRetry(e,t){return this.options.shouldRetry?Promise.resolve(e<this.options.attempts&&this.options.shouldRetry(t)):Promise.resolve(e<this.options.attempts)}getDelay(e){return Math.min(this.options.maxDelay,this.options.baseDelay*2**e)}},ee=async e=>{let t={},n=async e=>"function"==typeof e?await e():e;if(null==e?void 0:e.auth){if("Bearer"===e.auth.type){let r=await n(e.auth.token);if(!r)return t;t.authorization=`Bearer ${r}`}else if("Basic"===e.auth.type){let[r,o]=await Promise.all([n(e.auth.username),n(e.auth.password)]);if(!r||!o)return t;t.authorization=`Basic ${btoa(`${r}:${o}`)}`}else if("Custom"===e.auth.type){let[r,o]=await Promise.all([n(e.auth.prefix),n(e.auth.value)]);if(!o)return t;t.authorization=`${null!=r?r:""} ${o}`}}return t},et=/^application\/(?:[\w!#$%&*.^`~-]*\+)?json(;.+)?$/i;function en(e){if(void 0===e)return!1;let t=typeof e;return"string"===t||"number"===t||"boolean"===t||null===t||"object"===t&&(!!Array.isArray(e)||!e.buffer&&(e.constructor&&"Object"===e.constructor.name||"function"==typeof e.toJSON))}function er(e){try{return JSON.parse(e)}catch(t){return e}}function eo(e){return"function"==typeof e}function ei(...e){let t={};for(let n of e)if(n)if(n instanceof Headers)n.forEach((e,n)=>{t[n]=e});else for(let[e,r]of Array.isArray(n)?n:Object.entries(n))null!=r&&(t[e]=r);return t}async function es(e){let t=new Headers(ei(null==e?void 0:e.headers,await ee(e)));if(!t.has("content-type")){let n=en(null==e?void 0:e.body)?"application/json":null;n&&t.set("content-type",n)}return t}var ea=class e extends Error{constructor(t,n){super(n||JSON.stringify(t,null,2)),this.issues=t,Object.setPrototypeOf(this,e.prototype)}};async function el(e,t){let n=await e["~standard"].validate(t);if(n.issues)throw new ea(n.issues);return n.value}var eu=["get","post","put","patch","delete"],ec=async(e,t)=>{var n,r,o,i,s,a,l,u;let c,{hooks:f,url:d,options:p}=await J(e,t),h=function(e){if(null==e?void 0:e.customFetchImpl)return e.customFetchImpl;if("u">typeof globalThis&&eo(globalThis.fetch))return globalThis.fetch;if("u">typeof window&&eo(window.fetch))return window.fetch;throw Error("No fetch implementation found")}(p),E=new AbortController,v=null!=(n=p.signal)?n:E.signal,T=function(e,t){let{baseURL:n,params:r,query:o}=t||{query:{},params:{},baseURL:""},i=e.startsWith("http")?e.split("/").slice(0,3).join("/"):n||"";if(e.startsWith("@")){let t=e.toString().split("@")[1].split("/")[0];eu.includes(t)&&(e=e.replace(`@${t}/`,"/"))}i.endsWith("/")||(i+="/");let[s,a]=e.replace(i,"").split("?"),l=new URLSearchParams(a);for(let[e,t]of Object.entries(o||{})){let n;if(null!=t){if("string"==typeof t)n=t;else if(Array.isArray(t)){for(let n of t)l.append(e,n);continue}else n=JSON.stringify(t);l.set(e,n)}}let u=new Map;if(r)if(Array.isArray(r))for(let[e,t]of s.split("/").filter(e=>e.startsWith(":")).entries()){let n=r[e];u.set(t,String(n))}else for(let[e,t]of Object.entries(r))u.set(`:${e}`,String(t));s=(s=s.split("/").map(e=>(function(e,t){let n,r=e;for(let[e,n]of t)r=r.replace(e,n);if("."===(n=r)||".."===n)throw TypeError("Path parameters cannot be reserved path segments");return encodeURIComponent(r)})(e,u)).join("/")).replace(/^\/+/,"");let c=l.toString();return(c=c.length>0?`?${c}`.replace(/\+/g,"%20"):"",i.startsWith("http"))?new URL(`${s}${c}`,i):`${i}${s}${c}`}(d,p),g=await es(p),b=function(e,t){let n,{body:r}=e;return r?en(r)&&"string"!=typeof r?"application/x-www-form-urlencoded"===((n=t.get("content-type"))?n.split(";")[0].trim().toLowerCase():null)?new URLSearchParams(r).toString():JSON.stringify(r):r:null}(p,g),y=function(e,t){var n;if(null==t?void 0:t.method)return t.method.toUpperCase();if(e.startsWith("@")){let r=null==(n=e.split("@")[1])?void 0:n.split("/")[0];return eu.includes(r)?r.toUpperCase():(null==t?void 0:t.body)?"POST":"GET"}return(null==t?void 0:t.body)?"POST":"GET"}(d,p),O=Q(K({},p),{url:T,headers:g,body:b,method:y,signal:v});for(let e of f.onRequest)if(e){let t=await e(O);"object"==typeof t&&null!==t&&Object.assign(O,t)}("pipeTo"in O&&"function"==typeof O.pipeTo||"function"==typeof(null==(r=null==t?void 0:t.body)?void 0:r.pipe))&&!("duplex"in O)&&(O.duplex="half");let{clearTimeout:w}=(!(null==p?void 0:p.signal)&&(null==p?void 0:p.timeout)&&(c=setTimeout(()=>null==E?void 0:E.abort(),null==p?void 0:p.timeout)),{abortTimeout:c,clearTimeout:()=>{c&&clearTimeout(c)}}),R=await h(O.url,O);w();let _={response:R,request:O};for(let e of f.onResponse)if(e){let n=await e(Q(K({},_),{response:(null==(o=null==t?void 0:t.hookOptions)?void 0:o.cloneResponse)?R.clone():R}));n instanceof Response?R=n:"object"==typeof n&&null!==n&&(R=n.response)}if(R.ok){if("HEAD"===O.method)return{data:"",error:null};let e=function(e){let t=e.headers.get("content-type"),n=new Set(["image/svg","application/xml","application/xhtml","application/html"]);if(!t)return"json";let r=t.split(";").shift()||"";return et.test(r)?"json":n.has(r)||r.startsWith("text/")?"text":"blob"}(R),n={data:null,response:R,request:O};if("json"===e||"text"===e){let e=await R.text(),t=null!=(i=O.jsonParser)?i:er;n.data=await t(e)}else n.data=await R[e]();for(let e of((null==O?void 0:O.output)&&O.output&&!O.disableValidation&&(n.data=await el(O.output,n.data)),f.onSuccess))e&&await e(Q(K({},n),{response:(null==(s=null==t?void 0:t.hookOptions)?void 0:s.cloneResponse)?R.clone():R}));return(null==t?void 0:t.throw)?n.data:{data:n.data,error:null}}let m=null!=(a=null==t?void 0:t.jsonParser)?a:er,S=await R.text(),A=function(e){try{return JSON.parse(e),!0}catch(e){return!1}}(S),L=A?await m(S):null,P={response:R,responseText:S,request:O,error:Q(K({},L),{status:R.status,statusText:R.statusText})};for(let e of f.onError)e&&await e(Q(K({},P),{response:(null==(l=null==t?void 0:t.hookOptions)?void 0:l.cloneResponse)?R.clone():R}));if(null==t?void 0:t.retry){let n=function(e){if("number"==typeof e)return new z({type:"linear",attempts:e,delay:1e3});switch(e.type){case"linear":return new z(e);case"exponential":return new Z(e);default:throw Error("Invalid retry strategy")}}(t.retry),r=null!=(u=t.retryAttempt)?u:0;if(await n.shouldAttemptRetry(r,R)){for(let e of f.onRetry)e&&await e(_);let o=n.getDelay(r);return await new Promise(e=>setTimeout(e,o)),await ec(e,Q(K({},t),{retryAttempt:r+1}))}}if(null==t?void 0:t.throw)throw new X(R.status,R.statusText,A?L:S);return{data:null,error:Q(K({},L),{status:R.status,statusText:R.statusText})}},ef=n(5036);let ed=/[\p{Ll}\d]+|\p{Lu}+(?!\p{Ll})|\p{Lu}[\p{Ll}\d]+|\p{Lo}+/gu,ep=/['\u2019]/g;function eh(e){return(e.replace(ep,"").match(ed)??[]).map(e=>e.toLowerCase()).join("-")}var eE=n(8488);function ev(e){var t;let{pluginPathMethods:n,pluginsActions:r,pluginsAtoms:o,$fetch:i,$store:a,atomListeners:l}=(e=>{var t,n;let r,o,i,a,l,u,f,T="credentials"in Request.prototype,y=function(e,t,n,r){if(e)return d(e,t);if(!1!==r){let e=s.BETTER_AUTH_URL||s.NEXT_PUBLIC_BETTER_AUTH_URL||s.PUBLIC_BETTER_AUTH_URL||s.NUXT_PUBLIC_BETTER_AUTH_URL||s.NUXT_PUBLIC_AUTH_URL||("/"!==s.BASE_URL?s.BASE_URL:void 0);if(e)return d(e,t)}n?.headers.get("x-forwarded-host"),n?.headers.get("x-forwarded-proto");if(n){let e=function(e){try{let t=new URL(e);return"null"===t.origin?null:t.origin}catch{return null}}(n.url);if(!e)throw new c("Could not get origin from request. Please provide a valid base URL.");return d(e,t)}if("u">typeof window&&window.location)return d(window.location.origin,t)}(e?.baseURL,e?.basePath,void 0,void 0)??(e=>{if(void 0!==ef){if(ef.env.NEXT_PUBLIC_AUTH_URL)return ef.env.NEXT_PUBLIC_AUTH_URL;if("u"<typeof window){if(ef.env.NEXTAUTH_URL)try{return ef.env.NEXTAUTH_URL}catch{}if(ef.env.VERCEL_URL)try{let t=ef.env.VERCEL_URL.startsWith("http")?"":"https://";return`${new URL(`${t}${ef.env.VERCEL_URL}`).origin}${e??"/api/auth"}`}catch{}}}})(e?.basePath)??"/api/auth",w=e?.plugins?.flatMap(e=>e.fetchPlugins).filter(e=>void 0!==e)||[],R={id:"lifecycle-hooks",name:"lifecycle-hooks",hooks:{onSuccess:e?.fetchOptions?.onSuccess,onError:e?.fetchOptions?.onError,onRequest:e?.fetchOptions?.onRequest,onResponse:e?.fetchOptions?.onResponse}},{onSuccess:m,onError:S,onRequest:L,onResponse:P,...N}=e?.fetchOptions||{},D=(t={baseURL:y,...T?{credentials:"include"}:{},method:"GET",jsonParser:e=>e?function(e,t={strict:!0}){return function(e,t={}){let{strict:n=!1,warnings:r=!1,reviver:o,parseDates:i=!0}=t;if("string"!=typeof e)return e;let s=e.trim(),a=s.toLowerCase();if(a.length<=9&&a in E)return E[a];if(!h.test(s)){if(n)throw SyntaxError("[better-json] Invalid JSON");return e}if(Object.entries(p).some(([e,t])=>{let n=t.test(s);return n&&r&&console.warn(`[better-json] Detected potential prototype pollution attempt using ${e} pattern`),n})&&n)throw Error("[better-json] Potential prototype pollution attempt detected");try{return JSON.parse(s,(e,t)=>{if("__proto__"===e||"constructor"===e&&t&&"object"==typeof t&&"prototype"in t){r&&console.warn(`[better-json] Dropping "${e}" key to prevent prototype pollution`);return}if(i&&"string"==typeof t){let e=function(e){let t=v.exec(e);if(!t)return null;let[,n,r,o,i,s,a,l,u,c,f]=t,d=new Date(Date.UTC(parseInt(n,10),parseInt(r,10)-1,parseInt(o,10),parseInt(i,10),parseInt(s,10),parseInt(a,10),l?parseInt(l.padEnd(3,"0"),10):0));if(u){let e=(60*parseInt(c,10)+parseInt(f,10))*("+"===u?-1:1);d.setUTCMinutes(d.getUTCMinutes()+e)}return d instanceof Date&&!isNaN(d.getTime())?d:null}(t);if(e)return e}return o?o(e,t):t})}catch(t){if(n)throw t;return e}}(e,t)}(e,{strict:!1}):null,customFetchImpl:fetch,...N,plugins:[R,...N.plugins||[],...e?.disableDefaultFetchPlugins?[]:[g],...w]},async function(e,n){let r,o=Q(K(K({},t),n),{headers:ei(null==t?void 0:t.headers,null==n?void 0:n.headers),plugins:[...(null==t?void 0:t.plugins)||[],(r=t||{},{id:"apply-schema",name:"Apply Schema",version:"1.0.0",async init(e,t){var n,o,i,s;let a=(null==(o=null==(n=r.plugins)?void 0:n.find(t=>{var n;return null!=(n=t.schema)&&!!n.config&&(e.startsWith(t.schema.config.baseURL||"")||e.startsWith(t.schema.config.prefix||""))}))?void 0:o.schema)||r.schema;if(a){let n=e;(null==(i=a.config)?void 0:i.prefix)&&n.startsWith(a.config.prefix)&&(n=n.replace(a.config.prefix,""),a.config.baseURL&&(e=e.replace(a.config.prefix,a.config.baseURL))),(null==(s=a.config)?void 0:s.baseURL)&&n.startsWith(a.config.baseURL)&&(n=n.replace(a.config.baseURL,"")),n.startsWith("/")&&"@"===n.charAt(1)&&(n=n.substring(1));let r=a.schema[n];if(r){let n=null==t?void 0:t.headers;if(r.headers&&!(null==t?void 0:t.disableValidation)){let e={};if(null==t?void 0:t.headers){if(t.headers instanceof Headers)t.headers.forEach((t,n)=>{e[n.toLowerCase()]=t});else if("object"==typeof t.headers)for(let[n,r]of Object.entries(t.headers))null!=r&&(e[n.toLowerCase()]=r)}let o=await el(r.headers,e),i={};for(let[e,t]of Object.entries(o))i[e.toLowerCase()]=t;n=i}let o=Q(K({},t),{method:r.method,output:r.output,headers:n});return(null==t?void 0:t.disableValidation)||(o=Q(K({},o),{body:r.input?await el(r.input,null==t?void 0:t.body):null==t?void 0:t.body,params:r.params?await el(r.params,null==t?void 0:t.params):null==t?void 0:t.params,query:r.query?await el(r.query,null==t?void 0:t.query):null==t?void 0:t.query})),{url:e,options:o}}}return{url:e,options:t}}}),...(null==n?void 0:n.plugins)||[]]});if(null==t?void 0:t.catchAllError)try{return await ec(e,o)}catch(e){return{data:null,error:{status:500,statusText:"Fetch Error",message:"Fetch related error. Captured by catchAllError option. See error property for more details.",error:e}}}return await ec(e,o)}),{$sessionSignal:C,session:F,broadcastSessionUpdate:x}=(o=j(!1),a=j({data:null,error:null,isPending:!0,isRefetching:!1,refetch:i=e=>u(e)}),b(a,({newValue:e,abort:t})=>{B(a.value,e)&&t()},2,e=>{let t=a.set,n=a.setKey;return a.setKey&&(a.setKey=(t,r)=>{let o;if(e({abort:()=>{o=!0},changed:t,newValue:{...a.value,[t]:r}}),!o)return n(t,r)}),a.set=n=>{let r;if(e({abort:()=>{r=!0},newValue:n}),!r)return t(n)},()=>{a.set=t,a.setKey=n}}),l=e=>{if(r!==e)return;let t=a.get();r=void 0,(t.isPending||t.isRefetching)&&a.set({...t,isPending:!1,isRefetching:!1,refetch:i})},u=async e=>{r?.abort();let t=new AbortController;r=t;let n=a.get();a.set({...n,isPending:null===n.data,isRefetching:!0,error:null,refetch:i});try{var o;let n=await D("/get-session",{method:"GET",query:e?.query,signal:t.signal});if(t.signal.aborted)return void l(t);let{data:r,error:s}=k(n);if(r?.needsRefresh)try{let e=await D("/get-session",{method:"POST",signal:t.signal});if(t.signal.aborted)return void l(t);({data:r,error:s}=k(e))}catch{if(t.signal.aborted)return void l(t)}if(s){let e=a.get(),t=s?.status===401;a.set({data:t?null:e.data,error:s,isPending:!1,isRefetching:!1,refetch:i});return}let u=(o=r)&&(null!==o.session||null!==o.user)?o:null,c=a.get(),f=null!=c.data&&null!=u&&O(c.data,u)?c.data:u;a.set({data:f,error:null,isPending:!1,isRefetching:!1,refetch:i})}catch(n){if(t.signal.aborted)return void l(t);let e=a.get();a.set({data:e.data,error:n,isPending:!1,isRefetching:!1,refetch:i})}},f=()=>{},n=()=>{let t;"u"<typeof window||(t=setTimeout(()=>{u()},0));let n=function(e){let{fetchSession:t,shouldPollSession:n=()=>!0,sessionSignal:r,options:o={}}=e,i=o.sessionOptions?.refetchInterval??0,s=o.sessionOptions?.refetchOnWindowFocus??!0,a=o.sessionOptions?.refetchWhenOffline??!1,l={isInitialized:!1,lastSessionRequest:0},u=e=>{if(a||U().isOnline){if(e?.event==="storage")return void t();if(e?.event==="poll"){l.lastSessionRequest=I(),t();return}if(e?.event==="visibilitychange"){if(I()-l.lastSessionRequest<5)return;l.lastSessionRequest=I(),t();return}t()}};return{init:()=>{l.isInitialized||(l.isInitialized=!0,i&&i>0&&(l.pollInterval=setInterval(()=>{n()&&u({event:"poll"})},1e3*i)),l.unsubscribeBroadcast=_().subscribe(()=>{u({event:"storage"})}),s&&(l.unsubscribeFocus=A().subscribe(()=>{u({event:"visibilitychange"})})),l.unsubscribeOnline=U().subscribe(e=>{e&&u({event:"visibilitychange"})}),l.unsubscribeSignal=r.listen(()=>{t()}),l.cleanupBroadcastSetup=_().setup(),l.cleanupFocusSetup=A().setup(),l.cleanupOnlineSetup=U().setup())},cleanup:()=>{l.isInitialized&&(l.pollInterval&&(clearInterval(l.pollInterval),l.pollInterval=void 0),l.unsubscribeBroadcast&&(l.unsubscribeBroadcast(),l.unsubscribeBroadcast=void 0),l.unsubscribeFocus&&(l.unsubscribeFocus(),l.unsubscribeFocus=void 0),l.unsubscribeOnline&&(l.unsubscribeOnline(),l.unsubscribeOnline=void 0),l.unsubscribeSignal&&(l.unsubscribeSignal(),l.unsubscribeSignal=void 0),l.cleanupBroadcastSetup&&(l.cleanupBroadcastSetup(),l.cleanupBroadcastSetup=void 0),l.cleanupFocusSetup&&(l.cleanupFocusSetup(),l.cleanupFocusSetup=void 0),l.cleanupOnlineSetup&&(l.cleanupOnlineSetup(),l.cleanupOnlineSetup=void 0),l.isInitialized=!1,l.lastSessionRequest=0)},triggerRefetch:u,broadcastSessionUpdate:e=>{_().post({event:"session",data:{trigger:e},clientId:Math.random().toString(36).substring(7)})}}}({fetchSession:u,shouldPollSession:()=>null!=a.get().data,sessionSignal:o,options:e});return n.init(),f=n.broadcastSessionUpdate,()=>{t&&clearTimeout(t);let e=r;e?.abort(),e&&l(e),n.cleanup()}},b(a,e=>{let t=n(e);t&&a.events[6].push(t)},5,e=>{let t=a.listen;a.listen=(...n)=>(a.lc||a.active||(a.active=!0,e()),t(...n));let n=a.off;return a.events[6]=[],a.off=()=>{n(),setTimeout(()=>{if(a.active&&!a.lc){for(let e of(a.active=!1,a.events[6]))e();a.events[6]=[]}},1e3)},()=>{a.listen=t,a.off=n}}),{session:a,$sessionSignal:o,broadcastSessionUpdate:e=>f(e)}),$=e?.plugins||[],q={},H={$sessionSignal:C,session:F},V={"/sign-out":"POST","/revoke-sessions":"POST","/revoke-other-sessions":"POST","/delete-user":"POST"},W=[{signal:"$sessionSignal",matcher:e=>"/sign-out"===e||"/update-user"===e||"/update-session"===e||"/sign-up/email"===e||"/sign-in/email"===e||"/delete-user"===e||"/verify-email"===e||"/revoke-sessions"===e||"/revoke-session"===e||"/revoke-other-sessions"===e||"/change-email"===e||"/change-password"===e,callback(e){"/sign-out"===e?x("signout"):("/update-user"===e||"/update-session"===e)&&x("updateUser")}}];for(let e of $)e.getAtoms&&Object.assign(H,e.getAtoms?.(D)),e.pathMethods&&Object.assign(V,e.pathMethods),e.atomListeners&&W.push(...e.atomListeners);let G={notify:e=>{H[e].set(!H[e].get())},listen:(e,t)=>{H[e].subscribe(t)},atoms:H};for(let t of $)t.getActions&&(q=M(t.getActions?.(D,G,e)??{},q));return{get baseURL(){return y},pluginsActions:q,pluginsAtoms:H,pluginPathMethods:V,atomListeners:W,$fetch:D,$store:G}})(e),u={};for(let[e,t]of Object.entries(o))u[function(e){return`use${e.charAt(0).toUpperCase()+e.slice(1)}`}(e)]=()=>(function(e,t={}){let n=(0,eE.useRef)(e.get()),{keys:r,deps:o=[e,r]}=t,i=(0,eE.useCallback)(t=>{let o=e=>{n.current!==e&&(n.current=e,t())};if(o(e.value),r?.length){let t;return t=new Set(r).add(void 0),e.listen((e,n,r)=>{t.has(r)&&o(e,n,r)})}return e.listen(o)},o),s=()=>n.current;return(0,eE.useSyncExternalStore)(i,s,s)})(t);return t={...r,...u,$fetch:i,$store:a},function e(r=[]){return new Proxy(function(){},{get(n,o){var i;if("string"!=typeof o||"then"===o||"catch"===o||"finally"===o)return;let s=[...r,o],a=t;for(let e of s)if(a&&"object"==typeof a&&e in a)a=a[e];else{a=void 0;break}return"function"==typeof a?a:"object"==typeof(i=a)&&null!==i&&"get"in i&&"function"==typeof i.get&&"lc"in i&&"number"==typeof i.lc?a:e(s)},apply:async(e,t,s)=>{let a="/"+r.map(eh).join("/"),u=s[0]||{},c=s[1]||{},{query:f,fetchOptions:d,...p}=u,h={...c,...d},E=function(e,t,n){let r=t[e],{fetchOptions:o,query:i,...s}=n||{};return r||(o?.method?o.method:s&&Object.keys(s).length>0?"POST":"GET")}(a,n,u);return await i(a,{...h,body:"GET"===E?void 0:{...p,...h?.body||{}},query:f||h?.query,method:E,async onSuccess(e){if(await h?.onSuccess?.(e),!l||h.disableSignal)return;let t=l.filter(e=>e.matcher(a));if(!t.length)return;let n=new Set;for(let e of t){let t=o[e.signal];if(!t)return;if(n.has(e.signal))continue;n.add(e.signal);let r=t.get();setTimeout(()=>{t.set(!r)},10),e.callback?.(a)}}})}})}()}},8779:(e,t,n)=>{n.d(t,{N:()=>i});let r=Object.fromEntries(Object.entries({OTP_NOT_ENABLED:"OTP not enabled",OTP_HAS_EXPIRED:"OTP has expired",TOTP_NOT_ENABLED:"TOTP not enabled",TWO_FACTOR_NOT_ENABLED:"Two factor isn't enabled",BACKUP_CODES_NOT_ENABLED:"Backup codes aren't enabled",INVALID_BACKUP_CODE:"Invalid backup code",INVALID_CODE:"Invalid code",TOO_MANY_ATTEMPTS_REQUEST_NEW_CODE:"Too many attempts. Please request a new code.",INVALID_TWO_FACTOR_COOKIE:"Invalid two factor cookie"}).map(([e,t])=>[e,{code:e,message:t,toString:()=>e}]));var o=n(2027);let i=e=>({id:"two-factor",version:"1.6.19",$InferServerPlugin:{},atomListeners:[{matcher:e=>e.startsWith("/two-factor/"),signal:"$sessionSignal"}],pathMethods:{"/two-factor/disable":"POST","/two-factor/enable":"POST","/two-factor/send-otp":"POST","/two-factor/generate-backup-codes":"POST","/two-factor/get-totp-uri":"POST","/two-factor/verify-totp":"POST","/two-factor/verify-otp":"POST","/two-factor/verify-backup-code":"POST"},fetchPlugins:[{id:"two-factor",name:"two-factor",hooks:{async onSuccess(t){if(t.data?.twoFactorRedirect){if(e?.onTwoFactorRedirect)return void await e.onTwoFactorRedirect({twoFactorMethods:t.data.twoFactorMethods});e?.twoFactorPage&&"u">typeof window&&(0,o.qV)(e.twoFactorPage)&&(window.location.href=e.twoFactorPage)}}}}],$ERROR_CODES:r})}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[5701],{972:(e,t,i)=>{i.d(t,{E:()=>n,e:()=>r});let n=["Cockpit","Hierarchy","Execution","Product","Knowledge","Operations","Inbox","System"],r=[{id:"home",title:"Home",href:"/",group:"Cockpit",tile:"Welcome — canonical knowledge & quick navigation",icon:"grid"},{id:"dashboard",title:"Dashboard",href:"/dashboard",group:"Cockpit",tile:"Cockpit hub — status at a glance",icon:"pulse"},{id:"organizations",title:"Organizations",href:"/organizations",group:"Hierarchy",tile:"Manage organizations & workspaces",icon:"grid"},{id:"org",title:"Org Chart",href:"/org",group:"Hierarchy",tile:"Hierarchy & delegation",icon:"agents"},{id:"agents",title:"Agent Studio",href:"/agents/ada",group:"Hierarchy",tile:"Configure each agent",icon:"bot"},{id:"code",title:"Code",href:"/code",group:"Execution",tile:"Code editor & repo files",icon:"terminal"},{id:"tasks",title:"Tasks",href:"/tasks",group:"Execution",tile:"Team kanban board",icon:"files"},{id:"cron",title:"Cron",href:"/cron",group:"Execution",tile:"Scheduled tasks & history",icon:"calendar"},{id:"routines",title:"Routines",href:"/routines",group:"Execution",tile:"Recurring automations",icon:"repeat"},{id:"goals",title:"Goals",href:"/goals",group:"Execution",tile:"Objective tree",icon:"target"},{id:"planner",title:"CEO Planner",href:"/planner",group:"Execution",tile:"Specs → issues → approval → 24/7",icon:"command"},{id:"test-dev",title:"Test Dev",href:"/test-dev",group:"Execution",tile:"Boot, navigate + validate the project",icon:"play"},{id:"pm",title:"Product Manager",href:"/pm",group:"Product",tile:"Sprints & backlog (PO)",icon:"goto"},{id:"reports",title:"Reports",href:"/reports",group:"Knowledge",tile:"Plans, reviews, audits",icon:"doc"},{id:"docs",title:"Docs",href:"/docs",group:"Knowledge",tile:"Architecture, API & PO docs",icon:"doc"},{id:"skills",title:"Skills",href:"/skills",group:"Knowledge",tile:"Agent procedure library",icon:"skill"},{id:"activity",title:"Activity",href:"/activity",group:"Knowledge",tile:"Agent action timeline",icon:"pulse"},{id:"knowledge",title:"Knowledge",href:"/knowledge",group:"Knowledge",tile:"KB index, coverage, gaps & agent recall",icon:"branch"},{id:"costs",title:"Costs",href:"/costs",group:"Operations",tile:"Spend by agent/provider",icon:"coins"},{id:"security",title:"Security",href:"/security",group:"Operations",tile:"Findings & security score",icon:"shield"},{id:"pulse",title:"Pulse",href:"/pulse",group:"Operations",tile:"Agent health & validation",icon:"pulse"},{id:"github",title:"Commit GitHub",href:"/github",group:"Operations",tile:"Push workspace to remote",icon:"git"},{id:"prepare-deploy",title:"Prepare Deploy",href:"/prepare-deploy",group:"Operations",tile:"Prod-prep + export clean source to a deploy repo",icon:"goto"},{id:"models",title:"Models",href:"/models",group:"Operations",tile:"Providers & local models",icon:"cpu"},{id:"update",title:"Update",href:"/update",group:"Operations",tile:"Detect & apply new versions",icon:"goto"},{id:"plugins",title:"Plugins",href:"/plugins",group:"Operations",tile:"Extensions & integrations",icon:"ext"},{id:"inbox",title:"Inbox",href:"/inbox",group:"Inbox",tile:"Approvals & escalations",icon:"inbox"},{id:"notifications",title:"Notifications",href:"/notifications",group:"Inbox",tile:"Passive alert feed",icon:"bell"},{id:"config",title:"Config",href:"/config",group:"System",tile:"Platform settings",icon:"settings"},{id:"profile",title:"Profile",href:"/profile",group:"System",tile:"Account & preferences",icon:"account"}]},2978:(e,t,i)=>{i.d(t,{AgentRunLive:()=>d});var n=i(5076),r=i(8488),o=i(9860),s=i(8576),l=i(4596),a=i(5629);let c=["read","create","edit","run","search","thinking","done","error"];function d({channel:e,resume:t=!1,sinceSeq:i=0,onFinish:u}){let g=(0,a.k)(),p=(0,o.useRouter)(),[h,f]=(0,r.useState)(t),[m,v]=(0,r.useState)([]),[k,x]=(0,r.useState)(0),w=(0,r.useRef)(t?i:0),b=(0,r.useRef)(!1),y=(0,r.useRef)(0);if((0,r.useEffect)(()=>{t&&(w.current=i,b.current=!1,y.current=Date.now(),v([]),x(0),f(!0))},[t,i]),(0,r.useEffect)(()=>{function t(t){let i=t.detail;i?.channel===e&&(w.current=Date.now()-1,b.current=!1,y.current=Date.now(),v([]),x(0),f(!0))}return window.addEventListener("constella:agent-run",t),()=>window.removeEventListener("constella:agent-run",t)},[e]),(0,r.useEffect)(()=>{if(!h)return;y.current||(y.current=Date.now());let e=setInterval(()=>x(Math.floor((Date.now()-y.current)/1e3)),1e3);return()=>clearInterval(e)},[h]),(0,r.useEffect)(()=>{if(!h)return;let t=!0,i=Date.now();async function n(){let n=await (0,l.k)(e,w.current);t&&(n.length&&(w.current=Math.max(w.current,...n.map(e=>e.seq)),v(e=>{let t=new Set(e.map(e=>e.id));return[...e,...n.filter(e=>!t.has(e.id))]}),n.some(e=>"done"===e.kind||"error"===e.kind)&&(b.current||(b.current=!0,p.refresh(),u?.()),setTimeout(()=>{t&&f(!1)},2500))),Date.now()-i>3e5&&f(!1))}n();let r=setInterval(n,700);return()=>{t=!1,clearInterval(r)}},[h,e,p,u]),!h&&0===m.length)return null;let j=function(e){let t=[];for(let i of e)if("text"===i.kind){let e=(i.detail||"").replace(/\s+/g," ").trim();if(!e)continue;let n=t[t.length-1];n&&"text"===n.kind?n.content=(n.content+" "+e).slice(-600):t.push({id:i.id,kind:"text",content:e})}else if("thinking"===i.kind){let e=(i.detail||i.target||"").replace(/\s+/g," ").trim();e&&t.push({id:i.id,kind:"thinking",content:e})}else t.push({id:i.id,kind:i.kind,content:function(e){if(!e)return"";let t=e.split(/[\\/]/);return t.length>1?t.slice(-2).join("/"):e}(i.target)||i.detail||""});return t}(m),N=j.slice(-5),E=j.length-N.length,S=m.some(e=>"done"===e.kind||"error"===e.kind),C=m.some(e=>"error"===e.kind),P=String(Math.floor(k/60)).padStart(2,"0"),I=String(k%60).padStart(2,"0");return(0,n.jsxs)("div",{className:"card live-stream",style:{marginBottom:16,borderColor:C?"var(--sx-keyword)":"var(--accent)"},children:[(0,n.jsxs)("div",{className:"set-desc",style:{marginBottom:8,display:"flex",alignItems:"center",gap:7},children:[h?(0,n.jsx)("span",{className:"dotpulse"}):(0,n.jsx)(s.I,{name:C?"close":"check",size:13,style:{color:C?"var(--sx-keyword)":"var(--sx-string)"}}),h?g("agent.run.working"):C?g("agent.run.failed"):g("agent.run.finished"),j.length>0&&(0,n.jsxs)("span",{style:{color:"var(--text-faint)"},children:["\xb7 ",g(1===j.length?"agent.run.steps.one":"agent.run.steps.other",{n:j.length})]}),(0,n.jsxs)("span",{className:"live-elapsed",style:{marginLeft:"auto"},children:[P,":",I]})]}),0===N.length?(0,n.jsxs)("div",{className:"muted",style:{fontSize:12,display:"flex",alignItems:"center",gap:7},children:[(0,n.jsx)("span",{className:"sync-spin",children:(0,n.jsx)(s.I,{name:"refresh",size:12})})," ",g("agent.run.reading")]}):(0,n.jsxs)(n.Fragment,{children:[E>0&&(0,n.jsx)("div",{className:"live-more",children:g(1===E?"agent.run.earlier.one":"agent.run.earlier.other",{n:E})}),(0,n.jsx)("div",{className:"live-stream-lines",children:N.map(e=>(0,n.jsxs)("div",{className:"live-line "+e.kind,children:["text"!==e.kind&&(0,n.jsx)("span",{className:"ll-k",children:c.includes(e.kind)?g(`agent.verb.${e.kind}`):e.kind}),(0,n.jsxs)("span",{className:"ll-c",children:[e.content,!S&&e===N[N.length-1]&&"text"===e.kind&&(0,n.jsx)("span",{className:"ll-caret"})]})]},e.id))})]})]})}},4414:(e,t,i)=>{i.d(t,{ChatToggle:()=>s});var n=i(5076),r=i(8576),o=i(5629);function s(){let e=(0,o.k)();return(0,n.jsx)("button",{className:"top-btn",title:`${e("chrome.chat.agentRoom")} (⌘J)`,type:"button",onClick:()=>window.dispatchEvent(new CustomEvent("constella:toggle-chat")),children:(0,n.jsx)(r.I,{name:"chat",size:17})})}},4596:(e,t,i)=>{i.d(t,{k:()=>r});var n=i(7814);let r=(0,n.createServerReference)("60350cbfa9096e9dcce966828bb609ab99b931226e",n.callServer,void 0,n.findSourceMapURL,"getEvents")},5787:(e,t,i)=>{i.d(t,{ViewChrome:()=>l});var n=i(5076),r=i(8576),o=i(972),s=i(5629);function l({title:e,sub:t,right:i,icon:a,children:c}){let d=(0,s.k)(),u=o.e.find(t=>t.title===e),g=a??u?.icon,p=u?d(`mod.${u.id}`):e;return(0,n.jsxs)("div",{className:"app-view",children:[(0,n.jsxs)("div",{className:"view-head",children:[g&&(0,n.jsx)("div",{className:"vh-icon",children:(0,n.jsx)(r.I,{name:g,size:18})}),(0,n.jsxs)("div",{style:{flex:1,minWidth:0},children:[(0,n.jsx)("div",{className:"view-title",children:p}),t&&(0,n.jsx)("div",{className:"view-sub",children:t})]}),i]}),(0,n.jsx)("div",{className:"view-body",children:c})]})}},6588:(e,t,i)=>{i.d(t,{BackButton:()=>l});var n=i(5076),r=i(9860),o=i(8576),s=i(5629);function l(){let e=(0,s.k)(),t=(0,r.useRouter)();return(0,n.jsx)("button",{className:"top-btn",title:e("common.back"),style:{marginRight:2},onClick:()=>{window.history.length>1?t.back():t.push("/")},children:(0,n.jsx)(o.I,{name:"chevronLeft",size:18})})}}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[5920],{5920:(e,t,a)=>{Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return r}});let l=a(1532),s=a(6352),u=l._(a(5132)),n=a(4450);async function o({Component:e,ctx:t}){return{pageProps:await (0,n.loadGetInitialProps)(e,t)}}class r extends u.default.Component{static{this.origGetInitialProps=o}static{this.getInitialProps=o}render(){let{Component:e,pageProps:t}=this.props;return(0,s.jsx)(e,{...t})}}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)}}]);
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[6575],{148:(e,t,s)=>{s.d(t,{n:()=>n});var a=s(7814);let n=(0,a.createServerReference)("60d0cb5c233025aec852edd8adcb93dea3c568cb01",a.callServer,void 0,a.findSourceMapURL,"agentRespond")},301:(e,t,s)=>{s.d(t,{f:()=>n});var a=s(7814);let n=(0,a.createServerReference)("00d9736d8273bccac9cc0f11d772837c7a6b5379ad",a.callServer,void 0,a.findSourceMapURL,"reindexKbAction")},534:(e,t,s)=>{s.d(t,{V4:()=>w,H8:()=>E,qs:()=>b});var a=s(5076),n=s(8488),c=s(9860),l=s(4302),r=s(5393),i=s(4552),o=s(8576),d=s(5629),h=s(7814);let m=(0,h.createServerReference)("4012080404897121ed47fb46eb98627890fe98fd2e",h.callServer,void 0,h.findSourceMapURL,"pullKbForComposer"),u=(0,h.createServerReference)("40bd99e6928c358c99c5eaf04087626f8c9750a1b6",h.callServer,void 0,h.findSourceMapURL,"sendMessageToKb"),p=(0,h.createServerReference)("403a8c1f455b194fdbc0e0070e7e9cfce46e2389d7",h.callServer,void 0,h.findSourceMapURL,"taskRef");var x=s(4426),g=s(301);let f={read:"Read",create:"Create",edit:"Edit",run:"Run",search:"Search"},v=[{cmd:"/help",descKey:"help"},{cmd:"/kb",descKey:"kb",arg:"<question>"},{cmd:"/search",descKey:"search",arg:"<query>"},{cmd:"/graph",descKey:"graph",arg:"<key>"},{cmd:"/status",descKey:"status"},{cmd:"/agents",descKey:"agents"},{cmd:"/agent",descKey:"agent",arg:"<handle>"},{cmd:"/new-goal",descKey:"newGoal",arg:"<brief>"},{cmd:"/new-issue",descKey:"newIssue",arg:"<title>"},{cmd:"/new-spec",descKey:"newSpec",arg:"<title>"},{cmd:"/generate-plan",descKey:"generatePlan",arg:"<brief>"},{cmd:"/approve",descKey:"approve"},{cmd:"/reject",descKey:"reject",arg:"<reason>"},{cmd:"/run-247",descKey:"run247"},{cmd:"/pause",descKey:"pause"},{cmd:"/cancel",descKey:"cancel"},{cmd:"/archive",descKey:"archive"},{cmd:"/assign",descKey:"assign",arg:"<issue> <@agent>"},{cmd:"/review",descKey:"review"},{cmd:"/close-sprint",descKey:"closeSprint"},{cmd:"/test-dev",descKey:"testDev"},{cmd:"/github",descKey:"github"},{cmd:"/prepare-deploy",descKey:"prepareDeploy"},{cmd:"/export-source",descKey:"exportSource",arg:"<repo>"},{cmd:"/models",descKey:"models"},{cmd:"/skills",descKey:"skills"},{cmd:"/locks",descKey:"locks"},{cmd:"/telegram",descKey:"telegram"},{cmd:"/reindex",descKey:"reindex"},{cmd:"/curate",descKey:"curate"},{cmd:"/clear",descKey:"clear"}],j={idle:{c:"#6b7390",bg:"rgba(120,130,160,.16)"},working:{c:"#b3d97a",bg:"rgba(179,217,122,.15)"},review:{c:"#e0a44e",bg:"rgba(224,164,78,.16)"},blocked:{c:"#e8688f",bg:"rgba(232,104,143,.16)"}};function b({status:e}){let t=(0,d.k)(),s=j[e]??j.idle;return(0,a.jsx)("span",{className:"status-pill",style:{color:s.c,background:s.bg},children:e in j?t("chat.status."+e):e})}function k(e,t,s){let n=s?Object.fromEntries(s.map(e=>[e.key.toLowerCase(),e])):{},c=s&&s.length>0;return e.split(c?/(@[a-z0-9-]+|#[a-z0-9_-]+)/gi:/(@[a-z0-9-]+)/gi).map((e,s)=>{if(/^@[a-z0-9-]+$/i.test(e)&&t.has(e.slice(1).toLowerCase()))return(0,a.jsx)("span",{className:"mention",children:e},s);if(c&&/^#[a-z0-9_-]+$/i.test(e)){let t=n[e.slice(1).toLowerCase()];if(t){let n="goal"===t.kind?"/goals":"spec"===t.kind?"/planner":"/pm";return(0,a.jsx)("a",{className:"ref-chip",href:n,title:t.title,children:e},s)}}return(0,a.jsx)("span",{children:e},s)})}function N({step:e}){let t,s,n=(0,d.k)(),c=e.kind in f?n("chat.verb."+e.kind):e.kind,l="run"===e.kind,r="edit"===e.kind&&!!e.detail,i="create"===e.kind&&!!e.detail,o=r?e.detail.split("\n"):[],h=r?o.filter(e=>e.startsWith("+")).length:0,m=r?o.filter(e=>e.startsWith("-")).length:0,u=i?e.detail.slice(0,4e3).split("\n"):[];return(0,a.jsxs)("div",{className:"work-step",children:[(0,a.jsxs)("div",{className:"wstep-head",children:[(0,a.jsx)("span",{className:"wstep-verb "+e.kind,children:c}),(0,a.jsx)("span",{className:"wstep-file",children:e.target}),r&&(0,a.jsxs)("span",{className:"wstep-badge",children:[(0,a.jsxs)("span",{className:"plus",children:["+",h]})," ",(0,a.jsxs)("span",{className:"minus",children:["−",m]})]}),i&&(0,a.jsx)("span",{className:"wstep-badge",children:(0,a.jsxs)("span",{className:"plus",children:["+",u.length]})})]}),i&&(0,a.jsx)("div",{className:"wstep-code scroll",children:u.map((e,t)=>(0,a.jsxs)("div",{className:"wcode-line",children:[(0,a.jsx)("span",{className:"wcode-gutter",children:t+1}),(0,a.jsx)("span",{className:"wcode-text",children:e||""})]},t))}),r&&(0,a.jsx)("div",{className:"wstep-code scroll",children:o.map((e,t)=>{let s=e.startsWith("+")?"add":e.startsWith("-")?"del":"ctx";return(0,a.jsxs)("div",{className:"wdiff-line "+s,children:[(0,a.jsx)("span",{className:"wdiff-sign",children:"add"===s?"+":"del"===s?"−":" "}),(0,a.jsx)("span",{className:"wdiff-text",children:e.slice(1)||""})]},t)})}),l&&e.detail&&(s=(t=e.detail.split("\n")).slice(0,14),(0,a.jsxs)("div",{className:"wstep-term",children:[s.map((e,t)=>(0,a.jsx)("div",{className:/✓|passed|ok\b/i.test(e)?"ok":"",children:e||""},t)),t.length>s.length&&(0,a.jsxs)("div",{className:"wstep-more",children:["… +",t.length-s.length," lines"]})]}))]})}function y({steps:e,live:t}){let s=(0,d.k)(),c=e.filter(e=>["read","create","edit","run","search"].includes(e.kind)),l=c.filter(e=>"create"===e.kind||"edit"===e.kind).length,r=[...e].reverse().find(e=>"thinking"===e.kind),i=!t,[h,m]=(0,n.useState)(t);return 0!==c.length||r?(0,a.jsxs)("div",{className:"work-block"+(h?"":" collapsed"),children:[(0,a.jsxs)("button",{type:"button",className:"work-head",onClick:()=>m(e=>!e),children:[i?(0,a.jsx)("span",{className:"done-check",children:(0,a.jsx)(o.I,{name:"check",size:15})}):(0,a.jsx)("span",{className:"spin",children:(0,a.jsx)(o.I,{name:"refresh",size:14})}),(0,a.jsx)("span",{className:"wlabel",children:s(i?"chat.work.done":"chat.work.working")}),(0,a.jsx)("span",{className:"wmeta",children:i?s(1===c.length?"chat.work.actions.one":"chat.work.actions.other",{n:c.length}):s("chat.work.workingEllipsis")}),i&&l>0&&(0,a.jsxs)("span",{className:"wmeta wfiles",title:"files changed",children:["✎ ",l]}),(0,a.jsx)("span",{className:"work-toggle"+(h?" open":""),children:(0,a.jsx)(o.I,{name:"chevronRight",size:13})})]}),h&&(0,a.jsxs)(a.Fragment,{children:[r?.detail&&(0,a.jsxs)("div",{className:"work-thinking",children:[(0,a.jsx)("span",{className:"ti",children:(0,a.jsx)(o.I,{name:"bot",size:13})}),(0,a.jsx)("span",{children:r.detail})]}),(0,a.jsx)("div",{className:"work-steps",children:c.map(e=>(0,a.jsx)(N,{step:e},e.id))})]})]}):null}function w({onSend:e,placeholder:t,agents:s,defaultText:c="",requireMention:l=!1,enableAttachments:r=!0,refs:h}){let[u,p]=(0,n.useState)(c),x=(0,d.k)(),g=!l||u.trim().startsWith("/")||(u.match(/@([a-z0-9-]+)/gi)||[]).some(e=>s.some(t=>t.handle.toLowerCase()===e.slice(1).toLowerCase())),[f,j]=(0,n.useState)(!1),[b,k]=(0,n.useState)(null),[N,y]=(0,n.useState)(null),[S,C]=(0,n.useState)(null),[I,R]=(0,n.useState)([]),[z,L]=(0,n.useState)(""),[M,E]=(0,n.useState)(!1),[D,K]=(0,n.useState)(!1),[A,P]=(0,n.useState)(""),[T,U]=(0,n.useState)(null),[$,O]=(0,n.useState)(""),[H,W]=(0,n.useTransition)(),q=(0,n.useRef)(null),F=(0,n.useRef)(null),B=(0,n.useRef)(null),_=void 0!==h;async function V(e){if(!e||!e.length)return;L("");let t=10-I.length,s=Array.from(e).slice(0,Math.max(0,t));if(!s.length)return void L(x("chat.composer.maxAttachments"));let a=new FormData;for(let e of s)a.append("files",e);E(!0);try{let e=await fetch("/api/upload",{method:"POST",body:a}),t=await e.json();if(!e.ok||!t.ok)return void L(t.error??x("chat.composer.uploadFailed"));R(e=>[...e,...t.attachments].slice(0,10))}catch{L(x("chat.composer.uploadFailed"))}finally{E(!1),F.current&&(F.current.value="")}}function G(e){e.style.height="auto",e.style.height=Math.min(e.scrollHeight,260)+"px"}function J(e){if(!b||!q.current)return;let t=u.slice(0,b.start),s=u.slice(q.current.selectionStart),a="@"+e.handle+" ";p(t+a+s),B.current=(t+a).length,k(null),requestAnimationFrame(()=>q.current?.focus())}function X(e){if(!N||!q.current)return;let t=u.slice(0,N.start),s=u.slice(q.current.selectionStart),a="#"+e.key+" ";p(t+a+s),B.current=(t+a).length,y(null),requestAnimationFrame(()=>q.current?.focus())}function Q(e){let t=e.cmd+(e.arg?" ":"");p(t),B.current=t.length,C(null),requestAnimationFrame(()=>q.current?.focus())}function Y(){let e=A.trim();if(!e){U(null),O(x("chat.kbPull.empty"));return}O(""),U(null),W(async()=>{let t=await m(e);t.ok&&t.text?U({text:t.text,sources:t.sources??[]}):O(x("chat.kbPull.noResult"))})}function Z(){let t=u.trim();!t&&0===I.length||g&&(e(t,I.length?I:void 0),p(""),R([]),L(""),q.current&&(q.current.style.height="auto"),k(null),C(null),y(null),K(!1))}return(0,n.useEffect)(()=>{null!=B.current&&q.current&&(q.current.setSelectionRange(B.current,B.current),B.current=null)}),(0,a.jsxs)("div",{className:"chat-composer",children:[b&&(0,a.jsxs)("div",{className:"mention-pop",children:[(0,a.jsxs)("div",{className:"mention-head",children:[(0,a.jsx)(o.I,{name:"at",size:12})," ",x("chat.composer.mentionAgent")]}),(0,a.jsxs)("div",{className:"mention-list scroll",children:[0===b.items.length&&(0,a.jsx)("div",{className:"mention-empty",children:x("chat.noAgentMatch",{q:b.query})}),b.items.map((e,t)=>(0,a.jsxs)("div",{className:"mention-item"+(t===b.index?" active":""),onMouseEnter:()=>k(e=>e&&{...e,index:t}),onMouseDown:t=>{t.preventDefault(),J(e)},children:[(0,a.jsx)(i.e,{name:e.name,color:e.color,size:24}),(0,a.jsx)("div",{className:"mi-text",children:(0,a.jsxs)("div",{className:"mi-name",children:[e.name," ",(0,a.jsxs)("span",{className:"mi-handle",children:["@",e.handle]})]})}),(0,a.jsx)("span",{className:"mi-role",children:e.role})]},e.handle))]})]}),N&&(0,a.jsxs)("div",{className:"mention-pop",children:[(0,a.jsxs)("div",{className:"mention-head",children:[(0,a.jsx)(o.I,{name:"branch",size:12})," ",x("chat.composer.referenceItem")]}),(0,a.jsxs)("div",{className:"mention-list scroll",children:[0===N.items.length&&(0,a.jsx)("div",{className:"mention-empty",children:x("chat.noRefMatch",{q:N.query})}),N.items.map((e,t)=>(0,a.jsxs)("div",{className:"mention-item"+(t===N.index?" active":""),onMouseEnter:()=>y(e=>e&&{...e,index:t}),onMouseDown:t=>{t.preventDefault(),X(e)},children:[(0,a.jsx)("span",{className:"mi-ref-kind",children:x("chat.composer.refKind."+e.kind)}),(0,a.jsx)("div",{className:"mi-text",children:(0,a.jsxs)("div",{className:"mi-name",children:[(0,a.jsxs)("span",{className:"mi-handle",children:["#",e.key]})," ",e.title]})})]},e.id))]})]}),S&&(0,a.jsxs)("div",{className:"mention-pop",children:[(0,a.jsxs)("div",{className:"mention-head",children:[(0,a.jsx)(o.I,{name:"command",size:12})," ",x("chat.commands")]}),(0,a.jsx)("div",{className:"mention-list scroll",children:S.items.map((e,t)=>(0,a.jsxs)("div",{className:"mention-item"+(t===S.index?" active":""),onMouseEnter:()=>C(e=>e&&{...e,index:t}),onMouseDown:t=>{t.preventDefault(),Q(e)},children:[(0,a.jsx)("div",{className:"mi-text",children:(0,a.jsxs)("div",{className:"mi-name",children:[e.cmd,e.arg&&(0,a.jsxs)("span",{className:"mi-handle",children:[" ",e.arg]})]})}),(0,a.jsx)("span",{className:"mi-role",children:x("chat.slash."+e.descKey)})]},e.cmd))})]}),D&&(0,a.jsxs)("div",{className:"mention-pop kb-pull-pop",children:[(0,a.jsxs)("div",{className:"mention-head",children:[(0,a.jsx)(o.I,{name:"branch",size:12})," ",x("chat.kbPull.title")]}),(0,a.jsxs)("div",{className:"kb-pull-body",children:[(0,a.jsxs)("div",{className:"kb-pull-row",children:[(0,a.jsx)("input",{className:"kb-pull-input",value:A,placeholder:x("chat.kbPull.placeholder"),onChange:e=>{P(e.target.value),O("")},onKeyDown:e=>{"Enter"===e.key&&(e.preventDefault(),Y()),"Escape"===e.key&&(e.preventDefault(),K(!1))}}),(0,a.jsxs)("button",{type:"button",className:"att-btn",disabled:H,onMouseDown:e=>e.preventDefault(),onClick:Y,children:[H?(0,a.jsx)("span",{className:"spin",children:(0,a.jsx)(o.I,{name:"refresh",size:13})}):(0,a.jsx)(o.I,{name:"search",size:13}),x("chat.kbPull.search")]})]}),(0,a.jsx)("div",{className:"kb-pull-preview",children:H?(0,a.jsx)("div",{className:"kb-pull-muted",children:x("chat.kbPull.searching")}):T?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("div",{className:"kb-pull-text",children:T.text}),T.sources.length>0&&(0,a.jsx)("div",{className:"kb-pull-sources",children:T.sources.map(e=>(0,a.jsx)("span",{children:e},e))})]}):(0,a.jsx)("div",{className:$?"kb-pull-error":"kb-pull-muted",children:$||x("chat.kbPull.empty")})}),T&&(0,a.jsx)("div",{className:"kb-pull-actions",children:(0,a.jsxs)("button",{type:"button",className:"send-btn",onMouseDown:e=>e.preventDefault(),onClick:function(){if(!T)return;let e=T.sources.length?`
|
|
2
|
+
Sources: ${T.sources.join(", ")}`:"",t=`KB: ${T.text}${e}`;p(e=>e.trim()?`${e.trimEnd()}
|
|
3
|
+
|
|
4
|
+
${t}`:t),K(!1),U(null),O(""),requestAnimationFrame(()=>{q.current&&(G(q.current),q.current.focus())})},children:[(0,a.jsx)(o.I,{name:"add",size:13})," ",x("chat.kbPull.insert")]})})]})]}),(0,a.jsxs)("div",{className:"composer-box"+(f?" focus":""),children:[I.length>0&&(0,a.jsx)("div",{className:"att-row",children:I.map((e,t)=>(0,a.jsxs)("span",{className:"att-chip",children:[(0,a.jsx)(o.I,{name:/^image\//.test(e.type)||"application/pdf"===e.type?"doc":"files",size:11}),(0,a.jsx)("span",{className:"att-name",children:e.name}),(0,a.jsx)("button",{className:"att-x",onClick:()=>R(e=>e.filter((e,s)=>s!==t)),children:(0,a.jsx)(o.I,{name:"close",size:10})})]},e.path))}),z&&(0,a.jsx)("div",{style:{fontSize:10.5,color:"#e8688f",padding:"2px 8px"},children:z}),(0,a.jsx)("textarea",{ref:q,className:"composer-input",value:u,rows:1,placeholder:t,onChange:e=>{p(e.target.value),function(e,t){let a=e.match(/^\/([a-z-]*)$/i);if(a){let e=a[1].toLowerCase(),t=v.filter(t=>t.cmd.slice(1).startsWith(e));k(null),y(null),C(t.length?{items:t,index:0}:null);return}C(null);let n=e.slice(0,t).match(/#([a-z0-9_-]*)$/i);if(n&&h&&h.length>0){let e=n[1].toLowerCase(),s=h.filter(t=>t.key.toLowerCase().includes(e)||t.title.toLowerCase().includes(e));k(null),y({query:e,start:t-n[0].length,items:s,index:0});return}y(null);let c=e.slice(0,t).match(/@([a-z0-9-]*)$/i);if(!c)return k(null);let l=c[1].toLowerCase(),r=s.filter(e=>e.handle.includes(l)||e.name.toLowerCase().includes(l)||e.role.toLowerCase().includes(l));k({query:l,start:t-c[0].length,items:r,index:0})}(e.target.value,e.target.selectionStart),G(e.target)},onKeyDown:function(e){if(S&&S.items.length){if("ArrowDown"===e.key){e.preventDefault(),C(e=>e&&{...e,index:(e.index+1)%e.items.length});return}if("ArrowUp"===e.key){e.preventDefault(),C(e=>e&&{...e,index:(e.index-1+e.items.length)%e.items.length});return}if("Enter"===e.key||"Tab"===e.key){e.preventDefault(),Q(S.items[S.index]);return}if("Escape"===e.key){e.preventDefault(),C(null);return}}if(N&&N.items.length){if("ArrowDown"===e.key){e.preventDefault(),y(e=>e&&{...e,index:(e.index+1)%e.items.length});return}if("ArrowUp"===e.key){e.preventDefault(),y(e=>e&&{...e,index:(e.index-1+e.items.length)%e.items.length});return}if("Enter"===e.key||"Tab"===e.key){e.preventDefault(),X(N.items[N.index]);return}if("Escape"===e.key){e.preventDefault(),y(null);return}}if(b&&b.items.length){if("ArrowDown"===e.key){e.preventDefault(),k(e=>e&&{...e,index:(e.index+1)%e.items.length});return}if("ArrowUp"===e.key){e.preventDefault(),k(e=>e&&{...e,index:(e.index-1+e.items.length)%e.items.length});return}if("Enter"===e.key||"Tab"===e.key){e.preventDefault(),J(b.items[b.index]);return}if("Escape"===e.key){e.preventDefault(),k(null);return}}if("Escape"===e.key&&D){e.preventDefault(),K(!1);return}"Enter"!==e.key||e.shiftKey||(e.preventDefault(),Z())},onFocus:()=>j(!0),onBlur:()=>j(!1)}),r&&(0,a.jsx)("input",{ref:F,type:"file",multiple:!0,hidden:!0,accept:".png,.jpg,.jpeg,.gif,.webp,.bmp,.pdf,.txt,.md,.csv,.json,.log,.zip,.doc,.docx,.xls,.xlsx,.ppt,.pptx",onChange:e=>V(e.target.files)}),(0,a.jsxs)("div",{className:"composer-foot",children:[(0,a.jsxs)("span",{className:"composer-actions",children:[r&&(0,a.jsxs)("button",{type:"button",className:"att-btn",title:x("chat.composer.attachTitle"),disabled:M||I.length>=10,onClick:()=>F.current?.click(),children:[M?(0,a.jsx)("span",{className:"spin",children:(0,a.jsx)(o.I,{name:"refresh",size:13})}):(0,a.jsx)(o.I,{name:"add",size:14})," ",I.length>0?`${I.length}/10`:x("chat.composer.attach")]}),_&&(0,a.jsxs)("button",{type:"button",className:"att-btn kb-pull-btn",title:x("chat.kbPull.open"),disabled:H,onMouseDown:e=>e.preventDefault(),onClick:function(){P(u.replace(/@[a-z0-9-]+/gi,"").trim().slice(0,180)),U(null),O(""),k(null),C(null),y(null),K(e=>!e)},children:[(0,a.jsx)(o.I,{name:"branch",size:13})," ",x("chat.kbPull.open")]})]}),l&&u.trim()&&!g?(0,a.jsxs)("span",{className:"composer-hint",style:{color:"#f0a35e"},children:[(0,a.jsx)(o.I,{name:"at",size:11})," ",x("chat.composer.mentionToSend")]}):(0,a.jsxs)("span",{className:"composer-hint",children:[(0,a.jsx)("kbd",{children:"↵"})," ",x("chat.composer.send")," \xb7 ",(0,a.jsx)("kbd",{children:"⇧↵"})," ",x("chat.composer.newline")]}),(0,a.jsxs)("button",{className:"send-btn",disabled:!u.trim()&&0===I.length||!g,onMouseDown:e=>e.preventDefault(),onClick:Z,children:[(0,a.jsx)(o.I,{name:"send",size:13})," ",x("home.cmd.run")]})]})]})]})}function S({atts:e}){return(0,a.jsx)("div",{className:"msg-atts",children:e.map(e=>{let t=`/api/upload?path=${encodeURIComponent(e.path)}`;return/^image\//.test(e.type)?(0,a.jsx)("a",{href:t,target:"_blank",rel:"noreferrer",className:"msg-att-img",title:e.name,children:(0,a.jsx)("img",{src:t,alt:e.name,loading:"lazy"})},e.path):(0,a.jsxs)("a",{href:t,target:"_blank",rel:"noreferrer",className:"msg-att-doc",title:e.name,children:[(0,a.jsx)(o.I,{name:"doc",size:13})," ",(0,a.jsx)("span",{className:"mad-name",children:e.name})]},e.path)})})}function C({id:e}){let t=(0,d.k)(),[s,c]=(0,n.useTransition)(),[l,r]=(0,n.useState)(!1);return(0,a.jsx)("button",{type:"button",className:"cmsg-kb",disabled:s||l,title:t(l?"chat.kbSave.saved":"chat.kbSave.send"),onClick:()=>c(async()=>{(await u(e)).ok&&r(!0)}),style:{background:"none",border:"none",cursor:l?"default":"pointer",padding:0,marginLeft:2,display:"inline-flex",alignItems:"center",color:l?"var(--accent)":"var(--text-faint)",opacity:s?.5:1},children:(0,a.jsx)(o.I,{name:l?"check":"branch",size:11,className:s?"sync-spin":""})})}function I({taskId:e}){let[t,s]=(0,n.useState)(null);return((0,n.useEffect)(()=>{let t=!0;return p(e).then(e=>{t&&s(e)}).catch(()=>{}),()=>{t=!1}},[e]),t)?(0,a.jsxs)("div",{style:{marginTop:5,fontSize:10.5,color:"var(--text-faint)",display:"flex",alignItems:"center",gap:5,flexWrap:"wrap"},children:[(0,a.jsx)(o.I,{name:"branch",size:10}),(0,a.jsx)("span",{style:{color:"var(--accent)",fontWeight:600},children:t.taskKey}),t.issueKey&&(0,a.jsxs)("span",{children:["\xb7 ",t.issueKey]}),t.goalTitle&&(0,a.jsxs)("span",{children:["\xb7 ",t.goalTitle.slice(0,40)]}),t.col&&(0,a.jsx)("span",{style:{padding:"0 5px",borderRadius:5,border:"1px solid var(--border)",textTransform:"capitalize"},children:t.col})]}):null}function R({blocks:e}){let t=(0,c.useRouter)(),s=(0,d.k)();return(0,a.jsxs)("div",{style:{marginTop:5,fontSize:10.5,color:"var(--text-faint)",display:"flex",alignItems:"center",gap:5,flexWrap:"wrap"},children:[(0,a.jsx)(o.I,{name:"doc",size:10}),(0,a.jsx)("span",{children:s("chat.touchedBlocks")}),e.map(e=>(0,a.jsx)("button",{type:"button",title:s("chat.touchedBlocks"),onClick:()=>t.push("/knowledge"),style:{color:"var(--accent)",fontWeight:600,background:"rgba(120,100,255,.10)",border:"1px solid rgba(120,100,255,.25)",borderRadius:4,padding:"0 5px",cursor:"pointer"},children:e},e))]})}function z({sources:e}){let[t,s]=(0,n.useState)(!1),c=(0,d.k)();return(0,a.jsxs)("div",{className:"msg-sources",children:[(0,a.jsxs)("button",{type:"button",className:"msg-sources-toggle",onClick:()=>s(e=>!e),children:[(0,a.jsx)(o.I,{name:"pulse",size:10})," ",c("chat.sources",{n:e.length})," ",(0,a.jsx)(o.I,{name:t?"chevronDown":"chevronRight",size:11})]}),t&&(0,a.jsx)("div",{className:"msg-sources-list",children:e.map((e,t)=>(0,a.jsx)("span",{children:e},t))})]})}function L({text:e,markdown:t,known:s,refs:c}){let i=(0,d.k)(),[o,h]=(0,n.useState)(!1),m=e.length>900;return(0,a.jsxs)("div",{className:"cmsg-bubble"+(m&&!o?" clamped":""),children:[t?(0,a.jsx)("div",{className:"md cmsg-md",children:(0,a.jsx)(l.oz,{remarkPlugins:[r.A],children:e})}):k(e,s,c),m&&(0,a.jsx)("button",{type:"button",className:"cmsg-more",onClick:()=>h(e=>!e),children:i(o?"chat.showLess":"chat.showMore")})]})}function M({m:e}){let t=(0,d.k)(),s=(0,c.useRouter)(),[i,h]=(0,n.useTransition)(),[m,u]=(0,n.useState)(!1),[p,f]=(0,n.useState)(null);return(0,a.jsxs)("div",{className:"kb-card",children:[(0,a.jsxs)("div",{className:"kb-card-head",children:[(0,a.jsx)(o.I,{name:"branch",size:14})," ",t("kbcard.title")]}),(0,a.jsx)("div",{className:"kb-card-body cmsg-md",children:(0,a.jsx)(l.oz,{remarkPlugins:[r.A],children:e.text})}),p&&(0,a.jsxs)("div",{className:"kb-card-note",children:[(0,a.jsx)(o.I,{name:"check",size:12})," ",p]}),(0,a.jsxs)("div",{className:"kb-card-actions",children:[(0,a.jsx)("button",{className:"kbc-btn primary",disabled:i,onClick:()=>h(async()=>{f(t("kbcard.created",{n:(await (0,x.V)()).seeded})),s.refresh()}),children:t("home.createBlocks")}),(0,a.jsx)("button",{className:"kbc-btn",onClick:()=>s.push("/knowledge"),children:t("home.openKnowledge")}),(0,a.jsx)("button",{className:"kbc-btn",disabled:i,onClick:()=>h(async()=>{f(t("kb.reindexResult",{n:(await (0,g.f)()).chunks})),s.refresh()}),children:t("kb.reindex")})]}),e.sources&&e.sources.length>0&&(0,a.jsxs)("div",{className:"kb-card-sources",children:[(0,a.jsxs)("button",{type:"button",className:"msg-sources-toggle",onClick:()=>u(e=>!e),children:[(0,a.jsx)(o.I,{name:"pulse",size:10})," ",t("chat.sources",{n:e.sources.length})," ",(0,a.jsx)(o.I,{name:m?"chevronDown":"chevronRight",size:11})]}),m&&(0,a.jsx)("div",{className:"msg-sources-list",children:e.sources.map((e,t)=>(0,a.jsx)("span",{children:e},t))})]})]})}function E({msgs:e,typing:t,agents:s,byRun:c,liveRuns:l,loading:r,highlightId:o,operator:h,markdownAgent:m=!1,emptyHint:u,avatarSize:p=30,refs:x}){let g=(0,d.k)(),f=(0,n.useRef)(null),v=(0,n.useRef)(!0),j=Object.fromEntries(s.map(e=>[e.handle,e])),b=new Set(s.map(e=>e.handle));return(0,n.useEffect)(()=>{let e=f.current;e&&v.current&&(e.scrollTop=e.scrollHeight)},[e,t,c,l]),(0,n.useEffect)(()=>{o&&document.getElementById("m-"+o)?.scrollIntoView({block:"center",behavior:"smooth"})},[o,e]),(0,a.jsxs)("div",{className:"chat-stream scroll",ref:f,onScroll:()=>{let e=f.current;e&&(v.current=e.scrollHeight-e.scrollTop-e.clientHeight<120)},children:[[...e].sort((e,t)=>{let s=e.createdAt?new Date(e.createdAt).getTime():0,a=t.createdAt?new Date(t.createdAt).getTime():0;return s!==a?s-a:("operator"!==e.fromKind)-("operator"!==t.fromKind)}).map(e=>{let t="operator"===e.fromKind,s=e.fromHandle?j[e.fromHandle]:null,n=c[e.id],l=!t&&"kb-card"===e.kind;return(0,a.jsxs)("div",{className:"cmsg"+(t?" operator":"")+(o===e.id?" highlight":""),id:"m-"+e.id,children:[t?h?.image?(0,a.jsx)(i.e,{name:h.name||g("chat.you"),color:"#9a5cff",image:h.image,size:p}):(0,a.jsx)("div",{className:"avatar",style:{background:"linear-gradient(150deg,#e0a44e,#9a5cff)",color:"#1a1206",width:p,height:p,borderRadius:Math.round(.3*p),display:"grid",placeItems:"center",fontWeight:700,fontSize:Math.round(.4*p)},children:"OP"}):s?(0,a.jsx)(i.e,{name:s.name,color:s.color,image:s.image,size:p}):(0,a.jsx)(i.e,{name:"?",color:"#6b7390",size:p}),(0,a.jsxs)("div",{className:"cmsg-body",children:[(0,a.jsxs)("div",{className:"cmsg-head",children:[(0,a.jsx)("span",{className:"cmsg-name",children:t?g("chat.you"):s?.name??e.fromHandle}),!t&&s&&(0,a.jsx)("span",{className:"cmsg-role",children:s.role}),(0,a.jsx)("span",{className:"cmsg-when",children:function(e){if(!e)return"";let t="string"==typeof e?new Date(e):e,s=t.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"}),a=t.toLocaleDateString([],{day:"2-digit",month:"short"});return`${a}, ${s}`}(e.createdAt)}),!t&&e.text&&(0,a.jsx)(C,{id:e.id})]}),n&&n.length>0&&(0,a.jsx)(y,{steps:n,live:!1}),l?(0,a.jsx)(M,{m:e}):e.text&&(0,a.jsx)(L,{text:e.text,markdown:m&&!t,known:b,refs:x}),e.attachments&&e.attachments.length>0&&(0,a.jsx)(S,{atts:e.attachments}),!t&&!l&&e.sources&&e.sources.length>0&&(0,a.jsx)(z,{sources:e.sources}),!t&&e.taskId&&(0,a.jsx)(I,{taskId:e.taskId}),!t&&e.blocks&&e.blocks.length>0&&(0,a.jsx)(R,{blocks:e.blocks})]})]},e.id)}),l.map(([e,t])=>{let n=t.find(e=>e.agentId)?.agentId,c=s.find(e=>e.id===n);if(!c)return null;let l=t.reduce((e,t)=>Math.max(e,t.seq||0),0),r=t.some(e=>"done"===e.kind)||l>0&&Date.now()-l>12e4,o=t.filter(e=>"text"===e.kind).map(e=>e.detail).join("");return(0,a.jsxs)("div",{className:"cmsg",children:[(0,a.jsx)(i.e,{name:c.name,color:c.color,image:c.image,size:p}),(0,a.jsxs)("div",{className:"cmsg-body",children:[(0,a.jsxs)("div",{className:"cmsg-head",children:[(0,a.jsx)("span",{className:"cmsg-name",children:c.name}),(0,a.jsx)("span",{className:"cmsg-role",children:c.role})]}),(0,a.jsx)(y,{steps:t,live:!r}),o&&(0,a.jsxs)("div",{className:"cmsg-bubble",children:[k(o,b,x),!r&&(0,a.jsx)("span",{className:"live-caret"})]})]})]},"live-"+e)}),t.filter(e=>{let t=j[e];return t&&!l.some(([,e])=>e.some(e=>e.agentId===t.id))}).map(e=>{let t=j[e];return t?(0,a.jsxs)("div",{className:"cmsg",children:[(0,a.jsx)(i.e,{name:t.name,color:t.color,image:t.image,size:p}),(0,a.jsxs)("div",{className:"cmsg-body",children:[(0,a.jsxs)("div",{className:"cmsg-head",children:[(0,a.jsx)("span",{className:"cmsg-name",children:t.name}),(0,a.jsx)("span",{className:"cmsg-role",children:t.role})]}),(0,a.jsxs)("div",{className:"typing-bubble",children:[(0,a.jsx)("span",{}),(0,a.jsx)("span",{}),(0,a.jsx)("span",{})]})]})]},"typing-"+e):null}),r&&0===e.length&&0===l.length&&(0,a.jsx)("div",{className:"chat-skel","aria-label":g("home.chat.loading"),children:[0,1,2].map(e=>(0,a.jsxs)("div",{className:"skel-row",style:{animationDelay:`${.12*e}s`},children:[(0,a.jsx)("div",{className:"skel-avatar"}),(0,a.jsxs)("div",{className:"skel-lines",children:[(0,a.jsx)("div",{className:"skel-line",style:{width:"38%"}}),(0,a.jsx)("div",{className:"skel-line",style:{width:1===e?"82%":"64%"}}),2!==e&&(0,a.jsx)("div",{className:"skel-line",style:{width:"48%"}})]})]},e))}),!r&&0===e.length&&0===t.length&&0===l.length&&(0,a.jsx)("div",{className:"mention-empty",style:{textAlign:"center",padding:22},children:u??g("chat.stream.emptyHint")})]})}},802:(e,t,s)=>{s.d(t,{uG:()=>A,QE:()=>D,CZ:()=>K});var a=s(5076),n=s(8488),c=s(7814);let l=(0,c.createServerReference)("00a55801af3806132467405f233192ea636fee148b",c.callServer,void 0,c.findSourceMapURL,"listChatRefs");var r=s(8254);let i=(0,c.createServerReference)("40a89a6aa372c179e974403b54f4303dd66c029b4f",c.callServer,void 0,c.findSourceMapURL,"listSessions"),o=(0,c.createServerReference)("607730158d2ade8dc03dd94697f17bd507a89f9d62",c.callServer,void 0,c.findSourceMapURL,"createSession"),d=(0,c.createServerReference)("60f2859bba3e7f6feceac5fc5b298f46cfb24552a0",c.callServer,void 0,c.findSourceMapURL,"switchSession"),h=(0,c.createServerReference)("604377b7ad20f1228ae09af0dff31ab74d3101247c",c.callServer,void 0,c.findSourceMapURL,"renameSession"),m=(0,c.createServerReference)("60274ac60e99aeecc97c1aa071731a4f75dc25f46b",c.callServer,void 0,c.findSourceMapURL,"deleteSession");var u=s(8443),p=s(3957),x=s(7013),g=s(148),f=s(5629),v=s(9569),j=s(3540),b=s(1160),k=s(4596),N=s(9798),y=s(6225);let w=(0,c.createServerReference)("0040bee539e42104701103db876de8b65aadce0f02",c.callServer,void 0,c.findSourceMapURL,"getChatNotifications"),S=(0,c.createServerReference)("005406bc9633c08e58a939d761cbb5ea03a2ddb329",c.callServer,void 0,c.findSourceMapURL,"getUnreadCounts"),C=(0,c.createServerReference)("40386159e3d07134d1c9bb1e9f0cde9c32327d7578",c.callServer,void 0,c.findSourceMapURL,"markChannelRead"),I=(0,c.createServerReference)("40a7acd898b6442b12681929a24a23e99c4a8b0659",c.callServer,void 0,c.findSourceMapURL,"markNotifRead");var R=s(4552),z=s(8576),L=s(891),M=s(8163),E=s(534);function D({agents:e,previews:t,onOpenDM:s}){let c=(0,f.k)(),[l,r]=(0,n.useState)(""),i=l.trim().toLowerCase(),o=e.filter(e=>!i||e.name.toLowerCase().includes(i)||e.handle.includes(i)||e.role.toLowerCase().includes(i));return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)("div",{className:"dm-search",children:[(0,a.jsx)(z.I,{name:"search",size:13}),(0,a.jsx)("input",{placeholder:c("chat.searchAgents"),value:l,onChange:e=>r(e.target.value),autoFocus:!0})]}),(0,a.jsxs)("div",{className:"people-list scroll",children:[0===o.length&&(0,a.jsx)("div",{className:"mention-empty",children:c("chat.noAgentMatch",{q:l})}),o.map(e=>{let n=t[e.handle];return(0,a.jsxs)("div",{className:"people-row",onClick:()=>s(e.handle),children:[(0,a.jsx)(R.e,{name:e.name,color:e.color,image:e.image,size:36,health:e.health}),(0,a.jsxs)("div",{className:"people-meta",children:[(0,a.jsxs)("div",{className:"people-name",style:{display:"flex",alignItems:"center",gap:6},children:[e.name," ",(0,a.jsxs)("span",{className:"agent-handle",children:["@",e.handle]})," ","idle"!==e.status&&(0,a.jsx)(L.m,{status:e.status})]}),(0,a.jsx)("div",{className:"people-sub"+(n?" preview":""),children:n?(n.mine?c("chat.youPrefix"):"")+(n.text||"…"):`${e.role} \xb7 ${e.adapter}`})]}),(0,a.jsx)("span",{className:"people-go",children:(0,a.jsx)(z.I,{name:n?"chat":"chevronRight",size:14})})]},e.handle)})]})]})}function K({onConnected:e}){let t=(0,f.k)(),[s,c]=(0,n.useState)(""),[l,r]=(0,n.useState)(""),[i,o]=(0,n.useState)(""),[d,h]=(0,n.useState)(""),[m,u]=(0,n.useState)(""),[p,x]=(0,n.useTransition)();return(0,a.jsx)("div",{className:"tg-connect scroll",children:(0,a.jsxs)("div",{className:"tg-card",children:[(0,a.jsxs)("div",{className:"tg-card-head",children:[(0,a.jsx)("span",{className:"tg-card-ico",children:(0,a.jsx)(z.I,{name:"send",size:18})}),(0,a.jsxs)("div",{children:[(0,a.jsx)("div",{className:"tg-card-title",children:t("chat.tg.connectTitle")}),(0,a.jsx)("div",{className:"tg-card-sub",children:t("chat.tg.connectSub")})]})]}),(0,a.jsxs)("ol",{className:"tg-steps",children:[(0,a.jsxs)("li",{children:[t("chat.tg.step1.a")," ",(0,a.jsx)("b",{children:"@BotFather"})," ",t("chat.tg.step1.b")," → ",(0,a.jsx)("code",{children:"/newbot"})," → ",t("chat.tg.step1.c")," ",(0,a.jsx)("b",{children:t("chat.tg.step1.token")}),"."]}),(0,a.jsxs)("li",{children:[t("chat.tg.step2.a")," ",(0,a.jsx)("b",{children:"@userinfobot"})," → ",t("chat.tg.step2.b")," ",(0,a.jsx)("b",{children:t("chat.tg.step2.chatId")})," ",t("chat.tg.step2.c")]}),(0,a.jsx)("li",{children:t("chat.tg.step3")})]}),(0,a.jsxs)("label",{className:"tg-field",children:[(0,a.jsx)("span",{children:t("chat.tg.botToken")}),(0,a.jsx)("input",{className:"form-input",placeholder:"123456789:AA…",value:s,onChange:e=>c(e.target.value)})]}),(0,a.jsxs)("div",{className:"tg-field-row",children:[(0,a.jsxs)("label",{className:"tg-field",children:[(0,a.jsx)("span",{children:t("chat.tg.yourChatId")}),(0,a.jsx)("input",{className:"form-input",placeholder:"123456789",value:l,onChange:e=>r(e.target.value)})]}),(0,a.jsxs)("label",{className:"tg-field",children:[(0,a.jsx)("span",{children:t("chat.tg.yourName")}),(0,a.jsx)("input",{className:"form-input",placeholder:t("chat.tg.namePlaceholder"),value:i,onChange:e=>o(e.target.value)})]})]}),d&&(0,a.jsx)("div",{className:"tg-msg err",children:d}),m&&(0,a.jsx)("div",{className:"tg-msg ok",children:m}),(0,a.jsxs)("button",{className:"btn-accent tg-save",disabled:p||!s.trim()||!l.trim(),onClick:function(){h(""),u(""),x(async()=>{let a=await (0,v.M)(s,l,i);a.ok?(u(t("chat.tg.botConnected",{bot:"@"+(a.username??"bot")})),c(""),r(""),o(""),e()):h(a.error??t("chat.tg.connectionFailed"))})},children:[p?(0,a.jsx)("span",{className:"spin",children:(0,a.jsx)(z.I,{name:"refresh",size:13})}):(0,a.jsx)(z.I,{name:"send",size:13})," ",t("chat.tg.connectBot")]}),(0,a.jsxs)("div",{className:"tg-note",children:[(0,a.jsx)(z.I,{name:"bot",size:12})," ",t("chat.tg.isolatedNote")]})]})})}function A({agents:e,operator:t}){let s,c,v,L,[P,T]=(0,n.useState)(!1),[U,$]=(0,n.useState)("right"),[O,H]=(0,n.useState)(380),[W,q]=(0,n.useState)("room"),[F,B]=(0,n.useState)("all"),[_,V]=(0,n.useState)(""),G=(0,f.k)(),[J,X]=(0,n.useState)([]),[Q,Y]=(0,n.useState)([]),[Z,ee]=(0,n.useState)([]),[et,es]=(0,n.useState)(!1),[ea,en]=(0,n.useState)(null),[ec,el]=(0,n.useState)(!1),[er,ei]=(0,n.useState)([]),[eo,ed]=(0,n.useState)({}),[eh,em]=(0,n.useState)(!1),[eu,ep]=(0,n.useState)(null),[ex,eg]=(0,n.useState)({}),[ef,ev]=(0,n.useState)(""),[ej,eb]=(0,n.useState)(0),[ek,eN]=(0,n.useState)([]),[ey,ew]=(0,n.useState)(null),[eS,eC]=(0,n.useState)(0),[eI,eR]=(0,n.useState)([]),[,ez]=(0,n.useTransition)(),eL=(0,n.useRef)(0),eM=(0,n.useRef)(0),eE=(0,n.useRef)(null),eD=(0,n.useRef)({}),eK=(0,n.useRef)([]),[eA,eP]=(0,n.useState)(null),eT=Object.fromEntries(e.map(e=>[e.handle,e])),eU=W.startsWith("dm:");(0,n.useEffect)(()=>{P&&!eI.length&&l().then(eR).catch(()=>{})},[P]);let e$="people"===W,eO="telegram"===W,eH=eU?W.slice(3):null,eW=eH?eT[eH]:null,eq=eU?W:eO?"telegram":"room";function eF(){delete eD.current[eq],eC(e=>e+1)}(0,n.useEffect)(()=>{function e(){T(e=>!e)}function t(e){T(!0);let t=e.detail?.channel;("room"===t||"telegram"===t||t&&t.startsWith("dm:"))&&q(t)}return window.addEventListener("constella:toggle-chat",e),window.addEventListener("constella:open-chat",t),()=>{window.removeEventListener("constella:toggle-chat",e),window.removeEventListener("constella:open-chat",t)}},[]),(0,n.useEffect)(()=>{try{"1"===localStorage.getItem("bx.chatOpen")&&T(!0);let e=localStorage.getItem("bx.chatSide");("left"===e||"right"===e)&&$(e);let t=Number(localStorage.getItem("bx.chatWidth"));t>=320&&t<=640&&H(t)}catch{}},[]),(0,n.useEffect)(()=>{try{localStorage.setItem("bx.chatOpen",P?"1":"0")}catch{}},[P]),(0,n.useEffect)(()=>{try{localStorage.setItem("bx.chatSide",U)}catch{}},[U]),(0,n.useEffect)(()=>{try{localStorage.setItem("bx.chatWidth",String(O))}catch{}},[O]),(0,n.useEffect)(()=>{function e(e){let t=e.detail;t?.handle&&(T(!0),q("dm:"+t.handle),t.text&&(ev(t.text),eb(e=>e+1)))}return window.addEventListener("constella:open-dm",e),()=>window.removeEventListener("constella:open-dm",e)},[]),(0,n.useEffect)(()=>{if(!P||e$)return;let e=!1,t=()=>({msgs:[],events:[],evSeq:0,msgCursor:0}),s=e=>e.length>250?e.slice(-250):e;for(eK.current=[...eK.current.filter(e=>e!==eq),eq];eK.current.length>6;){let e=eK.current.shift();e&&e!==eq&&delete eD.current[e]}let a=eD.current[eq];async function n(){let[t,s]=await Promise.all([(0,r.V)(eq),(0,k.k)(eq,0)]);e||(X(t),Y(s),eL.current=s.reduce((e,t)=>Math.max(e,t.seq),0),eM.current=t.reduce((e,t)=>Math.max(e,t.createdAt?new Date(t.createdAt).getTime():0),0),eD.current[eq]={msgs:t,events:s,evSeq:eL.current,msgCursor:eM.current})}function c(){if(e||document.hidden||eE.current)return;let a=new EventSource(`/api/stream?channel=${encodeURIComponent(eq)}&evCursor=${eL.current}&msgCursor=${eM.current}`);eE.current=a,a.addEventListener("ev",e=>{let a=JSON.parse(e.data);a.seq>eL.current&&(eL.current=a.seq),Y(e=>e.some(e=>e.id===a.id)?e:s([...e,a]));let n=eD.current[eq]??t();n.events.some(e=>e.id===a.id)||(eD.current[eq]={...n,events:s([...n.events,a]),evSeq:eL.current})}),a.addEventListener("msg",e=>{let a=JSON.parse(e.data),n=a.createdAt?new Date(a.createdAt).getTime():0;if(n>eM.current&&(eM.current=n),"cleared"===a.kind){X([a]),Y([]),ee([]),eD.current[eq]={...t(),msgs:[a],msgCursor:eM.current,evSeq:eL.current};return}X(e=>e.some(e=>e.id===a.id)?e:s([...e,a])),Y(e=>e.filter(e=>e.runId!==a.id||"text"!==e.kind));let c=eD.current[eq]??t();eD.current[eq]={...c,msgs:c.msgs.some(e=>e.id===a.id)?c.msgs:s([...c.msgs,a]),events:c.events.filter(e=>e.runId!==a.id||"text"!==e.kind),msgCursor:eM.current}})}function l(){eE.current&&(eE.current.close(),eE.current=null)}a?(X(a.msgs),Y(a.events),eL.current=a.evSeq,eM.current=a.msgCursor,es(!1)):(X([]),Y([]),eL.current=0,eM.current=0,es(!0)),a?document.hidden||c():n().catch(()=>{}).finally(()=>{!e&&(es(!1),document.hidden||c())});let i=()=>{document.hidden?l():c()};return document.addEventListener("visibilitychange",i),()=>{e=!0,document.removeEventListener("visibilitychange",i),l()}},[P,W,eS]),(0,n.useEffect)(()=>{P&&eU?i(eq).then(eN).catch(()=>{}):eN([])},[P,W,eS]);let eB=()=>(0,u.b)().then(e=>eg(e));(0,n.useEffect)(()=>{P&&eB()},[P,W]);let e_=()=>(0,j.G)().then(e=>eP(e)).catch(()=>eP({connected:!1}));(0,n.useEffect)(()=>{P&&eO&&e_()},[P,W]);let eV=async()=>{if(!e$)try{let e=await (0,N.p)(eq);if(e.used>=e.max&&!ec){el(!0);try{await (0,y.L)(eq),e=await (0,N.p)(eq)}finally{el(!1)}}en(e)}catch{}};async function eG(){if(!ec){el(!0);try{await (0,y.L)(eq),await eV()}finally{el(!1)}}}function eJ(){ew({title:G("chat.dock.clearTitle"),body:G("chat.dock.clearBody"),confirmLabel:G("common.clear"),onConfirm:()=>ez(async()=>{await (0,p.H)(eq).catch(()=>{}),X([]),Y([]),ee([]),delete eD.current[eq],eL.current=0,eM.current=0,await eV(),eU&&await eB()})})}(0,n.useEffect)(()=>{P&&!e$?eV():e$&&en(null)},[P,W,J.length]);let eX=async()=>{try{let[e,t]=await Promise.all([w(),S()]);ei(e),ed(t)}catch{}};async function eQ(e){em(!1),e.channel&&q(e.channel.startsWith("dm:")?e.channel:"room"),e.messageId&&(ep(e.messageId),setTimeout(()=>ep(null),2600));try{await I(e.id)}catch{}eX()}function eY(e,t){ez(async()=>{let{responders:s}=await (0,x._)(eq,e,t);if(s.length){for(let e of(ee(s),s))await (0,g.n)(eq,e),ee(t=>t.filter(t=>t!==e));ee([])}eU&&await eB()})}if((0,n.useEffect)(()=>{P&&eX()},[P,W,J.length]),(0,n.useEffect)(()=>{P&&!e$&&C(eq).then(eX).catch(()=>{})},[P,W,J.length]),!P)return(0,a.jsx)("button",{className:"chat-fab",style:{display:"grid",placeItems:"center"},onClick:()=>T(!0),title:G("chrome.chat.agentRoom"),children:(0,a.jsx)(z.I,{name:"chat",size:20})});let eZ={};for(let e of Q)(eZ[e.runId]??=[]).push(e);let e0=new Set(J.map(e=>e.id)),e1=Object.entries(eZ).filter(([e])=>!e0.has(e)),e2=Object.keys(ex).length,e4=eo.room??0,e5=Object.entries(eo).reduce((e,[t,s])=>t.startsWith("dm:")?e+s:e,0),e9=eo.telegram??0;return(0,a.jsxs)("div",{className:"chat-dock "+U,style:{width:O},children:[(0,a.jsx)("div",{className:"dock-resizer "+U,onMouseDown:function(e){e.preventDefault();let t=e.clientX;function s(e){let s=e.clientX-t;H(Math.max(320,Math.min(640,"right"===U?O-s:O+s)))}document.body.style.cursor="col-resize",window.addEventListener("mousemove",s),window.addEventListener("mouseup",function e(){window.removeEventListener("mousemove",s),window.removeEventListener("mouseup",e),document.body.style.cursor=""})}}),(0,a.jsxs)("div",{className:"dock-toolbar",children:[(0,a.jsxs)("span",{className:"dock-toolbar-title",children:[(0,a.jsx)(z.I,{name:"agents",size:15,style:{color:"var(--accent)"}})," ",G("chat.dock.agents")]}),(0,a.jsxs)("div",{className:"dock-tools",children:[(0,a.jsxs)("div",{className:"dock-bell-wrap",children:[(0,a.jsxs)("button",{className:"dock-tool",title:G("top.notifications"),onClick:()=>em(e=>!e),children:[(0,a.jsx)(z.I,{name:"bell",size:15}),er.length>0&&(0,a.jsx)("span",{className:"dock-bell-badge",children:er.length})]}),eh&&(0,a.jsxs)("div",{className:"dock-notif-pop",children:[(0,a.jsxs)("div",{className:"dock-notif-head",children:[G("top.notifications")," ",er.length>0&&(0,a.jsxs)("span",{children:["(",er.length,")"]})]}),0===er.length&&(0,a.jsx)("div",{className:"dock-notif-empty",children:G("chat.dock.nothingNeedsYou")}),er.map(e=>(0,a.jsxs)("button",{className:"dock-notif-row"+("approval"===e.kind?" approval":""),onClick:()=>eQ(e),children:[(0,a.jsx)("span",{className:"dn-ico",children:(0,a.jsx)(z.I,{name:"approval"===e.kind?"check":"at",size:13})}),(0,a.jsxs)("span",{className:"dn-body",children:[(0,a.jsx)("span",{className:"dn-text",children:e.text}),e.detail&&(0,a.jsx)("span",{className:"dn-detail",children:e.detail})]}),(0,a.jsx)("span",{className:"dn-go",children:(0,a.jsx)(z.I,{name:"chevronRight",size:12})})]},e.id))]})]}),(0,a.jsx)("button",{className:"dock-tool",title:"right"===U?G("chat.dock.moveLeft"):G("chat.dock.moveRight"),onClick:()=>$(e=>"right"===e?"left":"right"),children:(0,a.jsx)(z.I,{name:"right"===U?"dockLeft":"dockRight",size:15})}),(0,a.jsx)("button",{className:"dock-tool",title:G("chat.dock.hide"),onClick:()=>T(!1),children:(0,a.jsx)(z.I,{name:"close",size:15})})]})]}),(0,a.jsxs)("div",{className:"dock-tabs",children:[(0,a.jsxs)("button",{className:"dock-tab"+(eU||e$||eO?"":" on"),onClick:()=>q("room"),children:[(0,a.jsx)(z.I,{name:"agents",size:14})," ",G("chat.dock.tabRoom"),e4>0&&(0,a.jsx)("span",{className:"dt-badge",children:e4})]}),(0,a.jsxs)("button",{className:"dock-tab"+(e$||eU?" on":""),onClick:()=>q("people"),children:[(0,a.jsx)(z.I,{name:"chat",size:14})," ",G("chat.dock.tabDirect"),(e5||e2)>0&&(0,a.jsx)("span",{className:"dt-badge",children:e5||e2})]}),(0,a.jsxs)("button",{className:"dock-tab"+(eO?" on":""),onClick:()=>q("telegram"),children:[(0,a.jsx)(z.I,{name:"send",size:14})," Telegram",e9>0&&(0,a.jsx)("span",{className:"dt-badge",children:e9})]})]}),!e$&&!(eO&&eA&&!eA.connected)&&(0,a.jsxs)("div",{className:"ctx-bar",children:[ea?(0,a.jsx)(M.m,{stat:ea,onCompact:eG,compacting:ec}):(0,a.jsx)("span",{}),eO?(0,a.jsxs)("span",{className:"ctx-hint",title:G("chat.dock.tgIsolatedTip"),children:[(0,a.jsx)(z.I,{name:"bot",size:12})," ",G("chat.dock.isolatedThreadAda")]}):(0,a.jsxs)("span",{className:"ctx-hint",title:G("chat.dock.dmAdaTip"),children:[(0,a.jsx)(z.I,{name:"bot",size:12})," ",G("home.chat.dmAda")]})]}),eU&&eW?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)("div",{className:"dm-back-row",children:[(0,a.jsxs)("button",{className:"dm-back-btn",onClick:()=>q("people"),children:[(0,a.jsx)(z.I,{name:"chevronLeft",size:14})," ",G("chat.dock.allAgents")]}),(0,a.jsxs)("div",{style:{marginLeft:"auto",display:"flex",alignItems:"center",gap:5,flexWrap:"wrap",justifyContent:"flex-end"},children:[ek.map(e=>(0,a.jsxs)("span",{className:"sess-pill",children:[(0,a.jsx)("button",{className:"sess-tab"+(e.active?" active":""),title:e.active?G("chat.dock.sessActiveTip"):G("chat.dock.sessSwitchTip"),onClick:()=>{var t;return t=e.id,void(!ek.find(e=>e.id===t)?.active&&ez(async()=>{await d(eq,t).catch(()=>{}),eF()}))},onDoubleClick:()=>{var t,s;let a;return t=e.id,s=e.title,void(null!=(a=prompt(G("chat.dock.renameSession"),s))&&ez(async()=>{await h(t,a).catch(()=>{}),i(eq).then(eN).catch(()=>{})}))},children:e.title}),ek.length>1&&(0,a.jsx)("button",{className:"sess-del",title:G("chat.dock.sessDelete"),onClick:()=>{var t,s;return t=e.id,s=e.title,void ew({title:G("chat.dock.deleteSessionTitle"),body:G("chat.dock.deleteSessionBody",{title:s}),confirmLabel:G("common.delete"),onConfirm:()=>ez(async()=>{await m(eq,t).catch(()=>{}),eF(),i(eq).then(eN).catch(()=>{})})})},children:(0,a.jsx)(z.I,{name:"close",size:11})})]},e.id)),(0,a.jsxs)("button",{className:"sess-new",title:G("chat.dock.sessNewTip"),onClick:function(){ez(async()=>{await o(eq).catch(()=>{}),eF()})},children:[(0,a.jsx)(z.I,{name:"add",size:12})," ",G("chat.dock.sessNew")]})]})]}),(0,a.jsxs)("div",{className:"chat-header dm",children:[(0,a.jsx)(R.e,{name:eW.name,color:eW.color,image:eW.image,size:34,health:eW.health}),(0,a.jsxs)("div",{children:[(0,a.jsxs)("div",{className:"chat-title",children:[eW.name," ",(0,a.jsxs)("span",{className:"agent-handle",children:["@",eW.handle]})]}),(0,a.jsxs)("div",{className:"chat-sub",children:[eW.role," \xb7 ",eW.adapter]})]}),(0,a.jsxs)("div",{style:{marginLeft:"auto",display:"flex",alignItems:"center",gap:8},children:[(0,a.jsx)(E.qs,{status:eW.status}),(0,a.jsx)("button",{className:"dock-tool",title:G("chat.dock.clearConversation"),onClick:eJ,children:(0,a.jsx)(z.I,{name:"trash",size:15})})]})]}),(0,a.jsxs)("div",{className:"dm-context-note",children:[(0,a.jsx)("span",{className:"ico",children:(0,a.jsx)(z.I,{name:"bot",size:14})}),G("chat.dock.dmContextNote",{name:eW.name})]}),(0,a.jsx)(E.H8,{msgs:J,typing:Z,agents:e,byRun:eZ,liveRuns:e1,loading:et,highlightId:eu,operator:t,markdownAgent:!0}),(0,a.jsx)(E.V4,{onSend:eY,agents:e,defaultText:ef,placeholder:G("chat.dock.messageAgent",{name:eW.name})},"dm:"+eH+":"+ej)]}):e$?(0,a.jsx)(D,{agents:e,previews:ex,onOpenDM:e=>{q("dm:"+e)}}):eO?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)("div",{className:"chat-header room",children:[(0,a.jsx)("div",{className:"brand-ico",style:{background:"linear-gradient(150deg,#2aabee,#229ed9)",color:"#fff"},children:(0,a.jsx)(z.I,{name:"send",size:16})}),(0,a.jsxs)("div",{children:[(0,a.jsx)("div",{className:"chat-title",children:"Telegram"}),(0,a.jsx)("div",{className:"chat-sub",children:eA?.connected?G("chat.tg.connectedSub",{name:eA.allowedName||G("chat.tg.you"),chatId:eA.chatIdMasked??""}):G("chat.tg.connectPrompt")})]}),eA?.connected&&(0,a.jsxs)("div",{style:{marginLeft:"auto",display:"flex",gap:6},children:[(0,a.jsx)("button",{className:"dock-tool",title:G("chat.dock.clearConversation"),onClick:eJ,children:(0,a.jsx)(z.I,{name:"trash",size:15})}),(0,a.jsx)("button",{className:"dock-tool",title:G("chat.tg.disconnect"),onClick:()=>{confirm(G("chat.tg.disconnectConfirm"))&&ez(async()=>{await (0,b.K)(),e_()})},children:(0,a.jsx)(z.I,{name:"close",size:15})})]})]}),eA&&!eA.connected?(0,a.jsx)(K,{onConnected:e_}):(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)("div",{className:"dm-context-note",children:[(0,a.jsx)("span",{className:"ico",children:(0,a.jsx)(z.I,{name:"send",size:14})}),G("chat.tg.isolatedThreadNote")]}),(0,a.jsx)(E.H8,{msgs:J,typing:Z,agents:e,byRun:eZ,liveRuns:e1,loading:et||!eA,highlightId:eu,operator:t,markdownAgent:!0}),(0,a.jsx)(E.V4,{onSend:eY,agents:e,placeholder:G("chat.tg.composerPlaceholder")},"telegram:"+ej)]})]}):(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)("div",{className:"chat-header room",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("div",{className:"chat-title",children:G("chat.dock.teamChannel")}),(0,a.jsx)("div",{className:"chat-sub",children:G("chat.dock.teamChannelSub",{n:e.length})})]}),(0,a.jsxs)("div",{className:"chat-members",children:[e.slice(0,6).map(e=>(0,a.jsx)("button",{className:"member-btn",title:G("chat.dock.dmName",{name:e.name}),onClick:()=>{q("dm:"+e.handle)},children:(0,a.jsx)(R.e,{name:e.name,color:e.color,size:26})},e.handle)),e.length>6&&(0,a.jsxs)("button",{className:"more",title:G("chat.dock.allAgents"),onClick:()=>q("people"),children:["+",e.length-6]})]})]}),(s=Array.from(new Set(e.map(e=>e.role))).sort(),c="all"===F?J:"type:work"===F?J.filter(e=>(eZ[e.id]?.length??0)>0||!!e.kind):"type:chat"===F?J.filter(e=>!eZ[e.id]?.length&&!e.kind):F.startsWith("role:")?J.filter(e=>"operator"===e.fromKind||e.fromHandle&&eT[e.fromHandle]?.role===F.slice(5)):J.filter(e=>"operator"===e.fromKind||e.fromHandle===F),L=(v=_.trim().toLowerCase())?c.filter(e=>(e.text??"").toLowerCase().includes(v)):c,(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)("div",{className:"room-filter",children:[(0,a.jsx)("span",{className:"rf-label",children:G("chat.filter")}),(0,a.jsx)("button",{type:"button",className:"rf-chip"+("all"===F?" on":""),onClick:()=>B("all"),children:G("common.all")}),(0,a.jsx)("button",{type:"button",className:"rf-chip rf-lane"+("type:work"===F?" on":""),title:G("chat.filter.work"),onClick:()=>B("type:work"===F?"all":"type:work"),children:G("chat.filter.work")}),(0,a.jsx)("button",{type:"button",className:"rf-chip rf-lane"+("type:chat"===F?" on":""),title:G("chat.filter.discussion"),onClick:()=>B("type:chat"===F?"all":"type:chat"),children:G("chat.filter.discussion")}),s.map(e=>(0,a.jsx)("button",{type:"button",className:"rf-chip rf-role"+(F==="role:"+e?" on":""),title:G("chat.filter.byRole"),onClick:()=>B(F==="role:"+e?"all":"role:"+e),children:e},"role:"+e)),e.map(e=>(0,a.jsxs)("button",{type:"button",className:"rf-chip"+(F===e.handle?" on":""),title:e.name,onClick:()=>B(F===e.handle?"all":e.handle),children:["@",e.handle]},e.handle)),(0,a.jsxs)("span",{className:"rf-search",children:[(0,a.jsx)(z.I,{name:"search",size:12}),(0,a.jsx)("input",{value:_,onChange:e=>V(e.target.value),placeholder:G("chat.filter.search"),"aria-label":G("chat.filter.search")}),_&&(0,a.jsx)("button",{type:"button",className:"rf-clear",onClick:()=>V(""),"aria-label":G("common.dismiss"),children:(0,a.jsx)(z.I,{name:"close",size:11})})]})]}),(0,a.jsx)(E.H8,{msgs:L,typing:Z,agents:e,byRun:eZ,liveRuns:e1,loading:et,highlightId:eu,operator:t,markdownAgent:!0,refs:eI})]})),(0,a.jsx)(E.V4,{onSend:eY,agents:e,defaultText:"room"===W?ef:"",requireMention:!0,placeholder:G("chat.dock.roomPlaceholder"),refs:eI},"room:"+ej)]}),ey&&(0,a.jsx)("div",{className:"modal-overlay",onMouseDown:()=>ew(null),children:(0,a.jsxs)("div",{className:"modal",style:{width:380},onMouseDown:e=>e.stopPropagation(),children:[(0,a.jsx)("div",{className:"modal-head",children:(0,a.jsxs)("div",{className:"modal-title",children:[(0,a.jsx)(z.I,{name:"trash",size:15,style:{color:"var(--sx-keyword)"}})," ",ey.title]})}),(0,a.jsx)("div",{className:"modal-body",children:(0,a.jsx)("div",{style:{fontSize:13,color:"var(--text-dim)",lineHeight:1.55},children:ey.body})}),(0,a.jsxs)("div",{className:"modal-foot",children:[(0,a.jsx)("button",{className:"btn-ghost",onClick:()=>ew(null),children:G("common.cancel")}),(0,a.jsx)("button",{className:"btn-accent",style:{background:"var(--sx-keyword)",borderColor:"var(--sx-keyword)",color:"#fff"},onClick:()=>{ey.onConfirm(),ew(null)},children:ey.confirmLabel})]})]})})]})}},891:(e,t,s)=>{s.d(t,{m:()=>c});var a=s(5076);let n={working:{c:"var(--sx-string)",pulse:!0,label:"working"},review:{c:"#e0a44e",label:"review"},blocked:{c:"#e8688f",label:"blocked"},idle:{c:"var(--text-faint)",label:"idle"}};function c({status:e,label:t=!1,size:s=8}){let l=n[e]??n.idle;return(0,a.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:5},title:l.label,children:[l.pulse?(0,a.jsx)("span",{className:"dotpulse"}):(0,a.jsx)("span",{style:{width:s,height:s,borderRadius:"50%",background:l.c,display:"inline-block",flex:`0 0 ${s}px`}}),t&&(0,a.jsx)("span",{style:{fontSize:11,color:l.c,fontWeight:600},children:l.label})]})}},972:(e,t,s)=>{s.d(t,{E:()=>a,e:()=>n});let a=["Cockpit","Hierarchy","Execution","Product","Knowledge","Operations","Inbox","System"],n=[{id:"home",title:"Home",href:"/",group:"Cockpit",tile:"Welcome — canonical knowledge & quick navigation",icon:"grid"},{id:"dashboard",title:"Dashboard",href:"/dashboard",group:"Cockpit",tile:"Cockpit hub — status at a glance",icon:"pulse"},{id:"organizations",title:"Organizations",href:"/organizations",group:"Hierarchy",tile:"Manage organizations & workspaces",icon:"grid"},{id:"org",title:"Org Chart",href:"/org",group:"Hierarchy",tile:"Hierarchy & delegation",icon:"agents"},{id:"agents",title:"Agent Studio",href:"/agents/ada",group:"Hierarchy",tile:"Configure each agent",icon:"bot"},{id:"code",title:"Code",href:"/code",group:"Execution",tile:"Code editor & repo files",icon:"terminal"},{id:"tasks",title:"Tasks",href:"/tasks",group:"Execution",tile:"Team kanban board",icon:"files"},{id:"cron",title:"Cron",href:"/cron",group:"Execution",tile:"Scheduled tasks & history",icon:"calendar"},{id:"routines",title:"Routines",href:"/routines",group:"Execution",tile:"Recurring automations",icon:"repeat"},{id:"goals",title:"Goals",href:"/goals",group:"Execution",tile:"Objective tree",icon:"target"},{id:"planner",title:"CEO Planner",href:"/planner",group:"Execution",tile:"Specs → issues → approval → 24/7",icon:"command"},{id:"test-dev",title:"Test Dev",href:"/test-dev",group:"Execution",tile:"Boot, navigate + validate the project",icon:"play"},{id:"pm",title:"Product Manager",href:"/pm",group:"Product",tile:"Sprints & backlog (PO)",icon:"goto"},{id:"reports",title:"Reports",href:"/reports",group:"Knowledge",tile:"Plans, reviews, audits",icon:"doc"},{id:"docs",title:"Docs",href:"/docs",group:"Knowledge",tile:"Architecture, API & PO docs",icon:"doc"},{id:"skills",title:"Skills",href:"/skills",group:"Knowledge",tile:"Agent procedure library",icon:"skill"},{id:"activity",title:"Activity",href:"/activity",group:"Knowledge",tile:"Agent action timeline",icon:"pulse"},{id:"knowledge",title:"Knowledge",href:"/knowledge",group:"Knowledge",tile:"KB index, coverage, gaps & agent recall",icon:"branch"},{id:"costs",title:"Costs",href:"/costs",group:"Operations",tile:"Spend by agent/provider",icon:"coins"},{id:"security",title:"Security",href:"/security",group:"Operations",tile:"Findings & security score",icon:"shield"},{id:"pulse",title:"Pulse",href:"/pulse",group:"Operations",tile:"Agent health & validation",icon:"pulse"},{id:"github",title:"Commit GitHub",href:"/github",group:"Operations",tile:"Push workspace to remote",icon:"git"},{id:"prepare-deploy",title:"Prepare Deploy",href:"/prepare-deploy",group:"Operations",tile:"Prod-prep + export clean source to a deploy repo",icon:"goto"},{id:"models",title:"Models",href:"/models",group:"Operations",tile:"Providers & local models",icon:"cpu"},{id:"update",title:"Update",href:"/update",group:"Operations",tile:"Detect & apply new versions",icon:"goto"},{id:"plugins",title:"Plugins",href:"/plugins",group:"Operations",tile:"Extensions & integrations",icon:"ext"},{id:"inbox",title:"Inbox",href:"/inbox",group:"Inbox",tile:"Approvals & escalations",icon:"inbox"},{id:"notifications",title:"Notifications",href:"/notifications",group:"Inbox",tile:"Passive alert feed",icon:"bell"},{id:"config",title:"Config",href:"/config",group:"System",tile:"Platform settings",icon:"settings"},{id:"profile",title:"Profile",href:"/profile",group:"System",tile:"Account & preferences",icon:"account"}]},1160:(e,t,s)=>{s.d(t,{K:()=>n});var a=s(7814);let n=(0,a.createServerReference)("0004fcfebc7fd217fc56bfde97f0368d7b062514ff",a.callServer,void 0,a.findSourceMapURL,"disconnectTelegram")},3540:(e,t,s)=>{s.d(t,{G:()=>n});var a=s(7814);let n=(0,a.createServerReference)("00d75257f9f356309639dae233515ae82177a86925",a.callServer,void 0,a.findSourceMapURL,"telegramStatus")},3957:(e,t,s)=>{s.d(t,{H:()=>n});var a=s(7814);let n=(0,a.createServerReference)("40f6caab8ced7af9717ac92a276af538dff7e6c390",a.callServer,void 0,a.findSourceMapURL,"clearConversation")},4426:(e,t,s)=>{s.d(t,{V:()=>n});var a=s(7814);let n=(0,a.createServerReference)("001ca14233174eb65c5db8f6f3f79dff6315b1e906",a.callServer,void 0,a.findSourceMapURL,"seedDefaultBlocksAction")},4552:(e,t,s)=>{s.d(t,{e:()=>n});var a=s(5076);function n({name:e,color:t,size:s=24,health:c,image:l}){let r=Math.max(6,Math.round(.3*s)),i=Math.round(.28*s),o=l?/^(data:|https?:|\/)/.test(l)?l:`/api/upload?path=${encodeURIComponent(l)}`:null;return(0,a.jsxs)("span",{style:{position:"relative",width:s,height:s,flex:`0 0 ${s}px`,display:"inline-block"},children:[o?(0,a.jsx)("img",{src:o,alt:e,width:s,height:s,style:{width:s,height:s,borderRadius:i,objectFit:"cover",display:"block"}}):(0,a.jsx)("span",{style:{width:s,height:s,borderRadius:i,background:t,color:"#fff",display:"grid",placeItems:"center",fontSize:Math.round(.42*s),fontWeight:700},children:(e[0]||"?").toUpperCase()}),c&&(0,a.jsx)("span",{style:{position:"absolute",right:-1,bottom:-1,width:r,height:r,borderRadius:"50%",background:"alive"===c?"var(--sx-string)":"stale"===c?"var(--sx-number)":"var(--text-faint)",border:"1.5px solid var(--bg-elevated)"}})]})}},4596:(e,t,s)=>{s.d(t,{k:()=>n});var a=s(7814);let n=(0,a.createServerReference)("60350cbfa9096e9dcce966828bb609ab99b931226e",a.callServer,void 0,a.findSourceMapURL,"getEvents")},6225:(e,t,s)=>{s.d(t,{L:()=>n});var a=s(7814);let n=(0,a.createServerReference)("4056ab3cc032fae8f56c74779d48cd84fb58496eb2",a.callServer,void 0,a.findSourceMapURL,"compactConversation")},7013:(e,t,s)=>{s.d(t,{_:()=>n});var a=s(7814);let n=(0,a.createServerReference)("7065dc50a1fbfbf6df06a5269179ea2e057df35741",a.callServer,void 0,a.findSourceMapURL,"sendMessage")},8163:(e,t,s)=>{s.d(t,{m:()=>i});var a=s(5076),n=s(4552),c=s(8576),l=s(5629);let r=e=>e>=1e3?`${(e/1e3).toFixed(1)}k`:String(e);function i({stat:e,onCompact:t,compacting:s}){let o=(0,l.k)(),d=2*Math.PI*15,h=Math.min(1,e.used/e.max)*d,m=Math.min(1,e.reserve/e.max)*d,u=e.usedPct>=85?"#e8688f":e.usedPct>=65?"#e0a44e":"#b3d97a",p=e.remainingPct<=35;return(0,a.jsxs)("div",{className:"ctx-donut-wrap",children:[(0,a.jsxs)("div",{className:"ctx-donut",tabIndex:0,children:[(0,a.jsxs)("svg",{width:38,height:38,viewBox:"0 0 38 38",children:[(0,a.jsx)("circle",{cx:19,cy:19,r:15,fill:"none",stroke:"var(--border)",strokeWidth:4}),(0,a.jsx)("circle",{cx:19,cy:19,r:15,fill:"none",stroke:u,strokeWidth:4,strokeLinecap:"round",strokeDasharray:`${h} ${d}`,transform:"rotate(-90 19 19)"}),(0,a.jsx)("circle",{cx:19,cy:19,r:15,fill:"none",stroke:"var(--text-faint)",strokeWidth:4,strokeDasharray:`${m} ${d}`,strokeDashoffset:-h,transform:"rotate(-90 19 19)"}),(0,a.jsxs)("text",{x:19,y:20,textAnchor:"middle",dominantBaseline:"middle",fontSize:10,fontWeight:700,fill:"var(--text)",children:[e.usedPct,"%"]})]}),(0,a.jsxs)("div",{className:"ctx-pop",children:[(0,a.jsxs)("div",{className:"ctx-pop-title",children:[(0,a.jsx)(c.I,{name:"pulse",size:12})," ",o("chrome.ctx.title")]}),(0,a.jsxs)("div",{className:"ctx-rows",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("span",{children:o("chrome.ctx.max")}),(0,a.jsx)("b",{children:r(e.max)})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("span",{children:o("chrome.ctx.used")}),(0,a.jsxs)("b",{style:{color:u},children:[r(e.used)," \xb7 ",e.usedPct,"%"]})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("span",{children:o("chrome.ctx.reserve")}),(0,a.jsx)("b",{children:r(e.reserve)})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("span",{children:o("chrome.ctx.remaining")}),(0,a.jsxs)("b",{children:[r(e.remaining)," \xb7 ",e.remainingPct,"%"]})]})]}),e.perAgent.length>0&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("div",{className:"ctx-pop-sub",children:o("chrome.ctx.byAgent")}),(0,a.jsx)("div",{className:"ctx-agents",children:e.perAgent.slice(0,8).map(e=>(0,a.jsxs)("div",{className:"ctx-agent",children:[(0,a.jsx)(n.e,{name:e.name,color:e.color,size:18}),(0,a.jsx)("span",{className:"ctx-agent-name",children:e.name}),(0,a.jsx)("span",{className:"ctx-agent-bar",children:(0,a.jsx)("span",{style:{width:`${e.pct}%`,background:e.color}})}),(0,a.jsxs)("span",{className:"ctx-agent-tok",children:[r(e.tokens)," \xb7 ",e.pct,"%"]})]},e.handle))})]})]})]}),p&&(0,a.jsxs)("button",{className:"ctx-compact",onClick:t,disabled:s,title:o("chrome.ctx.compactHint"),children:[s?(0,a.jsx)("span",{className:"spin",children:(0,a.jsx)(c.I,{name:"refresh",size:12})}):(0,a.jsx)(c.I,{name:"collapse",size:12}),o(s?"chrome.ctx.compacting":"chrome.ctx.compact")]})]})}},8254:(e,t,s)=>{s.d(t,{V:()=>n});var a=s(7814);let n=(0,a.createServerReference)("40fa99459ff074c7a9d2c7409ca2ad90cdd9034e6d",a.callServer,void 0,a.findSourceMapURL,"getMessages")},8443:(e,t,s)=>{s.d(t,{b:()=>n});var a=s(7814);let n=(0,a.createServerReference)("00bcc0090fd231433180506bd0b19d6c169db8cd0e",a.callServer,void 0,a.findSourceMapURL,"getDmPreviews")},9569:(e,t,s)=>{s.d(t,{M:()=>n});var a=s(7814);let n=(0,a.createServerReference)("707d6a2a807f3a583b01eac79e1bf01698b8f12281",a.callServer,void 0,a.findSourceMapURL,"connectTelegram")},9798:(e,t,s)=>{s.d(t,{p:()=>n});var a=s(7814);let n=(0,a.createServerReference)("40d277f4dbdf8bdb3b54e5672f8eaa133630cb7b12",a.callServer,void 0,a.findSourceMapURL,"conversationContext")}}]);
|