@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.
Files changed (34) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/README.md +9 -2
  3. package/docs/getting-started.md +9 -2
  4. package/docs/release-and-publishing.md +5 -3
  5. package/package.json +1 -1
  6. package/src/cli/help.ts +11 -11
  7. package/src/cli/management-commands.ts +1 -1
  8. package/src/cli/package-verification.ts +5 -5
  9. package/src/cli/service-posture.ts +11 -10
  10. package/src/cli/status.ts +29 -25
  11. package/src/input/agent-workspace-categories.ts +5 -5
  12. package/src/input/commands/guidance-runtime.ts +2 -2
  13. package/src/input/commands/health-runtime.ts +1 -1
  14. package/src/input/commands/onboarding-runtime.ts +4 -3
  15. package/src/input/commands/platform-access-runtime.ts +31 -79
  16. package/src/input/commands/session-content.ts +24 -41
  17. package/src/input/commands.ts +15 -0
  18. package/src/input/handler-content-actions.ts +1 -1
  19. package/src/input/keybindings.ts +2 -2
  20. package/src/input/onboarding/onboarding-wizard-operator-steps.ts +295 -0
  21. package/src/input/onboarding/onboarding-wizard-steps.ts +63 -309
  22. package/src/main.ts +1 -1
  23. package/src/panels/builtin/usage.ts +21 -0
  24. package/src/panels/builtin-panels.ts +2 -2
  25. package/src/panels/panel-list-panel.ts +1 -2
  26. package/src/panels/panel-picker.ts +1 -2
  27. package/src/panels/types.ts +1 -1
  28. package/src/renderer/help-overlay.ts +4 -4
  29. package/src/renderer/settings-modal.ts +1 -1
  30. package/src/runtime/bootstrap.ts +2 -2
  31. package/src/tools/agent-context-policy.ts +4 -4
  32. package/src/tools/agent-tool-policy-guard.ts +9 -9
  33. package/src/version.ts +1 -1
  34. 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 copied runtime state from the main conversation.',
170
- 'Arbitrary state set/clear, copied memory writes, hook mutation, output-mode mutation, and analytics writes are disabled here.',
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 copied durable workflow tools from the main conversation.',
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 copied product-control surfaces from the main conversation.',
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 copied workflow queries are disabled in the main conversation.',
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 copied runtime state for GoodVibes Agent.',
705
- 'State mutation, copied memory writes, hook changes, output-mode changes, and analytics writes are disabled in the main conversation.',
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 copied runtime state mode. set and clear are disabled in GoodVibes Agent.';
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 copied memory actions allowed by GoodVibes Agent.');
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.104';
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
- }