@dexto/core 1.5.3 → 1.5.5
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/agent/DextoAgent.cjs +190 -1
- package/dist/agent/DextoAgent.d.ts +71 -0
- package/dist/agent/DextoAgent.d.ts.map +1 -1
- package/dist/agent/DextoAgent.js +181 -1
- package/dist/agent/schemas.d.ts +51 -21
- package/dist/agent/schemas.d.ts.map +1 -1
- package/dist/context/compaction/overflow.cjs +6 -10
- package/dist/context/compaction/overflow.d.ts +14 -11
- package/dist/context/compaction/overflow.d.ts.map +1 -1
- package/dist/context/compaction/overflow.js +6 -10
- package/dist/context/compaction/providers/reactive-overflow-provider.cjs +15 -0
- package/dist/context/compaction/providers/reactive-overflow-provider.d.ts +15 -0
- package/dist/context/compaction/providers/reactive-overflow-provider.d.ts.map +1 -1
- package/dist/context/compaction/providers/reactive-overflow-provider.js +15 -0
- package/dist/context/compaction/schemas.cjs +22 -2
- package/dist/context/compaction/schemas.d.ts +45 -0
- package/dist/context/compaction/schemas.d.ts.map +1 -1
- package/dist/context/compaction/schemas.js +22 -2
- package/dist/context/compaction/strategies/reactive-overflow.cjs +168 -26
- package/dist/context/compaction/strategies/reactive-overflow.d.ts +22 -0
- package/dist/context/compaction/strategies/reactive-overflow.d.ts.map +1 -1
- package/dist/context/compaction/strategies/reactive-overflow.js +168 -26
- package/dist/context/compaction/types.d.ts +13 -1
- package/dist/context/compaction/types.d.ts.map +1 -1
- package/dist/context/manager.cjs +278 -31
- package/dist/context/manager.d.ts +192 -5
- package/dist/context/manager.d.ts.map +1 -1
- package/dist/context/manager.js +285 -32
- package/dist/context/types.d.ts +6 -0
- package/dist/context/types.d.ts.map +1 -1
- package/dist/context/utils.cjs +77 -11
- package/dist/context/utils.d.ts +86 -8
- package/dist/context/utils.d.ts.map +1 -1
- package/dist/context/utils.js +71 -11
- package/dist/errors/types.cjs +0 -2
- package/dist/errors/types.d.ts +1 -5
- package/dist/errors/types.d.ts.map +1 -1
- package/dist/errors/types.js +0 -2
- package/dist/events/index.cjs +2 -0
- package/dist/events/index.d.ts +21 -6
- package/dist/events/index.d.ts.map +1 -1
- package/dist/events/index.js +2 -0
- package/dist/llm/executor/stream-processor.cjs +104 -28
- package/dist/llm/executor/stream-processor.d.ts +7 -0
- package/dist/llm/executor/stream-processor.d.ts.map +1 -1
- package/dist/llm/executor/stream-processor.js +104 -28
- package/dist/llm/executor/turn-executor.cjs +147 -30
- package/dist/llm/executor/turn-executor.d.ts +28 -10
- package/dist/llm/executor/turn-executor.d.ts.map +1 -1
- package/dist/llm/executor/turn-executor.js +147 -30
- package/dist/llm/formatters/vercel.cjs +36 -28
- package/dist/llm/formatters/vercel.d.ts.map +1 -1
- package/dist/llm/formatters/vercel.js +36 -28
- package/dist/llm/services/factory.cjs +3 -2
- package/dist/llm/services/factory.d.ts +3 -1
- package/dist/llm/services/factory.d.ts.map +1 -1
- package/dist/llm/services/factory.js +3 -2
- package/dist/llm/services/vercel.cjs +31 -6
- package/dist/llm/services/vercel.d.ts +18 -3
- package/dist/llm/services/vercel.d.ts.map +1 -1
- package/dist/llm/services/vercel.js +31 -6
- package/dist/session/chat-session.cjs +29 -13
- package/dist/session/chat-session.d.ts +6 -4
- package/dist/session/chat-session.d.ts.map +1 -1
- package/dist/session/chat-session.js +29 -13
- package/dist/session/session-manager.cjs +11 -0
- package/dist/session/session-manager.d.ts +7 -0
- package/dist/session/session-manager.d.ts.map +1 -1
- package/dist/session/session-manager.js +11 -0
- package/dist/session/title-generator.cjs +2 -2
- package/dist/session/title-generator.js +2 -2
- package/dist/systemPrompt/in-built-prompts.cjs +36 -0
- package/dist/systemPrompt/in-built-prompts.d.ts +18 -1
- package/dist/systemPrompt/in-built-prompts.d.ts.map +1 -1
- package/dist/systemPrompt/in-built-prompts.js +25 -0
- package/dist/systemPrompt/manager.cjs +22 -0
- package/dist/systemPrompt/manager.d.ts +10 -0
- package/dist/systemPrompt/manager.d.ts.map +1 -1
- package/dist/systemPrompt/manager.js +22 -0
- package/dist/systemPrompt/registry.cjs +2 -1
- package/dist/systemPrompt/registry.d.ts +1 -1
- package/dist/systemPrompt/registry.d.ts.map +1 -1
- package/dist/systemPrompt/registry.js +2 -1
- package/dist/systemPrompt/schemas.cjs +7 -0
- package/dist/systemPrompt/schemas.d.ts +13 -13
- package/dist/systemPrompt/schemas.d.ts.map +1 -1
- package/dist/systemPrompt/schemas.js +7 -0
- package/dist/telemetry/telemetry.cjs +12 -5
- package/dist/telemetry/telemetry.d.ts.map +1 -1
- package/dist/telemetry/telemetry.js +12 -5
- package/dist/utils/index.cjs +3 -1
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +1 -0
- package/package.json +15 -5
- package/dist/filesystem/error-codes.cjs +0 -53
- package/dist/filesystem/error-codes.d.ts +0 -31
- package/dist/filesystem/error-codes.d.ts.map +0 -1
- package/dist/filesystem/error-codes.js +0 -30
- package/dist/filesystem/errors.cjs +0 -303
- package/dist/filesystem/errors.d.ts +0 -109
- package/dist/filesystem/errors.d.ts.map +0 -1
- package/dist/filesystem/errors.js +0 -280
- package/dist/filesystem/filesystem-service.cjs +0 -534
- package/dist/filesystem/filesystem-service.d.ts +0 -97
- package/dist/filesystem/filesystem-service.d.ts.map +0 -1
- package/dist/filesystem/filesystem-service.js +0 -501
- package/dist/filesystem/index.cjs +0 -37
- package/dist/filesystem/index.d.ts +0 -11
- package/dist/filesystem/index.d.ts.map +0 -1
- package/dist/filesystem/index.js +0 -11
- package/dist/filesystem/path-validator.cjs +0 -250
- package/dist/filesystem/path-validator.d.ts +0 -103
- package/dist/filesystem/path-validator.d.ts.map +0 -1
- package/dist/filesystem/path-validator.js +0 -217
- package/dist/filesystem/types.cjs +0 -16
- package/dist/filesystem/types.d.ts +0 -175
- package/dist/filesystem/types.d.ts.map +0 -1
- package/dist/filesystem/types.js +0 -0
- package/dist/process/command-validator.cjs +0 -554
- package/dist/process/command-validator.d.ts +0 -49
- package/dist/process/command-validator.d.ts.map +0 -1
- package/dist/process/command-validator.js +0 -531
- package/dist/process/error-codes.cjs +0 -47
- package/dist/process/error-codes.d.ts +0 -25
- package/dist/process/error-codes.d.ts.map +0 -1
- package/dist/process/error-codes.js +0 -24
- package/dist/process/errors.cjs +0 -244
- package/dist/process/errors.d.ts +0 -87
- package/dist/process/errors.d.ts.map +0 -1
- package/dist/process/errors.js +0 -221
- package/dist/process/index.cjs +0 -37
- package/dist/process/index.d.ts +0 -11
- package/dist/process/index.d.ts.map +0 -1
- package/dist/process/index.js +0 -11
- package/dist/process/process-service.cjs +0 -497
- package/dist/process/process-service.d.ts +0 -69
- package/dist/process/process-service.d.ts.map +0 -1
- package/dist/process/process-service.js +0 -464
- package/dist/process/types.cjs +0 -16
- package/dist/process/types.d.ts +0 -107
- package/dist/process/types.d.ts.map +0 -1
- package/dist/process/types.js +0 -0
|
@@ -4,6 +4,7 @@ import { LLMServiceConfig } from './types.js';
|
|
|
4
4
|
import type { IDextoLogger } from '../../logger/v2/types.js';
|
|
5
5
|
import { ToolSet } from '../../tools/types.js';
|
|
6
6
|
import { ContextManager } from '../../context/manager.js';
|
|
7
|
+
import type { CompactionConfigInput } from '../../context/compaction/schemas.js';
|
|
7
8
|
import type { SessionEventBus } from '../../events/index.js';
|
|
8
9
|
import type { IConversationHistoryProvider } from '../../session/history/types.js';
|
|
9
10
|
import type { SystemPromptManager } from '../../systemPrompt/manager.js';
|
|
@@ -36,27 +37,37 @@ export declare class VercelLLMService {
|
|
|
36
37
|
private resourceManager;
|
|
37
38
|
private messageQueue;
|
|
38
39
|
private compactionStrategy;
|
|
40
|
+
private modelLimits;
|
|
41
|
+
private compactionThresholdPercent;
|
|
39
42
|
/**
|
|
40
43
|
* Helper to extract model ID from LanguageModel union type (string | LanguageModelV2)
|
|
41
44
|
*/
|
|
42
45
|
private getModelId;
|
|
43
|
-
constructor(toolManager: ToolManager, model: LanguageModel, systemPromptManager: SystemPromptManager, historyProvider: IConversationHistoryProvider, sessionEventBus: SessionEventBus, config: ValidatedLLMConfig, sessionId: string, resourceManager: ResourceManager, logger: IDextoLogger, compactionStrategy?: import('../../context/compaction/types.js').ICompactionStrategy | null);
|
|
46
|
+
constructor(toolManager: ToolManager, model: LanguageModel, systemPromptManager: SystemPromptManager, historyProvider: IConversationHistoryProvider, sessionEventBus: SessionEventBus, config: ValidatedLLMConfig, sessionId: string, resourceManager: ResourceManager, logger: IDextoLogger, compactionStrategy?: import('../../context/compaction/types.js').ICompactionStrategy | null, compactionConfig?: CompactionConfigInput);
|
|
44
47
|
getAllTools(): Promise<ToolSet>;
|
|
45
48
|
/**
|
|
46
49
|
* Create a TurnExecutor instance for executing the agent loop.
|
|
47
50
|
*/
|
|
48
51
|
private createTurnExecutor;
|
|
52
|
+
/**
|
|
53
|
+
* Result from streaming a response.
|
|
54
|
+
*/
|
|
55
|
+
static StreamResult: {
|
|
56
|
+
text: string;
|
|
57
|
+
};
|
|
49
58
|
/**
|
|
50
59
|
* Stream a response for the given content.
|
|
51
60
|
* Primary method for running conversations with multi-image support.
|
|
52
61
|
*
|
|
53
62
|
* @param content - String or ContentPart[] (text, images, files)
|
|
54
63
|
* @param options - { signal?: AbortSignal }
|
|
55
|
-
* @returns
|
|
64
|
+
* @returns Object with text response
|
|
56
65
|
*/
|
|
57
66
|
stream(content: ContentInput, options?: {
|
|
58
67
|
signal?: AbortSignal;
|
|
59
|
-
}): Promise<
|
|
68
|
+
}): Promise<{
|
|
69
|
+
text: string;
|
|
70
|
+
}>;
|
|
60
71
|
/**
|
|
61
72
|
* Get configuration information about the LLM service
|
|
62
73
|
* @returns Configuration object with provider and model information
|
|
@@ -70,5 +81,9 @@ export declare class VercelLLMService {
|
|
|
70
81
|
* Get the message queue for external access (e.g., queueing messages while busy)
|
|
71
82
|
*/
|
|
72
83
|
getMessageQueue(): MessageQueueService;
|
|
84
|
+
/**
|
|
85
|
+
* Get the compaction strategy for external access (e.g., session-native compaction)
|
|
86
|
+
*/
|
|
87
|
+
getCompactionStrategy(): import('../../context/compaction/types.js').ICompactionStrategy | null;
|
|
73
88
|
}
|
|
74
89
|
//# sourceMappingURL=vercel.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vercel.d.ts","sourceRoot":"","sources":["../../../src/llm/services/vercel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAqB,MAAM,IAAI,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAE7D,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAG1D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AACnF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAEzE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAIxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAGhE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEzD;;;;;;;;;;;;;GAaG;AACH,qBAIa,gBAAgB;IACzB,OAAO,CAAC,KAAK,CAAgB;IAC7B,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,cAAc,CAA+B;IACrD,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,YAAY,CAAsB;IAC1C,OAAO,CAAC,kBAAkB,CAEf;
|
|
1
|
+
{"version":3,"file":"vercel.d.ts","sourceRoot":"","sources":["../../../src/llm/services/vercel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAqB,MAAM,IAAI,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAE7D,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAG1D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAEjF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AACnF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAEzE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAIxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAGhE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEzD;;;;;;;;;;;;;GAaG;AACH,qBAIa,gBAAgB;IACzB,OAAO,CAAC,KAAK,CAAgB;IAC7B,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,cAAc,CAA+B;IACrD,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,YAAY,CAAsB;IAC1C,OAAO,CAAC,kBAAkB,CAEf;IACX,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,0BAA0B,CAAS;IAE3C;;OAEG;IACH,OAAO,CAAC,UAAU;gBAKd,WAAW,EAAE,WAAW,EACxB,KAAK,EAAE,aAAa,EACpB,mBAAmB,EAAE,mBAAmB,EACxC,eAAe,EAAE,4BAA4B,EAC7C,eAAe,EAAE,eAAe,EAChC,MAAM,EAAE,kBAAkB,EAC1B,SAAS,EAAE,MAAM,EACjB,eAAe,EAAE,eAAe,EAChC,MAAM,EAAE,YAAY,EACpB,kBAAkB,CAAC,EAAE,OAAO,mCAAmC,EAAE,mBAAmB,GAAG,IAAI,EAC3F,gBAAgB,CAAC,EAAE,qBAAqB;IAuD5C,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAI/B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IA0B1B;;OAEG;IACH,OAAc,YAAY,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAE7C;;;;;;;OAOG;IACG,MAAM,CACR,OAAO,EAAE,YAAY,EACrB,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,GACnC,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAwD5B;;;OAGG;IACH,SAAS,IAAI,gBAAgB;IA+B7B;;OAEG;IACH,iBAAiB,IAAI,cAAc,CAAC,OAAO,CAAC;IAI5C;;OAEG;IACH,eAAe,IAAI,mBAAmB;IAItC;;OAEG;IACH,qBAAqB,IACf,OAAO,mCAAmC,EAAE,mBAAmB,GAC/D,IAAI;CAGb"}
|
|
@@ -29,13 +29,15 @@ class VercelLLMService {
|
|
|
29
29
|
resourceManager;
|
|
30
30
|
messageQueue;
|
|
31
31
|
compactionStrategy;
|
|
32
|
+
modelLimits;
|
|
33
|
+
compactionThresholdPercent;
|
|
32
34
|
/**
|
|
33
35
|
* Helper to extract model ID from LanguageModel union type (string | LanguageModelV2)
|
|
34
36
|
*/
|
|
35
37
|
getModelId() {
|
|
36
38
|
return typeof this.model === "string" ? this.model : this.model.modelId;
|
|
37
39
|
}
|
|
38
|
-
constructor(toolManager, model, systemPromptManager, historyProvider, sessionEventBus, config, sessionId, resourceManager, logger, compactionStrategy) {
|
|
40
|
+
constructor(toolManager, model, systemPromptManager, historyProvider, sessionEventBus, config, sessionId, resourceManager, logger, compactionStrategy, compactionConfig) {
|
|
39
41
|
this.logger = logger.createChild(DextoLogComponent.LLM);
|
|
40
42
|
this.model = model;
|
|
41
43
|
this.config = config;
|
|
@@ -44,9 +46,20 @@ class VercelLLMService {
|
|
|
44
46
|
this.sessionId = sessionId;
|
|
45
47
|
this.resourceManager = resourceManager;
|
|
46
48
|
this.compactionStrategy = compactionStrategy ?? null;
|
|
49
|
+
this.compactionThresholdPercent = compactionConfig?.thresholdPercent ?? 0.9;
|
|
47
50
|
this.messageQueue = new MessageQueueService(this.sessionEventBus, this.logger);
|
|
48
51
|
const formatter = new VercelMessageFormatter(this.logger);
|
|
49
52
|
const maxInputTokens = getEffectiveMaxInputTokens(config, this.logger);
|
|
53
|
+
let effectiveContextWindow = maxInputTokens;
|
|
54
|
+
if (compactionConfig?.maxContextTokens !== void 0) {
|
|
55
|
+
effectiveContextWindow = Math.min(maxInputTokens, compactionConfig.maxContextTokens);
|
|
56
|
+
this.logger.debug(
|
|
57
|
+
`Compaction: Using maxContextTokens override: ${compactionConfig.maxContextTokens} (model max: ${maxInputTokens})`
|
|
58
|
+
);
|
|
59
|
+
}
|
|
60
|
+
this.modelLimits = {
|
|
61
|
+
contextWindow: effectiveContextWindow
|
|
62
|
+
};
|
|
50
63
|
this.contextManager = new ContextManager(
|
|
51
64
|
config,
|
|
52
65
|
formatter,
|
|
@@ -86,19 +99,23 @@ class VercelLLMService {
|
|
|
86
99
|
{ provider: this.config.provider, model: this.getModelId() },
|
|
87
100
|
this.logger,
|
|
88
101
|
this.messageQueue,
|
|
89
|
-
|
|
90
|
-
// modelLimits - TurnExecutor will use defaults
|
|
102
|
+
this.modelLimits,
|
|
91
103
|
externalSignal,
|
|
92
|
-
this.compactionStrategy
|
|
104
|
+
this.compactionStrategy,
|
|
105
|
+
this.compactionThresholdPercent
|
|
93
106
|
);
|
|
94
107
|
}
|
|
108
|
+
/**
|
|
109
|
+
* Result from streaming a response.
|
|
110
|
+
*/
|
|
111
|
+
static StreamResult;
|
|
95
112
|
/**
|
|
96
113
|
* Stream a response for the given content.
|
|
97
114
|
* Primary method for running conversations with multi-image support.
|
|
98
115
|
*
|
|
99
116
|
* @param content - String or ContentPart[] (text, images, files)
|
|
100
117
|
* @param options - { signal?: AbortSignal }
|
|
101
|
-
* @returns
|
|
118
|
+
* @returns Object with text response
|
|
102
119
|
*/
|
|
103
120
|
async stream(content, options) {
|
|
104
121
|
const activeSpan = trace.getActiveSpan();
|
|
@@ -128,7 +145,9 @@ class VercelLLMService {
|
|
|
128
145
|
const executor = this.createTurnExecutor(options?.signal);
|
|
129
146
|
const contributorContext = { mcpManager: this.toolManager.getMcpManager() };
|
|
130
147
|
const result = await executor.execute(contributorContext, true);
|
|
131
|
-
return
|
|
148
|
+
return {
|
|
149
|
+
text: result.text ?? ""
|
|
150
|
+
};
|
|
132
151
|
});
|
|
133
152
|
}
|
|
134
153
|
/**
|
|
@@ -173,6 +192,12 @@ class VercelLLMService {
|
|
|
173
192
|
getMessageQueue() {
|
|
174
193
|
return this.messageQueue;
|
|
175
194
|
}
|
|
195
|
+
/**
|
|
196
|
+
* Get the compaction strategy for external access (e.g., session-native compaction)
|
|
197
|
+
*/
|
|
198
|
+
getCompactionStrategy() {
|
|
199
|
+
return this.compactionStrategy;
|
|
200
|
+
}
|
|
176
201
|
}
|
|
177
202
|
_init = __decoratorStart(null);
|
|
178
203
|
VercelLLMService = __decorateElement(_init, 0, "VercelLLMService", _VercelLLMService_decorators, VercelLLMService);
|
|
@@ -169,8 +169,10 @@ class ChatSession {
|
|
|
169
169
|
// Pass ResourceManager for blob storage
|
|
170
170
|
this.logger,
|
|
171
171
|
// Pass logger for dependency injection
|
|
172
|
-
compactionStrategy
|
|
172
|
+
compactionStrategy,
|
|
173
173
|
// Pass compaction strategy
|
|
174
|
+
runtimeConfig.compaction
|
|
175
|
+
// Pass compaction config for threshold settings
|
|
174
176
|
);
|
|
175
177
|
this.logger.debug(`ChatSession ${this.id}: Services initialized with storage`);
|
|
176
178
|
}
|
|
@@ -210,15 +212,15 @@ class ChatSession {
|
|
|
210
212
|
*
|
|
211
213
|
* @param content - String or ContentPart[] (text, images, files)
|
|
212
214
|
* @param options - { signal?: AbortSignal }
|
|
213
|
-
* @returns Promise that resolves to
|
|
215
|
+
* @returns Promise that resolves to object with text response
|
|
214
216
|
*
|
|
215
217
|
* @example
|
|
216
218
|
* ```typescript
|
|
217
219
|
* // Text only
|
|
218
|
-
* const
|
|
220
|
+
* const { text } = await session.stream('What is the weather?');
|
|
219
221
|
*
|
|
220
222
|
* // Multiple images
|
|
221
|
-
* const
|
|
223
|
+
* const { text } = await session.stream([
|
|
222
224
|
* { type: 'text', text: 'Compare these images' },
|
|
223
225
|
* { type: 'image', image: base64Data1, mimeType: 'image/png' },
|
|
224
226
|
* { type: 'image', image: base64Data2, mimeType: 'image/png' }
|
|
@@ -275,10 +277,10 @@ class ChatSession {
|
|
|
275
277
|
modifiedParts = modifiedParts.filter((p) => p.type !== "text");
|
|
276
278
|
modifiedParts.unshift({ type: "text", text: modifiedBeforePayload.text });
|
|
277
279
|
}
|
|
278
|
-
const
|
|
280
|
+
const streamResult = await this.llmService.stream(modifiedParts, { signal });
|
|
279
281
|
const llmConfig = this.services.stateManager.getLLMConfig(this.id);
|
|
280
282
|
const beforeResponsePayload = {
|
|
281
|
-
content:
|
|
283
|
+
content: streamResult.text,
|
|
282
284
|
provider: llmConfig.provider,
|
|
283
285
|
model: llmConfig.model,
|
|
284
286
|
sessionId: this.id
|
|
@@ -295,7 +297,9 @@ class ChatSession {
|
|
|
295
297
|
abortSignal: signal
|
|
296
298
|
}
|
|
297
299
|
);
|
|
298
|
-
return
|
|
300
|
+
return {
|
|
301
|
+
text: modifiedResponsePayload.content
|
|
302
|
+
};
|
|
299
303
|
} catch (error) {
|
|
300
304
|
const aborted = error instanceof Error && error.name === "AbortError" || typeof error === "object" && error !== null && error.aborted === true;
|
|
301
305
|
if (aborted) {
|
|
@@ -307,13 +311,23 @@ class ChatSession {
|
|
|
307
311
|
try {
|
|
308
312
|
const history = await this.getHistory();
|
|
309
313
|
const lastAssistant = history.filter((m) => m.role === "assistant").pop();
|
|
310
|
-
if (lastAssistant
|
|
311
|
-
|
|
314
|
+
if (lastAssistant) {
|
|
315
|
+
if (typeof lastAssistant.content === "string") {
|
|
316
|
+
return { text: lastAssistant.content };
|
|
317
|
+
}
|
|
318
|
+
if (Array.isArray(lastAssistant.content)) {
|
|
319
|
+
const text = lastAssistant.content.filter(
|
|
320
|
+
(part) => part.type === "text"
|
|
321
|
+
).map((part) => part.text).join("");
|
|
322
|
+
if (text) {
|
|
323
|
+
return { text };
|
|
324
|
+
}
|
|
325
|
+
}
|
|
312
326
|
}
|
|
313
327
|
} catch {
|
|
314
328
|
this.logger.debug("Failed to retrieve partial response from history on cancel");
|
|
315
329
|
}
|
|
316
|
-
return "";
|
|
330
|
+
return { text: "" };
|
|
317
331
|
}
|
|
318
332
|
if (error instanceof import_errors.DextoRuntimeError && error.code === import_error_codes.PluginErrorCode.PLUGIN_BLOCKED_EXECUTION && error.scope === import_errors.ErrorScope.PLUGIN && error.type === import_errors.ErrorType.FORBIDDEN) {
|
|
319
333
|
const textContent = parts.filter((p) => p.type === "text").map((p) => p.text).join("\n");
|
|
@@ -327,7 +341,7 @@ class ChatSession {
|
|
|
327
341
|
`Failed to save blocked interaction to history: ${saveError instanceof Error ? saveError.message : String(saveError)}`
|
|
328
342
|
);
|
|
329
343
|
}
|
|
330
|
-
return error.message;
|
|
344
|
+
return { text: error.message };
|
|
331
345
|
}
|
|
332
346
|
this.logger.error(
|
|
333
347
|
`Error in ChatSession.stream: ${error instanceof Error ? error.message : String(error)}`
|
|
@@ -396,7 +410,7 @@ class ChatSession {
|
|
|
396
410
|
* @see {@link ContextManager.resetConversation} for the underlying implementation
|
|
397
411
|
*/
|
|
398
412
|
async reset() {
|
|
399
|
-
await this.
|
|
413
|
+
await this.llmService.getContextManager().resetConversation();
|
|
400
414
|
this.services.agentEventBus.emit("session:reset", {
|
|
401
415
|
sessionId: this.id
|
|
402
416
|
});
|
|
@@ -455,8 +469,10 @@ class ChatSession {
|
|
|
455
469
|
this.id,
|
|
456
470
|
this.services.resourceManager,
|
|
457
471
|
this.logger,
|
|
458
|
-
compactionStrategy
|
|
472
|
+
compactionStrategy,
|
|
459
473
|
// Pass compaction strategy
|
|
474
|
+
runtimeConfig.compaction
|
|
475
|
+
// Pass compaction config for threshold settings
|
|
460
476
|
);
|
|
461
477
|
this.llmService = newLLMService;
|
|
462
478
|
this.logger.info(
|
|
@@ -162,15 +162,15 @@ export declare class ChatSession {
|
|
|
162
162
|
*
|
|
163
163
|
* @param content - String or ContentPart[] (text, images, files)
|
|
164
164
|
* @param options - { signal?: AbortSignal }
|
|
165
|
-
* @returns Promise that resolves to
|
|
165
|
+
* @returns Promise that resolves to object with text response
|
|
166
166
|
*
|
|
167
167
|
* @example
|
|
168
168
|
* ```typescript
|
|
169
169
|
* // Text only
|
|
170
|
-
* const
|
|
170
|
+
* const { text } = await session.stream('What is the weather?');
|
|
171
171
|
*
|
|
172
172
|
* // Multiple images
|
|
173
|
-
* const
|
|
173
|
+
* const { text } = await session.stream([
|
|
174
174
|
* { type: 'text', text: 'Compare these images' },
|
|
175
175
|
* { type: 'image', image: base64Data1, mimeType: 'image/png' },
|
|
176
176
|
* { type: 'image', image: base64Data2, mimeType: 'image/png' }
|
|
@@ -179,7 +179,9 @@ export declare class ChatSession {
|
|
|
179
179
|
*/
|
|
180
180
|
stream(content: ContentInput, options?: {
|
|
181
181
|
signal?: AbortSignal;
|
|
182
|
-
}): Promise<
|
|
182
|
+
}): Promise<{
|
|
183
|
+
text: string;
|
|
184
|
+
}>;
|
|
183
185
|
/**
|
|
184
186
|
* Combine multiple abort signals into one.
|
|
185
187
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat-session.d.ts","sourceRoot":"","sources":["../../src/session/chat-session.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAE7D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD,OAAO,EACH,eAAe,EACf,aAAa,EAIhB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAI1D,OAAO,KAAK,EAAE,eAAe,EAAe,MAAM,qBAAqB,CAAC;AACxE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAGtD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AACH,qBAAa,WAAW;IA6DhB,OAAO,CAAC,QAAQ;aAWA,EAAE,EAAE,MAAM;IAvE9B;;;;;;;;;;OAUG;IACH,SAAgB,QAAQ,EAAE,eAAe,CAAC;IAE1C;;;OAGG;IACH,OAAO,CAAC,eAAe,CAAgC;IAEvD;;;;;OAKG;IACH,OAAO,CAAC,UAAU,CAAoB;IAEtC;;;OAGG;IACH,OAAO,CAAC,UAAU,CAA6D;IAE/E;;OAEG;IACH,OAAO,CAAC,wBAAwB,CACvB;IAET;;;OAGG;IACH,OAAO,CAAC,oBAAoB,CAAgC;IAE5D,OAAO,CAAC,MAAM,CAAe;IAE7B;;;;;;;;;;;OAWG;gBAES,QAAQ,EAAE;QACd,YAAY,EAAE,iBAAiB,CAAC;QAChC,mBAAmB,EAAE,mBAAmB,CAAC;QACzC,WAAW,EAAE,WAAW,CAAC;QACzB,aAAa,EAAE,aAAa,CAAC;QAC7B,cAAc,EAAE,cAAc,CAAC;QAC/B,eAAe,EAAE,OAAO,uBAAuB,EAAE,eAAe,CAAC;QACjE,aAAa,EAAE,aAAa,CAAC;QAC7B,UAAU,EAAE,UAAU,CAAC;QACvB,cAAc,EAAE,OAAO,sBAAsB,EAAE,cAAc,CAAC;KACjE,EACe,EAAE,EAAE,MAAM,EAC1B,MAAM,EAAE,YAAY;IAaxB;;;OAGG;IACU,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAIlC;;;;;;;OAOG;IACH,OAAO,CAAC,oBAAoB;IA4B5B;;;OAGG;IACH,OAAO,CAAC,sBAAsB;IAyB9B;;OAEG;YACW,kBAAkB;
|
|
1
|
+
{"version":3,"file":"chat-session.d.ts","sourceRoot":"","sources":["../../src/session/chat-session.ts"],"names":[],"mappings":"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"}
|
|
@@ -150,8 +150,10 @@ class ChatSession {
|
|
|
150
150
|
// Pass ResourceManager for blob storage
|
|
151
151
|
this.logger,
|
|
152
152
|
// Pass logger for dependency injection
|
|
153
|
-
compactionStrategy
|
|
153
|
+
compactionStrategy,
|
|
154
154
|
// Pass compaction strategy
|
|
155
|
+
runtimeConfig.compaction
|
|
156
|
+
// Pass compaction config for threshold settings
|
|
155
157
|
);
|
|
156
158
|
this.logger.debug(`ChatSession ${this.id}: Services initialized with storage`);
|
|
157
159
|
}
|
|
@@ -191,15 +193,15 @@ class ChatSession {
|
|
|
191
193
|
*
|
|
192
194
|
* @param content - String or ContentPart[] (text, images, files)
|
|
193
195
|
* @param options - { signal?: AbortSignal }
|
|
194
|
-
* @returns Promise that resolves to
|
|
196
|
+
* @returns Promise that resolves to object with text response
|
|
195
197
|
*
|
|
196
198
|
* @example
|
|
197
199
|
* ```typescript
|
|
198
200
|
* // Text only
|
|
199
|
-
* const
|
|
201
|
+
* const { text } = await session.stream('What is the weather?');
|
|
200
202
|
*
|
|
201
203
|
* // Multiple images
|
|
202
|
-
* const
|
|
204
|
+
* const { text } = await session.stream([
|
|
203
205
|
* { type: 'text', text: 'Compare these images' },
|
|
204
206
|
* { type: 'image', image: base64Data1, mimeType: 'image/png' },
|
|
205
207
|
* { type: 'image', image: base64Data2, mimeType: 'image/png' }
|
|
@@ -256,10 +258,10 @@ class ChatSession {
|
|
|
256
258
|
modifiedParts = modifiedParts.filter((p) => p.type !== "text");
|
|
257
259
|
modifiedParts.unshift({ type: "text", text: modifiedBeforePayload.text });
|
|
258
260
|
}
|
|
259
|
-
const
|
|
261
|
+
const streamResult = await this.llmService.stream(modifiedParts, { signal });
|
|
260
262
|
const llmConfig = this.services.stateManager.getLLMConfig(this.id);
|
|
261
263
|
const beforeResponsePayload = {
|
|
262
|
-
content:
|
|
264
|
+
content: streamResult.text,
|
|
263
265
|
provider: llmConfig.provider,
|
|
264
266
|
model: llmConfig.model,
|
|
265
267
|
sessionId: this.id
|
|
@@ -276,7 +278,9 @@ class ChatSession {
|
|
|
276
278
|
abortSignal: signal
|
|
277
279
|
}
|
|
278
280
|
);
|
|
279
|
-
return
|
|
281
|
+
return {
|
|
282
|
+
text: modifiedResponsePayload.content
|
|
283
|
+
};
|
|
280
284
|
} catch (error) {
|
|
281
285
|
const aborted = error instanceof Error && error.name === "AbortError" || typeof error === "object" && error !== null && error.aborted === true;
|
|
282
286
|
if (aborted) {
|
|
@@ -288,13 +292,23 @@ class ChatSession {
|
|
|
288
292
|
try {
|
|
289
293
|
const history = await this.getHistory();
|
|
290
294
|
const lastAssistant = history.filter((m) => m.role === "assistant").pop();
|
|
291
|
-
if (lastAssistant
|
|
292
|
-
|
|
295
|
+
if (lastAssistant) {
|
|
296
|
+
if (typeof lastAssistant.content === "string") {
|
|
297
|
+
return { text: lastAssistant.content };
|
|
298
|
+
}
|
|
299
|
+
if (Array.isArray(lastAssistant.content)) {
|
|
300
|
+
const text = lastAssistant.content.filter(
|
|
301
|
+
(part) => part.type === "text"
|
|
302
|
+
).map((part) => part.text).join("");
|
|
303
|
+
if (text) {
|
|
304
|
+
return { text };
|
|
305
|
+
}
|
|
306
|
+
}
|
|
293
307
|
}
|
|
294
308
|
} catch {
|
|
295
309
|
this.logger.debug("Failed to retrieve partial response from history on cancel");
|
|
296
310
|
}
|
|
297
|
-
return "";
|
|
311
|
+
return { text: "" };
|
|
298
312
|
}
|
|
299
313
|
if (error instanceof DextoRuntimeError && error.code === PluginErrorCode.PLUGIN_BLOCKED_EXECUTION && error.scope === ErrorScope.PLUGIN && error.type === ErrorType.FORBIDDEN) {
|
|
300
314
|
const textContent = parts.filter((p) => p.type === "text").map((p) => p.text).join("\n");
|
|
@@ -308,7 +322,7 @@ class ChatSession {
|
|
|
308
322
|
`Failed to save blocked interaction to history: ${saveError instanceof Error ? saveError.message : String(saveError)}`
|
|
309
323
|
);
|
|
310
324
|
}
|
|
311
|
-
return error.message;
|
|
325
|
+
return { text: error.message };
|
|
312
326
|
}
|
|
313
327
|
this.logger.error(
|
|
314
328
|
`Error in ChatSession.stream: ${error instanceof Error ? error.message : String(error)}`
|
|
@@ -377,7 +391,7 @@ class ChatSession {
|
|
|
377
391
|
* @see {@link ContextManager.resetConversation} for the underlying implementation
|
|
378
392
|
*/
|
|
379
393
|
async reset() {
|
|
380
|
-
await this.
|
|
394
|
+
await this.llmService.getContextManager().resetConversation();
|
|
381
395
|
this.services.agentEventBus.emit("session:reset", {
|
|
382
396
|
sessionId: this.id
|
|
383
397
|
});
|
|
@@ -436,8 +450,10 @@ class ChatSession {
|
|
|
436
450
|
this.id,
|
|
437
451
|
this.services.resourceManager,
|
|
438
452
|
this.logger,
|
|
439
|
-
compactionStrategy
|
|
453
|
+
compactionStrategy,
|
|
440
454
|
// Pass compaction strategy
|
|
455
|
+
runtimeConfig.compaction
|
|
456
|
+
// Pass compaction config for threshold settings
|
|
441
457
|
);
|
|
442
458
|
this.llmService = newLLMService;
|
|
443
459
|
this.logger.info(
|
|
@@ -516,6 +516,17 @@ class SessionManager {
|
|
|
516
516
|
sessionTTL: this.sessionTTL
|
|
517
517
|
};
|
|
518
518
|
}
|
|
519
|
+
/**
|
|
520
|
+
* Get the raw session data for a session ID.
|
|
521
|
+
*
|
|
522
|
+
* @param sessionId The session ID
|
|
523
|
+
* @returns Session data if found, undefined otherwise
|
|
524
|
+
*/
|
|
525
|
+
async getSessionData(sessionId) {
|
|
526
|
+
await this.ensureInitialized();
|
|
527
|
+
const sessionKey = `session:${sessionId}`;
|
|
528
|
+
return await this.services.storageManager.getDatabase().get(sessionKey);
|
|
529
|
+
}
|
|
519
530
|
/**
|
|
520
531
|
* Cleanup all sessions and resources.
|
|
521
532
|
* This should be called when shutting down the application.
|
|
@@ -204,6 +204,13 @@ export declare class SessionManager {
|
|
|
204
204
|
maxSessions: number;
|
|
205
205
|
sessionTTL: number;
|
|
206
206
|
}>;
|
|
207
|
+
/**
|
|
208
|
+
* Get the raw session data for a session ID.
|
|
209
|
+
*
|
|
210
|
+
* @param sessionId The session ID
|
|
211
|
+
* @returns Session data if found, undefined otherwise
|
|
212
|
+
*/
|
|
213
|
+
getSessionData(sessionId: string): Promise<SessionData | undefined>;
|
|
207
214
|
/**
|
|
208
215
|
* Cleanup all sessions and resources.
|
|
209
216
|
* This should be called when shutting down the application.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-manager.d.ts","sourceRoot":"","sources":["../../src/session/session-manager.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"session-manager.d.ts","sourceRoot":"","sources":["../../src/session/session-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -494,6 +494,17 @@ class SessionManager {
|
|
|
494
494
|
sessionTTL: this.sessionTTL
|
|
495
495
|
};
|
|
496
496
|
}
|
|
497
|
+
/**
|
|
498
|
+
* Get the raw session data for a session ID.
|
|
499
|
+
*
|
|
500
|
+
* @param sessionId The session ID
|
|
501
|
+
* @returns Session data if found, undefined otherwise
|
|
502
|
+
*/
|
|
503
|
+
async getSessionData(sessionId) {
|
|
504
|
+
await this.ensureInitialized();
|
|
505
|
+
const sessionKey = `session:${sessionId}`;
|
|
506
|
+
return await this.services.storageManager.getDatabase().get(sessionKey);
|
|
507
|
+
}
|
|
497
508
|
/**
|
|
498
509
|
* Cleanup all sessions and resources.
|
|
499
510
|
* This should be called when shutting down the application.
|
|
@@ -52,11 +52,11 @@ async function generateSessionTitle(config, toolManager, systemPromptManager, re
|
|
|
52
52
|
"Message:",
|
|
53
53
|
sanitizeUserText(userText, 512)
|
|
54
54
|
].join("\n");
|
|
55
|
-
const
|
|
55
|
+
const streamResult = await tempService.stream(
|
|
56
56
|
instruction,
|
|
57
57
|
controller ? { signal: controller.signal } : void 0
|
|
58
58
|
);
|
|
59
|
-
const processed = postProcessTitle(
|
|
59
|
+
const processed = postProcessTitle(streamResult.text);
|
|
60
60
|
if (!processed) {
|
|
61
61
|
return { error: "LLM returned empty title" };
|
|
62
62
|
}
|
|
@@ -29,11 +29,11 @@ async function generateSessionTitle(config, toolManager, systemPromptManager, re
|
|
|
29
29
|
"Message:",
|
|
30
30
|
sanitizeUserText(userText, 512)
|
|
31
31
|
].join("\n");
|
|
32
|
-
const
|
|
32
|
+
const streamResult = await tempService.stream(
|
|
33
33
|
instruction,
|
|
34
34
|
controller ? { signal: controller.signal } : void 0
|
|
35
35
|
);
|
|
36
|
-
const processed = postProcessTitle(
|
|
36
|
+
const processed = postProcessTitle(streamResult.text);
|
|
37
37
|
if (!processed) {
|
|
38
38
|
return { error: "LLM returned empty title" };
|
|
39
39
|
}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __create = Object.create;
|
|
2
3
|
var __defProp = Object.defineProperty;
|
|
3
4
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
5
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
5
7
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
8
|
var __export = (target, all) => {
|
|
7
9
|
for (var name in all)
|
|
@@ -15,10 +17,19 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
15
17
|
}
|
|
16
18
|
return to;
|
|
17
19
|
};
|
|
20
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
26
|
+
mod
|
|
27
|
+
));
|
|
18
28
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
29
|
var in_built_prompts_exports = {};
|
|
20
30
|
__export(in_built_prompts_exports, {
|
|
21
31
|
getCurrentDate: () => getCurrentDate,
|
|
32
|
+
getEnvironmentInfo: () => getEnvironmentInfo,
|
|
22
33
|
getResourceData: () => getResourceData
|
|
23
34
|
});
|
|
24
35
|
module.exports = __toCommonJS(in_built_prompts_exports);
|
|
@@ -26,6 +37,30 @@ async function getCurrentDate(_context) {
|
|
|
26
37
|
const date = (/* @__PURE__ */ new Date()).toISOString().split("T")[0];
|
|
27
38
|
return `<date>Current date: ${date}</date>`;
|
|
28
39
|
}
|
|
40
|
+
async function getEnvironmentInfo(_context) {
|
|
41
|
+
if (typeof process === "undefined" || !process.cwd) {
|
|
42
|
+
return "<environment>Environment info not available in browser context</environment>";
|
|
43
|
+
}
|
|
44
|
+
try {
|
|
45
|
+
const [{ existsSync }, { platform }, { join }] = await Promise.all([
|
|
46
|
+
import("fs"),
|
|
47
|
+
import("os"),
|
|
48
|
+
import("path")
|
|
49
|
+
]);
|
|
50
|
+
const cwd = process.cwd();
|
|
51
|
+
const os = platform();
|
|
52
|
+
const isGitRepo = existsSync(join(cwd, ".git"));
|
|
53
|
+
const shell = process.env.SHELL || (os === "win32" ? "cmd.exe" : "/bin/sh");
|
|
54
|
+
return `<environment>
|
|
55
|
+
<cwd>${cwd}</cwd>
|
|
56
|
+
<platform>${os}</platform>
|
|
57
|
+
<is_git_repo>${isGitRepo}</is_git_repo>
|
|
58
|
+
<shell>${shell}</shell>
|
|
59
|
+
</environment>`;
|
|
60
|
+
} catch {
|
|
61
|
+
return "<environment>Environment info not available</environment>";
|
|
62
|
+
}
|
|
63
|
+
}
|
|
29
64
|
async function getResourceData(context) {
|
|
30
65
|
const resources = await context.mcpManager.listAllResources();
|
|
31
66
|
if (!resources || resources.length === 0) {
|
|
@@ -58,5 +93,6 @@ ${parts.join("\n")}
|
|
|
58
93
|
// Annotate the CommonJS export names for ESM import in node:
|
|
59
94
|
0 && (module.exports = {
|
|
60
95
|
getCurrentDate,
|
|
96
|
+
getEnvironmentInfo,
|
|
61
97
|
getResourceData
|
|
62
98
|
});
|
|
@@ -10,8 +10,25 @@ import { DynamicContributorContext } from './types.js';
|
|
|
10
10
|
* - Place all dynamic prompt-generating functions in this file.
|
|
11
11
|
* - Also update the `registry.ts` file to register the new function.
|
|
12
12
|
* - Use XML tags to indicate the start and end of the dynamic prompt - they are known to improve performance
|
|
13
|
-
* - Each function should be named clearly to reflect its purpose (e.g., getCurrentDate,
|
|
13
|
+
* - Each function should be named clearly to reflect its purpose (e.g., getCurrentDate, getEnvironmentInfo).
|
|
14
|
+
*/
|
|
15
|
+
/**
|
|
16
|
+
* Returns the current date (without time to prevent KV-cache invalidation).
|
|
14
17
|
*/
|
|
15
18
|
export declare function getCurrentDate(_context: DynamicContributorContext): Promise<string>;
|
|
19
|
+
/**
|
|
20
|
+
* Returns environment information to help agents understand their execution context.
|
|
21
|
+
* This is kept separate from date to optimize caching (env info rarely changes).
|
|
22
|
+
*
|
|
23
|
+
* Includes:
|
|
24
|
+
* - Working directory (cwd)
|
|
25
|
+
* - Platform (os)
|
|
26
|
+
* - Whether the cwd is a git repository
|
|
27
|
+
* - Default shell
|
|
28
|
+
*
|
|
29
|
+
* Note: This function uses dynamic imports for Node.js modules to maintain browser compatibility.
|
|
30
|
+
* In browser environments, it returns a placeholder message.
|
|
31
|
+
*/
|
|
32
|
+
export declare function getEnvironmentInfo(_context: DynamicContributorContext): Promise<string>;
|
|
16
33
|
export declare function getResourceData(context: DynamicContributorContext): Promise<string>;
|
|
17
34
|
//# sourceMappingURL=in-built-prompts.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"in-built-prompts.d.ts","sourceRoot":"","sources":["../../src/systemPrompt/in-built-prompts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAC;AAEvD;;;;;;;;;;;;GAYG;AAEH,wBAAsB,cAAc,CAAC,QAAQ,EAAE,yBAAyB,GAAG,OAAO,CAAC,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"in-built-prompts.d.ts","sourceRoot":"","sources":["../../src/systemPrompt/in-built-prompts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAC;AAEvD;;;;;;;;;;;;GAYG;AAEH;;GAEG;AACH,wBAAsB,cAAc,CAAC,QAAQ,EAAE,yBAAyB,GAAG,OAAO,CAAC,MAAM,CAAC,CAGzF;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,kBAAkB,CAAC,QAAQ,EAAE,yBAAyB,GAAG,OAAO,CAAC,MAAM,CAAC,CA4B7F;AAGD,wBAAsB,eAAe,CAAC,OAAO,EAAE,yBAAyB,GAAG,OAAO,CAAC,MAAM,CAAC,CAiCzF"}
|