@pellux/goodvibes-sdk 0.18.28 → 0.18.30
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/dist/_internal/platform/agents/orchestrator-runner.js +1 -1
- package/dist/_internal/platform/bookmarks/manager.d.ts +1 -1
- package/dist/_internal/platform/bookmarks/manager.d.ts.map +1 -1
- package/dist/_internal/platform/channels/surface-registry.js +3 -3
- package/dist/_internal/platform/config/api-keys.d.ts +29 -0
- package/dist/_internal/platform/config/api-keys.d.ts.map +1 -0
- package/dist/_internal/platform/config/api-keys.js +153 -0
- package/dist/_internal/platform/config/index.d.ts +1 -13
- package/dist/_internal/platform/config/index.d.ts.map +1 -1
- package/dist/_internal/platform/config/index.js +1 -138
- package/dist/_internal/platform/config/schema-domain-core.d.ts +1 -0
- package/dist/_internal/platform/config/schema-domain-core.d.ts.map +1 -1
- package/dist/_internal/platform/config/schema-domain-core.js +7 -0
- package/dist/_internal/platform/config/schema-types.d.ts +3 -2
- package/dist/_internal/platform/config/schema-types.d.ts.map +1 -1
- package/dist/_internal/platform/config/tool-llm.d.ts.map +1 -1
- package/dist/_internal/platform/config/tool-llm.js +3 -0
- package/dist/_internal/platform/core/conversation-diff.d.ts +6 -2
- package/dist/_internal/platform/core/conversation-diff.d.ts.map +1 -1
- package/dist/_internal/platform/core/conversation.d.ts +13 -5
- package/dist/_internal/platform/core/conversation.d.ts.map +1 -1
- package/dist/_internal/platform/core/conversation.js +35 -1
- package/dist/_internal/platform/pairing/companion-token.d.ts +45 -0
- package/dist/_internal/platform/pairing/companion-token.d.ts.map +1 -0
- package/dist/_internal/platform/pairing/companion-token.js +74 -0
- package/dist/_internal/platform/pairing/connection-info.d.ts +10 -0
- package/dist/_internal/platform/pairing/connection-info.d.ts.map +1 -0
- package/dist/_internal/platform/pairing/connection-info.js +27 -0
- package/dist/_internal/platform/pairing/index.d.ts +6 -0
- package/dist/_internal/platform/pairing/index.d.ts.map +1 -0
- package/dist/_internal/platform/pairing/index.js +3 -0
- package/dist/_internal/platform/pairing/qr-generator.d.ts +20 -0
- package/dist/_internal/platform/pairing/qr-generator.d.ts.map +1 -0
- package/dist/_internal/platform/pairing/qr-generator.js +452 -0
- package/dist/_internal/platform/plugins/loader.d.ts +5 -1
- package/dist/_internal/platform/plugins/loader.d.ts.map +1 -1
- package/dist/_internal/platform/plugins/loader.js +7 -3
- package/dist/_internal/platform/runtime/bootstrap-hook-bridge.d.ts +10 -0
- package/dist/_internal/platform/runtime/bootstrap-hook-bridge.d.ts.map +1 -0
- package/dist/_internal/platform/runtime/bootstrap-hook-bridge.js +143 -0
- package/dist/_internal/platform/runtime/diagnostics/panels/panel-resources.d.ts +5 -5
- package/dist/_internal/platform/runtime/diagnostics/panels/panel-resources.d.ts.map +1 -1
- package/dist/_internal/platform/runtime/diagnostics/panels/panel-resources.js +3 -3
- package/dist/_internal/platform/runtime/diagnostics/types.d.ts +26 -13
- package/dist/_internal/platform/runtime/diagnostics/types.d.ts.map +1 -1
- package/dist/_internal/platform/runtime/diagnostics/types.js +4 -2
- package/dist/_internal/platform/runtime/mutable-runtime-state.d.ts +14 -0
- package/dist/_internal/platform/runtime/mutable-runtime-state.d.ts.map +1 -0
- package/dist/_internal/platform/runtime/mutable-runtime-state.js +1 -0
- package/dist/_internal/platform/runtime/ops/playbooks/permission-deadlock.js +2 -2
- package/dist/_internal/platform/runtime/perf/component-contracts.d.ts +114 -0
- package/dist/_internal/platform/runtime/perf/component-contracts.d.ts.map +1 -0
- package/dist/_internal/platform/runtime/perf/component-contracts.js +104 -0
- package/dist/_internal/platform/runtime/perf/component-health-monitor.d.ts +98 -0
- package/dist/_internal/platform/runtime/perf/component-health-monitor.d.ts.map +1 -0
- package/dist/_internal/platform/runtime/perf/component-health-monitor.js +248 -0
- package/dist/_internal/platform/runtime/perf/index.d.ts +6 -3
- package/dist/_internal/platform/runtime/perf/index.d.ts.map +1 -1
- package/dist/_internal/platform/runtime/perf/index.js +4 -2
- package/dist/_internal/platform/runtime/perf/panel-contracts.d.ts +6 -90
- package/dist/_internal/platform/runtime/perf/panel-contracts.d.ts.map +1 -1
- package/dist/_internal/platform/runtime/perf/panel-contracts.js +4 -83
- package/dist/_internal/platform/runtime/perf/panel-health-monitor.d.ts +4 -88
- package/dist/_internal/platform/runtime/perf/panel-health-monitor.d.ts.map +1 -1
- package/dist/_internal/platform/runtime/perf/panel-health-monitor.js +4 -236
- package/dist/_internal/platform/runtime/service-queries.d.ts +3 -0
- package/dist/_internal/platform/runtime/service-queries.d.ts.map +1 -0
- package/dist/_internal/platform/runtime/service-queries.js +1 -0
- package/dist/_internal/platform/runtime/services.d.ts +2 -2
- package/dist/_internal/platform/runtime/services.d.ts.map +1 -1
- package/dist/_internal/platform/runtime/services.js +3 -3
- package/dist/_internal/platform/runtime/session-return-context.js +1 -1
- package/dist/_internal/platform/runtime/shell-command-services.d.ts +2 -2
- package/dist/_internal/platform/runtime/shell-command-services.d.ts.map +1 -1
- package/dist/_internal/platform/runtime/shell-command-services.js +2 -2
- package/dist/_internal/platform/runtime/shell-command-workspace.d.ts +2 -2
- package/dist/_internal/platform/runtime/shell-command-workspace.d.ts.map +1 -1
- package/dist/_internal/platform/runtime/shell-command-workspace.js +2 -2
- package/dist/_internal/platform/runtime/store/domains/index.d.ts +2 -0
- package/dist/_internal/platform/runtime/store/domains/index.d.ts.map +1 -1
- package/dist/_internal/platform/runtime/store/domains/index.js +1 -0
- package/dist/_internal/platform/runtime/store/selectors/index.d.ts +27 -14
- package/dist/_internal/platform/runtime/store/selectors/index.d.ts.map +1 -1
- package/dist/_internal/platform/runtime/store/selectors/index.js +35 -25
- package/dist/_internal/platform/runtime/store/state.d.ts +3 -4
- package/dist/_internal/platform/runtime/store/state.d.ts.map +1 -1
- package/dist/_internal/platform/runtime/store/state.js +3 -4
- package/dist/_internal/platform/runtime/system-message-policy.d.ts +18 -0
- package/dist/_internal/platform/runtime/system-message-policy.d.ts.map +1 -0
- package/dist/_internal/platform/runtime/system-message-policy.js +35 -0
- package/dist/_internal/platform/utils/clipboard.d.ts +3 -2
- package/dist/_internal/platform/utils/clipboard.d.ts.map +1 -1
- package/dist/_internal/platform/utils/clipboard.js +0 -17
- package/dist/_internal/platform/utils/notify.d.ts.map +1 -1
- package/dist/_internal/platform/utils/notify.js +4 -1
- package/dist/_internal/platform/utils/terminal-width.d.ts +13 -0
- package/dist/_internal/platform/utils/terminal-width.d.ts.map +1 -1
- package/dist/_internal/platform/utils/terminal-width.js +13 -0
- package/dist/_internal/platform/version.js +1 -1
- package/package.json +1 -1
- package/dist/_internal/platform/core/history.d.ts +0 -22
- package/dist/_internal/platform/core/history.d.ts.map +0 -1
- package/dist/_internal/platform/core/history.js +0 -43
- package/dist/_internal/platform/types/grid.d.ts +0 -27
- package/dist/_internal/platform/types/grid.d.ts.map +0 -1
- package/dist/_internal/platform/types/grid.js +0 -26
- package/dist/_internal/platform/utils/splash-lines.d.ts +0 -8
- package/dist/_internal/platform/utils/splash-lines.d.ts.map +0 -1
- package/dist/_internal/platform/utils/splash-lines.js +0 -32
|
@@ -26,10 +26,6 @@ export function selectConversation(state) {
|
|
|
26
26
|
export function selectOverlays(state) {
|
|
27
27
|
return state.overlays;
|
|
28
28
|
}
|
|
29
|
-
/** Select the full panels domain slice. */
|
|
30
|
-
export function selectPanels(state) {
|
|
31
|
-
return state.panels;
|
|
32
|
-
}
|
|
33
29
|
/** Select the full permissions domain slice. */
|
|
34
30
|
export function selectPermissions(state) {
|
|
35
31
|
return state.permissions;
|
|
@@ -82,9 +78,41 @@ export function selectDiscovery(state) {
|
|
|
82
78
|
export function selectIntelligence(state) {
|
|
83
79
|
return state.intelligence;
|
|
84
80
|
}
|
|
85
|
-
/** Select the full
|
|
86
|
-
export function
|
|
87
|
-
return state.
|
|
81
|
+
/** Select the full orchestration domain slice. */
|
|
82
|
+
export function selectOrchestration(state) {
|
|
83
|
+
return state.orchestration;
|
|
84
|
+
}
|
|
85
|
+
/** Select the full communication domain slice. */
|
|
86
|
+
export function selectCommunication(state) {
|
|
87
|
+
return state.communication;
|
|
88
|
+
}
|
|
89
|
+
/** Select the full automation domain slice. */
|
|
90
|
+
export function selectAutomation(state) {
|
|
91
|
+
return state.automation;
|
|
92
|
+
}
|
|
93
|
+
/** Select the full routes domain slice. */
|
|
94
|
+
export function selectRoutes(state) {
|
|
95
|
+
return state.routes;
|
|
96
|
+
}
|
|
97
|
+
/** Select the full control plane domain slice. */
|
|
98
|
+
export function selectControlPlane(state) {
|
|
99
|
+
return state.controlPlane;
|
|
100
|
+
}
|
|
101
|
+
/** Select the full deliveries domain slice. */
|
|
102
|
+
export function selectDeliveries(state) {
|
|
103
|
+
return state.deliveries;
|
|
104
|
+
}
|
|
105
|
+
/** Select the full watchers domain slice. */
|
|
106
|
+
export function selectWatchers(state) {
|
|
107
|
+
return state.watchers;
|
|
108
|
+
}
|
|
109
|
+
/** Select the full surfaces domain slice. */
|
|
110
|
+
export function selectSurfaces(state) {
|
|
111
|
+
return state.surfaces;
|
|
112
|
+
}
|
|
113
|
+
/** Select the full surface performance domain slice. */
|
|
114
|
+
export function selectSurfacePerf(state) {
|
|
115
|
+
return state.surfacePerf;
|
|
88
116
|
}
|
|
89
117
|
/**
|
|
90
118
|
* Returns the active model identity fields.
|
|
@@ -199,24 +227,6 @@ export function selectSystemHealth(state) {
|
|
|
199
227
|
export function selectPermissionMode(state) {
|
|
200
228
|
return state.permissions.mode;
|
|
201
229
|
}
|
|
202
|
-
/**
|
|
203
|
-
* Returns all panels that are currently open.
|
|
204
|
-
*/
|
|
205
|
-
export function selectActivePanels(state) {
|
|
206
|
-
const result = [];
|
|
207
|
-
for (const panel of state.panels.panels.values()) {
|
|
208
|
-
if (panel.open) {
|
|
209
|
-
result.push(panel);
|
|
210
|
-
}
|
|
211
|
-
}
|
|
212
|
-
return result;
|
|
213
|
-
}
|
|
214
|
-
/**
|
|
215
|
-
* Returns the panel currently holding focus.
|
|
216
|
-
*/
|
|
217
|
-
export function selectFocusedPanel(state) {
|
|
218
|
-
return state.panels.panels.get(state.panels.focusedPanelId);
|
|
219
|
-
}
|
|
220
230
|
/**
|
|
221
231
|
* Returns whether any overlay is currently visible.
|
|
222
232
|
*/
|
|
@@ -9,7 +9,6 @@ import type { SessionDomainState } from '@pellux/goodvibes-sdk/platform/runtime/
|
|
|
9
9
|
import type { ModelDomainState } from '@pellux/goodvibes-sdk/platform/runtime/store/domains/model';
|
|
10
10
|
import type { ConversationDomainState } from './domains/conversation.js';
|
|
11
11
|
import type { OverlayDomainState } from '@pellux/goodvibes-sdk/platform/runtime/store/domains/overlays';
|
|
12
|
-
import type { PanelDomainState } from './domains/panels.js';
|
|
13
12
|
import type { PermissionDomainState } from './domains/permissions.js';
|
|
14
13
|
import type { TaskDomainState } from '@pellux/goodvibes-sdk/platform/runtime/store/domains/tasks';
|
|
15
14
|
import type { AgentDomainState } from '@pellux/goodvibes-sdk/platform/runtime/store/domains/agents';
|
|
@@ -31,7 +30,7 @@ import type { TelemetryDomainState } from '@pellux/goodvibes-sdk/platform/runtim
|
|
|
31
30
|
import type { GitDomainState } from '@pellux/goodvibes-sdk/platform/runtime/store/domains/git';
|
|
32
31
|
import type { DiscoveryDomainState } from '@pellux/goodvibes-sdk/platform/runtime/store/domains/discovery';
|
|
33
32
|
import type { IntelligenceDomainState } from '@pellux/goodvibes-sdk/platform/runtime/store/domains/intelligence';
|
|
34
|
-
import type {
|
|
33
|
+
import type { SurfacePerfDomainState } from './domains/surface-perf.js';
|
|
35
34
|
/**
|
|
36
35
|
* RuntimeState — the complete state shape managed by the runtime store.
|
|
37
36
|
*
|
|
@@ -43,7 +42,7 @@ export interface RuntimeState {
|
|
|
43
42
|
model: ModelDomainState;
|
|
44
43
|
conversation: ConversationDomainState;
|
|
45
44
|
overlays: OverlayDomainState;
|
|
46
|
-
panels:
|
|
45
|
+
panels: Record<string, unknown>;
|
|
47
46
|
permissions: PermissionDomainState;
|
|
48
47
|
tasks: TaskDomainState;
|
|
49
48
|
agents: AgentDomainState;
|
|
@@ -65,7 +64,7 @@ export interface RuntimeState {
|
|
|
65
64
|
git: GitDomainState;
|
|
66
65
|
discovery: DiscoveryDomainState;
|
|
67
66
|
intelligence: IntelligenceDomainState;
|
|
68
|
-
|
|
67
|
+
surfacePerf: SurfacePerfDomainState;
|
|
69
68
|
}
|
|
70
69
|
/**
|
|
71
70
|
* Creates and returns a fully initialized RuntimeState with all domains
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../../../../src/_internal/platform/runtime/store/state.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,8DAA8D,CAAC;AACvG,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4DAA4D,CAAC;AACnG,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACzE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,+DAA+D,CAAC;AACxG,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../../../../src/_internal/platform/runtime/store/state.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,7 +9,6 @@ import { createInitialSessionState } from '@pellux/goodvibes-sdk/platform/runtim
|
|
|
9
9
|
import { createInitialModelState } from '@pellux/goodvibes-sdk/platform/runtime/store/domains/model';
|
|
10
10
|
import { createInitialConversationState } from './domains/conversation.js';
|
|
11
11
|
import { createInitialOverlaysState } from '@pellux/goodvibes-sdk/platform/runtime/store/domains/overlays';
|
|
12
|
-
import { createInitialPanelsState } from './domains/panels.js';
|
|
13
12
|
import { createInitialPermissionsState } from './domains/permissions.js';
|
|
14
13
|
import { createInitialTasksState } from '@pellux/goodvibes-sdk/platform/runtime/store/domains/tasks';
|
|
15
14
|
import { createInitialAgentsState } from '@pellux/goodvibes-sdk/platform/runtime/store/domains/agents';
|
|
@@ -31,7 +30,7 @@ import { createInitialTelemetryState } from '@pellux/goodvibes-sdk/platform/runt
|
|
|
31
30
|
import { createInitialGitState } from '@pellux/goodvibes-sdk/platform/runtime/store/domains/git';
|
|
32
31
|
import { createInitialDiscoveryState } from '@pellux/goodvibes-sdk/platform/runtime/store/domains/discovery';
|
|
33
32
|
import { createInitialIntelligenceState } from '@pellux/goodvibes-sdk/platform/runtime/store/domains/intelligence';
|
|
34
|
-
import {
|
|
33
|
+
import { createInitialSurfacePerfState } from './domains/surface-perf.js';
|
|
35
34
|
/**
|
|
36
35
|
* Creates and returns a fully initialized RuntimeState with all domains
|
|
37
36
|
* set to their default initial values.
|
|
@@ -44,7 +43,7 @@ export function createInitialRuntimeState() {
|
|
|
44
43
|
model: createInitialModelState(),
|
|
45
44
|
conversation: createInitialConversationState(),
|
|
46
45
|
overlays: createInitialOverlaysState(),
|
|
47
|
-
panels:
|
|
46
|
+
panels: {},
|
|
48
47
|
permissions: createInitialPermissionsState(),
|
|
49
48
|
tasks: createInitialTasksState(),
|
|
50
49
|
agents: createInitialAgentsState(),
|
|
@@ -66,6 +65,6 @@ export function createInitialRuntimeState() {
|
|
|
66
65
|
git: createInitialGitState(),
|
|
67
66
|
discovery: createInitialDiscoveryState(),
|
|
68
67
|
intelligence: createInitialIntelligenceState(),
|
|
69
|
-
|
|
68
|
+
surfacePerf: createInitialSurfacePerfState(),
|
|
70
69
|
};
|
|
71
70
|
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Host-neutral system-message routing policy helpers.
|
|
3
|
+
*
|
|
4
|
+
* These helpers decide message kind, default targets, and delivery shape.
|
|
5
|
+
* Actual wiring into conversations, panels, or other host surfaces stays
|
|
6
|
+
* outside the SDK.
|
|
7
|
+
*/
|
|
8
|
+
export type SystemMessagePriorityLevel = 'high' | 'low';
|
|
9
|
+
export type SystemMessageKind = 'system' | 'operational' | 'wrfc';
|
|
10
|
+
export type SystemMessageTarget = 'conversation' | 'panel' | 'both';
|
|
11
|
+
export declare function classifySystemMessagePriority(message: string): SystemMessagePriorityLevel;
|
|
12
|
+
export declare function defaultSystemMessageTarget(kind: SystemMessageKind): SystemMessageTarget;
|
|
13
|
+
export declare function classifySystemMessageKind(message: string): SystemMessageKind;
|
|
14
|
+
export declare function resolveSystemMessageDelivery(target: SystemMessageTarget, hasPanel: boolean): {
|
|
15
|
+
readonly toPanel: boolean;
|
|
16
|
+
readonly toConversation: boolean;
|
|
17
|
+
};
|
|
18
|
+
//# sourceMappingURL=system-message-policy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"system-message-policy.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/runtime/system-message-policy.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,MAAM,MAAM,0BAA0B,GAAG,MAAM,GAAG,KAAK,CAAC;AACxD,MAAM,MAAM,iBAAiB,GAAG,QAAQ,GAAG,aAAa,GAAG,MAAM,CAAC;AAClE,MAAM,MAAM,mBAAmB,GAAG,cAAc,GAAG,OAAO,GAAG,MAAM,CAAC;AAKpE,wBAAgB,6BAA6B,CAAC,OAAO,EAAE,MAAM,GAAG,0BAA0B,CAEzF;AAED,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,iBAAiB,GAAG,mBAAmB,CAGvF;AAED,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,MAAM,GAAG,iBAAiB,CAM5E;AAED,wBAAgB,4BAA4B,CAC1C,MAAM,EAAE,mBAAmB,EAC3B,QAAQ,EAAE,OAAO,GAChB;IAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAA;CAAE,CAUjE"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Host-neutral system-message routing policy helpers.
|
|
3
|
+
*
|
|
4
|
+
* These helpers decide message kind, default targets, and delivery shape.
|
|
5
|
+
* Actual wiring into conversations, panels, or other host surfaces stays
|
|
6
|
+
* outside the SDK.
|
|
7
|
+
*/
|
|
8
|
+
const HIGH_PRIORITY_RE = /\bfatal\b|\bcrash\w*|\bunhandled exception\b|\[Model\]|\[Provider\].*switch|\[Session\].*(?:saved|loaded|restored)|\[Compaction\]|\[Recovery\].*Failed/i;
|
|
9
|
+
export function classifySystemMessagePriority(message) {
|
|
10
|
+
return HIGH_PRIORITY_RE.test(message) ? 'high' : 'low';
|
|
11
|
+
}
|
|
12
|
+
export function defaultSystemMessageTarget(kind) {
|
|
13
|
+
if (kind === 'wrfc')
|
|
14
|
+
return 'both';
|
|
15
|
+
return 'panel';
|
|
16
|
+
}
|
|
17
|
+
export function classifySystemMessageKind(message) {
|
|
18
|
+
if (/^\[WRFC\]/i.test(message))
|
|
19
|
+
return 'wrfc';
|
|
20
|
+
if (/^\[(Scan|Local|Agents|MCP|Plugin|Hook|Tool|Exec|Remote|Bridge|Approval)\]/i.test(message)) {
|
|
21
|
+
return 'operational';
|
|
22
|
+
}
|
|
23
|
+
return 'system';
|
|
24
|
+
}
|
|
25
|
+
export function resolveSystemMessageDelivery(target, hasPanel) {
|
|
26
|
+
if (target === 'both') {
|
|
27
|
+
return { toPanel: hasPanel, toConversation: true };
|
|
28
|
+
}
|
|
29
|
+
if (target === 'conversation') {
|
|
30
|
+
return { toPanel: false, toConversation: true };
|
|
31
|
+
}
|
|
32
|
+
return hasPanel
|
|
33
|
+
? { toPanel: true, toConversation: false }
|
|
34
|
+
: { toPanel: false, toConversation: true };
|
|
35
|
+
}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
export declare const MIN_IMAGE_BYTES = 100;
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
3
|
+
* ClipboardWriteFunction - Type for surface-specific clipboard write implementations.
|
|
4
|
+
* Surfaces (e.g., TUI) inject their own implementation (e.g., OSC 52 for terminals).
|
|
4
5
|
*/
|
|
5
|
-
export
|
|
6
|
+
export type ClipboardWriteFunction = (text: string) => void;
|
|
6
7
|
/**
|
|
7
8
|
* pasteFromClipboard - Attempts to read from system clipboard using platform tools.
|
|
8
9
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clipboard.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/utils/clipboard.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,eAAe,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"clipboard.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/utils/clipboard.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,eAAe,MAAM,CAAC;AAEnC;;;GAGG;AACH,MAAM,MAAM,sBAAsB,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;AAS5D;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,CAqC3C;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,IAAI;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CA0EpF"}
|
|
@@ -7,23 +7,6 @@ const IMAGE_MIME_TYPES = [
|
|
|
7
7
|
{ mime: 'image/webp', mediaType: 'image/webp' },
|
|
8
8
|
{ mime: 'image/gif', mediaType: 'image/gif' },
|
|
9
9
|
];
|
|
10
|
-
/**
|
|
11
|
-
* copyToClipboard - Uses OSC 52 escape sequence to copy text.
|
|
12
|
-
*/
|
|
13
|
-
export function copyToClipboard(text) {
|
|
14
|
-
if (!text)
|
|
15
|
-
return;
|
|
16
|
-
logger.info('Clipboard: Attempting to copy via OSC 52', { length: text.length });
|
|
17
|
-
try {
|
|
18
|
-
const base64 = Buffer.from(text).toString('base64');
|
|
19
|
-
const sequence = `\x1b]52;c;${base64}\x07`;
|
|
20
|
-
process.stdout.write(sequence);
|
|
21
|
-
logger.info('Clipboard: OSC 52 sequence written');
|
|
22
|
-
}
|
|
23
|
-
catch (err) {
|
|
24
|
-
logger.error('Clipboard: OSC 52 copy failed', { error: summarizeError(err) });
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
10
|
/**
|
|
28
11
|
* pasteFromClipboard - Attempts to read from system clipboard using platform tools.
|
|
29
12
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"notify.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/utils/notify.ts"],"names":[],"mappings":"AAAA,qFAAqF;AAErF;;;;;;;GAOG;AACH,iFAAiF;AACjF,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAEnD;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"notify.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/utils/notify.ts"],"names":[],"mappings":"AAAA,qFAAqF;AAErF;;;;;;;GAOG;AACH,iFAAiF;AACjF,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAEnD;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,CA0BzF"}
|
|
@@ -12,7 +12,10 @@ export function escapeAppleScript(s) {
|
|
|
12
12
|
return s.replace(/\\/g, '\\\\').replace(/"/g, '\\"');
|
|
13
13
|
}
|
|
14
14
|
export function notifyCompletion(title, message, durationMs) {
|
|
15
|
-
// Terminal bell for responses > 5s
|
|
15
|
+
// Terminal bell for responses > 5s.
|
|
16
|
+
// Surface-specific: this writes directly to stdout and is only meaningful
|
|
17
|
+
// in a terminal context. Host surfaces that manage their own output stream
|
|
18
|
+
// should inject this behaviour via a callback rather than calling it here.
|
|
16
19
|
if (durationMs > 5000) {
|
|
17
20
|
process.stdout.write('\x07');
|
|
18
21
|
}
|
|
@@ -1,4 +1,17 @@
|
|
|
1
1
|
/** SDK-owned platform module. This implementation is maintained in goodvibes-sdk. */
|
|
2
|
+
/**
|
|
3
|
+
* Platform/surface classification for exports in this module:
|
|
4
|
+
*
|
|
5
|
+
* PLATFORM (safe for all surfaces):
|
|
6
|
+
* - getDisplayWidth — Unicode display-width calculation. Used by any surface
|
|
7
|
+
* that needs to measure text for layout purposes.
|
|
8
|
+
*
|
|
9
|
+
* SURFACE (terminal/TUI-specific):
|
|
10
|
+
* - center, truncateDisplay, padDisplayEnd, fitDisplay — Terminal column
|
|
11
|
+
* layout helpers that operate in cell widths. Not useful outside a terminal.
|
|
12
|
+
* - wrapText — Word-wrapping to a fixed column width.
|
|
13
|
+
* - interpolateColor — RGB hex interpolation for ANSI colour gradients.
|
|
14
|
+
*/
|
|
2
15
|
/**
|
|
3
16
|
* Calculates the visual width of a string in the terminal.
|
|
4
17
|
* Handles CJK characters, emoji (including ZWJ sequences), and
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"terminal-width.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/utils/terminal-width.ts"],"names":[],"mappings":"AAAA,qFAAqF;AAErF;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAuFpD;AAED,wBAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAK1D;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,SAAM,GAAG,MAAM,CAenF;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAIjE;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,SAAM,GAAG,MAAM,CAE9E;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAkD9D;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAazF"}
|
|
1
|
+
{"version":3,"file":"terminal-width.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/utils/terminal-width.ts"],"names":[],"mappings":"AAAA,qFAAqF;AAErF;;;;;;;;;;;;GAYG;AAEH;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAuFpD;AAED,wBAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAK1D;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,SAAM,GAAG,MAAM,CAenF;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAIjE;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,SAAM,GAAG,MAAM,CAE9E;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAkD9D;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAazF"}
|
|
@@ -1,4 +1,17 @@
|
|
|
1
1
|
/** SDK-owned platform module. This implementation is maintained in goodvibes-sdk. */
|
|
2
|
+
/**
|
|
3
|
+
* Platform/surface classification for exports in this module:
|
|
4
|
+
*
|
|
5
|
+
* PLATFORM (safe for all surfaces):
|
|
6
|
+
* - getDisplayWidth — Unicode display-width calculation. Used by any surface
|
|
7
|
+
* that needs to measure text for layout purposes.
|
|
8
|
+
*
|
|
9
|
+
* SURFACE (terminal/TUI-specific):
|
|
10
|
+
* - center, truncateDisplay, padDisplayEnd, fitDisplay — Terminal column
|
|
11
|
+
* layout helpers that operate in cell widths. Not useful outside a terminal.
|
|
12
|
+
* - wrapText — Word-wrapping to a fixed column width.
|
|
13
|
+
* - interpolateColor — RGB hex interpolation for ANSI colour gradients.
|
|
14
|
+
*/
|
|
2
15
|
/**
|
|
3
16
|
* Calculates the visual width of a string in the terminal.
|
|
4
17
|
* Handles CJK characters, emoji (including ZWJ sequences), and
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { readFileSync } from 'node:fs';
|
|
2
2
|
import { join } from 'node:path';
|
|
3
|
-
let version = '0.18.
|
|
3
|
+
let version = '0.18.30';
|
|
4
4
|
try {
|
|
5
5
|
const pkg = JSON.parse(readFileSync(join(import.meta.dir, '..', '..', 'package.json'), 'utf-8'));
|
|
6
6
|
version = pkg.version ?? version;
|
package/package.json
CHANGED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { type Line } from '../types/grid.js';
|
|
2
|
-
/**
|
|
3
|
-
* InfiniteBuffer - Manages the complete conversation history as a list of lines.
|
|
4
|
-
*/
|
|
5
|
-
export declare class InfiniteBuffer {
|
|
6
|
-
private lines;
|
|
7
|
-
addLine(line: Line): void;
|
|
8
|
-
addLines(lines: Line[]): void;
|
|
9
|
-
getLineCount(): number;
|
|
10
|
-
/**
|
|
11
|
-
* getAllLines - Provides access to the full raw line list.
|
|
12
|
-
*/
|
|
13
|
-
getAllLines(): Line[];
|
|
14
|
-
/**
|
|
15
|
-
* Takes a snapshot of the buffer for a specific viewport window.
|
|
16
|
-
*/
|
|
17
|
-
getSnapshot(startLine: number, height: number, width: number): Line[];
|
|
18
|
-
clear(): void;
|
|
19
|
-
/** Truncate the buffer to the given line count (remove all lines from lineIndex onward). */
|
|
20
|
-
truncateToLine(lineIndex: number): void;
|
|
21
|
-
}
|
|
22
|
-
//# sourceMappingURL=history.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"history.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/core/history.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,IAAI,EAAmB,MAAM,kBAAkB,CAAC;AAE9D;;GAEG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,KAAK,CAAc;IAEpB,OAAO,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI;IAIzB,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,IAAI;IAI7B,YAAY,IAAI,MAAM;IAI7B;;OAEG;IACI,WAAW,IAAI,IAAI,EAAE;IAI5B;;OAEG;IACI,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,EAAE;IAYrE,KAAK,IAAI,IAAI;IAIpB,4FAA4F;IACrF,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;CAK/C"}
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
import { createEmptyLine } from '../types/grid.js';
|
|
2
|
-
/**
|
|
3
|
-
* InfiniteBuffer - Manages the complete conversation history as a list of lines.
|
|
4
|
-
*/
|
|
5
|
-
export class InfiniteBuffer {
|
|
6
|
-
lines = [];
|
|
7
|
-
addLine(line) {
|
|
8
|
-
this.lines.push(line);
|
|
9
|
-
}
|
|
10
|
-
addLines(lines) {
|
|
11
|
-
this.lines.push(...lines);
|
|
12
|
-
}
|
|
13
|
-
getLineCount() {
|
|
14
|
-
return this.lines.length;
|
|
15
|
-
}
|
|
16
|
-
/**
|
|
17
|
-
* getAllLines - Provides access to the full raw line list.
|
|
18
|
-
*/
|
|
19
|
-
getAllLines() {
|
|
20
|
-
return this.lines;
|
|
21
|
-
}
|
|
22
|
-
/**
|
|
23
|
-
* Takes a snapshot of the buffer for a specific viewport window.
|
|
24
|
-
*/
|
|
25
|
-
getSnapshot(startLine, height, width) {
|
|
26
|
-
const end = Math.min(this.lines.length, startLine + height);
|
|
27
|
-
const slice = this.lines.slice(startLine, end);
|
|
28
|
-
// Bottom-anchor logic: prepend empty space
|
|
29
|
-
while (slice.length < height) {
|
|
30
|
-
slice.unshift(createEmptyLine(width));
|
|
31
|
-
}
|
|
32
|
-
return slice;
|
|
33
|
-
}
|
|
34
|
-
clear() {
|
|
35
|
-
this.lines = [];
|
|
36
|
-
}
|
|
37
|
-
/** Truncate the buffer to the given line count (remove all lines from lineIndex onward). */
|
|
38
|
-
truncateToLine(lineIndex) {
|
|
39
|
-
if (lineIndex >= 0 && lineIndex < this.lines.length) {
|
|
40
|
-
this.lines.length = lineIndex;
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Cell - The atomic unit of the terminal surface grid.
|
|
3
|
-
*/
|
|
4
|
-
export interface Cell {
|
|
5
|
-
char: string;
|
|
6
|
-
fg: string;
|
|
7
|
-
bg: string;
|
|
8
|
-
bold: boolean;
|
|
9
|
-
dim: boolean;
|
|
10
|
-
underline: boolean;
|
|
11
|
-
italic: boolean;
|
|
12
|
-
strikethrough: boolean;
|
|
13
|
-
/** OSC 8 hyperlink URL. If set, the DiffEngine wraps this cell with OSC 8 sequences. */
|
|
14
|
-
link?: string;
|
|
15
|
-
}
|
|
16
|
-
/**
|
|
17
|
-
* Line - A single horizontal row of Cells.
|
|
18
|
-
*/
|
|
19
|
-
export type Line = Cell[];
|
|
20
|
-
export declare const createEmptyCell: () => Cell;
|
|
21
|
-
export declare const createEmptyLine: (width: number) => Line;
|
|
22
|
-
/**
|
|
23
|
-
* createStyledCell - Create a Cell with all defaults, applying only the provided overrides.
|
|
24
|
-
* Eliminates the need to write out all 8 Cell properties at every call site.
|
|
25
|
-
*/
|
|
26
|
-
export declare const createStyledCell: (char: string, overrides?: Partial<Omit<Cell, "char">>) => Cell;
|
|
27
|
-
//# sourceMappingURL=grid.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"grid.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/types/grid.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,IAAI;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,OAAO,CAAC;IACd,GAAG,EAAE,OAAO,CAAC;IACb,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,EAAE,OAAO,CAAC;IAChB,aAAa,EAAE,OAAO,CAAC;IACvB,wFAAwF;IACxF,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,MAAM,IAAI,GAAG,IAAI,EAAE,CAAC;AAE1B,eAAO,MAAM,eAAe,QAAO,IASjC,CAAC;AAEH,eAAO,MAAM,eAAe,GAAI,OAAO,MAAM,KAAG,IACA,CAAC;AAEjD;;;GAGG;AACH,eAAO,MAAM,gBAAgB,GAAI,MAAM,MAAM,EAAE,YAAW,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAM,KAAG,IAU3F,CAAC"}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
export const createEmptyCell = () => ({
|
|
2
|
-
char: ' ',
|
|
3
|
-
fg: '',
|
|
4
|
-
bg: '',
|
|
5
|
-
bold: false,
|
|
6
|
-
dim: false,
|
|
7
|
-
underline: false,
|
|
8
|
-
italic: false,
|
|
9
|
-
strikethrough: false
|
|
10
|
-
});
|
|
11
|
-
export const createEmptyLine = (width) => Array.from({ length: width }, createEmptyCell);
|
|
12
|
-
/**
|
|
13
|
-
* createStyledCell - Create a Cell with all defaults, applying only the provided overrides.
|
|
14
|
-
* Eliminates the need to write out all 8 Cell properties at every call site.
|
|
15
|
-
*/
|
|
16
|
-
export const createStyledCell = (char, overrides = {}) => ({
|
|
17
|
-
char,
|
|
18
|
-
fg: overrides.fg ?? '',
|
|
19
|
-
bg: overrides.bg ?? '',
|
|
20
|
-
bold: overrides.bold ?? false,
|
|
21
|
-
dim: overrides.dim ?? false,
|
|
22
|
-
underline: overrides.underline ?? false,
|
|
23
|
-
italic: overrides.italic ?? false,
|
|
24
|
-
strikethrough: overrides.strikethrough ?? false,
|
|
25
|
-
link: overrides.link,
|
|
26
|
-
});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"splash-lines.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/utils/splash-lines.ts"],"names":[],"mappings":"AAwBA,MAAM,WAAW,aAAa;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,GAAE,aAAkB,GAAG,MAAM,EAAE,CAclF"}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import { center, getDisplayWidth } from '@pellux/goodvibes-sdk/platform/utils/terminal-width';
|
|
2
|
-
import { VERSION } from '../version.js';
|
|
3
|
-
const ART_LINES = [
|
|
4
|
-
' ██████╗ ██████╗ ██████╗ ██████╗ ██╗ ██╗ ██╗ ██████╗ ███████╗ ███████╗',
|
|
5
|
-
'██╔════╝ ██╔═══██╗ ██╔═══██╗ ██╔══██╗ ██║ ██║ ██║ ██╔══██╗ ██╔════╝ ██╔════╝',
|
|
6
|
-
'██║ ███╗ ██║ ██║ ██║ ██║ ██║ ██║ ██║ ██║ ██║ ██████╔╝ █████╗ ███████╗',
|
|
7
|
-
'██║ ██║ ██║ ██║ ██║ ██║ ██║ ██║ ╚██╗ ██╔╝ ██║ ██╔══██╗ ██╔══╝ ╚════██║',
|
|
8
|
-
'╚██████╔╝ ╚██████╔╝ ╚██████╔╝ ██████╔╝ ╚████╔╝ ██║ ██████╔╝ ███████╗ ███████║',
|
|
9
|
-
' ╚═════╝ ╚═════╝ ╚═════╝ ╚═════╝ ╚═══╝ ╚═╝ ╚═════╝ ╚══════╝ ╚══════╝',
|
|
10
|
-
];
|
|
11
|
-
const ART_W = Math.max(...ART_LINES.map((line) => getDisplayWidth(line)));
|
|
12
|
-
const TOP_BORDER = '━'.repeat(ART_W);
|
|
13
|
-
const SEPARATOR = '━'.repeat(ART_W);
|
|
14
|
-
/**
|
|
15
|
-
* Audit Fix: Full-width English characters for vaporwave aesthetic.
|
|
16
|
-
* good vibes ・ A I ・ いい雰囲気
|
|
17
|
-
*/
|
|
18
|
-
const TAGLINE = '[ good vibes ・ A I ・ いい雰囲気 ]';
|
|
19
|
-
const VERSION_LINE = ` ✦ v${VERSION} █ terminal AI assistant █ 自動コード ✦`;
|
|
20
|
-
export function getSplashLines(columns, opts = {}) {
|
|
21
|
-
const splashHint = 'start chatting or type /help for commands';
|
|
22
|
-
const lines = [
|
|
23
|
-
center(TOP_BORDER, columns),
|
|
24
|
-
...ART_LINES.map((line) => center(line, columns)),
|
|
25
|
-
center(SEPARATOR, columns),
|
|
26
|
-
center(TAGLINE, columns),
|
|
27
|
-
center(VERSION_LINE, columns),
|
|
28
|
-
'',
|
|
29
|
-
];
|
|
30
|
-
lines.push(center(splashHint, columns));
|
|
31
|
-
return lines;
|
|
32
|
-
}
|