vibe64 0.1.44 → 0.1.45

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.
Files changed (57) hide show
  1. package/bin/run.js +548 -547
  2. package/dist/assets/{GithubBrowserTabs-CxeMBH6W.js → GithubBrowserTabs-B3eDyosw.js} +1 -1
  3. package/dist/assets/{Vibe64AuthSettingsButton-BuAidNAq.js → Vibe64AuthSettingsButton-D6FpAdMr.js} +1 -1
  4. package/dist/assets/{Vibe64DashboardShell-uWi4NB4y.js → Vibe64DashboardShell-Be9m--8X.js} +1 -1
  5. package/dist/assets/{Vibe64DatabaseWorkspace-CCpDbiGK.js → Vibe64DatabaseWorkspace-CJQsjlwO.js} +1 -1
  6. package/dist/assets/{Vibe64OutputControls-ttqEP46v.js → Vibe64OutputControls-BbIKDmnQ.js} +1 -1
  7. package/dist/assets/{Vibe64RepositoryWorkspace-Bq37tlM9.js → Vibe64RepositoryWorkspace-Di1Eaj89.js} +1 -1
  8. package/dist/assets/{Vibe64SessionFiles-BhNCbnUP.js → Vibe64SessionFiles-NPF2lVUa.js} +1 -1
  9. package/dist/assets/{_sessionId_-wrEZX5JX.js → _sessionId_-OpUBmmht.js} +1 -1
  10. package/dist/assets/{_slug_-CAmuBm-M.css → _slug_-D7Hp7Qdr.css} +1 -1
  11. package/dist/assets/{_slug_-pVQuRCsN.js → _slug_-URQxfixb.js} +4 -4
  12. package/dist/assets/{access-CwTmMeFU.js → access-Big-t8bD.js} +1 -1
  13. package/dist/assets/{app-BSNXOpH-.js → app-ClNGYCqx.js} +1 -1
  14. package/dist/assets/{changes-BHk1r-xi.js → changes-C5RgXQ6h.js} +1 -1
  15. package/dist/assets/{dashboard-CtPZicHO.js → dashboard-gczuqt9t.js} +1 -1
  16. package/dist/assets/{definitions-Cfy1CWRi.js → definitions-Dw7R22FW.js} +1 -1
  17. package/dist/assets/env-BaQrf0DE.js +1 -0
  18. package/dist/assets/{env-B5V1EC4M.css → env-ClR9iA1v.css} +1 -1
  19. package/dist/assets/{history-lzQXJSu7.js → history-h4HQIXvy.js} +1 -1
  20. package/dist/assets/{index-B17d4wpZ.css → index-Cuz3Jzqo.css} +1 -1
  21. package/dist/assets/{index-BnZ5igE0.js → index-kYgyZK8I.js} +4 -4
  22. package/dist/assets/{integrations-CefYdMOC.js → integrations-DVZcDoif.js} +1 -1
  23. package/dist/assets/{issues-CiGWy5Cv.js → issues-LguLI8Vc.js} +1 -1
  24. package/dist/assets/{learning-BfyUAtaJ.js → learning-pADlYdN6.js} +1 -1
  25. package/dist/assets/{publish-W5aA6JkR.js → publish-f7yKue02.js} +1 -1
  26. package/dist/assets/{pull-requests-BrtOgprU.js → pull-requests-B7bKeIV9.js} +1 -1
  27. package/dist/assets/{repository-BsSO4tkZ.js → repository-1l6cimH9.js} +1 -1
  28. package/dist/assets/{settings-Ck7lEre8.js → settings-ME38E4d1.js} +1 -1
  29. package/dist/assets/{useArchivedVibe64Sessions-DBSnMGIY.js → useArchivedVibe64Sessions-BeXgkSdF.js} +1 -1
  30. package/dist/assets/{useVibe64ConversationLog-DQUm75XZ.js → useVibe64ConversationLog-NZA-6BkP.js} +1 -1
  31. package/dist/assets/{useVibe64SessionData-t_rs_q6g.js → useVibe64SessionData-CXGozRef.js} +1 -1
  32. package/dist/assets/{useVibe64SessionSelection-gAUaIEs7.js → useVibe64SessionSelection-DZICz1SJ.js} +1 -1
  33. package/dist/assets/{vibe64SessionFocus-BZFoISVS.js → vibe64SessionFocus-DSpYUHZA.js} +1 -1
  34. package/dist/index.html +2 -2
  35. package/docs/colleague-usage/ai-accounts.md +2 -2
  36. package/docs/colleague-usage/ai-balance-and-allowance.md +4 -2
  37. package/docs/colleague-usage/ai-model-setups.md +6 -6
  38. package/docs/colleague-usage/ai-onboarding.md +2 -2
  39. package/docs/colleague-usage/ai-personal-use.md +1 -1
  40. package/docs/colleague-usage/coding-agent-failures.md +3 -2
  41. package/docs/colleague-usage/colleague.md +2 -3
  42. package/docs/colleague-usage/conversation-context.md +3 -0
  43. package/docs/colleague-usage/dashboard-navigation.md +7 -1
  44. package/docs/colleague-usage/health-checks.md +3 -1
  45. package/docs/colleague-usage/learning-course-catalogue.md +20 -12
  46. package/docs/colleague-usage/learning-mode-ui.md +2 -1
  47. package/docs/colleague-usage/learning-with-colleague.md +3 -1
  48. package/docs/colleague-usage/lesson-authoring.md +5 -4
  49. package/docs/colleague-usage/main-chat-approvals.md +7 -0
  50. package/docs/colleague-usage/plans.md +8 -3
  51. package/docs/colleague-usage/sessions.md +9 -3
  52. package/docs/colleague-usage/temporary-chats.md +9 -0
  53. package/docs/colleague-usage/voice-face-and-speaking-voice.md +3 -0
  54. package/docs/training-content.md +19 -12
  55. package/package.json +1 -1
  56. package/server.bundle.mjs +33217 -33147
  57. package/dist/assets/env-vkfe7Ud2.js +0 -1
@@ -146,9 +146,14 @@ the session has no plan; the native plan icon remains an independent way to
146
146
  check. Opening the viewer reads the plan; it never creates,
147
147
  edits, approves, archives, reopens or executes one and starts no coding turn.
148
148
  Explaining the workflow or offering help is not authorization to change a plan.
149
- Colleague's plan-reading action cannot archive, reopen, edit or execute it:
150
- those require the person's Archive or Make current control, or an explicit Main-chat request,
151
- sent through an already-authorized chat operation when available.
149
+ Colleague's plan-reading action cannot edit or execute a plan. When you ask,
150
+ Colleague can **Archive** the current plan or **Make current** an archived one
151
+ through the same operations as the viewer's buttons, with the same limits: it
152
+ reads the whole current plan first, Archive is refused if the plan changed since
153
+ that read, Make current is refused while a current plan exists, and both wait
154
+ while the assistant or its review is running. Neither starts AI work; ask in
155
+ chat to continue a plan made current. Replacing a current plan with an archive
156
+ (reopen over it), editing and executing remain explicit Main-chat requests.
152
157
 
153
158
  ## Auto roles and workflow
154
159
 
@@ -141,8 +141,10 @@ workspace for retry. Resolve the reported problem, then retry **Archive session*
141
141
  If the last open session cannot be archived, its chat is selected again so you
142
142
  can inspect the failure and retry. If another session is already selected, that
143
143
  selection stays in place and the failed session becomes available in its tab.
144
- Colleague can explain these steps and the reported error; the existing session
145
- permissions and confirmation still apply.
144
+ Colleague can explain these steps and the reported error. When you explicitly
145
+ ask it to archive a named session, it archives it through the same action; the
146
+ same pin, renewal and preparation guards apply, and it reports a failed cleanup
147
+ for retry. Stopping an agent or ending Colleague is never an archive request.
146
148
 
147
149
  ## Chat availability
148
150
 
@@ -152,6 +154,8 @@ for team members. These lightweight
152
154
  checks do not start a model or download its repeated execution plan. Opening
153
155
  **Chat mode** still shows the available choices; access is checked again when
154
156
  work is sent. Colleague can explain an unavailable mode, but cannot grant access.
157
+ The owner's Colleague can change Main chat's mode on request; a team member's
158
+ cannot, outside their own lesson (see [Main chat approvals](main-chat-approvals.md)).
155
159
 
156
160
  To open the coding agent's own terminal, or leave it on a phone, see [Open the coding agent's terminal](session-terminal.md).
157
161
 
@@ -248,7 +252,9 @@ Idle cleanup otherwise closes an open project, with its Preview, terminals and
248
252
  assistant processes, 30 to 35 minutes after its last recorded activity (opening
249
253
  it, session changes and assistant work). Leaving the project or closing the
250
254
  browser does not close it sooner; close the project yourself to free its
251
- memory at once. A running assistant turn or active goal keeps it open.
255
+ memory at once, or ask Colleague to close it: it uses the same Close, which also
256
+ stops other sessions' running work, and reports a failed Close as incomplete
257
+ cleanup. A running assistant turn or active goal keeps it open.
252
258
  The pin survives server restarts. To change it, return to the pinned session and
253
259
  choose **Unpin session**; tab selection then controls the source link again.
254
260
  Other sessions show a disabled pin with **Unpin the project's pinned session first**.
@@ -98,6 +98,15 @@ Colleague can explain these steps and change a temporary chat's selection throug
98
98
  its authorized temporary-conversation action when explicitly asked. Stopping or
99
99
  sending work remains a separate requested action.
100
100
 
101
+ Colleague offers the same choices as the **Chat mode** menu: **Fix it with AI**,
102
+ **Custom** with a model it has seen in AI setup or the session's access (it never
103
+ invents one), and for the owner **Senior** or **Junior**. A team member's Colleague
104
+ offers only **Fix it with AI** and **Custom**, and a new chat it creates for them
105
+ starts on **Fix it with AI**; the owner's starts on Main chat's mode (Auto becomes
106
+ Senior). A merge repair chat accepts only **Fix it with AI** or **Custom**. Auto
107
+ is Main chat only. Colleague doesn't start an Update conflict's **Fix it with AI**
108
+ repair itself: choose that button on the Update error.
109
+
101
110
  ## Work elsewhere while a chat runs
102
111
 
103
112
  Select **Main chat** or another temporary tab to continue elsewhere. The hidden
@@ -46,6 +46,9 @@ than replaying old activity. Turning off spoken replies silences all narration.
46
46
  Choices and defaults come from the installed model pack and may include male and
47
47
  female voices. If only one voice is installed it is shown but cannot be changed.
48
48
  Server model setup is an operator task.
49
+ Colleague can list the installed voices with their names and languages, so it can
50
+ match "a British female voice" to an installed one or say none matches; you
51
+ then choose it in **Speaking voice**.
49
52
 
50
53
  Loading **Speaking voice** performs a read-only, authorized catalogue check. It
51
54
  does not start the microphone, open an audio connection or send an assistant
@@ -598,9 +598,11 @@ the store does not authenticate objects or discover/fetch repositories.
598
598
  contains the original course definition, its complete generated `lock`, and an
599
599
  `enabled` boolean. Both definition and lock are immutable for a course ID/release;
600
600
  changing even its title requires another approved release. A new release is a
601
- separate retained entry. Enablement is the only mutable field. The pilot retains
602
- at most 16 course releases in a file bounded to 1 MiB; it never silently removes
603
- disabled releases. New directories use 0700 and catalogue records use 0600.
601
+ separate entry. Enablement is the only mutable field; `removeCourse` deletes a
602
+ whole entry. The catalogue keeps at most 16 course releases in a file bounded to
603
+ 1 MiB. Only a course Update (its older releases) and the operator's
604
+ `remove-course` remove entries; installed topic content is never removed with
605
+ them, so saved attempts keep their pinned lessons. New directories use 0700 and catalogue records use 0600.
604
606
 
605
607
  Every read freshly verifies all entries, including disabled ones, against installed
606
608
  topic pins and the original `createCourseLock` owner. The approved lock must exactly
@@ -657,7 +659,8 @@ retry returns `changed:false`; the same name with a different definition returns
657
659
  `VIBE64_TRAINING_COURSE_INVALID`, `VIBE64_TRAINING_COURSE_TOPIC_UNAVAILABLE`,
658
660
  `VIBE64_TRAINING_COURSE_LIMIT` and the original catalogue revision/busy/save
659
661
  errors. To retire a custom course, disable its exact release with
660
- `vibe64 training disable-course custom-<name-slug> 1.0.0 <system-root> <revision>`.
662
+ `vibe64 training disable-course custom-<name-slug> 1.0.0 <system-root> <revision>`,
663
+ or remove it with `remove-course` to free its place.
661
664
 
662
665
  Course progress in the **Courses** pane is read-only: `learning.read` adds
663
666
  `lessonProgress`, one `{lessonCode,lessonHash,required,passed,completed,open}`
@@ -921,9 +924,9 @@ fetches its canonical repository at exactly the locked commit (`git init`,
921
924
  original `installTopic` with `topicHash = manifestHash`. That owner re-verifies
922
925
  the clean commit, canonical source and every byte. It then calls
923
926
  `enableCourse` with a fresh revision, retrying once on a revision conflict.
924
- Older enabled releases of the same course are then disabled with
925
- `disableCourse` (fresh revision; new starts only). Saved attempts keep their pin
926
- and resume. Installs run one at a time; repeated requests for the same release
927
+ Older releases of the same course are then removed with `removeCourse` (fresh
928
+ revision), freeing their places; the result lists them in `retired`. Saved
929
+ attempts keep their pin, installed content and resume. Installs run one at a time; repeated requests for the same release
927
930
  share one operation. Git runs through `runVibe64Command` as the daemon with
928
931
  hooks disabled; no fetched file is executed.
929
932
 
@@ -933,10 +936,11 @@ from sources, and are removed in `finally`. The managed exec helper admits the
933
936
  daemon's generic commands in exactly that one-level directory under
934
937
  `~/.local/state/vibe64/training-sources/`.
935
938
 
936
- An already enabled exact release is a no-op. A disabled release is re-enabled
937
- only for the workspace owner (`VIBE64_TRAINING_COURSE_DISABLED` otherwise). A new
938
- entry beyond the installed catalogue's 16 retained releases fails before any
939
- download with `VIBE64_TRAINING_COURSE_LIMIT`; nothing is deleted.
939
+ An already enabled exact release is a no-op. A disabled release is refused for
940
+ everyone, the owner included (`VIBE64_TRAINING_COURSE_DISABLED`); re-enabling
941
+ stays the operator's `enable-course`. A new entry beyond the installed
942
+ catalogue's 16 releases fails before any download with
943
+ `VIBE64_TRAINING_COURSE_LIMIT`; the operator frees a place with `remove-course`.
940
944
 
941
945
  The actions are `vibe64.training.available.list` (`GET
942
946
  /api/vibe64/training/available`) and `vibe64.training.course.install` (`POST
@@ -960,6 +964,7 @@ vibe64 training install-topic /absolute/path/to/learn-topic /absolute/vibe64/sta
960
964
  vibe64 training installed-courses /absolute/vibe64/state
961
965
  vibe64 training enable-course /absolute/path/to/course.json /absolute/path/to/course.lock.json /absolute/vibe64/state 0
962
966
  vibe64 training disable-course first-course 0.1.0 /absolute/vibe64/state 1
967
+ vibe64 training remove-course first-course 0.1.0 /absolute/vibe64/state 2
963
968
  ```
964
969
 
965
970
  `install-topic` derives the exact pin from the clean committed topic repository;
@@ -971,7 +976,9 @@ install a new pin rather than replacing retained content.
971
976
  `installed-courses` returns the freshly verified catalogue, including its
972
977
  revision, enablement and exact course locks. A missing catalogue reads as revision
973
978
  zero without creating files. Supply that exact current nonnegative decimal
974
- revision to `enable-course` or `disable-course`. The original catalogue owner
979
+ revision to `enable-course`, `disable-course` or `remove-course`. Removing an
980
+ exact release takes it out of the catalogue and frees its place; its installed
981
+ topic content stays, so saved attempts keep resuming. The original catalogue owner
975
982
  verifies the course/lock against every installed topic, preserves immutable
976
983
  release definitions, and serializes writes. A stale revision requires a new read
977
984
  and deliberate retry. An unconfirmed save requires inspecting the current
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vibe64",
3
- "version": "0.1.44",
3
+ "version": "0.1.45",
4
4
  "private": false,
5
5
  "description": "Run Vibe64 against the current project.",
6
6
  "type": "module",