@hashgraphonline/conversational-agent 0.1.217 → 0.1.218
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/cli/readme.md +181 -0
- package/dist/cjs/constants/entity-references.d.ts +18 -0
- package/dist/cjs/constants/form-priorities.d.ts +24 -0
- package/dist/cjs/constants/index.d.ts +4 -0
- package/dist/cjs/constants/messages.d.ts +19 -0
- package/dist/cjs/constants/test-constants.d.ts +42 -0
- package/dist/cjs/conversational-agent.d.ts +3 -8
- package/dist/cjs/core/{ToolRegistry.d.ts → tool-registry.d.ts} +10 -7
- package/dist/{types/execution/ExecutionPipeline.d.ts → cjs/execution/execution-pipeline.d.ts} +3 -3
- package/dist/cjs/forms/field-guidance-registry.d.ts +108 -0
- package/dist/cjs/forms/form-generator.d.ts +2 -7
- package/dist/cjs/forms/index.d.ts +3 -0
- package/dist/cjs/forms/types.d.ts +9 -1
- package/dist/cjs/index.cjs +1 -1
- package/dist/cjs/index.cjs.map +1 -1
- package/dist/cjs/index.d.ts +7 -12
- package/dist/cjs/langchain/external-tool-wrapper.d.ts +101 -0
- package/dist/{types/langchain/FormAwareAgentExecutor.d.ts → cjs/langchain/form-aware-agent-executor.d.ts} +19 -12
- package/dist/cjs/langchain/index.d.ts +2 -0
- package/dist/{types → cjs/langchain}/langchain-agent.d.ts +15 -7
- package/dist/cjs/mcp/adapters/index.d.ts +1 -0
- package/dist/cjs/mcp/adapters/langchain.d.ts +1 -1
- package/dist/{types/mcp/ContentProcessor.d.ts → cjs/mcp/content-processor.d.ts} +1 -1
- package/dist/cjs/mcp/index.d.ts +5 -0
- package/dist/{types/mcp/MCPClientManager.d.ts → cjs/mcp/mcp-client-manager.d.ts} +1 -1
- package/dist/cjs/memory/{ContentStorage.d.ts → content-storage.d.ts} +4 -4
- package/dist/cjs/memory/index.d.ts +5 -7
- package/dist/{types/memory/MemoryWindow.d.ts → cjs/memory/memory-window.d.ts} +1 -1
- package/dist/{types/memory/SmartMemoryManager.d.ts → cjs/memory/smart-memory-manager.d.ts} +1 -1
- package/dist/cjs/services/{ContentStoreManager.d.ts → content-store-manager.d.ts} +6 -6
- package/dist/cjs/services/context/resolution-context.d.ts +49 -0
- package/dist/cjs/services/entity-resolver.d.ts +58 -0
- package/dist/cjs/services/formatters/converters/index.d.ts +2 -0
- package/dist/cjs/services/formatters/converters/string-normalization-converter.d.ts +13 -0
- package/dist/cjs/services/formatters/converters/topic-id-to-hrl-converter.d.ts +17 -0
- package/dist/cjs/services/formatters/format-converter-registry.d.ts +66 -0
- package/dist/cjs/services/formatters/index.d.ts +3 -0
- package/dist/cjs/services/formatters/types.d.ts +29 -0
- package/dist/cjs/services/index.d.ts +3 -0
- package/dist/cjs/services/resolution/resolution-pipeline.d.ts +44 -0
- package/dist/cjs/tools/index.d.ts +1 -0
- package/dist/cjs/utils/index.d.ts +1 -0
- package/dist/esm/index.js +40 -16
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/index10.js +669 -13
- package/dist/esm/index10.js.map +1 -1
- package/dist/esm/index11.js +310 -95
- package/dist/esm/index11.js.map +1 -1
- package/dist/esm/index12.js +130 -95
- package/dist/esm/index12.js.map +1 -1
- package/dist/esm/index13.js +262 -153
- package/dist/esm/index13.js.map +1 -1
- package/dist/esm/index14.js +100 -664
- package/dist/esm/index14.js.map +1 -1
- package/dist/esm/index15.js +135 -408
- package/dist/esm/index15.js.map +1 -1
- package/dist/esm/index16.js +240 -122
- package/dist/esm/index16.js.map +1 -1
- package/dist/esm/index17.js +147 -135
- package/dist/esm/index17.js.map +1 -1
- package/dist/esm/index18.js +376 -533
- package/dist/esm/index18.js.map +1 -1
- package/dist/esm/index19.js +87 -214
- package/dist/esm/index19.js.map +1 -1
- package/dist/esm/index2.js +21 -4
- package/dist/esm/index2.js.map +1 -1
- package/dist/esm/index20.js +158 -92
- package/dist/esm/index20.js.map +1 -1
- package/dist/esm/index21.js +717 -44
- package/dist/esm/index21.js.map +1 -1
- package/dist/esm/index22.js +58 -96
- package/dist/esm/index22.js.map +1 -1
- package/dist/esm/index23.js +324 -34
- package/dist/esm/index23.js.map +1 -1
- package/dist/esm/index24.js +125 -712
- package/dist/esm/index24.js.map +1 -1
- package/dist/esm/index25.js +113 -133
- package/dist/esm/index25.js.map +1 -1
- package/dist/esm/index26.js +18 -152
- package/dist/esm/index26.js.map +1 -1
- package/dist/esm/index27.js +14 -210
- package/dist/esm/index27.js.map +1 -1
- package/dist/esm/index28.js +70 -173
- package/dist/esm/index28.js.map +1 -1
- package/dist/esm/index29.js +811 -224
- package/dist/esm/index29.js.map +1 -1
- package/dist/esm/index30.js +1245 -122
- package/dist/esm/index30.js.map +1 -1
- package/dist/esm/index31.js +126 -56
- package/dist/esm/index31.js.map +1 -1
- package/dist/esm/index32.js +111 -24
- package/dist/esm/index32.js.map +1 -1
- package/dist/esm/index33.js +41 -87
- package/dist/esm/index33.js.map +1 -1
- package/dist/esm/index34.js +88 -227
- package/dist/esm/index34.js.map +1 -1
- package/dist/esm/index35.js +24 -0
- package/dist/esm/index35.js.map +1 -0
- package/dist/esm/index36.js +15 -0
- package/dist/esm/index36.js.map +1 -0
- package/dist/esm/index37.js +10 -0
- package/dist/esm/index37.js.map +1 -0
- package/dist/esm/index38.js +8 -0
- package/dist/esm/index38.js.map +1 -0
- package/dist/esm/index39.js +227 -0
- package/dist/esm/index39.js.map +1 -0
- package/dist/esm/index40.js +187 -0
- package/dist/esm/index40.js.map +1 -0
- package/dist/esm/index41.js +30 -0
- package/dist/esm/index41.js.map +1 -0
- package/dist/esm/index42.js +95 -0
- package/dist/esm/index42.js.map +1 -0
- package/dist/esm/index5.js +2 -2
- package/dist/esm/index5.js.map +1 -1
- package/dist/esm/index6.js +44 -67
- package/dist/esm/index6.js.map +1 -1
- package/dist/esm/index7.js +9 -0
- package/dist/esm/index7.js.map +1 -1
- package/dist/esm/index8.js +13 -1095
- package/dist/esm/index8.js.map +1 -1
- package/dist/esm/index9.js +17 -13
- package/dist/esm/index9.js.map +1 -1
- package/dist/types/constants/entity-references.d.ts +18 -0
- package/dist/types/constants/form-priorities.d.ts +24 -0
- package/dist/types/constants/index.d.ts +4 -0
- package/dist/types/constants/messages.d.ts +19 -0
- package/dist/types/constants/test-constants.d.ts +42 -0
- package/dist/types/conversational-agent.d.ts +3 -8
- package/dist/types/core/{ToolRegistry.d.ts → tool-registry.d.ts} +10 -7
- package/dist/{cjs/execution/ExecutionPipeline.d.ts → types/execution/execution-pipeline.d.ts} +3 -3
- package/dist/types/forms/field-guidance-registry.d.ts +108 -0
- package/dist/types/forms/form-generator.d.ts +2 -7
- package/dist/types/forms/index.d.ts +3 -0
- package/dist/types/forms/types.d.ts +9 -1
- package/dist/types/index.d.ts +7 -12
- package/dist/types/langchain/external-tool-wrapper.d.ts +101 -0
- package/dist/{cjs/langchain/FormAwareAgentExecutor.d.ts → types/langchain/form-aware-agent-executor.d.ts} +19 -12
- package/dist/types/langchain/index.d.ts +2 -0
- package/dist/{cjs → types/langchain}/langchain-agent.d.ts +15 -7
- package/dist/types/mcp/adapters/index.d.ts +1 -0
- package/dist/types/mcp/adapters/langchain.d.ts +1 -1
- package/dist/{cjs/mcp/ContentProcessor.d.ts → types/mcp/content-processor.d.ts} +1 -1
- package/dist/types/mcp/index.d.ts +5 -0
- package/dist/{cjs/mcp/MCPClientManager.d.ts → types/mcp/mcp-client-manager.d.ts} +1 -1
- package/dist/types/memory/{ContentStorage.d.ts → content-storage.d.ts} +4 -4
- package/dist/types/memory/index.d.ts +5 -7
- package/dist/{cjs/memory/MemoryWindow.d.ts → types/memory/memory-window.d.ts} +1 -1
- package/dist/{cjs/memory/SmartMemoryManager.d.ts → types/memory/smart-memory-manager.d.ts} +1 -1
- package/dist/types/services/{ContentStoreManager.d.ts → content-store-manager.d.ts} +6 -6
- package/dist/types/services/context/resolution-context.d.ts +49 -0
- package/dist/types/services/entity-resolver.d.ts +58 -0
- package/dist/types/services/formatters/converters/index.d.ts +2 -0
- package/dist/types/services/formatters/converters/string-normalization-converter.d.ts +13 -0
- package/dist/types/services/formatters/converters/topic-id-to-hrl-converter.d.ts +17 -0
- package/dist/types/services/formatters/format-converter-registry.d.ts +66 -0
- package/dist/types/services/formatters/index.d.ts +3 -0
- package/dist/types/services/formatters/types.d.ts +29 -0
- package/dist/types/services/index.d.ts +3 -0
- package/dist/types/services/resolution/resolution-pipeline.d.ts +44 -0
- package/dist/types/tools/index.d.ts +1 -0
- package/dist/types/utils/index.d.ts +1 -0
- package/package.json +30 -27
- package/src/agent-factory.ts +1 -1
- package/src/base-agent.ts +9 -0
- package/src/config/system-message.ts +2 -15
- package/src/constants/entity-references.ts +23 -0
- package/src/constants/form-priorities.ts +25 -0
- package/src/constants/index.ts +4 -0
- package/src/constants/messages.ts +20 -0
- package/src/constants/test-constants.ts +49 -0
- package/src/conversational-agent.ts +42 -69
- package/src/core/{ToolRegistry.ts → tool-registry.ts} +70 -44
- package/src/examples/external-tool-wrapper-example.ts +56 -0
- package/src/execution/{ExecutionPipeline.ts → execution-pipeline.ts} +3 -3
- package/src/forms/field-guidance-registry.ts +415 -0
- package/src/forms/field-type-registry.ts +49 -48
- package/src/forms/{FormEngine.ts → form-engine.ts} +66 -43
- package/src/forms/form-generator.ts +91 -17
- package/src/forms/index.ts +4 -1
- package/src/forms/types.ts +9 -1
- package/src/index.ts +7 -37
- package/src/langchain/external-tool-wrapper.ts +90 -0
- package/src/langchain/{FormAwareAgentExecutor.ts → form-aware-agent-executor.ts} +579 -351
- package/src/langchain/index.ts +2 -0
- package/src/{langchain-agent.ts → langchain/langchain-agent.ts} +389 -113
- package/src/mcp/adapters/index.ts +1 -0
- package/src/mcp/adapters/langchain.ts +27 -18
- package/src/mcp/{ContentProcessor.ts → content-processor.ts} +71 -47
- package/src/mcp/index.ts +5 -0
- package/src/mcp/{MCPClientManager.ts → mcp-client-manager.ts} +2 -2
- package/src/memory/{ContentStorage.ts → content-storage.ts} +263 -167
- package/src/memory/index.ts +5 -8
- package/src/memory/{MemoryWindow.ts → memory-window.ts} +47 -24
- package/src/memory/{SmartMemoryManager.ts → smart-memory-manager.ts} +49 -22
- package/src/plugins/hbar/HbarPlugin.ts +1 -1
- package/src/plugins/hcs-10/HCS10Plugin.ts +46 -28
- package/src/scripts/test-external-tool-wrapper.ts +6 -6
- package/src/scripts/test-inscribe-form-generation.ts +22 -21
- package/src/scripts/test-inscribe-wrapper-verification.ts +5 -4
- package/src/services/{ContentStoreManager.ts → content-store-manager.ts} +75 -33
- package/src/services/context/resolution-context.ts +80 -0
- package/src/services/entity-resolver.ts +425 -0
- package/src/services/formatters/converters/index.ts +2 -0
- package/src/services/formatters/converters/string-normalization-converter.ts +106 -0
- package/src/services/formatters/converters/topic-id-to-hrl-converter.ts +25 -0
- package/src/services/formatters/format-converter-registry.ts +229 -0
- package/src/services/formatters/index.ts +3 -0
- package/src/services/formatters/types.ts +31 -0
- package/src/services/index.ts +3 -0
- package/src/services/resolution/resolution-pipeline.ts +106 -0
- package/src/tools/index.ts +1 -0
- package/src/types/content-reference.ts +87 -60
- package/src/utils/index.ts +1 -0
- package/cli/dist/CLIApp.d.ts +0 -9
- package/cli/dist/CLIApp.js +0 -127
- package/cli/dist/LocalConversationalAgent.d.ts +0 -37
- package/cli/dist/LocalConversationalAgent.js +0 -58
- package/cli/dist/app.d.ts +0 -16
- package/cli/dist/app.js +0 -13
- package/cli/dist/cli.d.ts +0 -2
- package/cli/dist/cli.js +0 -51
- package/cli/dist/components/AppContainer.d.ts +0 -16
- package/cli/dist/components/AppContainer.js +0 -24
- package/cli/dist/components/AppScreens.d.ts +0 -2
- package/cli/dist/components/AppScreens.js +0 -259
- package/cli/dist/components/ChatScreen.d.ts +0 -15
- package/cli/dist/components/ChatScreen.js +0 -39
- package/cli/dist/components/DebugLoadingScreen.d.ts +0 -5
- package/cli/dist/components/DebugLoadingScreen.js +0 -31
- package/cli/dist/components/LoadingScreen.d.ts +0 -2
- package/cli/dist/components/LoadingScreen.js +0 -16
- package/cli/dist/components/LoadingScreenDebug.d.ts +0 -5
- package/cli/dist/components/LoadingScreenDebug.js +0 -27
- package/cli/dist/components/MCPConfigScreen.d.ts +0 -28
- package/cli/dist/components/MCPConfigScreen.js +0 -168
- package/cli/dist/components/ScreenRouter.d.ts +0 -12
- package/cli/dist/components/ScreenRouter.js +0 -22
- package/cli/dist/components/SetupScreen.d.ts +0 -15
- package/cli/dist/components/SetupScreen.js +0 -65
- package/cli/dist/components/SingleLoadingScreen.d.ts +0 -5
- package/cli/dist/components/SingleLoadingScreen.js +0 -27
- package/cli/dist/components/StatusBadge.d.ts +0 -7
- package/cli/dist/components/StatusBadge.js +0 -28
- package/cli/dist/components/TerminalWindow.d.ts +0 -8
- package/cli/dist/components/TerminalWindow.js +0 -24
- package/cli/dist/components/WelcomeScreen.d.ts +0 -11
- package/cli/dist/components/WelcomeScreen.js +0 -47
- package/cli/dist/context/AppContext.d.ts +0 -68
- package/cli/dist/context/AppContext.js +0 -363
- package/cli/dist/hooks/useInitializeAgent.d.ts +0 -19
- package/cli/dist/hooks/useInitializeAgent.js +0 -28
- package/cli/dist/hooks/useStableState.d.ts +0 -38
- package/cli/dist/hooks/useStableState.js +0 -68
- package/cli/dist/managers/AgentManager.d.ts +0 -57
- package/cli/dist/managers/AgentManager.js +0 -119
- package/cli/dist/managers/ConfigManager.d.ts +0 -53
- package/cli/dist/managers/ConfigManager.js +0 -173
- package/cli/dist/types.d.ts +0 -31
- package/cli/dist/types.js +0 -19
- package/dist/cjs/context/ReferenceContextManager.d.ts +0 -84
- package/dist/cjs/context/ReferenceResponseProcessor.d.ts +0 -76
- package/dist/cjs/langchain/FormValidatingToolWrapper.d.ts +0 -81
- package/dist/cjs/services/EntityResolver.d.ts +0 -26
- package/dist/types/context/ReferenceContextManager.d.ts +0 -84
- package/dist/types/context/ReferenceResponseProcessor.d.ts +0 -76
- package/dist/types/langchain/FormValidatingToolWrapper.d.ts +0 -81
- package/dist/types/services/EntityResolver.d.ts +0 -26
- package/src/context/ReferenceContextManager.ts +0 -350
- package/src/context/ReferenceResponseProcessor.ts +0 -295
- package/src/langchain/FormValidatingToolWrapper.ts +0 -355
- package/src/scripts/test-hedera-kit-wrapper.ts +0 -265
- package/src/services/EntityResolver.ts +0 -128
- /package/dist/cjs/forms/{FormEngine.d.ts → form-engine.d.ts} +0 -0
- /package/dist/cjs/memory/{ReferenceIdGenerator.d.ts → reference-id-generator.d.ts} +0 -0
- /package/dist/cjs/memory/{TokenCounter.d.ts → token-counter.d.ts} +0 -0
- /package/dist/cjs/tools/{EntityResolverTool.d.ts → entity-resolver-tool.d.ts} +0 -0
- /package/dist/cjs/utils/{ResponseFormatter.d.ts → response-formatter.d.ts} +0 -0
- /package/dist/types/forms/{FormEngine.d.ts → form-engine.d.ts} +0 -0
- /package/dist/types/memory/{ReferenceIdGenerator.d.ts → reference-id-generator.d.ts} +0 -0
- /package/dist/types/memory/{TokenCounter.d.ts → token-counter.d.ts} +0 -0
- /package/dist/types/tools/{EntityResolverTool.d.ts → entity-resolver-tool.d.ts} +0 -0
- /package/dist/types/utils/{ResponseFormatter.d.ts → response-formatter.d.ts} +0 -0
- /package/src/memory/{ReferenceIdGenerator.ts → reference-id-generator.ts} +0 -0
- /package/src/memory/{TokenCounter.ts → token-counter.ts} +0 -0
- /package/src/tools/{EntityResolverTool.ts → entity-resolver-tool.ts} +0 -0
- /package/src/utils/{ResponseFormatter.ts → response-formatter.ts} +0 -0
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { type Config } from '../types';
|
|
3
|
-
interface Props {
|
|
4
|
-
config: Config;
|
|
5
|
-
currentField: number;
|
|
6
|
-
error: string | null;
|
|
7
|
-
onUpdateConfig: (field: keyof Config, value: string) => void;
|
|
8
|
-
onSetCurrentField: (field: number) => void;
|
|
9
|
-
onInitializeAgent: () => void;
|
|
10
|
-
}
|
|
11
|
-
/**
|
|
12
|
-
* Setup screen for configuring credentials
|
|
13
|
-
*/
|
|
14
|
-
export declare const SetupScreen: React.FC<Props>;
|
|
15
|
-
export {};
|
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { Box, Text, useInput } from 'ink';
|
|
3
|
-
import TextInput from 'ink-text-input';
|
|
4
|
-
import SelectInput from 'ink-select-input';
|
|
5
|
-
import { TerminalWindow } from './TerminalWindow.js';
|
|
6
|
-
import { StatusBadge } from './StatusBadge.js';
|
|
7
|
-
import { BRAND_COLORS } from '../types.js';
|
|
8
|
-
const fields = ['accountId', 'privateKey', 'network', 'openAIApiKey'];
|
|
9
|
-
/**
|
|
10
|
-
* Setup screen for configuring credentials
|
|
11
|
-
*/
|
|
12
|
-
export const SetupScreen = ({ config, currentField, error, onUpdateConfig, onSetCurrentField, onInitializeAgent, }) => {
|
|
13
|
-
useInput((_, key) => {
|
|
14
|
-
if (key.tab && !key.shift) {
|
|
15
|
-
const nextField = (currentField + 1) % fields.length;
|
|
16
|
-
onSetCurrentField(nextField);
|
|
17
|
-
}
|
|
18
|
-
else if (key.tab && key.shift) {
|
|
19
|
-
const prevField = currentField === 0 ? fields.length - 1 : currentField - 1;
|
|
20
|
-
onSetCurrentField(prevField);
|
|
21
|
-
}
|
|
22
|
-
});
|
|
23
|
-
return (React.createElement(TerminalWindow, { title: "Configuration" },
|
|
24
|
-
React.createElement(Box, { flexDirection: "column" },
|
|
25
|
-
React.createElement(Box, { marginBottom: 1 },
|
|
26
|
-
React.createElement(StatusBadge, { status: "info" }),
|
|
27
|
-
React.createElement(Text, null, "Configure your Hedera account credentials")),
|
|
28
|
-
fields.map((field, index) => (React.createElement(Box, { key: field, marginY: 1 },
|
|
29
|
-
React.createElement(Box, { width: 20 },
|
|
30
|
-
React.createElement(Text, { color: currentField === index
|
|
31
|
-
? BRAND_COLORS.blue
|
|
32
|
-
: BRAND_COLORS.hedera.smoke },
|
|
33
|
-
field === 'accountId' && 'Account ID:',
|
|
34
|
-
field === 'privateKey' && 'Private Key:',
|
|
35
|
-
field === 'network' && 'Network:',
|
|
36
|
-
field === 'openAIApiKey' && 'OpenAI Key:')),
|
|
37
|
-
currentField === index ? (field === 'network' ? (React.createElement(SelectInput, { items: [
|
|
38
|
-
{ label: 'Testnet', value: 'testnet' },
|
|
39
|
-
{ label: 'Mainnet', value: 'mainnet' },
|
|
40
|
-
], initialIndex: config.network === 'testnet' ? 0 : 1, onSelect: item => {
|
|
41
|
-
onUpdateConfig('network', item.value);
|
|
42
|
-
if (currentField < fields.length - 1) {
|
|
43
|
-
onSetCurrentField(currentField + 1);
|
|
44
|
-
}
|
|
45
|
-
} })) : (React.createElement(TextInput, { value: config[field], onChange: value => onUpdateConfig(field, value), onSubmit: () => {
|
|
46
|
-
if (currentField < fields.length - 1) {
|
|
47
|
-
onSetCurrentField(currentField + 1);
|
|
48
|
-
}
|
|
49
|
-
else {
|
|
50
|
-
onInitializeAgent();
|
|
51
|
-
}
|
|
52
|
-
}, mask: field === 'privateKey' || field === 'openAIApiKey'
|
|
53
|
-
? '*'
|
|
54
|
-
: undefined }))) : (React.createElement(Text, { color: BRAND_COLORS.hedera.smoke }, field === 'network'
|
|
55
|
-
? config[field]
|
|
56
|
-
: config[field]
|
|
57
|
-
? '••••••••'
|
|
58
|
-
: '(not set)'))))),
|
|
59
|
-
error && (React.createElement(Box, { marginTop: 2 },
|
|
60
|
-
React.createElement(StatusBadge, { status: "error" }),
|
|
61
|
-
React.createElement(Text, { color: "red" }, error))),
|
|
62
|
-
React.createElement(Box, { marginTop: 2 },
|
|
63
|
-
React.createElement(Text, { dimColor: true }, "Press Tab to navigate fields, Enter to submit"),
|
|
64
|
-
React.createElement(Text, { dimColor: true }, "Complete all fields and press Enter on the last field to save and start")))));
|
|
65
|
-
};
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import React, { useEffect, useRef } from 'react';
|
|
2
|
-
import { Box, Text } from 'ink';
|
|
3
|
-
import Spinner from 'ink-spinner';
|
|
4
|
-
import { BRAND_COLORS } from '../types.js';
|
|
5
|
-
let globalRenderCount = 0;
|
|
6
|
-
/**
|
|
7
|
-
* Loading screen that tracks its own renders
|
|
8
|
-
*/
|
|
9
|
-
export const SingleLoadingScreen = () => {
|
|
10
|
-
const renderCount = useRef(0);
|
|
11
|
-
const instanceId = useRef(Math.random());
|
|
12
|
-
useEffect(() => {
|
|
13
|
-
renderCount.current++;
|
|
14
|
-
globalRenderCount++;
|
|
15
|
-
console.error(`[LOADING] Instance ${instanceId.current.toFixed(4)} - Render #${renderCount.current} (Global: ${globalRenderCount})`);
|
|
16
|
-
return () => {
|
|
17
|
-
console.error(`[LOADING] Instance ${instanceId.current.toFixed(4)} - Unmounting after ${renderCount.current} renders`);
|
|
18
|
-
};
|
|
19
|
-
}, []);
|
|
20
|
-
return (React.createElement(Box, { flexDirection: "column", alignItems: "center", paddingY: 4 },
|
|
21
|
-
React.createElement(Box, { marginBottom: 2 },
|
|
22
|
-
React.createElement(Text, { color: BRAND_COLORS.blue }, "Initializing "),
|
|
23
|
-
React.createElement(Text, { color: BRAND_COLORS.purple }, "Hashgraph "),
|
|
24
|
-
React.createElement(Text, { color: BRAND_COLORS.green }, "Online "),
|
|
25
|
-
React.createElement(Text, { color: BRAND_COLORS.blue }, "Agent...")),
|
|
26
|
-
React.createElement(Spinner, { type: "dots" })));
|
|
27
|
-
};
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { Box, Text } from 'ink';
|
|
3
|
-
const BRAND_COLORS = {
|
|
4
|
-
blue: '#5599fe',
|
|
5
|
-
green: '#48df7b',
|
|
6
|
-
};
|
|
7
|
-
/**
|
|
8
|
-
* Status badge component
|
|
9
|
-
*/
|
|
10
|
-
export const StatusBadge = ({ status }) => {
|
|
11
|
-
const colors = {
|
|
12
|
-
success: BRAND_COLORS.green,
|
|
13
|
-
info: BRAND_COLORS.blue,
|
|
14
|
-
warning: '#FFBD2E',
|
|
15
|
-
error: '#FF5F57',
|
|
16
|
-
};
|
|
17
|
-
const labels = {
|
|
18
|
-
success: 'SUCCESS',
|
|
19
|
-
info: 'INFO',
|
|
20
|
-
warning: 'WARNING',
|
|
21
|
-
error: 'ERROR',
|
|
22
|
-
};
|
|
23
|
-
return (React.createElement(Box, { marginRight: 1 },
|
|
24
|
-
React.createElement(Text, { color: colors[status], bold: true },
|
|
25
|
-
"[",
|
|
26
|
-
labels[status],
|
|
27
|
-
"]")));
|
|
28
|
-
};
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { Box, Text } from 'ink';
|
|
3
|
-
const BRAND_COLORS = {
|
|
4
|
-
blue: '#5599fe',
|
|
5
|
-
dark: '#3f4174',
|
|
6
|
-
hedera: {
|
|
7
|
-
smoke: '#8c8c8c',
|
|
8
|
-
},
|
|
9
|
-
};
|
|
10
|
-
/**
|
|
11
|
-
* Terminal window decoration component
|
|
12
|
-
*/
|
|
13
|
-
export const TerminalWindow = ({ title, children, }) => {
|
|
14
|
-
return (React.createElement(Box, { flexDirection: "column", borderStyle: "round", borderColor: BRAND_COLORS.blue },
|
|
15
|
-
React.createElement(Box, { paddingX: 1, borderStyle: "single", borderBottom: true, borderColor: BRAND_COLORS.dark },
|
|
16
|
-
React.createElement(Box, { marginRight: 1 },
|
|
17
|
-
React.createElement(Text, { color: "red" }, "\u25CF"),
|
|
18
|
-
React.createElement(Text, null, " "),
|
|
19
|
-
React.createElement(Text, { color: "yellow" }, "\u25CF"),
|
|
20
|
-
React.createElement(Text, null, " "),
|
|
21
|
-
React.createElement(Text, { color: "green" }, "\u25CF")),
|
|
22
|
-
React.createElement(Text, { color: BRAND_COLORS.hedera.smoke }, title)),
|
|
23
|
-
React.createElement(Box, { paddingX: 2, paddingY: 1, flexDirection: "column" }, children)));
|
|
24
|
-
};
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { type Config, type Screen } from '../types';
|
|
3
|
-
/**
|
|
4
|
-
* Welcome screen component
|
|
5
|
-
*/
|
|
6
|
-
export declare const WelcomeScreen: React.FC<{
|
|
7
|
-
config: Config;
|
|
8
|
-
onExit: () => void;
|
|
9
|
-
onInitializeAgent: () => void;
|
|
10
|
-
onSetScreen: (screen: Screen) => void;
|
|
11
|
-
}>;
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { Box, Text } from 'ink';
|
|
3
|
-
import SelectInput from 'ink-select-input';
|
|
4
|
-
import Gradient from 'ink-gradient';
|
|
5
|
-
import { BRAND_COLORS } from '../types.js';
|
|
6
|
-
/**
|
|
7
|
-
* Welcome screen component
|
|
8
|
-
*/
|
|
9
|
-
export const WelcomeScreen = ({ config, onExit, onInitializeAgent, onSetScreen }) => (React.createElement(Box, { flexDirection: "column", alignItems: "center", paddingY: 2 },
|
|
10
|
-
React.createElement(Box, { flexDirection: "column", alignItems: "center", marginBottom: 2 },
|
|
11
|
-
React.createElement(Box, null,
|
|
12
|
-
React.createElement(Gradient, { name: "atlas" },
|
|
13
|
-
React.createElement(Text, { bold: true }, "\u2566 \u2566\u2554\u2550\u2557\u2554\u2550\u2557\u2566 \u2566\u2554\u2550\u2557\u2566\u2550\u2557\u2554\u2550\u2557\u2554\u2550\u2557\u2566 \u2566 \u2554\u2550\u2557\u2554\u2557\u2554\u2566 \u2566\u2554\u2557\u2554\u2554\u2550\u2557"))),
|
|
14
|
-
React.createElement(Box, null,
|
|
15
|
-
React.createElement(Gradient, { name: "atlas" },
|
|
16
|
-
React.createElement(Text, { bold: true }, "\u2560\u2550\u2563\u2560\u2550\u2563\u255A\u2550\u2557\u2560\u2550\u2563\u2551 \u2566\u2560\u2566\u255D\u2560\u2550\u2563\u2560\u2550\u255D\u2560\u2550\u2563 \u2551 \u2551\u2551\u2551\u2551\u2551 \u2551\u2551\u2551\u2551\u2551\u2563 "))),
|
|
17
|
-
React.createElement(Box, null,
|
|
18
|
-
React.createElement(Gradient, { name: "atlas" },
|
|
19
|
-
React.createElement(Text, { bold: true }, "\u2569 \u2569\u2569 \u2569\u255A\u2550\u255D\u2569 \u2569\u255A\u2550\u255D\u2569\u255A\u2550\u2569 \u2569\u2569 \u2569 \u2569 \u255A\u2550\u255D\u255D\u255A\u255D\u2569\u2550\u255D\u2569\u255D\u255A\u255D\u255A\u2550\u255D"))),
|
|
20
|
-
React.createElement(Text, { color: BRAND_COLORS.hedera.smoke }, "Conversational Agent CLI"),
|
|
21
|
-
React.createElement(Text, { color: BRAND_COLORS.hedera.smoke, dimColor: true }, "Powered by Hashgraph Online")),
|
|
22
|
-
React.createElement(Box, { marginY: 2 },
|
|
23
|
-
React.createElement(SelectInput, { items: [
|
|
24
|
-
{ label: 'Start Chat', value: 'chat' },
|
|
25
|
-
{ label: 'Configure', value: 'setup' },
|
|
26
|
-
{ label: 'MCP Servers', value: 'mcp-config' },
|
|
27
|
-
{ label: 'Exit', value: 'exit' },
|
|
28
|
-
], onSelect: item => {
|
|
29
|
-
if (item.value === 'exit') {
|
|
30
|
-
onExit();
|
|
31
|
-
}
|
|
32
|
-
else if (item.value === 'chat') {
|
|
33
|
-
if (config.accountId &&
|
|
34
|
-
config.privateKey &&
|
|
35
|
-
config.openAIApiKey) {
|
|
36
|
-
onInitializeAgent();
|
|
37
|
-
}
|
|
38
|
-
else {
|
|
39
|
-
onSetScreen('setup');
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
else {
|
|
43
|
-
onSetScreen(item.value);
|
|
44
|
-
}
|
|
45
|
-
} })),
|
|
46
|
-
React.createElement(Box, { marginTop: 2 },
|
|
47
|
-
React.createElement(Text, { dimColor: true }, "Press \u2191/\u2193 to navigate, Enter to select"))));
|
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { ConversationalAgent, type MCPServerConfig } from '@hashgraphonline/conversational-agent';
|
|
3
|
-
import { type Screen, type Message, type Config } from '../types.js';
|
|
4
|
-
interface AppState {
|
|
5
|
-
screen: Screen;
|
|
6
|
-
agent: ConversationalAgent | null;
|
|
7
|
-
messages: Message[];
|
|
8
|
-
input: string;
|
|
9
|
-
isLoading: boolean;
|
|
10
|
-
error: string | null;
|
|
11
|
-
config: Config & {
|
|
12
|
-
mcpServers: MCPServerConfig[];
|
|
13
|
-
};
|
|
14
|
-
mcpConfig: {
|
|
15
|
-
enableFilesystem: boolean;
|
|
16
|
-
filesystemPath: string;
|
|
17
|
-
customServers: MCPServerConfig[];
|
|
18
|
-
addingCustom: boolean;
|
|
19
|
-
newServerName: string;
|
|
20
|
-
newServerCommand: string;
|
|
21
|
-
newServerArgs: string;
|
|
22
|
-
newServerEnv: string;
|
|
23
|
-
currentField: number;
|
|
24
|
-
};
|
|
25
|
-
editingFilesystemPath: boolean;
|
|
26
|
-
currentField: number;
|
|
27
|
-
logs: string[];
|
|
28
|
-
}
|
|
29
|
-
interface AppContextType {
|
|
30
|
-
state: AppState;
|
|
31
|
-
actions: {
|
|
32
|
-
setScreen: (screen: Screen) => void;
|
|
33
|
-
setAgent: (agent: ConversationalAgent | null) => void;
|
|
34
|
-
setMessages: (messages: Message[]) => void;
|
|
35
|
-
addMessages: (messages: Message[]) => void;
|
|
36
|
-
setInput: (input: string) => void;
|
|
37
|
-
setLoading: (loading: boolean) => void;
|
|
38
|
-
setError: (error: string | null) => void;
|
|
39
|
-
setConfig: (config: Config & {
|
|
40
|
-
mcpServers: MCPServerConfig[];
|
|
41
|
-
}) => void;
|
|
42
|
-
updateConfigField: (field: keyof Config, value: string) => void;
|
|
43
|
-
setMcpConfig: (config: Partial<AppState['mcpConfig']>) => void;
|
|
44
|
-
setEditingFilesystemPath: (editing: boolean) => void;
|
|
45
|
-
setCurrentField: (field: number) => void;
|
|
46
|
-
setLogs: (logs: string[]) => void;
|
|
47
|
-
initializeAgent: () => Promise<void>;
|
|
48
|
-
sendMessage: (message: string) => Promise<void>;
|
|
49
|
-
};
|
|
50
|
-
}
|
|
51
|
-
/**
|
|
52
|
-
* Get MCP config file path
|
|
53
|
-
*/
|
|
54
|
-
declare const getMCPConfigPath: () => string;
|
|
55
|
-
/**
|
|
56
|
-
* Save MCP configuration to file
|
|
57
|
-
*/
|
|
58
|
-
declare const saveMCPConfig: (servers: MCPServerConfig[]) => void;
|
|
59
|
-
interface AppProviderProps {
|
|
60
|
-
children: React.ReactNode;
|
|
61
|
-
accountId?: string;
|
|
62
|
-
privateKey?: string;
|
|
63
|
-
network?: 'testnet' | 'mainnet';
|
|
64
|
-
openAIApiKey?: string;
|
|
65
|
-
}
|
|
66
|
-
export declare const AppProvider: React.FC<AppProviderProps>;
|
|
67
|
-
export declare const useAppContext: () => AppContextType;
|
|
68
|
-
export { saveMCPConfig, getMCPConfigPath };
|