vibe64 0.1.32 → 0.1.34
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 +1717 -1648
- package/bin/server.js +81 -68
- package/bin/upgrade-state.js +5438 -5189
- package/dist/assets/{GithubBrowserTabs-2bEGbRAs.js → GithubBrowserTabs-DO5PHon-.js} +1 -1
- package/dist/assets/GithubMarkdown-BQ6MfCDJ.js +3 -0
- package/dist/assets/GithubMarkdown-U7-j-qNI.css +1 -0
- package/dist/assets/StudioErrorNotice-sQfmeR-z.js +1 -0
- package/dist/assets/VAlert-P256xaE0.js +1 -0
- package/dist/assets/VAutocomplete-BDb95qJX.js +1 -0
- package/dist/assets/VAvatar-9ilDR2r2.css +1 -0
- package/dist/assets/VAvatar-DPzqDH4r.js +1 -0
- package/dist/assets/VBtn-B2MBK2DL.js +1 -0
- package/dist/assets/VCard-mXy0k4aS.js +1 -0
- package/dist/assets/VCheckbox-C7A1ZW4D.js +1 -0
- package/dist/assets/VChip-CcI-Oo2J.js +1 -0
- package/dist/assets/VDialog-Bu3EfKb1.js +1 -0
- package/dist/assets/VDivider-BMEqUoAB.js +1 -0
- package/dist/assets/VExpansionPanels-Dgjrop0V.js +1 -0
- package/dist/assets/VMenu-C_x18lwb.js +1 -0
- package/dist/assets/VOverlay-CeMZurIN.js +1 -0
- package/dist/assets/VRadioGroup-CUu2-KIP.js +1 -0
- package/dist/assets/VRow-Cpw7OHQV.js +1 -0
- package/dist/assets/{VSelect-DY-ZuBJJ.js → VSelect-DL3HaA5m.js} +1 -1
- package/dist/assets/VSheet-DZWsu0kL.js +1 -0
- package/dist/assets/VSkeletonLoader-CttxM1tw.js +1 -0
- package/dist/assets/VSpacer-Dhmsvk4t.js +1 -0
- package/dist/assets/{VSwitch-Bm1bwl2V.js → VSwitch-BRHeDJkH.js} +1 -1
- package/dist/assets/VTextField-BR2eZeFT.js +1 -0
- package/dist/assets/VTextarea-DbqamXJd.js +1 -0
- package/dist/assets/Vibe64AsyncModuleState-Dx7YKRPp.js +1 -0
- package/dist/assets/Vibe64DashboardBackButton-DD9UR77P.css +1 -0
- package/dist/assets/Vibe64DashboardBackButton-yE6cyYg2.js +1 -0
- package/dist/assets/Vibe64DashboardPageHeader-BXQR00HK.js +1 -0
- package/dist/assets/Vibe64DashboardPageHeader-Gm1IvlHx.css +1 -0
- package/dist/assets/Vibe64DashboardShell-CuCVMhOc.js +1 -0
- package/dist/assets/Vibe64DashboardShell-MBkUHjs-.css +1 -0
- package/dist/assets/Vibe64DatabaseWorkspace-BONJdxBS.js +18 -0
- package/dist/assets/{Vibe64DatabaseWorkspace-C39Jvver.css → Vibe64DatabaseWorkspace-CR4pzzcf.css} +1 -1
- package/dist/assets/Vibe64OutputControls-DAAmA09l.js +8 -0
- package/dist/assets/{Vibe64OutputControls-CsZFv12r.css → Vibe64OutputControls-DPBsyDZM.css} +1 -1
- package/dist/assets/{Vibe64RepositoryWorkspace-ebUaYOU4.js → Vibe64RepositoryWorkspace-ByQlZbyO.js} +2 -2
- package/dist/assets/{Vibe64RepositoryWorkspace-Cqm6TOFk.css → Vibe64RepositoryWorkspace-CVHcT93M.css} +1 -1
- package/dist/assets/Vibe64SessionFiles-B0u9HKdF.js +107 -0
- package/dist/assets/Vibe64SessionFiles-NjOMVwPR.css +1 -0
- package/dist/assets/Vibe64TemporaryAiFixAction-BGlcrq4d.js +1 -0
- package/dist/assets/Vibe64UiStoryboardView-3WXph5bz.css +1 -0
- package/dist/assets/Vibe64UiStoryboardView-Brlwdvqi.js +7 -0
- package/dist/assets/Vibe64UnavailableSessions-zwlWlcZD.js +1 -0
- package/dist/assets/_sessionId_-CvOkQbVy.js +1 -0
- package/dist/assets/{_sessionTool_-B39BIzzZ.js → _sessionTool_-Dwod5ns9.js} +1 -1
- package/dist/assets/_slug_-B31c15cc.css +1 -0
- package/dist/assets/_slug_-Dy35qLo1.js +1 -0
- package/dist/assets/access-BVu5XYm2.js +1 -0
- package/dist/assets/app-DRXCcv05.css +1 -0
- package/dist/assets/app-zt7HwQKT.js +1 -0
- package/dist/assets/assistantRouting-CwbwfkwB.js +3 -0
- package/dist/assets/{changes-ByjS7QGx.js → changes-olY8cnFK.js} +1 -1
- package/dist/assets/{client-C-tpoG6F.js → client-BrV4QPwG.js} +1 -1
- package/dist/assets/createSimpleFunctional-CZTGuNuR.js +1 -0
- package/dist/assets/dashboard-BnXD-H4R.js +1 -0
- package/dist/assets/definitions-DaOPIkyB.js +1 -0
- package/dist/assets/env-DJhnLOH7.css +1 -0
- package/dist/assets/env-DN0vW4EI.js +1 -0
- package/dist/assets/{error-DFKtZBJ8.js → error-DgrgRbJJ.js} +1 -1
- package/dist/assets/{error-DE4zo8Lk.js → error-Dug56can.js} +1 -1
- package/dist/assets/health-7oIQODer.css +1 -0
- package/dist/assets/health-Z6m96GDr.js +1 -0
- package/dist/assets/history-BOwbCRQP.css +1 -0
- package/dist/assets/history-BxlpB-YH.js +1 -0
- package/dist/assets/incoming-BOxRVlOM.js +2 -0
- package/dist/assets/incoming-DWDrmxyH.css +1 -0
- package/dist/assets/index-BUq-MczL.js +86 -0
- package/dist/assets/{index-D4MsP3dq.css → index-DtmBqE3h.css} +1 -1
- package/dist/assets/{integrations-B4txOZfY.js → integrations-BFltGDVI.js} +1 -1
- package/dist/assets/issues-1iS5zoed.js +1 -0
- package/dist/assets/issues-XnpGgdmn.css +1 -0
- package/dist/assets/layout-BkWVNT37.js +1 -0
- package/dist/assets/lazy-NHSwD9FS.js +1 -0
- package/dist/assets/mdi-C54lQ0i_.js +1 -0
- package/dist/assets/{pages-BW2l8fNe.js → pages-DuMgH61T.js} +1 -1
- package/dist/assets/{placement-JxzrmUR3.js → placement-CwTqWLQH.js} +1 -1
- package/dist/assets/placement-DLsU3pCW.js +1 -0
- package/dist/assets/pull-requests-BJOwNL4k.js +1 -0
- package/dist/assets/pull-requests-CdbhyFOv.css +1 -0
- package/dist/assets/{repository-BTC3lkrh.js → repository-JWLVST3D.js} +1 -1
- package/dist/assets/{VAvatar-CAFvgSUo.js → ripple-BVltMmyV.js} +2 -2
- package/dist/assets/ripple-DqhAt1Ze.css +1 -0
- package/dist/assets/runtime-core.esm-bundler-DGXg_mpN.js +3 -0
- package/dist/assets/{session-CG-TUCJt.css → session-5qADMzDP.css} +1 -1
- package/dist/assets/session-C5Nj8Dlq.js +1 -0
- package/dist/assets/settings-BopLnpB0.css +1 -0
- package/dist/assets/settings-c273Ikrm.js +1 -0
- package/dist/assets/ssrBoot-Rlh6kLbD.js +1 -0
- package/dist/assets/{studioGateApi-C0GvzVlt.js → studioGateApi-DhA9IJGZ.js} +1 -1
- package/dist/assets/{studioUrls-CIab-Axb.js → studioUrls-Dj8rXeXO.js} +1 -1
- package/dist/assets/{useApi-BPuI6ZR9-Dr8wK_Co.js → useApi-BPuI6ZR9-CFWU1m37.js} +1 -1
- package/dist/assets/useArchivedVibe64Sessions-CVZx2Rtm.js +1 -0
- package/dist/assets/useCommand-DWuxfAV0.js +1 -0
- package/dist/assets/useEndpointResource-MWVNfmMa.js +1 -0
- package/dist/assets/{usePaths-DVTieF_G.js → usePaths-Db88-HOm.js} +1 -1
- package/dist/assets/{useUiFeedback-Tzi-PRlX.js → useUiFeedback-0FqKuZRP.js} +1 -1
- package/dist/assets/useVibe64ConversationLog-8cKh1eDm.js +1 -0
- package/dist/assets/useVibe64DatabaseTools-BcRG1s3i.js +1 -0
- package/dist/assets/useVibe64LearningMode-Bl0dGdCh.js +28 -0
- package/dist/assets/useVibe64LearningMode-C3PcXdVg.css +1 -0
- package/dist/assets/useVibe64ProjectScope-DOEVkBqX.js +1 -0
- package/dist/assets/useVibe64SessionData-DFTyLzci.js +1 -0
- package/dist/assets/useVibe64SessionSelection-j9lsllx4.js +1 -0
- package/dist/assets/useVibe64SystemGraph-tNkIwSBQ.js +1 -0
- package/dist/assets/{useVibe64Terminal-C2XJ9Y1K.js → useVibe64Terminal-BPnN25WH.js} +1 -1
- package/dist/assets/vibe64AssistantHost-DdE_-lZF.js +1 -0
- package/dist/assets/vibe64LessonDashboard-DlKYjisq.js +1 -0
- package/dist/assets/vibe64ProjectScope.local-DqT6e5un.js +1 -0
- package/dist/assets/vibe64RepositoryRealtime-DXk0Jai3.js +1 -0
- package/dist/assets/vibe64SessionFocus-OJ2toBd9.css +1 -0
- package/dist/assets/vibe64SessionFocus-kqPOPaOH.js +1 -0
- package/dist/assets/{vibe64SessionInfo-D8l22MFm.js → vibe64SessionInfo-BHxtTrLX.js} +1 -1
- package/dist/assets/vibe64SessionToolDefinitions-NfLd1HZI.js +1 -0
- package/dist/assets/vue-flow-core-BlVEnES8.js +26 -0
- package/dist/index.html +51 -48
- package/docs/colleague-usage/account-profile-and-appearance.md +29 -0
- package/docs/colleague-usage/ai-accounts-and-routing.md +23 -4
- package/docs/colleague-usage/ai-balance-and-allowance.md +4 -0
- package/docs/colleague-usage/architecture-explanations.md +99 -0
- package/docs/colleague-usage/auto-workflow.md +49 -11
- package/docs/colleague-usage/coding-agent-failures.md +94 -0
- package/docs/colleague-usage/coding-agent-goal-pause.md +110 -0
- package/docs/colleague-usage/coding-agent-goals.md +140 -38
- package/docs/colleague-usage/coding-agent-history.md +20 -2
- package/docs/colleague-usage/coding-agent-recovery.md +136 -0
- package/docs/colleague-usage/coding-agents.md +138 -150
- package/docs/colleague-usage/colleague-recovery.md +28 -5
- package/docs/colleague-usage/colleague-upgrade-recovery.md +4 -0
- package/docs/colleague-usage/colleague-watches.md +84 -0
- package/docs/colleague-usage/colleague.md +18 -34
- package/docs/colleague-usage/connected-contributions.md +196 -0
- package/docs/colleague-usage/connected-projects.md +196 -0
- package/docs/colleague-usage/conversation-context.md +67 -1
- package/docs/colleague-usage/dashboard-navigation.md +79 -5
- package/docs/colleague-usage/database.md +11 -0
- package/docs/colleague-usage/developing-vibe64.md +137 -0
- package/docs/colleague-usage/development-copies.md +20 -0
- package/docs/colleague-usage/development-env.md +34 -0
- package/docs/colleague-usage/file-interfaces.md +156 -0
- package/docs/colleague-usage/github-work.md +88 -1
- package/docs/colleague-usage/health-checks.md +32 -0
- package/docs/colleague-usage/incoming-changes.md +94 -0
- package/docs/colleague-usage/learning-chat-retention.md +11 -2
- package/docs/colleague-usage/learning-code-questions.md +55 -0
- package/docs/colleague-usage/learning-course-catalogue.md +118 -0
- package/docs/colleague-usage/learning-diagrams-and-voice.md +97 -0
- package/docs/colleague-usage/learning-history.md +17 -9
- package/docs/colleague-usage/learning-lesson-watch.md +95 -0
- package/docs/colleague-usage/learning-mode-ui.md +187 -85
- package/docs/colleague-usage/learning-native-session.md +12 -10
- package/docs/colleague-usage/learning-practical-exercises.md +71 -0
- package/docs/colleague-usage/learning-practical-gestures.md +18 -1
- package/docs/colleague-usage/learning-practice-projects.md +55 -4
- package/docs/colleague-usage/learning-session-creation.md +7 -7
- package/docs/colleague-usage/learning-teacher-guide.md +52 -0
- package/docs/colleague-usage/learning-with-colleague.md +59 -80
- package/docs/colleague-usage/lesson-authoring.md +12 -4
- package/docs/colleague-usage/lesson-practical-assessment.md +3 -1
- package/docs/colleague-usage/managed-app-access.md +6 -0
- package/docs/colleague-usage/message-delivery-recovery.md +56 -0
- package/docs/colleague-usage/plans.md +14 -7
- package/docs/colleague-usage/preview-browser-checks.md +61 -0
- package/docs/colleague-usage/preview-lesson-presentation.md +56 -0
- package/docs/colleague-usage/preview-starting-application.md +92 -0
- package/docs/colleague-usage/preview.md +70 -96
- package/docs/colleague-usage/project-architecture.md +229 -0
- package/docs/colleague-usage/project-language-tools.md +31 -0
- package/docs/colleague-usage/project-messages.md +106 -0
- package/docs/colleague-usage/project-settings.md +22 -0
- package/docs/colleague-usage/project-setup.md +29 -2
- package/docs/colleague-usage/session-terminal.md +42 -0
- package/docs/colleague-usage/sessions.md +122 -52
- package/docs/colleague-usage/teaching-content.md +12 -6
- package/docs/colleague-usage/temporary-chat-context.md +29 -0
- package/docs/colleague-usage/temporary-chats.md +95 -2
- package/docs/colleague-usage/voice-chat.md +10 -43
- package/docs/colleague-usage/voice-face-and-speaking-voice.md +73 -0
- package/docs/colleague-usage/workspace-preparation.md +89 -0
- package/docs/training-content.md +208 -7
- package/node_modules/@jskit-ai/assistant-core/package.json +1 -1
- package/node_modules/@jskit-ai/assistant-runtime/README.md +29 -0
- 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-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/payments-core/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-core/package.json +1 -0
- package/node_modules/@local/vibe64-execution/src/host/execHelper.js +280 -272
- package/node_modules/@local/vibe64-genesis/README.md +15 -0
- package/node_modules/@local/vibe64-genesis/bin/vibe64-genesis-host-context +879 -1225
- package/node_modules/@local/vibe64-genesis/package.json +2 -1
- package/node_modules/@local/vibe64-genesis/src/server/index.js +496 -418
- package/node_modules/@local/vibe64-genesis/src/server/promptContext.js +165 -146
- package/node_modules/@local/vibe64-runtime/src/server/agentSessionCommandHook.js +8 -8
- package/node_modules/@local/vibe64-runtime/src/server/codexAppServerProcess.js +128 -129
- package/node_modules/@local/vibe64-system-graph/README.md +136 -6
- package/node_modules/@local/vibe64-terminals/package.json +3 -0
- package/node_modules/@local/vibe64-terminals/src/server/sessionWorkOperationCommand.js +1527 -1326
- package/node_modules/@local/vibe64-training/package.json +6 -1
- package/node_modules/@local/vibe64-voice/package.json +1 -0
- package/package.json +16 -16
- package/server.bundle.mjs +42853 -40268
- package/dist/assets/StudioErrorNotice-Ccjvcn9C.js +0 -1
- package/dist/assets/VAlert-B7ciJKQL.js +0 -1
- package/dist/assets/VAutocomplete-QjMk5d_j.js +0 -1
- package/dist/assets/VAvatar-nHaK192T.css +0 -1
- package/dist/assets/VBtn-Kl_qcBsy.js +0 -1
- package/dist/assets/VCard-nrJPeo91.js +0 -1
- package/dist/assets/VCheckbox-DTRAWOIf.js +0 -1
- package/dist/assets/VChip-Dfs5jX0f.js +0 -1
- package/dist/assets/VDialog-Dt1VjJg1.js +0 -1
- package/dist/assets/VDivider-DFsS0OTx.js +0 -1
- package/dist/assets/VExpansionPanels-CYKU0cAr.js +0 -1
- package/dist/assets/VMenu-BLxobsuU.js +0 -1
- package/dist/assets/VOverlay-BvFVZKNS.js +0 -1
- package/dist/assets/VRadioGroup-DzQzpCfg.js +0 -1
- package/dist/assets/VRow-BR2RMCM1.js +0 -1
- package/dist/assets/VSheet-BA95RNmA.js +0 -1
- package/dist/assets/VSkeletonLoader-hpJqr0HL.js +0 -1
- package/dist/assets/VSpacer-B1l1hVvU.js +0 -1
- package/dist/assets/VTextField-CA_p3N4d.js +0 -1
- package/dist/assets/VTextarea-NyCqY4h5.js +0 -1
- package/dist/assets/Vibe64AsyncModuleState-DEFlqJ97.js +0 -1
- package/dist/assets/Vibe64DashboardShell-BNv2I-P8.js +0 -1
- package/dist/assets/Vibe64DashboardShell-w20wNTGW.css +0 -1
- package/dist/assets/Vibe64DatabaseWorkspace-CuY5lN1o.js +0 -43
- package/dist/assets/Vibe64OutputControls-D2JuYlYU.js +0 -8
- package/dist/assets/Vibe64SessionFiles-C-rWehq_.js +0 -34
- package/dist/assets/Vibe64SessionFiles-Dsr6KQNP.css +0 -1
- package/dist/assets/Vibe64SubsystemsView-BvdU_o6H.css +0 -1
- package/dist/assets/Vibe64SubsystemsView-DJCjSzQM.js +0 -1
- package/dist/assets/Vibe64SystemWorldView-B91ioQaO.js +0 -4312
- package/dist/assets/Vibe64SystemWorldView-BXiQ7_Qb.css +0 -1
- package/dist/assets/Vibe64UnavailableSessions-OvnoD3ZB.js +0 -1
- package/dist/assets/_sessionId_-JTvMh54L.js +0 -1
- package/dist/assets/_slug_-DP_heCDa.js +0 -1
- package/dist/assets/_slug_-DmBZGb0q.css +0 -1
- package/dist/assets/access-C8GQIS19.js +0 -1
- package/dist/assets/app-B83lF61Y.js +0 -1
- package/dist/assets/app-ByLIQ3SB.css +0 -1
- package/dist/assets/assistantRouting-TDtryU6o.js +0 -1
- package/dist/assets/createSimpleFunctional-DPIT6zsT.js +0 -1
- package/dist/assets/dashboard-CWGFPojJ.js +0 -1
- package/dist/assets/definitions-BeLcvOW3.js +0 -1
- package/dist/assets/display-BLmcO-5p.js +0 -1
- package/dist/assets/env-7bqFyF_E.css +0 -1
- package/dist/assets/env-BVwxNL8M.js +0 -1
- package/dist/assets/health-BzNhp7r8.js +0 -1
- package/dist/assets/health-DoHTXTGx.css +0 -1
- package/dist/assets/history-BPeZGofK.js +0 -1
- package/dist/assets/history-iMQxp5AR.css +0 -1
- package/dist/assets/httpClient-BaaZuFvF.js +0 -1
- package/dist/assets/index-5sKwLHOH.js +0 -86
- package/dist/assets/issues-DCEhGlfn.css +0 -1
- package/dist/assets/issues-wby50y9b.js +0 -3
- package/dist/assets/layout-YCn17mK1.js +0 -1
- package/dist/assets/lazy-CvQfXeLg.js +0 -1
- package/dist/assets/mdi-C31_SZp-.js +0 -1
- package/dist/assets/placement-C4R2t6rl.js +0 -1
- package/dist/assets/pull-requests-BNK6mq2u.css +0 -1
- package/dist/assets/pull-requests-lNQAigaC.js +0 -1
- package/dist/assets/runtime-core.esm-bundler-DMrccYS5.js +0 -3
- package/dist/assets/session-D38nzG41.js +0 -1
- package/dist/assets/settings-CFyUJ_kR.js +0 -1
- package/dist/assets/settings-vWsAEoE9.css +0 -1
- package/dist/assets/useArchivedVibe64Sessions-C2DSq2Z4.js +0 -1
- package/dist/assets/useCommand-BzThFLYP.js +0 -1
- package/dist/assets/useEndpointResource-C2KD4Ub_.js +0 -1
- package/dist/assets/useVibe64ConversationLog-CMUlXJtU.js +0 -1
- package/dist/assets/useVibe64DatabaseTools-DBcKhm6B.js +0 -1
- package/dist/assets/useVibe64LearningMode-BPRWM5Rp.js +0 -28
- package/dist/assets/useVibe64LearningMode-PJUv0O25.css +0 -1
- package/dist/assets/useVibe64SessionData-CdtJbAIx.js +0 -1
- package/dist/assets/useVibe64SessionSelection-aR0f6xVT.js +0 -1
- package/dist/assets/useVibe64SystemGraph-DeTPBn0e.js +0 -1
- package/dist/assets/vibe64AssistantHost-Dgyz4TrT.js +0 -1
- package/dist/assets/vibe64ProjectScope.local-GOSMVDRi.js +0 -1
- package/dist/assets/vibe64RepositoryRealtime-t5Al8BlU.js +0 -1
- package/dist/assets/vibe64SessionFocus-CcN6Grgw.js +0 -1
- package/dist/assets/vibe64SessionFocus-ChabllPA.css +0 -1
- package/dist/assets/vibe64SessionToolDefinitions-BaO1DEup.js +0 -1
- /package/dist/assets/{vibe64RepositoryRealtime-D_mq1dFE.css → Vibe64TemporaryAiFixAction-D_mq1dFE.css} +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
.vibe64-colleague-launcher-target[data-v-8e7b0e92]{flex:none;min-width:48px;height:48px;display:flex}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-e1f68750]{padding:.75rem .75rem 0}.studio-app-shell-layout--fill-viewport[data-v-e1f68750]{height:100dvh;overflow:hidden}.studio-app-shell-layout__content--fill-viewport[data-v-e1f68750]{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}.studio-app-shell-layout--learning[data-v-e1f68750]{background-color:color-mix(in srgb, rgb(var(--v-theme-surface)) 92%, #ffdb2c)!important}.studio-app-shell-layout__learning-plate[data-v-e1f68750]{border:2px solid #101010;border-radius:3px;flex:none;margin-left:.75rem;padding:0 .5rem;font-size:1.75rem;font-weight:800;line-height:1;color:#101010!important;background-color:#ffdb2c!important}.studio-app-shell-layout__learning-plate--active[data-v-e1f68750]{box-shadow:0 0 0 2px rgb(var(--v-theme-on-surface))}.studio-app-shell-layout__learning-plate[data-v-e1f68750]:focus-visible{outline:2px solid rgb(var(--v-theme-primary));outline-offset:3px}@media (prefers-reduced-motion:reduce){.studio-app-shell-layout__learning-plate[data-v-e1f68750]{transition:none}}.studio-app-shell-layout__top-right[data-v-e1f68750]{flex:none;align-items:center;gap:.25rem;min-width:0;display:flex}@media (width<=980px){.studio-app-shell-layout--learning[data-v-e1f68750] .studio-autopilot:not(.studio-autopilot--chat-collapsed),.studio-app-shell-layout--learning[data-v-e1f68750] .studio-ai-sessions__empty-layout{grid-template-rows:minmax(0,3fr) minmax(0,2fr);grid-template-columns:minmax(0,1fr);gap:.5rem}.studio-app-shell-layout--learning[data-v-e1f68750] .studio-autopilot:not(.studio-autopilot--chat-collapsed) .studio-autopilot__project-panel,.studio-app-shell-layout--learning[data-v-e1f68750] .studio-ai-sessions__empty-project-panel{visibility:visible;display:grid}}.project-selection-gate__retained-content[data-v-6da5efed]{flex:auto;min-height:0;display:flex}.project-selection-gate[data-v-6da5efed]{align-content:start;gap:.85rem;min-width:0;display:grid}.project-selection-gate__loading[data-v-6da5efed]{flex:auto;min-height:18rem}.project-selection-gate__picker[data-v-6da5efed]{gap:1rem;width:100%;max-width:min(48rem,100%);margin-inline:auto;padding:1rem;display:grid}.project-selection-gate__header[data-v-6da5efed]{justify-content:space-between;align-items:start;min-width:0;display:flex}.project-selection-gate__eyebrow[data-v-6da5efed]{color:rgba(var(--v-theme-on-surface), .62);letter-spacing:0;text-transform:uppercase;margin:0 0 .15rem;font-size:.76rem;font-weight:680}.project-selection-gate__title[data-v-6da5efed]{letter-spacing:0;margin:0;font-size:1.25rem;font-weight:760;line-height:1.15}.project-selection-gate__path[data-v-6da5efed]{color:rgba(var(--v-theme-on-surface), .62);overflow-wrap:anywhere;margin:.35rem 0 0;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:.82rem}.project-selection-gate__list[data-v-6da5efed]{gap:.45rem;display:grid}.project-selection-gate__project[data-v-6da5efed]{text-transform:none;justify-content:flex-start;min-height:3.1rem}.project-selection-gate__project[data-v-6da5efed] .v-btn__content{place-items:flex-start start;gap:.1rem;min-width:0;display:grid}.project-selection-gate__project-path[data-v-6da5efed]{color:rgba(var(--v-theme-on-surface), .62);text-overflow:ellipsis;white-space:nowrap;max-width:min(38rem,70vw);font-size:.75rem;overflow:hidden}.project-selection-gate__create[data-v-6da5efed]{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:.65rem;display:grid}@media (width<=640px){.project-selection-gate__create[data-v-6da5efed]{grid-template-columns:1fr}}.vibe64-auth-settings[data-v-b99bbfef]{flex:none;justify-content:center;align-items:center;margin-inline-end:.75rem;display:inline-flex}.vibe64-auth-settings__button[data-v-b99bbfef]{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--needs-attention[data-v-b99bbfef]{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-b99bbfef]: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-b99bbfef;position:absolute;inset:-.2rem;transform:scale(1)translateZ(0)}.vibe64-auth-settings__dialog[data-v-b99bbfef]{flex-direction:column;max-height:min(88vh,54rem);display:flex;overflow:hidden}.vibe64-auth-settings__dialog-title[data-v-b99bbfef]{justify-content:flex-end;align-items:start;gap:1rem;padding:1rem 1rem .75rem;display:flex}.vibe64-auth-settings__dialog-title>div[data-v-b99bbfef]{flex:auto;min-width:0}.vibe64-auth-settings__dialog-title h2[data-v-b99bbfef]{letter-spacing:0;margin:0;font-size:1.08rem;font-weight:760;line-height:1.2}.vibe64-auth-settings__dialog-title p[data-v-b99bbfef]{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-b99bbfef]{flex:none;padding-inline:.75rem}.vibe64-auth-settings__provider-tab[data-v-b99bbfef]{min-width:8.5rem}.vibe64-auth-settings__provider-attention[data-v-b99bbfef]{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-b99bbfef]{flex:auto;padding:1rem;overflow:auto}.vibe64-personal-profile[data-v-b99bbfef]{gap:1rem;max-width:38rem;display:grid}.vibe64-personal-profile__heading h3[data-v-b99bbfef]{margin:0;font-size:1rem;font-weight:720;line-height:1.35}.vibe64-personal-profile__heading p[data-v-b99bbfef],.vibe64-personal-profile__supporting-text[data-v-b99bbfef]{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-b99bbfef]{justify-content:flex-end;display:flex}.vibe64-personal-profile__save[data-v-b99bbfef]{min-width:7.5rem;min-height:3rem}@media (pointer:coarse){.vibe64-auth-settings__button[data-v-b99bbfef],.vibe64-auth-settings__provider-tab[data-v-b99bbfef]{min-height:3rem}}@keyframes vibe64-auth-settings-pulse-b99bbfef{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-b99bbfef]:after{animation:none}}@media (width<=720px){.vibe64-auth-settings__dialog[data-v-b99bbfef]{max-height:100vh}.vibe64-auth-settings__provider-tab[data-v-b99bbfef]{min-width:7.25rem}.vibe64-auth-settings__dialog-body[data-v-b99bbfef]{padding:.85rem}}.chat-modes__trigger[data-v-9a47f0c6]{flex-shrink:0}.chat-modes__details[data-v-9a47f0c6]{flex-direction:column;max-height:min(560px,75dvh);display:flex}.chat-modes__details-body[data-v-9a47f0c6]{min-height:0;overflow-y:auto}.chat-modes__model[data-v-9a47f0c6]{white-space:normal;overflow-wrap:anywhere}.vibe64-temporary-ai.vibe64-temporary-ai--host[data-v-7b4a3318]{border-color:rgba(var(--v-theme-secondary), .65);grid-template-rows:auto minmax(0,1fr)}.vibe64-temporary-ai--host .vibe64-temporary-ai__tabs[data-v-7b4a3318]{background:rgba(var(--v-theme-secondary), .12)}.vibe64-temporary-ai__host-tab[data-v-7b4a3318]{flex:none}.vibe64-temporary-ai__host-content[data-v-7b4a3318]{min-width:0;min-height:0}.vibe64-temporary-ai__unread[data-v-7b4a3318]{background:rgb(var(--v-theme-primary));border-radius:50%;flex:0 0 8px;height:8px}.vibe64-temporary-ai[data-v-7b4a3318]{background:rgb(var(--v-theme-surface));border:2px solid rgba(var(--v-theme-tertiary), .42);z-index:12;border-radius:12px;grid-row:3/-1;grid-template-rows:auto auto minmax(0,1fr);grid-template-columns:minmax(0,1fr);min-height:0;display:grid;position:absolute;inset:0 .3rem .3rem;overflow:hidden;box-shadow:0 14px 38px #0f172a38}.vibe64-temporary-ai__tabs[data-v-7b4a3318]{background:rgba(var(--v-theme-tertiary), .06);border-bottom:1px solid rgba(var(--v-theme-tertiary), .18);align-items:flex-start;gap:.25rem;padding:.25rem .35rem;display:flex}.vibe64-temporary-ai__task-tabs[data-v-7b4a3318]{scrollbar-width:thin;flex:auto;gap:.25rem;min-width:0;display:flex;overflow-x:auto}.vibe64-temporary-ai__tab[data-v-7b4a3318]{background:rgba(var(--v-theme-on-surface), .05);color:inherit;border:1px solid #0000;border-radius:999px;flex:none;align-items:center;max-width:100%;min-height:2rem;padding-left:.15rem;display:inline-flex}.vibe64-temporary-ai__tab-select[data-v-7b4a3318]{color:inherit;cursor:pointer;background:0 0;border:0;align-self:stretch;align-items:center;gap:.35rem;min-width:0;padding:.2rem .35rem .2rem .55rem;display:inline-flex}.vibe64-temporary-ai__tab-select>span[data-v-7b4a3318]:first-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.vibe64-temporary-ai__tab-close[data-v-7b4a3318]{flex:none}.vibe64-temporary-ai[data-v-7b4a3318]:focus-visible,.vibe64-temporary-ai__tab-select[data-v-7b4a3318]:focus-visible{outline:2px solid rgb(var(--v-theme-primary));outline-offset:2px}.vibe64-temporary-ai__tab--active[data-v-7b4a3318]{background:rgb(var(--v-theme-surface));border-color:rgba(var(--v-theme-tertiary), .35);font-weight:650}.vibe64-temporary-ai__tab--main[data-v-7b4a3318]{background:rgb(var(--v-theme-surface));border-color:rgba(var(--v-theme-tertiary), .22)}.vibe64-temporary-ai__new-task[data-v-7b4a3318]{flex:none}.vibe64-temporary-ai__tabs-spacer[data-v-7b4a3318]{flex:auto}.vibe64-temporary-ai__busy[data-v-7b4a3318]{background:rgb(var(--v-theme-primary));border-radius:50%;width:.45rem;height:.45rem}.vibe64-temporary-ai__recovery[data-v-7b4a3318]{overflow-wrap:anywhere;align-items:start;gap:.5rem;padding:.4rem;font-size:.85rem;display:flex}.vibe64-temporary-ai__recovery-row[data-v-7b4a3318]:not(:empty){max-height:min(20dvh,8rem);padding:.35rem .55rem 0;overflow-y:auto}.vibe64-temporary-ai__recovery-summary[data-v-7b4a3318]{flex:1;min-width:0}.vibe64-temporary-ai__recovery strong[data-v-7b4a3318]{font-size:.95rem;line-height:1.4}.vibe64-temporary-ai__recovery summary[data-v-7b4a3318]{cursor:pointer}.vibe64-temporary-ai__check-update[data-v-7b4a3318],.vibe64-temporary-ai__composer[data-v-7b4a3318]{flex:none}.vibe64-temporary-ai__return[data-v-7b4a3318]{justify-self:start;margin-top:.4rem;scroll-margin-block:.55rem}.vibe64-temporary-ai__recovery p[data-v-7b4a3318]{margin:0}.vibe64-temporary-ai__recovery p+p[data-v-7b4a3318]{margin-top:.3rem}.vibe64-temporary-ai__error[data-v-7b4a3318]{color:rgba(var(--v-theme-on-surface), .66);font-size:.82rem}.vibe64-temporary-ai__feedback[data-v-7b4a3318]{flex:none;min-width:0;max-height:min(12dvh,6rem);overflow-y:auto}.vibe64-temporary-ai__error[data-v-7b4a3318]{color:rgb(var(--v-theme-error));padding:.3rem .55rem}.vibe64-temporary-ai__error--recovered[data-v-7b4a3318]{color:rgba(var(--v-theme-on-surface), .66)}@media (width<=720px){.vibe64-temporary-ai[data-v-7b4a3318]{z-index:30;border:0;border-radius:0;inset:0}}@media (pointer:coarse){.vibe64-temporary-ai__tab-select[data-v-7b4a3318],.vibe64-temporary-ai__new-task[data-v-7b4a3318],.vibe64-temporary-ai__tab-close[data-v-7b4a3318],.vibe64-temporary-ai__check-update[data-v-7b4a3318],.vibe64-temporary-ai__return[data-v-7b4a3318]{min-width:3rem!important;min-height:3rem!important}}.studio-ai-session-archive-dialog[data-v-6853144f]{border:1px solid rgba(var(--v-theme-primary), .32)}.studio-ai-session-archive-dialog__title[data-v-6853144f],.studio-ai-session-archive-dialog__actions[data-v-6853144f]{align-items:center;gap:.55rem;display:flex}.studio-ai-session-archive-dialog__actions[data-v-6853144f]{justify-content:flex-end;padding:0 1rem 1rem}.project-preview[data-v-9cab79de]{flex-direction:column;min-width:0;height:100%;min-height:0;display:flex}.project-preview__output[data-v-9cab79de]{flex:1;min-height:0}.project-preview__warning[data-v-9cab79de]{overflow-wrap:anywhere;flex:none;max-height:35%;overflow-y:auto}.project-preview__warning p[data-v-9cab79de]{margin:.25rem 0}.project-preview__warning-actions[data-v-9cab79de]{flex-wrap:wrap;align-items:center;gap:.25rem .5rem;margin-top:.25rem;display:flex}.project-preview__warning-actions button[data-v-9cab79de]:disabled{opacity:.6}.project-onboarding[data-v-9cab79de]{width:min(100%,52rem);margin:auto;padding:clamp(1rem,3vw,2.5rem);overflow-y:auto}.project-onboarding h2[data-v-9cab79de]{margin-bottom:1rem;font-size:1.6rem;line-height:1.25}.project-onboarding p[data-v-9cab79de]{margin-bottom:1.25rem;line-height:1.6}.project-onboarding__eyebrow[data-v-9cab79de]{letter-spacing:.06em;text-transform:uppercase;opacity:.65;font-size:.8rem;font-weight:700}.project-onboarding__group[data-v-9cab79de]{margin-block:1.5rem}.project-onboarding__group h3[data-v-9cab79de]{margin-bottom:.75rem}.project-onboarding__choices[data-v-9cab79de]{grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr));gap:1rem;display:grid}.project-onboarding__choice[data-v-9cab79de]{text-align:left;border:1px solid rgba(var(--v-theme-on-surface), .16);background:rgb(var(--v-theme-surface));color:inherit;border-radius:1rem;flex-direction:column;gap:.7rem;padding:1.25rem;display:flex}.project-onboarding__choice[data-v-9cab79de]:not(:disabled):hover{border-color:rgb(var(--v-theme-primary));background:rgba(var(--v-theme-primary), .05)}.project-onboarding__choice[data-v-9cab79de]:focus-visible{outline:2px solid rgb(var(--v-theme-primary));outline-offset:3px}.project-onboarding__choice[data-v-9cab79de]:disabled{opacity:.55}.project-onboarding__choice span[data-v-9cab79de]{font-size:.9rem;line-height:1.5}.project-onboarding__choose[data-v-9cab79de]{color:rgb(var(--v-theme-primary));margin-top:auto;padding-top:.5rem;font-weight:600}.project-onboarding__actions[data-v-9cab79de]{flex-wrap:wrap;gap:.75rem;display:flex}.vibe64-training-visual[data-v-a8aada52]{min-width:0}.vibe64-training-visual__canvas[data-v-a8aada52]{position:relative}.vibe64-training-visual iframe[data-v-a8aada52]{border:0;width:100%;height:min(60vh,32rem);min-height:16rem;display:block}.vibe64-training-visual__loading[data-v-a8aada52]{position:absolute;inset:0}.vibe64-training-visual p[data-v-a8aada52]{overflow-wrap:anywhere;margin:8px 0}.vibe64-training-visual__error[data-v-a8aada52]{color:rgb(var(--v-theme-error))}.training-preview[data-v-3be66fe4]{flex-direction:column;min-width:0;height:100%;min-height:0;display:flex}.training-preview__choices[data-v-3be66fe4]{flex-wrap:wrap;flex:none;gap:4px;display:flex}.training-preview__app[data-v-3be66fe4]{flex:1;min-width:0;min-height:0}.training-preview__lessons[data-v-3be66fe4],.training-preview__presentation[data-v-3be66fe4]{flex:1;min-width:0;min-height:0;overflow:auto}.training-preview__presentation p[data-v-3be66fe4]{overflow-wrap:anywhere;margin:8px}.agent-plan-usage[data-v-a011ccfc]{text-transform:none;max-width:100%;font-size:.7rem}.agent-plan-usage__details[data-v-a011ccfc]{white-space:pre-line;margin-block:.5rem}.agent-plan-usage__goal-text[data-v-a011ccfc]{white-space:pre-wrap;overflow-wrap:anywhere}.work-plan-control[data-v-1813ffe2]{flex:none;align-items:center;display:inline-flex}@media (pointer:coarse){.work-plan-control>.v-btn[data-v-1813ffe2]{min-width:48px;min-height:48px}}.work-plan-content[data-v-1813ffe2]{overflow-wrap:anywhere;min-height:0}.work-plan-archive-context[data-v-1813ffe2]{flex:none;align-items:center;gap:.5rem;display:flex}.work-plan-archive-copy[data-v-1813ffe2]{min-width:0}.work-plan-history-title[data-v-1813ffe2]{white-space:normal;overflow-wrap:anywhere;flex:1;min-width:0}.work-plan-empty[data-v-1813ffe2]{flex-direction:column;flex:1;justify-content:center;align-items:center;min-height:12rem;display:flex}.work-plan-item[data-v-1813ffe2]{align-items:flex-start;gap:.75rem;margin-block:.5rem;display:flex}.work-plan-item input[data-v-1813ffe2]{opacity:1;width:1.1rem;height:1.1rem;accent-color:rgb(var(--v-theme-primary));flex:none;margin-top:.25rem}.work-plan-item[data-v-1813ffe2]>:last-child{flex:1;min-width:0}.starred-files-menu[data-v-b86a8fd5]{flex-direction:column;gap:.5rem;width:min(25rem,100vw - 1rem);max-height:min(32rem,75dvh);padding:.75rem;display:flex}.starred-files-menu__header[data-v-b86a8fd5]{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.5rem;display:grid}.starred-files-menu__list[data-v-b86a8fd5]{overscroll-behavior:contain;min-height:0;overflow-y:auto}@media (width<=599px){.starred-files-menu[data-v-b86a8fd5]{width:100%;padding-bottom:max(.75rem, env(safe-area-inset-bottom))}}@media (pointer:coarse){.starred-files-menu__trigger[data-v-b86a8fd5]{min-width:3rem;min-height:3rem}}.vibe64-temporary-action-terminal--error{border-inline-start:.25rem solid rgb(var(--v-theme-error))}.vibe64-temporary-action-terminal .vibe64-terminal-surface__header{flex-direction:column;align-items:stretch;gap:.5rem;margin-bottom:0}.vibe64-temporary-action-terminal .vibe64-terminal-surface__body{margin-top:.5rem}.vibe64-temporary-action-terminal__summary[data-v-46f59437]{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"title status";align-items:center;gap:.5rem;min-width:0;display:grid}.vibe64-temporary-action-terminal__title[data-v-46f59437]{grid-area:title;font-size:.88rem}.vibe64-temporary-action-terminal__status[data-v-46f59437]{grid-area:status}.vibe64-temporary-action-terminal--error .vibe64-temporary-action-terminal__line[data-v-46f59437]{overflow-wrap:anywhere;white-space:normal;flex-basis:100%}.vibe64-temporary-action-terminal__title[data-v-46f59437],.vibe64-temporary-action-terminal__line[data-v-46f59437]{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.vibe64-temporary-action-terminal__line[data-v-46f59437]{color:rgba(var(--v-theme-on-surface), .72);flex:1 1 0;order:-1;min-width:0;font-size:.82rem}.studio-ai-sessions__create-button[data-v-6cb848fb]{border:1px solid #0000;border-radius:999px;width:3rem;min-width:3rem;height:3rem;min-height:3rem;position:relative;overflow:visible;background:var(--studio-control-rest-bg,#f7f7f8)!important;box-shadow:none!important;color:#1a73e8!important}.studio-ai-sessions__create-button[data-v-6cb848fb]:hover{background:var(--studio-control-active-bg,#e7e7e7)!important}.studio-ai-sessions__create-button[data-v-6cb848fb] .v-icon{color:currentColor;font-size:1.15rem}.studio-ai-sessions__create-button--attention[data-v-6cb848fb]:not(.v-btn--disabled){border-color:#1a73e85c}.studio-ai-sessions__create-button--attention[data-v-6cb848fb]:not(.v-btn--disabled):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 studio-ai-session-create-pulse-6cb848fb;position:absolute;inset:-.18rem;transform:scale(1)translateZ(0)}.studio-ai-sessions__preview-create-button[data-v-6cb848fb]{border-radius:var(--studio-control-radius,7px);letter-spacing:0;border:1px solid #0000;min-width:12rem;min-height:3rem;font-weight:500;background:var(--studio-control-active-bg,#e7e7e7)!important;box-shadow:none!important;color:var(--studio-control-text,#202124)!important}.studio-ai-sessions__preview-create-button[data-v-6cb848fb]:hover{background:var(--studio-control-rest-bg,#f7f7f8)!important}.studio-ai-sessions__create-button--unavailable[data-v-6cb848fb]{cursor:not-allowed;opacity:var(--v-disabled-opacity,.38)}.studio-ai-sessions__create-button--unavailable[data-v-6cb848fb]:hover{background:var(--studio-control-rest-bg,#f7f7f8)!important}@keyframes studio-ai-session-create-pulse-6cb848fb{0%{opacity:.48;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){.studio-ai-sessions__create-button--attention[data-v-6cb848fb]:not(.v-btn--disabled):after{animation:none}}.studio-ai-sessions__archive-progress[data-v-40a7029c]{background:rgba(var(--v-theme-primary), .08);overflow-wrap:anywhere;border-radius:.5rem;align-items:flex-start;gap:.5rem;width:100%;padding:.5rem;font-size:.8rem;display:flex}.studio-ai-sessions__archive-detail[data-v-40a7029c]{opacity:.8;margin-top:.2rem}.studio-ai-sessions__toolbar[data-v-40a7029c]{flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:.75rem;width:100%;min-width:0;display:flex}.studio-ai-sessions__tabs[data-v-40a7029c]{flex-wrap:wrap;align-items:center;gap:.45rem;width:100%;min-width:0;display:flex}.studio-ai-sessions__tab[data-v-40a7029c]{border:0;border-radius:999px;align-items:stretch;max-width:18rem;font-weight:500;position:relative;overflow:visible;box-shadow:none!important;color:var(--studio-control-text,#202124)!important;background:0 0!important;padding:0!important}.studio-ai-sessions__tab[data-v-40a7029c] .v-chip__content{align-items:stretch;min-width:0;display:inline-flex}.studio-ai-sessions__tab-main[data-v-40a7029c]{background:var(--studio-control-rest-bg,#f7f7f8);box-sizing:border-box;color:var(--studio-control-text,#202124);border:1px solid #0000;border-radius:999px;flex:auto;align-items:center;min-width:0;padding-inline:.85rem;display:inline-flex}.studio-ai-sessions__tab--active[data-v-40a7029c]{font-weight:560;color:var(--studio-control-text,#202124)!important}.studio-ai-sessions__tab--archiving .studio-ai-sessions__tab-main[data-v-40a7029c]{background:rgba(var(--v-theme-on-surface), .06);color:rgba(var(--v-theme-on-surface), .55)}.studio-ai-sessions__tab--archiving .studio-ai-sessions__status-dot[data-v-40a7029c]{background:currentColor}.studio-ai-sessions__tab--active .studio-ai-sessions__tab-main[data-v-40a7029c]{background:var(--studio-control-active-bg,#e7e7e7);border-radius:999px 0 0 999px;padding-inline-end:.34rem}.studio-ai-sessions__tab-main[data-v-40a7029c]:hover,.studio-ai-sessions__tab:focus-visible .studio-ai-sessions__tab-main[data-v-40a7029c],.studio-ai-sessions__tab-main:hover+.studio-ai-sessions__tab-close-slot[data-v-40a7029c],.studio-ai-sessions__tab:focus-visible .studio-ai-sessions__tab-close-slot[data-v-40a7029c]{background:rgb(var(--v-theme-primary));color:rgb(var(--v-theme-on-primary));border-color:#0000}.studio-ai-sessions__tab[data-v-40a7029c] .v-chip__overlay,.studio-ai-sessions__tab[data-v-40a7029c] .v-chip__underlay{display:none}.studio-ai-sessions__tab-label[data-v-40a7029c]{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.studio-ai-sessions__repository-state[data-v-40a7029c]{color:rgba(var(--v-theme-on-surface), .52);flex:none;margin-inline-start:.42rem}.studio-ai-sessions__tab-info[data-v-40a7029c]{color:inherit;flex-shrink:0;display:none}.studio-ai-sessions__info[data-v-40a7029c]{overflow-wrap:anywhere;max-width:100%;padding:.25rem}.studio-ai-sessions__info-facts[data-v-40a7029c]{grid-template-columns:auto minmax(0,1fr);gap:.3rem .75rem;margin:.5rem 0 0;display:grid}.studio-ai-sessions__info-facts dt[data-v-40a7029c]{opacity:.75}.studio-ai-sessions__info-facts dd[data-v-40a7029c]{margin:0}.studio-ai-sessions__repository-state--saved[data-v-40a7029c]{color:rgb(var(--v-theme-success))}.studio-ai-sessions__repository-state--unsaved[data-v-40a7029c],.studio-ai-sessions__repository-state--unavailable[data-v-40a7029c]{color:rgb(var(--v-theme-error))}.studio-ai-sessions__tab-close-slot[data-v-40a7029c]{background:var(--studio-control-active-bg,#e7e7e7);box-sizing:border-box;color:rgba(var(--v-theme-on-surface), .68);border:1px solid #0000;border-left:0;border-radius:0 999px 999px 0;flex:none;justify-content:center;align-items:center;padding-inline:.14rem .28rem;display:inline-flex}.studio-ai-sessions__tab-archive[data-v-40a7029c]{flex:0 0 1.38rem;min-width:1.38rem;min-height:1.38rem;color:currentColor!important;background:0 0!important;width:1.38rem!important;height:1.38rem!important;padding:0!important}.studio-ai-sessions__tab-archive[data-v-40a7029c]:hover,.studio-ai-sessions__tab-archive[data-v-40a7029c]:focus-visible{box-shadow:inset 0 0 0 1px rgba(var(--v-theme-on-primary), .16), 0 1px 3px rgba(var(--v-theme-primary), .34);opacity:1;pointer-events:auto;background:rgb(var(--v-theme-primary))!important;color:rgb(var(--v-theme-on-primary))!important}.studio-ai-sessions__tab-archive[data-v-40a7029c] .v-icon{font-size:.98rem}.studio-ai-sessions__tab-main:hover .studio-ai-sessions__status-dot[data-v-40a7029c],.studio-ai-sessions__tab:focus-visible .studio-ai-sessions__status-dot[data-v-40a7029c]{background:currentColor}.studio-ai-sessions__status-dot[data-v-40a7029c]{background:rgb(var(--v-theme-primary));contain:paint;border-radius:999px;flex:none;width:.52rem;height:.52rem;margin-right:.42rem;display:inline-block;position:relative}.studio-ai-sessions__tab--thinking .studio-ai-sessions__status-dot[data-v-40a7029c]{animation:1.3s steps(2,end) infinite studio-ai-sessions-thinking-pulse-40a7029c}.studio-ai-sessions__status-dot--blocked[data-v-40a7029c],.studio-ai-sessions__status-dot--failed[data-v-40a7029c]{background:rgb(var(--v-theme-error))}@keyframes studio-ai-sessions-thinking-pulse-40a7029c{0%,to{opacity:.45}50%{opacity:1}}.studio-ai-sessions__toolbar--compact .studio-ai-sessions__tabs[data-v-40a7029c]{flex-wrap:nowrap;gap:.34rem}.studio-ai-sessions__toolbar--compact[data-v-40a7029c]{min-height:2rem}.studio-ai-sessions__toolbar--compact .studio-ai-sessions__tab[data-v-40a7029c]{letter-spacing:0;flex:1 1 0;min-width:0;max-width:12.5rem;height:2rem;min-height:2rem;font-size:.92rem}.studio-ai-sessions__toolbar--compact .studio-ai-sessions__tab-main[data-v-40a7029c]{padding-inline:.25rem}.studio-ai-sessions__toolbar--compact .studio-ai-sessions__tab--active[data-v-40a7029c]{flex-basis:1.7rem}.studio-ai-sessions__toolbar--compact .studio-ai-sessions__tab--active .studio-ai-sessions__tab-main[data-v-40a7029c]{padding-inline-end:.28rem}.studio-ai-sessions__toolbar--compact .studio-ai-sessions__tab-close-slot[data-v-40a7029c]{padding-inline:.08rem .22rem}.studio-ai-sessions__toolbar--compact .studio-ai-sessions__status-dot[data-v-40a7029c]{width:.58rem;height:.58rem;margin-right:.25rem}.studio-ai-sessions__toolbar--compact .studio-ai-sessions__repository-state[data-v-40a7029c]{margin-inline-start:.25rem}.studio-ai-sessions__toolbar--compact .studio-ai-sessions__tab-archive[data-v-40a7029c]{flex-basis:1.42rem;min-width:1.42rem;min-height:1.42rem;width:1.42rem!important;height:1.42rem!important}.studio-ai-sessions__toolbar--compact .studio-ai-sessions__tab-archive[data-v-40a7029c] .v-icon{font-size:1rem}@media (width<=640px){.studio-ai-sessions__toolbar[data-v-40a7029c]{flex-direction:column;align-items:stretch}}@media (hover:none),(pointer:coarse){.studio-ai-sessions__tab-info[data-v-40a7029c]{display:inline-flex}.studio-ai-sessions__repository-state--desktop[data-v-40a7029c]{display:none}.studio-ai-sessions__tab .studio-ai-sessions__tab-archive[data-v-40a7029c]{box-shadow:none;opacity:1;pointer-events:auto}}@media (prefers-reduced-motion:reduce){.studio-ai-sessions__tab--thinking .studio-ai-sessions__status-dot[data-v-40a7029c]{opacity:1;animation:none}}.studio-autopilot__reasoning-dots[data-v-1df3d929]{clip-path:inset(0 66.666% 0 0);animation:1.5s step-end infinite reasoning-dots-1df3d929;display:inline-block}@keyframes reasoning-dots-1df3d929{33%{clip-path:inset(0 33.333% 0 0)}66%{clip-path:inset(0)}}@media (prefers-reduced-motion:reduce){.studio-autopilot__reasoning-dots[data-v-1df3d929]{clip-path:none;animation:none}}.studio-autopilot__checkpoint-notice summary[data-v-1df3d929]{cursor:pointer}.studio-autopilot__checkpoint-details[data-v-1df3d929]{overflow-wrap:anywhere;white-space:pre-wrap;max-height:8rem;overflow:auto}.studio-autopilot[data-v-1df3d929]{background:rgb(var(--v-theme-background));grid-template-columns:minmax(20rem,38%) minmax(0,1fr);min-width:0;height:100%;min-height:0;display:grid;overflow:hidden}.studio-home-shell-session-github-actor[data-v-1df3d929]{color:rgba(var(--v-theme-on-surface), .72);white-space:nowrap;align-items:center;gap:.24rem;min-width:0;max-width:100%;padding:0 .36rem;font-size:.72rem;font-weight:650;line-height:1;display:inline-flex}.studio-home-shell-session-github-actor span[data-v-1df3d929]{text-overflow:ellipsis;min-width:0;overflow:hidden}.studio-home-shell-session-github-actor--inactive[data-v-1df3d929]{color:rgba(var(--v-theme-on-surface), .46)}.studio-autopilot--chat-collapsed[data-v-1df3d929]{grid-template-columns:0 minmax(0,1fr)}.studio-autopilot__chat-panel[data-v-1df3d929]{background:rgb(var(--v-theme-surface));border-right:1px solid rgba(var(--v-theme-outline), .14);grid-template-rows:auto auto minmax(0,1fr);min-width:0;min-height:0;display:grid;position:relative;overflow:hidden;container:studio-chat-pane/inline-size}.studio-autopilot--chat-collapsed .studio-autopilot__chat-panel[data-v-1df3d929]{visibility:hidden}.studio-autopilot__session-header[data-v-1df3d929]{border-bottom:1px solid rgba(var(--v-theme-outline), .12);box-sizing:border-box;grid-row:1;justify-content:space-between;align-items:center;gap:0;width:100%;min-width:0;min-height:3rem;padding:.4rem .25rem;display:flex;overflow:hidden}.studio-autopilot__session-header[data-v-1df3d929] .studio-ai-sessions__toolbar{flex:auto;min-width:0;margin-inline-end:.35rem;overflow:hidden}.studio-autopilot__session-header[data-v-1df3d929] .studio-ai-sessions__tabs{min-width:0;overflow:hidden}.studio-autopilot__header-actions[data-v-1df3d929],.studio-autopilot__session-tool-header[data-v-1df3d929]{align-items:center;gap:.4rem;display:flex}.studio-autopilot__header-actions[data-v-1df3d929]{flex:none;margin-inline-start:auto}.studio-autopilot__header-actions--compact[data-v-1df3d929]{display:none}@container studio-chat-pane (width>=32.01rem) and (width<=40rem){.studio-autopilot__session-header[data-v-1df3d929]{--session-action-size:44px}.studio-autopilot__header-actions[data-v-1df3d929]{gap:0}.studio-autopilot__header-actions[data-v-1df3d929] .v-icon,.studio-autopilot__save-work[data-v-1df3d929] .v-btn__content>.v-icon{width:20px;height:20px;font-size:20px}.studio-autopilot__save-symbol[data-v-1df3d929]{transform:scale(.85)}}@container studio-chat-pane (width<=32rem){.studio-autopilot__header-actions--compact[data-v-1df3d929]{display:flex}.studio-autopilot__header-actions--expanded[data-v-1df3d929]{display:none}}.studio-autopilot__session-action-item[data-v-1df3d929]{min-height:3rem}.studio-autopilot__conversation[data-v-1df3d929]{grid-row:3;min-width:0;min-height:0}.studio-autopilot__activity[data-v-1df3d929]{grid-row:2;grid-auto-rows:max-content;gap:.3rem;min-width:0;max-height:min(24dvh,12rem);padding:.35rem .5rem;display:grid;overflow:auto}.studio-autopilot__activity[data-v-1df3d929]:empty{padding:0;display:none}.studio-autopilot__connection-recovery[data-v-1df3d929]{background:rgba(var(--v-theme-primary), .08);border:1px solid rgba(var(--v-theme-primary), .24);color:rgb(var(--v-theme-on-surface));flex-wrap:wrap;align-items:center;gap:.5rem;padding:.25rem .5rem;display:flex}.studio-autopilot__connection-recovery>span[data-v-1df3d929]{flex:100%;min-width:0}.studio-autopilot__connection-recovery>.v-btn[data-v-1df3d929]{flex:none}.studio-autopilot__composer[data-v-1df3d929]{border-top:1px solid rgba(var(--v-theme-outline), .1);box-sizing:border-box;flex:none;width:100%;min-width:0;max-width:100%;padding:4px;overflow:hidden}.studio-autopilot__composer-actions[data-v-1df3d929],.studio-autopilot__composer-delivery[data-v-1df3d929]{align-items:center;gap:.25rem;min-width:0;display:flex}.studio-autopilot__composer-actions[data-v-1df3d929]{column-gap:clamp(0rem,4% - 1.25rem,.5rem);width:100%}.studio-autopilot__composer-delivery[data-v-1df3d929]{flex-shrink:0;margin-inline-start:auto}.studio-autopilot__settings-access[data-v-1df3d929]{grid-column:1/-1}.studio-autopilot__composer-action[data-v-1df3d929]{flex-shrink:0}.studio-autopilot__assistant-button[data-v-1df3d929]{align-items:center;display:flex;position:relative}.studio-autopilot__assistant-button-label[data-v-1df3d929]{z-index:1;border:1px solid rgba(var(--v-theme-on-surface), .25);background:rgb(var(--v-theme-surface-light));color:rgb(var(--v-theme-on-surface));white-space:nowrap;letter-spacing:0;text-transform:none;border-radius:3px;padding:0 4px;font-size:9px;font-weight:600;line-height:11px;position:absolute;top:100%;left:50%;transform:translate(max(-50%,-2.5rem))}.studio-autopilot__composer-tools[data-v-1df3d929]{flex-shrink:0;display:flex}.studio-autopilot__composer-tools[data-v-1df3d929]:empty{display:none}@container studio-chat-pane (width<=32rem){.studio-autopilot__composer-actions[data-v-1df3d929],.studio-autopilot__composer-delivery[data-v-1df3d929]{gap:0}.studio-autopilot__composer-actions .studio-autopilot__composer-action[data-v-1df3d929]{width:clamp(2rem,10cqi,2.5rem)}.studio-autopilot__composer-actions[data-v-1df3d929] button{flex-shrink:1;min-width:min-content;padding-inline:.25rem}}.studio-autopilot__composer-menu[data-v-1df3d929]{flex-direction:column;gap:.4rem;max-width:calc(100vw - 24px);display:flex}.studio-autopilot__save-work[data-v-1df3d929]{flex:none}.studio-autopilot__save-work--check[data-v-1df3d929]{opacity:var(--v-disabled-opacity)}.studio-autopilot__save-symbol[data-v-1df3d929]{width:34px;height:32px;position:relative}.studio-autopilot__save-symbol-disk[data-v-1df3d929],.studio-autopilot__save-symbol-commit[data-v-1df3d929]{opacity:.72;position:absolute}.studio-autopilot__save-symbol-disk[data-v-1df3d929]{bottom:0;left:0}.studio-autopilot__save-symbol-commit[data-v-1df3d929]{top:0;right:0}.studio-autopilot__project-panel[data-v-1df3d929],.studio-autopilot__dashboard-shell[data-v-1df3d929],.studio-autopilot__right-pane-page[data-v-1df3d929],.studio-autopilot__session-tool-pane[data-v-1df3d929],.studio-autopilot__session-tool-content[data-v-1df3d929]{min-width:0;height:100%;min-height:0}.studio-autopilot__project-panel[data-v-1df3d929]{contain:strict;position:relative;overflow:hidden}.studio-autopilot__right-pane-page[data-v-1df3d929]{overflow:auto}.studio-autopilot__session-tool-pane[data-v-1df3d929]{grid-template-rows:auto minmax(0,1fr);display:grid}.studio-autopilot__session-tool-header[data-v-1df3d929]{border-bottom:1px solid rgba(var(--v-theme-outline), .12);min-height:2.7rem;padding:.42rem .7rem}.studio-autopilot__session-tool-content[data-v-1df3d929]{overflow:hidden}.studio-autopilot__preview-launch[data-v-1df3d929]{height:100%}@media (width>=981px){.studio-autopilot[data-v-1df3d929]{gap:var(--studio-home-project-gap,.75rem);grid-template-columns:var(--studio-home-chat-column-width,32rem) minmax(0, 1fr)}.studio-autopilot--chat-collapsed[data-v-1df3d929]{grid-template-columns:0 minmax(0,1fr);gap:0}}@media (width<=980px){.studio-autopilot[data-v-1df3d929]:not(.studio-autopilot--chat-collapsed){grid-template-columns:minmax(0,1fr) 0}.studio-autopilot:not(.studio-autopilot--chat-collapsed) .studio-autopilot__project-panel[data-v-1df3d929]{visibility:hidden}}@media (pointer:coarse){.studio-autopilot__composer-actions .studio-autopilot__composer-action[data-v-1df3d929]{min-width:3rem;min-height:3rem}}.studio-autopilot__voice-feedback[data-v-1df3d929]{flex:100%;min-width:0}.vibe64-codex-session[data-v-25875427]{min-width:0;height:100%;min-height:0;position:relative}.vibe64-codex-session--headless[data-v-25875427]{pointer-events:none;width:0;height:0;position:absolute;overflow:hidden}.vibe64-codex-session--focused[data-v-25875427] .vibe64-terminal-surface{border-color:rgba(var(--v-theme-primary), .72)}.vibe64-codex-session__drop-overlay[data-v-25875427],.vibe64-codex-session__start-panel[data-v-25875427]{justify-content:center;align-items:center;padding:1rem;display:flex;position:absolute;inset:0}.vibe64-codex-session__drop-overlay[data-v-25875427]{background:rgba(var(--v-theme-scrim,var(--v-theme-on-surface)), .68);pointer-events:none;z-index:5}.vibe64-codex-session__drop-card[data-v-25875427]{align-items:center;gap:.7rem;padding:1rem 1.15rem;display:flex}.vibe64-codex-session__start-panel[data-v-25875427]{background:rgba(var(--v-theme-scrim), .8);z-index:3}.vibe64-codex-session__start-card[data-v-25875427]{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.85rem;width:100%;max-width:min(42rem,100%);padding:1rem;display:grid}.vibe64-codex-session__start-icon[data-v-25875427]{background:rgba(var(--v-theme-primary), .14);color:rgb(var(--v-theme-primary));border-radius:50%;justify-content:center;align-items:center;width:3rem;height:3rem;display:flex}.vibe64-codex-session__start-copy[data-v-25875427]{gap:.15rem;min-width:0;display:grid}.vibe64-codex-session__start-copy strong[data-v-25875427]{font-size:.95rem}.vibe64-codex-session__start-copy span[data-v-25875427]{color:rgba(var(--v-theme-on-surface), .72);font-size:.8rem;line-height:1.35}.vibe64-codex-session__command[data-v-25875427]{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.vibe64-codex-session__start-action[data-v-25875427]{min-inline-size:10rem}.vibe64-codex-session__attachment-action[data-v-25875427]{min-width:2.5rem;min-height:2.5rem}@media (pointer:coarse){.vibe64-codex-session__attachment-action[data-v-25875427]{min-width:3rem;min-height:3rem}}@media (width<=700px){.vibe64-codex-session__start-card[data-v-25875427]{grid-template-columns:auto minmax(0,1fr)}.vibe64-codex-session__start-action[data-v-25875427]{grid-column:1/-1;width:100%}}.vibe64-native-agent-session[data-v-957305bf]{block-size:100%;min-block-size:0;min-inline-size:0;position:relative}.vibe64-native-agent-session--headless[data-v-957305bf]{block-size:0;inline-size:0;position:absolute;overflow:hidden}.vibe64-native-agent-session__drop-overlay[data-v-957305bf]{background:rgba(var(--v-theme-surface), .8);pointer-events:none;z-index:3;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.vibe64-native-agent-session__drop-card[data-v-957305bf]{align-items:center;gap:.5rem;padding:1rem;display:flex}.vibe64-native-agent-session__start-panel[data-v-957305bf]{justify-content:center;align-items:center;padding:1rem;display:flex;position:absolute;inset:0}.vibe64-native-agent-session__start-card[data-v-957305bf]{max-inline-size:48rem;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.9rem;width:100%;padding:1rem;display:grid}.vibe64-native-agent-session__start-icon[data-v-957305bf]{background:rgb(var(--v-theme-secondary-container));color:rgb(var(--v-theme-on-secondary-container));border-radius:50%;justify-content:center;align-items:center;width:3.25rem;height:3.25rem;display:flex}.vibe64-native-agent-session__start-copy[data-v-957305bf]{gap:.2rem;display:grid}.vibe64-native-agent-session__start-copy span[data-v-957305bf],.vibe64-native-agent-session__command[data-v-957305bf]{color:rgba(var(--v-theme-on-surface), var(--v-medium-emphasis-opacity));font-size:.82rem}@media (width<=600px){.vibe64-native-agent-session__start-card[data-v-957305bf]{grid-template-columns:auto minmax(0,1fr)}.vibe64-native-agent-session__start-action[data-v-957305bf]{grid-column:1/-1}}.studio-session-renewal[data-v-89b9be36]{max-height:min(46rem,100dvh - 2rem)}.studio-session-renewal__header[data-v-89b9be36],.studio-session-renewal__heading[data-v-89b9be36],.studio-session-renewal__assurance[data-v-89b9be36],.studio-session-renewal__success[data-v-89b9be36],.studio-session-renewal__progress-copy[data-v-89b9be36]{align-items:center;display:flex}.studio-session-renewal__header[data-v-89b9be36]{justify-content:space-between;gap:1rem;min-height:4.5rem;padding:.75rem 1rem}.studio-session-renewal__heading[data-v-89b9be36]{gap:.75rem;min-width:0}.studio-session-renewal__heading>span[data-v-89b9be36]:last-child,.studio-session-renewal__assurance>span[data-v-89b9be36],.studio-session-renewal__success>span[data-v-89b9be36]{gap:.12rem;min-width:0;display:grid}.studio-session-renewal__heading h2[data-v-89b9be36]{margin:0}.studio-session-renewal__subtitle[data-v-89b9be36]{color:rgba(var(--v-theme-on-surface), .68)}.studio-session-renewal__icon[data-v-89b9be36]{background:rgba(var(--v-theme-primary), .12);color:rgb(var(--v-theme-primary));border-radius:50%;flex:none;justify-content:center;align-items:center;width:2.6rem;height:2.6rem;display:inline-flex}.studio-session-renewal__body[data-v-89b9be36]{gap:1rem;min-height:22rem;padding:1.25rem;display:grid}.studio-session-renewal__lead[data-v-89b9be36],.studio-session-renewal__supporting[data-v-89b9be36]{overflow-wrap:anywhere;margin:0}.studio-session-renewal__lead[data-v-89b9be36]{color:rgb(var(--v-theme-on-surface))}.studio-session-renewal__supporting[data-v-89b9be36]{color:rgba(var(--v-theme-on-surface), .7)}.studio-session-renewal__assurance[data-v-89b9be36],.studio-session-renewal__success[data-v-89b9be36]{gap:.75rem;padding:1rem;line-height:1.45}.studio-session-renewal__skeleton[data-v-89b9be36]{gap:1rem;display:grid}.studio-session-renewal__progress-copy[data-v-89b9be36]{align-items:flex-start;gap:.25rem;display:grid}.studio-session-renewal__progress-copy span[data-v-89b9be36]{color:rgba(var(--v-theme-on-surface), .68)}.studio-session-renewal__progress-line[data-v-89b9be36]{margin-block:.1rem .25rem}.studio-session-renewal__steps[data-v-89b9be36]{gap:.35rem;margin:0;padding:0;list-style:none;display:grid}.studio-session-renewal__steps li[data-v-89b9be36]{color:rgba(var(--v-theme-on-surface), .58);border-radius:.75rem;align-items:center;gap:.7rem;min-height:2.75rem;padding:.55rem .7rem;display:flex}.studio-session-renewal__step--active[data-v-89b9be36]{background:rgba(var(--v-theme-primary), .1);color:rgb(var(--v-theme-on-surface))}.studio-session-renewal__step--complete[data-v-89b9be36]{color:rgb(var(--v-theme-primary))}.studio-session-renewal__step-icon[data-v-89b9be36]{flex:none;justify-content:center;align-items:center;width:1.25rem;display:inline-flex}.studio-session-renewal__draft[data-v-89b9be36]{min-width:0}.studio-session-renewal__notice[data-v-89b9be36]{margin:0}.studio-session-renewal__notice-copy[data-v-89b9be36]{gap:.25rem;display:grid}.studio-session-renewal__source-details[data-v-89b9be36]{grid-template-columns:max-content minmax(0,1fr);gap:.25rem .75rem;margin:.75rem 0 0;display:grid}.studio-session-renewal__source-details dt[data-v-89b9be36]{color:rgba(var(--v-theme-on-surface), .68)}.studio-session-renewal__source-details dd[data-v-89b9be36]{overflow-wrap:anywhere;min-width:0;margin:0}.studio-session-renewal__notice-with-action[data-v-89b9be36]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1rem;display:flex}.studio-session-renewal__notice-with-action .studio-session-renewal__notice-copy[data-v-89b9be36]{flex:18rem}.studio-session-renewal__inline-actions[data-v-89b9be36]{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.5rem;margin-top:.75rem;display:flex}.studio-session-renewal__actions[data-v-89b9be36]{flex-wrap:wrap;gap:.5rem;min-height:4.5rem;padding:.75rem 1rem}.studio-session-renewal__actions-spacer[data-v-89b9be36]{flex:auto}.studio-session-renewal--fullscreen[data-v-89b9be36]{height:100dvh;max-height:100dvh}.studio-session-renewal--fullscreen .studio-session-renewal__body[data-v-89b9be36]{min-height:0;padding:1rem}.studio-session-renewal--fullscreen .studio-session-renewal__inline-actions[data-v-89b9be36],.studio-session-renewal--fullscreen .studio-session-renewal__notice-with-action[data-v-89b9be36]{align-items:stretch}.studio-session-renewal--fullscreen .studio-session-renewal__inline-actions[data-v-89b9be36]>*,.studio-session-renewal--fullscreen .studio-session-renewal__notice-with-action[data-v-89b9be36]>:last-child{flex:100%}.studio-session-renewal__actions--compact[data-v-89b9be36]{align-items:stretch}.studio-session-renewal__actions--compact .studio-session-renewal__actions-spacer[data-v-89b9be36]{display:none}.studio-session-renewal__actions--compact .studio-session-renewal__action[data-v-89b9be36]{flex:calc(50% - .25rem)}.studio-session-renewal__actions--compact .studio-session-renewal__action--primary[data-v-89b9be36]{flex-basis:100%}@media (prefers-reduced-motion:reduce){.studio-session-renewal__progress-line[data-v-89b9be36]{display:none}}.studio-ai-session-runtime[data-v-72a1866e]{min-width:0;max-width:100%;height:100%;min-height:0;display:grid;overflow:hidden}.studio-ai-sessions__tab-terminal[data-v-72a1866e]{min-width:0;height:100%;min-height:0}.studio-ai-sessions__tab-terminal[data-v-72a1866e] .studio-ai-sessions__codex-terminal-shell,.studio-ai-sessions__tab-terminal[data-v-72a1866e] .studio-ai-sessions__codex-terminal{height:100%}.studio-ai-sessions__terminal-unavailable[data-v-72a1866e]{color:rgba(var(--v-theme-on-surface), .68);text-align:center;align-content:center;justify-items:center;gap:.4rem;height:100%;padding:2rem;display:grid}.studio-ai-sessions__terminal-unavailable strong[data-v-72a1866e]{color:rgb(var(--v-theme-on-surface))}.studio-ai-sessions__terminal-unavailable span[data-v-72a1866e]{max-width:32rem}.studio-ai-sessions__empty-main[data-v-9baf53bb]{position:relative}.studio-ai-sessions__empty-main>.studio-ai-sessions__empty-host-conversation[data-v-9baf53bb]{grid-row:2/-1}.studio-ai-sessions[data-v-9baf53bb]{gap:.85rem;height:100%;min-height:0;display:grid;position:relative;overflow:hidden}.studio-ai-sessions--autopilot[data-v-9baf53bb]{box-shadow:none;background:0 0;grid-template-rows:minmax(0,1fr);gap:0;padding:0;border-radius:0!important}.studio-ai-sessions__empty-layout[data-v-9baf53bb]{gap:var(--studio-home-project-gap,.75rem);min-width:0;height:100%;min-height:0;display:grid;overflow:hidden}.studio-ai-sessions__chat-column-separator[data-v-9baf53bb]{cursor:col-resize;bottom:0;left:var(--studio-home-chat-column-width,32rem);touch-action:none;-webkit-user-select:none;user-select:none;width:var(--studio-home-project-gap,.75rem);z-index:10;background:0 0;outline:none;position:absolute;top:0}.studio-ai-sessions__chat-column-separator[data-v-9baf53bb]:before{background:rgba(var(--v-theme-on-surface), .14);content:"";width:1px;transition:background-color .12s,width .12s;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.studio-ai-sessions__chat-column-separator[data-v-9baf53bb]:hover:before,.studio-ai-sessions__chat-column-separator[data-v-9baf53bb]:focus-visible:before,.studio-ai-sessions__chat-column-separator--resizing[data-v-9baf53bb]:before{background:rgb(var(--v-theme-primary));width:2px}.studio-ai-sessions--resizing[data-v-9baf53bb]{cursor:col-resize!important;-webkit-user-select:none!important;user-select:none!important}.studio-ai-sessions__empty-main[data-v-9baf53bb],.studio-ai-sessions__empty-project-panel[data-v-9baf53bb]{background:rgb(var(--v-theme-surface));border:1px solid rgba(var(--v-theme-outline), .14);border-radius:14px;min-width:0;min-height:0;overflow:hidden;box-shadow:0 .75rem 2rem #0f172a0f}.studio-ai-sessions__empty-main[data-v-9baf53bb],.studio-ai-sessions__empty-project-panel[data-v-9baf53bb],.studio-ai-sessions__preview-empty-pane[data-v-9baf53bb]{display:grid}.studio-ai-sessions__empty-main[data-v-9baf53bb]{grid-template-rows:auto minmax(0,1fr) auto auto auto;gap:.16rem;padding:.05rem .65rem .18rem;overflow:visible}.studio-ai-sessions__empty-session-header[data-v-9baf53bb]{gap:.28rem;min-width:0;display:grid}.studio-ai-sessions__empty-chat-body[data-v-9baf53bb]{scrollbar-gutter:stable;align-items:start;min-height:0;padding:.25rem .1rem 0 0;display:grid;overflow:hidden}.studio-ai-sessions__empty-hint[data-v-9baf53bb]{background:rgba(var(--v-theme-primary), .08);border:1px solid rgba(var(--v-theme-primary), .16);color:rgba(var(--v-theme-on-surface), .76);border-radius:10px;max-width:100%;padding:.55rem .65rem;font-size:.86rem;line-height:1.35}.studio-ai-sessions__empty-thinking[data-v-9baf53bb]{color:rgba(var(--v-theme-on-surface), .72);align-items:center;gap:.38rem;min-height:1.35rem;font-size:.86rem;display:flex}.studio-ai-sessions__empty-thinking--empty[data-v-9baf53bb]{visibility:hidden}.studio-ai-sessions__empty-thinking-mark[data-v-9baf53bb]{background:rgb(var(--v-theme-primary));box-shadow:0 0 0 .24rem rgba(var(--v-theme-primary), .12);border-radius:999px;width:.48rem;height:.48rem}.studio-ai-sessions__empty-runtime-status[data-v-9baf53bb]{display:none}.studio-ai-sessions__empty-composer[data-v-9baf53bb]{min-width:0;min-height:.35rem}.studio-ai-sessions__dashboard-empty-pane[data-v-9baf53bb]{scrollbar-gutter:stable;align-content:start;gap:.75rem;min-width:0;min-height:0;padding:.85rem;display:grid;overflow-y:auto}.studio-ai-sessions__preview-empty-pane[data-v-9baf53bb]{place-items:center;min-width:0;min-height:0;padding:1rem}.studio-ai-sessions__preview-empty-content[data-v-9baf53bb]{text-align:center;place-items:center;gap:.65rem;max-width:min(100%,26rem);display:grid}.studio-ai-sessions__preview-empty-title[data-v-9baf53bb]{color:rgba(var(--v-theme-on-surface), .78);margin:0;font-size:.98rem;line-height:1.35}.studio-ai-sessions__preview-empty-detail[data-v-9baf53bb]{color:rgba(var(--v-theme-on-surface), .62);max-width:24rem;margin:-.25rem 0 0;font-size:.86rem;line-height:1.35}.studio-ai-sessions__preview-empty-loading[data-v-9baf53bb]{width:10rem}.studio-ai-sessions__preview-empty-skeleton[data-v-9baf53bb]{width:100%}.studio-ai-sessions__error-overlay[data-v-9baf53bb]{z-index:12;max-width:min(42rem,100% - 1.7rem);position:absolute;top:.85rem;left:.85rem}.studio-ai-sessions-error-enter-active[data-v-9baf53bb],.studio-ai-sessions-error-leave-active[data-v-9baf53bb]{transition:opacity .12s,transform .12s}.studio-ai-sessions-error-enter-from[data-v-9baf53bb],.studio-ai-sessions-error-leave-to[data-v-9baf53bb]{opacity:0;transform:translateY(-.35rem)}.studio-ai-sessions__runtime-stack[data-v-9baf53bb]{min-width:0;height:100%;min-height:0;display:grid;overflow:hidden}.studio-ai-sessions--autopilot .studio-ai-sessions__runtime-stack[data-v-9baf53bb]{height:100%}@media (width>=981px){.studio-ai-sessions[data-v-9baf53bb]{grid-template-rows:auto minmax(0,1fr)}.studio-ai-sessions--autopilot[data-v-9baf53bb]{grid-template-rows:minmax(0,1fr)}.studio-ai-sessions__empty-layout[data-v-9baf53bb]{grid-template-columns:var(--studio-home-chat-column-width,32rem) minmax(0, 1fr)}.studio-ai-sessions__empty-layout--chat-collapsed[data-v-9baf53bb]{grid-template-columns:minmax(0,1fr)}.studio-ai-sessions__empty-layout--chat-collapsed .studio-ai-sessions__empty-main[data-v-9baf53bb]{display:none}.studio-ai-sessions__runtime-stack[data-v-9baf53bb]{min-height:0}.studio-ai-sessions__empty-layout--dashboard[data-v-9baf53bb]{align-items:stretch;height:100%;overflow:hidden}}@media (width<=980px){.studio-ai-sessions__chat-column-separator[data-v-9baf53bb]{display:none!important}.studio-ai-sessions__empty-layout[data-v-9baf53bb]{grid-template-rows:minmax(0,1fr)}.studio-ai-sessions__empty-project-panel[data-v-9baf53bb],.studio-ai-sessions__empty-layout--chat-collapsed .studio-ai-sessions__empty-main[data-v-9baf53bb]{display:none}.studio-ai-sessions__empty-layout--chat-collapsed .studio-ai-sessions__empty-project-panel[data-v-9baf53bb]{display:grid}}.studio-ai-sessions--autopilot.studio-ai-sessions--unavailable[data-v-9baf53bb]{grid-template-rows:auto minmax(0,1fr)}.training-lesson-picker[data-v-d3a459a3]{flex-direction:column;gap:1rem;min-width:0;padding:1rem;display:flex;overflow:auto}.training-lesson-picker__header[data-v-d3a459a3]{flex-wrap:wrap;justify-content:space-between;align-items:start;gap:.5rem;display:flex}.training-lesson-picker__header h2[data-v-d3a459a3]{font-size:1.25rem}.training-lesson-picker__header p[data-v-d3a459a3]{margin-top:.25rem}.training-lesson-picker__choices[data-v-d3a459a3] .v-selection-control-group{gap:1rem}.training-lesson-picker__choice+.training-lesson-picker__choice[data-v-d3a459a3]{margin-top:1rem}.training-lesson-picker__choice p[data-v-d3a459a3]{margin-bottom:.5rem}.training-lesson-picker__saved p+p[data-v-d3a459a3]{margin-top:.5rem}.training-lesson-picker__history li+li[data-v-d3a459a3]{margin-top:1rem}.training-lesson-picker[data-v-d3a459a3] .v-card-title,.training-lesson-picker[data-v-d3a459a3] .v-card-subtitle,.training-lesson-picker p[data-v-d3a459a3],.training-lesson-picker code[data-v-d3a459a3],.training-lesson-picker dd[data-v-d3a459a3],.training-lesson-picker[data-v-d3a459a3] .v-label{white-space:normal;overflow-wrap:anywhere}.training-lesson-picker dl[data-v-d3a459a3]{margin-top:.5rem}.training-lesson-picker dt[data-v-d3a459a3]{font-weight:600}.training-lesson-picker dd[data-v-d3a459a3]{margin-bottom:.5rem}.vibe64-learning-launcher[data-v-b932cd19]{min-height:0;padding:1rem;overflow-y:auto}.vibe64-learning-launcher__status[data-v-b932cd19]{color:rgba(var(--v-theme-on-surface), .72);font-size:.875rem}.vibe64-learning-launcher__error[data-v-b932cd19]{flex:none;margin-block:.75rem}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{Ht as watch,On as unref,g as computed,hn as proxyRefs,pn as onScopeDispose,vn as ref}from"./runtime-core.esm-bundler-DMrccYS5.js";import{J as useQueryClient,T as ROUTE_VISIBILITY_PUBLIC,t as useEndpointResource}from"./useEndpointResource-C2KD4Ub_.js";import{_ as useRouter,g as useRoute}from"./useApi-BPuI6ZR9-Dr8wK_Co.js";import{w as useRealtimeEvent}from"./httpClient-BaaZuFvF.js";import{t as usePaths}from"./usePaths-DVTieF_G.js";import{t as useCommand}from"./useCommand-BzThFLYP.js";import{t as useUiFeedback}from"./useUiFeedback-Tzi-PRlX.js";import{n as vibe64RealtimeOriginPayload}from"./vibe64BrowserTabOrigin-SF9E31vi.js";import{$ as vibe64SessionsQueryKey,J as vibe64SessionPath,Q as vibe64SessionQueryKey,S as VIBE64_SESSION_CHANGED_EVENT,b as VIBE64_CURRENT_SESSION_API_SUFFIX,gt as useVibe64ProjectSlug,p as readRefOrGetterValue,x as VIBE64_SESSIONS_API_SUFFIX}from"./index-5sKwLHOH.js";import{a as vibe64SessionDebugDurationMs,c as vibe64SessionDebugSummary,i as visibleVibe64Sessions,n as enrichVibe64SessionForDisplay,o as vibe64SessionDebugError,r as vibe64SessionMatchesPurpose,s as vibe64SessionDebugLog}from"./vibe64SessionPanelModel-BMf64fv7.js";import{c as vibe64SessionStatusLabel,i as vibe64SessionDisplayTitle,o as vibe64SessionRevision,r as shortVibe64SessionId,s as vibe64SessionStatusColor,t as isArchivedVibe64Session}from"./vibe64SessionViewModel-DR4tOlGM.js";import{n as useVibe64SessionSelection,t as selectedSessionIdFromRoute}from"./useVibe64SessionSelection-aR0f6xVT.js";function plainObjectValue(value=null){return value&&typeof value===`object`&&!Array.isArray(value)?value:{}}function sessionChangedReason$1(payload={}){return String(payload?.reason||``).trim()}function sessionRevision(value){const revision=Number(value);return Number.isSafeInteger(revision)&&revision>=0?revision:null}function agentTurnRealtimeOverlayFromPayload(payload={},selectedSessionId=``){const changedSessionId=String(payload?.sessionId||payload?.entityId||``).trim();if(!changedSessionId||changedSessionId!==String(selectedSessionId||``).trim())return null;const agentSession=plainObjectValue(payload.agentSession);const turn=plainObjectValue(agentSession.turn);const run=plainObjectValue(payload.agentRun);const revision=sessionRevision(payload.revision);if(revision===null||!Object.keys(turn).length&&!Object.keys(run).length)return null;const active=turn.active===true||run.active===true;return{active,agentRun:{...run,active},agentSession:{...agentSession,turn:{...turn,active}},reason:sessionChangedReason$1(payload),revision,sessionId:changedSessionId}}function latestAgentTurnRealtimeOverlay(current=null,candidate=null){if(!candidate)return current;if(!current||candidate.revision>current.revision)return candidate;return current}function mergeAgentRunOverlay(agentRuns=[],overlayRun={}){const runs=Array.isArray(agentRuns)?agentRuns:[];const runId=String(overlayRun.id||``).trim();if(!runId)return runs;const nextRun={...overlayRun,id:runId};const index=runs.findIndex(run=>String(run?.id||``).trim()===runId);if(index<0)return[...runs,nextRun];return runs.map((run,runIndex)=>runIndex===index?{...run,...nextRun}:run)}function sessionWithAgentTurnRealtimeOverlay(session=null,overlay=null){const currentRevision=sessionRevision(session?.revision);if(!session||!overlay||session?.ok===false||session.sessionId!==overlay.sessionId||currentRevision!==null&&overlay.revision<=currentRevision)return session;const overlayAgentSession=plainObjectValue(overlay.agentSession);return{...session,agentRuns:mergeAgentRunOverlay(session.agentRuns,plainObjectValue(overlay.agentRun)),agentSession:{...plainObjectValue(session.agentSession),...overlayAgentSession,thread:{...plainObjectValue(session.agentSession?.thread),...plainObjectValue(overlayAgentSession.thread)},turn:{...plainObjectValue(session.agentSession?.turn),...plainObjectValue(overlayAgentSession.turn),active:overlay.active===true}},revision:overlay.revision}}var MOUNTED_SESSION_IGNORED_REALTIME_REASONS=new Set([`assistant-stream`,`assistant-response-bundle`,`codex-app-server-commentary`,`codex-app-server-prompt-injected`,`codex-app-server-ready`,`codex-app-server-final-assistant-message`,`codex-app-server-live-progress`,`codex-app-server-reasoning-summary`,`codex-app-server-running`,`codex-app-server-terminal-assistant-message`,`codex-app-server-terminal-thinking-message`,`codex-app-server-terminal-user-message`,`codex-app-server-turn-active`,`codex-app-server-turn-claimed`,`codex-app-server-turn-finalizing`,`codex-app-server-turn-idle`,`codex-app-server-turn-state`,`codex-app-server-message-delivered`,`codex-context-replaced`,`codex-prompt-injected`,`opencode-server-assistant-message`,`opencode-server-message-delivered`,`opencode-server-progress`,`opencode-server-reasoning`,`opencode-server-tool`,`opencode-server-turn-active`,`opencode-server-turn-idle`,`output-target-started`,`output-target-ready`,`output-target-closed`,`output-target-stopped`]);function sessionRecordHasDetailProjection(session=null){return Boolean(session&&typeof session===`object`&&Object.hasOwn(session,`agentSession`))}function sessionRecordHasActiveAgentWork(session=null){return(session?.agentSession?.turn?.active??session?.agentActivity?.active)===true}function sessionRecordMatchesId(session=null,sessionId=``){const normalizedSessionId=String(sessionId||``).trim();return Boolean(normalizedSessionId&&session?.sessionId===normalizedSessionId&&session?.ok!==false)}function latestSessionDetailRecord(current=null,candidate=null,sessionId=``){if(!sessionRecordMatchesId(candidate,sessionId))return current;if(!sessionRecordMatchesId(current,sessionId))return candidate;const currentRevision=vibe64SessionRevision(current);const candidateRevision=vibe64SessionRevision(candidate);if(currentRevision!==null&&candidateRevision!==null&&candidateRevision<currentRevision)return current;return candidate}function mountedSessionRecord(detailSession=null,listSession=null,sessionId=``){const normalizedSessionId=String(sessionId||``).trim();const listSessionMatches=sessionRecordMatchesId(listSession,normalizedSessionId);if(!sessionRecordMatchesId(detailSession,normalizedSessionId))return listSessionMatches?listSession:null;const detailRevision=vibe64SessionRevision(detailSession);const listRevision=vibe64SessionRevision(listSession);if(listSessionMatches&&listRevision!==null&&detailRevision!==null&&listRevision>detailRevision){if(sessionRecordHasDetailProjection(detailSession)&&!sessionRecordHasDetailProjection(listSession))return detailSession;return listSession}return detailSession}function mountedSessionDetailRefreshReason(detailSession=null,listSession=null,sessionId=``){const normalizedSessionId=String(sessionId||``).trim();if(!sessionRecordMatchesId(detailSession,normalizedSessionId)||!sessionRecordMatchesId(listSession,normalizedSessionId))return``;const detailRevision=vibe64SessionRevision(detailSession);const listRevision=vibe64SessionRevision(listSession);if(listRevision!==null&&detailRevision!==null&&listRevision>detailRevision&&sessionRecordHasDetailProjection(detailSession)&&!sessionRecordHasDetailProjection(listSession))return`newer_summary_without_detail`;return``}function mountedSessionDetailLoadState({detailSession=null,fetching=false,listSession=null,loadError=``,loading=false,sessionId=``}={}){const normalizedSessionId=String(sessionId||``).trim();const hasDetail=sessionRecordMatchesId(detailSession,normalizedSessionId);const hasSummary=sessionRecordMatchesId(listSession,normalizedSessionId);const error=String(loadError||``).trim();if(!normalizedSessionId)return{error:``,label:``,loading:false,ready:false,restoring:false,sessionId:``,state:`summaryOnly`};if(error&&!hasDetail)return{error,label:`Session could not load.`,loading:false,ready:false,restoring:false,sessionId:normalizedSessionId,state:`detailError`};if(hasDetail)return{error:``,label:``,loading:false,ready:true,refreshing:Boolean(fetching||loading),restoring:false,sessionId:normalizedSessionId,state:`detailReady`};if(loading||fetching)return{error:``,label:`Loading session...`,loading:true,ready:false,restoring:false,sessionId:normalizedSessionId,state:`detailLoading`};return{error:``,label:hasSummary?`Session could not load.`:`Loading session...`,loading:false,ready:false,restoring:false,sessionId:normalizedSessionId,state:`summaryOnly`}}function mountedSessionRealtimeShouldRefresh({payload={}}={},sessionId=``){const changedSessionId=String(payload.sessionId||payload.entityId||``).trim();if(!changedSessionId||changedSessionId!==String(sessionId||``).trim())return false;const reason=String(payload?.reason||``).trim();return!reason||!MOUNTED_SESSION_IGNORED_REALTIME_REASONS.has(reason)}function useVibe64SessionDialogs({archiveAllowed=true,beginArchive=()=>null,finishArchive=()=>null,isSelectedSessionArchived,refreshSessionData=async()=>null,selectedSessionId,selectedSessionTitle,sessionsApiPath}={}){const archiveDialogOpen=ref(false);const archiveDialogSessionId=ref(``);const archiveDialogSessionTitle=ref(``);const archivingSessionId=ref(``);const resolvedSessionsApiPath=computed(()=>String(readRefOrGetterValue(sessionsApiPath)||``));const archiveCommand=useCommand({access:`never`,apiSuffix:VIBE64_SESSIONS_API_SUFFIX,buildRawPayload:()=>vibe64RealtimeOriginPayload(),buildCommandOptions:(_payload,{context})=>({method:`POST`,path:vibe64SessionPath(resolvedSessionsApiPath.value,context?.sessionId,`/archive`)}),fallbackRunError:`Vibe64 session could not be archived.`,messages:{error:`Vibe64 session could not be archived.`,success:`Vibe64 session archived.`},onRunSuccess:async response=>{if(response?.ok!==true)throw new Error(response?.errors?.[0]?.message||response?.error||`Vibe64 session could not be archived.`)},ownershipFilter:ROUTE_VISIBILITY_PUBLIC,placementSource:`vibe64.sessions.archive`,surfaceId:`app`,writeMethod:`POST`});function clearArchiveDialog(){archiveDialogOpen.value=false;archiveDialogSessionId.value=``;archiveDialogSessionTitle.value=``}function requestArchiveSelectedSession(){if(!readRefOrGetterValue(archiveAllowed)||!unref(selectedSessionId)||archivingSessionId.value||archiveCommand.isRunning||unref(isSelectedSessionArchived))return;archiveDialogSessionId.value=unref(selectedSessionId);archiveDialogSessionTitle.value=unref(selectedSessionTitle);archiveDialogOpen.value=true}function cancelArchiveSession(){if(!archiveCommand.isRunning)clearArchiveDialog()}async function confirmArchiveSession(){if(!archiveDialogSessionId.value||archivingSessionId.value||archiveCommand.isRunning)return false;const sessionId=archiveDialogSessionId.value;archivingSessionId.value=sessionId;clearArchiveDialog();const archiveScope=beginArchive(sessionId);let succeeded=false;try{const response=await archiveCommand.run({sessionId});succeeded=response?.ok===true;return response}catch{return false}finally{finishArchive(sessionId,succeeded,archiveScope);if(archivingSessionId.value===sessionId)archivingSessionId.value=``;refreshSessionData({includeList:true,reason:`archive-session`}).catch(()=>null)}}function clear(){clearArchiveDialog()}return{archive:{archiving:computed(()=>Boolean(archivingSessionId.value)),archivingSessionId,cancel:cancelArchiveSession,command:archiveCommand,confirm:confirmArchiveSession,open:archiveDialogOpen,request:requestArchiveSelectedSession,sessionId:archiveDialogSessionId,sessionTitle:archiveDialogSessionTitle},busy:computed(()=>Boolean(archivingSessionId.value)),clear}}function createVibe64CurrentSessionPublisher({coalesceByPath=false,onError=()=>null,publish}={}){if(typeof publish!==`function`)throw new TypeError(`Current Vibe64 session publisher requires publish().`);const pendingPublications=new Map;let publicationChain=Promise.resolve();let lastPublishedIdentity=null;let stopped=false;function request(publication={}){if(stopped)return publicationChain;const apiPath=String(publication?.apiPath||``);const sessionId=String(publication?.sessionId||``).trim();const publicationKey=(typeof coalesceByPath===`function`?coalesceByPath():coalesceByPath)?apiPath:``;pendingPublications.set(publicationKey,{apiPath,identity:JSON.stringify([apiPath,sessionId]),sessionId});publicationChain=publicationChain.catch(()=>null).then(async()=>{if(stopped||pendingPublications.size===0)return;const[key,publication]=pendingPublications.entries().next().value;pendingPublications.delete(key);if(publication.identity===lastPublishedIdentity)return;try{await publish({apiPath:publication.apiPath,sessionId:publication.sessionId});lastPublishedIdentity=publication.identity}catch(error){onError(error,publication)}});return publicationChain}function stop(){stopped=true;pendingPublications.clear()}return Object.freeze({request,stop})}function vibe64SessionListRefreshRequested(payload={}){return payload?.clientRefresh?.includeList===true}var SESSION_LIST_IGNORED_REALTIME_REASONS=new Set([`assistant-stream`,`assistant-response-bundle`,`codex-app-server-ready`,`codex-app-server-agent-result`,`codex-app-server-agent-result-invalid`,`codex-app-server-agent-result-missing`,`codex-app-server-agent-result-provider-failed`,`codex-app-server-blocked`,`codex-app-server-commentary`,`codex-app-server-failed`,`codex-app-server-final-assistant-message`,`codex-app-server-live-progress`,`codex-app-server-prompt-injected`,`codex-app-server-reasoning-summary`,`codex-app-server-running`,`codex-app-server-terminal-assistant-message`,`codex-app-server-terminal-thinking-message`,`codex-app-server-terminal-user-message`,`codex-app-server-turn-active`,`codex-app-server-turn-claimed`,`codex-app-server-turn-finalizing`,`codex-app-server-turn-idle`,`codex-app-server-turn-state`,`codex-app-server-message-delivered`,`codex-prompt-injected`,`codex-context-replaced`,`opencode-server-assistant-message`,`opencode-server-message-delivered`,`opencode-server-progress`,`opencode-server-reasoning`,`opencode-server-tool`,`opencode-server-turn-active`,`opencode-server-turn-idle`,`agent-terminal-started`,`agent-terminal-closed`,`output-target-started`,`output-target-ready`,`output-target-closed`,`output-target-stopped`]);function sessionArchiveOperation(session){try{return JSON.parse(session?.metadata?.session_archive_operation||`null`)}catch{return{status:`failed`,error:`Session archive state could not be read.`}}}function sessionIdExistsInList(sessionId=``,nextSessions=[]){const normalizedSessionId=String(sessionId||``).trim();return Boolean(normalizedSessionId)&&nextSessions.some(session=>session.sessionId===normalizedSessionId)}function renewedSuccessorSessionId({predecessorSessionId=``,sessions=[]}={}){const predecessorId=String(predecessorSessionId||``).trim();if(!predecessorId)return``;const matches=sessions.filter(session=>String(session?.metadata?.renewed_from||``).trim()===predecessorId);return matches.length===1?String(matches[0]?.sessionId||``).trim():``}function shouldPreserveSelectedSessionDuringRefresh({createSessionRunning=false,currentSessionId=``,nextSessions=[],selectedSessionLoading=false,sessionListLoading=false}={}){const normalizedSessionId=String(currentSessionId||``).trim();if(!normalizedSessionId||sessionIdExistsInList(normalizedSessionId,nextSessions))return false;return Boolean(sessionListLoading||createSessionRunning||selectedSessionLoading)}function selectedSessionIdForCurrentAlias({createSessionRunning=false,selectedSessionId=``,selectedSessionLoading=false,sessionListLoaded=true,sessionListLoadError=``,sessionListLoading=false,sessions=[]}={}){if(!sessionListLoaded||sessionListLoading||String(sessionListLoadError||``).trim())return null;const normalizedSessionId=String(selectedSessionId||``).trim();if(sessionIdExistsInList(normalizedSessionId,sessions))return normalizedSessionId;if(sessions.length>0||createSessionRunning||selectedSessionLoading)return null;return``}function sessionChangedReason(payload={}){return String(payload?.reason||``).trim()}function sessionListRealtimeShouldRefresh({payload={}}={},projectSlug=``){if(payload.projectSlug&&payload.projectSlug!==projectSlug)return false;if(vibe64SessionListRefreshRequested(payload))return true;const reason=sessionChangedReason(payload);if(reason===`assistant-routing-changed`&&payload.assistantRoutingRequest)return false;return!reason||!SESSION_LIST_IGNORED_REALTIME_REASONS.has(reason)}function refetchEndpointResource(resource){if(typeof resource?.query?.refetch===`function`)return resource.query.refetch({cancelRefetch:false});return resource?.reload?.()}function useVibe64SessionData({onTitleChange=null,learningResource=null,purposeFilter=``}={}){const notifyTitleChange=typeof onTitleChange===`function`?onTitleChange:()=>null;const queryClient=useQueryClient();const projectSlug=useVibe64ProjectSlug();const route=useRoute();const router=useRouter();const paths=usePaths();const learningMode=computed(()=>readRefOrGetterValue(purposeFilter)===`learning`);const learningEndpoint=computed(()=>readRefOrGetterValue(learningResource));const learningPayload=computed(()=>unref(learningEndpoint.value?.data));const learningAccessDenied=computed(()=>{const error=unref(learningEndpoint.value?.query?.error);return[401,403].includes(Number(error?.statusCode||error?.status||error?.response?.status))});const learningLearnerId=computed(()=>{const payload=learningPayload.value;return!learningAccessDenied.value&&payload?.ok===true&&payload?.available===true&&typeof payload.learnerId===`string`?payload.learnerId:``});const learningLoaded=computed(()=>Boolean(learningLearnerId.value&&Array.isArray(learningPayload.value?.sessions)));const learningLoading=computed(()=>Boolean(unref(learningEndpoint.value?.isInitialLoading)||unref(learningEndpoint.value?.isLoading)));const learningSessions=computed(()=>learningLoaded.value?learningPayload.value.sessions:[]);const learningCollectionError=computed(()=>{const workingIds=new Set(sessionList.items.map(session=>session.sessionId));const seen=new Set;for(const session of learningSessions.value){if(workingIds.has(session.sessionId)||seen.has(session.sessionId))return`The saved Learning and Working conversations have conflicting identities. Keep the confirmed list and ask the owner to inspect it.`;seen.add(session.sessionId)}return``});const learningLoadError=computed(()=>String(unref(learningEndpoint.value?.loadError)||(learningAccessDenied.value?`Access to these learning conversations is no longer confirmed.`:learningCollectionError.value)||(!learningEndpoint.value?`Learning conversations are unavailable in this installation.`:``)));const selectionScope=computed(()=>learningMode.value?`learning:${learningLearnerId.value}`:String(projectSlug.value||``).trim());const workingSelection=useVibe64SessionSelection({projectSlug});const learningSelection=useVibe64SessionSelection({projectSlug,purpose:`learning`,learnerId:learningLearnerId});const activeSelection=()=>learningMode.value?learningSelection:workingSelection;const sessionSelection={selectedId:computed(()=>activeSelection().selectedId.value),select:id=>activeSelection().select(id),clear:()=>activeSelection().clear(),selectAvailableId:(items,options)=>activeSelection().selectAvailableId(items,options)};const selectedSessionId=sessionSelection.selectedId;const sessionsApiPath=computed(()=>paths.api(VIBE64_SESSIONS_API_SUFFIX,{surface:`app`}));const currentSessionApiPath=computed(()=>paths.api(VIBE64_CURRENT_SESSION_API_SUFFIX,{surface:`app`}));const sessionListQueryKey=computed(()=>vibe64SessionsQueryKey(`app`,ROUTE_VISIBILITY_PUBLIC,projectSlug.value));const sessionListResource=useEndpointResource({enabled:computed(()=>!learningEndpoint.value||Boolean(projectSlug.value)),fallbackLoadError:`Vibe64 sessions could not be loaded.`,path:sessionsApiPath,queryKey:sessionListQueryKey,readQuery:{limit:20},queryOptions:{refetchOnMount:false,refetchOnWindowFocus:false},requestRecoveryLabel:`Vibe64 sessions`,realtime:{events:[VIBE64_SESSION_CHANGED_EVENT,`connect`],matches:event=>!event?.payload?.learningAttemptId&&sessionListRealtimeShouldRefresh(event,projectSlug.value)}});const workingLoadError=computed(()=>sessionListResource.loadError.value);const sessionList=proxyRefs({unavailableItems:computed(()=>sessionListResource.data.value?.unavailableSessions||[]),items:computed(()=>{const payload=sessionListResource.data.value||{};return Array.isArray(payload.sessions)?payload.sessions:[]}),loadError:computed(()=>learningMode.value?learningLoadError.value:sessionListResource.loadError.value),isInitialLoading:computed(()=>learningMode.value?!learningLoaded.value&&learningLoading.value:sessionListResource.isInitialLoading.value),isLoading:computed(()=>learningMode.value?learningLoading.value:sessionListResource.isLoading.value),pages:computed(()=>{const payload=learningMode.value?learningLoaded.value?learningPayload.value:null:sessionListResource.data.value;return payload&&typeof payload===`object`&&!Array.isArray(payload)?[payload]:[]}),reload:sessionListResource.reload,resource:sessionListResource});let emptySessionListObservedForProject=``;const createSessionCommand=useCommand({access:`never`,apiSuffix:VIBE64_SESSIONS_API_SUFFIX,buildCommandOptions:(_model,{context})=>({method:`POST`,path:context?.apiPath}),buildRawPayload:(_model,{context})=>vibe64RealtimeOriginPayload({assistantSelection:context?.assistantSelection||{},...context?.workflowEngineId?{workflowEngineId:context.workflowEngineId}:{},...context?.repositoryBranch?{repositoryBranch:context.repositoryBranch}:{},...context?.pullRequestNumber?{pullRequestNumber:context.pullRequestNumber}:{}}),fallbackRunError:`Vibe64 session could not be created.`,messages:{error:`Vibe64 session could not be created.`,success:`Vibe64 session created.`},ownershipFilter:ROUTE_VISIBILITY_PUBLIC,placementSource:`vibe64.sessions.create`,surfaceId:`app`,writeMethod:`POST`});const createSessionPending=ref(false);const createSessionRunning=computed(()=>createSessionPending.value);const updateCurrentSessionCommand=useCommand({access:`never`,apiSuffix:VIBE64_CURRENT_SESSION_API_SUFFIX,buildCommandOptions:(_model,{context})=>({method:`PUT`,path:String(context?.apiPath||``)}),buildRawPayload:(_model,{context})=>({sessionId:String(context?.sessionId||``).trim()}),fallbackRunError:`The current session shortcut could not be updated.`,messages:{error:`The current session shortcut could not be updated.`},ownershipFilter:ROUTE_VISIBILITY_PUBLIC,placementSource:`vibe64.sessions.current.update`,suppressSuccessMessage:true,surfaceId:`app`,writeMethod:`PUT`});const currentSessionPublisher=createVibe64CurrentSessionPublisher({coalesceByPath:()=>Boolean(learningEndpoint.value),async publish({apiPath,sessionId}){const response=await updateCurrentSessionCommand.run({apiPath,sessionId});if(!response||response.ok===false)throw new Error(String(response?.error||`The current session shortcut could not be updated.`))},onError(error,publication){vibe64SessionDebugLog(`client.sessionData.currentSession.error`,{error:vibe64SessionDebugError(error),sessionId:publication.sessionId})}});let sessionDataDisposed=false;onScopeDispose(()=>{sessionDataDisposed=true;currentSessionPublisher.stop()});const archiveAttempts=ref({});const agentActivityBySessionId=ref({});let confirmedCollectionScope=``;const sessions=computed(previous=>{const collectionScope=JSON.stringify([projectSlug.value,learningLearnerId.value]);if(learningCollectionError.value)return confirmedCollectionScope===collectionScope?previous||[]:[];confirmedCollectionScope=collectionScope;const items=new Map([...sessionList.items||[],...learningSessions.value].map(session=>[session.sessionId,session]));for(const[id,attempt]of Object.entries(archiveAttempts.value))if(attempt.succeeded)items.delete(id);else items.set(id,{...items.get(id)||attempt.session,archiving:true,archiveStartedAt:attempt.startedAt});return visibleVibe64Sessions([...items.values()]).map(session=>{const operation=sessionArchiveOperation(session);return{...session,agentActivity:latestAgentTurnRealtimeOverlay(session.agentActivity,agentActivityBySessionId.value[session.sessionId]),archiveOperation:operation,archiveStartedAt:operation?.startedAt||session.archiveStartedAt,archiveError:operation?.status===`failed`?operation.error:``,archiving:Boolean(session.archiving||operation?.status===`running`||operation?.status!==`failed`&&session.metadata?.session_closing_reason===`archived`)}})});const availableSessions=computed(()=>sessions.value.filter(session=>!session.archiving&&vibe64SessionMatchesPurpose(session,readRefOrGetterValue(purposeFilter))));const selectedListSession=computed(()=>{return sessions.value.find(session=>session.sessionId===selectedSessionId.value)||null});const selectedSessionsApiPath=computed(()=>{const session=selectedListSession.value;if(session?.purpose===`learning`)return learningLearnerId.value&&session.learningAttemptId?`/api/learning/${encodeURIComponent(session.learningAttemptId)}/vibe64/sessions`:``;return learningMode.value?``:sessionsApiPath.value});const selectedCurrentSessionApiPath=computed(()=>selectedListSession.value?.purpose===`learning`?selectedSessionsApiPath.value?`${selectedSessionsApiPath.value}/current`:``:learningMode.value?``:currentSessionApiPath.value);const selectedSessionMissing=computed(()=>{const selectedId=String(selectedSessionId.value||``).trim();if(!selectedId||sessionList.pages.length<1||String(sessionList.loadError||``).trim()||sessionIdExistsInList(selectedId,sessions.value))return false;return true});const selectionRenewalPredecessorId=computed(()=>{const selectedId=String(selectedSessionId.value||``).trim();if(learningMode.value||selectedListSession.value?.purpose===`learning`||!selectedId||sessionList.pages.length<1||String(sessionList.loadError||``).trim())return``;if(sessionList.unavailableItems.some(session=>session.sessionId===selectedId))return``;if(selectedSessionMissing.value)return selectedId;return String(selectedListSession.value?.metadata?.renewed_from||``).trim()});const selectionRenewalPath=computed(()=>selectionRenewalPredecessorId.value?vibe64SessionPath(sessionsApiPath.value,selectionRenewalPredecessorId.value,`/renewal`):``);const selectionRenewalResource=useEndpointResource({enabled:computed(()=>Boolean(selectionRenewalPredecessorId.value)),fallbackLoadError:`The selected session renewal could not be checked.`,path:selectionRenewalPath,queryKey:computed(()=>[...vibe64SessionQueryKey(`app`,ROUTE_VISIBILITY_PUBLIC,projectSlug.value),selectionRenewalPredecessorId.value,`renewal`]),queryOptions:{refetchOnMount:`always`,refetchOnWindowFocus:false},readMethod:`GET`,realtime:{event:VIBE64_SESSION_CHANGED_EVENT,matches:({payload={}}={})=>mountedSessionRealtimeShouldRefresh({payload},selectionRenewalPredecessorId.value)},requestRecoveryLabel:`Selected session renewal`});const creationOptions=computed(()=>sessionList.pages?.[0]?.creation||{});const selectedSession=computed(()=>enrichVibe64SessionForDisplay(selectedListSession.value));const isSelectedSessionArchived=computed(()=>isArchivedVibe64Session(selectedSession.value||{}));const pageLoading=computed(()=>Boolean(sessionList.isLoading));const canCreateSession=computed(()=>{return!learningMode.value&&creationOptions.value.canCreate===true});const createSessionVisible=computed(()=>!learningMode.value&&creationOptions.value.showCreateAction===true);const createSessionTitle=computed(()=>{if(creationOptions.value.disabledReason)return String(creationOptions.value.disabledReason);if(creationOptions.value.canCreate!==true)return`Session creation is unavailable.`;return`Create a new Vibe64 session`});const selectedSessionTitle=computed(()=>{return vibe64SessionDisplayTitle(selectedSession.value||{})||`Session ${shortVibe64SessionId(selectedSessionId.value)}`});async function refreshSessionList(){const learning=learningEndpoint.value;if(!learning)return refetchEndpointResource(sessionListResource);const[result]=await Promise.all([projectSlug.value?refetchEndpointResource(sessionListResource):void 0,refetchEndpointResource(learning)]);return result}let refreshSessionDataInFlight=null;async function refreshSessionData(options={}){const reason=typeof options===`string`?options:String(options?.reason||``);if(refreshSessionDataInFlight){vibe64SessionDebugLog(`client.sessionData.refresh.join`,{reason,selectedSessionId:String(selectedSessionId.value||``)});return refreshSessionDataInFlight}const startedAtMs=Date.now();vibe64SessionDebugLog(`client.sessionData.refresh.start`,{reason,selectedSessionId:String(selectedSessionId.value||``)});refreshSessionDataInFlight=refreshSessionList();try{const result=await refreshSessionDataInFlight;vibe64SessionDebugLog(`client.sessionData.refresh.done`,{durationMs:vibe64SessionDebugDurationMs(startedAtMs),reason,selectedSessionId:String(selectedSessionId.value||``),sessionCount:sessions.value.length});return result}catch(error){vibe64SessionDebugLog(`client.sessionData.refresh.error`,{durationMs:vibe64SessionDebugDurationMs(startedAtMs),error:vibe64SessionDebugError(error),reason,selectedSessionId:String(selectedSessionId.value||``)});throw error}finally{refreshSessionDataInFlight=null}}function refreshSessionDataInBackground(options={}){refreshSessionData(options).catch(()=>{})}function selectSessionId(sessionId=``){const normalizedSessionId=String(sessionId||``).trim();if(learningMode.value&&(!learningLoaded.value||learningLoading.value||learningLoadError.value||!availableSessions.value.some(session=>session.sessionId===normalizedSessionId)))return;if(sessions.value.some(session=>session.sessionId===normalizedSessionId&&session.archiving))return;vibe64SessionDebugLog(`client.sessionData.selectSession`,{fromSessionId:String(selectedSessionId.value||``),toSessionId:normalizedSessionId});if(normalizedSessionId)emptySessionListObservedForProject=``;sessionSelection.select(normalizedSessionId)}function clearSelectedSession(){if(learningMode.value&&(!learningLoaded.value||learningLoading.value||learningLoadError.value))return;const aliasPath=learningMode.value?selectedCurrentSessionApiPath.value:``;emptySessionListObservedForProject=selectionScope.value;sessionSelection.clear();if(aliasPath)currentSessionPublisher.request({apiPath:aliasPath,sessionId:``})}function selectPreviousSession(sessionId){const navigation=sessions.value.filter(session=>vibe64SessionMatchesPurpose(session,readRefOrGetterValue(purposeFilter)));const index=navigation.findIndex(session=>session.sessionId===sessionId);selectSessionId(navigation.slice(0,Math.max(0,index)).filter(session=>!session.archiving).at(-1)?.sessionId||availableSessions.value.at(-1)?.sessionId||``)}const archive=proxyRefs(useVibe64SessionDialogs({beginArchive(sessionId){archiveAttempts.value[sessionId]={startedAt:new Date().toISOString(),session:sessions.value.find(session=>session.sessionId===sessionId)};if(selectedSessionId.value===sessionId)selectPreviousSession(sessionId);return projectSlug.value},finishArchive(sessionId,succeeded,archiveProject){if(projectSlug.value!==archiveProject)return;if(succeeded)archiveAttempts.value[sessionId]={succeeded:true};else delete archiveAttempts.value[sessionId]},archiveAllowed:computed(()=>selectedListSession.value?.purpose!==`learning`),isSelectedSessionArchived,refreshSessionData,selectedSessionId,selectedSessionTitle,sessionsApiPath}).archive);const archiveFeedback=useUiFeedback({source:`vibe64.sessions.archive.remote`});const shownArchiveFailures=new Set;watch(projectSlug,()=>{archiveAttempts.value={};agentActivityBySessionId.value={};shownArchiveFailures.clear()});useRealtimeEvent({event:VIBE64_SESSION_CHANGED_EVENT,matches:({payload={}}={})=>payload.learningAttemptId?!payload.projectSlug&&learningLearnerId.value&&[learningPayload.value?.active,...learningPayload.value?.history||[],...learningSessions.value].some(attempt=>(attempt?.attemptId||attempt?.learningAttemptId)===payload.learningAttemptId):payload.projectSlug===projectSlug.value,onEvent:({payload={}}={})=>{const id=String(payload.sessionId||``);if(!id)return;if(payload.learningAttemptId&&sessionListRealtimeShouldRefresh({payload}))refetchEndpointResource(learningEndpoint.value)?.catch?.(()=>null);const activity=agentTurnRealtimeOverlayFromPayload(payload,id);if(activity)agentActivityBySessionId.value[id]=latestAgentTurnRealtimeOverlay(agentActivityBySessionId.value[id],{active:activity.active,revision:activity.revision});if(payload.learningAttemptId)return;if(payload.reason===`session-archiving`){const session=sessions.value.find(item=>item.sessionId===id);if(session)archiveAttempts.value[id]={session,startedAt:archiveAttempts.value[id]?.startedAt||new Date().toISOString()};if(selectedSessionId.value===id)selectPreviousSession(id)}else if(payload.reason===`session-archived`)archiveAttempts.value[id]={succeeded:true};else if(payload.reason===`session-archive-failed`)delete archiveAttempts.value[id]}});watch(()=>sessionList.items,items=>{for(const id of Object.keys(agentActivityBySessionId.value))if(![...items,...learningSessions.value].some(session=>session.sessionId===id))delete agentActivityBySessionId.value[id];for(const[id,attempt]of Object.entries(archiveAttempts.value)){if(attempt.succeeded||archive.archivingSessionId===id)continue;const session=items.find(item=>item.sessionId===id);const operation=sessionArchiveOperation(session);if(!session||operation?.status===`failed`||operation?.status!==`running`&&session.metadata?.session_closing_reason!==`archived`)delete archiveAttempts.value[id]}});watch(sessions,items=>{for(const session of items){const key=`${session.sessionId}:${session.metadata?.session_archive_operation}`;if(!session.archiveError||shownArchiveFailures.has(key))continue;shownArchiveFailures.add(key);if(archive.archivingSessionId!==session.sessionId)archiveFeedback.error(new Error(session.archiveError))}},{immediate:true});let createSessionInFlight=null;async function createSession(assistantSelection={},{pullRequestNumber,workflowEngineId,repositoryBranch}={}){if(learningMode.value)return{ok:false,error:`Open this saved lesson through its supported lesson controls; ordinary project creation is unavailable in Learning mode.`};if(createSessionInFlight)return createSessionInFlight;const startedAtMs=Date.now();const creationProjectSlug=String(projectSlug.value||``).trim();const creationApiPath=sessionsApiPath.value;const creationAliasPath=currentSessionApiPath.value;const creationQueryKey=[...sessionListQueryKey.value];const creationSelection=workingSelection.capture?.()||{select:id=>workingSelection.select(id)};vibe64SessionDebugLog(`client.sessionData.createSession.start`);createSessionPending.value=true;createSessionInFlight=(async()=>{try{const response=await createSessionCommand.run({assistantSelection,pullRequestNumber,workflowEngineId,repositoryBranch,apiPath:creationApiPath});if(!sessionDataDisposed&&creationProjectSlug===String(projectSlug.value||``).trim()){if(response?.creation&&response?.limits)queryClient.setQueryData(creationQueryKey,currentPayload=>{if(!currentPayload||typeof currentPayload!==`object`||Array.isArray(currentPayload))return currentPayload;const currentSessions=Array.isArray(currentPayload.sessions)?currentPayload.sessions:[];const createdSession=response.sessionId?Object.fromEntries(Object.entries(response).filter(([key])=>![`creation`,`limits`,`ok`].includes(key))):null;return{...currentPayload,creation:response.creation,limits:response.limits,...createdSession&&!currentSessions.some(item=>item?.sessionId===createdSession.sessionId)?{sessions:[...currentSessions,createdSession]}:{}}});if(response?.sessionId){if(learningMode.value){creationSelection?.select(response.sessionId);if(response.ok!==false)currentSessionPublisher.request({apiPath:creationAliasPath,sessionId:response.sessionId})}else selectSessionId(response.sessionId)}if(learningMode.value)refetchEndpointResource(sessionListResource)?.catch?.(()=>null);else refreshSessionDataInBackground({includeList:true,reason:`create-session`})}vibe64SessionDebugLog(`client.sessionData.createSession.done`,{...vibe64SessionDebugSummary(response||{}),code:String(response?.code||response?.errors?.[0]?.code||``),durationMs:vibe64SessionDebugDurationMs(startedAtMs),ok:response?.ok!==false});return response}catch(error){vibe64SessionDebugLog(`client.sessionData.createSession.error`,{durationMs:vibe64SessionDebugDurationMs(startedAtMs),error:vibe64SessionDebugError(error)});throw error}finally{createSessionPending.value=false;createSessionInFlight=null}})();return createSessionInFlight}let pendingRenewalNavigation=null;function syncRenewalSuccessorUrl(predecessorId,successorId){if(selectedSessionIdFromRoute(route)!==predecessorId)return;const capturedProject=String(projectSlug.value||``).trim();const capturedApiPath=sessionsApiPath.value;const predecessorUrl=route.fullPath;if(pendingRenewalNavigation?.predecessorUrl===predecessorUrl&&pendingRenewalNavigation?.successorId===successorId)return;const sameRenewal=()=>{const renewal=selectionRenewalResource.data.value?.renewal;return!sessionDataDisposed&&!learningMode.value&&String(projectSlug.value||``).trim()===capturedProject&&sessionsApiPath.value===capturedApiPath&&selectedSessionId.value===successorId&&workingSelection.selectedId.value===successorId&&!selectionRenewalResource.loadError?.value&&!selectionRenewalResource.isInitialLoading?.value&&!selectionRenewalResource.isLoading?.value&&renewal?.status===`completed`&&String(renewal.sessionId||``).trim()===predecessorId&&String(renewal.successor?.sessionId||``).trim()===successorId&&renewedSuccessorSessionId({predecessorSessionId:predecessorId,sessions:availableSessions.value})===successorId};if(!sameRenewal())return;const target={path:route.path,hash:route.hash,query:{...route.query,session:successorId}};const targetUrl=router.resolve(target).fullPath;const navigation={predecessorUrl,successorId};const removeGuard=router.beforeResolve(to=>{if(to.fullPath===targetUrl&&(!sameRenewal()||route.fullPath!==predecessorUrl))return false});pendingRenewalNavigation=navigation;(async()=>{try{await router.replace(target)}catch(error){if(sameRenewal())vibe64SessionDebugLog(`client.sessionData.renewalNavigation.error`,{error:vibe64SessionDebugError(error),sessionId:successorId})}finally{removeGuard();if(pendingRenewalNavigation===navigation)pendingRenewalNavigation=null}})()}const selectionReconciliationState=computed(()=>{const nextSessions=availableSessions.value;return{createSessionRunning:createSessionRunning.value,currentSessionApiPath:selectedCurrentSessionApiPath.value,selectionScope:selectionScope.value,selectionRenewal:selectionRenewalResource.data.value?.renewal||null,selectionRenewalLoadError:String(selectionRenewalResource.loadError?.value||``),selectionRenewalLoaded:Boolean(selectionRenewalResource.data.value&&typeof selectionRenewalResource.data.value===`object`&&!Array.isArray(selectionRenewalResource.data.value)),selectionRenewalLoading:Boolean(selectionRenewalResource.isInitialLoading?.value||selectionRenewalResource.isLoading?.value),selectionRenewalPredecessorId:selectionRenewalPredecessorId.value,projectSlug:String(projectSlug.value||``).trim(),selectedSessionMissing:selectedSessionMissing.value,nextSessions,selectedSessionId:String(selectedSessionId.value||``),sessionIds:nextSessions.map(session=>session.sessionId).join(`|`),sessionListInitialLoading:sessionList.isInitialLoading,sessionListLoaded:sessionList.pages.length>0&&(!learningMode.value||learningLoaded.value),sessionListLoadError:String(sessionList.loadError||``),sessionListLoading:sessionList.isLoading}});watch(selectionReconciliationState,state=>{const nextSessions=state.nextSessions;if(sessions.value.some(session=>session.sessionId===state.selectedSessionId&&session.archiving)){selectPreviousSession(state.selectedSessionId);return}vibe64SessionDebugLog(`client.sessionData.sessions.changed`,{selectedSessionId:String(selectedSessionId.value||``),sessionCount:nextSessions.length});if(learningMode.value&&!state.sessionListLoaded||state.sessionListInitialLoading||state.sessionListLoadError||shouldPreserveSelectedSessionDuringRefresh({createSessionRunning:state.createSessionRunning,currentSessionId:state.selectedSessionId,nextSessions,sessionListLoading:state.sessionListLoading}))return;if(!state.selectedSessionId&&nextSessions.length===0)emptySessionListObservedForProject=state.selectionScope;if(state.selectionRenewalPredecessorId){if(state.selectionRenewalLoading||state.selectionRenewalLoadError||!state.selectionRenewalLoaded)return;const selectionRenewal=state.selectionRenewal;if(selectionRenewal&&String(selectionRenewal.sessionId||``).trim()===state.selectionRenewalPredecessorId){const renewalStatus=String(selectionRenewal.status||``).trim();if(renewalStatus===`completed`){const renewedSuccessorId=renewedSuccessorSessionId({predecessorSessionId:state.selectionRenewalPredecessorId,sessions:nextSessions});if(state.selectedSessionMissing){if(renewedSuccessorId)sessionSelection.selectAvailableId(nextSessions,{fallbackId:renewedSuccessorId,getId:session=>session.sessionId})}if(renewedSuccessorId&&selectedSessionId.value===renewedSuccessorId)syncRenewalSuccessorUrl(state.selectionRenewalPredecessorId,renewedSuccessorId);if(state.selectedSessionMissing)return}else if(state.selectedSessionMissing&&[`failed`,`running`].includes(renewalStatus))return;if([`failed`,`running`].includes(renewalStatus)){sessionSelection.select(state.selectionRenewalPredecessorId);return}}}if(!state.selectedSessionId&&emptySessionListObservedForProject===state.selectionScope)return;sessionSelection.selectAvailableId(nextSessions,{fallbackId:nextSessions.at(-1)?.sessionId||``,getId:session=>session.sessionId})},{immediate:true});watch(selectionReconciliationState,state=>{const publicationSessionId=selectedSessionIdForCurrentAlias({createSessionRunning:state.createSessionRunning,selectedSessionId:state.selectedSessionId,sessionListLoaded:state.sessionListLoaded,sessionListLoadError:state.sessionListLoadError,sessionListLoading:state.sessionListLoading,sessions:state.nextSessions});if(publicationSessionId===null||!state.currentSessionApiPath)return;currentSessionPublisher.request({apiPath:state.currentSessionApiPath,sessionId:publicationSessionId})},{flush:`post`,immediate:true});watch(selectedSessionTitle,title=>{notifyTitleChange(title||``)},{immediate:true});return{archive,canCreateSession,clearSelectedSession,createSession,createSessionCommand,createSessionRunning,createSessionVisible,createSessionTitle,isSelectedSessionArchived,learningLearnerId,learningLoadError,learningLoaded,learningLoading,workingLoadError,availableSessions,pageLoading,refreshSessionData,selectSessionId,selectedSession,selectedSessionId,selectedSessionTitle,selectedSessionsApiPath,sessionList,sessions,sessionsApiPath,shortSessionId:shortVibe64SessionId,statusColor:vibe64SessionStatusColor,statusLabel:vibe64SessionStatusLabel,updateCurrentSessionCommand}}export{mountedSessionDetailRefreshReason as a,sessionRecordHasActiveAgentWork as c,sessionWithAgentTurnRealtimeOverlay as d,mountedSessionDetailLoadState as i,agentTurnRealtimeOverlayFromPayload as l,useVibe64SessionData as n,mountedSessionRealtimeShouldRefresh as o,latestSessionDetailRecord as r,mountedSessionRecord as s,sessionListRealtimeShouldRefresh as t,latestAgentTurnRealtimeOverlay as u};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{Ht as watch,On as unref,g as computed,vn as ref}from"./runtime-core.esm-bundler-DMrccYS5.js";import{g as useRoute}from"./useApi-BPuI6ZR9-Dr8wK_Co.js";import{D as selectedSessionStorageKey,_ as SELECTED_SESSION_STORAGE_KEY,gt as useVibe64ProjectSlug}from"./index-5sKwLHOH.js";function browserSessionStorage(){if(typeof window===`undefined`||!window.sessionStorage)return null;return window.sessionStorage}function readStoredValue(storageKey=``){try{return String(browserSessionStorage()?.getItem(storageKey)||``)}catch{return``}}function writeStoredValue(storageKey=``,value=``){try{const storage=browserSessionStorage();if(!storage)return;const normalizedValue=String(value||``).trim();if(normalizedValue){storage.setItem(storageKey,normalizedValue);return}storage.removeItem(storageKey)}catch{}}function readStorageKey(storageKey=``){return String(typeof storageKey===`function`?storageKey():unref(storageKey)||``).trim()}function readPreferredId(preferredId=``){return String(typeof preferredId===`function`?preferredId():unref(preferredId)||``).trim()}function useStoredSelection({preferredId=``,storageKey=``,enabled=true}={}){const selectionEnabled=computed(()=>Boolean(typeof enabled===`function`?enabled():unref(enabled)));const activeStorageKey=computed(()=>readStorageKey(storageKey));const activePreferredId=computed(()=>readPreferredId(preferredId));const selectedId=ref(selectionEnabled.value?activePreferredId.value||readStoredValue(activeStorageKey.value):``);function select(id=``){if(!selectionEnabled.value)return;selectedId.value=String(id||``).trim();writeStoredValue(activeStorageKey.value,selectedId.value)}function clear(){select(``)}function selectAvailableId(items=[],{fallbackId=``,getId=item=>item?.id}={}){if(!selectionEnabled.value)return``;if(items.length===0){clear();return``}const itemIds=items.map(item=>String(getId(item)||``).trim()).filter(Boolean);if(itemIds.includes(selectedId.value)){select(selectedId.value);return selectedId.value}const preferredSelectionId=activePreferredId.value;if(itemIds.includes(preferredSelectionId)){select(preferredSelectionId);return selectedId.value}const rememberedId=readStoredValue(activeStorageKey.value);select(itemIds.includes(rememberedId)?rememberedId:String(fallbackId||``).trim());return selectedId.value}function capture(){const key=activeStorageKey.value;const admitted=selectionEnabled.value;return Object.freeze({select(id=``){if(!admitted)return;const value=String(id||``).trim();writeStoredValue(key,value);if(selectionEnabled.value&&activeStorageKey.value===key)selectedId.value=value}})}watch(selectionEnabled,nextEnabled=>{selectedId.value=nextEnabled?activePreferredId.value||readStoredValue(activeStorageKey.value):``},{flush:`sync`});watch(activeStorageKey,nextStorageKey=>{if(selectionEnabled.value)selectedId.value=activePreferredId.value||readStoredValue(nextStorageKey)});watch(activePreferredId,nextPreferredId=>{if(selectionEnabled.value&&nextPreferredId)selectedId.value=nextPreferredId});return{capture,clear,select,selectAvailableId,selectedId}}function selectedSessionIdFromRoute(route={}){const rawValue=route?.query?.session;const value=Array.isArray(rawValue)?rawValue[0]:rawValue;return String(value||``).trim()}function useVibe64SessionSelection({projectSlug=useVibe64ProjectSlug(),route=useRoute(),learnerId=``,learningAttemptId=``,purpose=``}={}){const pickerLearning=computed(()=>unref(purpose)===`learning`);const learningLearner=computed(()=>String(unref(learnerId)||``).trim());const learningScope=computed(()=>{if(unref(purpose)===`working`)return null;const learner=String(unref(learnerId)||``).trim();const attempt=String(unref(learningAttemptId)||``).trim();if(!learner&&!attempt)return null;if(!learner||!attempt)throw new Error(`Learning selection requires an exact learner and attempt.`);return{learner,attempt}});return useStoredSelection({enabled:computed(()=>!pickerLearning.value||Boolean(learningLearner.value)),preferredId:computed(()=>{if(pickerLearning.value){if(!learningLearner.value)return``;return selectedSessionIdFromRoute({query:{session:route?.query?.learningSession}})}const scope=learningScope.value;if(!scope)return selectedSessionIdFromRoute(route);const rawAttempt=route?.query?.learningAttempt;if((Array.isArray(rawAttempt)?rawAttempt[0]:rawAttempt)!==scope.attempt)return``;return selectedSessionIdFromRoute({query:{session:route?.query?.learningSession}})}),storageKey:computed(()=>{if(pickerLearning.value)return learningLearner.value?`${SELECTED_SESSION_STORAGE_KEY}:learning:${encodeURIComponent(learningLearner.value)}`:``;const scope=learningScope.value;return scope?`${SELECTED_SESSION_STORAGE_KEY}:learning:${encodeURIComponent(scope.learner)}:attempt:${encodeURIComponent(scope.attempt)}`:selectedSessionStorageKey(unref(projectSlug))})})}export{useVibe64SessionSelection as n,selectedSessionIdFromRoute as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{Ht as watch,On as unref,g as computed}from"./runtime-core.esm-bundler-DMrccYS5.js";import{t as useEndpointResource}from"./useEndpointResource-C2KD4Ub_.js";import{t as usePaths}from"./usePaths-DVTieF_G.js";var SYSTEM_GRAPH_API_SUFFIX=`/vibe64/system-graph`;var SYSTEM_GRAPH_SURFACE=`app`;function encodeSegment(value=``){return encodeURIComponent(String(value||``).trim())}function systemSessionPath(apiPath=``,sessionId=``,suffix=``){return`${apiPath}/sessions/${encodeSegment(sessionId)}${suffix}`}function systemQueryKey(sessionId=``,resource=``){return[`vibe64`,`system-graph`,String(sessionId||``),resource]}function cityAvailable(status={},kind=``){return status?.cities?.[kind]?.available===true}function useVibe64SystemGraph({active=true,reloadVersion=0,sessionId=``}={}){const paths=usePaths();const normalizedSessionId=computed(()=>String(unref(sessionId)||``).trim());const enabled=computed(()=>Boolean(unref(active)&&normalizedSessionId.value));const apiPath=computed(()=>paths.api(SYSTEM_GRAPH_API_SUFFIX,{surface:SYSTEM_GRAPH_SURFACE}));const sessionPath=computed(()=>systemSessionPath(apiPath.value,normalizedSessionId.value));const statusResource=useEndpointResource({enabled,fallbackLoadError:`Genesis City status could not be loaded.`,path:computed(()=>enabled.value?`${sessionPath.value}/status`:``),queryKey:computed(()=>systemQueryKey(normalizedSessionId.value,`status`)),requestRecoveryLabel:`Genesis City status`});const systemStatus=computed(()=>statusResource.data.value||{});const machineEnabled=computed(()=>enabled.value&&cityAvailable(systemStatus.value,`machine`));const programEnabled=computed(()=>enabled.value&&cityAvailable(systemStatus.value,`program`));const machineResource=useEndpointResource({enabled:machineEnabled,fallbackLoadError:`Machine City could not be loaded.`,path:computed(()=>machineEnabled.value?`${sessionPath.value}/cities/machine`:``),queryKey:computed(()=>systemQueryKey(normalizedSessionId.value,`machine-city`)),requestRecoveryLabel:`Machine City`});const programResource=useEndpointResource({enabled:programEnabled,fallbackLoadError:`Program City could not be loaded.`,path:computed(()=>programEnabled.value?`${sessionPath.value}/cities/program`:``),queryKey:computed(()=>systemQueryKey(normalizedSessionId.value,`program-city`)),requestRecoveryLabel:`Program City`});const refreshResource=useEndpointResource({enabled:false,fallbackSaveError:`Genesis Cities could not be refreshed.`,path:computed(()=>enabled.value?`${sessionPath.value}/refresh`:``),queryKey:computed(()=>systemQueryKey(normalizedSessionId.value,`refresh`)),requestRecoveryLabel:`Refresh Genesis Cities`,writeMethod:`POST`});const subsystemResource=useEndpointResource({enabled,fallbackLoadError:`Subsystems could not be loaded.`,path:computed(()=>enabled.value?`${sessionPath.value}/subsystems`:``),queryKey:computed(()=>systemQueryKey(normalizedSessionId.value,`subsystems`)),requestRecoveryLabel:`Subsystems`});const machineCity=computed(()=>machineResource.data.value?.city||null);const programCity=computed(()=>programResource.data.value?.city||null);const loading=computed(()=>Boolean(statusResource.isLoading.value||machineResource.isLoading.value||programResource.isLoading.value));const error=computed(()=>refreshResource.saveError.value||statusResource.loadError.value||machineResource.loadError.value||programResource.loadError.value||``);async function reload(){if(!enabled.value)return;await Promise.all([statusResource.reload(),subsystemResource.reload()]);const cityLoads=[];if(machineEnabled.value)cityLoads.push(machineResource.reload());if(programEnabled.value)cityLoads.push(programResource.reload());await Promise.all(cityLoads)}let lastReloadVersion=0;watch([enabled,()=>unref(reloadVersion)],([isEnabled,version])=>{if(isEnabled&&version!==lastReloadVersion){lastReloadVersion=version;reload()}},{immediate:true});async function refresh(){const result=await refreshResource.save({},{method:`POST`});await reload();return result}return{error,loading,machineCity,programCity,refresh,refreshing:refreshResource.isSaving,reload,subsystemMap:computed(()=>subsystemResource.data.value||null),subsystemError:subsystemResource.loadError,subsystemLoading:subsystemResource.isLoading,systemStatus}}export{useVibe64SystemGraph as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var VIBE64_ASSISTANT_HOST_KEY=Symbol(`vibe64.assistant.host`);var VIBE64_COLLEAGUE_VIEW_KEY=Symbol(`vibe64.colleague.view`);var VIBE64_COLLEAGUE_PREVIEW_KEY=Symbol(`vibe64.colleague.preview`);var VIBE64_COLLEAGUE_INTEGRATIONS_KEY=Symbol(`vibe64.colleague.integrations`);var VIBE64_COLLEAGUE_DATABASE_KEY=Symbol(`vibe64.colleague.database`);var VIBE64_COLLEAGUE_PLAN_KEY=Symbol(`vibe64.colleague.plan`);var VIBE64_COLLEAGUE_LAYOUT_KEY=Symbol(`vibe64.colleague.layout`);var VIBE64_COLLEAGUE_LAUNCHER_KEY=Symbol(`vibe64.colleague.launcher`);var VIBE64_HOST_CONVERSATION_KEY=Symbol(`vibe64.host.conversation`);var VIBE64_ASSISTANT_VIEWER_KEY=Symbol(`vibe64.assistant.viewer`);var VIBE64_TRAINING_LEARNER_GESTURE_KEY=Symbol(`vibe64.training.learner-gesture`);var VIBE64_COLLEAGUE_BODY_KEY=Symbol(`vibe64.colleague.body`);export{VIBE64_COLLEAGUE_INTEGRATIONS_KEY as a,VIBE64_COLLEAGUE_PLAN_KEY as c,VIBE64_HOST_CONVERSATION_KEY as d,VIBE64_TRAINING_LEARNER_GESTURE_KEY as f,VIBE64_COLLEAGUE_DATABASE_KEY as i,VIBE64_COLLEAGUE_PREVIEW_KEY as l,VIBE64_ASSISTANT_VIEWER_KEY as n,VIBE64_COLLEAGUE_LAUNCHER_KEY as o,VIBE64_COLLEAGUE_BODY_KEY as r,VIBE64_COLLEAGUE_LAYOUT_KEY as s,VIBE64_ASSISTANT_HOST_KEY as t,VIBE64_COLLEAGUE_VIEW_KEY as u};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
function firstRouteParam(value){const rawValue=Array.isArray(value)?value[0]:value;return String(rawValue||``).trim()}var VIBE64_PROJECT_APP_PATH_PREFIX=`/app/project`;function normalizedProjectRouteSuffix(suffix=``){const normalized=String(suffix||``).trim();if(!normalized)return``;return normalized.startsWith(`/`)?normalized:`/${normalized}`}function normalizeProjectRoutePath(path=``){const normalized=String(path||``).trim();if(!normalized||normalized===`/`)return`/`;const compacted=(normalized.startsWith(`/`)?normalized:`/${normalized}`).replace(/\/{2,}/gu,`/`);if(compacted===`/`)return`/`;return compacted.replace(/\/+$/u,``)||`/`}function projectAppPath(slug=``,suffix=``){const projectSlug=String(slug||``).trim();if(!projectSlug)return`/app`;return`${VIBE64_PROJECT_APP_PATH_PREFIX}/${encodeURIComponent(projectSlug)}${normalizedProjectRouteSuffix(suffix)}`}function projectSlugFromPathname(pathname=``){const match=/^\/app\/project\/([^/?#]+)/u.exec(String(pathname||``));return decodeURIComponent(match?.[1]||``).trim()||``}function currentProjectSlugFromLocation(browserWindow=globalThis.window){return projectSlugFromPathname(browserWindow?.location?.pathname||``)}function projectSlugFromRoute(route={}){return firstRouteParam(route?.params?.slug)||currentProjectSlugFromLocation()}function projectScopeValue(slug=currentProjectSlugFromLocation()){return String(slug||``).trim()||`unscoped`}function vibe64ProjectQueryScope(slug=currentProjectSlugFromLocation()){return[`project`,projectScopeValue(slug)]}function vibe64ProjectScopedStorageKey(baseKey=``,slug=currentProjectSlugFromLocation()){const normalizedBaseKey=String(baseKey||``).trim();if(!normalizedBaseKey)return``;return`${normalizedBaseKey}:project:${encodeURIComponent(projectScopeValue(slug))}`}export{vibe64ProjectQueryScope as a,projectSlugFromRoute as i,normalizeProjectRoutePath as n,vibe64ProjectScopedStorageKey as o,projectAppPath as r,currentProjectSlugFromLocation as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{E as createTextVNode,On as unref,mt as openBlock,qt as withCtx,tr as toDisplayString,v as createBlock}from"./runtime-core.esm-bundler-DMrccYS5.js";import{Mn as mdiRobotOutline}from"./mdi-C31_SZp-.js";import{t as VBtn}from"./VBtn-Kl_qcBsy.js";import{t as _plugin_vue_export_helper_default}from"./_plugin-vue_export-helper-DNW4j-dv.js";var _sfc_main={__name:`Vibe64TemporaryAiFixAction`,props:{disabled:{default:false,type:Boolean},pending:{default:false,type:Boolean},title:{default:`Open Temporary AI to diagnose and repair this problem`,type:String}},emits:[`click`],setup(__props,{emit:__emit}){const emit=__emit;return(_ctx,_cache)=>{return openBlock(),createBlock(VBtn,{"aria-label":`Fix it with AI`,"aria-busy":__props.pending?`true`:void 0,class:`vibe64-temporary-ai-fix-action`,disabled:__props.disabled||__props.pending,"prepend-icon":unref(mdiRobotOutline),size:`small`,title:__props.title,type:`button`,variant:`tonal`,onClick:_cache[0]||(_cache[0]=$event=>emit(`click`))},{default:withCtx(()=>[createTextVNode(toDisplayString(__props.pending?`Opening…`:`Fix it with AI`),1)]),_:1},8,[`aria-busy`,`disabled`,`prepend-icon`,`title`])}}};var Vibe64TemporaryAiFixAction_default=_plugin_vue_export_helper_default(_sfc_main,[[`__scopeId`,`data-v-2256ab67`]]);var REPOSITORY_STATUS_SESSION_REASONS=new Set([`codex-app-server-turn-idle`,`codex-turn-checkpoint-failed`,`codex-turn-checkpoint-updated`,`opencode-server-turn-idle`,`repository-canonical-changed`,`session-pull-request`,`session-repository-checked`,`session-save-completed`,`session-save-failed`,`session-save-started`,`session-update-completed`,`session-update-failed`,`session-update-started`,`session-work-saved`,`session-work-updated`]);var REPOSITORY_CANONICAL_RECHECK_REASONS=new Set([`repository-canonical-changed`,`session-pull-request`,`session-save-failed`,`session-update-failed`]);function repositoryStatusSessionId(payload={}){return String(payload?.sessionId||payload?.session?.sessionId||``).trim()}function repositoryStatusRealtimeShouldRefresh(payload={}){return REPOSITORY_STATUS_SESSION_REASONS.has(String(payload?.reason||``).trim())}function repositoryStatusRealtimeNeedsCanonicalCheck(payload={}){return REPOSITORY_CANONICAL_RECHECK_REASONS.has(String(payload?.reason||``).trim())}export{Vibe64TemporaryAiFixAction_default as i,repositoryStatusRealtimeShouldRefresh as n,repositoryStatusSessionId as r,repositoryStatusRealtimeNeedsCanonicalCheck as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{_ as VIcon}from"./VAvatar-CAFvgSUo.js";import{D as createVNode,E as createTextVNode,Ht as watch,On as unref,Zn as normalizeClass,_ as createBaseVNode,b as createElementBlock,bt as renderList,g as computed,mt as openBlock,o as Fragment,qt as withCtx,tr as toDisplayString,tt as nextTick,v as createBlock,vn as ref,y as createCommentVNode}from"./runtime-core.esm-bundler-DMrccYS5.js";import{t as useEndpointResource}from"./useEndpointResource-C2KD4Ub_.js";import{t as VSelect}from"./VSelect-DY-ZuBJJ.js";import{t as VTextField}from"./VTextField-CA_p3N4d.js";import{H as mdiClose,Jt as mdiKeyOutline,K as mdiCodeBraces,Wn as mdiSourcePull,at as mdiCreationOutline}from"./mdi-C31_SZp-.js";import{t as VBtn}from"./VBtn-Kl_qcBsy.js";import{t as VAlert}from"./VAlert-B7ciJKQL.js";import{t as VSheet}from"./VSheet-BA95RNmA.js";import{t as VDialog}from"./VDialog-Dt1VjJg1.js";import{i as VCardTitle,n as VCardText,o as VCardActions,t as VCard}from"./VCard-nrJPeo91.js";import{t as VSpacer}from"./VSpacer-B1l1hVvU.js";import{c as ModelRoutingForm_default,l as useModelRouting}from"./client-C-tpoG6F.js";import{n as VRadio,t as VRadioGroup}from"./VRadioGroup-DzQzpCfg.js";import{t as VSkeletonLoader}from"./VSkeletonLoader-hpJqr0HL.js";import{t as VSwitch}from"./VSwitch-Bm1bwl2V.js";import{t as VTextarea}from"./VTextarea-NyCqY4h5.js";import{t as _plugin_vue_export_helper_default}from"./_plugin-vue_export-helper-DNW4j-dv.js";import{t as useUiFeedback}from"./useUiFeedback-Tzi-PRlX.js";import{r as scopedDevelopmentApiUrl}from"./studioUrls-CIab-Axb.js";import{h as requestVibe64AccountConnectionsDialog,p as readRefOrGetterValue}from"./index-5sKwLHOH.js";import{a as vibe64SessionPullRequest,i as vibe64SessionDisplayTitle}from"./vibe64SessionViewModel-DR4tOlGM.js";import{n as githubProjectRepositoryName}from"./vibe64GithubProject-CdFrbVHp.js";var _hoisted_1$2={class:`d-flex align-center justify-space-between ga-2 pa-5 pb-2`};var _hoisted_2$2={class:`d-flex align-center ga-3`};var _hoisted_3$1={class:`text-label-large`};var _hoisted_4$1={class:`text-body-medium mt-1`};var _hoisted_5$1={key:0,role:`status`};var _sfc_main$2={__name:`Vibe64CreatePullRequestDialog`,props:{modelValue:Boolean,dashboardContext:{type:Object,default:()=>({})}},emits:[`update:modelValue`,`created`],setup(__props,{emit:__emit}){const props=__props;const emit=__emit;const title=ref(``);const body=ref(``);const draft=ref(true);const pending=ref(false);const destinationReview=ref(null);const feedback=useUiFeedback({source:`vibe64.pullRequests.create`});const session=computed(()=>props.dashboardContext.session||{});const source=computed(()=>vibe64SessionPullRequest(session.value));const repository=computed(()=>githubProjectRepositoryName(props.dashboardContext.projectContext));const branch=computed(()=>{if(source.value?.headBranch)return source.value.headBranch;const destination=props.dashboardContext.workState?.destination;if(destination?.mode===`github`&&destination.branch!==props.dashboardContext.projectContext?.repository?.defaultBranch)return destination.branch;return`vibe64/pr-${props.dashboardContext.sessionId}`});const base=computed(()=>source.value?.baseBranch||props.dashboardContext.projectContext?.repository?.defaultBranch||``);const path=computed(()=>`${readRefOrGetterValue(props.dashboardContext.sessionsApiPath)}/${props.dashboardContext.sessionId}/pull-request`);const resource=useEndpointResource({path,queryKey:computed(()=>[`vibe64.createPullRequest`,path.value]),enabled:false});watch(()=>props.modelValue,open=>{if(open)destinationReview.value=props.dashboardContext.workState?.destination?{...props.dashboardContext.workState.destination}:null},{immediate:true});watch(()=>props.dashboardContext.sessionId,()=>{title.value=source.value?.title||vibe64SessionDisplayTitle(session.value);body.value=source.value?.body||``;draft.value=true},{immediate:true});async function submit(){if(pending.value||!title.value.trim())return;pending.value=true;try{const result=await resource.save({title:title.value.trim(),body:body.value,draft:draft.value,destinationReview:destinationReview.value},{method:`POST`});feedback.success(`Pull request created. Future commits update its source branch.`);emit(`created`,result.pullRequest);emit(`update:modelValue`,false);props.dashboardContext.refreshSessionWork?.()}catch(error){feedback.error(error,`The pull request could not be confirmed. Retry to check GitHub and continue publishing.`)}finally{pending.value=false}}return(_ctx,_cache)=>{return openBlock(),createBlock(VDialog,{"model-value":__props.modelValue,"max-width":`38rem`,scrollable:``,persistent:pending.value,"onUpdate:modelValue":_cache[5]||(_cache[5]=$event=>emit(`update:modelValue`,$event))},{default:withCtx(()=>[createVNode(VCard,{rounded:`xl`},{default:withCtx(()=>[createBaseVNode(`div`,_hoisted_1$2,[createBaseVNode(`div`,_hoisted_2$2,[createVNode(VIcon,{icon:unref(mdiSourcePull),color:`primary`},null,8,[`icon`]),_cache[6]||(_cache[6]=createBaseVNode(`h2`,{class:`text-title-large`},`Create pull request`,-1))]),createVNode(VBtn,{icon:unref(mdiClose),size:`48`,variant:`text`,"aria-label":`Close pull request dialog`,disabled:pending.value,onClick:_cache[0]||(_cache[0]=$event=>emit(`update:modelValue`,false))},null,8,[`icon`,`disabled`])]),createVNode(VCardText,{class:`d-flex flex-column ga-3`},{default:withCtx(()=>[createVNode(VSheet,{color:`surface-light`,rounded:`lg`,class:`pa-3 pr-destination`},{default:withCtx(()=>[createBaseVNode(`div`,_hoisted_3$1,toDisplayString(repository.value),1),createBaseVNode(`div`,_hoisted_4$1,toDisplayString(branch.value)+` → `+toDisplayString(base.value),1),_cache[7]||(_cache[7]=createBaseVNode(`p`,{class:`text-body-small text-medium-emphasis mt-2 mb-0`},`The base branch stays unchanged.`,-1))]),_:1}),_cache[8]||(_cache[8]=createBaseVNode(`p`,{class:`text-body-small ma-0`},`Save open file edits first.`,-1)),!destinationReview.value?(openBlock(),createElementBlock(`p`,_hoisted_5$1,`Refresh repository status before creating a pull request.`)):createCommentVNode(``,true),createVNode(VTextField,{modelValue:title.value,"onUpdate:modelValue":_cache[1]||(_cache[1]=$event=>title.value=$event),label:`Title`,variant:`outlined`,maxlength:`256`,disabled:pending.value,"hide-details":``},null,8,[`modelValue`,`disabled`]),createVNode(VTextarea,{modelValue:body.value,"onUpdate:modelValue":_cache[2]||(_cache[2]=$event=>body.value=$event),label:`Description`,placeholder:`What changed, and how did you check it?`,variant:`outlined`,rows:`3`,"auto-grow":``,maxlength:`65536`,disabled:pending.value,"hide-details":``},null,8,[`modelValue`,`disabled`]),createVNode(VSwitch,{modelValue:draft.value,"onUpdate:modelValue":_cache[3]||(_cache[3]=$event=>draft.value=$event),color:`primary`,label:`Create as draft`,disabled:pending.value,"hide-details":``},null,8,[`modelValue`,`disabled`]),_cache[9]||(_cache[9]=createBaseVNode(`details`,{class:`pr-details text-body-small`},[createBaseVNode(`summary`,{class:`py-3`},`What gets published`),createBaseVNode(`p`,null,`All saved file changes are committed and pushed to the PR branch. Database data and chat history are separate. GitHub automation may run; this does not deploy the app.`)],-1))]),_:1}),createVNode(VCardActions,{class:`pa-5 pt-2`},{default:withCtx(()=>[createVNode(VSpacer),createVNode(VBtn,{variant:`text`,height:`48`,disabled:pending.value,onClick:_cache[4]||(_cache[4]=$event=>emit(`update:modelValue`,false))},{default:withCtx(()=>[..._cache[10]||(_cache[10]=[createTextVNode(`Cancel`,-1)])]),_:1},8,[`disabled`]),createVNode(VBtn,{color:`primary`,variant:`flat`,rounded:`pill`,height:`48`,disabled:pending.value||!title.value.trim()||!destinationReview.value||__props.dashboardContext.sourceOperationsSuspended,"aria-busy":pending.value,onClick:submit},{default:withCtx(()=>[createTextVNode(toDisplayString(pending.value?`Publishing…`:draft.value?`Create draft PR`:`Create pull request`),1)]),_:1},8,[`disabled`,`aria-busy`])]),_:1})]),_:1})]),_:1},8,[`model-value`,`persistent`])}}};var Vibe64CreatePullRequestDialog_default=_plugin_vue_export_helper_default(_sfc_main$2,[[`__scopeId`,`data-v-55df627e`]]);var _hoisted_1$1={"aria-label":`Choose an AI workflow`};var _hoisted_2$1={key:0,"aria-label":`Loading AI workflows`,class:`vibe64-assistant-dialog__choices`};var _hoisted_3={class:`vibe64-assistant-dialog__error`};var _hoisted_4={key:2,class:`vibe64-assistant-dialog__empty`};var _hoisted_5=[`for`];var _hoisted_6={class:`vibe64-assistant-dialog__choice-icon`};var _hoisted_7={class:`vibe64-assistant-dialog__choice-copy`};var _hoisted_8={class:`vibe64-assistant-dialog__choice-heading`};var _hoisted_9={key:0};var _hoisted_10={key:1,class:`text-error`};var _hoisted_11={key:4,class:`text-body-small mt-3 mb-0`};var _hoisted_12={key:6,class:`text-body-small mt-3 mb-0`};var _sfc_main$1={__name:`Vibe64WorkflowSelector`,props:{active:Boolean,disabled:Boolean,initialEngineId:{type:String,default:``}},emits:[`update:workflow`,`update:ready`],setup(__props,{emit:__emit}){const props=__props;const emit=__emit;const selectedChoiceId=ref(``);const routingOpen=ref(false);const routingSaving=ref(false);const{resource,loadError,scopeKey}=useModelRouting({enabled:computed(()=>props.active),workflowsOnly:true});const loading=computed(()=>Boolean(resource.isInitialLoading.value));const canConfigure=computed(()=>resource.data.value?.canConfigure===true);const choices=computed(()=>resource.data.value?.workflows||[]);const selectedChoice=computed(()=>choices.value.find(choice=>choice.engineId===selectedChoiceId.value)||null);function defaultChoiceId(available=choices.value){return available.find(choice=>choice.engineId===props.initialEngineId&&choice.available)?.engineId||available.find(choice=>choice.available)?.engineId||``}function openConnectionSettings(){requestVibe64AccountConnectionsDialog({section:`ai`})}watch(choices,available=>{if(!available.some(choice=>choice.engineId===selectedChoiceId.value&&choice.available)||!props.active)selectedChoiceId.value=defaultChoiceId(available)},{immediate:true});watch(scopeKey,()=>{selectedChoiceId.value=``;routingOpen.value=false},{flush:`sync`});watch(()=>props.active,open=>{if(!open)routingOpen.value=false});watch([selectedChoice,()=>props.active,()=>props.disabled],([choice,active,busy])=>{emit(`update:workflow`,active&&choice?.available?choice.engineId:``);emit(`update:ready`,Boolean(active&&choice?.available&&!busy))},{immediate:true});return(_ctx,_cache)=>{return openBlock(),createElementBlock(Fragment,null,[createBaseVNode(`section`,_hoisted_1$1,[loading.value?(openBlock(),createElementBlock(`div`,_hoisted_2$1,[(openBlock(),createElementBlock(Fragment,null,renderList(3,index=>{return createBaseVNode(`div`,{key:index,class:`vibe64-assistant-dialog__choice-skeleton`},[createVNode(VSkeletonLoader,{type:`avatar`}),createVNode(VSkeletonLoader,{type:`list-item-two-line`})])}),64))])):unref(loadError)&&choices.value.length===0?(openBlock(),createBlock(VAlert,{key:1,color:`error`,role:`alert`,variant:`tonal`},{default:withCtx(()=>[createBaseVNode(`div`,_hoisted_3,[createBaseVNode(`span`,null,toDisplayString(unref(loadError)),1),createVNode(VBtn,{size:`small`,variant:`tonal`,onClick:_cache[0]||(_cache[0]=$event=>unref(resource).reload())},{default:withCtx(()=>[..._cache[7]||(_cache[7]=[createTextVNode(` Try again `,-1)])]),_:1})])]),_:1})):choices.value.length===0?(openBlock(),createElementBlock(`div`,_hoisted_4,[createVNode(VIcon,{icon:unref(mdiKeyOutline),color:`primary`,size:`32`},null,8,[`icon`]),_cache[9]||(_cache[9]=createBaseVNode(`strong`,null,`No AI is connected`,-1)),_cache[10]||(_cache[10]=createBaseVNode(`span`,null,`Connect an AI account, then come back to start a session.`,-1)),createVNode(VBtn,{color:`primary`,variant:`tonal`,onClick:openConnectionSettings},{default:withCtx(()=>[..._cache[8]||(_cache[8]=[createTextVNode(` Manage AI accounts `,-1)])]),_:1})])):(openBlock(),createBlock(VRadioGroup,{key:3,modelValue:selectedChoiceId.value,"onUpdate:modelValue":_cache[1]||(_cache[1]=$event=>selectedChoiceId.value=$event),"aria-label":`AI workflow`,class:`vibe64-assistant-dialog__choices`,"hide-details":``},{default:withCtx(()=>[(openBlock(true),createElementBlock(Fragment,null,renderList(choices.value,choice=>{return openBlock(),createElementBlock(`label`,{key:choice.engineId,class:normalizeClass([`vibe64-assistant-dialog__choice`,{"vibe64-assistant-dialog__choice--selected":selectedChoiceId.value===choice.engineId}]),for:`vibe64-assistant-${choice.engineId}`},[createBaseVNode(`span`,_hoisted_6,[createVNode(VIcon,{icon:[`codex`,`claude`].includes(choice.engineId)?unref(mdiCreationOutline):unref(mdiCodeBraces),size:`22`},null,8,[`icon`])]),createBaseVNode(`span`,_hoisted_7,[createBaseVNode(`span`,_hoisted_8,[createBaseVNode(`strong`,null,toDisplayString(choice.label),1)]),createBaseVNode(`small`,null,`Senior · `+toDisplayString(choice.seniorLabel),1),createBaseVNode(`small`,null,`Junior · `+toDisplayString(choice.juniorLabel),1),choice.backupUsed?(openBlock(),createElementBlock(`small`,_hoisted_9,`Shared backup for your access`)):createCommentVNode(``,true),choice.error?(openBlock(),createElementBlock(`small`,_hoisted_10,toDisplayString(choice.error),1)):createCommentVNode(``,true)]),createVNode(VRadio,{id:`vibe64-assistant-${choice.engineId}`,"aria-label":choice.label,disabled:!choice.available||__props.disabled,color:`primary`,value:choice.engineId},null,8,[`id`,`aria-label`,`disabled`,`value`])],10,_hoisted_5)}),128))]),_:1},8,[`modelValue`])),choices.value.length?(openBlock(),createElementBlock(`p`,_hoisted_11,`Auto review starts off. Enable it after choosing Auto in chat.`)):createCommentVNode(``,true),canConfigure.value&&choices.value.length?(openBlock(),createBlock(VBtn,{key:5,class:`mt-2`,variant:`text`,onClick:_cache[2]||(_cache[2]=$event=>routingOpen.value=true)},{default:withCtx(()=>[..._cache[11]||(_cache[11]=[createTextVNode(` Configure model routing `,-1)])]),_:1})):choices.value.length&&!selectedChoice.value?.available?(openBlock(),createElementBlock(`p`,_hoisted_12,` Ask the workspace owner to configure an available workflow. `)):createCommentVNode(``,true)]),canConfigure.value?(openBlock(),createBlock(VDialog,{key:0,modelValue:routingOpen.value,"onUpdate:modelValue":_cache[6]||(_cache[6]=$event=>routingOpen.value=$event),"max-width":`760`,persistent:routingSaving.value},{default:withCtx(()=>[createVNode(VCard,{rounded:`lg`},{default:withCtx(()=>[routingOpen.value?(openBlock(),createBlock(unref(ModelRoutingForm_default),{key:0,"engine-id":selectedChoiceId.value,onBusy:_cache[3]||(_cache[3]=$event=>routingSaving.value=$event),onClose:_cache[4]||(_cache[4]=$event=>routingOpen.value=false),onSaved:_cache[5]||(_cache[5]=$event=>{routingSaving.value=false;routingOpen.value=false})},null,8,[`engine-id`])):createCommentVNode(``,true)]),_:1})]),_:1},8,[`modelValue`,`persistent`])):createCommentVNode(``,true)],64)}}};var Vibe64WorkflowSelector_default=_plugin_vue_export_helper_default(_sfc_main$1,[[`__scopeId`,`data-v-07b08c74`]]);var _hoisted_1={key:0,class:`d-flex flex-column ga-3 mt-3`};var _hoisted_2={key:0,class:`text-body-small`,style:{"overflow-wrap":`anywhere`}};var _sfc_main={__name:`Vibe64AssistantSessionDialog`,props:{modelValue:Boolean,toolbar:{type:Object,default:()=>({})}},emits:[`created`,`update:model-value`],setup(__props,{emit:__emit}){const props=__props;const emit=__emit;const workflowEngineId=ref(``);const workflowReady=ref(false);const submitButton=ref(null);const submitting=computed(()=>props.toolbar.createSessionRunning===true);const branchMode=ref(`project`);const chooseBranch=computed(()=>branchMode.value!==`project`);const createBranch=computed(()=>branchMode.value===`new`);const branchName=ref(``);const newBranchName=ref(``);const branchProject=computed(()=>props.toolbar.projectContext||{});const branchSelectionAvailable=computed(()=>!props.toolbar.repositoryBranchSelectionDisabled&&[`github`,`managed_git`].includes(branchProject.value.repositoryMode||branchProject.value.repository?.mode));const branchChoices=computed(()=>[{title:`Project branch (${branchProject.value.repository?.defaultBranch||`main`})`,value:`project`},{title:`Create a new branch`,value:`new`},{title:`Use an existing branch`,value:`existing`}]);const branchRepository=computed(()=>branchProject.value.githubRepository?.fullName||branchProject.value.repository?.github?.fullName||branchProject.value.slug);const branchPath=computed(()=>scopedDevelopmentApiUrl(`/api/vibe64/repository/branches`,branchProject.value.slug));const branches=useEndpointResource({path:branchPath,queryKey:computed(()=>[`vibe64.branches`,branchPath.value]),enabled:computed(()=>props.modelValue&&branchSelectionAvailable.value&&chooseBranch.value),queryOptions:{retry:false},fallbackLoadError:`Repository branches could not load.`});const selectedBranch=computed(()=>branches.data.value?.branches?.find(item=>item.name===branchName.value));const branchAlreadyExists=computed(()=>branches.data.value?.branches?.some(item=>item.name===newBranchName.value.trim()));const branchSelectionReady=computed(()=>{if(!chooseBranch.value)return true;if(!selectedBranch.value||branches.isLoading.value||branches.loadError.value)return false;return!createBranch.value||Boolean(newBranchName.value.trim())&&!branchAlreadyExists.value});watch(()=>branches.data.value,value=>{if(!value?.branches?.some(item=>item.name===branchName.value))branchName.value=value?.defaultBranch||``},{immediate:true});function close(){if(!submitting.value)emit(`update:model-value`,false)}async function submit(){if(!workflowReady.value||!workflowEngineId.value||submitting.value||!branchSelectionReady.value)return;let response;try{const options={workflowEngineId:workflowEngineId.value};if(chooseBranch.value)options.repositoryBranch={name:createBranch.value?newBranchName.value.trim():branchName.value,...createBranch.value?{fromBranch:branchName.value}:{},expectedCommit:selectedBranch.value.commit};response=await props.toolbar.createSession?.({},options)}catch{return}if(response?.ok!==false&&response?.sessionId){emit(`created`,response);emit(`update:model-value`,false)}}watch(()=>props.modelValue,open=>{if(!open)return;branchMode.value=`project`;branchName.value=branches.data.value?.defaultBranch||``;newBranchName.value=``},{immediate:true});watch(submitting,async(running,wasRunning)=>{if(running||!wasRunning||!props.modelValue)return;await nextTick();const target=submitButton.value?.$el||submitButton.value;if(target?.isConnected===true&&typeof target.focus===`function`)target.focus({preventScroll:true})});return(_ctx,_cache)=>{return openBlock(),createBlock(VDialog,{"model-value":__props.modelValue,persistent:submitting.value,"max-width":`38rem`,scrollable:``,"onUpdate:modelValue":_cache[6]||(_cache[6]=$event=>!$event&&close())},{default:withCtx(()=>[createVNode(VCard,{class:`vibe64-assistant-dialog`,rounded:`xl`},{default:withCtx(()=>[createVNode(VCardTitle,{class:`vibe64-assistant-dialog__title`},{default:withCtx(()=>[_cache[7]||(_cache[7]=createBaseVNode(`span`,{class:`vibe64-assistant-dialog__title-copy`},[createBaseVNode(`strong`,{class:`text-title-large`},`Start an AI session`),createBaseVNode(`small`,{class:`text-body-small`},`Start with Senior. Choose Junior or Auto from chat.`)],-1)),createVNode(VBtn,{"aria-label":`Close AI session dialog`,disabled:submitting.value,icon:unref(mdiClose),title:`Close`,variant:`text`,onClick:close},null,8,[`disabled`,`icon`])]),_:1}),createVNode(VCardText,{class:`vibe64-assistant-dialog__body`},{default:withCtx(()=>[createVNode(Vibe64WorkflowSelector_default,{active:__props.modelValue,disabled:submitting.value,"onUpdate:workflow":_cache[0]||(_cache[0]=$event=>workflowEngineId.value=$event),"onUpdate:ready":_cache[1]||(_cache[1]=$event=>workflowReady.value=$event)},null,8,[`active`,`disabled`]),branchSelectionAvailable.value?(openBlock(),createElementBlock(Fragment,{key:0},[createVNode(VSelect,{modelValue:branchMode.value,"onUpdate:modelValue":_cache[2]||(_cache[2]=$event=>branchMode.value=$event),items:branchChoices.value,label:`Work on`,disabled:submitting.value,"hide-details":``,class:`mt-4`},null,8,[`modelValue`,`items`,`disabled`]),chooseBranch.value?(openBlock(),createElementBlock(`div`,_hoisted_1,[createBranch.value?(openBlock(),createBlock(VTextField,{key:0,modelValue:newBranchName.value,"onUpdate:modelValue":_cache[3]||(_cache[3]=$event=>newBranchName.value=$event),label:`New branch name`,placeholder:`e.g. improve-booking`,maxlength:`255`,disabled:submitting.value,"error-messages":newBranchName.value.trim()&&branchAlreadyExists.value?`That branch already exists. Choose an existing branch instead.`:[],"hide-details":`auto`},null,8,[`modelValue`,`disabled`,`error-messages`])):createCommentVNode(``,true),unref(branches).isLoading.value?(openBlock(),createBlock(VSkeletonLoader,{key:1,type:`list-item-two-line, paragraph`})):unref(branches).loadError.value?(openBlock(),createBlock(VAlert,{key:2,type:`error`,variant:`tonal`},{default:withCtx(()=>[createTextVNode(toDisplayString(unref(branches).loadError.value)+` `,1),createVNode(VBtn,{variant:`text`,onClick:_cache[4]||(_cache[4]=$event=>unref(branches).reload())},{default:withCtx(()=>[..._cache[8]||(_cache[8]=[createTextVNode(`Try again`,-1)])]),_:1})]),_:1})):(openBlock(),createElementBlock(Fragment,{key:3},[createVNode(VSelect,{modelValue:branchName.value,"onUpdate:modelValue":_cache[5]||(_cache[5]=$event=>branchName.value=$event),items:unref(branches).data.value?.branches||[],"item-title":`name`,"item-value":`name`,label:createBranch.value?`Create from`:`Branch`,disabled:submitting.value,"hide-details":``},null,8,[`modelValue`,`items`,`label`,`disabled`]),selectedBranch.value?(openBlock(),createElementBlock(`p`,_hoisted_2,toDisplayString(createBranch.value?`Creates the branch and opens a new session.`:`Opens a new session on this branch.`)+` Your changes will be saved to `+toDisplayString(branchRepository.value)+`:`+toDisplayString(createBranch.value?newBranchName.value.trim()||`your new branch`:branchName.value)+`. `,1)):createCommentVNode(``,true),_cache[9]||(_cache[9]=createBaseVNode(`p`,{class:`text-body-small`},`App publishing still uses the project branch.`,-1))],64))])):createCommentVNode(``,true)],64)):createCommentVNode(``,true)]),_:1}),createVNode(VCardActions,{class:`vibe64-assistant-dialog__actions`},{default:withCtx(()=>[createVNode(VBtn,{disabled:submitting.value,variant:`text`,onClick:close},{default:withCtx(()=>[..._cache[10]||(_cache[10]=[createTextVNode(`Cancel`,-1)])]),_:1},8,[`disabled`]),createVNode(VBtn,{ref_key:`submitButton`,ref:submitButton,"aria-busy":submitting.value?`true`:void 0,color:`primary`,disabled:!workflowReady.value||submitting.value||!branchSelectionReady.value,variant:`flat`,onClick:submit},{default:withCtx(()=>[createTextVNode(toDisplayString(submitting.value?`Creating session…`:chooseBranch.value&&createBranch.value?`Create branch & session`:`Create session`),1)]),_:1},8,[`aria-busy`,`disabled`])]),_:1})]),_:1})]),_:1},8,[`model-value`,`persistent`])}}};var Vibe64AssistantSessionDialog_default=_plugin_vue_export_helper_default(_sfc_main,[[`__scopeId`,`data-v-9e15b894`]]);var CREATED_SESSION_FOCUS_TIMEOUT_MS=2e3;async function focusCreatedVibe64SessionTab(sessionId=``){const normalizedSessionId=String(sessionId||``).trim();if(!normalizedSessionId||typeof document===`undefined`)return false;const deadline=Date.now()+CREATED_SESSION_FOCUS_TIMEOUT_MS;while(Date.now()<deadline){const dialogVisible=[...document.querySelectorAll(`.vibe64-assistant-dialog`)].some(element=>element.getClientRects().length>0);const target=[...document.querySelectorAll(`[data-vibe64-session-id]`)].find(element=>element.getAttribute(`data-vibe64-session-id`)===normalizedSessionId&&element.getClientRects().length>0);if(!dialogVisible&&target&&typeof target.focus===`function`){target.focus({preventScroll:true});return document.activeElement===target}await new Promise(resolve=>{(globalThis.requestAnimationFrame||(callback=>setTimeout(callback,16)))(resolve)})}return false}export{Vibe64CreatePullRequestDialog_default as i,Vibe64AssistantSessionDialog_default as n,Vibe64WorkflowSelector_default as r,focusCreatedVibe64SessionTab as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
.pr-destination[data-v-55df627e]{overflow-wrap:anywhere}.pr-details summary[data-v-55df627e]{cursor:pointer;min-height:48px}.vibe64-assistant-dialog__choices[data-v-07b08c74]{gap:.65rem;display:grid}.vibe64-assistant-dialog__choice[data-v-07b08c74],.vibe64-assistant-dialog__choice-skeleton[data-v-07b08c74]{border:1px solid rgba(var(--v-theme-outline), .22);border-radius:.9rem;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.8rem;min-height:4.5rem;padding:.65rem .8rem;display:grid}.vibe64-assistant-dialog__choice[data-v-07b08c74]{background:rgb(var(--v-theme-surface));cursor:pointer;grid-template-areas:"icon copy control"}.vibe64-assistant-dialog__choice[data-v-07b08c74]:hover{background:rgba(var(--v-theme-primary), .04)}.vibe64-assistant-dialog__choice--selected[data-v-07b08c74]{background:rgba(var(--v-theme-primary), .08);border-color:rgba(var(--v-theme-primary), .6)}.vibe64-assistant-dialog__choice-icon[data-v-07b08c74]{background:rgba(var(--v-theme-primary), .12);color:rgb(var(--v-theme-primary));border-radius:50%;grid-area:icon;justify-content:center;align-items:center;width:2.75rem;height:2.75rem;display:inline-flex}.vibe64-assistant-dialog__choice-copy[data-v-07b08c74]{grid-area:copy;gap:.18rem;min-width:0;display:grid}.vibe64-assistant-dialog__choice-heading[data-v-07b08c74]{flex-wrap:wrap;align-items:center;gap:.45rem;display:flex}.vibe64-assistant-dialog__choice-copy small[data-v-07b08c74],.vibe64-assistant-dialog__empty span[data-v-07b08c74]{color:rgba(var(--v-theme-on-surface), .66);line-height:1.35}.vibe64-assistant-dialog__choice-skeleton[data-v-07b08c74]{grid-template-columns:3rem minmax(0,1fr)}.vibe64-assistant-dialog__choice-skeleton[data-v-07b08c74] .v-skeleton-loader{background:0 0}.vibe64-assistant-dialog__empty[data-v-07b08c74]{text-align:center;place-items:center;gap:.6rem;padding:1.5rem 1rem;display:grid}.vibe64-assistant-dialog__error[data-v-07b08c74]{justify-content:space-between;align-items:center;gap:.75rem;display:flex}@media (width<=600px){.vibe64-assistant-dialog__choice[data-v-07b08c74]{gap:.65rem;padding-inline:.65rem}}.vibe64-assistant-dialog[data-v-9e15b894]{border:1px solid rgba(var(--v-theme-outline), .18)}.vibe64-assistant-dialog__title[data-v-9e15b894]{justify-content:space-between;align-items:center;padding:1rem 1.25rem .75rem;display:flex}.vibe64-assistant-dialog__title-copy[data-v-9e15b894]{gap:.15rem;display:grid}.vibe64-assistant-dialog__title-copy small[data-v-9e15b894]{color:rgba(var(--v-theme-on-surface), .66);white-space:normal}.vibe64-assistant-dialog__body[data-v-9e15b894]{padding:.25rem 1.25rem 1rem!important}.vibe64-assistant-dialog__actions[data-v-9e15b894]{border-top:1px solid rgba(var(--v-theme-outline), .14);justify-content:flex-end;gap:.5rem;padding:.75rem 1.25rem}@media (width<=600px){.vibe64-assistant-dialog__body[data-v-9e15b894],.vibe64-assistant-dialog__actions[data-v-9e15b894],.vibe64-assistant-dialog__title[data-v-9e15b894]{padding-inline:1rem!important}}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{Gn as mdiSourceRepository,Lt as mdiGraphOutline,Mn as mdiRobotOutline,lt as mdiDatabaseOutline,qt as mdiInformationOutline,xt as mdiFileCompare,yt as mdiFileCodeOutline}from"./mdi-C31_SZp-.js";import{t as deepFreeze}from"./deepFreeze-BgoYkoTa.js";var VIBE64_ACTIVE_SESSION_NAV_TARGET=`page.active-session-nav`;var VIBE64_ACTIVE_SESSION_NAV_OWNER=`vibe64-session`;var VIBE64_SESSION_TOOL_DEFINITIONS=deepFreeze([{icon:mdiInformationOutline,id:`info`,label:`Session info`,order:100,routeSegment:`session`,title:`View paths and Git context for the active session`},{icon:mdiFileCompare,id:`changes`,label:`Current changes`,order:150,routeSegment:`changes`,title:`Review files changed in this session`},{icon:mdiSourceRepository,id:`repository`,label:`Repository`,order:175,routeSegment:`repository`,title:`Review saved versions and update this session`},{icon:mdiFileCodeOutline,id:`editor`,label:`Files`,order:200,routeSegment:`files`,title:`Browse, edit, and explain session source files`},{icon:mdiDatabaseOutline,id:`database`,label:`Database`,order:225,routeSegment:`database`,title:`Query, edit, and map the active session database`},{icon:mdiGraphOutline,id:`system`,label:`Subsystems`,order:250,routeSegment:`system`,title:`Explore subsystem responsibilities, operations, data, and Cities`},{icon:mdiRobotOutline,id:`ai-terminal`,label:`AI Terminal`,order:700,routeSegment:`ai-terminal`,title:`Open the active session AI terminal`}]);function normalizeSessionToolRouteSegment(value=``){return String(value||``).trim().replace(/^\/+|\/+$/gu,``)}function vibe64SessionToolDefinition(toolId=``){const normalizedId=String(toolId||``).trim();return VIBE64_SESSION_TOOL_DEFINITIONS.find(tool=>tool.id===normalizedId)||null}function vibe64SessionToolRouteSegment(toolId=``){const tool=vibe64SessionToolDefinition(toolId);return normalizeSessionToolRouteSegment(tool?.routeSegment||tool?.id||``)}function vibe64SessionToolIdFromRouteSegment(routeSegment=``){const normalizedSegment=normalizeSessionToolRouteSegment(routeSegment);return VIBE64_SESSION_TOOL_DEFINITIONS.find(tool=>normalizeSessionToolRouteSegment(tool.routeSegment||tool.id)===normalizedSegment)?.id||``}function vibe64SessionToolDashboardSuffix(toolId=``){const routeSegment=vibe64SessionToolRouteSegment(toolId);return routeSegment?`/dashboard/${routeSegment}`:``}export{vibe64SessionToolIdFromRouteSegment as a,vibe64SessionToolDashboardSuffix as i,VIBE64_ACTIVE_SESSION_NAV_TARGET as n,VIBE64_SESSION_TOOL_DEFINITIONS as r,VIBE64_ACTIVE_SESSION_NAV_OWNER as t};
|
|
File without changes
|