@pellux/goodvibes-agent 0.1.104 → 0.1.106
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 +16 -0
- package/README.md +9 -2
- package/docs/getting-started.md +9 -2
- package/docs/release-and-publishing.md +5 -3
- package/package.json +1 -1
- package/src/cli/help.ts +11 -11
- package/src/cli/management-commands.ts +1 -1
- package/src/cli/package-verification.ts +5 -5
- package/src/cli/service-posture.ts +11 -10
- package/src/cli/status.ts +29 -25
- package/src/input/agent-workspace-categories.ts +5 -5
- package/src/input/commands/guidance-runtime.ts +2 -2
- package/src/input/commands/health-runtime.ts +1 -1
- package/src/input/commands/onboarding-runtime.ts +4 -3
- package/src/input/commands/platform-access-runtime.ts +31 -79
- package/src/input/commands/session-content.ts +24 -41
- package/src/input/commands.ts +15 -0
- package/src/input/handler-content-actions.ts +1 -1
- package/src/input/keybindings.ts +2 -2
- package/src/input/onboarding/onboarding-wizard-operator-steps.ts +295 -0
- package/src/input/onboarding/onboarding-wizard-steps.ts +63 -309
- package/src/main.ts +1 -1
- package/src/panels/builtin/usage.ts +21 -0
- package/src/panels/builtin-panels.ts +2 -2
- package/src/panels/panel-list-panel.ts +1 -2
- package/src/panels/panel-picker.ts +1 -2
- package/src/panels/types.ts +1 -1
- package/src/renderer/help-overlay.ts +4 -4
- package/src/renderer/settings-modal.ts +1 -1
- package/src/runtime/bootstrap.ts +2 -2
- package/src/tools/agent-context-policy.ts +4 -4
- package/src/tools/agent-tool-policy-guard.ts +9 -9
- package/src/version.ts +1 -1
- package/src/panels/builtin/development.ts +0 -31
|
@@ -166,8 +166,8 @@ const FETCH_NETWORK_MUTATION_DENIAL = [
|
|
|
166
166
|
].join(' ');
|
|
167
167
|
|
|
168
168
|
const STATE_MUTATION_DENIAL = [
|
|
169
|
-
'GoodVibes Agent only inspects
|
|
170
|
-
'Arbitrary state set/clear,
|
|
169
|
+
'GoodVibes Agent only inspects runtime-owned state from the main conversation.',
|
|
170
|
+
'Arbitrary state set/clear, runtime-owned memory writes, hook mutation, output-mode mutation, and analytics writes are disabled here.',
|
|
171
171
|
'Use Agent-owned memory, skills, personas, routines, and explicit CLI/slash commands for intentional local state changes.',
|
|
172
172
|
].join(' ');
|
|
173
173
|
|
|
@@ -184,13 +184,13 @@ const INSPECT_WRITE_DENIAL = [
|
|
|
184
184
|
].join(' ');
|
|
185
185
|
|
|
186
186
|
const DURABLE_WORKFLOW_MUTATION_DENIAL = [
|
|
187
|
-
'GoodVibes Agent only inspects
|
|
187
|
+
'GoodVibes Agent only inspects runtime-owned durable workflow tools from the main conversation.',
|
|
188
188
|
'Task, team, worklist, packet, and query creation or lifecycle mutation is disabled here.',
|
|
189
189
|
'Use explicit Agent CLI/slash commands or GoodVibes TUI delegation for intentional workflow changes.',
|
|
190
190
|
].join(' ');
|
|
191
191
|
|
|
192
192
|
const CONTROL_MUTATION_DENIAL = [
|
|
193
|
-
'GoodVibes Agent only inspects
|
|
193
|
+
'GoodVibes Agent only inspects runtime-owned product-control surfaces from the main conversation.',
|
|
194
194
|
'Product-control mutation, daemon lifecycle, and service posture changes are disabled here.',
|
|
195
195
|
'Use explicit Agent CLI/slash commands for Agent-owned changes, and keep daemon lifecycle external.',
|
|
196
196
|
].join(' ');
|
|
@@ -290,7 +290,7 @@ export function installAgentToolPolicyGuard(registry: ToolRegistry, options: Age
|
|
|
290
290
|
wrapModeRestrictedToolForAgentPolicy(tool, {
|
|
291
291
|
allowedModes: READ_ONLY_QUERY_TOOL_MODES,
|
|
292
292
|
modeSet: READ_ONLY_QUERY_TOOL_MODE_SET,
|
|
293
|
-
description: 'Read-only operator query inspection for GoodVibes Agent. Asking, answering, and closing
|
|
293
|
+
description: 'Read-only operator query inspection for GoodVibes Agent. Asking, answering, and closing runtime-owned workflow queries are disabled in the main conversation.',
|
|
294
294
|
denial: DURABLE_WORKFLOW_MUTATION_DENIAL,
|
|
295
295
|
removedProperties: ['prompt', 'askedBy', 'target', 'answer', 'resolution'],
|
|
296
296
|
});
|
|
@@ -701,8 +701,8 @@ function narrowFetchToolDefinitionForAgentPolicy(tool: Tool): void {
|
|
|
701
701
|
|
|
702
702
|
function narrowStateToolDefinitionForAgentPolicy(tool: Tool): void {
|
|
703
703
|
tool.definition.description = [
|
|
704
|
-
'Inspect
|
|
705
|
-
'State mutation,
|
|
704
|
+
'Inspect runtime-owned state for GoodVibes Agent.',
|
|
705
|
+
'State mutation, runtime-owned memory writes, hook changes, output-mode changes, and analytics writes are disabled in the main conversation.',
|
|
706
706
|
'Use Agent-owned commands for intentional memory, skill, persona, and routine changes.',
|
|
707
707
|
].join(' ');
|
|
708
708
|
|
|
@@ -711,7 +711,7 @@ function narrowStateToolDefinitionForAgentPolicy(tool: Tool): void {
|
|
|
711
711
|
const modeProperty = properties.mode;
|
|
712
712
|
if (isRecord(modeProperty)) {
|
|
713
713
|
modeProperty.enum = [...READ_ONLY_STATE_TOOL_MODES];
|
|
714
|
-
modeProperty.description = 'Read-only
|
|
714
|
+
modeProperty.description = 'Read-only runtime-owned state mode. set and clear are disabled in GoodVibes Agent.';
|
|
715
715
|
}
|
|
716
716
|
|
|
717
717
|
delete properties.values;
|
|
@@ -727,7 +727,7 @@ function narrowStateToolDefinitionForAgentPolicy(tool: Tool): void {
|
|
|
727
727
|
delete properties.analyticsTokens;
|
|
728
728
|
delete properties.analyticsFormat;
|
|
729
729
|
|
|
730
|
-
narrowStringEnumProperty(properties, 'memoryAction', READ_ONLY_STATE_MEMORY_ACTIONS, 'Read-only
|
|
730
|
+
narrowStringEnumProperty(properties, 'memoryAction', READ_ONLY_STATE_MEMORY_ACTIONS, 'Read-only runtime-owned memory actions allowed by GoodVibes Agent.');
|
|
731
731
|
narrowStringEnumProperty(properties, 'hookAction', READ_ONLY_STATE_HOOK_ACTIONS, 'Read-only hook action allowed by GoodVibes Agent.');
|
|
732
732
|
narrowStringEnumProperty(properties, 'modeAction', READ_ONLY_STATE_MODE_ACTIONS, 'Read-only mode actions allowed by GoodVibes Agent.');
|
|
733
733
|
narrowStringEnumProperty(properties, 'analyticsAction', READ_ONLY_STATE_ANALYTICS_ACTIONS, 'Read-only analytics actions allowed by GoodVibes Agent.');
|
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.106';
|
|
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 {
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import type { PanelManager } from '../panel-manager.ts';
|
|
2
|
-
import { PlanDashboardPanel } from '../plan-dashboard-panel.ts';
|
|
3
|
-
import { CostTrackerPanel } from '../cost-tracker-panel.ts';
|
|
4
|
-
import type { ResolvedBuiltinPanelDeps } from './shared.ts';
|
|
5
|
-
import { requireUiServices } from './shared.ts';
|
|
6
|
-
|
|
7
|
-
export function registerDevelopmentPanels(manager: PanelManager, deps: ResolvedBuiltinPanelDeps): void {
|
|
8
|
-
manager.registerType({
|
|
9
|
-
id: 'plan',
|
|
10
|
-
name: 'Plan',
|
|
11
|
-
icon: 'P',
|
|
12
|
-
category: 'agent',
|
|
13
|
-
description: 'Active execution plan with phase progress and item status',
|
|
14
|
-
factory: () => new PlanDashboardPanel(deps.planManager),
|
|
15
|
-
});
|
|
16
|
-
|
|
17
|
-
if (deps.getOrchestratorUsage) {
|
|
18
|
-
const { getOrchestratorUsage, budgetThreshold } = deps;
|
|
19
|
-
manager.registerType({
|
|
20
|
-
id: 'cost',
|
|
21
|
-
name: 'Cost',
|
|
22
|
-
icon: '$',
|
|
23
|
-
category: 'monitoring',
|
|
24
|
-
description: 'Estimated costs per session, agent, and plan with budget alerts',
|
|
25
|
-
factory: () => {
|
|
26
|
-
const ui = requireUiServices(deps);
|
|
27
|
-
return new CostTrackerPanel(ui.events.turns, ui.events.agents, getOrchestratorUsage, { budgetThreshold });
|
|
28
|
-
},
|
|
29
|
-
});
|
|
30
|
-
}
|
|
31
|
-
}
|