@pellux/goodvibes-tui 0.19.59 → 0.19.61

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 (232) hide show
  1. package/CHANGELOG.md +52 -0
  2. package/README.md +1 -1
  3. package/docs/foundation-artifacts/operator-contract.json +2398 -2086
  4. package/package.json +2 -2
  5. package/src/audio/player.ts +1 -1
  6. package/src/audio/spoken-turn-controller.ts +5 -5
  7. package/src/audio/spoken-turn-model-routing.ts +3 -3
  8. package/src/audio/spoken-turn-wiring.ts +3 -3
  9. package/src/cli/bundle-command.ts +3 -3
  10. package/src/cli/entrypoint.ts +9 -8
  11. package/src/cli/management-commands.ts +6 -6
  12. package/src/cli/management.ts +17 -16
  13. package/src/cli/provider-auth-routes.ts +1 -1
  14. package/src/cli/service-posture.ts +2 -2
  15. package/src/cli/status.ts +4 -3
  16. package/src/cli/surface-command.ts +1 -1
  17. package/src/config/index.ts +12 -11
  18. package/src/config/provider-model.ts +23 -0
  19. package/src/config/secret-config.ts +1 -1
  20. package/src/config/secrets.ts +3 -3
  21. package/src/core/composer-state.ts +1 -1
  22. package/src/core/conversation-rendering.ts +3 -3
  23. package/src/core/conversation.ts +10 -10
  24. package/src/core/orchestrator.ts +1 -1
  25. package/src/core/system-message-router.ts +3 -3
  26. package/src/daemon/cli.ts +19 -19
  27. package/src/daemon/safe-serve.ts +2 -2
  28. package/src/input/bookmark-modal.ts +1 -1
  29. package/src/input/command-registry.ts +31 -31
  30. package/src/input/commands/control-room-runtime.ts +3 -3
  31. package/src/input/commands/conversation-runtime.ts +1 -1
  32. package/src/input/commands/diff-runtime.ts +1 -1
  33. package/src/input/commands/discovery-runtime.ts +2 -2
  34. package/src/input/commands/eval.ts +6 -6
  35. package/src/input/commands/git-runtime.ts +2 -2
  36. package/src/input/commands/guidance-runtime.ts +3 -3
  37. package/src/input/commands/health-runtime.ts +10 -10
  38. package/src/input/commands/incident-runtime.ts +1 -1
  39. package/src/input/commands/integration-runtime.ts +2 -2
  40. package/src/input/commands/intelligence-runtime.ts +3 -3
  41. package/src/input/commands/knowledge.ts +1 -1
  42. package/src/input/commands/local-auth-runtime.ts +1 -1
  43. package/src/input/commands/local-provider-runtime.ts +3 -4
  44. package/src/input/commands/local-runtime.ts +6 -6
  45. package/src/input/commands/local-setup-review.ts +3 -3
  46. package/src/input/commands/local-setup.ts +3 -3
  47. package/src/input/commands/managed-runtime.ts +9 -8
  48. package/src/input/commands/marketplace-runtime.ts +1 -1
  49. package/src/input/commands/mcp-runtime.ts +1 -1
  50. package/src/input/commands/operator-panel-runtime.ts +1 -1
  51. package/src/input/commands/operator-runtime.ts +5 -5
  52. package/src/input/commands/platform-access-runtime.ts +2 -2
  53. package/src/input/commands/platform-sandbox-qemu.ts +2 -2
  54. package/src/input/commands/platform-sandbox-runtime.ts +6 -6
  55. package/src/input/commands/platform-sandbox-session.ts +2 -2
  56. package/src/input/commands/policy-dispatch.ts +6 -6
  57. package/src/input/commands/product-runtime.ts +2 -2
  58. package/src/input/commands/profile-sync-runtime.ts +2 -2
  59. package/src/input/commands/provider-accounts-runtime.ts +1 -1
  60. package/src/input/commands/provider.ts +3 -3
  61. package/src/input/commands/quit-shared.ts +2 -2
  62. package/src/input/commands/recall-bundle.ts +2 -2
  63. package/src/input/commands/recall-capture.ts +2 -2
  64. package/src/input/commands/recall-query.ts +2 -2
  65. package/src/input/commands/recall-shared.ts +2 -2
  66. package/src/input/commands/remote-runtime-setup.ts +2 -2
  67. package/src/input/commands/remote-runtime.ts +1 -1
  68. package/src/input/commands/replay-runtime.ts +1 -1
  69. package/src/input/commands/runtime-services.ts +11 -11
  70. package/src/input/commands/schedule-runtime.ts +6 -6
  71. package/src/input/commands/services-runtime.ts +1 -1
  72. package/src/input/commands/session-content.ts +5 -5
  73. package/src/input/commands/session-workflow.ts +5 -5
  74. package/src/input/commands/session.ts +2 -2
  75. package/src/input/commands/settings-sync-runtime.ts +5 -4
  76. package/src/input/commands/share-runtime.ts +3 -3
  77. package/src/input/commands/shell-core.ts +4 -5
  78. package/src/input/commands/skills-runtime.ts +1 -1
  79. package/src/input/commands/subscription-runtime.ts +7 -7
  80. package/src/input/commands/tasks-runtime.ts +5 -5
  81. package/src/input/commands/teamwork-runtime.ts +3 -3
  82. package/src/input/commands/teleport-runtime.ts +1 -1
  83. package/src/input/commands/worktree-runtime.ts +3 -3
  84. package/src/input/feed-context-factory.ts +1 -1
  85. package/src/input/file-picker.ts +1 -1
  86. package/src/input/handler-command-route.ts +2 -2
  87. package/src/input/handler-content-actions.ts +7 -7
  88. package/src/input/handler-feed-routes.ts +3 -3
  89. package/src/input/handler-feed.ts +2 -2
  90. package/src/input/handler-interactions.ts +1 -1
  91. package/src/input/handler-modal-routes.ts +1 -2
  92. package/src/input/handler-modal-token-routes.ts +1 -1
  93. package/src/input/handler-onboarding.ts +9 -6
  94. package/src/input/handler-picker-routes.ts +3 -3
  95. package/src/input/handler-shortcuts.ts +1 -1
  96. package/src/input/handler-ui-state.ts +1 -1
  97. package/src/input/handler.ts +5 -5
  98. package/src/input/input-history.ts +2 -2
  99. package/src/input/keybindings.ts +3 -3
  100. package/src/input/model-picker-types.ts +1 -1
  101. package/src/input/model-picker.ts +6 -6
  102. package/src/input/onboarding/handler-onboarding-routes.ts +1 -1
  103. package/src/input/onboarding/onboarding-runtime-status.ts +1 -1
  104. package/src/input/onboarding/onboarding-wizard-apply.ts +2 -2
  105. package/src/input/onboarding/onboarding-wizard-external-surfaces.ts +1 -1
  106. package/src/input/panel-integration-actions.ts +1 -1
  107. package/src/input/profile-picker-modal.ts +5 -5
  108. package/src/input/session-picker-modal.ts +2 -2
  109. package/src/input/settings-modal-behavior.ts +3 -5
  110. package/src/input/settings-modal-secrets.ts +4 -4
  111. package/src/input/settings-modal-subscriptions.ts +3 -3
  112. package/src/input/settings-modal-types.ts +4 -4
  113. package/src/input/settings-modal.ts +9 -9
  114. package/src/input/tts-settings-actions.ts +1 -1
  115. package/src/main.ts +16 -17
  116. package/src/panels/agent-inspector-panel.ts +4 -4
  117. package/src/panels/agent-logs-panel.ts +2 -2
  118. package/src/panels/approval-panel.ts +2 -2
  119. package/src/panels/builtin/operations.ts +1 -1
  120. package/src/panels/builtin/session.ts +2 -2
  121. package/src/panels/builtin/shared.ts +26 -26
  122. package/src/panels/context-visualizer-panel.ts +3 -3
  123. package/src/panels/cost-tracker-panel.ts +1 -1
  124. package/src/panels/debug-panel.ts +1 -1
  125. package/src/panels/eval-panel.ts +1 -1
  126. package/src/panels/forensics-panel.ts +3 -3
  127. package/src/panels/git-panel.ts +3 -3
  128. package/src/panels/hooks-panel.ts +7 -7
  129. package/src/panels/incident-review-panel.ts +2 -2
  130. package/src/panels/knowledge-panel.ts +1 -1
  131. package/src/panels/local-auth-panel.ts +1 -1
  132. package/src/panels/marketplace-panel.ts +2 -2
  133. package/src/panels/mcp-panel.ts +2 -2
  134. package/src/panels/memory-panel.ts +2 -2
  135. package/src/panels/ops-control-panel.ts +1 -1
  136. package/src/panels/ops-strategy-panel.ts +2 -2
  137. package/src/panels/orchestration-panel.ts +1 -1
  138. package/src/panels/panel-list-panel.ts +1 -1
  139. package/src/panels/plan-dashboard-panel.ts +1 -1
  140. package/src/panels/plugins-panel.ts +1 -1
  141. package/src/panels/policy-panel.ts +1 -1
  142. package/src/panels/project-planning-panel.ts +1 -1
  143. package/src/panels/provider-account-snapshot.ts +1 -1
  144. package/src/panels/provider-health-domains.ts +4 -4
  145. package/src/panels/provider-health-panel.ts +4 -4
  146. package/src/panels/provider-stats-panel.ts +1 -1
  147. package/src/panels/qr-panel.ts +1 -1
  148. package/src/panels/sandbox-panel.ts +3 -3
  149. package/src/panels/schedule-panel.ts +4 -4
  150. package/src/panels/security-panel.ts +1 -1
  151. package/src/panels/services-panel.ts +1 -1
  152. package/src/panels/session-browser-panel.ts +3 -3
  153. package/src/panels/settings-sync-panel.ts +1 -1
  154. package/src/panels/skills-panel.ts +1 -1
  155. package/src/panels/subscription-panel.ts +2 -2
  156. package/src/panels/system-messages-panel.ts +1 -1
  157. package/src/panels/tasks-panel.ts +5 -5
  158. package/src/panels/thinking-panel.ts +1 -1
  159. package/src/panels/token-budget-panel.ts +2 -2
  160. package/src/panels/tool-inspector-panel.ts +1 -1
  161. package/src/panels/worktree-panel.ts +6 -6
  162. package/src/panels/wrfc-panel.ts +4 -4
  163. package/src/permissions/prompt.ts +3 -3
  164. package/src/planning/project-planning-coordinator.ts +1 -1
  165. package/src/plugins/loader.ts +2 -2
  166. package/src/renderer/agent-detail-modal.ts +5 -5
  167. package/src/renderer/bookmark-modal.ts +1 -1
  168. package/src/renderer/git-status.ts +3 -3
  169. package/src/renderer/help-overlay.ts +1 -1
  170. package/src/renderer/live-tail-modal.ts +2 -2
  171. package/src/renderer/model-picker-overlay.ts +2 -2
  172. package/src/renderer/model-workspace.ts +1 -1
  173. package/src/renderer/process-modal.ts +3 -3
  174. package/src/renderer/qr-renderer.ts +1 -1
  175. package/src/renderer/semantic-diff.ts +6 -6
  176. package/src/renderer/syntax-highlighter.ts +3 -3
  177. package/src/renderer/tool-call.ts +1 -1
  178. package/src/runtime/bootstrap-command-context.ts +46 -46
  179. package/src/runtime/bootstrap-command-parts.ts +46 -47
  180. package/src/runtime/bootstrap-core.ts +24 -23
  181. package/src/runtime/bootstrap-hook-bridge.ts +14 -14
  182. package/src/runtime/bootstrap-shell.ts +15 -15
  183. package/src/runtime/bootstrap.ts +27 -27
  184. package/src/runtime/cloudflare-control-plane.ts +1 -1
  185. package/src/runtime/context.ts +13 -13
  186. package/src/runtime/diagnostics/panels/index.ts +14 -14
  187. package/src/runtime/diagnostics/panels/ops.ts +7 -7
  188. package/src/runtime/diagnostics/panels/panel-resources.ts +1 -1
  189. package/src/runtime/diagnostics/panels/policy.ts +11 -11
  190. package/src/runtime/index.ts +625 -163
  191. package/src/runtime/onboarding/apply.ts +1 -1
  192. package/src/runtime/onboarding/derivation.ts +3 -2
  193. package/src/runtime/onboarding/markers.ts +1 -1
  194. package/src/runtime/onboarding/snapshot.ts +3 -2
  195. package/src/runtime/onboarding/types.ts +2 -2
  196. package/src/runtime/onboarding/verify.ts +1 -1
  197. package/src/runtime/perf/panel-contracts.ts +2 -2
  198. package/src/runtime/perf/panel-health-monitor.ts +2 -2
  199. package/src/runtime/sandbox-public-gaps.ts +486 -0
  200. package/src/runtime/services.ts +114 -67
  201. package/src/runtime/store/domains/index.ts +50 -50
  202. package/src/runtime/store/index.ts +21 -20
  203. package/src/runtime/store/selectors/index.ts +17 -17
  204. package/src/runtime/store/state.ts +50 -50
  205. package/src/runtime/surface-feature-flags.ts +1 -3
  206. package/src/runtime/terminal-output-guard.ts +1 -1
  207. package/src/runtime/ui/index.ts +7 -7
  208. package/src/runtime/ui/model-picker/data-provider.ts +7 -7
  209. package/src/runtime/ui/model-picker/health-enrichment.ts +7 -7
  210. package/src/runtime/ui/model-picker/index.ts +11 -11
  211. package/src/runtime/ui/model-picker/types.ts +1 -1
  212. package/src/runtime/ui/provider-health/data-provider.ts +4 -4
  213. package/src/runtime/ui/provider-health/fallback-visualizer.ts +5 -3
  214. package/src/runtime/ui/provider-health/index.ts +7 -7
  215. package/src/runtime/ui/provider-health/types.ts +1 -1
  216. package/src/runtime/ui-events.ts +1 -1
  217. package/src/runtime/ui-read-model-helpers.ts +1 -1
  218. package/src/runtime/ui-read-models-observability-maintenance.ts +1 -1
  219. package/src/runtime/ui-read-models-observability-options.ts +1 -1
  220. package/src/runtime/ui-read-models-observability-remote.ts +1 -1
  221. package/src/runtime/ui-read-models-observability-security.ts +1 -1
  222. package/src/runtime/ui-read-models-observability-system.ts +1 -1
  223. package/src/runtime/ui-read-models-observability.ts +1 -1
  224. package/src/runtime/ui-read-models.ts +8 -8
  225. package/src/runtime/ui-service-queries.ts +1 -1
  226. package/src/runtime/ui-services.ts +8 -8
  227. package/src/scripts/process-messages.ts +1 -1
  228. package/src/shell/blocking-input.ts +2 -2
  229. package/src/shell/ui-openers.ts +8 -7
  230. package/src/tools/index.ts +1 -1
  231. package/src/utils/clipboard.ts +3 -3
  232. package/src/version.ts +1 -1
@@ -1,44 +1,44 @@
1
- import type { McpRegistry } from '@pellux/goodvibes-sdk/platform/mcp/registry';
2
- import type { ProviderRegistry } from '@pellux/goodvibes-sdk/platform/providers/registry';
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/registry';
7
- import type { PermissionRequestHandler } from '@pellux/goodvibes-sdk/platform/permissions/prompt';
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/file-undo';
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/knowledge-api';
15
- import type { HookApi } from '@pellux/goodvibes-sdk/platform/hooks/hook-api';
16
- import type { McpApi } from '@pellux/goodvibes-sdk/platform/mcp/mcp-api';
17
- import type { ProviderApi } from '@pellux/goodvibes-sdk/platform/providers/provider-api';
18
- import type { OpsApi } from '@pellux/goodvibes-sdk/platform/runtime/ops-api';
19
- import type { OperatorClient } from '@pellux/goodvibes-sdk/platform/runtime/operator-client';
20
- import type { PeerClient } from '@pellux/goodvibes-sdk/platform/runtime/peer-client';
21
- import type { DirectTransport } from '@pellux/goodvibes-sdk/platform/runtime/transports/direct';
22
- import type { VoiceProviderRegistry, VoiceService } from '@pellux/goodvibes-sdk/platform/voice/index';
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 '@pellux/goodvibes-sdk/platform/runtime/shell-command-workspace';
25
+ } from '@/runtime/index.ts';
26
26
  import type {
27
27
  CommandPlatformShellServices,
28
- } from '@pellux/goodvibes-sdk/platform/runtime/shell-command-platform';
28
+ } from '@/runtime/index.ts';
29
29
  import type {
30
30
  CommandExtensionShellServices,
31
- } from '@pellux/goodvibes-sdk/platform/runtime/shell-command-extensions';
31
+ } from '@/runtime/index.ts';
32
32
  import type {
33
33
  CommandOpsShellServices,
34
34
  RemoteCommandService,
35
35
  PlanRuntimeService,
36
- } from '@pellux/goodvibes-sdk/platform/runtime/shell-command-ops';
36
+ } from '@/runtime/index.ts';
37
37
 
38
38
  export type {
39
39
  RemoteCommandService,
40
40
  PlanRuntimeService,
41
- } from '@pellux/goodvibes-sdk/platform/runtime/shell-command-ops';
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/interface').ContentPart[]) => void;
62
- submitSpokenInput?: (text: string, content?: import('@pellux/goodvibes-sdk/platform/providers/interface').ContentPart[]) => void;
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/manager').SessionManager;
123
- readonly sessionMemoryStore?: import('@pellux/goodvibes-sdk/platform/core/session-memory').SessionMemoryStore;
124
- readonly sessionLineageTracker?: import('@pellux/goodvibes-sdk/platform/core/session-lineage').SessionLineageTracker;
125
- readonly changeTracker?: import('@pellux/goodvibes-sdk/platform/sessions/change-tracker').SessionChangeTracker;
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/optimizer').ProviderOptimizer;
131
- readonly favoritesStore?: import('@pellux/goodvibes-sdk/platform/providers/favorites').FavoritesStore;
132
- readonly benchmarkStore?: import('@pellux/goodvibes-sdk/platform/providers/model-benchmarks').BenchmarkStore;
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/manager').ProfileManager;
144
- bookmarkManager?: import('@pellux/goodvibes-sdk/platform/bookmarks/manager').BookmarkManager;
145
- projectPlanningService?: import('@pellux/goodvibes-sdk/platform/knowledge/index').ProjectPlanningService;
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 '@pellux/goodvibes-sdk/platform/runtime/mcp/index';
3
- import { buildKnowledgeInjectionPrompt, selectKnowledgeForTask } from '@pellux/goodvibes-sdk/platform/state/knowledge-injection';
4
- import { listBuiltinSubscriptionProviders } from '@pellux/goodvibes-sdk/platform/config/subscription-providers';
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/transcript-events/index';
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/logger';
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/index';
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/error-display';
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 '@pellux/goodvibes-sdk/platform/runtime/eval/runner';
14
- import { BUILTIN_SUITES } from '@pellux/goodvibes-sdk/platform/runtime/eval/suites';
15
- import { formatScorecard } from '@pellux/goodvibes-sdk/platform/runtime/eval/scorecard';
16
- import { loadBaseline, captureBaseline, formatBaselineComparison, writeBaseline } from '@pellux/goodvibes-sdk/platform/runtime/eval/baseline';
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 '@pellux/goodvibes-sdk/platform/runtime/eval/format';
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/error-display';
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/service';
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/error-display';
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/context-compaction';
2
- import { evaluateSessionMaintenance, formatSessionMaintenanceLines, getGuidanceMode } from '@pellux/goodvibes-sdk/platform/runtime/session-maintenance';
3
- import { dismissGuidance, evaluateContextualGuidance, formatGuidanceItems, resetGuidance } from '@pellux/goodvibes-sdk/platform/runtime/guidance';
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/service-registry';
2
- import type { ConfigManager } from '@pellux/goodvibes-sdk/platform/config/manager';
3
- import { evaluateSessionMaintenance, formatSessionMaintenanceLines } from '@pellux/goodvibes-sdk/platform/runtime/session-maintenance';
4
- import { estimateConversationTokens } from '@pellux/goodvibes-sdk/platform/core/context-compaction';
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 '@pellux/goodvibes-sdk/platform/runtime/provider-accounts/registry';
8
- import { getSettingsControlPlaneSnapshot } from '@pellux/goodvibes-sdk/platform/runtime/settings/control-plane';
9
- import { listPersistedWorktreeMeta, summarizeWorktreeOwnership } from '@pellux/goodvibes-sdk/platform/runtime/worktree/registry';
10
- import { checkRecoveryFile, readLastSessionPointer } from '@pellux/goodvibes-sdk/platform/runtime/session-persistence';
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.cleanupPending > 0) issues.push(`${summary.cleanupPending} worktree(s) awaiting cleanup`);
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.cleanupPending}`,
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/memory-ingest';
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/manager';
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 '@pellux/goodvibes-sdk/platform/runtime/ecosystem/catalog';
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/facade';
5
- import type { DocumentSymbol } from '@pellux/goodvibes-sdk/platform/intelligence/lsp/protocol';
6
- import type { SymbolInfo } from '@pellux/goodvibes-sdk/platform/intelligence/tree-sitter/queries';
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/index';
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/error-display';
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/scanner';
6
- import type { CustomProviderConfig } from '@pellux/goodvibes-sdk/platform/providers/custom-loader';
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/error-display';
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/interface';
7
- import { resolveAndValidatePath } from '@pellux/goodvibes-sdk/platform/utils/path-safety';
8
- import { BUILTIN_SECRET_PROVIDER_SOURCES, describeSecretRef, isSecretRefInput, resolveSecretRef } from '@pellux/goodvibes-sdk/platform/config/secret-refs';
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/error-display';
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.modelId === modelId || entry.registryKey === modelId);
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.modelId);
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 '@pellux/goodvibes-sdk/platform/runtime/sandbox/manager';
6
- import { renderQemuWrapperTemplate } from '@pellux/goodvibes-sdk/platform/runtime/sandbox/qemu-wrapper-template';
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/subscription-providers';
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/index';
7
- import { renderQemuWrapperTemplate } from '@pellux/goodvibes-sdk/platform/runtime/sandbox/qemu-wrapper-template';
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/error-display';
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/shape';
4
+ import { profileDataToConfigSnapshot } from '@pellux/goodvibes-sdk/platform/profiles';
5
5
  import { CONFIG_SCHEMA, type ConfigKey } from '../../config/index.ts';
6
- import { CONFIG_KEYS } from '@pellux/goodvibes-sdk/platform/config/schema';
7
- import type { ManagedSettingsBundle } from '@pellux/goodvibes-sdk/platform/runtime/sandbox/types';
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 '@pellux/goodvibes-sdk/platform/runtime/settings/control-plane';
20
+ } from '@/runtime/index.ts';
20
21
  import { requireProfileManager, requireShellPaths } from './runtime-services.ts';
21
- import { summarizeError } from '@pellux/goodvibes-sdk/platform/utils/error-display';
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 = String(ctx.platform.configManager.get('provider.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 = String(ctx.platform.configManager.get('provider.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 = String(ctx.platform.configManager.get('provider.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 '@pellux/goodvibes-sdk/platform/runtime/ecosystem/catalog';
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/error-display';
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/error-display';
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 '@pellux/goodvibes-sdk/platform/runtime/tools/contract-verifier';
3
- import type { ReplaySnapshotInput } from '@pellux/goodvibes-sdk/platform/runtime/forensics/registry';
4
- import { logger } from '@pellux/goodvibes-sdk/platform/utils/logger';
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/error-display';
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/schema').ConfigKey, newMode);
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/subscription-providers';
5
+ import { listBuiltinSubscriptionProviders } from '@pellux/goodvibes-sdk/platform/config';
6
6
  import { handleLocalAuthCommand } from './local-auth-runtime.ts';
7
- import { buildAuthInspectionSnapshot, inspectProviderAuth } from '@pellux/goodvibes-sdk/platform/runtime/auth/inspection';
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 '@pellux/goodvibes-sdk/platform/runtime/sandbox/provisioning';
11
+ } from '@/runtime/index.ts';
12
12
  import { requireShellPaths } from './runtime-services.ts';
13
- import { summarizeError } from '@pellux/goodvibes-sdk/platform/utils/error-display';
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 '@pellux/goodvibes-sdk/platform/runtime/sandbox/manager';
17
- import { renderQemuWrapperTemplate } from '@pellux/goodvibes-sdk/platform/runtime/sandbox/qemu-wrapper-template';
18
- import { buildSandboxLaunchPlan, executeSandboxManagedCommand, probeSandboxBackends } from '@pellux/goodvibes-sdk/platform/runtime/sandbox/backend';
19
- import type { SandboxBundle, SandboxProbe } from '@pellux/goodvibes-sdk/platform/runtime/sandbox/types';
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 '@pellux/goodvibes-sdk/platform/runtime/sandbox/provisioning';
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 '@pellux/goodvibes-sdk/platform/runtime/sandbox/manager';
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/error-display';
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 '@pellux/goodvibes-sdk/platform/runtime/permissions/index';
8
- import { DivergenceDashboard } from '@pellux/goodvibes-sdk/platform/runtime/permissions/divergence-dashboard';
9
- import type { PolicyRuntimeState } from '@pellux/goodvibes-sdk/platform/runtime/permissions/policy-runtime';
10
- import { createUnsignedBundle } from '@pellux/goodvibes-sdk/platform/runtime/permissions/policy-loader';
11
- import type { PolicyBundlePayload } from '@pellux/goodvibes-sdk/platform/runtime/permissions/policy-loader';
12
- import type { PolicyRule, PermissionsConfig, DivergenceStats } from '@pellux/goodvibes-sdk/platform/runtime/permissions/types';
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 '@pellux/goodvibes-sdk/platform/runtime/ecosystem/catalog';
5
- import { BUILTIN_SUITES } from '@pellux/goodvibes-sdk/platform/runtime/eval/suites';
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 {