@pellux/goodvibes-agent 1.0.18 → 1.0.20
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 +12 -0
- package/README.md +2 -2
- package/dist/package/main.js +377 -124
- package/docs/README.md +1 -1
- package/docs/getting-started.md +2 -2
- package/docs/tools-and-commands.md +6 -4
- package/package.json +1 -1
- package/src/tools/agent-harness-cli-metadata.ts +74 -9
- package/src/tools/agent-harness-keybinding-metadata.ts +273 -2
- package/src/tools/agent-harness-tool-schema.ts +8 -8
- package/src/tools/agent-harness-tool.ts +10 -8
- package/src/tools/agent-harness-ui-surface-metadata.ts +1 -1
- package/src/version.ts +1 -1
|
@@ -19,7 +19,7 @@ import type {
|
|
|
19
19
|
import { parseSlashCommand } from '../input/slash-command-parser.ts';
|
|
20
20
|
import { blockedHarnessCliCommandTokens, describeHarnessCliCommand, listHarnessCliCommands, totalHarnessCliCommands } from './agent-harness-cli-metadata.ts';
|
|
21
21
|
import { describeHarnessCommand, listHarnessCommands } from './agent-harness-command-catalog.ts';
|
|
22
|
-
import { describeHarnessKeybinding, listHarnessKeybindings, listHarnessShortcuts, resetHarnessKeybinding, setHarnessKeybinding, totalHarnessKeybindings, totalHarnessShortcuts } from './agent-harness-keybinding-metadata.ts';
|
|
22
|
+
import { describeHarnessKeybinding, listHarnessKeybindings, listHarnessShortcuts, resetHarnessKeybinding, runHarnessKeybinding, setHarnessKeybinding, totalHarnessKeybindings, totalHarnessShortcuts } from './agent-harness-keybinding-metadata.ts';
|
|
23
23
|
import { describeHarnessPanel, listHarnessPanels, openHarnessPanel, totalHarnessPanels } from './agent-harness-panel-metadata.ts';
|
|
24
24
|
import { connectedHostStatusSummary } from './agent-harness-connected-host-status.ts';
|
|
25
25
|
import { describeLocalWorkspaceModelExecution, runLocalWorkspaceAction, runLocalWorkspaceEditorAction } from './agent-harness-local-operations.ts';
|
|
@@ -564,7 +564,7 @@ export function createAgentHarnessTool(deps: AgentHarnessToolDeps): Tool {
|
|
|
564
564
|
description: [
|
|
565
565
|
'Discover and operate the GoodVibes Agent harness from the main conversation.',
|
|
566
566
|
'Use this tool to inspect Agent workspace actions, built-in panels, top-level CLI mirrors, UI surfaces, keybindings, slash commands with policy metadata, model tools or one model tool schema, connected-host capabilities or one connected-host capability detail, and Agent settings, or to invoke a workspace action/command through the same in-process command registry the user uses in the TUI.',
|
|
567
|
-
'Discovery modes are read-only. Setting/keybinding writes, resets, UI routing, slash command invocation, and workspace action invocation require confirm:true plus explicitUserRequest.',
|
|
567
|
+
'Discovery modes are read-only. Setting/keybinding writes, resets, keybinding actions, UI routing, slash command invocation, and workspace action invocation require confirm:true plus explicitUserRequest.',
|
|
568
568
|
'This tool preserves Agent product boundaries: connected-host lifecycle and listener posture stay externally owned, connected-host mode reports allowed and blocked route families, and secret-backed settings store raw values through the secret manager while config receives only a secret reference.',
|
|
569
569
|
].join(' '),
|
|
570
570
|
parameters: {
|
|
@@ -594,10 +594,10 @@ export function createAgentHarnessTool(deps: AgentHarnessToolDeps): Tool {
|
|
|
594
594
|
workspaceActions: allWorkspaceActions().length,
|
|
595
595
|
tools: deps.toolRegistry.getToolDefinitions().length,
|
|
596
596
|
modelAccess: {
|
|
597
|
-
cliCommands: 'Use mode:"cli_commands" and mode:"cli_command" to inspect package CLI mirrors and their preferred in-process model routes. CLI modes are discovery-only.',
|
|
597
|
+
cliCommands: 'Use mode:"cli_commands" to list and mode:"cli_command" with cliCommand, command, commandName, target, or query to inspect package CLI mirrors and their preferred in-process model routes. CLI modes are discovery-only.',
|
|
598
598
|
panels: 'Use mode:"panels" to list and mode:"panel" with panelId, target, or query to inspect built-in panel catalog/open state; use mode:"open_panel" with confirm:true plus explicitUserRequest to route a visible panel/workspace change.',
|
|
599
599
|
uiSurfaces: 'Use mode:"ui_surfaces" to list and mode:"ui_surface" with surfaceId, target, or query to inspect modal/overlay/picker/workspace surfaces; use mode:"open_ui_surface" with confirm:true plus explicitUserRequest to route visible UI navigation.',
|
|
600
|
-
shortcuts: 'Use mode:"shortcuts" to inspect fixed shortcuts plus configurable keybindings. Use mode:"keybinding" with actionId, target, key, or query; use mode:"set_keybinding" and mode:"reset_keybinding" with confirm:true plus explicitUserRequest to edit the same config file the user edits.',
|
|
600
|
+
shortcuts: 'Use mode:"shortcuts" to inspect fixed shortcuts plus configurable keybindings. Use mode:"keybinding" with actionId, target, key, or query; use mode:"run_keybinding" for confirmation-gated shell-safe shortcut equivalents; use mode:"set_keybinding" and mode:"reset_keybinding" with confirm:true plus explicitUserRequest to edit the same config file the user edits.',
|
|
601
601
|
slashCommands: 'Use mode:"commands" to list slash commands and mode:"command" with command, commandName, target, or query to inspect one command; use mode:"run_command" with confirm:true plus explicitUserRequest to execute.',
|
|
602
602
|
workspace: 'Use mode:"workspace_actions" to list and mode:"workspace_action" with actionId, command, target, or query for one action and editor schema; set includeParameters:true on workspace_actions to inline editor schemas.',
|
|
603
603
|
settings: 'Use mode:"settings" to list and mode:"get_setting" with key, target, or query for one setting. Use mode:"set_setting" or mode:"reset_setting" with key, target, or query plus confirm:true and explicitUserRequest.',
|
|
@@ -661,13 +661,15 @@ export function createAgentHarnessTool(deps: AgentHarnessToolDeps): Tool {
|
|
|
661
661
|
}
|
|
662
662
|
if (args.mode === 'set_keybinding') {
|
|
663
663
|
const confirmationError = requireConfirmedAction(args, 'Keybinding mutation');
|
|
664
|
-
|
|
665
|
-
return output(setHarnessKeybinding(deps.commandContext, args));
|
|
664
|
+
return confirmationError ? error(confirmationError) : output(setHarnessKeybinding(deps.commandContext, args));
|
|
666
665
|
}
|
|
667
666
|
if (args.mode === 'reset_keybinding') {
|
|
668
667
|
const confirmationError = requireConfirmedAction(args, 'Keybinding reset');
|
|
669
|
-
|
|
670
|
-
|
|
668
|
+
return confirmationError ? error(confirmationError) : output(resetHarnessKeybinding(deps.commandContext, args));
|
|
669
|
+
}
|
|
670
|
+
if (args.mode === 'run_keybinding') {
|
|
671
|
+
const confirmationError = requireConfirmedAction(args, 'Keybinding action');
|
|
672
|
+
return confirmationError ? error(confirmationError) : output(runHarnessKeybinding(deps.commandContext, args));
|
|
671
673
|
}
|
|
672
674
|
if (args.mode === 'commands') {
|
|
673
675
|
const commands = listHarnessCommands(deps.commandRegistry, args);
|
|
@@ -642,7 +642,7 @@ const UI_SURFACES: readonly UiSurfaceDefinition[] = [
|
|
|
642
642
|
kind: 'overlay',
|
|
643
643
|
summary: 'Keyboard shortcut reference overlay.',
|
|
644
644
|
command: '/shortcuts',
|
|
645
|
-
preferredModelRoute: 'Use shortcuts/keybindings modes for model-readable discovery and confirmed keybinding edits.',
|
|
645
|
+
preferredModelRoute: 'Use shortcuts/keybindings modes for model-readable discovery, run_keybinding for supported shell-safe actions, and confirmed keybinding edits for binding changes.',
|
|
646
646
|
available: (context) => typeof context.openShortcutsOverlay === 'function',
|
|
647
647
|
open: (context) => {
|
|
648
648
|
const surface = findSurfaceById('shortcuts-overlay')!;
|
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.20';
|
|
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 {
|