vibe64 0.1.39 → 0.1.41
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/run.js +1955 -1855
- package/bin/server.js +136 -112
- package/bin/upgrade-state.js +5514 -5343
- package/dist/assets/GithubBrowserTabs-YvIe2BdE.js +1 -0
- package/dist/assets/LocalDatabaseServer-BWAvRlUl.css +1 -0
- package/dist/assets/LocalDatabaseServer-CVsGChHh.js +2 -0
- package/dist/assets/StudioErrorNotice-C_jbvp9V.js +1 -0
- package/dist/assets/VAlert-gwuhYlYb.js +1 -0
- package/dist/assets/VAutocomplete-D7Vk5wq_.js +1 -0
- package/dist/assets/VAvatar-DvRBcmqv.js +1 -0
- package/dist/assets/VBtn-BhVEwXLX.js +1 -0
- package/dist/assets/VCard-C3Hx769y.js +1 -0
- package/dist/assets/VCheckbox-DyCGSN0H.js +1 -0
- package/dist/assets/VCheckboxBtn-DCyuVH7W.css +1 -0
- package/dist/assets/VCheckboxBtn-DYcQU2Pn.js +1 -0
- package/dist/assets/VChip-VVdtjfq-.js +1 -0
- package/dist/assets/VDialog-CQDhjRiV.js +1 -0
- package/dist/assets/VDivider-Dq25WsKu.js +1 -0
- package/dist/assets/VExpansionPanels-C1y-myl5.js +1 -0
- package/dist/assets/VMenu-CDcBLYWR.js +1 -0
- package/dist/assets/VOverlay-Cp4rFk6g.js +1 -0
- package/dist/assets/VRadioGroup-CAjNZwF7.js +1 -0
- package/dist/assets/VRow-BskP28jR.js +1 -0
- package/dist/assets/VSelect-D3oLvCcB.js +2 -0
- package/dist/assets/VSheet-DxYEFfnM.js +1 -0
- package/dist/assets/VSkeletonLoader-Cync3lZZ.js +1 -0
- package/dist/assets/VSpacer-CgWOWvBh.js +1 -0
- package/dist/assets/VSwitch-BxGuGypi.js +1 -0
- package/dist/assets/VTextField-C0b_0cSa.js +1 -0
- package/dist/assets/VTextField-F6unyhrS.css +1 -0
- package/dist/assets/VTextarea-B7sZd1JY.js +1 -0
- package/dist/assets/{Vibe64AsyncModuleState-Do9EqX3S.js → Vibe64AsyncModuleState-syuPcpGx.js} +1 -1
- package/dist/assets/{Vibe64AuthSettingsButton-M44SSmZ9.css → Vibe64AuthSettingsButton-D2lltUhi.css} +1 -1
- package/dist/assets/Vibe64AuthSettingsButton-DLdfT68V.js +5 -0
- package/dist/assets/Vibe64CopyCommand-CYiZcy0d.js +1 -0
- package/dist/assets/Vibe64CopyCommand-ClbQLYZi.css +1 -0
- package/dist/assets/{Vibe64DashboardBackButton-BH_8j_VR.js → Vibe64DashboardBackButton-Go_MJuIK.js} +1 -1
- package/dist/assets/{Vibe64DashboardPageHeader-BXQR00HK.js → Vibe64DashboardPageHeader-BMrdRph6.js} +1 -1
- package/dist/assets/Vibe64DashboardPageHeader-CdlzsyKQ.css +1 -0
- package/dist/assets/Vibe64DashboardShell-DMPz6fIx.js +1 -0
- package/dist/assets/{Vibe64DatabaseWorkspace-CEml9BWn.js → Vibe64DatabaseWorkspace-BCEIOlSg.js} +3 -3
- package/dist/assets/{Vibe64DatabaseWorkspace-DPDMxhAW.css → Vibe64DatabaseWorkspace-DePBDUMy.css} +1 -1
- package/dist/assets/{Vibe64OutputControls-Co5YzwcK.css → Vibe64OutputControls-CeBzZPUT.css} +1 -1
- package/dist/assets/Vibe64OutputControls-DMoqL0VD.js +8 -0
- package/dist/assets/{Vibe64RepositoryWorkspace-obZFXkoG.js → Vibe64RepositoryWorkspace-BdwRwbxp.js} +2 -2
- package/dist/assets/{Vibe64RepositoryWorkspace-Agyt4O-V.css → Vibe64RepositoryWorkspace-Bw9W691N.css} +1 -1
- package/dist/assets/{Vibe64SessionFiles-CQzs6fee.js → Vibe64SessionFiles-ChJWUOqm.js} +4 -4
- package/dist/assets/Vibe64SessionFiles-DsPb8hOe.css +1 -0
- package/dist/assets/{Vibe64TemporaryAiFixAction-BiuIE9mC.js → Vibe64TemporaryAiFixAction-CIePbdW8.js} +1 -1
- package/dist/assets/{Vibe64UiStoryboardView-BhKRpL0N.js → Vibe64UiStoryboardView-Bp9STItF.js} +1 -1
- package/dist/assets/{Vibe64UnavailableSessions-Ca5nC7KH.js → Vibe64UnavailableSessions-JBgHzM-j.js} +1 -1
- package/dist/assets/{_sessionId_-CKkGH3Rx.js → _sessionId_-Bw0KfJeR.js} +1 -1
- package/dist/assets/{_sessionTool_-1V-z6Pbp.js → _sessionTool_-BV1AwpUx.js} +1 -1
- package/dist/assets/_slug_-CAmuBm-M.css +1 -0
- package/dist/assets/_slug_-q9prK_gX.js +25 -0
- package/dist/assets/{access-WlhPvPgy.js → access-C05Nkq6r.js} +1 -1
- package/dist/assets/app-D1CGY9Xm.js +1 -0
- package/dist/assets/assistantRouting-DeE8jvtE.js +3 -0
- package/dist/assets/{changes-CHJjrZAc.js → changes-D17XpgGz.js} +1 -1
- package/dist/assets/client-BxGiylrJ.js +2 -0
- package/dist/assets/client-C8jwAMY9.css +1 -0
- package/dist/assets/{conversation-B90ERX9h.js → conversation-DZW4-Wck.js} +2 -2
- package/dist/assets/{conversation-vxJGwmtW.css → conversation-TK6EmDk4.css} +1 -1
- package/dist/assets/{createSimpleFunctional-CZTGuNuR.js → createSimpleFunctional-zlXZooQW.js} +1 -1
- package/dist/assets/{dashboard-CuutW8iv.js → dashboard-BXXgeQ0Q.js} +1 -1
- package/dist/assets/definitions-SNvFDEFS.js +1 -0
- package/dist/assets/dialog-transition-D2vqGksQ.js +1 -0
- package/dist/assets/env-B5V1EC4M.css +1 -0
- package/dist/assets/env-sXAQqKWk.js +1 -0
- package/dist/assets/health-92hh8xXh.css +1 -0
- package/dist/assets/health-Cr34pf2p.js +1 -0
- package/dist/assets/{history-1_NU8azF.js → history-N1iRZaab.js} +1 -1
- package/dist/assets/incoming-Bdqo8z25.css +1 -0
- package/dist/assets/incoming-CNwZa_yD.js +2 -0
- package/dist/assets/{index-irlMYzLh.css → index-B17d4wpZ.css} +1 -1
- package/dist/assets/index-Mxalhei8.js +138 -0
- package/dist/assets/{integrations-BMzWQQpa.js → integrations-BmwFvHgZ.js} +10 -10
- package/dist/assets/integrations-Co8WvCiD.css +1 -0
- package/dist/assets/issues-BbiG7dCV.js +1 -0
- package/dist/assets/layout-B2Ap07aa.js +1 -0
- package/dist/assets/{lazy-NHSwD9FS.js → lazy-BjyT2XvW.js} +1 -1
- package/dist/assets/{learning-Bdi3XRS7.js → learning-CUCuuoHM.js} +1 -1
- package/dist/assets/mdi-Bt90Ns76.js +1 -0
- package/dist/assets/placement-CQy46H3H.js +1 -0
- package/dist/assets/publish-4r_4K5IY.js +3 -0
- package/dist/assets/publish-BFTsAMCF.css +1 -0
- package/dist/assets/pull-requests-BjwokcU0.css +1 -0
- package/dist/assets/pull-requests-DY9jg3cE.js +1 -0
- package/dist/assets/{repository-BL_2bgzC.js → repository-DhXdoMP6.js} +1 -1
- package/dist/assets/ripple-EFNA8EBu.js +11 -0
- package/dist/assets/rolldown-runtime-DBalRfVu.js +1 -0
- package/dist/assets/{session-BdhKrcX4.js → session-BGpiZThC.js} +1 -1
- package/dist/assets/{settings-1rpuL7eR.js → settings-Cj4u-76p.js} +1 -1
- package/dist/assets/settings-D8x4KUqV.css +1 -0
- package/dist/assets/shared-DZETtWRH.js +2 -0
- package/dist/assets/studioGateApi-BXHVBVEc.js +1 -0
- package/dist/assets/studioUrls-DpSS-0z1.js +1 -0
- package/dist/assets/useArchivedVibe64Sessions-BXNg8oES.js +1 -0
- package/dist/assets/useCommand-nWFczmJy.js +1 -0
- package/dist/assets/useEndpointResource-Ds8EDBZ2.js +1 -0
- package/dist/assets/useRealtimeEvent-DrOiU8lJ.js +1 -0
- package/dist/assets/{useUiFeedback-BPBF_0bp.js → useUiFeedback-CMwE4MLs.js} +1 -1
- package/dist/assets/useVibe64ConversationLog-C1xjhFtS.js +1 -0
- package/dist/assets/{useVibe64DatabaseTools-4o6S8eXq.js → useVibe64DatabaseTools-H6H-YJQX.js} +1 -1
- package/dist/assets/useVibe64ProjectScope-B5ogg6jd.js +1 -0
- package/dist/assets/useVibe64SessionData-CnDOFFHb.js +1 -0
- package/dist/assets/{useVibe64SessionSelection-BzL1y_Vq.js → useVibe64SessionSelection-J87nJ9p5.js} +1 -1
- package/dist/assets/{useVibe64SystemGraph-B4RmsC9Y.js → useVibe64SystemGraph-DbSfrYF8.js} +1 -1
- package/dist/assets/{useVibe64Terminal-Cg3idMcy.js → useVibe64Terminal-I7Sf6xMW.js} +1 -1
- package/dist/assets/vibe64ProjectScope.local-B06ABkhI.js +1 -0
- package/dist/assets/vibe64SavedEnvValues-B_QE9aAj.js +1 -0
- package/dist/assets/vibe64SessionFocus-CA-sk8Ri.css +1 -0
- package/dist/assets/vibe64SessionFocus-DlN8NwcE.js +1 -0
- package/dist/assets/{vibe64SessionInfo-BuBUdL-e.js → vibe64SessionInfo-B0uItVOK.js} +1 -1
- package/dist/assets/{vibe64SessionToolDefinitions-BJaJH5LR.js → vibe64SessionToolDefinitions-Dsn8WYmO.js} +1 -1
- package/dist/index.html +56 -46
- package/docs/colleague-usage/account-profile-and-appearance.md +1 -1
- package/docs/colleague-usage/{ai-accounts-and-routing.md → ai-accounts.md} +41 -114
- package/docs/colleague-usage/ai-model-setups.md +159 -0
- package/docs/colleague-usage/ai-onboarding.md +97 -22
- package/docs/colleague-usage/ai-personal-use.md +41 -0
- package/docs/colleague-usage/auto-workflow.md +8 -3
- package/docs/colleague-usage/codex-context-recovery.md +2 -1
- package/docs/colleague-usage/coding-agent-goals.md +7 -4
- package/docs/colleague-usage/coding-agents.md +8 -5
- package/docs/colleague-usage/colleague-watches.md +15 -4
- package/docs/colleague-usage/colleague.md +21 -5
- package/docs/colleague-usage/connected-contributions.md +13 -13
- package/docs/colleague-usage/connected-projects.md +2 -2
- package/docs/colleague-usage/conversation-context.md +1 -1
- package/docs/colleague-usage/dashboard-navigation.md +5 -3
- package/docs/colleague-usage/development-env.md +21 -4
- package/docs/colleague-usage/file-interfaces.md +1 -1
- package/docs/colleague-usage/github-work.md +8 -8
- package/docs/colleague-usage/health-checks.md +52 -18
- package/docs/colleague-usage/incoming-changes.md +3 -3
- package/docs/colleague-usage/integrations.md +5 -3
- package/docs/colleague-usage/learning-course-catalogue.md +3 -3
- package/docs/colleague-usage/learning-environment.md +78 -56
- package/docs/colleague-usage/learning-mode-ui.md +31 -19
- package/docs/colleague-usage/learning-practice-projects.md +15 -4
- package/docs/colleague-usage/learning-teacher-guide.md +10 -4
- package/docs/colleague-usage/learning-with-colleague.md +12 -8
- package/docs/colleague-usage/lesson-authoring.md +13 -13
- package/docs/colleague-usage/lesson-step-bar.md +47 -33
- package/docs/colleague-usage/main-chat-approvals.md +150 -0
- package/docs/colleague-usage/preview-browser-checks.md +5 -1
- package/docs/colleague-usage/preview-starting-application.md +10 -1
- package/docs/colleague-usage/project-language-tools.md +16 -2
- package/docs/colleague-usage/project-settings.md +1 -1
- package/docs/colleague-usage/project-setup.md +17 -7
- package/docs/colleague-usage/publishing.md +187 -0
- package/docs/colleague-usage/running-vibe64-on-your-computer.md +54 -6
- package/docs/colleague-usage/sessions.md +18 -10
- package/docs/colleague-usage/set-up-linux.md +254 -0
- package/docs/colleague-usage/set-up-macos.md +199 -0
- package/docs/colleague-usage/set-up-windows.md +76 -0
- package/docs/colleague-usage/starter-apps.md +23 -6
- package/docs/colleague-usage/teaching-content.md +2 -2
- package/docs/colleague-usage/team-ai-access.md +108 -0
- package/docs/colleague-usage/temporary-chats.md +9 -7
- package/docs/colleague-usage/workspace-preparation.md +50 -1
- package/docs/templates/learn-topic/README.md +3 -3
- package/docs/templates/learn-topic/training/lessons/TOPIC-01/lesson.json +2 -1
- package/docs/training-content.md +37 -15
- package/node_modules/@jskit-ai/assistant-core/package.json +1 -1
- package/node_modules/@jskit-ai/assistant-runtime/package.json +1 -1
- package/node_modules/@jskit-ai/assistant-voice/package.json +1 -1
- package/node_modules/@jskit-ai/connector-google-calendar/package.json +1 -1
- package/node_modules/@jskit-ai/connectors-catalog/package.json +1 -1
- package/node_modules/@jskit-ai/connectors-catalog/patterns/oauth-connection/PATTERN.md +25 -0
- package/node_modules/@jskit-ai/connectors-core/package.json +1 -1
- package/node_modules/@jskit-ai/http-runtime/package.json +1 -1
- package/node_modules/@jskit-ai/kernel/package.json +1 -1
- package/node_modules/@jskit-ai/realtime/package.json +1 -1
- package/node_modules/@jskit-ai/resource-core/package.json +1 -1
- package/node_modules/@jskit-ai/resource-crud-core/package.json +1 -1
- package/node_modules/@jskit-ai/uploads-runtime/package.json +1 -1
- package/node_modules/@local/vibe64-accounts/package.json +2 -1
- package/node_modules/@local/vibe64-core/package.json +4 -1
- package/node_modules/@local/vibe64-execution/src/host/execHelper.js +82 -81
- package/node_modules/@local/vibe64-genesis/bin/vibe64-genesis-host-context +83 -82
- package/node_modules/@local/vibe64-genesis/package.json +1 -0
- package/node_modules/@local/vibe64-genesis/src/server/agentSpecs.js +118 -68
- package/node_modules/@local/vibe64-genesis/src/server/index.js +536 -449
- package/node_modules/@local/vibe64-genesis/src/server/packaging.js +105 -0
- package/node_modules/@local/vibe64-genesis/src/server/promptContext.js +144 -145
- package/node_modules/@local/vibe64-packaging/package.json +26 -0
- package/node_modules/@local/vibe64-packaging/src/server/packers/capacitor/ShellIcons.java +112 -0
- package/node_modules/@local/vibe64-project/package.json +3 -1
- package/node_modules/@local/vibe64-publishing/package.json +12 -0
- package/node_modules/@local/vibe64-runtime/src/server/codexAppServerProcess.js +7 -7
- package/node_modules/@local/vibe64-runtime/src/shared/assistantRoutingScores.json +25 -22
- package/node_modules/@local/vibe64-terminals/package.json +2 -1
- package/node_modules/@local/vibe64-terminals/src/server/sessionWorkOperationCommand.js +1341 -1300
- package/node_modules/@local/vibe64-training/package.json +2 -1
- package/package.json +19 -15
- package/server.bundle.mjs +43109 -41089
- package/dist/assets/GithubBrowserTabs-C2NO5l8g.js +0 -1
- package/dist/assets/StudioErrorNotice-CSrUw1QV.js +0 -1
- package/dist/assets/VAlert-P256xaE0.js +0 -1
- package/dist/assets/VAutocomplete-BDb95qJX.js +0 -1
- package/dist/assets/VAvatar-DPzqDH4r.js +0 -1
- package/dist/assets/VBtn-B2MBK2DL.js +0 -1
- package/dist/assets/VCard-mXy0k4aS.js +0 -1
- package/dist/assets/VCheckbox-C7A1ZW4D.js +0 -1
- package/dist/assets/VChip-CcI-Oo2J.js +0 -1
- package/dist/assets/VDialog-Bu3EfKb1.js +0 -1
- package/dist/assets/VDivider-BMEqUoAB.js +0 -1
- package/dist/assets/VExpansionPanels-Dgjrop0V.js +0 -1
- package/dist/assets/VMenu-C_x18lwb.js +0 -1
- package/dist/assets/VOverlay-CeMZurIN.js +0 -1
- package/dist/assets/VRadioGroup-CUu2-KIP.js +0 -1
- package/dist/assets/VRow-Cpw7OHQV.js +0 -1
- package/dist/assets/VSelect-DL3HaA5m.js +0 -2
- package/dist/assets/VSheet-DZWsu0kL.js +0 -1
- package/dist/assets/VSkeletonLoader-CttxM1tw.js +0 -1
- package/dist/assets/VSpacer-Dhmsvk4t.js +0 -1
- package/dist/assets/VSwitch-BRHeDJkH.js +0 -1
- package/dist/assets/VTextField-BR2eZeFT.js +0 -1
- package/dist/assets/VTextField-BiatYyd3.css +0 -1
- package/dist/assets/VTextarea-DbqamXJd.js +0 -1
- package/dist/assets/Vibe64AuthSettingsButton-fY4ZiIFF.js +0 -5
- package/dist/assets/Vibe64DashboardPageHeader-Gm1IvlHx.css +0 -1
- package/dist/assets/Vibe64DashboardShell-BSq7uXEW.js +0 -1
- package/dist/assets/Vibe64OutputControls-_zhGX9ne.js +0 -8
- package/dist/assets/Vibe64SessionFiles-Bl8wJ5Sk.css +0 -1
- package/dist/assets/_slug_-BclonbST.js +0 -24
- package/dist/assets/_slug_-CZ1bxO9C.css +0 -1
- package/dist/assets/app-BNP_n_Tt.js +0 -1
- package/dist/assets/assistantRouting-D4XpXcEf.js +0 -3
- package/dist/assets/client-BWV84wi2.js +0 -2
- package/dist/assets/client-DGrP-2AJ.css +0 -1
- package/dist/assets/definitions-BrMvu6yV.js +0 -1
- package/dist/assets/env-BzRtyO0w.css +0 -1
- package/dist/assets/env-D3KQGvRe.js +0 -1
- package/dist/assets/health-BJvooRnJ.css +0 -1
- package/dist/assets/health-BhoO1d4h.js +0 -1
- package/dist/assets/incoming-DWDrmxyH.css +0 -1
- package/dist/assets/incoming-DzADFGqp.js +0 -2
- package/dist/assets/index-dNxr4Lg9.js +0 -138
- package/dist/assets/integrations-Cq1x-Di9.css +0 -1
- package/dist/assets/issues-Bywux4s7.js +0 -1
- package/dist/assets/mdi-CG9pWOSj.js +0 -1
- package/dist/assets/placement-BF-zIEhA.js +0 -1
- package/dist/assets/pull-requests-CdbhyFOv.css +0 -1
- package/dist/assets/pull-requests-ncmKT3sS.js +0 -1
- package/dist/assets/ripple-BVltMmyV.js +0 -11
- package/dist/assets/settings-BopLnpB0.css +0 -1
- package/dist/assets/shared-DpMvYJO3.js +0 -2
- package/dist/assets/studioGateApi-DcCqiD9V.js +0 -1
- package/dist/assets/studioUrls-DmMMIScP.js +0 -1
- package/dist/assets/useArchivedVibe64Sessions-_LB2XxEa.js +0 -1
- package/dist/assets/useCommand-Bqxb-naz.js +0 -1
- package/dist/assets/useEndpointResource-DWoQ2keu.js +0 -1
- package/dist/assets/useRealtimeEvent-Bwapstla.js +0 -1
- package/dist/assets/useVibe64ConversationLog-BqUI0S5n.js +0 -1
- package/dist/assets/useVibe64Learning-DyqXkpLw.js +0 -1
- package/dist/assets/useVibe64ProjectScope-Bp1ImZlz.js +0 -1
- package/dist/assets/useVibe64SessionData-B686lToN.js +0 -1
- package/dist/assets/vibe64SessionFocus-CqZNTvYF.js +0 -1
- package/dist/assets/vibe64SessionFocus-OJ2toBd9.css +0 -1
package/docs/training-content.md
CHANGED
|
@@ -36,11 +36,13 @@ entry declares `code`, `descriptor`, `status` (`draft` or `published`) and
|
|
|
36
36
|
`required`. A released topic cannot contain required draft lessons. Draft content
|
|
37
37
|
is validated but remains unavailable for teaching until published and installed.
|
|
38
38
|
|
|
39
|
-
Lessons use lesson format v2 (see **Lesson format v2: steps**
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
39
|
+
Lessons use lesson format v3: format v2 (see **Lesson format v2: steps**
|
|
40
|
+
below) plus a required `stage` (see **Lesson format v3: stage and facts**).
|
|
41
|
+
Formats 1 and 2 are retired: `vibe64-training validate` and `publish-manifest`
|
|
42
|
+
refuse them ("Lesson X uses retired lesson format N. Author it in format 3 with
|
|
43
|
+
steps and its stage."), so no new course release can contain one, and a lesson
|
|
44
|
+
in a retired format cannot be started. Installed older lessons, and `bundle`,
|
|
45
|
+
which the installer uses, still read and verify them.
|
|
44
46
|
The topic manifest itself stays schema version 1.
|
|
45
47
|
|
|
46
48
|
For reading existing content, a v1 lesson descriptor declares schema version 1, `code`, `title`, `document`,
|
|
@@ -76,13 +78,33 @@ lesson but no current reader consumes them (they labelled the retired Learning
|
|
|
76
78
|
watch's hints); they never grade, and a lesson without an exercise cannot
|
|
77
79
|
declare them.
|
|
78
80
|
|
|
81
|
+
### Lesson format v3: stage and facts
|
|
82
|
+
|
|
83
|
+
A v3 `lesson.json` declares `schemaVersion: 3` and everything v2 has, plus
|
|
84
|
+
`stage`: `"project"` for a lesson taught in its practice project (it needs its
|
|
85
|
+
`exercise`), or `"studio"` for one taught on the screens outside any project
|
|
86
|
+
(its Lesson sheet lies over the page while the Lesson toggle is on). Learn mode opens a lesson where its
|
|
87
|
+
stage says.
|
|
88
|
+
|
|
89
|
+
A step may check a fact: `"check": { "kind": "fact", "fact": "ai-ready" }`,
|
|
90
|
+
with a final `check fact` beat when the step has beats. The installation reads
|
|
91
|
+
the fact for the learner when they press **Check now**; built in, `ai-ready`
|
|
92
|
+
holds once their AI is set up for Colleague. A topic may declare names its
|
|
93
|
+
lessons use that only some installations provide, in optional `places`,
|
|
94
|
+
`activities` and `facts` lists in `topic.json`. A step whose places, activities
|
|
95
|
+
and facts are all available here, and whose places this person may open, is
|
|
96
|
+
shown; the others are left out of the lesson, and completion counts only the
|
|
97
|
+
required steps shown. A lesson with a required step left out is left out of
|
|
98
|
+
Courses here (and cannot start), as is a topic left without lessons. A course
|
|
99
|
+
may name its `orientation`, one of its published lessons.
|
|
100
|
+
|
|
79
101
|
### Lesson format v2: steps
|
|
80
102
|
|
|
81
103
|
A v2 `lesson.json` declares `schemaVersion: 2` and keeps `code`, `title`,
|
|
82
104
|
`prerequisites`, `estimatedMinutes`, `visuals`, `exercise`, `checks` and
|
|
83
105
|
`appRoutes` exactly as above. It has no `document` and no `assessments`:
|
|
84
106
|
an optional `notes` file (background reading) and 1–32 ordered `steps` replace
|
|
85
|
-
them. The fixture `tests/fixtures/training/steps-
|
|
107
|
+
them. The fixture `tests/fixtures/training/steps-v3/` is a complete, validating
|
|
86
108
|
topic with every step kind; the copyable template is `docs/templates/learn-topic/`.
|
|
87
109
|
|
|
88
110
|
```json
|
|
@@ -178,7 +200,7 @@ One beat per line: `<show|do|check> <target>[ <path>]: <text>`.
|
|
|
178
200
|
step's `check.rubric` from `lesson.json`, its single source.
|
|
179
201
|
- Places: `preview`, `dashboard`, `database-erd`, `database-data`, `files`,
|
|
180
202
|
`changes`, `git-log`, `session-info`, `architecture`, `learning` (the **L**
|
|
181
|
-
button), `lesson` (the Lesson
|
|
203
|
+
button), `lesson` (the **Lesson** toggle), `chat` (the coding chat), `colleague`,
|
|
182
204
|
`courses`, `lesson-bar` (the bar itself), `save` and `reload-preview`.
|
|
183
205
|
`dashboard` and `lesson-bar` can only be shown.
|
|
184
206
|
- 1–8 beats. Only `lesson`, `lesson-bar`, `courses`, `learning`,
|
|
@@ -192,8 +214,8 @@ step's check kind, a second or non-final check, a block that is not closed or
|
|
|
192
214
|
does not end the body, and beats together with a `guide`. Back and Next in the
|
|
193
215
|
bar move by beat into the neighbouring steps; after the last beat the bar shows
|
|
194
216
|
the step's own verdict control (Done, Mark as done, Check my work, or Answer in
|
|
195
|
-
|
|
196
|
-
text
|
|
217
|
+
Lesson for a choice) and Next step. **Lesson** on the bar shows the whole step
|
|
218
|
+
text in the Lesson pane in one click, so a beat never needs to repeat the body. Steps never advance by themselves.
|
|
197
219
|
|
|
198
220
|
**Check verdicts are final.** Verdicts come from the step's declared check: an
|
|
199
221
|
automatic check, the choice comparator, a review check (the learner's own AI
|
|
@@ -229,8 +251,8 @@ heading is green and nothing else broke":
|
|
|
229
251
|
40,000 characters). Work the coding agent did at the learner's request
|
|
230
252
|
counts unless the rubric says the learner must do it themselves.
|
|
231
253
|
- **Check my work** runs only from the learner's own browser, on the
|
|
232
|
-
learner's own AI account:
|
|
233
|
-
Accounts →
|
|
254
|
+
learner's own AI account: their **Explain & check** model in **AI
|
|
255
|
+
Accounts → Models** (workload `lesson_review`, input at most 160,000
|
|
234
256
|
characters, 180 seconds). Vibe64 never pays for or resells it.
|
|
235
257
|
- The reviewer returns Passed or Not yet, a comment (at most 600
|
|
236
258
|
characters), a hint for Not yet (at most 300) and up to six rubric points.
|
|
@@ -258,7 +280,7 @@ cannot be any v2 lesson descriptor of the topic (for example, an exercise
|
|
|
258
280
|
|
|
259
281
|
A code question is an `auto` step whose `check` names a code check and whose
|
|
260
282
|
`files` name the exercise files the learner edits (the fixture
|
|
261
|
-
`tests/fixtures/training/steps-
|
|
283
|
+
`tests/fixtures/training/steps-v3/` contains one):
|
|
262
284
|
|
|
263
285
|
```json
|
|
264
286
|
"exercise": { "kind": "bundled", "source": "app", "reuse": "attempt" },
|
|
@@ -367,9 +389,9 @@ is rejected. A released course requires released topics with no required drafts.
|
|
|
367
389
|
A preview course is for the workspace owner to review: `lesson.start` admits its
|
|
368
390
|
published lessons only when the actor is the workspace owner (on local Vibe64,
|
|
369
391
|
the OS user), and refuses everyone else with `VIBE64_TRAINING_COURSE_PREVIEW`.
|
|
370
|
-
`courses.list` reports `canTryPreviews`, and Courses shows the owner
|
|
371
|
-
|
|
372
|
-
offers **Start** to everyone; draft lessons and disabled courses stay refused.
|
|
392
|
+
`courses.list` reports `canTryPreviews`, and Courses shows the owner the usual
|
|
393
|
+
start buttons beside the **Preview course** chip. The started attempt is an
|
|
394
|
+
ordinary saved lesson. Releasing the course offers **Start lesson** to everyone; draft lessons and disabled courses stay refused.
|
|
373
395
|
|
|
374
396
|
Run `vibe64 training publish-manifest <course.json> <committed-topic-directory...>`
|
|
375
397
|
with one canonical repository root for each selected topic. Each topic's package
|
|
@@ -181,6 +181,31 @@ comma-separated permissions. Oura handles reduced callback scopes and rotated
|
|
|
181
181
|
refresh tokens. Some providers do not return a refresh token; expired access
|
|
182
182
|
then needs consent again. Provider PKCE enforcement needs provider evidence.
|
|
183
183
|
|
|
184
|
+
## Shared connection from an Env refresh token
|
|
185
|
+
|
|
186
|
+
When the application's host already holds a long-lived grant for the shared
|
|
187
|
+
account (the owner connected it once with the same OAuth client), skip consent
|
|
188
|
+
in the app: add `refreshTokenRef` to a `shared` oauth2 integration whose
|
|
189
|
+
registration uses the authorization-code flow.
|
|
190
|
+
|
|
191
|
+
```json
|
|
192
|
+
"authentication": {
|
|
193
|
+
"method": "oauth2",
|
|
194
|
+
"registrationRef": "google",
|
|
195
|
+
"refreshTokenRef": "env:GOOGLE_REFRESH_TOKEN"
|
|
196
|
+
}
|
|
197
|
+
```
|
|
198
|
+
|
|
199
|
+
The Env value is a seed. On first use, and whenever the value or the OAuth
|
|
200
|
+
client changes, the runtime replaces the shared connection with one built from
|
|
201
|
+
that refresh token. From then on it refreshes and stores rotated tokens in the
|
|
202
|
+
application's own store as usual. `status()` reports `source: "env"` (show it as
|
|
203
|
+
"Connected from Env"). `beginAuthorization()` and `disconnect()` refuse with
|
|
204
|
+
`connector_env_managed`: "This connection comes from an Env value; unlink or
|
|
205
|
+
replace that value instead." A revoked token fails with "The refresh token in
|
|
206
|
+
Env no longer works; replace that Env value." The refresh token must come from
|
|
207
|
+
the same client as `registrationRef`; non-JSKIT apps read the variable directly.
|
|
208
|
+
|
|
184
209
|
## Twitch composition
|
|
185
210
|
|
|
186
211
|
Use `twitchProvider` from `@jskit-ai/connectors-catalog/server/twitch` in the
|
|
@@ -19,6 +19,7 @@
|
|
|
19
19
|
"./server/completedDiscussionPlanUpgrade": "./src/server/completedDiscussionPlanUpgrade.js",
|
|
20
20
|
"./server/providerCredentialsUpgrade": "./src/server/providerCredentialsUpgrade.js",
|
|
21
21
|
"./server/freeModelRetirementUpgrade": "./src/server/freeModelRetirementUpgrade.js",
|
|
22
|
-
"./server/assistantPlanUpgrade": "./src/server/assistantPlanUpgrade.js"
|
|
22
|
+
"./server/assistantPlanUpgrade": "./src/server/assistantPlanUpgrade.js",
|
|
23
|
+
"./server/teamSetupRoutingUpgrade": "./src/server/teamSetupRoutingUpgrade.js"
|
|
23
24
|
}
|
|
24
25
|
}
|
|
@@ -46,9 +46,12 @@
|
|
|
46
46
|
"./server/envUserValues": "./src/server/envUserValues.js",
|
|
47
47
|
"./shared": "./src/shared/index.js",
|
|
48
48
|
"./server/assistantRoutingStore": "./src/server/assistantRoutingStore.js",
|
|
49
|
+
"./server/workspaceTeam": "./src/server/workspaceTeam.js",
|
|
50
|
+
"./server/teamAiGate": "./src/server/teamAiGate.js",
|
|
49
51
|
"./shared/curatedCodexProviders": "./src/shared/curatedCodexProviders.js",
|
|
50
52
|
"./server/codexProviderConnections": "./src/server/codexProviderConnections.js",
|
|
51
53
|
"./server/stateUpgrades/routingV2Format": "./src/server/stateUpgrades/routingV2Format.js",
|
|
52
|
-
"./server/stateUpgrades/routingV3Format": "./src/server/stateUpgrades/routingV3Format.js"
|
|
54
|
+
"./server/stateUpgrades/routingV3Format": "./src/server/stateUpgrades/routingV3Format.js",
|
|
55
|
+
"./server/stateUpgrades/routingV4Format": "./src/server/stateUpgrades/routingV4Format.js"
|
|
53
56
|
}
|
|
54
57
|
}
|