@pellux/goodvibes-agent 1.0.24 → 1.0.25
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 +6 -0
- package/dist/package/main.js +14 -13
- package/package.json +1 -1
- package/src/tools/agent-harness-keybinding-metadata.ts +2 -1
- package/src/version.ts +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,12 @@
|
|
|
2
2
|
|
|
3
3
|
Product-facing release notes for GoodVibes Agent.
|
|
4
4
|
|
|
5
|
+
## 1.0.25 - 2026-06-03
|
|
6
|
+
|
|
7
|
+
- Correct the model-visible fixed shortcut catalog so F2 is reported as the runtime activity monitor instead of the shortcut reference.
|
|
8
|
+
- Expose /shortcuts separately as the keyboard shortcut reference route.
|
|
9
|
+
- Add focused harness coverage for runtime activity and shortcut-reference discovery.
|
|
10
|
+
|
|
5
11
|
## 1.0.24 - 2026-06-03
|
|
6
12
|
|
|
7
13
|
- Resolve confirmed agent_harness run_command requests by the same command, commandName, target, or query lookup used for slash-command inspection.
|
package/dist/package/main.js
CHANGED
|
@@ -816508,7 +816508,7 @@ var createStyledCell = (char, overrides = {}) => ({
|
|
|
816508
816508
|
// src/version.ts
|
|
816509
816509
|
import { readFileSync } from "fs";
|
|
816510
816510
|
import { join } from "path";
|
|
816511
|
-
var _version = "1.0.
|
|
816511
|
+
var _version = "1.0.25";
|
|
816512
816512
|
var _sdkVersion = "0.33.35";
|
|
816513
816513
|
try {
|
|
816514
816514
|
const pkg = JSON.parse(readFileSync(join(import.meta.dir, "..", "package.json"), "utf-8"));
|
|
@@ -847717,13 +847717,13 @@ init_state3();
|
|
|
847717
847717
|
|
|
847718
847718
|
// src/input/commands/recall-shared.ts
|
|
847719
847719
|
var VALID_CLASSES = ["decision", "constraint", "incident", "pattern", "fact", "risk", "runbook", "architecture", "ownership"];
|
|
847720
|
-
var
|
|
847720
|
+
var VALID_SCOPES = ["session", "project", "team"];
|
|
847721
847721
|
var VALID_REVIEW_STATES = ["fresh", "reviewed", "stale", "contradicted"];
|
|
847722
847722
|
function isValidClass(s4) {
|
|
847723
847723
|
return VALID_CLASSES.includes(s4);
|
|
847724
847724
|
}
|
|
847725
847725
|
function isValidScope(s4) {
|
|
847726
|
-
return
|
|
847726
|
+
return VALID_SCOPES.includes(s4);
|
|
847727
847727
|
}
|
|
847728
847728
|
function isValidReviewState(s4) {
|
|
847729
847729
|
return VALID_REVIEW_STATES.includes(s4);
|
|
@@ -847766,7 +847766,7 @@ function handleRecallSearch(args2, context) {
|
|
|
847766
847766
|
if (isValidScope(scope))
|
|
847767
847767
|
filter.scope = scope;
|
|
847768
847768
|
else {
|
|
847769
|
-
context.print(`[memory] Unknown scope "${scope}". Valid values ${
|
|
847769
|
+
context.print(`[memory] Unknown scope "${scope}". Valid values ${VALID_SCOPES.join(", ")}.`);
|
|
847770
847770
|
return;
|
|
847771
847771
|
}
|
|
847772
847772
|
}
|
|
@@ -847941,7 +847941,7 @@ function handleRecallList(args2, context) {
|
|
|
847941
847941
|
if (scopeIdx !== -1 && args2[scopeIdx + 1]) {
|
|
847942
847942
|
const scope = args2[scopeIdx + 1];
|
|
847943
847943
|
if (!isValidScope(scope)) {
|
|
847944
|
-
context.print(`[memory] Unknown scope "${scope}". Valid values ${
|
|
847944
|
+
context.print(`[memory] Unknown scope "${scope}". Valid values ${VALID_SCOPES.join(", ")}.`);
|
|
847945
847945
|
return;
|
|
847946
847946
|
}
|
|
847947
847947
|
filter.scope = scope;
|
|
@@ -847991,7 +847991,7 @@ async function handleRecallAdd(args2, context) {
|
|
|
847991
847991
|
const tags = tagsRaw ? tagsRaw.split(",").map((token) => token.trim()).filter(Boolean) : [];
|
|
847992
847992
|
const scope = scopeRaw && isValidScope(scopeRaw) ? scopeRaw : "project";
|
|
847993
847993
|
if (scopeRaw && !isValidScope(scopeRaw)) {
|
|
847994
|
-
context.print(`[memory] Invalid scope "${scopeRaw}". Valid values ${
|
|
847994
|
+
context.print(`[memory] Invalid scope "${scopeRaw}". Valid values ${VALID_SCOPES.join(", ")}.`);
|
|
847995
847995
|
return;
|
|
847996
847996
|
}
|
|
847997
847997
|
const provenance = [];
|
|
@@ -848125,7 +848125,7 @@ function handleRecallExport(args2, context) {
|
|
|
848125
848125
|
if (scopeIdx !== -1 && commandArgs[scopeIdx + 1]) {
|
|
848126
848126
|
const scope = commandArgs[scopeIdx + 1];
|
|
848127
848127
|
if (!isValidScope(scope)) {
|
|
848128
|
-
context.print(`[memory] Unknown scope "${scope}". Valid values ${
|
|
848128
|
+
context.print(`[memory] Unknown scope "${scope}". Valid values ${VALID_SCOPES.join(", ")}.`);
|
|
848129
848129
|
return;
|
|
848130
848130
|
}
|
|
848131
848131
|
filter.scope = scope;
|
|
@@ -848204,7 +848204,7 @@ function handleRecallHandoffExport(args2, context) {
|
|
|
848204
848204
|
const scopeIdx = commandArgs.indexOf("--scope");
|
|
848205
848205
|
const scopeRaw = scopeIdx !== -1 ? commandArgs[scopeIdx + 1] : "team";
|
|
848206
848206
|
if (!scopeRaw || !isValidScope(scopeRaw)) {
|
|
848207
|
-
context.print(`[memory] Unknown scope "${scopeRaw ?? ""}". Valid values ${
|
|
848207
|
+
context.print(`[memory] Unknown scope "${scopeRaw ?? ""}". Valid values ${VALID_SCOPES.join(", ")}.`);
|
|
848208
848208
|
return;
|
|
848209
848209
|
}
|
|
848210
848210
|
const bundle = memory.exportBundle({ scope: scopeRaw });
|
|
@@ -848320,7 +848320,7 @@ function handleRecallPromote(args2, context) {
|
|
|
848320
848320
|
const id = parsed.rest[0];
|
|
848321
848321
|
const scope = parsed.rest[1];
|
|
848322
848322
|
if (!id || !scope || !isValidScope(scope)) {
|
|
848323
|
-
context.print(`[memory] Usage: /memory promote <id> <${
|
|
848323
|
+
context.print(`[memory] Usage: /memory promote <id> <${VALID_SCOPES.join("|")}> --yes`);
|
|
848324
848324
|
return;
|
|
848325
848325
|
}
|
|
848326
848326
|
if (!parsed.yes) {
|
|
@@ -862253,7 +862253,7 @@ import { mkdirSync as mkdirSync64, readFileSync as readFileSync86, writeFileSync
|
|
|
862253
862253
|
import { dirname as dirname63, resolve as resolve39 } from "path";
|
|
862254
862254
|
init_state3();
|
|
862255
862255
|
var VALID_CLASSES2 = ["decision", "constraint", "incident", "pattern", "fact", "risk", "runbook", "architecture", "ownership"];
|
|
862256
|
-
var
|
|
862256
|
+
var VALID_SCOPES3 = ["session", "project", "team"];
|
|
862257
862257
|
var VALID_REVIEW_STATES3 = ["fresh", "reviewed", "stale", "contradicted"];
|
|
862258
862258
|
var VALID_PROVENANCE_KINDS = ["session", "turn", "task", "event", "file"];
|
|
862259
862259
|
var VALUE_OPTIONS = new Set([
|
|
@@ -862353,7 +862353,7 @@ function isMemoryClass2(value) {
|
|
|
862353
862353
|
return VALID_CLASSES2.includes(value);
|
|
862354
862354
|
}
|
|
862355
862355
|
function isMemoryScope2(value) {
|
|
862356
|
-
return
|
|
862356
|
+
return VALID_SCOPES3.includes(value);
|
|
862357
862357
|
}
|
|
862358
862358
|
function isReviewState(value) {
|
|
862359
862359
|
return VALID_REVIEW_STATES3.includes(value);
|
|
@@ -862368,7 +862368,7 @@ function requireClass(value) {
|
|
|
862368
862368
|
}
|
|
862369
862369
|
function requireScope(value) {
|
|
862370
862370
|
if (!value || !isMemoryScope2(value))
|
|
862371
|
-
throw new Error(`Invalid memory scope "${value ?? ""}". Valid values ${
|
|
862371
|
+
throw new Error(`Invalid memory scope "${value ?? ""}". Valid values ${VALID_SCOPES3.join(", ")}`);
|
|
862372
862372
|
return value;
|
|
862373
862373
|
}
|
|
862374
862374
|
function optionalScope(value) {
|
|
@@ -880092,7 +880092,8 @@ var FIXED_SHORTCUTS = [
|
|
|
880092
880092
|
{ key: "Tab", description: "Autocomplete slash command or file mention" },
|
|
880093
880093
|
{ key: "Esc", description: "Close overlays, pickers, and transient input modes" },
|
|
880094
880094
|
{ key: "? / F1", description: "Toggle help overlay" },
|
|
880095
|
-
{ key: "F2
|
|
880095
|
+
{ key: "F2", description: "Open runtime activity monitor" },
|
|
880096
|
+
{ key: "/shortcuts", description: "Open keyboard shortcut reference" },
|
|
880096
880097
|
{ key: "/keybindings", description: "List configurable keybindings and config path" }
|
|
880097
880098
|
];
|
|
880098
880099
|
function readString52(value) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pellux/goodvibes-agent",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.25",
|
|
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",
|
|
@@ -16,7 +16,8 @@ const FIXED_SHORTCUTS: readonly Record<string, string>[] = [
|
|
|
16
16
|
{ key: 'Tab', description: 'Autocomplete slash command or file mention' },
|
|
17
17
|
{ key: 'Esc', description: 'Close overlays, pickers, and transient input modes' },
|
|
18
18
|
{ key: '? / F1', description: 'Toggle help overlay' },
|
|
19
|
-
{ key: 'F2
|
|
19
|
+
{ key: 'F2', description: 'Open runtime activity monitor' },
|
|
20
|
+
{ key: '/shortcuts', description: 'Open keyboard shortcut reference' },
|
|
20
21
|
{ key: '/keybindings', description: 'List configurable keybindings and config path' },
|
|
21
22
|
];
|
|
22
23
|
|
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.25';
|
|
10
10
|
let _sdkVersion = '0.33.35';
|
|
11
11
|
try {
|
|
12
12
|
const pkg = JSON.parse(readFileSync(join(import.meta.dir, '..', 'package.json'), 'utf-8')) as {
|