bluekiwi 1.2.4 → 2.0.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/README.md +5 -0
- package/dist/assets/app-runtime/.next/BUILD_ID +1 -1
- package/dist/assets/app-runtime/.next/app-path-routes-manifest.json +26 -6
- package/dist/assets/app-runtime/.next/build-manifest.json +2 -2
- package/dist/assets/app-runtime/.next/prerender-manifest.json +3 -3
- package/dist/assets/app-runtime/.next/routes-manifest.json +153 -0
- package/dist/assets/app-runtime/.next/server/app/(app)/credentials/page.js +2 -8
- package/dist/assets/app-runtime/.next/server/app/(app)/credentials/page.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/(app)/credentials/page_client-reference-manifest.js +1 -1
- package/dist/assets/app-runtime/.next/server/app/(app)/design-systems/[id]/page.js +2 -0
- package/dist/assets/app-runtime/.next/server/app/(app)/design-systems/[id]/page.js.nft.json +1 -0
- package/dist/assets/app-runtime/.next/server/app/(app)/design-systems/[id]/page_client-reference-manifest.js +1 -0
- package/dist/assets/app-runtime/.next/server/app/(app)/design-systems/page.js +2 -0
- package/dist/assets/app-runtime/.next/server/app/(app)/design-systems/page.js.nft.json +1 -0
- package/dist/assets/app-runtime/.next/server/app/(app)/design-systems/page_client-reference-manifest.js +1 -0
- package/dist/assets/app-runtime/.next/server/app/(app)/docs/page.js +2 -2
- package/dist/assets/app-runtime/.next/server/app/(app)/docs/page.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/(app)/docs/page_client-reference-manifest.js +1 -1
- package/dist/assets/app-runtime/.next/server/app/(app)/instructions/page.js +3 -3
- package/dist/assets/app-runtime/.next/server/app/(app)/instructions/page.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/(app)/instructions/page_client-reference-manifest.js +1 -1
- package/dist/assets/app-runtime/.next/server/app/(app)/page.js +2 -2
- package/dist/assets/app-runtime/.next/server/app/(app)/page.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/(app)/page_client-reference-manifest.js +1 -1
- package/dist/assets/app-runtime/.next/server/app/(app)/settings/groups/page.js +2 -2
- package/dist/assets/app-runtime/.next/server/app/(app)/settings/groups/page.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/(app)/settings/groups/page_client-reference-manifest.js +1 -1
- package/dist/assets/app-runtime/.next/server/app/(app)/settings/page.js +8 -2
- package/dist/assets/app-runtime/.next/server/app/(app)/settings/page.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/(app)/settings/page_client-reference-manifest.js +1 -1
- package/dist/assets/app-runtime/.next/server/app/(app)/tasks/[id]/page.js +3 -3
- package/dist/assets/app-runtime/.next/server/app/(app)/tasks/[id]/page.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/(app)/tasks/[id]/page_client-reference-manifest.js +1 -1
- package/dist/assets/app-runtime/.next/server/app/(app)/tasks/page.js +2 -8
- package/dist/assets/app-runtime/.next/server/app/(app)/tasks/page.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/(app)/tasks/page_client-reference-manifest.js +1 -1
- package/dist/assets/app-runtime/.next/server/app/(app)/tutorial/page.js +2 -2
- package/dist/assets/app-runtime/.next/server/app/(app)/tutorial/page.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/(app)/tutorial/page_client-reference-manifest.js +1 -1
- package/dist/assets/app-runtime/.next/server/app/(app)/workflows/[id]/edit/page.js +2 -2
- package/dist/assets/app-runtime/.next/server/app/(app)/workflows/[id]/edit/page.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/(app)/workflows/[id]/edit/page_client-reference-manifest.js +1 -1
- package/dist/assets/app-runtime/.next/server/app/(app)/workflows/[id]/page.js +2 -2
- package/dist/assets/app-runtime/.next/server/app/(app)/workflows/[id]/page.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/(app)/workflows/[id]/page_client-reference-manifest.js +1 -1
- package/dist/assets/app-runtime/.next/server/app/(app)/workflows/new/page.js +2 -2
- package/dist/assets/app-runtime/.next/server/app/(app)/workflows/new/page.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/(app)/workflows/new/page_client-reference-manifest.js +1 -1
- package/dist/assets/app-runtime/.next/server/app/(app)/workflows/page.js +2 -2
- package/dist/assets/app-runtime/.next/server/app/(app)/workflows/page.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/(app)/workflows/page_client-reference-manifest.js +1 -1
- package/dist/assets/app-runtime/.next/server/app/(auth)/change-password/page.js +2 -2
- package/dist/assets/app-runtime/.next/server/app/(auth)/change-password/page_client-reference-manifest.js +1 -1
- package/dist/assets/app-runtime/.next/server/app/(auth)/invite/[token]/page.js +2 -2
- package/dist/assets/app-runtime/.next/server/app/(auth)/invite/[token]/page_client-reference-manifest.js +1 -1
- package/dist/assets/app-runtime/.next/server/app/(auth)/login/page.js +2 -2
- package/dist/assets/app-runtime/.next/server/app/(auth)/login/page_client-reference-manifest.js +1 -1
- package/dist/assets/app-runtime/.next/server/app/(auth)/setup/page.js +2 -2
- package/dist/assets/app-runtime/.next/server/app/(auth)/setup/page_client-reference-manifest.js +1 -1
- package/dist/assets/app-runtime/.next/server/app/_global-error/page.js +3 -3
- package/dist/assets/app-runtime/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/dist/assets/app-runtime/.next/server/app/_global-error.html +1 -1
- package/dist/assets/app-runtime/.next/server/app/_global-error.rsc +1 -1
- package/dist/assets/app-runtime/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/dist/assets/app-runtime/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
- package/dist/assets/app-runtime/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
- package/dist/assets/app-runtime/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/dist/assets/app-runtime/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/dist/assets/app-runtime/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/dist/assets/app-runtime/.next/server/app/_not-found/page.js +2 -2
- package/dist/assets/app-runtime/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/dist/assets/app-runtime/.next/server/app/_not-found.html +1 -1
- package/dist/assets/app-runtime/.next/server/app/_not-found.rsc +4 -4
- package/dist/assets/app-runtime/.next/server/app/_not-found.segments/_full.segment.rsc +4 -4
- package/dist/assets/app-runtime/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
- package/dist/assets/app-runtime/.next/server/app/_not-found.segments/_index.segment.rsc +4 -4
- package/dist/assets/app-runtime/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/dist/assets/app-runtime/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
- package/dist/assets/app-runtime/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
- package/dist/assets/app-runtime/.next/server/app/api/apikeys/[id]/route.js +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/apikeys/[id]/route.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/apikeys/route.js +2 -2
- package/dist/assets/app-runtime/.next/server/app/api/apikeys/route.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/auth/change-password/route.js +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/auth/change-password/route.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/auth/dashboard/route.js +2 -2
- package/dist/assets/app-runtime/.next/server/app/api/auth/dashboard/route.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/auth/login/route.js +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/auth/login/route.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/auth/logout/route.js +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/auth/me/groups/route.js +2 -2
- package/dist/assets/app-runtime/.next/server/app/api/auth/me/groups/route.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/auth/me/route.js +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/auth/setup/route.js +4 -3
- package/dist/assets/app-runtime/.next/server/app/api/auth/setup/route.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/credentials/[id]/reveal/route.js +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/credentials/[id]/reveal/route.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/credentials/[id]/route.js +2 -2
- package/dist/assets/app-runtime/.next/server/app/api/credentials/[id]/route.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/credentials/[id]/shares/[groupId]/route.js +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/credentials/[id]/shares/[groupId]/route.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/credentials/[id]/shares/route.js +2 -2
- package/dist/assets/app-runtime/.next/server/app/api/credentials/[id]/shares/route.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/credentials/[id]/transfer/route.js +2 -2
- package/dist/assets/app-runtime/.next/server/app/api/credentials/[id]/transfer/route.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/credentials/route.js +2 -2
- package/dist/assets/app-runtime/.next/server/app/api/credentials/route.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/design-systems/[id]/activate/route.js +1 -0
- package/dist/assets/app-runtime/.next/server/app/api/design-systems/[id]/activate/route.js.nft.json +1 -0
- package/dist/assets/app-runtime/.next/server/app/api/design-systems/[id]/activate/route_client-reference-manifest.js +1 -0
- package/dist/assets/app-runtime/.next/server/app/api/design-systems/[id]/assets/[assetId]/route.js +1 -0
- package/dist/assets/app-runtime/.next/server/app/api/design-systems/[id]/assets/[assetId]/route.js.nft.json +1 -0
- package/dist/assets/app-runtime/.next/server/app/api/design-systems/[id]/assets/[assetId]/route_client-reference-manifest.js +1 -0
- package/dist/assets/app-runtime/.next/server/app/api/design-systems/[id]/assets/route.js +1 -0
- package/dist/assets/app-runtime/.next/server/app/api/design-systems/[id]/assets/route.js.nft.json +1 -0
- package/dist/assets/app-runtime/.next/server/app/api/design-systems/[id]/assets/route_client-reference-manifest.js +1 -0
- package/dist/assets/app-runtime/.next/server/app/api/design-systems/[id]/components/[name]/route.js +1 -0
- package/dist/assets/app-runtime/.next/server/app/api/design-systems/[id]/components/[name]/route.js.nft.json +1 -0
- package/dist/assets/app-runtime/.next/server/app/api/design-systems/[id]/components/[name]/route_client-reference-manifest.js +1 -0
- package/dist/assets/app-runtime/.next/server/app/api/design-systems/[id]/events/route.js +1 -0
- package/dist/assets/app-runtime/.next/server/app/api/design-systems/[id]/events/route.js.nft.json +1 -0
- package/dist/assets/app-runtime/.next/server/app/api/design-systems/[id]/events/route_client-reference-manifest.js +1 -0
- package/dist/assets/app-runtime/.next/server/app/api/design-systems/[id]/export/route.js +1 -0
- package/dist/assets/app-runtime/.next/server/app/api/design-systems/[id]/export/route.js.nft.json +1 -0
- package/dist/assets/app-runtime/.next/server/app/api/design-systems/[id]/export/route_client-reference-manifest.js +1 -0
- package/dist/assets/app-runtime/.next/server/app/api/design-systems/[id]/lint/route.js +1 -0
- package/dist/assets/app-runtime/.next/server/app/api/design-systems/[id]/lint/route.js.nft.json +1 -0
- package/dist/assets/app-runtime/.next/server/app/api/design-systems/[id]/lint/route_client-reference-manifest.js +1 -0
- package/dist/assets/app-runtime/.next/server/app/api/design-systems/[id]/preview/route.js +1 -0
- package/dist/assets/app-runtime/.next/server/app/api/design-systems/[id]/preview/route.js.nft.json +1 -0
- package/dist/assets/app-runtime/.next/server/app/api/design-systems/[id]/preview/route_client-reference-manifest.js +1 -0
- package/dist/assets/app-runtime/.next/server/app/api/design-systems/[id]/route.js +1 -0
- package/dist/assets/app-runtime/.next/server/app/api/design-systems/[id]/route.js.nft.json +1 -0
- package/dist/assets/app-runtime/.next/server/app/api/design-systems/[id]/route_client-reference-manifest.js +1 -0
- package/dist/assets/app-runtime/.next/server/app/api/design-systems/[id]/sections/[section]/[key]/route.js +1 -0
- package/dist/assets/app-runtime/.next/server/app/api/design-systems/[id]/sections/[section]/[key]/route.js.nft.json +1 -0
- package/dist/assets/app-runtime/.next/server/app/api/design-systems/[id]/sections/[section]/[key]/route_client-reference-manifest.js +1 -0
- package/dist/assets/app-runtime/.next/server/app/api/design-systems/[id]/sections/[section]/route.js +1 -0
- package/dist/assets/app-runtime/.next/server/app/api/design-systems/[id]/sections/[section]/route.js.nft.json +1 -0
- package/dist/assets/app-runtime/.next/server/app/api/design-systems/[id]/sections/[section]/route_client-reference-manifest.js +1 -0
- package/dist/assets/app-runtime/.next/server/app/api/design-systems/[id]/versions/compare/route.js +1 -0
- package/dist/assets/app-runtime/.next/server/app/api/design-systems/[id]/versions/compare/route.js.nft.json +1 -0
- package/dist/assets/app-runtime/.next/server/app/api/design-systems/[id]/versions/compare/route_client-reference-manifest.js +1 -0
- package/dist/assets/app-runtime/.next/server/app/api/design-systems/[id]/versions/route.js +1 -0
- package/dist/assets/app-runtime/.next/server/app/api/design-systems/[id]/versions/route.js.nft.json +1 -0
- package/dist/assets/app-runtime/.next/server/app/api/design-systems/[id]/versions/route_client-reference-manifest.js +1 -0
- package/dist/assets/app-runtime/.next/server/app/api/design-systems/active/route.js +4 -0
- package/dist/assets/app-runtime/.next/server/app/api/design-systems/active/route.js.nft.json +1 -0
- package/dist/assets/app-runtime/.next/server/app/api/design-systems/active/route_client-reference-manifest.js +1 -0
- package/dist/assets/app-runtime/.next/server/app/api/design-systems/import/analyze/route.js +1 -0
- package/dist/assets/app-runtime/.next/server/app/api/design-systems/import/analyze/route.js.nft.json +1 -0
- package/dist/assets/app-runtime/.next/server/app/api/design-systems/import/analyze/route_client-reference-manifest.js +1 -0
- package/dist/assets/app-runtime/.next/server/app/api/design-systems/import/route.js +1 -0
- package/dist/assets/app-runtime/.next/server/app/api/design-systems/import/route.js.nft.json +1 -0
- package/dist/assets/app-runtime/.next/server/app/api/design-systems/import/route_client-reference-manifest.js +1 -0
- package/dist/assets/app-runtime/.next/server/app/api/design-systems/route.js +1 -0
- package/dist/assets/app-runtime/.next/server/app/api/design-systems/route.js.nft.json +1 -0
- package/dist/assets/app-runtime/.next/server/app/api/design-systems/route_client-reference-manifest.js +1 -0
- package/dist/assets/app-runtime/.next/server/app/api/design-systems/seed/route.js +2 -0
- package/dist/assets/app-runtime/.next/server/app/api/design-systems/seed/route.js.nft.json +1 -0
- package/dist/assets/app-runtime/.next/server/app/api/design-systems/seed/route_client-reference-manifest.js +1 -0
- package/dist/assets/app-runtime/.next/server/app/api/docs/route.js +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/folders/[id]/route.js +2 -2
- package/dist/assets/app-runtime/.next/server/app/api/folders/[id]/route.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/folders/[id]/shares/[groupId]/route.js +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/folders/[id]/shares/[groupId]/route.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/folders/[id]/shares/route.js +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/folders/[id]/shares/route.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/folders/[id]/transfer/route.js +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/folders/[id]/transfer/route.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/folders/[id]/visibility/route.js +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/folders/[id]/visibility/route.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/folders/route.js +2 -2
- package/dist/assets/app-runtime/.next/server/app/api/folders/route.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/guides/[slug]/route.js +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/guides/[slug]/workflow/route.js +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/guides/route.js +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/instructions/[id]/route.js +2 -2
- package/dist/assets/app-runtime/.next/server/app/api/instructions/[id]/route.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/instructions/[id]/transfer/route.js +2 -2
- package/dist/assets/app-runtime/.next/server/app/api/instructions/[id]/transfer/route.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/instructions/[id]/visibility/route.js +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/instructions/[id]/visibility/route.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/instructions/route.js +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/instructions/route.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/invites/[id]/route.js +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/invites/[id]/route.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/invites/accept/[token]/route.js +7 -6
- package/dist/assets/app-runtime/.next/server/app/api/invites/accept/[token]/route.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/invites/route.js +2 -2
- package/dist/assets/app-runtime/.next/server/app/api/invites/route.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/report/route.js +3 -3
- package/dist/assets/app-runtime/.next/server/app/api/report/route.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/settings/cleanup-visual-html/route.js +2 -2
- package/dist/assets/app-runtime/.next/server/app/api/settings/cleanup-visual-html/route.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/settings/email/route.js +2 -2
- package/dist/assets/app-runtime/.next/server/app/api/settings/email/route.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/settings/groups/[id]/members/route.js +2 -2
- package/dist/assets/app-runtime/.next/server/app/api/settings/groups/[id]/members/route.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/settings/groups/[id]/route.js +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/settings/groups/[id]/route.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/settings/groups/route.js +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/settings/groups/route.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/tasks/[id]/advance/route.js +2 -2
- package/dist/assets/app-runtime/.next/server/app/api/tasks/[id]/advance/route.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/tasks/[id]/approve/route.js +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/tasks/[id]/approve/route.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/tasks/[id]/cancel/route.js +2 -2
- package/dist/assets/app-runtime/.next/server/app/api/tasks/[id]/cancel/route.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/tasks/[id]/comments/route.js +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/tasks/[id]/comments/route.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/tasks/[id]/complete/route.js +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/tasks/[id]/complete/route.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/tasks/[id]/execute/route.js +2 -2
- package/dist/assets/app-runtime/.next/server/app/api/tasks/[id]/execute/route.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/tasks/[id]/feedback/route.js +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/tasks/[id]/feedback/route.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/tasks/[id]/findings/route.js +2 -2
- package/dist/assets/app-runtime/.next/server/app/api/tasks/[id]/findings/route.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/tasks/[id]/heartbeat/route.js +3 -3
- package/dist/assets/app-runtime/.next/server/app/api/tasks/[id]/heartbeat/route.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/tasks/[id]/logs/route.js +2 -2
- package/dist/assets/app-runtime/.next/server/app/api/tasks/[id]/logs/route.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/tasks/[id]/request-approval/route.js +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/tasks/[id]/request-approval/route.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/tasks/[id]/respond/route.js +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/tasks/[id]/respond/route.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/tasks/[id]/rewind/route.js +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/tasks/[id]/rewind/route.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/tasks/[id]/route.js +2 -2
- package/dist/assets/app-runtime/.next/server/app/api/tasks/[id]/route.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/tasks/[id]/visual/route.js +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/tasks/[id]/visual/route.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/tasks/route.js +2 -2
- package/dist/assets/app-runtime/.next/server/app/api/tasks/route.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/tasks/start/route.js +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/tasks/start/route.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/tasks/timeout-stale/route.js +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/tasks/timeout-stale/route.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/users/[id]/route.js +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/users/[id]/route.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/users/route.js +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/users/route.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/version/route.js +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/workflows/[id]/activate/route.js +3 -3
- package/dist/assets/app-runtime/.next/server/app/api/workflows/[id]/activate/route.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/workflows/[id]/deactivate/route.js +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/workflows/[id]/deactivate/route.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/workflows/[id]/export/route.js +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/workflows/[id]/export/route.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/workflows/[id]/node-items/[nodeId]/attachments/[attachId]/route.js +2 -2
- package/dist/assets/app-runtime/.next/server/app/api/workflows/[id]/node-items/[nodeId]/attachments/[attachId]/route.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/workflows/[id]/node-items/[nodeId]/attachments/route.js +2 -2
- package/dist/assets/app-runtime/.next/server/app/api/workflows/[id]/node-items/[nodeId]/attachments/route.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/workflows/[id]/node-items/[nodeId]/route.js +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/workflows/[id]/node-items/[nodeId]/route.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/workflows/[id]/nodes/[node_id]/attachments/[attachId]/route.js +2 -2
- package/dist/assets/app-runtime/.next/server/app/api/workflows/[id]/nodes/[node_id]/attachments/[attachId]/route.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/workflows/[id]/nodes/[node_id]/attachments/route.js +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/workflows/[id]/nodes/[node_id]/attachments/route.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/workflows/[id]/nodes/[node_id]/route.js +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/workflows/[id]/nodes/[node_id]/route.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/workflows/[id]/nodes/route.js +2 -2
- package/dist/assets/app-runtime/.next/server/app/api/workflows/[id]/nodes/route.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/workflows/[id]/route.js +3 -3
- package/dist/assets/app-runtime/.next/server/app/api/workflows/[id]/route.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/workflows/[id]/shares/[groupId]/route.js +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/workflows/[id]/shares/[groupId]/route.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/workflows/[id]/shares/route.js +2 -2
- package/dist/assets/app-runtime/.next/server/app/api/workflows/[id]/shares/route.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/workflows/[id]/transfer/route.js +3 -3
- package/dist/assets/app-runtime/.next/server/app/api/workflows/[id]/transfer/route.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/workflows/[id]/versions/route.js +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/workflows/[id]/versions/route.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/workflows/[id]/visibility/route.js +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/workflows/[id]/visibility/route.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/workflows/import/analyze/route.js +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/workflows/import/analyze/route.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/workflows/import/route.js +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/workflows/import/route.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/workflows/route.js +2 -2
- package/dist/assets/app-runtime/.next/server/app/api/workflows/route.js.nft.json +1 -1
- package/dist/assets/app-runtime/.next/server/app/change-password.html +1 -1
- package/dist/assets/app-runtime/.next/server/app/change-password.rsc +5 -5
- package/dist/assets/app-runtime/.next/server/app/change-password.segments/!KGF1dGgp/change-password/__PAGE__.segment.rsc +2 -2
- package/dist/assets/app-runtime/.next/server/app/change-password.segments/!KGF1dGgp/change-password.segment.rsc +1 -1
- package/dist/assets/app-runtime/.next/server/app/change-password.segments/!KGF1dGgp.segment.rsc +1 -1
- package/dist/assets/app-runtime/.next/server/app/change-password.segments/_full.segment.rsc +5 -5
- package/dist/assets/app-runtime/.next/server/app/change-password.segments/_head.segment.rsc +1 -1
- package/dist/assets/app-runtime/.next/server/app/change-password.segments/_index.segment.rsc +4 -4
- package/dist/assets/app-runtime/.next/server/app/change-password.segments/_tree.segment.rsc +2 -2
- package/dist/assets/app-runtime/.next/server/app/login.html +1 -1
- package/dist/assets/app-runtime/.next/server/app/login.rsc +5 -5
- package/dist/assets/app-runtime/.next/server/app/login.segments/!KGF1dGgp/login/__PAGE__.segment.rsc +2 -2
- package/dist/assets/app-runtime/.next/server/app/login.segments/!KGF1dGgp/login.segment.rsc +1 -1
- package/dist/assets/app-runtime/.next/server/app/login.segments/!KGF1dGgp.segment.rsc +1 -1
- package/dist/assets/app-runtime/.next/server/app/login.segments/_full.segment.rsc +5 -5
- package/dist/assets/app-runtime/.next/server/app/login.segments/_head.segment.rsc +1 -1
- package/dist/assets/app-runtime/.next/server/app/login.segments/_index.segment.rsc +4 -4
- package/dist/assets/app-runtime/.next/server/app/login.segments/_tree.segment.rsc +2 -2
- package/dist/assets/app-runtime/.next/server/app/setup.html +1 -1
- package/dist/assets/app-runtime/.next/server/app/setup.rsc +5 -5
- package/dist/assets/app-runtime/.next/server/app/setup.segments/!KGF1dGgp/setup/__PAGE__.segment.rsc +2 -2
- package/dist/assets/app-runtime/.next/server/app/setup.segments/!KGF1dGgp/setup.segment.rsc +1 -1
- package/dist/assets/app-runtime/.next/server/app/setup.segments/!KGF1dGgp.segment.rsc +1 -1
- package/dist/assets/app-runtime/.next/server/app/setup.segments/_full.segment.rsc +5 -5
- package/dist/assets/app-runtime/.next/server/app/setup.segments/_head.segment.rsc +1 -1
- package/dist/assets/app-runtime/.next/server/app/setup.segments/_index.segment.rsc +4 -4
- package/dist/assets/app-runtime/.next/server/app/setup.segments/_tree.segment.rsc +2 -2
- package/dist/assets/app-runtime/.next/server/app-paths-manifest.json +26 -6
- package/dist/assets/app-runtime/.next/server/chunks/1371.js +5 -0
- package/dist/assets/app-runtime/.next/server/chunks/4024.js +1 -1
- package/dist/assets/app-runtime/.next/server/chunks/4380.js +7 -0
- package/dist/assets/app-runtime/.next/server/chunks/5172.js +358 -0
- package/dist/assets/app-runtime/.next/server/chunks/5589.js +1 -1
- package/dist/assets/app-runtime/.next/server/chunks/6120.js +1 -0
- package/dist/assets/app-runtime/.next/server/chunks/7945.js +31 -4
- package/dist/assets/app-runtime/.next/server/chunks/8355.js +1 -0
- package/dist/assets/app-runtime/.next/server/chunks/859.js +1 -1
- package/dist/assets/app-runtime/.next/server/chunks/9100.js +1 -0
- package/dist/assets/app-runtime/.next/server/chunks/9439.js +1 -0
- package/dist/assets/app-runtime/.next/server/middleware-build-manifest.js +1 -1
- package/dist/assets/app-runtime/.next/server/pages/404.html +1 -1
- package/dist/assets/app-runtime/.next/server/pages/500.html +1 -1
- package/dist/assets/app-runtime/.next/server/server-reference-manifest.json +1 -1
- package/dist/assets/app-runtime/.next/static/chunks/173-a97262e334770725.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/2360-975f0c14308c88bc.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/{2293-e75169fba3ab0f64.js → 2989-cc47541f81b2181f.js} +2 -2
- package/dist/assets/app-runtime/.next/static/chunks/3207-7a74f5b8fc63cfe9.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/{5751-1d0ed4353025d40c.js → 3443-b4daf428b3a03717.js} +1 -1
- package/dist/assets/app-runtime/.next/static/chunks/3671-3ec1b01363e1d1c5.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/3689-1ffc19b35e5d1101.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/6126-cca19a7b816db517.js +7 -0
- package/dist/assets/app-runtime/.next/static/chunks/{7262-cdb2767600e6e41e.js → 6609-078a8cdc853f87c6.js} +1 -1
- package/dist/assets/app-runtime/.next/static/chunks/6644-de12bb5dcee357e8.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/7050-a4f09c854891a3cc.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/7462-99343ed0daab6a49.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/7533-f1110b90a820e95c.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/{6095-1b7d63b0bf80dd32.js → 8368-1830a099684acf83.js} +2 -2
- package/dist/assets/app-runtime/.next/static/chunks/9243-42247f33b2db5dd3.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/982-8a9df4d5d73197d3.js +7 -0
- package/dist/assets/app-runtime/.next/static/chunks/9927-71af96b4f536c6a4.js +7 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/(app)/credentials/page-6b45e41f48f43b7d.js +7 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/(app)/design-systems/[id]/page-e851d0a82242bcbd.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/(app)/design-systems/page-b9d457ae27951d55.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/(app)/instructions/{page-dd25654a8191a638.js → page-f46b64210da72126.js} +2 -2
- package/dist/assets/app-runtime/.next/static/chunks/app/(app)/layout-7a2f7065a96b50f2.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/(app)/settings/groups/page-de795ba135b7f780.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/(app)/settings/layout-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/(app)/settings/{page-1709c8cd7e4b68a6.js → page-4408a43823696ddc.js} +1 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/(app)/tasks/[id]/{page-e88075977b43a9d5.js → page-62b8c7b35f187f33.js} +1 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/(app)/tasks/layout-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/(app)/tasks/{page-82a1601abeaf3423.js → page-f5b823c754fbc4c3.js} +1 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/(app)/tutorial/page-8255141f3fabe520.js +34 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/(app)/workflows/[id]/edit/{page-b3775f3aecb19718.js → page-2e62beb288e70840.js} +1 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/(app)/workflows/[id]/page-ad179f55fb2d4a7f.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/(app)/workflows/layout-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/(app)/workflows/new/{page-abd414c9c1602c90.js → page-6ca1cc2ff5b3e912.js} +1 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/(app)/workflows/page-33a541a152b061fc.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/(auth)/change-password/{page-a984ad1a8e98b9e7.js → page-2f23af48cfbb0071.js} +1 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/(auth)/layout-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/(auth)/login/layout-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/(auth)/setup/layout-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/_global-error/page-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/apikeys/[id]/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/apikeys/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/auth/change-password/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/auth/dashboard/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/auth/login/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/auth/logout/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/auth/me/groups/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/auth/me/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/auth/setup/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/credentials/[id]/reveal/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/credentials/[id]/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/credentials/[id]/shares/[groupId]/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/credentials/[id]/shares/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/credentials/[id]/transfer/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/credentials/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/design-systems/[id]/activate/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/design-systems/[id]/assets/[assetId]/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/design-systems/[id]/assets/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/design-systems/[id]/components/[name]/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/design-systems/[id]/events/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/design-systems/[id]/export/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/design-systems/[id]/lint/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/design-systems/[id]/preview/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/design-systems/[id]/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/design-systems/[id]/sections/[section]/[key]/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/design-systems/[id]/sections/[section]/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/design-systems/[id]/versions/compare/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/design-systems/[id]/versions/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/design-systems/active/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/design-systems/import/analyze/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/design-systems/import/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/design-systems/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/design-systems/seed/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/docs/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/folders/[id]/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/folders/[id]/shares/[groupId]/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/folders/[id]/shares/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/folders/[id]/transfer/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/folders/[id]/visibility/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/folders/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/guides/[slug]/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/guides/[slug]/workflow/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/guides/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/instructions/[id]/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/instructions/[id]/transfer/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/instructions/[id]/visibility/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/instructions/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/invites/[id]/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/invites/accept/[token]/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/invites/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/report/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/settings/cleanup-visual-html/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/settings/email/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/settings/groups/[id]/members/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/settings/groups/[id]/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/settings/groups/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/tasks/[id]/advance/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/tasks/[id]/approve/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/tasks/[id]/cancel/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/tasks/[id]/comments/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/tasks/[id]/complete/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/tasks/[id]/execute/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/tasks/[id]/feedback/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/tasks/[id]/findings/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/tasks/[id]/heartbeat/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/tasks/[id]/logs/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/tasks/[id]/request-approval/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/tasks/[id]/respond/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/tasks/[id]/rewind/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/tasks/[id]/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/tasks/[id]/visual/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/tasks/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/tasks/start/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/tasks/timeout-stale/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/users/[id]/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/users/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/version/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/workflows/[id]/activate/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/workflows/[id]/deactivate/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/workflows/[id]/export/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/workflows/[id]/node-items/[nodeId]/attachments/[attachId]/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/workflows/[id]/node-items/[nodeId]/attachments/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/workflows/[id]/node-items/[nodeId]/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/workflows/[id]/nodes/[node_id]/attachments/[attachId]/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/workflows/[id]/nodes/[node_id]/attachments/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/workflows/[id]/nodes/[node_id]/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/workflows/[id]/nodes/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/workflows/[id]/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/workflows/[id]/shares/[groupId]/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/workflows/[id]/shares/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/workflows/[id]/transfer/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/workflows/[id]/versions/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/workflows/[id]/visibility/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/workflows/import/analyze/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/workflows/import/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/api/workflows/route-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/app/layout-a03e37c465149734.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/next/dist/client/components/builtin/app-error-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/next/dist/client/components/builtin/forbidden-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/next/dist/client/components/builtin/not-found-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/chunks/next/dist/client/components/builtin/unauthorized-51cda6d882abcfca.js +1 -0
- package/dist/assets/app-runtime/.next/static/css/9d548bcfa765cd8e.css +1 -0
- package/dist/assets/app-runtime/.next/static/kR9ojEXg0R3roI-0eLui5/_buildManifest.js +1 -0
- package/dist/assets/app-runtime/docker/seed-design-systems/open-design-core.json +3452 -0
- package/dist/assets/app-runtime/docker/seed-workflows/design-system-creation.json +80 -0
- package/dist/assets/app-runtime/node_modules/better-sqlite3/build/Release/better_sqlite3.node +0 -0
- package/dist/assets/app-runtime/package.json +1 -1
- package/dist/assets/app-runtime/src/content/guides/en/01-market-research-ai-coding-assistants.md +7 -7
- package/dist/assets/app-runtime/src/content/guides/en/02-bk-import.md +5 -5
- package/dist/assets/app-runtime/src/content/guides/ko/01-market-research-ai-coding-assistants.md +7 -7
- package/dist/assets/app-runtime/src/content/guides/ko/02-bk-import.md +5 -5
- package/dist/assets/app-runtime/src/lib/db/migrations/sqlite/sql/013_design_systems.sql +61 -0
- package/dist/assets/app-runtime/src/lib/db/migrations/sqlite/sql/014_design_system_token_sections.sql +10 -0
- package/dist/assets/app-runtime/src/lib/db/migrations/sqlite/sql/015_design_system_taxonomy.sql +11 -0
- package/dist/assets/app-runtime/src/lib/db/migrations/sqlite/sql/016_user_settings.sql +11 -0
- package/dist/assets/app-runtime/src/lib/db/migrations/sqlite/sql/017_design_system_events.sql +15 -0
- package/dist/assets/index.js +27 -2
- package/dist/assets/mcp/server.js +771 -2
- package/dist/assets/skills/bk-create/SKILL.md +426 -0
- package/dist/assets/skills/bk-credential/SKILL.md +1 -1
- package/dist/assets/skills/bk-design/SKILL.md +546 -383
- package/dist/assets/skills/bk-design/references/craft-rules.md +75 -0
- package/dist/assets/skills/bk-design/references/hifi-design-playbook.md +390 -0
- package/dist/assets/skills/bk-help/SKILL.md +6 -4
- package/dist/assets/skills/bk-import/SKILL.md +2 -2
- package/dist/assets/skills/bk-improve/SKILL.md +1 -1
- package/dist/assets/skills/bk-instruction/SKILL.md +1 -1
- package/dist/assets/skills/bk-start/SKILL.md +3 -3
- package/dist/runtimes/skills-helper.js +14 -2
- package/package.json +1 -1
- package/scripts/bundle-assets.mjs +10 -0
- package/dist/assets/app-runtime/.next/server/chunks/2099.js +0 -1
- package/dist/assets/app-runtime/.next/server/chunks/6640.js +0 -7
- package/dist/assets/app-runtime/.next/server/chunks/7484.js +0 -1
- package/dist/assets/app-runtime/.next/server/chunks/9031.js +0 -5
- package/dist/assets/app-runtime/.next/static/chunks/2360-35e89e45b93e4b6e.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/3199-4d641b94342c63dd.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/4319-c621f9e5059ef246.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/4637-78c9db381fdc0480.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/4663-2b5d2783b27c738c.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/6073-62ed9e571ecaf523.js +0 -7
- package/dist/assets/app-runtime/.next/static/chunks/7050-edc7d05dfb4620a7.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/7533-42c44555b23bfae4.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/7552-aa220264909ca9d9.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/7659-42ae14ef25af3f5e.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/8920-3a6e8e66a1cb7a75.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/9243-9c99cc0df75c9121.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/(app)/credentials/page-5c7345b157145460.js +0 -7
- package/dist/assets/app-runtime/.next/static/chunks/app/(app)/layout-d7f54b544bb8d2df.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/(app)/settings/groups/page-9254dcaa5d447e5b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/(app)/settings/layout-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/(app)/tasks/layout-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/(app)/tutorial/page-e17231b0bc7cb6d6.js +0 -34
- package/dist/assets/app-runtime/.next/static/chunks/app/(app)/workflows/[id]/page-66d44a2bc9f94668.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/(app)/workflows/layout-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/(app)/workflows/page-a76941b77690f97c.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/(auth)/layout-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/(auth)/login/layout-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/(auth)/setup/layout-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/_global-error/page-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/api/apikeys/[id]/route-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/api/apikeys/route-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/api/auth/change-password/route-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/api/auth/dashboard/route-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/api/auth/login/route-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/api/auth/logout/route-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/api/auth/me/groups/route-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/api/auth/me/route-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/api/auth/setup/route-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/api/credentials/[id]/reveal/route-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/api/credentials/[id]/route-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/api/credentials/[id]/shares/[groupId]/route-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/api/credentials/[id]/shares/route-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/api/credentials/[id]/transfer/route-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/api/credentials/route-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/api/docs/route-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/api/folders/[id]/route-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/api/folders/[id]/shares/[groupId]/route-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/api/folders/[id]/shares/route-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/api/folders/[id]/transfer/route-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/api/folders/[id]/visibility/route-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/api/folders/route-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/api/guides/[slug]/route-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/api/guides/[slug]/workflow/route-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/api/guides/route-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/api/instructions/[id]/route-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/api/instructions/[id]/transfer/route-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/api/instructions/[id]/visibility/route-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/api/instructions/route-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/api/invites/[id]/route-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/api/invites/accept/[token]/route-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/api/invites/route-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/api/report/route-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/api/settings/cleanup-visual-html/route-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/api/settings/email/route-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/api/settings/groups/[id]/members/route-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/api/settings/groups/[id]/route-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/api/settings/groups/route-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/api/tasks/[id]/advance/route-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/api/tasks/[id]/approve/route-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/api/tasks/[id]/cancel/route-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/api/tasks/[id]/comments/route-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/api/tasks/[id]/complete/route-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/api/tasks/[id]/execute/route-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/api/tasks/[id]/feedback/route-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/api/tasks/[id]/findings/route-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/api/tasks/[id]/heartbeat/route-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/api/tasks/[id]/logs/route-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/api/tasks/[id]/request-approval/route-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/api/tasks/[id]/respond/route-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/api/tasks/[id]/rewind/route-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/api/tasks/[id]/route-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/api/tasks/[id]/visual/route-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/api/tasks/route-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/api/tasks/start/route-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/api/tasks/timeout-stale/route-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/api/users/[id]/route-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/api/users/route-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/api/version/route-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/api/workflows/[id]/activate/route-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/api/workflows/[id]/deactivate/route-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/api/workflows/[id]/export/route-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/api/workflows/[id]/node-items/[nodeId]/attachments/[attachId]/route-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/api/workflows/[id]/node-items/[nodeId]/attachments/route-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/api/workflows/[id]/node-items/[nodeId]/route-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/api/workflows/[id]/nodes/[node_id]/attachments/[attachId]/route-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/api/workflows/[id]/nodes/[node_id]/attachments/route-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/api/workflows/[id]/nodes/[node_id]/route-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/api/workflows/[id]/nodes/route-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/api/workflows/[id]/route-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/api/workflows/[id]/shares/[groupId]/route-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/api/workflows/[id]/shares/route-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/api/workflows/[id]/transfer/route-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/api/workflows/[id]/versions/route-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/api/workflows/[id]/visibility/route-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/api/workflows/import/analyze/route-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/api/workflows/import/route-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/api/workflows/route-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/layout-e3f307ffaa2d11cc.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/next/dist/client/components/builtin/app-error-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/next/dist/client/components/builtin/forbidden-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/next/dist/client/components/builtin/not-found-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/chunks/next/dist/client/components/builtin/unauthorized-d1d8a55a4b72308b.js +0 -1
- package/dist/assets/app-runtime/.next/static/css/2bc6b6e35d293c50.css +0 -1
- package/dist/assets/app-runtime/.next/static/ymP-zxwYrYDNi2qYSDfJr/_buildManifest.js +0 -1
- package/dist/assets/app-runtime/node_modules/@img/sharp-libvips-linux-arm64/lib/index.js +0 -1
- package/dist/assets/app-runtime/node_modules/@img/sharp-libvips-linux-arm64/lib/libvips-cpp.so.8.17.3 +0 -0
- package/dist/assets/app-runtime/node_modules/@img/sharp-libvips-linux-arm64/package.json +0 -42
- package/dist/assets/app-runtime/node_modules/@img/sharp-libvips-linux-arm64/versions.json +0 -30
- package/dist/assets/app-runtime/node_modules/@img/sharp-libvips-linuxmusl-arm64/lib/index.js +0 -1
- package/dist/assets/app-runtime/node_modules/@img/sharp-libvips-linuxmusl-arm64/lib/libvips-cpp.so.8.17.3 +0 -0
- package/dist/assets/app-runtime/node_modules/@img/sharp-libvips-linuxmusl-arm64/package.json +0 -42
- package/dist/assets/app-runtime/node_modules/@img/sharp-libvips-linuxmusl-arm64/versions.json +0 -30
- package/dist/assets/app-runtime/node_modules/@img/sharp-linux-arm64/LICENSE +0 -191
- package/dist/assets/app-runtime/node_modules/@img/sharp-linux-arm64/lib/sharp-linux-arm64.node +0 -0
- package/dist/assets/app-runtime/node_modules/@img/sharp-linux-arm64/package.json +0 -46
- package/dist/assets/app-runtime/node_modules/@img/sharp-linuxmusl-arm64/LICENSE +0 -191
- package/dist/assets/app-runtime/node_modules/@img/sharp-linuxmusl-arm64/lib/sharp-linuxmusl-arm64.node +0 -0
- package/dist/assets/app-runtime/node_modules/@img/sharp-linuxmusl-arm64/package.json +0 -46
- /package/dist/assets/app-runtime/.next/static/{ymP-zxwYrYDNi2qYSDfJr → kR9ojEXg0R3roI-0eLui5}/_ssgManifest.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[109],{1872:(e,t,a)=>{Promise.resolve().then(a.bind(a,92110))},13276:(e,t,a)=>{"use strict";a.d(t,{$v:()=>h,EO:()=>m,Lt:()=>l,Rx:()=>f,Zr:()=>v,ck:()=>x,r7:()=>p,tv:()=>d,wd:()=>u});var s=a(95155);a(12115);var r=a(86835),i=a(40980),n=a(89239);function l({...e}){return(0,s.jsx)(r.bL,{"data-slot":"alert-dialog",...e})}function d({...e}){return(0,s.jsx)(r.l9,{"data-slot":"alert-dialog-trigger",...e})}function o({...e}){return(0,s.jsx)(r.ZL,{"data-slot":"alert-dialog-portal",...e})}function c({className:e,...t}){return(0,s.jsx)(r.hJ,{"data-slot":"alert-dialog-overlay",className:(0,i.cn)("fixed inset-0 z-50 bg-black/50 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:animate-in data-[state=open]:fade-in-0",e),...t})}function m({className:e,size:t="default",...a}){return(0,s.jsxs)(o,{children:[(0,s.jsx)(c,{}),(0,s.jsx)(r.UC,{"data-slot":"alert-dialog-content","data-size":t,className:(0,i.cn)("group/alert-dialog-content fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-[1.5rem] border border-border bg-card p-6 shadow-[var(--shadow-soft)] duration-200 data-[size=sm]:max-w-xs data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 data-[size=default]:sm:max-w-[28rem]",e),...a})]})}function u({className:e,...t}){return(0,s.jsx)("div",{"data-slot":"alert-dialog-header",className:(0,i.cn)("grid grid-rows-[auto_1fr] place-items-center gap-1.5 text-center has-data-[slot=alert-dialog-media]:grid-rows-[auto_auto_1fr] has-data-[slot=alert-dialog-media]:gap-x-6 sm:group-data-[size=default]/alert-dialog-content:place-items-start sm:group-data-[size=default]/alert-dialog-content:text-left sm:group-data-[size=default]/alert-dialog-content:has-data-[slot=alert-dialog-media]:grid-rows-[auto_1fr]",e),...t})}function x({className:e,...t}){return(0,s.jsx)("div",{"data-slot":"alert-dialog-footer",className:(0,i.cn)("flex flex-col-reverse gap-2 group-data-[size=sm]/alert-dialog-content:grid group-data-[size=sm]/alert-dialog-content:grid-cols-2 sm:flex-row sm:justify-end",e),...t})}function p({className:e,...t}){return(0,s.jsx)(r.hE,{"data-slot":"alert-dialog-title",className:(0,i.cn)("text-lg font-semibold sm:group-data-[size=default]/alert-dialog-content:group-has-data-[slot=alert-dialog-media]/alert-dialog-content:col-start-2",e),...t})}function h({className:e,...t}){return(0,s.jsx)(r.VY,{"data-slot":"alert-dialog-description",className:(0,i.cn)("text-sm text-muted-foreground",e),...t})}function f({className:e,variant:t="default",size:a="default",...l}){return(0,s.jsx)(n.$,{variant:t,size:a,asChild:!0,children:(0,s.jsx)(r.rc,{"data-slot":"alert-dialog-action",className:(0,i.cn)(e),...l})})}function v({className:e,variant:t="outline",size:a="default",...l}){return(0,s.jsx)(n.$,{variant:t,size:a,asChild:!0,children:(0,s.jsx)(r.ZD,{"data-slot":"alert-dialog-cancel",className:(0,i.cn)(e),...l})})}},29991:(e,t,a)=>{"use strict";a.d(t,{bq:()=>m,eb:()=>x,gC:()=>u,l6:()=>o,yv:()=>c});var s=a(95155);a(12115);var r=a(66088),i=a(94514),n=a(9921),l=a(89064),d=a(40980);function o({...e}){return(0,s.jsx)(l.bL,{"data-slot":"select",...e})}function c({...e}){return(0,s.jsx)(l.WT,{"data-slot":"select-value",...e})}function m({className:e,size:t="default",children:a,...i}){return(0,s.jsxs)(l.l9,{"data-slot":"select-trigger","data-size":t,className:(0,d.cn)("flex w-fit items-center justify-between gap-2 rounded-2xl border border-input bg-transparent px-4 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 data-[placeholder]:text-muted-foreground data-[size=default]:h-11 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 dark:bg-input/30 dark:hover:bg-input/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground",e),...i,children:[a,(0,s.jsx)(l.In,{asChild:!0,children:(0,s.jsx)(r.A,{className:"size-4 opacity-50"})})]})}function u({className:e,children:t,position:a="item-aligned",align:r="center",...i}){return(0,s.jsx)(l.ZL,{children:(0,s.jsxs)(l.UC,{"data-slot":"select-content",className:(0,d.cn)("relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-[1.125rem] border border-border bg-popover text-popover-foreground shadow-card data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95","popper"===a&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",e),position:a,align:r,...i,children:[(0,s.jsx)(p,{}),(0,s.jsx)(l.LM,{className:(0,d.cn)("p-1","popper"===a&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1"),children:t}),(0,s.jsx)(h,{})]})})}function x({className:e,children:t,...a}){return(0,s.jsxs)(l.q7,{"data-slot":"select-item",className:(0,d.cn)("relative flex w-full cursor-default items-center gap-2 rounded-xl py-2 pr-8 pl-2 text-sm outline-hidden select-none focus:bg-brand-blue-100 focus:text-brand-blue-700 data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2",e),...a,children:[(0,s.jsx)("span",{"data-slot":"select-item-indicator",className:"absolute right-2 flex size-3.5 items-center justify-center",children:(0,s.jsx)(l.VF,{children:(0,s.jsx)(i.A,{className:"size-4"})})}),(0,s.jsx)(l.p4,{children:t})]})}function p({className:e,...t}){return(0,s.jsx)(l.PP,{"data-slot":"select-scroll-up-button",className:(0,d.cn)("flex cursor-default items-center justify-center py-1",e),...t,children:(0,s.jsx)(n.A,{className:"size-4"})})}function h({className:e,...t}){return(0,s.jsx)(l.wn,{"data-slot":"select-scroll-down-button",className:(0,d.cn)("flex cursor-default items-center justify-center py-1",e),...t,children:(0,s.jsx)(r.A,{className:"size-4"})})}},42763:(e,t,a)=>{"use strict";a.d(t,{Cf:()=>x,Es:()=>h,HM:()=>m,L3:()=>f,c7:()=>p,lG:()=>d,rr:()=>v,zM:()=>o});var s=a(95155);a(12115);var r=a(33210),i=a(19324),n=a(40980),l=a(89239);function d({...e}){return(0,s.jsx)(i.bL,{"data-slot":"dialog",...e})}function o({...e}){return(0,s.jsx)(i.l9,{"data-slot":"dialog-trigger",...e})}function c({...e}){return(0,s.jsx)(i.ZL,{"data-slot":"dialog-portal",...e})}function m({...e}){return(0,s.jsx)(i.bm,{"data-slot":"dialog-close",...e})}function u({className:e,...t}){return(0,s.jsx)(i.hJ,{"data-slot":"dialog-overlay",className:(0,n.cn)("fixed inset-0 z-50 bg-black/50 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:animate-in data-[state=open]:fade-in-0",e),...t})}function x({className:e,children:t,showCloseButton:a=!0,...l}){return(0,s.jsxs)(c,{"data-slot":"dialog-portal",children:[(0,s.jsx)(u,{}),(0,s.jsxs)(i.UC,{"data-slot":"dialog-content",className:(0,n.cn)("fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 overflow-hidden rounded-[1.5rem] border border-border bg-card p-6 shadow-[var(--shadow-soft)] duration-200 outline-none data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 sm:max-w-[28rem]",e),...l,children:[t,a&&(0,s.jsxs)(i.bm,{"data-slot":"dialog-close",className:"absolute top-4 right-4 rounded-xs opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:ring-2 focus:ring-ring focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",children:[(0,s.jsx)(r.A,{}),(0,s.jsx)("span",{className:"sr-only",children:"Close"})]})]})]})}function p({className:e,...t}){return(0,s.jsx)("div",{"data-slot":"dialog-header",className:(0,n.cn)("flex flex-col gap-2 text-center sm:text-left",e),...t})}function h({className:e,showCloseButton:t=!1,children:a,...r}){return(0,s.jsxs)("div",{"data-slot":"dialog-footer",className:(0,n.cn)("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",e),...r,children:[a,t&&(0,s.jsx)(i.bm,{asChild:!0,children:(0,s.jsx)(l.$,{variant:"outline",children:"Close"})})]})}function f({className:e,...t}){return(0,s.jsx)(i.hE,{"data-slot":"dialog-title",className:(0,n.cn)("text-lg leading-none font-semibold",e),...t})}function v({className:e,...t}){return(0,s.jsx)(i.VY,{"data-slot":"dialog-description",className:(0,n.cn)("text-sm text-muted-foreground",e),...t})}},45160:(e,t,a)=>{"use strict";a.d(t,{E:()=>d});var s=a(95155);a(12115);var r=a(18460),i=a(42442),n=a(40980);let l=(0,r.F)("inline-flex w-fit shrink-0 items-center justify-center gap-1 overflow-hidden rounded-full border border-transparent px-3 py-1 text-xs font-semibold tracking-[0.01em] whitespace-nowrap transition-[color,box-shadow] focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&>svg]:pointer-events-none [&>svg]:size-3",{variants:{variant:{default:"border-brand-blue-600/20 bg-brand-blue-100 text-brand-blue-700",accent:"border-brand-kiwi-600/30 bg-brand-kiwi-100 text-brand-kiwi-700",neutral:"border-border bg-brand-surface-soft text-brand-ink-700",success:"border-success/20 bg-success/10 text-success",warning:"border-warning/20 bg-warning/10 text-warning",danger:"border-danger/20 bg-danger/10 text-danger",secondary:"border-transparent bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90",destructive:"border-transparent bg-destructive text-white focus-visible:ring-destructive/20 dark:bg-destructive/60 dark:focus-visible:ring-destructive/40 [a&]:hover:bg-destructive/90",outline:"border-border text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground",ghost:"border-transparent [a&]:hover:bg-accent [a&]:hover:text-accent-foreground",link:"border-transparent text-primary underline-offset-4 [a&]:hover:underline"}},defaultVariants:{variant:"default"}});function d({className:e,variant:t,asChild:a=!1,...r}){let o=a?i.bL:"span";return(0,s.jsx)(o,{"data-slot":"badge","data-variant":t,className:(0,n.cn)(l({variant:t}),e),...r})}},47687:(e,t,a)=>{"use strict";a.d(t,{Xi:()=>c,av:()=>m,j7:()=>o,tU:()=>l});var s=a(95155);a(12115);var r=a(18460),i=a(61584),n=a(40980);function l({className:e,orientation:t="horizontal",...a}){return(0,s.jsx)(i.bL,{"data-slot":"tabs","data-orientation":t,orientation:t,className:(0,n.cn)("group/tabs flex gap-2 data-[orientation=horizontal]:flex-col",e),...a})}let d=(0,r.F)("group/tabs-list inline-flex w-fit items-center justify-center rounded-2xl p-1 text-muted-foreground group-data-[orientation=horizontal]/tabs:h-9 group-data-[orientation=vertical]/tabs:h-fit group-data-[orientation=vertical]/tabs:flex-col data-[variant=line]:rounded-none",{variants:{variant:{default:"bg-brand-surface-strong",line:"gap-1 bg-transparent"}},defaultVariants:{variant:"default"}});function o({className:e,variant:t="default",...a}){return(0,s.jsx)(i.B8,{"data-slot":"tabs-list","data-variant":t,className:(0,n.cn)(d({variant:t}),e),...a})}function c({className:e,...t}){return(0,s.jsx)(i.l9,{"data-slot":"tabs-trigger",className:(0,n.cn)("relative inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center gap-1.5 rounded-xl border border-transparent px-3 py-1.5 text-sm font-medium whitespace-nowrap text-brand-ink-700 transition-all group-data-[orientation=vertical]/tabs:w-full group-data-[orientation=vertical]/tabs:justify-start hover:text-foreground focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-1 focus-visible:outline-ring disabled:pointer-events-none disabled:opacity-50 group-data-[variant=default]/tabs-list:data-[state=active]:shadow-card group-data-[variant=line]/tabs-list:data-[state=active]:shadow-none dark:text-muted-foreground dark:hover:text-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4","group-data-[variant=line]/tabs-list:bg-transparent group-data-[variant=line]/tabs-list:data-[state=active]:bg-transparent dark:group-data-[variant=line]/tabs-list:data-[state=active]:border-transparent dark:group-data-[variant=line]/tabs-list:data-[state=active]:bg-transparent","data-[state=active]:bg-card data-[state=active]:text-brand-blue-700 dark:data-[state=active]:border-input dark:data-[state=active]:bg-input/30 dark:data-[state=active]:text-foreground","after:absolute after:bg-foreground after:opacity-0 after:transition-opacity group-data-[orientation=horizontal]/tabs:after:inset-x-0 group-data-[orientation=horizontal]/tabs:after:bottom-[-5px] group-data-[orientation=horizontal]/tabs:after:h-0.5 group-data-[orientation=vertical]/tabs:after:inset-y-0 group-data-[orientation=vertical]/tabs:after:-right-1 group-data-[orientation=vertical]/tabs:after:w-0.5 group-data-[variant=line]/tabs-list:data-[state=active]:after:opacity-100",e),...t})}function m({className:e,...t}){return(0,s.jsx)(i.UC,{"data-slot":"tabs-content",className:(0,n.cn)("flex-1 outline-none",e),...t})}},60529:(e,t,a)=>{"use strict";a.d(t,{p:()=>i});var s=a(95155);a(12115);var r=a(40980);function i({className:e,type:t,...a}){return(0,s.jsx)("input",{type:t,"data-slot":"input",className:(0,r.cn)("h-11 w-full min-w-0 rounded-2xl border border-input bg-background px-4 py-2 text-[0.95rem] text-foreground shadow-none transition-colors outline-none selection:bg-primary selection:text-primary-foreground file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-ink-500 disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50","focus-visible:border-brand-blue-500 focus-visible:ring-[4px] focus-visible:ring-ring/35","aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40",e),...a})}},92110:(e,t,a)=>{"use strict";a.r(t),a.d(t,{default:()=>q});var s=a(95155),r=a(12115),i=a(89363),n=a(61767),l=a(9114),d=a(66609),o=a(13276),c=a(89239),m=a(81477),u=a(47687),x=a(73321),p=a(42869),h=a(55243),f=a(68459),v=a(60529),g=a(45160),j=a(42360);function b({target:e,isSelf:t,trigger:a,onSuccess:i}){let{t:n}=(0,j.B)(),[l,m]=(0,r.useState)(!1),[u,x]=(0,r.useState)("transfer"),[p,h]=(0,r.useState)(""),[f,g]=(0,r.useState)(""),[y,N]=(0,r.useState)([]),[w,k]=(0,r.useState)(!1),_=(0,r.useCallback)(async()=>{try{let t=await fetch("/api/users"),a=(await t.json()).data??[];N(a.filter(t=>t.id!==e.id))}catch{}},[e.id]);(0,r.useEffect)(()=>{l&&(_(),x("transfer"),h(""),g(""))},[l,_]);let C=async()=>{if(("transfer"!==u||p)&&(!t||f)){k(!0);try{let a={mode:u};"transfer"===u&&(a.transfer_to=p),t&&(a.password=f);let s=await fetch(`/api/users/${e.id}`,{method:"DELETE",headers:{"Content-Type":"application/json"},body:JSON.stringify(a)});if(!s.ok){let e=await s.json(),a=e.error?.message??n(t?"deleteAccount.failed":"team.deleteUserFailed");d.oR.error(a);return}d.oR.success(n(t?"deleteAccount.success":"team.deleteUserSuccess")),m(!1),i()}catch{d.oR.error(n(t?"deleteAccount.failed":"team.deleteUserFailed"))}finally{k(!1)}}},S=("delete_all"===u||"transfer"===u&&p)&&(!t||f);return(0,s.jsxs)(o.Lt,{open:l,onOpenChange:m,children:[(0,s.jsx)(o.tv,{asChild:!0,children:a}),(0,s.jsxs)(o.EO,{children:[(0,s.jsxs)(o.wd,{children:[(0,s.jsx)(o.r7,{children:n(t?"deleteAccount.dialogTitle":"team.deleteUserTitle")}),(0,s.jsxs)(o.$v,{children:[t?n("deleteAccount.dialogDesc"):n("team.deleteUserDesc"),!t&&(0,s.jsx)("span",{className:"mt-1 block font-medium text-[var(--foreground)]",children:e.username})]})]}),(0,s.jsxs)("div",{className:"space-y-4 py-2",children:[(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsx)("label",{className:"text-sm font-medium",children:n(t?"deleteAccount.mode":"team.deleteUserMode")}),(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsxs)("label",{className:"flex cursor-pointer items-center gap-2 text-sm",children:[(0,s.jsx)("input",{type:"radio",name:"delete-mode",checked:"transfer"===u,onChange:()=>x("transfer"),className:"accent-[var(--primary)]"}),n(t?"deleteAccount.transfer":"team.deleteUserTransfer")]}),(0,s.jsxs)("label",{className:"flex cursor-pointer items-center gap-2 text-sm",children:[(0,s.jsx)("input",{type:"radio",name:"delete-mode",checked:"delete_all"===u,onChange:()=>x("delete_all"),className:"accent-[var(--primary)]"}),n(t?"deleteAccount.deleteAll":"team.deleteUserDeleteAll")]})]})]}),"transfer"===u&&(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsx)("label",{className:"text-sm font-medium",children:n(t?"deleteAccount.transferTo":"team.deleteUserTransferTo")}),(0,s.jsxs)("select",{className:"w-full rounded-md border border-[var(--border)] bg-[var(--background)] px-3 py-2 text-sm",value:p,onChange:e=>h(e.target.value?Number(e.target.value):""),children:[(0,s.jsx)("option",{value:"",children:n(t?"deleteAccount.selectTarget":"team.deleteUserSelectTarget")}),y.map(e=>(0,s.jsx)("option",{value:e.id,children:e.username},e.id))]}),(0,s.jsx)("p",{className:"text-xs text-[var(--muted-foreground)]",children:n(t?"deleteAccount.transferWarning":"team.deleteUserTransferWarning")})]}),"delete_all"===u&&(0,s.jsx)("p",{className:"rounded-md border border-[var(--destructive)] bg-destructive/10 p-3 text-xs text-[var(--destructive)]",children:n(t?"deleteAccount.deleteAllWarning":"team.deleteUserDeleteAllWarning")}),t&&(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsx)("label",{className:"text-sm font-medium",children:n("deleteAccount.password")}),(0,s.jsx)(v.p,{type:"password",placeholder:n("deleteAccount.passwordPlaceholder"),value:f,onChange:e=>g(e.target.value),onKeyDown:e=>{"Enter"===e.key&&S&&C()}})]})]}),(0,s.jsxs)(o.ck,{children:[(0,s.jsx)(o.Zr,{children:n("common.cancel")}),(0,s.jsx)(c.$,{variant:"destructive",onClick:C,disabled:!S||w,children:w?n("common.loading"):n(t?"deleteAccount.confirm":"team.deleteUser")})]})]})]})}function y({user:e}){let{t}=(0,j.B)(),a=(0,x.useRouter)(),[i,n]=(0,r.useState)(e.username),[l,o]=(0,r.useState)(!1),u=i.trim()!==e.username,N=async()=>{let a=i.trim();if(!a)return void d.oR.error(t("settings.nameRequired"));o(!0);try{let s=await fetch(`/api/users/${e.userId}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({username:a})});if(!s.ok){let e=await s.json();throw Error(e.error?.message??t("settings.saveFailed"))}d.oR.success(t("settings.saved"))}catch(e){d.oR.error(e instanceof Error?e.message:t("settings.saveFailed"))}finally{o(!1)}};return(0,s.jsxs)(m.Zp,{children:[(0,s.jsxs)(m.aR,{children:[(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)(p.A,{className:"h-5 w-5 text-[var(--muted-foreground)]"}),(0,s.jsx)(m.ZB,{children:t("settings.profileInfo")})]}),(0,s.jsx)(m.BT,{children:t("settings.profileDesc")})]}),(0,s.jsxs)(m.Wu,{className:"space-y-6",children:[(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsx)("label",{htmlFor:"profile-name",className:"text-sm font-medium text-[var(--foreground)]",children:t("settings.name")}),(0,s.jsx)(v.p,{id:"profile-name",value:i,onChange:e=>n(e.target.value),placeholder:t("settings.namePlaceholder")})]}),(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsx)("label",{className:"text-sm font-medium text-[var(--foreground)]",children:t("settings.email")}),(0,s.jsx)(v.p,{value:e.email,readOnly:!0,className:"opacity-60"})]}),(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsx)("label",{className:"text-sm font-medium text-[var(--foreground)]",children:t("settings.role")}),(0,s.jsx)("div",{children:(0,s.jsx)(g.E,{variant:"secondary",children:e.role})})]}),(0,s.jsxs)(c.$,{onClick:N,disabled:l||!u,size:"sm",children:[(0,s.jsx)(h.A,{className:"h-4 w-4"}),l?t("settings.saving"):t("common.save")]}),"superuser"!==e.role&&(0,s.jsxs)("div",{className:"mt-8 border-t border-[var(--destructive)]/30 pt-6",children:[(0,s.jsx)("h3",{className:"text-sm font-semibold text-[var(--destructive)]",children:t("deleteAccount.title")}),(0,s.jsx)("p",{className:"mt-1 text-xs text-[var(--muted-foreground)]",children:t("deleteAccount.description")}),(0,s.jsx)(b,{target:{id:e.userId,username:e.username,role:e.role},isSelf:!0,trigger:(0,s.jsxs)(c.$,{variant:"destructive",size:"sm",className:"mt-3",children:[(0,s.jsx)(f.A,{className:"h-4 w-4"}),t("deleteAccount.button")]}),onSuccess:()=>{fetch("/api/auth/logout",{method:"POST"}).finally(()=>{a.push("/login")})}})]})]})]})}var N=a(52905),w=a(51914),k=a(67635),_=a(42763);function C(){let{t:e}=(0,j.B)(),[t,a]=(0,r.useState)([]),[i,n]=(0,r.useState)(!0),[l,u]=(0,r.useState)(!1),[x,p]=(0,r.useState)(""),[h,b]=(0,r.useState)(!1),[y,C]=(0,r.useState)(null),[S,z]=(0,r.useState)(""),A=(0,r.useCallback)(async()=>{n(!0);try{let e=await fetch("/api/apikeys"),t=await e.json();a(t.data??[])}catch{d.oR.error(e("apiKeys.loadFailed"))}finally{n(!1)}},[e]);(0,r.useEffect)(()=>{A()},[A]);let E=async t=>{try{if(!(await fetch(`/api/apikeys/${t}`,{method:"DELETE"})).ok)throw Error();d.oR.success(e("apiKeys.revokeSuccess")),A()}catch{d.oR.error(e("apiKeys.revokeFailed"))}},K=async()=>{let t=x.trim();if(!t)return void d.oR.error(e("apiKeys.nameRequired"));b(!0);try{let a=await fetch("/api/apikeys",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:t})});if(!a.ok){let t=await a.json();throw Error(t.error?.message??e("apiKeys.createFailed"))}let s=await a.json(),r=s.data?.raw_key??null;if(C(r),r){let e=window.location.origin;z(`npm i -g bluekiwi && bluekiwi init --server ${e} --api-key ${r}`)}else z("");A()}catch(t){d.oR.error(t instanceof Error?t.message:e("apiKeys.createFailed"))}finally{b(!1)}},T=async t=>{await navigator.clipboard.writeText(t),d.oR.success(e("apiKeys.copied"))},R=e=>{e||(p(""),C(null),z("")),u(e)};return(0,s.jsxs)(m.Zp,{children:[(0,s.jsx)(m.aR,{children:(0,s.jsxs)("div",{className:"flex items-center justify-between gap-4",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)(N.A,{className:"h-5 w-5 text-[var(--muted-foreground)]"}),(0,s.jsxs)("div",{children:[(0,s.jsx)(m.ZB,{children:e("apiKeys.title")}),(0,s.jsx)(m.BT,{children:e("apiKeys.description")})]})]}),(0,s.jsxs)(_.lG,{open:l,onOpenChange:R,children:[(0,s.jsx)(_.zM,{asChild:!0,children:(0,s.jsxs)(c.$,{size:"sm",children:[(0,s.jsx)(w.A,{className:"h-4 w-4"}),e("apiKeys.newKey")]})}),(0,s.jsx)(_.Cf,{children:y?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)(_.c7,{children:[(0,s.jsx)(_.L3,{children:e("apiKeys.keyCreated")}),(0,s.jsx)(_.rr,{children:e("apiKeys.keyWarning")})]}),(0,s.jsxs)("div",{className:"space-y-3",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2 rounded-md border bg-[var(--muted)] p-3",children:[(0,s.jsx)("code",{className:"flex-1 break-all text-sm",children:y}),(0,s.jsx)(c.$,{variant:"ghost",size:"icon",onClick:()=>T(y),children:(0,s.jsx)(k.A,{className:"h-4 w-4"})})]}),S?(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsx)("p",{className:"text-sm font-medium",children:e("apiKeys.cliInitLabel")}),(0,s.jsxs)("div",{className:"flex items-center gap-2 rounded-md border bg-[var(--muted)] p-3",children:[(0,s.jsx)("code",{className:"flex-1 break-all text-xs leading-5",children:S}),(0,s.jsx)(c.$,{variant:"ghost",size:"icon",onClick:()=>T(S),title:e("apiKeys.copyCliCommand"),children:(0,s.jsx)(k.A,{className:"h-4 w-4"})})]})]}):null,(0,s.jsx)("p",{className:"text-xs text-[var(--destructive)]",children:e("apiKeys.keyWarning2")})]}),(0,s.jsx)(_.Es,{children:(0,s.jsx)(c.$,{onClick:()=>R(!1),children:e("common.confirm")})})]}):(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)(_.c7,{children:[(0,s.jsx)(_.L3,{children:e("apiKeys.newKeyTitle")}),(0,s.jsx)(_.rr,{children:e("apiKeys.newKeyDesc")})]}),(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsx)("label",{htmlFor:"apikey-name",className:"text-sm font-medium",children:e("apiKeys.keyNameLabel")}),(0,s.jsx)(v.p,{id:"apikey-name",value:x,onChange:e=>p(e.target.value),placeholder:e("apiKeys.namePlaceholder"),onKeyDown:e=>{"Enter"===e.key&&K()}})]}),(0,s.jsxs)(_.Es,{children:[(0,s.jsx)(c.$,{variant:"outline",onClick:()=>R(!1),children:e("common.cancel")}),(0,s.jsx)(c.$,{onClick:K,disabled:h,children:h?e("apiKeys.generating"):e("apiKeys.generate")})]})]})})]})]})}),(0,s.jsx)(m.Wu,{children:i?(0,s.jsx)("p",{className:"py-6 text-center text-sm text-[var(--muted-foreground)]",children:e("common.loading")}):0===t.length?(0,s.jsx)("p",{className:"py-6 text-center text-sm text-[var(--muted-foreground)]",children:e("apiKeys.noKeys")}):(0,s.jsx)("div",{className:"overflow-x-auto",children:(0,s.jsxs)("table",{className:"w-full text-sm",children:[(0,s.jsx)("thead",{children:(0,s.jsxs)("tr",{className:"border-b text-left text-[var(--muted-foreground)]",children:[(0,s.jsx)("th",{className:"pb-2 pr-4 font-medium",children:e("apiKeys.keyName")}),t.some(e=>e.owner_name)&&(0,s.jsx)("th",{className:"pb-2 pr-4 font-medium",children:e("apiKeys.owner")}),(0,s.jsx)("th",{className:"pb-2 pr-4 font-medium",children:e("apiKeys.keyPrefix")}),(0,s.jsx)("th",{className:"pb-2 pr-4 font-medium",children:e("apiKeys.expiresAt")}),(0,s.jsx)("th",{className:"pb-2 pr-4 font-medium",children:e("apiKeys.status")}),(0,s.jsx)("th",{className:"pb-2 font-medium",children:e("apiKeys.action")})]})}),(0,s.jsx)("tbody",{children:t.map(a=>{var r;return(0,s.jsxs)("tr",{className:"border-b last:border-0",children:[(0,s.jsx)("td",{className:"py-3 pr-4 font-medium",children:a.name||e("apiKeys.noName")}),t.some(e=>e.owner_name)&&(0,s.jsx)("td",{className:"py-3 pr-4",children:a.owner_name}),(0,s.jsx)("td",{className:"py-3 pr-4",children:(0,s.jsxs)("code",{className:"rounded bg-[var(--muted)] px-1.5 py-0.5 text-xs",children:[a.prefix,"..."]})}),(0,s.jsx)("td",{className:"py-3 pr-4",children:(r=a.expires_at)?new Date(r).toLocaleDateString("ko-KR"):"-"}),(0,s.jsx)("td",{className:"py-3 pr-4",children:a.is_revoked?(0,s.jsx)(g.E,{variant:"destructive",children:e("apiKeys.revoked")}):(0,s.jsx)(g.E,{variant:"secondary",children:e("apiKeys.activeStatus")})}),(0,s.jsx)("td",{className:"py-3",children:!a.is_revoked&&(0,s.jsxs)(o.Lt,{children:[(0,s.jsx)(o.tv,{asChild:!0,children:(0,s.jsx)(c.$,{variant:"ghost",size:"icon",className:"text-[var(--destructive)] hover:bg-destructive/10",children:(0,s.jsx)(f.A,{className:"h-4 w-4"})})}),(0,s.jsxs)(o.EO,{children:[(0,s.jsxs)(o.wd,{children:[(0,s.jsx)(o.r7,{children:e("apiKeys.revokeConfirm")}),(0,s.jsxs)(o.$v,{children:["“",a.name||a.prefix,"”"," ",e("apiKeys.revokeDesc")]})]}),(0,s.jsxs)(o.ck,{children:[(0,s.jsx)(o.Zr,{children:e("common.cancel")}),(0,s.jsx)(o.Rx,{onClick:()=>E(a.id),children:e("apiKeys.revoke")})]})]})]})})]},a.id)})})]})})})]})}var S=a(7810),z=a(94961),A=a(94514),E=a(82482),K=a(33210),T=a(29991),R=a(1433),$=a(40980);function L({...e}){return(0,s.jsx)(R.bL,{"data-slot":"popover",...e})}function F({...e}){return(0,s.jsx)(R.l9,{"data-slot":"popover-trigger",...e})}function O({className:e,align:t="center",sideOffset:a=6,...r}){return(0,s.jsx)(R.ZL,{children:(0,s.jsx)(R.UC,{"data-slot":"popover-content",align:t,sideOffset:a,className:(0,$.cn)("z-50 w-72 origin-(--radix-popover-content-transform-origin) animate-in rounded-xl border border-[var(--border)] bg-[var(--popover)] p-4 text-[var(--popover-foreground)] shadow-md fade-in-0 zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95",e),...r})})}let V={superuser:"default",admin:"default",editor:"secondary",viewer:"outline"},D={viewer:0,editor:1,admin:2,superuser:3};function P({callerRole:e}){let{t,locale:a}=(0,j.B)(),[i,n]=(0,r.useState)([]),[l,o]=(0,r.useState)([]),[u,x]=(0,r.useState)(!0),[p,h]=(0,r.useState)(!0),[y,N]=(0,r.useState)(!1),[C,R]=(0,r.useState)(""),[$,U]=(0,r.useState)("editor"),[Z,B]=(0,r.useState)(!1),[W,M]=(0,r.useState)(null),q=(0,r.useCallback)(async()=>{x(!0);try{let e=await fetch("/api/users"),t=await e.json();n(t.data??[])}catch{d.oR.error(t("team.loadFailed"))}finally{x(!1)}},[t]),I=(0,r.useCallback)(async()=>{h(!0);try{let e=await fetch("/api/invites"),t=await e.json();o(t.invites??[])}catch{d.oR.error(t("team.invitesLoadFailed"))}finally{h(!1)}},[t]);(0,r.useEffect)(()=>{q(),I()},[I,q]);let X=async()=>{if(!C.trim())return void d.oR.error(t("team.emailRequired"));B(!0);try{let e=await fetch("/api/invites",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({email:C.trim(),role:$,locale:a})}),s=await e.json();if(!e.ok)throw Error(s.error??t("team.inviteCreateFailed"));let r=s.data;M(r),d.oR.success(t("team.inviteCreated")),I()}catch(e){d.oR.error(e instanceof Error?e.message:t("team.inviteCreateFailed"))}finally{B(!1)}},G=async e=>{try{let a=await fetch(`/api/invites/${e}`,{method:"DELETE"});if(!a.ok){let e=await a.json().catch(()=>null);throw Error(e?.error??t("team.inviteCancelFailed"))}d.oR.success(t("team.inviteCancelled")),I()}catch(e){d.oR.error(e instanceof Error?e.message:t("team.inviteCancelFailed"))}},J=e=>{e||(R(""),U("editor"),M(null)),N(e)};return(0,s.jsxs)(m.Zp,{children:[(0,s.jsx)(m.aR,{children:(0,s.jsxs)("div",{className:"flex items-center justify-between gap-4",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)(S.A,{className:"h-5 w-5 text-[var(--muted-foreground)]"}),(0,s.jsxs)("div",{children:[(0,s.jsx)(m.ZB,{children:t("team.title")}),(0,s.jsx)(m.BT,{children:t("team.description")})]})]}),(0,s.jsxs)(_.lG,{open:y,onOpenChange:J,children:[(0,s.jsx)(_.zM,{asChild:!0,children:(0,s.jsxs)(c.$,{size:"sm",children:[(0,s.jsx)(w.A,{className:"h-4 w-4"}),t("team.inviteMember")]})}),(0,s.jsxs)(_.Cf,{className:"overflow-hidden",children:[(0,s.jsxs)(_.c7,{children:[(0,s.jsx)(_.L3,{children:t("team.inviteTitle")}),(0,s.jsx)(_.rr,{children:t("team.inviteDescription")})]}),W?(0,s.jsxs)("div",{className:"space-y-3",children:[W.email_sent?(0,s.jsxs)("p",{className:"flex items-center gap-1.5 text-sm text-kiwi-600",children:[(0,s.jsx)(A.A,{className:"h-4 w-4 shrink-0"}),C,"로 초대 이메일을 발송했습니다."]}):(0,s.jsx)("p",{className:"text-sm text-[var(--muted-foreground)]",children:t("team.shareLinkExpires",{date:new Date(W.expires_at).toLocaleDateString()})}),(0,s.jsxs)("div",{className:"flex w-full overflow-hidden rounded-[var(--radius-sm)] border border-[var(--border)] bg-[var(--muted)]",children:[(0,s.jsx)("input",{readOnly:!0,value:W.url,className:"min-w-0 flex-1 bg-transparent px-3 py-2 text-xs text-[var(--foreground)] outline-none"}),(0,s.jsxs)("button",{type:"button",onClick:()=>{navigator.clipboard.writeText(W.url),d.oR.success(t("team.inviteLinkCopied"))},className:"flex shrink-0 items-center gap-1.5 border-l border-[var(--border)] px-3 py-2 text-xs text-[var(--muted-foreground)] hover:bg-[var(--border)]/30 hover:text-[var(--foreground)]",children:[(0,s.jsx)(k.A,{className:"h-3.5 w-3.5"}),t("team.copyLink")]})]})]}):(0,s.jsxs)("div",{className:"space-y-4",children:[(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsx)("label",{htmlFor:"invite-email",className:"text-sm font-medium",children:t("team.email")}),(0,s.jsx)(v.p,{id:"invite-email",type:"email",value:C,onChange:e=>R(e.target.value),placeholder:t("team.emailPlaceholder")})]}),(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,s.jsx)("label",{className:"text-sm font-medium",children:t("team.role")}),(0,s.jsxs)(L,{children:[(0,s.jsx)(F,{asChild:!0,children:(0,s.jsx)("button",{type:"button",className:"flex h-4 w-4 items-center justify-center rounded-full text-[var(--muted-foreground)] hover:text-[var(--foreground)]",children:(0,s.jsx)(z.A,{className:"h-3.5 w-3.5"})})}),(0,s.jsxs)(O,{align:"start",className:"w-[340px] p-3",children:[(0,s.jsx)("p",{className:"mb-2 text-[11px] font-semibold uppercase tracking-wide text-[var(--muted-foreground)]",children:"역할별 권한"}),(0,s.jsxs)("table",{className:"w-full text-xs",children:[(0,s.jsx)("thead",{children:(0,s.jsxs)("tr",{className:"border-b border-[var(--border)]",children:[(0,s.jsx)("th",{className:"pb-1.5 text-left font-medium text-[var(--muted-foreground)]",children:"기능"}),(0,s.jsx)("th",{className:"pb-1.5 text-center font-medium",children:"열람자"}),(0,s.jsx)("th",{className:"pb-1.5 text-center font-medium",children:"편집자"}),(0,s.jsx)("th",{className:"pb-1.5 text-center font-medium",children:"관리자"})]})}),(0,s.jsx)("tbody",{className:"divide-y divide-[var(--border)]",children:[{label:t("team.permViewWorkflows"),v:!0,e:!0,a:!0},{label:t("team.permExecuteWorkflows"),v:!0,e:!0,a:!0},{label:t("team.permCreateEditWorkflows"),v:!1,e:!0,a:!0},{label:t("team.permDeleteOwnWorkflows"),v:!1,e:!0,a:!0},{label:t("team.permViewCredentials"),v:!0,e:!0,a:!0},{label:t("team.permCreateEditCredentials"),v:!1,e:!0,a:!0},{label:t("team.permViewMembers"),v:!1,e:!1,a:!0},{label:t("team.permManageMembers"),v:!1,e:!1,a:!0},{label:t("team.permManageFolderShares"),v:!1,e:!1,a:!0}].map(({label:e,v:t,e:a,a:r})=>(0,s.jsxs)("tr",{children:[(0,s.jsx)("td",{className:"py-1.5 text-[var(--foreground)]",children:e}),[t,a,r].map((e,t)=>(0,s.jsx)("td",{className:"py-1.5 text-center",children:e?(0,s.jsx)(A.A,{className:"mx-auto h-3 w-3 text-kiwi-600"}):(0,s.jsx)(E.A,{className:"mx-auto h-3 w-3 text-[var(--muted-foreground)]/40"})},t))]},e))})]}),(0,s.jsx)("p",{className:"mt-2 text-[10px] text-[var(--muted-foreground)]",children:"* superuser는 모든 권한을 가집니다."})]})]})]}),(0,s.jsxs)(T.l6,{value:$,onValueChange:U,children:[(0,s.jsx)(T.bq,{className:"w-full",children:(0,s.jsx)(T.yv,{})}),(0,s.jsxs)(T.gC,{children:[(0,s.jsx)(T.eb,{value:"admin",children:t("team.roleAdmin")}),(0,s.jsx)(T.eb,{value:"editor",children:t("team.roleEditor")}),(0,s.jsx)(T.eb,{value:"viewer",children:t("team.roleViewer")})]})]})]})]}),(0,s.jsxs)(_.Es,{children:[(0,s.jsx)(c.$,{variant:"outline",onClick:()=>J(!1),children:t("common.cancel")}),W?null:(0,s.jsx)(c.$,{onClick:X,disabled:Z,children:Z?t("team.creating"):t("team.createInvite")})]})]})]})]})}),(0,s.jsx)(m.Wu,{children:(0,s.jsxs)("div",{className:"space-y-8",children:[(0,s.jsxs)("section",{className:"space-y-4",children:[(0,s.jsx)("div",{children:(0,s.jsx)("h3",{className:"text-sm font-semibold text-[var(--foreground)]",children:t("team.members")})}),u?(0,s.jsx)("p",{className:"py-6 text-center text-sm text-[var(--muted-foreground)]",children:t("common.loading")}):0===i.length?(0,s.jsx)("p",{className:"py-6 text-center text-sm text-[var(--muted-foreground)]",children:t("team.noMembers")}):(0,s.jsx)("div",{className:"grid gap-3 sm:grid-cols-2",children:i.map(a=>(0,s.jsxs)("div",{className:"flex items-center gap-3 rounded-lg border p-3",children:[(0,s.jsx)("div",{className:"flex h-10 w-10 shrink-0 items-center justify-center rounded-full bg-brand-blue-100 text-sm font-medium text-brand-blue-700",children:a.username.charAt(0).toUpperCase()}),(0,s.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,s.jsx)("p",{className:"truncate text-sm font-medium",children:a.username}),(0,s.jsx)("p",{className:"truncate text-xs text-[var(--muted-foreground)]",children:a.email??"-"})]}),(0,s.jsx)(g.E,{variant:V[a.role]??"outline",children:"admin"===a.role?t("team.roleAdmin"):"editor"===a.role?t("team.roleEditor"):"viewer"===a.role?t("team.roleViewer"):a.role}),(D[e]??0)>(D[a.role]??0)&&(0,s.jsx)(b,{target:{id:a.id,username:a.username,role:a.role},isSelf:!1,trigger:(0,s.jsx)(c.$,{variant:"ghost",size:"icon",className:"h-8 w-8 shrink-0 text-[var(--destructive)] hover:bg-destructive/10",children:(0,s.jsx)(f.A,{className:"h-4 w-4"})}),onSuccess:q})]},a.id))})]}),(0,s.jsxs)("section",{className:"space-y-4",children:[(0,s.jsx)("div",{children:(0,s.jsx)("h3",{className:"text-sm font-semibold text-[var(--foreground)]",children:t("team.invites")})}),p?(0,s.jsx)("p",{className:"py-6 text-center text-sm text-[var(--muted-foreground)]",children:t("common.loading")}):0===l.length?(0,s.jsx)("p",{className:"py-6 text-center text-sm text-[var(--muted-foreground)]",children:t("team.noInvites")}):(0,s.jsx)("div",{className:"space-y-3",children:l.map(e=>(0,s.jsxs)("div",{className:"flex flex-col gap-3 rounded-lg border p-4 sm:flex-row sm:items-center",children:[(0,s.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,s.jsx)("p",{className:"truncate text-sm font-medium",children:e.email}),(0,s.jsx)("p",{className:"text-xs text-[var(--muted-foreground)]",children:e.accepted_at?t("team.inviteAccepted",{date:new Date(e.accepted_at).toLocaleString()}):t("team.invitePending",{date:new Date(e.expires_at).toLocaleString()})})]}),(0,s.jsx)(g.E,{variant:V[e.role]??"outline",children:"admin"===e.role?t("team.roleAdmin"):"editor"===e.role?t("team.roleEditor"):"viewer"===e.role?t("team.roleViewer"):e.role}),e.accepted_at?null:(0,s.jsxs)("div",{className:"flex gap-2",children:[(0,s.jsxs)(c.$,{variant:"outline",size:"sm",onClick:()=>navigator.clipboard.writeText(`${window.location.origin}/invite/${e.token}`),children:[(0,s.jsx)(k.A,{className:"h-4 w-4"}),t("team.copyInviteLink")]}),(0,s.jsxs)(c.$,{variant:"outline",size:"sm",onClick:()=>G(e.id),children:[(0,s.jsx)(K.A,{className:"h-4 w-4"}),t("common.cancel")]})]})]},e.id))})]})]})})]})}var U=a(59726),Z=a(92289);let B={provider:"none",from_email:"",from_name:"",smtp_host:"",smtp_port:"587",smtp_secure:!1,smtp_user:"",smtp_pass:"",resend_api_key:""},W={smtp_host:"smtp.gmail.com",smtp_port:"587",smtp_secure:!1};function M(){let[e,t]=(0,r.useState)(B),[a,i]=(0,r.useState)(!0),[n,l]=(0,r.useState)(!1);function o(e){t(t=>({...t,...e}))}async function u(t){t.preventDefault(),l(!0);try{if(!(await fetch("/api/settings/email",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({...e,smtp_port:Number(e.smtp_port)})})).ok)throw Error();d.oR.success("이메일 설정이 저장되었습니다.")}catch{d.oR.error("저장에 실패했습니다.")}finally{l(!1)}}return(0,r.useEffect)(()=>{(async()=>{try{let e=await fetch("/api/settings/email");if(!e.ok)return;let a=await e.json();t({provider:a.provider??"none",from_email:a.from_email??"",from_name:a.from_name??"",smtp_host:a.smtp_host??"",smtp_port:String(a.smtp_port??"587"),smtp_secure:a.smtp_secure??!1,smtp_user:a.smtp_user??"",smtp_pass:a.smtp_pass??"",resend_api_key:a.resend_api_key??""})}finally{i(!1)}})()},[]),a?(0,s.jsx)(m.Zp,{children:(0,s.jsx)(m.Wu,{className:"py-10 text-center text-sm text-[var(--muted-foreground)]",children:"불러오는 중..."})}):(0,s.jsx)("form",{onSubmit:u,children:(0,s.jsxs)(m.Zp,{children:[(0,s.jsxs)(m.aR,{children:[(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)(Z.A,{className:"h-5 w-5 text-[var(--muted-foreground)]"}),(0,s.jsx)(m.ZB,{children:"이메일 설정"})]}),(0,s.jsx)(m.BT,{children:"초대 메일 발송에 사용할 이메일 공급자를 설정합니다."})]}),(0,s.jsxs)(m.Wu,{className:"space-y-5",children:[(0,s.jsxs)("div",{className:"space-y-1.5",children:[(0,s.jsx)("label",{className:"text-sm font-medium text-[var(--foreground)]",children:"공급자"}),(0,s.jsxs)(T.l6,{value:e.provider,onValueChange:e=>o({provider:e}),children:[(0,s.jsx)(T.bq,{children:(0,s.jsx)(T.yv,{})}),(0,s.jsxs)(T.gC,{children:[(0,s.jsx)(T.eb,{value:"none",children:"사용 안 함"}),(0,s.jsx)(T.eb,{value:"smtp",children:"SMTP (Gmail, Naver 등)"}),(0,s.jsx)(T.eb,{value:"resend",children:"Resend API"})]})]})]}),"none"!==e.provider&&(0,s.jsxs)("div",{className:"grid grid-cols-2 gap-3",children:[(0,s.jsxs)("div",{className:"space-y-1.5",children:[(0,s.jsx)("label",{className:"text-sm font-medium text-[var(--foreground)]",children:"발신자 이름"}),(0,s.jsx)(v.p,{placeholder:"BlueKiwi",value:e.from_name,onChange:e=>o({from_name:e.target.value})})]}),(0,s.jsxs)("div",{className:"space-y-1.5",children:[(0,s.jsx)("label",{className:"text-sm font-medium text-[var(--foreground)]",children:"발신자 이메일"}),(0,s.jsx)(v.p,{type:"email",placeholder:"noreply@example.com",value:e.from_email,onChange:e=>o({from_email:e.target.value}),required:!0})]})]}),"smtp"===e.provider&&(0,s.jsxs)("div",{className:"space-y-4 rounded-xl border border-[var(--border)] p-4",children:[(0,s.jsxs)("div",{className:"flex items-center justify-between",children:[(0,s.jsx)("p",{className:"text-sm font-medium",children:"SMTP 서버 설정"}),(0,s.jsx)(c.$,{type:"button",variant:"outline",size:"sm",onClick:function(){o(W)},children:"Gmail 기본값 적용"})]}),(0,s.jsxs)("div",{className:"grid grid-cols-3 gap-3",children:[(0,s.jsxs)("div",{className:"col-span-2 space-y-1.5",children:[(0,s.jsx)("label",{className:"text-sm font-medium text-[var(--foreground)]",children:"SMTP 호스트"}),(0,s.jsx)(v.p,{placeholder:"smtp.gmail.com",value:e.smtp_host,onChange:e=>o({smtp_host:e.target.value}),required:!0})]}),(0,s.jsxs)("div",{className:"space-y-1.5",children:[(0,s.jsx)("label",{className:"text-sm font-medium text-[var(--foreground)]",children:"포트"}),(0,s.jsx)(v.p,{type:"number",placeholder:"587",value:e.smtp_port,onChange:e=>o({smtp_port:e.target.value}),required:!0})]})]}),(0,s.jsxs)("div",{className:"space-y-1.5",children:[(0,s.jsx)("label",{className:"text-sm font-medium text-[var(--foreground)]",children:"암호화 방식"}),(0,s.jsxs)(T.l6,{value:e.smtp_secure?"tls":"starttls",onValueChange:e=>o({smtp_secure:"tls"===e}),children:[(0,s.jsx)(T.bq,{children:(0,s.jsx)(T.yv,{})}),(0,s.jsxs)(T.gC,{children:[(0,s.jsx)(T.eb,{value:"starttls",children:"STARTTLS (포트 587)"}),(0,s.jsx)(T.eb,{value:"tls",children:"TLS (포트 465)"})]})]})]}),(0,s.jsxs)("div",{className:"grid grid-cols-2 gap-3",children:[(0,s.jsxs)("div",{className:"space-y-1.5",children:[(0,s.jsx)("label",{className:"text-sm font-medium text-[var(--foreground)]",children:"계정 (이메일)"}),(0,s.jsx)(v.p,{type:"email",placeholder:"you@gmail.com",value:e.smtp_user,onChange:e=>o({smtp_user:e.target.value}),required:!0})]}),(0,s.jsxs)("div",{className:"space-y-1.5",children:[(0,s.jsxs)("label",{className:"text-sm font-medium text-[var(--foreground)]",children:["앱 비밀번호"," ",(0,s.jsx)("span",{className:"text-xs text-[var(--muted-foreground)]",children:"(Gmail은 앱 비밀번호 사용)"})]}),(0,s.jsx)(v.p,{type:"password",placeholder:"앱 비밀번호 입력",value:e.smtp_pass,onChange:e=>o({smtp_pass:e.target.value})})]})]}),(0,s.jsxs)("p",{className:"text-xs text-[var(--muted-foreground)]",children:["Gmail은 ",(0,s.jsx)("strong",{children:"2단계 인증 → 앱 비밀번호 생성"})," 후 사용하세요. 일반 비밀번호는 동작하지 않습니다."]})]}),"resend"===e.provider&&(0,s.jsxs)("div",{className:"space-y-3 rounded-xl border border-[var(--border)] p-4",children:[(0,s.jsx)("p",{className:"text-sm font-medium",children:"Resend API 설정"}),(0,s.jsxs)("div",{className:"space-y-1.5",children:[(0,s.jsx)("label",{className:"text-sm font-medium text-[var(--foreground)]",children:"API Key"}),(0,s.jsx)(v.p,{type:"password",placeholder:"re_...",value:e.resend_api_key,onChange:e=>o({resend_api_key:e.target.value}),required:!0})]})]}),(0,s.jsx)("div",{className:"flex justify-end pt-2",children:(0,s.jsx)(c.$,{type:"submit",disabled:n,children:n?"저장 중...":"저장"})})]})]})})}function q(){let{t:e}=(0,j.B)(),[t,a]=(0,r.useState)(null),[x,p]=(0,r.useState)(!0),[h,f]=(0,r.useState)(!1),[v,g]=(0,r.useState)(!1),[b,N]=(0,r.useState)(!1),[w,k]=(0,r.useState)(null);(0,r.useEffect)(()=>{(async()=>{try{let e=await fetch("/api/auth/me");if(!e.ok)throw Error();let t=await e.json();a(t.user??null)}catch{a(null)}finally{p(!1)}})()},[]);let _=t?.role==="admin"||t?.role==="superuser",S=t?.role==="superuser";async function z(){g(!0),k(null);try{let e=await fetch("/api/settings/cleanup-visual-html");if(!e.ok)throw Error();let t=await e.json();k(t.affected??0),f(!0)}catch{d.oR.error("Failed to load VS render cache count.")}finally{g(!1)}}async function A(){N(!0);try{let e=await fetch("/api/settings/cleanup-visual-html",{method:"POST"});if(!e.ok)throw Error();let t=(await e.json()).cleared??0;f(!1),k(t),d.oR.success(`Cleared ${t} VS render cache entr${1===t?"y":"ies"}.`)}catch{d.oR.error("Failed to clear VS render cache.")}finally{N(!1)}}return x?(0,s.jsx)("main",{className:"mx-auto max-w-3xl px-4 py-6",children:(0,s.jsx)("p",{className:"text-center text-sm text-[var(--muted-foreground)]",children:e("common.loading")})}):t?(0,s.jsxs)("main",{className:"mx-auto max-w-3xl px-4 py-6",children:[(0,s.jsxs)("div",{className:"mb-6 flex items-center gap-2",children:[(0,s.jsx)(i.A,{className:"h-5 w-5 text-[var(--muted-foreground)]"}),(0,s.jsx)("h1",{className:"text-2xl font-bold tracking-tight",children:e("settings.title")})]}),(0,s.jsxs)(u.tU,{defaultValue:"profile",children:[(0,s.jsxs)(u.j7,{children:[(0,s.jsx)(u.Xi,{value:"profile",children:e("settings.profile")}),(0,s.jsx)(u.Xi,{value:"apikeys",children:e("settings.apiKeys")}),_&&(0,s.jsx)(u.Xi,{value:"team",children:e("settings.teamManagement")}),_&&(0,s.jsx)(u.Xi,{value:"groups",children:e("groups.tabLabel")}),(0,s.jsx)(u.Xi,{value:"notifications",children:e("settings.notifications")}),S&&(0,s.jsx)(u.Xi,{value:"email",children:"Email"}),S&&(0,s.jsx)(u.Xi,{value:"storage",children:"Storage"})]}),(0,s.jsxs)("div",{className:"mt-4",children:[(0,s.jsx)(u.av,{value:"profile",children:(0,s.jsx)(y,{user:t})}),(0,s.jsx)(u.av,{value:"apikeys",children:(0,s.jsx)(C,{})}),_&&(0,s.jsx)(u.av,{value:"team",children:(0,s.jsx)(P,{callerRole:t.role})}),_&&(0,s.jsx)(u.av,{value:"groups",children:(0,s.jsx)(U.u,{})}),(0,s.jsx)(u.av,{value:"notifications",children:(0,s.jsxs)(m.Zp,{children:[(0,s.jsxs)(m.aR,{children:[(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)(n.A,{className:"h-5 w-5 text-[var(--muted-foreground)]"}),(0,s.jsx)(m.ZB,{children:e("settings.notificationsTitle")})]}),(0,s.jsx)(m.BT,{children:e("settings.notificationsPlaceholder")})]}),(0,s.jsx)(m.Wu,{children:(0,s.jsx)("p",{className:"text-sm text-[var(--muted-foreground)]",children:e("settings.notificationsBody")})})]})}),S&&(0,s.jsx)(u.av,{value:"email",children:(0,s.jsx)(M,{})}),S&&(0,s.jsx)(u.av,{value:"storage",children:(0,s.jsxs)(m.Zp,{children:[(0,s.jsxs)(m.aR,{children:[(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)(l.A,{className:"h-5 w-5 text-[var(--muted-foreground)]"}),(0,s.jsx)(m.ZB,{children:"Storage"})]}),(0,s.jsx)(m.BT,{children:"Manage VS render cache for completed and failed tasks."})]}),(0,s.jsx)(m.Wu,{className:"space-y-4",children:(0,s.jsxs)("div",{className:"flex items-center justify-between gap-4 rounded-xl border border-[var(--border)] p-4",children:[(0,s.jsxs)("div",{className:"space-y-1",children:[(0,s.jsx)("p",{className:"text-sm font-medium",children:"VS Render Cache"}),(0,s.jsx)("p",{className:"text-xs text-[var(--muted-foreground)]",children:"Clears stored `visual_html` for completed/failed tasks while preserving `web_response`."})]}),(0,s.jsx)(c.$,{variant:"outline",size:"sm",onClick:z,disabled:v||b,children:v?"Checking...":"Clear VS render cache"})]})})]})})]})]}),(0,s.jsx)(o.Lt,{open:h,onOpenChange:e=>{b||f(e)},children:(0,s.jsxs)(o.EO,{children:[(0,s.jsxs)(o.wd,{children:[(0,s.jsx)(o.r7,{children:"Clear VS render cache?"}),(0,s.jsx)(o.$v,{children:null===w?"Loading affected entry count...":`${w} cached VS render entr${1===w?"y is":"ies are"} stored on completed/failed tasks. This clears visual_html only and preserves web_response data.`})]}),(0,s.jsxs)(o.ck,{children:[(0,s.jsx)(o.Zr,{disabled:b,children:e("common.cancel")}),(0,s.jsx)(c.$,{variant:"destructive",onClick:A,disabled:b||null===w,children:b?"Clearing...":"Clear cache"})]})]})})]}):(0,s.jsx)("main",{className:"mx-auto max-w-3xl px-4 py-6",children:(0,s.jsx)("p",{className:"text-center text-sm text-[var(--muted-foreground)]",children:e("settings.userLoadFailed")})})}}},e=>{e.O(0,[8409,7262,6095,7659,6073,3199,2360,9726,8441,3794,7358],()=>e(e.s=1872)),_N_E=e.O()}]);
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[109],{1872:(e,t,a)=>{Promise.resolve().then(a.bind(a,92110))},13276:(e,t,a)=>{"use strict";a.d(t,{$v:()=>h,EO:()=>m,Lt:()=>l,Rx:()=>f,Zr:()=>v,ck:()=>x,r7:()=>p,tv:()=>d,wd:()=>u});var s=a(95155);a(12115);var r=a(86835),i=a(40980),n=a(89239);function l({...e}){return(0,s.jsx)(r.bL,{"data-slot":"alert-dialog",...e})}function d({...e}){return(0,s.jsx)(r.l9,{"data-slot":"alert-dialog-trigger",...e})}function o({...e}){return(0,s.jsx)(r.ZL,{"data-slot":"alert-dialog-portal",...e})}function c({className:e,...t}){return(0,s.jsx)(r.hJ,{"data-slot":"alert-dialog-overlay",className:(0,i.cn)("fixed inset-0 z-50 bg-black/50 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:animate-in data-[state=open]:fade-in-0",e),...t})}function m({className:e,size:t="default",...a}){return(0,s.jsxs)(o,{children:[(0,s.jsx)(c,{}),(0,s.jsx)(r.UC,{"data-slot":"alert-dialog-content","data-size":t,className:(0,i.cn)("group/alert-dialog-content fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-[1.5rem] border border-border bg-card p-6 shadow-[var(--shadow-soft)] duration-200 data-[size=sm]:max-w-xs data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 data-[size=default]:sm:max-w-[28rem]",e),...a})]})}function u({className:e,...t}){return(0,s.jsx)("div",{"data-slot":"alert-dialog-header",className:(0,i.cn)("grid grid-rows-[auto_1fr] place-items-center gap-1.5 text-center has-data-[slot=alert-dialog-media]:grid-rows-[auto_auto_1fr] has-data-[slot=alert-dialog-media]:gap-x-6 sm:group-data-[size=default]/alert-dialog-content:place-items-start sm:group-data-[size=default]/alert-dialog-content:text-left sm:group-data-[size=default]/alert-dialog-content:has-data-[slot=alert-dialog-media]:grid-rows-[auto_1fr]",e),...t})}function x({className:e,...t}){return(0,s.jsx)("div",{"data-slot":"alert-dialog-footer",className:(0,i.cn)("flex flex-col-reverse gap-2 group-data-[size=sm]/alert-dialog-content:grid group-data-[size=sm]/alert-dialog-content:grid-cols-2 sm:flex-row sm:justify-end",e),...t})}function p({className:e,...t}){return(0,s.jsx)(r.hE,{"data-slot":"alert-dialog-title",className:(0,i.cn)("text-lg font-semibold sm:group-data-[size=default]/alert-dialog-content:group-has-data-[slot=alert-dialog-media]/alert-dialog-content:col-start-2",e),...t})}function h({className:e,...t}){return(0,s.jsx)(r.VY,{"data-slot":"alert-dialog-description",className:(0,i.cn)("text-sm text-muted-foreground",e),...t})}function f({className:e,variant:t="default",size:a="default",...l}){return(0,s.jsx)(n.$,{variant:t,size:a,asChild:!0,children:(0,s.jsx)(r.rc,{"data-slot":"alert-dialog-action",className:(0,i.cn)(e),...l})})}function v({className:e,variant:t="outline",size:a="default",...l}){return(0,s.jsx)(n.$,{variant:t,size:a,asChild:!0,children:(0,s.jsx)(r.ZD,{"data-slot":"alert-dialog-cancel",className:(0,i.cn)(e),...l})})}},29991:(e,t,a)=>{"use strict";a.d(t,{bq:()=>m,eb:()=>x,gC:()=>u,l6:()=>o,yv:()=>c});var s=a(95155);a(12115);var r=a(66088),i=a(94514),n=a(9921),l=a(89064),d=a(40980);function o({...e}){return(0,s.jsx)(l.bL,{"data-slot":"select",...e})}function c({...e}){return(0,s.jsx)(l.WT,{"data-slot":"select-value",...e})}function m({className:e,size:t="default",children:a,...i}){return(0,s.jsxs)(l.l9,{"data-slot":"select-trigger","data-size":t,className:(0,d.cn)("flex w-fit items-center justify-between gap-2 rounded-2xl border border-input bg-transparent px-4 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 data-[placeholder]:text-muted-foreground data-[size=default]:h-11 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 dark:bg-input/30 dark:hover:bg-input/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground",e),...i,children:[a,(0,s.jsx)(l.In,{asChild:!0,children:(0,s.jsx)(r.A,{className:"size-4 opacity-50"})})]})}function u({className:e,children:t,position:a="item-aligned",align:r="center",...i}){return(0,s.jsx)(l.ZL,{children:(0,s.jsxs)(l.UC,{"data-slot":"select-content",className:(0,d.cn)("relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-[1.125rem] border border-border bg-popover text-popover-foreground shadow-card data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95","popper"===a&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",e),position:a,align:r,...i,children:[(0,s.jsx)(p,{}),(0,s.jsx)(l.LM,{className:(0,d.cn)("p-1","popper"===a&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1"),children:t}),(0,s.jsx)(h,{})]})})}function x({className:e,children:t,...a}){return(0,s.jsxs)(l.q7,{"data-slot":"select-item",className:(0,d.cn)("relative flex w-full cursor-default items-center gap-2 rounded-xl py-2 pr-8 pl-2 text-sm outline-hidden select-none focus:bg-brand-blue-100 focus:text-brand-blue-700 data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2",e),...a,children:[(0,s.jsx)("span",{"data-slot":"select-item-indicator",className:"absolute right-2 flex size-3.5 items-center justify-center",children:(0,s.jsx)(l.VF,{children:(0,s.jsx)(i.A,{className:"size-4"})})}),(0,s.jsx)(l.p4,{children:t})]})}function p({className:e,...t}){return(0,s.jsx)(l.PP,{"data-slot":"select-scroll-up-button",className:(0,d.cn)("flex cursor-default items-center justify-center py-1",e),...t,children:(0,s.jsx)(n.A,{className:"size-4"})})}function h({className:e,...t}){return(0,s.jsx)(l.wn,{"data-slot":"select-scroll-down-button",className:(0,d.cn)("flex cursor-default items-center justify-center py-1",e),...t,children:(0,s.jsx)(r.A,{className:"size-4"})})}},42763:(e,t,a)=>{"use strict";a.d(t,{Cf:()=>x,Es:()=>h,HM:()=>m,L3:()=>f,c7:()=>p,lG:()=>d,rr:()=>v,zM:()=>o});var s=a(95155);a(12115);var r=a(33210),i=a(19324),n=a(40980),l=a(89239);function d({...e}){return(0,s.jsx)(i.bL,{"data-slot":"dialog",...e})}function o({...e}){return(0,s.jsx)(i.l9,{"data-slot":"dialog-trigger",...e})}function c({...e}){return(0,s.jsx)(i.ZL,{"data-slot":"dialog-portal",...e})}function m({...e}){return(0,s.jsx)(i.bm,{"data-slot":"dialog-close",...e})}function u({className:e,...t}){return(0,s.jsx)(i.hJ,{"data-slot":"dialog-overlay",className:(0,n.cn)("fixed inset-0 z-50 bg-black/50 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:animate-in data-[state=open]:fade-in-0",e),...t})}function x({className:e,children:t,showCloseButton:a=!0,...l}){return(0,s.jsxs)(c,{"data-slot":"dialog-portal",children:[(0,s.jsx)(u,{}),(0,s.jsxs)(i.UC,{"data-slot":"dialog-content",className:(0,n.cn)("fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 overflow-hidden rounded-[1.5rem] border border-border bg-card p-6 shadow-[var(--shadow-soft)] duration-200 outline-none data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 sm:max-w-[28rem]",e),...l,children:[t,a&&(0,s.jsxs)(i.bm,{"data-slot":"dialog-close",className:"absolute top-4 right-4 rounded-xs opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:ring-2 focus:ring-ring focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",children:[(0,s.jsx)(r.A,{}),(0,s.jsx)("span",{className:"sr-only",children:"Close"})]})]})]})}function p({className:e,...t}){return(0,s.jsx)("div",{"data-slot":"dialog-header",className:(0,n.cn)("flex flex-col gap-2 text-center sm:text-left",e),...t})}function h({className:e,showCloseButton:t=!1,children:a,...r}){return(0,s.jsxs)("div",{"data-slot":"dialog-footer",className:(0,n.cn)("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",e),...r,children:[a,t&&(0,s.jsx)(i.bm,{asChild:!0,children:(0,s.jsx)(l.$,{variant:"outline",children:"Close"})})]})}function f({className:e,...t}){return(0,s.jsx)(i.hE,{"data-slot":"dialog-title",className:(0,n.cn)("text-lg leading-none font-semibold",e),...t})}function v({className:e,...t}){return(0,s.jsx)(i.VY,{"data-slot":"dialog-description",className:(0,n.cn)("text-sm text-muted-foreground",e),...t})}},45160:(e,t,a)=>{"use strict";a.d(t,{E:()=>d});var s=a(95155);a(12115);var r=a(18460),i=a(42442),n=a(40980);let l=(0,r.F)("inline-flex w-fit shrink-0 items-center justify-center gap-1 overflow-hidden rounded-full border border-transparent px-3 py-1 text-xs font-semibold tracking-[0.01em] whitespace-nowrap transition-[color,box-shadow] focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&>svg]:pointer-events-none [&>svg]:size-3",{variants:{variant:{default:"border-brand-blue-600/20 bg-brand-blue-100 text-brand-blue-700",accent:"border-brand-kiwi-600/30 bg-brand-kiwi-100 text-brand-kiwi-700",neutral:"border-border bg-brand-surface-soft text-brand-ink-700",success:"border-success/20 bg-success/10 text-success",warning:"border-warning/20 bg-warning/10 text-warning",danger:"border-danger/20 bg-danger/10 text-danger",secondary:"border-transparent bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90",destructive:"border-transparent bg-destructive text-white focus-visible:ring-destructive/20 dark:bg-destructive/60 dark:focus-visible:ring-destructive/40 [a&]:hover:bg-destructive/90",outline:"border-border text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground",ghost:"border-transparent [a&]:hover:bg-accent [a&]:hover:text-accent-foreground",link:"border-transparent text-primary underline-offset-4 [a&]:hover:underline"}},defaultVariants:{variant:"default"}});function d({className:e,variant:t,asChild:a=!1,...r}){let o=a?i.bL:"span";return(0,s.jsx)(o,{"data-slot":"badge","data-variant":t,className:(0,n.cn)(l({variant:t}),e),...r})}},47687:(e,t,a)=>{"use strict";a.d(t,{Xi:()=>c,av:()=>m,j7:()=>o,tU:()=>l});var s=a(95155);a(12115);var r=a(18460),i=a(61584),n=a(40980);function l({className:e,orientation:t="horizontal",...a}){return(0,s.jsx)(i.bL,{"data-slot":"tabs","data-orientation":t,orientation:t,className:(0,n.cn)("group/tabs flex gap-2 data-[orientation=horizontal]:flex-col",e),...a})}let d=(0,r.F)("group/tabs-list inline-flex w-fit items-center justify-center rounded-2xl p-1 text-muted-foreground group-data-[orientation=horizontal]/tabs:h-9 group-data-[orientation=vertical]/tabs:h-fit group-data-[orientation=vertical]/tabs:flex-col data-[variant=line]:rounded-none",{variants:{variant:{default:"bg-brand-surface-strong",line:"gap-1 bg-transparent"}},defaultVariants:{variant:"default"}});function o({className:e,variant:t="default",...a}){return(0,s.jsx)(i.B8,{"data-slot":"tabs-list","data-variant":t,className:(0,n.cn)(d({variant:t}),e),...a})}function c({className:e,...t}){return(0,s.jsx)(i.l9,{"data-slot":"tabs-trigger",className:(0,n.cn)("relative inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center gap-1.5 rounded-xl border border-transparent px-3 py-1.5 text-sm font-medium whitespace-nowrap text-brand-ink-700 transition-all group-data-[orientation=vertical]/tabs:w-full group-data-[orientation=vertical]/tabs:justify-start hover:text-foreground focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-1 focus-visible:outline-ring disabled:pointer-events-none disabled:opacity-50 group-data-[variant=default]/tabs-list:data-[state=active]:shadow-card group-data-[variant=line]/tabs-list:data-[state=active]:shadow-none dark:text-muted-foreground dark:hover:text-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4","group-data-[variant=line]/tabs-list:bg-transparent group-data-[variant=line]/tabs-list:data-[state=active]:bg-transparent dark:group-data-[variant=line]/tabs-list:data-[state=active]:border-transparent dark:group-data-[variant=line]/tabs-list:data-[state=active]:bg-transparent","data-[state=active]:bg-card data-[state=active]:text-brand-blue-700 dark:data-[state=active]:border-input dark:data-[state=active]:bg-input/30 dark:data-[state=active]:text-foreground","after:absolute after:bg-foreground after:opacity-0 after:transition-opacity group-data-[orientation=horizontal]/tabs:after:inset-x-0 group-data-[orientation=horizontal]/tabs:after:bottom-[-5px] group-data-[orientation=horizontal]/tabs:after:h-0.5 group-data-[orientation=vertical]/tabs:after:inset-y-0 group-data-[orientation=vertical]/tabs:after:-right-1 group-data-[orientation=vertical]/tabs:after:w-0.5 group-data-[variant=line]/tabs-list:data-[state=active]:after:opacity-100",e),...t})}function m({className:e,...t}){return(0,s.jsx)(i.UC,{"data-slot":"tabs-content",className:(0,n.cn)("flex-1 outline-none",e),...t})}},60529:(e,t,a)=>{"use strict";a.d(t,{p:()=>i});var s=a(95155);a(12115);var r=a(40980);function i({className:e,type:t,...a}){return(0,s.jsx)("input",{type:t,"data-slot":"input",className:(0,r.cn)("h-11 w-full min-w-0 rounded-2xl border border-input bg-background px-4 py-2 text-[0.95rem] text-foreground shadow-none transition-colors outline-none selection:bg-primary selection:text-primary-foreground file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-ink-500 disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50","focus-visible:border-brand-blue-500 focus-visible:ring-[4px] focus-visible:ring-ring/35","aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40",e),...a})}},92110:(e,t,a)=>{"use strict";a.r(t),a.d(t,{default:()=>q});var s=a(95155),r=a(12115),i=a(89363),n=a(61767),l=a(9114),d=a(66609),o=a(13276),c=a(89239),m=a(81477),u=a(47687),x=a(73321),p=a(42869),h=a(55243),f=a(68459),v=a(60529),g=a(45160),j=a(42360);function b({target:e,isSelf:t,trigger:a,onSuccess:i}){let{t:n}=(0,j.B)(),[l,m]=(0,r.useState)(!1),[u,x]=(0,r.useState)("transfer"),[p,h]=(0,r.useState)(""),[f,g]=(0,r.useState)(""),[y,N]=(0,r.useState)([]),[w,k]=(0,r.useState)(!1),_=(0,r.useCallback)(async()=>{try{let t=await fetch("/api/users"),a=(await t.json()).data??[];N(a.filter(t=>t.id!==e.id))}catch{}},[e.id]);(0,r.useEffect)(()=>{l&&(_(),x("transfer"),h(""),g(""))},[l,_]);let C=async()=>{if(("transfer"!==u||p)&&(!t||f)){k(!0);try{let a={mode:u};"transfer"===u&&(a.transfer_to=p),t&&(a.password=f);let s=await fetch(`/api/users/${e.id}`,{method:"DELETE",headers:{"Content-Type":"application/json"},body:JSON.stringify(a)});if(!s.ok){let e=await s.json(),a=e.error?.message??n(t?"deleteAccount.failed":"team.deleteUserFailed");d.oR.error(a);return}d.oR.success(n(t?"deleteAccount.success":"team.deleteUserSuccess")),m(!1),i()}catch{d.oR.error(n(t?"deleteAccount.failed":"team.deleteUserFailed"))}finally{k(!1)}}},S=("delete_all"===u||"transfer"===u&&p)&&(!t||f);return(0,s.jsxs)(o.Lt,{open:l,onOpenChange:m,children:[(0,s.jsx)(o.tv,{asChild:!0,children:a}),(0,s.jsxs)(o.EO,{children:[(0,s.jsxs)(o.wd,{children:[(0,s.jsx)(o.r7,{children:n(t?"deleteAccount.dialogTitle":"team.deleteUserTitle")}),(0,s.jsxs)(o.$v,{children:[t?n("deleteAccount.dialogDesc"):n("team.deleteUserDesc"),!t&&(0,s.jsx)("span",{className:"mt-1 block font-medium text-[var(--foreground)]",children:e.username})]})]}),(0,s.jsxs)("div",{className:"space-y-4 py-2",children:[(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsx)("label",{className:"text-sm font-medium",children:n(t?"deleteAccount.mode":"team.deleteUserMode")}),(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsxs)("label",{className:"flex cursor-pointer items-center gap-2 text-sm",children:[(0,s.jsx)("input",{type:"radio",name:"delete-mode",checked:"transfer"===u,onChange:()=>x("transfer"),className:"accent-[var(--primary)]"}),n(t?"deleteAccount.transfer":"team.deleteUserTransfer")]}),(0,s.jsxs)("label",{className:"flex cursor-pointer items-center gap-2 text-sm",children:[(0,s.jsx)("input",{type:"radio",name:"delete-mode",checked:"delete_all"===u,onChange:()=>x("delete_all"),className:"accent-[var(--primary)]"}),n(t?"deleteAccount.deleteAll":"team.deleteUserDeleteAll")]})]})]}),"transfer"===u&&(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsx)("label",{className:"text-sm font-medium",children:n(t?"deleteAccount.transferTo":"team.deleteUserTransferTo")}),(0,s.jsxs)("select",{className:"w-full rounded-md border border-[var(--border)] bg-[var(--background)] px-3 py-2 text-sm",value:p,onChange:e=>h(e.target.value?Number(e.target.value):""),children:[(0,s.jsx)("option",{value:"",children:n(t?"deleteAccount.selectTarget":"team.deleteUserSelectTarget")}),y.map(e=>(0,s.jsx)("option",{value:e.id,children:e.username},e.id))]}),(0,s.jsx)("p",{className:"text-xs text-[var(--muted-foreground)]",children:n(t?"deleteAccount.transferWarning":"team.deleteUserTransferWarning")})]}),"delete_all"===u&&(0,s.jsx)("p",{className:"rounded-md border border-[var(--destructive)] bg-destructive/10 p-3 text-xs text-[var(--destructive)]",children:n(t?"deleteAccount.deleteAllWarning":"team.deleteUserDeleteAllWarning")}),t&&(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsx)("label",{className:"text-sm font-medium",children:n("deleteAccount.password")}),(0,s.jsx)(v.p,{type:"password",placeholder:n("deleteAccount.passwordPlaceholder"),value:f,onChange:e=>g(e.target.value),onKeyDown:e=>{"Enter"===e.key&&S&&C()}})]})]}),(0,s.jsxs)(o.ck,{children:[(0,s.jsx)(o.Zr,{children:n("common.cancel")}),(0,s.jsx)(c.$,{variant:"destructive",onClick:C,disabled:!S||w,children:w?n("common.loading"):n(t?"deleteAccount.confirm":"team.deleteUser")})]})]})]})}function y({user:e}){let{t}=(0,j.B)(),a=(0,x.useRouter)(),[i,n]=(0,r.useState)(e.username),[l,o]=(0,r.useState)(!1),u=i.trim()!==e.username,N=async()=>{let a=i.trim();if(!a)return void d.oR.error(t("settings.nameRequired"));o(!0);try{let s=await fetch(`/api/users/${e.userId}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({username:a})});if(!s.ok){let e=await s.json();throw Error(e.error?.message??t("settings.saveFailed"))}d.oR.success(t("settings.saved"))}catch(e){d.oR.error(e instanceof Error?e.message:t("settings.saveFailed"))}finally{o(!1)}};return(0,s.jsxs)(m.Zp,{children:[(0,s.jsxs)(m.aR,{children:[(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)(p.A,{className:"h-5 w-5 text-[var(--muted-foreground)]"}),(0,s.jsx)(m.ZB,{children:t("settings.profileInfo")})]}),(0,s.jsx)(m.BT,{children:t("settings.profileDesc")})]}),(0,s.jsxs)(m.Wu,{className:"space-y-6",children:[(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsx)("label",{htmlFor:"profile-name",className:"text-sm font-medium text-[var(--foreground)]",children:t("settings.name")}),(0,s.jsx)(v.p,{id:"profile-name",value:i,onChange:e=>n(e.target.value),placeholder:t("settings.namePlaceholder")})]}),(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsx)("label",{className:"text-sm font-medium text-[var(--foreground)]",children:t("settings.email")}),(0,s.jsx)(v.p,{value:e.email,readOnly:!0,className:"opacity-60"})]}),(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsx)("label",{className:"text-sm font-medium text-[var(--foreground)]",children:t("settings.role")}),(0,s.jsx)("div",{children:(0,s.jsx)(g.E,{variant:"secondary",children:e.role})})]}),(0,s.jsxs)(c.$,{onClick:N,disabled:l||!u,size:"sm",children:[(0,s.jsx)(h.A,{className:"h-4 w-4"}),l?t("settings.saving"):t("common.save")]}),"superuser"!==e.role&&(0,s.jsxs)("div",{className:"mt-8 border-t border-[var(--destructive)]/30 pt-6",children:[(0,s.jsx)("h3",{className:"text-sm font-semibold text-[var(--destructive)]",children:t("deleteAccount.title")}),(0,s.jsx)("p",{className:"mt-1 text-xs text-[var(--muted-foreground)]",children:t("deleteAccount.description")}),(0,s.jsx)(b,{target:{id:e.userId,username:e.username,role:e.role},isSelf:!0,trigger:(0,s.jsxs)(c.$,{variant:"destructive",size:"sm",className:"mt-3",children:[(0,s.jsx)(f.A,{className:"h-4 w-4"}),t("deleteAccount.button")]}),onSuccess:()=>{fetch("/api/auth/logout",{method:"POST"}).finally(()=>{a.push("/login")})}})]})]})]})}var N=a(52905),w=a(51914),k=a(67635),_=a(42763);function C(){let{t:e}=(0,j.B)(),[t,a]=(0,r.useState)([]),[i,n]=(0,r.useState)(!0),[l,u]=(0,r.useState)(!1),[x,p]=(0,r.useState)(""),[h,b]=(0,r.useState)(!1),[y,C]=(0,r.useState)(null),[S,z]=(0,r.useState)(""),A=(0,r.useCallback)(async()=>{n(!0);try{let e=await fetch("/api/apikeys"),t=await e.json();a(t.data??[])}catch{d.oR.error(e("apiKeys.loadFailed"))}finally{n(!1)}},[e]);(0,r.useEffect)(()=>{A()},[A]);let E=async t=>{try{if(!(await fetch(`/api/apikeys/${t}`,{method:"DELETE"})).ok)throw Error();d.oR.success(e("apiKeys.revokeSuccess")),A()}catch{d.oR.error(e("apiKeys.revokeFailed"))}},K=async()=>{let t=x.trim();if(!t)return void d.oR.error(e("apiKeys.nameRequired"));b(!0);try{let a=await fetch("/api/apikeys",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:t})});if(!a.ok){let t=await a.json();throw Error(t.error?.message??e("apiKeys.createFailed"))}let s=await a.json(),r=s.data?.raw_key??null;if(C(r),r){let e=window.location.origin;z(`npm i -g bluekiwi && bluekiwi init --server ${e} --api-key ${r}`)}else z("");A()}catch(t){d.oR.error(t instanceof Error?t.message:e("apiKeys.createFailed"))}finally{b(!1)}},T=async t=>{await navigator.clipboard.writeText(t),d.oR.success(e("apiKeys.copied"))},R=e=>{e||(p(""),C(null),z("")),u(e)};return(0,s.jsxs)(m.Zp,{children:[(0,s.jsx)(m.aR,{children:(0,s.jsxs)("div",{className:"flex items-center justify-between gap-4",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)(N.A,{className:"h-5 w-5 text-[var(--muted-foreground)]"}),(0,s.jsxs)("div",{children:[(0,s.jsx)(m.ZB,{children:e("apiKeys.title")}),(0,s.jsx)(m.BT,{children:e("apiKeys.description")})]})]}),(0,s.jsxs)(_.lG,{open:l,onOpenChange:R,children:[(0,s.jsx)(_.zM,{asChild:!0,children:(0,s.jsxs)(c.$,{size:"sm",children:[(0,s.jsx)(w.A,{className:"h-4 w-4"}),e("apiKeys.newKey")]})}),(0,s.jsx)(_.Cf,{children:y?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)(_.c7,{children:[(0,s.jsx)(_.L3,{children:e("apiKeys.keyCreated")}),(0,s.jsx)(_.rr,{children:e("apiKeys.keyWarning")})]}),(0,s.jsxs)("div",{className:"space-y-3",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2 rounded-md border bg-[var(--muted)] p-3",children:[(0,s.jsx)("code",{className:"flex-1 break-all text-sm",children:y}),(0,s.jsx)(c.$,{variant:"ghost",size:"icon",onClick:()=>T(y),children:(0,s.jsx)(k.A,{className:"h-4 w-4"})})]}),S?(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsx)("p",{className:"text-sm font-medium",children:e("apiKeys.cliInitLabel")}),(0,s.jsxs)("div",{className:"flex items-center gap-2 rounded-md border bg-[var(--muted)] p-3",children:[(0,s.jsx)("code",{className:"flex-1 break-all text-xs leading-5",children:S}),(0,s.jsx)(c.$,{variant:"ghost",size:"icon",onClick:()=>T(S),title:e("apiKeys.copyCliCommand"),children:(0,s.jsx)(k.A,{className:"h-4 w-4"})})]})]}):null,(0,s.jsx)("p",{className:"text-xs text-[var(--destructive)]",children:e("apiKeys.keyWarning2")})]}),(0,s.jsx)(_.Es,{children:(0,s.jsx)(c.$,{onClick:()=>R(!1),children:e("common.confirm")})})]}):(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)(_.c7,{children:[(0,s.jsx)(_.L3,{children:e("apiKeys.newKeyTitle")}),(0,s.jsx)(_.rr,{children:e("apiKeys.newKeyDesc")})]}),(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsx)("label",{htmlFor:"apikey-name",className:"text-sm font-medium",children:e("apiKeys.keyNameLabel")}),(0,s.jsx)(v.p,{id:"apikey-name",value:x,onChange:e=>p(e.target.value),placeholder:e("apiKeys.namePlaceholder"),onKeyDown:e=>{"Enter"===e.key&&K()}})]}),(0,s.jsxs)(_.Es,{children:[(0,s.jsx)(c.$,{variant:"outline",onClick:()=>R(!1),children:e("common.cancel")}),(0,s.jsx)(c.$,{onClick:K,disabled:h,children:h?e("apiKeys.generating"):e("apiKeys.generate")})]})]})})]})]})}),(0,s.jsx)(m.Wu,{children:i?(0,s.jsx)("p",{className:"py-6 text-center text-sm text-[var(--muted-foreground)]",children:e("common.loading")}):0===t.length?(0,s.jsx)("p",{className:"py-6 text-center text-sm text-[var(--muted-foreground)]",children:e("apiKeys.noKeys")}):(0,s.jsx)("div",{className:"overflow-x-auto",children:(0,s.jsxs)("table",{className:"w-full text-sm",children:[(0,s.jsx)("thead",{children:(0,s.jsxs)("tr",{className:"border-b text-left text-[var(--muted-foreground)]",children:[(0,s.jsx)("th",{className:"pb-2 pr-4 font-medium",children:e("apiKeys.keyName")}),t.some(e=>e.owner_name)&&(0,s.jsx)("th",{className:"pb-2 pr-4 font-medium",children:e("apiKeys.owner")}),(0,s.jsx)("th",{className:"pb-2 pr-4 font-medium",children:e("apiKeys.keyPrefix")}),(0,s.jsx)("th",{className:"pb-2 pr-4 font-medium",children:e("apiKeys.expiresAt")}),(0,s.jsx)("th",{className:"pb-2 pr-4 font-medium",children:e("apiKeys.status")}),(0,s.jsx)("th",{className:"pb-2 font-medium",children:e("apiKeys.action")})]})}),(0,s.jsx)("tbody",{children:t.map(a=>{var r;return(0,s.jsxs)("tr",{className:"border-b last:border-0",children:[(0,s.jsx)("td",{className:"py-3 pr-4 font-medium",children:a.name||e("apiKeys.noName")}),t.some(e=>e.owner_name)&&(0,s.jsx)("td",{className:"py-3 pr-4",children:a.owner_name}),(0,s.jsx)("td",{className:"py-3 pr-4",children:(0,s.jsxs)("code",{className:"rounded bg-[var(--muted)] px-1.5 py-0.5 text-xs",children:[a.prefix,"..."]})}),(0,s.jsx)("td",{className:"py-3 pr-4",children:(r=a.expires_at)?new Date(r).toLocaleDateString("ko-KR"):"-"}),(0,s.jsx)("td",{className:"py-3 pr-4",children:a.is_revoked?(0,s.jsx)(g.E,{variant:"destructive",children:e("apiKeys.revoked")}):(0,s.jsx)(g.E,{variant:"secondary",children:e("apiKeys.activeStatus")})}),(0,s.jsx)("td",{className:"py-3",children:!a.is_revoked&&(0,s.jsxs)(o.Lt,{children:[(0,s.jsx)(o.tv,{asChild:!0,children:(0,s.jsx)(c.$,{variant:"ghost",size:"icon",className:"text-[var(--destructive)] hover:bg-destructive/10",children:(0,s.jsx)(f.A,{className:"h-4 w-4"})})}),(0,s.jsxs)(o.EO,{children:[(0,s.jsxs)(o.wd,{children:[(0,s.jsx)(o.r7,{children:e("apiKeys.revokeConfirm")}),(0,s.jsxs)(o.$v,{children:["“",a.name||a.prefix,"”"," ",e("apiKeys.revokeDesc")]})]}),(0,s.jsxs)(o.ck,{children:[(0,s.jsx)(o.Zr,{children:e("common.cancel")}),(0,s.jsx)(o.Rx,{onClick:()=>E(a.id),children:e("apiKeys.revoke")})]})]})]})})]},a.id)})})]})})})]})}var S=a(7810),z=a(94961),A=a(94514),E=a(82482),K=a(33210),T=a(29991),R=a(1433),$=a(40980);function L({...e}){return(0,s.jsx)(R.bL,{"data-slot":"popover",...e})}function F({...e}){return(0,s.jsx)(R.l9,{"data-slot":"popover-trigger",...e})}function O({className:e,align:t="center",sideOffset:a=6,...r}){return(0,s.jsx)(R.ZL,{children:(0,s.jsx)(R.UC,{"data-slot":"popover-content",align:t,sideOffset:a,className:(0,$.cn)("z-50 w-72 origin-(--radix-popover-content-transform-origin) animate-in rounded-xl border border-[var(--border)] bg-[var(--popover)] p-4 text-[var(--popover-foreground)] shadow-md fade-in-0 zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95",e),...r})})}let V={superuser:"default",admin:"default",editor:"secondary",viewer:"outline"},D={viewer:0,editor:1,admin:2,superuser:3};function P({callerRole:e}){let{t,locale:a}=(0,j.B)(),[i,n]=(0,r.useState)([]),[l,o]=(0,r.useState)([]),[u,x]=(0,r.useState)(!0),[p,h]=(0,r.useState)(!0),[y,N]=(0,r.useState)(!1),[C,R]=(0,r.useState)(""),[$,U]=(0,r.useState)("editor"),[Z,B]=(0,r.useState)(!1),[W,M]=(0,r.useState)(null),q=(0,r.useCallback)(async()=>{x(!0);try{let e=await fetch("/api/users"),t=await e.json();n(t.data??[])}catch{d.oR.error(t("team.loadFailed"))}finally{x(!1)}},[t]),I=(0,r.useCallback)(async()=>{h(!0);try{let e=await fetch("/api/invites"),t=await e.json();o(t.invites??[])}catch{d.oR.error(t("team.invitesLoadFailed"))}finally{h(!1)}},[t]);(0,r.useEffect)(()=>{q(),I()},[I,q]);let X=async()=>{if(!C.trim())return void d.oR.error(t("team.emailRequired"));B(!0);try{let e=await fetch("/api/invites",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({email:C.trim(),role:$,locale:a})}),s=await e.json();if(!e.ok)throw Error(s.error??t("team.inviteCreateFailed"));let r=s.data;M(r),d.oR.success(t("team.inviteCreated")),I()}catch(e){d.oR.error(e instanceof Error?e.message:t("team.inviteCreateFailed"))}finally{B(!1)}},G=async e=>{try{let a=await fetch(`/api/invites/${e}`,{method:"DELETE"});if(!a.ok){let e=await a.json().catch(()=>null);throw Error(e?.error??t("team.inviteCancelFailed"))}d.oR.success(t("team.inviteCancelled")),I()}catch(e){d.oR.error(e instanceof Error?e.message:t("team.inviteCancelFailed"))}},J=e=>{e||(R(""),U("editor"),M(null)),N(e)};return(0,s.jsxs)(m.Zp,{children:[(0,s.jsx)(m.aR,{children:(0,s.jsxs)("div",{className:"flex items-center justify-between gap-4",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)(S.A,{className:"h-5 w-5 text-[var(--muted-foreground)]"}),(0,s.jsxs)("div",{children:[(0,s.jsx)(m.ZB,{children:t("team.title")}),(0,s.jsx)(m.BT,{children:t("team.description")})]})]}),(0,s.jsxs)(_.lG,{open:y,onOpenChange:J,children:[(0,s.jsx)(_.zM,{asChild:!0,children:(0,s.jsxs)(c.$,{size:"sm",children:[(0,s.jsx)(w.A,{className:"h-4 w-4"}),t("team.inviteMember")]})}),(0,s.jsxs)(_.Cf,{className:"overflow-hidden",children:[(0,s.jsxs)(_.c7,{children:[(0,s.jsx)(_.L3,{children:t("team.inviteTitle")}),(0,s.jsx)(_.rr,{children:t("team.inviteDescription")})]}),W?(0,s.jsxs)("div",{className:"space-y-3",children:[W.email_sent?(0,s.jsxs)("p",{className:"flex items-center gap-1.5 text-sm text-kiwi-600",children:[(0,s.jsx)(A.A,{className:"h-4 w-4 shrink-0"}),C,"로 초대 이메일을 발송했습니다."]}):(0,s.jsx)("p",{className:"text-sm text-[var(--muted-foreground)]",children:t("team.shareLinkExpires",{date:new Date(W.expires_at).toLocaleDateString()})}),(0,s.jsxs)("div",{className:"flex w-full overflow-hidden rounded-[var(--radius-sm)] border border-[var(--border)] bg-[var(--muted)]",children:[(0,s.jsx)("input",{readOnly:!0,value:W.url,className:"min-w-0 flex-1 bg-transparent px-3 py-2 text-xs text-[var(--foreground)] outline-none"}),(0,s.jsxs)("button",{type:"button",onClick:()=>{navigator.clipboard.writeText(W.url),d.oR.success(t("team.inviteLinkCopied"))},className:"flex shrink-0 items-center gap-1.5 border-l border-[var(--border)] px-3 py-2 text-xs text-[var(--muted-foreground)] hover:bg-[var(--border)]/30 hover:text-[var(--foreground)]",children:[(0,s.jsx)(k.A,{className:"h-3.5 w-3.5"}),t("team.copyLink")]})]})]}):(0,s.jsxs)("div",{className:"space-y-4",children:[(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsx)("label",{htmlFor:"invite-email",className:"text-sm font-medium",children:t("team.email")}),(0,s.jsx)(v.p,{id:"invite-email",type:"email",value:C,onChange:e=>R(e.target.value),placeholder:t("team.emailPlaceholder")})]}),(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,s.jsx)("label",{className:"text-sm font-medium",children:t("team.role")}),(0,s.jsxs)(L,{children:[(0,s.jsx)(F,{asChild:!0,children:(0,s.jsx)("button",{type:"button",className:"flex h-4 w-4 items-center justify-center rounded-full text-[var(--muted-foreground)] hover:text-[var(--foreground)]",children:(0,s.jsx)(z.A,{className:"h-3.5 w-3.5"})})}),(0,s.jsxs)(O,{align:"start",className:"w-[340px] p-3",children:[(0,s.jsx)("p",{className:"mb-2 text-[11px] font-semibold uppercase tracking-wide text-[var(--muted-foreground)]",children:"역할별 권한"}),(0,s.jsxs)("table",{className:"w-full text-xs",children:[(0,s.jsx)("thead",{children:(0,s.jsxs)("tr",{className:"border-b border-[var(--border)]",children:[(0,s.jsx)("th",{className:"pb-1.5 text-left font-medium text-[var(--muted-foreground)]",children:"기능"}),(0,s.jsx)("th",{className:"pb-1.5 text-center font-medium",children:"열람자"}),(0,s.jsx)("th",{className:"pb-1.5 text-center font-medium",children:"편집자"}),(0,s.jsx)("th",{className:"pb-1.5 text-center font-medium",children:"관리자"})]})}),(0,s.jsx)("tbody",{className:"divide-y divide-[var(--border)]",children:[{label:t("team.permViewWorkflows"),v:!0,e:!0,a:!0},{label:t("team.permExecuteWorkflows"),v:!0,e:!0,a:!0},{label:t("team.permCreateEditWorkflows"),v:!1,e:!0,a:!0},{label:t("team.permDeleteOwnWorkflows"),v:!1,e:!0,a:!0},{label:t("team.permViewCredentials"),v:!0,e:!0,a:!0},{label:t("team.permCreateEditCredentials"),v:!1,e:!0,a:!0},{label:t("team.permViewMembers"),v:!1,e:!1,a:!0},{label:t("team.permManageMembers"),v:!1,e:!1,a:!0},{label:t("team.permManageFolderShares"),v:!1,e:!1,a:!0}].map(({label:e,v:t,e:a,a:r})=>(0,s.jsxs)("tr",{children:[(0,s.jsx)("td",{className:"py-1.5 text-[var(--foreground)]",children:e}),[t,a,r].map((e,t)=>(0,s.jsx)("td",{className:"py-1.5 text-center",children:e?(0,s.jsx)(A.A,{className:"mx-auto h-3 w-3 text-kiwi-600"}):(0,s.jsx)(E.A,{className:"mx-auto h-3 w-3 text-[var(--muted-foreground)]/40"})},t))]},e))})]}),(0,s.jsx)("p",{className:"mt-2 text-[10px] text-[var(--muted-foreground)]",children:"* superuser는 모든 권한을 가집니다."})]})]})]}),(0,s.jsxs)(T.l6,{value:$,onValueChange:U,children:[(0,s.jsx)(T.bq,{className:"w-full",children:(0,s.jsx)(T.yv,{})}),(0,s.jsxs)(T.gC,{children:[(0,s.jsx)(T.eb,{value:"admin",children:t("team.roleAdmin")}),(0,s.jsx)(T.eb,{value:"editor",children:t("team.roleEditor")}),(0,s.jsx)(T.eb,{value:"viewer",children:t("team.roleViewer")})]})]})]})]}),(0,s.jsxs)(_.Es,{children:[(0,s.jsx)(c.$,{variant:"outline",onClick:()=>J(!1),children:t("common.cancel")}),W?null:(0,s.jsx)(c.$,{onClick:X,disabled:Z,children:Z?t("team.creating"):t("team.createInvite")})]})]})]})]})}),(0,s.jsx)(m.Wu,{children:(0,s.jsxs)("div",{className:"space-y-8",children:[(0,s.jsxs)("section",{className:"space-y-4",children:[(0,s.jsx)("div",{children:(0,s.jsx)("h3",{className:"text-sm font-semibold text-[var(--foreground)]",children:t("team.members")})}),u?(0,s.jsx)("p",{className:"py-6 text-center text-sm text-[var(--muted-foreground)]",children:t("common.loading")}):0===i.length?(0,s.jsx)("p",{className:"py-6 text-center text-sm text-[var(--muted-foreground)]",children:t("team.noMembers")}):(0,s.jsx)("div",{className:"grid gap-3 sm:grid-cols-2",children:i.map(a=>(0,s.jsxs)("div",{className:"flex items-center gap-3 rounded-lg border p-3",children:[(0,s.jsx)("div",{className:"flex h-10 w-10 shrink-0 items-center justify-center rounded-full bg-brand-blue-100 text-sm font-medium text-brand-blue-700",children:a.username.charAt(0).toUpperCase()}),(0,s.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,s.jsx)("p",{className:"truncate text-sm font-medium",children:a.username}),(0,s.jsx)("p",{className:"truncate text-xs text-[var(--muted-foreground)]",children:a.email??"-"})]}),(0,s.jsx)(g.E,{variant:V[a.role]??"outline",children:"admin"===a.role?t("team.roleAdmin"):"editor"===a.role?t("team.roleEditor"):"viewer"===a.role?t("team.roleViewer"):a.role}),(D[e]??0)>(D[a.role]??0)&&(0,s.jsx)(b,{target:{id:a.id,username:a.username,role:a.role},isSelf:!1,trigger:(0,s.jsx)(c.$,{variant:"ghost",size:"icon",className:"h-8 w-8 shrink-0 text-[var(--destructive)] hover:bg-destructive/10",children:(0,s.jsx)(f.A,{className:"h-4 w-4"})}),onSuccess:q})]},a.id))})]}),(0,s.jsxs)("section",{className:"space-y-4",children:[(0,s.jsx)("div",{children:(0,s.jsx)("h3",{className:"text-sm font-semibold text-[var(--foreground)]",children:t("team.invites")})}),p?(0,s.jsx)("p",{className:"py-6 text-center text-sm text-[var(--muted-foreground)]",children:t("common.loading")}):0===l.length?(0,s.jsx)("p",{className:"py-6 text-center text-sm text-[var(--muted-foreground)]",children:t("team.noInvites")}):(0,s.jsx)("div",{className:"space-y-3",children:l.map(e=>(0,s.jsxs)("div",{className:"flex flex-col gap-3 rounded-lg border p-4 sm:flex-row sm:items-center",children:[(0,s.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,s.jsx)("p",{className:"truncate text-sm font-medium",children:e.email}),(0,s.jsx)("p",{className:"text-xs text-[var(--muted-foreground)]",children:e.accepted_at?t("team.inviteAccepted",{date:new Date(e.accepted_at).toLocaleString()}):t("team.invitePending",{date:new Date(e.expires_at).toLocaleString()})})]}),(0,s.jsx)(g.E,{variant:V[e.role]??"outline",children:"admin"===e.role?t("team.roleAdmin"):"editor"===e.role?t("team.roleEditor"):"viewer"===e.role?t("team.roleViewer"):e.role}),e.accepted_at?null:(0,s.jsxs)("div",{className:"flex gap-2",children:[(0,s.jsxs)(c.$,{variant:"outline",size:"sm",onClick:()=>navigator.clipboard.writeText(`${window.location.origin}/invite/${e.token}`),children:[(0,s.jsx)(k.A,{className:"h-4 w-4"}),t("team.copyInviteLink")]}),(0,s.jsxs)(c.$,{variant:"outline",size:"sm",onClick:()=>G(e.id),children:[(0,s.jsx)(K.A,{className:"h-4 w-4"}),t("common.cancel")]})]})]},e.id))})]})]})})]})}var U=a(59726),Z=a(92289);let B={provider:"none",from_email:"",from_name:"",smtp_host:"",smtp_port:"587",smtp_secure:!1,smtp_user:"",smtp_pass:"",resend_api_key:""},W={smtp_host:"smtp.gmail.com",smtp_port:"587",smtp_secure:!1};function M(){let[e,t]=(0,r.useState)(B),[a,i]=(0,r.useState)(!0),[n,l]=(0,r.useState)(!1);function o(e){t(t=>({...t,...e}))}async function u(t){t.preventDefault(),l(!0);try{if(!(await fetch("/api/settings/email",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({...e,smtp_port:Number(e.smtp_port)})})).ok)throw Error();d.oR.success("이메일 설정이 저장되었습니다.")}catch{d.oR.error("저장에 실패했습니다.")}finally{l(!1)}}return(0,r.useEffect)(()=>{(async()=>{try{let e=await fetch("/api/settings/email");if(!e.ok)return;let a=await e.json();t({provider:a.provider??"none",from_email:a.from_email??"",from_name:a.from_name??"",smtp_host:a.smtp_host??"",smtp_port:String(a.smtp_port??"587"),smtp_secure:a.smtp_secure??!1,smtp_user:a.smtp_user??"",smtp_pass:a.smtp_pass??"",resend_api_key:a.resend_api_key??""})}finally{i(!1)}})()},[]),a?(0,s.jsx)(m.Zp,{children:(0,s.jsx)(m.Wu,{className:"py-10 text-center text-sm text-[var(--muted-foreground)]",children:"불러오는 중..."})}):(0,s.jsx)("form",{onSubmit:u,children:(0,s.jsxs)(m.Zp,{children:[(0,s.jsxs)(m.aR,{children:[(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)(Z.A,{className:"h-5 w-5 text-[var(--muted-foreground)]"}),(0,s.jsx)(m.ZB,{children:"이메일 설정"})]}),(0,s.jsx)(m.BT,{children:"초대 메일 발송에 사용할 이메일 공급자를 설정합니다."})]}),(0,s.jsxs)(m.Wu,{className:"space-y-5",children:[(0,s.jsxs)("div",{className:"space-y-1.5",children:[(0,s.jsx)("label",{className:"text-sm font-medium text-[var(--foreground)]",children:"공급자"}),(0,s.jsxs)(T.l6,{value:e.provider,onValueChange:e=>o({provider:e}),children:[(0,s.jsx)(T.bq,{children:(0,s.jsx)(T.yv,{})}),(0,s.jsxs)(T.gC,{children:[(0,s.jsx)(T.eb,{value:"none",children:"사용 안 함"}),(0,s.jsx)(T.eb,{value:"smtp",children:"SMTP (Gmail, Naver 등)"}),(0,s.jsx)(T.eb,{value:"resend",children:"Resend API"})]})]})]}),"none"!==e.provider&&(0,s.jsxs)("div",{className:"grid grid-cols-2 gap-3",children:[(0,s.jsxs)("div",{className:"space-y-1.5",children:[(0,s.jsx)("label",{className:"text-sm font-medium text-[var(--foreground)]",children:"발신자 이름"}),(0,s.jsx)(v.p,{placeholder:"BlueKiwi",value:e.from_name,onChange:e=>o({from_name:e.target.value})})]}),(0,s.jsxs)("div",{className:"space-y-1.5",children:[(0,s.jsx)("label",{className:"text-sm font-medium text-[var(--foreground)]",children:"발신자 이메일"}),(0,s.jsx)(v.p,{type:"email",placeholder:"noreply@example.com",value:e.from_email,onChange:e=>o({from_email:e.target.value}),required:!0})]})]}),"smtp"===e.provider&&(0,s.jsxs)("div",{className:"space-y-4 rounded-xl border border-[var(--border)] p-4",children:[(0,s.jsxs)("div",{className:"flex items-center justify-between",children:[(0,s.jsx)("p",{className:"text-sm font-medium",children:"SMTP 서버 설정"}),(0,s.jsx)(c.$,{type:"button",variant:"outline",size:"sm",onClick:function(){o(W)},children:"Gmail 기본값 적용"})]}),(0,s.jsxs)("div",{className:"grid grid-cols-3 gap-3",children:[(0,s.jsxs)("div",{className:"col-span-2 space-y-1.5",children:[(0,s.jsx)("label",{className:"text-sm font-medium text-[var(--foreground)]",children:"SMTP 호스트"}),(0,s.jsx)(v.p,{placeholder:"smtp.gmail.com",value:e.smtp_host,onChange:e=>o({smtp_host:e.target.value}),required:!0})]}),(0,s.jsxs)("div",{className:"space-y-1.5",children:[(0,s.jsx)("label",{className:"text-sm font-medium text-[var(--foreground)]",children:"포트"}),(0,s.jsx)(v.p,{type:"number",placeholder:"587",value:e.smtp_port,onChange:e=>o({smtp_port:e.target.value}),required:!0})]})]}),(0,s.jsxs)("div",{className:"space-y-1.5",children:[(0,s.jsx)("label",{className:"text-sm font-medium text-[var(--foreground)]",children:"암호화 방식"}),(0,s.jsxs)(T.l6,{value:e.smtp_secure?"tls":"starttls",onValueChange:e=>o({smtp_secure:"tls"===e}),children:[(0,s.jsx)(T.bq,{children:(0,s.jsx)(T.yv,{})}),(0,s.jsxs)(T.gC,{children:[(0,s.jsx)(T.eb,{value:"starttls",children:"STARTTLS (포트 587)"}),(0,s.jsx)(T.eb,{value:"tls",children:"TLS (포트 465)"})]})]})]}),(0,s.jsxs)("div",{className:"grid grid-cols-2 gap-3",children:[(0,s.jsxs)("div",{className:"space-y-1.5",children:[(0,s.jsx)("label",{className:"text-sm font-medium text-[var(--foreground)]",children:"계정 (이메일)"}),(0,s.jsx)(v.p,{type:"email",placeholder:"you@gmail.com",value:e.smtp_user,onChange:e=>o({smtp_user:e.target.value}),required:!0})]}),(0,s.jsxs)("div",{className:"space-y-1.5",children:[(0,s.jsxs)("label",{className:"text-sm font-medium text-[var(--foreground)]",children:["앱 비밀번호"," ",(0,s.jsx)("span",{className:"text-xs text-[var(--muted-foreground)]",children:"(Gmail은 앱 비밀번호 사용)"})]}),(0,s.jsx)(v.p,{type:"password",placeholder:"앱 비밀번호 입력",value:e.smtp_pass,onChange:e=>o({smtp_pass:e.target.value})})]})]}),(0,s.jsxs)("p",{className:"text-xs text-[var(--muted-foreground)]",children:["Gmail은 ",(0,s.jsx)("strong",{children:"2단계 인증 → 앱 비밀번호 생성"})," 후 사용하세요. 일반 비밀번호는 동작하지 않습니다."]})]}),"resend"===e.provider&&(0,s.jsxs)("div",{className:"space-y-3 rounded-xl border border-[var(--border)] p-4",children:[(0,s.jsx)("p",{className:"text-sm font-medium",children:"Resend API 설정"}),(0,s.jsxs)("div",{className:"space-y-1.5",children:[(0,s.jsx)("label",{className:"text-sm font-medium text-[var(--foreground)]",children:"API Key"}),(0,s.jsx)(v.p,{type:"password",placeholder:"re_...",value:e.resend_api_key,onChange:e=>o({resend_api_key:e.target.value}),required:!0})]})]}),(0,s.jsx)("div",{className:"flex justify-end pt-2",children:(0,s.jsx)(c.$,{type:"submit",disabled:n,children:n?"저장 중...":"저장"})})]})]})})}function q(){let{t:e}=(0,j.B)(),[t,a]=(0,r.useState)(null),[x,p]=(0,r.useState)(!0),[h,f]=(0,r.useState)(!1),[v,g]=(0,r.useState)(!1),[b,N]=(0,r.useState)(!1),[w,k]=(0,r.useState)(null);(0,r.useEffect)(()=>{(async()=>{try{let e=await fetch("/api/auth/me");if(!e.ok)throw Error();let t=await e.json();a(t.user??null)}catch{a(null)}finally{p(!1)}})()},[]);let _=t?.role==="admin"||t?.role==="superuser",S=t?.role==="superuser";async function z(){g(!0),k(null);try{let e=await fetch("/api/settings/cleanup-visual-html");if(!e.ok)throw Error();let t=await e.json();k(t.affected??0),f(!0)}catch{d.oR.error("Failed to load VS render cache count.")}finally{g(!1)}}async function A(){N(!0);try{let e=await fetch("/api/settings/cleanup-visual-html",{method:"POST"});if(!e.ok)throw Error();let t=(await e.json()).cleared??0;f(!1),k(t),d.oR.success(`Cleared ${t} VS render cache entr${1===t?"y":"ies"}.`)}catch{d.oR.error("Failed to clear VS render cache.")}finally{N(!1)}}return x?(0,s.jsx)("main",{className:"mx-auto max-w-3xl px-4 py-6",children:(0,s.jsx)("p",{className:"text-center text-sm text-[var(--muted-foreground)]",children:e("common.loading")})}):t?(0,s.jsxs)("main",{className:"mx-auto max-w-3xl px-4 py-6",children:[(0,s.jsxs)("div",{className:"mb-6 flex items-center gap-2",children:[(0,s.jsx)(i.A,{className:"h-5 w-5 text-[var(--muted-foreground)]"}),(0,s.jsx)("h1",{className:"text-2xl font-bold tracking-tight",children:e("settings.title")})]}),(0,s.jsxs)(u.tU,{defaultValue:"profile",children:[(0,s.jsxs)(u.j7,{children:[(0,s.jsx)(u.Xi,{value:"profile",children:e("settings.profile")}),(0,s.jsx)(u.Xi,{value:"apikeys",children:e("settings.apiKeys")}),_&&(0,s.jsx)(u.Xi,{value:"team",children:e("settings.teamManagement")}),_&&(0,s.jsx)(u.Xi,{value:"groups",children:e("groups.tabLabel")}),(0,s.jsx)(u.Xi,{value:"notifications",children:e("settings.notifications")}),S&&(0,s.jsx)(u.Xi,{value:"email",children:"Email"}),S&&(0,s.jsx)(u.Xi,{value:"storage",children:"Storage"})]}),(0,s.jsxs)("div",{className:"mt-4",children:[(0,s.jsx)(u.av,{value:"profile",children:(0,s.jsx)(y,{user:t})}),(0,s.jsx)(u.av,{value:"apikeys",children:(0,s.jsx)(C,{})}),_&&(0,s.jsx)(u.av,{value:"team",children:(0,s.jsx)(P,{callerRole:t.role})}),_&&(0,s.jsx)(u.av,{value:"groups",children:(0,s.jsx)(U.u,{})}),(0,s.jsx)(u.av,{value:"notifications",children:(0,s.jsxs)(m.Zp,{children:[(0,s.jsxs)(m.aR,{children:[(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)(n.A,{className:"h-5 w-5 text-[var(--muted-foreground)]"}),(0,s.jsx)(m.ZB,{children:e("settings.notificationsTitle")})]}),(0,s.jsx)(m.BT,{children:e("settings.notificationsPlaceholder")})]}),(0,s.jsx)(m.Wu,{children:(0,s.jsx)("p",{className:"text-sm text-[var(--muted-foreground)]",children:e("settings.notificationsBody")})})]})}),S&&(0,s.jsx)(u.av,{value:"email",children:(0,s.jsx)(M,{})}),S&&(0,s.jsx)(u.av,{value:"storage",children:(0,s.jsxs)(m.Zp,{children:[(0,s.jsxs)(m.aR,{children:[(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)(l.A,{className:"h-5 w-5 text-[var(--muted-foreground)]"}),(0,s.jsx)(m.ZB,{children:"Storage"})]}),(0,s.jsx)(m.BT,{children:"Manage VS render cache for completed and failed tasks."})]}),(0,s.jsx)(m.Wu,{className:"space-y-4",children:(0,s.jsxs)("div",{className:"flex items-center justify-between gap-4 rounded-xl border border-[var(--border)] p-4",children:[(0,s.jsxs)("div",{className:"space-y-1",children:[(0,s.jsx)("p",{className:"text-sm font-medium",children:"VS Render Cache"}),(0,s.jsx)("p",{className:"text-xs text-[var(--muted-foreground)]",children:"Clears stored `visual_html` for completed/failed tasks while preserving `web_response`."})]}),(0,s.jsx)(c.$,{variant:"outline",size:"sm",onClick:z,disabled:v||b,children:v?"Checking...":"Clear VS render cache"})]})})]})})]})]}),(0,s.jsx)(o.Lt,{open:h,onOpenChange:e=>{b||f(e)},children:(0,s.jsxs)(o.EO,{children:[(0,s.jsxs)(o.wd,{children:[(0,s.jsx)(o.r7,{children:"Clear VS render cache?"}),(0,s.jsx)(o.$v,{children:null===w?"Loading affected entry count...":`${w} cached VS render entr${1===w?"y is":"ies are"} stored on completed/failed tasks. This clears visual_html only and preserves web_response data.`})]}),(0,s.jsxs)(o.ck,{children:[(0,s.jsx)(o.Zr,{disabled:b,children:e("common.cancel")}),(0,s.jsx)(c.$,{variant:"destructive",onClick:A,disabled:b||null===w,children:b?"Clearing...":"Clear cache"})]})]})})]}):(0,s.jsx)("main",{className:"mx-auto max-w-3xl px-4 py-6",children:(0,s.jsx)("p",{className:"text-center text-sm text-[var(--muted-foreground)]",children:e("settings.userLoadFailed")})})}}},e=>{e.O(0,[8409,8368,6609,3207,7462,6644,982,2360,9726,8441,3794,7358],()=>e(e.s=1872)),_N_E=e.O()}]);
|