@dexto/tui 1.6.16 → 1.6.18
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/InkCLIRefactored.d.ts +3 -3
- package/dist/InkCLIRefactored.d.ts.map +1 -1
- package/dist/agent-backend.cjs +118 -0
- package/dist/agent-backend.d.ts +82 -0
- package/dist/agent-backend.d.ts.map +1 -0
- package/dist/agent-backend.js +86 -0
- package/dist/agent-backend.test.cjs +28 -0
- package/dist/agent-backend.test.d.ts +2 -0
- package/dist/agent-backend.test.d.ts.map +1 -0
- package/dist/agent-backend.test.js +29 -0
- package/dist/components/Footer.cjs +5 -0
- package/dist/components/Footer.d.ts +3 -2
- package/dist/components/Footer.d.ts.map +1 -1
- package/dist/components/Footer.js +5 -0
- package/dist/components/ResourceAutocomplete.cjs +8 -0
- package/dist/components/ResourceAutocomplete.d.ts +2 -2
- package/dist/components/ResourceAutocomplete.d.ts.map +1 -1
- package/dist/components/ResourceAutocomplete.js +8 -0
- package/dist/components/SlashCommandAutocomplete.cjs +4 -4
- package/dist/components/SlashCommandAutocomplete.d.ts +2 -2
- package/dist/components/SlashCommandAutocomplete.d.ts.map +1 -1
- package/dist/components/SlashCommandAutocomplete.js +5 -5
- package/dist/components/StatusBar.d.ts +2 -2
- package/dist/components/StatusBar.d.ts.map +1 -1
- package/dist/components/modes/AlternateBufferCLI.d.ts +2 -2
- package/dist/components/modes/AlternateBufferCLI.d.ts.map +1 -1
- package/dist/components/modes/StaticCLI.d.ts +2 -2
- package/dist/components/modes/StaticCLI.d.ts.map +1 -1
- package/dist/components/overlays/ContextStatsOverlay.d.ts +2 -2
- package/dist/components/overlays/ContextStatsOverlay.d.ts.map +1 -1
- package/dist/components/overlays/ExportWizard.d.ts +2 -2
- package/dist/components/overlays/ExportWizard.d.ts.map +1 -1
- package/dist/components/overlays/LogLevelSelector.d.ts +2 -2
- package/dist/components/overlays/LogLevelSelector.d.ts.map +1 -1
- package/dist/components/overlays/McpRemoveSelector.d.ts +2 -2
- package/dist/components/overlays/McpRemoveSelector.d.ts.map +1 -1
- package/dist/components/overlays/McpServerList.d.ts +3 -2
- package/dist/components/overlays/McpServerList.d.ts.map +1 -1
- package/dist/components/overlays/ModelSelectorRefactored.d.ts +3 -2
- package/dist/components/overlays/ModelSelectorRefactored.d.ts.map +1 -1
- package/dist/components/overlays/PromptDeleteSelector.d.ts +3 -2
- package/dist/components/overlays/PromptDeleteSelector.d.ts.map +1 -1
- package/dist/components/overlays/PromptList.d.ts +3 -2
- package/dist/components/overlays/PromptList.d.ts.map +1 -1
- package/dist/components/overlays/ReasoningOverlay.d.ts +2 -2
- package/dist/components/overlays/ReasoningOverlay.d.ts.map +1 -1
- package/dist/components/overlays/SearchOverlay.d.ts +2 -2
- package/dist/components/overlays/SearchOverlay.d.ts.map +1 -1
- package/dist/components/overlays/SessionSelectorRefactored.d.ts +2 -2
- package/dist/components/overlays/SessionSelectorRefactored.d.ts.map +1 -1
- package/dist/components/overlays/ToolBrowser.d.ts +2 -2
- package/dist/components/overlays/ToolBrowser.d.ts.map +1 -1
- package/dist/containers/InputContainer.cjs +8 -4
- package/dist/containers/InputContainer.d.ts +3 -2
- package/dist/containers/InputContainer.d.ts.map +1 -1
- package/dist/containers/InputContainer.js +12 -4
- package/dist/containers/OverlayContainer.cjs +1 -1
- package/dist/containers/OverlayContainer.d.ts +2 -2
- package/dist/containers/OverlayContainer.d.ts.map +1 -1
- package/dist/containers/OverlayContainer.js +1 -1
- package/dist/hooks/useAgentEvents.d.ts +3 -2
- package/dist/hooks/useAgentEvents.d.ts.map +1 -1
- package/dist/hooks/useCLIState.d.ts +4 -3
- package/dist/hooks/useCLIState.d.ts.map +1 -1
- package/dist/hooks/useCLIState.js +1 -4
- package/dist/hooks/useInputOrchestrator.d.ts +3 -2
- package/dist/hooks/useInputOrchestrator.d.ts.map +1 -1
- package/dist/hooks/useKeyboardShortcuts.d.ts +2 -2
- package/dist/hooks/useKeyboardShortcuts.d.ts.map +1 -1
- package/dist/hooks/useTokenCounter.d.ts +2 -2
- package/dist/hooks/useTokenCounter.d.ts.map +1 -1
- package/dist/host/index.d.ts +7 -3
- package/dist/host/index.d.ts.map +1 -1
- package/dist/index.cjs +7 -0
- package/dist/index.d.cts +243 -5
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -0
- package/dist/interactive-commands/command-parser.d.ts +2 -2
- package/dist/interactive-commands/command-parser.d.ts.map +1 -1
- package/dist/interactive-commands/commands.cjs +27 -16
- package/dist/interactive-commands/commands.d.ts +3 -2
- package/dist/interactive-commands/commands.d.ts.map +1 -1
- package/dist/interactive-commands/commands.js +29 -15
- package/dist/interactive-commands/commands.test.cjs +28 -0
- package/dist/interactive-commands/commands.test.d.ts +2 -0
- package/dist/interactive-commands/commands.test.d.ts.map +1 -0
- package/dist/interactive-commands/commands.test.js +27 -0
- package/dist/interactive-commands/documentation-commands.d.ts.map +1 -1
- package/dist/interactive-commands/general-commands.cjs +3 -3
- package/dist/interactive-commands/general-commands.d.ts +2 -1
- package/dist/interactive-commands/general-commands.d.ts.map +1 -1
- package/dist/interactive-commands/general-commands.js +3 -3
- package/dist/interactive-commands/prompt-commands.d.ts +2 -2
- package/dist/interactive-commands/prompt-commands.d.ts.map +1 -1
- package/dist/interactive-commands/session/session-commands.d.ts.map +1 -1
- package/dist/interactive-commands/system/system-commands.d.ts.map +1 -1
- package/dist/interactive-commands/tool-commands.d.ts.map +1 -1
- package/dist/services/CommandService.d.ts +2 -2
- package/dist/services/CommandService.d.ts.map +1 -1
- package/dist/utils/commandOverlays.cjs +5 -1
- package/dist/utils/commandOverlays.d.ts +2 -1
- package/dist/utils/commandOverlays.d.ts.map +1 -1
- package/dist/utils/commandOverlays.js +5 -1
- package/dist/utils/messageFormatting.cjs +12 -0
- package/dist/utils/messageFormatting.d.ts +3 -2
- package/dist/utils/messageFormatting.d.ts.map +1 -1
- package/dist/utils/messageFormatting.js +12 -0
- package/package.json +4 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useInputOrchestrator.d.ts","sourceRoot":"","sources":["../../src/hooks/useInputOrchestrator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,YAAY,EAAe,OAAO,EAAE,MAAM,mBAAmB,CAAC;AACjG,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AACvE,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"useInputOrchestrator.d.ts","sourceRoot":"","sources":["../../src/hooks/useInputOrchestrator.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,13 +3,13 @@
|
|
|
3
3
|
* Handles shortcuts like Ctrl+C (with double-press to exit), Escape, etc.
|
|
4
4
|
*/
|
|
5
5
|
import type React from 'react';
|
|
6
|
-
import type { DextoAgent } from '@dexto/core';
|
|
7
6
|
import type { CLIAction } from '../state/actions.js';
|
|
8
7
|
import type { CLIState } from '../state/types.js';
|
|
8
|
+
import type { TuiAgentBackend } from '../agent-backend.js';
|
|
9
9
|
interface UseKeyboardShortcutsProps {
|
|
10
10
|
state: CLIState;
|
|
11
11
|
dispatch: React.Dispatch<CLIAction>;
|
|
12
|
-
agent:
|
|
12
|
+
agent: TuiAgentBackend;
|
|
13
13
|
}
|
|
14
14
|
/**
|
|
15
15
|
* Manages global keyboard shortcuts
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useKeyboardShortcuts.d.ts","sourceRoot":"","sources":["../../src/hooks/useKeyboardShortcuts.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"useKeyboardShortcuts.d.ts","sourceRoot":"","sources":["../../src/hooks/useKeyboardShortcuts.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAE3D,UAAU,yBAAyB;IAC/B,KAAK,EAAE,QAAQ,CAAC;IAChB,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IACpC,KAAK,EAAE,eAAe,CAAC;CAC1B;AAKD;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,yBAAyB,GAAG,IAAI,CA4EhG"}
|
|
@@ -14,10 +14,10 @@
|
|
|
14
14
|
* For queued messages: Tokens continue accumulating (same turn)
|
|
15
15
|
* Reset only when isActive transitions false→true (new turn)
|
|
16
16
|
*/
|
|
17
|
-
import type {
|
|
17
|
+
import type { TuiAgentBackend } from '../agent-backend.js';
|
|
18
18
|
export interface TokenCounterOptions {
|
|
19
19
|
/** DextoAgent instance for event bus access */
|
|
20
|
-
agent:
|
|
20
|
+
agent: TuiAgentBackend;
|
|
21
21
|
/** Whether counting is active (should only run during processing) */
|
|
22
22
|
isActive: boolean;
|
|
23
23
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useTokenCounter.d.ts","sourceRoot":"","sources":["../../src/hooks/useTokenCounter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAGH,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"useTokenCounter.d.ts","sourceRoot":"","sources":["../../src/hooks/useTokenCounter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAGH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAE3D,MAAM,WAAW,mBAAmB;IAChC,+CAA+C;IAC/C,KAAK,EAAE,eAAe,CAAC;IACvB,qEAAqE;IACrE,QAAQ,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,kBAAkB;IAC/B,yDAAyD;IACzD,iBAAiB,EAAE,MAAM,CAAC;IAC1B,qDAAqD;IACrD,sBAAsB,EAAE,MAAM,CAAC;IAC/B,yDAAyD;IACzD,YAAY,EAAE,MAAM,CAAC;IACrB,yDAAyD;IACzD,gBAAgB,EAAE,OAAO,CAAC;IAC1B,qEAAqE;IACrE,SAAS,EAAE,MAAM,CAAC;CACrB;AAsBD;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,mBAAmB,GAAG,kBAAkB,CA6F5F"}
|
package/dist/host/index.d.ts
CHANGED
|
@@ -1,4 +1,8 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { LLMProvider } from '@dexto/core';
|
|
2
|
+
import type { TuiAgentBackend } from '../agent-backend.js';
|
|
3
|
+
export interface TuiShutdownHandle {
|
|
4
|
+
stop?: (() => Promise<void>) | undefined;
|
|
5
|
+
}
|
|
2
6
|
export interface TuiAuthConfig {
|
|
3
7
|
token?: string | undefined;
|
|
4
8
|
refreshToken?: string | undefined;
|
|
@@ -38,7 +42,7 @@ export interface TuiPersistedLoginResult {
|
|
|
38
42
|
hasDextoApiKey: boolean;
|
|
39
43
|
}
|
|
40
44
|
export interface TuiRuntimeServices {
|
|
41
|
-
registerGracefulShutdown?: (getAgent: () =>
|
|
45
|
+
registerGracefulShutdown?: (getAgent: () => TuiShutdownHandle, options: {
|
|
42
46
|
inkMode: boolean;
|
|
43
47
|
}) => void;
|
|
44
48
|
capture?: (event: string, properties?: Record<string, unknown>) => void;
|
|
@@ -77,7 +81,7 @@ export interface TuiRuntimeServices {
|
|
|
77
81
|
}
|
|
78
82
|
export declare function setTuiRuntimeServices(adapter: TuiRuntimeServices): void;
|
|
79
83
|
export declare function getTuiRuntimeServices(): TuiRuntimeServices;
|
|
80
|
-
export declare function registerGracefulShutdown(getAgent: () =>
|
|
84
|
+
export declare function registerGracefulShutdown(getAgent: () => TuiAgentBackend, options: {
|
|
81
85
|
inkMode: boolean;
|
|
82
86
|
}): void;
|
|
83
87
|
export declare function captureAnalytics(event: string, properties?: Record<string, unknown>): void;
|
package/dist/host/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/host/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/host/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.cjs
CHANGED
|
@@ -19,15 +19,22 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
19
19
|
var index_exports = {};
|
|
20
20
|
__export(index_exports, {
|
|
21
21
|
InkCLIRefactored: () => import_InkCLIRefactored.InkCLIRefactored,
|
|
22
|
+
getTuiCapabilities: () => import_agent_backend.getTuiCapabilities,
|
|
23
|
+
isCommandDefinitionSupported: () => import_agent_backend.isCommandDefinitionSupported,
|
|
24
|
+
isCommandSupported: () => import_agent_backend.isCommandSupported,
|
|
22
25
|
setTuiRuntimeServices: () => import_host.setTuiRuntimeServices,
|
|
23
26
|
startInkCliRefactored: () => import_InkCLIRefactored.startInkCliRefactored
|
|
24
27
|
});
|
|
25
28
|
module.exports = __toCommonJS(index_exports);
|
|
26
29
|
var import_InkCLIRefactored = require("./InkCLIRefactored.js");
|
|
30
|
+
var import_agent_backend = require("./agent-backend.js");
|
|
27
31
|
var import_host = require("./host/index.js");
|
|
28
32
|
// Annotate the CommonJS export names for ESM import in node:
|
|
29
33
|
0 && (module.exports = {
|
|
30
34
|
InkCLIRefactored,
|
|
35
|
+
getTuiCapabilities,
|
|
36
|
+
isCommandDefinitionSupported,
|
|
37
|
+
isCommandSupported,
|
|
31
38
|
setTuiRuntimeServices,
|
|
32
39
|
startInkCliRefactored
|
|
33
40
|
});
|
package/dist/index.d.cts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
-
import { DextoAgent, LLMProvider } from '@dexto/core';
|
|
2
|
+
import { DextoAgent, AgentEventMap, SessionMetadata, LLMProvider } from '@dexto/core';
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* Core state types for Ink CLI
|
|
@@ -30,6 +30,241 @@ interface StartupInfo {
|
|
|
30
30
|
/** True if installed agents differ from bundled and user should sync */
|
|
31
31
|
needsAgentSync?: boolean | undefined;
|
|
32
32
|
}
|
|
33
|
+
/**
|
|
34
|
+
* Styled message types for rich command output
|
|
35
|
+
*/
|
|
36
|
+
type StyledMessageType = 'config' | 'stats' | 'help' | 'session-list' | 'session-history' | 'log-config' | 'run-summary' | 'prompts' | 'sysprompt' | 'shortcuts' | 'external-trigger';
|
|
37
|
+
/**
|
|
38
|
+
* Structured data for styled messages
|
|
39
|
+
*/
|
|
40
|
+
interface ConfigStyledData {
|
|
41
|
+
configFilePath: string | null;
|
|
42
|
+
provider: string;
|
|
43
|
+
model: string;
|
|
44
|
+
maxTokens: number | null;
|
|
45
|
+
temperature: number | null;
|
|
46
|
+
permissionsMode: string;
|
|
47
|
+
maxSessions: string;
|
|
48
|
+
sessionTTL: string;
|
|
49
|
+
mcpServers: string[];
|
|
50
|
+
promptsCount: number;
|
|
51
|
+
hooksEnabled: string[];
|
|
52
|
+
}
|
|
53
|
+
interface StatsStyledData {
|
|
54
|
+
sessions: {
|
|
55
|
+
total: number;
|
|
56
|
+
inMemory: number;
|
|
57
|
+
maxAllowed: number;
|
|
58
|
+
};
|
|
59
|
+
mcp: {
|
|
60
|
+
connected: number;
|
|
61
|
+
failed: number;
|
|
62
|
+
toolCount: number;
|
|
63
|
+
};
|
|
64
|
+
tokenUsage?: {
|
|
65
|
+
inputTokens: number;
|
|
66
|
+
outputTokens: number;
|
|
67
|
+
reasoningTokens: number;
|
|
68
|
+
cacheReadTokens: number;
|
|
69
|
+
cacheWriteTokens: number;
|
|
70
|
+
totalTokens: number;
|
|
71
|
+
};
|
|
72
|
+
estimatedCost?: number;
|
|
73
|
+
}
|
|
74
|
+
interface HelpStyledData {
|
|
75
|
+
commands: Array<{
|
|
76
|
+
name: string;
|
|
77
|
+
description: string;
|
|
78
|
+
category: string;
|
|
79
|
+
}>;
|
|
80
|
+
}
|
|
81
|
+
interface SessionListStyledData {
|
|
82
|
+
sessions: Array<{
|
|
83
|
+
id: string;
|
|
84
|
+
messageCount: number;
|
|
85
|
+
lastActive: string;
|
|
86
|
+
isCurrent: boolean;
|
|
87
|
+
}>;
|
|
88
|
+
total: number;
|
|
89
|
+
}
|
|
90
|
+
interface SessionHistoryStyledData {
|
|
91
|
+
sessionId: string;
|
|
92
|
+
messages: Array<{
|
|
93
|
+
role: string;
|
|
94
|
+
content: string;
|
|
95
|
+
timestamp: string;
|
|
96
|
+
}>;
|
|
97
|
+
total: number;
|
|
98
|
+
}
|
|
99
|
+
interface LogConfigStyledData {
|
|
100
|
+
currentLevel: string;
|
|
101
|
+
logFile: string | null;
|
|
102
|
+
availableLevels: string[];
|
|
103
|
+
}
|
|
104
|
+
interface RunSummaryStyledData {
|
|
105
|
+
/** Duration in milliseconds */
|
|
106
|
+
durationMs: number;
|
|
107
|
+
/** Total tokens used (lastInput + cumulativeOutput) */
|
|
108
|
+
totalTokens: number;
|
|
109
|
+
}
|
|
110
|
+
interface ExternalTriggerStyledData {
|
|
111
|
+
label: string;
|
|
112
|
+
source: 'scheduler' | 'a2a' | 'api' | 'external';
|
|
113
|
+
timestamp: Date | string;
|
|
114
|
+
}
|
|
115
|
+
interface PromptsStyledData {
|
|
116
|
+
mcpPrompts: Array<{
|
|
117
|
+
name: string;
|
|
118
|
+
title?: string;
|
|
119
|
+
description?: string;
|
|
120
|
+
args?: string[];
|
|
121
|
+
}>;
|
|
122
|
+
configPrompts: Array<{
|
|
123
|
+
name: string;
|
|
124
|
+
title?: string;
|
|
125
|
+
description?: string;
|
|
126
|
+
}>;
|
|
127
|
+
customPrompts: Array<{
|
|
128
|
+
name: string;
|
|
129
|
+
title?: string;
|
|
130
|
+
description?: string;
|
|
131
|
+
}>;
|
|
132
|
+
total: number;
|
|
133
|
+
}
|
|
134
|
+
interface SysPromptStyledData {
|
|
135
|
+
content: string;
|
|
136
|
+
}
|
|
137
|
+
interface ShortcutsStyledData {
|
|
138
|
+
categories: Array<{
|
|
139
|
+
name: string;
|
|
140
|
+
shortcuts: Array<{
|
|
141
|
+
keys: string;
|
|
142
|
+
description: string;
|
|
143
|
+
}>;
|
|
144
|
+
}>;
|
|
145
|
+
}
|
|
146
|
+
type StyledData = ConfigStyledData | StatsStyledData | HelpStyledData | SessionListStyledData | SessionHistoryStyledData | LogConfigStyledData | RunSummaryStyledData | ExternalTriggerStyledData | PromptsStyledData | SysPromptStyledData | ShortcutsStyledData;
|
|
147
|
+
|
|
148
|
+
/**
|
|
149
|
+
* Command execution service
|
|
150
|
+
* Handles command parsing and execution
|
|
151
|
+
*/
|
|
152
|
+
|
|
153
|
+
/**
|
|
154
|
+
* Styled output for command execution
|
|
155
|
+
*/
|
|
156
|
+
interface StyledOutput {
|
|
157
|
+
styledType: StyledMessageType;
|
|
158
|
+
styledData: StyledData;
|
|
159
|
+
fallbackText: string;
|
|
160
|
+
}
|
|
161
|
+
/**
|
|
162
|
+
* Marker object for commands that want to send a message through the normal stream flow
|
|
163
|
+
*/
|
|
164
|
+
interface SendMessageMarker {
|
|
165
|
+
__sendMessage: true;
|
|
166
|
+
text: string;
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
/**
|
|
170
|
+
* Command handler return type:
|
|
171
|
+
* - boolean: Command handled (true) or not found (false)
|
|
172
|
+
* - string: Output text to display
|
|
173
|
+
* - StyledOutput: Styled output with structured data for rich rendering
|
|
174
|
+
* - SendMessageMarker: Send text through normal streaming flow (for prompt commands)
|
|
175
|
+
*/
|
|
176
|
+
type CommandHandlerResult = boolean | string | StyledOutput | SendMessageMarker;
|
|
177
|
+
/**
|
|
178
|
+
* Context passed to command handlers
|
|
179
|
+
*/
|
|
180
|
+
interface CommandContext {
|
|
181
|
+
/** Current session ID, or null if no active session */
|
|
182
|
+
sessionId: string | null;
|
|
183
|
+
/** Source config file path for persistence and display (if available) */
|
|
184
|
+
configFilePath: string | null;
|
|
185
|
+
}
|
|
186
|
+
interface CommandDefinition {
|
|
187
|
+
name: string;
|
|
188
|
+
description: string;
|
|
189
|
+
usage: string;
|
|
190
|
+
category?: string;
|
|
191
|
+
aliases?: string[];
|
|
192
|
+
subcommands?: CommandDefinition[];
|
|
193
|
+
handler: (args: string[], agent: TuiAgentBackend, ctx: CommandContext) => Promise<CommandHandlerResult>;
|
|
194
|
+
}
|
|
195
|
+
|
|
196
|
+
interface TuiAgentCapabilities {
|
|
197
|
+
supportedCommands?: readonly string[];
|
|
198
|
+
prompts?: boolean;
|
|
199
|
+
resources?: boolean;
|
|
200
|
+
attachments?: boolean;
|
|
201
|
+
reasoningCycle?: boolean;
|
|
202
|
+
contextStats?: boolean;
|
|
203
|
+
startupInfo?: boolean;
|
|
204
|
+
}
|
|
205
|
+
type RootLogger = Pick<DextoAgent['logger'], 'debug' | 'info' | 'warn' | 'error' | 'getLevel' | 'getLogFilePath'>;
|
|
206
|
+
interface TuiSessionStats {
|
|
207
|
+
totalSessions: number;
|
|
208
|
+
inMemorySessions: number;
|
|
209
|
+
maxSessions: number;
|
|
210
|
+
}
|
|
211
|
+
interface TuiEffectiveConfig {
|
|
212
|
+
llm: {
|
|
213
|
+
provider: string;
|
|
214
|
+
model: string;
|
|
215
|
+
maxOutputTokens?: number | null | undefined;
|
|
216
|
+
temperature?: number | null | undefined;
|
|
217
|
+
};
|
|
218
|
+
permissions: {
|
|
219
|
+
mode: string;
|
|
220
|
+
};
|
|
221
|
+
sessions?: {
|
|
222
|
+
maxSessions?: number | undefined;
|
|
223
|
+
sessionTTL?: number | undefined;
|
|
224
|
+
} | undefined;
|
|
225
|
+
mcpServers?: Record<string, unknown> | undefined;
|
|
226
|
+
prompts?: unknown[] | undefined;
|
|
227
|
+
[key: string]: unknown;
|
|
228
|
+
}
|
|
229
|
+
interface TuiAgentBackend extends Pick<DextoAgent, 'stream' | 'stop' | 'run' | 'listSessions' | 'getSessionMetadata' | 'getSessionHistory' | 'getSessionTitle' | 'setSessionTitle' | 'generateSessionTitle' | 'forkSession' | 'getCurrentLLMConfig' | 'switchLLM' | 'getSupportedProviders' | 'getSupportedModels' | 'getContextStats' | 'clearContext' | 'compactContext' | 'queueMessage' | 'getQueuedMessages' | 'removeQueuedMessage' | 'clearMessageQueue' | 'cancel' | 'searchMessages' | 'listPrompts' | 'refreshPrompts' | 'resolvePrompt' | 'getSystemPrompt' | 'loadToolkits' | 'listResources' | 'setLogLevel' | 'getAllTools' | 'getEnabledTools' | 'getAllMcpTools' | 'setGlobalDisabledTools' | 'setSessionDisabledTools' | 'setSessionAutoApproveTools' | 'getSessionAutoApproveTools' | 'getMcpServersWithStatus' | 'addMcpServer' | 'enableMcpServer' | 'disableMcpServer' | 'removeMcpServer' | 'restartMcpServer' | 'getMcpClients' | 'getMcpFailedConnections'> {
|
|
230
|
+
createSession: (sessionId?: string) => Promise<{
|
|
231
|
+
id: string;
|
|
232
|
+
logger: Pick<RootLogger, 'getLevel' | 'getLogFilePath'>;
|
|
233
|
+
}>;
|
|
234
|
+
getSession: (sessionId: string) => Promise<{
|
|
235
|
+
id: string;
|
|
236
|
+
logger: Pick<RootLogger, 'getLevel' | 'getLogFilePath'>;
|
|
237
|
+
} | undefined>;
|
|
238
|
+
getEffectiveConfig: (sessionId?: string) => TuiEffectiveConfig;
|
|
239
|
+
on: <K extends keyof AgentEventMap>(event: K, listener: AgentEventMap[K] extends void ? () => void : (payload: AgentEventMap[K]) => void, options?: {
|
|
240
|
+
signal?: AbortSignal;
|
|
241
|
+
}) => void;
|
|
242
|
+
emit: <K extends keyof AgentEventMap>(event: K, ...args: AgentEventMap[K] extends void ? [] : [AgentEventMap[K]]) => boolean;
|
|
243
|
+
logger: RootLogger;
|
|
244
|
+
config: {
|
|
245
|
+
agentId: string;
|
|
246
|
+
};
|
|
247
|
+
sessionManager: {
|
|
248
|
+
getSessionMetadata: (sessionId: string) => Promise<SessionMetadata | undefined>;
|
|
249
|
+
getSessionStats: () => Promise<TuiSessionStats>;
|
|
250
|
+
};
|
|
251
|
+
mcpManager: {
|
|
252
|
+
getClients: () => Map<string, unknown>;
|
|
253
|
+
getFailedConnections: () => Record<string, unknown>;
|
|
254
|
+
};
|
|
255
|
+
toolManager: {
|
|
256
|
+
addSessionAutoApproveTools: (sessionId: string, toolNames: string[]) => void | Promise<void>;
|
|
257
|
+
};
|
|
258
|
+
services: {
|
|
259
|
+
hookManager: {
|
|
260
|
+
getHookNames: () => string[];
|
|
261
|
+
};
|
|
262
|
+
};
|
|
263
|
+
capabilities?: TuiAgentCapabilities;
|
|
264
|
+
}
|
|
265
|
+
declare function getTuiCapabilities(agent: TuiAgentBackend): TuiAgentCapabilities;
|
|
266
|
+
declare function isCommandSupported(agent: TuiAgentBackend, command: string, definition?: Pick<CommandDefinition, 'name' | 'aliases'>): boolean;
|
|
267
|
+
declare function isCommandDefinitionSupported(agent: TuiAgentBackend, definition: Pick<CommandDefinition, 'name' | 'aliases'>): boolean;
|
|
33
268
|
|
|
34
269
|
/**
|
|
35
270
|
* Sound configuration interface
|
|
@@ -78,7 +313,7 @@ declare class SoundNotificationService {
|
|
|
78
313
|
}
|
|
79
314
|
|
|
80
315
|
interface InkCLIProps {
|
|
81
|
-
agent:
|
|
316
|
+
agent: TuiAgentBackend;
|
|
82
317
|
initialSessionId: string | null;
|
|
83
318
|
initialPrompt?: string | undefined;
|
|
84
319
|
startupInfo: StartupInfo;
|
|
@@ -117,8 +352,11 @@ interface InkCLIOptions {
|
|
|
117
352
|
/**
|
|
118
353
|
* Start the modern Ink-based CLI
|
|
119
354
|
*/
|
|
120
|
-
declare function startInkCliRefactored(agent:
|
|
355
|
+
declare function startInkCliRefactored(agent: TuiAgentBackend, initialSessionId: string | null, options?: InkCLIOptions): Promise<void>;
|
|
121
356
|
|
|
357
|
+
interface TuiShutdownHandle {
|
|
358
|
+
stop?: (() => Promise<void>) | undefined;
|
|
359
|
+
}
|
|
122
360
|
interface TuiAuthConfig {
|
|
123
361
|
token?: string | undefined;
|
|
124
362
|
refreshToken?: string | undefined;
|
|
@@ -158,7 +396,7 @@ interface TuiPersistedLoginResult {
|
|
|
158
396
|
hasDextoApiKey: boolean;
|
|
159
397
|
}
|
|
160
398
|
interface TuiRuntimeServices {
|
|
161
|
-
registerGracefulShutdown?: (getAgent: () =>
|
|
399
|
+
registerGracefulShutdown?: (getAgent: () => TuiShutdownHandle, options: {
|
|
162
400
|
inkMode: boolean;
|
|
163
401
|
}) => void;
|
|
164
402
|
capture?: (event: string, properties?: Record<string, unknown>) => void;
|
|
@@ -197,4 +435,4 @@ interface TuiRuntimeServices {
|
|
|
197
435
|
}
|
|
198
436
|
declare function setTuiRuntimeServices(adapter: TuiRuntimeServices): void;
|
|
199
437
|
|
|
200
|
-
export { type InkCLIOptions, InkCLIRefactored, type TuiRuntimeServices, setTuiRuntimeServices, startInkCliRefactored };
|
|
438
|
+
export { type InkCLIOptions, InkCLIRefactored, type TuiAgentBackend, type TuiAgentCapabilities, type TuiRuntimeServices, getTuiCapabilities, isCommandDefinitionSupported, isCommandSupported, setTuiRuntimeServices, startInkCliRefactored };
|
package/dist/index.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
export { startInkCliRefactored, type InkCLIOptions, InkCLIRefactored } from './InkCLIRefactored.js';
|
|
2
|
+
export { type TuiAgentBackend, type TuiAgentCapabilities, getTuiCapabilities, isCommandSupported, isCommandDefinitionSupported, } from './agent-backend.js';
|
|
2
3
|
export { setTuiRuntimeServices, type TuiRuntimeServices } from './host/index.js';
|
|
3
4
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,KAAK,aAAa,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,KAAK,aAAa,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACpG,OAAO,EACH,KAAK,eAAe,EACpB,KAAK,oBAAoB,EACzB,kBAAkB,EAClB,kBAAkB,EAClB,4BAA4B,GAC/B,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,qBAAqB,EAAE,KAAK,kBAAkB,EAAE,MAAM,iBAAiB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,7 +1,15 @@
|
|
|
1
1
|
import { startInkCliRefactored, InkCLIRefactored } from "./InkCLIRefactored.js";
|
|
2
|
+
import {
|
|
3
|
+
getTuiCapabilities,
|
|
4
|
+
isCommandSupported,
|
|
5
|
+
isCommandDefinitionSupported
|
|
6
|
+
} from "./agent-backend.js";
|
|
2
7
|
import { setTuiRuntimeServices } from "./host/index.js";
|
|
3
8
|
export {
|
|
4
9
|
InkCLIRefactored,
|
|
10
|
+
getTuiCapabilities,
|
|
11
|
+
isCommandDefinitionSupported,
|
|
12
|
+
isCommandSupported,
|
|
5
13
|
setTuiRuntimeServices,
|
|
6
14
|
startInkCliRefactored
|
|
7
15
|
};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { DextoAgent } from '@dexto/core';
|
|
2
1
|
import type { StyledOutput, SendMessageMarker } from '../services/CommandService.js';
|
|
2
|
+
import type { TuiAgentBackend } from '../agent-backend.js';
|
|
3
3
|
export interface CommandResult {
|
|
4
4
|
type: 'command' | 'prompt';
|
|
5
5
|
command?: string;
|
|
@@ -30,7 +30,7 @@ export interface CommandDefinition {
|
|
|
30
30
|
category?: string;
|
|
31
31
|
aliases?: string[];
|
|
32
32
|
subcommands?: CommandDefinition[];
|
|
33
|
-
handler: (args: string[], agent:
|
|
33
|
+
handler: (args: string[], agent: TuiAgentBackend, ctx: CommandContext) => Promise<CommandHandlerResult>;
|
|
34
34
|
}
|
|
35
35
|
/**
|
|
36
36
|
* No-op handler for overlay-only commands.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command-parser.d.ts","sourceRoot":"","sources":["../../src/interactive-commands/command-parser.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"command-parser.d.ts","sourceRoot":"","sources":["../../src/interactive-commands/command-parser.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AACrF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAE3D,MAAM,WAAW,aAAa;IAC1B,IAAI,EAAE,SAAS,GAAG,QAAQ,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;GAMG;AACH,MAAM,MAAM,oBAAoB,GAAG,OAAO,GAAG,MAAM,GAAG,YAAY,GAAG,iBAAiB,CAAC;AAEvF;;GAEG;AACH,MAAM,WAAW,cAAc;IAC3B,uDAAuD;IACvD,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,yEAAyE;IACzE,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;CACjC;AAED,MAAM,WAAW,iBAAiB;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,WAAW,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAClC,OAAO,EAAE,CACL,IAAI,EAAE,MAAM,EAAE,EACd,KAAK,EAAE,eAAe,EACtB,GAAG,EAAE,cAAc,KAClB,OAAO,CAAC,oBAAoB,CAAC,CAAC;CACtC;AAED;;;GAGG;AACH,eAAO,MAAM,kBAAkB,QAAa,OAAO,CAAC,oBAAoB,CAAS,CAAC;AA4ClF;;GAEG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,aAAa,CAiCvD;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,iBAAiB,EAAE,GAAG,MAAM,EAAE,CAoB9F;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,iBAAiB,EAAE,QAAQ,GAAE,OAAe,GAAG,MAAM,CAmB3F;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,iBAAiB,EAAE,GAAG,IAAI,CAwDtE"}
|
|
@@ -30,10 +30,12 @@ var commands_exports = {};
|
|
|
30
30
|
__export(commands_exports, {
|
|
31
31
|
CLI_COMMANDS: () => CLI_COMMANDS,
|
|
32
32
|
executeCommand: () => executeCommand,
|
|
33
|
-
getAllCommands: () => getAllCommands
|
|
33
|
+
getAllCommands: () => getAllCommands,
|
|
34
|
+
getAvailableCommands: () => getAvailableCommands
|
|
34
35
|
});
|
|
35
36
|
module.exports = __toCommonJS(commands_exports);
|
|
36
37
|
var import_agent_management = require("@dexto/agent-management");
|
|
38
|
+
var import_agent_backend = require("../agent-backend.js");
|
|
37
39
|
var import_general_commands = require("./general-commands.js");
|
|
38
40
|
var import_session = require("./session/index.js");
|
|
39
41
|
var import_export = require("./export/index.js");
|
|
@@ -80,7 +82,7 @@ const baseCommands = [
|
|
|
80
82
|
// Auth commands (feature-flagged)
|
|
81
83
|
...(0, import_agent_management.isDextoAuthEnabled)() ? [import_auth.loginCommand, import_auth.logoutCommand] : []
|
|
82
84
|
];
|
|
83
|
-
CLI_COMMANDS.push((0, import_general_commands.createHelpCommand)(() =>
|
|
85
|
+
CLI_COMMANDS.push((0, import_general_commands.createHelpCommand)((agent) => getAvailableCommands(agent)));
|
|
84
86
|
CLI_COMMANDS.push(...baseCommands);
|
|
85
87
|
async function executeCommand(command, args, agent, sessionId, configFilePath) {
|
|
86
88
|
const ctx = { sessionId: sessionId ?? null, configFilePath: configFilePath ?? null };
|
|
@@ -88,6 +90,9 @@ async function executeCommand(command, args, agent, sessionId, configFilePath) {
|
|
|
88
90
|
(c) => c.name === command || c.aliases && c.aliases.includes(command)
|
|
89
91
|
);
|
|
90
92
|
if (cmd) {
|
|
93
|
+
if (!(0, import_agent_backend.isCommandSupported)(agent, command, cmd)) {
|
|
94
|
+
return `\u26A0\uFE0F Command /${command} is not available for this chat target.`;
|
|
95
|
+
}
|
|
91
96
|
try {
|
|
92
97
|
const result = await cmd.handler(args, agent, ctx);
|
|
93
98
|
return result;
|
|
@@ -101,20 +106,22 @@ ${error instanceof Error ? error.message : String(error)}`;
|
|
|
101
106
|
}
|
|
102
107
|
}
|
|
103
108
|
try {
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
109
|
+
if ((0, import_agent_backend.supportsPrompts)(agent)) {
|
|
110
|
+
const { getDynamicPromptCommands } = await import("./prompt-commands.js");
|
|
111
|
+
const dynamicCommands = await getDynamicPromptCommands(agent);
|
|
112
|
+
const promptCmd = dynamicCommands.find((c) => c.name === command);
|
|
113
|
+
if (promptCmd) {
|
|
114
|
+
try {
|
|
115
|
+
const result = await promptCmd.handler(args, agent, ctx);
|
|
116
|
+
return result;
|
|
117
|
+
} catch (error) {
|
|
118
|
+
const errorMsg2 = `\u274C Error executing prompt /${command}:
|
|
113
119
|
${error instanceof Error ? error.message : String(error)}`;
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
120
|
+
agent.logger.error(
|
|
121
|
+
`Error executing prompt /${command}: ${error instanceof Error ? error.message : String(error)}`
|
|
122
|
+
);
|
|
123
|
+
return errorMsg2;
|
|
124
|
+
}
|
|
118
125
|
}
|
|
119
126
|
}
|
|
120
127
|
} catch (error) {
|
|
@@ -129,9 +136,13 @@ Type / to see available commands, /prompts to add new ones`;
|
|
|
129
136
|
function getAllCommands() {
|
|
130
137
|
return CLI_COMMANDS;
|
|
131
138
|
}
|
|
139
|
+
function getAvailableCommands(agent) {
|
|
140
|
+
return CLI_COMMANDS.filter((command) => (0, import_agent_backend.isCommandDefinitionSupported)(agent, command));
|
|
141
|
+
}
|
|
132
142
|
// Annotate the CommonJS export names for ESM import in node:
|
|
133
143
|
0 && (module.exports = {
|
|
134
144
|
CLI_COMMANDS,
|
|
135
145
|
executeCommand,
|
|
136
|
-
getAllCommands
|
|
146
|
+
getAllCommands,
|
|
147
|
+
getAvailableCommands
|
|
137
148
|
});
|
|
@@ -19,8 +19,8 @@
|
|
|
19
19
|
* This file serves as the integration layer that combines all modular commands
|
|
20
20
|
* into a single CLI_COMMANDS array for the command execution system.
|
|
21
21
|
*/
|
|
22
|
-
import type { DextoAgent } from '@dexto/core';
|
|
23
22
|
import type { CommandDefinition, CommandHandlerResult } from './command-parser.js';
|
|
23
|
+
import { type TuiAgentBackend } from '../agent-backend.js';
|
|
24
24
|
/**
|
|
25
25
|
* Complete list of all available CLI commands.
|
|
26
26
|
* This array combines commands from all extracted modules to maintain
|
|
@@ -43,10 +43,11 @@ export declare const CLI_COMMANDS: CommandDefinition[];
|
|
|
43
43
|
* @param sessionId - Session ID to use for agent.run() calls
|
|
44
44
|
* @returns CommandHandlerResult - boolean, string, or StyledOutput
|
|
45
45
|
*/
|
|
46
|
-
export declare function executeCommand(command: string, args: string[], agent:
|
|
46
|
+
export declare function executeCommand(command: string, args: string[], agent: TuiAgentBackend, sessionId?: string, configFilePath?: string | null): Promise<CommandHandlerResult>;
|
|
47
47
|
/**
|
|
48
48
|
* Get all available command definitions
|
|
49
49
|
* This is used by external systems that need to inspect available commands
|
|
50
50
|
*/
|
|
51
51
|
export declare function getAllCommands(): CommandDefinition[];
|
|
52
|
+
export declare function getAvailableCommands(agent: TuiAgentBackend): CommandDefinition[];
|
|
52
53
|
//# sourceMappingURL=commands.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../../src/interactive-commands/commands.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../../src/interactive-commands/commands.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAEnF,OAAO,EAIH,KAAK,eAAe,EACvB,MAAM,qBAAqB,CAAC;AAe7B;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,YAAY,EAAE,iBAAiB,EAAO,CAAC;AA8CpD;;;;;GAKG;AACH,wBAAsB,cAAc,CAChC,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EAAE,EACd,KAAK,EAAE,eAAe,EACtB,SAAS,CAAC,EAAE,MAAM,EAClB,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,GAC/B,OAAO,CAAC,oBAAoB,CAAC,CA+D/B;AAED;;;GAGG;AACH,wBAAgB,cAAc,IAAI,iBAAiB,EAAE,CAEpD;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,eAAe,GAAG,iBAAiB,EAAE,CAEhF"}
|