@pellux/goodvibes-agent 1.0.36 → 1.0.37
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/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
Product-facing release notes for GoodVibes Agent.
|
|
4
4
|
|
|
5
|
+
## 1.0.37 - 2026-06-04
|
|
6
|
+
|
|
7
|
+
- Onboarding setup now renders full-bleed across the terminal with no inset edge.
|
|
8
|
+
- The Agent workspace rail now uses shared, meaningful section groups instead of one header per workspace.
|
|
9
|
+
|
|
5
10
|
## 1.0.36 - 2026-06-04
|
|
6
11
|
|
|
7
12
|
- Workspace navigation now uses distinct category group names instead of repeated setup headings.
|
package/dist/package/main.js
CHANGED
|
@@ -817145,7 +817145,7 @@ var createStyledCell = (char, overrides = {}) => ({
|
|
|
817145
817145
|
// src/version.ts
|
|
817146
817146
|
import { readFileSync } from "fs";
|
|
817147
817147
|
import { join } from "path";
|
|
817148
|
-
var _version = "1.0.
|
|
817148
|
+
var _version = "1.0.37";
|
|
817149
817149
|
try {
|
|
817150
817150
|
const pkg = JSON.parse(readFileSync(join(import.meta.dir, "..", "package.json"), "utf-8"));
|
|
817151
817151
|
_version = typeof pkg.version === "string" ? pkg.version : _version;
|
|
@@ -848695,13 +848695,13 @@ init_state3();
|
|
|
848695
848695
|
|
|
848696
848696
|
// src/input/commands/recall-shared.ts
|
|
848697
848697
|
var VALID_CLASSES = ["decision", "constraint", "incident", "pattern", "fact", "risk", "runbook", "architecture", "ownership"];
|
|
848698
|
-
var
|
|
848698
|
+
var VALID_SCOPES = ["session", "project", "team"];
|
|
848699
848699
|
var VALID_REVIEW_STATES = ["fresh", "reviewed", "stale", "contradicted"];
|
|
848700
848700
|
function isValidClass(s4) {
|
|
848701
848701
|
return VALID_CLASSES.includes(s4);
|
|
848702
848702
|
}
|
|
848703
848703
|
function isValidScope(s4) {
|
|
848704
|
-
return
|
|
848704
|
+
return VALID_SCOPES.includes(s4);
|
|
848705
848705
|
}
|
|
848706
848706
|
function isValidReviewState(s4) {
|
|
848707
848707
|
return VALID_REVIEW_STATES.includes(s4);
|
|
@@ -848744,7 +848744,7 @@ function handleRecallSearch(args2, context) {
|
|
|
848744
848744
|
if (isValidScope(scope))
|
|
848745
848745
|
filter.scope = scope;
|
|
848746
848746
|
else {
|
|
848747
|
-
context.print(`[memory] Unknown scope "${scope}". Valid values ${
|
|
848747
|
+
context.print(`[memory] Unknown scope "${scope}". Valid values ${VALID_SCOPES.join(", ")}.`);
|
|
848748
848748
|
return;
|
|
848749
848749
|
}
|
|
848750
848750
|
}
|
|
@@ -848919,7 +848919,7 @@ function handleRecallList(args2, context) {
|
|
|
848919
848919
|
if (scopeIdx !== -1 && args2[scopeIdx + 1]) {
|
|
848920
848920
|
const scope = args2[scopeIdx + 1];
|
|
848921
848921
|
if (!isValidScope(scope)) {
|
|
848922
|
-
context.print(`[memory] Unknown scope "${scope}". Valid values ${
|
|
848922
|
+
context.print(`[memory] Unknown scope "${scope}". Valid values ${VALID_SCOPES.join(", ")}.`);
|
|
848923
848923
|
return;
|
|
848924
848924
|
}
|
|
848925
848925
|
filter.scope = scope;
|
|
@@ -848969,7 +848969,7 @@ async function handleRecallAdd(args2, context) {
|
|
|
848969
848969
|
const tags = tagsRaw ? tagsRaw.split(",").map((token) => token.trim()).filter(Boolean) : [];
|
|
848970
848970
|
const scope = scopeRaw && isValidScope(scopeRaw) ? scopeRaw : "project";
|
|
848971
848971
|
if (scopeRaw && !isValidScope(scopeRaw)) {
|
|
848972
|
-
context.print(`[memory] Invalid scope "${scopeRaw}". Valid values ${
|
|
848972
|
+
context.print(`[memory] Invalid scope "${scopeRaw}". Valid values ${VALID_SCOPES.join(", ")}.`);
|
|
848973
848973
|
return;
|
|
848974
848974
|
}
|
|
848975
848975
|
const provenance = [];
|
|
@@ -849103,7 +849103,7 @@ function handleRecallExport(args2, context) {
|
|
|
849103
849103
|
if (scopeIdx !== -1 && commandArgs[scopeIdx + 1]) {
|
|
849104
849104
|
const scope = commandArgs[scopeIdx + 1];
|
|
849105
849105
|
if (!isValidScope(scope)) {
|
|
849106
|
-
context.print(`[memory] Unknown scope "${scope}". Valid values ${
|
|
849106
|
+
context.print(`[memory] Unknown scope "${scope}". Valid values ${VALID_SCOPES.join(", ")}.`);
|
|
849107
849107
|
return;
|
|
849108
849108
|
}
|
|
849109
849109
|
filter.scope = scope;
|
|
@@ -849182,7 +849182,7 @@ function handleRecallHandoffExport(args2, context) {
|
|
|
849182
849182
|
const scopeIdx = commandArgs.indexOf("--scope");
|
|
849183
849183
|
const scopeRaw = scopeIdx !== -1 ? commandArgs[scopeIdx + 1] : "team";
|
|
849184
849184
|
if (!scopeRaw || !isValidScope(scopeRaw)) {
|
|
849185
|
-
context.print(`[memory] Unknown scope "${scopeRaw ?? ""}". Valid values ${
|
|
849185
|
+
context.print(`[memory] Unknown scope "${scopeRaw ?? ""}". Valid values ${VALID_SCOPES.join(", ")}.`);
|
|
849186
849186
|
return;
|
|
849187
849187
|
}
|
|
849188
849188
|
const bundle = memory.exportBundle({ scope: scopeRaw });
|
|
@@ -849298,7 +849298,7 @@ function handleRecallPromote(args2, context) {
|
|
|
849298
849298
|
const id = parsed.rest[0];
|
|
849299
849299
|
const scope = parsed.rest[1];
|
|
849300
849300
|
if (!id || !scope || !isValidScope(scope)) {
|
|
849301
|
-
context.print(`[memory] Usage: /memory promote <id> <${
|
|
849301
|
+
context.print(`[memory] Usage: /memory promote <id> <${VALID_SCOPES.join("|")}> --yes`);
|
|
849302
849302
|
return;
|
|
849303
849303
|
}
|
|
849304
849304
|
if (!parsed.yes) {
|
|
@@ -863223,7 +863223,7 @@ import { mkdirSync as mkdirSync64, readFileSync as readFileSync85, writeFileSync
|
|
|
863223
863223
|
import { dirname as dirname63, resolve as resolve39 } from "path";
|
|
863224
863224
|
init_state3();
|
|
863225
863225
|
var VALID_CLASSES2 = ["decision", "constraint", "incident", "pattern", "fact", "risk", "runbook", "architecture", "ownership"];
|
|
863226
|
-
var
|
|
863226
|
+
var VALID_SCOPES3 = ["session", "project", "team"];
|
|
863227
863227
|
var VALID_REVIEW_STATES3 = ["fresh", "reviewed", "stale", "contradicted"];
|
|
863228
863228
|
var VALID_PROVENANCE_KINDS = ["session", "turn", "task", "event", "file"];
|
|
863229
863229
|
var VALUE_OPTIONS = new Set([
|
|
@@ -863323,7 +863323,7 @@ function isMemoryClass2(value) {
|
|
|
863323
863323
|
return VALID_CLASSES2.includes(value);
|
|
863324
863324
|
}
|
|
863325
863325
|
function isMemoryScope2(value) {
|
|
863326
|
-
return
|
|
863326
|
+
return VALID_SCOPES3.includes(value);
|
|
863327
863327
|
}
|
|
863328
863328
|
function isReviewState(value) {
|
|
863329
863329
|
return VALID_REVIEW_STATES3.includes(value);
|
|
@@ -863338,7 +863338,7 @@ function requireClass(value) {
|
|
|
863338
863338
|
}
|
|
863339
863339
|
function requireScope(value) {
|
|
863340
863340
|
if (!value || !isMemoryScope2(value))
|
|
863341
|
-
throw new Error(`Invalid memory scope "${value ?? ""}". Valid values ${
|
|
863341
|
+
throw new Error(`Invalid memory scope "${value ?? ""}". Valid values ${VALID_SCOPES3.join(", ")}`);
|
|
863342
863342
|
return value;
|
|
863343
863343
|
}
|
|
863344
863344
|
function optionalScope(value) {
|
|
@@ -887350,7 +887350,7 @@ function handleGuidanceOrWorkspaceAction(workspace, action2) {
|
|
|
887350
887350
|
var AGENT_WORKSPACE_CATEGORIES = [
|
|
887351
887351
|
{
|
|
887352
887352
|
id: "home",
|
|
887353
|
-
group: "
|
|
887353
|
+
group: "START",
|
|
887354
887354
|
label: "Home",
|
|
887355
887355
|
summary: "Main operator workspace for normal assistant work.",
|
|
887356
887356
|
detail: "Use this as the primary Agent workspace: chat in the main conversation, inspect state, choose model/provider, and open setup without switching modes.",
|
|
@@ -887382,7 +887382,7 @@ var AGENT_WORKSPACE_CATEGORIES = [
|
|
|
887382
887382
|
},
|
|
887383
887383
|
{
|
|
887384
887384
|
id: "setup",
|
|
887385
|
-
group: "
|
|
887385
|
+
group: "START",
|
|
887386
887386
|
label: "Setup",
|
|
887387
887387
|
summary: "Configuration, auth, provider, and onboarding workspaces.",
|
|
887388
887388
|
detail: "Use this to configure the assistant: provider/model, setup checklist, Agent Knowledge, local behavior, channels, and voice/media. Changes here stay Agent-owned.",
|
|
@@ -887441,7 +887441,7 @@ var AGENT_WORKSPACE_CATEGORIES = [
|
|
|
887441
887441
|
},
|
|
887442
887442
|
{
|
|
887443
887443
|
id: "research",
|
|
887444
|
-
group: "
|
|
887444
|
+
group: "DAY-TO-DAY",
|
|
887445
887445
|
label: "Research",
|
|
887446
887446
|
summary: "Read-only web research and source triage in the main conversation.",
|
|
887447
887447
|
detail: "Use this workspace to ask Agent to search, inspect URLs, compare sources, and decide what belongs in isolated Agent Knowledge. Research requests run in the normal conversation; source ingestion is explicit.",
|
|
@@ -887460,7 +887460,7 @@ var AGENT_WORKSPACE_CATEGORIES = [
|
|
|
887460
887460
|
},
|
|
887461
887461
|
{
|
|
887462
887462
|
id: "artifacts",
|
|
887463
|
-
group: "
|
|
887463
|
+
group: "DAY-TO-DAY",
|
|
887464
887464
|
label: "Artifacts",
|
|
887465
887465
|
summary: "Files, attachments, exports, source ingest, and generated media.",
|
|
887466
887466
|
detail: "Use this workspace to handle concrete user-visible artifacts: attach images, export conversations, ingest source files into Agent Knowledge, inspect source libraries, and generate media with explicit confirmation.",
|
|
@@ -887483,7 +887483,7 @@ var AGENT_WORKSPACE_CATEGORIES = [
|
|
|
887483
887483
|
},
|
|
887484
887484
|
{
|
|
887485
887485
|
id: "conversation",
|
|
887486
|
-
group: "
|
|
887486
|
+
group: "DAY-TO-DAY",
|
|
887487
887487
|
label: "Conversation",
|
|
887488
887488
|
summary: "Transcript, prompt, context, and session controls.",
|
|
887489
887489
|
detail: "Use this workspace for the main TUI conversation: context review, compaction, prompt helpers, transcript navigation, session continuity, title, export, undo, redo, and retry.",
|
|
@@ -887528,7 +887528,7 @@ var AGENT_WORKSPACE_CATEGORIES = [
|
|
|
887528
887528
|
},
|
|
887529
887529
|
{
|
|
887530
887530
|
id: "channels",
|
|
887531
|
-
group: "
|
|
887531
|
+
group: "CAPABILITIES",
|
|
887532
887532
|
label: "Channels",
|
|
887533
887533
|
summary: "Companion pairing, channel posture, and delivery safety.",
|
|
887534
887534
|
detail: "Agent uses connected channel accounts. Pairing, account inspection, and readiness checks are visible here; inbound delivery and public channel exposure stay policy-gated.",
|
|
@@ -887556,7 +887556,7 @@ var AGENT_WORKSPACE_CATEGORIES = [
|
|
|
887556
887556
|
},
|
|
887557
887557
|
{
|
|
887558
887558
|
id: "tools",
|
|
887559
|
-
group: "
|
|
887559
|
+
group: "CAPABILITIES",
|
|
887560
887560
|
label: "Tools & MCP",
|
|
887561
887561
|
summary: "MCP server setup, trust review, and tool inventory.",
|
|
887562
887562
|
detail: "Configure and inspect task tools from the Agent TUI. Adding or changing tools requires typed confirmation; normal chat still chooses tools serially in the main conversation.",
|
|
@@ -887587,7 +887587,7 @@ var AGENT_WORKSPACE_CATEGORIES = [
|
|
|
887587
887587
|
},
|
|
887588
887588
|
{
|
|
887589
887589
|
id: "knowledge",
|
|
887590
|
-
group: "
|
|
887590
|
+
group: "CAPABILITIES",
|
|
887591
887591
|
label: "Knowledge",
|
|
887592
887592
|
summary: "Agent Knowledge and source-backed lookup.",
|
|
887593
887593
|
detail: "Agent knowledge calls use the isolated Agent Knowledge route family only. Default knowledge and non-Agent knowledge segments are not the Agent knowledge environment.",
|
|
@@ -887623,7 +887623,7 @@ var AGENT_WORKSPACE_CATEGORIES = [
|
|
|
887623
887623
|
},
|
|
887624
887624
|
{
|
|
887625
887625
|
id: "voice-media",
|
|
887626
|
-
group: "
|
|
887626
|
+
group: "CAPABILITIES",
|
|
887627
887627
|
label: "Voice & Media",
|
|
887628
887628
|
summary: "Voice, TTS, image input, browser tools, and media providers.",
|
|
887629
887629
|
detail: "Voice, media, browser tools, and image-capable flows are first-class Agent tools. Connected-host administration stays outside Agent and side effects stay explicit.",
|
|
@@ -887649,7 +887649,7 @@ var AGENT_WORKSPACE_CATEGORIES = [
|
|
|
887649
887649
|
},
|
|
887650
887650
|
{
|
|
887651
887651
|
id: "profiles",
|
|
887652
|
-
group: "
|
|
887652
|
+
group: "LOCAL BEHAVIOR",
|
|
887653
887653
|
label: "Profiles",
|
|
887654
887654
|
summary: "Isolated Agent homes, starter templates, and setup bundles.",
|
|
887655
887655
|
detail: "Agent profiles isolate Agent state. Named homes and starter templates let one install behave like separate assistants for household, research, travel, operations, or personal workflows.",
|
|
@@ -887672,7 +887672,7 @@ var AGENT_WORKSPACE_CATEGORIES = [
|
|
|
887672
887672
|
},
|
|
887673
887673
|
{
|
|
887674
887674
|
id: "memory",
|
|
887675
|
-
group: "
|
|
887675
|
+
group: "LOCAL BEHAVIOR",
|
|
887676
887676
|
label: "Memory & Skills",
|
|
887677
887677
|
summary: "Local assistant memory, notes, routines, skills, and reusable behavior.",
|
|
887678
887678
|
detail: "Memory, notes, routines, skills, and personas stay Agent-local until stable shared registry contracts exist. Secrets must not be stored as memory or notes.",
|
|
@@ -887709,7 +887709,7 @@ var AGENT_WORKSPACE_CATEGORIES = [
|
|
|
887709
887709
|
},
|
|
887710
887710
|
{
|
|
887711
887711
|
id: "notes",
|
|
887712
|
-
group: "
|
|
887712
|
+
group: "LOCAL BEHAVIOR",
|
|
887713
887713
|
label: "Notes",
|
|
887714
887714
|
summary: "Agent-local scratchpad for source triage and temporary context.",
|
|
887715
887715
|
detail: "Notes are local working context. They are useful for research notes, decisions in progress, and handoff notes, but they are not memory and are not Agent Knowledge.",
|
|
@@ -887732,7 +887732,7 @@ var AGENT_WORKSPACE_CATEGORIES = [
|
|
|
887732
887732
|
},
|
|
887733
887733
|
{
|
|
887734
887734
|
id: "personas",
|
|
887735
|
-
group: "
|
|
887735
|
+
group: "LOCAL BEHAVIOR",
|
|
887736
887736
|
label: "Personas",
|
|
887737
887737
|
summary: "Local behavior profiles for the main assistant.",
|
|
887738
887738
|
detail: "Personas shape the serial Agent in the main conversation. They are local behavior profiles, not separate Agent identities.",
|
|
@@ -887755,7 +887755,7 @@ var AGENT_WORKSPACE_CATEGORIES = [
|
|
|
887755
887755
|
},
|
|
887756
887756
|
{
|
|
887757
887757
|
id: "skills",
|
|
887758
|
-
group: "
|
|
887758
|
+
group: "LOCAL BEHAVIOR",
|
|
887759
887759
|
label: "Skills",
|
|
887760
887760
|
summary: "Reusable local procedures with setup readiness.",
|
|
887761
887761
|
detail: "Skills are local, reviewable procedures with optional env/command requirements. Enabled skills inform the main conversation; secret-looking content is rejected.",
|
|
@@ -887790,7 +887790,7 @@ var AGENT_WORKSPACE_CATEGORIES = [
|
|
|
887790
887790
|
},
|
|
887791
887791
|
{
|
|
887792
887792
|
id: "routines",
|
|
887793
|
-
group: "
|
|
887793
|
+
group: "LOCAL BEHAVIOR",
|
|
887794
887794
|
label: "Routines",
|
|
887795
887795
|
summary: "Repeatable workflows with setup readiness.",
|
|
887796
887796
|
detail: "Routines run in the main conversation by default and can declare env/command requirements. Promotion to a connected schedule requires a real schedule command and --yes.",
|
|
@@ -887820,7 +887820,7 @@ var AGENT_WORKSPACE_CATEGORIES = [
|
|
|
887820
887820
|
},
|
|
887821
887821
|
{
|
|
887822
887822
|
id: "work",
|
|
887823
|
-
group: "
|
|
887823
|
+
group: "OPERATIONS",
|
|
887824
887824
|
label: "Work & Approvals",
|
|
887825
887825
|
summary: "Visible task state, work plan, and approval posture.",
|
|
887826
887826
|
detail: "Use this workspace to inspect active operator state and update visible work-plan items from confirmed TUI forms.",
|
|
@@ -887874,7 +887874,7 @@ var AGENT_WORKSPACE_CATEGORIES = [
|
|
|
887874
887874
|
},
|
|
887875
887875
|
{
|
|
887876
887876
|
id: "host",
|
|
887877
|
-
group: "
|
|
887877
|
+
group: "OPERATIONS",
|
|
887878
887878
|
label: "Connected Host",
|
|
887879
887879
|
summary: "Connected-host health, tasks, sessions, channels, and automation.",
|
|
887880
887880
|
detail: "Use this workspace to inspect the GoodVibes host surfaces that Agent can see: system health, remote routes, host tasks, sessions, channels, schedules, knowledge, media, MCP, provider auth, support bundles, and telemetry/config posture.",
|
|
@@ -887918,7 +887918,7 @@ var AGENT_WORKSPACE_CATEGORIES = [
|
|
|
887918
887918
|
},
|
|
887919
887919
|
{
|
|
887920
887920
|
id: "automation",
|
|
887921
|
-
group: "
|
|
887921
|
+
group: "OPERATIONS",
|
|
887922
887922
|
label: "Automation",
|
|
887923
887923
|
summary: "Reminders, schedule observability, and explicit routine promotion.",
|
|
887924
887924
|
detail: "Agent does not create hidden local automation jobs. Confirmed reminders, reviewed routine promotion, and explicit run/pause/resume controls go through the connected host with confirmation.",
|
|
@@ -887945,7 +887945,7 @@ var AGENT_WORKSPACE_CATEGORIES = [
|
|
|
887945
887945
|
},
|
|
887946
887946
|
{
|
|
887947
887947
|
id: "delegate",
|
|
887948
|
-
group: "
|
|
887948
|
+
group: "OPERATIONS",
|
|
887949
887949
|
label: "Build Delegation",
|
|
887950
887950
|
summary: "Explicit handoff to GoodVibes TUI for code work.",
|
|
887951
887951
|
detail: "Agent does not become the coding TUI. Build, implement, fix, patch, and review work must be handed to GoodVibes TUI with the full original ask and delegated review only when explicitly requested.",
|
|
@@ -906567,8 +906567,7 @@ function renderCollapsedLayout(wizard, width, viewportHeight, layout) {
|
|
|
906567
906567
|
return lines.slice(0, viewportHeight);
|
|
906568
906568
|
}
|
|
906569
906569
|
function renderOnboardingWizard(wizard, width, viewportHeight) {
|
|
906570
|
-
const
|
|
906571
|
-
const layout = createOverlayBoxLayout(width, margin, Math.max(20, width - margin * 2));
|
|
906570
|
+
const layout = createOverlayBoxLayout(width, 0, Math.max(20, width));
|
|
906572
906571
|
const collapsed = layout.innerWidth < 86;
|
|
906573
906572
|
return collapsed ? renderCollapsedLayout(wizard, width, viewportHeight, layout) : renderWideLayout(wizard, width, viewportHeight, layout);
|
|
906574
906573
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pellux/goodvibes-agent",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.37",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "GoodVibes personal operator assistant TUI with a proactive Agent product brain, isolated Agent Knowledge, local profiles, routines, skills, personas, and explicit build delegation.",
|
|
6
6
|
"type": "module",
|
|
@@ -3,7 +3,7 @@ import type { AgentWorkspaceCategory } from './agent-workspace-types.ts';
|
|
|
3
3
|
export const AGENT_WORKSPACE_CATEGORIES: readonly AgentWorkspaceCategory[] = [
|
|
4
4
|
{
|
|
5
5
|
id: 'home',
|
|
6
|
-
group: '
|
|
6
|
+
group: 'START',
|
|
7
7
|
label: 'Home',
|
|
8
8
|
summary: 'Main operator workspace for normal assistant work.',
|
|
9
9
|
detail: 'Use this as the primary Agent workspace: chat in the main conversation, inspect state, choose model/provider, and open setup without switching modes.',
|
|
@@ -35,7 +35,7 @@ export const AGENT_WORKSPACE_CATEGORIES: readonly AgentWorkspaceCategory[] = [
|
|
|
35
35
|
},
|
|
36
36
|
{
|
|
37
37
|
id: 'setup',
|
|
38
|
-
group: '
|
|
38
|
+
group: 'START',
|
|
39
39
|
label: 'Setup',
|
|
40
40
|
summary: 'Configuration, auth, provider, and onboarding workspaces.',
|
|
41
41
|
detail: 'Use this to configure the assistant: provider/model, setup checklist, Agent Knowledge, local behavior, channels, and voice/media. Changes here stay Agent-owned.',
|
|
@@ -94,7 +94,7 @@ export const AGENT_WORKSPACE_CATEGORIES: readonly AgentWorkspaceCategory[] = [
|
|
|
94
94
|
},
|
|
95
95
|
{
|
|
96
96
|
id: 'research',
|
|
97
|
-
group: '
|
|
97
|
+
group: 'DAY-TO-DAY',
|
|
98
98
|
label: 'Research',
|
|
99
99
|
summary: 'Read-only web research and source triage in the main conversation.',
|
|
100
100
|
detail: 'Use this workspace to ask Agent to search, inspect URLs, compare sources, and decide what belongs in isolated Agent Knowledge. Research requests run in the normal conversation; source ingestion is explicit.',
|
|
@@ -113,7 +113,7 @@ export const AGENT_WORKSPACE_CATEGORIES: readonly AgentWorkspaceCategory[] = [
|
|
|
113
113
|
},
|
|
114
114
|
{
|
|
115
115
|
id: 'artifacts',
|
|
116
|
-
group: '
|
|
116
|
+
group: 'DAY-TO-DAY',
|
|
117
117
|
label: 'Artifacts',
|
|
118
118
|
summary: 'Files, attachments, exports, source ingest, and generated media.',
|
|
119
119
|
detail: 'Use this workspace to handle concrete user-visible artifacts: attach images, export conversations, ingest source files into Agent Knowledge, inspect source libraries, and generate media with explicit confirmation.',
|
|
@@ -136,7 +136,7 @@ export const AGENT_WORKSPACE_CATEGORIES: readonly AgentWorkspaceCategory[] = [
|
|
|
136
136
|
},
|
|
137
137
|
{
|
|
138
138
|
id: 'conversation',
|
|
139
|
-
group: '
|
|
139
|
+
group: 'DAY-TO-DAY',
|
|
140
140
|
label: 'Conversation',
|
|
141
141
|
summary: 'Transcript, prompt, context, and session controls.',
|
|
142
142
|
detail: 'Use this workspace for the main TUI conversation: context review, compaction, prompt helpers, transcript navigation, session continuity, title, export, undo, redo, and retry.',
|
|
@@ -181,7 +181,7 @@ export const AGENT_WORKSPACE_CATEGORIES: readonly AgentWorkspaceCategory[] = [
|
|
|
181
181
|
},
|
|
182
182
|
{
|
|
183
183
|
id: 'channels',
|
|
184
|
-
group: '
|
|
184
|
+
group: 'CAPABILITIES',
|
|
185
185
|
label: 'Channels',
|
|
186
186
|
summary: 'Companion pairing, channel posture, and delivery safety.',
|
|
187
187
|
detail: 'Agent uses connected channel accounts. Pairing, account inspection, and readiness checks are visible here; inbound delivery and public channel exposure stay policy-gated.',
|
|
@@ -209,7 +209,7 @@ export const AGENT_WORKSPACE_CATEGORIES: readonly AgentWorkspaceCategory[] = [
|
|
|
209
209
|
},
|
|
210
210
|
{
|
|
211
211
|
id: 'tools',
|
|
212
|
-
group: '
|
|
212
|
+
group: 'CAPABILITIES',
|
|
213
213
|
label: 'Tools & MCP',
|
|
214
214
|
summary: 'MCP server setup, trust review, and tool inventory.',
|
|
215
215
|
detail: 'Configure and inspect task tools from the Agent TUI. Adding or changing tools requires typed confirmation; normal chat still chooses tools serially in the main conversation.',
|
|
@@ -240,7 +240,7 @@ export const AGENT_WORKSPACE_CATEGORIES: readonly AgentWorkspaceCategory[] = [
|
|
|
240
240
|
},
|
|
241
241
|
{
|
|
242
242
|
id: 'knowledge',
|
|
243
|
-
group: '
|
|
243
|
+
group: 'CAPABILITIES',
|
|
244
244
|
label: 'Knowledge',
|
|
245
245
|
summary: 'Agent Knowledge and source-backed lookup.',
|
|
246
246
|
detail: 'Agent knowledge calls use the isolated Agent Knowledge route family only. Default knowledge and non-Agent knowledge segments are not the Agent knowledge environment.',
|
|
@@ -276,7 +276,7 @@ export const AGENT_WORKSPACE_CATEGORIES: readonly AgentWorkspaceCategory[] = [
|
|
|
276
276
|
},
|
|
277
277
|
{
|
|
278
278
|
id: 'voice-media',
|
|
279
|
-
group: '
|
|
279
|
+
group: 'CAPABILITIES',
|
|
280
280
|
label: 'Voice & Media',
|
|
281
281
|
summary: 'Voice, TTS, image input, browser tools, and media providers.',
|
|
282
282
|
detail: 'Voice, media, browser tools, and image-capable flows are first-class Agent tools. Connected-host administration stays outside Agent and side effects stay explicit.',
|
|
@@ -302,7 +302,7 @@ export const AGENT_WORKSPACE_CATEGORIES: readonly AgentWorkspaceCategory[] = [
|
|
|
302
302
|
},
|
|
303
303
|
{
|
|
304
304
|
id: 'profiles',
|
|
305
|
-
group: '
|
|
305
|
+
group: 'LOCAL BEHAVIOR',
|
|
306
306
|
label: 'Profiles',
|
|
307
307
|
summary: 'Isolated Agent homes, starter templates, and setup bundles.',
|
|
308
308
|
detail: 'Agent profiles isolate Agent state. Named homes and starter templates let one install behave like separate assistants for household, research, travel, operations, or personal workflows.',
|
|
@@ -325,7 +325,7 @@ export const AGENT_WORKSPACE_CATEGORIES: readonly AgentWorkspaceCategory[] = [
|
|
|
325
325
|
},
|
|
326
326
|
{
|
|
327
327
|
id: 'memory',
|
|
328
|
-
group: '
|
|
328
|
+
group: 'LOCAL BEHAVIOR',
|
|
329
329
|
label: 'Memory & Skills',
|
|
330
330
|
summary: 'Local assistant memory, notes, routines, skills, and reusable behavior.',
|
|
331
331
|
detail: 'Memory, notes, routines, skills, and personas stay Agent-local until stable shared registry contracts exist. Secrets must not be stored as memory or notes.',
|
|
@@ -362,7 +362,7 @@ export const AGENT_WORKSPACE_CATEGORIES: readonly AgentWorkspaceCategory[] = [
|
|
|
362
362
|
},
|
|
363
363
|
{
|
|
364
364
|
id: 'notes',
|
|
365
|
-
group: '
|
|
365
|
+
group: 'LOCAL BEHAVIOR',
|
|
366
366
|
label: 'Notes',
|
|
367
367
|
summary: 'Agent-local scratchpad for source triage and temporary context.',
|
|
368
368
|
detail: 'Notes are local working context. They are useful for research notes, decisions in progress, and handoff notes, but they are not memory and are not Agent Knowledge.',
|
|
@@ -385,7 +385,7 @@ export const AGENT_WORKSPACE_CATEGORIES: readonly AgentWorkspaceCategory[] = [
|
|
|
385
385
|
},
|
|
386
386
|
{
|
|
387
387
|
id: 'personas',
|
|
388
|
-
group: '
|
|
388
|
+
group: 'LOCAL BEHAVIOR',
|
|
389
389
|
label: 'Personas',
|
|
390
390
|
summary: 'Local behavior profiles for the main assistant.',
|
|
391
391
|
detail: 'Personas shape the serial Agent in the main conversation. They are local behavior profiles, not separate Agent identities.',
|
|
@@ -408,7 +408,7 @@ export const AGENT_WORKSPACE_CATEGORIES: readonly AgentWorkspaceCategory[] = [
|
|
|
408
408
|
},
|
|
409
409
|
{
|
|
410
410
|
id: 'skills',
|
|
411
|
-
group: '
|
|
411
|
+
group: 'LOCAL BEHAVIOR',
|
|
412
412
|
label: 'Skills',
|
|
413
413
|
summary: 'Reusable local procedures with setup readiness.',
|
|
414
414
|
detail: 'Skills are local, reviewable procedures with optional env/command requirements. Enabled skills inform the main conversation; secret-looking content is rejected.',
|
|
@@ -443,7 +443,7 @@ export const AGENT_WORKSPACE_CATEGORIES: readonly AgentWorkspaceCategory[] = [
|
|
|
443
443
|
},
|
|
444
444
|
{
|
|
445
445
|
id: 'routines',
|
|
446
|
-
group: '
|
|
446
|
+
group: 'LOCAL BEHAVIOR',
|
|
447
447
|
label: 'Routines',
|
|
448
448
|
summary: 'Repeatable workflows with setup readiness.',
|
|
449
449
|
detail: 'Routines run in the main conversation by default and can declare env/command requirements. Promotion to a connected schedule requires a real schedule command and --yes.',
|
|
@@ -473,7 +473,7 @@ export const AGENT_WORKSPACE_CATEGORIES: readonly AgentWorkspaceCategory[] = [
|
|
|
473
473
|
},
|
|
474
474
|
{
|
|
475
475
|
id: 'work',
|
|
476
|
-
group: '
|
|
476
|
+
group: 'OPERATIONS',
|
|
477
477
|
label: 'Work & Approvals',
|
|
478
478
|
summary: 'Visible task state, work plan, and approval posture.',
|
|
479
479
|
detail: 'Use this workspace to inspect active operator state and update visible work-plan items from confirmed TUI forms.',
|
|
@@ -527,7 +527,7 @@ export const AGENT_WORKSPACE_CATEGORIES: readonly AgentWorkspaceCategory[] = [
|
|
|
527
527
|
},
|
|
528
528
|
{
|
|
529
529
|
id: 'host',
|
|
530
|
-
group: '
|
|
530
|
+
group: 'OPERATIONS',
|
|
531
531
|
label: 'Connected Host',
|
|
532
532
|
summary: 'Connected-host health, tasks, sessions, channels, and automation.',
|
|
533
533
|
detail: 'Use this workspace to inspect the GoodVibes host surfaces that Agent can see: system health, remote routes, host tasks, sessions, channels, schedules, knowledge, media, MCP, provider auth, support bundles, and telemetry/config posture.',
|
|
@@ -571,7 +571,7 @@ export const AGENT_WORKSPACE_CATEGORIES: readonly AgentWorkspaceCategory[] = [
|
|
|
571
571
|
},
|
|
572
572
|
{
|
|
573
573
|
id: 'automation',
|
|
574
|
-
group: '
|
|
574
|
+
group: 'OPERATIONS',
|
|
575
575
|
label: 'Automation',
|
|
576
576
|
summary: 'Reminders, schedule observability, and explicit routine promotion.',
|
|
577
577
|
detail: 'Agent does not create hidden local automation jobs. Confirmed reminders, reviewed routine promotion, and explicit run/pause/resume controls go through the connected host with confirmation.',
|
|
@@ -598,7 +598,7 @@ export const AGENT_WORKSPACE_CATEGORIES: readonly AgentWorkspaceCategory[] = [
|
|
|
598
598
|
},
|
|
599
599
|
{
|
|
600
600
|
id: 'delegate',
|
|
601
|
-
group: '
|
|
601
|
+
group: 'OPERATIONS',
|
|
602
602
|
label: 'Build Delegation',
|
|
603
603
|
summary: 'Explicit handoff to GoodVibes TUI for code work.',
|
|
604
604
|
detail: 'Agent does not become the coding TUI. Build, implement, fix, patch, and review work must be handed to GoodVibes TUI with the full original ask and delegated review only when explicitly requested.',
|
|
@@ -634,8 +634,7 @@ export function renderOnboardingWizard(
|
|
|
634
634
|
width: number,
|
|
635
635
|
viewportHeight: number,
|
|
636
636
|
): Line[] {
|
|
637
|
-
const
|
|
638
|
-
const layout = createOverlayBoxLayout(width, margin, Math.max(20, width - margin * 2));
|
|
637
|
+
const layout = createOverlayBoxLayout(width, 0, Math.max(20, width));
|
|
639
638
|
const collapsed = layout.innerWidth < 86;
|
|
640
639
|
return collapsed
|
|
641
640
|
? renderCollapsedLayout(wizard, width, viewportHeight, layout)
|
package/src/version.ts
CHANGED
|
@@ -6,7 +6,7 @@ import { join } from 'node:path';
|
|
|
6
6
|
// The prebuild script updates the fallback value before compilation.
|
|
7
7
|
// Uses import.meta.dir (Bun) to locate package.json relative to this file,
|
|
8
8
|
// which is correct regardless of the process working directory.
|
|
9
|
-
let _version = '1.0.
|
|
9
|
+
let _version = '1.0.37';
|
|
10
10
|
try {
|
|
11
11
|
const pkg = JSON.parse(readFileSync(join(import.meta.dir, '..', 'package.json'), 'utf-8')) as {
|
|
12
12
|
readonly version?: unknown;
|