@pellux/goodvibes-agent 0.1.5 → 0.1.6
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,13 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to GoodVibes Agent will be recorded here.
|
|
4
4
|
|
|
5
|
+
## 0.1.6 - 2026-05-31
|
|
6
|
+
|
|
7
|
+
- Made the publish helper use exported `NODE_AUTH_TOKEN` or `NPM_TOKEN` automatically by writing a temporary npm user config for publish commands.
|
|
8
|
+
- Rewrote source docs for tools, commands, knowledge, artifacts, and multimodal behavior so they describe Agent-only Knowledge/Wiki and never teach default Knowledge/Wiki or HomeGraph fallback.
|
|
9
|
+
- Updated `/plan` command and Planning panel language from copied TUI-owned wording to Agent-owned workspace planning state.
|
|
10
|
+
- Added regression tests that keep source docs and active planning surfaces aligned with Agent Knowledge isolation and Agent product language.
|
|
11
|
+
|
|
5
12
|
## 0.1.5 - 2026-05-31
|
|
6
13
|
|
|
7
14
|
- Hardened package-facing release checks so shipped docs and Agent guidance cannot reintroduce default Knowledge/Wiki, HomeGraph, Home Assistant, copied TUI daemon, or copied WRFC-first policy text.
|
package/docs/getting-started.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Getting Started
|
|
2
2
|
|
|
3
|
-
GoodVibes Agent `0.1.
|
|
3
|
+
GoodVibes Agent `0.1.6` is the current installable public alpha of the personal operator assistant built on the GoodVibes TUI foundation.
|
|
4
4
|
|
|
5
5
|
## Requirements
|
|
6
6
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Release And Publishing
|
|
2
2
|
|
|
3
|
-
GoodVibes Agent `0.1.
|
|
3
|
+
GoodVibes Agent `0.1.6` is the current installable public alpha release.
|
|
4
4
|
|
|
5
5
|
## Package Identity
|
|
6
6
|
|
|
@@ -25,6 +25,8 @@ npm pack --dry-run
|
|
|
25
25
|
git diff --check
|
|
26
26
|
```
|
|
27
27
|
|
|
28
|
+
`bun run publish:package` publishes from a staged package directory. If `NPM_CONFIG_USERCONFIG` is already set, npm uses it. Otherwise the script creates a temporary 0600 npm userconfig from `NODE_AUTH_TOKEN` or `NPM_TOKEN`, uses it for that publish command, and removes it with the staging directory.
|
|
29
|
+
|
|
28
30
|
Also run the package install smoke from a packed artifact. It must prove:
|
|
29
31
|
|
|
30
32
|
- the installed command is on `PATH`
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pellux/goodvibes-agent",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.6",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "Near-fork GoodVibes operator assistant with the GoodVibes TUI shell, renderer, input, fullscreen workspace, and daemon-connected Agent product brain.",
|
|
6
6
|
"type": "module",
|
|
@@ -43,14 +43,14 @@ function formatNextQuestion(question: ProjectPlanningQuestion | undefined): stri
|
|
|
43
43
|
if (!question) return 'No next question recorded.';
|
|
44
44
|
const lines = [`Next question: ${question.prompt}`];
|
|
45
45
|
if (question.recommendedAnswer) lines.push(`Recommended answer: ${question.recommendedAnswer}`);
|
|
46
|
-
lines.push('Answer in the prompt, or focus the Planning
|
|
46
|
+
lines.push('Answer in the prompt, or focus the Planning workspace to choose/type an answer.');
|
|
47
47
|
return lines.join('\n');
|
|
48
48
|
}
|
|
49
49
|
|
|
50
50
|
export function registerPlanningRuntimeCommands(registry: CommandRegistry): void {
|
|
51
51
|
registry.register({
|
|
52
52
|
name: 'plan',
|
|
53
|
-
description: 'Inspect or seed
|
|
53
|
+
description: 'Inspect or seed Agent workspace planning state',
|
|
54
54
|
usage: '[panel | approve | list | show <id> | mode | explain | override <strategy> | status | clear | <planning goal>]',
|
|
55
55
|
argsHint: '[panel|approve|status|<goal>]',
|
|
56
56
|
async handler(args, ctx) {
|
|
@@ -86,7 +86,7 @@ export function registerPlanningRuntimeCommands(registry: CommandRegistry): void
|
|
|
86
86
|
ctx.print(
|
|
87
87
|
`Project planning: ${evaluation.readiness}\n` +
|
|
88
88
|
`Project: ${status.projectId}\n` +
|
|
89
|
-
`
|
|
89
|
+
`Planning namespace: ${status.knowledgeSpaceId}\n` +
|
|
90
90
|
`Artifacts: ${status.counts.states} state, ${status.counts.decisions} decisions, ${status.counts.languageArtifacts} language\n` +
|
|
91
91
|
formatNextQuestion(evaluation.nextQuestion),
|
|
92
92
|
);
|
|
@@ -175,11 +175,11 @@ export function registerPlanningRuntimeCommands(registry: CommandRegistry): void
|
|
|
175
175
|
state: {
|
|
176
176
|
goal: taskDescription,
|
|
177
177
|
knownContext: [
|
|
178
|
-
`Workspace planning was seeded from the
|
|
178
|
+
`Workspace planning was seeded from the Agent /plan command.`,
|
|
179
179
|
],
|
|
180
180
|
metadata: {
|
|
181
181
|
active: true,
|
|
182
|
-
owner: '
|
|
182
|
+
owner: 'agent',
|
|
183
183
|
source: 'plan-command',
|
|
184
184
|
lastPromptAt: Date.now(),
|
|
185
185
|
},
|
|
@@ -174,11 +174,11 @@ export class ProjectPlanningPanel extends BasePanel {
|
|
|
174
174
|
lines: [
|
|
175
175
|
buildKeyValueLine(width, [
|
|
176
176
|
{ label: 'project', value: this.projectId, valueColor: C.planning },
|
|
177
|
-
{ label: '
|
|
178
|
-
{ label: 'mode', value: '
|
|
177
|
+
{ label: 'store', value: status?.knowledgeSpaceId ?? `project:${this.projectId}`, valueColor: C.value },
|
|
178
|
+
{ label: 'mode', value: 'Agent-owned workspace planning state', valueColor: C.info },
|
|
179
179
|
], C),
|
|
180
180
|
buildPanelLine(width, [
|
|
181
|
-
[' Planning
|
|
181
|
+
[' Planning stays in the Agent main conversation; build/fix/review execution is delegated explicitly to GoodVibes TUI.', C.dim],
|
|
182
182
|
]),
|
|
183
183
|
],
|
|
184
184
|
});
|
|
@@ -189,7 +189,7 @@ export class ProjectPlanningPanel extends BasePanel {
|
|
|
189
189
|
lines: buildEmptyState(
|
|
190
190
|
width,
|
|
191
191
|
'No project planning state has been saved for this workspace.',
|
|
192
|
-
'Describe the intended
|
|
192
|
+
'Describe the intended operator outcome in normal chat to let the Agent start the planning interview. The SDK stores and evaluates artifacts; it does not start execution.',
|
|
193
193
|
[],
|
|
194
194
|
C,
|
|
195
195
|
),
|
|
@@ -227,7 +227,7 @@ export class ProjectPlanningPanel extends BasePanel {
|
|
|
227
227
|
|
|
228
228
|
return buildPanelWorkspace(width, height, {
|
|
229
229
|
title: this.loading ? 'Project Planning - loading' : 'Project Planning',
|
|
230
|
-
intro: '
|
|
230
|
+
intro: 'SDK-backed planning artifacts for the current Agent workspace. Conversation control stays in the main Agent turn.',
|
|
231
231
|
sections: [scroll.section],
|
|
232
232
|
footerLines: this.footerLines(width),
|
|
233
233
|
palette: C,
|
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 = '0.1.
|
|
9
|
+
let _version = '0.1.6';
|
|
10
10
|
try {
|
|
11
11
|
const pkg = JSON.parse(readFileSync(join(import.meta.dir, '..', 'package.json'), 'utf-8'));
|
|
12
12
|
_version = pkg.version ?? _version;
|