@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,10 +1,10 @@
1
1
  import { readFileSync } from 'node:fs';
2
- import type { InputToken } from '@pellux/goodvibes-sdk/platform/core/tokenizer';
2
+ import type { InputToken } from '@pellux/goodvibes-sdk/platform/core';
3
3
  import type { CommandContext } from './command-registry.ts';
4
4
  import type { CapabilityFilter, CategoryFilter, ModelPickerModal } from './model-picker.ts';
5
5
  import { MODEL_PICKER_CHROME_LINES } from '../renderer/model-picker-overlay.ts';
6
- import { resolveAndValidatePath } from '@pellux/goodvibes-sdk/platform/utils/path-safety';
7
- import { logger } from '@pellux/goodvibes-sdk/platform/utils/logger';
6
+ import { resolveAndValidatePath } from '@pellux/goodvibes-sdk/platform/utils';
7
+ import { logger } from '@pellux/goodvibes-sdk/platform/utils';
8
8
  import type { ProcessEntry } from '../renderer/process-modal.ts';
9
9
  import type { BlockActionId } from '../renderer/block-actions.ts';
10
10
 
@@ -1,4 +1,4 @@
1
- import type { InputToken } from '@pellux/goodvibes-sdk/platform/core/tokenizer';
1
+ import type { InputToken } from '@pellux/goodvibes-sdk/platform/core';
2
2
  import type { CommandContext } from './command-registry.ts';
3
3
  import type { SearchManager } from './search.ts';
4
4
  import type { HistorySearch } from './input-history.ts';
@@ -1,4 +1,4 @@
1
- import type { InputToken } from '@pellux/goodvibes-sdk/platform/core/tokenizer';
1
+ import type { InputToken } from '@pellux/goodvibes-sdk/platform/core';
2
2
  import type { InfiniteBuffer } from '../core/history.ts';
3
3
  import type { SearchManager } from './search.ts';
4
4
  import type { HistorySearch } from './input-history.ts';
@@ -1,12 +1,12 @@
1
1
  import { existsSync, mkdirSync, readFileSync, rmSync, writeFileSync } from 'node:fs';
2
2
  import { dirname } from 'node:path';
3
- import { InputTokenizer } from '@pellux/goodvibes-sdk/platform/core/tokenizer';
4
- import { createOAuthLocalListener } from '@pellux/goodvibes-sdk/platform/config/oauth-local-listener';
3
+ import { InputTokenizer } from '@pellux/goodvibes-sdk/platform/core';
4
+ import { createOAuthLocalListener } from '@pellux/goodvibes-sdk/platform/config';
5
5
  import { clearModalStackForHandler, cleanupMarkerRegistryForHandler, executeBlockActionForHandler, expandPromptForHandler, findMarkerAtPosForHandler, getImageAttachmentsForHandler, handleBlockCopyForHandler, handleBlockRerunForHandler, handleBlockSaveForHandler, handleBlockToggleForHandler, handleBookmarkForHandler, handleCopyForHandler, handleCtrlCForHandler, handleDiffApplyForHandler, handleEscapeForHandler, hydrateOnboardingWizardFromRuntimeForHandler, modalOpenedForHandler, openOnboardingWizardForHandler, registerPasteForHandler } from './handler-interactions.ts';
6
6
  import { clearOnboardingModelPickerCancelStateForHandler, clearOnboardingPendingModelPickerTargetForHandler, completeOpenAiSubscriptionFromListenerForHandler, getOnboardingConfigValueForHandler, getOnboardingRuntimePostureForHandler, handleModelPickerCommitForHandler, handleOnboardingActionForHandler, handleOpenAiSubscriptionFinishForHandler, handleOpenAiSubscriptionStartForHandler, openModelPickerWithTargetForHandler, openProviderModelPickerWithTargetForHandler, refreshOnboardingHydrationForHandler, restartOnboardingExternalServicesIfNeededForHandler, restoreOnboardingModelPickerCancelStateForHandler, syncRuntimeFromOnboardingRequestForHandler, verifyOnboardingRuntimePostureForHandler, type OnboardingRuntimePosture } from './handler-onboarding.ts';
7
- import { beginOpenAICodexLogin, exchangeOpenAICodexCode } from '@pellux/goodvibes-sdk/platform/config/openai-codex-auth';
8
- import { openExternalUrl } from '@pellux/goodvibes-sdk/platform/utils/open-external';
9
- import { buildProviderAccountSnapshot } from '@pellux/goodvibes-sdk/platform/runtime/provider-accounts/registry';
7
+ import { beginOpenAICodexLogin, exchangeOpenAICodexCode } from '@pellux/goodvibes-sdk/platform/config';
8
+ import { openExternalUrl } from '@pellux/goodvibes-sdk/platform/utils';
9
+ import { buildProviderAccountSnapshot } from '@/runtime/index.ts';
10
10
  import { SelectionManager } from './selection.ts';
11
11
  import type { InfiniteBuffer } from '../core/history.ts';
12
12
  import type { CommandRegistry, CommandContext } from './command-registry.ts';
@@ -1,7 +1,7 @@
1
1
  import { existsSync, mkdirSync, readFileSync, writeFileSync } from 'fs';
2
2
  import { dirname, join } from 'path';
3
- import { logger } from '@pellux/goodvibes-sdk/platform/utils/logger';
4
- import { summarizeError } from '@pellux/goodvibes-sdk/platform/utils/error-display';
3
+ import { logger } from '@pellux/goodvibes-sdk/platform/utils';
4
+ import { summarizeError } from '@pellux/goodvibes-sdk/platform/utils';
5
5
 
6
6
  /**
7
7
  * InputHistory — Persisted command history with arrow-key navigation.
@@ -15,9 +15,9 @@
15
15
 
16
16
  import { readFileSync, existsSync } from 'node:fs';
17
17
  import { join } from 'node:path';
18
- import { logger } from '@pellux/goodvibes-sdk/platform/utils/logger';
19
- import { resolveSurfaceDirectory } from '@pellux/goodvibes-sdk/platform/runtime/surface-root';
20
- import { summarizeError } from '@pellux/goodvibes-sdk/platform/utils/error-display';
18
+ import { logger } from '@pellux/goodvibes-sdk/platform/utils';
19
+ import { resolveSurfaceDirectory } from '@/runtime/index.ts';
20
+ import { summarizeError } from '@pellux/goodvibes-sdk/platform/utils';
21
21
 
22
22
  /** Identifies a specific key press with modifiers. */
23
23
  export interface KeyCombo {
@@ -1,4 +1,4 @@
1
- import type { ModelDefinition } from '@pellux/goodvibes-sdk/platform/providers/registry';
1
+ import type { ModelDefinition } from '@pellux/goodvibes-sdk/platform/providers';
2
2
 
3
3
  export type PickerMode = 'model' | 'provider' | 'effort' | 'contextCap';
4
4
 
@@ -1,9 +1,9 @@
1
- import type { ModelDefinition } from '@pellux/goodvibes-sdk/platform/providers/registry';
2
- import type { FavoritesStore } from '@pellux/goodvibes-sdk/platform/providers/favorites';
3
- import { EFFORT_DESCRIPTIONS } from '@pellux/goodvibes-sdk/platform/providers/effort-levels';
4
- import { getQualityTier, getQualityTierFromScore, compositeScore, A_TIER_THRESHOLD } from '@pellux/goodvibes-sdk/platform/providers/model-benchmarks';
5
- import type { BenchmarkStore } from '@pellux/goodvibes-sdk/platform/providers/model-benchmarks';
6
- import type { ProviderRegistry } from '@pellux/goodvibes-sdk/platform/providers/registry';
1
+ import type { ModelDefinition } from '@pellux/goodvibes-sdk/platform/providers';
2
+ import type { FavoritesStore } from '@pellux/goodvibes-sdk/platform/providers';
3
+ import { EFFORT_DESCRIPTIONS } from '@pellux/goodvibes-sdk/platform/providers';
4
+ import { getQualityTier, getQualityTierFromScore, compositeScore, A_TIER_THRESHOLD } from '@pellux/goodvibes-sdk/platform/providers';
5
+ import type { BenchmarkStore } from '@pellux/goodvibes-sdk/platform/providers';
6
+ import type { ProviderRegistry } from '@pellux/goodvibes-sdk/platform/providers';
7
7
  import { detectFamily, POPULAR_PROVIDERS, tierToCategoryFilter } from './model-picker-types.ts';
8
8
  import type { BenchmarkSort, CapabilityFilter, CategoryFilter, FilteredModelsCache, FilteredProvidersCache, GroupByMode, ModelItemsCache, ModelPickerFocusPane, ModelPickerTarget, ModelPickerTargetInfo, PickerItem, PickerMode, ProviderItemsCache } from './model-picker-types.ts';
9
9
  import { filterProviders, groupProviders } from './model-picker-provider-filter.ts';
@@ -1,4 +1,4 @@
1
- import type { InputToken } from '@pellux/goodvibes-sdk/platform/core/tokenizer';
1
+ import type { InputToken } from '@pellux/goodvibes-sdk/platform/core';
2
2
  import {
3
3
  getOnboardingWizardVisibleFieldCount,
4
4
  type OnboardingWizardAction,
@@ -1,4 +1,4 @@
1
- import type { HostServiceStatus } from '@pellux/goodvibes-sdk/platform/runtime/bootstrap-services';
1
+ import type { HostServiceStatus } from '@/runtime/index.ts';
2
2
 
3
3
  export interface OnboardingExternalServiceState {
4
4
  readonly daemonRunning?: boolean;
@@ -1,4 +1,5 @@
1
1
  import type { OnboardingAcknowledgementTarget, OnboardingApplyOperation, OnboardingApplyRequest } from '../../runtime/onboarding/index.ts';
2
+ import { formatProviderModel } from '../../config/provider-model.ts';
2
3
  import { getServerSurfaceFeatureFlags } from '../../runtime/surface-feature-flags.ts';
3
4
  import {
4
5
  buildCloudflareApiTokenRef,
@@ -108,8 +109,7 @@ export function buildOnboardingApplyRequest(controller: OnboardingWizardControll
108
109
 
109
110
  const defaultModel = controller.modelSelectionState.get('main');
110
111
  if (defaultModel && defaultModel.enabled !== false && defaultModel.providerId.length > 0 && defaultModel.modelId.length > 0) {
111
- setConfig('provider.provider', defaultModel.providerId);
112
- setConfig('provider.model', defaultModel.modelId);
112
+ setConfig('provider.model', formatProviderModel(defaultModel.providerId, defaultModel.modelId));
113
113
  }
114
114
  setConfig('provider.reasoningEffort', controller.getStringFieldValue('default-model.reasoning', controller.runtimeSnapshot?.providerRouting.primaryReasoningEffort ?? 'medium'));
115
115
  setConfig('behavior.hitlMode', controller.getStringFieldValue('experience.hitl', controller.runtimeSnapshot?.runtimeDefaults.behavior.hitlMode ?? 'balanced'));
@@ -3,7 +3,7 @@ import {
3
3
  GOODVIBES_NTFY_CHAT_TOPIC,
4
4
  GOODVIBES_NTFY_REMOTE_TOPIC,
5
5
  resolveGoodVibesNtfyTopics,
6
- } from '@pellux/goodvibes-sdk/platform/integrations/ntfy';
6
+ } from '@pellux/goodvibes-sdk/platform/integrations';
7
7
  import { DEFAULT_CONFIG, type ConfigKey } from '../../config/index.ts';
8
8
  import type { OnboardingSnapshotState } from '../../runtime/onboarding/index.ts';
9
9
  import { TELEGRAM_MODE_OPTIONS, WHATSAPP_PROVIDER_OPTIONS } from './onboarding-wizard-constants.ts';
@@ -1,5 +1,5 @@
1
1
  import type { CommandContext } from './command-registry.ts';
2
- import { logger } from '@pellux/goodvibes-sdk/platform/utils/logger';
2
+ import { logger } from '@pellux/goodvibes-sdk/platform/utils';
3
3
  import type { Panel } from '../panels/types.ts';
4
4
  import type { PanelManager } from '../panels/panel-manager.ts';
5
5
  import { FileExplorerPanel } from '../panels/file-explorer-panel.ts';
@@ -5,11 +5,11 @@
5
5
  * and handles load/delete/save actions.
6
6
  */
7
7
 
8
- import type { ProfileInfo, ProfileData, ProfileManager } from '@pellux/goodvibes-sdk/platform/profiles/manager';
9
- import { logger } from '@pellux/goodvibes-sdk/platform/utils/logger';
10
- import type { ConfigManager } from '@pellux/goodvibes-sdk/platform/config/manager';
11
- import type { ConfigKey } from '@pellux/goodvibes-sdk/platform/config/schema';
12
- import { summarizeError } from '@pellux/goodvibes-sdk/platform/utils/error-display';
8
+ import type { ProfileInfo, ProfileData, ProfileManager } from '@pellux/goodvibes-sdk/platform/profiles';
9
+ import { logger } from '@pellux/goodvibes-sdk/platform/utils';
10
+ import type { ConfigManager } from '@pellux/goodvibes-sdk/platform/config';
11
+ import type { ConfigKey } from '@pellux/goodvibes-sdk/platform/config';
12
+ import { summarizeError } from '@pellux/goodvibes-sdk/platform/utils';
13
13
 
14
14
  /** Known display setting keys (subset of ConfigKey that maps to display.*). */
15
15
  const DISPLAY_KEYS: ConfigKey[] = [
@@ -6,9 +6,9 @@
6
6
  */
7
7
 
8
8
  import { unlinkSync } from 'node:fs';
9
- import type { SessionInfo, SessionManager } from '@pellux/goodvibes-sdk/platform/sessions/manager';
9
+ import type { SessionInfo, SessionManager } from '@pellux/goodvibes-sdk/platform/sessions';
10
10
  import type { ConversationManager } from '../core/conversation';
11
- import { summarizeError } from '@pellux/goodvibes-sdk/platform/utils/error-display';
11
+ import { summarizeError } from '@pellux/goodvibes-sdk/platform/utils';
12
12
 
13
13
  // ---------------------------------------------------------------------------
14
14
  // SessionPickerModal
@@ -1,4 +1,4 @@
1
- import type { ConfigSetting } from '@pellux/goodvibes-sdk/platform/config/schema';
1
+ import type { ConfigSetting } from '@pellux/goodvibes-sdk/platform/config';
2
2
  import type { ModelPickerTarget } from './model-picker.ts';
3
3
 
4
4
  export type ModelPickerLaunch =
@@ -6,12 +6,10 @@ export type ModelPickerLaunch =
6
6
  | { readonly flow: 'model'; readonly target: ModelPickerTarget };
7
7
 
8
8
  /**
9
- * Map config keys to the shared provider/model picker flows. Provider rows open
10
- * provider first; model rows open directly to models for the same target.
9
+ * Map config keys to the shared provider/model picker flows.
11
10
  */
12
11
  export function modelPickerLaunchForKey(key: string): ModelPickerLaunch | null {
13
- if (key === 'provider.provider') return { flow: 'providerModel', target: 'main' };
14
- if (key === 'provider.model') return { flow: 'model', target: 'main' };
12
+ if (key === 'provider.model') return { flow: 'providerModel', target: 'main' };
15
13
  if (key === 'helper.globalProvider') return { flow: 'providerModel', target: 'helper' };
16
14
  if (key === 'helper.globalModel') return { flow: 'model', target: 'helper' };
17
15
  if (key === 'tools.llmProvider') return { flow: 'providerModel', target: 'tool' };
@@ -1,7 +1,7 @@
1
- import type { ConfigKey } from '@pellux/goodvibes-sdk/platform/config/schema';
2
- import type { ConfigManager } from '@pellux/goodvibes-sdk/platform/config/manager';
3
- import { logger } from '@pellux/goodvibes-sdk/platform/utils/logger';
4
- import { summarizeError } from '@pellux/goodvibes-sdk/platform/utils/error-display';
1
+ import type { ConfigKey } from '@pellux/goodvibes-sdk/platform/config';
2
+ import type { ConfigManager } from '@pellux/goodvibes-sdk/platform/config';
3
+ import { logger } from '@pellux/goodvibes-sdk/platform/utils';
4
+ import { summarizeError } from '@pellux/goodvibes-sdk/platform/utils';
5
5
  import type { SecretsManager } from '../config/secrets.ts';
6
6
  import {
7
7
  buildSecretBackedConfigUpdate,
@@ -1,6 +1,6 @@
1
- import type { ProviderAuthFreshness } from '@pellux/goodvibes-sdk/platform/runtime/provider-accounts/registry';
2
- import { listBuiltinSubscriptionProviders } from '@pellux/goodvibes-sdk/platform/config/subscription-providers';
3
- import type { SubscriptionManager } from '@pellux/goodvibes-sdk/platform/config/subscriptions';
1
+ import type { ProviderAuthFreshness } from '@/runtime/index.ts';
2
+ import { listBuiltinSubscriptionProviders } from '@pellux/goodvibes-sdk/platform/config';
3
+ import type { SubscriptionManager } from '@pellux/goodvibes-sdk/platform/config';
4
4
  import type { ServiceInspectionQuery } from '../runtime/ui-service-queries.ts';
5
5
  import type { SubscriptionEntry } from './settings-modal-types.ts';
6
6
 
@@ -1,6 +1,6 @@
1
- import type { ConfigSetting } from '@pellux/goodvibes-sdk/platform/config/schema';
2
- import type { ProviderAuthFreshness, ProviderAuthRoute } from '@pellux/goodvibes-sdk/platform/runtime/provider-accounts/registry';
3
- import type { FeatureFlag, FlagState } from '@pellux/goodvibes-sdk/platform/runtime/feature-flags/types';
1
+ import type { ConfigSetting } from '@pellux/goodvibes-sdk/platform/config';
2
+ import type { ProviderAuthFreshness, ProviderAuthRoute } from '@/runtime/index.ts';
3
+ import type { FeatureFlag, FlagState } from '@/runtime/index.ts';
4
4
 
5
5
  export type SettingsCategory =
6
6
  | 'display'
@@ -88,7 +88,7 @@ export interface FlagEntry {
88
88
  export interface McpEntry {
89
89
  name: string;
90
90
  connected: boolean;
91
- role: 'general' | 'docs' | 'filesystem' | 'git' | 'database' | 'browser' | 'automation' | 'ops' | 'remote';
91
+ role: string;
92
92
  trustMode: 'constrained' | 'ask-on-risk' | 'allow-all' | 'blocked';
93
93
  allowedPaths: string[];
94
94
  allowedHosts: string[];
@@ -10,11 +10,11 @@
10
10
  * Saves changes via configManager.set(key, value) or featureFlagManager methods.
11
11
  */
12
12
 
13
- import { CONFIG_SCHEMA, type ConfigKey, type PersistedFlagState } from '@pellux/goodvibes-sdk/platform/config/schema';
13
+ import { CONFIG_SCHEMA, type ConfigKey, type PersistedFlagState } from '@pellux/goodvibes-sdk/platform/config';
14
14
  import type { ModelPickerTarget } from './model-picker.ts';
15
- import type { ConfigManager } from '@pellux/goodvibes-sdk/platform/config/manager';
16
- import type { SubscriptionManager } from '@pellux/goodvibes-sdk/platform/config/subscriptions';
17
- import { getResolvedSettingLookup } from '@pellux/goodvibes-sdk/platform/runtime/settings/control-plane';
15
+ import type { ConfigManager } from '@pellux/goodvibes-sdk/platform/config';
16
+ import type { SubscriptionManager } from '@pellux/goodvibes-sdk/platform/config';
17
+ import { getResolvedSettingLookup } from '@/runtime/index.ts';
18
18
  import type { ServiceInspectionQuery } from '../runtime/ui-service-queries.ts';
19
19
  import { buildGoodVibesSecretKey, isSecretConfigKey } from '../config/secret-config.ts';
20
20
  import {
@@ -27,11 +27,11 @@ import {
27
27
  type SettingsSecretsManager,
28
28
  } from './settings-modal-secrets.ts';
29
29
  import { buildSubscriptionEntries } from './settings-modal-subscriptions.ts';
30
- import type { FeatureFlagManager } from '@pellux/goodvibes-sdk/platform/runtime/feature-flags/index';
31
- import type { FeatureFlag, FlagState } from '@pellux/goodvibes-sdk/platform/runtime/feature-flags/types';
32
- import type { McpRegistry } from '@pellux/goodvibes-sdk/platform/mcp/registry';
33
- import { logger } from '@pellux/goodvibes-sdk/platform/utils/logger';
34
- import { summarizeError } from '@pellux/goodvibes-sdk/platform/utils/error-display';
30
+ import type { FeatureFlagManager } from '@/runtime/index.ts';
31
+ import type { FeatureFlag, FlagState } from '@/runtime/index.ts';
32
+ import type { McpRegistry } from '@pellux/goodvibes-sdk/platform/mcp';
33
+ import { logger } from '@pellux/goodvibes-sdk/platform/utils';
34
+ import { summarizeError } from '@pellux/goodvibes-sdk/platform/utils';
35
35
  import {
36
36
  SETTINGS_CATEGORIES,
37
37
  type FlagEntry,
@@ -1,4 +1,4 @@
1
- import type { ConfigKey } from '@pellux/goodvibes-sdk/platform/config/schema';
1
+ import type { ConfigKey } from '@pellux/goodvibes-sdk/platform/config';
2
2
  import type { CommandContext } from './command-registry.ts';
3
3
  import type { SelectionItem } from './selection-modal.ts';
4
4
 
package/src/main.ts CHANGED
@@ -6,21 +6,21 @@ import { UIFactory } from './renderer/ui-factory.ts';
6
6
  import { Orchestrator } from './core/orchestrator';
7
7
  import { InputHandler } from './input/handler.ts';
8
8
  import { SelectionManager } from './input/selection.ts';
9
- import type { ContentPart } from '@pellux/goodvibes-sdk/platform/providers/interface';
10
- import { ToolRegistry } from '@pellux/goodvibes-sdk/platform/tools/registry';
11
- import { registerAllTools } from '@pellux/goodvibes-sdk/platform/tools/index';
12
- import { FileUndoManager } from '@pellux/goodvibes-sdk/platform/state/file-undo';
13
- import { PermissionManager } from '@pellux/goodvibes-sdk/platform/permissions/manager';
14
- import { AcpManager } from '@pellux/goodvibes-sdk/platform/acp/manager';
9
+ import type { ContentPart } from '@pellux/goodvibes-sdk/platform/providers';
10
+ import { ToolRegistry } from '@pellux/goodvibes-sdk/platform/tools';
11
+ import { registerAllTools } from '@pellux/goodvibes-sdk/platform/tools';
12
+ import { FileUndoManager } from '@pellux/goodvibes-sdk/platform/state';
13
+ import { PermissionManager } from '@pellux/goodvibes-sdk/platform/permissions';
14
+ import { AcpManager } from '@pellux/goodvibes-sdk/platform/acp';
15
15
  import { PermissionPromptUI } from './permissions/prompt.ts';
16
16
  import { CommandRegistry } from './input/command-registry.ts';
17
17
  import type { CommandContext } from './input/command-registry.ts';
18
18
  import { renderProcessIndicator } from './renderer/process-indicator.ts';
19
- import { WrfcController } from '@pellux/goodvibes-sdk/platform/agents/wrfc-controller';
19
+ import { WrfcController } from '@pellux/goodvibes-sdk/platform/agents';
20
20
  import { registerBuiltinCommands } from './input/commands.ts';
21
- import { ScheduleManager } from '@pellux/goodvibes-sdk/platform/tools/workflow/index';
21
+ import { ScheduleManager } from '@pellux/goodvibes-sdk/platform/tools';
22
22
  import { InputHistory } from './input/input-history.ts';
23
- import { getTierPromptSupplement, getTierForContextWindow } from '@pellux/goodvibes-sdk/platform/providers/tier-prompts';
23
+ import { getTierPromptSupplement, getTierForContextWindow } from '@pellux/goodvibes-sdk/platform/providers';
24
24
  import { GitStatusProvider } from './renderer/git-status.ts';
25
25
  import type { GitHeaderInfo } from './renderer/git-status.ts';
26
26
  import { createShellLayout } from './renderer/layout-engine.ts';
@@ -30,25 +30,25 @@ import {
30
30
  } from './renderer/conversation-layout.ts';
31
31
  import { applyConversationOverlays } from './renderer/conversation-overlays.ts';
32
32
  import { buildPanelCompositeData } from './renderer/panel-composite.ts';
33
- import { logger } from '@pellux/goodvibes-sdk/platform/utils/logger';
33
+ import { logger } from '@pellux/goodvibes-sdk/platform/utils';
34
34
  import { registerBuiltinPanels } from './panels/builtin-panels.ts';
35
35
  import { renderPanelTabBar } from './renderer/panel-tab-bar.ts';
36
36
  import { bootstrapRuntime } from './runtime/bootstrap.ts';
37
37
  import type { BootstrapContext } from './runtime/bootstrap.ts';
38
- import type { HITLMode } from '@pellux/goodvibes-sdk/platform/state/mode-manager';
39
- import type { HookPhase, HookCategory, HookEventPath } from '@pellux/goodvibes-sdk/platform/hooks/types';
38
+ import type { HITLMode } from '@pellux/goodvibes-sdk/platform/state';
39
+ import type { HookPhase, HookCategory, HookEventPath } from '@pellux/goodvibes-sdk/platform/hooks';
40
40
  import {
41
41
  checkRecoveryFile,
42
42
  deleteRecoveryFile,
43
43
  loadRecoveryConversation,
44
44
  persistConversation,
45
45
  writeRecoveryFile,
46
- } from '@pellux/goodvibes-sdk/platform/runtime/session-persistence';
46
+ } from '@/runtime/index.ts';
47
47
  import { handleBlockingShellInput, type PendingPermissionState } from './shell/blocking-input.ts';
48
48
  import { wireShellUiOpeners } from './shell/ui-openers.ts';
49
49
  import { deriveComposerState } from './core/composer-state.ts';
50
- import { buildPersistedSessionContext, formatReturnContextForDisplay, getReturnContextMode, maybeAssistReturnContextSummary } from '@pellux/goodvibes-sdk/platform/runtime/session-return-context';
51
- import { summarizeError } from '@pellux/goodvibes-sdk/platform/utils/error-display';
50
+ import { buildPersistedSessionContext, formatReturnContextForDisplay, getReturnContextMode, maybeAssistReturnContextSummary } from '@/runtime/index.ts';
51
+ import { summarizeError } from '@pellux/goodvibes-sdk/platform/utils';
52
52
  import { prepareShellCliRuntime } from './cli/entrypoint.ts';
53
53
  import { applyInitialTuiCliState } from './cli/tui-startup.ts';
54
54
  import { wireSpokenTurnRuntime } from './audio/spoken-turn-wiring.ts';
@@ -290,8 +290,7 @@ async function main() {
290
290
  const def = providerRegistry.getCurrentModel();
291
291
  runtime.model = def.id;
292
292
  runtime.provider = def.provider;
293
- configManager.set('provider.model', def.id);
294
- configManager.set('provider.provider', def.provider);
293
+ configManager.set('provider.model', def.registryKey);
295
294
  systemMessageRouter.high(`[Model] Switched to ${def.displayName} (${def.provider}) via @model:`);
296
295
  } catch {
297
296
  systemMessageRouter.high(`[Model] Unknown model: ${modelId}`);
@@ -8,9 +8,9 @@ import { readFile } from 'node:fs/promises';
8
8
  import type { Line } from '../types/grid.ts';
9
9
  import { createEmptyLine } from '../types/grid.ts';
10
10
  import { BasePanel } from './base-panel.ts';
11
- import type { AgentManager, AgentRecord } from '@pellux/goodvibes-sdk/platform/tools/agent/index';
12
- import type { AgentMessageBus } from '@pellux/goodvibes-sdk/platform/agents/message-bus';
13
- import { logger } from '@pellux/goodvibes-sdk/platform/utils/logger';
11
+ import type { AgentManager, AgentRecord } from '@pellux/goodvibes-sdk/platform/tools';
12
+ import type { AgentMessageBus } from '@pellux/goodvibes-sdk/platform/agents';
13
+ import { logger } from '@pellux/goodvibes-sdk/platform/utils';
14
14
  import {
15
15
  buildEmptyState,
16
16
  buildPanelLine,
@@ -22,7 +22,7 @@ import {
22
22
  DEFAULT_PANEL_PALETTE,
23
23
  } from './polish.ts';
24
24
  import { truncateDisplay } from '../utils/terminal-width.ts';
25
- import { summarizeError } from '@pellux/goodvibes-sdk/platform/utils/error-display';
25
+ import { summarizeError } from '@pellux/goodvibes-sdk/platform/utils';
26
26
  import {
27
27
  type AgentDisplayRow as DisplayRow,
28
28
  type AgentInspectorEntryKind as EntryKind,
@@ -2,8 +2,8 @@ import { promises as fsPromises, watch, type FSWatcher } from 'fs';
2
2
  import type { Line } from '../types/grid.ts';
3
3
  import { createEmptyLine, createStyledCell } from '../types/grid.ts';
4
4
  import { ScrollableListPanel } from './scrollable-list-panel.ts';
5
- import type { AgentManager, AgentRecord } from '@pellux/goodvibes-sdk/platform/tools/agent/index';
6
- import type { AgentEvent } from '@pellux/goodvibes-sdk/platform/runtime/events/index';
5
+ import type { AgentManager, AgentRecord } from '@pellux/goodvibes-sdk/platform/tools';
6
+ import type { AgentEvent } from '@/runtime/index.ts';
7
7
  import type { UiEventFeed } from '../runtime/ui-events.ts';
8
8
  import {
9
9
  buildEmptyState,
@@ -6,8 +6,8 @@ import {
6
6
  buildPanelLine,
7
7
  DEFAULT_PANEL_PALETTE,
8
8
  } from './polish.ts';
9
- import type { PolicyRuntimeState } from '@pellux/goodvibes-sdk/platform/runtime/permissions/policy-runtime';
10
- import { buildPermissionRuleSuggestions } from '@pellux/goodvibes-sdk/platform/runtime/permissions/rule-suggestions';
9
+ import type { PolicyRuntimeState } from '@/runtime/index.ts';
10
+ import { buildPermissionRuleSuggestions } from '@/runtime/index.ts';
11
11
 
12
12
  const C = {
13
13
  ...DEFAULT_PANEL_PALETTE,
@@ -35,7 +35,7 @@ import {
35
35
  createEnvironmentVariableQuery,
36
36
  createProviderRuntimeInspectionQuery,
37
37
  } from '../../runtime/ui-service-queries.ts';
38
- import { createRuntimeProviderApi } from '@pellux/goodvibes-sdk/platform/runtime/runtime-provider-api';
38
+ import { createRuntimeProviderApi } from '@/runtime/index.ts';
39
39
  import type { ResolvedBuiltinPanelDeps } from './shared.ts';
40
40
  import { requireAutomationManager, requireControlPlanePanelDeps, requireHookPanelDeps, requireMcpRegistry, requirePluginManager, requireUiServices } from './shared.ts';
41
41
 
@@ -12,7 +12,7 @@ import {
12
12
  getOrCreateCompanionToken,
13
13
  regenerateCompanionToken,
14
14
  buildCompanionConnectionInfo,
15
- } from '@pellux/goodvibes-sdk/platform/pairing/index';
15
+ } from '@pellux/goodvibes-sdk/platform/pairing';
16
16
  import { copyToClipboard } from '../../utils/clipboard.ts';
17
17
 
18
18
  function getLocalNetworkIp(): string {
@@ -63,7 +63,7 @@ export function registerSessionPanels(manager: PanelManager, deps: ResolvedBuilt
63
63
  surface: 'tui',
64
64
  });
65
65
  const regenerate = (): typeof connectionInfo => {
66
- const newRecord = regenerateCompanionToken('tui', { daemonHomeDir });
66
+ const newRecord = regenerateCompanionToken({ daemonHomeDir });
67
67
  return buildCompanionConnectionInfo({
68
68
  daemonUrl,
69
69
  token: newRecord.token,
@@ -1,30 +1,30 @@
1
- import type { ConfigManager } from '@pellux/goodvibes-sdk/platform/config/manager';
2
- import type { ServiceRegistry } from '@pellux/goodvibes-sdk/platform/config/service-registry';
3
- import type { ToolRegistry } from '@pellux/goodvibes-sdk/platform/tools/registry';
4
- import type { ProviderRegistry } from '@pellux/goodvibes-sdk/platform/providers/registry';
1
+ import type { ConfigManager } from '@pellux/goodvibes-sdk/platform/config';
2
+ import type { ServiceRegistry } from '@pellux/goodvibes-sdk/platform/config';
3
+ import type { ToolRegistry } from '@pellux/goodvibes-sdk/platform/tools';
4
+ import type { ProviderRegistry } from '@pellux/goodvibes-sdk/platform/providers';
5
5
  import type { Orchestrator } from '../../core/orchestrator';
6
- import type { MemoryRegistry } from '@pellux/goodvibes-sdk/platform/state/memory-store';
7
- import type { ApprovalBroker, SharedSessionBroker } from '@pellux/goodvibes-sdk/platform/control-plane/index';
8
- import type { AutomationManager } from '@pellux/goodvibes-sdk/platform/automation/index';
9
- import type { ControlPlaneRecentEvent } from '@pellux/goodvibes-sdk/platform/control-plane/gateway';
6
+ import type { MemoryRegistry } from '@pellux/goodvibes-sdk/platform/state';
7
+ import type { ApprovalBroker, SharedSessionBroker } from '@pellux/goodvibes-sdk/platform/control-plane';
8
+ import type { AutomationManager } from '@pellux/goodvibes-sdk/platform/automation';
9
+ import type { ControlPlaneRecentEvent } from '@pellux/goodvibes-sdk/platform/control-plane';
10
10
  import type { UiRuntimeServices } from '../../runtime/ui-services.ts';
11
- import type { PluginManagerObserver } from '@pellux/goodvibes-sdk/platform/plugins/manager';
12
- import type { HookWorkbench } from '@pellux/goodvibes-sdk/platform/hooks/workbench';
13
- import type { HookDispatcher } from '@pellux/goodvibes-sdk/platform/hooks/dispatcher';
14
- import type { HookActivityTracker } from '@pellux/goodvibes-sdk/platform/hooks/activity';
15
- import type { McpRegistry } from '@pellux/goodvibes-sdk/platform/mcp/registry';
16
- import type { PolicyRuntimeState } from '@pellux/goodvibes-sdk/platform/runtime/permissions/policy-runtime';
17
- import type { SessionManager } from '@pellux/goodvibes-sdk/platform/sessions/manager';
18
- import type { SubscriptionManager } from '@pellux/goodvibes-sdk/platform/config/subscriptions';
19
- import type { UserAuthManager } from '@pellux/goodvibes-sdk/platform/security/user-auth';
20
- import type { SessionMemoryStore } from '@pellux/goodvibes-sdk/platform/core/session-memory';
21
- import type { ExecutionPlanManager } from '@pellux/goodvibes-sdk/platform/core/execution-plan';
22
- import type { AdaptivePlanner } from '@pellux/goodvibes-sdk/platform/core/adaptive-planner';
23
- import type { ProjectPlanningService } from '@pellux/goodvibes-sdk/platform/knowledge/index';
24
- import type { ApiTokenAuditor } from '@pellux/goodvibes-sdk/platform/security/token-audit';
11
+ import type { PluginManagerObserver } from '@pellux/goodvibes-sdk/platform/plugins';
12
+ import type { HookWorkbench } from '@pellux/goodvibes-sdk/platform/hooks';
13
+ import type { HookDispatcher } from '@pellux/goodvibes-sdk/platform/hooks';
14
+ import type { HookActivityTracker } from '@pellux/goodvibes-sdk/platform/hooks';
15
+ import type { McpRegistry } from '@pellux/goodvibes-sdk/platform/mcp';
16
+ import type { PolicyRuntimeState } from '@/runtime/index.ts';
17
+ import type { SessionManager } from '@pellux/goodvibes-sdk/platform/sessions';
18
+ import type { SubscriptionManager } from '@pellux/goodvibes-sdk/platform/config';
19
+ import type { UserAuthManager } from '@pellux/goodvibes-sdk/platform/security';
20
+ import type { SessionMemoryStore } from '@pellux/goodvibes-sdk/platform/core';
21
+ import type { ExecutionPlanManager } from '@pellux/goodvibes-sdk/platform/core';
22
+ import type { AdaptivePlanner } from '@pellux/goodvibes-sdk/platform/core';
23
+ import type { ProjectPlanningService } from '@pellux/goodvibes-sdk/platform/knowledge';
24
+ import type { ApiTokenAuditor } from '@pellux/goodvibes-sdk/platform/security';
25
25
  import type { ComponentHealthMonitor } from '../../runtime/perf/panel-health-monitor.ts';
26
- import type { WorktreeRegistry } from '@pellux/goodvibes-sdk/platform/runtime/worktree/registry';
27
- import type { SandboxSessionRegistry } from '@pellux/goodvibes-sdk/platform/runtime/sandbox/session-registry';
26
+ import type { WorktreeRegistry } from '@/runtime/index.ts';
27
+ import type { SandboxSessionRegistry } from '@/runtime/index.ts';
28
28
 
29
29
  export interface BuiltinPanelDeps {
30
30
  /** Config manager for settings-sync and other config-backed panels. */
@@ -56,13 +56,13 @@ export interface BuiltinPanelDeps {
56
56
  /** Request a shell repaint directly rather than routing through a retired event path. */
57
57
  requestRender?: () => void;
58
58
  /** ForensicsRegistry for the Forensics panel. */
59
- forensicsRegistry?: import('@pellux/goodvibes-sdk/platform/runtime/forensics/registry').ForensicsRegistry;
59
+ forensicsRegistry?: import('@/runtime/index.ts').ForensicsRegistry;
60
60
  /** EvalRegistry for the Eval panel. */
61
61
  evalRegistry?: import('../eval-panel.ts').EvalRegistry;
62
62
  /** MemoryRegistry for the Memory panel. */
63
63
  memoryRegistry?: MemoryRegistry;
64
64
  /** Shared policy runtime state for governance/policy diagnostics. */
65
- policyRuntimeState?: import('@pellux/goodvibes-sdk/platform/runtime/permissions/policy-runtime').PolicyRuntimeState;
65
+ policyRuntimeState?: import('@/runtime/index.ts').PolicyRuntimeState;
66
66
  /** Approval broker for control-plane/operator panels. */
67
67
  approvalBroker?: ApprovalBroker;
68
68
  /** Shared session broker for control-plane/operator panels. */
@@ -2,11 +2,11 @@
2
2
  // ContextVisualizerPanel — stacked bar showing context window composition.
3
3
  // ---------------------------------------------------------------------------
4
4
 
5
- import type { ConfigManager } from '@pellux/goodvibes-sdk/platform/config/manager';
5
+ import type { ConfigManager } from '@pellux/goodvibes-sdk/platform/config';
6
6
  import type { Line } from '../types/grid.ts';
7
7
  import { BasePanel } from './base-panel.ts';
8
- import { evaluateSessionMaintenance } from '@pellux/goodvibes-sdk/platform/runtime/session-maintenance';
9
- import type { TurnEvent } from '@pellux/goodvibes-sdk/platform/runtime/events/index';
8
+ import { evaluateSessionMaintenance } from '@/runtime/index.ts';
9
+ import type { TurnEvent } from '@/runtime/index.ts';
10
10
  import type { UiEventFeed } from '../runtime/ui-events.ts';
11
11
  import type { UiReadModel, UiSessionSnapshot } from '../runtime/ui-read-models.ts';
12
12
  import type { SessionMemoryQuery } from '../runtime/ui-service-queries.ts';
@@ -5,7 +5,7 @@
5
5
  import type { Line } from '../types/grid.ts';
6
6
  import { createStyledCell, createEmptyLine } from '../types/grid.ts';
7
7
  import { BasePanel } from './base-panel.ts';
8
- import type { AgentEvent, TurnEvent } from '@pellux/goodvibes-sdk/platform/runtime/events/index';
8
+ import type { AgentEvent, TurnEvent } from '@/runtime/index.ts';
9
9
  import type { UiEventFeed } from '../runtime/ui-events.ts';
10
10
  import {
11
11
  buildEmptyState,
@@ -1,6 +1,6 @@
1
1
  import { BasePanel } from './base-panel.ts';
2
2
  import { createEmptyLine, createStyledCell, type Line } from '../types/grid.ts';
3
- import type { TurnEvent } from '@pellux/goodvibes-sdk/platform/runtime/events/index';
3
+ import type { TurnEvent } from '@/runtime/index.ts';
4
4
  import type { UiEventFeed } from '../runtime/ui-events.ts';
5
5
  import type { Orchestrator } from '../core/orchestrator';
6
6
  import {
@@ -23,7 +23,7 @@ import type {
23
23
  EvalResult,
24
24
  EvalGateResult,
25
25
  EvalDimension,
26
- } from '@pellux/goodvibes-sdk/platform/runtime/eval/types';
26
+ } from '@/runtime/index.ts';
27
27
 
28
28
  /**
29
29
  * Holds the latest eval run state for display in EvalPanel.
@@ -7,9 +7,9 @@
7
7
  * Open via /forensics or the panel picker.
8
8
  */
9
9
  import type { Line } from '../types/grid.ts';
10
- import type { ForensicsRegistry } from '@pellux/goodvibes-sdk/platform/runtime/forensics/registry';
11
- import type { FailureReport, CausalChainEntry, PhaseTimingEntry } from '@pellux/goodvibes-sdk/platform/runtime/forensics/types';
12
- import { ForensicsDataPanel } from '@pellux/goodvibes-sdk/platform/runtime/diagnostics/panels/forensics';
10
+ import type { ForensicsRegistry } from '@/runtime/index.ts';
11
+ import type { FailureReport, CausalChainEntry, PhaseTimingEntry } from '@/runtime/index.ts';
12
+ import { ForensicsDataPanel } from '@/runtime/index.ts';
13
13
  import { BasePanel } from './base-panel.ts';
14
14
  import { createEmptyLine } from '../types/grid.ts';
15
15
  import {
@@ -1,8 +1,8 @@
1
1
  import { BasePanel } from './base-panel.ts';
2
2
  import { createEmptyLine, createStyledCell, type Line } from '../types/grid.ts';
3
- import { GitService } from '@pellux/goodvibes-sdk/platform/git/service';
4
- import { logger } from '@pellux/goodvibes-sdk/platform/utils/logger';
5
- import { summarizeError } from '@pellux/goodvibes-sdk/platform/utils/error-display';
3
+ import { GitService } from '@pellux/goodvibes-sdk/platform/git';
4
+ import { logger } from '@pellux/goodvibes-sdk/platform/utils';
5
+ import { summarizeError } from '@pellux/goodvibes-sdk/platform/utils';
6
6
  import {
7
7
  buildEmptyState,
8
8
  buildPanelLine,