vibe64 0.1.39 → 0.1.41
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/bin/run.js +1955 -1855
- package/bin/server.js +136 -112
- package/bin/upgrade-state.js +5514 -5343
- package/dist/assets/GithubBrowserTabs-YvIe2BdE.js +1 -0
- package/dist/assets/LocalDatabaseServer-BWAvRlUl.css +1 -0
- package/dist/assets/LocalDatabaseServer-CVsGChHh.js +2 -0
- package/dist/assets/StudioErrorNotice-C_jbvp9V.js +1 -0
- package/dist/assets/VAlert-gwuhYlYb.js +1 -0
- package/dist/assets/VAutocomplete-D7Vk5wq_.js +1 -0
- package/dist/assets/VAvatar-DvRBcmqv.js +1 -0
- package/dist/assets/VBtn-BhVEwXLX.js +1 -0
- package/dist/assets/VCard-C3Hx769y.js +1 -0
- package/dist/assets/VCheckbox-DyCGSN0H.js +1 -0
- package/dist/assets/VCheckboxBtn-DCyuVH7W.css +1 -0
- package/dist/assets/VCheckboxBtn-DYcQU2Pn.js +1 -0
- package/dist/assets/VChip-VVdtjfq-.js +1 -0
- package/dist/assets/VDialog-CQDhjRiV.js +1 -0
- package/dist/assets/VDivider-Dq25WsKu.js +1 -0
- package/dist/assets/VExpansionPanels-C1y-myl5.js +1 -0
- package/dist/assets/VMenu-CDcBLYWR.js +1 -0
- package/dist/assets/VOverlay-Cp4rFk6g.js +1 -0
- package/dist/assets/VRadioGroup-CAjNZwF7.js +1 -0
- package/dist/assets/VRow-BskP28jR.js +1 -0
- package/dist/assets/VSelect-D3oLvCcB.js +2 -0
- package/dist/assets/VSheet-DxYEFfnM.js +1 -0
- package/dist/assets/VSkeletonLoader-Cync3lZZ.js +1 -0
- package/dist/assets/VSpacer-CgWOWvBh.js +1 -0
- package/dist/assets/VSwitch-BxGuGypi.js +1 -0
- package/dist/assets/VTextField-C0b_0cSa.js +1 -0
- package/dist/assets/VTextField-F6unyhrS.css +1 -0
- package/dist/assets/VTextarea-B7sZd1JY.js +1 -0
- package/dist/assets/{Vibe64AsyncModuleState-Do9EqX3S.js → Vibe64AsyncModuleState-syuPcpGx.js} +1 -1
- package/dist/assets/{Vibe64AuthSettingsButton-M44SSmZ9.css → Vibe64AuthSettingsButton-D2lltUhi.css} +1 -1
- package/dist/assets/Vibe64AuthSettingsButton-DLdfT68V.js +5 -0
- package/dist/assets/Vibe64CopyCommand-CYiZcy0d.js +1 -0
- package/dist/assets/Vibe64CopyCommand-ClbQLYZi.css +1 -0
- package/dist/assets/{Vibe64DashboardBackButton-BH_8j_VR.js → Vibe64DashboardBackButton-Go_MJuIK.js} +1 -1
- package/dist/assets/{Vibe64DashboardPageHeader-BXQR00HK.js → Vibe64DashboardPageHeader-BMrdRph6.js} +1 -1
- package/dist/assets/Vibe64DashboardPageHeader-CdlzsyKQ.css +1 -0
- package/dist/assets/Vibe64DashboardShell-DMPz6fIx.js +1 -0
- package/dist/assets/{Vibe64DatabaseWorkspace-CEml9BWn.js → Vibe64DatabaseWorkspace-BCEIOlSg.js} +3 -3
- package/dist/assets/{Vibe64DatabaseWorkspace-DPDMxhAW.css → Vibe64DatabaseWorkspace-DePBDUMy.css} +1 -1
- package/dist/assets/{Vibe64OutputControls-Co5YzwcK.css → Vibe64OutputControls-CeBzZPUT.css} +1 -1
- package/dist/assets/Vibe64OutputControls-DMoqL0VD.js +8 -0
- package/dist/assets/{Vibe64RepositoryWorkspace-obZFXkoG.js → Vibe64RepositoryWorkspace-BdwRwbxp.js} +2 -2
- package/dist/assets/{Vibe64RepositoryWorkspace-Agyt4O-V.css → Vibe64RepositoryWorkspace-Bw9W691N.css} +1 -1
- package/dist/assets/{Vibe64SessionFiles-CQzs6fee.js → Vibe64SessionFiles-ChJWUOqm.js} +4 -4
- package/dist/assets/Vibe64SessionFiles-DsPb8hOe.css +1 -0
- package/dist/assets/{Vibe64TemporaryAiFixAction-BiuIE9mC.js → Vibe64TemporaryAiFixAction-CIePbdW8.js} +1 -1
- package/dist/assets/{Vibe64UiStoryboardView-BhKRpL0N.js → Vibe64UiStoryboardView-Bp9STItF.js} +1 -1
- package/dist/assets/{Vibe64UnavailableSessions-Ca5nC7KH.js → Vibe64UnavailableSessions-JBgHzM-j.js} +1 -1
- package/dist/assets/{_sessionId_-CKkGH3Rx.js → _sessionId_-Bw0KfJeR.js} +1 -1
- package/dist/assets/{_sessionTool_-1V-z6Pbp.js → _sessionTool_-BV1AwpUx.js} +1 -1
- package/dist/assets/_slug_-CAmuBm-M.css +1 -0
- package/dist/assets/_slug_-q9prK_gX.js +25 -0
- package/dist/assets/{access-WlhPvPgy.js → access-C05Nkq6r.js} +1 -1
- package/dist/assets/app-D1CGY9Xm.js +1 -0
- package/dist/assets/assistantRouting-DeE8jvtE.js +3 -0
- package/dist/assets/{changes-CHJjrZAc.js → changes-D17XpgGz.js} +1 -1
- package/dist/assets/client-BxGiylrJ.js +2 -0
- package/dist/assets/client-C8jwAMY9.css +1 -0
- package/dist/assets/{conversation-B90ERX9h.js → conversation-DZW4-Wck.js} +2 -2
- package/dist/assets/{conversation-vxJGwmtW.css → conversation-TK6EmDk4.css} +1 -1
- package/dist/assets/{createSimpleFunctional-CZTGuNuR.js → createSimpleFunctional-zlXZooQW.js} +1 -1
- package/dist/assets/{dashboard-CuutW8iv.js → dashboard-BXXgeQ0Q.js} +1 -1
- package/dist/assets/definitions-SNvFDEFS.js +1 -0
- package/dist/assets/dialog-transition-D2vqGksQ.js +1 -0
- package/dist/assets/env-B5V1EC4M.css +1 -0
- package/dist/assets/env-sXAQqKWk.js +1 -0
- package/dist/assets/health-92hh8xXh.css +1 -0
- package/dist/assets/health-Cr34pf2p.js +1 -0
- package/dist/assets/{history-1_NU8azF.js → history-N1iRZaab.js} +1 -1
- package/dist/assets/incoming-Bdqo8z25.css +1 -0
- package/dist/assets/incoming-CNwZa_yD.js +2 -0
- package/dist/assets/{index-irlMYzLh.css → index-B17d4wpZ.css} +1 -1
- package/dist/assets/index-Mxalhei8.js +138 -0
- package/dist/assets/{integrations-BMzWQQpa.js → integrations-BmwFvHgZ.js} +10 -10
- package/dist/assets/integrations-Co8WvCiD.css +1 -0
- package/dist/assets/issues-BbiG7dCV.js +1 -0
- package/dist/assets/layout-B2Ap07aa.js +1 -0
- package/dist/assets/{lazy-NHSwD9FS.js → lazy-BjyT2XvW.js} +1 -1
- package/dist/assets/{learning-Bdi3XRS7.js → learning-CUCuuoHM.js} +1 -1
- package/dist/assets/mdi-Bt90Ns76.js +1 -0
- package/dist/assets/placement-CQy46H3H.js +1 -0
- package/dist/assets/publish-4r_4K5IY.js +3 -0
- package/dist/assets/publish-BFTsAMCF.css +1 -0
- package/dist/assets/pull-requests-BjwokcU0.css +1 -0
- package/dist/assets/pull-requests-DY9jg3cE.js +1 -0
- package/dist/assets/{repository-BL_2bgzC.js → repository-DhXdoMP6.js} +1 -1
- package/dist/assets/ripple-EFNA8EBu.js +11 -0
- package/dist/assets/rolldown-runtime-DBalRfVu.js +1 -0
- package/dist/assets/{session-BdhKrcX4.js → session-BGpiZThC.js} +1 -1
- package/dist/assets/{settings-1rpuL7eR.js → settings-Cj4u-76p.js} +1 -1
- package/dist/assets/settings-D8x4KUqV.css +1 -0
- package/dist/assets/shared-DZETtWRH.js +2 -0
- package/dist/assets/studioGateApi-BXHVBVEc.js +1 -0
- package/dist/assets/studioUrls-DpSS-0z1.js +1 -0
- package/dist/assets/useArchivedVibe64Sessions-BXNg8oES.js +1 -0
- package/dist/assets/useCommand-nWFczmJy.js +1 -0
- package/dist/assets/useEndpointResource-Ds8EDBZ2.js +1 -0
- package/dist/assets/useRealtimeEvent-DrOiU8lJ.js +1 -0
- package/dist/assets/{useUiFeedback-BPBF_0bp.js → useUiFeedback-CMwE4MLs.js} +1 -1
- package/dist/assets/useVibe64ConversationLog-C1xjhFtS.js +1 -0
- package/dist/assets/{useVibe64DatabaseTools-4o6S8eXq.js → useVibe64DatabaseTools-H6H-YJQX.js} +1 -1
- package/dist/assets/useVibe64ProjectScope-B5ogg6jd.js +1 -0
- package/dist/assets/useVibe64SessionData-CnDOFFHb.js +1 -0
- package/dist/assets/{useVibe64SessionSelection-BzL1y_Vq.js → useVibe64SessionSelection-J87nJ9p5.js} +1 -1
- package/dist/assets/{useVibe64SystemGraph-B4RmsC9Y.js → useVibe64SystemGraph-DbSfrYF8.js} +1 -1
- package/dist/assets/{useVibe64Terminal-Cg3idMcy.js → useVibe64Terminal-I7Sf6xMW.js} +1 -1
- package/dist/assets/vibe64ProjectScope.local-B06ABkhI.js +1 -0
- package/dist/assets/vibe64SavedEnvValues-B_QE9aAj.js +1 -0
- package/dist/assets/vibe64SessionFocus-CA-sk8Ri.css +1 -0
- package/dist/assets/vibe64SessionFocus-DlN8NwcE.js +1 -0
- package/dist/assets/{vibe64SessionInfo-BuBUdL-e.js → vibe64SessionInfo-B0uItVOK.js} +1 -1
- package/dist/assets/{vibe64SessionToolDefinitions-BJaJH5LR.js → vibe64SessionToolDefinitions-Dsn8WYmO.js} +1 -1
- package/dist/index.html +56 -46
- package/docs/colleague-usage/account-profile-and-appearance.md +1 -1
- package/docs/colleague-usage/{ai-accounts-and-routing.md → ai-accounts.md} +41 -114
- package/docs/colleague-usage/ai-model-setups.md +159 -0
- package/docs/colleague-usage/ai-onboarding.md +97 -22
- package/docs/colleague-usage/ai-personal-use.md +41 -0
- package/docs/colleague-usage/auto-workflow.md +8 -3
- package/docs/colleague-usage/codex-context-recovery.md +2 -1
- package/docs/colleague-usage/coding-agent-goals.md +7 -4
- package/docs/colleague-usage/coding-agents.md +8 -5
- package/docs/colleague-usage/colleague-watches.md +15 -4
- package/docs/colleague-usage/colleague.md +21 -5
- package/docs/colleague-usage/connected-contributions.md +13 -13
- package/docs/colleague-usage/connected-projects.md +2 -2
- package/docs/colleague-usage/conversation-context.md +1 -1
- package/docs/colleague-usage/dashboard-navigation.md +5 -3
- package/docs/colleague-usage/development-env.md +21 -4
- package/docs/colleague-usage/file-interfaces.md +1 -1
- package/docs/colleague-usage/github-work.md +8 -8
- package/docs/colleague-usage/health-checks.md +52 -18
- package/docs/colleague-usage/incoming-changes.md +3 -3
- package/docs/colleague-usage/integrations.md +5 -3
- package/docs/colleague-usage/learning-course-catalogue.md +3 -3
- package/docs/colleague-usage/learning-environment.md +78 -56
- package/docs/colleague-usage/learning-mode-ui.md +31 -19
- package/docs/colleague-usage/learning-practice-projects.md +15 -4
- package/docs/colleague-usage/learning-teacher-guide.md +10 -4
- package/docs/colleague-usage/learning-with-colleague.md +12 -8
- package/docs/colleague-usage/lesson-authoring.md +13 -13
- package/docs/colleague-usage/lesson-step-bar.md +47 -33
- package/docs/colleague-usage/main-chat-approvals.md +150 -0
- package/docs/colleague-usage/preview-browser-checks.md +5 -1
- package/docs/colleague-usage/preview-starting-application.md +10 -1
- package/docs/colleague-usage/project-language-tools.md +16 -2
- package/docs/colleague-usage/project-settings.md +1 -1
- package/docs/colleague-usage/project-setup.md +17 -7
- package/docs/colleague-usage/publishing.md +187 -0
- package/docs/colleague-usage/running-vibe64-on-your-computer.md +54 -6
- package/docs/colleague-usage/sessions.md +18 -10
- package/docs/colleague-usage/set-up-linux.md +254 -0
- package/docs/colleague-usage/set-up-macos.md +199 -0
- package/docs/colleague-usage/set-up-windows.md +76 -0
- package/docs/colleague-usage/starter-apps.md +23 -6
- package/docs/colleague-usage/teaching-content.md +2 -2
- package/docs/colleague-usage/team-ai-access.md +108 -0
- package/docs/colleague-usage/temporary-chats.md +9 -7
- package/docs/colleague-usage/workspace-preparation.md +50 -1
- package/docs/templates/learn-topic/README.md +3 -3
- package/docs/templates/learn-topic/training/lessons/TOPIC-01/lesson.json +2 -1
- package/docs/training-content.md +37 -15
- package/node_modules/@jskit-ai/assistant-core/package.json +1 -1
- package/node_modules/@jskit-ai/assistant-runtime/package.json +1 -1
- package/node_modules/@jskit-ai/assistant-voice/package.json +1 -1
- package/node_modules/@jskit-ai/connector-google-calendar/package.json +1 -1
- package/node_modules/@jskit-ai/connectors-catalog/package.json +1 -1
- package/node_modules/@jskit-ai/connectors-catalog/patterns/oauth-connection/PATTERN.md +25 -0
- package/node_modules/@jskit-ai/connectors-core/package.json +1 -1
- package/node_modules/@jskit-ai/http-runtime/package.json +1 -1
- package/node_modules/@jskit-ai/kernel/package.json +1 -1
- package/node_modules/@jskit-ai/realtime/package.json +1 -1
- package/node_modules/@jskit-ai/resource-core/package.json +1 -1
- package/node_modules/@jskit-ai/resource-crud-core/package.json +1 -1
- package/node_modules/@jskit-ai/uploads-runtime/package.json +1 -1
- package/node_modules/@local/vibe64-accounts/package.json +2 -1
- package/node_modules/@local/vibe64-core/package.json +4 -1
- package/node_modules/@local/vibe64-execution/src/host/execHelper.js +82 -81
- package/node_modules/@local/vibe64-genesis/bin/vibe64-genesis-host-context +83 -82
- package/node_modules/@local/vibe64-genesis/package.json +1 -0
- package/node_modules/@local/vibe64-genesis/src/server/agentSpecs.js +118 -68
- package/node_modules/@local/vibe64-genesis/src/server/index.js +536 -449
- package/node_modules/@local/vibe64-genesis/src/server/packaging.js +105 -0
- package/node_modules/@local/vibe64-genesis/src/server/promptContext.js +144 -145
- package/node_modules/@local/vibe64-packaging/package.json +26 -0
- package/node_modules/@local/vibe64-packaging/src/server/packers/capacitor/ShellIcons.java +112 -0
- package/node_modules/@local/vibe64-project/package.json +3 -1
- package/node_modules/@local/vibe64-publishing/package.json +12 -0
- package/node_modules/@local/vibe64-runtime/src/server/codexAppServerProcess.js +7 -7
- package/node_modules/@local/vibe64-runtime/src/shared/assistantRoutingScores.json +25 -22
- package/node_modules/@local/vibe64-terminals/package.json +2 -1
- package/node_modules/@local/vibe64-terminals/src/server/sessionWorkOperationCommand.js +1341 -1300
- package/node_modules/@local/vibe64-training/package.json +2 -1
- package/package.json +19 -15
- package/server.bundle.mjs +43109 -41089
- package/dist/assets/GithubBrowserTabs-C2NO5l8g.js +0 -1
- package/dist/assets/StudioErrorNotice-CSrUw1QV.js +0 -1
- package/dist/assets/VAlert-P256xaE0.js +0 -1
- package/dist/assets/VAutocomplete-BDb95qJX.js +0 -1
- package/dist/assets/VAvatar-DPzqDH4r.js +0 -1
- package/dist/assets/VBtn-B2MBK2DL.js +0 -1
- package/dist/assets/VCard-mXy0k4aS.js +0 -1
- package/dist/assets/VCheckbox-C7A1ZW4D.js +0 -1
- package/dist/assets/VChip-CcI-Oo2J.js +0 -1
- package/dist/assets/VDialog-Bu3EfKb1.js +0 -1
- package/dist/assets/VDivider-BMEqUoAB.js +0 -1
- package/dist/assets/VExpansionPanels-Dgjrop0V.js +0 -1
- package/dist/assets/VMenu-C_x18lwb.js +0 -1
- package/dist/assets/VOverlay-CeMZurIN.js +0 -1
- package/dist/assets/VRadioGroup-CUu2-KIP.js +0 -1
- package/dist/assets/VRow-Cpw7OHQV.js +0 -1
- package/dist/assets/VSelect-DL3HaA5m.js +0 -2
- package/dist/assets/VSheet-DZWsu0kL.js +0 -1
- package/dist/assets/VSkeletonLoader-CttxM1tw.js +0 -1
- package/dist/assets/VSpacer-Dhmsvk4t.js +0 -1
- package/dist/assets/VSwitch-BRHeDJkH.js +0 -1
- package/dist/assets/VTextField-BR2eZeFT.js +0 -1
- package/dist/assets/VTextField-BiatYyd3.css +0 -1
- package/dist/assets/VTextarea-DbqamXJd.js +0 -1
- package/dist/assets/Vibe64AuthSettingsButton-fY4ZiIFF.js +0 -5
- package/dist/assets/Vibe64DashboardPageHeader-Gm1IvlHx.css +0 -1
- package/dist/assets/Vibe64DashboardShell-BSq7uXEW.js +0 -1
- package/dist/assets/Vibe64OutputControls-_zhGX9ne.js +0 -8
- package/dist/assets/Vibe64SessionFiles-Bl8wJ5Sk.css +0 -1
- package/dist/assets/_slug_-BclonbST.js +0 -24
- package/dist/assets/_slug_-CZ1bxO9C.css +0 -1
- package/dist/assets/app-BNP_n_Tt.js +0 -1
- package/dist/assets/assistantRouting-D4XpXcEf.js +0 -3
- package/dist/assets/client-BWV84wi2.js +0 -2
- package/dist/assets/client-DGrP-2AJ.css +0 -1
- package/dist/assets/definitions-BrMvu6yV.js +0 -1
- package/dist/assets/env-BzRtyO0w.css +0 -1
- package/dist/assets/env-D3KQGvRe.js +0 -1
- package/dist/assets/health-BJvooRnJ.css +0 -1
- package/dist/assets/health-BhoO1d4h.js +0 -1
- package/dist/assets/incoming-DWDrmxyH.css +0 -1
- package/dist/assets/incoming-DzADFGqp.js +0 -2
- package/dist/assets/index-dNxr4Lg9.js +0 -138
- package/dist/assets/integrations-Cq1x-Di9.css +0 -1
- package/dist/assets/issues-Bywux4s7.js +0 -1
- package/dist/assets/mdi-CG9pWOSj.js +0 -1
- package/dist/assets/placement-BF-zIEhA.js +0 -1
- package/dist/assets/pull-requests-CdbhyFOv.css +0 -1
- package/dist/assets/pull-requests-ncmKT3sS.js +0 -1
- package/dist/assets/ripple-BVltMmyV.js +0 -11
- package/dist/assets/settings-BopLnpB0.css +0 -1
- package/dist/assets/shared-DpMvYJO3.js +0 -2
- package/dist/assets/studioGateApi-DcCqiD9V.js +0 -1
- package/dist/assets/studioUrls-DmMMIScP.js +0 -1
- package/dist/assets/useArchivedVibe64Sessions-_LB2XxEa.js +0 -1
- package/dist/assets/useCommand-Bqxb-naz.js +0 -1
- package/dist/assets/useEndpointResource-DWoQ2keu.js +0 -1
- package/dist/assets/useRealtimeEvent-Bwapstla.js +0 -1
- package/dist/assets/useVibe64ConversationLog-BqUI0S5n.js +0 -1
- package/dist/assets/useVibe64Learning-DyqXkpLw.js +0 -1
- package/dist/assets/useVibe64ProjectScope-Bp1ImZlz.js +0 -1
- package/dist/assets/useVibe64SessionData-B686lToN.js +0 -1
- package/dist/assets/vibe64SessionFocus-CqZNTvYF.js +0 -1
- package/dist/assets/vibe64SessionFocus-OJ2toBd9.css +0 -1
package/dist/assets/{Vibe64AuthSettingsButton-M44SSmZ9.css → Vibe64AuthSettingsButton-D2lltUhi.css}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
.vibe64-colleague-launcher-target[data-v-8e7b0e92]{flex:none;min-width:48px;height:48px;display:flex}.vibe64-learning-button[data-v-b7f22fcd]{--v64-plate-ink:#1d1600;border-radius:var(--v64-shape-sm);margin-left:var(--v64-space-3);transition:background-color var(--v64-duration-short) var(--v64-ease-standard), border-color var(--v64-duration-short) var(--v64-ease-standard), box-shadow var(--v64-duration-medium) var(--v64-ease-standard), color var(--v64-duration-short) var(--v64-ease-standard), transform var(--v64-duration-short) var(--v64-ease-standard);flex:none;font-family:system-ui,sans-serif;font-size:1.05rem;font-weight:850;line-height:1;position:relative;background:var(--v64-surface-container-low)!important;border:1.5px solid var(--v64-outline)!important;color:var(--v64-on-surface-variant)!important}@media (hover:hover){.vibe64-learning-button[data-v-b7f22fcd]:hover{background:var(--v64-learning-container)!important;border-color:var(--v64-learning-strong)!important;color:var(--v64-on-learning-container)!important}}.vibe64-learning-button[data-v-b7f22fcd]:active{transform:scale(.94)}.vibe64-learning-button--active[data-v-b7f22fcd],.vibe64-learning-button--active[data-v-b7f22fcd]:hover{animation:vibe64-learning-button-pop-b7f22fcd var(--v64-duration-long) var(--v64-ease-emphasized-decelerate);box-shadow:0 0 0 3px var(--v64-learning-glow), var(--v64-elevation-1);background:linear-gradient(150deg, #ffe680 0%, var(--v64-learning) 55%, #f0b400 100%)!important;border-color:var(--v64-plate-ink)!important;color:var(--v64-plate-ink)!important}.vibe64-learning-button[data-v-b7f22fcd]:focus-visible{outline:var(--v64-focus-ring-width) solid var(--v64-focus-ring-color);outline-offset:3px}@keyframes vibe64-learning-button-pop-b7f22fcd{0%{transform:scale(.82)rotate(-8deg)}60%{transform:scale(1.08)rotate(2deg)}to{transform:scale(1)rotate(0)}}@media (prefers-reduced-motion:reduce){.vibe64-learning-button[data-v-b7f22fcd],.vibe64-learning-button--active[data-v-b7f22fcd]{transition:none;animation:none}}@media (width<=600px){.vibe64-learning-button[data-v-b7f22fcd]{height:2.5rem;margin-left:var(--v64-space-1);width:2.5rem}}body.studio-home-shell-active{overflow:hidden}body.studio-home-shell-active .v-application,body.studio-home-shell-active .v-application__wrap{height:100dvh;min-height:100dvh;overflow:hidden}body.studio-home-shell-active .v-main{min-height:0;overflow:hidden}body.studio-home-shell-active .shell-layout__content{box-sizing:border-box;height:calc(100dvh - var(--v-layout-top,0px) - var(--v-layout-bottom,0px));flex-direction:column;min-height:0;padding:.35rem 0 0;display:flex;overflow:hidden}body.studio-home-shell-active .shell-error-host__banners{width:min(30rem,100vw);left:auto;right:0}body.studio-home-shell-active .shell-error-host__banner-stack{width:100%}.studio-app-shell-layout__content[data-v-9bb3215c]{padding:.75rem .75rem 0}.studio-app-shell-layout--fill-viewport[data-v-9bb3215c]{height:100dvh;overflow:hidden}.studio-app-shell-layout__content--fill-viewport[data-v-9bb3215c]{box-sizing:border-box;height:calc(100dvh - var(--v-layout-top,0px) - var(--v-layout-bottom,0px));flex-direction:column;min-height:0;padding:0;display:flex;overflow:hidden}.shell-layout__app-bar[data-v-9bb3215c]{border-bottom-color:var(--v64-outline-variant)!important}@media (width<=600px){.studio-app-shell-layout__top-right[data-v-9bb3215c]{gap:0;margin-left:auto}.shell-layout__app-bar .v-spacer[data-v-9bb3215c]{display:none}.studio-app-shell-layout__top-right[data-v-9bb3215c]>button:disabled{width:1rem!important}.studio-app-shell-layout__top-right[data-v-9bb3215c] .vibe64-auth-settings{margin-inline-end:var(--v64-space-1)}.studio-app-shell-layout__top-right[data-v-9bb3215c] .vibe64-auth-settings__button,.studio-app-shell-layout__top-right[data-v-9bb3215c] .vibe64-colleague-launcher-target>.v-btn{flex-basis:2.5rem;min-width:2.5rem;min-height:2.5rem;width:2.5rem!important;height:2.5rem!important}}.studio-app-shell-layout__top-right[data-v-9bb3215c]{flex:none;align-items:center;gap:.25rem;min-width:0;display:flex}.vibe64-auth-settings[data-v-
|
|
1
|
+
.vibe64-colleague-launcher-target[data-v-8e7b0e92]{flex:none;min-width:48px;height:48px;display:flex}.vibe64-learning-button[data-v-b7f22fcd]{--v64-plate-ink:#1d1600;border-radius:var(--v64-shape-sm);margin-left:var(--v64-space-3);transition:background-color var(--v64-duration-short) var(--v64-ease-standard), border-color var(--v64-duration-short) var(--v64-ease-standard), box-shadow var(--v64-duration-medium) var(--v64-ease-standard), color var(--v64-duration-short) var(--v64-ease-standard), transform var(--v64-duration-short) var(--v64-ease-standard);flex:none;font-family:system-ui,sans-serif;font-size:1.05rem;font-weight:850;line-height:1;position:relative;background:var(--v64-surface-container-low)!important;border:1.5px solid var(--v64-outline)!important;color:var(--v64-on-surface-variant)!important}@media (hover:hover){.vibe64-learning-button[data-v-b7f22fcd]:hover{background:var(--v64-learning-container)!important;border-color:var(--v64-learning-strong)!important;color:var(--v64-on-learning-container)!important}}.vibe64-learning-button[data-v-b7f22fcd]:active{transform:scale(.94)}.vibe64-learning-button--active[data-v-b7f22fcd],.vibe64-learning-button--active[data-v-b7f22fcd]:hover{animation:vibe64-learning-button-pop-b7f22fcd var(--v64-duration-long) var(--v64-ease-emphasized-decelerate);box-shadow:0 0 0 3px var(--v64-learning-glow), var(--v64-elevation-1);background:linear-gradient(150deg, #ffe680 0%, var(--v64-learning) 55%, #f0b400 100%)!important;border-color:var(--v64-plate-ink)!important;color:var(--v64-plate-ink)!important}.vibe64-learning-button[data-v-b7f22fcd]:focus-visible{outline:var(--v64-focus-ring-width) solid var(--v64-focus-ring-color);outline-offset:3px}@keyframes vibe64-learning-button-pop-b7f22fcd{0%{transform:scale(.82)rotate(-8deg)}60%{transform:scale(1.08)rotate(2deg)}to{transform:scale(1)rotate(0)}}@media (prefers-reduced-motion:reduce){.vibe64-learning-button[data-v-b7f22fcd],.vibe64-learning-button--active[data-v-b7f22fcd]{transition:none;animation:none}}@media (width<=600px){.vibe64-learning-button[data-v-b7f22fcd]{height:2.5rem;margin-left:var(--v64-space-1);width:2.5rem}}body.studio-home-shell-active{overflow:hidden}body.studio-home-shell-active .v-application,body.studio-home-shell-active .v-application__wrap{height:100dvh;min-height:100dvh;overflow:hidden}body.studio-home-shell-active .v-main{min-height:0;overflow:hidden}body.studio-home-shell-active .shell-layout__content{box-sizing:border-box;height:calc(100dvh - var(--v-layout-top,0px) - var(--v-layout-bottom,0px));flex-direction:column;min-height:0;padding:.35rem 0 0;display:flex;overflow:hidden}body.studio-home-shell-active .shell-error-host__banners{width:min(30rem,100vw);left:auto;right:0}body.studio-home-shell-active .shell-error-host__banner-stack{width:100%}.studio-app-shell-layout__content[data-v-9bb3215c]{padding:.75rem .75rem 0}.studio-app-shell-layout--fill-viewport[data-v-9bb3215c]{height:100dvh;overflow:hidden}.studio-app-shell-layout__content--fill-viewport[data-v-9bb3215c]{box-sizing:border-box;height:calc(100dvh - var(--v-layout-top,0px) - var(--v-layout-bottom,0px));flex-direction:column;min-height:0;padding:0;display:flex;overflow:hidden}.shell-layout__app-bar[data-v-9bb3215c]{border-bottom-color:var(--v64-outline-variant)!important}@media (width<=600px){.studio-app-shell-layout__top-right[data-v-9bb3215c]{gap:0;margin-left:auto}.shell-layout__app-bar .v-spacer[data-v-9bb3215c]{display:none}.studio-app-shell-layout__top-right[data-v-9bb3215c]>button:disabled{width:1rem!important}.studio-app-shell-layout__top-right[data-v-9bb3215c] .vibe64-auth-settings{margin-inline-end:var(--v64-space-1)}.studio-app-shell-layout__top-right[data-v-9bb3215c] .vibe64-auth-settings__button,.studio-app-shell-layout__top-right[data-v-9bb3215c] .vibe64-colleague-launcher-target>.v-btn{flex-basis:2.5rem;min-width:2.5rem;min-height:2.5rem;width:2.5rem!important;height:2.5rem!important}}.studio-app-shell-layout__top-right[data-v-9bb3215c]{flex:none;align-items:center;gap:.25rem;min-width:0;display:flex}.vibe64-auth-settings[data-v-c4612046]{flex:none;justify-content:center;align-items:center;margin-inline-end:.75rem;display:inline-flex}.vibe64-auth-settings__button[data-v-c4612046]{border:1px solid var(--studio-control-border,rgba(var(--v-theme-on-surface), .12));box-shadow:none;width:2.75rem;min-width:2.75rem;height:2.75rem;min-height:2.75rem;position:relative;overflow:visible;background:var(--studio-control-rest-bg,rgb(var(--v-theme-surface-variant)))!important;color:var(--studio-control-text,rgb(var(--v-theme-on-surface)))!important}.vibe64-auth-settings__button[data-v-c4612046] .v-btn__overlay,.vibe64-auth-settings__button[data-v-c4612046] .v-btn__underlay{border-radius:50%}.vibe64-auth-settings__button--needs-attention[data-v-c4612046]{border-color:rgb(var(--v-theme-warning));background:rgba(var(--v-theme-warning), .18)!important;color:rgb(var(--v-theme-warning))!important}.vibe64-auth-settings__button--needs-attention[data-v-c4612046]:after{border-radius:inherit;content:"";opacity:0;pointer-events:none;transform-origin:50%;will-change:opacity, transform;border:2px solid;animation:6s ease-out infinite vibe64-auth-settings-pulse-c4612046;position:absolute;inset:-.2rem;transform:scale(1)translateZ(0)}.vibe64-auth-settings__dialog[data-v-c4612046]{flex-direction:column;max-height:min(88vh,54rem);display:flex;overflow:hidden}.vibe64-auth-settings__dialog--fullscreen[data-v-c4612046]{max-height:none}.vibe64-auth-settings__dialog-title[data-v-c4612046]{white-space:normal;justify-content:flex-end;align-items:start;gap:1rem;padding:1rem 1rem .75rem;display:flex;overflow:visible}.vibe64-auth-settings__dialog-title>div[data-v-c4612046]{flex:auto;min-width:0}.vibe64-auth-settings__dialog-title h2[data-v-c4612046]{letter-spacing:0;margin:0;font-size:1.08rem;font-weight:760;line-height:1.2}.vibe64-auth-settings__dialog-title p[data-v-c4612046]{color:rgba(var(--v-theme-on-surface), .66);margin:.18rem 0 0;font-size:.86rem;font-weight:400;line-height:1.35}.vibe64-auth-settings__provider-tabs[data-v-c4612046]{flex:none;padding-inline:.75rem}.vibe64-auth-settings__provider-tab[data-v-c4612046]{min-width:8.5rem}.vibe64-auth-settings__provider-attention[data-v-c4612046]{background:rgb(var(--v-theme-warning));border-radius:999px;width:.48rem;height:.48rem;margin-inline-start:.45rem;display:inline-block}.vibe64-auth-settings__dialog-body[data-v-c4612046]{flex:auto;padding:1rem;overflow:auto}.vibe64-personal-profile__appearance[data-v-c4612046]{margin-top:1.5rem}.vibe64-personal-profile__appearance-choice[data-v-c4612046]{margin-top:.5rem}.vibe64-personal-profile[data-v-c4612046]{gap:1rem;max-width:38rem;display:grid}.vibe64-personal-profile__heading h3[data-v-c4612046]{margin:0;font-size:1rem;font-weight:720;line-height:1.35}.vibe64-personal-profile__heading p[data-v-c4612046],.vibe64-personal-profile__supporting-text[data-v-c4612046]{color:rgba(var(--v-theme-on-surface), .66);margin:.2rem 0 0;font-size:.82rem;line-height:1.4}.vibe64-personal-profile__actions[data-v-c4612046]{justify-content:flex-end;display:flex}.vibe64-personal-profile__save[data-v-c4612046]{min-width:7.5rem;min-height:3rem}@media (pointer:coarse){.vibe64-auth-settings__button[data-v-c4612046],.vibe64-auth-settings__provider-tab[data-v-c4612046]{min-height:3rem}}@keyframes vibe64-auth-settings-pulse-c4612046{0%{opacity:.5;transform:scale(1)translateZ(0)}14%{opacity:0;transform:scale(1.34)translateZ(0)}to{opacity:0;transform:scale(1.34)translateZ(0)}}@media (prefers-reduced-motion:reduce){.vibe64-auth-settings__button--needs-attention[data-v-c4612046]:after{animation:none}}@media (width<=720px){.vibe64-auth-settings__dialog[data-v-c4612046]{max-height:100vh}.vibe64-auth-settings__provider-tab[data-v-c4612046]{min-width:7.25rem}.vibe64-auth-settings__dialog-body[data-v-c4612046]{padding:.85rem}}@media (width<=599.98px){.vibe64-auth-settings__provider-tabs[data-v-c4612046]{padding-inline:0}.vibe64-auth-settings__provider-tab[data-v-c4612046]{min-width:0;position:relative}.vibe64-auth-settings__provider-attention[data-v-c4612046]{margin:0;position:absolute;top:.55rem;left:calc(50% + .6rem)}}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import{D as createVNode,E as createTextVNode,Ht as watch,J as inject,On as unref,Zn as normalizeClass,_ as createBaseVNode,b as createElementBlock,bt as renderList,ct as onMounted,et as mergeProps,g as computed,it as onBeforeUnmount,mt as openBlock,o as Fragment,qt as withCtx,tr as toDisplayString,tt as nextTick,v as createBlock,vn as ref,xt as renderSlot,y as createCommentVNode}from"./runtime-core.esm-bundler-DGXg_mpN.js";import{or as withKeys,ot as useDisplay,sr as withModifiers,tt as useTheme}from"./ripple-EFNA8EBu.js";import{n as VList,s as VListItem,t as VMenu}from"./VMenu-CDcBLYWR.js";import{t as VTextField}from"./VTextField-C0b_0cSa.js";import{o as VIBE64_COLLEAGUE_LAUNCHER_KEY}from"./vibe64AssistantHost-CP6oxv5b.js";import{An as mdiMapMarkerPath,D as mdiAutoFix,In as mdiMonitor,Jr as mdiWeatherSunny,Kt as mdiGithub,X as mdiClose,c as mdiAccountOutline,qr as mdiWeatherNight,r as mdiAccountCogOutline,sr as mdiRobotOutline}from"./mdi-Bt90Ns76.js";import{i as VBtnToggle,t as VBtn}from"./VBtn-BhVEwXLX.js";import{t as VDivider}from"./VDivider-Dq25WsKu.js";import{t as VDialog}from"./VDialog-CQDhjRiV.js";import{i as VCardTitle,n as VCardText,t as VCard}from"./VCard-C3Hx769y.js";import{t as VSpacer}from"./VSpacer-CgWOWvBh.js";import{c as aiOnboardingNeeded,d as AiSetup_default,g as ProviderAccountsSetup_default,h as useVibe64Accounts,l as onVibe64AiOnboardingRequested,n as accountRowsForStatus,o as aiOnboardingAvailable,r as AiOnboardingSetUpPill_default,s as aiOnboardingBlocked,u as requestVibe64AiOnboarding}from"./client-BxGiylrJ.js";import{t as _plugin_vue_export_helper_default}from"./_plugin-vue_export-helper-DNW4j-dv.js";import{Jt as VTab,Xt as VMain,Zt as VContainer,n as writeAppearance,o as _sfc_main$4,qt as VTabs,t as readAppearance,tn as VAppBar,v as useVibe64Learning,x as onVibe64AccountConnectionsDialogRequested}from"./index-Mxalhei8.js";var _sfc_main$3={__name:`Vibe64ColleagueLauncherTarget`,setup(__props){const target=inject(VIBE64_COLLEAGUE_LAUNCHER_KEY,null);const enabled=Boolean(target);let currentElement;function setTarget(element){if(element)target.value=element;else if(target.value===currentElement)target.value=null;currentElement=element}return(_ctx,_cache)=>{return unref(enabled)?(openBlock(),createElementBlock(`div`,{key:0,ref:setTarget,class:`vibe64-colleague-launcher-target`},null,512)):createCommentVNode(``,true)}}};var Vibe64ColleagueLauncherTarget_default=_plugin_vue_export_helper_default(_sfc_main$3,[[`__scopeId`,`data-v-8e7b0e92`]]);var _sfc_main$2=Object.assign({inheritAttrs:false},{__name:`Vibe64LearningButton`,setup(__props){const learning=useVibe64Learning();const available=computed(()=>Boolean(learning?.state.actorKey));const learn=computed(()=>Boolean(learning?.learnMode));const switching=computed(()=>learning?.state.modeBusy===`set`);const title=computed(()=>learn.value?`Back to Develop (your projects)`:`Switch to Learn`);return(_ctx,_cache)=>{return available.value?(openBlock(),createBlock(VBtn,mergeProps({key:0},_ctx.$attrs,{class:[`vibe64-learning-button`,{"vibe64-learning-button--active":learn.value}],"aria-label":`Learn mode`,"aria-pressed":learn.value,title:title.value,"data-vibe64-guide":`learning`,density:`comfortable`,icon:``,size:`small`,disabled:switching.value,variant:learn.value?`flat`:`outlined`,onClick:_cache[0]||(_cache[0]=$event=>unref(learning).toggleMode())}),{default:withCtx(()=>[..._cache[1]||(_cache[1]=[createBaseVNode(`span`,{"aria-hidden":`true`},`L`,-1)])]),_:1},16,[`class`,`aria-pressed`,`title`,`disabled`,`variant`])):createCommentVNode(``,true)}}});var Vibe64LearningButton_default=_plugin_vue_export_helper_default(_sfc_main$2,[[`__scopeId`,`data-v-b7f22fcd`]]);var _hoisted_1$1={class:`studio-app-shell-layout__top-right`};var SWIPE_MIN_DISTANCE_PX=64;var SWIPE_INTENT_DISTANCE_PX=12;var SWIPE_MAX_DURATION_MS=700;var SWIPE_HORIZONTAL_RATIO=2;var BROWSER_GESTURE_EDGE_PX=24;var _sfc_main$1={__name:`StudioAppShellLayout`,props:{mobilePaneSwipeEnabled:Boolean,chatCollapsed:Boolean,fillViewport:Boolean},emits:[`update:chatCollapsed`],setup(__props,{emit:__emit}){const props=__props;const emit=__emit;let paneSwipe=null;watch(()=>[props.mobilePaneSwipeEnabled,props.chatCollapsed],cancelPaneSwipe);function cancelPaneSwipe(){paneSwipe=null}function startPaneSwipe(event,header=false){cancelPaneSwipe();if(!props.mobilePaneSwipeEnabled||event.defaultPrevented||event.touches.length!==1||window.getSelection()?.isCollapsed===false)return;const target=event.target;if(target.closest(`
|
|
2
|
+
input, textarea, select, [contenteditable]:not([contenteditable="false"]),
|
|
3
|
+
[role="textbox"], [role="slider"], [role="separator"], [role="dialog"], [role="menu"],
|
|
4
|
+
[draggable="true"], canvas, iframe, video, audio, .cm-editor, .xterm, [data-pane-swipe-ignore]
|
|
5
|
+
`))return;if(!header&&target.closest(`a, button, [role="button"], svg`))return;for(let node=target;node;node=node.parentElement){const style=window.getComputedStyle(node);if(style.touchAction===`none`||style.touchAction.startsWith(`pan-`))return;if(node.scrollWidth>node.clientWidth+1&&/^(auto|scroll)$/u.test(style.overflowX))return;if(node===event.currentTarget)break}const touch=event.touches[0];if(touch.clientX<BROWSER_GESTURE_EDGE_PX||touch.clientX>window.innerWidth-BROWSER_GESTURE_EDGE_PX)return;paneSwipe={id:touch.identifier,x:touch.clientX,y:touch.clientY,startedAt:event.timeStamp,chatCollapsed:props.chatCollapsed}}function movePaneSwipe(event){if(!paneSwipe)return;if(!props.mobilePaneSwipeEnabled||event.defaultPrevented||event.touches.length!==1||event.timeStamp-paneSwipe.startedAt>SWIPE_MAX_DURATION_MS){cancelPaneSwipe();return}const touch=event.touches[0];const horizontalDistance=Math.abs(touch.clientX-paneSwipe.x);const verticalDistance=Math.abs(touch.clientY-paneSwipe.y);if(touch.identifier!==paneSwipe.id||verticalDistance>SWIPE_INTENT_DISTANCE_PX&&horizontalDistance<verticalDistance*SWIPE_HORIZONTAL_RATIO){cancelPaneSwipe();return}if(!(horizontalDistance>SWIPE_INTENT_DISTANCE_PX&&horizontalDistance>=verticalDistance*SWIPE_HORIZONTAL_RATIO))return;if(!event.cancelable){cancelPaneSwipe();return}event.preventDefault()}function endPaneSwipe(event){const swipe=paneSwipe;cancelPaneSwipe();if(!swipe||!props.mobilePaneSwipeEnabled||event.defaultPrevented||event.touches.length||props.chatCollapsed!==swipe.chatCollapsed||event.timeStamp-swipe.startedAt>SWIPE_MAX_DURATION_MS||window.getSelection()?.isCollapsed===false)return;const touch=Array.from(event.changedTouches).find(item=>item.identifier===swipe.id);if(!touch)return;const dx=touch.clientX-swipe.x;const horizontalDistance=Math.abs(dx);const verticalDistance=Math.abs(touch.clientY-swipe.y);if(horizontalDistance<SWIPE_MIN_DISTANCE_PX||horizontalDistance<verticalDistance*SWIPE_HORIZONTAL_RATIO)return;if(event.cancelable)event.preventDefault();emit(`update:chatCollapsed`,dx<0)}return(_ctx,_cache)=>{return openBlock(),createElementBlock(Fragment,null,[createVNode(VAppBar,{border:``,class:`shell-layout__app-bar bg-surface`,density:`comfortable`,elevation:`0`,"data-testid":`jskit-shell-app-bar`,onTouchstartPassive:_cache[0]||(_cache[0]=$event=>startPaneSwipe($event,true)),onTouchmove:movePaneSwipe,onTouchend:endPaneSwipe,onTouchcancel:cancelPaneSwipe},{default:withCtx(()=>[createVNode(Vibe64LearningButton_default,{class:`studio-app-shell-layout__learning-plate`}),renderSlot(_ctx.$slots,`top-left`,{},void 0,true),createVNode(VSpacer),createBaseVNode(`div`,_hoisted_1$1,[createVNode(unref(_sfc_main$4),{target:`shell-layout:top-right`}),renderSlot(_ctx.$slots,`top-right`,{},void 0,true),createVNode(Vibe64ColleagueLauncherTarget_default)])]),_:3}),createVNode(VMain,{class:normalizeClass([`bg-background`,{"studio-app-shell-layout--fill-viewport":__props.fillViewport}])},{default:withCtx(()=>[createVNode(VContainer,{fluid:``,class:normalizeClass([`shell-layout__content studio-app-shell-layout__content`,{"studio-app-shell-layout__content--fill-viewport":__props.fillViewport}]),onTouchstartPassive:startPaneSwipe,onTouchmove:movePaneSwipe,onTouchend:endPaneSwipe,onTouchcancel:cancelPaneSwipe},{default:withCtx(()=>[renderSlot(_ctx.$slots,`default`,{},void 0,true)]),_:3},8,[`class`])]),_:3},8,[`class`])],64)}}};var StudioAppShellLayout_default=_plugin_vue_export_helper_default(_sfc_main$1,[[`__scopeId`,`data-v-9bb3215c`]]);var VIBE64_PREFERRED_NAME_MAX_LENGTH=80;function normalizePreferredNameDraft(value=``){return String(value||``).normalize(`NFC`).replace(/\s+/gu,` `).trim()}function preferredNameDraftState(value=``){const preferredName=normalizePreferredNameDraft(value);const length=[...preferredName].length;let error=``;if(/\p{Cc}/u.test(preferredName))error=`Name cannot contain control characters.`;else if(length>80)error=`Name cannot exceed ${80} characters.`;return{error,length,preferredName,valid:!error}}var _hoisted_1={key:0,class:`vibe64-auth-settings__provider-attention`,"aria-label":`Needs attention`};var _hoisted_2={key:0,class:`vibe64-personal-profile`,"aria-labelledby":`vibe64-personal-profile-title`};var _hoisted_3={class:`vibe64-personal-profile__actions`};var _sfc_main={__name:`Vibe64AuthSettingsButton`,setup(__props){const accountProviderOptions=Object.freeze([{icon:mdiRobotOutline,id:`ai`,label:`AI Accounts`},{icon:mdiGithub,id:`github`,label:`GitHub`}]);const providerOptions=computed(()=>[...personalProfileAvailable.value?[{icon:mdiAccountOutline,id:`profile`,label:`You`}]:[],...accountProviderOptions]);const dialogOpen=ref(false);const root=ref(null);const learning=useVibe64Learning();const theme=useTheme();const{smAndDown,xs}=useDisplay();const appearance=ref(readAppearance());const appearanceChoices=Object.freeze([{icon:mdiWeatherSunny,label:`Light`,value:`light`},{icon:mdiWeatherNight,label:`Dark`,value:`dark`},{icon:mdiMonitor,label:`System`,value:`system`}]);function chooseAppearance(value){if(!value)return;appearance.value=value;theme.change(value);writeAppearance(value)}const selectedProviderId=ref(`ai`);const aiSetup=ref(null);const aiFocus=ref(``);const aiConnectionsBusy=ref(false);const accounts=useVibe64Accounts();const preferredNameField=ref(null);const preferredNameDraft=ref(``);const preferredNameSaving=computed(()=>accounts.savePersonalAiProfileCommand.isRunning===true);const personalProfile=computed(()=>accounts.status.value?.personalProfile||null);const personalProfileAvailable=computed(()=>personalProfile.value?.available===true);const preferredNameValidation=computed(()=>preferredNameDraftState(preferredNameDraft.value));const preferredNameChanged=computed(()=>preferredNameValidation.value.preferredName!==String(personalProfile.value?.preferredName||``));const statusLoaded=computed(()=>{return Boolean(accounts.status.value&&Array.isArray(accounts.status.value.accounts))});const allAccountRows=computed(()=>{return accountRowsForStatus(accounts.status.value,[`github`],{includeFallbackRows:false})});const selectedAccountRows=computed(()=>{return accountRowsForStatus(accounts.status.value,[selectedProviderId.value],{includeFallbackRows:true})});const selectedProvider=computed(()=>{return providerOptions.value.find(provider=>provider.id===selectedProviderId.value)||providerOptions.value[0]});const selectedProviderTitle=computed(()=>{return`${selectedProvider.value.label} Connection`});const selectedProviderLede=computed(()=>{if(selectedProvider.value.id===`github`)return`Configure the GitHub account and Git identity used by this local Vibe64 editor.`;return`Connect the AI accounts used by this Vibe64 editor.`});const credentialsNeedAttention=computed(()=>{if(!statusLoaded.value||aiOnboardingNeeded.value)return false;return allAccountRows.value.some(account=>account.connected!==true)});function normalizeProviderId(providerId=``){const normalized=String(providerId||``).trim();return providerOptions.value.some(provider=>provider.id===normalized)?normalized:``}async function openDialog(options={}){const profileRequested=String(options.section||``).trim()===`profile`;const requestedAi=options.codexReconnectRequired===true?`codex`:String(options.providerId||``).trim();const requestedProviderId=normalizeProviderId(requestedAi)||(requestedAi?`ai`:``);aiFocus.value=``;if(requestedProviderId)selectedProviderId.value=requestedProviderId;dialogOpen.value=true;if(profileRequested)await accounts.reloadLocalStatus();else if(options.codexReconnectRequired===true)await accounts.reloadLocalStatus();else if(options.refresh!==false)await accounts.refresh();if(profileRequested&&personalProfileAvailable.value){selectedProviderId.value=`profile`;await focusPreferredName();return}if(requestedProviderId){selectedProviderId.value=requestedProviderId;await nextTick();if(requestedProviderId===`ai`&&String(options.section||``)===`team`)aiFocus.value=`team`;if(requestedProviderId===`ai`&&requestedAi!==`ai`)aiSetup.value?.openProvider(requestedAi,options);return}selectedProviderId.value=`ai`}async function focusPreferredName(){await nextTick();preferredNameField.value?.focus?.()}async function savePreferredName(){if(preferredNameSaving.value||!preferredNameChanged.value||!preferredNameValidation.value.valid)return;await accounts.savePersonalAiProfile({preferredName:preferredNameValidation.value.preferredName})}function providerNeedsAttention(providerId=``){return allAccountRows.value.some(account=>account.id===providerId&&account.connected!==true)}function handleAccountConnectionsDialogRequest(event){openDialog(event?.detail||{})}function activatorElement(){return root.value?.querySelector(`.vibe64-auth-settings__button`)||null}function redoOnboarding(){requestVibe64AiOnboarding({start:`choose`,redo:true,returnFocus:activatorElement()})}function handleAiOnboardingRequest(event){if(!dialogOpen.value)return;dialogOpen.value=false;if(event?.detail&&!event.detail.returnFocus)event.detail.returnFocus=activatorElement()}let disposeAccountConnectionsDialogRequest=()=>null;let disposeAiOnboardingRequest=()=>null;onMounted(()=>{disposeAccountConnectionsDialogRequest=onVibe64AccountConnectionsDialogRequested(handleAccountConnectionsDialogRequest);disposeAiOnboardingRequest=onVibe64AiOnboardingRequested(handleAiOnboardingRequest)});onBeforeUnmount(()=>{disposeAccountConnectionsDialogRequest();disposeAiOnboardingRequest();aiOnboardingBlocked.value=false});watch(()=>dialogOpen.value&&aiConnectionsBusy.value,blocked=>{aiOnboardingBlocked.value=blocked});watch(()=>personalProfile.value?.preferredName,preferredName=>{preferredNameDraft.value=String(preferredName||``)},{immediate:true});return(_ctx,_cache)=>{return openBlock(),createElementBlock(`div`,{ref_key:`root`,ref:root,class:`vibe64-auth-settings`},[createVNode(unref(AiOnboardingSetUpPill_default)),createVNode(VMenu,{location:`bottom end`},{activator:withCtx(({props:menuProps})=>[createVNode(VBtn,mergeProps(menuProps,{class:[`vibe64-auth-settings__button`,credentialsNeedAttention.value?`vibe64-auth-settings__button--needs-attention`:``],density:`comfortable`,icon:unref(mdiAccountCogOutline),size:`large`,title:`Account`,type:`button`,variant:`tonal`,"aria-label":`Account menu`,"data-vibe64-guide":`account-menu`}),null,16,[`class`,`icon`])]),default:withCtx(()=>[createVNode(VList,{class:`vibe64-auth-settings__menu`,density:`comfortable`},{default:withCtx(()=>[createVNode(VListItem,{"prepend-icon":unref(mdiAccountCogOutline),title:`Account settings`,"data-vibe64-guide":`account-settings`,onClick:_cache[0]||(_cache[0]=$event=>openDialog())},null,8,[`prepend-icon`]),unref(aiOnboardingAvailable)?(openBlock(),createBlock(VListItem,{key:0,"prepend-icon":unref(mdiAutoFix),subtitle:`Choose or switch your AI`,title:`Redo onboarding`,"data-vibe64-guide":`ai-setup`,onClick:redoOnboarding},null,8,[`prepend-icon`])):createCommentVNode(``,true),unref(learning)?(openBlock(),createBlock(VListItem,{key:1,"prepend-icon":unref(mdiMapMarkerPath),subtitle:`A short lesson on the screens around you`,title:`Take the tour`,"data-test":`take-the-tour`,onClick:_cache[1]||(_cache[1]=$event=>unref(learning).openOrientation())},null,8,[`prepend-icon`])):createCommentVNode(``,true)]),_:1})]),_:1}),createVNode(VDialog,{modelValue:dialogOpen.value,"onUpdate:modelValue":_cache[6]||(_cache[6]=$event=>dialogOpen.value=$event),fullscreen:unref(smAndDown),persistent:aiConnectionsBusy.value,"max-width":`1120`,scrollable:``},{default:withCtx(()=>[createVNode(VCard,{class:normalizeClass([`vibe64-auth-settings__dialog`,{"vibe64-auth-settings__dialog--fullscreen":unref(smAndDown)}]),rounded:unref(smAndDown)?0:`lg`},{default:withCtx(()=>[createVNode(VCardTitle,{class:`vibe64-auth-settings__dialog-title`},{default:withCtx(()=>[_cache[7]||(_cache[7]=createBaseVNode(`div`,null,[createBaseVNode(`h2`,null,`Account settings`),createBaseVNode(`p`,null,`Choose how Vibe64 identifies you and connect its coding tools.`)],-1)),createVNode(VBtn,{density:`comfortable`,icon:unref(mdiClose),title:`Close account settings`,disabled:aiConnectionsBusy.value,type:`button`,variant:`text`,"aria-label":`Close account settings`,onClick:_cache[2]||(_cache[2]=$event=>dialogOpen.value=false)},null,8,[`icon`,`disabled`])]),_:1}),createVNode(VTabs,{modelValue:selectedProviderId.value,"onUpdate:modelValue":_cache[3]||(_cache[3]=$event=>selectedProviderId.value=$event),class:`vibe64-auth-settings__provider-tabs`,color:`primary`,density:`comfortable`,grow:unref(xs),"show-arrows":!unref(xs),stacked:unref(xs)},{default:withCtx(()=>[(openBlock(true),createElementBlock(Fragment,null,renderList(providerOptions.value,provider=>{return openBlock(),createBlock(VTab,{key:provider.id,class:`vibe64-auth-settings__provider-tab`,"prepend-icon":provider.icon,value:provider.id,disabled:aiConnectionsBusy.value},{default:withCtx(()=>[createTextVNode(toDisplayString(provider.label)+` `,1),providerNeedsAttention(provider.id)?(openBlock(),createElementBlock(`span`,_hoisted_1)):createCommentVNode(``,true)]),_:2},1032,[`prepend-icon`,`value`,`disabled`])}),128))]),_:1},8,[`modelValue`,`grow`,`show-arrows`,`stacked`]),createVNode(VDivider),createVNode(VCardText,{class:`vibe64-auth-settings__dialog-body`},{default:withCtx(()=>[selectedProviderId.value===`profile`?(openBlock(),createElementBlock(`section`,_hoisted_2,[_cache[8]||(_cache[8]=createBaseVNode(`div`,{class:`vibe64-personal-profile__heading`},[createBaseVNode(`h3`,{id:`vibe64-personal-profile-title`},`Your profile`),createBaseVNode(`p`,null,`You — all projects`)],-1)),createVNode(VTextField,{ref_key:`preferredNameField`,ref:preferredNameField,modelValue:preferredNameDraft.value,"onUpdate:modelValue":_cache[4]||(_cache[4]=$event=>preferredNameDraft.value=$event),"data-vibe64-personal-profile":``,density:`comfortable`,"error-messages":preferredNameValidation.value.error?[preferredNameValidation.value.error]:[],"hide-details":`auto`,label:`What should Vibe64 call you?`,variant:`outlined`,onKeydown:withKeys(withModifiers(savePreferredName,[`prevent`]),[`enter`])},null,8,[`modelValue`,`error-messages`,`onKeydown`]),_cache[9]||(_cache[9]=createBaseVNode(`p`,{class:`vibe64-personal-profile__supporting-text`},` This name is used in Vibe64 welcomes and collaboration cues across this installation. Leave it blank to use your computer account name. `,-1)),createBaseVNode(`div`,_hoisted_3,[createVNode(VBtn,{class:`vibe64-personal-profile__save`,color:`primary`,disabled:preferredNameSaving.value||!preferredNameChanged.value||!preferredNameValidation.value.valid,type:`button`,variant:`flat`,onClick:savePreferredName},{default:withCtx(()=>[createTextVNode(toDisplayString(preferredNameSaving.value?`Saving…`:`Save name`),1)]),_:1},8,[`disabled`])]),_cache[10]||(_cache[10]=createBaseVNode(`div`,{class:`vibe64-personal-profile__heading vibe64-personal-profile__appearance`},[createBaseVNode(`h3`,{id:`vibe64-appearance-title`},`Appearance`),createBaseVNode(`p`,null,`This browser`)],-1)),createVNode(VBtnToggle,{"model-value":appearance.value,"aria-labelledby":`vibe64-appearance-title`,class:`vibe64-personal-profile__appearance-choice`,color:`primary`,"data-vibe64-appearance":``,density:`comfortable`,divided:``,mandatory:``,rounded:`xl`,variant:`outlined`,"onUpdate:modelValue":chooseAppearance},{default:withCtx(()=>[(openBlock(true),createElementBlock(Fragment,null,renderList(unref(appearanceChoices),choice=>{return openBlock(),createBlock(VBtn,{key:choice.value,"prepend-icon":choice.icon,value:choice.value},{default:withCtx(()=>[createTextVNode(toDisplayString(choice.label),1)]),_:2},1032,[`prepend-icon`,`value`])}),128))]),_:1},8,[`model-value`]),_cache[11]||(_cache[11]=createBaseVNode(`p`,{class:`vibe64-personal-profile__supporting-text`},` System follows your device's light or dark setting. `,-1))])):createCommentVNode(``,true),selectedProviderId.value===`ai`?(openBlock(),createBlock(unref(AiSetup_default),{key:1,ref_key:`aiSetup`,ref:aiSetup,inline:``,"can-configure":``,focus:aiFocus.value,onBusy:_cache[5]||(_cache[5]=$event=>aiConnectionsBusy.value=$event)},null,8,[`focus`])):createCommentVNode(``,true),selectedProviderId.value===`github`?(openBlock(),createBlock(unref(ProviderAccountsSetup_default),{key:2,accounts:unref(accounts),"account-rows":selectedAccountRows.value,"status-loaded":statusLoaded.value,title:selectedProviderTitle.value,lede:selectedProviderLede.value,"needed-label":`Connection needed`,"ready-label":`Connection ready`,"show-continue":false},null,8,[`accounts`,`account-rows`,`status-loaded`,`title`,`lede`])):createCommentVNode(``,true)]),_:1})]),_:1},8,[`class`,`rounded`])]),_:1},8,[`modelValue`,`fullscreen`,`persistent`])],512)}}};var Vibe64AuthSettingsButton_default=_plugin_vue_export_helper_default(_sfc_main,[[`__scopeId`,`data-v-c4612046`]]);export{StudioAppShellLayout_default as n,Vibe64AuthSettingsButton_default as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{D as createVNode,On as unref,Pt as useId,_ as createBaseVNode,b as createElementBlock,et as mergeProps,g as computed,mt as openBlock,pn as onScopeDispose,qt as withCtx,tr as toDisplayString,vn as ref,wn as toRef}from"./runtime-core.esm-bundler-DGXg_mpN.js";import{Nt as propsFactory,_t as useRender,bn as omit,dt as useProxiedModel,wt as genericComponent,z as useColor}from"./ripple-EFNA8EBu.js";import{l as forwardRefs,n as makeVOverlayProps,r as useScopeId,t as VOverlay}from"./VOverlay-Cp4rFk6g.js";import{L as mdiCheck,ut as mdiContentCopy}from"./mdi-Bt90Ns76.js";import{t as VBtn}from"./VBtn-BhVEwXLX.js";import{t as _plugin_vue_export_helper_default}from"./_plugin-vue_export-helper-DNW4j-dv.js";import{t as writeClipboardText}from"./clipboard-CZs9aH3L.js";var makeVTooltipProps=propsFactory({id:String,interactive:Boolean,text:String,color:String,...omit(makeVOverlayProps({closeOnBack:false,location:`end`,locationStrategy:`connected`,eager:true,minWidth:0,offset:10,openOnClick:false,openOnHover:true,origin:`auto`,scrim:false,scrollStrategy:`reposition`,transition:null}),[`absolute`,`retainFocus`,`captureFocus`,`disableInitialFocus`])},`VTooltip`);var VTooltip=genericComponent()({name:`VTooltip`,props:makeVTooltipProps(),emits:{"update:modelValue":value=>true},setup(props,{slots}){const isActive=useProxiedModel(props,`modelValue`);const{scopeId}=useScopeId();const{colorClasses,colorStyles}=useColor(()=>({background:props.color}));const uid=useId();const id=toRef(()=>props.id||`v-tooltip-${uid}`);const overlay=ref();const location=computed(()=>{return props.location.split(` `).length>1?props.location:props.location+` center`});const origin=computed(()=>{return props.origin===`auto`||props.origin===`overlap`||props.origin.split(` `).length>1||props.location.split(` `).length>1?props.origin:props.origin+` center`});const transition=toRef(()=>{if(props.transition!=null)return props.transition;return isActive.value?`scale-transition`:`fade-transition`});const activatorProps=computed(()=>mergeProps({"aria-describedby":id.value},props.activatorProps));useRender(()=>{const overlayProps=VOverlay.filterProps(props);return createVNode(VOverlay,mergeProps({"ref":overlay,"class":[`v-tooltip`,{"v-tooltip--interactive":props.interactive},props.class],"style":[props.style],"id":id.value},overlayProps,{"contentClass":[colorClasses.value,props.contentClass],"contentProps":mergeProps({style:[colorStyles.value]},props.contentProps),"modelValue":isActive.value,"onUpdate:modelValue":$event=>isActive.value=$event,"transition":transition.value,"absolute":true,"location":location.value,"origin":origin.value,"role":`tooltip`,"activatorProps":activatorProps.value,"_disableGlobalStack":true},scopeId),{activator:slots.activator,default:(...args)=>slots.default?.(...args)??props.text})});return forwardRefs({},overlay)}});var _hoisted_1={class:`v64-copy-command`};var _hoisted_2={class:`v64-copy-command__text`};var _hoisted_3={class:`v64-copy-command__status`,"aria-live":`polite`};var _sfc_main={__name:`Vibe64CopyCommand`,props:{command:{type:String,required:true},copyText:{type:String,default:``},label:{type:String,default:`Copy command`}},setup(__props){const props=__props;const copied=ref(false);let timer=null;async function copy(){try{copied.value=await writeClipboardText(props.copyText||props.command)}catch{copied.value=false}clearTimeout(timer);timer=setTimeout(()=>{copied.value=false},2e3)}onScopeDispose(()=>clearTimeout(timer));return(_ctx,_cache)=>{return openBlock(),createElementBlock(`div`,_hoisted_1,[createBaseVNode(`code`,_hoisted_2,toDisplayString(__props.command),1),createVNode(VTooltip,{text:copied.value?`Copied`:__props.label,location:`top`},{activator:withCtx(({props:tooltipProps})=>[createVNode(VBtn,mergeProps(tooltipProps,{"aria-label":copied.value?`Copied`:__props.label,color:copied.value?`success`:void 0,icon:copied.value?unref(mdiCheck):unref(mdiContentCopy),class:`v64-copy-command__button`,density:`comfortable`,size:`small`,variant:`text`,onClick:copy}),null,16,[`aria-label`,`color`,`icon`])]),_:1},8,[`text`]),createBaseVNode(`span`,_hoisted_3,toDisplayString(copied.value?`Copied`:``),1)])}}};var Vibe64CopyCommand_default=_plugin_vue_export_helper_default(_sfc_main,[[`__scopeId`,`data-v-65dad3f3`]]);export{VTooltip as n,Vibe64CopyCommand_default as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@layer vuetify-components{.v-tooltip>.v-overlay__content{background:rgb(var(--v-theme-surface-variant));color:rgb(var(--v-theme-on-surface-variant));text-transform:initial;opacity:1;overflow-wrap:break-word;border-radius:4px;width:auto;padding:5px 16px;font-size:.875rem;line-height:1.6;transition-property:opacity,transform;display:inline-block}.v-tooltip:not(.v-tooltip--interactive)>.v-overlay__content{pointer-events:none}}@layer vuetify-overrides{.v-tooltip>.v-overlay__content[class*=enter-active]{transition-duration:.15s;transition-timing-function:cubic-bezier(0,0,.2,1)}.v-tooltip>.v-overlay__content[class*=leave-active]{transition-duration:75ms;transition-timing-function:cubic-bezier(.4,0,1,1)}}.v64-copy-command[data-v-65dad3f3]{background:var(--v64-surface-container-highest);border:1px solid var(--v64-outline-variant);border-radius:var(--v64-shape-sm,8px);align-items:center;gap:4px;min-width:0;max-width:100%;min-height:44px;padding:6px 4px 6px 12px;display:flex}.v64-copy-command__text[data-v-65dad3f3]{color:var(--v64-on-surface);overflow-wrap:anywhere;white-space:pre-wrap;background:0 0;flex:1;min-width:0;padding:0;font-family:ui-monospace,SFMono-Regular,JetBrains Mono,Menlo,Consolas,monospace;font-size:.8125rem;line-height:1.6}.v64-copy-command__button[data-v-65dad3f3]{flex:none}.v64-copy-command__status[data-v-65dad3f3]{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}
|
package/dist/assets/{Vibe64DashboardBackButton-BH_8j_VR.js → Vibe64DashboardBackButton-Go_MJuIK.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{E as createTextVNode,On as unref,mt as openBlock,qt as withCtx,v as createBlock,xt as renderSlot}from"./runtime-core.esm-bundler-DGXg_mpN.js";import{
|
|
1
|
+
import{E as createTextVNode,On as unref,mt as openBlock,qt as withCtx,v as createBlock,xt as renderSlot}from"./runtime-core.esm-bundler-DGXg_mpN.js";import{S as mdiArrowLeft}from"./mdi-Bt90Ns76.js";import{t as VBtn}from"./VBtn-BhVEwXLX.js";import{t as _plugin_vue_export_helper_default}from"./_plugin-vue_export-helper-DNW4j-dv.js";var _sfc_main={__name:`Vibe64DashboardBackButton`,setup(__props){return(_ctx,_cache)=>{return openBlock(),createBlock(VBtn,{class:`dashboard-back`,color:`primary`,"prepend-icon":unref(mdiArrowLeft),rounded:`pill`,type:`button`,variant:`text`},{default:withCtx(()=>[renderSlot(_ctx.$slots,`default`,{},()=>[_cache[0]||(_cache[0]=createTextVNode(`Back to dashboard`,-1))],true)]),_:3},8,[`prepend-icon`])}}};var Vibe64DashboardBackButton_default=_plugin_vue_export_helper_default(_sfc_main,[[`__scopeId`,`data-v-c4bce62a`]]);export{Vibe64DashboardBackButton_default as t};
|
package/dist/assets/{Vibe64DashboardPageHeader-BXQR00HK.js → Vibe64DashboardPageHeader-BMrdRph6.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{D as createVNode,_ as createBaseVNode,b as createElementBlock,mt as openBlock,tr as toDisplayString,xt as renderSlot,y as createCommentVNode}from"./runtime-core.esm-bundler-DGXg_mpN.js";import{h as VIcon}from"./ripple-EFNA8EBu.js";import{t as _plugin_vue_export_helper_default}from"./_plugin-vue_export-helper-DNW4j-dv.js";var _hoisted_1={class:`vibe64-dashboard-page-header`};var _hoisted_2={key:0,"aria-hidden":`true`,class:`vibe64-dashboard-page-header__icon`};var _hoisted_3={class:`vibe64-dashboard-page-header__copy`};var _hoisted_4={class:`vibe64-dashboard-page-header__title-row`};var _hoisted_5={class:`vibe64-dashboard-page-header__title`};var _hoisted_6={key:0,class:`vibe64-dashboard-page-header__description`};var _hoisted_7={key:1,class:`vibe64-dashboard-page-header__actions`};var _sfc_main={__name:`Vibe64DashboardPageHeader`,props:{description:{default:``,type:String},icon:{default:``,type:String},title:{default:``,type:String}},setup(__props){return(_ctx,_cache)=>{return openBlock(),createElementBlock(`header`,_hoisted_1,[__props.icon?(openBlock(),createElementBlock(`span`,_hoisted_2,[createVNode(VIcon,{icon:__props.icon,size:`22`},null,8,[`icon`])])):createCommentVNode(``,true),createBaseVNode(`div`,_hoisted_3,[createBaseVNode(`div`,_hoisted_4,[renderSlot(_ctx.$slots,`title`,{},()=>[createBaseVNode(`h1`,_hoisted_5,toDisplayString(__props.title),1)]),renderSlot(_ctx.$slots,`meta`)]),__props.description?(openBlock(),createElementBlock(`p`,_hoisted_6,toDisplayString(__props.description),1)):createCommentVNode(``,true)]),_ctx.$slots.actions?(openBlock(),createElementBlock(`div`,_hoisted_7,[renderSlot(_ctx.$slots,`actions`)])):createCommentVNode(``,true)])}}};var Vibe64DashboardPageHeader_default=_plugin_vue_export_helper_default(_sfc_main,[[`__scopeId`,`data-v-bc512beb`]]);export{Vibe64DashboardPageHeader_default as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.vibe64-dashboard-page-header[data-v-bc512beb]{animation:vibe64-dashboard-page-header-enter-bc512beb var(--v64-duration-medium,.3s) var(--v64-ease-emphasized-decelerate,ease-out) both;align-items:center;gap:var(--v64-space-3,12px) var(--v64-space-4,16px);min-width:0;padding:var(--v64-space-1,4px) 0 var(--v64-space-2,8px);flex-wrap:wrap;display:flex}.vibe64-dashboard-page-header__icon[data-v-bc512beb]{background:linear-gradient(145deg, color-mix(in srgb, var(--v64-surface) 55%, transparent), transparent 60%), var(--v64-primary-container);border-radius:var(--v64-shape-md,12px);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--v64-primary) 16%, transparent);color:var(--v64-primary);flex:none;justify-content:center;align-items:center;width:44px;height:44px;display:inline-flex}.vibe64-dashboard-page-header__copy[data-v-bc512beb]{flex:12rem;gap:2px;min-width:0;display:grid}.vibe64-dashboard-page-header__title-row[data-v-bc512beb]{align-items:center;gap:var(--v64-space-2,8px);flex-wrap:wrap;min-width:0;display:flex}.vibe64-dashboard-page-header__title[data-v-bc512beb],.vibe64-dashboard-page-header__title-row h1[data-v-bc512beb-s]{color:var(--v64-on-surface);font:var(--v64-type-headline-sm,600 1.5rem/2rem system-ui, sans-serif);letter-spacing:0;margin:0}.vibe64-dashboard-page-header__description[data-v-bc512beb]{color:var(--v64-on-surface-variant);font:var(--v64-type-body-md,400 .875rem/1.25rem system-ui, sans-serif);margin:0}.vibe64-dashboard-page-header__actions[data-v-bc512beb]{align-items:center;gap:var(--v64-space-2,8px);flex-wrap:wrap;flex:none;justify-content:flex-end;display:flex}@keyframes vibe64-dashboard-page-header-enter-bc512beb{0%{opacity:0;transform:translateY(4px)}}@media (prefers-reduced-motion:reduce){.vibe64-dashboard-page-header[data-v-bc512beb]{animation:none}}@media (width<=600px){.vibe64-dashboard-page-header[data-v-bc512beb]{flex-wrap:wrap;align-items:flex-start}.vibe64-dashboard-page-header__icon[data-v-bc512beb]{width:40px;height:40px}.vibe64-dashboard-page-header__copy[data-v-bc512beb]{flex-basis:calc(100% - 56px)}.vibe64-dashboard-page-header__actions[data-v-bc512beb]{justify-content:flex-start;width:100%}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{D as createVNode,Lt as useSlots,On as unref,Zn as normalizeClass,_ as createBaseVNode,b as createElementBlock,bt as renderList,ct as onMounted,g as computed,gt as provide,it as onBeforeUnmount,mt as openBlock,o as Fragment,qt as withCtx,tr as toDisplayString,v as createBlock,vn as ref,xt as renderSlot,y as createCommentVNode}from"./runtime-core.esm-bundler-DGXg_mpN.js";import{t as useEndpointResource}from"./useEndpointResource-Ds8EDBZ2.js";import{_ as useRouter,g as useRoute}from"./useApi-BPuI6ZR9-CFWU1m37.js";import{a as projectSlugFromRoute,r as projectAppPath}from"./vibe64ProjectScope.local-B06ABkhI.js";import{t as VSelect}from"./VSelect-D3oLvCcB.js";import{n as VList,s as VListItem}from"./VMenu-CDcBLYWR.js";import{r as scopedDevelopmentApiUrl}from"./studioUrls-DpSS-0z1.js";import{t as VSheet}from"./VSheet-DxYEFfnM.js";import{t as _plugin_vue_export_helper_default}from"./_plugin-vue_export-helper-DNW4j-dv.js";import{a as VIBE64_ACTIVE_SESSION_NAV_KEY,o as _sfc_main$2}from"./index-Mxalhei8.js";import{t as getPlacements}from"./placement-CQy46H3H.js";function normalizeRoutePath(pathValue=``){const path=String(pathValue||``).trim();if(!path||path===`/`)return path||`/`;return path.replace(/\/+$/u,``)}function routePathContainsSection(routePathValue=``,sectionPathValue=``){const routePath=normalizeRoutePath(routePathValue);const sectionPath=normalizeRoutePath(sectionPathValue);return Boolean(sectionPath&§ionPath!==`/`&&(routePath===sectionPath||routePath.startsWith(`${sectionPath}/`)))}var _hoisted_1$1={key:0,class:`section-container-shell__heading`};var _hoisted_2={key:0,class:`section-container-shell__title`};var _hoisted_3={key:1,class:`text-body-2 text-medium-emphasis mb-0`};var _hoisted_4={class:`section-container-shell__body`};var _hoisted_5=[`data-vibe64-guide-pane`];var _hoisted_6={class:`section-container-shell__content`};var MOBILE_SECTION_MEDIA_QUERY=`(max-width: 760px)`;var _sfc_main$1={__name:`SectionContainerShell`,props:{navigationCollapsed:{type:Boolean,default:false},navigationGuidePane:{type:String,default:``},title:{type:String,default:``},subtitle:{type:String,default:``},mobileSectionLinks:{type:Array,default:()=>[]}},setup(__props){const props=__props;const slots=useSlots();const route=useRoute();const router=useRouter();const mobileSectionLayout=ref(initialMobileSectionLayout());let mobileSectionMediaQuery=null;const resolvedTitle=computed(()=>String(props.title||``).trim());const resolvedSubtitle=computed(()=>String(props.subtitle||``).trim());const hasHeading=computed(()=>Boolean(resolvedTitle.value||resolvedSubtitle.value));const hasTabs=computed(()=>Boolean(slots.tabs));const mobileSectionLinks=computed(()=>{return props.mobileSectionLinks.map(link=>({disabled:link?.disabled===true,icon:String(link?.icon||``),id:String(link?.id||link?.to||link?.label||``),label:String(link?.label||``),to:normalizeRoutePath(link?.to||``)})).filter(link=>Boolean(link.id&&link.label&&link.to))});const mobileSectionsActive=computed(()=>Boolean(mobileSectionLayout.value&&mobileSectionLinks.value.length));const activeMobileSection=computed(()=>{return mobileSectionLinks.value.find(link=>routePathContainsSection(route.path||``,link.to))||null});const activeMobileSectionValue=computed(()=>activeMobileSection.value?.to||null);function initialMobileSectionLayout(){if(typeof window===`undefined`||typeof window.matchMedia!==`function`)return false;return window.matchMedia(MOBILE_SECTION_MEDIA_QUERY).matches}function syncMobileSectionLayout(){mobileSectionLayout.value=Boolean(mobileSectionMediaQuery?.matches)}function selectMobileSection(value=``){const targetPath=normalizeRoutePath(value||``);if(!targetPath||targetPath===activeMobileSectionValue.value)return;const targetLink=mobileSectionLinks.value.find(link=>link.to===targetPath);if(!targetLink||targetLink.disabled)return;router.push(targetLink.to)}onMounted(()=>{if(typeof window===`undefined`||typeof window.matchMedia!==`function`)return;mobileSectionMediaQuery=window.matchMedia(MOBILE_SECTION_MEDIA_QUERY);syncMobileSectionLayout();if(typeof mobileSectionMediaQuery.addEventListener===`function`)mobileSectionMediaQuery.addEventListener(`change`,syncMobileSectionLayout);else mobileSectionMediaQuery.addListener?.(syncMobileSectionLayout)});onBeforeUnmount(()=>{if(typeof mobileSectionMediaQuery?.removeEventListener===`function`)mobileSectionMediaQuery.removeEventListener(`change`,syncMobileSectionLayout);else mobileSectionMediaQuery?.removeListener?.(syncMobileSectionLayout);mobileSectionMediaQuery=null});return(_ctx,_cache)=>{return openBlock(),createElementBlock(`section`,{class:normalizeClass([`section-container-shell`,{"section-container-shell--with-heading":hasHeading.value,"section-container-shell--collapsed":__props.navigationCollapsed}])},[hasHeading.value?(openBlock(),createElementBlock(`header`,_hoisted_1$1,[resolvedTitle.value?(openBlock(),createElementBlock(`h1`,_hoisted_2,toDisplayString(resolvedTitle.value),1)):createCommentVNode(``,true),resolvedSubtitle.value?(openBlock(),createElementBlock(`p`,_hoisted_3,toDisplayString(resolvedSubtitle.value),1)):createCommentVNode(``,true)])):createCommentVNode(``,true),createVNode(VSheet,{rounded:__props.navigationCollapsed?0:`xl`,border:!__props.navigationCollapsed,class:`section-container-shell__panel`},{default:withCtx(()=>[createBaseVNode(`div`,_hoisted_4,[mobileSectionsActive.value&&!__props.navigationCollapsed?(openBlock(),createBlock(VSelect,{key:0,class:`section-container-shell__mobile-select`,"data-vibe64-guide-pane":__props.navigationGuidePane||void 0,"model-value":activeMobileSectionValue.value,items:mobileSectionLinks.value,"item-title":`label`,"item-value":`to`,"item-props":item=>({disabled:item.disabled,prependIcon:item.icon||void 0}),"prepend-inner-icon":activeMobileSection.value?.icon||void 0,label:`Dashboard section`,rounded:`lg`,variant:`outlined`,"hide-details":``,"onUpdate:modelValue":selectMobileSection},null,8,[`data-vibe64-guide-pane`,`model-value`,`items`,`item-props`,`prepend-inner-icon`])):createCommentVNode(``,true),hasTabs.value&&!mobileSectionsActive.value&&!__props.navigationCollapsed?(openBlock(),createElementBlock(`nav`,{key:1,class:`section-container-shell__nav`,"data-vibe64-guide-pane":__props.navigationGuidePane||void 0,"aria-label":`Dashboard sections`},[createVNode(VList,{nav:``,"bg-color":`transparent`,density:`compact`},{default:withCtx(()=>[renderSlot(_ctx.$slots,`tabs`,{},void 0,true)]),_:3})],8,_hoisted_5)):createCommentVNode(``,true),createBaseVNode(`main`,_hoisted_6,[renderSlot(_ctx.$slots,`default`,{},void 0,true)])])]),_:3},8,[`rounded`,`border`])],2)}}};var SectionContainerShell_default=_plugin_vue_export_helper_default(_sfc_main$1,[[`__scopeId`,`data-v-25df3993`]]);function useVibe64DashboardPage({dashboardContext=null}={}){const route=useRoute();const projectSlug=computed(()=>projectSlugFromRoute(route));const projectBasePath=computed(()=>projectAppPath(projectSlug.value));return{dashboardSectionLinks:computed(()=>getPlacements().filter(placement=>placement?.kind===`link`&&placement?.owner===`app-dashboard`&&placement?.target===`page.section-nav`&&dashboardPlacementVisible(placement,dashboardContext)).sort((left,right)=>Number(left?.order||0)-Number(right?.order||0)).map(placement=>({disabled:placement?.props?.disabled===true,icon:placement?.props?.icon||``,id:placement?.id||``,label:placement?.props?.label||``,to:`${projectBasePath.value}${dashboardSectionSuffix(placement)}`})))}}function dashboardPlacementVisible(placement={},dashboardContext=null){const predicate=placement?.props?.visibleWhen;if(typeof predicate!==`function`)return true;const context=typeof dashboardContext===`function`?dashboardContext():dashboardContext?.value??dashboardContext;return predicate(context&&typeof context===`object`?context:{})===true}function activeSessionMobileSectionLinks(activeSessionNav=null){if(!activeSessionNav?.visible||!Array.isArray(activeSessionNav.tools))return[];return activeSessionNav.tools.map(tool=>({disabled:tool?.disabled===true,icon:String(tool?.icon||``),id:`active-session:${String(tool?.id||tool?.to||tool?.label||``)}`,label:String(tool?.label||``),to:String(tool?.to||``)})).filter(tool=>Boolean(tool.id!==`active-session:`&&tool.label&&tool.to))}function dashboardSectionSuffix(placement={}){const suffix=String(placement?.props?.scopedSuffix||placement?.props?.unscopedSuffix||``).trim();if(!suffix)return``;const projectRelativeSuffix=suffix.replace(/^\/+/u,``).replace(/^project\/\[slug\](?=\/|$)/u,``).replace(/^\[slug\](?=\/|$)/u,``).replace(/^\/+/u,``);return projectRelativeSuffix?`/${projectRelativeSuffix}`:``}var _hoisted_1={key:0,class:`vibe64-dashboard-nav-group-label`};var _sfc_main={__name:`Vibe64DashboardShell`,props:{dashboardContext:{default:()=>({}),type:Object},noProject:Boolean,section:{default:``,type:String}},emits:[`select`],setup(__props,{emit:__emit}){const props=__props;const emit=__emit;const route=useRoute();const incomingPath=computed(()=>scopedDevelopmentApiUrl(`/api/vibe64/incoming`,projectSlugFromRoute(route)));const incomingQuery=computed(()=>({sessionId:props.dashboardContext.sessionId,state:`pending`,limit:1}));const incoming=useEndpointResource({path:incomingPath,readQuery:incomingQuery,queryKey:computed(()=>[`vibe64.incoming`,incomingPath.value,`badge`,incomingQuery.value]),enabled:computed(()=>props.dashboardContext.active!==false&&Boolean(props.dashboardContext.sessionId)&&props.dashboardContext.projectContext?.repositoryMode===`github`),queryOptions:{retry:false,staleTime:3e4,refetchInterval:6e4}});const incomingCount=computed(()=>incoming.loadError.value?null:incoming.data.value?.pendingCount??null);provide(`vibe64.incoming.pendingCount`,incomingCount);const githubBrowserOpen=computed(()=>/\/dashboard\/(issues|pull-requests)\/?$/u.test(route.path));const{dashboardSectionLinks}=useVibe64DashboardPage({dashboardContext:()=>props.dashboardContext});const activeSessionNav=computed(()=>{const nav=props.dashboardContext?.activeSessionNav||null;return nav&&typeof nav===`object`?nav:null});const mobileDashboardSectionLinks=computed(()=>props.noProject?[]:[...dashboardSectionLinks.value.map(link=>link.id===`vibe64.incoming.link`&&incomingCount.value>0?{...link,label:`${link.label} (${incomingCount.value})`}:link),...activeSessionMobileSectionLinks(activeSessionNav.value)]);provide(VIBE64_ACTIVE_SESSION_NAV_KEY,activeSessionNav);return(_ctx,_cache)=>{return openBlock(),createBlock(SectionContainerShell_default,{"mobile-section-links":mobileDashboardSectionLinks.value,"navigation-collapsed":githubBrowserOpen.value,"navigation-guide-pane":`dashboard`},{tabs:withCtx(()=>[unref(dashboardSectionLinks).length?(openBlock(),createElementBlock(`span`,_hoisted_1,`Project`)):createCommentVNode(``,true),__props.noProject?(openBlock(true),createElementBlock(Fragment,{key:1},renderList(unref(dashboardSectionLinks),(link,index)=>{return openBlock(),createBlock(VListItem,{key:link.id,active:link.id===__props.section||!__props.section&&index===0,"prepend-icon":link.icon||void 0,title:link.label,"data-dashboard-section":link.id,onClick:$event=>emit(`select`,link.id)},null,8,[`active`,`prepend-icon`,`title`,`data-dashboard-section`,`onClick`])}),128)):(openBlock(),createBlock(unref(_sfc_main$2),{key:2,target:`app-dashboard:primary-menu`,context:__props.dashboardContext},null,8,[`context`])),!__props.noProject?(openBlock(),createBlock(unref(_sfc_main$2),{key:3,target:`app-dashboard:active-session-menu`,context:{activeSessionNav:activeSessionNav.value||{}}},null,8,[`context`])):createCommentVNode(``,true)]),default:withCtx(()=>[renderSlot(_ctx.$slots,`default`,{},void 0,true)]),_:3},8,[`mobile-section-links`,`navigation-collapsed`])}}};var Vibe64DashboardShell_default=_plugin_vue_export_helper_default(_sfc_main,[[`__scopeId`,`data-v-1c300fc7`]]);export{Vibe64DashboardShell_default as t};
|