@pellux/goodvibes-agent 0.1.70 → 0.1.72
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 +3 -3
- package/docs/README.md +2 -2
- package/docs/getting-started.md +1 -1
- package/docs/runtime-connection.md +37 -0
- package/package.json +43 -2
- package/src/agent/skill-discovery.ts +119 -0
- package/src/cli/config-overrides.ts +1 -5
- package/src/cli/entrypoint.ts +0 -6
- package/src/cli/help.ts +0 -43
- package/src/cli/index.ts +0 -2
- package/src/cli/management-commands.ts +1 -109
- package/src/cli/management.ts +1 -32
- package/src/cli/package-verification.ts +12 -4
- package/src/cli/parser.ts +0 -16
- package/src/cli/status.ts +1 -1
- package/src/cli/types.ts +0 -8
- package/src/input/commands/delegation-runtime.ts +0 -8
- package/src/input/commands/experience-runtime.ts +0 -177
- package/src/input/commands/guidance-runtime.ts +0 -69
- package/src/input/commands/local-runtime.ts +1 -57
- package/src/input/commands/local-setup-review.ts +1 -1
- package/src/input/commands/operator-runtime.ts +1 -145
- package/src/input/commands/platform-access-runtime.ts +2 -195
- package/src/input/commands/product-runtime.ts +0 -116
- package/src/input/commands/security-runtime.ts +88 -0
- package/src/input/commands/session-content.ts +0 -97
- package/src/input/commands/shell-core.ts +0 -13
- package/src/input/commands.ts +2 -95
- package/src/panels/builtin/operations.ts +3 -184
- package/src/panels/confirm-state.ts +1 -1
- package/src/panels/index.ts +0 -11
- package/src/version.ts +1 -1
- package/docs/deployment-and-services.md +0 -52
- package/src/cli/service-command.ts +0 -26
- package/src/cli/surface-command.ts +0 -247
- package/src/input/commands/branch-runtime.ts +0 -72
- package/src/input/commands/control-room-runtime.ts +0 -234
- package/src/input/commands/discovery-runtime.ts +0 -61
- package/src/input/commands/hooks-runtime.ts +0 -207
- package/src/input/commands/incident-runtime.ts +0 -106
- package/src/input/commands/integration-runtime.ts +0 -437
- package/src/input/commands/local-setup.ts +0 -288
- package/src/input/commands/managed-runtime.ts +0 -240
- package/src/input/commands/marketplace-runtime.ts +0 -305
- package/src/input/commands/memory-product-runtime.ts +0 -148
- package/src/input/commands/operator-panel-runtime.ts +0 -146
- package/src/input/commands/platform-services-runtime.ts +0 -271
- package/src/input/commands/profile-sync-runtime.ts +0 -110
- package/src/input/commands/provider.ts +0 -363
- package/src/input/commands/remote-runtime-pool.ts +0 -89
- package/src/input/commands/remote-runtime-setup.ts +0 -226
- package/src/input/commands/remote-runtime.ts +0 -432
- package/src/input/commands/replay-runtime.ts +0 -25
- package/src/input/commands/services-runtime.ts +0 -220
- package/src/input/commands/settings-sync-runtime.ts +0 -197
- package/src/input/commands/share-runtime.ts +0 -127
- package/src/input/commands/skills-runtime.ts +0 -226
- package/src/input/commands/teleport-runtime.ts +0 -68
- package/src/panels/cockpit-panel.ts +0 -183
- package/src/panels/communication-panel.ts +0 -153
- package/src/panels/control-plane-panel.ts +0 -211
- package/src/panels/forensics-panel.ts +0 -364
- package/src/panels/hooks-panel.ts +0 -239
- package/src/panels/incident-review-panel.ts +0 -197
- package/src/panels/marketplace-panel.ts +0 -212
- package/src/panels/ops-control-panel.ts +0 -150
- package/src/panels/ops-strategy-panel.ts +0 -235
- package/src/panels/orchestration-panel.ts +0 -272
- package/src/panels/plugins-panel.ts +0 -178
- package/src/panels/remote-panel.ts +0 -449
- package/src/panels/routes-panel.ts +0 -178
- package/src/panels/services-panel.ts +0 -231
- package/src/panels/settings-sync-panel.ts +0 -120
- package/src/panels/skills-panel.ts +0 -431
- package/src/panels/watchers-panel.ts +0 -193
- package/src/verification/live-verifier.ts +0 -588
- package/src/verification/verification-ledger.ts +0 -239
package/src/input/commands.ts
CHANGED
|
@@ -1,46 +1,27 @@
|
|
|
1
1
|
import type { CommandRegistry } from './command-registry.ts';
|
|
2
2
|
import { policyCommand } from './commands/policy.ts';
|
|
3
|
-
import { providerCommand } from './commands/provider.ts';
|
|
4
3
|
import { sessionCommand } from './commands/session.ts';
|
|
5
4
|
import { recallCommand } from './commands/memory.ts';
|
|
6
5
|
import { knowledgeCommand } from './commands/knowledge.ts';
|
|
7
6
|
import { registerShellCoreCommands } from './commands/shell-core.ts';
|
|
8
7
|
import { registerConfigCommand } from './commands/config.ts';
|
|
9
8
|
import { registerSessionWorkflowCommands } from './commands/session-workflow.ts';
|
|
10
|
-
import { registerDiscoveryRuntimeCommands } from './commands/discovery-runtime.ts';
|
|
11
9
|
import { registerPlanningRuntimeCommands } from './commands/planning-runtime.ts';
|
|
12
10
|
import { registerScheduleRuntimeCommands } from './commands/schedule-runtime.ts';
|
|
13
|
-
import { registerBranchRuntimeCommands } from './commands/branch-runtime.ts';
|
|
14
11
|
import { registerOperatorRuntimeCommands } from './commands/operator-runtime.ts';
|
|
15
|
-
import { registerIntegrationRuntimeCommands } from './commands/integration-runtime.ts';
|
|
16
12
|
import { registerNotifyRuntimeCommands } from './commands/notify-runtime.ts';
|
|
17
|
-
import { registerReplayRuntimeCommands } from './commands/replay-runtime.ts';
|
|
18
|
-
import { registerShareRuntimeCommands } from './commands/share-runtime.ts';
|
|
19
|
-
import { registerLocalSetupCommands } from './commands/local-setup.ts';
|
|
20
13
|
import { registerProductRuntimeCommands } from './commands/product-runtime.ts';
|
|
21
|
-
import { registerProfileSyncRuntimeCommands } from './commands/profile-sync-runtime.ts';
|
|
22
|
-
import { registerManagedRuntimeCommands } from './commands/managed-runtime.ts';
|
|
23
14
|
import { registerPlatformAccessRuntimeCommands } from './commands/platform-access-runtime.ts';
|
|
24
|
-
import { registerPlatformServicesRuntimeCommands } from './commands/platform-services-runtime.ts';
|
|
25
|
-
import { registerMarketplaceRuntimeCommands } from './commands/marketplace-runtime.ts';
|
|
26
15
|
import { registerGuidanceRuntimeCommands } from './commands/guidance-runtime.ts';
|
|
27
|
-
import { registerRemoteRuntimeCommands } from './commands/remote-runtime.ts';
|
|
28
|
-
import { registerTeleportRuntimeCommands } from './commands/teleport-runtime.ts';
|
|
29
16
|
import { registerSubscriptionRuntimeCommands } from './commands/subscription-runtime.ts';
|
|
30
|
-
import {
|
|
31
|
-
import { registerControlRoomRuntimeCommands } from './commands/control-room-runtime.ts';
|
|
17
|
+
import { registerSecurityRuntimeCommands } from './commands/security-runtime.ts';
|
|
32
18
|
import { registerMcpRuntimeCommands } from './commands/mcp-runtime.ts';
|
|
33
19
|
import { registerSessionContentCommands } from './commands/session-content.ts';
|
|
34
20
|
import { registerLocalRuntimeCommands } from './commands/local-runtime.ts';
|
|
35
21
|
import { registerExperienceRuntimeCommands } from './commands/experience-runtime.ts';
|
|
36
|
-
import { registerIncidentRuntimeCommands } from './commands/incident-runtime.ts';
|
|
37
|
-
import { registerMemoryProductRuntimeCommands } from './commands/memory-product-runtime.ts';
|
|
38
|
-
import { registerSkillsRuntimeCommands } from './commands/skills-runtime.ts';
|
|
39
|
-
import { registerServicesRuntimeCommands } from './commands/services-runtime.ts';
|
|
40
22
|
import { registerTasksRuntimeCommands } from './commands/tasks-runtime.ts';
|
|
41
23
|
import { registerLocalProviderRuntimeCommands } from './commands/local-provider-runtime.ts';
|
|
42
24
|
import { registerHealthRuntimeCommands } from './commands/health-runtime.ts';
|
|
43
|
-
import { registerSettingsSyncRuntimeCommands } from './commands/settings-sync-runtime.ts';
|
|
44
25
|
import { registerProviderAccountsRuntimeCommands } from './commands/provider-accounts-runtime.ts';
|
|
45
26
|
import { registerLocalAuthRuntimeCommands } from './commands/local-auth-runtime.ts';
|
|
46
27
|
import { registerConversationRuntimeCommands } from './commands/conversation-runtime.ts';
|
|
@@ -55,55 +36,6 @@ import { registerPersonasRuntimeCommands } from './commands/personas-runtime.ts'
|
|
|
55
36
|
import { registerAgentSkillsRuntimeCommands } from './commands/agent-skills-runtime.ts';
|
|
56
37
|
import { registerRoutinesRuntimeCommands } from './commands/routines-runtime.ts';
|
|
57
38
|
|
|
58
|
-
const HIDDEN_COPIED_TUI_COMMANDS = [
|
|
59
|
-
'bootstrap',
|
|
60
|
-
'branch',
|
|
61
|
-
'bridge',
|
|
62
|
-
'cockpit',
|
|
63
|
-
'communication',
|
|
64
|
-
'deeplink',
|
|
65
|
-
'forensics',
|
|
66
|
-
'fork',
|
|
67
|
-
'guidance',
|
|
68
|
-
'handoff',
|
|
69
|
-
'helpers',
|
|
70
|
-
'hooks',
|
|
71
|
-
'incident',
|
|
72
|
-
'incident-review',
|
|
73
|
-
'install',
|
|
74
|
-
'managed',
|
|
75
|
-
'marketplace',
|
|
76
|
-
'merge',
|
|
77
|
-
'memory-review',
|
|
78
|
-
'memory-sync',
|
|
79
|
-
'ops',
|
|
80
|
-
'orchestration',
|
|
81
|
-
'panel',
|
|
82
|
-
'plugin',
|
|
83
|
-
'profilesync',
|
|
84
|
-
'provider-opt',
|
|
85
|
-
'remote',
|
|
86
|
-
'remote-env',
|
|
87
|
-
'remote-setup',
|
|
88
|
-
'replay',
|
|
89
|
-
'scan',
|
|
90
|
-
'services',
|
|
91
|
-
'setup',
|
|
92
|
-
'settingssync',
|
|
93
|
-
'share',
|
|
94
|
-
'skills',
|
|
95
|
-
'storage',
|
|
96
|
-
'team-memory',
|
|
97
|
-
'teleport',
|
|
98
|
-
'template',
|
|
99
|
-
'tools',
|
|
100
|
-
'tunnel',
|
|
101
|
-
'update',
|
|
102
|
-
'worker-pool',
|
|
103
|
-
'wrfc',
|
|
104
|
-
'wq',
|
|
105
|
-
] as const;
|
|
106
|
-
|
|
107
39
|
/**
|
|
108
40
|
* registerBuiltinCommands - Register all built-in slash commands into the registry.
|
|
109
41
|
* Call once during application startup.
|
|
@@ -118,33 +50,17 @@ export function registerBuiltinCommands(registry: CommandRegistry): void {
|
|
|
118
50
|
registerDelegationRuntimeCommands(registry);
|
|
119
51
|
registerConfigCommand(registry);
|
|
120
52
|
registerOperatorRuntimeCommands(registry);
|
|
121
|
-
registerIntegrationRuntimeCommands(registry);
|
|
122
53
|
registerNotifyRuntimeCommands(registry);
|
|
123
|
-
registerReplayRuntimeCommands(registry);
|
|
124
|
-
registerShareRuntimeCommands(registry);
|
|
125
|
-
registerLocalSetupCommands(registry);
|
|
126
54
|
registerProductRuntimeCommands(registry);
|
|
127
|
-
registerProfileSyncRuntimeCommands(registry);
|
|
128
|
-
registerManagedRuntimeCommands(registry);
|
|
129
55
|
registerPlatformAccessRuntimeCommands(registry);
|
|
130
|
-
registerPlatformServicesRuntimeCommands(registry);
|
|
131
|
-
registerMarketplaceRuntimeCommands(registry);
|
|
132
56
|
registerGuidanceRuntimeCommands(registry);
|
|
133
|
-
registerRemoteRuntimeCommands(registry);
|
|
134
|
-
registerTeleportRuntimeCommands(registry);
|
|
135
57
|
registerSubscriptionRuntimeCommands(registry);
|
|
136
|
-
|
|
137
|
-
registerControlRoomRuntimeCommands(registry);
|
|
58
|
+
registerSecurityRuntimeCommands(registry);
|
|
138
59
|
registerMcpRuntimeCommands(registry);
|
|
139
|
-
registerIncidentRuntimeCommands(registry);
|
|
140
|
-
registerMemoryProductRuntimeCommands(registry);
|
|
141
|
-
registerSkillsRuntimeCommands(registry);
|
|
142
60
|
registerExperienceRuntimeCommands(registry);
|
|
143
|
-
registerServicesRuntimeCommands(registry);
|
|
144
61
|
registerTasksRuntimeCommands(registry);
|
|
145
62
|
registerLocalProviderRuntimeCommands(registry);
|
|
146
63
|
registerHealthRuntimeCommands(registry);
|
|
147
|
-
registerSettingsSyncRuntimeCommands(registry);
|
|
148
64
|
registerProviderAccountsRuntimeCommands(registry);
|
|
149
65
|
registerLocalAuthRuntimeCommands(registry);
|
|
150
66
|
registerConversationRuntimeCommands(registry);
|
|
@@ -154,18 +70,13 @@ export function registerBuiltinCommands(registry: CommandRegistry): void {
|
|
|
154
70
|
registerWorkPlanRuntimeCommands(registry);
|
|
155
71
|
registerLocalRuntimeCommands(registry);
|
|
156
72
|
registerSessionWorkflowCommands(registry);
|
|
157
|
-
registerDiscoveryRuntimeCommands(registry);
|
|
158
73
|
registerPlanningRuntimeCommands(registry);
|
|
159
74
|
registerScheduleRuntimeCommands(registry);
|
|
160
|
-
registerBranchRuntimeCommands(registry);
|
|
161
75
|
registerSessionContentCommands(registry);
|
|
162
76
|
|
|
163
77
|
// ── /policy ───────────────────────────────────────────────────────────────
|
|
164
78
|
registry.register(policyCommand);
|
|
165
79
|
|
|
166
|
-
// ── /provider ─────────────────────────────────────────────────────────────
|
|
167
|
-
registry.register(providerCommand);
|
|
168
|
-
|
|
169
80
|
// ── /session ─────────────────────────────────────────────────────────────
|
|
170
81
|
registry.register(sessionCommand);
|
|
171
82
|
|
|
@@ -174,8 +85,4 @@ export function registerBuiltinCommands(registry: CommandRegistry): void {
|
|
|
174
85
|
|
|
175
86
|
// ── /knowledge ───────────────────────────────────────────────────────────
|
|
176
87
|
registry.register(knowledgeCommand);
|
|
177
|
-
|
|
178
|
-
for (const commandName of HIDDEN_COPIED_TUI_COMMANDS) {
|
|
179
|
-
registry.unregister(commandName);
|
|
180
|
-
}
|
|
181
88
|
}
|
|
@@ -1,30 +1,13 @@
|
|
|
1
1
|
import type { PanelManager } from '../panel-manager.ts';
|
|
2
|
-
import { CockpitPanel } from '../cockpit-panel.ts';
|
|
3
2
|
import { ApprovalPanel } from '../approval-panel.ts';
|
|
4
|
-
import { PluginsPanel } from '../plugins-panel.ts';
|
|
5
|
-
import { SkillsPanel } from '../skills-panel.ts';
|
|
6
|
-
import { ServicesPanel } from '../services-panel.ts';
|
|
7
3
|
import { AutomationControlPanel } from '../automation-control-panel.ts';
|
|
8
|
-
import { RoutesPanel } from '../routes-panel.ts';
|
|
9
|
-
import { WatchersPanel } from '../watchers-panel.ts';
|
|
10
|
-
import { ControlPlanePanel } from '../control-plane-panel.ts';
|
|
11
4
|
import { SubscriptionPanel } from '../subscription-panel.ts';
|
|
12
5
|
import { LocalAuthPanel } from '../local-auth-panel.ts';
|
|
13
6
|
import { ProviderAccountsPanel } from '../provider-accounts-panel.ts';
|
|
14
|
-
import { SettingsSyncPanel } from '../settings-sync-panel.ts';
|
|
15
|
-
import { HooksPanel } from '../hooks-panel.ts';
|
|
16
7
|
import { SecurityPanel } from '../security-panel.ts';
|
|
17
|
-
import { MarketplacePanel } from '../marketplace-panel.ts';
|
|
18
8
|
import { TasksPanel } from '../tasks-panel.ts';
|
|
19
|
-
import { OrchestrationPanel } from '../orchestration-panel.ts';
|
|
20
|
-
import { OpsStrategyPanel } from '../ops-strategy-panel.ts';
|
|
21
|
-
import { CommunicationPanel } from '../communication-panel.ts';
|
|
22
|
-
import { RemotePanel } from '../remote-panel.ts';
|
|
23
9
|
import { ProviderStatsPanel } from '../provider-stats-panel.ts';
|
|
24
10
|
import { ProviderHealthPanel } from '../provider-health-panel.ts';
|
|
25
|
-
import { GOODVIBES_AGENT_SURFACE_ROOT } from '../../config/surface.ts';
|
|
26
|
-
import { IncidentReviewPanel } from '../incident-review-panel.ts';
|
|
27
|
-
import { ForensicsPanel } from '../forensics-panel.ts';
|
|
28
11
|
import { PolicyPanel } from '../policy-panel.ts';
|
|
29
12
|
import { createProviderAccountSnapshotQuery } from '../provider-account-snapshot.ts';
|
|
30
13
|
import {
|
|
@@ -33,7 +16,7 @@ import {
|
|
|
33
16
|
} from '../../runtime/ui-service-queries.ts';
|
|
34
17
|
import { createRuntimeProviderApi } from '@/runtime/index.ts';
|
|
35
18
|
import type { ResolvedBuiltinPanelDeps } from './shared.ts';
|
|
36
|
-
import {
|
|
19
|
+
import { requireUiServices } from './shared.ts';
|
|
37
20
|
|
|
38
21
|
export function registerOperationsPanels(manager: PanelManager, deps: ResolvedBuiltinPanelDeps): void {
|
|
39
22
|
const ui = requireUiServices(deps);
|
|
@@ -49,15 +32,6 @@ export function registerOperationsPanels(manager: PanelManager, deps: ResolvedBu
|
|
|
49
32
|
environment: createEnvironmentVariableQuery(process.env),
|
|
50
33
|
});
|
|
51
34
|
|
|
52
|
-
manager.registerType({
|
|
53
|
-
id: 'cockpit',
|
|
54
|
-
name: 'Cockpit',
|
|
55
|
-
icon: 'O',
|
|
56
|
-
category: 'monitoring',
|
|
57
|
-
description: 'Unified operator summary for orchestration, permissions, communication, MCP, plugins, and integrations',
|
|
58
|
-
factory: () => new CockpitPanel(ui.readModels.cockpit),
|
|
59
|
-
});
|
|
60
|
-
|
|
61
35
|
manager.registerType({
|
|
62
36
|
id: 'approval',
|
|
63
37
|
name: 'Approval',
|
|
@@ -67,75 +41,15 @@ export function registerOperationsPanels(manager: PanelManager, deps: ResolvedBu
|
|
|
67
41
|
factory: () => new ApprovalPanel(deps.policyRuntimeState),
|
|
68
42
|
});
|
|
69
43
|
|
|
70
|
-
manager.registerType({
|
|
71
|
-
id: 'plugins',
|
|
72
|
-
name: 'Plugins',
|
|
73
|
-
icon: 'P',
|
|
74
|
-
category: 'monitoring',
|
|
75
|
-
description: 'Plugin trust, quarantine, capability, and activation status',
|
|
76
|
-
factory: () => new PluginsPanel(requirePluginManager(deps)),
|
|
77
|
-
});
|
|
78
|
-
|
|
79
|
-
manager.registerType({
|
|
80
|
-
id: 'skills',
|
|
81
|
-
name: 'Skills',
|
|
82
|
-
icon: 'K',
|
|
83
|
-
category: 'monitoring',
|
|
84
|
-
description: 'Project-local and global skill discovery with origin and dependency details',
|
|
85
|
-
factory: () => new SkillsPanel({
|
|
86
|
-
componentHealthMonitor: deps.componentHealthMonitor,
|
|
87
|
-
shellPaths: ui.environment.shellPaths,
|
|
88
|
-
}),
|
|
89
|
-
});
|
|
90
|
-
|
|
91
|
-
manager.registerType({
|
|
92
|
-
id: 'services',
|
|
93
|
-
name: 'Services',
|
|
94
|
-
icon: 'V',
|
|
95
|
-
category: 'monitoring',
|
|
96
|
-
description: 'Configured external services, credential presence, and connection health tests',
|
|
97
|
-
factory: () => new ServicesPanel(deps.serviceRegistry, deps.subscriptionManager),
|
|
98
|
-
});
|
|
99
|
-
|
|
100
44
|
manager.registerType({
|
|
101
45
|
id: 'automation',
|
|
102
46
|
name: 'Automation',
|
|
103
47
|
icon: 'M',
|
|
104
48
|
category: 'monitoring',
|
|
105
|
-
description: '
|
|
49
|
+
description: 'Read-only automation jobs, runs, deliveries, and failure posture from the external runtime',
|
|
106
50
|
factory: () => new AutomationControlPanel(ui.readModels.automation),
|
|
107
51
|
});
|
|
108
52
|
|
|
109
|
-
manager.registerType({
|
|
110
|
-
id: 'routes',
|
|
111
|
-
name: 'Routes',
|
|
112
|
-
icon: 'R',
|
|
113
|
-
category: 'monitoring',
|
|
114
|
-
description: 'Cross-surface route bindings and shared session attachment state',
|
|
115
|
-
factory: () => new RoutesPanel(ui.readModels.routes),
|
|
116
|
-
});
|
|
117
|
-
|
|
118
|
-
manager.registerType({
|
|
119
|
-
id: 'watchers',
|
|
120
|
-
name: 'Watchers',
|
|
121
|
-
icon: 'W',
|
|
122
|
-
category: 'monitoring',
|
|
123
|
-
description: 'Watcher health, lag, and degraded source state for automation inputs',
|
|
124
|
-
factory: () => new WatchersPanel(ui.readModels.watchers),
|
|
125
|
-
});
|
|
126
|
-
|
|
127
|
-
manager.registerType({
|
|
128
|
-
id: 'control-plane',
|
|
129
|
-
name: 'Runtime Status',
|
|
130
|
-
icon: 'C',
|
|
131
|
-
category: 'monitoring',
|
|
132
|
-
description: 'Runtime state, clients, approvals, and recent operator activity',
|
|
133
|
-
factory: () => {
|
|
134
|
-
requireControlPlanePanelDeps(deps);
|
|
135
|
-
return new ControlPlanePanel(ui.readModels.controlPlane);
|
|
136
|
-
},
|
|
137
|
-
});
|
|
138
|
-
|
|
139
53
|
manager.registerType({
|
|
140
54
|
id: 'subscription',
|
|
141
55
|
name: 'Subscriptions',
|
|
@@ -163,27 +77,6 @@ export function registerOperationsPanels(manager: PanelManager, deps: ResolvedBu
|
|
|
163
77
|
factory: () => new ProviderAccountsPanel({ providerAccounts }),
|
|
164
78
|
});
|
|
165
79
|
|
|
166
|
-
manager.registerType({
|
|
167
|
-
id: 'settings-sync',
|
|
168
|
-
name: 'Settings Sync',
|
|
169
|
-
icon: 'Y',
|
|
170
|
-
category: 'monitoring',
|
|
171
|
-
description: 'Local, synced, and managed settings posture with recent sync events and active locks',
|
|
172
|
-
factory: () => new SettingsSyncPanel(deps.configManager),
|
|
173
|
-
});
|
|
174
|
-
|
|
175
|
-
manager.registerType({
|
|
176
|
-
id: 'hooks',
|
|
177
|
-
name: 'Hooks',
|
|
178
|
-
icon: 'H',
|
|
179
|
-
category: 'monitoring',
|
|
180
|
-
description: 'Registered hooks, chains, contracts, and execution policy details',
|
|
181
|
-
factory: () => {
|
|
182
|
-
const hookDeps = requireHookPanelDeps(deps);
|
|
183
|
-
return new HooksPanel(hookDeps.hookDispatcher, hookDeps.hookWorkbench, hookDeps.hookActivityTracker);
|
|
184
|
-
},
|
|
185
|
-
});
|
|
186
|
-
|
|
187
80
|
manager.registerType({
|
|
188
81
|
id: 'security',
|
|
189
82
|
name: 'Security',
|
|
@@ -193,68 +86,15 @@ export function registerOperationsPanels(manager: PanelManager, deps: ResolvedBu
|
|
|
193
86
|
factory: () => new SecurityPanel(ui.readModels.security),
|
|
194
87
|
});
|
|
195
88
|
|
|
196
|
-
manager.registerType({
|
|
197
|
-
id: 'marketplace',
|
|
198
|
-
name: 'Marketplace',
|
|
199
|
-
icon: 'M',
|
|
200
|
-
category: 'monitoring',
|
|
201
|
-
description: 'Curated plugin and skill marketplace with provenance, compatibility, and install posture',
|
|
202
|
-
factory: () => {
|
|
203
|
-
return new MarketplacePanel(ui.readModels.marketplace, {
|
|
204
|
-
cwd: ui.environment.shellPaths.workingDirectory,
|
|
205
|
-
homeDir: ui.environment.shellPaths.homeDirectory,
|
|
206
|
-
projectCatalogRoot: ui.environment.shellPaths.resolveProjectPath(GOODVIBES_AGENT_SURFACE_ROOT, 'ecosystem'),
|
|
207
|
-
userCatalogRoot: ui.environment.shellPaths.resolveUserPath(GOODVIBES_AGENT_SURFACE_ROOT, 'ecosystem'),
|
|
208
|
-
});
|
|
209
|
-
},
|
|
210
|
-
});
|
|
211
|
-
|
|
212
89
|
manager.registerType({
|
|
213
90
|
id: 'tasks',
|
|
214
91
|
name: 'Tasks',
|
|
215
92
|
icon: 'J',
|
|
216
93
|
category: 'monitoring',
|
|
217
|
-
description: 'Queued, running, blocked, failed, and completed task summaries from the runtime
|
|
94
|
+
description: 'Queued, running, blocked, failed, and completed task summaries from the external runtime',
|
|
218
95
|
factory: () => new TasksPanel(ui.readModels.tasks),
|
|
219
96
|
});
|
|
220
97
|
|
|
221
|
-
manager.registerType({
|
|
222
|
-
id: 'orchestration',
|
|
223
|
-
name: 'Orchestration',
|
|
224
|
-
icon: 'Q',
|
|
225
|
-
category: 'monitoring',
|
|
226
|
-
description: 'Task-graph status, node roles, and bounded recursion guard activity',
|
|
227
|
-
factory: () => new OrchestrationPanel(ui.readModels.orchestration),
|
|
228
|
-
});
|
|
229
|
-
|
|
230
|
-
manager.registerType({
|
|
231
|
-
id: 'ops',
|
|
232
|
-
name: 'Ops',
|
|
233
|
-
icon: 'O',
|
|
234
|
-
category: 'monitoring',
|
|
235
|
-
description: 'Adaptive planner strategy timeline, override posture, and recent execution-mode decisions',
|
|
236
|
-
factory: () => new OpsStrategyPanel(ui.events.planner, deps.adaptivePlanner),
|
|
237
|
-
});
|
|
238
|
-
|
|
239
|
-
manager.registerType({
|
|
240
|
-
id: 'communication',
|
|
241
|
-
name: 'Communication',
|
|
242
|
-
icon: 'Y',
|
|
243
|
-
category: 'monitoring',
|
|
244
|
-
description: 'Structured agent communication, blocked routes, and delivery status',
|
|
245
|
-
preload: true,
|
|
246
|
-
factory: () => new CommunicationPanel(ui.readModels.communication),
|
|
247
|
-
});
|
|
248
|
-
|
|
249
|
-
manager.registerType({
|
|
250
|
-
id: 'remote',
|
|
251
|
-
name: 'Remote',
|
|
252
|
-
icon: 'R',
|
|
253
|
-
category: 'monitoring',
|
|
254
|
-
description: 'Runtime transport state with active remote connections',
|
|
255
|
-
factory: () => new RemotePanel(ui.readModels.remote),
|
|
256
|
-
});
|
|
257
|
-
|
|
258
98
|
manager.registerType({
|
|
259
99
|
id: 'providers',
|
|
260
100
|
name: 'Providers',
|
|
@@ -289,26 +129,6 @@ export function registerOperationsPanels(manager: PanelManager, deps: ResolvedBu
|
|
|
289
129
|
),
|
|
290
130
|
});
|
|
291
131
|
|
|
292
|
-
if (deps.forensicsRegistry) {
|
|
293
|
-
const { forensicsRegistry } = deps;
|
|
294
|
-
manager.registerType({
|
|
295
|
-
id: 'incident',
|
|
296
|
-
name: 'Incident',
|
|
297
|
-
icon: 'N',
|
|
298
|
-
category: 'monitoring',
|
|
299
|
-
description: 'Incident workspace with root cause, permission, budget, and replay evidence',
|
|
300
|
-
factory: () => new IncidentReviewPanel(forensicsRegistry),
|
|
301
|
-
});
|
|
302
|
-
manager.registerType({
|
|
303
|
-
id: 'forensics',
|
|
304
|
-
name: 'Forensics',
|
|
305
|
-
icon: 'F',
|
|
306
|
-
category: 'monitoring',
|
|
307
|
-
description: 'Failure Forensics: auto-classified failure reports with causal chains, phase timings, and jump links',
|
|
308
|
-
factory: () => new ForensicsPanel(forensicsRegistry),
|
|
309
|
-
});
|
|
310
|
-
}
|
|
311
|
-
|
|
312
132
|
manager.registerType({
|
|
313
133
|
id: 'policy',
|
|
314
134
|
name: 'Policy',
|
|
@@ -317,5 +137,4 @@ export function registerOperationsPanels(manager: PanelManager, deps: ResolvedBu
|
|
|
317
137
|
description: 'Policy governance: active/candidate bundles, divergence gate, rollout history, and simulation evidence',
|
|
318
138
|
factory: () => new PolicyPanel(deps.policyRuntimeState),
|
|
319
139
|
});
|
|
320
|
-
|
|
321
140
|
}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
// useConfirmState<T> — reusable inline y/n confirmation helper
|
|
3
3
|
//
|
|
4
4
|
// Pattern (chosen over ConfirmableListPanel base class):
|
|
5
|
-
// - Composable:
|
|
5
|
+
// - Composable: each panel holds a ConfirmState field, not a new base class
|
|
6
6
|
// - Identical y/n UX everywhere: y confirms, n/Esc cancels, any other key
|
|
7
7
|
// is absorbed (does nothing) while confirm is active
|
|
8
8
|
// - Render: caller calls renderConfirmLines(width, state) to get the two
|
package/src/panels/index.ts
CHANGED
|
@@ -17,21 +17,10 @@ export { ToolInspectorPanel } from './tool-inspector-panel.ts';
|
|
|
17
17
|
export { ContextVisualizerPanel } from './context-visualizer-panel.ts';
|
|
18
18
|
export { registerBuiltinPanels } from './builtin-panels.ts';
|
|
19
19
|
export type { BuiltinPanelDeps } from './builtin-panels.ts';
|
|
20
|
-
export { ForensicsPanel } from './forensics-panel.ts';
|
|
21
|
-
export { IncidentReviewPanel } from './incident-review-panel.ts';
|
|
22
20
|
export { PolicyPanel } from './policy-panel.ts';
|
|
23
|
-
export { PluginsPanel } from './plugins-panel.ts';
|
|
24
|
-
export { SkillsPanel } from './skills-panel.ts';
|
|
25
21
|
export { TasksPanel } from './tasks-panel.ts';
|
|
26
|
-
export { OrchestrationPanel } from './orchestration-panel.ts';
|
|
27
|
-
export { CommunicationPanel } from './communication-panel.ts';
|
|
28
|
-
export { CockpitPanel } from './cockpit-panel.ts';
|
|
29
|
-
export { RemotePanel } from './remote-panel.ts';
|
|
30
|
-
export { ServicesPanel } from './services-panel.ts';
|
|
31
22
|
export { SubscriptionPanel } from './subscription-panel.ts';
|
|
32
|
-
export { HooksPanel } from './hooks-panel.ts';
|
|
33
23
|
export { SecurityPanel } from './security-panel.ts';
|
|
34
|
-
export { MarketplacePanel } from './marketplace-panel.ts';
|
|
35
24
|
export { ApprovalPanel } from './approval-panel.ts';
|
|
36
25
|
export { KnowledgePanel } from './knowledge-panel.ts';
|
|
37
26
|
export { SystemMessagesPanel } from './system-messages-panel.ts';
|
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.72';
|
|
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,52 +0,0 @@
|
|
|
1
|
-
# Deployment And Services
|
|
2
|
-
|
|
3
|
-
GoodVibes Agent is a client/operator TUI. It connects to an already-running GoodVibes runtime and does not own runtime or listener deployment.
|
|
4
|
-
|
|
5
|
-
## Runtime Ownership
|
|
6
|
-
|
|
7
|
-
Agent must not:
|
|
8
|
-
|
|
9
|
-
- start an embedded runtime
|
|
10
|
-
- start an embedded HTTP listener
|
|
11
|
-
- install or uninstall OS services
|
|
12
|
-
- start, stop, or restart runtime services
|
|
13
|
-
- enable web, listener, control-plane, or channel surface posture
|
|
14
|
-
|
|
15
|
-
Those operations belong to GoodVibes TUI or the owning runtime host. Agent reports external runtime readiness but does not configure that host.
|
|
16
|
-
|
|
17
|
-
## Agent Runtime
|
|
18
|
-
|
|
19
|
-
The installed package exposes one executable:
|
|
20
|
-
|
|
21
|
-
```sh
|
|
22
|
-
goodvibes-agent
|
|
23
|
-
```
|
|
24
|
-
|
|
25
|
-
The executable is backed by TypeScript-authored source with a Bun shebang. Package install smoke must verify:
|
|
26
|
-
|
|
27
|
-
- `goodvibes-agent --help`
|
|
28
|
-
- `goodvibes-agent --version`
|
|
29
|
-
- `goodvibes-agent status --json`
|
|
30
|
-
- `goodvibes-agent` launches the TUI in a real PTY
|
|
31
|
-
- `goodvibes-agent smoke --json` when that command is available in the baseline being tested
|
|
32
|
-
|
|
33
|
-
## External Runtime Connection
|
|
34
|
-
|
|
35
|
-
Agent reads configuration and tokens, then connects to an already-running GoodVibes runtime. The default local control-plane URL is normally:
|
|
36
|
-
|
|
37
|
-
```text
|
|
38
|
-
http://127.0.0.1:3421
|
|
39
|
-
```
|
|
40
|
-
|
|
41
|
-
If the runtime is unavailable, unauthenticated, or on an incompatible SDK version, Agent commands should report actionable diagnostics without printing token values.
|
|
42
|
-
|
|
43
|
-
## Release Rule
|
|
44
|
-
|
|
45
|
-
Only publish Agent releases that preserve the Agent product policy:
|
|
46
|
-
|
|
47
|
-
- serial/proactive assistant by default
|
|
48
|
-
- local memory/routines/skills/personas until shared registries are stable
|
|
49
|
-
- Agent knowledge routes only for Agent wiki calls
|
|
50
|
-
- companion chat for normal assistant chat
|
|
51
|
-
- explicit delegation to GoodVibes TUI for build/fix/review work
|
|
52
|
-
- WRFC only when explicitly requested for delegated build/fix/review work
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import type { CliCommandRuntime } from './management.ts';
|
|
2
|
-
import { buildCliServicePosture, formatCliServicePosture } from './service-posture.ts';
|
|
3
|
-
import type { CliCommandOutput } from './types.ts';
|
|
4
|
-
|
|
5
|
-
export async function handleServiceCommand(runtime: CliCommandRuntime): Promise<CliCommandOutput> {
|
|
6
|
-
const [sub = 'status'] = runtime.cli.commandArgs;
|
|
7
|
-
const json = runtime.cli.flags.outputFormat === 'json';
|
|
8
|
-
if (sub === 'status' || sub === 'check') {
|
|
9
|
-
const posture = await buildCliServicePosture(runtime, { probe: sub === 'check' });
|
|
10
|
-
return {
|
|
11
|
-
output: formatCliServicePosture(posture, json),
|
|
12
|
-
exitCode: sub === 'check' && posture.issues.length > 0 ? 1 : 0,
|
|
13
|
-
};
|
|
14
|
-
}
|
|
15
|
-
if (sub === 'install' || sub === 'start' || sub === 'restart' || sub === 'stop' || sub === 'uninstall') {
|
|
16
|
-
const text = 'GoodVibes Agent connects to an existing GoodVibes runtime and does not manage runtime lifecycle. Use GoodVibes TUI or host tooling for service mutations.';
|
|
17
|
-
return {
|
|
18
|
-
output: json ? JSON.stringify({ ok: false, kind: 'daemon_lifecycle_external', action: sub, error: text }, null, 2) : text,
|
|
19
|
-
exitCode: 2,
|
|
20
|
-
};
|
|
21
|
-
}
|
|
22
|
-
return {
|
|
23
|
-
output: `Usage: ${runtime.cli.binary} service [status|check]`,
|
|
24
|
-
exitCode: 2,
|
|
25
|
-
};
|
|
26
|
-
}
|