vibe64 0.1.39 → 0.1.41
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/run.js +1955 -1855
- package/bin/server.js +136 -112
- package/bin/upgrade-state.js +5514 -5343
- package/dist/assets/GithubBrowserTabs-YvIe2BdE.js +1 -0
- package/dist/assets/LocalDatabaseServer-BWAvRlUl.css +1 -0
- package/dist/assets/LocalDatabaseServer-CVsGChHh.js +2 -0
- package/dist/assets/StudioErrorNotice-C_jbvp9V.js +1 -0
- package/dist/assets/VAlert-gwuhYlYb.js +1 -0
- package/dist/assets/VAutocomplete-D7Vk5wq_.js +1 -0
- package/dist/assets/VAvatar-DvRBcmqv.js +1 -0
- package/dist/assets/VBtn-BhVEwXLX.js +1 -0
- package/dist/assets/VCard-C3Hx769y.js +1 -0
- package/dist/assets/VCheckbox-DyCGSN0H.js +1 -0
- package/dist/assets/VCheckboxBtn-DCyuVH7W.css +1 -0
- package/dist/assets/VCheckboxBtn-DYcQU2Pn.js +1 -0
- package/dist/assets/VChip-VVdtjfq-.js +1 -0
- package/dist/assets/VDialog-CQDhjRiV.js +1 -0
- package/dist/assets/VDivider-Dq25WsKu.js +1 -0
- package/dist/assets/VExpansionPanels-C1y-myl5.js +1 -0
- package/dist/assets/VMenu-CDcBLYWR.js +1 -0
- package/dist/assets/VOverlay-Cp4rFk6g.js +1 -0
- package/dist/assets/VRadioGroup-CAjNZwF7.js +1 -0
- package/dist/assets/VRow-BskP28jR.js +1 -0
- package/dist/assets/VSelect-D3oLvCcB.js +2 -0
- package/dist/assets/VSheet-DxYEFfnM.js +1 -0
- package/dist/assets/VSkeletonLoader-Cync3lZZ.js +1 -0
- package/dist/assets/VSpacer-CgWOWvBh.js +1 -0
- package/dist/assets/VSwitch-BxGuGypi.js +1 -0
- package/dist/assets/VTextField-C0b_0cSa.js +1 -0
- package/dist/assets/VTextField-F6unyhrS.css +1 -0
- package/dist/assets/VTextarea-B7sZd1JY.js +1 -0
- package/dist/assets/{Vibe64AsyncModuleState-Do9EqX3S.js → Vibe64AsyncModuleState-syuPcpGx.js} +1 -1
- package/dist/assets/{Vibe64AuthSettingsButton-M44SSmZ9.css → Vibe64AuthSettingsButton-D2lltUhi.css} +1 -1
- package/dist/assets/Vibe64AuthSettingsButton-DLdfT68V.js +5 -0
- package/dist/assets/Vibe64CopyCommand-CYiZcy0d.js +1 -0
- package/dist/assets/Vibe64CopyCommand-ClbQLYZi.css +1 -0
- package/dist/assets/{Vibe64DashboardBackButton-BH_8j_VR.js → Vibe64DashboardBackButton-Go_MJuIK.js} +1 -1
- package/dist/assets/{Vibe64DashboardPageHeader-BXQR00HK.js → Vibe64DashboardPageHeader-BMrdRph6.js} +1 -1
- package/dist/assets/Vibe64DashboardPageHeader-CdlzsyKQ.css +1 -0
- package/dist/assets/Vibe64DashboardShell-DMPz6fIx.js +1 -0
- package/dist/assets/{Vibe64DatabaseWorkspace-CEml9BWn.js → Vibe64DatabaseWorkspace-BCEIOlSg.js} +3 -3
- package/dist/assets/{Vibe64DatabaseWorkspace-DPDMxhAW.css → Vibe64DatabaseWorkspace-DePBDUMy.css} +1 -1
- package/dist/assets/{Vibe64OutputControls-Co5YzwcK.css → Vibe64OutputControls-CeBzZPUT.css} +1 -1
- package/dist/assets/Vibe64OutputControls-DMoqL0VD.js +8 -0
- package/dist/assets/{Vibe64RepositoryWorkspace-obZFXkoG.js → Vibe64RepositoryWorkspace-BdwRwbxp.js} +2 -2
- package/dist/assets/{Vibe64RepositoryWorkspace-Agyt4O-V.css → Vibe64RepositoryWorkspace-Bw9W691N.css} +1 -1
- package/dist/assets/{Vibe64SessionFiles-CQzs6fee.js → Vibe64SessionFiles-ChJWUOqm.js} +4 -4
- package/dist/assets/Vibe64SessionFiles-DsPb8hOe.css +1 -0
- package/dist/assets/{Vibe64TemporaryAiFixAction-BiuIE9mC.js → Vibe64TemporaryAiFixAction-CIePbdW8.js} +1 -1
- package/dist/assets/{Vibe64UiStoryboardView-BhKRpL0N.js → Vibe64UiStoryboardView-Bp9STItF.js} +1 -1
- package/dist/assets/{Vibe64UnavailableSessions-Ca5nC7KH.js → Vibe64UnavailableSessions-JBgHzM-j.js} +1 -1
- package/dist/assets/{_sessionId_-CKkGH3Rx.js → _sessionId_-Bw0KfJeR.js} +1 -1
- package/dist/assets/{_sessionTool_-1V-z6Pbp.js → _sessionTool_-BV1AwpUx.js} +1 -1
- package/dist/assets/_slug_-CAmuBm-M.css +1 -0
- package/dist/assets/_slug_-q9prK_gX.js +25 -0
- package/dist/assets/{access-WlhPvPgy.js → access-C05Nkq6r.js} +1 -1
- package/dist/assets/app-D1CGY9Xm.js +1 -0
- package/dist/assets/assistantRouting-DeE8jvtE.js +3 -0
- package/dist/assets/{changes-CHJjrZAc.js → changes-D17XpgGz.js} +1 -1
- package/dist/assets/client-BxGiylrJ.js +2 -0
- package/dist/assets/client-C8jwAMY9.css +1 -0
- package/dist/assets/{conversation-B90ERX9h.js → conversation-DZW4-Wck.js} +2 -2
- package/dist/assets/{conversation-vxJGwmtW.css → conversation-TK6EmDk4.css} +1 -1
- package/dist/assets/{createSimpleFunctional-CZTGuNuR.js → createSimpleFunctional-zlXZooQW.js} +1 -1
- package/dist/assets/{dashboard-CuutW8iv.js → dashboard-BXXgeQ0Q.js} +1 -1
- package/dist/assets/definitions-SNvFDEFS.js +1 -0
- package/dist/assets/dialog-transition-D2vqGksQ.js +1 -0
- package/dist/assets/env-B5V1EC4M.css +1 -0
- package/dist/assets/env-sXAQqKWk.js +1 -0
- package/dist/assets/health-92hh8xXh.css +1 -0
- package/dist/assets/health-Cr34pf2p.js +1 -0
- package/dist/assets/{history-1_NU8azF.js → history-N1iRZaab.js} +1 -1
- package/dist/assets/incoming-Bdqo8z25.css +1 -0
- package/dist/assets/incoming-CNwZa_yD.js +2 -0
- package/dist/assets/{index-irlMYzLh.css → index-B17d4wpZ.css} +1 -1
- package/dist/assets/index-Mxalhei8.js +138 -0
- package/dist/assets/{integrations-BMzWQQpa.js → integrations-BmwFvHgZ.js} +10 -10
- package/dist/assets/integrations-Co8WvCiD.css +1 -0
- package/dist/assets/issues-BbiG7dCV.js +1 -0
- package/dist/assets/layout-B2Ap07aa.js +1 -0
- package/dist/assets/{lazy-NHSwD9FS.js → lazy-BjyT2XvW.js} +1 -1
- package/dist/assets/{learning-Bdi3XRS7.js → learning-CUCuuoHM.js} +1 -1
- package/dist/assets/mdi-Bt90Ns76.js +1 -0
- package/dist/assets/placement-CQy46H3H.js +1 -0
- package/dist/assets/publish-4r_4K5IY.js +3 -0
- package/dist/assets/publish-BFTsAMCF.css +1 -0
- package/dist/assets/pull-requests-BjwokcU0.css +1 -0
- package/dist/assets/pull-requests-DY9jg3cE.js +1 -0
- package/dist/assets/{repository-BL_2bgzC.js → repository-DhXdoMP6.js} +1 -1
- package/dist/assets/ripple-EFNA8EBu.js +11 -0
- package/dist/assets/rolldown-runtime-DBalRfVu.js +1 -0
- package/dist/assets/{session-BdhKrcX4.js → session-BGpiZThC.js} +1 -1
- package/dist/assets/{settings-1rpuL7eR.js → settings-Cj4u-76p.js} +1 -1
- package/dist/assets/settings-D8x4KUqV.css +1 -0
- package/dist/assets/shared-DZETtWRH.js +2 -0
- package/dist/assets/studioGateApi-BXHVBVEc.js +1 -0
- package/dist/assets/studioUrls-DpSS-0z1.js +1 -0
- package/dist/assets/useArchivedVibe64Sessions-BXNg8oES.js +1 -0
- package/dist/assets/useCommand-nWFczmJy.js +1 -0
- package/dist/assets/useEndpointResource-Ds8EDBZ2.js +1 -0
- package/dist/assets/useRealtimeEvent-DrOiU8lJ.js +1 -0
- package/dist/assets/{useUiFeedback-BPBF_0bp.js → useUiFeedback-CMwE4MLs.js} +1 -1
- package/dist/assets/useVibe64ConversationLog-C1xjhFtS.js +1 -0
- package/dist/assets/{useVibe64DatabaseTools-4o6S8eXq.js → useVibe64DatabaseTools-H6H-YJQX.js} +1 -1
- package/dist/assets/useVibe64ProjectScope-B5ogg6jd.js +1 -0
- package/dist/assets/useVibe64SessionData-CnDOFFHb.js +1 -0
- package/dist/assets/{useVibe64SessionSelection-BzL1y_Vq.js → useVibe64SessionSelection-J87nJ9p5.js} +1 -1
- package/dist/assets/{useVibe64SystemGraph-B4RmsC9Y.js → useVibe64SystemGraph-DbSfrYF8.js} +1 -1
- package/dist/assets/{useVibe64Terminal-Cg3idMcy.js → useVibe64Terminal-I7Sf6xMW.js} +1 -1
- package/dist/assets/vibe64ProjectScope.local-B06ABkhI.js +1 -0
- package/dist/assets/vibe64SavedEnvValues-B_QE9aAj.js +1 -0
- package/dist/assets/vibe64SessionFocus-CA-sk8Ri.css +1 -0
- package/dist/assets/vibe64SessionFocus-DlN8NwcE.js +1 -0
- package/dist/assets/{vibe64SessionInfo-BuBUdL-e.js → vibe64SessionInfo-B0uItVOK.js} +1 -1
- package/dist/assets/{vibe64SessionToolDefinitions-BJaJH5LR.js → vibe64SessionToolDefinitions-Dsn8WYmO.js} +1 -1
- package/dist/index.html +56 -46
- package/docs/colleague-usage/account-profile-and-appearance.md +1 -1
- package/docs/colleague-usage/{ai-accounts-and-routing.md → ai-accounts.md} +41 -114
- package/docs/colleague-usage/ai-model-setups.md +159 -0
- package/docs/colleague-usage/ai-onboarding.md +97 -22
- package/docs/colleague-usage/ai-personal-use.md +41 -0
- package/docs/colleague-usage/auto-workflow.md +8 -3
- package/docs/colleague-usage/codex-context-recovery.md +2 -1
- package/docs/colleague-usage/coding-agent-goals.md +7 -4
- package/docs/colleague-usage/coding-agents.md +8 -5
- package/docs/colleague-usage/colleague-watches.md +15 -4
- package/docs/colleague-usage/colleague.md +21 -5
- package/docs/colleague-usage/connected-contributions.md +13 -13
- package/docs/colleague-usage/connected-projects.md +2 -2
- package/docs/colleague-usage/conversation-context.md +1 -1
- package/docs/colleague-usage/dashboard-navigation.md +5 -3
- package/docs/colleague-usage/development-env.md +21 -4
- package/docs/colleague-usage/file-interfaces.md +1 -1
- package/docs/colleague-usage/github-work.md +8 -8
- package/docs/colleague-usage/health-checks.md +52 -18
- package/docs/colleague-usage/incoming-changes.md +3 -3
- package/docs/colleague-usage/integrations.md +5 -3
- package/docs/colleague-usage/learning-course-catalogue.md +3 -3
- package/docs/colleague-usage/learning-environment.md +78 -56
- package/docs/colleague-usage/learning-mode-ui.md +31 -19
- package/docs/colleague-usage/learning-practice-projects.md +15 -4
- package/docs/colleague-usage/learning-teacher-guide.md +10 -4
- package/docs/colleague-usage/learning-with-colleague.md +12 -8
- package/docs/colleague-usage/lesson-authoring.md +13 -13
- package/docs/colleague-usage/lesson-step-bar.md +47 -33
- package/docs/colleague-usage/main-chat-approvals.md +150 -0
- package/docs/colleague-usage/preview-browser-checks.md +5 -1
- package/docs/colleague-usage/preview-starting-application.md +10 -1
- package/docs/colleague-usage/project-language-tools.md +16 -2
- package/docs/colleague-usage/project-settings.md +1 -1
- package/docs/colleague-usage/project-setup.md +17 -7
- package/docs/colleague-usage/publishing.md +187 -0
- package/docs/colleague-usage/running-vibe64-on-your-computer.md +54 -6
- package/docs/colleague-usage/sessions.md +18 -10
- package/docs/colleague-usage/set-up-linux.md +254 -0
- package/docs/colleague-usage/set-up-macos.md +199 -0
- package/docs/colleague-usage/set-up-windows.md +76 -0
- package/docs/colleague-usage/starter-apps.md +23 -6
- package/docs/colleague-usage/teaching-content.md +2 -2
- package/docs/colleague-usage/team-ai-access.md +108 -0
- package/docs/colleague-usage/temporary-chats.md +9 -7
- package/docs/colleague-usage/workspace-preparation.md +50 -1
- package/docs/templates/learn-topic/README.md +3 -3
- package/docs/templates/learn-topic/training/lessons/TOPIC-01/lesson.json +2 -1
- package/docs/training-content.md +37 -15
- package/node_modules/@jskit-ai/assistant-core/package.json +1 -1
- package/node_modules/@jskit-ai/assistant-runtime/package.json +1 -1
- package/node_modules/@jskit-ai/assistant-voice/package.json +1 -1
- package/node_modules/@jskit-ai/connector-google-calendar/package.json +1 -1
- package/node_modules/@jskit-ai/connectors-catalog/package.json +1 -1
- package/node_modules/@jskit-ai/connectors-catalog/patterns/oauth-connection/PATTERN.md +25 -0
- package/node_modules/@jskit-ai/connectors-core/package.json +1 -1
- package/node_modules/@jskit-ai/http-runtime/package.json +1 -1
- package/node_modules/@jskit-ai/kernel/package.json +1 -1
- package/node_modules/@jskit-ai/realtime/package.json +1 -1
- package/node_modules/@jskit-ai/resource-core/package.json +1 -1
- package/node_modules/@jskit-ai/resource-crud-core/package.json +1 -1
- package/node_modules/@jskit-ai/uploads-runtime/package.json +1 -1
- package/node_modules/@local/vibe64-accounts/package.json +2 -1
- package/node_modules/@local/vibe64-core/package.json +4 -1
- package/node_modules/@local/vibe64-execution/src/host/execHelper.js +82 -81
- package/node_modules/@local/vibe64-genesis/bin/vibe64-genesis-host-context +83 -82
- package/node_modules/@local/vibe64-genesis/package.json +1 -0
- package/node_modules/@local/vibe64-genesis/src/server/agentSpecs.js +118 -68
- package/node_modules/@local/vibe64-genesis/src/server/index.js +536 -449
- package/node_modules/@local/vibe64-genesis/src/server/packaging.js +105 -0
- package/node_modules/@local/vibe64-genesis/src/server/promptContext.js +144 -145
- package/node_modules/@local/vibe64-packaging/package.json +26 -0
- package/node_modules/@local/vibe64-packaging/src/server/packers/capacitor/ShellIcons.java +112 -0
- package/node_modules/@local/vibe64-project/package.json +3 -1
- package/node_modules/@local/vibe64-publishing/package.json +12 -0
- package/node_modules/@local/vibe64-runtime/src/server/codexAppServerProcess.js +7 -7
- package/node_modules/@local/vibe64-runtime/src/shared/assistantRoutingScores.json +25 -22
- package/node_modules/@local/vibe64-terminals/package.json +2 -1
- package/node_modules/@local/vibe64-terminals/src/server/sessionWorkOperationCommand.js +1341 -1300
- package/node_modules/@local/vibe64-training/package.json +2 -1
- package/package.json +19 -15
- package/server.bundle.mjs +43109 -41089
- package/dist/assets/GithubBrowserTabs-C2NO5l8g.js +0 -1
- package/dist/assets/StudioErrorNotice-CSrUw1QV.js +0 -1
- package/dist/assets/VAlert-P256xaE0.js +0 -1
- package/dist/assets/VAutocomplete-BDb95qJX.js +0 -1
- package/dist/assets/VAvatar-DPzqDH4r.js +0 -1
- package/dist/assets/VBtn-B2MBK2DL.js +0 -1
- package/dist/assets/VCard-mXy0k4aS.js +0 -1
- package/dist/assets/VCheckbox-C7A1ZW4D.js +0 -1
- package/dist/assets/VChip-CcI-Oo2J.js +0 -1
- package/dist/assets/VDialog-Bu3EfKb1.js +0 -1
- package/dist/assets/VDivider-BMEqUoAB.js +0 -1
- package/dist/assets/VExpansionPanels-Dgjrop0V.js +0 -1
- package/dist/assets/VMenu-C_x18lwb.js +0 -1
- package/dist/assets/VOverlay-CeMZurIN.js +0 -1
- package/dist/assets/VRadioGroup-CUu2-KIP.js +0 -1
- package/dist/assets/VRow-Cpw7OHQV.js +0 -1
- package/dist/assets/VSelect-DL3HaA5m.js +0 -2
- package/dist/assets/VSheet-DZWsu0kL.js +0 -1
- package/dist/assets/VSkeletonLoader-CttxM1tw.js +0 -1
- package/dist/assets/VSpacer-Dhmsvk4t.js +0 -1
- package/dist/assets/VSwitch-BRHeDJkH.js +0 -1
- package/dist/assets/VTextField-BR2eZeFT.js +0 -1
- package/dist/assets/VTextField-BiatYyd3.css +0 -1
- package/dist/assets/VTextarea-DbqamXJd.js +0 -1
- package/dist/assets/Vibe64AuthSettingsButton-fY4ZiIFF.js +0 -5
- package/dist/assets/Vibe64DashboardPageHeader-Gm1IvlHx.css +0 -1
- package/dist/assets/Vibe64DashboardShell-BSq7uXEW.js +0 -1
- package/dist/assets/Vibe64OutputControls-_zhGX9ne.js +0 -8
- package/dist/assets/Vibe64SessionFiles-Bl8wJ5Sk.css +0 -1
- package/dist/assets/_slug_-BclonbST.js +0 -24
- package/dist/assets/_slug_-CZ1bxO9C.css +0 -1
- package/dist/assets/app-BNP_n_Tt.js +0 -1
- package/dist/assets/assistantRouting-D4XpXcEf.js +0 -3
- package/dist/assets/client-BWV84wi2.js +0 -2
- package/dist/assets/client-DGrP-2AJ.css +0 -1
- package/dist/assets/definitions-BrMvu6yV.js +0 -1
- package/dist/assets/env-BzRtyO0w.css +0 -1
- package/dist/assets/env-D3KQGvRe.js +0 -1
- package/dist/assets/health-BJvooRnJ.css +0 -1
- package/dist/assets/health-BhoO1d4h.js +0 -1
- package/dist/assets/incoming-DWDrmxyH.css +0 -1
- package/dist/assets/incoming-DzADFGqp.js +0 -2
- package/dist/assets/index-dNxr4Lg9.js +0 -138
- package/dist/assets/integrations-Cq1x-Di9.css +0 -1
- package/dist/assets/issues-Bywux4s7.js +0 -1
- package/dist/assets/mdi-CG9pWOSj.js +0 -1
- package/dist/assets/placement-BF-zIEhA.js +0 -1
- package/dist/assets/pull-requests-CdbhyFOv.css +0 -1
- package/dist/assets/pull-requests-ncmKT3sS.js +0 -1
- package/dist/assets/ripple-BVltMmyV.js +0 -11
- package/dist/assets/settings-BopLnpB0.css +0 -1
- package/dist/assets/shared-DpMvYJO3.js +0 -2
- package/dist/assets/studioGateApi-DcCqiD9V.js +0 -1
- package/dist/assets/studioUrls-DmMMIScP.js +0 -1
- package/dist/assets/useArchivedVibe64Sessions-_LB2XxEa.js +0 -1
- package/dist/assets/useCommand-Bqxb-naz.js +0 -1
- package/dist/assets/useEndpointResource-DWoQ2keu.js +0 -1
- package/dist/assets/useRealtimeEvent-Bwapstla.js +0 -1
- package/dist/assets/useVibe64ConversationLog-BqUI0S5n.js +0 -1
- package/dist/assets/useVibe64Learning-DyqXkpLw.js +0 -1
- package/dist/assets/useVibe64ProjectScope-Bp1ImZlz.js +0 -1
- package/dist/assets/useVibe64SessionData-B686lToN.js +0 -1
- package/dist/assets/vibe64SessionFocus-CqZNTvYF.js +0 -1
- package/dist/assets/vibe64SessionFocus-OJ2toBd9.css +0 -1
|
@@ -8,7 +8,7 @@ restart or delete it.
|
|
|
8
8
|
|
|
9
9
|
## One lesson in progress
|
|
10
10
|
|
|
11
|
-
Starting a lesson (**Courses**, then **Start**) begins one run of it, called an
|
|
11
|
+
Starting a lesson (**Courses**, then **Start lesson**) begins one run of it, called an
|
|
12
12
|
attempt. The attempt owns:
|
|
13
13
|
|
|
14
14
|
- its step results,
|
|
@@ -19,7 +19,10 @@ attempt. The attempt owns:
|
|
|
19
19
|
You have at most one lesson in progress. It stays in progress until you finish,
|
|
20
20
|
restart or delete it. Switching to Develop, or opening another page, only
|
|
21
21
|
pauses it: its project, results and conversation are all kept, for as long as
|
|
22
|
-
you like. Press **L** to come back to it.
|
|
22
|
+
you like. Press **L** to come back to it. Like any project, a practice project
|
|
23
|
+
left without activity for about 30 minutes is closed by idle cleanup: its
|
|
24
|
+
Preview and assistant stop, while its files, results and conversation stay.
|
|
25
|
+
Coming back to the lesson opens it again; start Preview again if you need it.
|
|
23
26
|
|
|
24
27
|
If you start a different lesson while one is in progress, Vibe64 asks once
|
|
25
28
|
whether to archive the current lesson first. Confirming archives it (see
|
|
@@ -66,6 +69,14 @@ A practice project is a complete project. Its chat, **Preview**, **Dashboard**
|
|
|
66
69
|
and sessions work as in any project. The session that lesson preparation
|
|
67
70
|
creates in it is an ordinary session.
|
|
68
71
|
|
|
72
|
+
Which AI the practice project's chat uses depends on who you are. The workspace
|
|
73
|
+
owner's lessons (and yours on Vibe64 on your own computer) run on the owner's
|
|
74
|
+
main AI, as in any project. A team member's lesson runs on the team setup's
|
|
75
|
+
Workspace-use models and their messages are sent straight away, without the
|
|
76
|
+
owner's approval: the composer reads "Message your lesson's AI — *model* (team
|
|
77
|
+
AI)". A personal plan is never used for a team member's lesson; see
|
|
78
|
+
**Lessons** in [Team AI access](team-ai-access.md).
|
|
79
|
+
|
|
69
80
|
## In progress and Archived
|
|
70
81
|
|
|
71
82
|
In Learn mode, **Courses** (on the lesson step bar, or in the project menu beside **L**) has an **In progress** list and an
|
|
@@ -76,7 +87,7 @@ lesson…** or **Loading archived lessons…** instead of staying blank.
|
|
|
76
87
|
practice project's name (or **No practice project**). Without one it says
|
|
77
88
|
**No lesson in progress. Start one from Courses.** The row has three buttons:
|
|
78
89
|
|
|
79
|
-
- **Open** closes Courses and opens the lesson
|
|
90
|
+
- **Open** closes Courses and opens the lesson (its **Lesson** toggle on) over its
|
|
80
91
|
practice project (or, for a lesson without one, of the page with no project
|
|
81
92
|
selected).
|
|
82
93
|
- **Restart** turns into **Archive and restart**; press that to archive this
|
|
@@ -110,7 +121,7 @@ projects.
|
|
|
110
121
|
## Finishing a lesson
|
|
111
122
|
|
|
112
123
|
When every required step has passed, the lesson's **Lesson finished** screen,
|
|
113
|
-
in the page's **Lesson**
|
|
124
|
+
in the page's **Lesson** sheet, finishes it: the lesson counts as completed for good, and the attempt is
|
|
114
125
|
archived as one bundle (its record, practice project and conversation). The
|
|
115
126
|
screen then offers **Next lesson** and **Back to courses**. **Start lesson** on
|
|
116
127
|
the course page starts a new attempt with a fresh project, teacher and results; the
|
|
@@ -10,8 +10,13 @@ lesson's own caption. You then click it yourself.
|
|
|
10
10
|
- The rest of the screen dims slightly, and a ring with a gentle ripple sits on
|
|
11
11
|
one real tab, Dashboard section or button. A caption points at it; a thin bar
|
|
12
12
|
on the caption shows the time left.
|
|
13
|
+
- The caption sits beside the control when there is room (right, else left),
|
|
14
|
+
otherwise below or above it. It stays off the yellow lesson step bar whenever
|
|
15
|
+
another place fits, so the step text stays readable; on a narrow phone screen
|
|
16
|
+
it may have to cover part of the bar. The caption is slightly see-through and
|
|
17
|
+
clicks pass through it to whatever is underneath.
|
|
13
18
|
- The ring is on the next step from where you are. On **Preview**, a path to the
|
|
14
|
-
ERD rings the **
|
|
19
|
+
ERD rings the **Dash** (Dashboard) tab; once you are in **Dashboard → Database**, it
|
|
15
20
|
rings the **ERD** button. When you are already at the place (for example
|
|
16
21
|
Preview or **Dashboard → Files** is open), the ring goes around that open
|
|
17
22
|
pane, with the caption inside its top edge when the pane fills the screen.
|
|
@@ -29,7 +34,7 @@ section the project does not show cannot be ringed.
|
|
|
29
34
|
|
|
30
35
|
## On a phone
|
|
31
36
|
|
|
32
|
-
A phone shows the chat or one pane at a time, so the Preview/
|
|
37
|
+
A phone shows the chat or one pane at a time, so the Preview/Dash tabs and
|
|
33
38
|
the Dashboard menu are hidden. Colleague's full-screen chat minimises itself
|
|
34
39
|
first so the ring is visible. Then:
|
|
35
40
|
|
|
@@ -67,8 +72,9 @@ passes a lesson step. When a lesson asks you to find a place, click it yourself.
|
|
|
67
72
|
|
|
68
73
|
## Opening your lesson
|
|
69
74
|
|
|
70
|
-
Colleague can show your current lesson step in the Learn page's **Lesson**
|
|
75
|
+
Colleague can show your current lesson step in the Learn page's **Lesson** pane
|
|
76
|
+
(turning the **Lesson** toggle on),
|
|
71
77
|
and open the **Courses** catalogue or close it so you can see the app, without
|
|
72
78
|
ending the lesson. While the lesson is going, the **Step N/M** button in
|
|
73
|
-
Colleague's header shows the current step in the Lesson
|
|
79
|
+
Colleague's header shows the current step in the Lesson pane (on a phone,
|
|
74
80
|
Colleague's chat minimises so the step is visible).
|
|
@@ -24,14 +24,18 @@ each, and the one you see always follows the mode:
|
|
|
24
24
|
keep being followed while you are in Learn; their updates wait in Develop's
|
|
25
25
|
conversation until you return. **Start fresh** and **Previous conversations**
|
|
26
26
|
work within the conversation you are in.
|
|
27
|
-
- In Learn, Colleague does not create assignments
|
|
28
|
-
|
|
27
|
+
- In Learn, Colleague does not create assignments, and it watches only your
|
|
28
|
+
lesson's practice project: ask "tell me when the agent answers" or, where
|
|
29
|
+
your Vibe64 can watch it, "tell me when my app is live". The watch only
|
|
30
|
+
reports; the step's own check still decides the step, and the watch ends with
|
|
31
|
+
the lesson attempt (finish, restart or delete). In Develop it does not teach,
|
|
32
|
+
read lessons or your teacher notes.
|
|
29
33
|
|
|
30
34
|
## Colleague as your teacher
|
|
31
35
|
|
|
32
36
|
In Learn mode, **Courses** (on the lesson step bar, or in the project menu beside **L**) is the catalogue
|
|
33
37
|
where you choose and start lessons; your current lesson is read on the Learn
|
|
34
|
-
page itself, in its **Lesson**
|
|
38
|
+
page itself, in its **Lesson** sheet beside Colleague (the **Lesson** toggle) (see `learning-environment`).
|
|
35
39
|
You can read lessons yourself without AI. Choose **Teach me** on a lesson step,
|
|
36
40
|
or ask Colleague about your lesson, and Colleague teaches the current step.
|
|
37
41
|
**Teach me** opens Colleague beside the step and sends "Teach me this step.";
|
|
@@ -47,12 +51,12 @@ passes the step for you:
|
|
|
47
51
|
arrive in pages; Colleague reads every page before claiming a step's text is
|
|
48
52
|
missing.
|
|
49
53
|
- It points at, or with "show me" opens, the real Vibe64 places the step uses,
|
|
50
|
-
replays the step's diagram, can show your current step in the **Lesson**
|
|
54
|
+
replays the step's diagram, can show your current step in the **Lesson** sheet (turning the toggle on),
|
|
51
55
|
and can open **Courses** or close it so you see the app. Courses keeps its
|
|
52
56
|
place while closed.
|
|
53
57
|
- In Learn mode with a lesson in progress, Colleague's header shows a small
|
|
54
58
|
yellow **Step N/M** button (a check once the step passed). Pressing it shows
|
|
55
|
-
that step in the page's **Lesson**
|
|
59
|
+
that step in the page's **Lesson** sheet (see `learning-environment`); on a
|
|
56
60
|
phone Colleague's full-screen chat also minimises so the step is visible, and
|
|
57
61
|
its avatar button brings Colleague back. It appears on the desktop panel, the
|
|
58
62
|
phone's full-screen chat and during voice chat. Develop shows no step button.
|
|
@@ -66,7 +70,7 @@ passes the step for you:
|
|
|
66
70
|
On a phone, Colleague's full-screen chat minimises itself when it opens Courses,
|
|
67
71
|
shows a lesson step or rings a control, so you can see it; reopen Colleague with
|
|
68
72
|
its avatar button. **Teach me** on a phone opens Colleague's full-screen chat
|
|
69
|
-
over the Lesson
|
|
73
|
+
over the Lesson pane, which stays underneath.
|
|
70
74
|
|
|
71
75
|
## Colleague never judges
|
|
72
76
|
|
|
@@ -83,8 +87,8 @@ A step passes only through your own action in the lesson:
|
|
|
83
87
|
now**; a response check first needs your own press of the App's control in this
|
|
84
88
|
lesson's Preview.
|
|
85
89
|
- **Review check**: the step shows its rubric, what your finished work must
|
|
86
|
-
show. Only your own **Check my work** asks your own AI (your
|
|
87
|
-
**AI Accounts →
|
|
90
|
+
show. Only your own **Check my work** asks your own AI (your **Explain &
|
|
91
|
+
check** model in **AI Accounts → Models**) to review your practice work against it;
|
|
88
92
|
Colleague never runs a review for you. A review answers **Passed** (final) or
|
|
89
93
|
**Not yet** with a comment and a hint. While the coding agent is still
|
|
90
94
|
working it says "Wait until the agent finishes"; with nothing changed yet it
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
# Author a lesson and
|
|
1
|
+
# Author a lesson and save its source
|
|
2
2
|
|
|
3
3
|
Ask Colleague to coordinate a coding agent, review the lesson in the same session,
|
|
4
|
-
and
|
|
4
|
+
and save its source through the existing Save or pull-request workflow.
|
|
5
5
|
Colleague can operate those controls when requested; it does not edit files or
|
|
6
6
|
run a shell itself. Git publication, pinned course material and installation are
|
|
7
7
|
separate results. The current Getting started course has four step-based lessons
|
|
@@ -32,7 +32,7 @@ text needs a new immutable topic/course pin, keeping earlier learners’ version
|
|
|
32
32
|
|
|
33
33
|
For example: “In this lesson-authoring project and session, improve the introduction's
|
|
34
34
|
wording, keep its step IDs, checks and App/diagram contracts, validate and bundle it,
|
|
35
|
-
arrange a review, then
|
|
35
|
+
arrange a review, then save the source as a draft PR. Do not install or enable it.”
|
|
36
36
|
This is an example instruction, never authority to execute it without the person's
|
|
37
37
|
actual request. A how-to question makes no edits, assignment or external write.
|
|
38
38
|
|
|
@@ -58,21 +58,21 @@ it does not mean published or installed. A preview can be published as preview
|
|
|
58
58
|
source when requested. Pedagogical trial, real exercise and animation acceptance
|
|
59
59
|
remain explicit requirements before claiming a reviewed course release.
|
|
60
60
|
|
|
61
|
-
##
|
|
61
|
+
## Save through the native repository workflow
|
|
62
62
|
|
|
63
63
|
After coding settles, inspect **Changes** and the exact repository/branch
|
|
64
64
|
reported by the session. **Save** captures ALL current work, not selected files.
|
|
65
65
|
A managed Vibe64 Git Save updates its canonical project; a GitHub Save pushes to
|
|
66
66
|
the reviewed repository branch. Colleague can request native Save after an explicit
|
|
67
|
-
Save
|
|
67
|
+
Save instruction and passes its unchanged destination review. It
|
|
68
68
|
cannot bypass active-agent, stale-source, account or required-PR rules, or discard
|
|
69
|
-
unrelated work to make
|
|
69
|
+
unrelated work to make Save pass. An ambiguous target stays unresolved.
|
|
70
70
|
On mobile, reveal the project and use its Dashboard section chooser for Changes
|
|
71
71
|
or Pull requests. The same native Save/PR permissions and review apply.
|
|
72
72
|
|
|
73
73
|
For a required or requested PR workflow, Colleague can use the existing PR creation
|
|
74
74
|
operation with the reviewed destination and requested title/body; draft is the
|
|
75
|
-
default. PR creation saves and
|
|
75
|
+
default. PR creation saves and pushes the session's work. An already bound PR
|
|
76
76
|
is returned rather than silently edited. **Pull requests** shows actual remote
|
|
77
77
|
source/base commits, checks and review blockers. Marking a draft ready or merging
|
|
78
78
|
requires the person's corresponding instruction and the original fresh review;
|
|
@@ -80,10 +80,10 @@ creating a PR does not authorise merge. Use only a repository-enabled merge meth
|
|
|
80
80
|
covered by that instruction. Save, PR creation or merge never deploys Vibe64.
|
|
81
81
|
|
|
82
82
|
After success, report the actual saved destination or returned PR and current
|
|
83
|
-
remote status. A coding agent's “pushed” message is not
|
|
83
|
+
remote status. A coding agent's “pushed” message is not proof that Save pushed. After
|
|
84
84
|
an uncertain result, inspect the original operation/PR before a deliberate retry;
|
|
85
|
-
`published_needs_reconcile` means
|
|
86
|
-
still needs recovery. Do not
|
|
85
|
+
`published_needs_reconcile` means the push happened and local reconciliation
|
|
86
|
+
still needs recovery. Do not push again automatically. Existing **Update this
|
|
87
87
|
session (rebase)** and coding-agent conflict repair apply only when requested.
|
|
88
88
|
|
|
89
89
|
## Validate, bundle and pin
|
|
@@ -189,8 +189,8 @@ own snapshots, and for disabling a release.
|
|
|
189
189
|
In supported hosted installations, ask Colleague to admit your exact clean
|
|
190
190
|
committed snapshot from the authorized authoring session. Then open Learning with
|
|
191
191
|
**L**; on its **Courses** tab the **Author trial** card shows the snapshot's lesson
|
|
192
|
-
and release, and **Resume author trial** opens it in the ordinary lesson reader, the page's **Lesson**
|
|
193
|
-
enabled learner course. Ordinary **Start** still requires a published lesson in
|
|
192
|
+
and release, and **Resume author trial** opens it in the ordinary lesson reader, the page's **Lesson** sheet. This saved trial has isolated progress; it is not an
|
|
193
|
+
enabled learner course. Ordinary **Start lesson** still requires a published lesson in
|
|
194
194
|
an enabled release. Local validation/bundling alone admits no trial. Do not change
|
|
195
195
|
a draft's status to bypass that guard or report a trial as published progress.
|
|
196
196
|
|
|
@@ -198,7 +198,7 @@ Internal snapshot acquisition also retains the authoring session's normal
|
|
|
198
198
|
source protections: AI work, pending review or cleanup, and Workspace setup
|
|
199
199
|
must finish before its committed content can be captured. A closing, renewing
|
|
200
200
|
or unavailable source is refused. The saved trial control captures no source,
|
|
201
|
-
automatically stops no work and does not
|
|
201
|
+
automatically stops no work and does not save or push the source.
|
|
202
202
|
|
|
203
203
|
A workspace operator can now provision approved local lesson content through the
|
|
204
204
|
terminal commands documented in [Local operator provisioning](../training-content.md#local-operator-provisioning).
|
|
@@ -1,31 +1,44 @@
|
|
|
1
1
|
# The lesson step bar
|
|
2
2
|
|
|
3
3
|
The yellow lesson step bar above the project page plays the current lesson
|
|
4
|
-
step: its position, beats, **
|
|
4
|
+
step: its position, beats, **Back** and **Next**, and **Courses**. The rest of
|
|
5
5
|
Learn mode is in [The Learning environment](learning-environment.md).
|
|
6
6
|
|
|
7
7
|
In Learn mode, while your lesson is loaded, a yellow bar above the project page
|
|
8
|
-
names the lesson and shows **Step N of M**
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
**
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
8
|
+
names the lesson and shows **Step N of M** (this step's number among all the
|
|
9
|
+
lesson's steps) with the step's title and status.
|
|
10
|
+
|
|
11
|
+
**Moving through the lesson.** One labelled pair of buttons, with the same
|
|
12
|
+
names for screen readers and the keyboard:
|
|
13
|
+
|
|
14
|
+
- **Back** goes back one part of this step, or into the previous step from its
|
|
15
|
+
first part. It is greyed out at the very start of the lesson.
|
|
16
|
+
- The forward button says exactly what it does: **Next** while this step has
|
|
17
|
+
more parts, **Next step** on its last part (and on a step without parts),
|
|
18
|
+
and **Finish** on the last step once every required step is done (it shows
|
|
19
|
+
the **Lesson finished** screen). On the last step before that there is no
|
|
20
|
+
forward button. There is no second **Next step** button.
|
|
21
|
+
|
|
22
|
+
On a practice project the **Lesson** toggle is in the header beside **Preview**
|
|
23
|
+
| **Dash** (see [The Lesson pane](learning-environment.md#the-lesson-pane)); on
|
|
24
|
+
Management and other screens outside any project it is on the bar, between
|
|
25
|
+
the forward button and **Courses**. Press it to show the lesson (it turns
|
|
26
|
+
yellow with its switch on); press it again to hide it. On a lesson without a
|
|
27
|
+
practice project the lesson is already the whole page, so there is no toggle.
|
|
28
|
+
|
|
29
|
+
Away from the lesson's practice project (for example on Management), the bar
|
|
30
|
+
also offers **Open practice project**, which goes back to that project's
|
|
31
|
+
editor. **Courses**, at its right end (a book icon on a phone), opens the
|
|
32
|
+
Courses overlay to choose another lesson. The bar is always shown in full; it
|
|
33
|
+
cannot be collapsed or hidden. On a phone the lesson name is hidden.
|
|
22
34
|
|
|
23
35
|
### Steps with beats
|
|
24
36
|
|
|
25
37
|
Some steps walk you through the real page from the bar itself, one short line
|
|
26
38
|
(a *beat*) at a time, while the lesson stays where it is. The bar then shows
|
|
27
|
-
the lesson name, **N
|
|
28
|
-
current one
|
|
39
|
+
the lesson name, **Step N of M** and a dot per beat, the parts of this step
|
|
40
|
+
(the filled dot is the current one; hovering the dots says, for example,
|
|
41
|
+
**This step: part 2 of 4**), then the beat's line:
|
|
29
42
|
|
|
30
43
|
- A *show* line rings the place it names (for example the **Preview** tab or the
|
|
31
44
|
coding chat) and moves on by itself after a few seconds; a thin line under
|
|
@@ -50,8 +63,8 @@ current one), then the beat's line:
|
|
|
50
63
|
it opens the place (or the file), reveals and focuses the coding chat, opens
|
|
51
64
|
Courses or Colleague (without asking it anything), reloads the Preview, or
|
|
52
65
|
sends the line's quoted prompt as your next message in the practice
|
|
53
|
-
project's Main chat
|
|
54
|
-
it. On a **Save** line it only points at **Save**: saving stays yours. On a
|
|
66
|
+
project's Main chat (for a team member, on the team AI, with no owner
|
|
67
|
+
approval). That message shows a **Sent by the lesson** chip under it. On a **Save** line it only points at **Save**: saving stays yours. On a
|
|
55
68
|
line about waiting for the agent, pressing the App's button, minimising
|
|
56
69
|
Colleague or pressing **L** there is no Do it for me (for **L** it shows
|
|
57
70
|
where the button is). If it cannot be done here (for example the chat cannot take a
|
|
@@ -62,25 +75,25 @@ current one), then the beat's line:
|
|
|
62
75
|
**Set up your AI**; see `learning-mode-ui`.
|
|
63
76
|
- On a step you would finish with **Done**, doing every *do* line of it marks
|
|
64
77
|
the step done by itself.
|
|
65
|
-
- **Back** and **Next**
|
|
66
|
-
step
|
|
78
|
+
- **Back** and **Next** move one beat; on the step's last beat the forward
|
|
79
|
+
button reads **Next step** and goes into the next step.
|
|
67
80
|
- After the last beat the bar shows the step's own control: **Done**, **Mark as
|
|
68
81
|
done**, **Check my work** (an automatic check, or a review; a check that does
|
|
69
|
-
not pass says why under the line) or **Answer in
|
|
70
|
-
step
|
|
82
|
+
not pass says why under the line) or **Answer in Lesson** for a question, which shows the
|
|
83
|
+
step in the Lesson pane, beside a quieter **Next step**. **I'm stuck**
|
|
71
84
|
(on a *do* line, and after the last beat of a step that **Check my work**
|
|
72
|
-
decides, until the step passes; also in
|
|
85
|
+
decides, until the step passes; also in the Lesson pane beside **Teach me**) opens
|
|
73
86
|
Colleague and asks it for help with this step (see `learning-with-colleague`).
|
|
74
87
|
On a phone a *do* line keeps only **Do it for me** on the bar; **I'm stuck**
|
|
75
|
-
is then in
|
|
88
|
+
is then in the Lesson pane.
|
|
76
89
|
A step never moves on by itself.
|
|
77
|
-
- **Show me** on such a step (in the
|
|
90
|
+
- **Show me** on such a step (in the Lesson pane) plays its
|
|
78
91
|
beats again from the first one.
|
|
79
92
|
|
|
80
93
|
**Check my work on a reviewed step.** Some steps are checked by a review of
|
|
81
|
-
your work: the bar's line (and the step
|
|
82
|
-
looks for. **Check my work** uses your own AI (the
|
|
83
|
-
Accounts →
|
|
94
|
+
your work: the bar's line (and the step in the Lesson pane) shows what the review
|
|
95
|
+
looks for. **Check my work** uses your own AI (the **Explain & check** model in
|
|
96
|
+
AI Accounts → Models) to look at the changes in your practice project
|
|
84
97
|
(and, when the step says so, your coding chat); the line says **Checking your
|
|
85
98
|
work with your AI…** for up to about a minute, without a Cancel. **Passed ✓**
|
|
86
99
|
with the reviewer's comment passes the step for good. **Not yet:** says what
|
|
@@ -92,7 +105,8 @@ why, nothing is recorded, and you can press **Check again**. Colleague never
|
|
|
92
105
|
runs a review or passes a step for you.
|
|
93
106
|
|
|
94
107
|
This tab remembers the beat and the pause; another tab or device starts the
|
|
95
|
-
step at its first beat. On a phone the bar has
|
|
96
|
-
the
|
|
97
|
-
|
|
98
|
-
|
|
108
|
+
step at its first beat. On a phone the bar has three tidy rows: the position
|
|
109
|
+
with the icon buttons (**Courses**, **Open practice project** and, off a
|
|
110
|
+
project, **Lesson**), then the beat's line and its one button, then **Back**
|
|
111
|
+
at the left and the forward button at the right. A step without beats shows
|
|
112
|
+
its title and status as before, and **Show me** when it can point at a place.
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
# Main chat messages that wait for the owner's approval
|
|
2
|
+
|
|
3
|
+
A project's Main chat always runs on the workspace owner's AI. When a team
|
|
4
|
+
member writes in Main chat, the message does not reach the assistant straight
|
|
5
|
+
away: it waits in **Messages for approval** until the owner approves, edits or
|
|
6
|
+
declines it. The owner's own messages are sent as usual and never wait.
|
|
7
|
+
|
|
8
|
+
Temporary chats, Colleague and the other assistants a member uses run on that
|
|
9
|
+
member's own team setup; only Main chat waits for approval.
|
|
10
|
+
|
|
11
|
+
A team member's own lesson is the exception. A practice project is private to
|
|
12
|
+
its learner, so its Main chat runs on the team setup and the member's messages
|
|
13
|
+
(and the lesson's **Do it for me** prompts) are sent straight away, with no
|
|
14
|
+
approval. The composer then reads "Message your lesson's AI — *model* (team
|
|
15
|
+
AI)". See **Lessons** in [Team AI access](team-ai-access.md). The owner's own
|
|
16
|
+
lessons are unchanged. Messages sent by
|
|
17
|
+
another session (project messages) are not person requests and never wait.
|
|
18
|
+
|
|
19
|
+
## Send a message as a team member
|
|
20
|
+
|
|
21
|
+
1. Open the project's coding session. Main chat shows the hint
|
|
22
|
+
"Main chat runs on {owner}'s AI. {owner} approves each message." and the
|
|
23
|
+
placeholder "Message main chat — {owner} approves before it's sent".
|
|
24
|
+
2. Type the message and choose **Send for approval**. The button keeps that
|
|
25
|
+
label while the assistant is working; members have no separate Steer button.
|
|
26
|
+
3. A card appears directly above the composer: **You** with the time, the line
|
|
27
|
+
"Waiting for {owner} to approve", the message and a **Waiting** chip.
|
|
28
|
+
|
|
29
|
+
Messages for approval are text only: the member composer has no attachment
|
|
30
|
+
button. A request that carries attachments is refused with "Messages for
|
|
31
|
+
approval are text only. Remove the attachments and send again."
|
|
32
|
+
|
|
33
|
+
You can have up to 5 messages waiting in one session. A sixth is refused with
|
|
34
|
+
"You have 5 messages waiting. Wait for {owner} to review them, or withdraw one."
|
|
35
|
+
|
|
36
|
+
If the assistant was working when you sent the message, the card adds: "Sent
|
|
37
|
+
while the assistant was working. It joins the current turn if it's still running
|
|
38
|
+
when {owner} approves." Otherwise the approved message starts a new request.
|
|
39
|
+
|
|
40
|
+
### Change or withdraw a waiting message
|
|
41
|
+
|
|
42
|
+
- **Edit** replaces the text with a box. Change it and choose **Save**, or
|
|
43
|
+
**Cancel** to keep the original. An empty text is refused with "Write a
|
|
44
|
+
message, or withdraw it."
|
|
45
|
+
- **Withdraw** removes the message from the queue. It stays as the one-line row
|
|
46
|
+
"Withdrawn by you".
|
|
47
|
+
|
|
48
|
+
Only the sender can edit or withdraw, and only while the message is waiting.
|
|
49
|
+
If the owner has already decided, the change fails with "This message was
|
|
50
|
+
already sent." (or declined or withdrawn); if it is being sent, with "This
|
|
51
|
+
message is being sent."
|
|
52
|
+
|
|
53
|
+
### What you see after the owner decides
|
|
54
|
+
|
|
55
|
+
While the chat is open you get a snackbar: "{owner} approved and sent your
|
|
56
|
+
message" or "{owner} declined your message". The card becomes a one-line row:
|
|
57
|
+
|
|
58
|
+
- **Sent by {owner} · time**, with "· Edited by {owner}" when the owner changed
|
|
59
|
+
the text first, and **Show in chat**, which scrolls the conversation to the
|
|
60
|
+
delivered message.
|
|
61
|
+
- **Declined by {owner} · time**, with the owner's note quoted underneath when
|
|
62
|
+
they wrote one.
|
|
63
|
+
|
|
64
|
+
Under each row is the start of the message on one line. On a declined or
|
|
65
|
+
withdrawn row, select it to show the whole text, to copy, rework and send it
|
|
66
|
+
again.
|
|
67
|
+
|
|
68
|
+
The delivered message appears in Main chat as an ordinary user message with the
|
|
69
|
+
line "{sender} · approved by {owner}" under its text. The assistant's reply is
|
|
70
|
+
visible to everyone with access to the project.
|
|
71
|
+
|
|
72
|
+
Decided rows stay for 24 hours; at most three show at once and the rest are
|
|
73
|
+
behind **Show earlier (n)**.
|
|
74
|
+
|
|
75
|
+
## Review messages as the owner
|
|
76
|
+
|
|
77
|
+
New messages announce themselves in several places:
|
|
78
|
+
|
|
79
|
+
- In any open tab where you have that project's Main chat open, a snackbar
|
|
80
|
+
"{sender} sent a message for your approval in {project}" with **Review**,
|
|
81
|
+
which selects the session and scrolls to the waiting messages.
|
|
82
|
+
- A **{n} waiting** chip in the Main chat header; choose it to reveal the queue.
|
|
83
|
+
- The browser tab title starts with "({n}) " while any messages wait.
|
|
84
|
+
- Project lists that support it show a **{n} waiting** badge on the project.
|
|
85
|
+
|
|
86
|
+
Each waiting card shows "{sender} wants to send · time", the message and these
|
|
87
|
+
actions:
|
|
88
|
+
|
|
89
|
+
- **Approve & send** sends the message unchanged.
|
|
90
|
+
- **Edit then send** opens a box with the message. Change it and choose **Send**,
|
|
91
|
+
or **Cancel**. The sender sees "Edited by {owner}" on the Sent row.
|
|
92
|
+
- **Decline** opens "Add a note for {sender} (optional)", up to 500 characters.
|
|
93
|
+
Choose **Decline** to confirm, or **Cancel**.
|
|
94
|
+
|
|
95
|
+
While your approval is being delivered the chip reads **Sending…** and the
|
|
96
|
+
buttons are disabled. The owner cannot edit or withdraw a member's message other than by
|
|
97
|
+
approving it with edited text.
|
|
98
|
+
|
|
99
|
+
### How an approved message is delivered
|
|
100
|
+
|
|
101
|
+
Approving sends the message exactly as if you had sent it yourself, on your AI:
|
|
102
|
+
|
|
103
|
+
- No turn running: it starts a new request (in Auto, the Router classifies it).
|
|
104
|
+
- A turn is running that accepts guidance (including Auto working or an active
|
|
105
|
+
goal): it joins that turn as guidance.
|
|
106
|
+
- A turn is running that cannot take guidance, a delivery is uncertain, or
|
|
107
|
+
recovery is in progress: the send fails, the message goes back to **Waiting**
|
|
108
|
+
and the card shows "Couldn't send: {error} Try again." Choose
|
|
109
|
+
**Approve & send** again when the turn finishes.
|
|
110
|
+
|
|
111
|
+
If a page reload interrupts a send, the card may stay on **Sending…** with
|
|
112
|
+
**Send again**. Sending again reuses the same delivery, so the message is never
|
|
113
|
+
delivered twice. Its text can't be edited while it is sending; an edited text
|
|
114
|
+
is always a new delivery.
|
|
115
|
+
|
|
116
|
+
If the sender edited the message after you opened it, your action fails with
|
|
117
|
+
"{sender} changed this message. Review it again." Read the new text and decide
|
|
118
|
+
again.
|
|
119
|
+
|
|
120
|
+
## Other team members
|
|
121
|
+
|
|
122
|
+
Members who did not send a message see the same cards, headed "{sender}", with
|
|
123
|
+
"Waiting for {owner} to approve" and no actions.
|
|
124
|
+
|
|
125
|
+
## Phone
|
|
126
|
+
|
|
127
|
+
On a phone the queue collapses to a bar above the composer, "{n} messages
|
|
128
|
+
waiting for approval" (or "Messages for approval" when only decided rows
|
|
129
|
+
remain). Tap it to open the **Messages for approval** sheet with the same cards;
|
|
130
|
+
buttons stack full width and Edit or Decline open inside the sheet. Close the
|
|
131
|
+
sheet with its close button or by tapping outside it.
|
|
132
|
+
|
|
133
|
+
## What Colleague can do
|
|
134
|
+
|
|
135
|
+
Colleague can explain all of this. When a team member asks Colleague to send a
|
|
136
|
+
message to Main chat, it goes through the same queue and waits for the owner;
|
|
137
|
+
Colleague must say so rather than claim it was delivered. In the member's own
|
|
138
|
+
lesson there is no queue: the message is sent to the lesson's team AI. Approving, editing,
|
|
139
|
+
declining and withdrawing are human-only: Colleague cannot do them, so it should
|
|
140
|
+
point the person to the buttons above.
|
|
141
|
+
|
|
142
|
+
## Errors
|
|
143
|
+
|
|
144
|
+
| Message | Meaning |
|
|
145
|
+
|---|---|
|
|
146
|
+
| Only the workspace owner can approve messages. | A member tried to approve or decline. |
|
|
147
|
+
| Only {sender} can change this message. | Someone else tried to edit or withdraw it. |
|
|
148
|
+
| {sender} changed this message. Review it again. | The text changed since you looked. |
|
|
149
|
+
| This message was already sent. / declined. / withdrawn. | It has been decided. |
|
|
150
|
+
| This message is being sent. | Delivery is in progress; wait for it. |
|
|
@@ -49,7 +49,11 @@ matching managed runtime. A version error is a test-runtime blocker; interactive
|
|
|
49
49
|
checks can use the existing managed Preview browser. Report the exact required
|
|
50
50
|
version to the platform operator instead of installing a separate browser.
|
|
51
51
|
On a computer without managed browser runtimes, the agent runs the project's own
|
|
52
|
-
Playwright (`npx playwright test`).
|
|
52
|
+
Playwright (`npx playwright test`). Interactive Preview checks (screenshot, eval)
|
|
53
|
+
use the project's own Playwright, or else the `playwright` command installed on
|
|
54
|
+
this computer, so a project in another language needs no Playwright package. If
|
|
55
|
+
neither exists, the agent asks you to install Playwright on the computer rather
|
|
56
|
+
than adding it to a non-Node.js project. If that browser is missing, the agent reports
|
|
53
57
|
it and asks you before running `npx playwright install chromium`; installing it
|
|
54
58
|
is your decision.
|
|
55
59
|
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
This continues [Previewing a web application](preview.md).
|
|
4
4
|
|
|
5
5
|
In an empty project's **Preview**, choose **Use this starter** on the desired
|
|
6
|
-
Basic,
|
|
6
|
+
starter, such as Basic app, App with no users, but a database, or App with users. On mobile, open **Show project** first. Import
|
|
7
7
|
adds source to this session; review it and use **Save** to keep it in the project.
|
|
8
8
|
Setup and running the app are separate operations.
|
|
9
9
|
|
|
@@ -19,6 +19,15 @@ apply one. After you choose a starter and accept its offer or directly request
|
|
|
19
19
|
it, Colleague can use the existing onboarding action and recheck the result.
|
|
20
20
|
A successful import does not mean dependencies are prepared or Preview is running.
|
|
21
21
|
|
|
22
|
+
When a starter needs a resource such as its database, Preview waits for it and
|
|
23
|
+
says so instead of starting. Where the host supplies that resource (hosted
|
|
24
|
+
Vibe64's managed databases), Preview says "Vibe64 is still setting up this
|
|
25
|
+
app's database" until workspace setup finishes; press **Check again** then.
|
|
26
|
+
Where you supply it, Preview names the variables to set, for example "set
|
|
27
|
+
DB_DATABASE in Env (in Dash, under Development)": open **Dash → Env**, choose
|
|
28
|
+
**Development**, add the value (see [Development Env](development-env.md)) and
|
|
29
|
+
press **Check again**.
|
|
30
|
+
|
|
22
31
|
For recurring **Preview could not load an application resource** errors, enable
|
|
23
32
|
Preview diagnostics in the affected Studio browser before reproducing: add
|
|
24
33
|
`vibe64_preview_debug=1` to the page URL, or set
|
|
@@ -20,7 +20,16 @@ onboarding does not offer PostgreSQL variants yet (for example
|
|
|
20
20
|
`django-postgresql`); it offers the MySQL or SQLite variant instead.
|
|
21
21
|
|
|
22
22
|
If **Preparing workspace** fails, expand its output, correct the reported cause
|
|
23
|
-
and choose **Retry**.
|
|
23
|
+
and choose **Retry**. On your own computer, the panel also lists the tools that
|
|
24
|
+
step uses: each one that runs shows its version and where it was found; one that
|
|
25
|
+
is missing or didn't start shows one sentence, the install command for this
|
|
26
|
+
computer with a copy button, **Check again** and **Other ways**. Language
|
|
27
|
+
runtimes install with mise (`mise use -g ruby@3.4`, `mise use -g python@3.13`,
|
|
28
|
+
`mise use -g java@temurin-25`), which needs no administrator password; build
|
|
29
|
+
tools and libraries for native packages (`cpp`) use `sudo apt install …` on
|
|
30
|
+
Debian/Ubuntu or `brew install …` on macOS. **Other ways** opens the setup
|
|
31
|
+
guide for this computer ([Linux](set-up-linux.md), including Fedora and Arch,
|
|
32
|
+
or [macOS](set-up-macos.md)), which also explains adding mise to your shell. Coming back to the tab checks again. If Preview cannot start, use **Show run output**. On mobile,
|
|
24
33
|
open **Show project** first. A missing runtime needs installation by the host
|
|
25
34
|
administrator; changing the declaration to `shell` does not supply the missing
|
|
26
35
|
tool. Standalone users install/configure the missing tool in their own environment
|
|
@@ -31,6 +40,11 @@ interpreter installed does not prove that the project consumes the selected
|
|
|
31
40
|
library: the project's declared verification must demonstrate that. Normal
|
|
32
41
|
release inputs and unrelated sessions keep their own source selection.
|
|
33
42
|
|
|
43
|
+
When a runtime is missing, the coding agent stops and says which one, pointing
|
|
44
|
+
to the tool row's command. It never runs `sudo` and never installs a runtime into
|
|
45
|
+
the project folder (for example with `mise use` without `-g`).
|
|
46
|
+
|
|
34
47
|
Colleague can explain preparation errors and offer its supported status/retry
|
|
35
|
-
actions.
|
|
48
|
+
actions. On your own computer it can also check whether a named tool runs now,
|
|
49
|
+
for example after you ran an install command. These instructions do not give it shell access or permission to install
|
|
36
50
|
host software. The coding agent can repair project commands after being asked.
|
|
@@ -19,7 +19,7 @@ Gradle, NuGet (.NET) or custom; it is independent of the relationship.
|
|
|
19
19
|
Custom requires a Preparation script path relative to this project, with its
|
|
20
20
|
runtime declared in Stack. Every other type disables and clears the script; the
|
|
21
21
|
project's own declared Verify command, not Vibe64, treats that source.
|
|
22
|
-
Use **Save connected projects** for the list; ordinary project Save
|
|
22
|
+
Use **Save connected projects** for the list; ordinary project Save pushes
|
|
23
23
|
that source edit. See **Configure connected projects** for access and recovery.
|
|
24
24
|
|
|
25
25
|
Hosted repository settings can also specify whether GitHub Save permits direct
|
|
@@ -34,8 +34,9 @@ which should be the default. Supply an email, login or user ID, not a password.
|
|
|
34
34
|
The agent should reuse answers you already gave and wait for your choices.
|
|
35
35
|
Choosing a name such as “admin” does not grant that account administrator rights.
|
|
36
36
|
|
|
37
|
-
|
|
38
|
-
|
|
37
|
+
An application with login accounts gets a Preview identity adapter by
|
|
38
|
+
default: when it is missing, the coding agent sets it up as part of the work
|
|
39
|
+
rather than asking first. It can also save the named accounts you give or confirm
|
|
39
40
|
(for example `admin` and `user` with their emails) and then verify each in Preview;
|
|
40
41
|
it never creates accounts or changes roles for this. To configure them yourself,
|
|
41
42
|
open **Dashboard > App access** and use **Managed app access > Add identity**. Enter **Name**, **App identifier**
|
|
@@ -55,15 +56,24 @@ work. Public applications and non-web projects do not need preview accounts.
|
|
|
55
56
|
## New project
|
|
56
57
|
|
|
57
58
|
1. Open the project and create or select its coding session. At **What would you
|
|
58
|
-
like to build with?**, review the available starter cards
|
|
59
|
-
|
|
60
|
-
**JSKIT ·
|
|
61
|
-
|
|
59
|
+
like to build with?**, review the available starter cards, grouped by
|
|
60
|
+
technology. The official catalogue lists JSKIT first: **JSKIT · Basic app**
|
|
61
|
+
(no accounts or database), **JSKIT · App with no users, but a database** (MySQL) and
|
|
62
|
+
**JSKIT · App with users** (sign-up, login and MySQL). Then one **Basic app**
|
|
63
|
+
each for Django, Rails, Spring Boot, Express and Next.js: a small notes form
|
|
64
|
+
saved to SQLite (MySQL/MariaDB for Spring Boot), with ready tests. Only the
|
|
65
|
+
Rails starter has sign-in, with a seeded development account
|
|
66
|
+
(`developer@example.com` / `developer`); for the others, ask the agent to add
|
|
67
|
+
accounts. Available starters depend on the installation; do not assume an
|
|
68
|
+
absent card exists.
|
|
62
69
|
2. Choose **Use this starter →** on the intended card only when it matches the
|
|
63
70
|
product you want. Preparation adds it to this session; use the session's
|
|
64
71
|
**Save** control to keep the work in the project. A failed application reports
|
|
65
72
|
its error and preserves existing work.
|
|
66
|
-
3.
|
|
73
|
+
3. You can also describe the app directly in the session's main chat. In an
|
|
74
|
+
empty folder that was never set up, the coding agent first initializes Genesis,
|
|
75
|
+
then proposes a Blueprint and the matching Stack components for your answer.
|
|
76
|
+
4. Alternatively, choose **Start through conversation** to open Temporary AI for
|
|
67
77
|
project creation. Discuss what you want, who uses it and its first useful
|
|
68
78
|
outcome before choosing technology. If no starters are configured, this
|
|
69
79
|
conversation route is still offered when a coding assistant is available.
|