@sowonai/crewx-sdk 0.1.0-dev.0 → 0.1.0-dev.1
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/README.md +115 -0
- package/dist/core/parallel/index.d.ts +2 -0
- package/dist/core/parallel/index.js +8 -0
- package/dist/core/parallel/index.js.map +1 -0
- package/dist/core/parallel/parallel-runner.d.ts +16 -0
- package/dist/core/parallel/parallel-runner.js +230 -0
- package/dist/core/parallel/parallel-runner.js.map +1 -0
- package/dist/core/parallel/types.d.ts +41 -0
- package/dist/core/parallel/types.js +3 -0
- package/dist/core/parallel/types.js.map +1 -0
- package/dist/core/providers/base-ai.provider.d.ts +12 -26
- package/dist/core/providers/base-ai.provider.js +37 -30
- package/dist/core/providers/base-ai.provider.js.map +1 -1
- package/dist/core/providers/base-ai.types.d.ts +15 -0
- package/dist/core/providers/base-ai.types.js +3 -0
- package/dist/core/providers/base-ai.types.js.map +1 -0
- package/dist/core/providers/claude.provider.d.ts +4 -3
- package/dist/core/providers/claude.provider.js +16 -33
- package/dist/core/providers/claude.provider.js.map +1 -1
- package/dist/core/providers/codex.provider.d.ts +2 -1
- package/dist/core/providers/codex.provider.js +4 -18
- package/dist/core/providers/codex.provider.js.map +1 -1
- package/dist/core/providers/copilot.provider.d.ts +4 -3
- package/dist/core/providers/copilot.provider.js +10 -28
- package/dist/core/providers/copilot.provider.js.map +1 -1
- package/dist/core/providers/gemini.provider.d.ts +4 -3
- package/dist/core/providers/gemini.provider.js +18 -36
- package/dist/core/providers/gemini.provider.js.map +1 -1
- package/dist/core/providers/index.d.ts +5 -0
- package/dist/core/providers/index.js +14 -0
- package/dist/core/providers/index.js.map +1 -0
- package/dist/core/providers/tool-call.types.d.ts +39 -0
- package/dist/core/providers/tool-call.types.js +3 -0
- package/dist/core/providers/tool-call.types.js.map +1 -0
- package/dist/core/remote/index.d.ts +3 -0
- package/dist/core/remote/index.js +20 -0
- package/dist/core/remote/index.js.map +1 -0
- package/dist/core/remote/remote-agent-manager.d.ts +24 -0
- package/dist/core/remote/remote-agent-manager.js +195 -0
- package/dist/core/remote/remote-agent-manager.js.map +1 -0
- package/dist/core/remote/remote-transport.d.ts +15 -0
- package/dist/core/remote/remote-transport.js +70 -0
- package/dist/core/remote/remote-transport.js.map +1 -0
- package/dist/core/remote/types.d.ts +79 -0
- package/dist/core/remote/types.js +3 -0
- package/dist/core/remote/types.js.map +1 -0
- package/dist/index.d.ts +9 -0
- package/dist/index.js +19 -1
- package/dist/index.js.map +1 -1
- package/dist/utils/base-message-formatter.d.ts +32 -0
- package/dist/utils/base-message-formatter.js +170 -0
- package/dist/utils/base-message-formatter.js.map +1 -0
- package/package.json +1 -1
- package/dist/core/providers/dynamic-provider.factory.d.ts +0 -55
- package/dist/core/providers/dynamic-provider.factory.js +0 -587
- package/dist/core/providers/dynamic-provider.factory.js.map +0 -1
- package/dist/version.d.ts +0 -1
- package/dist/version.js +0 -17
- package/dist/version.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/core/remote/types.ts"],"names":[],"mappings":""}
|
package/dist/index.d.ts
CHANGED
|
@@ -7,9 +7,18 @@ export { DEFAULT_CONVERSATION_CONFIG, getConversationConfig, } from './conversat
|
|
|
7
7
|
export { DocumentManager } from './knowledge/DocumentManager';
|
|
8
8
|
export { ProviderNamespace, BuiltInProviders, ProviderNotAvailableError, } from './core/providers/ai-provider.interface';
|
|
9
9
|
export type { ProviderNamespaceType, AIProvider, AIQueryOptions, AIResponse, } from './core/providers/ai-provider.interface';
|
|
10
|
+
export { BaseAIProvider } from './core/providers/base-ai.provider';
|
|
11
|
+
export { ClaudeProvider, GeminiProvider, CopilotProvider, CodexProvider, } from './core/providers';
|
|
12
|
+
export type { BaseAIProviderOptions, LoggerLike, AIProviderConfig, } from './core/providers/base-ai.types';
|
|
13
|
+
export type { Tool, ToolExecutionContext, ToolExecutionResult, ToolCallHandler, } from './core/providers/tool-call.types';
|
|
10
14
|
export type { AgentAction, AgentConfig, AgentsConfig, AgentInfo, AgentQueryOptions, AgentResponse, RemoteAgentConfigInput, RemoteAgentInfo, } from './types/agent.types';
|
|
11
15
|
export { ExecutionMode, SecurityLevel } from './types/agent.types';
|
|
12
16
|
export { getErrorMessage, getErrorStack, isError } from './utils/error-utils';
|
|
13
17
|
export { MentionParser, loadAvailableAgents, type MentionTask, type ParsedMentions, } from './utils/mention-parser';
|
|
18
|
+
export { BaseMessageFormatter, DefaultMessageFormatter, type StructuredMessage, type FormatterOptions, } from './utils/base-message-formatter';
|
|
14
19
|
export { createCrewxAgent, loadAgentConfigFromYaml, type CrewxAgent, type CrewxAgentConfig, type CrewxAgentResult, type ProviderConfig as AgentProviderConfig, type KnowledgeBaseConfig, } from './core/agent';
|
|
15
20
|
export { type AgentQueryRequest, type AgentExecuteRequest, type AgentResult, type CallStackFrame, type EventListener, } from './core/agent';
|
|
21
|
+
export { RemoteAgentManager, FetchRemoteTransport, MockRemoteTransport, type RemoteAgentManagerOptions, } from './core/remote';
|
|
22
|
+
export type { RemoteAgentConfig, RemoteTransport, RemoteTransportRequestOptions, RemoteAgentQueryRequest, RemoteAgentExecuteRequest, RemoteAgentResponse, McpJsonRpcRequest, McpJsonRpcResponse, ToolNameMapping, RemoteAgentDescriptor, } from './core/remote';
|
|
23
|
+
export { ParallelRunner, ParallelRunnerTimeoutError, createDefaultParallelRunner, } from './core/parallel';
|
|
24
|
+
export type { ParallelRunnerMetrics, ParallelRunnerOptions, Task, TaskResult, TaskCallbacks, TaskExecutionContext, } from './core/parallel';
|
package/dist/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.loadAgentConfigFromYaml = exports.createCrewxAgent = exports.loadAvailableAgents = exports.MentionParser = exports.isError = exports.getErrorStack = exports.getErrorMessage = exports.SecurityLevel = exports.ExecutionMode = exports.ProviderNotAvailableError = exports.BuiltInProviders = exports.ProviderNamespace = exports.DocumentManager = exports.getConversationConfig = exports.DEFAULT_CONVERSATION_CONFIG = exports.getDefaultTimeoutConfig = exports.getTimeoutConfig = exports.DEFAULT_MAX_FILES = exports.DEFAULT_MAX_FILE_SIZE = exports.PREFIX_TOOL_NAME = exports.SERVER_NAME = void 0;
|
|
3
|
+
exports.createDefaultParallelRunner = exports.ParallelRunnerTimeoutError = exports.ParallelRunner = exports.MockRemoteTransport = exports.FetchRemoteTransport = exports.RemoteAgentManager = exports.loadAgentConfigFromYaml = exports.createCrewxAgent = exports.DefaultMessageFormatter = exports.BaseMessageFormatter = exports.loadAvailableAgents = exports.MentionParser = exports.isError = exports.getErrorStack = exports.getErrorMessage = exports.SecurityLevel = exports.ExecutionMode = exports.CodexProvider = exports.CopilotProvider = exports.GeminiProvider = exports.ClaudeProvider = exports.BaseAIProvider = exports.ProviderNotAvailableError = exports.BuiltInProviders = exports.ProviderNamespace = exports.DocumentManager = exports.getConversationConfig = exports.DEFAULT_CONVERSATION_CONFIG = exports.getDefaultTimeoutConfig = exports.getTimeoutConfig = exports.DEFAULT_MAX_FILES = exports.DEFAULT_MAX_FILE_SIZE = exports.PREFIX_TOOL_NAME = exports.SERVER_NAME = void 0;
|
|
4
4
|
var constants_1 = require("./constants");
|
|
5
5
|
Object.defineProperty(exports, "SERVER_NAME", { enumerable: true, get: function () { return constants_1.SERVER_NAME; } });
|
|
6
6
|
Object.defineProperty(exports, "PREFIX_TOOL_NAME", { enumerable: true, get: function () { return constants_1.PREFIX_TOOL_NAME; } });
|
|
@@ -18,6 +18,13 @@ var ai_provider_interface_1 = require("./core/providers/ai-provider.interface");
|
|
|
18
18
|
Object.defineProperty(exports, "ProviderNamespace", { enumerable: true, get: function () { return ai_provider_interface_1.ProviderNamespace; } });
|
|
19
19
|
Object.defineProperty(exports, "BuiltInProviders", { enumerable: true, get: function () { return ai_provider_interface_1.BuiltInProviders; } });
|
|
20
20
|
Object.defineProperty(exports, "ProviderNotAvailableError", { enumerable: true, get: function () { return ai_provider_interface_1.ProviderNotAvailableError; } });
|
|
21
|
+
var base_ai_provider_1 = require("./core/providers/base-ai.provider");
|
|
22
|
+
Object.defineProperty(exports, "BaseAIProvider", { enumerable: true, get: function () { return base_ai_provider_1.BaseAIProvider; } });
|
|
23
|
+
var providers_1 = require("./core/providers");
|
|
24
|
+
Object.defineProperty(exports, "ClaudeProvider", { enumerable: true, get: function () { return providers_1.ClaudeProvider; } });
|
|
25
|
+
Object.defineProperty(exports, "GeminiProvider", { enumerable: true, get: function () { return providers_1.GeminiProvider; } });
|
|
26
|
+
Object.defineProperty(exports, "CopilotProvider", { enumerable: true, get: function () { return providers_1.CopilotProvider; } });
|
|
27
|
+
Object.defineProperty(exports, "CodexProvider", { enumerable: true, get: function () { return providers_1.CodexProvider; } });
|
|
21
28
|
var agent_types_1 = require("./types/agent.types");
|
|
22
29
|
Object.defineProperty(exports, "ExecutionMode", { enumerable: true, get: function () { return agent_types_1.ExecutionMode; } });
|
|
23
30
|
Object.defineProperty(exports, "SecurityLevel", { enumerable: true, get: function () { return agent_types_1.SecurityLevel; } });
|
|
@@ -28,7 +35,18 @@ Object.defineProperty(exports, "isError", { enumerable: true, get: function () {
|
|
|
28
35
|
var mention_parser_1 = require("./utils/mention-parser");
|
|
29
36
|
Object.defineProperty(exports, "MentionParser", { enumerable: true, get: function () { return mention_parser_1.MentionParser; } });
|
|
30
37
|
Object.defineProperty(exports, "loadAvailableAgents", { enumerable: true, get: function () { return mention_parser_1.loadAvailableAgents; } });
|
|
38
|
+
var base_message_formatter_1 = require("./utils/base-message-formatter");
|
|
39
|
+
Object.defineProperty(exports, "BaseMessageFormatter", { enumerable: true, get: function () { return base_message_formatter_1.BaseMessageFormatter; } });
|
|
40
|
+
Object.defineProperty(exports, "DefaultMessageFormatter", { enumerable: true, get: function () { return base_message_formatter_1.DefaultMessageFormatter; } });
|
|
31
41
|
var agent_1 = require("./core/agent");
|
|
32
42
|
Object.defineProperty(exports, "createCrewxAgent", { enumerable: true, get: function () { return agent_1.createCrewxAgent; } });
|
|
33
43
|
Object.defineProperty(exports, "loadAgentConfigFromYaml", { enumerable: true, get: function () { return agent_1.loadAgentConfigFromYaml; } });
|
|
44
|
+
var remote_1 = require("./core/remote");
|
|
45
|
+
Object.defineProperty(exports, "RemoteAgentManager", { enumerable: true, get: function () { return remote_1.RemoteAgentManager; } });
|
|
46
|
+
Object.defineProperty(exports, "FetchRemoteTransport", { enumerable: true, get: function () { return remote_1.FetchRemoteTransport; } });
|
|
47
|
+
Object.defineProperty(exports, "MockRemoteTransport", { enumerable: true, get: function () { return remote_1.MockRemoteTransport; } });
|
|
48
|
+
var parallel_1 = require("./core/parallel");
|
|
49
|
+
Object.defineProperty(exports, "ParallelRunner", { enumerable: true, get: function () { return parallel_1.ParallelRunner; } });
|
|
50
|
+
Object.defineProperty(exports, "ParallelRunnerTimeoutError", { enumerable: true, get: function () { return parallel_1.ParallelRunnerTimeoutError; } });
|
|
51
|
+
Object.defineProperty(exports, "createDefaultParallelRunner", { enumerable: true, get: function () { return parallel_1.createDefaultParallelRunner; } });
|
|
34
52
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAMA,yCAKqB;AAJnB,wGAAA,WAAW,OAAA;AACX,6GAAA,gBAAgB,OAAA;AAChB,kHAAA,qBAAqB,OAAA;AACrB,8GAAA,iBAAiB,OAAA;AAKnB,0DAAoF;AAA3E,kHAAA,gBAAgB,OAAA;AAAE,yHAAA,uBAAuB,OAAA;AAUlD,0EAG4C;AAF1C,kIAAA,2BAA2B,OAAA;AAC3B,4HAAA,qBAAqB,OAAA;AAIvB,+DAA8D;AAArD,kHAAA,eAAe,OAAA;AAGxB,gFAIgD;AAH9C,0HAAA,iBAAiB,OAAA;AACjB,yHAAA,gBAAgB,OAAA;AAChB,kIAAA,yBAAyB,OAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAMA,yCAKqB;AAJnB,wGAAA,WAAW,OAAA;AACX,6GAAA,gBAAgB,OAAA;AAChB,kHAAA,qBAAqB,OAAA;AACrB,8GAAA,iBAAiB,OAAA;AAKnB,0DAAoF;AAA3E,kHAAA,gBAAgB,OAAA;AAAE,yHAAA,uBAAuB,OAAA;AAUlD,0EAG4C;AAF1C,kIAAA,2BAA2B,OAAA;AAC3B,4HAAA,qBAAqB,OAAA;AAIvB,+DAA8D;AAArD,kHAAA,eAAe,OAAA;AAGxB,gFAIgD;AAH9C,0HAAA,iBAAiB,OAAA;AACjB,yHAAA,gBAAgB,OAAA;AAChB,kIAAA,yBAAyB,OAAA;AAQ3B,sEAAmE;AAA1D,kHAAA,cAAc,OAAA;AACvB,8CAK0B;AAJxB,2GAAA,cAAc,OAAA;AACd,2GAAA,cAAc,OAAA;AACd,4GAAA,eAAe,OAAA;AACf,0GAAA,aAAa,OAAA;AAyBf,mDAAmE;AAA1D,4GAAA,aAAa,OAAA;AAAE,4GAAA,aAAa,OAAA;AAGrC,mDAA8E;AAArE,8GAAA,eAAe,OAAA;AAAE,4GAAA,aAAa,OAAA;AAAE,sGAAA,OAAO,OAAA;AAChD,yDAKgC;AAJ9B,+GAAA,aAAa,OAAA;AACb,qHAAA,mBAAmB,OAAA;AAIrB,yEAKwC;AAJtC,8HAAA,oBAAoB,OAAA;AACpB,iIAAA,uBAAuB,OAAA;AAMzB,sCAQsB;AAPpB,yGAAA,gBAAgB,OAAA;AAChB,gHAAA,uBAAuB,OAAA;AAgBzB,wCAKuB;AAJrB,4GAAA,kBAAkB,OAAA;AAClB,8GAAA,oBAAoB,OAAA;AACpB,6GAAA,mBAAmB,OAAA;AAiBrB,4CAIyB;AAHvB,0GAAA,cAAc,OAAA;AACd,sHAAA,0BAA0B,OAAA;AAC1B,uHAAA,2BAA2B,OAAA"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { ConversationMessage } from '../conversation/conversation-history.interface';
|
|
2
|
+
export interface StructuredMessage {
|
|
3
|
+
id?: string;
|
|
4
|
+
userId?: string;
|
|
5
|
+
text: string;
|
|
6
|
+
timestamp?: Date | string;
|
|
7
|
+
isAssistant: boolean;
|
|
8
|
+
metadata?: Record<string, any>;
|
|
9
|
+
}
|
|
10
|
+
export interface FormatterOptions {
|
|
11
|
+
platform?: 'cli' | 'slack' | string;
|
|
12
|
+
includeUserId?: boolean;
|
|
13
|
+
includeTimestamp?: boolean;
|
|
14
|
+
maxLength?: number;
|
|
15
|
+
userPrefix?: string;
|
|
16
|
+
assistantPrefix?: string;
|
|
17
|
+
}
|
|
18
|
+
export declare abstract class BaseMessageFormatter {
|
|
19
|
+
formatHistory(messages: StructuredMessage[], options?: FormatterOptions): string;
|
|
20
|
+
formatMessage(msg: StructuredMessage, options?: FormatterOptions): string;
|
|
21
|
+
buildContext(payload: any, options?: FormatterOptions): string;
|
|
22
|
+
convertToStructured(message: ConversationMessage): StructuredMessage;
|
|
23
|
+
convertToStructuredArray(messages: ConversationMessage[]): StructuredMessage[];
|
|
24
|
+
protected formatMetadata(metadata: Record<string, any>): string;
|
|
25
|
+
protected normalizeTimestamp(timestamp: Date | string): string;
|
|
26
|
+
protected sanitizeText(text: string, maxLength?: number): string;
|
|
27
|
+
protected truncateText(text: string, maxLength: number): string;
|
|
28
|
+
protected getDefaultOptions(options?: FormatterOptions): FormatterOptions;
|
|
29
|
+
private resolveDisplayName;
|
|
30
|
+
}
|
|
31
|
+
export declare class DefaultMessageFormatter extends BaseMessageFormatter {
|
|
32
|
+
}
|
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DefaultMessageFormatter = exports.BaseMessageFormatter = void 0;
|
|
4
|
+
class BaseMessageFormatter {
|
|
5
|
+
formatHistory(messages, options) {
|
|
6
|
+
if (!messages || messages.length === 0) {
|
|
7
|
+
return '';
|
|
8
|
+
}
|
|
9
|
+
const formattedMessages = messages.map(msg => this.formatMessage(msg, options));
|
|
10
|
+
return formattedMessages.join('\n\n');
|
|
11
|
+
}
|
|
12
|
+
formatMessage(msg, options) {
|
|
13
|
+
if (!msg || !msg.text) {
|
|
14
|
+
return '';
|
|
15
|
+
}
|
|
16
|
+
const opts = this.getDefaultOptions(options);
|
|
17
|
+
const customUserPrefix = options?.userPrefix;
|
|
18
|
+
const customAssistantPrefix = options?.assistantPrefix;
|
|
19
|
+
const parts = [];
|
|
20
|
+
const displayName = this.resolveDisplayName(msg);
|
|
21
|
+
if (msg.isAssistant) {
|
|
22
|
+
const assistantLabel = customAssistantPrefix ||
|
|
23
|
+
opts.assistantPrefix ||
|
|
24
|
+
(displayName ? `🤖 ${displayName}` : '🤖 Assistant');
|
|
25
|
+
parts.push(assistantLabel);
|
|
26
|
+
}
|
|
27
|
+
else {
|
|
28
|
+
if (customUserPrefix) {
|
|
29
|
+
parts.push(customUserPrefix);
|
|
30
|
+
}
|
|
31
|
+
else if (displayName) {
|
|
32
|
+
parts.push(`👤 ${displayName}`);
|
|
33
|
+
}
|
|
34
|
+
else {
|
|
35
|
+
parts.push(opts.userPrefix || '👤 User');
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
if (opts.includeUserId && msg.userId) {
|
|
39
|
+
parts.push(`(${msg.userId})`);
|
|
40
|
+
}
|
|
41
|
+
if (opts.includeTimestamp && msg.timestamp) {
|
|
42
|
+
const timestamp = this.normalizeTimestamp(msg.timestamp);
|
|
43
|
+
parts.push(`[${timestamp}]`);
|
|
44
|
+
}
|
|
45
|
+
const header = parts.join(' ');
|
|
46
|
+
const safeText = this.sanitizeText(msg.text, opts.maxLength);
|
|
47
|
+
return `${header}:\n${safeText}`;
|
|
48
|
+
}
|
|
49
|
+
buildContext(payload, options) {
|
|
50
|
+
if (!payload) {
|
|
51
|
+
return '';
|
|
52
|
+
}
|
|
53
|
+
const parts = [];
|
|
54
|
+
if (payload.prompt) {
|
|
55
|
+
parts.push(`**Prompt:**\n${payload.prompt}`);
|
|
56
|
+
}
|
|
57
|
+
if (payload.context) {
|
|
58
|
+
parts.push(`**Context:**\n${payload.context}`);
|
|
59
|
+
}
|
|
60
|
+
if (payload.messages && Array.isArray(payload.messages)) {
|
|
61
|
+
const history = this.formatHistory(payload.messages, options);
|
|
62
|
+
if (history) {
|
|
63
|
+
parts.push(`**Conversation History:**\n${history}`);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
if (payload.metadata) {
|
|
67
|
+
const metadataStr = this.formatMetadata(payload.metadata);
|
|
68
|
+
if (metadataStr) {
|
|
69
|
+
parts.push(`**Metadata:**\n${metadataStr}`);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
return parts.join('\n\n');
|
|
73
|
+
}
|
|
74
|
+
convertToStructured(message) {
|
|
75
|
+
return {
|
|
76
|
+
id: message.id,
|
|
77
|
+
userId: message.userId,
|
|
78
|
+
text: message.text,
|
|
79
|
+
timestamp: message.timestamp,
|
|
80
|
+
isAssistant: message.isAssistant,
|
|
81
|
+
metadata: message.metadata,
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
convertToStructuredArray(messages) {
|
|
85
|
+
if (!messages || messages.length === 0) {
|
|
86
|
+
return [];
|
|
87
|
+
}
|
|
88
|
+
return messages.map(msg => this.convertToStructured(msg));
|
|
89
|
+
}
|
|
90
|
+
formatMetadata(metadata) {
|
|
91
|
+
if (!metadata || Object.keys(metadata).length === 0) {
|
|
92
|
+
return '';
|
|
93
|
+
}
|
|
94
|
+
const lines = Object.entries(metadata)
|
|
95
|
+
.filter(([_, value]) => value !== undefined && value !== null)
|
|
96
|
+
.map(([key, value]) => {
|
|
97
|
+
const valueStr = typeof value === 'object' ? JSON.stringify(value) : String(value);
|
|
98
|
+
return `- ${key}: ${valueStr}`;
|
|
99
|
+
});
|
|
100
|
+
return lines.join('\n');
|
|
101
|
+
}
|
|
102
|
+
normalizeTimestamp(timestamp) {
|
|
103
|
+
if (!timestamp) {
|
|
104
|
+
return '';
|
|
105
|
+
}
|
|
106
|
+
try {
|
|
107
|
+
const date = timestamp instanceof Date ? timestamp : new Date(timestamp);
|
|
108
|
+
if (isNaN(date.getTime())) {
|
|
109
|
+
return String(timestamp);
|
|
110
|
+
}
|
|
111
|
+
return date.toISOString();
|
|
112
|
+
}
|
|
113
|
+
catch (error) {
|
|
114
|
+
return String(timestamp);
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
sanitizeText(text, maxLength) {
|
|
118
|
+
if (!text) {
|
|
119
|
+
return '';
|
|
120
|
+
}
|
|
121
|
+
let sanitized = text;
|
|
122
|
+
if (maxLength && sanitized.length > maxLength) {
|
|
123
|
+
sanitized = this.truncateText(sanitized, maxLength);
|
|
124
|
+
}
|
|
125
|
+
return sanitized;
|
|
126
|
+
}
|
|
127
|
+
truncateText(text, maxLength) {
|
|
128
|
+
if (!text || text.length <= maxLength) {
|
|
129
|
+
return text;
|
|
130
|
+
}
|
|
131
|
+
const searchStart = Math.max(0, maxLength - 100);
|
|
132
|
+
let breakPoint = maxLength - 20;
|
|
133
|
+
const lastNewline = text.lastIndexOf('\n', breakPoint);
|
|
134
|
+
if (lastNewline > searchStart) {
|
|
135
|
+
breakPoint = lastNewline;
|
|
136
|
+
}
|
|
137
|
+
else {
|
|
138
|
+
const lastPeriod = text.lastIndexOf('. ', breakPoint);
|
|
139
|
+
if (lastPeriod > searchStart) {
|
|
140
|
+
breakPoint = lastPeriod + 1;
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
const truncated = text.substring(0, breakPoint);
|
|
144
|
+
const remaining = text.length - breakPoint;
|
|
145
|
+
return `${truncated}\n\n...[truncated ${remaining} characters]`;
|
|
146
|
+
}
|
|
147
|
+
getDefaultOptions(options) {
|
|
148
|
+
return {
|
|
149
|
+
platform: 'cli',
|
|
150
|
+
includeUserId: true,
|
|
151
|
+
includeTimestamp: false,
|
|
152
|
+
userPrefix: '👤 User',
|
|
153
|
+
assistantPrefix: '🤖 Assistant',
|
|
154
|
+
...options,
|
|
155
|
+
};
|
|
156
|
+
}
|
|
157
|
+
resolveDisplayName(msg) {
|
|
158
|
+
const metadata = msg.metadata || {};
|
|
159
|
+
return (metadata.realName ||
|
|
160
|
+
metadata.displayName ||
|
|
161
|
+
metadata.username ||
|
|
162
|
+
metadata.agentName ||
|
|
163
|
+
undefined);
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
exports.BaseMessageFormatter = BaseMessageFormatter;
|
|
167
|
+
class DefaultMessageFormatter extends BaseMessageFormatter {
|
|
168
|
+
}
|
|
169
|
+
exports.DefaultMessageFormatter = DefaultMessageFormatter;
|
|
170
|
+
//# sourceMappingURL=base-message-formatter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base-message-formatter.js","sourceRoot":"","sources":["../../src/utils/base-message-formatter.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
import { BaseAIProvider } from './base-ai.provider';
|
|
2
|
-
export interface PluginProviderConfig {
|
|
3
|
-
id: string;
|
|
4
|
-
type: 'plugin';
|
|
5
|
-
cli_command: string;
|
|
6
|
-
display_name?: string;
|
|
7
|
-
description?: string;
|
|
8
|
-
default_model?: string;
|
|
9
|
-
query_args: string[];
|
|
10
|
-
execute_args: string[];
|
|
11
|
-
prompt_in_args: boolean;
|
|
12
|
-
timeout?: {
|
|
13
|
-
query: number;
|
|
14
|
-
execute: number;
|
|
15
|
-
};
|
|
16
|
-
error_patterns?: Array<{
|
|
17
|
-
pattern: string;
|
|
18
|
-
type: string;
|
|
19
|
-
message: string;
|
|
20
|
-
}>;
|
|
21
|
-
not_installed_message?: string;
|
|
22
|
-
env?: Record<string, string>;
|
|
23
|
-
}
|
|
24
|
-
export interface RemoteProviderConfig {
|
|
25
|
-
id: string;
|
|
26
|
-
type: 'remote';
|
|
27
|
-
location: string;
|
|
28
|
-
external_agent_id: string;
|
|
29
|
-
display_name?: string;
|
|
30
|
-
description?: string;
|
|
31
|
-
default_model?: string;
|
|
32
|
-
auth?: {
|
|
33
|
-
type: 'bearer' | 'api_key' | 'none';
|
|
34
|
-
token?: string;
|
|
35
|
-
};
|
|
36
|
-
timeout?: {
|
|
37
|
-
query: number;
|
|
38
|
-
execute: number;
|
|
39
|
-
};
|
|
40
|
-
headers?: Record<string, string>;
|
|
41
|
-
}
|
|
42
|
-
export declare class DynamicProviderFactory {
|
|
43
|
-
private logger;
|
|
44
|
-
private readonly timeoutConfig;
|
|
45
|
-
private readonly BLOCKED_CLI_COMMANDS;
|
|
46
|
-
createProvider(config: PluginProviderConfig | RemoteProviderConfig): BaseAIProvider;
|
|
47
|
-
private createPluginProvider;
|
|
48
|
-
private createRemoteProvider;
|
|
49
|
-
private validateCliCommand;
|
|
50
|
-
private validateCliArgs;
|
|
51
|
-
private validateErrorPatterns;
|
|
52
|
-
private validateEnv;
|
|
53
|
-
private validateRemoteConfig;
|
|
54
|
-
validateConfig(config: any): config is PluginProviderConfig | RemoteProviderConfig;
|
|
55
|
-
}
|