@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.
- package/CHANGELOG.md +52 -0
- package/README.md +1 -1
- package/docs/foundation-artifacts/operator-contract.json +2398 -2086
- package/package.json +2 -2
- package/src/audio/player.ts +1 -1
- package/src/audio/spoken-turn-controller.ts +5 -5
- package/src/audio/spoken-turn-model-routing.ts +3 -3
- package/src/audio/spoken-turn-wiring.ts +3 -3
- package/src/cli/bundle-command.ts +3 -3
- package/src/cli/entrypoint.ts +9 -8
- package/src/cli/management-commands.ts +6 -6
- package/src/cli/management.ts +17 -16
- package/src/cli/provider-auth-routes.ts +1 -1
- package/src/cli/service-posture.ts +2 -2
- package/src/cli/status.ts +4 -3
- package/src/cli/surface-command.ts +1 -1
- package/src/config/index.ts +12 -11
- package/src/config/provider-model.ts +23 -0
- package/src/config/secret-config.ts +1 -1
- package/src/config/secrets.ts +3 -3
- package/src/core/composer-state.ts +1 -1
- package/src/core/conversation-rendering.ts +3 -3
- package/src/core/conversation.ts +10 -10
- package/src/core/orchestrator.ts +1 -1
- package/src/core/system-message-router.ts +3 -3
- package/src/daemon/cli.ts +19 -19
- package/src/daemon/safe-serve.ts +2 -2
- package/src/input/bookmark-modal.ts +1 -1
- package/src/input/command-registry.ts +31 -31
- package/src/input/commands/control-room-runtime.ts +3 -3
- package/src/input/commands/conversation-runtime.ts +1 -1
- package/src/input/commands/diff-runtime.ts +1 -1
- package/src/input/commands/discovery-runtime.ts +2 -2
- package/src/input/commands/eval.ts +6 -6
- package/src/input/commands/git-runtime.ts +2 -2
- package/src/input/commands/guidance-runtime.ts +3 -3
- package/src/input/commands/health-runtime.ts +10 -10
- package/src/input/commands/incident-runtime.ts +1 -1
- package/src/input/commands/integration-runtime.ts +2 -2
- package/src/input/commands/intelligence-runtime.ts +3 -3
- package/src/input/commands/knowledge.ts +1 -1
- package/src/input/commands/local-auth-runtime.ts +1 -1
- package/src/input/commands/local-provider-runtime.ts +3 -4
- package/src/input/commands/local-runtime.ts +6 -6
- package/src/input/commands/local-setup-review.ts +3 -3
- package/src/input/commands/local-setup.ts +3 -3
- package/src/input/commands/managed-runtime.ts +9 -8
- package/src/input/commands/marketplace-runtime.ts +1 -1
- package/src/input/commands/mcp-runtime.ts +1 -1
- package/src/input/commands/operator-panel-runtime.ts +1 -1
- package/src/input/commands/operator-runtime.ts +5 -5
- package/src/input/commands/platform-access-runtime.ts +2 -2
- package/src/input/commands/platform-sandbox-qemu.ts +2 -2
- package/src/input/commands/platform-sandbox-runtime.ts +6 -6
- package/src/input/commands/platform-sandbox-session.ts +2 -2
- package/src/input/commands/policy-dispatch.ts +6 -6
- package/src/input/commands/product-runtime.ts +2 -2
- package/src/input/commands/profile-sync-runtime.ts +2 -2
- package/src/input/commands/provider-accounts-runtime.ts +1 -1
- package/src/input/commands/provider.ts +3 -3
- package/src/input/commands/quit-shared.ts +2 -2
- package/src/input/commands/recall-bundle.ts +2 -2
- package/src/input/commands/recall-capture.ts +2 -2
- package/src/input/commands/recall-query.ts +2 -2
- package/src/input/commands/recall-shared.ts +2 -2
- package/src/input/commands/remote-runtime-setup.ts +2 -2
- package/src/input/commands/remote-runtime.ts +1 -1
- package/src/input/commands/replay-runtime.ts +1 -1
- package/src/input/commands/runtime-services.ts +11 -11
- package/src/input/commands/schedule-runtime.ts +6 -6
- package/src/input/commands/services-runtime.ts +1 -1
- package/src/input/commands/session-content.ts +5 -5
- package/src/input/commands/session-workflow.ts +5 -5
- package/src/input/commands/session.ts +2 -2
- package/src/input/commands/settings-sync-runtime.ts +5 -4
- package/src/input/commands/share-runtime.ts +3 -3
- package/src/input/commands/shell-core.ts +4 -5
- package/src/input/commands/skills-runtime.ts +1 -1
- package/src/input/commands/subscription-runtime.ts +7 -7
- package/src/input/commands/tasks-runtime.ts +5 -5
- package/src/input/commands/teamwork-runtime.ts +3 -3
- package/src/input/commands/teleport-runtime.ts +1 -1
- package/src/input/commands/worktree-runtime.ts +3 -3
- package/src/input/feed-context-factory.ts +1 -1
- package/src/input/file-picker.ts +1 -1
- package/src/input/handler-command-route.ts +2 -2
- package/src/input/handler-content-actions.ts +7 -7
- package/src/input/handler-feed-routes.ts +3 -3
- package/src/input/handler-feed.ts +2 -2
- package/src/input/handler-interactions.ts +1 -1
- package/src/input/handler-modal-routes.ts +1 -2
- package/src/input/handler-modal-token-routes.ts +1 -1
- package/src/input/handler-onboarding.ts +9 -6
- package/src/input/handler-picker-routes.ts +3 -3
- package/src/input/handler-shortcuts.ts +1 -1
- package/src/input/handler-ui-state.ts +1 -1
- package/src/input/handler.ts +5 -5
- package/src/input/input-history.ts +2 -2
- package/src/input/keybindings.ts +3 -3
- package/src/input/model-picker-types.ts +1 -1
- package/src/input/model-picker.ts +6 -6
- package/src/input/onboarding/handler-onboarding-routes.ts +1 -1
- package/src/input/onboarding/onboarding-runtime-status.ts +1 -1
- package/src/input/onboarding/onboarding-wizard-apply.ts +2 -2
- package/src/input/onboarding/onboarding-wizard-external-surfaces.ts +1 -1
- package/src/input/panel-integration-actions.ts +1 -1
- package/src/input/profile-picker-modal.ts +5 -5
- package/src/input/session-picker-modal.ts +2 -2
- package/src/input/settings-modal-behavior.ts +3 -5
- package/src/input/settings-modal-secrets.ts +4 -4
- package/src/input/settings-modal-subscriptions.ts +3 -3
- package/src/input/settings-modal-types.ts +4 -4
- package/src/input/settings-modal.ts +9 -9
- package/src/input/tts-settings-actions.ts +1 -1
- package/src/main.ts +16 -17
- package/src/panels/agent-inspector-panel.ts +4 -4
- package/src/panels/agent-logs-panel.ts +2 -2
- package/src/panels/approval-panel.ts +2 -2
- package/src/panels/builtin/operations.ts +1 -1
- package/src/panels/builtin/session.ts +2 -2
- package/src/panels/builtin/shared.ts +26 -26
- package/src/panels/context-visualizer-panel.ts +3 -3
- package/src/panels/cost-tracker-panel.ts +1 -1
- package/src/panels/debug-panel.ts +1 -1
- package/src/panels/eval-panel.ts +1 -1
- package/src/panels/forensics-panel.ts +3 -3
- package/src/panels/git-panel.ts +3 -3
- package/src/panels/hooks-panel.ts +7 -7
- package/src/panels/incident-review-panel.ts +2 -2
- package/src/panels/knowledge-panel.ts +1 -1
- package/src/panels/local-auth-panel.ts +1 -1
- package/src/panels/marketplace-panel.ts +2 -2
- package/src/panels/mcp-panel.ts +2 -2
- package/src/panels/memory-panel.ts +2 -2
- package/src/panels/ops-control-panel.ts +1 -1
- package/src/panels/ops-strategy-panel.ts +2 -2
- package/src/panels/orchestration-panel.ts +1 -1
- package/src/panels/panel-list-panel.ts +1 -1
- package/src/panels/plan-dashboard-panel.ts +1 -1
- package/src/panels/plugins-panel.ts +1 -1
- package/src/panels/policy-panel.ts +1 -1
- package/src/panels/project-planning-panel.ts +1 -1
- package/src/panels/provider-account-snapshot.ts +1 -1
- package/src/panels/provider-health-domains.ts +4 -4
- package/src/panels/provider-health-panel.ts +4 -4
- package/src/panels/provider-stats-panel.ts +1 -1
- package/src/panels/qr-panel.ts +1 -1
- package/src/panels/sandbox-panel.ts +3 -3
- package/src/panels/schedule-panel.ts +4 -4
- package/src/panels/security-panel.ts +1 -1
- package/src/panels/services-panel.ts +1 -1
- package/src/panels/session-browser-panel.ts +3 -3
- package/src/panels/settings-sync-panel.ts +1 -1
- package/src/panels/skills-panel.ts +1 -1
- package/src/panels/subscription-panel.ts +2 -2
- package/src/panels/system-messages-panel.ts +1 -1
- package/src/panels/tasks-panel.ts +5 -5
- package/src/panels/thinking-panel.ts +1 -1
- package/src/panels/token-budget-panel.ts +2 -2
- package/src/panels/tool-inspector-panel.ts +1 -1
- package/src/panels/worktree-panel.ts +6 -6
- package/src/panels/wrfc-panel.ts +4 -4
- package/src/permissions/prompt.ts +3 -3
- package/src/planning/project-planning-coordinator.ts +1 -1
- package/src/plugins/loader.ts +2 -2
- package/src/renderer/agent-detail-modal.ts +5 -5
- package/src/renderer/bookmark-modal.ts +1 -1
- package/src/renderer/git-status.ts +3 -3
- package/src/renderer/help-overlay.ts +1 -1
- package/src/renderer/live-tail-modal.ts +2 -2
- package/src/renderer/model-picker-overlay.ts +2 -2
- package/src/renderer/model-workspace.ts +1 -1
- package/src/renderer/process-modal.ts +3 -3
- package/src/renderer/qr-renderer.ts +1 -1
- package/src/renderer/semantic-diff.ts +6 -6
- package/src/renderer/syntax-highlighter.ts +3 -3
- package/src/renderer/tool-call.ts +1 -1
- package/src/runtime/bootstrap-command-context.ts +46 -46
- package/src/runtime/bootstrap-command-parts.ts +46 -47
- package/src/runtime/bootstrap-core.ts +24 -23
- package/src/runtime/bootstrap-hook-bridge.ts +14 -14
- package/src/runtime/bootstrap-shell.ts +15 -15
- package/src/runtime/bootstrap.ts +27 -27
- package/src/runtime/cloudflare-control-plane.ts +1 -1
- package/src/runtime/context.ts +13 -13
- package/src/runtime/diagnostics/panels/index.ts +14 -14
- package/src/runtime/diagnostics/panels/ops.ts +7 -7
- package/src/runtime/diagnostics/panels/panel-resources.ts +1 -1
- package/src/runtime/diagnostics/panels/policy.ts +11 -11
- package/src/runtime/index.ts +625 -163
- package/src/runtime/onboarding/apply.ts +1 -1
- package/src/runtime/onboarding/derivation.ts +3 -2
- package/src/runtime/onboarding/markers.ts +1 -1
- package/src/runtime/onboarding/snapshot.ts +3 -2
- package/src/runtime/onboarding/types.ts +2 -2
- package/src/runtime/onboarding/verify.ts +1 -1
- package/src/runtime/perf/panel-contracts.ts +2 -2
- package/src/runtime/perf/panel-health-monitor.ts +2 -2
- package/src/runtime/sandbox-public-gaps.ts +486 -0
- package/src/runtime/services.ts +114 -67
- package/src/runtime/store/domains/index.ts +50 -50
- package/src/runtime/store/index.ts +21 -20
- package/src/runtime/store/selectors/index.ts +17 -17
- package/src/runtime/store/state.ts +50 -50
- package/src/runtime/surface-feature-flags.ts +1 -3
- package/src/runtime/terminal-output-guard.ts +1 -1
- package/src/runtime/ui/index.ts +7 -7
- package/src/runtime/ui/model-picker/data-provider.ts +7 -7
- package/src/runtime/ui/model-picker/health-enrichment.ts +7 -7
- package/src/runtime/ui/model-picker/index.ts +11 -11
- package/src/runtime/ui/model-picker/types.ts +1 -1
- package/src/runtime/ui/provider-health/data-provider.ts +4 -4
- package/src/runtime/ui/provider-health/fallback-visualizer.ts +5 -3
- package/src/runtime/ui/provider-health/index.ts +7 -7
- package/src/runtime/ui/provider-health/types.ts +1 -1
- package/src/runtime/ui-events.ts +1 -1
- package/src/runtime/ui-read-model-helpers.ts +1 -1
- package/src/runtime/ui-read-models-observability-maintenance.ts +1 -1
- package/src/runtime/ui-read-models-observability-options.ts +1 -1
- package/src/runtime/ui-read-models-observability-remote.ts +1 -1
- package/src/runtime/ui-read-models-observability-security.ts +1 -1
- package/src/runtime/ui-read-models-observability-system.ts +1 -1
- package/src/runtime/ui-read-models-observability.ts +1 -1
- package/src/runtime/ui-read-models.ts +8 -8
- package/src/runtime/ui-service-queries.ts +1 -1
- package/src/runtime/ui-services.ts +8 -8
- package/src/scripts/process-messages.ts +1 -1
- package/src/shell/blocking-input.ts +2 -2
- package/src/shell/ui-openers.ts +8 -7
- package/src/tools/index.ts +1 -1
- package/src/utils/clipboard.ts +3 -3
- package/src/version.ts +1 -1
|
@@ -6,63 +6,63 @@
|
|
|
6
6
|
* These are defined per-domain in the domain files.
|
|
7
7
|
*/
|
|
8
8
|
|
|
9
|
-
import type { SessionDomainState } from '
|
|
10
|
-
import type { ModelDomainState } from '
|
|
11
|
-
import type { ConversationDomainState } from '
|
|
12
|
-
import type { OverlayDomainState } from '
|
|
9
|
+
import type { SessionDomainState } from '@/runtime/index.ts';
|
|
10
|
+
import type { ModelDomainState } from '@/runtime/index.ts';
|
|
11
|
+
import type { ConversationDomainState } from '@/runtime/index.ts';
|
|
12
|
+
import type { OverlayDomainState } from '@/runtime/index.ts';
|
|
13
13
|
import type { PanelDomainState } from './domains/panels.ts';
|
|
14
|
-
import type { PermissionDomainState } from '
|
|
15
|
-
import type { TaskDomainState } from '
|
|
16
|
-
import type { AgentDomainState } from '
|
|
17
|
-
import type { OrchestrationDomainState } from '
|
|
18
|
-
import type { CommunicationDomainState } from '
|
|
19
|
-
import type { ProviderHealthDomainState } from '
|
|
20
|
-
import type { McpDomainState } from '
|
|
21
|
-
import type { PluginDomainState } from '
|
|
22
|
-
import type { DaemonDomainState } from '
|
|
23
|
-
import type { AutomationDomainState } from '
|
|
24
|
-
import type { AcpDomainState } from '
|
|
25
|
-
import type { RoutesDomainState } from '
|
|
26
|
-
import type { ControlPlaneDomainState } from '
|
|
27
|
-
import type { DeliveryDomainState } from '
|
|
28
|
-
import type { WatcherDomainState } from '
|
|
29
|
-
import type { SurfaceDomainState } from '
|
|
30
|
-
import type { IntegrationDomainState } from '
|
|
31
|
-
import type { TelemetryDomainState } from '
|
|
32
|
-
import type { GitDomainState } from '
|
|
33
|
-
import type { DiscoveryDomainState } from '
|
|
34
|
-
import type { IntelligenceDomainState } from '
|
|
14
|
+
import type { PermissionDomainState } from '@/runtime/index.ts';
|
|
15
|
+
import type { TaskDomainState } from '@/runtime/index.ts';
|
|
16
|
+
import type { AgentDomainState } from '@/runtime/index.ts';
|
|
17
|
+
import type { OrchestrationDomainState } from '@/runtime/index.ts';
|
|
18
|
+
import type { CommunicationDomainState } from '@/runtime/index.ts';
|
|
19
|
+
import type { ProviderHealthDomainState } from '@/runtime/index.ts';
|
|
20
|
+
import type { McpDomainState } from '@/runtime/index.ts';
|
|
21
|
+
import type { PluginDomainState } from '@/runtime/index.ts';
|
|
22
|
+
import type { DaemonDomainState } from '@/runtime/index.ts';
|
|
23
|
+
import type { AutomationDomainState } from '@/runtime/index.ts';
|
|
24
|
+
import type { AcpDomainState } from '@/runtime/index.ts';
|
|
25
|
+
import type { RoutesDomainState } from '@/runtime/index.ts';
|
|
26
|
+
import type { ControlPlaneDomainState } from '@/runtime/index.ts';
|
|
27
|
+
import type { DeliveryDomainState } from '@/runtime/index.ts';
|
|
28
|
+
import type { WatcherDomainState } from '@/runtime/index.ts';
|
|
29
|
+
import type { SurfaceDomainState } from '@/runtime/index.ts';
|
|
30
|
+
import type { IntegrationDomainState } from '@/runtime/index.ts';
|
|
31
|
+
import type { TelemetryDomainState } from '@/runtime/index.ts';
|
|
32
|
+
import type { GitDomainState } from '@/runtime/index.ts';
|
|
33
|
+
import type { DiscoveryDomainState } from '@/runtime/index.ts';
|
|
34
|
+
import type { IntelligenceDomainState } from '@/runtime/index.ts';
|
|
35
35
|
import type { UiPerfDomainState } from './domains/ui-perf.ts';
|
|
36
36
|
// UiPerfDomainState is structurally identical to SDK's SurfacePerfDomainState.
|
|
37
37
|
// Export as SurfacePerfDomainState alias for SDK compatibility.
|
|
38
38
|
export type { UiPerfDomainState };
|
|
39
39
|
|
|
40
|
-
import { createInitialSessionState } from '
|
|
41
|
-
import { createInitialModelState } from '
|
|
42
|
-
import { createInitialConversationState } from '
|
|
43
|
-
import { createInitialOverlaysState } from '
|
|
40
|
+
import { createInitialSessionState } from '@/runtime/index.ts';
|
|
41
|
+
import { createInitialModelState } from '@/runtime/index.ts';
|
|
42
|
+
import { createInitialConversationState } from '@/runtime/index.ts';
|
|
43
|
+
import { createInitialOverlaysState } from '@/runtime/index.ts';
|
|
44
44
|
import { createInitialPanelsState } from './domains/panels.ts';
|
|
45
|
-
import { createInitialPermissionsState } from '
|
|
46
|
-
import { createInitialTasksState } from '
|
|
47
|
-
import { createInitialAgentsState } from '
|
|
48
|
-
import { createInitialOrchestrationState } from '
|
|
49
|
-
import { createInitialCommunicationState } from '
|
|
50
|
-
import { createInitialProviderHealthState } from '
|
|
51
|
-
import { createInitialMcpState } from '
|
|
52
|
-
import { createInitialPluginsState } from '
|
|
53
|
-
import { createInitialDaemonState } from '
|
|
54
|
-
import { createInitialAutomationState } from '
|
|
55
|
-
import { createInitialAcpState } from '
|
|
56
|
-
import { createInitialRoutesState } from '
|
|
57
|
-
import { createInitialControlPlaneState } from '
|
|
58
|
-
import { createInitialDeliveryState } from '
|
|
59
|
-
import { createInitialWatcherState } from '
|
|
60
|
-
import { createInitialSurfaceState } from '
|
|
61
|
-
import { createInitialIntegrationsState } from '
|
|
62
|
-
import { createInitialTelemetryState } from '
|
|
63
|
-
import { createInitialGitState } from '
|
|
64
|
-
import { createInitialDiscoveryState } from '
|
|
65
|
-
import { createInitialIntelligenceState } from '
|
|
45
|
+
import { createInitialPermissionsState } from '@/runtime/index.ts';
|
|
46
|
+
import { createInitialTasksState } from '@/runtime/index.ts';
|
|
47
|
+
import { createInitialAgentsState } from '@/runtime/index.ts';
|
|
48
|
+
import { createInitialOrchestrationState } from '@/runtime/index.ts';
|
|
49
|
+
import { createInitialCommunicationState } from '@/runtime/index.ts';
|
|
50
|
+
import { createInitialProviderHealthState } from '@/runtime/index.ts';
|
|
51
|
+
import { createInitialMcpState } from '@/runtime/index.ts';
|
|
52
|
+
import { createInitialPluginsState } from '@/runtime/index.ts';
|
|
53
|
+
import { createInitialDaemonState } from '@/runtime/index.ts';
|
|
54
|
+
import { createInitialAutomationState } from '@/runtime/index.ts';
|
|
55
|
+
import { createInitialAcpState } from '@/runtime/index.ts';
|
|
56
|
+
import { createInitialRoutesState } from '@/runtime/index.ts';
|
|
57
|
+
import { createInitialControlPlaneState } from '@/runtime/index.ts';
|
|
58
|
+
import { createInitialDeliveryState } from '@/runtime/index.ts';
|
|
59
|
+
import { createInitialWatcherState } from '@/runtime/index.ts';
|
|
60
|
+
import { createInitialSurfaceState } from '@/runtime/index.ts';
|
|
61
|
+
import { createInitialIntegrationsState } from '@/runtime/index.ts';
|
|
62
|
+
import { createInitialTelemetryState } from '@/runtime/index.ts';
|
|
63
|
+
import { createInitialGitState } from '@/runtime/index.ts';
|
|
64
|
+
import { createInitialDiscoveryState } from '@/runtime/index.ts';
|
|
65
|
+
import { createInitialIntelligenceState } from '@/runtime/index.ts';
|
|
66
66
|
import { createInitialUiPerfState } from './domains/ui-perf.ts';
|
|
67
67
|
|
|
68
68
|
/**
|
|
@@ -1,17 +1,15 @@
|
|
|
1
1
|
import type { ConfigKey, ConfigManager, PersistedFlagState } from '../config/index.ts';
|
|
2
|
-
import { surfaceFeatureGateId } from '
|
|
2
|
+
import { surfaceFeatureGateId } from '@/runtime/index.ts';
|
|
3
3
|
|
|
4
4
|
export const CONTROL_PLANE_FEATURE_FLAG = 'control-plane-gateway';
|
|
5
5
|
export const ROUTE_BINDING_FEATURE_FLAG = 'route-binding';
|
|
6
6
|
export const DELIVERY_ENGINE_FEATURE_FLAG = 'delivery-engine';
|
|
7
|
-
export const OMNICHANNEL_SURFACE_FEATURE_FLAG = 'omnichannel-surface-adapters';
|
|
8
7
|
export const SERVICE_MANAGEMENT_FEATURE_FLAG = 'service-management';
|
|
9
8
|
|
|
10
9
|
const CORE_CHANNEL_FEATURE_FLAGS = [
|
|
11
10
|
CONTROL_PLANE_FEATURE_FLAG,
|
|
12
11
|
ROUTE_BINDING_FEATURE_FLAG,
|
|
13
12
|
DELIVERY_ENGINE_FEATURE_FLAG,
|
|
14
|
-
OMNICHANNEL_SURFACE_FEATURE_FLAG,
|
|
15
13
|
] as const;
|
|
16
14
|
|
|
17
15
|
export type FeatureFlagConfigKey = 'featureFlags' | `featureFlags.${string}`;
|
package/src/runtime/ui/index.ts
CHANGED
|
@@ -16,10 +16,10 @@ export type {
|
|
|
16
16
|
ModelPickerEntry,
|
|
17
17
|
ModelPickerGroup,
|
|
18
18
|
ModelPickerData,
|
|
19
|
-
} from '
|
|
20
|
-
export type { ProviderStatus as ModelPickerProviderStatus } from '
|
|
21
|
-
export { ModelPickerDataProvider, createModelPickerData } from '
|
|
22
|
-
export type { ModelPickerDataProviderOptions } from '
|
|
19
|
+
} from '@/runtime/index.ts';
|
|
20
|
+
export type { ProviderStatus as ModelPickerProviderStatus } from '@/runtime/index.ts';
|
|
21
|
+
export { ModelPickerDataProvider, createModelPickerData } from '@/runtime/index.ts';
|
|
22
|
+
export type { ModelPickerDataProviderOptions } from '@/runtime/index.ts';
|
|
23
23
|
|
|
24
24
|
// ── Provider health ───────────────────────────────────────────────────────────
|
|
25
25
|
export type {
|
|
@@ -30,10 +30,10 @@ export type {
|
|
|
30
30
|
FallbackChainData,
|
|
31
31
|
ProviderHealthData,
|
|
32
32
|
CompositeHealthStatus,
|
|
33
|
-
} from '
|
|
34
|
-
export type { ProviderStatus } from '
|
|
33
|
+
} from '@/runtime/index.ts';
|
|
34
|
+
export type { ProviderStatus } from '@/runtime/index.ts';
|
|
35
35
|
export {
|
|
36
36
|
ProviderHealthDataProvider,
|
|
37
37
|
buildFallbackChainData,
|
|
38
38
|
createProviderHealthData,
|
|
39
|
-
} from '
|
|
39
|
+
} from '@/runtime/index.ts';
|
|
@@ -8,13 +8,13 @@
|
|
|
8
8
|
* This class is a data provider only — it contains no rendering logic.
|
|
9
9
|
* Subscribe to change notifications and call getSnapshot() to render.
|
|
10
10
|
*/
|
|
11
|
-
import type { ModelDefinition } from '@pellux/goodvibes-sdk/platform/providers
|
|
12
|
-
import type { ProviderRegistry } from '@pellux/goodvibes-sdk/platform/providers
|
|
13
|
-
import type { BenchmarkStore } from '@pellux/goodvibes-sdk/platform/providers
|
|
14
|
-
import type { ProviderHealthDomainState } from '
|
|
15
|
-
import type { ModelDomainState } from '
|
|
16
|
-
import { enrichModelEntries, groupEntriesByProvider } from '
|
|
17
|
-
import type { ModelPickerData, ModelPickerEntry } from '
|
|
11
|
+
import type { ModelDefinition } from '@pellux/goodvibes-sdk/platform/providers';
|
|
12
|
+
import type { ProviderRegistry } from '@pellux/goodvibes-sdk/platform/providers';
|
|
13
|
+
import type { BenchmarkStore } from '@pellux/goodvibes-sdk/platform/providers';
|
|
14
|
+
import type { ProviderHealthDomainState } from '@/runtime/index.ts';
|
|
15
|
+
import type { ModelDomainState } from '@/runtime/index.ts';
|
|
16
|
+
import { enrichModelEntries, groupEntriesByProvider } from '@/runtime/index.ts';
|
|
17
|
+
import type { ModelPickerData, ModelPickerEntry } from '@/runtime/index.ts';
|
|
18
18
|
|
|
19
19
|
/** Options for constructing a ModelPickerDataProvider. */
|
|
20
20
|
export interface ModelPickerDataProviderOptions {
|
|
@@ -5,20 +5,20 @@
|
|
|
5
5
|
* telemetry from ProviderHealthDomainState to produce enriched
|
|
6
6
|
* ModelPickerEntry objects ready for UI consumption.
|
|
7
7
|
*/
|
|
8
|
-
import type { ModelDefinition } from '@pellux/goodvibes-sdk/platform/providers
|
|
9
|
-
import type { ProviderRegistry } from '@pellux/goodvibes-sdk/platform/providers
|
|
10
|
-
import type { BenchmarkStore } from '@pellux/goodvibes-sdk/platform/providers
|
|
11
|
-
import type { ProviderHealthDomainState, ProviderHealthRecord } from '
|
|
12
|
-
import type { ModelDomainState } from '
|
|
8
|
+
import type { ModelDefinition } from '@pellux/goodvibes-sdk/platform/providers';
|
|
9
|
+
import type { ProviderRegistry } from '@pellux/goodvibes-sdk/platform/providers';
|
|
10
|
+
import type { BenchmarkStore } from '@pellux/goodvibes-sdk/platform/providers';
|
|
11
|
+
import type { ProviderHealthDomainState, ProviderHealthRecord } from '@/runtime/index.ts';
|
|
12
|
+
import type { ModelDomainState } from '@/runtime/index.ts';
|
|
13
13
|
import { detectFamily, tierToCategoryFilter } from '../../../input/model-picker.ts';
|
|
14
|
-
import { getQualityTier, getQualityTierFromScore, compositeScore } from '@pellux/goodvibes-sdk/platform/providers
|
|
14
|
+
import { getQualityTier, getQualityTierFromScore, compositeScore } from '@pellux/goodvibes-sdk/platform/providers';
|
|
15
15
|
import type {
|
|
16
16
|
ModelPickerEntry,
|
|
17
17
|
ModelPickerGroup,
|
|
18
18
|
ProviderHealthContext,
|
|
19
19
|
CapabilityFlags,
|
|
20
20
|
ProviderLatencyStats,
|
|
21
|
-
} from '
|
|
21
|
+
} from '@/runtime/index.ts';
|
|
22
22
|
|
|
23
23
|
/** Status sort priority (lower = shown first). */
|
|
24
24
|
const STATUS_ORDER: Record<string, number> = {
|
|
@@ -11,20 +11,20 @@ export type {
|
|
|
11
11
|
ModelPickerEntry,
|
|
12
12
|
ModelPickerGroup,
|
|
13
13
|
ModelPickerData,
|
|
14
|
-
} from '
|
|
14
|
+
} from '@/runtime/index.ts';
|
|
15
15
|
// ProviderStatus re-exported from types for convenience
|
|
16
|
-
export type { ProviderStatus } from '
|
|
16
|
+
export type { ProviderStatus } from '@/runtime/index.ts';
|
|
17
17
|
|
|
18
|
-
export { ModelPickerDataProvider } from '
|
|
19
|
-
export type { ModelPickerDataProviderOptions } from '
|
|
18
|
+
export { ModelPickerDataProvider } from '@/runtime/index.ts';
|
|
19
|
+
export type { ModelPickerDataProviderOptions } from '@/runtime/index.ts';
|
|
20
20
|
|
|
21
|
-
import type { ModelDefinition } from '@pellux/goodvibes-sdk/platform/providers
|
|
22
|
-
import type { ProviderRegistry } from '@pellux/goodvibes-sdk/platform/providers
|
|
23
|
-
import type { BenchmarkStore } from '@pellux/goodvibes-sdk/platform/providers
|
|
24
|
-
import type { ProviderHealthDomainState } from '
|
|
25
|
-
import type { ModelDomainState } from '
|
|
26
|
-
import type { ModelPickerData } from '
|
|
27
|
-
import { ModelPickerDataProvider } from '
|
|
21
|
+
import type { ModelDefinition } from '@pellux/goodvibes-sdk/platform/providers';
|
|
22
|
+
import type { ProviderRegistry } from '@pellux/goodvibes-sdk/platform/providers';
|
|
23
|
+
import type { BenchmarkStore } from '@pellux/goodvibes-sdk/platform/providers';
|
|
24
|
+
import type { ProviderHealthDomainState } from '@/runtime/index.ts';
|
|
25
|
+
import type { ModelDomainState } from '@/runtime/index.ts';
|
|
26
|
+
import type { ModelPickerData } from '@/runtime/index.ts';
|
|
27
|
+
import { ModelPickerDataProvider } from '@/runtime/index.ts';
|
|
28
28
|
|
|
29
29
|
/**
|
|
30
30
|
* Produce a one-shot ModelPickerData snapshot without creating a long-lived provider.
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* Purely data-oriented — no rendering logic. These types are produced by
|
|
5
5
|
* ModelPickerDataProvider and consumed by renderers/components.
|
|
6
6
|
*/
|
|
7
|
-
import type { ProviderStatus } from '
|
|
7
|
+
import type { ProviderStatus } from '@/runtime/index.ts';
|
|
8
8
|
import type { ModelFamily, CategoryFilter } from '../../../input/model-picker.ts';
|
|
9
9
|
|
|
10
10
|
// Re-export for convenience
|
|
@@ -7,15 +7,15 @@
|
|
|
7
7
|
* This class is a data provider only — it contains no rendering logic.
|
|
8
8
|
* Subscribe to change notifications and call getSnapshot() to render.
|
|
9
9
|
*/
|
|
10
|
-
import type { ProviderHealthDomainState, ProviderHealthRecord } from '
|
|
11
|
-
import type { ModelDomainState } from '
|
|
12
|
-
import { buildFallbackChainData } from '
|
|
10
|
+
import type { ProviderHealthDomainState, ProviderHealthRecord } from '@/runtime/index.ts';
|
|
11
|
+
import type { ModelDomainState } from '@/runtime/index.ts';
|
|
12
|
+
import { buildFallbackChainData } from '@/runtime/index.ts';
|
|
13
13
|
import type {
|
|
14
14
|
ProviderHealthData,
|
|
15
15
|
ProviderHealthEntry,
|
|
16
16
|
HealthTimeline,
|
|
17
17
|
HealthTimelinePoint,
|
|
18
|
-
} from '
|
|
18
|
+
} from '@/runtime/index.ts';
|
|
19
19
|
|
|
20
20
|
/**
|
|
21
21
|
* Number of timeline points retained per provider.
|
|
@@ -5,9 +5,9 @@
|
|
|
5
5
|
* provider health records into a structured FallbackChainData snapshot
|
|
6
6
|
* suitable for UI rendering.
|
|
7
7
|
*/
|
|
8
|
-
import type { ModelDomainState } from '
|
|
9
|
-
import type { ProviderHealthDomainState } from '
|
|
10
|
-
import type { FallbackChainData, FallbackChainNode } from '
|
|
8
|
+
import type { ModelDomainState } from '@/runtime/index.ts';
|
|
9
|
+
import type { ProviderHealthDomainState } from '@/runtime/index.ts';
|
|
10
|
+
import type { FallbackChainData, FallbackChainNode } from '@/runtime/index.ts';
|
|
11
11
|
|
|
12
12
|
/**
|
|
13
13
|
* Build a FallbackChainData snapshot from the current model and health state.
|
|
@@ -28,6 +28,7 @@ export function buildFallbackChainData(
|
|
|
28
28
|
// Node 0 — primary (active model)
|
|
29
29
|
const primaryRecord = healthState.providers.get(modelState.activeProviderId);
|
|
30
30
|
nodes.push({
|
|
31
|
+
registryKey: `${modelState.activeProviderId}:${modelState.activeModelId}`,
|
|
31
32
|
providerId: modelState.activeProviderId,
|
|
32
33
|
modelId: modelState.activeModelId,
|
|
33
34
|
displayName: modelState.displayName,
|
|
@@ -42,6 +43,7 @@ export function buildFallbackChainData(
|
|
|
42
43
|
const entry = modelState.fallbackChain[i];
|
|
43
44
|
const record = healthState.providers.get(entry.providerId);
|
|
44
45
|
nodes.push({
|
|
46
|
+
registryKey: `${entry.providerId}:${entry.modelId}`,
|
|
45
47
|
providerId: entry.providerId,
|
|
46
48
|
modelId: entry.modelId,
|
|
47
49
|
displayName: entry.displayName,
|
|
@@ -13,15 +13,15 @@ export type {
|
|
|
13
13
|
FallbackChainNode,
|
|
14
14
|
FallbackChainData,
|
|
15
15
|
ProviderHealthData,
|
|
16
|
-
} from '
|
|
16
|
+
} from '@/runtime/index.ts';
|
|
17
17
|
|
|
18
|
-
export { ProviderHealthDataProvider } from '
|
|
19
|
-
export { buildFallbackChainData } from '
|
|
18
|
+
export { ProviderHealthDataProvider } from '@/runtime/index.ts';
|
|
19
|
+
export { buildFallbackChainData } from '@/runtime/index.ts';
|
|
20
20
|
|
|
21
|
-
import type { ProviderHealthDomainState } from '
|
|
22
|
-
import type { ModelDomainState } from '
|
|
23
|
-
import { ProviderHealthDataProvider } from '
|
|
24
|
-
import type { ProviderHealthData } from '
|
|
21
|
+
import type { ProviderHealthDomainState } from '@/runtime/index.ts';
|
|
22
|
+
import type { ModelDomainState } from '@/runtime/index.ts';
|
|
23
|
+
import { ProviderHealthDataProvider } from '@/runtime/index.ts';
|
|
24
|
+
import type { ProviderHealthData } from '@/runtime/index.ts';
|
|
25
25
|
|
|
26
26
|
/**
|
|
27
27
|
* Produce a one-shot ProviderHealthData snapshot without creating a long-lived provider.
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* Purely data-oriented — no rendering logic. These types are produced by
|
|
5
5
|
* ProviderHealthDataProvider and consumed by renderers/components.
|
|
6
6
|
*/
|
|
7
|
-
import type { ProviderStatus, CompositeHealthStatus } from '
|
|
7
|
+
import type { ProviderStatus, CompositeHealthStatus } from '@/runtime/index.ts';
|
|
8
8
|
|
|
9
9
|
// Re-exports for convenience
|
|
10
10
|
export type { ProviderStatus, CompositeHealthStatus };
|
package/src/runtime/ui-events.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export * from '
|
|
1
|
+
export * from '@/runtime/index.ts';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export * from '
|
|
1
|
+
export * from '@/runtime/index.ts';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export * from '
|
|
1
|
+
export * from '@/runtime/index.ts';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export * from '
|
|
1
|
+
export * from '@/runtime/index.ts';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export * from '
|
|
1
|
+
export * from '@/runtime/index.ts';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export * from '
|
|
1
|
+
export * from '@/runtime/index.ts';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export * from '
|
|
1
|
+
export * from '@/runtime/index.ts';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export * from '
|
|
1
|
+
export * from '@/runtime/index.ts';
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
export type { UiReadModel } from '
|
|
1
|
+
export type { UiReadModel } from '@/runtime/index.ts';
|
|
2
2
|
export type {
|
|
3
3
|
UiCoreReadModels,
|
|
4
4
|
UiProvidersSnapshot,
|
|
5
5
|
UiSessionSnapshot,
|
|
6
6
|
UiAgentsSnapshot,
|
|
7
7
|
UiTasksSnapshot,
|
|
8
|
-
} from '
|
|
8
|
+
} from '@/runtime/index.ts';
|
|
9
9
|
export type {
|
|
10
10
|
UiOperationsReadModels,
|
|
11
11
|
UiAutomationSnapshot,
|
|
@@ -14,7 +14,7 @@ export type {
|
|
|
14
14
|
UiOrchestrationSnapshot,
|
|
15
15
|
UiCommunicationSnapshot,
|
|
16
16
|
UiControlPlaneSnapshot,
|
|
17
|
-
} from '
|
|
17
|
+
} from '@/runtime/index.ts';
|
|
18
18
|
export type {
|
|
19
19
|
UiObservabilityReadModels,
|
|
20
20
|
UiRemoteSnapshot,
|
|
@@ -29,21 +29,21 @@ export type {
|
|
|
29
29
|
UiSettingsSnapshot,
|
|
30
30
|
UiContinuitySnapshot,
|
|
31
31
|
UiWorktreeSnapshot,
|
|
32
|
-
} from '
|
|
33
|
-
export type { UiObservabilityReadModelOptions } from '
|
|
32
|
+
} from '@/runtime/index.ts';
|
|
33
|
+
export type { UiObservabilityReadModelOptions } from '@/runtime/index.ts';
|
|
34
34
|
|
|
35
35
|
import type { RuntimeServices } from './services.ts';
|
|
36
|
-
import { createCoreReadModels, type UiCoreReadModels } from '
|
|
36
|
+
import { createCoreReadModels, type UiCoreReadModels } from '@/runtime/index.ts';
|
|
37
37
|
import {
|
|
38
38
|
createOperationsReadModels,
|
|
39
39
|
type UiOperationsReadModels,
|
|
40
40
|
type UiOperationsReadModelOptions,
|
|
41
|
-
} from '
|
|
41
|
+
} from '@/runtime/index.ts';
|
|
42
42
|
import {
|
|
43
43
|
createObservabilityReadModels,
|
|
44
44
|
type UiObservabilityReadModels,
|
|
45
45
|
type UiObservabilityReadModelOptions,
|
|
46
|
-
} from '
|
|
46
|
+
} from '@/runtime/index.ts';
|
|
47
47
|
|
|
48
48
|
export type UiReadModelOptions = UiOperationsReadModelOptions & UiObservabilityReadModelOptions;
|
|
49
49
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export * from '
|
|
1
|
+
export * from '@/runtime/index.ts';
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import type { RuntimeServices } from './services.ts';
|
|
2
|
-
import type { RemoteRunnerRegistry } from '
|
|
3
|
-
import type { RemoteSupervisor } from '
|
|
2
|
+
import type { RemoteRunnerRegistry } from '@/runtime/index.ts';
|
|
3
|
+
import type { RemoteSupervisor } from '@/runtime/index.ts';
|
|
4
4
|
import { createUiRuntimeEvents, type UiRuntimeEvents } from './ui-events.ts';
|
|
5
5
|
import { createUiReadModels, type UiReadModels, type UiReadModelOptions } from './ui-read-models.ts';
|
|
6
|
-
import type { ForensicsRegistry } from '
|
|
7
|
-
import type { ControlPlaneRecentEvent } from '@pellux/goodvibes-sdk/platform/control-plane
|
|
8
|
-
import type { ApprovalBroker } from '@pellux/goodvibes-sdk/platform/control-plane
|
|
9
|
-
import type { SharedSessionBroker } from '@pellux/goodvibes-sdk/platform/control-plane
|
|
10
|
-
import type { ShellPathService } from '
|
|
11
|
-
import type { HostServiceStatus } from '
|
|
6
|
+
import type { ForensicsRegistry } from '@/runtime/index.ts';
|
|
7
|
+
import type { ControlPlaneRecentEvent } from '@pellux/goodvibes-sdk/platform/control-plane';
|
|
8
|
+
import type { ApprovalBroker } from '@pellux/goodvibes-sdk/platform/control-plane';
|
|
9
|
+
import type { SharedSessionBroker } from '@pellux/goodvibes-sdk/platform/control-plane';
|
|
10
|
+
import type { ShellPathService } from '@/runtime/index.ts';
|
|
11
|
+
import type { HostServiceStatus } from '@/runtime/index.ts';
|
|
12
12
|
import type { SecretsManager } from '../config/secrets.ts';
|
|
13
13
|
|
|
14
14
|
export interface UiEnvironmentServices {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// CLI utility script — not imported by the app. console usage is intentional.
|
|
2
2
|
import { readFileSync } from 'fs';
|
|
3
|
-
import { AgentMessageBus } from '@pellux/goodvibes-sdk/platform/agents
|
|
3
|
+
import { AgentMessageBus } from '@pellux/goodvibes-sdk/platform/agents';
|
|
4
4
|
|
|
5
5
|
// Simple script to read messages from a file and broadcast them via the AgentMessageBus.
|
|
6
6
|
// Expected file format: each line contains an optional index and a message separated by '|', e.g. "1 | Hello".
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { ConversationManager } from '../core/conversation';
|
|
2
|
-
import type { PermissionRequest } from '@pellux/goodvibes-sdk/platform/permissions
|
|
3
|
-
import type { SessionSnapshot } from '
|
|
2
|
+
import type { PermissionRequest } from '@pellux/goodvibes-sdk/platform/permissions';
|
|
3
|
+
import type { SessionSnapshot } from '@/runtime/index.ts';
|
|
4
4
|
import type { SystemMessageRouter } from '../core/system-message-router.ts';
|
|
5
5
|
|
|
6
6
|
export type PendingPermissionState = PermissionRequest & {
|
package/src/shell/ui-openers.ts
CHANGED
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
import type { ConfigManager } from '../config/index.ts';
|
|
2
|
+
import { getProviderIdFromModel } from '../config/provider-model.ts';
|
|
2
3
|
import type { ConversationManager } from '../core/conversation';
|
|
3
4
|
import type { CommandContext } from '../input/command-registry.ts';
|
|
4
5
|
import type { InputHandler } from '../input/handler.ts';
|
|
5
6
|
import type { PanelManager } from '../panels/panel-manager.ts';
|
|
6
|
-
import type { ProviderRegistry } from '@pellux/goodvibes-sdk/platform/providers
|
|
7
|
-
import type { MutableRuntimeState } from '
|
|
8
|
-
import type { FeatureFlagManager } from '
|
|
9
|
-
import type { McpRegistry } from '@pellux/goodvibes-sdk/platform/mcp
|
|
10
|
-
import type { SubscriptionManager } from '@pellux/goodvibes-sdk/platform/config
|
|
11
|
-
import type { SecretsManager } from '@pellux/goodvibes-sdk/platform/config
|
|
7
|
+
import type { ProviderRegistry } from '@pellux/goodvibes-sdk/platform/providers';
|
|
8
|
+
import type { MutableRuntimeState } from '@/runtime/index.ts';
|
|
9
|
+
import type { FeatureFlagManager } from '@/runtime/index.ts';
|
|
10
|
+
import type { McpRegistry } from '@pellux/goodvibes-sdk/platform/mcp';
|
|
11
|
+
import type { SubscriptionManager } from '@pellux/goodvibes-sdk/platform/config';
|
|
12
|
+
import type { SecretsManager } from '@pellux/goodvibes-sdk/platform/config';
|
|
12
13
|
import type { ServiceInspectionQuery } from '../runtime/ui-service-queries.ts';
|
|
13
14
|
import type { ModelPickerTargetInfo } from '../input/model-picker.ts';
|
|
14
15
|
|
|
@@ -131,7 +132,7 @@ export function wireShellUiOpeners(options: WireShellUiOpenersOptions): void {
|
|
|
131
132
|
};
|
|
132
133
|
|
|
133
134
|
const buildModelPickerTargets = (): ModelPickerTargetInfo[] => {
|
|
134
|
-
const mainProvider =
|
|
135
|
+
const mainProvider = getProviderIdFromModel(configManager.get('provider.model') || runtime.provider).trim();
|
|
135
136
|
const mainModel = String(configManager.get('provider.model') || runtime.model || '').trim();
|
|
136
137
|
const helperProvider = String(configManager.get('helper.globalProvider') ?? '').trim();
|
|
137
138
|
const helperModel = String(configManager.get('helper.globalModel') ?? '').trim();
|
package/src/tools/index.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export { registerAllTools } from '@pellux/goodvibes-sdk/platform/tools
|
|
1
|
+
export { registerAllTools } from '@pellux/goodvibes-sdk/platform/tools';
|
package/src/utils/clipboard.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { logger } from '@pellux/goodvibes-sdk/platform/utils
|
|
2
|
-
import { summarizeError } from '@pellux/goodvibes-sdk/platform/utils
|
|
1
|
+
import { logger } from '@pellux/goodvibes-sdk/platform/utils';
|
|
2
|
+
import { summarizeError } from '@pellux/goodvibes-sdk/platform/utils';
|
|
3
3
|
import { allowTerminalWrite } from '../runtime/terminal-output-guard.ts';
|
|
4
4
|
|
|
5
5
|
/**
|
|
@@ -19,4 +19,4 @@ export function copyToClipboard(text: string) {
|
|
|
19
19
|
}
|
|
20
20
|
}
|
|
21
21
|
|
|
22
|
-
export { pasteFromClipboard, pasteImageFromClipboard, MIN_IMAGE_BYTES } from '@pellux/goodvibes-sdk/platform/utils
|
|
22
|
+
export { pasteFromClipboard, pasteImageFromClipboard, MIN_IMAGE_BYTES } from '@pellux/goodvibes-sdk/platform/utils';
|
package/src/version.ts
CHANGED
|
@@ -6,7 +6,7 @@ import { join } from 'node:path';
|
|
|
6
6
|
// The prebuild script updates the fallback value before compilation.
|
|
7
7
|
// Uses import.meta.dir (Bun) to locate package.json relative to this file,
|
|
8
8
|
// which is correct regardless of the process working directory.
|
|
9
|
-
let _version = '0.19.
|
|
9
|
+
let _version = '0.19.61';
|
|
10
10
|
try {
|
|
11
11
|
const pkg = JSON.parse(readFileSync(join(import.meta.dir, '..', 'package.json'), 'utf-8'));
|
|
12
12
|
_version = pkg.version ?? _version;
|