@pellux/goodvibes-tui 0.19.60 → 0.19.62
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 +52 -0
- package/README.md +1 -1
- package/docs/foundation-artifacts/operator-contract.json +2398 -2086
- package/package.json +2 -2
- package/src/audio/player.ts +1 -1
- package/src/audio/spoken-turn-controller.ts +5 -5
- package/src/audio/spoken-turn-model-routing.ts +3 -3
- package/src/audio/spoken-turn-wiring.ts +3 -3
- package/src/cli/bundle-command.ts +3 -3
- package/src/cli/entrypoint.ts +9 -8
- package/src/cli/management-commands.ts +6 -6
- package/src/cli/management.ts +17 -16
- package/src/cli/provider-auth-routes.ts +1 -1
- package/src/cli/service-posture.ts +2 -2
- package/src/cli/status.ts +4 -3
- package/src/cli/surface-command.ts +1 -1
- package/src/config/index.ts +12 -11
- package/src/config/provider-model.ts +23 -0
- package/src/config/secret-config.ts +1 -1
- package/src/config/secrets.ts +3 -3
- package/src/core/composer-state.ts +1 -1
- package/src/core/conversation-rendering.ts +3 -3
- package/src/core/conversation.ts +10 -10
- package/src/core/orchestrator.ts +1 -1
- package/src/core/system-message-router.ts +3 -3
- package/src/daemon/cli.ts +19 -19
- package/src/daemon/safe-serve.ts +2 -2
- package/src/input/bookmark-modal.ts +1 -1
- package/src/input/command-registry.ts +31 -31
- package/src/input/commands/control-room-runtime.ts +3 -3
- package/src/input/commands/conversation-runtime.ts +1 -1
- package/src/input/commands/diff-runtime.ts +1 -1
- package/src/input/commands/discovery-runtime.ts +2 -2
- package/src/input/commands/eval.ts +6 -6
- package/src/input/commands/git-runtime.ts +2 -2
- package/src/input/commands/guidance-runtime.ts +3 -3
- package/src/input/commands/health-runtime.ts +10 -10
- package/src/input/commands/incident-runtime.ts +1 -1
- package/src/input/commands/integration-runtime.ts +2 -2
- package/src/input/commands/intelligence-runtime.ts +3 -3
- package/src/input/commands/knowledge.ts +1 -1
- package/src/input/commands/local-auth-runtime.ts +1 -1
- package/src/input/commands/local-provider-runtime.ts +3 -4
- package/src/input/commands/local-runtime.ts +6 -6
- package/src/input/commands/local-setup-review.ts +3 -3
- package/src/input/commands/local-setup.ts +3 -3
- package/src/input/commands/managed-runtime.ts +9 -8
- package/src/input/commands/marketplace-runtime.ts +1 -1
- package/src/input/commands/mcp-runtime.ts +1 -1
- package/src/input/commands/operator-panel-runtime.ts +1 -1
- package/src/input/commands/operator-runtime.ts +5 -5
- package/src/input/commands/platform-access-runtime.ts +2 -2
- package/src/input/commands/platform-sandbox-qemu.ts +2 -2
- package/src/input/commands/platform-sandbox-runtime.ts +6 -6
- package/src/input/commands/platform-sandbox-session.ts +2 -2
- package/src/input/commands/policy-dispatch.ts +6 -6
- package/src/input/commands/product-runtime.ts +2 -2
- package/src/input/commands/profile-sync-runtime.ts +2 -2
- package/src/input/commands/provider-accounts-runtime.ts +1 -1
- package/src/input/commands/provider.ts +3 -3
- package/src/input/commands/quit-shared.ts +2 -2
- package/src/input/commands/recall-bundle.ts +2 -2
- package/src/input/commands/recall-capture.ts +2 -2
- package/src/input/commands/recall-query.ts +2 -2
- package/src/input/commands/recall-shared.ts +2 -2
- package/src/input/commands/remote-runtime-setup.ts +2 -2
- package/src/input/commands/remote-runtime.ts +1 -1
- package/src/input/commands/replay-runtime.ts +1 -1
- package/src/input/commands/runtime-services.ts +11 -11
- package/src/input/commands/schedule-runtime.ts +6 -6
- package/src/input/commands/services-runtime.ts +1 -1
- package/src/input/commands/session-content.ts +5 -5
- package/src/input/commands/session-workflow.ts +5 -5
- package/src/input/commands/session.ts +2 -2
- package/src/input/commands/settings-sync-runtime.ts +5 -4
- package/src/input/commands/share-runtime.ts +3 -3
- package/src/input/commands/shell-core.ts +4 -5
- package/src/input/commands/skills-runtime.ts +1 -1
- package/src/input/commands/subscription-runtime.ts +7 -7
- package/src/input/commands/tasks-runtime.ts +5 -5
- package/src/input/commands/teamwork-runtime.ts +3 -3
- package/src/input/commands/teleport-runtime.ts +1 -1
- package/src/input/commands/worktree-runtime.ts +3 -3
- package/src/input/feed-context-factory.ts +1 -1
- package/src/input/file-picker.ts +1 -1
- package/src/input/handler-command-route.ts +2 -2
- package/src/input/handler-content-actions.ts +7 -7
- package/src/input/handler-feed-routes.ts +3 -3
- package/src/input/handler-feed.ts +2 -2
- package/src/input/handler-interactions.ts +1 -1
- package/src/input/handler-modal-routes.ts +1 -2
- package/src/input/handler-modal-token-routes.ts +1 -1
- package/src/input/handler-onboarding.ts +9 -6
- package/src/input/handler-picker-routes.ts +3 -3
- package/src/input/handler-shortcuts.ts +1 -1
- package/src/input/handler-ui-state.ts +1 -1
- package/src/input/handler.ts +5 -5
- package/src/input/input-history.ts +2 -2
- package/src/input/keybindings.ts +3 -3
- package/src/input/model-picker-types.ts +1 -1
- package/src/input/model-picker.ts +6 -6
- package/src/input/onboarding/handler-onboarding-routes.ts +1 -1
- package/src/input/onboarding/onboarding-runtime-status.ts +1 -1
- package/src/input/onboarding/onboarding-wizard-apply.ts +2 -2
- package/src/input/onboarding/onboarding-wizard-external-surfaces.ts +1 -1
- package/src/input/panel-integration-actions.ts +1 -1
- package/src/input/profile-picker-modal.ts +5 -5
- package/src/input/session-picker-modal.ts +2 -2
- package/src/input/settings-modal-behavior.ts +3 -5
- package/src/input/settings-modal-secrets.ts +4 -4
- package/src/input/settings-modal-subscriptions.ts +3 -3
- package/src/input/settings-modal-types.ts +4 -4
- package/src/input/settings-modal.ts +9 -9
- package/src/input/tts-settings-actions.ts +1 -1
- package/src/main.ts +16 -17
- package/src/panels/agent-inspector-panel.ts +4 -4
- package/src/panels/agent-logs-panel.ts +2 -2
- package/src/panels/approval-panel.ts +2 -2
- package/src/panels/builtin/operations.ts +1 -1
- package/src/panels/builtin/session.ts +2 -2
- package/src/panels/builtin/shared.ts +26 -26
- package/src/panels/context-visualizer-panel.ts +3 -3
- package/src/panels/cost-tracker-panel.ts +1 -1
- package/src/panels/debug-panel.ts +1 -1
- package/src/panels/eval-panel.ts +1 -1
- package/src/panels/forensics-panel.ts +3 -3
- package/src/panels/git-panel.ts +3 -3
- package/src/panels/hooks-panel.ts +7 -7
- package/src/panels/incident-review-panel.ts +2 -2
- package/src/panels/knowledge-panel.ts +1 -1
- package/src/panels/local-auth-panel.ts +1 -1
- package/src/panels/marketplace-panel.ts +2 -2
- package/src/panels/mcp-panel.ts +2 -2
- package/src/panels/memory-panel.ts +2 -2
- package/src/panels/ops-control-panel.ts +1 -1
- package/src/panels/ops-strategy-panel.ts +2 -2
- package/src/panels/orchestration-panel.ts +1 -1
- package/src/panels/panel-list-panel.ts +1 -1
- package/src/panels/plan-dashboard-panel.ts +1 -1
- package/src/panels/plugins-panel.ts +1 -1
- package/src/panels/policy-panel.ts +1 -1
- package/src/panels/project-planning-panel.ts +1 -1
- package/src/panels/provider-account-snapshot.ts +1 -1
- package/src/panels/provider-health-domains.ts +4 -4
- package/src/panels/provider-health-panel.ts +4 -4
- package/src/panels/provider-stats-panel.ts +1 -1
- package/src/panels/qr-panel.ts +1 -1
- package/src/panels/sandbox-panel.ts +3 -3
- package/src/panels/schedule-panel.ts +4 -4
- package/src/panels/security-panel.ts +1 -1
- package/src/panels/services-panel.ts +1 -1
- package/src/panels/session-browser-panel.ts +3 -3
- package/src/panels/settings-sync-panel.ts +1 -1
- package/src/panels/skills-panel.ts +1 -1
- package/src/panels/subscription-panel.ts +2 -2
- package/src/panels/system-messages-panel.ts +1 -1
- package/src/panels/tasks-panel.ts +5 -5
- package/src/panels/thinking-panel.ts +1 -1
- package/src/panels/token-budget-panel.ts +2 -2
- package/src/panels/tool-inspector-panel.ts +1 -1
- package/src/panels/worktree-panel.ts +6 -6
- package/src/panels/wrfc-panel.ts +4 -4
- package/src/permissions/prompt.ts +3 -3
- package/src/planning/project-planning-coordinator.ts +1 -1
- package/src/plugins/loader.ts +2 -2
- package/src/renderer/agent-detail-modal.ts +5 -5
- package/src/renderer/bookmark-modal.ts +1 -1
- package/src/renderer/git-status.ts +3 -3
- package/src/renderer/help-overlay.ts +1 -1
- package/src/renderer/live-tail-modal.ts +2 -2
- package/src/renderer/model-picker-overlay.ts +2 -2
- package/src/renderer/model-workspace.ts +1 -1
- package/src/renderer/process-modal.ts +3 -3
- package/src/renderer/qr-renderer.ts +1 -1
- package/src/renderer/semantic-diff.ts +6 -6
- package/src/renderer/syntax-highlighter.ts +3 -3
- package/src/renderer/tool-call.ts +1 -1
- package/src/runtime/bootstrap-command-context.ts +46 -46
- package/src/runtime/bootstrap-command-parts.ts +46 -47
- package/src/runtime/bootstrap-core.ts +24 -23
- package/src/runtime/bootstrap-hook-bridge.ts +14 -14
- package/src/runtime/bootstrap-shell.ts +15 -15
- package/src/runtime/bootstrap.ts +27 -27
- package/src/runtime/cloudflare-control-plane.ts +1 -1
- package/src/runtime/context.ts +13 -13
- package/src/runtime/diagnostics/panels/index.ts +14 -14
- package/src/runtime/diagnostics/panels/ops.ts +7 -7
- package/src/runtime/diagnostics/panels/panel-resources.ts +1 -1
- package/src/runtime/diagnostics/panels/policy.ts +11 -11
- package/src/runtime/index.ts +625 -163
- package/src/runtime/onboarding/apply.ts +1 -1
- package/src/runtime/onboarding/derivation.ts +3 -2
- package/src/runtime/onboarding/markers.ts +1 -1
- package/src/runtime/onboarding/snapshot.ts +3 -2
- package/src/runtime/onboarding/types.ts +2 -2
- package/src/runtime/onboarding/verify.ts +1 -1
- package/src/runtime/perf/panel-contracts.ts +2 -2
- package/src/runtime/perf/panel-health-monitor.ts +2 -2
- package/src/runtime/sandbox-public-gaps.ts +486 -0
- package/src/runtime/services.ts +114 -67
- package/src/runtime/store/domains/index.ts +50 -50
- package/src/runtime/store/index.ts +21 -20
- package/src/runtime/store/selectors/index.ts +17 -17
- package/src/runtime/store/state.ts +50 -50
- package/src/runtime/surface-feature-flags.ts +1 -3
- package/src/runtime/terminal-output-guard.ts +1 -1
- package/src/runtime/ui/index.ts +7 -7
- package/src/runtime/ui/model-picker/data-provider.ts +7 -7
- package/src/runtime/ui/model-picker/health-enrichment.ts +7 -7
- package/src/runtime/ui/model-picker/index.ts +11 -11
- package/src/runtime/ui/model-picker/types.ts +1 -1
- package/src/runtime/ui/provider-health/data-provider.ts +4 -4
- package/src/runtime/ui/provider-health/fallback-visualizer.ts +5 -3
- package/src/runtime/ui/provider-health/index.ts +7 -7
- package/src/runtime/ui/provider-health/types.ts +1 -1
- package/src/runtime/ui-events.ts +1 -1
- package/src/runtime/ui-read-model-helpers.ts +1 -1
- package/src/runtime/ui-read-models-observability-maintenance.ts +1 -1
- package/src/runtime/ui-read-models-observability-options.ts +1 -1
- package/src/runtime/ui-read-models-observability-remote.ts +1 -1
- package/src/runtime/ui-read-models-observability-security.ts +1 -1
- package/src/runtime/ui-read-models-observability-system.ts +1 -1
- package/src/runtime/ui-read-models-observability.ts +1 -1
- package/src/runtime/ui-read-models.ts +8 -8
- package/src/runtime/ui-service-queries.ts +1 -1
- package/src/runtime/ui-services.ts +8 -8
- package/src/scripts/process-messages.ts +1 -1
- package/src/shell/blocking-input.ts +2 -2
- package/src/shell/ui-openers.ts +8 -7
- package/src/tools/index.ts +1 -1
- package/src/utils/clipboard.ts +3 -3
- package/src/version.ts +1 -1
|
@@ -1,44 +1,44 @@
|
|
|
1
|
-
import type { McpRegistry } from '@pellux/goodvibes-sdk/platform/mcp
|
|
2
|
-
import type { ProviderRegistry } from '@pellux/goodvibes-sdk/platform/providers
|
|
1
|
+
import type { McpRegistry } from '@pellux/goodvibes-sdk/platform/mcp';
|
|
2
|
+
import type { ProviderRegistry } from '@pellux/goodvibes-sdk/platform/providers';
|
|
3
3
|
import type { ConversationManager } from '../core/conversation';
|
|
4
4
|
import type { ConfigManager } from '../config/index.ts';
|
|
5
5
|
import type { DeepReadonly, GoodVibesConfig } from '../config/index.ts';
|
|
6
|
-
import type { ToolRegistry } from '@pellux/goodvibes-sdk/platform/tools
|
|
7
|
-
import type { PermissionRequestHandler } from '@pellux/goodvibes-sdk/platform/permissions
|
|
6
|
+
import type { ToolRegistry } from '@pellux/goodvibes-sdk/platform/tools';
|
|
7
|
+
import type { PermissionRequestHandler } from '@pellux/goodvibes-sdk/platform/permissions';
|
|
8
8
|
import type { SelectionItem, SelectionResult, SelectionAction } from './selection-modal.ts';
|
|
9
|
-
import type { FileUndoManager } from '@pellux/goodvibes-sdk/platform/state
|
|
9
|
+
import type { FileUndoManager } from '@pellux/goodvibes-sdk/platform/state';
|
|
10
10
|
import type { PanelManager } from '../panels/panel-manager.ts';
|
|
11
11
|
import type { KeybindingsManager } from './keybindings.ts';
|
|
12
12
|
import type { OnboardingWizardMode } from './onboarding/onboarding-wizard.ts';
|
|
13
13
|
import type { OpenOnboardingWizardOptions } from './handler-ui-state.ts';
|
|
14
|
-
import type { KnowledgeApi } from '@pellux/goodvibes-sdk/platform/knowledge
|
|
15
|
-
import type { HookApi } from '@pellux/goodvibes-sdk/platform/hooks
|
|
16
|
-
import type { McpApi } from '@pellux/goodvibes-sdk/platform/mcp
|
|
17
|
-
import type { ProviderApi } from '@pellux/goodvibes-sdk/platform/providers
|
|
18
|
-
import type { OpsApi } from '
|
|
19
|
-
import type { OperatorClient } from '
|
|
20
|
-
import type { PeerClient } from '
|
|
21
|
-
import type { DirectTransport } from '
|
|
22
|
-
import type { VoiceProviderRegistry, VoiceService } from '@pellux/goodvibes-sdk/platform/voice
|
|
14
|
+
import type { KnowledgeApi } from '@pellux/goodvibes-sdk/platform/knowledge';
|
|
15
|
+
import type { HookApi } from '@pellux/goodvibes-sdk/platform/hooks';
|
|
16
|
+
import type { McpApi } from '@pellux/goodvibes-sdk/platform/mcp';
|
|
17
|
+
import type { ProviderApi } from '@pellux/goodvibes-sdk/platform/providers';
|
|
18
|
+
import type { OpsApi } from '@/runtime/index.ts';
|
|
19
|
+
import type { OperatorClient } from '@/runtime/index.ts';
|
|
20
|
+
import type { PeerClient } from '@/runtime/index.ts';
|
|
21
|
+
import type { DirectTransport } from '@/runtime/index.ts';
|
|
22
|
+
import type { VoiceProviderRegistry, VoiceService } from '@pellux/goodvibes-sdk/platform/voice';
|
|
23
23
|
import type {
|
|
24
24
|
CommandWorkspaceShellServices,
|
|
25
|
-
} from '
|
|
25
|
+
} from '@/runtime/index.ts';
|
|
26
26
|
import type {
|
|
27
27
|
CommandPlatformShellServices,
|
|
28
|
-
} from '
|
|
28
|
+
} from '@/runtime/index.ts';
|
|
29
29
|
import type {
|
|
30
30
|
CommandExtensionShellServices,
|
|
31
|
-
} from '
|
|
31
|
+
} from '@/runtime/index.ts';
|
|
32
32
|
import type {
|
|
33
33
|
CommandOpsShellServices,
|
|
34
34
|
RemoteCommandService,
|
|
35
35
|
PlanRuntimeService,
|
|
36
|
-
} from '
|
|
36
|
+
} from '@/runtime/index.ts';
|
|
37
37
|
|
|
38
38
|
export type {
|
|
39
39
|
RemoteCommandService,
|
|
40
40
|
PlanRuntimeService,
|
|
41
|
-
} from '
|
|
41
|
+
} from '@/runtime/index.ts';
|
|
42
42
|
|
|
43
43
|
export interface CommandRuntimeState {
|
|
44
44
|
model: string;
|
|
@@ -58,8 +58,8 @@ export interface CommandUiActions {
|
|
|
58
58
|
renderRequest: () => void;
|
|
59
59
|
print: (text: string) => void;
|
|
60
60
|
exit: () => void;
|
|
61
|
-
submitInput?: (text: string, content?: import('@pellux/goodvibes-sdk/platform/providers
|
|
62
|
-
submitSpokenInput?: (text: string, content?: import('@pellux/goodvibes-sdk/platform/providers
|
|
61
|
+
submitInput?: (text: string, content?: import('@pellux/goodvibes-sdk/platform/providers').ContentPart[]) => void;
|
|
62
|
+
submitSpokenInput?: (text: string, content?: import('@pellux/goodvibes-sdk/platform/providers').ContentPart[]) => void;
|
|
63
63
|
stopSpokenOutput?: () => void;
|
|
64
64
|
executeCommand?: (name: string, args: string[]) => Promise<boolean>;
|
|
65
65
|
cancelGeneration?: () => void;
|
|
@@ -119,17 +119,17 @@ export interface CommandShellUiOpeners {
|
|
|
119
119
|
export interface CommandSessionServices {
|
|
120
120
|
readonly conversationManager: ConversationManager;
|
|
121
121
|
readonly runtime: CommandRuntimeState;
|
|
122
|
-
readonly sessionManager?: import('@pellux/goodvibes-sdk/platform/sessions
|
|
123
|
-
readonly sessionMemoryStore?: import('@pellux/goodvibes-sdk/platform/core
|
|
124
|
-
readonly sessionLineageTracker?: import('@pellux/goodvibes-sdk/platform/core
|
|
125
|
-
readonly changeTracker?: import('@pellux/goodvibes-sdk/platform/sessions
|
|
122
|
+
readonly sessionManager?: import('@pellux/goodvibes-sdk/platform/sessions').SessionManager;
|
|
123
|
+
readonly sessionMemoryStore?: import('@pellux/goodvibes-sdk/platform/core').SessionMemoryStore;
|
|
124
|
+
readonly sessionLineageTracker?: import('@pellux/goodvibes-sdk/platform/core').SessionLineageTracker;
|
|
125
|
+
readonly changeTracker?: import('@pellux/goodvibes-sdk/platform/sessions').SessionChangeTracker;
|
|
126
126
|
}
|
|
127
127
|
|
|
128
128
|
export interface CommandProviderServices {
|
|
129
129
|
readonly providerRegistry: ProviderRegistry;
|
|
130
|
-
readonly providerOptimizer?: import('@pellux/goodvibes-sdk/platform/providers
|
|
131
|
-
readonly favoritesStore?: import('@pellux/goodvibes-sdk/platform/providers
|
|
132
|
-
readonly benchmarkStore?: import('@pellux/goodvibes-sdk/platform/providers
|
|
130
|
+
readonly providerOptimizer?: import('@pellux/goodvibes-sdk/platform/providers').ProviderOptimizer;
|
|
131
|
+
readonly favoritesStore?: import('@pellux/goodvibes-sdk/platform/providers').FavoritesStore;
|
|
132
|
+
readonly benchmarkStore?: import('@pellux/goodvibes-sdk/platform/providers').BenchmarkStore;
|
|
133
133
|
}
|
|
134
134
|
|
|
135
135
|
/**
|
|
@@ -140,9 +140,9 @@ export interface CommandWorkspaceUiServices {
|
|
|
140
140
|
keybindingsManager?: KeybindingsManager;
|
|
141
141
|
fileUndoManager?: FileUndoManager;
|
|
142
142
|
panelManager?: PanelManager;
|
|
143
|
-
profileManager?: import('@pellux/goodvibes-sdk/platform/profiles
|
|
144
|
-
bookmarkManager?: import('@pellux/goodvibes-sdk/platform/bookmarks
|
|
145
|
-
projectPlanningService?: import('@pellux/goodvibes-sdk/platform/knowledge
|
|
143
|
+
profileManager?: import('@pellux/goodvibes-sdk/platform/profiles').ProfileManager;
|
|
144
|
+
bookmarkManager?: import('@pellux/goodvibes-sdk/platform/bookmarks').BookmarkManager;
|
|
145
|
+
projectPlanningService?: import('@pellux/goodvibes-sdk/platform/knowledge').ProjectPlanningService;
|
|
146
146
|
projectPlanningProjectId?: string;
|
|
147
147
|
}
|
|
148
148
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { CommandRegistry } from '../command-registry.ts';
|
|
2
|
-
import { buildMcpAttackPathReview } from '
|
|
3
|
-
import { buildKnowledgeInjectionPrompt, selectKnowledgeForTask } from '@pellux/goodvibes-sdk/platform/state
|
|
4
|
-
import { listBuiltinSubscriptionProviders } from '@pellux/goodvibes-sdk/platform/config
|
|
2
|
+
import { buildMcpAttackPathReview } from '@/runtime/index.ts';
|
|
3
|
+
import { buildKnowledgeInjectionPrompt, selectKnowledgeForTask } from '@pellux/goodvibes-sdk/platform/state';
|
|
4
|
+
import { listBuiltinSubscriptionProviders } from '@pellux/goodvibes-sdk/platform/config';
|
|
5
5
|
import { requireReadModels, requireSubscriptionManager, requireTokenAuditor } from './runtime-services.ts';
|
|
6
6
|
import { getMemoryApi } from './recall-query.ts';
|
|
7
7
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { deriveComposerState } from '../../core/composer-state.ts';
|
|
2
|
-
import type { TranscriptEventKind } from '@pellux/goodvibes-sdk/platform/core
|
|
2
|
+
import type { TranscriptEventKind } from '@pellux/goodvibes-sdk/platform/core';
|
|
3
3
|
import type { CommandContext, CommandRegistry } from '../command-registry.ts';
|
|
4
4
|
import { requireReadModels } from './runtime-services.ts';
|
|
5
5
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { join } from 'path';
|
|
2
|
-
import { logger } from '@pellux/goodvibes-sdk/platform/utils
|
|
2
|
+
import { logger } from '@pellux/goodvibes-sdk/platform/utils';
|
|
3
3
|
import type { CommandRegistry } from '../command-registry.ts';
|
|
4
4
|
import { requirePanelManager, requireSessionChangeTracker, requireShellPaths } from './runtime-services.ts';
|
|
5
5
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { CommandRegistry } from '../command-registry.ts';
|
|
2
|
-
import { scan, persistProviders } from '@pellux/goodvibes-sdk/platform/discovery
|
|
2
|
+
import { scan, persistProviders } from '@pellux/goodvibes-sdk/platform/discovery';
|
|
3
3
|
import { requireProviderApi, requireShellPaths } from './runtime-services.ts';
|
|
4
|
-
import { summarizeError } from '@pellux/goodvibes-sdk/platform/utils
|
|
4
|
+
import { summarizeError } from '@pellux/goodvibes-sdk/platform/utils';
|
|
5
5
|
|
|
6
6
|
export function registerDiscoveryRuntimeCommands(registry: CommandRegistry): void {
|
|
7
7
|
registry.register({
|
|
@@ -10,14 +10,14 @@
|
|
|
10
10
|
*/
|
|
11
11
|
|
|
12
12
|
import type { SlashCommand, CommandContext } from '../command-registry.ts';
|
|
13
|
-
import { EvalRunner } from '
|
|
14
|
-
import { BUILTIN_SUITES } from '
|
|
15
|
-
import { formatScorecard } from '
|
|
16
|
-
import { loadBaseline, captureBaseline, formatBaselineComparison, writeBaseline } from '
|
|
13
|
+
import { EvalRunner } from '@/runtime/index.ts';
|
|
14
|
+
import { BUILTIN_SUITES } from '@/runtime/index.ts';
|
|
15
|
+
import { formatScorecard } from '@/runtime/index.ts';
|
|
16
|
+
import { loadBaseline, captureBaseline, formatBaselineComparison, writeBaseline } from '@/runtime/index.ts';
|
|
17
17
|
import type { EvalRegistry } from '../../panels/eval-panel.ts';
|
|
18
|
-
import { formatSuiteResult, formatGateResult } from '
|
|
18
|
+
import { formatSuiteResult, formatGateResult } from '@/runtime/index.ts';
|
|
19
19
|
import { requireShellPaths } from './runtime-services.ts';
|
|
20
|
-
import { summarizeError } from '@pellux/goodvibes-sdk/platform/utils
|
|
20
|
+
import { summarizeError } from '@pellux/goodvibes-sdk/platform/utils';
|
|
21
21
|
|
|
22
22
|
// ── Subcommand helpers ────────────────────────────────────────────────────────
|
|
23
23
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { CommandRegistry } from '../command-registry.ts';
|
|
2
|
-
import { GitService } from '@pellux/goodvibes-sdk/platform/git
|
|
2
|
+
import { GitService } from '@pellux/goodvibes-sdk/platform/git';
|
|
3
3
|
import { requireShellPaths } from './runtime-services.ts';
|
|
4
|
-
import { summarizeError } from '@pellux/goodvibes-sdk/platform/utils
|
|
4
|
+
import { summarizeError } from '@pellux/goodvibes-sdk/platform/utils';
|
|
5
5
|
|
|
6
6
|
export function registerGitRuntimeCommands(registry: CommandRegistry): void {
|
|
7
7
|
registry.register({
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { estimateConversationTokens } from '@pellux/goodvibes-sdk/platform/core
|
|
2
|
-
import { evaluateSessionMaintenance, formatSessionMaintenanceLines, getGuidanceMode } from '
|
|
3
|
-
import { dismissGuidance, evaluateContextualGuidance, formatGuidanceItems, resetGuidance } from '
|
|
1
|
+
import { estimateConversationTokens } from '@pellux/goodvibes-sdk/platform/core';
|
|
2
|
+
import { evaluateSessionMaintenance, formatSessionMaintenanceLines, getGuidanceMode } from '@/runtime/index.ts';
|
|
3
|
+
import { dismissGuidance, evaluateContextualGuidance, formatGuidanceItems, resetGuidance } from '@/runtime/index.ts';
|
|
4
4
|
import type { CommandRegistry } from '../command-registry.ts';
|
|
5
5
|
import { requireProviderApi, requireReadModels, requireSessionMemoryStore, requireShellPaths } from './runtime-services.ts';
|
|
6
6
|
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import { ServiceRegistry } from '@pellux/goodvibes-sdk/platform/config
|
|
2
|
-
import type { ConfigManager } from '@pellux/goodvibes-sdk/platform/config
|
|
3
|
-
import { evaluateSessionMaintenance, formatSessionMaintenanceLines } from '
|
|
4
|
-
import { estimateConversationTokens } from '@pellux/goodvibes-sdk/platform/core
|
|
1
|
+
import { ServiceRegistry } from '@pellux/goodvibes-sdk/platform/config';
|
|
2
|
+
import type { ConfigManager } from '@pellux/goodvibes-sdk/platform/config';
|
|
3
|
+
import { evaluateSessionMaintenance, formatSessionMaintenanceLines } from '@/runtime/index.ts';
|
|
4
|
+
import { estimateConversationTokens } from '@pellux/goodvibes-sdk/platform/core';
|
|
5
5
|
import type { CommandRegistry } from '../command-registry.ts';
|
|
6
6
|
import { buildSetupReviewSnapshot } from './local-setup-review.ts';
|
|
7
|
-
import { buildProviderAccountSnapshot } from '
|
|
8
|
-
import { getSettingsControlPlaneSnapshot } from '
|
|
9
|
-
import { listPersistedWorktreeMeta, summarizeWorktreeOwnership } from '
|
|
10
|
-
import { checkRecoveryFile, readLastSessionPointer } from '
|
|
7
|
+
import { buildProviderAccountSnapshot } from '@/runtime/index.ts';
|
|
8
|
+
import { getSettingsControlPlaneSnapshot } from '@/runtime/index.ts';
|
|
9
|
+
import { listPersistedWorktreeMeta, summarizeWorktreeOwnership } from '@/runtime/index.ts';
|
|
10
|
+
import { checkRecoveryFile, readLastSessionPointer } from '@/runtime/index.ts';
|
|
11
11
|
import {
|
|
12
12
|
openCommandPanel,
|
|
13
13
|
requireLocalUserAuthManager,
|
|
@@ -263,7 +263,7 @@ export function registerHealthRuntimeCommands(registry: CommandRegistry): void {
|
|
|
263
263
|
const summary = readModels.worktrees.getSnapshot().summary;
|
|
264
264
|
const issues: string[] = [];
|
|
265
265
|
if (summary.discard > 0) issues.push(`${summary.discard} worktree(s) marked discard still tracked`);
|
|
266
|
-
if (summary.
|
|
266
|
+
if (summary.pendingCleanup > 0) issues.push(`${summary.pendingCleanup} worktree(s) awaiting cleanup`);
|
|
267
267
|
if ('kept' in summary && typeof (summary as { kept?: number }).kept === 'number' && (summary as { kept?: number }).kept! > 0) {
|
|
268
268
|
// read-model summary may include kept in some implementations; ignored in rendering below if absent
|
|
269
269
|
}
|
|
@@ -274,7 +274,7 @@ export function registerHealthRuntimeCommands(registry: CommandRegistry): void {
|
|
|
274
274
|
` active: ${summary.active}`,
|
|
275
275
|
` paused: ${summary.paused}`,
|
|
276
276
|
` discard: ${summary.discard}`,
|
|
277
|
-
` cleanup pending: ${summary.
|
|
277
|
+
` cleanup pending: ${summary.pendingCleanup}`,
|
|
278
278
|
...(issues.length > 0 ? issues.map((issue) => ` issue: ${issue}`) : [' no active worktree lifecycle issues detected']),
|
|
279
279
|
' next: /worktree review',
|
|
280
280
|
' next: /worktree recover <session|task> <id>',
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { dirname, resolve } from 'path';
|
|
2
2
|
import { mkdirSync, writeFileSync } from 'node:fs';
|
|
3
3
|
import type { CommandRegistry } from '../command-registry.ts';
|
|
4
|
-
import { buildIncidentMemoryAddOptions } from '@pellux/goodvibes-sdk/platform/state
|
|
4
|
+
import { buildIncidentMemoryAddOptions } from '@pellux/goodvibes-sdk/platform/state';
|
|
5
5
|
import { requireShellPaths } from './runtime-services.ts';
|
|
6
6
|
import { getMemoryApi } from './recall-query.ts';
|
|
7
7
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { resolve } from 'path';
|
|
2
|
-
import type { PluginStatus } from '@pellux/goodvibes-sdk/platform/plugins
|
|
2
|
+
import type { PluginStatus } from '@pellux/goodvibes-sdk/platform/plugins';
|
|
3
3
|
import { getPluginDirectories, getUserPluginDirectory } from '../../plugins/loader';
|
|
4
4
|
import type { CommandRegistry } from '../command-registry.ts';
|
|
5
5
|
import {
|
|
@@ -12,7 +12,7 @@ import {
|
|
|
12
12
|
updateInstalledEcosystemEntry,
|
|
13
13
|
upsertEcosystemCatalogEntry,
|
|
14
14
|
uninstallEcosystemCatalogEntry,
|
|
15
|
-
} from '
|
|
15
|
+
} from '@/runtime/index.ts';
|
|
16
16
|
import { requireEcosystemCatalogPaths, requirePluginPathOptions } from './runtime-services.ts';
|
|
17
17
|
|
|
18
18
|
export function registerIntegrationRuntimeCommands(registry: CommandRegistry): void {
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { existsSync, readFileSync } from 'node:fs';
|
|
2
2
|
import { resolve } from 'node:path';
|
|
3
3
|
import type { CommandContext, CommandRegistry } from '../command-registry.ts';
|
|
4
|
-
import { CodeIntelligence } from '@pellux/goodvibes-sdk/platform/intelligence
|
|
5
|
-
import type { DocumentSymbol } from '@pellux/goodvibes-sdk/platform/intelligence
|
|
6
|
-
import type { SymbolInfo } from '@pellux/goodvibes-sdk/platform/intelligence
|
|
4
|
+
import { CodeIntelligence } from '@pellux/goodvibes-sdk/platform/intelligence';
|
|
5
|
+
import type { DocumentSymbol } from '@pellux/goodvibes-sdk/platform/intelligence';
|
|
6
|
+
import type { SymbolInfo } from '@pellux/goodvibes-sdk/platform/intelligence';
|
|
7
7
|
import { openCommandPanel, requireReadModels, requireShellPaths } from './runtime-services.ts';
|
|
8
8
|
|
|
9
9
|
function resolveTargetPath(pathArg: string, ctx: CommandContext): string {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { KnowledgeService } from '@pellux/goodvibes-sdk/platform/knowledge
|
|
1
|
+
import type { KnowledgeService } from '@pellux/goodvibes-sdk/platform/knowledge';
|
|
2
2
|
import type { CommandContext, SlashCommand } from '../command-registry.ts';
|
|
3
3
|
|
|
4
4
|
const KNOWLEDGE_REVIEW_ACTIONS = ['accept', 'reject', 'resolve', 'reopen', 'edit', 'forget'] as const;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { CommandContext, CommandRegistry } from '../command-registry.ts';
|
|
2
2
|
import { openCommandPanel, requireLocalUserAuthManager } from './runtime-services.ts';
|
|
3
|
-
import { summarizeError } from '@pellux/goodvibes-sdk/platform/utils
|
|
3
|
+
import { summarizeError } from '@pellux/goodvibes-sdk/platform/utils';
|
|
4
4
|
|
|
5
5
|
function formatRoles(roles: readonly string[]): string {
|
|
6
6
|
return roles.length > 0 ? roles.join(', ') : '(none)';
|
|
@@ -2,10 +2,10 @@ import { join } from 'node:path';
|
|
|
2
2
|
import { existsSync, mkdirSync } from 'node:fs';
|
|
3
3
|
import { writeFile, unlink } from 'node:fs/promises';
|
|
4
4
|
import type { CommandRegistry } from '../command-registry.ts';
|
|
5
|
-
import { fetchModelContextWindows } from '@pellux/goodvibes-sdk/platform/discovery
|
|
6
|
-
import type { CustomProviderConfig } from '@pellux/goodvibes-sdk/platform/providers
|
|
5
|
+
import { fetchModelContextWindows } from '@pellux/goodvibes-sdk/platform/discovery';
|
|
6
|
+
import type { CustomProviderConfig } from '@pellux/goodvibes-sdk/platform/providers';
|
|
7
7
|
import { requireProviderApi, requireShellPaths } from './runtime-services.ts';
|
|
8
|
-
import { summarizeError } from '@pellux/goodvibes-sdk/platform/utils
|
|
8
|
+
import { summarizeError } from '@pellux/goodvibes-sdk/platform/utils';
|
|
9
9
|
|
|
10
10
|
function isValidProviderName(name: string): boolean {
|
|
11
11
|
return /^[a-zA-Z0-9_-]+$/.test(name);
|
|
@@ -159,7 +159,6 @@ export function registerLocalProviderRuntimeCommands(registry: CommandRegistry):
|
|
|
159
159
|
const selected = await providerApi.selectModel(match.registryKey);
|
|
160
160
|
ctx.session.runtime.model = selected.registryKey;
|
|
161
161
|
ctx.session.runtime.provider = selected.providerId;
|
|
162
|
-
ctx.platform.configManager.set('provider.provider', selected.providerId);
|
|
163
162
|
ctx.platform.configManager.set('provider.model', selected.registryKey);
|
|
164
163
|
ctx.print(`Switched to provider: ${selected.providerId} (model: ${selected.modelId})`);
|
|
165
164
|
} catch (e) {
|
|
@@ -3,11 +3,11 @@ import { existsSync, mkdirSync, readFileSync, statSync, writeFileSync } from 'no
|
|
|
3
3
|
import { readFile } from 'node:fs/promises';
|
|
4
4
|
import type { CommandRegistry, CommandContext } from '../command-registry.ts';
|
|
5
5
|
import type { SelectionItem } from '../selection-modal.ts';
|
|
6
|
-
import type { ContentPart } from '@pellux/goodvibes-sdk/platform/providers
|
|
7
|
-
import { resolveAndValidatePath } from '@pellux/goodvibes-sdk/platform/utils
|
|
8
|
-
import { BUILTIN_SECRET_PROVIDER_SOURCES, describeSecretRef, isSecretRefInput, resolveSecretRef } from '@pellux/goodvibes-sdk/platform/config
|
|
6
|
+
import type { ContentPart } from '@pellux/goodvibes-sdk/platform/providers';
|
|
7
|
+
import { resolveAndValidatePath } from '@pellux/goodvibes-sdk/platform/utils';
|
|
8
|
+
import { BUILTIN_SECRET_PROVIDER_SOURCES, describeSecretRef, isSecretRefInput, resolveSecretRef } from '@pellux/goodvibes-sdk/platform/config';
|
|
9
9
|
import { openCommandPanel, requireBookmarkManager, requireProviderApi, requireSecretsManager } from './runtime-services.ts';
|
|
10
|
-
import { summarizeError } from '@pellux/goodvibes-sdk/platform/utils
|
|
10
|
+
import { summarizeError } from '@pellux/goodvibes-sdk/platform/utils';
|
|
11
11
|
|
|
12
12
|
function isGoodVibesSecretRefInput(value: string): boolean {
|
|
13
13
|
const normalized = value.trim();
|
|
@@ -380,12 +380,12 @@ export function registerLocalRuntimeCommands(registry: CommandRegistry): void {
|
|
|
380
380
|
return;
|
|
381
381
|
}
|
|
382
382
|
const favorites = await providerApi.getFavorites();
|
|
383
|
-
const pinned = favorites.pinned.find((entry) => entry.
|
|
383
|
+
const pinned = favorites.pinned.find((entry) => entry.registryKey === modelId);
|
|
384
384
|
if (!pinned) {
|
|
385
385
|
ctx.print(`Model is not pinned: ${modelId}`);
|
|
386
386
|
return;
|
|
387
387
|
}
|
|
388
|
-
await providerApi.unpinModel(pinned.
|
|
388
|
+
await providerApi.unpinModel(pinned.registryKey);
|
|
389
389
|
ctx.print(`Unpinned: ${modelId}`);
|
|
390
390
|
},
|
|
391
391
|
});
|
|
@@ -2,10 +2,10 @@ import { dirname, join, resolve } from 'node:path';
|
|
|
2
2
|
import { existsSync, mkdirSync, readFileSync, writeFileSync } from 'node:fs';
|
|
3
3
|
import type { CommandContext } from '../command-registry.ts';
|
|
4
4
|
import { discoverSkills } from '../../panels/skills-panel.ts';
|
|
5
|
-
import { buildSandboxReview, isRunningInWsl } from '
|
|
6
|
-
import { renderQemuWrapperTemplate } from '
|
|
5
|
+
import { buildSandboxReview, isRunningInWsl } from '@/runtime/index.ts';
|
|
6
|
+
import { renderQemuWrapperTemplate } from '@/runtime/index.ts';
|
|
7
7
|
import { getPluginDirectories } from '../../plugins/loader';
|
|
8
|
-
import { listBuiltinSubscriptionProviders } from '@pellux/goodvibes-sdk/platform/config
|
|
8
|
+
import { listBuiltinSubscriptionProviders } from '@pellux/goodvibes-sdk/platform/config';
|
|
9
9
|
import type { SetupReviewSnapshot } from './local-setup-transfer.ts';
|
|
10
10
|
import { requireProviderApi, requireReadModels, requireServiceRegistry, requireShellPaths, requireSubscriptionManager } from './runtime-services.ts';
|
|
11
11
|
|
|
@@ -3,8 +3,8 @@ import { mkdirSync, readFileSync, writeFileSync } from 'node:fs';
|
|
|
3
3
|
import type { CommandRegistry } from '../command-registry.ts';
|
|
4
4
|
import type { ConfigKey } from '../../config/index.ts';
|
|
5
5
|
import { CONFIG_SCHEMA } from '../../config/index.ts';
|
|
6
|
-
import { listHookPointContracts } from '@pellux/goodvibes-sdk/platform/hooks
|
|
7
|
-
import { renderQemuWrapperTemplate } from '
|
|
6
|
+
import { listHookPointContracts } from '@pellux/goodvibes-sdk/platform/hooks';
|
|
7
|
+
import { renderQemuWrapperTemplate } from '@/runtime/index.ts';
|
|
8
8
|
import type { SetupTransferBundle } from './local-setup-transfer.ts';
|
|
9
9
|
import {
|
|
10
10
|
buildSetupTransferBundle,
|
|
@@ -15,7 +15,7 @@ import {
|
|
|
15
15
|
} from './local-setup-transfer.ts';
|
|
16
16
|
import { buildSetupReviewSnapshot, exportSetupSupportBundle, renderSetupSandboxReview } from './local-setup-review.ts';
|
|
17
17
|
import { openOnboardingWizard, requirePanelManager, requireShellPaths } from './runtime-services.ts';
|
|
18
|
-
import { summarizeError } from '@pellux/goodvibes-sdk/platform/utils
|
|
18
|
+
import { summarizeError } from '@pellux/goodvibes-sdk/platform/utils';
|
|
19
19
|
|
|
20
20
|
type SetupSnapshot = Awaited<ReturnType<typeof buildSetupReviewSnapshot>>;
|
|
21
21
|
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { mkdirSync, readFileSync, writeFileSync } from 'node:fs';
|
|
2
2
|
import { dirname, resolve } from 'node:path';
|
|
3
3
|
import type { CommandRegistry } from '../command-registry.ts';
|
|
4
|
-
import { profileDataToConfigSnapshot } from '@pellux/goodvibes-sdk/platform/profiles
|
|
4
|
+
import { profileDataToConfigSnapshot } from '@pellux/goodvibes-sdk/platform/profiles';
|
|
5
5
|
import { CONFIG_SCHEMA, type ConfigKey } from '../../config/index.ts';
|
|
6
|
-
import {
|
|
7
|
-
import
|
|
6
|
+
import { getProviderIdFromModel } from '../../config/provider-model.ts';
|
|
7
|
+
import { CONFIG_KEYS } from '@pellux/goodvibes-sdk/platform/config';
|
|
8
|
+
import type { ManagedSettingsBundle } from '@/runtime/index.ts';
|
|
8
9
|
import {
|
|
9
10
|
applyStagedManagedBundle,
|
|
10
11
|
clearManagedSettingLock,
|
|
@@ -16,9 +17,9 @@ import {
|
|
|
16
17
|
rollbackManagedApply,
|
|
17
18
|
setManagedSettingLock,
|
|
18
19
|
stageManagedSettingsBundle,
|
|
19
|
-
} from '
|
|
20
|
+
} from '@/runtime/index.ts';
|
|
20
21
|
import { requireProfileManager, requireShellPaths } from './runtime-services.ts';
|
|
21
|
-
import { summarizeError } from '@pellux/goodvibes-sdk/platform/utils
|
|
22
|
+
import { summarizeError } from '@pellux/goodvibes-sdk/platform/utils';
|
|
22
23
|
|
|
23
24
|
function buildConfigSnapshot(
|
|
24
25
|
manager: { get: (key: ConfigKey) => unknown },
|
|
@@ -137,7 +138,7 @@ export function registerManagedRuntimeCommands(registry: CommandRegistry): void
|
|
|
137
138
|
try {
|
|
138
139
|
const result = applyStagedManagedBundle(ctx.platform.configManager, requestedKeys);
|
|
139
140
|
ctx.session.runtime.model = String(ctx.platform.configManager.get('provider.model'));
|
|
140
|
-
ctx.session.runtime.provider =
|
|
141
|
+
ctx.session.runtime.provider = getProviderIdFromModel(ctx.platform.configManager.get('provider.model'));
|
|
141
142
|
ctx.session.runtime.reasoningEffort = ctx.platform.configManager.get('provider.reasoningEffort') as string;
|
|
142
143
|
ctx.print(`Staged managed settings applied (${result.appliedCount} changes, rollback ${result.rollbackToken}${result.remainingCount > 0 ? `, ${result.remainingCount} still staged` : ''}).`);
|
|
143
144
|
} catch (error) {
|
|
@@ -156,7 +157,7 @@ export function registerManagedRuntimeCommands(registry: CommandRegistry): void
|
|
|
156
157
|
try {
|
|
157
158
|
const restored = rollbackManagedApply(ctx.platform.configManager, token);
|
|
158
159
|
ctx.session.runtime.model = String(ctx.platform.configManager.get('provider.model'));
|
|
159
|
-
ctx.session.runtime.provider =
|
|
160
|
+
ctx.session.runtime.provider = getProviderIdFromModel(ctx.platform.configManager.get('provider.model'));
|
|
160
161
|
ctx.session.runtime.reasoningEffort = ctx.platform.configManager.get('provider.reasoningEffort') as string;
|
|
161
162
|
ctx.print(`Managed rollback ${token} restored ${restored} setting(s).`);
|
|
162
163
|
} catch (error) {
|
|
@@ -195,7 +196,7 @@ export function registerManagedRuntimeCommands(registry: CommandRegistry): void
|
|
|
195
196
|
stageManagedSettingsBundle(ctx.platform.configManager, bundle, sourcePath);
|
|
196
197
|
const result = applyStagedManagedBundle(ctx.platform.configManager, requestedKeys);
|
|
197
198
|
ctx.session.runtime.model = String(ctx.platform.configManager.get('provider.model'));
|
|
198
|
-
ctx.session.runtime.provider =
|
|
199
|
+
ctx.session.runtime.provider = getProviderIdFromModel(ctx.platform.configManager.get('provider.model'));
|
|
199
200
|
ctx.session.runtime.reasoningEffort = ctx.platform.configManager.get('provider.reasoningEffort') as string;
|
|
200
201
|
ctx.print(`Managed settings bundle applied from ${sourcePath} (${result.appliedCount} changes, rollback ${result.rollbackToken}${result.remainingCount > 0 ? `, ${result.remainingCount} still staged` : ''}).`);
|
|
201
202
|
return;
|
|
@@ -18,7 +18,7 @@ import {
|
|
|
18
18
|
type EcosystemCatalogBundle,
|
|
19
19
|
type EcosystemCatalogEntry,
|
|
20
20
|
type EcosystemEntryKind,
|
|
21
|
-
} from '
|
|
21
|
+
} from '@/runtime/index.ts';
|
|
22
22
|
import { openCommandPanel, requireEcosystemCatalogPaths, requireReadModels, requireShellPaths } from './runtime-services.ts';
|
|
23
23
|
|
|
24
24
|
function resolveMarketplaceEntry(
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { CommandRegistry } from '../command-registry.ts';
|
|
2
2
|
import { requireMcpApi } from './runtime-services.ts';
|
|
3
|
-
import { summarizeError } from '@pellux/goodvibes-sdk/platform/utils
|
|
3
|
+
import { summarizeError } from '@pellux/goodvibes-sdk/platform/utils';
|
|
4
4
|
|
|
5
5
|
export function registerMcpRuntimeCommands(registry: CommandRegistry): void {
|
|
6
6
|
registry.register({
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { CommandRegistry } from '../command-registry.ts';
|
|
2
2
|
import { requirePanelManager } from './runtime-services.ts';
|
|
3
|
-
import { summarizeError } from '@pellux/goodvibes-sdk/platform/utils
|
|
3
|
+
import { summarizeError } from '@pellux/goodvibes-sdk/platform/utils';
|
|
4
4
|
|
|
5
5
|
export function registerOperatorPanelCommand(registry: CommandRegistry): void {
|
|
6
6
|
registry.register({
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import type { CommandRegistry } from '../command-registry.ts';
|
|
2
|
-
import { ToolContractVerifier } from '
|
|
3
|
-
import type { ReplaySnapshotInput } from '
|
|
4
|
-
import { logger } from '@pellux/goodvibes-sdk/platform/utils
|
|
2
|
+
import { ToolContractVerifier } from '@/runtime/index.ts';
|
|
3
|
+
import type { ReplaySnapshotInput } from '@/runtime/index.ts';
|
|
4
|
+
import { logger } from '@pellux/goodvibes-sdk/platform/utils';
|
|
5
5
|
import { registerOperatorPanelCommand } from './operator-panel-runtime.ts';
|
|
6
6
|
import { requireOpsApi, requireProfileManager, requireReplayEngine } from './runtime-services.ts';
|
|
7
|
-
import { summarizeError } from '@pellux/goodvibes-sdk/platform/utils
|
|
7
|
+
import { summarizeError } from '@pellux/goodvibes-sdk/platform/utils';
|
|
8
8
|
|
|
9
9
|
export function registerOperatorRuntimeCommands(registry: CommandRegistry): void {
|
|
10
10
|
registerOperatorPanelCommand(registry);
|
|
@@ -107,7 +107,7 @@ export function registerOperatorRuntimeCommands(registry: CommandRegistry): void
|
|
|
107
107
|
const newMode = sub as 'quiet' | 'balanced' | 'operator';
|
|
108
108
|
mgr.setHITLMode(newMode);
|
|
109
109
|
try {
|
|
110
|
-
ctx.platform.configManager.setDynamic('behavior.hitlMode' as import('@pellux/goodvibes-sdk/platform/config
|
|
110
|
+
ctx.platform.configManager.setDynamic('behavior.hitlMode' as import('@pellux/goodvibes-sdk/platform/config').ConfigKey, newMode);
|
|
111
111
|
} catch (e) {
|
|
112
112
|
logger.warn('[/mode] Failed to persist mode', { error: summarizeError(e) });
|
|
113
113
|
}
|
|
@@ -2,9 +2,9 @@ import { mkdirSync, readFileSync, writeFileSync } from 'node:fs';
|
|
|
2
2
|
import { dirname, resolve } from 'node:path';
|
|
3
3
|
import type { CommandRegistry } from '../command-registry.ts';
|
|
4
4
|
import { VERSION } from '../../version.ts';
|
|
5
|
-
import { listBuiltinSubscriptionProviders } from '@pellux/goodvibes-sdk/platform/config
|
|
5
|
+
import { listBuiltinSubscriptionProviders } from '@pellux/goodvibes-sdk/platform/config';
|
|
6
6
|
import { handleLocalAuthCommand } from './local-auth-runtime.ts';
|
|
7
|
-
import { buildAuthInspectionSnapshot, inspectProviderAuth } from '
|
|
7
|
+
import { buildAuthInspectionSnapshot, inspectProviderAuth } from '@/runtime/index.ts';
|
|
8
8
|
import { requireProfileManager, requireSecretsManager, requireServiceRegistry, requireShellPaths, requireSubscriptionManager } from './runtime-services.ts';
|
|
9
9
|
|
|
10
10
|
interface InstallBundle {
|
|
@@ -8,9 +8,9 @@ import {
|
|
|
8
8
|
inspectSandboxQemuSetupManifest,
|
|
9
9
|
loadSandboxQemuSetupManifest,
|
|
10
10
|
scaffoldSandboxQemuSetupBundle,
|
|
11
|
-
} from '
|
|
11
|
+
} from '@/runtime/index.ts';
|
|
12
12
|
import { requireShellPaths } from './runtime-services.ts';
|
|
13
|
-
import { summarizeError } from '@pellux/goodvibes-sdk/platform/utils
|
|
13
|
+
import { summarizeError } from '@pellux/goodvibes-sdk/platform/utils';
|
|
14
14
|
|
|
15
15
|
export async function handleSandboxQemuCommand(args: string[], ctx: CommandContext): Promise<boolean> {
|
|
16
16
|
const shellPaths = requireShellPaths(ctx);
|
|
@@ -13,17 +13,17 @@ import {
|
|
|
13
13
|
renderSandboxRecommendation,
|
|
14
14
|
renderSandboxReview,
|
|
15
15
|
renderSandboxSessions,
|
|
16
|
-
} from '
|
|
17
|
-
import { renderQemuWrapperTemplate } from '
|
|
18
|
-
import { buildSandboxLaunchPlan, executeSandboxManagedCommand, probeSandboxBackends } from '
|
|
19
|
-
import type { SandboxBundle, SandboxProbe } from '
|
|
16
|
+
} from '@/runtime/index.ts';
|
|
17
|
+
import { renderQemuWrapperTemplate } from '@/runtime/index.ts';
|
|
18
|
+
import { buildSandboxLaunchPlan, executeSandboxManagedCommand, probeSandboxBackends } from '@/runtime/index.ts';
|
|
19
|
+
import type { SandboxBundle, SandboxProbe } from '@/runtime/index.ts';
|
|
20
20
|
import {
|
|
21
21
|
exportSandboxGuestBundle,
|
|
22
22
|
inspectSandboxGuestBundle,
|
|
23
23
|
renderSandboxDoctor,
|
|
24
24
|
scaffoldSandboxQemuInitBundle,
|
|
25
25
|
type SandboxGuestBundle,
|
|
26
|
-
} from '
|
|
26
|
+
} from '@/runtime/index.ts';
|
|
27
27
|
import { handleSandboxQemuCommand } from './platform-sandbox-qemu.ts';
|
|
28
28
|
import { handleSandboxSessionCommand } from './platform-sandbox-session.ts';
|
|
29
29
|
|
|
@@ -145,7 +145,7 @@ export function registerPlatformSandboxRuntimeCommands(registry: CommandRegistry
|
|
|
145
145
|
? '/sandbox qemu bootstrap .goodvibes/tui/sandbox 20'
|
|
146
146
|
: '/sandbox doctor',
|
|
147
147
|
};
|
|
148
|
-
ctx.print([inspectSandboxProbe(probe), ...backendProbe.warnings.map((warning) => ` warning: ${warning}`)].join('\n'));
|
|
148
|
+
ctx.print([inspectSandboxProbe(probe), ...backendProbe.warnings.map((warning: string) => ` warning: ${warning}`)].join('\n'));
|
|
149
149
|
return;
|
|
150
150
|
}
|
|
151
151
|
if (sub === 'doctor') {
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { resolve } from 'node:path';
|
|
2
2
|
import type { CommandContext } from '../command-registry.ts';
|
|
3
|
-
import { inspectSandboxSessionArtifact, listSandboxProfiles, renderSandboxSessions } from '
|
|
3
|
+
import { inspectSandboxSessionArtifact, listSandboxProfiles, renderSandboxSessions } from '@/runtime/index.ts';
|
|
4
4
|
import { requireShellPaths } from './runtime-services.ts';
|
|
5
|
-
import { summarizeError } from '@pellux/goodvibes-sdk/platform/utils
|
|
5
|
+
import { summarizeError } from '@pellux/goodvibes-sdk/platform/utils';
|
|
6
6
|
|
|
7
7
|
const SANDBOX_PROFILE_IDS = [
|
|
8
8
|
'eval-js',
|
|
@@ -4,12 +4,12 @@ import {
|
|
|
4
4
|
createPermissionSimulator,
|
|
5
5
|
lintPolicyConfig,
|
|
6
6
|
runPolicySimulationScenarios,
|
|
7
|
-
} from '
|
|
8
|
-
import { DivergenceDashboard } from '
|
|
9
|
-
import type { PolicyRuntimeState } from '
|
|
10
|
-
import { createUnsignedBundle } from '
|
|
11
|
-
import type { PolicyBundlePayload } from '
|
|
12
|
-
import type { PolicyRule, PermissionsConfig, DivergenceStats } from '
|
|
7
|
+
} from '@/runtime/index.ts';
|
|
8
|
+
import { DivergenceDashboard } from '@/runtime/index.ts';
|
|
9
|
+
import type { PolicyRuntimeState } from '@/runtime/index.ts';
|
|
10
|
+
import { createUnsignedBundle } from '@/runtime/index.ts';
|
|
11
|
+
import type { PolicyBundlePayload } from '@/runtime/index.ts';
|
|
12
|
+
import type { PolicyRule, PermissionsConfig, DivergenceStats } from '@/runtime/index.ts';
|
|
13
13
|
import { requireShellPaths } from './runtime-services.ts';
|
|
14
14
|
|
|
15
15
|
function getPolicyState(ctx?: CommandContext): PolicyRuntimeState {
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { existsSync, mkdirSync, readFileSync, writeFileSync } from 'node:fs';
|
|
2
2
|
import { dirname, join, resolve } from 'node:path';
|
|
3
3
|
import type { CommandContext, CommandRegistry } from '../command-registry.ts';
|
|
4
|
-
import { listInstalledEcosystemEntries, loadEcosystemCatalog } from '
|
|
5
|
-
import { BUILTIN_SUITES } from '
|
|
4
|
+
import { listInstalledEcosystemEntries, loadEcosystemCatalog } from '@/runtime/index.ts';
|
|
5
|
+
import { BUILTIN_SUITES } from '@/runtime/index.ts';
|
|
6
6
|
import { requireEcosystemCatalogPaths, requireReadModels, requireSecretsManager, requireServiceRegistry, requireShellPaths } from './runtime-services.ts';
|
|
7
7
|
|
|
8
8
|
interface TrustReviewBundle {
|