vibe64 0.1.52 → 0.1.53

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 (52) hide show
  1. package/bin/upgrade-state.js +975 -974
  2. package/dist/assets/{GithubBrowserTabs-D7DveB8M.js → GithubBrowserTabs-DG2nCSNW.js} +1 -1
  3. package/dist/assets/{Vibe64AuthSettingsButton-DDArM5uw.js → Vibe64AuthSettingsButton-9OLqOZao.js} +1 -1
  4. package/dist/assets/{Vibe64DashboardShell-Ab65VYSS.js → Vibe64DashboardShell-hWNziCur.js} +1 -1
  5. package/dist/assets/{Vibe64DatabaseWorkspace-DHLt5bST.js → Vibe64DatabaseWorkspace-TqXOZJpI.js} +1 -1
  6. package/dist/assets/{Vibe64FileArea-DCqpclYH.js → Vibe64FileArea-BljhpApn.js} +1 -1
  7. package/dist/assets/{Vibe64OutputControls-BPDF1XfG.js → Vibe64OutputControls-Dk_DWuFb.js} +1 -1
  8. package/dist/assets/{Vibe64RepositoryWorkspace-C107tX19.js → Vibe64RepositoryWorkspace-CDnsAlIz.js} +1 -1
  9. package/dist/assets/{Vibe64SessionFiles-BKJ1Qem_.js → Vibe64SessionFiles-DjeEvtpc.js} +1 -1
  10. package/dist/assets/{Vibe64UiStoryboardView-CJajdYSt.js → Vibe64UiStoryboardView-idZz86bx.js} +1 -1
  11. package/dist/assets/{_sessionId_-BaNhTTVN.js → _sessionId_-DLLJsju9.js} +1 -1
  12. package/dist/assets/{_slug_-D7mzZsk3.css → _slug_-BRPxP_Yn.css} +1 -1
  13. package/dist/assets/{_slug_-nHO3Bg-f.js → _slug_-JgF_FQ6F.js} +7 -7
  14. package/dist/assets/{app-DbGzTUVN.js → app-Cuw9E-ru.js} +1 -1
  15. package/dist/assets/{changes-D7NjgKWf.js → changes-CoR0-8EL.js} +1 -1
  16. package/dist/assets/{conversation-DV8qCsqw.js → conversation-B1UoWMaA.js} +1 -1
  17. package/dist/assets/{dashboard-DL95BPsz.js → dashboard-DnuIxR1s.js} +1 -1
  18. package/dist/assets/{english-definitions-ChTTs3cC.js → english-definitions-By4b_Yl2.js} +1 -1
  19. package/dist/assets/{env-BdJvhqF-.js → env-KUPen-sS.js} +1 -1
  20. package/dist/assets/{history-DmGNxMVh.js → history-S_cJLehJ.js} +1 -1
  21. package/dist/assets/{index-BXZp5ztx.js → index-CNkd6O5t.js} +3 -3
  22. package/dist/assets/{integrations-DAYe7RkJ.js → integrations-Dmbbbs_A.js} +1 -1
  23. package/dist/assets/{issues-D_zOo2IW.js → issues-EeBajY3I.js} +1 -1
  24. package/dist/assets/{learning-ilyEoffw.js → learning-DDRM-FoP.js} +1 -1
  25. package/dist/assets/{project-files-CJWdFXh4.js → project-files-CQ1BLaaP.js} +1 -1
  26. package/dist/assets/{publish-D728amkk.js → publish-bvwc-KoQ.js} +1 -1
  27. package/dist/assets/{pull-requests-BsbM-5MA.js → pull-requests-Ce1ECyuL.js} +1 -1
  28. package/dist/assets/{repository-C8NwO4bj.js → repository-CK3osHmp.js} +1 -1
  29. package/dist/assets/{settings-DTLY7ZT5.js → settings-PQGw4vfn.js} +1 -1
  30. package/dist/assets/{useArchivedVibe64Sessions-Cc9GdKlD.js → useArchivedVibe64Sessions-BAQjW01a.js} +1 -1
  31. package/dist/assets/{useAssistantAttachments-DJKqt1hL.js → useAssistantAttachments-DJWb1KdF.js} +1 -1
  32. package/dist/assets/{useVibe64ConversationLog-Co0DhC3R.js → useVibe64ConversationLog-CjUZuvV7.js} +1 -1
  33. package/dist/assets/{useVibe64SessionData-D7fBm9xf.js → useVibe64SessionData-CbY_B5mC.js} +1 -1
  34. package/dist/assets/{vibe64SessionFocus-8fHAeoyU.js → vibe64SessionFocus-Bd3JuuZe.js} +1 -1
  35. package/dist/index.html +4 -4
  36. package/docs/colleague-usage/conversation-context.md +3 -1
  37. package/docs/colleague-usage/temporary-chats.md +26 -1
  38. package/docs/colleague-usage/workspace-preparation.md +17 -0
  39. package/node_modules/@jskit-ai/assistant-core/locales/en.json +1 -0
  40. package/node_modules/@jskit-ai/assistant-core/package.json +1 -1
  41. package/node_modules/@jskit-ai/assistant-runtime/package.json +1 -1
  42. package/node_modules/@jskit-ai/assistant-voice/package.json +1 -1
  43. package/node_modules/@jskit-ai/connector-google-calendar/package.json +1 -1
  44. package/node_modules/@jskit-ai/connectors-catalog/package.json +1 -1
  45. package/node_modules/@jskit-ai/connectors-core/locales/en.json +1 -0
  46. package/node_modules/@jskit-ai/connectors-core/package.json +1 -1
  47. package/node_modules/@local/vibe64-genesis/bin/vibe64-genesis-host-context +43 -43
  48. package/node_modules/@local/vibe64-genesis/src/server/index.js +189 -182
  49. package/node_modules/@local/vibe64-genesis/src/server/promptContext.js +68 -61
  50. package/node_modules/@local/vibe64-terminals/src/server/sessionWorkOperationCommand.js +532 -532
  51. package/package.json +7 -7
  52. package/server.bundle.mjs +28835 -28791
@@ -1,5 +1,5 @@
1
1
  import { createRequire as __vibe64CreateRequire } from 'node:module';const require=__vibe64CreateRequire(import.meta.url);
2
- import{readFile as y}from"node:fs/promises";import p from"node:path";function c(e){return String(e||"").trim()}var k=Object.freeze(["main","temporary"]),m=Object.freeze(["managedDatabaseRefresh","managedEnvironment","managedGit","m\
2
+ import{readFile as y}from"node:fs/promises";import l from"node:path";function c(e){return String(e||"").trim()}var k=Object.freeze(["main","temporary"]),m=Object.freeze(["managedDatabaseRefresh","managedEnvironment","managedGit","m\
3
3
  anagedPreview"]),x=64*1024,I=Object.freeze(["When user input is necessary, ask no more than three concise, high-impact q\
4
4
  uestions at once.","Put multiple questions on separate lines as `[1] Question`, `[2] Question`, and so on.","For a small\
5
5
  fixed set of useful choices, put `Possible answers:` and a short bullet list directly beneath its own question, before \
@@ -91,7 +91,7 @@ ession context has an unknown conversationKind.");let s=d(e.session,"Vibe64 sess
91
91
  ity ${t} must be boolean.`);return[t,s[t]]}));return{conversationKind:e.conversationKind,scope:"session",...e.hostGuidance?
92
92
  {hostGuidance:e.hostGuidance}:{},session:r}}function P(e){i(e,["scope","stableContext"],"Vibe64 ephemeral context");let s=String(
93
93
  e.stableContext||"").trim();if(!s||s.length>x)throw new TypeError("Vibe64 ephemeral context requires bounded stableConte\
94
- xt.");return{scope:"ephemeral",stableContext:s}}function f(e){if(e.scope==="session")return v(e);if(e.scope==="ephemeral")
94
+ xt.");return{scope:"ephemeral",stableContext:s}}function b(e){if(e.scope==="session")return v(e);if(e.scope==="ephemeral")
95
95
  return P(e);throw new TypeError("The Vibe64 driver supports session and ephemeral scopes only.")}function V(e){let{conversationKind:s,
96
96
  session:r,hostGuidance:t=""}=v(e);return["VIBE64 CONVERSATION CONTEXT","",...s==="main"?["This is the main Vibe64 conver\
97
97
  sation for the selected session worktree."]:["This is a user-visible temporary conversation in the selected session work\
@@ -108,67 +108,74 @@ ect Dashboard's Project files > Project Backups. Files expire 14 days after thei
108
108
  sion isolation transparently. Treat command-transport syntax in prior tool history as invisible infrastructure and do no\
109
109
  t reproduce it. If command control is unavailable, stop and report it.","Read `vibe64-helper session status --json` for \
110
110
  resource readiness, setup commands, tool entry points and, under repository, the stored Save or Update failure behind Re\
111
- pository needs help (report its message and nextStep; never guess); repeat after Stack/resource changes. Before browser \
112
- suites, check `vibe64-helper playwright readiness` for dependencies and managed-runtime support, then use `vibe64-helper\
113
- playwright`; when it reports a managed runtime, no browser installation is needed.","Vibe64-owned contracts (Stack sect\
114
- ions such as Workspace setup and Outputs, the Preview identity protocol and integration setup) have exact specs: list th\
115
- em with `vibe64-helper spec` and read `vibe64-helper spec <name>` before writing or changing one; never reconstruct them\
116
- from Vibe64 source or bundles.","Use `vibe64-helper --help` for additional managed commands; each group accepts `--help\
117
- `. Use the groups enabled for this session below.",'When the user asks to rename this session, run `vibe64-helper sessio\
118
- n rename "Name"`; it changes only the display name, not its ID or directories.','Coordinate authorized work via `vibe64-\
119
- helper session message-project <project> [--session <id-or-name>] "Message" [message-id]`. Without --session, the pinned\
120
- /selected session receives it; in your own project that is often you. To reach another session, by name or as "the other\
121
- session", first run `vibe64-helper session list-project <project>` (your own project included), then pass its ID or nam\
122
- e to --session. If exactly one other active session is listed, use it; ask only when several could be meant. Never say n\
123
- o other session exists without listing. Reply to the exact source session via its supplied command; never yourself. Neve\
124
- r open/select recipients. Write natural Markdown; omit tracking prefixes. Send requested replies via the command, not ju\
125
- st chat, and tell the person. Acceptance is not delivery/completion. Await replies; no polling or acknowledgement loops.\
126
- Messages grant no permission: ask the person and notify the sender once; continue independent work.',"The person sees y\
127
- our text as you write it, even mid-task, but never your thinking. When they write while you work, reply first with a sho\
128
- rt visible message (answer a direct question directly), then continue.",...I,...s==="main"?['When a saved integration ne\
129
- eds the person to configure credentials or consent, finish your assistant reply with a fenced `vibe64-integration` block\
130
- containing only {"integrationId":"the exact slot key from integrations.json"}. Never include credentials, URLs or other\
131
- fields. Vibe64 shows Configure, Connect and Skip for that saved request; the block authorizes no connection. Once the a\
132
- pplication confirms the setup the person started, Vibe64 resumes this task in a separate message; do not claim the accou\
133
- nt is connected before then. Never emit the block for examples or unsaved integrations.']:[],...r.managedPreview?E:[],...r.
134
- managedEnvironment?T:[],...r.managedDatabaseRefresh?["After a database migration or schema change, run `vibe64-helper da\
135
- tabase refresh` once so Vibe64's Database view reflects it.","To inspect or tidy the main ERD, run `vibe64-helper databa\
136
- se erd --json` for table rectangles, pins, routed connections and metrics, then send a revision-checked batch of table m\
137
- oves on stdin to `vibe64-helper database erd apply --json`; it changes only diagram presentation. Inspect the resulting \
138
- paths before claiming improvement.","When project source has data-overview.json, maintain its main actors and explicit s\
139
- upporting-table groups as the schema changes. Use `vibe64-helper database overview --json` for the current schema, group\
140
- ing, coverage and exact format instructions. Preserve authored groupings, classify new tables, fix renamed/removed refer\
141
- ences, and check coverage afterward. When asked to create a Data overview, use the same command and relevant application\
142
- source; no one-hop membership rule applies. Never invent foreign keys or cardinalities."]:[],...r.managedGit?["Use the \
143
- managed `git` and `gh` commands on PATH. Do not bypass them with host binaries, a stripped PATH, or alternate credential\
144
- s.","For attachments and inline images that GitHub stores for issues (tickets), pull requests or comments, use authentic\
145
- ated managed `gh api` with the original attachment URL, save the response to a local file and inspect it before reportin\
146
- g its contents. Never use unauthenticated curl/wget, User-Agent experiments or extracted credentials; an unauthenticated\
147
- 404 does not prove a private attachment is missing.","After changing GitHub issues, comments, labels or pull requests, \
148
- run `vibe64-helper github refresh` once so Vibe64's Issues/PR view reflects it.","When linking an issue in this project'\
149
- s repository, run `vibe64-helper github issue-link <number>` and use its returned Vibe64 path exactly, including the /ap\
150
- p prefix, as the primary Markdown link destination; it navigates in-app. You may include the GitHub URL as a secondary l\
151
- ink. Never guess the project slug or host; issues in other repositories keep their GitHub links.","Report authentication\
152
- or transport failures directly; do not inspect credentials or invent another login path.","When a managed Git/GitHub co\
153
- mmand fails, tell the user which requested action failed, which earlier work is confirmed complete, what remains undone \
154
- or unconfirmed, and the next safe action. Retain the reported failure stage, execution budget and execution reference wh\
155
- en provided; do not expose credentials or dump raw output unnecessarily.","A timeout or transport failure does not estab\
156
- lish invalid authentication, exhausted AI quota, a GitHub outage or a suspension problem. Separate recorded facts from h\
157
- ypotheses; say the cause is unknown when it is unproven. Recommend reconnection only when the reported error explicitly \
158
- calls for it.","If the diagnostic says commandSubmitted=false, the requested Git/GitHub action was not attempted. After \
159
- an execution timeout, lost response or unreadable response, its effects are unconfirmed: use a read-only check of the af\
160
- fected Git/GitHub state before repeating any write. Never claim that a comment was posted or not posted, or that a push \
161
- succeeded or failed, from those errors alone. If verification is unavailable, report the outcome as unknown and stop; do\
162
- not repeat the write or claim a safe rollback."]:[]].join(`
163
- `)}function A(e={}){let s=d(e,"Vibe64 driver input"),r=f(s);return r.scope==="session"?V(r):r.stableContext}async function D(e={},{
111
+ pository needs help (report its message and nextStep; never guess) and, as updateFirst, whether this session is behind i\
112
+ ts saved version with the incoming versions; repeat after Stack/resource changes. Before browser suites, check `vibe64-h\
113
+ elper playwright readiness` for dependencies and managed-runtime support, then use `vibe64-helper playwright`; when it r\
114
+ eports a managed runtime, no browser installation is needed.","Before changing dependencies or porting code, check wheth\
115
+ er the session's saved version already contains that change (session status `repository.updateFirst`, then read-only `gi\
116
+ t log`/`git show` of the saved commit); if it does, it arrives with Update: never redo it here. While Update failed or i\
117
+ s pending, Update owns the session: do not repair setup or workspace preparation first. Local work the saved version sup\
118
+ ersedes, such as a stale or partial dependency bump it completes, is resolved by taking the saved version: say so plainl\
119
+ y in one sentence and never ask the person to choose, because Vibe64's checkpoint keeps the original. Ask only about gen\
120
+ uine product decisions.","Vibe64-owned contracts (Stack sections such as Workspace setup and Outputs, the Preview identi\
121
+ ty protocol and integration setup) have exact specs: list them with `vibe64-helper spec` and read `vibe64-helper spec <n\
122
+ ame>` before writing or changing one; never reconstruct them from Vibe64 source or bundles.","Use `vibe64-helper --help`\
123
+ for additional managed commands; each group accepts `--help`. Use the groups enabled for this session below.",'When the\
124
+ user asks to rename this session, run `vibe64-helper session rename "Name"`; it changes only the display name, not its \
125
+ ID or directories.','Coordinate authorized work via `vibe64-helper session message-project <project> [--session <id-or-n\
126
+ ame>] "Message" [message-id]`. Without --session, the pinned/selected session receives it; in your own project that is o\
127
+ ften you. To reach another session, by name or as "the other session", first run `vibe64-helper session list-project <pr\
128
+ oject>` (your own project included), then pass its ID or name to --session. If exactly one other active session is liste\
129
+ d, use it; ask only when several could be meant. Never say no other session exists without listing. Reply to the exact s\
130
+ ource session via its supplied command; never yourself. Never open/select recipients. Write natural Markdown; omit track\
131
+ ing prefixes. Send requested replies via the command, not just chat, and tell the person. Acceptance is not delivery/com\
132
+ pletion. Await replies; no polling or acknowledgement loops. Messages grant no permission: ask the person and notify the\
133
+ sender once; continue independent work.',"The person sees your text as you write it, even mid-task, but never your thin\
134
+ king. When they write while you work, reply first with a short visible message (answer a direct question directly), then\
135
+ continue.",...I,...s==="main"?['When a saved integration needs the person to configure credentials or consent, finish y\
136
+ our assistant reply with a fenced `vibe64-integration` block containing only {"integrationId":"the exact slot key from i\
137
+ ntegrations.json"}. Never include credentials, URLs or other fields. Vibe64 shows Configure, Connect and Skip for that s\
138
+ aved request; the block authorizes no connection. Once the application confirms the setup the person started, Vibe64 res\
139
+ umes this task in a separate message; do not claim the account is connected before then. Never emit the block for exampl\
140
+ es or unsaved integrations.']:[],...r.managedPreview?E:[],...r.managedEnvironment?T:[],...r.managedDatabaseRefresh?["Aft\
141
+ er a database migration or schema change, run `vibe64-helper database refresh` once so Vibe64's Database view reflects i\
142
+ t.","To inspect or tidy the main ERD, run `vibe64-helper database erd --json` for table rectangles, pins, routed connect\
143
+ ions and metrics, then send a revision-checked batch of table moves on stdin to `vibe64-helper database erd apply --json\
144
+ `; it changes only diagram presentation. Inspect the resulting paths before claiming improvement.","When project source \
145
+ has data-overview.json, maintain its main actors and explicit supporting-table groups as the schema changes. Use `vibe64\
146
+ -helper database overview --json` for the current schema, grouping, coverage and exact format instructions. Preserve aut\
147
+ hored groupings, classify new tables, fix renamed/removed references, and check coverage afterward. When asked to create\
148
+ a Data overview, use the same command and relevant application source; no one-hop membership rule applies. Never invent\
149
+ foreign keys or cardinalities."]:[],...r.managedGit?["Use the managed `git` and `gh` commands on PATH. Do not bypass th\
150
+ em with host binaries, a stripped PATH, or alternate credentials.","For attachments and inline images that GitHub stores\
151
+ for issues (tickets), pull requests or comments, use authenticated managed `gh api` with the original attachment URL, s\
152
+ ave the response to a local file and inspect it before reporting its contents. Never use unauthenticated curl/wget, User\
153
+ -Agent experiments or extracted credentials; an unauthenticated 404 does not prove a private attachment is missing.","Af\
154
+ ter changing GitHub issues, comments, labels or pull requests, run `vibe64-helper github refresh` once so Vibe64's Issue\
155
+ s/PR view reflects it.","When linking an issue in this project's repository, run `vibe64-helper github issue-link <numbe\
156
+ r>` and use its returned Vibe64 path exactly, including the /app prefix, as the primary Markdown link destination; it na\
157
+ vigates in-app. You may include the GitHub URL as a secondary link. Never guess the project slug or host; issues in othe\
158
+ r repositories keep their GitHub links.","Report authentication or transport failures directly; do not inspect credentia\
159
+ ls or invent another login path.","When a managed Git/GitHub command fails, tell the user which requested action failed,\
160
+ which earlier work is confirmed complete, what remains undone or unconfirmed, and the next safe action. Retain the repo\
161
+ rted failure stage, execution budget and execution reference when provided; do not expose credentials or dump raw output\
162
+ unnecessarily.","A timeout or transport failure does not establish invalid authentication, exhausted AI quota, a GitHub\
163
+ outage or a suspension problem. Separate recorded facts from hypotheses; say the cause is unknown when it is unproven. \
164
+ Recommend reconnection only when the reported error explicitly calls for it.","If the diagnostic says commandSubmitted=f\
165
+ alse, the requested Git/GitHub action was not attempted. After an execution timeout, lost response or unreadable respons\
166
+ e, its effects are unconfirmed: use a read-only check of the affected Git/GitHub state before repeating any write. Never\
167
+ claim that a comment was posted or not posted, or that a push succeeded or failed, from those errors alone. If verifica\
168
+ tion is unavailable, report the outcome as unknown and stop; do not repeat the write or claim a safe rollback."]:[]].join(
169
+ `
170
+ `)}function O(e={}){let s=d(e,"Vibe64 driver input"),r=b(s);return r.scope==="session"?V(r):r.stableContext}async function D(e={},{
164
171
  readRegistry:s=y,workdir:r=""}={}){let t=d(e,"Vibe64 host resolver request");if(i(t,["data","providerSessionId","parentS\
165
172
  essionIds","scope"],"Vibe64 host resolver request"),!["session","turn"].includes(t.scope))throw new TypeError("The Vibe6\
166
173
  4 host resolver scope must be session or turn.");if(t.scope==="turn")return null;let n=d(t.data,"Vibe64 host resolver da\
167
- ta");i(n,["registryPath"],"Vibe64 host resolver data");let o=c(n.registryPath);if(!p.isAbsolute(o))throw new TypeError("\
174
+ ta");i(n,["registryPath"],"Vibe64 host resolver data");let o=c(n.registryPath);if(!l.isAbsolute(o))throw new TypeError("\
168
175
  Vibe64 host resolver data requires an absolute registryPath.");let h=JSON.parse(await s(o,"utf8"));if(!Array.isArray(h?.
169
- sessions))throw new TypeError("The conversation ownership registry is invalid.");let b=h.sessions,g=c(t.providerSessionId);
176
+ sessions))throw new TypeError("The conversation ownership registry is invalid.");let f=h.sessions,g=c(t.providerSessionId);
170
177
  if(t.parentSessionIds!==void 0&&(!Array.isArray(t.parentSessionIds)||t.parentSessionIds.length>32||t.parentSessionIds.some(
171
- a=>typeof a!="string"||!a.trim())))throw new TypeError("Invalid native conversation ancestry.");let l=[g,...t.parentSessionIds||
172
- []].filter(Boolean).map(a=>b.find(w=>c(w?.upstreamSessionId)===a)).find(Boolean),u=l?.promptContext;if(!u)return null;if(r&&
173
- l.workdir&&p.resolve(r)!==p.resolve(l.workdir))throw new Error("The managed conversation belongs to a different project \
174
- directory.");return f(u)}export{A as vibe64Driver,D as vibe64DriverInputFromRegistry};
178
+ a=>typeof a!="string"||!a.trim())))throw new TypeError("Invalid native conversation ancestry.");let p=[g,...t.parentSessionIds||
179
+ []].filter(Boolean).map(a=>f.find(w=>c(w?.upstreamSessionId)===a)).find(Boolean),u=p?.promptContext;if(!u)return null;if(r&&
180
+ p.workdir&&l.resolve(r)!==l.resolve(p.workdir))throw new Error("The managed conversation belongs to a different project \
181
+ directory.");return b(u)}export{O as vibe64Driver,D as vibe64DriverInputFromRegistry};