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
|
+
exports.id=7327,exports.ids=[7327],exports.modules={17984:()=>{},50109:(a,b,c)=>{"use strict";c.d(b,{LangProvider:()=>e});var d=c(62060);let e=(0,d.registerClientReference)(function(){throw Error("Attempted to call LangProvider() from the server but LangProvider is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"C:\\Users\\Usuario\\Documents\\constella\\src\\lib\\i18n-context.tsx","LangProvider");(0,d.registerClientReference)(function(){throw Error("Attempted to call useT() from the server but useT is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"C:\\Users\\Usuario\\Documents\\constella\\src\\lib\\i18n-context.tsx","useT"),(0,d.registerClientReference)(function(){throw Error("Attempted to call useLang() from the server but useLang is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"C:\\Users\\Usuario\\Documents\\constella\\src\\lib\\i18n-context.tsx","useLang")},51063:(a,b,c)=>{"use strict";c.d(b,{dp:()=>m,j2:()=>n});var d=c(64985),e=c(93907),f=c(10504),g=c(33636),h=c(80280),i=c(25533);let j=(0,c(81290).TQ)(),k=process.env.BETTER_AUTH_URL??"http://localhost:3000";"start"===j||process.env.BETTER_AUTH_SECRET||console.error(`[auth] FATAL: BETTER_AUTH_SECRET is required in '${j}' mode (sessions would be forgeable). Set it in your environment.`);let l={};process.env.GITHUB_CLIENT_ID&&process.env.GITHUB_CLIENT_SECRET&&(l.github={clientId:process.env.GITHUB_CLIENT_ID,clientSecret:process.env.GITHUB_CLIENT_SECRET,scope:["repo","read:user"]}),process.env.GOOGLE_CLIENT_ID&&process.env.GOOGLE_CLIENT_SECRET&&(l.google={clientId:process.env.GOOGLE_CLIENT_ID,clientSecret:process.env.GOOGLE_CLIENT_SECRET});let m=Object.keys(l),n=(0,d.l)({baseURL:k,secret:process.env.BETTER_AUTH_SECRET,database:(0,e.y)(h.db,{provider:"sqlite",schema:{user:i.user,session:i.session,account:i.account,verification:i.verification,twoFactor:i.twoFactor}}),emailAndPassword:{enabled:!0,autoSignIn:!0,requireEmailVerification:!1},socialProviders:l,account:{accountLinking:{enabled:!0,trustedProviders:["github","google"]}},session:{expiresIn:2592e3,additionalFields:{activeOrgId:{type:"string",required:!1}}},plugins:[(0,f.AI)(),(0,g.d)()],advanced:{useSecureCookies:k.startsWith("https://")}})},53837:(a,b,c)=>{"use strict";c.d(b,{Starfield:()=>d});let d=(0,c(62060).registerClientReference)(function(){throw Error("Attempted to call Starfield() from the server but Starfield is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"C:\\Users\\Usuario\\Documents\\constella\\src\\components\\shell\\starfield.tsx","Starfield")},63227:(a,b,c)=>{"use strict";c.d(b,{Starfield:()=>f});var d=c(4374),e=c(74679);function f({enabled:a=!0}){let b=(0,e.useRef)(null);return a?(0,d.jsx)("canvas",{ref:b,"aria-hidden":!0,style:{position:"fixed",inset:0,width:"100%",height:"100%",zIndex:0,pointerEvents:"none"}}):(0,d.jsx)("div",{"aria-hidden":!0,style:{position:"fixed",inset:0,zIndex:0,pointerEvents:"none",background:"var(--bg-app)"}})}},65562:(a,b,c)=>{Promise.resolve().then(c.bind(c,53837)),Promise.resolve().then(c.bind(c,50109))},75785:(a,b,c)=>{"use strict";c.d(b,{e:()=>g,t:()=>f});let d={"login.title":"Sign in to Constella","login.sub.choose":"Choose how this node runs.","login.sub.continue":"Sign in to continue.","login.email":"Email","login.password":"Password","login.newEmail":"New email? First sign-in creates the account (min 8 characters).","login.signin":"Sign in","login.signingIn":"Signing in…","login.passkey":"Sign in with passkey","login.authCode":"Authentication code","login.verify":"Verify","login.verifying":"Verifying…","login.failed":"Sign-in failed","login.invalidCode":"Invalid code","login.note":"Sessions are local to this node. Keys & tokens live in the encrypted vault, never in plaintext.","nav.search":"Search (Ctrl + P)","nav.operator":"Operator","nav.signout":"Sign out","top.notifications":"Notifications","top.theme":"Theme","common.language":"Language","group.Cockpit":"Cockpit","group.Hierarchy":"Hierarchy","group.Execution":"Execution","group.Product":"Product","group.Knowledge":"Knowledge","group.Operations":"Operations","group.Inbox":"Inbox","group.System":"System","mod.dashboard":"Dashboard","mod.organizations":"Organizations","mod.org":"Org Chart","mod.agents":"Agent Studio","mod.code":"Code","mod.tasks":"Tasks","mod.cron":"Cron","mod.routines":"Routines","mod.goals":"Goals","mod.planner":"CEO Planner","mod.test-dev":"Test Dev","mod.pm":"Product Manager","mod.reports":"Reports","mod.docs":"Docs","mod.skills":"Skills","mod.activity":"Activity","mod.knowledge":"Knowledge","mod.costs":"Costs","mod.security":"Security","mod.pulse":"Pulse","mod.github":"Commit GitHub","mod.prepare-deploy":"Prepare Deploy","mod.models":"Models","mod.update":"Update","mod.plugins":"Plugins","mod.inbox":"Inbox","mod.notifications":"Notifications","mod.config":"Config","mod.profile":"Profile","config.sub":"IDE & platform preferences","config.editor":"Editor","config.editorDesc":"How the Code module behaves.","config.appearance":"Appearance","config.appearanceDesc":"Switch off the animated background (stars, black hole, constellations) to reduce GPU use on weaker machines. The theme toggle (light/dark) is in the top bar.","config.deployMode":"Deploy mode","config.current":"How this node runs. Current:","config.cliPrefix":"Set at launch via the CLI —","config.cliSuffix":"Re-launch with a different flag to change it.","config.configFiles":"Config files (.yaml)","config.configFilesDesc":"Generated on disk — the directory is the source of truth.","config.authentication":"Authentication","costs.sub":"Spend this month — {month}","costs.monthlyBudget":"Monthly budget","costs.capThisMonth":"/ {cap} this month","costs.noteCrit":" Near the monthly cap — agents pause when it's hit.","costs.noteWarn":" Approaching the monthly cap.","costs.noteOk":" Within budget.","costs.balance":"Balance:","costs.kpiSpent":"Spent","costs.kpiSpentSub":"of ${cap} cap","costs.kpiBalance":"Balance","costs.kpiBalanceSub":"remaining this month","costs.kpiTokens":"Tokens","costs.kpiTokensSub":"consumed","costs.perAgentTitle":"Per-agent daily budgets","costs.monthAttribution":" \xb7 mo ${mo}","costs.byProvider":"By provider","costs.byModel":"By model","costs.empty":"No spend yet.","security.sub":"Findings & security score \xb7 last review: {lastRun}","security.neverRun":"never run","security.agentRole":"Code Review Agent","security.agentDesc":"Scans code for vulnerabilities, permission & isolation issues, token exposure and risky patterns — then files findings. “Run review” runs a real pass over the workspace.","security.agentReadsFrom":"Agent reads from","security.score":"Score","security.high":"High","security.openLabel":"open","security.open":"Open","security.fixed":"Fixed","security.findings":"Findings","security.empty":"No findings yet — run a review to scan the workspace.","security.fixedPill":"fixed","security.suggestion":"Suggestion:","goals.sub":"Each goal is a unit of work — its child issues and live progress (from their TODOs)","tasks.sub":"Team board — everyone's day-to-day work","activity.sub":"Readable timeline of what the agents did","inbox.title":"Inbox","inbox.sub":"Things that need your action — {n} pending","pulse.sub":"Agent health & workspace validation — driven by each agent's pulse.md","pulse.agents":"Agents","pulse.alive":"Alive","pulse.stale":"Stale","pulse.down":"Down","pulse.agentHealth":"Agent health","pulse.workingNow":"{n} working now","pulse.lastPulse":"last pulse","pulse.never":"never","pulse.liveActivity":"Live activity","pulse.liveActivitySub":"what the agents are doing","pulse.noActivity":"No activity yet — approve the plan and turn on Run 24/7.","pulse.system":"System","pulse.notifications":"Notifications","pulse.noNotifications":"No notifications.","pulse.systemHealth":"System health snapshot","pulse.noSweep":"No sweep yet — start the worker (npm run worker) or trigger an execute tick.","models.sub":"Provider catalog, connected providers & local models — keys live in the vault, never plaintext","docs.sub":"Documentation & product files — the Markdown on disk is the source of truth","docs.groupDocumentation":"Documentation","docs.groupProduct":"Product (PO)","docs.empty":"None yet.","reports.sub":"Documents agents generate to coordinate — plans, reviews, audits","reports.empty":"No reports yet.","planner.sub":"Ada turns the brief into specs, issues and an approval gate before any code","planner.pipeline":"Pipeline","planner.step.context.t":"Context organised","planner.step.context.d":"Mock, brief, mission, stack and .md files gathered.","planner.step.analyse.t":"CEO analyses","planner.step.analyse.d":"Ada reviews everything and frames the plan.","planner.step.specs.t":"Specs written","planner.step.specs.d":"CTO, PO and Docs turn the material into detailed specs.","planner.step.issues.t":"Issues broken out","planner.step.issues.d":"Specs are split into prioritised, described issues.","planner.step.approval.t":"Plan approval","planner.step.approval.d":"Operator approves, reviews or edits before any code.","planner.step.execute.t":"Agents code (24/7)","planner.step.execute.d":"Engineers pull issues; review + QA + docs follow.","planner.step.report.t":"CEO reports","planner.step.report.d":"Progress + next steps reported back to the operator.","planner.meta.files":"{n} files on disk \xb7 README, .claude/","planner.meta.framed":"plan framed → {n} specs","planner.meta.awaitingPlan":"awaiting Ada's plan","planner.meta.specs":"specs/*.md \xb7 {n}/{total} approved","planner.meta.issues":"{n} issues \xb7 {approved} approved","planner.meta.approvedByOperator":"approved by operator","planner.meta.awaitingApproval":"awaiting your approval","planner.meta.afterApproval":"starts only after approval","planner.meta.board":"todo {todo} \xb7 doing {doing} \xb7 review {review} \xb7 done {done}","planner.meta.reports":"{n} report(s) \xb7 Reports/*.md","planner.meta.noReports":"no reports filed yet","planner.cta.title":"Plan approved — ready to execute.","planner.cta.clickPrefix":"Click","planner.cta.body":"(top-right ↗) to put the agents to work on the {n} issues. No code runs until you do.","planner.exec.progress":"Execution progress","planner.exec.live":"live \xb7 {n} in flight","planner.exec.armed":"armed \xb7 no assigned issue to run","planner.exec.complete":"complete","planner.exec.paused":"paused","planner.exec.issuesDone":"{done}/{total} issues done","pm.sub":"The product owner drives product planning — sprint board & backlog","pm.sprintBoard":"Sprint board","pm.groom":"Groom backlog","pm.grooming":"Grooming…","pm.groomDesc":"The Product Owner estimates story points (Fibonacci, by effort) and sets MoSCoW for every issue.","pm.groomed":"Sized {n} issue(s)","pm.groomFailed":"Grooming failed","pm.col.todo":"To do","pm.col.doing":"In progress","pm.col.blocked":"Blocked","pm.col.review":"Review","pm.col.done":"Done","pm.pts":"{n} pts","pm.noCards":"No cards.","pm.backlog":"Backlog","pm.noBacklog":"No backlog items yet.","orgs.sub":"Each organization owns an isolated workspace. Open, rename, archive or delete.","orgs.archived":"archived","orgs.workspacePath":"Workspace path","orgs.runMode":"Run mode","orgs.stack":"Stack","orgs.editMissionObjective":"Edit mission & objective (active workspace)","orgs.createOrganization":"Create organization","org.title":"Org Chart","org.sub":"Drag cards to arrange \xb7 drag a card's handle onto another agent to set who reports to whom","org.empty":"No agents yet.","testdev.sub":"Boot the project, navigate it, watch the console + basic security — validate work before it ships","routines.sub":"Recurring automations — agent-generated and your own","routines.empty":"No routines yet — create one or let an agent add them.","routines.next.minutes":"in minutes","routines.next.hour":"within the hour","routines.next.tomorrow":"tomorrow","routines.next.week":"next week","routines.next.month":"next month","routines.next.schedule":"per schedule","routines.paused":"paused","routines.nextLabel":"next","routines.lastLabel":"last","cron.sub":"Scheduled tasks & completion history","cron.upcoming":"Upcoming schedule","cron.empty":"No scheduled tasks — add a routine in Routines.","cron.history":"Completion history","cron.colTask":"Task","cron.colCompletedBy":"Completed by","cron.colWhen":"When","cron.colResult":"Result","cron.ok":"ok","cron.failed":"failed","cron.noRuns":"No runs yet.","github.sub":"Push your workspace to a remote repository — you or an agent","github.back":"Back","github.selectRepo":"Select a repository","github.connectGithub":"Connect GitHub","github.connected":"Connected","github.connectedPick":"Connected — pick or create a repo to push to","github.signInOrToken":"Sign in or paste a token to commit the workspace to a remote.","github.connectedBadge":"Connected","deploy.sub":"Prepare the project for production — pipeline, checks, build, then a clean export to a separate repo","deploy.back":"Back","deploy.run":"Prepare production","deploy.runAgain":"Re-run prep","deploy.preparing":"Preparing…","deploy.export":"Export clean source","deploy.logs":"View logs","deploy.lastPrep":"Last prep","deploy.never":"never","deploy.targetEnv":"Target","deploy.targetRepo":"Export repo","deploy.notConfigured":"not configured","deploy.status.idle":"Not prepared yet","deploy.status.running":"Preparing…","deploy.status.done":"Production-ready","deploy.status.failed":"Prep failed","deploy.status.blocked":"Blocked","deploy.pipeline":"Deploy pipeline","deploy.step.analyze":"Analyze the project","deploy.step.deps":"Validate dependencies","deploy.step.env":"Validate environment variables","deploy.step.tests":"Run tests","deploy.step.secrets":"Security scan","deploy.step.build":"Production build","deploy.step.validateBuild":"Validate build","deploy.step.agent":"Configure env, fix & document","deploy.step.package":"Prepare clean package","deploy.st.waiting":"waiting","deploy.st.running":"running","deploy.st.done":"done","deploy.st.error":"error","deploy.st.blocked":"blocked","deploy.st.needs-action":"needs action","deploy.checklist":"Production checklist","deploy.chk.pkg":"package.json valid","deploy.chk.deps":"Dependencies installed","deploy.chk.envExample":".env.example present","deploy.chk.envComplete":"All used env vars documented","deploy.chk.secrets":"No secrets in the product","deploy.chk.build":"Production build runs","deploy.chk.tests":"Tests pass","deploy.chk.readme":"README present","deploy.chk.deployDoc":"Deploy docs present","deploy.chk.internalExcluded":"Internal files excluded from export","deploy.chk.exportRepo":"Export repository configured","deploy.env.title":"Environment","deploy.env.runtime":"Runtime","deploy.env.framework":"Framework","deploy.env.pm":"Package manager","deploy.env.database":"Database","deploy.env.ports":"Ports","deploy.env.docker":"Docker","deploy.env.build":"Build script","deploy.env.start":"Start script","deploy.env.mode":"Mode","deploy.env.requiredVars":"Required env vars","deploy.env.none":"none","deploy.env.unset":"not documented in .env.example","deploy.env.validate":"Validate .env.example","deploy.env.noProject":"No runnable project detected.","deploy.env.yes":"yes","deploy.env.no":"no","deploy.db.relational":"Relational","deploy.db.document":"Document","deploy.db.key-value":"Key-value","deploy.db.none":"none","deploy.sec.title":"Security","deploy.sec.clean":"No secrets found in the export set.","deploy.sec.blocked":"Export blocked — potential secrets found.","deploy.sec.rescan":"Re-scan","deploy.sec.scanning":"Scanning…","deploy.sec.openInbox":"Open Inbox","deploy.sec.notRun":"Run a scan to check the export set for secrets before exporting.","deploy.pkg.title":"Clean package preview","deploy.pkg.review":"Review clean package","deploy.pkg.included":"included","deploy.pkg.ignored":"ignored","deploy.pkg.size":"size","deploy.pkg.docs":"Docs","deploy.pkg.buildOutput":"Build output","deploy.pkg.present":"present","deploy.pkg.absent":"absent","deploy.pkg.files":"files","deploy.pkg.loading":"Building preview…","deploy.pkg.empty":"Nothing to export yet — no clean product files were found.","deploy.qa.title":"Quick actions","deploy.qa.build":"Run build","deploy.qa.tests":"Run tests","deploy.qa.scan":"Run security scan","deploy.qa.readme":"Generate README","deploy.qa.deploydocs":"Generate deploy docs","deploy.qa.env":"Validate .env.example","deploy.qa.review":"Review clean package","deploy.qa.export":"Export to GitHub","deploy.qa.inbox":"Open Inbox","deploy.qa.running":"Running…","deploy.exp.title":"Export clean source","deploy.exp.sub":"only the product — never internal files, workspace data or secrets","deploy.exp.diff":"Different from Commit GitHub (whole workspace) — this pushes only the clean product to a SEPARATE repo, with a mandatory secret scan.","deploy.exp.connected":"Connected account","deploy.exp.token":"Another token","deploy.exp.target":"Target repository","deploy.exp.tokenPh":"GitHub token (repo scope)","deploy.exp.repoPh":"owner/repo (the SEPARATE deploy repo)","deploy.exp.branch":"branch","deploy.exp.exporting":"Exporting…","deploy.exp.pushedPrefix":"Pushed","deploy.exp.pushedSuffix":"clean file(s). Now wire your host to that repo (see DEPLOY.md).","deploy.exp.blockedNote":"Filed to the Inbox. Remove the secrets, then export again.","deploy.exp.gate":"Resolve the secret findings before exporting.","deploy.empty.neverRun":"Not prepared yet. Run the pipeline to analyze, build, scan and document the project.","update.sub":"Detect, review and apply new Constella versions","plugins.sub":"Extensions — native skills and integrations","plugins.empty":"No plugins yet — install one from a URL above.","config.agents":"Agents (runtime)","config.agentsDesc":"Parallel execution + per-file locking.","chat.filter":"Filter","chat.commands":"Commands","chat.sources":"Sources ({n})","kbcard.title":"Knowledge Base","kbcard.created":"Created {n} central block(s).","kb.sub":"The Knowledge Base — the project's single source of truth, curated by @vannevar","kb.entries":"KB entries","kb.entriesHint":"{n} active","kb.ragChunks":"RAG chunks","kb.ragChunksHint":"{a} active \xb7 {o} retired","kb.kbChunks":"KB chunks","kb.kbChunksHint":"from kb_entry","kb.embedded":"Embedded","kb.embeddedSemantic":"semantic \xb7 {dim}-dim","kb.embeddedKeyword":"keyword fallback","kb.indexHealth":"Index health","kb.semantic":"Semantic","kb.keyword":"Keyword","kb.updated":"updated {ago}","kb.notBuilt":"not built yet","kb.lifecycle":"Lifecycle","kb.active":"active","kb.superseded":"superseded","kb.obsolete":"obsolete","kb.archived":"archived","kb.locks":"Active file locks","kb.locksEmpty":"No files locked. (Per-file locks appear here when agents run in parallel — enable in Config → Agents.)","kb.byType":"Knowledge by type","kb.byTypeEmpty":"No knowledge captured yet — it accumulates as agents complete tasks, reviews and tests.","kb.relations":"Goal ↔ Spec ↔ Issue ↔ file ↔ knowledge","kb.noGoals":"No goals yet.","kb.fileUnit":"file","kb.gaps":"Coverage gaps","kb.gapsEmpty":"No gaps detected — every module that produced files has captured knowledge.","kb.queries":"Agent KB queries","kb.queriesEmpty":"No KB consultations logged yet.","kb.emptyQuery":"(empty query)","kb.hits":"{n} hits","kb.reindex":"Reindex","kb.curating":"Curating…","kb.curate":"Curate (Vannevar)","block.proposals":"Pending block proposals","block.merge":"Merge","block.reject":"Reject","block.title":"Canonical blocks","block.new":"New block","block.save":"Save block","block.saving":"Saving…","block.cancel":"Cancel","block.empty":"No canonical blocks yet — create one (e.g. official-stack, business-rules) so it surfaces in agent prompts and the home.","block.edit":"Edit","block.delete":"Delete","mod.home":"Home","home.sub":"Your operational home — knowledge, work, team and ops","home.statusRunning":"{n} agents working","home.statusIdle":"Idle — start the loop in Config","home.activeAgents":"agents active","home.spentMonth":"this month","home.goalProgress":"goal progress","home.fullDashboard":"Full dashboard","home.startAgents":"Start agents","home.starting":"Starting…","home.startHint":"Start the autonomous agent loop","home.act.askKb":"Ask the KB","home.act.newWork":"New work","home.act.continue":"Continue","home.act.pending":"Pending","home.cmd.placeholder":"Ask the KB, call an agent (@ada), or run a command (/)…","home.cmd.hint":"Type to ask the Knowledge Base \xb7 /command \xb7 @agent","home.cmd.run":"Send","home.cmd.kb":"Ask the Knowledge Base","home.cmd.status":"Goals \xb7 issues \xb7 tasks in flight","home.cmd.newgoal":"Start new work (CEO drafts the plan)","home.cmd.agents":"The team roster","home.cmd.reindex":"Rebuild the RAG/KB index","home.cmd.curate":"Run the KB curation pass","home.cmd.help":"List the commands","home.chat.title":"Ask anything","home.chat.sub":"KB \xb7 @agent \xb7 /command — all in one thread","home.chat.loading":"Loading the conversation…","home.chat.intro":"Ask the Knowledge Base, call an agent with @handle, or run a /command. Replies appear here.","home.chat.clear":"Clear conversation","home.chat.fullscreen":"Fullscreen","home.chat.clearConfirm":"Clear this conversation? Every message in the team thread will be permanently deleted.","home.chat.clearConsequences":"This permanently deletes EVERY message in this conversation — the full history, the compacted context summary and the run events. The agents lose this conversation's context. Your board work, goals, specs and the Knowledge Base are NOT affected.","home.chat.message":"Message","home.chat.dmAda":"DM @ada for new work","home.area.knowledge":"Knowledge","home.area.knowledge.desc":"KB, docs, reports, skills & blocks","home.area.work":"Work","home.area.work.desc":"Goals, specs, issues & the planner","home.area.team":"Team","home.area.team.desc":"Agents, org chart & rooms","home.area.ops":"Operations","home.area.ops.desc":"Costs, security, models & deploy","home.canonical":"Central knowledge","home.recent":"Recent activity","home.recentEmpty":"No activity yet.","home.seeAll":"See all","home.continue":"Continue where you left off","home.continue.empty":"Nothing in progress yet — ask the KB or start new work above.","home.type.goal":"Goal","home.type.spec":"Spec","home.type.issue":"Issue","home.type.task":"Task","home.type.report":"Report","home.type.doc":"Doc","home.type.test":"Test","home.type.plan":"Plan","home.decisions":"Needs your decision","home.decisions.empty":"Nothing needs your decision right now.","home.decisions.approve":"Approve","home.decisions.reject":"Reject","home.decisions.details":"Details","home.decisions.askKb":"Ask the KB","home.decisions.kind.approval":"approval","home.decisions.kind.review":"review","home.decisions.kind.block":"blocked","home.decisions.kind.budget":"budget","home.decisions.kind.question":"question","home.decisions.kind.validation":"validation","home.product":"Product & planning","home.po.goals":"active goals","home.po.specsAwaiting":"specs to refine","home.po.backlog":"backlog items","home.po.plan":"plan approved","home.po.auto":"running 24/7","home.po.topIssues":"Prioritized issues","home.po.next":"Recommended next steps","po.next.firstPlan":"Start the first plan","po.next.approvePlan":"Approve the plan","po.next.refineSpecs":"Refine the open specs","po.next.reviewIssues":"Review issues in review","po.next.allClear":"All clear — keep shipping","home.activity.today":"Today","home.activity.yesterday":"Yesterday","home.canonical.empty":"No central knowledge yet — create blocks (mission, official-stack, business-rules) in Knowledge and they surface here and in every agent prompt.","home.createBlocks":"Create central blocks","home.creating":"Creating…","home.openKnowledge":"Open Knowledge","kb.emptyEntries":"The curated KB layer is still empty — but {n} chunk(s) are indexed in RAG (docs, specs, chat). Entries fill in as agents complete work; run Curate to build them.","kb.reindexResult":"Reindexed — {n} chunk(s).","kb.curateResult":"Curated: {m} merged \xb7 {r} retired \xb7 {s} re-summarised \xb7 {g} gap(s).","kb.curateNone":"Nothing to curate yet.","home.openInKb":"Open in KB","home.docs":"Documents","home.docsRecent":"Recent","home.docsSuggested":"Suggested for this project","home.docsEmpty":"No documents yet — create or import to start the knowledge base.","docs.sugg.first":"Create your first document","docs.sugg.architecture":"Add an ARCHITECTURE doc","docs.sugg.deploy":"Prepare the project for production","docs.sugg.qa":"Open a QA / security report","dash.sub":"Cockpit — your company at a glance","dash.agents":"Agents","dash.activeNow":"active now","dash.spend":"Spend","dash.ofCap":"of ${cap} cap \xb7 {tok} tokens","dash.openFindings":"{n} open findings","dash.avgGoals":"avg progress \xb7 {n} goals","dash.activeAgents":"Active agents","dash.tasksByColumn":"Tasks by column","dash.alerts":"Alerts","dash.noActive":"No active agents — start the agent loop (sidebar Run) or approve a plan in the CEO Planner.","dash.nothingNeedsYou":"Nothing needs you.","dash.modules":"Modules","dash.filter.today":"Today","dash.filter.7d":"7 days","dash.filter.30d":"30 days","dash.filter.month":"This month","dash.filter.allGoals":"All goals","dash.filter.allAgents":"All agents","dash.updated":"updated","dash.refresh":"Refresh","dash.tokens":"tokens","dash.vsPrev":"vs previous","dash.avgActive":"avg progress \xb7 {n} active","dash.lastScan":"last scan","dash.ag.idle":"idle","dash.ag.working":"working","dash.ag.review":"review","dash.ag.blocked":"blocked","dash.ag.heartbeat":"heartbeat","dash.sev.high":"high","dash.sev.med":"med","dash.sev.low":"low","dash.go.active":"active","dash.go.done":"done","dash.go.blocked":"blocked","dash.healthTitle":"System health","dash.health.devServer":"Dev server","dash.health.production":"Production / deploy","dash.health.agentLoop":"Agent loop","dash.health.kb":"Knowledge / RAG","dash.health.storage":"Database / storage","dash.health.models":"Models","dash.health.github":"GitHub","dash.health.telegram":"Telegram","dash.health.testDev":"Test Dev","dash.health.queues":"Queues","dash.health.locks":"File locks","dash.health.update":"Updates","dash.act.start":"Start","dash.act.reindex":"Reindex","dash.act.open":"Open","dash.act.configure":"Configure","dash.act.reconnect":"Reconnect","dash.execTitle":"Current execution","dash.exec.goal":"Goal","dash.exec.issue":"Issue","dash.exec.agent":"Agent","dash.exec.elapsed":"Elapsed","dash.exec.next":"Next","dash.exec.review":"In review","dash.exec.tests":"Tests","dash.exec.locks":"Locked files","dash.exec.none.idle":"No active execution.","dash.exec.none.off":"Agent loop paused — start it to run queued work.","dash.exec.none.waiting-approval":"Waiting for plan approval in the CEO Planner.","dash.exec.none.all-done":"All active goals are done.","dash.exec.none.running":"Starting…","dash.exec.planner":"Open CEO Planner","dash.exec.startLoop":"Start agent loop","dash.exec.pauseLoop":"Pause agent loop","dash.exec.pending":"View pending","dash.test.running":"running","dash.test.pass":"passing","dash.test.fail":"failing","dash.test.inconclusive":"inconclusive","dash.tasksByStatus":"Tasks by status","dash.col.triage":"Triage","dash.col.todo":"To do","dash.col.doing":"In progress","dash.col.blocked":"Blocked","dash.col.review":"Review","dash.col.done":"Done","dash.openStudio":"Open Agent Studio","dash.runConfig":"Run config","dash.alert.approval":"approvals pending","dash.alert.review":"awaiting review","dash.alert.block":"blockers","dash.alert.budget":"budget alerts","dash.alert.question":"questions","dash.alert.validation":"validations","dash.alert.mention":"mentions","dash.problemsTitle":"Problems needing attention","dash.prob.deploy":"Deploy failed","dash.prob.deployImpact":"Production export is blocked — resolve before shipping.","dash.prob.agentStuck":"An agent is stuck","dash.prob.agentStuckImpact":"An agent is working but its heartbeat went stale.","dash.prob.security":"Open high-severity finding","dash.prob.securityImpact":"A high-risk security issue is unresolved.","dash.prob.dev":"Dev server error","dash.prob.devImpact":"The project dev server failed to boot.","dash.prob.kb":"Knowledge base empty","dash.prob.kbImpact":"Nothing is indexed — agents have no recall. Reindex.","dash.prob.test":"Tests failing","dash.prob.testImpact":"The latest test run failed.","dash.prob.github":"GitHub not connected","dash.prob.githubImpact":"Connect a token to commit or export.","dash.kbTitle":"Knowledge / RAG","dash.kb.empty":"The knowledge base is empty.","dash.kb.createBlocks":"Create central blocks","dash.kb.open":"Open Knowledge","dash.kb.chunks":"chunks","dash.kb.embeddings":"embeddings","dash.kb.entries":"entries","dash.kb.queries":"recent queries","dash.kb.gaps":"coverage gaps","dash.kb.lastReindex":"last reindex","dash.kb.reindex":"Reindex","dash.kb.curate":"Curate","dash.integTitle":"Integrations","dash.integ.github":"GitHub","dash.integ.telegram":"Telegram","dash.integ.models":"Model providers","dash.integ.cli":"CLI agents","dash.integ.local":"Local models","dash.integ.update":"Updates","dash.integStatus.connected":"connected","dash.integStatus.disconnected":"off","dash.integStatus.error":"error","dash.integStatus.needs-login":"needs login","dash.integStatus.needs-config":"needs config","dash.locksTitle":"File locks","dash.locks.release":"Release","dash.ofCapShort":"of ${cap}","dash.openShort":"open","dash.kb.semantic":"semantic","dash.hstatus.healthy":"healthy","dash.hstatus.attention":"attention","dash.hstatus.error":"error","dash.hstatus.offline":"offline","dash.hstatus.needs-config":"config","common.save":"Save","common.saved":"Saved","common.cancel":"Cancel","common.close":"Close","common.add":"Add","common.remove":"Remove","common.delete":"Delete","common.edit":"Edit","common.create":"Create","common.connect":"Connect","common.disconnect":"Disconnect","common.connected":"Connected","common.search":"Search","common.searchEllipsis":"Search…","common.loading":"Loading…","common.refresh":"Refresh","common.enable":"Enable","common.disable":"Disable","common.enableAll":"Enable all","common.disableAll":"Disable all","common.dismiss":"Dismiss","common.clear":"Clear","common.select":"Select","common.selectEllipsis":"Select…","common.none":"None","common.noneYet":"None yet.","common.never":"never","common.on":"on","common.off":"off","common.yes":"Yes","common.no":"No","common.generate":"Generate","common.revoke":"Revoke","common.copy":"Copy","common.copied":"Copied","common.upload":"Upload","common.download":"Download","common.install":"Install","common.uninstall":"Uninstall","common.start":"Start","common.stop":"Stop","common.noResults":"No results.","common.noOptions":"No options","common.back":"Back","common.next":"Next","common.name":"Name","common.description":"Description","common.status":"Status","common.actions":"Actions","common.all":"All","common.view":"View","common.retry":"Retry","common.confirm":"Confirm","common.saving":"Saving…","common.unsynced":"unsynced","dropdown.noMatch":"No match for “{q}”","chrome.runmode.running":"Agents running","chrome.runmode.paused":"Paused","chrome.runmode.loopStopped":"loop stopped","chrome.runmode.pause":"Pause","chrome.anim.label":"Animations: {state}","chrome.anim.titleOn":"Animations: on — click to disable (save GPU)","chrome.anim.titleOff":"Animations: off — click to enable","chrome.chat.agentRoom":"Agent Room","chrome.ctx.title":"Context","chrome.ctx.max":"Max","chrome.ctx.used":"Used","chrome.ctx.reserve":"Reserve","chrome.ctx.remaining":"Remaining","chrome.ctx.byAgent":"Tokens consumed by agent","chrome.ctx.compactHint":"Summarize older messages to free context","chrome.ctx.compacting":"Compacting…","chrome.ctx.compact":"Compact","chrome.update.available":"Update available","chrome.update.view":"View update","chrome.avatar.processError":"Couldn't process that image.","chrome.avatar.change":"Change photo","chrome.avatar.upload":"Upload photo","modelpicker.connectProvider":"Connect this provider in Models to list its models.","modelpicker.loading":"loading models…","modelpicker.recommended":"recommended","modelpicker.syncProvider":"Sync this provider in Models for context + pricing.","modelpicker.noModels":"no models — sync the provider","modelpicker.loadError":"couldn't load models","modelpicker.localGguf":"llama.cpp \xb7 loaded GGUF","modelpicker.placeholder":"select a model…","chat.searchAgents":"Search agents…","chat.noAgentMatch":"No agent matches “{q}”","chat.noRefMatch":"No item matches “{q}”","chat.composer.referenceItem":"Reference a goal, spec or issue","chat.filter.byRole":"By role","chat.filter.work":"Work","chat.filter.discussion":"Discussion","chat.filter.search":"Search messages…","chat.touchedBlocks":"Blocks touched:","chat.youPrefix":"You: ","chat.you":"You","chat.showLess":"show less","chat.showMore":"show more","chat.status.idle":"idle","chat.status.working":"working","chat.status.review":"review","chat.status.blocked":"blocked","chat.verb.read":"Read","chat.verb.create":"Create","chat.verb.edit":"Edit","chat.verb.run":"Run","chat.verb.search":"Search","chat.work.done":"Done","chat.work.working":"Working","chat.work.workingEllipsis":"working…","chat.work.actions.one":"{n} action","chat.work.actions.other":"{n} actions","chat.slash.help":"List the commands","chat.slash.kb":"Ask the Knowledge Base","chat.slash.status":"Goals \xb7 issues \xb7 tasks in flight","chat.slash.agents":"The team roster","chat.slash.agent":"Inspect an agent","chat.slash.newGoal":"Start new work (CEO drafts the plan)","chat.slash.reindex":"Rebuild the RAG/KB index","chat.slash.curate":"Run Vannevar's KB curation","chat.slash.clear":"Wipe this conversation (confirms first)","chat.slash.search":"Search the Knowledge Base","chat.slash.graph":"Show the knowledge graph for a key","chat.slash.approve":"Approve the pending plan","chat.slash.reject":"Send the plan back to the CEO","chat.slash.run247":"Turn on 24/7 autonomous execution","chat.slash.pause":"Pause 24/7 execution","chat.slash.cancel":"Cancel the active goal","chat.slash.archive":"Archive the active goal","chat.slash.newIssue":"Create an issue on the board","chat.slash.newSpec":"Create a spec","chat.slash.testDev":"Run the Test Dev validation gate","chat.slash.github":"Refresh the repository status","chat.slash.assign":"Assign an issue to an agent","chat.slash.review":"Ask the reviewer to review recent changes","chat.slash.prepareDeploy":"Run the production-prep pipeline","chat.slash.exportSource":"Export the clean product source","chat.slash.telegram":"Telegram integration status","chat.slash.models":"Local model status","chat.slash.skills":"The skills library","chat.slash.locks":"File locks held right now","chat.slash.generatePlan":"Draft a plan for approval","chat.slash.closeSprint":"Archive shipped work + write a retro","chat.composer.maxAttachments":"Max 10 attachments.","chat.composer.uploadFailed":"Upload failed.","chat.composer.mentionAgent":"Mention an agent","chat.composer.refKind.goal":"Goal","chat.composer.refKind.spec":"Spec","chat.composer.refKind.issue":"Issue","chat.composer.attachTitle":"Attach files (≤10, 15MB each)","chat.composer.attach":"Attach","chat.composer.mentionToSend":"Mention a teammate to send","chat.composer.send":"send","chat.composer.newline":"newline","chat.kbSave.saved":"Saved to the Knowledge Base","chat.kbSave.send":"Send to the Knowledge Base","chat.kbPull.open":"Pull from KB","chat.kbPull.title":"Pull Knowledge Base into message","chat.kbPull.placeholder":"Search the Knowledge Base...","chat.kbPull.search":"Search","chat.kbPull.insert":"Insert into message","chat.kbPull.empty":"Search for project decisions, specs, fixes or prior context.","chat.kbPull.noResult":"No usable KB answer for that query yet.","chat.kbPull.searching":"Searching...","chat.stream.emptyHint":"Mention an agent with @handle — they reply for real.","chat.dock.agents":"Agents","chat.dock.nothingNeedsYou":"Nothing needs you right now.","chat.dock.moveLeft":"Move to left","chat.dock.moveRight":"Move to right","chat.dock.hide":"Hide chat","chat.dock.tabRoom":"Team Room","chat.dock.tabDirect":"Direct","chat.dock.tgIsolatedTip":"This Telegram thread keeps its own isolated context","chat.dock.isolatedThreadAda":"Isolated thread \xb7 @ada (CEO)","chat.dock.dmAdaTip":"New work? DM @ada — she turns it into specs + issues for approval","chat.dock.allAgents":"All agents","chat.dock.sessActiveTip":"Active session — double-click to rename","chat.dock.sessSwitchTip":"Switch to this session","chat.dock.sessDelete":"Delete session","chat.dock.sessNewTip":"New session — fresh context (old messages kept)","chat.dock.sessNew":"New session","chat.dock.renameSession":"Rename session","chat.dock.deleteSessionTitle":"Delete session?","chat.dock.deleteSessionBody":"“{title}” and all of its messages will be permanently deleted. This can't be undone.","chat.dock.clearTitle":"Clear conversation?","chat.dock.clearBody":"Every message in this conversation will be permanently deleted. This can't be undone.","chat.dock.clearConversation":"Clear conversation","chat.dock.dmContextNote":"Private DM — {name} has full context of the Agent Room.","chat.dock.messageAgent":"Message {name}…","chat.dock.teamChannel":"Team channel","chat.dock.teamChannelSub":"{n} agents \xb7 reply when @mentioned","chat.dock.dmName":"DM {name}","chat.dock.roomPlaceholder":"Message the team… @mention an agent to get a reply","chat.tg.connectionFailed":"Connection failed.","chat.tg.botConnected":"{bot} connected.","chat.tg.connectTitle":"Connect Telegram","chat.tg.connectSub":"Chat the CEO from your phone. Only the one chat id below is allowed to talk to her — everything else is ignored.","chat.tg.step1.a":"Open","chat.tg.step1.b":"in Telegram","chat.tg.step1.c":"copy the","chat.tg.step1.token":"bot token","chat.tg.step2.a":"Message","chat.tg.step2.b":"copy your numeric","chat.tg.step2.chatId":"chat id","chat.tg.step2.c":"(a private chat — not a group).","chat.tg.step3":"Paste both below and save. The token is stored encrypted, never shown again.","chat.tg.botToken":"Bot token","chat.tg.yourChatId":"Your chat id","chat.tg.yourName":"Your name (allowlist)","chat.tg.namePlaceholder":"e.g. Gabriel","chat.tg.connectBot":"Connect bot","chat.tg.isolatedNote":"Isolated thread: this chat has its own context — it never mixes with the Team Room or DMs, so nothing leaks across.","chat.tg.connectedSub":"Chat the CEO \xb7 {name} ({chatId})","chat.tg.you":"you","chat.tg.connectPrompt":"Connect a bot to chat the CEO","chat.tg.disconnect":"Disconnect Telegram","chat.tg.disconnectConfirm":"Disconnect Telegram? The bot will stop replying until reconnected.","chat.tg.isolatedThreadNote":"Isolated Telegram thread — separate context; never mixes with the Team Room or DMs. Only the registered chat may talk to Ada.","chat.tg.composerPlaceholder":"Message Ada (mirrors to your Telegram)…","models.title":"Models","models.col.provider":"Provider","models.col.adapter":"Adapter","models.col.models":"Models","models.col.auth":"Auth","models.col.keyAuth":"Key/Auth","models.col.lastSync":"Last sync","models.col.source":"Source","models.col.params":"Params","models.col.size":"Size","models.col.bind":"Bind","models.modelCount":"{n} models","models.title.hideStatus":"Hide status","models.title.showStatus":"Show status","models.title.testConnection":"Test connection","models.title.syncRefresh":"Sync + refresh models","models.title.viewModels":"View models","models.title.revokeToken":"Revoke token","models.title.removeProvider":"Remove provider","models.title.serveModel":"Serve this model","models.title.hideTooBig":"Hide models too big for this machine","models.flash.connectionOk":"Connection OK","models.flash.unreachable":"Unreachable","models.flash.synced":"Synced {n}","models.flash.tokenRevoked":"Token revoked","models.status.connected":"Connected","models.status.error":"Error","models.status.needsSync":"Needs sync","models.auth.ready":"Ready","models.auth.needs_login":"Needs login","models.auth.needs_key":"Needs key","models.auth.unknown":"Unknown","models.empty.cli":"No CLI providers connected — open the catalog to add one.","models.empty.cloud":"No cloud providers connected — open the catalog to add one.","models.empty.local":"No local models yet — download a GGUF below, then Start the server.","models.empty.noMatch":"No models match the filter.","models.connType.cli":"CLI","models.connType.local":"Local","models.connType.hybrid":"Hybrid","models.connType.api":"API","models.pd.connection":"Connection","models.pd.install":"Install","models.pd.auth":"Auth","models.pd.models":"Models","models.pd.defaultModel":"Default model","models.pd.maxContext":"Max context","models.pd.capabilities":"Capabilities","models.pd.costDefault":"Cost \xb7 default","models.pd.state":"State","models.pd.tokens":"{ctx} tokens","models.pd.per1M":"per 1M","models.install.installed":"installed","models.install.notDetected":"not detected","models.install.localRuntime":"local runtime","models.install.cloudApi":"cloud API","models.install.installLlama":"Install llama-server","models.install.installingPct":"Installing {pct}%","models.install.installingEllipsis":"Installing…","models.install.manualInstall":"manual install","models.hint.addApiKey":"add an API key","models.state.ready":"Ready","models.state.needsConfig":"Needs config","models.btn.refreshing":"Refreshing…","models.btn.refreshModels":"Refresh models","models.cap.vision":"vision","models.cap.reasoning":"reasoning","models.cap.tools":"tools","models.cap.sync":"sync","models.pop.recommended":"recommended","models.pop.ctx":"ctx","models.pop.noModels":"no models returned","models.pop.loadFailed":"couldn't load models","models.log.serving":"llama-server serving {model} on 127.0.0.1:8082","models.log.aModel":"a model","models.log.notInstalled":"llama-server not installed — github.com/ggml-org/llama.cpp/releases","models.log.stopped":"server stopped","models.log.installing":"$ installing llama-server (auto-detect CPU/CUDA)…","models.srv.running":"Running","models.srv.working":"Working…","models.srv.notInstalled":"Not installed","models.srv.stopped":"Stopped","models.srv.noModel":"no model loaded","models.srv.stopBtn":"Stop server","models.srv.startBtn":"Start server","models.srv.ggufModels":"GGUF models","models.srv.serverLabel":"server","models.srv.backendLabel":"backend","models.llama.title":"llama.cpp server","models.llama.sub":"OpenAI-compatible local runtime","models.hw.detected":"Hardware detected","models.hw.autoProbed":"Auto-probed on this machine","models.hw.cores":"Cores","models.hw.memory":"Memory","models.hw.diskFree":"Disk free","models.hw.recommended":"Recommended: {quant}","models.hw.max":"Max {params}","models.installed.title":"Installed models","models.installed.boundTo":"bound to","models.pill.serving":"serving","models.pill.verified":"verified","models.pill.legacy":"legacy","models.available.title":"Available to download","models.available.fitChecked":"fit-checked for {target}","models.filterModels":"Filter models…","models.fitsOnly":"Fits only","models.kind.all":"All","models.kind.chat":"Chat","models.kind.code":"Code","models.kind.reasoning":"Reasoning","models.kind.embed":"Embed","models.fit.fitsUnit":"fits {unit}","models.fit.tightUnit":"tight on {unit}","models.fit.partialOffload":"partial offload","models.fit.cpuOnly":"CPU only","models.fit.runsOnCpu":"runs on CPU","models.fit.tooBig":"too big","models.dl.failed":"failed","models.dl.removing":"removing…","models.dl.removingBtn":"Removing","models.dl.installed":"Installed","models.dl.pulling":"Pulling","models.dl.starting":"starting…","models.dl.startingDownload":"starting download…","models.dl.downloaded":"{size} downloaded…","models.ollamaRunning":"Ollama is also running on 127.0.0.1:11434 (legacy) — llama.cpp is the primary runtime.","models.embed.title":"Embeddings \xb7 workspace RAG","models.embed.sub":"Local semantic memory every agent retrieves from","models.embed.starting":"starting embedding server…","models.embed.startFailed":"couldn't start","models.embed.indexing":"indexing workspace…","models.embed.indexedSemantic":"indexed {n} chunk(s) (semantic)","models.embed.indexedKeyword":"indexed {n} chunk(s) (keyword — no embeddings)","models.embed.indexFailed":"index failed","models.embed.checking":"checking…","models.embed.live":"Embeddings live","models.embed.installedStopped":"Model installed \xb7 server stopped","models.embed.noModel":"No embedding model","models.embed.reindex":"Reindex","models.embed.downloadHintBefore":"Download","models.embed.downloadHintAfter":"below to enable semantic RAG (else agents fall back to keyword search).","models.perAgent.intro":"Assign a provider adapter and model to each agent. Saved to the agent on disk + DB.","models.perAgent.saveAssignments":"Save assignments","models.notConnected":"not connected","models.field.provider":"Provider","models.field.model":"Model","models.field.temperature":"Temperature","models.field.dailyCap":"Daily budget cap (USD)","models.field.tierFloor":"Tier floor","models.temp.precise":"Precise","models.temp.balanced":"Balanced","models.temp.creative":"Creative","models.temp.exploratory":"Exploratory","models.tab.model":"Model","models.tab.skills":"Skills","models.tab.connected":"Connected","models.tab.local":"Local runtime","models.tab.perAgent":"Per-agent","models.tier.light":"light","models.tier.heavy":"heavy","models.tier.critical":"critical","models.btn.saveModel":"Save model","models.skill.provisional":"provisional","models.skill.toggleAria":"toggle","models.kpi.catalog":"Catalog","models.kpi.providers":"providers","models.kpi.available":"Available","models.kpi.adaptersReady":"adapters ready","models.kpi.planned":"Planned","models.kpi.plannedExperimental":"planned / experimental","models.kpi.connected":"Connected","models.kpi.inWorkspace":"in this workspace","models.section.cloud":"Cloud providers","models.section.cli":"CLI providers","models.catalog.title":"Provider Catalog","models.catalog.sub":"{n} providers \xb7 public metadata only — keys go to the vault","models.catalog.searchPlaceholder":"Search providers by name, adapter or note…","models.catalog.shown":"{n} shown","models.catalog.noMatch":"No provider matches these filters.","models.filter.category":"Category","models.filter.connection":"Connection","models.cat.cloud_api":"Cloud API","models.cat.router":"Router","models.cat.openai_compatible":"OpenAI-compatible","models.cat.cloud_platform":"Cloud platform","models.cat.local_runtime":"Local runtime","models.cat.cli":"CLI","models.cat.embedding":"Embedding","models.cat.image":"Image","models.cat.audio":"Audio","models.cat.custom":"Custom","models.conn.api_key":"API key","models.conn.oauth":"OAuth","models.conn.cli":"CLI","models.conn.local":"Local","models.conn.openai_compatible":"OpenAI-compat","models.conn.custom_endpoint":"Custom endpoint","models.catStatus.available":"Available","models.catStatus.experimental":"Experimental","models.catStatus.requires_setup":"Requires setup","models.catStatus.planned":"Planned","models.catStatus.unsupported":"Unsupported","models.apiKeyPlaceholder":"API key","agent.wf.liveRun":"Live — current run \xb7 {n} steps","agent.wf.read":"Read","agent.wf.create":"Create","agent.wf.edit":"Edit","agent.wf.run":"Run","agent.wf.search":"Search","agent.verb.read":"read","agent.verb.create":"create","agent.verb.edit":"edit","agent.verb.run":"run","agent.verb.search":"search","agent.verb.thinking":"thinking","agent.verb.done":"done","agent.verb.error":"error","agent.temp.label":"Temperature","agent.temp.precise":"Precise & deterministic","agent.temp.balanced":"Balanced","agent.temp.creative":"Creative","agent.temp.exploratory":"Very exploratory","agent.temp.scaleFocused":"0 \xb7 focused","agent.temp.scaleCreative":"1 \xb7 creative","agent.temp.desc":"Controls randomness. Lower = consistent, repeatable answers (best for code, reviews and tools). Higher = more varied, exploratory output.","agent.budget.dailyCap":"/ {cap} daily cap","agent.budget.noteCrit":"Near cap — the agent pauses when the limit is reached","agent.budget.noteWarn":"Approaching the daily limit","agent.budget.noteOk":"Within budget","agent.rag.src.repo":"Repository","agent.rag.src.reports":"Reports","agent.rag.src.skills":"Skills","agent.rag.src.room":"Team Room","agent.rag.src.external":"External","agent.rag.statDocuments":"documents","agent.rag.statChunks":"chunks","agent.rag.statVectors":"vectors","agent.rag.statTokens":"tokens","agent.rag.coreDocs":"{n} docs","agent.rag.tipChunks":"{n} chunks \xb7 ~{tok} tokens","agent.rag.nothingIndexed":"Nothing indexed yet — sources are read on demand at run time.","agent.rag.chunksAbbr":"{n} ch","agent.rag.sourcesDesc":"Knowledge sources this agent reads from. The workspace on disk is the source of truth.","agent.rag.addSource":"Add source","agent.rag.removeSource":"Remove source","agent.rag.toggleHint":"Agents read these directly from disk at run time (retrieval is on-demand). Toggles persist to the agent.","agent.rag.row.repo":"Workspace repository","agent.rag.row.repoDesc":"{n} files on disk","agent.rag.row.room":"Team Room","agent.rag.row.roomDesc":"Shared agent conversation","agent.rag.row.reports":"Reports","agent.rag.row.reportsDesc":"Plans, reviews, audits (.md)","agent.rag.row.skills":"Skills library","agent.rag.row.skillsDesc":"{n} procedures","agent.rag.row.external":"External docs","agent.rag.row.externalOff":"Off — connect a URL to index","agent.rag.sourcesConnected.one":"{n} source connected","agent.rag.sourcesConnected.other":"{n} sources connected","agent.flash.modelSaved":"Model saved","agent.flash.personaSaved":"Persona saved","agent.flash.ragSaved":"RAG saved","agent.flash.modelPulled":"Model pulled","agent.reportsTo":"reports to {who}","agent.status.idle":"idle","agent.status.working":"working","agent.status.review":"review","agent.status.blocked":"blocked","agent.tab.model":"Model","agent.tab.skills":"Skills","agent.tab.persona":"Persona","agent.tab.rag":"RAG","agent.tab.workflow":"Workflow","agent.tier.light":"light","agent.tier.heavy":"heavy","agent.tier.critical":"critical","agent.tone.Executive":"Executive","agent.tone.Friendly":"Friendly","agent.tone.Direct":"Direct","agent.tone.Rigorous":"Rigorous","agent.tone.Precise":"Precise","agent.tone.Calm":"Calm","agent.tone.Clear":"Clear","agent.tone.Warm":"Warm","agent.tone.Measured":"Measured","agent.model.provider":"Provider","agent.model.model":"Model","agent.model.runnerHint":"Used by the runner when this agent works.","agent.model.dailyCap":"Daily budget cap (USD)","agent.model.tierFloor":"Tier floor","agent.model.budgetToday":"Budget usage today","agent.model.budgetHint":"Real spend from the agent's runs today. When the cap is reached the runner stops dispatching this agent until tomorrow.","agent.model.uploadPull":"Upload / pull local model","agent.model.saveModel":"Save model","agent.model.pulling":"pulling… (needs Ollama running)","agent.model.pullFailed":"pull failed","agent.skills.desc":"Which procedures this agent may run.","agent.skills.onCount":"{on}/{total} on","agent.skills.provisional":"provisional","agent.skills.empty":"No skills yet.","agent.persona.identity":"Identity","agent.persona.ritual":"Ritual — how it works each cycle","agent.persona.tone":"Tone","agent.persona.systemPrompt":"System prompt","agent.persona.storedAsPrefix":"Stored as","agent.persona.storedAsSuffix":"— used as the system prompt when this agent runs.","agent.persona.save":"Save persona","agent.workflow.intro":"What {name} does each work cycle.","agent.workflow.step1":"Read the persona ({path}) and the assigned task.","agent.workflow.step2":"Work in the workspace directory via the {cli} CLI.","agent.workflow.step3":"Make concrete changes (files, commits) and run any enabled skills.","agent.workflow.step4":"Report the result to the Team Room and advance the task on success.","agent.workflow.step5":"Stop when the daily budget cap is reached.","agent.pullModal.title":"Pull a local model","agent.pullModal.descPrefix":"Pull an Ollama model by name (e.g.","agent.pullModal.descSuffix":") and assign it to {name}. Needs Ollama running — manage it under Models › Local runtime.","agent.pullModal.placeholder":"ollama model name","agent.pullModal.pullAssign":"Pull & assign","agent.addSrcModal.title":"Add knowledge source","agent.addSrcModal.desc":"A URL or path the agent may read at run time. Stored on the agent's RAG config.","agent.addSrcModal.placeholder":"https://docs.example.com or ./path","agent.run.working":"Agent working…","agent.run.failed":"Run failed","agent.run.finished":"Run finished","agent.run.steps.one":"{n} step","agent.run.steps.other":"{n} steps","agent.run.reading":"Reading the brief, mock & stack…","agent.run.earlier.one":"+{n} earlier step","agent.run.earlier.other":"+{n} earlier steps","agent.notConnected":"not connected","agent.studioSub":"Configure each agent — model, skills, persona, RAG, workflow","agent.listHead":"Agents \xb7 {n}","profile.title":"Profile","profile.sub":"Your account, security and operator preferences","profile.saveChanges":"Save changes","profile.tab.account":"Account","profile.tab.security":"Security","profile.tab.tokens":"Tokens & API","profile.tab.connections":"Connections","profile.tab.notifications":"Notifications","profile.tab.sessions":"Sessions","profile.operatorFallback":"Operator","profile.role.owner":"Owner","profile.account.title":"Account details","profile.account.desc":"Identity used at login and in audit records.","profile.field.email":"Email","profile.operatorContext.title":"Operator context","profile.operatorContext.desc":"How agents refer to you and format responses.","profile.field.addressAs":"Address as","profile.field.agentLanguage":"Agent language","profile.field.interfaceLanguage":"Interface language","profile.field.timezone":"Timezone","profile.password.title":"Password","profile.password.desc":"Use a strong, unique password (min 8 characters). Recommended to change every 90 days.","profile.field.currentPassword":"Current password","profile.field.newPassword":"New password","profile.field.confirmPassword":"Confirm password","profile.password.update":"Update password","profile.msg.failed":"Failed","profile.msg.passwordUpdated":"Password updated ✓","profile.msg.invalidCode":"Invalid code","profile.msg.passkeyCancelled":"Passkey cancelled","profile.auth.title":"Authentication","profile.auth.desc":"Extra layers of protection at login.","profile.passkey.label":"Passkey","profile.passkey.desc":"Passwordless login with a device key (WebAuthn)","profile.passkey.add":"Add passkey","profile.passkey.synced":"synced","profile.passkey.added":"added {date}","profile.passkey.none":"No passkeys registered yet.","profile.biometrics.label":"Biometrics (Touch ID / Face ID)","profile.biometrics.desc":"Managed by your device when you register a passkey","profile.twofa.label":"Two-factor authentication (2FA)","profile.twofa.desc":"TOTP code on every new login","profile.twofa.descRecommended":"TOTP code on every new login — recommended","profile.twofa.enable":"Enable 2FA","profile.twofa.disable":"Disable 2FA","profile.twofa.scanHint":"Add this secret to your authenticator, then enter the 6-digit code:","profile.twofa.verify":"Verify & turn on","profile.danger.title":"Danger zone","profile.danger.desc":"Irreversible actions for this account.","profile.danger.signOutOthers":"Sign out other sessions","profile.danger.deleteAccount":"Delete account","profile.danger.deleteConfirm":"Delete this account permanently?","profile.tokens.title":"Personal access tokens","profile.tokens.desc":"For CLI, CI and integrations. Hashed at rest — shown once.","profile.tokens.namePlaceholder":"Token name","profile.tokens.generate":"Generate token","profile.tokens.copyNow":"Copy now — you won't see it again:","profile.tokens.scope":"scope: {scope}","profile.tokens.used":"used {date}","profile.tokens.neverUsed":"never used","profile.tokens.none":"No active tokens.","profile.connections.title":"Connected accounts","profile.connections.desc":"Services linked for login and integrations.","profile.connections.configureCredentials":"configure provider credentials","profile.provider.github.sub":"Agent commits and PRs","profile.provider.google.sub":"Single sign-on (SSO)","profile.telegram.title":"Telegram — chat the CEO","profile.telegram.desc":"Alerts + a 2-way bot: message Ada from the one allowed chat id (others are ignored).","profile.telegram.botPlaceholder":"Bot token (from @BotFather)","profile.telegram.chatPlaceholder":"Your chat id","profile.telegram.namePlaceholder":"Your name","profile.notif.title":"Notification preferences","profile.notif.desc":"Where you want to receive agent updates.","profile.notif.email.label":"Email","profile.notif.email.desc":"Important summaries and escalations","profile.notif.telegram.label":"Telegram","profile.notif.telegram.desc":"Routine triggers and real-time alerts","profile.notif.inapp.label":"In app","profile.notif.inapp.desc":"Bell and notification feed","profile.notif.weekly.label":"Weekly digest","profile.notif.weekly.desc":"Consolidated report every Monday","profile.notif.reducedMotion.label":"Reduce motion","profile.notif.reducedMotion.desc":"Disable animations and transitions across the app","profile.sessions.title":"Active sessions","profile.sessions.desc":"Devices with access to your account right now.","profile.sessions.current":"current","profile.sessions.local":"local","profile.sessions.since":"since {date}","profile.sessions.end":"End","profile.sessions.none":"No active sessions.","profile.runMode.title":"Run mode","profile.runMode.changeHint":"Change in Config → Run mode","skills.list.sub":"Markdown procedure library — indexed into the agents' RAG","skills.list.generateAi":"Generate with AI","skills.list.suggest":"Suggest from learnings","skills.list.suggesting":"Distilling…","skills.list.suggestDesc":"Vannevar reads the validated knowledge the team accumulated and proposes new reusable skills to review + approve.","skills.list.suggested":"{n} skill(s) proposed — review below","skills.list.suggestNone":"Nothing new to propose yet","skills.list.addSkill":"Add skill","skills.list.empty":"No skills yet.","skills.card.indexed":"indexed","skills.card.indexing":"indexing","skills.card.kind":"skill","skills.card.native":"native","skills.card.provisional":"provisional","skills.card.open":"Open","skills.card.unused":"unused","skills.card.usedByTip":"Used by {names}","skills.card.unusedTip":"Not enabled for any agent","skills.detail.triggered":"triggered","skills.detail.saveMd":"Save .md","skills.detail.editMd":"Edit .md","skills.detail.provisionalWarn":"Provisional — awaiting approval before agents may use it.","skills.detail.approve":"Approve skill","skills.detail.procedure":"Procedure","skills.detail.usedBy":"Used by","skills.detail.followInstructions":"Follow the instructions in {file}","skills.manual.title":"Write the skill's instructions","skills.manual.nameLabel":"Skill name","skills.manual.namePlaceholder":"e.g. weekly-status-report","skills.manual.descPlaceholder":"Generate weekly status reports of recent work. Use when asked for updates or progress summaries.","skills.manual.instructionsLabel":"Instructions","skills.manual.instructionsPlaceholder":"Summarise my recent work in three sections: wins, blockers and next steps. Keep the tone professional but not stiff…","skills.manual.usedByAgent":"Used by agent","skills.manual.hintPrefix":"Saved as","skills.manual.hintSuffix":", auto-enabled for the chosen agent and indexed into RAG.","skills.manual.creating":"Creating…","skills.manual.create":"Create skill","skills.ai.title":"Generate skill with AI","skills.ai.describeLabel":"Describe the skill you want","skills.ai.describePlaceholder":"e.g. a skill that runs accessibility checks on changed UI files and reports violations","skills.ai.hintPrefix":"The procedure is drafted as Markdown; it lands as","skills.ai.hintProvisional":"provisional","skills.ai.hintSuffix":"until you approve it.","skills.ai.drafting":"Drafting…","skills.cap.label":"Cap","github.repo.label":"Repository","github.repo.change":"Change","github.repo.new":"New repo","github.repo.noOrigin":"no origin set — pick or create a repository","github.repo.filterPlaceholder":"Filter your repos…","github.repo.loading":"loading repos…","github.repo.listError":"Couldn't list repos.","github.repo.private":"private","github.repo.public":"public","github.repo.noRepos":"No repos.","github.repo.privateRepo":"Private repository","github.repo.creating":"Creating…","github.repo.createSetOrigin":"Create & set origin","github.refreshChanges":"Refresh changes","github.connectError":"Couldn't connect — try again.","github.auth.githubLogin":"GitHub login","github.auth.personalToken":"Personal token","github.auth.signInWithGithub":"Sign in with GitHub","github.auth.authorizeHint":"Authorize Constella to connect this workspace to your GitHub.","github.auth.oauthNotConfigured":"OAuth isn't configured on this instance — use a personal access token instead.","github.auth.patLabel":"Personal access token (PAT)","github.auth.patHint":"Verified against GitHub, then stored encrypted in the vault. Scope: repo.","github.auth.verifying":"Verifying…","github.disconnect":"Disconnect GitHub","github.flow.title":"Workspace → Remote","github.flow.workspace":"Workspace","github.flow.change.one":"change","github.flow.change.other":"changes","github.flow.commit":"Commit","github.changes.title":"Changes to commit","github.changes.clean":"No uncommitted changes — the working tree is clean.","github.commit.message":"Commit message","github.commit.placeholder":"Describe the change…","github.commit.drafting":"Drafting…","github.commit.generate":"Generate from changes","github.commit.commitPush":"Commit & Push","github.commit.securityScan":"Security scan","github.scan.clean":"Clean — no secrets/sensitive files in {n} scanned file(s).","github.scan.risks":"{n} risk(s) — these must not be committed:","github.progress.pushed":"Pushed to origin/{branch}","github.progress.agentOpenedPr":"{name} opened a PR","github.progress.agent":"Agent","github.progress.prOpened":"PR opened","github.progress.committedLocal":"Committed locally","github.progress.notPushedSuffix":" — not pushed","github.progress.nothing":"Nothing to commit","github.progress.failed":"Commit failed","github.progress.finishing":"Finishing…","github.progress.committing":"Committing {n} files","github.progress.pushing":"Pushing to origin/{branch}","github.blocked.fixRetry":"Fix & retry","github.blocked.confirm":"These look like secrets/credentials. Commit + push them ANYWAY? This can leak them to the repository.","github.blocked.commitAnyway":"Commit anyway (reviewed)","github.blocked.ok":"OK","github.viewPr":"View pull request","github.delegate.title":"Let an agent handle it","github.delegate.sub":"{name} writes the message, commits, pushes and opens a PR.","github.delegate.button":"Delegate","github.recentPushes":"Recent pushes","testdev.preview.title":"Preview","testdev.preview.sub":"the running app — click through it like a browser","testdev.preview.reload":"Reload","testdev.preview.addrPlaceholder":"start the server to preview","testdev.preview.openNewTab":"Open in a new tab","testdev.preview.openNewTabBtn":"Open in new tab","testdev.preview.frameTitle":"Project preview","testdev.preview.blocked.title":"This app blocks embedding","testdev.preview.blocked.sub":"The running app sends a security header (X-Frame-Options / CSP frame-ancestors) that stops it being shown inside a frame — correct hardening for production. View it in a real tab instead.","testdev.preview.empty.errorTitle":"Server failed to boot","testdev.preview.empty.startingTitle":"Starting the dev server…","testdev.preview.empty.idleTitle":"No preview yet","testdev.preview.empty.errorSub":"Fix the error in the console, then start again.","testdev.preview.empty.idleSub":"Start the project dev server to preview it here.","testdev.viewport.desktop":"Desktop","testdev.viewport.tablet":"Tablet","testdev.viewport.mobile":"Mobile","testdev.state.running":"Running","testdev.state.starting":"Starting…","testdev.state.error":"Error","testdev.state.notStarted":"Not started","testdev.state.stopped":"Stopped","testdev.server.title":"Project dev server","testdev.server.defaultProject":"the app your agents are building","testdev.server.noServer":"no server","testdev.server.start":"Start server","testdev.server.stop":"Stop server","testdev.server.working":"Working","testdev.server.noOutput":"no output yet — Start the server","testdev.tests.title":"Run tests","testdev.tests.sub":"navigate \xb7 console \xb7 basic security","testdev.tests.scope":"Scope (optional)","testdev.tests.wholeApp":"Whole app","testdev.tests.testing":"Testing…","testdev.tests.run":"Run Test Dev","testdev.verdict.running":"running","testdev.verdict.pass":"pass","testdev.verdict.fail":"fail","testdev.verdict.inconclusive":"inconclusive","testdev.severity.high":"high","testdev.severity.med":"med","testdev.severity.low":"low","testdev.recent.title":"Recent runs","testdev.recent.empty":"No test runs yet — Start the server, then Run Test Dev.","testdev.col.verdict":"Verdict","testdev.col.summary":"Summary","testdev.col.findings":"Findings","testdev.col.by":"By","testdev.col.when":"When","codeedit.title":"Code","codeedit.sub":"Workspace files — .claude/ personas, skills, docs + your project (source of truth on disk)","codeedit.agentReadsFrom":"Agent reads from","codeedit.workspace":"Workspace","codeedit.sourceControl":"Source control","codeedit.openEditors":"Open Editors","codeedit.closeAll":"Close all","codeedit.newFile":"New file","codeedit.newFolder":"New folder","codeedit.noFilesYet":"No files yet. Create one with +.","codeedit.searchFilesCode":"Search files & code…","codeedit.matchCase":"Match case","codeedit.wholeWord":"Whole word","codeedit.regex":"Regex","codeedit.matchesInFiles":"{matches} in {files}","codeedit.noMatches":"No matches.","codeedit.nameMatch":"name","codeedit.truncatedHint":"Showing the first results — narrow the query.","codeedit.noChanges":"No changes.","codeedit.stagedChanges":"Staged Changes — {n}","codeedit.changes":"Changes — {n}","codeedit.viewDiff":"View diff","codeedit.commitPush":"Commit & push","codeedit.noProblems":"No problems","codeedit.welcomeSub":"Open a file from the workspace to start editing.","codeedit.folderPathHint":"e.g. src/components","codeedit.filePathHint":"e.g. src/utils/helpers.ts","codeedit.folderCreateHint":"Created on disk with a .gitkeep so it persists empty.","codeedit.fileCreateHint":"Use a path like src/components to nest it. Any extension is accepted.","codeedit.deleteFolder":"Delete folder","codeedit.deleteFile":"Delete file","codeedit.deleteConfirmPrefix":"Delete","codeedit.deleteConfirmSuffix":"? This can't be undone.","codeedit.deleteFolderNamed":"Delete folder {name}","codeedit.deleteNamed":"Delete {name}","codeedit.loadingDiff":"loading diff…","codeedit.noDiff":"(no diff)","config.editor.tabSize":"Tab size","config.editor.formatOnSave":"Format on save","config.editor.wordWrap":"Word wrap","config.editor.minimap":"Minimap","config.agents.parallel":"Parallel agents","config.agents.parallelDesc":"How many agents may run at once per workspace.","config.agents.fileLock":"Per-file lock","config.agents.fileLockDesc":"Stops two agents editing the same file. Uses an isolated agent CLI config (copies your Claude credentials) — verify agents still log in after enabling.","config.agents.webResearch":"Web research","config.agents.webResearchDesc":"Let agents use WebSearch/WebFetch to read official docs while they plan and build, then capture what they learn into the knowledge base. Turn off for offline / fully-local installs.","config.agents.lockWarn":"Running {n} agents without the per-file lock risks two agents editing the same file.","config.integ.github.name":"GitHub","config.integ.github.desc":"Commit & open PRs from the workspace","config.integ.telegram.name":"Telegram","config.integ.telegram.desc":"Chat the CEO from an isolated bot thread","config.integ.ollama.name":"Ollama embeddings","config.integ.ollama.desc":"Local semantic workspace RAG","config.integ.webhooks.name":"Outbound webhooks","config.integ.webhooks.desc":"POST events to your endpoint","config.mission.label":"Mission","config.mission.placeholder":"What this workspace exists to do","config.mission.save":"Save changes","config.objective.label":"Objective","config.objective.placeholder":"The concrete outcome to reach next","config.budget.cap":"Monthly cap (USD)","config.budget.save":"Save cap","config.singleOperator":"single operator","org.canvas.sub":"Drag cards to arrange \xb7 drag a card's handle onto another agent to set who reports to whom — links route from any side","org.resetLayout":"Reset layout","org.hint.pre":"Hover a card and drag its","org.hint.post":"handle onto a subordinate to re-assign the manager.","org.dragOntoSubordinate":"Drag onto a subordinate","org.unlinkFrom":"Unlink from {handle}","org.open":"Open","org.active":"active","org.rename":"Rename","org.restore":"Restore","org.archive":"Archive","org.confirmDelete":"Confirm delete","org.mission":"Mission","org.objective":"Objective","org.savedNote":"Saved.","goals.empty":"No goals yet. Approve a plan in the CEO Planner to create one.","goals.emptyFiltered":"No {status} goals.","goals.allAgents":"All agents","goals.expand":"Expand","goals.collapse":"Collapse","goals.archive":"Archive","goals.reopen":"Reopen","goals.restore":"Restore","goals.cancelConfirm":"Cancel this goal? Execution stops immediately; its plans, specs, issues and TODOs are marked cancelled. State is preserved and you can reopen it.","goals.status.active":"Active","goals.status.done":"Done","goals.status.cancelled":"Cancelled","goals.status.archived":"Archived","goals.status.all":"All","goals.col.todo":"To do","goals.col.doing":"In progress","goals.col.blocked":"Blocked","goals.col.review":"Review","goals.col.done":"Done","goals.col.cancelled":"Cancelled","goals.col.archived":"Archived","goals.stamp.done":"Done","goals.stamp.cancelled":"Cancelled","goals.stamp.archived":"Archived","goals.stamp.created":"Created","goals.meta.complete":"{done}/{total} issues complete","goals.meta.childIssues.one":"{n} child issue","goals.meta.childIssues.other":"{n} child issues","goals.noIssuesYet":"No issues yet.","goals.noIssuesForAgent":"No issues for this agent.","goals.todos":"{done}/{total} todos","goals.new":"New goal","goals.objective":"Objective","goals.objectivePlaceholder":"e.g. Ship v1.0 to production","goals.descPlaceholder":"What does done look like?","goals.owner":"Owner","goals.create":"Create goal","goals.creating":"Creating…","pm.moscow.cycle":"Click to cycle MoSCoW","pm.backlog.addItem":"Add backlog item","pm.backlog.newItem":"New backlog item","pm.backlog.titlePlaceholder":"e.g. Portable build (--portable)","pm.backlog.adding":"Adding…","pm.field.title":"Title","pm.field.priorityMoscow":"Priority (MoSCoW)","pm.field.points":"Points","pm.action.unblock":"Unblock","pm.action.advanceTo":"Advance to {col}","pm.action.block":"Block","pm.action.promote":"Promote to sprint board","pm.action.deleteBacklog":"Delete from backlog","tasks.col.triage":"Triage","tasks.col.todo":"To do","tasks.col.doing":"In progress","tasks.col.blocked":"Blocked","tasks.col.review":"Review","tasks.col.done":"Done","tasks.prio.low":"low","tasks.prio.med":"med","tasks.prio.high":"high","tasks.descPlaceholder":"Describe the task…","tasks.liveProgress":"Agent live progress","tasks.noSteps":"No steps yet — {who} hasn't started, or add one below.","tasks.theAgent":"the agent","tasks.removeStep":"Remove step","tasks.addStepPlaceholder":"Add a step…","tasks.stepsDone":"steps done","tasks.noCards":"No cards.","tasks.newCard":"New card","tasks.newTask":"New task","tasks.assignee":"Assignee","tasks.priority":"Priority","tasks.creating":"Creating…","tasks.advance":"Advance","docsedit.saveMd":"Save .md","docsedit.emptyFile":"Empty file.","docs.writing":"Writing…","docs.generate":"Generate docs","deploy.exp.private":"private","deploy.exp.public":"public","update.installed":"Installed","update.latest":"Latest","update.onLatest":"You're on the latest version.","update.updating":"Updating…","update.updateNow":"Update now","update.defer":"Defer","update.docs":"Update docs","update.updaterLabel":"Updater","update.poll.running":"running","update.poll.done":"installed — restart Constella to load it.","update.poll.error":"failed — see rollback below.","update.backupSaved":"Backup saved","update.rollback":"Rollback","update.rollbackThen":"then restore the backup.","update.whatsNew":"What's new in v{version}","update.ctx.dev":"Running from source — update via git, not npm.","update.ctx.npx":"Running via npx (ephemeral) — re-run npx constella@latest.","update.ctx.global":"Global npm install — can update in place.","update.ctx.vps":"Running on a VPS (Docker) — controlled restart.","update.ctx.portable":"Running portable (USB) — space-checked update.","plugins.installPrompt":"Install from URL or name (e.g. github.com/acme/slack-bridge)","plugins.installFromUrl":"Install from URL","plugins.native":"native","block.slugPlaceholder":"slug (kebab-case)","block.titlePlaceholder":"title","block.kindPlaceholder":"kind","block.bodyPlaceholder":"Canonical Markdown…","block.bodyEmpty":"empty","inbox.empty":"All caught up","inbox.noDetail":"No detail.","inbox.from":"from {name}","inbox.kind.approval":"Approval","inbox.kind.budget":"Budget","inbox.kind.question":"Question","inbox.kind.review":"Review","inbox.kind.block":"Block","inbox.kind.validation":"Validation","inbox.action.approvePlan":"Approve plan","inbox.action.approveSpec":"Approve spec","inbox.action.approveIssue":"Approve issue","inbox.action.openTasks":"Open tasks","inbox.action.openTestDev":"Open Test Dev","inbox.action.openChat":"Open chat","inbox.action.reopen":"Reopen","notif.title":"Notifications","notif.sub":"Passive feed — mirrored to Telegram \xb7 {n} unread","notif.readAll":"Read all","notif.clearAll":"Clear all","notif.empty":"No notifications","notif.noDetail":"No additional detail.","notif.kind.done":"Done","notif.kind.deploy":"Deploy","notif.kind.routine":"Routine","notif.kind.test":"Test","notif.kind.security":"Security","notif.kind.budget":"Budget","notif.kind.info":"Info","notif.kind.review":"Review","notif.kind.report":"Report","activity.system":"System","activity.empty.all":"No activity yet — agents log here as they work.","activity.empty.agent":"No activity for this agent.","reports.generate":"Generate report","reports.generating":"Generating…","reports.noBody":"This report has no body yet.","planner.gate.staleTab":"Couldn't start the run — your tab may be out of date. Reload the page (Ctrl+F5) and try again.","planner.gate.drafting.t":"Ada is drafting the plan…","planner.gate.drafting.d":"Turning your brief, mission, objective and stack into specs and issues. You can keep navigating — this keeps running in the background and shows up here for review when it's ready.","planner.gate.noPlan.t":"No plan yet","planner.gate.noPlan.d":"Ada hasn't drafted the plan yet. Generate it from your brief, mission, objective and stack — review and adjust, then approve before any code.","planner.gate.hint.t":"Click here to start the first task","planner.gate.hint.d":"Ada turns your brief, mission, objective and stack into an initial plan — specs and issues you review, adjust and approve before any code runs.","planner.gate.analyzing":"Ada is analyzing the brief…","planner.gate.generate":"Generate plan","planner.gate.ready.t":"Plan ready for your approval","planner.gate.ready.d":"{specs} specs \xb7 {total} issues. No agent will write code until you approve.","planner.gate.rejectPlanDm":"I rejected the plan. Please revise it based on the following feedback: ","planner.gate.requestChanges":"Request changes","planner.gate.approvePlan":"Approve plan","planner.approved":"approved","planner.approve":"Approve","planner.reject":"Reject","planner.rejectItemDm":"I rejected {key}. Please revise it: ","planner.run247.pausing":"Pausing…","planner.run247.starting":"Starting…","planner.run247.approveToRun":"Approve to run 24/7","planner.run247.allDone":"All issues done","planner.run247.pause":"Pause 24/7","planner.run247.run":"Run 24/7","planner.run247.blockedTip":"Armed, but no issue is assigned to an agent yet — assign one in PM/Tasks.","planner.col.todo":"todo","planner.col.doing":"doing","planner.col.review":"review","planner.col.done":"done","planner.newWork.failed":"Planning failed — try again.","planner.newWork.button":"New work","planner.newWork.title":"New work","planner.newWork.desc":"Ada turns this into a Goal + specs + issues + TODOs, appended to this project.","planner.newWork.titleLabel":"Title (optional)","planner.newWork.titlePh":"e.g. Add CSV export","planner.newWork.briefLabel":"What do you want to implement, fix or change?","planner.newWork.briefPh":"Describe the work in plain language…","planner.newWork.planning":"Ada is planning…","planner.newWork.create":"Create work","planner.validate.valid":"valid","planner.validate.issues":"{n} issue(s)","planner.validate.repaired":"repaired {n}","planner.validate.validate":"Validate","planner.validate.repair":"Repair","planner.specs.title":"Specs","planner.specs.from":"from CTO / PO / Docs","planner.specs.emptyAll":"No specs.","planner.specs.emptyFiltered":"No {filter} specs.","planner.specs.issueCount":"{n} issues","planner.specFilter.active":"Active","planner.specFilter.approved":"Approved","planner.specFilter.draft":"Draft","planner.specFilter.cancelled":"Cancelled","planner.specFilter.archived":"Archived","planner.specFilter.all":"All","planner.issues.title":"Issues","planner.issues.brokenFromSpecs":"{n} broken from specs","planner.issues.emptyAll":"No issues.","planner.issues.emptyFiltered":"No {filter} issues.","planner.issues.col.id":"ID","planner.issues.col.issue":"Issue","planner.issues.col.spec":"Spec","planner.issues.col.priority":"Priority","planner.issues.col.owner":"Owner","planner.issues.col.updated":"Updated","planner.issueFilter.active":"Active","planner.issueFilter.awaiting":"Awaiting","planner.issueFilter.doing":"In progress","planner.issueFilter.review":"Review","planner.issueFilter.blocked":"Blocked","planner.issueFilter.done":"Done","planner.issueFilter.cancelled":"Cancelled","planner.issueFilter.archived":"Archived","planner.issueFilter.all":"All","planner.prio.high":"high","planner.prio.med":"med","planner.prio.low":"low","planner.issueState.todo":"todo","planner.issueState.doing":"doing","planner.issueState.blocked":"blocked","planner.issueState.review":"review","planner.issueState.done":"done","planner.issueState.cancelled":"cancelled","planner.issueState.archived":"archived","routines.new.failed":"Failed to create.","routines.new.button":"New routine","routines.new.title":"New routine","routines.new.desc":"A recurring automation. Agents create these too — this adds your own.","routines.new.namePh":"e.g. Nightly security scan","routines.new.command":"Command / task","routines.new.commandPh":"what runs, e.g. run-suite","routines.new.frequency":"Frequency","routines.new.ownerAgent":"Owner agent","routines.new.unassigned":"Unassigned","routines.new.creating":"Creating…","routines.new.create":"Create routine","routines.freq.Hourly":"Hourly","routines.freq.Daily":"Daily","routines.freq.Weekly":"Weekly","routines.freq.Monthly":"Monthly","routines.delete.title":"Delete routine","routines.delete.confirm":"Delete this routine?","inbox.resolve":"Resolve","security.letAgentFix":"Let agent fix","security.reviewing":"Reviewing…","security.runReview":"Run review","login.passkeyFailed":"Passkey sign-in failed","login.mode.start.label":"Start","login.mode.start.note":"Local auto-created account \xb7 always signed in.","login.mode.auth.label":"Auth","login.mode.auth.note":"Email + password required each session.","login.mode.vps.label":"VPS","login.mode.vps.note":"Access over your Tailscale tailnet; runs in Docker.","login.mode.portable.label":"Portable","login.mode.portable.note":"USB drive mounted as root across machines.","onboarding.closeSetup":"Close setup","onboarding.step.company":"Company","onboarding.step.ceoModel":"CEO model","onboarding.step.connection":"Connection","onboarding.step.stack":"Stack","onboarding.step.brief":"Brief","onboarding.stackSearchPh":"Search technologies… (e.g. python, django, postgres)","onboarding.stackNoMatch":"No technology matches “{query}”.","onboarding.kind.cli":"cli","onboarding.kind.local":"local","onboarding.kind.cloud":"cloud","onboarding.test.prepare":"Preparing workspace","onboarding.test.prepareDesc":"Checking the ~/.constella workspace root is writable.","onboarding.test.adapter":"Resolving adapter","onboarding.test.adapterDesc":"Loading {adapter}.","onboarding.test.connection":"Testing provider connection","onboarding.test.connectionDesc":"Reachability + auth check.","onboarding.test.model":"Probing model {model}","onboarding.test.modelDesc":"Verifying the model is available.","onboarding.test.ready":"Ready","onboarding.test.readyDesc":"Connection healthy. CEO is online.","onboarding.test.failed":"failed","onboarding.company.h":"Your company","onboarding.company.sub":"This identity is shared with every agent as their north star. The workspace is created automatically.","onboarding.company.nameLabel":"Company name","onboarding.company.namePh":"e.g. Atlas Labs","onboarding.company.missionLabel":"Mission","onboarding.company.missionPh":"Why this company exists.","onboarding.company.objectiveLabel":"Objective","onboarding.company.objectivePh":"The concrete goal for this run.","onboarding.brain.h":"Choose the CEO’s brain","onboarding.brain.sub":"Ada (CEO) leads the company. Pick from the providers detected on this machine.","onboarding.brain.detected":"Detected providers","onboarding.brain.detecting":"Detecting providers… (Claude Code / Codex / Ollama / llama.cpp)","onboarding.brain.registerToggle":"Register a provider (cloud key or local)","onboarding.brain.registerTitle":"Register a provider","onboarding.brain.chooseProvider":"Choose a provider…","onboarding.brain.modelIdPh":"model id (optional)","onboarding.brain.apiKeyPh":"API key (cloud — vaulted)","onboarding.brain.addSelect":"Add & select","onboarding.brain.modelFor":"Model for {name}","onboarding.setup.h":"Setting up","onboarding.setup.sub":"Creating the workspace and testing the connection to","onboarding.setup.continue":"Continue","onboarding.setup.testing":"Testing…","onboarding.stack.h":"Project stack","onboarding.stack.sub":"Pick the architecture. The CEO uses this to plan structure, write skills/personas and scaffold the project.","onboarding.brief.h":"Brief the CEO","onboarding.brief.sub":"Give Ada a system prompt and, optionally, a project brief (.md) to plan from. Ada analyses it, designs the architecture and rituals, and sets up the workspace before any code is written.","onboarding.brief.sourceLabel":"Project source","onboarding.src.new.t":"New project","onboarding.src.new.d":"Scaffold a runnable starter for your stack.","onboarding.src.github.t":"Import from GitHub","onboarding.src.github.d":"Clone a repo — agents build on it.","onboarding.src.local.t":"Local directory","onboarding.src.local.d":"Copy an existing folder as the base.","onboarding.src.tokenPh":"GitHub token (repo scope)","onboarding.src.listRepos":"List repos","onboarding.src.signedInAs":"Signed in as","onboarding.src.pickRepo":"pick the repo to import","onboarding.src.pathPh":"Absolute path, e.g. C:\\Users\\you\\project","onboarding.src.validate":"Validate","onboarding.src.filesFound.one":"{n} importable file found.","onboarding.src.filesFound.other":"{n} importable files found.","onboarding.src.analyseHint":"GitHub/Local/mock → agents analyse the existing project (super spec) and build on it; no second prototype.","onboarding.src.private":"private","onboarding.src.public":"public","onboarding.src.listReposFailed":"Couldn't list repos.","onboarding.src.invalidDir":"Invalid directory.","onboarding.brief.systemPrompt":"System prompt","onboarding.brief.projectBrief":"Project brief","onboarding.brief.optional":"optional","onboarding.brief.briefPh":"Paste or type the project brief (Markdown). Saved as .claude/BRIEF.md.","onboarding.brief.attachMock":"Attach a mock / prototype","onboarding.brief.files":"Files","onboarding.brief.folder":"Folder","onboarding.brief.filesAttached.one":"{n} file attached","onboarding.brief.filesAttached.other":"{n} files attached","onboarding.brief.mockHintPre":"Ada reads the mock from","onboarding.brief.mockHintPost":"and matches the product to it.","onboarding.brief.settingUp":"Setting up…","onboarding.brief.handOff":"Hand off to Ada","search.title":"Search","search.sub":"Search across agents, tasks, goals, skills, reports and files — every result is a real workspace row.","search.replace":"Replace","search.matchCase":"Match Case","search.matchWholeWord":"Match Whole Word","search.useRegex":"Use Regular Expression","search.summary":"{results} results in {files} files","search.invalidRegex":"Invalid regular expression.","search.emptyWorkspace":"No agents, tasks, goals, skills, reports or files in this workspace yet.","search.noResultsFor":"No results for “{q}”.","errors.pageTitle":"This page hit an error","errors.screenTitle":"This screen hit an error","errors.rootTitle":"Something broke at the root","errors.unexpected":"Unexpected error.","errors.digest":"digest","errors.tryAgain":"Try again","errors.goDashboard":"Go to dashboard","errors.reload":"Reload","home.activity.system":"system","home.chat.tab.room":"Team Room","home.chat.tab.direct":"Direct","home.chat.tgHint":"Isolated thread"},e={en:d,pt:{"login.title":"Entrar no Constella","login.sub.choose":"Escolha como este n\xf3 \xe9 executado.","login.sub.continue":"Entre para continuar.","login.email":"E-mail","login.password":"Senha","login.newEmail":"E-mail novo? O primeiro acesso cria a conta (m\xedn. 8 caracteres).","login.signin":"Entrar","login.signingIn":"Entrando…","login.passkey":"Entrar com passkey","login.authCode":"C\xf3digo de autentica\xe7\xe3o","login.verify":"Verificar","login.verifying":"Verificando…","login.failed":"Falha ao entrar","login.invalidCode":"C\xf3digo inv\xe1lido","login.note":"As sess\xf5es s\xe3o locais a este n\xf3. Chaves e tokens ficam no cofre criptografado, nunca em texto puro.","nav.search":"Buscar (Ctrl + P)","nav.operator":"Operador","nav.signout":"Sair","top.notifications":"Notifica\xe7\xf5es","top.theme":"Tema","common.language":"Idioma","group.Cockpit":"Cabine","group.Hierarchy":"Hierarquia","group.Execution":"Execu\xe7\xe3o","group.Product":"Produto","group.Knowledge":"Conhecimento","group.Operations":"Opera\xe7\xf5es","group.Inbox":"Caixa de entrada","group.System":"Sistema","mod.dashboard":"Painel","mod.organizations":"Organiza\xe7\xf5es","mod.org":"Organograma","mod.agents":"Est\xfadio de Agentes","mod.code":"C\xf3digo","mod.tasks":"Tarefas","mod.cron":"Cron","mod.routines":"Rotinas","mod.goals":"Metas","mod.planner":"Planejador do CEO","mod.test-dev":"Test Dev","mod.pm":"Gerente de Produto","mod.reports":"Relat\xf3rios","mod.docs":"Documentos","mod.skills":"Habilidades","mod.activity":"Atividade","mod.knowledge":"Conhecimento","mod.costs":"Custos","mod.security":"Seguran\xe7a","mod.pulse":"Pulso","mod.github":"Commit no GitHub","mod.prepare-deploy":"Preparar Deploy","mod.models":"Modelos","mod.update":"Atualizar","mod.plugins":"Plugins","mod.inbox":"Caixa de entrada","mod.notifications":"Notifica\xe7\xf5es","mod.config":"Configura\xe7\xf5es","mod.profile":"Perfil","config.sub":"Prefer\xeancias da IDE e da plataforma","config.editor":"Editor","config.editorDesc":"Como o m\xf3dulo de C\xf3digo se comporta.","config.appearance":"Apar\xeancia","config.appearanceDesc":"Desative o fundo animado (estrelas, buraco negro, constela\xe7\xf5es) para reduzir o uso da GPU em m\xe1quinas mais fracas. O alternador de tema (claro/escuro) fica na barra superior.","config.deployMode":"Modo de implanta\xe7\xe3o","config.current":"Como este n\xf3 \xe9 executado. Atual:","config.cliPrefix":"Definido na inicializa\xe7\xe3o via CLI —","config.cliSuffix":"Reinicie com uma flag diferente para alter\xe1-lo.","config.configFiles":"Arquivos de configura\xe7\xe3o (.yaml)","config.configFilesDesc":"Gerados em disco — o diret\xf3rio \xe9 a fonte da verdade.","config.authentication":"Autentica\xe7\xe3o","costs.sub":"Gastos deste m\xeas — {month}","costs.monthlyBudget":"Or\xe7amento mensal","costs.capThisMonth":"/ {cap} neste m\xeas","costs.noteCrit":" Perto do limite mensal — os agentes pausam quando ele \xe9 atingido.","costs.noteWarn":" Aproximando-se do limite mensal.","costs.noteOk":" Dentro do or\xe7amento.","costs.balance":"Saldo:","costs.kpiSpent":"Gasto","costs.kpiSpentSub":"de ${cap} de limite","costs.kpiBalance":"Saldo","costs.kpiBalanceSub":"restante neste m\xeas","costs.kpiTokens":"Tokens","costs.kpiTokensSub":"consumidos","costs.perAgentTitle":"Or\xe7amentos di\xe1rios por agente","costs.monthAttribution":" \xb7 m\xeas ${mo}","costs.byProvider":"Por provedor","costs.byModel":"Por modelo","costs.empty":"Nenhum gasto ainda.","security.sub":"Achados e pontua\xe7\xe3o de seguran\xe7a \xb7 \xfaltima revis\xe3o: {lastRun}","security.neverRun":"nunca executado","security.agentRole":"Agente de Revis\xe3o de C\xf3digo","security.agentDesc":"Verifica o c\xf3digo em busca de vulnerabilidades, problemas de permiss\xe3o e isolamento, exposi\xe7\xe3o de tokens e padr\xf5es arriscados — e ent\xe3o registra os achados. “Executar revis\xe3o” faz uma passagem real sobre o workspace.","security.agentReadsFrom":"O agente l\xea de","security.score":"Pontua\xe7\xe3o","security.high":"Altos","security.openLabel":"abertos","security.open":"Abertos","security.fixed":"Corrigidos","security.findings":"Achados","security.empty":"Nenhum achado ainda — execute uma revis\xe3o para examinar o workspace.","security.fixedPill":"corrigido","security.suggestion":"Sugest\xe3o:","goals.sub":"Cada meta \xe9 uma unidade de trabalho — suas issues filhas e o progresso ao vivo (a partir dos TODOs delas)","tasks.sub":"Quadro da equipe — o trabalho do dia a dia de todos","activity.sub":"Linha do tempo leg\xedvel do que os agentes fizeram","inbox.title":"Caixa de entrada","inbox.sub":"Itens que precisam da sua a\xe7\xe3o — {n} pendente(s)","pulse.sub":"Sa\xfade dos agentes e valida\xe7\xe3o do workspace — orientada pelo pulse.md de cada agente","pulse.agents":"Agentes","pulse.alive":"Ativos","pulse.stale":"Inativos","pulse.down":"Offline","pulse.agentHealth":"Sa\xfade dos agentes","pulse.workingNow":"{n} trabalhando agora","pulse.lastPulse":"\xfaltimo pulse","pulse.never":"nunca","pulse.liveActivity":"Atividade ao vivo","pulse.liveActivitySub":"o que os agentes est\xe3o fazendo","pulse.noActivity":"Nenhuma atividade ainda — aprove o plano e ative o Run 24/7.","pulse.system":"Sistema","pulse.notifications":"Notifica\xe7\xf5es","pulse.noNotifications":"Nenhuma notifica\xe7\xe3o.","pulse.systemHealth":"Resumo da sa\xfade do sistema","pulse.noSweep":"Nenhuma varredura ainda — inicie o worker (npm run worker) ou dispare um tick de execu\xe7\xe3o.","models.sub":"Cat\xe1logo de provedores, provedores conectados e modelos locais — as chaves ficam no cofre, nunca em texto puro","docs.sub":"Documenta\xe7\xe3o e arquivos de produto — o Markdown no disco \xe9 a fonte da verdade","docs.groupDocumentation":"Documenta\xe7\xe3o","docs.groupProduct":"Produto (PO)","docs.empty":"Nenhum ainda.","reports.sub":"Documentos que os agentes geram para coordenar — planos, revis\xf5es, auditorias","reports.empty":"Nenhum relat\xf3rio ainda.","planner.sub":"Ada transforma o briefing em specs, issues e um port\xe3o de aprova\xe7\xe3o antes de qualquer c\xf3digo","planner.pipeline":"Pipeline","planner.step.context.t":"Contexto organizado","planner.step.context.d":"Mock, briefing, miss\xe3o, stack e arquivos .md reunidos.","planner.step.analyse.t":"CEO analisa","planner.step.analyse.d":"Ada revisa tudo e estrutura o plano.","planner.step.specs.t":"Specs escritas","planner.step.specs.d":"CTO, PO e Docs transformam o material em specs detalhadas.","planner.step.issues.t":"Issues divididas","planner.step.issues.d":"As specs s\xe3o divididas em issues priorizadas e descritas.","planner.step.approval.t":"Aprova\xe7\xe3o do plano","planner.step.approval.d":"O operador aprova, revisa ou edita antes de qualquer c\xf3digo.","planner.step.execute.t":"Agentes codam (24/7)","planner.step.execute.d":"Os engenheiros pegam as issues; revis\xe3o + QA + docs v\xeam em seguida.","planner.step.report.t":"CEO reporta","planner.step.report.d":"Progresso + pr\xf3ximos passos reportados de volta ao operador.","planner.meta.files":"{n} arquivos em disco \xb7 README, .claude/","planner.meta.framed":"plano estruturado → {n} specs","planner.meta.awaitingPlan":"aguardando o plano da Ada","planner.meta.specs":"specs/*.md \xb7 {n}/{total} aprovadas","planner.meta.issues":"{n} issues \xb7 {approved} aprovadas","planner.meta.approvedByOperator":"aprovado pelo operador","planner.meta.awaitingApproval":"aguardando sua aprova\xe7\xe3o","planner.meta.afterApproval":"come\xe7a somente ap\xf3s a aprova\xe7\xe3o","planner.meta.board":"a fazer {todo} \xb7 fazendo {doing} \xb7 revis\xe3o {review} \xb7 conclu\xeddo {done}","planner.meta.reports":"{n} relat\xf3rio(s) \xb7 Reports/*.md","planner.meta.noReports":"nenhum relat\xf3rio registrado ainda","planner.cta.title":"Plano aprovado — pronto para executar.","planner.cta.clickPrefix":"Clique em","planner.cta.body":"(canto superior direito ↗) para colocar os agentes a trabalhar nas {n} issues. Nenhum c\xf3digo roda at\xe9 voc\xea fazer isso.","planner.exec.progress":"Progresso da execu\xe7\xe3o","planner.exec.live":"ao vivo \xb7 {n} em andamento","planner.exec.armed":"armado \xb7 nenhuma issue atribu\xedda para executar","planner.exec.complete":"conclu\xeddo","planner.exec.paused":"pausado","planner.exec.issuesDone":"{done}/{total} issues conclu\xeddas","pm.sub":"O product owner conduz o planejamento do produto — quadro de sprint e backlog","pm.sprintBoard":"Quadro de sprint","pm.groom":"Refinar backlog","pm.grooming":"Refinando…","pm.groomDesc":"O Product Owner estima story points (Fibonacci, por esfor\xe7o) e define o MoSCoW de cada issue.","pm.groomed":"{n} issue(s) dimensionada(s)","pm.groomFailed":"Falha no refinamento","pm.col.todo":"A fazer","pm.col.doing":"Em andamento","pm.col.blocked":"Bloqueado","pm.col.review":"Revis\xe3o","pm.col.done":"Conclu\xeddo","pm.pts":"{n} pts","pm.noCards":"Nenhum card.","pm.backlog":"Backlog","pm.noBacklog":"Nenhum item no backlog ainda.","orgs.sub":"Cada organiza\xe7\xe3o possui um workspace isolado. Abra, renomeie, arquive ou exclua.","orgs.archived":"arquivada","orgs.workspacePath":"Caminho do workspace","orgs.runMode":"Modo de execu\xe7\xe3o","orgs.stack":"Stack","orgs.editMissionObjective":"Editar miss\xe3o e objetivo (workspace ativo)","orgs.createOrganization":"Criar organiza\xe7\xe3o","org.title":"Organograma","org.sub":"Arraste os cart\xf5es para organizar \xb7 arraste a al\xe7a de um cart\xe3o sobre outro agente para definir quem se reporta a quem","org.empty":"Nenhum agente ainda.","testdev.sub":"Inicie o projeto, navegue por ele, observe o console + seguran\xe7a b\xe1sica — valide o trabalho antes de publicar","routines.sub":"Automa\xe7\xf5es recorrentes — geradas por agentes e as suas","routines.empty":"Nenhuma rotina ainda — crie uma ou deixe um agente adicion\xe1-las.","routines.next.minutes":"em minutos","routines.next.hour":"dentro de uma hora","routines.next.tomorrow":"amanh\xe3","routines.next.week":"na pr\xf3xima semana","routines.next.month":"no pr\xf3ximo m\xeas","routines.next.schedule":"conforme o agendamento","routines.paused":"pausada","routines.nextLabel":"pr\xf3xima","routines.lastLabel":"\xfaltima","cron.sub":"Tarefas agendadas e hist\xf3rico de conclus\xe3o","cron.upcoming":"Pr\xf3ximos agendamentos","cron.empty":"Nenhuma tarefa agendada — adicione uma rotina em Rotinas.","cron.history":"Hist\xf3rico de conclus\xe3o","cron.colTask":"Tarefa","cron.colCompletedBy":"Conclu\xedda por","cron.colWhen":"Quando","cron.colResult":"Resultado","cron.ok":"ok","cron.failed":"falhou","cron.noRuns":"Nenhuma execu\xe7\xe3o ainda.","github.sub":"Envie seu workspace para um reposit\xf3rio remoto — voc\xea ou um agente","github.back":"Voltar","github.selectRepo":"Selecione um reposit\xf3rio","github.connectGithub":"Conectar GitHub","github.connected":"Conectado","github.connectedPick":"Conectado — escolha ou crie um reposit\xf3rio para enviar","github.signInOrToken":"Fa\xe7a login ou cole um token para enviar o workspace para um remoto.","github.connectedBadge":"Conectado","deploy.sub":"Prepare o projeto para produ\xe7\xe3o — pipeline, verifica\xe7\xf5es, build e depois um export limpo para um reposit\xf3rio separado","deploy.back":"Voltar","deploy.run":"Preparar produ\xe7\xe3o","deploy.runAgain":"Refazer preparo","deploy.preparing":"Preparando…","deploy.export":"Exportar c\xf3digo limpo","deploy.logs":"Ver logs","deploy.lastPrep":"\xdaltimo preparo","deploy.never":"nunca","deploy.targetEnv":"Alvo","deploy.targetRepo":"Repo de export","deploy.notConfigured":"n\xe3o configurado","deploy.status.idle":"Ainda n\xe3o preparado","deploy.status.running":"Preparando…","deploy.status.done":"Pronto para produ\xe7\xe3o","deploy.status.failed":"Preparo falhou","deploy.status.blocked":"Bloqueado","deploy.pipeline":"Pipeline de deploy","deploy.step.analyze":"Analisar o projeto","deploy.step.deps":"Validar depend\xeancias","deploy.step.env":"Validar vari\xe1veis de ambiente","deploy.step.tests":"Rodar testes","deploy.step.secrets":"Varredura de seguran\xe7a","deploy.step.build":"Build de produ\xe7\xe3o","deploy.step.validateBuild":"Validar build","deploy.step.agent":"Configurar env, corrigir e documentar","deploy.step.package":"Preparar pacote limpo","deploy.st.waiting":"aguardando","deploy.st.running":"em andamento","deploy.st.done":"conclu\xeddo","deploy.st.error":"erro","deploy.st.blocked":"bloqueado","deploy.st.needs-action":"precisa de a\xe7\xe3o","deploy.checklist":"Checklist de produ\xe7\xe3o","deploy.chk.pkg":"package.json v\xe1lido","deploy.chk.deps":"Depend\xeancias instaladas","deploy.chk.envExample":".env.example presente","deploy.chk.envComplete":"Todas as env vars usadas documentadas","deploy.chk.secrets":"Nenhum segredo no produto","deploy.chk.build":"Build de produ\xe7\xe3o roda","deploy.chk.tests":"Testes passam","deploy.chk.readme":"README presente","deploy.chk.deployDoc":"Docs de deploy presentes","deploy.chk.internalExcluded":"Arquivos internos fora do export","deploy.chk.exportRepo":"Reposit\xf3rio de export configurado","deploy.env.title":"Ambiente","deploy.env.runtime":"Runtime","deploy.env.framework":"Framework","deploy.env.pm":"Gerenciador de pacotes","deploy.env.database":"Banco de dados","deploy.env.ports":"Portas","deploy.env.docker":"Docker","deploy.env.build":"Script de build","deploy.env.start":"Script de start","deploy.env.mode":"Modo","deploy.env.requiredVars":"Vari\xe1veis obrigat\xf3rias","deploy.env.none":"nenhuma","deploy.env.unset":"n\xe3o documentada em .env.example","deploy.env.validate":"Validar .env.example","deploy.env.noProject":"Nenhum projeto execut\xe1vel detectado.","deploy.env.yes":"sim","deploy.env.no":"n\xe3o","deploy.db.relational":"Relacional","deploy.db.document":"Documentos","deploy.db.key-value":"Chave-valor","deploy.db.none":"nenhum","deploy.sec.title":"Seguran\xe7a","deploy.sec.clean":"Nenhum segredo encontrado no conjunto de export.","deploy.sec.blocked":"Export bloqueado — poss\xedveis segredos encontrados.","deploy.sec.rescan":"Re-escanear","deploy.sec.scanning":"Escaneando…","deploy.sec.openInbox":"Abrir Caixa de entrada","deploy.sec.notRun":"Rode uma varredura para checar segredos no export antes de exportar.","deploy.pkg.title":"Pr\xe9via do pacote limpo","deploy.pkg.review":"Revisar pacote limpo","deploy.pkg.included":"inclu\xeddos","deploy.pkg.ignored":"ignorados","deploy.pkg.size":"tamanho","deploy.pkg.docs":"Docs","deploy.pkg.buildOutput":"Sa\xedda de build","deploy.pkg.present":"presente","deploy.pkg.absent":"ausente","deploy.pkg.files":"arquivos","deploy.pkg.loading":"Montando pr\xe9via…","deploy.pkg.empty":"Nada para exportar ainda — nenhum arquivo limpo do produto foi encontrado.","deploy.qa.title":"A\xe7\xf5es r\xe1pidas","deploy.qa.build":"Rodar build","deploy.qa.tests":"Rodar testes","deploy.qa.scan":"Rodar varredura de seguran\xe7a","deploy.qa.readme":"Gerar README","deploy.qa.deploydocs":"Gerar docs de deploy","deploy.qa.env":"Validar .env.example","deploy.qa.review":"Revisar pacote limpo","deploy.qa.export":"Exportar para GitHub","deploy.qa.inbox":"Abrir Caixa de entrada","deploy.qa.running":"Rodando…","deploy.exp.title":"Exportar c\xf3digo limpo","deploy.exp.sub":"apenas o produto — nunca arquivos internos, dados do workspace ou segredos","deploy.exp.diff":"Diferente do Commit no GitHub (workspace inteiro) — isto envia apenas o produto limpo para um reposit\xf3rio SEPARADO, com varredura de segredos obrigat\xf3ria.","deploy.exp.connected":"Conta conectada","deploy.exp.token":"Outro token","deploy.exp.target":"Reposit\xf3rio de destino","deploy.exp.tokenPh":"Token do GitHub (escopo repo)","deploy.exp.repoPh":"owner/repo (o reposit\xf3rio de deploy SEPARADO)","deploy.exp.branch":"branch","deploy.exp.exporting":"Exportando…","deploy.exp.pushedPrefix":"Enviado","deploy.exp.pushedSuffix":"arquivo(s) limpo(s). Agora conecte seu host a esse reposit\xf3rio (veja DEPLOY.md).","deploy.exp.blockedNote":"Registrado na Caixa de entrada. Remova os segredos e exporte de novo.","deploy.exp.gate":"Resolva os segredos encontrados antes de exportar.","deploy.empty.neverRun":"Ainda n\xe3o preparado. Rode o pipeline para analisar, buildar, escanear e documentar o projeto.","update.sub":"Detecte, revise e aplique novas vers\xf5es do Constella","plugins.sub":"Extens\xf5es — skills nativas e integra\xe7\xf5es","plugins.empty":"Nenhum plugin ainda — instale um a partir de uma URL acima.","config.agents":"Agentes (execu\xe7\xe3o)","config.agentsDesc":"Execu\xe7\xe3o paralela + lock por arquivo.","chat.filter":"Filtrar","chat.commands":"Comandos","chat.sources":"Fontes ({n})","kbcard.title":"Base de Conhecimento","kbcard.created":"Criados {n} bloco(s) central(is).","kb.sub":"A Base de Conhecimento — a fonte \xfanica da verdade do projeto, curada por @vannevar","kb.entries":"Entradas KB","kb.entriesHint":"{n} ativas","kb.ragChunks":"Chunks RAG","kb.ragChunksHint":"{a} ativos \xb7 {o} aposentados","kb.kbChunks":"Chunks KB","kb.kbChunksHint":"de kb_entry","kb.embedded":"Com embeddings","kb.embeddedSemantic":"sem\xe2ntico \xb7 {dim}-dim","kb.embeddedKeyword":"fallback por palavra-chave","kb.indexHealth":"Sa\xfade do \xedndice","kb.semantic":"Sem\xe2ntico","kb.keyword":"Palavra-chave","kb.updated":"atualizado {ago}","kb.notBuilt":"ainda n\xe3o constru\xeddo","kb.lifecycle":"Ciclo de vida","kb.active":"ativas","kb.superseded":"substitu\xeddas","kb.obsolete":"obsoletas","kb.archived":"arquivadas","kb.locks":"Locks de arquivo ativos","kb.locksEmpty":"Nenhum arquivo travado. (Locks por arquivo aparecem aqui quando agentes rodam em paralelo — ative em Config → Agentes.)","kb.byType":"Conhecimento por tipo","kb.byTypeEmpty":"Nenhum conhecimento capturado ainda — acumula conforme os agentes concluem tarefas, revis\xf5es e testes.","kb.relations":"Goal ↔ Spec ↔ Issue ↔ arquivo ↔ conhecimento","kb.noGoals":"Nenhuma meta ainda.","kb.fileUnit":"arq","kb.gaps":"Lacunas de cobertura","kb.gapsEmpty":"Nenhuma lacuna detectada — todo m\xf3dulo que produziu arquivos tem conhecimento capturado.","kb.queries":"Consultas dos agentes ao KB","kb.queriesEmpty":"Nenhuma consulta ao KB registrada ainda.","kb.emptyQuery":"(consulta vazia)","kb.hits":"{n} resultados","kb.reindex":"Reindexar","kb.curating":"Curando…","kb.curate":"Curar (Vannevar)","block.proposals":"Propostas de bloco pendentes","block.merge":"Mesclar","block.reject":"Rejeitar","block.title":"Blocos can\xf4nicos","block.new":"Novo bloco","block.save":"Salvar bloco","block.saving":"Salvando…","block.cancel":"Cancelar","block.empty":"Nenhum bloco can\xf4nico ainda — crie um (ex: official-stack, business-rules) pra aparecer nos prompts dos agentes e na home.","block.edit":"Editar","block.delete":"Excluir","mod.home":"In\xedcio","home.sub":"Sua home operacional — conhecimento, trabalho, time e opera\xe7\xf5es","home.statusRunning":"{n} agentes trabalhando","home.statusIdle":"Ocioso — inicie o loop em Config","home.activeAgents":"agentes ativos","home.spentMonth":"neste m\xeas","home.goalProgress":"progresso das metas","home.fullDashboard":"Painel completo","home.startAgents":"Iniciar agentes","home.starting":"Iniciando…","home.startHint":"Inicia o loop aut\xf4nomo dos agentes","home.act.askKb":"Perguntar ao KB","home.act.newWork":"Novo trabalho","home.act.continue":"Continuar","home.act.pending":"Pend\xeancias","home.cmd.placeholder":"Pergunte ao KB, chame um agente (@ada) ou rode um comando (/)…","home.cmd.hint":"Digite para perguntar ao KB \xb7 /comando \xb7 @agente","home.cmd.run":"Enviar","home.cmd.kb":"Perguntar \xe0 base de conhecimento","home.cmd.status":"Metas \xb7 issues \xb7 tarefas em andamento","home.cmd.newgoal":"Iniciar novo trabalho (CEO monta o plano)","home.cmd.agents":"O time","home.cmd.reindex":"Reconstruir o \xedndice RAG/KB","home.cmd.curate":"Rodar a curadoria do KB","home.cmd.help":"Listar os comandos","home.chat.title":"Pergunte qualquer coisa","home.chat.sub":"KB \xb7 @agente \xb7 /comando — tudo num s\xf3 fio","home.chat.loading":"Carregando a conversa…","home.chat.intro":"Pergunte \xe0 base de conhecimento, chame um agente com @handle, ou rode um /comando. As respostas aparecem aqui.","home.chat.clear":"Limpar conversa","home.chat.fullscreen":"Tela cheia","home.chat.clearConfirm":"Limpar esta conversa? Todas as mensagens do fio do time ser\xe3o apagadas permanentemente.","home.chat.clearConsequences":"Isto apaga permanentemente TODAS as mensagens desta conversa — o hist\xf3rico completo, o resumo de contexto compactado e os eventos. Os agentes perdem o contexto desta conversa. Seu board, metas, specs e a Base de Conhecimento N\xc3O s\xe3o afetados.","home.chat.message":"Mensagem para","home.chat.dmAda":"DM @ada para novo trabalho","home.area.knowledge":"Conhecimento","home.area.knowledge.desc":"KB, docs, relat\xf3rios, skills e blocos","home.area.work":"Trabalho","home.area.work.desc":"Metas, specs, issues e o planner","home.area.team":"Time","home.area.team.desc":"Agentes, organograma e salas","home.area.ops":"Opera\xe7\xf5es","home.area.ops.desc":"Custos, seguran\xe7a, modelos e deploy","home.canonical":"Conhecimento central","home.recent":"Atividade recente","home.recentEmpty":"Nenhuma atividade ainda.","home.seeAll":"Ver tudo","home.continue":"Continue de onde parou","home.continue.empty":"Nada em andamento ainda — pergunte ao KB ou inicie um novo trabalho acima.","home.type.goal":"Meta","home.type.spec":"Spec","home.type.issue":"Issue","home.type.task":"Tarefa","home.type.report":"Relat\xf3rio","home.type.doc":"Doc","home.type.test":"Teste","home.type.plan":"Plano","home.decisions":"Precisa da sua decis\xe3o","home.decisions.empty":"Nada precisa da sua decis\xe3o agora.","home.decisions.approve":"Aprovar","home.decisions.reject":"Rejeitar","home.decisions.details":"Detalhes","home.decisions.askKb":"Perguntar ao KB","home.decisions.kind.approval":"aprova\xe7\xe3o","home.decisions.kind.review":"revis\xe3o","home.decisions.kind.block":"bloqueado","home.decisions.kind.budget":"or\xe7amento","home.decisions.kind.question":"pergunta","home.decisions.kind.validation":"valida\xe7\xe3o","home.product":"Produto & planejamento","home.po.goals":"metas ativas","home.po.specsAwaiting":"specs a refinar","home.po.backlog":"itens no backlog","home.po.plan":"plano aprovado","home.po.auto":"rodando 24/7","home.po.topIssues":"Issues priorizadas","home.po.next":"Pr\xf3ximos passos recomendados","po.next.firstPlan":"Iniciar o primeiro plano","po.next.approvePlan":"Aprovar o plano","po.next.refineSpecs":"Refinar as specs abertas","po.next.reviewIssues":"Revisar issues em revis\xe3o","po.next.allClear":"Tudo certo — siga entregando","home.activity.today":"Hoje","home.activity.yesterday":"Ontem","home.canonical.empty":"Nenhum conhecimento central ainda — crie blocos (miss\xe3o, stack oficial, regras de neg\xf3cio) em Conhecimento; eles aparecem aqui e em todo prompt de agente.","home.createBlocks":"Criar blocos centrais","home.creating":"Criando…","home.openKnowledge":"Abrir Conhecimento","kb.emptyEntries":"A camada curada do KB ainda est\xe1 vazia — mas {n} chunk(s) est\xe3o indexados no RAG (docs, specs, chat). As entradas se preenchem conforme os agentes trabalham; rode Curar para constru\xed-las.","kb.reindexResult":"Reindexado — {n} chunk(s).","kb.curateResult":"Curado: {m} mesclados \xb7 {r} aposentados \xb7 {s} re-resumidos \xb7 {g} lacuna(s).","kb.curateNone":"Nada para curar ainda.","home.openInKb":"Abrir no KB","home.docs":"Documentos","home.docsRecent":"Recentes","home.docsSuggested":"Sugeridos para este projeto","home.docsEmpty":"Nenhum documento ainda — crie ou importe para come\xe7ar a base de conhecimento.","docs.sugg.first":"Criar seu primeiro documento","docs.sugg.architecture":"Adicionar um doc de ARQUITETURA","docs.sugg.deploy":"Preparar o projeto para produ\xe7\xe3o","docs.sugg.qa":"Abrir um relat\xf3rio de QA / seguran\xe7a","dash.sub":"Cabine — sua empresa num relance","dash.agents":"Agentes","dash.activeNow":"ativos agora","dash.spend":"Gastos","dash.ofCap":"de ${cap} de limite \xb7 {tok} tokens","dash.openFindings":"{n} achados abertos","dash.avgGoals":"progresso m\xe9dio \xb7 {n} metas","dash.activeAgents":"Agentes ativos","dash.tasksByColumn":"Tarefas por coluna","dash.alerts":"Alertas","dash.noActive":"Nenhum agente ativo — inicie o loop de agentes (Run na barra lateral) ou aprove um plano no CEO Planner.","dash.nothingNeedsYou":"Nada precisa de voc\xea.","dash.modules":"M\xf3dulos","dash.filter.today":"Hoje","dash.filter.7d":"7 dias","dash.filter.30d":"30 dias","dash.filter.month":"Este m\xeas","dash.filter.allGoals":"Todas as metas","dash.filter.allAgents":"Todos os agentes","dash.updated":"atualizado","dash.refresh":"Atualizar","dash.tokens":"tokens","dash.vsPrev":"vs anterior","dash.avgActive":"progresso m\xe9dio \xb7 {n} ativas","dash.lastScan":"\xfaltima varredura","dash.ag.idle":"ocioso","dash.ag.working":"trabalhando","dash.ag.review":"revis\xe3o","dash.ag.blocked":"bloqueado","dash.ag.heartbeat":"heartbeat","dash.sev.high":"alta","dash.sev.med":"m\xe9dia","dash.sev.low":"baixa","dash.go.active":"ativas","dash.go.done":"conclu\xeddas","dash.go.blocked":"bloqueadas","dash.healthTitle":"Sa\xfade do sistema","dash.health.devServer":"Servidor dev","dash.health.production":"Produ\xe7\xe3o / deploy","dash.health.agentLoop":"Loop de agentes","dash.health.kb":"Conhecimento / RAG","dash.health.storage":"Banco / armazenamento","dash.health.models":"Modelos","dash.health.github":"GitHub","dash.health.telegram":"Telegram","dash.health.testDev":"Test Dev","dash.health.queues":"Filas","dash.health.locks":"Locks de arquivos","dash.health.update":"Atualiza\xe7\xf5es","dash.act.start":"Iniciar","dash.act.reindex":"Reindexar","dash.act.open":"Abrir","dash.act.configure":"Configurar","dash.act.reconnect":"Reconectar","dash.execTitle":"Execu\xe7\xe3o atual","dash.exec.goal":"Goal","dash.exec.issue":"Issue","dash.exec.agent":"Agente","dash.exec.elapsed":"Decorrido","dash.exec.next":"Pr\xf3ximo","dash.exec.review":"Em revis\xe3o","dash.exec.tests":"Testes","dash.exec.locks":"Arquivos travados","dash.exec.none.idle":"Nenhuma execu\xe7\xe3o ativa agora.","dash.exec.none.off":"Loop de agentes pausado — inicie para rodar o trabalho na fila.","dash.exec.none.waiting-approval":"Aguardando aprova\xe7\xe3o do plano no CEO Planner.","dash.exec.none.all-done":"Todas as metas ativas est\xe3o conclu\xeddas.","dash.exec.none.running":"Iniciando…","dash.exec.planner":"Abrir CEO Planner","dash.exec.startLoop":"Iniciar loop de agentes","dash.exec.pauseLoop":"Pausar loop de agentes","dash.exec.pending":"Ver pend\xeancias","dash.test.running":"em andamento","dash.test.pass":"passando","dash.test.fail":"falhando","dash.test.inconclusive":"inconclusivo","dash.tasksByStatus":"Tarefas por status","dash.col.triage":"Triagem","dash.col.todo":"A fazer","dash.col.doing":"Em andamento","dash.col.blocked":"Bloqueado","dash.col.review":"Revis\xe3o","dash.col.done":"Conclu\xeddo","dash.openStudio":"Abrir Est\xfadio de Agentes","dash.runConfig":"Config de execu\xe7\xe3o","dash.alert.approval":"aprova\xe7\xf5es pendentes","dash.alert.review":"aguardando revis\xe3o","dash.alert.block":"bloqueios","dash.alert.budget":"alertas de or\xe7amento","dash.alert.question":"perguntas","dash.alert.validation":"valida\xe7\xf5es","dash.alert.mention":"men\xe7\xf5es","dash.problemsTitle":"Problemas que exigem aten\xe7\xe3o","dash.prob.deploy":"Deploy falhou","dash.prob.deployImpact":"O export de produ\xe7\xe3o est\xe1 bloqueado — resolva antes de publicar.","dash.prob.agentStuck":"Um agente est\xe1 travado","dash.prob.agentStuckImpact":"Um agente est\xe1 trabalhando mas o heartbeat ficou velho.","dash.prob.security":"Achado de alta severidade aberto","dash.prob.securityImpact":"Um risco de seguran\xe7a alto est\xe1 sem resolu\xe7\xe3o.","dash.prob.dev":"Erro no servidor dev","dash.prob.devImpact":"O servidor dev do projeto falhou ao subir.","dash.prob.kb":"Base de conhecimento vazia","dash.prob.kbImpact":"Nada indexado — os agentes n\xe3o t\xeam mem\xf3ria. Reindexe.","dash.prob.test":"Testes falhando","dash.prob.testImpact":"A \xfaltima execu\xe7\xe3o de testes falhou.","dash.prob.github":"GitHub n\xe3o conectado","dash.prob.githubImpact":"Conecte um token para commitar ou exportar.","dash.kbTitle":"Conhecimento / RAG","dash.kb.empty":"A base de conhecimento est\xe1 vazia.","dash.kb.createBlocks":"Criar blocos centrais","dash.kb.open":"Abrir Conhecimento","dash.kb.chunks":"chunks","dash.kb.embeddings":"embeddings","dash.kb.entries":"entradas","dash.kb.queries":"consultas recentes","dash.kb.gaps":"lacunas de cobertura","dash.kb.lastReindex":"\xfaltima reindexa\xe7\xe3o","dash.kb.reindex":"Reindexar","dash.kb.curate":"Curar","dash.integTitle":"Integra\xe7\xf5es","dash.integ.github":"GitHub","dash.integ.telegram":"Telegram","dash.integ.models":"Provedores de modelo","dash.integ.cli":"Agentes CLI","dash.integ.local":"Modelos locais","dash.integ.update":"Atualiza\xe7\xf5es","dash.integStatus.connected":"conectado","dash.integStatus.disconnected":"desligado","dash.integStatus.error":"erro","dash.integStatus.needs-login":"precisa login","dash.integStatus.needs-config":"precisa config","dash.locksTitle":"Locks de arquivos","dash.locks.release":"Liberar","dash.ofCapShort":"de ${cap}","dash.openShort":"abertos","dash.kb.semantic":"sem\xe2ntico","dash.hstatus.healthy":"saud\xe1vel","dash.hstatus.attention":"aten\xe7\xe3o","dash.hstatus.error":"erro","dash.hstatus.offline":"offline","dash.hstatus.needs-config":"config","common.save":"Salvar","common.saved":"Salvo","common.cancel":"Cancelar","common.close":"Fechar","common.add":"Adicionar","common.remove":"Remover","common.delete":"Excluir","common.edit":"Editar","common.create":"Criar","common.connect":"Conectar","common.disconnect":"Desconectar","common.connected":"Conectado","common.search":"Buscar","common.searchEllipsis":"Buscar…","common.loading":"Carregando…","common.refresh":"Atualizar","common.enable":"Ativar","common.disable":"Desativar","common.enableAll":"Ativar todos","common.disableAll":"Desativar todos","common.dismiss":"Dispensar","common.clear":"Limpar","common.select":"Selecionar","common.selectEllipsis":"Selecionar…","common.none":"Nenhum","common.noneYet":"Nada ainda.","common.never":"nunca","common.on":"ativo","common.off":"inativo","common.yes":"Sim","common.no":"N\xe3o","common.generate":"Gerar","common.revoke":"Revogar","common.copy":"Copiar","common.copied":"Copiado","common.upload":"Enviar","common.download":"Baixar","common.install":"Instalar","common.uninstall":"Desinstalar","common.start":"Iniciar","common.stop":"Parar","common.noResults":"Sem resultados.","common.noOptions":"Sem op\xe7\xf5es","common.back":"Voltar","common.next":"Avan\xe7ar","common.name":"Nome","common.description":"Descri\xe7\xe3o","common.status":"Status","common.actions":"A\xe7\xf5es","common.all":"Todos","common.view":"Ver","common.retry":"Tentar novamente","common.confirm":"Confirmar","common.saving":"Salvando…","common.unsynced":"n\xe3o sincronizado","dropdown.noMatch":"Nenhum resultado para “{q}”","chrome.runmode.running":"Agentes em execu\xe7\xe3o","chrome.runmode.paused":"Pausado","chrome.runmode.loopStopped":"loop parado","chrome.runmode.pause":"Pausar","chrome.anim.label":"Anima\xe7\xf5es: {state}","chrome.anim.titleOn":"Anima\xe7\xf5es: ligadas — clique para desativar (economiza GPU)","chrome.anim.titleOff":"Anima\xe7\xf5es: desligadas — clique para ativar","chrome.chat.agentRoom":"Sala dos Agentes","chrome.ctx.title":"Contexto","chrome.ctx.max":"M\xe1ximo","chrome.ctx.used":"Usado","chrome.ctx.reserve":"Reserva","chrome.ctx.remaining":"Restante","chrome.ctx.byAgent":"Tokens consumidos por agente","chrome.ctx.compactHint":"Resuma as mensagens antigas para liberar contexto","chrome.ctx.compacting":"Compactando…","chrome.ctx.compact":"Compactar","chrome.update.available":"Atualiza\xe7\xe3o dispon\xedvel","chrome.update.view":"Ver atualiza\xe7\xe3o","chrome.avatar.processError":"N\xe3o foi poss\xedvel processar essa imagem.","chrome.avatar.change":"Trocar foto","chrome.avatar.upload":"Enviar foto","modelpicker.connectProvider":"Conecte este provedor em Modelos para listar os modelos dele.","modelpicker.loading":"carregando modelos…","modelpicker.recommended":"recomendado","modelpicker.syncProvider":"Sincronize este provedor em Modelos para obter contexto + pre\xe7os.","modelpicker.noModels":"sem modelos — sincronize o provedor","modelpicker.loadError":"n\xe3o foi poss\xedvel carregar os modelos","modelpicker.localGguf":"llama.cpp \xb7 GGUF carregado","modelpicker.placeholder":"selecione um modelo…","chat.searchAgents":"Buscar agentes…","chat.noAgentMatch":"Nenhum agente corresponde a “{q}”","chat.noRefMatch":"Nenhum item corresponde a “{q}”","chat.composer.referenceItem":"Referenciar meta, spec ou issue","chat.filter.byRole":"Por papel","chat.filter.work":"Trabalho","chat.filter.discussion":"Discuss\xe3o","chat.filter.search":"Buscar mensagens…","chat.touchedBlocks":"Blocos tocados:","chat.youPrefix":"Voc\xea: ","chat.you":"Voc\xea","chat.showLess":"ver menos","chat.showMore":"ver mais","chat.status.idle":"ocioso","chat.status.working":"trabalhando","chat.status.review":"revis\xe3o","chat.status.blocked":"bloqueado","chat.verb.read":"Ler","chat.verb.create":"Criar","chat.verb.edit":"Editar","chat.verb.run":"Executar","chat.verb.search":"Buscar","chat.work.done":"Conclu\xeddo","chat.work.working":"Trabalhando","chat.work.workingEllipsis":"trabalhando…","chat.work.actions.one":"{n} a\xe7\xe3o","chat.work.actions.other":"{n} a\xe7\xf5es","chat.slash.help":"Listar os comandos","chat.slash.kb":"Perguntar \xe0 Base de Conhecimento","chat.slash.status":"Metas \xb7 issues \xb7 tarefas em andamento","chat.slash.agents":"A equipe","chat.slash.agent":"Inspecionar um agente","chat.slash.newGoal":"Iniciar novo trabalho (o CEO esbo\xe7a o plano)","chat.slash.reindex":"Reconstruir o \xedndice RAG/KB","chat.slash.curate":"Executar a curadoria de KB do Vannevar","chat.slash.clear":"Apagar esta conversa (confirma antes)","chat.slash.search":"Buscar na Base de Conhecimento","chat.slash.graph":"Mostrar o grafo de conhecimento de uma chave","chat.slash.approve":"Aprovar o plano pendente","chat.slash.reject":"Devolver o plano \xe0 CEO","chat.slash.run247":"Ligar a execu\xe7\xe3o aut\xf4noma 24/7","chat.slash.pause":"Pausar a execu\xe7\xe3o 24/7","chat.slash.cancel":"Cancelar o objetivo ativo","chat.slash.archive":"Arquivar o objetivo ativo","chat.slash.newIssue":"Criar uma issue no board","chat.slash.newSpec":"Criar uma spec","chat.slash.testDev":"Rodar o gate de valida\xe7\xe3o Test Dev","chat.slash.github":"Atualizar o status do reposit\xf3rio","chat.slash.assign":"Atribuir uma issue a um agente","chat.slash.review":"Pedir ao revisor para revisar mudan\xe7as recentes","chat.slash.prepareDeploy":"Rodar o pipeline de prepara\xe7\xe3o de produ\xe7\xe3o","chat.slash.exportSource":"Exportar o c\xf3digo-fonte limpo do produto","chat.slash.telegram":"Status da integra\xe7\xe3o Telegram","chat.slash.models":"Status dos modelos locais","chat.slash.skills":"A biblioteca de skills","chat.slash.locks":"Travas de arquivo ativas agora","chat.slash.generatePlan":"Rascunhar um plano para aprova\xe7\xe3o","chat.slash.closeSprint":"Arquivar o que foi entregue + escrever uma retro","chat.composer.maxAttachments":"M\xe1ximo de 10 anexos.","chat.composer.uploadFailed":"Falha no envio.","chat.composer.mentionAgent":"Mencionar um agente","chat.composer.refKind.goal":"Meta","chat.composer.refKind.spec":"Spec","chat.composer.refKind.issue":"Issue","chat.composer.attachTitle":"Anexar arquivos (≤10, 15MB cada)","chat.composer.attach":"Anexar","chat.composer.mentionToSend":"Mencione um colega para enviar","chat.composer.send":"enviar","chat.composer.newline":"nova linha","chat.kbSave.saved":"Salvo na Base de Conhecimento","chat.kbSave.send":"Enviar para a Base de Conhecimento","chat.kbPull.open":"Puxar do KB","chat.kbPull.title":"Puxar Base de Conhecimento para a mensagem","chat.kbPull.placeholder":"Buscar na Base de Conhecimento...","chat.kbPull.search":"Buscar","chat.kbPull.insert":"Inserir na mensagem","chat.kbPull.empty":"Busque decis\xf5es, specs, corre\xe7\xf5es ou contexto anterior do projeto.","chat.kbPull.noResult":"Nenhuma resposta \xfatil no KB para essa busca ainda.","chat.kbPull.searching":"Buscando...","chat.stream.emptyHint":"Mencione um agente com @handle — eles respondem de verdade.","chat.dock.agents":"Agentes","chat.dock.nothingNeedsYou":"Nada precisa de voc\xea agora.","chat.dock.moveLeft":"Mover para a esquerda","chat.dock.moveRight":"Mover para a direita","chat.dock.hide":"Ocultar chat","chat.dock.tabRoom":"Sala da Equipe","chat.dock.tabDirect":"Direto","chat.dock.tgIsolatedTip":"Esta conversa do Telegram mant\xe9m seu pr\xf3prio contexto isolado","chat.dock.isolatedThreadAda":"Conversa isolada \xb7 @ada (CEO)","chat.dock.dmAdaTip":"Trabalho novo? Mande DM para @ada — ela transforma em specs + issues para aprova\xe7\xe3o","chat.dock.allAgents":"Todos os agentes","chat.dock.sessActiveTip":"Sess\xe3o ativa — clique duas vezes para renomear","chat.dock.sessSwitchTip":"Mudar para esta sess\xe3o","chat.dock.sessDelete":"Excluir sess\xe3o","chat.dock.sessNewTip":"Nova sess\xe3o — contexto novo (as mensagens antigas s\xe3o mantidas)","chat.dock.sessNew":"Nova sess\xe3o","chat.dock.renameSession":"Renomear sess\xe3o","chat.dock.deleteSessionTitle":"Excluir sess\xe3o?","chat.dock.deleteSessionBody":"“{title}” e todas as suas mensagens ser\xe3o exclu\xeddas permanentemente. Isso n\xe3o pode ser desfeito.","chat.dock.clearTitle":"Limpar conversa?","chat.dock.clearBody":"Todas as mensagens desta conversa ser\xe3o exclu\xeddas permanentemente. Isso n\xe3o pode ser desfeito.","chat.dock.clearConversation":"Limpar conversa","chat.dock.dmContextNote":"DM privada — {name} tem o contexto completo da Sala dos Agentes.","chat.dock.messageAgent":"Mensagem para {name}…","chat.dock.teamChannel":"Canal da equipe","chat.dock.teamChannelSub":"{n} agentes \xb7 respondem quando @mencionados","chat.dock.dmName":"DM para {name}","chat.dock.roomPlaceholder":"Mensagem para a equipe… @mencione um agente para receber resposta","chat.tg.connectionFailed":"Falha na conex\xe3o.","chat.tg.botConnected":"{bot} conectado.","chat.tg.connectTitle":"Conectar Telegram","chat.tg.connectSub":"Converse com a CEO pelo celular. Apenas o chat id abaixo pode falar com ela — todo o resto \xe9 ignorado.","chat.tg.step1.a":"Abra","chat.tg.step1.b":"no Telegram","chat.tg.step1.c":"copie o","chat.tg.step1.token":"token do bot","chat.tg.step2.a":"Mande mensagem para","chat.tg.step2.b":"copie seu","chat.tg.step2.chatId":"chat id num\xe9rico","chat.tg.step2.c":"(um chat privado — n\xe3o um grupo).","chat.tg.step3":"Cole os dois abaixo e salve. O token \xe9 armazenado criptografado e nunca mais \xe9 exibido.","chat.tg.botToken":"Token do bot","chat.tg.yourChatId":"Seu chat id","chat.tg.yourName":"Seu nome (lista de permiss\xf5es)","chat.tg.namePlaceholder":"ex.: Gabriel","chat.tg.connectBot":"Conectar bot","chat.tg.isolatedNote":"Conversa isolada: este chat tem seu pr\xf3prio contexto — nunca se mistura com a Sala da Equipe ou as DMs, ent\xe3o nada vaza entre eles.","chat.tg.connectedSub":"Converse com a CEO \xb7 {name} ({chatId})","chat.tg.you":"voc\xea","chat.tg.connectPrompt":"Conecte um bot para conversar com a CEO","chat.tg.disconnect":"Desconectar Telegram","chat.tg.disconnectConfirm":"Desconectar o Telegram? O bot deixar\xe1 de responder at\xe9 ser reconectado.","chat.tg.isolatedThreadNote":"Conversa isolada do Telegram — contexto separado; nunca se mistura com a Sala da Equipe ou as DMs. Apenas o chat registrado pode falar com a Ada.","chat.tg.composerPlaceholder":"Mensagem para a Ada (espelha no seu Telegram)…","models.title":"Modelos","models.col.provider":"Provedor","models.col.adapter":"Adaptador","models.col.models":"Modelos","models.col.auth":"Autentica\xe7\xe3o","models.col.keyAuth":"Chave/Autentica\xe7\xe3o","models.col.lastSync":"\xdaltima sincroniza\xe7\xe3o","models.col.source":"Origem","models.col.params":"Par\xe2metros","models.col.size":"Tamanho","models.col.bind":"Endere\xe7o","models.modelCount":"{n} modelos","models.title.hideStatus":"Ocultar status","models.title.showStatus":"Mostrar status","models.title.testConnection":"Testar conex\xe3o","models.title.syncRefresh":"Sincronizar + atualizar modelos","models.title.viewModels":"Ver modelos","models.title.revokeToken":"Revogar token","models.title.removeProvider":"Remover provedor","models.title.serveModel":"Servir este modelo","models.title.hideTooBig":"Ocultar modelos grandes demais para esta m\xe1quina","models.flash.connectionOk":"Conex\xe3o OK","models.flash.unreachable":"Inacess\xedvel","models.flash.synced":"Sincronizados {n}","models.flash.tokenRevoked":"Token revogado","models.status.connected":"Conectado","models.status.error":"Erro","models.status.needsSync":"Requer sincroniza\xe7\xe3o","models.auth.ready":"Pronto","models.auth.needs_login":"Requer login","models.auth.needs_key":"Requer chave","models.auth.unknown":"Desconhecido","models.empty.cli":"Nenhum provedor CLI conectado — abra o cat\xe1logo para adicionar um.","models.empty.cloud":"Nenhum provedor de nuvem conectado — abra o cat\xe1logo para adicionar um.","models.empty.local":"Nenhum modelo local ainda — baixe um GGUF abaixo e inicie o servidor.","models.empty.noMatch":"Nenhum modelo corresponde ao filtro.","models.connType.cli":"CLI","models.connType.local":"Local","models.connType.hybrid":"H\xedbrido","models.connType.api":"API","models.pd.connection":"Conex\xe3o","models.pd.install":"Instala\xe7\xe3o","models.pd.auth":"Autentica\xe7\xe3o","models.pd.models":"Modelos","models.pd.defaultModel":"Modelo padr\xe3o","models.pd.maxContext":"Contexto m\xe1ximo","models.pd.capabilities":"Capacidades","models.pd.costDefault":"Custo \xb7 padr\xe3o","models.pd.state":"Estado","models.pd.tokens":"{ctx} tokens","models.pd.per1M":"por 1M","models.install.installed":"instalado","models.install.notDetected":"n\xe3o detectado","models.install.localRuntime":"runtime local","models.install.cloudApi":"API de nuvem","models.install.installLlama":"Instalar llama-server","models.install.installingPct":"Instalando {pct}%","models.install.installingEllipsis":"Instalando…","models.install.manualInstall":"instala\xe7\xe3o manual","models.hint.addApiKey":"adicione uma chave de API","models.state.ready":"Pronto","models.state.needsConfig":"Requer configura\xe7\xe3o","models.btn.refreshing":"Atualizando…","models.btn.refreshModels":"Atualizar modelos","models.cap.vision":"vis\xe3o","models.cap.reasoning":"racioc\xednio","models.cap.tools":"ferramentas","models.cap.sync":"sincroniza\xe7\xe3o","models.pop.recommended":"recomendado","models.pop.ctx":"ctx","models.pop.noModels":"nenhum modelo retornado","models.pop.loadFailed":"n\xe3o foi poss\xedvel carregar os modelos","models.log.serving":"llama-server servindo {model} em 127.0.0.1:8082","models.log.aModel":"um modelo","models.log.notInstalled":"llama-server n\xe3o instalado — github.com/ggml-org/llama.cpp/releases","models.log.stopped":"servidor parado","models.log.installing":"$ instalando llama-server (detec\xe7\xe3o autom\xe1tica CPU/CUDA)…","models.srv.running":"Em execu\xe7\xe3o","models.srv.working":"Processando…","models.srv.notInstalled":"N\xe3o instalado","models.srv.stopped":"Parado","models.srv.noModel":"nenhum modelo carregado","models.srv.stopBtn":"Parar servidor","models.srv.startBtn":"Iniciar servidor","models.srv.ggufModels":"modelos GGUF","models.srv.serverLabel":"servidor","models.srv.backendLabel":"backend","models.llama.title":"servidor llama.cpp","models.llama.sub":"runtime local compat\xedvel com OpenAI","models.hw.detected":"Hardware detectado","models.hw.autoProbed":"Detectado automaticamente nesta m\xe1quina","models.hw.cores":"N\xfacleos","models.hw.memory":"Mem\xf3ria","models.hw.diskFree":"Disco livre","models.hw.recommended":"Recomendado: {quant}","models.hw.max":"M\xe1x {params}","models.installed.title":"Modelos instalados","models.installed.boundTo":"vinculado a","models.pill.serving":"servindo","models.pill.verified":"verificado","models.pill.legacy":"legado","models.available.title":"Dispon\xedveis para download","models.available.fitChecked":"verificado para {target}","models.filterModels":"Filtrar modelos…","models.fitsOnly":"S\xf3 compat\xedveis","models.kind.all":"Todos","models.kind.chat":"Chat","models.kind.code":"C\xf3digo","models.kind.reasoning":"Racioc\xednio","models.kind.embed":"Embeddings","models.fit.fitsUnit":"cabe na {unit}","models.fit.tightUnit":"justo na {unit}","models.fit.partialOffload":"offload parcial","models.fit.cpuOnly":"somente CPU","models.fit.runsOnCpu":"roda na CPU","models.fit.tooBig":"grande demais","models.dl.failed":"falhou","models.dl.removing":"removendo…","models.dl.removingBtn":"Removendo","models.dl.installed":"Instalado","models.dl.pulling":"Baixando","models.dl.starting":"iniciando…","models.dl.startingDownload":"iniciando download…","models.dl.downloaded":"{size} baixados…","models.ollamaRunning":"O Ollama tamb\xe9m est\xe1 em execu\xe7\xe3o em 127.0.0.1:11434 (legado) — o llama.cpp \xe9 o runtime principal.","models.embed.title":"Embeddings \xb7 RAG do workspace","models.embed.sub":"Mem\xf3ria sem\xe2ntica local consultada por todos os agentes","models.embed.starting":"iniciando servidor de embeddings…","models.embed.startFailed":"n\xe3o foi poss\xedvel iniciar","models.embed.indexing":"indexando workspace…","models.embed.indexedSemantic":"indexados {n} trecho(s) (sem\xe2ntico)","models.embed.indexedKeyword":"indexados {n} trecho(s) (palavra-chave — sem embeddings)","models.embed.indexFailed":"falha na indexa\xe7\xe3o","models.embed.checking":"verificando…","models.embed.live":"Embeddings ativos","models.embed.installedStopped":"Modelo instalado \xb7 servidor parado","models.embed.noModel":"Sem modelo de embeddings","models.embed.reindex":"Reindexar","models.embed.downloadHintBefore":"Baixe","models.embed.downloadHintAfter":"abaixo para habilitar RAG sem\xe2ntico (caso contr\xe1rio, os agentes usam busca por palavra-chave).","models.perAgent.intro":"Atribua um adaptador de provedor e um modelo a cada agente. Salvo no agente em disco + banco de dados.","models.perAgent.saveAssignments":"Salvar atribui\xe7\xf5es","models.notConnected":"n\xe3o conectado","models.field.provider":"Provedor","models.field.model":"Modelo","models.field.temperature":"Temperatura","models.field.dailyCap":"Limite di\xe1rio de or\xe7amento (USD)","models.field.tierFloor":"N\xedvel m\xednimo","models.temp.precise":"Preciso","models.temp.balanced":"Equilibrado","models.temp.creative":"Criativo","models.temp.exploratory":"Explorat\xf3rio","models.tab.model":"Modelo","models.tab.skills":"Skills","models.tab.connected":"Conectados","models.tab.local":"Runtime local","models.tab.perAgent":"Por agente","models.tier.light":"leve","models.tier.heavy":"pesado","models.tier.critical":"cr\xedtico","models.btn.saveModel":"Salvar modelo","models.skill.provisional":"provis\xf3ria","models.skill.toggleAria":"alternar","models.kpi.catalog":"Cat\xe1logo","models.kpi.providers":"provedores","models.kpi.available":"Dispon\xedveis","models.kpi.adaptersReady":"adaptadores prontos","models.kpi.planned":"Planejados","models.kpi.plannedExperimental":"planejados / experimentais","models.kpi.connected":"Conectados","models.kpi.inWorkspace":"neste workspace","models.section.cloud":"Provedores de nuvem","models.section.cli":"Provedores CLI","models.catalog.title":"Cat\xe1logo de provedores","models.catalog.sub":"{n} provedores \xb7 apenas metadados p\xfablicos — as chaves v\xe3o para o cofre","models.catalog.searchPlaceholder":"Buscar provedores por nome, adaptador ou nota…","models.catalog.shown":"{n} exibidos","models.catalog.noMatch":"Nenhum provedor corresponde a estes filtros.","models.filter.category":"Categoria","models.filter.connection":"Conex\xe3o","models.cat.cloud_api":"API de nuvem","models.cat.router":"Roteador","models.cat.openai_compatible":"Compat\xedvel com OpenAI","models.cat.cloud_platform":"Plataforma de nuvem","models.cat.local_runtime":"Runtime local","models.cat.cli":"CLI","models.cat.embedding":"Embedding","models.cat.image":"Imagem","models.cat.audio":"\xc1udio","models.cat.custom":"Personalizado","models.conn.api_key":"Chave de API","models.conn.oauth":"OAuth","models.conn.cli":"CLI","models.conn.local":"Local","models.conn.openai_compatible":"Compat. OpenAI","models.conn.custom_endpoint":"Endpoint personalizado","models.catStatus.available":"Dispon\xedvel","models.catStatus.experimental":"Experimental","models.catStatus.requires_setup":"Requer configura\xe7\xe3o","models.catStatus.planned":"Planejado","models.catStatus.unsupported":"N\xe3o suportado","models.apiKeyPlaceholder":"Chave de API","agent.wf.liveRun":"Ao vivo — execu\xe7\xe3o atual \xb7 {n} passos","agent.wf.read":"Ler","agent.wf.create":"Criar","agent.wf.edit":"Editar","agent.wf.run":"Executar","agent.wf.search":"Buscar","agent.verb.read":"lendo","agent.verb.create":"criando","agent.verb.edit":"editando","agent.verb.run":"executando","agent.verb.search":"buscando","agent.verb.thinking":"pensando","agent.verb.done":"conclu\xeddo","agent.verb.error":"erro","agent.temp.label":"Temperatura","agent.temp.precise":"Preciso e determin\xedstico","agent.temp.balanced":"Equilibrado","agent.temp.creative":"Criativo","agent.temp.exploratory":"Muito explorat\xf3rio","agent.temp.scaleFocused":"0 \xb7 focado","agent.temp.scaleCreative":"1 \xb7 criativo","agent.temp.desc":"Controla a aleatoriedade. Menor = respostas consistentes e repet\xedveis (melhor para c\xf3digo, revis\xf5es e ferramentas). Maior = sa\xedda mais variada e explorat\xf3ria.","agent.budget.dailyCap":"/ {cap} de limite di\xe1rio","agent.budget.noteCrit":"Perto do limite — o agente pausa quando o limite \xe9 atingido","agent.budget.noteWarn":"Aproximando-se do limite di\xe1rio","agent.budget.noteOk":"Dentro do or\xe7amento","agent.rag.src.repo":"Reposit\xf3rio","agent.rag.src.reports":"Relat\xf3rios","agent.rag.src.skills":"Habilidades","agent.rag.src.room":"Sala da Equipe","agent.rag.src.external":"Externo","agent.rag.statDocuments":"documentos","agent.rag.statChunks":"blocos","agent.rag.statVectors":"vetores","agent.rag.statTokens":"tokens","agent.rag.coreDocs":"{n} docs","agent.rag.tipChunks":"{n} blocos \xb7 ~{tok} tokens","agent.rag.nothingIndexed":"Nada indexado ainda — as fontes s\xe3o lidas sob demanda em tempo de execu\xe7\xe3o.","agent.rag.chunksAbbr":"{n} bl","agent.rag.sourcesDesc":"Fontes de conhecimento que este agente l\xea. O workspace em disco \xe9 a fonte da verdade.","agent.rag.addSource":"Adicionar fonte","agent.rag.removeSource":"Remover fonte","agent.rag.toggleHint":"Os agentes leem isto diretamente do disco em tempo de execu\xe7\xe3o (a recupera\xe7\xe3o \xe9 sob demanda). As altern\xe2ncias s\xe3o salvas no agente.","agent.rag.row.repo":"Reposit\xf3rio do workspace","agent.rag.row.repoDesc":"{n} arquivos em disco","agent.rag.row.room":"Sala da Equipe","agent.rag.row.roomDesc":"Conversa compartilhada dos agentes","agent.rag.row.reports":"Relat\xf3rios","agent.rag.row.reportsDesc":"Planos, revis\xf5es, auditorias (.md)","agent.rag.row.skills":"Biblioteca de habilidades","agent.rag.row.skillsDesc":"{n} procedimentos","agent.rag.row.external":"Documentos externos","agent.rag.row.externalOff":"Desligado — conecte uma URL para indexar","agent.rag.sourcesConnected.one":"{n} fonte conectada","agent.rag.sourcesConnected.other":"{n} fontes conectadas","agent.flash.modelSaved":"Modelo salvo","agent.flash.personaSaved":"Persona salva","agent.flash.ragSaved":"RAG salvo","agent.flash.modelPulled":"Modelo baixado","agent.reportsTo":"reporta-se a {who}","agent.status.idle":"ocioso","agent.status.working":"trabalhando","agent.status.review":"revis\xe3o","agent.status.blocked":"bloqueado","agent.tab.model":"Modelo","agent.tab.skills":"Habilidades","agent.tab.persona":"Persona","agent.tab.rag":"RAG","agent.tab.workflow":"Fluxo de trabalho","agent.tier.light":"leve","agent.tier.heavy":"pesado","agent.tier.critical":"cr\xedtico","agent.tone.Executive":"Executivo","agent.tone.Friendly":"Amig\xe1vel","agent.tone.Direct":"Direto","agent.tone.Rigorous":"Rigoroso","agent.tone.Precise":"Preciso","agent.tone.Calm":"Calmo","agent.tone.Clear":"Claro","agent.tone.Warm":"Caloroso","agent.tone.Measured":"Ponderado","agent.model.provider":"Provedor","agent.model.model":"Modelo","agent.model.runnerHint":"Usado pelo runner quando este agente trabalha.","agent.model.dailyCap":"Limite de or\xe7amento di\xe1rio (USD)","agent.model.tierFloor":"N\xedvel m\xednimo","agent.model.budgetToday":"Uso do or\xe7amento hoje","agent.model.budgetHint":"Gasto real das execu\xe7\xf5es do agente hoje. Quando o limite \xe9 atingido, o runner para de despachar este agente at\xe9 amanh\xe3.","agent.model.uploadPull":"Enviar / baixar modelo local","agent.model.saveModel":"Salvar modelo","agent.model.pulling":"baixando… (precisa do Ollama em execu\xe7\xe3o)","agent.model.pullFailed":"falha ao baixar","agent.skills.desc":"Quais procedimentos este agente pode executar.","agent.skills.onCount":"{on}/{total} ativos","agent.skills.provisional":"provis\xf3ria","agent.skills.empty":"Nenhuma habilidade ainda.","agent.persona.identity":"Identidade","agent.persona.ritual":"Ritual — como funciona a cada ciclo","agent.persona.tone":"Tom","agent.persona.systemPrompt":"Prompt de sistema","agent.persona.storedAsPrefix":"Armazenado como","agent.persona.storedAsSuffix":"— usado como prompt de sistema quando este agente \xe9 executado.","agent.persona.save":"Salvar persona","agent.workflow.intro":"O que {name} faz a cada ciclo de trabalho.","agent.workflow.step1":"Ler a persona ({path}) e a tarefa atribu\xedda.","agent.workflow.step2":"Trabalhar no diret\xf3rio do workspace via a CLI do {cli}.","agent.workflow.step3":"Fazer altera\xe7\xf5es concretas (arquivos, commits) e executar as habilidades ativadas.","agent.workflow.step4":"Reportar o resultado \xe0 Sala da Equipe e avan\xe7ar a tarefa em caso de sucesso.","agent.workflow.step5":"Parar quando o limite de or\xe7amento di\xe1rio for atingido.","agent.pullModal.title":"Baixar um modelo local","agent.pullModal.descPrefix":"Baixe um modelo do Ollama pelo nome (ex.:","agent.pullModal.descSuffix":") e atribua-o a {name}. Precisa do Ollama em execu\xe7\xe3o — gerencie-o em Modelos › Runtime local.","agent.pullModal.placeholder":"nome do modelo ollama","agent.pullModal.pullAssign":"Baixar e atribuir","agent.addSrcModal.title":"Adicionar fonte de conhecimento","agent.addSrcModal.desc":"Uma URL ou caminho que o agente pode ler em tempo de execu\xe7\xe3o. Armazenado na configura\xe7\xe3o de RAG do agente.","agent.addSrcModal.placeholder":"https://docs.example.com ou ./caminho","agent.run.working":"Agente trabalhando…","agent.run.failed":"Execu\xe7\xe3o falhou","agent.run.finished":"Execu\xe7\xe3o conclu\xedda","agent.run.steps.one":"{n} passo","agent.run.steps.other":"{n} passos","agent.run.reading":"Lendo o briefing, o mock e a stack…","agent.run.earlier.one":"+{n} passo anterior","agent.run.earlier.other":"+{n} passos anteriores","agent.notConnected":"n\xe3o conectado","agent.studioSub":"Configure cada agente — modelo, habilidades, persona, RAG, fluxo de trabalho","agent.listHead":"Agentes \xb7 {n}","profile.title":"Perfil","profile.sub":"Sua conta, seguran\xe7a e prefer\xeancias de operador","profile.saveChanges":"Salvar altera\xe7\xf5es","profile.tab.account":"Conta","profile.tab.security":"Seguran\xe7a","profile.tab.tokens":"Tokens e API","profile.tab.connections":"Conex\xf5es","profile.tab.notifications":"Notifica\xe7\xf5es","profile.tab.sessions":"Sess\xf5es","profile.operatorFallback":"Operador","profile.role.owner":"Propriet\xe1rio","profile.account.title":"Detalhes da conta","profile.account.desc":"Identidade usada no login e em registros de auditoria.","profile.field.email":"Email","profile.operatorContext.title":"Contexto do operador","profile.operatorContext.desc":"Como os agentes se referem a voc\xea e formatam respostas.","profile.field.addressAs":"Tratar como","profile.field.agentLanguage":"Idioma do agente","profile.field.interfaceLanguage":"Idioma da interface","profile.field.timezone":"Fuso hor\xe1rio","profile.password.title":"Senha","profile.password.desc":"Use uma senha forte e exclusiva (m\xednimo 8 caracteres). Recomenda-se trocar a cada 90 dias.","profile.field.currentPassword":"Senha atual","profile.field.newPassword":"Nova senha","profile.field.confirmPassword":"Confirme a senha","profile.password.update":"Atualizar senha","profile.msg.failed":"Falhou","profile.msg.passwordUpdated":"Senha atualizada ✓","profile.msg.invalidCode":"C\xf3digo inv\xe1lido","profile.msg.passkeyCancelled":"Chave de acesso cancelada","profile.auth.title":"Autentica\xe7\xe3o","profile.auth.desc":"Camadas extras de prote\xe7\xe3o no login.","profile.passkey.label":"Chave de acesso","profile.passkey.desc":"Login sem senha com uma chave do dispositivo (WebAuthn)","profile.passkey.add":"Adicionar chave de acesso","profile.passkey.synced":"sincronizada","profile.passkey.added":"adicionada em {date}","profile.passkey.none":"Nenhuma chave de acesso registrada ainda.","profile.biometrics.label":"Biometria (Touch ID / Face ID)","profile.biometrics.desc":"Gerenciada pelo seu dispositivo ao registrar uma chave de acesso","profile.twofa.label":"Autentica\xe7\xe3o de dois fatores (2FA)","profile.twofa.desc":"C\xf3digo TOTP a cada novo login","profile.twofa.descRecommended":"C\xf3digo TOTP a cada novo login — recomendado","profile.twofa.enable":"Ativar 2FA","profile.twofa.disable":"Desativar 2FA","profile.twofa.scanHint":"Adicione este segredo ao seu autenticador e digite o c\xf3digo de 6 d\xedgitos:","profile.twofa.verify":"Verificar e ativar","profile.danger.title":"Zona de perigo","profile.danger.desc":"A\xe7\xf5es irrevers\xedveis para esta conta.","profile.danger.signOutOthers":"Encerrar outras sess\xf5es","profile.danger.deleteAccount":"Excluir conta","profile.danger.deleteConfirm":"Excluir esta conta permanentemente?","profile.tokens.title":"Tokens de acesso pessoal","profile.tokens.desc":"Para CLI, CI e integra\xe7\xf5es. Hash em repouso — exibido uma vez.","profile.tokens.namePlaceholder":"Nome do token","profile.tokens.generate":"Gerar token","profile.tokens.copyNow":"Copie agora — voc\xea n\xe3o ver\xe1 novamente:","profile.tokens.scope":"escopo: {scope}","profile.tokens.used":"usado em {date}","profile.tokens.neverUsed":"nunca usado","profile.tokens.none":"Nenhum token ativo.","profile.connections.title":"Contas conectadas","profile.connections.desc":"Servi\xe7os vinculados para login e integra\xe7\xf5es.","profile.connections.configureCredentials":"configure as credenciais do provedor","profile.provider.github.sub":"Commits e PRs do agente","profile.provider.google.sub":"Logon \xfanico (SSO)","profile.telegram.title":"Telegram — converse com a CEO","profile.telegram.desc":"Alertas + um bot bidirecional: fale com a Ada a partir do \xfanico chat id permitido (os demais s\xe3o ignorados).","profile.telegram.botPlaceholder":"Token do bot (do @BotFather)","profile.telegram.chatPlaceholder":"Seu chat id","profile.telegram.namePlaceholder":"Seu nome","profile.notif.title":"Prefer\xeancias de notifica\xe7\xe3o","profile.notif.desc":"Onde voc\xea quer receber atualiza\xe7\xf5es dos agentes.","profile.notif.email.label":"Email","profile.notif.email.desc":"Resumos importantes e escala\xe7\xf5es","profile.notif.telegram.label":"Telegram","profile.notif.telegram.desc":"Disparos de rotinas e alertas em tempo real","profile.notif.inapp.label":"No app","profile.notif.inapp.desc":"Sino e feed de notifica\xe7\xf5es","profile.notif.weekly.label":"Resumo semanal","profile.notif.weekly.desc":"Relat\xf3rio consolidado toda segunda-feira","profile.notif.reducedMotion.label":"Reduzir movimento","profile.notif.reducedMotion.desc":"Desativar anima\xe7\xf5es e transi\xe7\xf5es em todo o app","profile.sessions.title":"Sess\xf5es ativas","profile.sessions.desc":"Dispositivos com acesso \xe0 sua conta agora.","profile.sessions.current":"atual","profile.sessions.local":"local","profile.sessions.since":"desde {date}","profile.sessions.end":"Encerrar","profile.sessions.none":"Nenhuma sess\xe3o ativa.","profile.runMode.title":"Modo de execu\xe7\xe3o","profile.runMode.changeHint":"Altere em Config → Modo de execu\xe7\xe3o","skills.list.sub":"Biblioteca de procedimentos em Markdown — indexada no RAG dos agentes","skills.list.generateAi":"Gerar com IA","skills.list.suggest":"Sugerir dos aprendizados","skills.list.suggesting":"Destilando…","skills.list.suggestDesc":"O Vannevar l\xea o conhecimento validado que o time acumulou e prop\xf5e novas skills reutiliz\xe1veis pra voc\xea revisar + aprovar.","skills.list.suggested":"{n} skill(s) proposta(s) — revise abaixo","skills.list.suggestNone":"Nada novo pra propor ainda","skills.list.addSkill":"Adicionar habilidade","skills.list.empty":"Nenhuma habilidade ainda.","skills.card.indexed":"indexada","skills.card.indexing":"indexando","skills.card.kind":"habilidade","skills.card.native":"nativa","skills.card.provisional":"provis\xf3ria","skills.card.open":"Abrir","skills.card.unused":"sem uso","skills.card.usedByTip":"Usada por {names}","skills.card.unusedTip":"N\xe3o habilitada para nenhum agente","skills.detail.triggered":"acionada","skills.detail.saveMd":"Salvar .md","skills.detail.editMd":"Editar .md","skills.detail.provisionalWarn":"Provis\xf3ria — aguardando aprova\xe7\xe3o antes que os agentes possam us\xe1-la.","skills.detail.approve":"Aprovar habilidade","skills.detail.procedure":"Procedimento","skills.detail.usedBy":"Usada por","skills.detail.followInstructions":"Siga as instru\xe7\xf5es em {file}","skills.manual.title":"Escreva as instru\xe7\xf5es da habilidade","skills.manual.nameLabel":"Nome da habilidade","skills.manual.namePlaceholder":"ex. weekly-status-report","skills.manual.descPlaceholder":"Gera relat\xf3rios semanais de status do trabalho recente. Use quando pedirem atualiza\xe7\xf5es ou resumos de progresso.","skills.manual.instructionsLabel":"Instru\xe7\xf5es","skills.manual.instructionsPlaceholder":"Resuma meu trabalho recente em tr\xeas se\xe7\xf5es: conquistas, bloqueios e pr\xf3ximos passos. Mantenha o tom profissional, mas n\xe3o r\xedgido…","skills.manual.usedByAgent":"Usada pelo agente","skills.manual.hintPrefix":"Salva como","skills.manual.hintSuffix":", habilitada automaticamente para o agente escolhido e indexada no RAG.","skills.manual.creating":"Criando…","skills.manual.create":"Criar habilidade","skills.ai.title":"Gerar habilidade com IA","skills.ai.describeLabel":"Descreva a habilidade que voc\xea quer","skills.ai.describePlaceholder":"ex. uma habilidade que executa verifica\xe7\xf5es de acessibilidade em arquivos de UI alterados e relata viola\xe7\xf5es","skills.ai.hintPrefix":"O procedimento \xe9 redigido em Markdown; ele entra como","skills.ai.hintProvisional":"provis\xf3rio","skills.ai.hintSuffix":"at\xe9 voc\xea aprov\xe1-lo.","skills.ai.drafting":"Redigindo…","skills.cap.label":"Limite","github.repo.label":"Reposit\xf3rio","github.repo.change":"Trocar","github.repo.new":"Novo reposit\xf3rio","github.repo.noOrigin":"nenhum origin definido — escolha ou crie um reposit\xf3rio","github.repo.filterPlaceholder":"Filtrar seus reposit\xf3rios…","github.repo.loading":"carregando reposit\xf3rios…","github.repo.listError":"N\xe3o foi poss\xedvel listar os reposit\xf3rios.","github.repo.private":"privado","github.repo.public":"p\xfablico","github.repo.noRepos":"Nenhum reposit\xf3rio.","github.repo.privateRepo":"Reposit\xf3rio privado","github.repo.creating":"Criando…","github.repo.createSetOrigin":"Criar e definir origin","github.refreshChanges":"Atualizar altera\xe7\xf5es","github.connectError":"N\xe3o foi poss\xedvel conectar — tente novamente.","github.auth.githubLogin":"Login com GitHub","github.auth.personalToken":"Token pessoal","github.auth.signInWithGithub":"Entrar com GitHub","github.auth.authorizeHint":"Autorize o Constella a conectar este workspace ao seu GitHub.","github.auth.oauthNotConfigured":"OAuth n\xe3o est\xe1 configurado nesta inst\xe2ncia — use um token de acesso pessoal.","github.auth.patLabel":"Token de acesso pessoal (PAT)","github.auth.patHint":"Verificado no GitHub e armazenado criptografado no cofre. Escopo: repo.","github.auth.verifying":"Verificando…","github.disconnect":"Desconectar GitHub","github.flow.title":"Workspace → Remoto","github.flow.workspace":"Workspace","github.flow.change.one":"altera\xe7\xe3o","github.flow.change.other":"altera\xe7\xf5es","github.flow.commit":"Commit","github.changes.title":"Altera\xe7\xf5es para commitar","github.changes.clean":"Nenhuma altera\xe7\xe3o pendente — a \xe1rvore de trabalho est\xe1 limpa.","github.commit.message":"Mensagem do commit","github.commit.placeholder":"Descreva a altera\xe7\xe3o…","github.commit.drafting":"Redigindo…","github.commit.generate":"Gerar a partir das altera\xe7\xf5es","github.commit.commitPush":"Commit e Push","github.commit.securityScan":"Varredura de seguran\xe7a","github.scan.clean":"Limpo — nenhum segredo/arquivo sens\xedvel em {n} arquivo(s) verificado(s).","github.scan.risks":"{n} risco(s) — estes n\xe3o devem ser commitados:","github.progress.pushed":"Enviado para origin/{branch}","github.progress.agentOpenedPr":"{name} abriu um PR","github.progress.agent":"Agente","github.progress.prOpened":"PR aberto","github.progress.committedLocal":"Commitado localmente","github.progress.notPushedSuffix":" — n\xe3o enviado","github.progress.nothing":"Nada para commitar","github.progress.failed":"Falha no commit","github.progress.finishing":"Finalizando…","github.progress.committing":"Commitando {n} arquivos","github.progress.pushing":"Enviando para origin/{branch}","github.blocked.fixRetry":"Corrigir e tentar novamente","github.blocked.confirm":"Isto parece conter segredos/credenciais. Commitar e enviar MESMO ASSIM? Isso pode vaz\xe1-los para o reposit\xf3rio.","github.blocked.commitAnyway":"Commitar mesmo assim (revisado)","github.blocked.ok":"OK","github.viewPr":"Ver pull request","github.delegate.title":"Deixe um agente cuidar disso","github.delegate.sub":"{name} escreve a mensagem, faz commit, push e abre um PR.","github.delegate.button":"Delegar","github.recentPushes":"Pushes recentes","testdev.preview.title":"Pr\xe9-visualiza\xe7\xe3o","testdev.preview.sub":"o app em execu\xe7\xe3o — navegue por ele como num navegador","testdev.preview.reload":"Recarregar","testdev.preview.addrPlaceholder":"inicie o servidor para pr\xe9-visualizar","testdev.preview.openNewTab":"Abrir em nova aba","testdev.preview.openNewTabBtn":"Abrir em nova aba","testdev.preview.frameTitle":"Pr\xe9-visualiza\xe7\xe3o do projeto","testdev.preview.blocked.title":"Este app bloqueia incorpora\xe7\xe3o","testdev.preview.blocked.sub":"O app em execu\xe7\xe3o envia um cabe\xe7alho de seguran\xe7a (X-Frame-Options / CSP frame-ancestors) que impede sua exibi\xe7\xe3o dentro de um frame — prote\xe7\xe3o correta para produ\xe7\xe3o. Abra-o em uma aba real.","testdev.preview.empty.errorTitle":"O servidor falhou ao iniciar","testdev.preview.empty.startingTitle":"Iniciando o servidor de desenvolvimento…","testdev.preview.empty.idleTitle":"Nenhuma pr\xe9-visualiza\xe7\xe3o ainda","testdev.preview.empty.errorSub":"Corrija o erro no console e inicie novamente.","testdev.preview.empty.idleSub":"Inicie o servidor de desenvolvimento do projeto para pr\xe9-visualiz\xe1-lo aqui.","testdev.viewport.desktop":"Desktop","testdev.viewport.tablet":"Tablet","testdev.viewport.mobile":"Celular","testdev.state.running":"Em execu\xe7\xe3o","testdev.state.starting":"Iniciando…","testdev.state.error":"Erro","testdev.state.notStarted":"N\xe3o iniciado","testdev.state.stopped":"Parado","testdev.server.title":"Servidor de desenvolvimento do projeto","testdev.server.defaultProject":"o app que seus agentes est\xe3o construindo","testdev.server.noServer":"sem servidor","testdev.server.start":"Iniciar servidor","testdev.server.stop":"Parar servidor","testdev.server.working":"Processando","testdev.server.noOutput":"nenhuma sa\xedda ainda — inicie o servidor","testdev.tests.title":"Executar testes","testdev.tests.sub":"navega\xe7\xe3o \xb7 console \xb7 seguran\xe7a b\xe1sica","testdev.tests.scope":"Escopo (opcional)","testdev.tests.wholeApp":"App inteiro","testdev.tests.testing":"Testando…","testdev.tests.run":"Executar Test Dev","testdev.verdict.running":"em execu\xe7\xe3o","testdev.verdict.pass":"aprovado","testdev.verdict.fail":"reprovado","testdev.verdict.inconclusive":"inconclusivo","testdev.severity.high":"alta","testdev.severity.med":"m\xe9d","testdev.severity.low":"baixa","testdev.recent.title":"Execu\xe7\xf5es recentes","testdev.recent.empty":"Nenhuma execu\xe7\xe3o de teste ainda — inicie o servidor e execute o Test Dev.","testdev.col.verdict":"Veredito","testdev.col.summary":"Resumo","testdev.col.findings":"Achados","testdev.col.by":"Por","testdev.col.when":"Quando","codeedit.title":"C\xf3digo","codeedit.sub":"Arquivos do workspace — personas .claude/, skills, docs + seu projeto (fonte da verdade no disco)","codeedit.agentReadsFrom":"O agente l\xea de","codeedit.workspace":"Workspace","codeedit.sourceControl":"Controle de vers\xe3o","codeedit.openEditors":"Editores abertos","codeedit.closeAll":"Fechar todos","codeedit.newFile":"Novo arquivo","codeedit.newFolder":"Nova pasta","codeedit.noFilesYet":"Nenhum arquivo ainda. Crie um com +.","codeedit.searchFilesCode":"Buscar arquivos e c\xf3digo…","codeedit.matchCase":"Diferenciar mai\xfasculas","codeedit.wholeWord":"Palavra inteira","codeedit.regex":"Regex","codeedit.matchesInFiles":"{matches} em {files}","codeedit.noMatches":"Nenhuma correspond\xeancia.","codeedit.nameMatch":"nome","codeedit.truncatedHint":"Mostrando os primeiros resultados — refine a busca.","codeedit.noChanges":"Nenhuma altera\xe7\xe3o.","codeedit.stagedChanges":"Altera\xe7\xf5es no stage — {n}","codeedit.changes":"Altera\xe7\xf5es — {n}","codeedit.viewDiff":"Ver diff","codeedit.commitPush":"Commit e push","codeedit.noProblems":"Sem problemas","codeedit.welcomeSub":"Abra um arquivo do workspace para come\xe7ar a editar.","codeedit.folderPathHint":"ex.: src/components","codeedit.filePathHint":"ex.: src/utils/helpers.ts","codeedit.folderCreateHint":"Criada no disco com um .gitkeep para persistir vazia.","codeedit.fileCreateHint":"Use um caminho como src/components para aninhar. Qualquer extens\xe3o \xe9 aceita.","codeedit.deleteFolder":"Excluir pasta","codeedit.deleteFile":"Excluir arquivo","codeedit.deleteConfirmPrefix":"Excluir","codeedit.deleteConfirmSuffix":"? Isso n\xe3o pode ser desfeito.","codeedit.deleteFolderNamed":"Excluir pasta {name}","codeedit.deleteNamed":"Excluir {name}","codeedit.loadingDiff":"carregando diff…","codeedit.noDiff":"(sem diff)","config.editor.tabSize":"Tamanho da tabula\xe7\xe3o","config.editor.formatOnSave":"Formatar ao salvar","config.editor.wordWrap":"Quebra de linha","config.editor.minimap":"Minimapa","config.agents.parallel":"Agentes paralelos","config.agents.parallelDesc":"Quantos agentes podem rodar ao mesmo tempo por workspace.","config.agents.fileLock":"Lock por arquivo","config.agents.fileLockDesc":"Impede que dois agentes editem o mesmo arquivo. Usa uma configura\xe7\xe3o de CLI de agente isolada (copia suas credenciais do Claude) — verifique se os agentes ainda fazem login ap\xf3s ativar.","config.agents.webResearch":"Pesquisa na web","config.agents.webResearchDesc":"Permite que os agentes usem WebSearch/WebFetch para ler documenta\xe7\xe3o oficial enquanto planejam e constroem, e registrem o que aprenderem na base de conhecimento. Desligue para instala\xe7\xf5es offline / totalmente locais.","config.agents.lockWarn":"Rodar {n} agentes sem o lock por arquivo arrisca que dois agentes editem o mesmo arquivo.","config.integ.github.name":"GitHub","config.integ.github.desc":"Fa\xe7a commits e abra PRs a partir do workspace","config.integ.telegram.name":"Telegram","config.integ.telegram.desc":"Converse com o CEO por um fio de bot isolado","config.integ.ollama.name":"Embeddings do Ollama","config.integ.ollama.desc":"RAG sem\xe2ntico local do workspace","config.integ.webhooks.name":"Webhooks de sa\xedda","config.integ.webhooks.desc":"Envia eventos via POST para seu endpoint","config.mission.label":"Miss\xe3o","config.mission.placeholder":"Para que este workspace existe","config.mission.save":"Salvar altera\xe7\xf5es","config.objective.label":"Objetivo","config.objective.placeholder":"O resultado concreto a alcan\xe7ar em seguida","config.budget.cap":"Limite mensal (USD)","config.budget.save":"Salvar limite","config.singleOperator":"operador \xfanico","org.canvas.sub":"Arraste os cart\xf5es para organizar \xb7 arraste a al\xe7a de um cart\xe3o sobre outro agente para definir quem se reporta a quem — as liga\xe7\xf5es partem de qualquer lado","org.resetLayout":"Redefinir layout","org.hint.pre":"Passe o mouse sobre um cart\xe3o e arraste a al\xe7a","org.hint.post":"sobre um subordinado para reatribuir o gerente.","org.dragOntoSubordinate":"Arraste sobre um subordinado","org.unlinkFrom":"Desvincular de {handle}","org.open":"Abrir","org.active":"ativa","org.rename":"Renomear","org.restore":"Restaurar","org.archive":"Arquivar","org.confirmDelete":"Confirmar exclus\xe3o","org.mission":"Miss\xe3o","org.objective":"Objetivo","org.savedNote":"Salvo.","goals.empty":"Nenhuma meta ainda. Aprove um plano no CEO Planner para criar uma.","goals.emptyFiltered":"Nenhuma meta {status}.","goals.allAgents":"Todos os agentes","goals.expand":"Expandir","goals.collapse":"Recolher","goals.archive":"Arquivar","goals.reopen":"Reabrir","goals.restore":"Restaurar","goals.cancelConfirm":"Cancelar esta meta? A execu\xe7\xe3o para imediatamente; seus planos, specs, issues e TODOs s\xe3o marcados como cancelados. O estado \xe9 preservado e voc\xea pode reabri-la.","goals.status.active":"Ativa","goals.status.done":"Conclu\xedda","goals.status.cancelled":"Cancelada","goals.status.archived":"Arquivada","goals.status.all":"Todas","goals.col.todo":"A fazer","goals.col.doing":"Em andamento","goals.col.blocked":"Bloqueada","goals.col.review":"Revis\xe3o","goals.col.done":"Conclu\xedda","goals.col.cancelled":"Cancelada","goals.col.archived":"Arquivada","goals.stamp.done":"Conclu\xedda em","goals.stamp.cancelled":"Cancelada em","goals.stamp.archived":"Arquivada em","goals.stamp.created":"Criada em","goals.meta.complete":"{done}/{total} issues conclu\xeddas","goals.meta.childIssues.one":"{n} issue filha","goals.meta.childIssues.other":"{n} issues filhas","goals.noIssuesYet":"Nenhuma issue ainda.","goals.noIssuesForAgent":"Nenhuma issue para este agente.","goals.todos":"{done}/{total} todos","goals.new":"Nova meta","goals.objective":"Objetivo","goals.objectivePlaceholder":"ex.: Lan\xe7ar a v1.0 em produ\xe7\xe3o","goals.descPlaceholder":"Como \xe9 estar conclu\xeddo?","goals.owner":"Respons\xe1vel","goals.create":"Criar meta","goals.creating":"Criando…","pm.moscow.cycle":"Clique para alternar o MoSCoW","pm.backlog.addItem":"Adicionar item ao backlog","pm.backlog.newItem":"Novo item de backlog","pm.backlog.titlePlaceholder":"ex.: Build port\xe1til (--portable)","pm.backlog.adding":"Adicionando…","pm.field.title":"T\xedtulo","pm.field.priorityMoscow":"Prioridade (MoSCoW)","pm.field.points":"Pontos","pm.action.unblock":"Desbloquear","pm.action.advanceTo":"Avan\xe7ar para {col}","pm.action.block":"Bloquear","pm.action.promote":"Promover para o quadro de sprint","pm.action.deleteBacklog":"Excluir do backlog","tasks.col.triage":"Triagem","tasks.col.todo":"A fazer","tasks.col.doing":"Em andamento","tasks.col.blocked":"Bloqueado","tasks.col.review":"Revis\xe3o","tasks.col.done":"Conclu\xeddo","tasks.prio.low":"baixa","tasks.prio.med":"m\xe9dia","tasks.prio.high":"alta","tasks.descPlaceholder":"Descreva a tarefa…","tasks.liveProgress":"Progresso ao vivo do agente","tasks.noSteps":"Nenhum passo ainda — {who} n\xe3o come\xe7ou, ou adicione um abaixo.","tasks.theAgent":"o agente","tasks.removeStep":"Remover passo","tasks.addStepPlaceholder":"Adicionar um passo…","tasks.stepsDone":"passos conclu\xeddos","tasks.noCards":"Nenhum card.","tasks.newCard":"Novo card","tasks.newTask":"Nova tarefa","tasks.assignee":"Respons\xe1vel","tasks.priority":"Prioridade","tasks.creating":"Criando…","tasks.advance":"Avan\xe7ar","docsedit.saveMd":"Salvar .md","docsedit.emptyFile":"Arquivo vazio.","docs.writing":"Escrevendo…","docs.generate":"Gerar documenta\xe7\xe3o","deploy.exp.private":"privado","deploy.exp.public":"p\xfablico","update.installed":"Instalada","update.latest":"Mais recente","update.onLatest":"Voc\xea est\xe1 na vers\xe3o mais recente.","update.updating":"Atualizando…","update.updateNow":"Atualizar agora","update.defer":"Adiar","update.docs":"Documenta\xe7\xe3o de atualiza\xe7\xe3o","update.updaterLabel":"Atualizador","update.poll.running":"executando","update.poll.done":"instalada — reinicie o Constella para carreg\xe1-la.","update.poll.error":"falhou — veja o rollback abaixo.","update.backupSaved":"Backup salvo","update.rollback":"Rollback","update.rollbackThen":"depois restaure o backup.","update.whatsNew":"Novidades na v{version}","update.ctx.dev":"Executando a partir do c\xf3digo-fonte — atualize via git, n\xe3o npm.","update.ctx.npx":"Executando via npx (ef\xeamero) — execute novamente npx constella@latest.","update.ctx.global":"Instala\xe7\xe3o npm global — pode atualizar no lugar.","update.ctx.vps":"Executando em um VPS (Docker) — rein\xedcio controlado.","update.ctx.portable":"Executando port\xe1til (USB) — atualiza\xe7\xe3o com verifica\xe7\xe3o de espa\xe7o.","plugins.installPrompt":"Instalar a partir de URL ou nome (ex.: github.com/acme/slack-bridge)","plugins.installFromUrl":"Instalar a partir de URL","plugins.native":"nativo","block.slugPlaceholder":"slug (kebab-case)","block.titlePlaceholder":"t\xedtulo","block.kindPlaceholder":"tipo","block.bodyPlaceholder":"Markdown can\xf4nico…","block.bodyEmpty":"vazio","inbox.empty":"Tudo em dia","inbox.noDetail":"Sem detalhes.","inbox.from":"de {name}","inbox.kind.approval":"Aprova\xe7\xe3o","inbox.kind.budget":"Or\xe7amento","inbox.kind.question":"Pergunta","inbox.kind.review":"Revis\xe3o","inbox.kind.block":"Bloqueio","inbox.kind.validation":"Valida\xe7\xe3o","inbox.action.approvePlan":"Aprovar plano","inbox.action.approveSpec":"Aprovar spec","inbox.action.approveIssue":"Aprovar issue","inbox.action.openTasks":"Abrir tarefas","inbox.action.openTestDev":"Abrir Test Dev","inbox.action.openChat":"Abrir chat","inbox.action.reopen":"Reabrir","notif.title":"Notifica\xe7\xf5es","notif.sub":"Feed passivo — espelhado no Telegram \xb7 {n} n\xe3o lida(s)","notif.readAll":"Marcar tudo como lido","notif.clearAll":"Limpar tudo","notif.empty":"Nenhuma notifica\xe7\xe3o","notif.noDetail":"Sem detalhes adicionais.","notif.kind.done":"Conclu\xeddo","notif.kind.deploy":"Deploy","notif.kind.routine":"Rotina","notif.kind.test":"Teste","notif.kind.security":"Seguran\xe7a","notif.kind.budget":"Or\xe7amento","notif.kind.info":"Informa\xe7\xe3o","notif.kind.review":"Revis\xe3o","notif.kind.report":"Relat\xf3rio","activity.system":"Sistema","activity.empty.all":"Nenhuma atividade ainda — os agentes registram aqui conforme trabalham.","activity.empty.agent":"Nenhuma atividade para este agente.","reports.generate":"Gerar relat\xf3rio","reports.generating":"Gerando…","reports.noBody":"Este relat\xf3rio ainda n\xe3o tem conte\xfado.","planner.gate.staleTab":"N\xe3o foi poss\xedvel iniciar a execu\xe7\xe3o — sua aba pode estar desatualizada. Recarregue a p\xe1gina (Ctrl+F5) e tente novamente.","planner.gate.drafting.t":"Ada est\xe1 elaborando o plano…","planner.gate.drafting.d":"Transformando seu briefing, miss\xe3o, objetivo e stack em specs e issues. Voc\xea pode continuar navegando — isso segue rodando em segundo plano e aparece aqui para revis\xe3o quando estiver pronto.","planner.gate.noPlan.t":"Nenhum plano ainda","planner.gate.noPlan.d":"Ada ainda n\xe3o elaborou o plano. Gere-o a partir do seu briefing, miss\xe3o, objetivo e stack — revise e ajuste, depois aprove antes de qualquer c\xf3digo.","planner.gate.hint.t":"Clique aqui para iniciar a primeira tarefa","planner.gate.hint.d":"Ada transforma seu briefing, miss\xe3o, objetivo e stack em um plano inicial — specs e issues que voc\xea revisa, ajusta e aprova antes de qualquer c\xf3digo rodar.","planner.gate.analyzing":"Ada est\xe1 analisando o briefing…","planner.gate.generate":"Gerar plano","planner.gate.ready.t":"Plano pronto para sua aprova\xe7\xe3o","planner.gate.ready.d":"{specs} specs \xb7 {total} issues. Nenhum agente escrever\xe1 c\xf3digo at\xe9 voc\xea aprovar.","planner.gate.rejectPlanDm":"Rejeitei o plano. Por favor, revise-o com base no seguinte feedback: ","planner.gate.requestChanges":"Solicitar altera\xe7\xf5es","planner.gate.approvePlan":"Aprovar plano","planner.approved":"aprovado","planner.approve":"Aprovar","planner.reject":"Rejeitar","planner.rejectItemDm":"Rejeitei {key}. Por favor, revise: ","planner.run247.pausing":"Pausando…","planner.run247.starting":"Iniciando…","planner.run247.approveToRun":"Aprove para rodar 24/7","planner.run247.allDone":"Todas as issues conclu\xeddas","planner.run247.pause":"Pausar 24/7","planner.run247.run":"Rodar 24/7","planner.run247.blockedTip":"Armado, mas nenhuma issue foi atribu\xedda a um agente ainda — atribua uma em PM/Tarefas.","planner.col.todo":"a fazer","planner.col.doing":"fazendo","planner.col.review":"revis\xe3o","planner.col.done":"conclu\xeddo","planner.newWork.failed":"Falha no planejamento — tente novamente.","planner.newWork.button":"Novo trabalho","planner.newWork.title":"Novo trabalho","planner.newWork.desc":"Ada transforma isto em uma Meta + specs + issues + TODOs, anexados a este projeto.","planner.newWork.titleLabel":"T\xedtulo (opcional)","planner.newWork.titlePh":"ex.: Adicionar exporta\xe7\xe3o CSV","planner.newWork.briefLabel":"O que voc\xea quer implementar, corrigir ou alterar?","planner.newWork.briefPh":"Descreva o trabalho em linguagem simples…","planner.newWork.planning":"Ada est\xe1 planejando…","planner.newWork.create":"Criar trabalho","planner.validate.valid":"v\xe1lido","planner.validate.issues":"{n} problema(s)","planner.validate.repaired":"{n} reparado(s)","planner.validate.validate":"Validar","planner.validate.repair":"Reparar","planner.specs.title":"Specs","planner.specs.from":"de CTO / PO / Docs","planner.specs.emptyAll":"Nenhuma spec.","planner.specs.emptyFiltered":"Nenhuma spec {filter}.","planner.specs.issueCount":"{n} issues","planner.specFilter.active":"Ativas","planner.specFilter.approved":"Aprovadas","planner.specFilter.draft":"Rascunho","planner.specFilter.cancelled":"Canceladas","planner.specFilter.archived":"Arquivadas","planner.specFilter.all":"Todas","planner.issues.title":"Issues","planner.issues.brokenFromSpecs":"{n} derivadas das specs","planner.issues.emptyAll":"Nenhuma issue.","planner.issues.emptyFiltered":"Nenhuma issue {filter}.","planner.issues.col.id":"ID","planner.issues.col.issue":"Issue","planner.issues.col.spec":"Spec","planner.issues.col.priority":"Prioridade","planner.issues.col.owner":"Respons\xe1vel","planner.issues.col.updated":"Atualizado","planner.issueFilter.active":"Ativas","planner.issueFilter.awaiting":"Aguardando","planner.issueFilter.doing":"Em andamento","planner.issueFilter.review":"Revis\xe3o","planner.issueFilter.blocked":"Bloqueadas","planner.issueFilter.done":"Conclu\xeddas","planner.issueFilter.cancelled":"Canceladas","planner.issueFilter.archived":"Arquivadas","planner.issueFilter.all":"Todas","planner.prio.high":"alta","planner.prio.med":"m\xe9dia","planner.prio.low":"baixa","planner.issueState.todo":"a fazer","planner.issueState.doing":"fazendo","planner.issueState.blocked":"bloqueada","planner.issueState.review":"revis\xe3o","planner.issueState.done":"conclu\xedda","planner.issueState.cancelled":"cancelada","planner.issueState.archived":"arquivada","routines.new.failed":"Falha ao criar.","routines.new.button":"Nova rotina","routines.new.title":"Nova rotina","routines.new.desc":"Uma automa\xe7\xe3o recorrente. Os agentes tamb\xe9m criam estas — isto adiciona a sua.","routines.new.namePh":"ex.: Varredura de seguran\xe7a noturna","routines.new.command":"Comando / tarefa","routines.new.commandPh":"o que executa, ex.: run-suite","routines.new.frequency":"Frequ\xeancia","routines.new.ownerAgent":"Agente respons\xe1vel","routines.new.unassigned":"N\xe3o atribu\xeddo","routines.new.creating":"Criando…","routines.new.create":"Criar rotina","routines.freq.Hourly":"De hora em hora","routines.freq.Daily":"Diariamente","routines.freq.Weekly":"Semanalmente","routines.freq.Monthly":"Mensalmente","routines.delete.title":"Excluir rotina","routines.delete.confirm":"Excluir esta rotina?","inbox.resolve":"Resolver","security.letAgentFix":"Deixar o agente corrigir","security.reviewing":"Revisando…","security.runReview":"Executar revis\xe3o","login.passkeyFailed":"Falha ao entrar com passkey","login.mode.start.label":"Start","login.mode.start.note":"Conta local criada automaticamente \xb7 sempre conectado.","login.mode.auth.label":"Auth","login.mode.auth.note":"E-mail + senha exigidos a cada sess\xe3o.","login.mode.vps.label":"VPS","login.mode.vps.note":"Acesso pela sua tailnet do Tailscale; roda em Docker.","login.mode.portable.label":"Port\xe1til","login.mode.portable.note":"Pen drive montado como raiz entre m\xe1quinas.","onboarding.closeSetup":"Fechar configura\xe7\xe3o","onboarding.step.company":"Empresa","onboarding.step.ceoModel":"Modelo do CEO","onboarding.step.connection":"Conex\xe3o","onboarding.step.stack":"Stack","onboarding.step.brief":"Briefing","onboarding.stackSearchPh":"Buscar tecnologias… (ex.: python, django, postgres)","onboarding.stackNoMatch":"Nenhuma tecnologia corresponde a “{query}”.","onboarding.kind.cli":"cli","onboarding.kind.local":"local","onboarding.kind.cloud":"nuvem","onboarding.test.prepare":"Preparando o workspace","onboarding.test.prepareDesc":"Verificando se a raiz do workspace ~/.constella \xe9 grav\xe1vel.","onboarding.test.adapter":"Resolvendo o adaptador","onboarding.test.adapterDesc":"Carregando {adapter}.","onboarding.test.connection":"Testando a conex\xe3o com o provedor","onboarding.test.connectionDesc":"Verifica\xe7\xe3o de acessibilidade + autentica\xe7\xe3o.","onboarding.test.model":"Sondando o modelo {model}","onboarding.test.modelDesc":"Verificando se o modelo est\xe1 dispon\xedvel.","onboarding.test.ready":"Pronto","onboarding.test.readyDesc":"Conex\xe3o saud\xe1vel. O CEO est\xe1 online.","onboarding.test.failed":"falhou","onboarding.company.h":"Sua empresa","onboarding.company.sub":"Esta identidade \xe9 compartilhada com todos os agentes como o norte deles. O workspace \xe9 criado automaticamente.","onboarding.company.nameLabel":"Nome da empresa","onboarding.company.namePh":"ex.: Atlas Labs","onboarding.company.missionLabel":"Miss\xe3o","onboarding.company.missionPh":"Por que esta empresa existe.","onboarding.company.objectiveLabel":"Objetivo","onboarding.company.objectivePh":"A meta concreta para esta execu\xe7\xe3o.","onboarding.brain.h":"Escolha o c\xe9rebro do CEO","onboarding.brain.sub":"Ada (CEO) lidera a empresa. Escolha entre os provedores detectados nesta m\xe1quina.","onboarding.brain.detected":"Provedores detectados","onboarding.brain.detecting":"Detectando provedores… (Claude Code / Codex / Ollama / llama.cpp)","onboarding.brain.registerToggle":"Registrar um provedor (chave de nuvem ou local)","onboarding.brain.registerTitle":"Registrar um provedor","onboarding.brain.chooseProvider":"Escolha um provedor…","onboarding.brain.modelIdPh":"id do modelo (opcional)","onboarding.brain.apiKeyPh":"Chave de API (nuvem — no cofre)","onboarding.brain.addSelect":"Adicionar e selecionar","onboarding.brain.modelFor":"Modelo para {name}","onboarding.setup.h":"Configurando","onboarding.setup.sub":"Criando o workspace e testando a conex\xe3o com","onboarding.setup.continue":"Continuar","onboarding.setup.testing":"Testando…","onboarding.stack.h":"Stack do projeto","onboarding.stack.sub":"Escolha a arquitetura. O CEO usa isso para planejar a estrutura, escrever habilidades/personas e estruturar o projeto.","onboarding.brief.h":"Oriente o CEO","onboarding.brief.sub":"D\xea \xe0 Ada um system prompt e, opcionalmente, um briefing do projeto (.md) para planejar. Ada o analisa, desenha a arquitetura e os rituais, e prepara o workspace antes de qualquer c\xf3digo ser escrito.","onboarding.brief.sourceLabel":"Origem do projeto","onboarding.src.new.t":"Novo projeto","onboarding.src.new.d":"Gera um starter execut\xe1vel para a sua stack.","onboarding.src.github.t":"Importar do GitHub","onboarding.src.github.d":"Clona um reposit\xf3rio — os agentes constroem sobre ele.","onboarding.src.local.t":"Diret\xf3rio local","onboarding.src.local.d":"Copia uma pasta existente como base.","onboarding.src.tokenPh":"Token do GitHub (escopo repo)","onboarding.src.listRepos":"Listar reposit\xf3rios","onboarding.src.signedInAs":"Conectado como","onboarding.src.pickRepo":"escolha o reposit\xf3rio para importar","onboarding.src.pathPh":"Caminho absoluto, ex.: C:\\Users\\voce\\projeto","onboarding.src.validate":"Validar","onboarding.src.filesFound.one":"{n} arquivo import\xe1vel encontrado.","onboarding.src.filesFound.other":"{n} arquivos import\xe1veis encontrados.","onboarding.src.analyseHint":"GitHub/Local/mock → os agentes analisam o projeto existente (super spec) e constroem sobre ele; sem um segundo prot\xf3tipo.","onboarding.src.private":"privado","onboarding.src.public":"p\xfablico","onboarding.src.listReposFailed":"N\xe3o foi poss\xedvel listar os reposit\xf3rios.","onboarding.src.invalidDir":"Diret\xf3rio inv\xe1lido.","onboarding.brief.systemPrompt":"System prompt","onboarding.brief.projectBrief":"Briefing do projeto","onboarding.brief.optional":"opcional","onboarding.brief.briefPh":"Cole ou digite o briefing do projeto (Markdown). Salvo como .claude/BRIEF.md.","onboarding.brief.attachMock":"Anexar um mock / prot\xf3tipo","onboarding.brief.files":"Arquivos","onboarding.brief.folder":"Pasta","onboarding.brief.filesAttached.one":"{n} arquivo anexado","onboarding.brief.filesAttached.other":"{n} arquivos anexados","onboarding.brief.mockHintPre":"Ada l\xea o mock de","onboarding.brief.mockHintPost":"e ajusta o produto a ele.","onboarding.brief.settingUp":"Configurando…","onboarding.brief.handOff":"Passar para a Ada","search.title":"Buscar","search.sub":"Busque entre agentes, tarefas, metas, habilidades, relat\xf3rios e arquivos — cada resultado \xe9 uma linha real do workspace.","search.replace":"Substituir","search.matchCase":"Diferenciar mai\xfasculas","search.matchWholeWord":"Palavra inteira","search.useRegex":"Usar express\xe3o regular","search.summary":"{results} resultado(s) em {files} arquivo(s)","search.invalidRegex":"Express\xe3o regular inv\xe1lida.","search.emptyWorkspace":"Ainda n\xe3o h\xe1 agentes, tarefas, metas, habilidades, relat\xf3rios ou arquivos neste workspace.","search.noResultsFor":"Sem resultados para “{q}”.","errors.pageTitle":"Esta p\xe1gina encontrou um erro","errors.screenTitle":"Esta tela encontrou um erro","errors.rootTitle":"Algo quebrou na raiz","errors.unexpected":"Erro inesperado.","errors.digest":"digest","errors.tryAgain":"Tentar novamente","errors.goDashboard":"Ir para o painel","errors.reload":"Recarregar","home.activity.system":"sistema","home.chat.tab.room":"Sala do time","home.chat.tab.direct":"Direto","home.chat.tgHint":"Conversa isolada"}};function f(a,b,c){let f=e[a]?.[b]??d[b]??b;if(c)for(let[a,b]of Object.entries(c))f=f.replace(RegExp(`\\{${a}\\}`,"g"),String(b));return f}function g(a){if(!a)return"en";let b=a.toLowerCase();return"pt"===b||b.startsWith("pt-")||b.startsWith("port")?"pt":"en"}},81290:(a,b,c)=>{"use strict";c.d(b,{TQ:()=>e});let d={start:{label:"Start",requiresLogin:!1,note:"Local auto-created account \xb7 always signed in."},auth:{label:"Auth",requiresLogin:!0,note:"Email + password required each session."},vps:{label:"VPS",requiresLogin:!0,note:"Access over your Tailscale tailnet; runs in Docker."},portable:{label:"Portable",requiresLogin:!0,note:"USB drive mounted as root across machines."}};function e(){let a=process.env.CONSTELLA_RUN_MODE;return a&&a in d?a:"start"}},91517:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>n,metadata:()=>m});var d=c(61576),e=c(79676),f=c(63933),g=c(80280),h=c(25533),i=c(51063),j=c(53837),k=c(50109),l=c(75785);c(17984);let m={title:"Constella — Agent OS",description:"Run autonomous AI agent teams as a company."};async function n({children:a}){let b=await (0,e.cookies)(),c=b.get("cn-theme")?.value==="dark"?"theme-dark":"theme-light",m=b.get("cn-anim")?.value==="off",o=!1;try{let a=await i.j2.api.getSession({headers:await (0,e.headers)()});if(a?.user?.id){let[b]=await g.db.select({reducedMotion:h.notificationPref.reducedMotion}).from(h.notificationPref).where((0,f.eq)(h.notificationPref.userId,a.user.id));o=b?.reducedMotion??!1}}catch{}let p=m||o,q=(0,l.e)(b.get("cn-lang")?.value);return(0,d.jsxs)("html",{lang:"pt"===q?"pt-BR":"en",className:`${c}${p?" anim-off":""}`,suppressHydrationWarning:!0,children:[(0,d.jsxs)("head",{children:[(0,d.jsx)("link",{rel:"preconnect",href:"https://fonts.googleapis.com"}),(0,d.jsx)("link",{href:"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=JetBrains+Mono:wght@400;500;600;700&display=swap",rel:"stylesheet"})]}),(0,d.jsxs)("body",{children:[(0,d.jsx)(j.Starfield,{enabled:!p}),(0,d.jsx)(k.LangProvider,{lang:q,children:a})]})]})}},99842:(a,b,c)=>{Promise.resolve().then(c.bind(c,63227)),Promise.resolve().then(c.bind(c,31819))}};
|