@framers/agentos 0.10.23 → 0.10.25
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/api/AgentOS.d.ts.map +1 -1
- package/dist/api/AgentOS.js +3 -2
- package/dist/api/AgentOS.js.map +1 -1
- package/dist/api/agent.d.ts.map +1 -1
- package/dist/api/agent.js +25 -10
- package/dist/api/agent.js.map +1 -1
- package/dist/api/embedText.d.ts.map +1 -1
- package/dist/api/embedText.js +53 -17
- package/dist/api/embedText.js.map +1 -1
- package/dist/api/generateImage.d.ts.map +1 -1
- package/dist/api/generateImage.js +51 -7
- package/dist/api/generateImage.js.map +1 -1
- package/dist/api/generateText.d.ts +36 -6
- package/dist/api/generateText.d.ts.map +1 -1
- package/dist/api/generateText.js +102 -17
- package/dist/api/generateText.js.map +1 -1
- package/dist/api/model.d.ts.map +1 -1
- package/dist/api/model.js +11 -4
- package/dist/api/model.js.map +1 -1
- package/dist/api/runtime/SelfImprovementSessionManager.d.ts +34 -2
- package/dist/api/runtime/SelfImprovementSessionManager.d.ts.map +1 -1
- package/dist/api/runtime/SelfImprovementSessionManager.js +119 -33
- package/dist/api/runtime/SelfImprovementSessionManager.js.map +1 -1
- package/dist/api/runtime/provider-defaults.d.ts.map +1 -1
- package/dist/api/runtime/provider-defaults.js +5 -2
- package/dist/api/runtime/provider-defaults.js.map +1 -1
- package/dist/api/streamText.d.ts.map +1 -1
- package/dist/api/streamText.js +116 -34
- package/dist/api/streamText.js.map +1 -1
- package/dist/api/types/AgentOSInput.d.ts +11 -0
- package/dist/api/types/AgentOSInput.d.ts.map +1 -1
- package/dist/api/types.d.ts +14 -6
- package/dist/api/types.d.ts.map +1 -1
- package/dist/api/types.js.map +1 -1
- package/dist/cognition/emergent/AdaptPersonalityTool.d.ts +13 -4
- package/dist/cognition/emergent/AdaptPersonalityTool.d.ts.map +1 -1
- package/dist/cognition/emergent/AdaptPersonalityTool.js +32 -23
- package/dist/cognition/emergent/AdaptPersonalityTool.js.map +1 -1
- package/dist/cognition/emergent/EmergentCapabilityEngine.d.ts +18 -6
- package/dist/cognition/emergent/EmergentCapabilityEngine.d.ts.map +1 -1
- package/dist/cognition/emergent/EmergentCapabilityEngine.js.map +1 -1
- package/dist/cognition/emergent/SelfEvaluateTool.d.ts +10 -3
- package/dist/cognition/emergent/SelfEvaluateTool.d.ts.map +1 -1
- package/dist/cognition/emergent/SelfEvaluateTool.js +3 -2
- package/dist/cognition/emergent/SelfEvaluateTool.js.map +1 -1
- package/dist/cognition/substrate/CognitiveMemoryBridge.d.ts +51 -2
- package/dist/cognition/substrate/CognitiveMemoryBridge.d.ts.map +1 -1
- package/dist/cognition/substrate/CognitiveMemoryBridge.js +84 -2
- package/dist/cognition/substrate/CognitiveMemoryBridge.js.map +1 -1
- package/dist/cognition/substrate/ConversationHistoryManager.d.ts +8 -4
- package/dist/cognition/substrate/ConversationHistoryManager.d.ts.map +1 -1
- package/dist/cognition/substrate/ConversationHistoryManager.js +17 -5
- package/dist/cognition/substrate/ConversationHistoryManager.js.map +1 -1
- package/dist/cognition/substrate/GMI.d.ts +92 -5
- package/dist/cognition/substrate/GMI.d.ts.map +1 -1
- package/dist/cognition/substrate/GMI.js +291 -65
- package/dist/cognition/substrate/GMI.js.map +1 -1
- package/dist/cognition/substrate/GMIManager.d.ts +12 -0
- package/dist/cognition/substrate/GMIManager.d.ts.map +1 -1
- package/dist/cognition/substrate/GMIManager.js +22 -16
- package/dist/cognition/substrate/GMIManager.js.map +1 -1
- package/dist/cognition/substrate/IGMI.d.ts +23 -0
- package/dist/cognition/substrate/IGMI.d.ts.map +1 -1
- package/dist/cognition/substrate/IGMI.js.map +1 -1
- package/dist/cognition/substrate/MetapromptExecutor.d.ts +183 -28
- package/dist/cognition/substrate/MetapromptExecutor.d.ts.map +1 -1
- package/dist/cognition/substrate/MetapromptExecutor.js +431 -108
- package/dist/cognition/substrate/MetapromptExecutor.js.map +1 -1
- package/dist/cognition/substrate/personas/IPersonaDefinition.d.ts +5 -0
- package/dist/cognition/substrate/personas/IPersonaDefinition.d.ts.map +1 -1
- package/dist/cognition/substrate/personas/PersonaValidation.d.ts.map +1 -1
- package/dist/cognition/substrate/personas/PersonaValidation.js +30 -0
- package/dist/cognition/substrate/personas/PersonaValidation.js.map +1 -1
- package/dist/cognition/substrate/personas/SoulLoader.d.ts +14 -1
- package/dist/cognition/substrate/personas/SoulLoader.d.ts.map +1 -1
- package/dist/cognition/substrate/personas/SoulLoader.js +45 -12
- package/dist/cognition/substrate/personas/SoulLoader.js.map +1 -1
- package/dist/cognition/substrate/personas/definitions/default_assistant_persona.json +3 -35
- package/dist/cognition/substrate/personas/hexaco.d.ts +34 -0
- package/dist/cognition/substrate/personas/hexaco.d.ts.map +1 -0
- package/dist/cognition/substrate/personas/hexaco.js +66 -0
- package/dist/cognition/substrate/personas/hexaco.js.map +1 -0
- package/dist/cognition/substrate/userFeedback.d.ts +69 -0
- package/dist/cognition/substrate/userFeedback.d.ts.map +1 -0
- package/dist/cognition/substrate/userFeedback.js +107 -0
- package/dist/cognition/substrate/userFeedback.js.map +1 -0
- package/dist/core/conversation/ConversationMessage.d.ts +9 -0
- package/dist/core/conversation/ConversationMessage.d.ts.map +1 -1
- package/dist/core/conversation/ConversationMessage.js.map +1 -1
- package/dist/core/llm/IPromptEngine.d.ts +9 -0
- package/dist/core/llm/IPromptEngine.d.ts.map +1 -1
- package/dist/core/llm/IPromptEngine.js.map +1 -1
- package/dist/core/llm/PromptEngine.d.ts +30 -1
- package/dist/core/llm/PromptEngine.d.ts.map +1 -1
- package/dist/core/llm/PromptEngine.js +229 -92
- package/dist/core/llm/PromptEngine.js.map +1 -1
- package/dist/core/llm/providers/IProvider.d.ts +28 -8
- package/dist/core/llm/providers/IProvider.d.ts.map +1 -1
- package/dist/core/llm/providers/implementations/AnthropicProvider.d.ts +135 -49
- package/dist/core/llm/providers/implementations/AnthropicProvider.d.ts.map +1 -1
- package/dist/core/llm/providers/implementations/AnthropicProvider.js +294 -110
- package/dist/core/llm/providers/implementations/AnthropicProvider.js.map +1 -1
- package/dist/core/llm/providers/implementations/ClaudeCodeProvider.d.ts.map +1 -1
- package/dist/core/llm/providers/implementations/ClaudeCodeProvider.js +15 -1
- package/dist/core/llm/providers/implementations/ClaudeCodeProvider.js.map +1 -1
- package/dist/core/llm/providers/implementations/GeminiCLIProvider.d.ts +1 -1
- package/dist/core/llm/providers/implementations/GeminiCLIProvider.d.ts.map +1 -1
- package/dist/core/llm/providers/implementations/GeminiCLIProvider.js +51 -24
- package/dist/core/llm/providers/implementations/GeminiCLIProvider.js.map +1 -1
- package/dist/core/llm/providers/implementations/GeminiProvider.d.ts +19 -6
- package/dist/core/llm/providers/implementations/GeminiProvider.d.ts.map +1 -1
- package/dist/core/llm/providers/implementations/GeminiProvider.js +62 -24
- package/dist/core/llm/providers/implementations/GeminiProvider.js.map +1 -1
- package/dist/core/llm/providers/implementations/OpenAIProvider.d.ts +255 -70
- package/dist/core/llm/providers/implementations/OpenAIProvider.d.ts.map +1 -1
- package/dist/core/llm/providers/implementations/OpenAIProvider.js +943 -214
- package/dist/core/llm/providers/implementations/OpenAIProvider.js.map +1 -1
- package/dist/core/llm/providers/implementations/cacheLeakDetector.d.ts +15 -7
- package/dist/core/llm/providers/implementations/cacheLeakDetector.d.ts.map +1 -1
- package/dist/core/llm/providers/implementations/cacheLeakDetector.js +12 -7
- package/dist/core/llm/providers/implementations/cacheLeakDetector.js.map +1 -1
- package/dist/core/llm/providers/implementations/openai-response-format-guard.d.ts +17 -0
- package/dist/core/llm/providers/implementations/openai-response-format-guard.d.ts.map +1 -1
- package/dist/core/llm/providers/implementations/openai-response-format-guard.js +31 -0
- package/dist/core/llm/providers/implementations/openai-response-format-guard.js.map +1 -1
- package/dist/core/llm/providers/model-cache-capabilities.d.ts +24 -9
- package/dist/core/llm/providers/model-cache-capabilities.d.ts.map +1 -1
- package/dist/core/llm/providers/model-cache-capabilities.js +59 -44
- package/dist/core/llm/providers/model-cache-capabilities.js.map +1 -1
- package/dist/core/llm/providers/model-effort.d.ts +21 -0
- package/dist/core/llm/providers/model-effort.d.ts.map +1 -1
- package/dist/core/llm/providers/model-effort.js +38 -2
- package/dist/core/llm/providers/model-effort.js.map +1 -1
- package/dist/core/llm/providers/model-forced-tool-choice.d.ts +13 -6
- package/dist/core/llm/providers/model-forced-tool-choice.d.ts.map +1 -1
- package/dist/core/llm/providers/model-forced-tool-choice.js +14 -7
- package/dist/core/llm/providers/model-forced-tool-choice.js.map +1 -1
- package/dist/core/llm/providers/model-thinking.d.ts +64 -13
- package/dist/core/llm/providers/model-thinking.d.ts.map +1 -1
- package/dist/core/llm/providers/model-thinking.js +52 -12
- package/dist/core/llm/providers/model-thinking.js.map +1 -1
- package/dist/core/llm/streaming/StreamingBatcher.d.ts +4 -3
- package/dist/core/llm/streaming/StreamingBatcher.d.ts.map +1 -1
- package/dist/core/llm/streaming/StreamingBatcher.js +8 -3
- package/dist/core/llm/streaming/StreamingBatcher.js.map +1 -1
- package/dist/core/safety/LLMProviderHealthRegistry.d.ts +4 -0
- package/dist/core/safety/LLMProviderHealthRegistry.d.ts.map +1 -1
- package/dist/core/safety/LLMProviderHealthRegistry.js +26 -0
- package/dist/core/safety/LLMProviderHealthRegistry.js.map +1 -1
- package/dist/core/utils/sha256.d.ts +19 -0
- package/dist/core/utils/sha256.d.ts.map +1 -0
- package/dist/core/utils/sha256.js +101 -0
- package/dist/core/utils/sha256.js.map +1 -0
- package/dist/orchestration/pipeline/query/types.js +1 -1
- package/package.json +1 -1
|
@@ -12,9 +12,22 @@
|
|
|
12
12
|
*/
|
|
13
13
|
import type { ICognitiveMemoryManager } from '../memory/CognitiveMemoryManager.js';
|
|
14
14
|
import type { PADState } from '../memory/core/config.js';
|
|
15
|
-
import type { AssembledMemoryContext, MemorySourceType, MemoryType } from '../memory/core/types.js';
|
|
15
|
+
import type { AssembledMemoryContext, MemoryScope, MemorySourceType, MemoryType } from '../memory/core/types.js';
|
|
16
16
|
import { GMIMood } from './IGMI';
|
|
17
17
|
import type { UserContext, GMITurnInput } from './IGMI';
|
|
18
|
+
/**
|
|
19
|
+
* Identity of the turn a memory retrieval runs for. The bridge combines it
|
|
20
|
+
* with the GMI's user and persona to decide which memory scopes a turn may
|
|
21
|
+
* read.
|
|
22
|
+
*/
|
|
23
|
+
export interface CognitiveMemoryTurnScope {
|
|
24
|
+
/** Session the turn belongs to. */
|
|
25
|
+
sessionId?: string;
|
|
26
|
+
/** Conversation thread of the turn (defaults to the session upstream). */
|
|
27
|
+
conversationId?: string;
|
|
28
|
+
/** Organization the turn runs under, when known. */
|
|
29
|
+
organizationId?: string;
|
|
30
|
+
}
|
|
18
31
|
/**
|
|
19
32
|
* Options for encoding a piece of content into cognitive memory.
|
|
20
33
|
*/
|
|
@@ -78,17 +91,53 @@ export declare class CognitiveMemoryBridge {
|
|
|
78
91
|
* @returns A unique array of non-empty tag strings.
|
|
79
92
|
*/
|
|
80
93
|
buildTags(role: 'user' | 'assistant' | 'tool' | 'system'): string[];
|
|
94
|
+
/**
|
|
95
|
+
* Lists the memory scopes a turn may read, in the shape
|
|
96
|
+
* `CognitiveRetrievalOptions.scopes` expects:
|
|
97
|
+
*
|
|
98
|
+
* - `user` scope for the user id, and for the session id and GMI id, where
|
|
99
|
+
* {@link CognitiveMemoryBridge.syncForTurn} and
|
|
100
|
+
* {@link CognitiveMemoryBridge.encode} place user input, assistant replies
|
|
101
|
+
* and traces written without a user;
|
|
102
|
+
* - `thread` scope for the conversation id and the session id;
|
|
103
|
+
* - `persona` scope for the persona id and for the per-user persona id
|
|
104
|
+
* (`<userId>::<personaId>`) that the memory tools write;
|
|
105
|
+
* - `organization` scope for the turn's organization id and the user
|
|
106
|
+
* context's, which the memory tools write under, when known;
|
|
107
|
+
* - every scope for the memory manager's owner id, under which the manager
|
|
108
|
+
* files a trace written without a scope id.
|
|
109
|
+
*
|
|
110
|
+
* Scopes owned by other users or other sessions are never listed.
|
|
111
|
+
*
|
|
112
|
+
* @param turn - Session, conversation and organization of the current turn.
|
|
113
|
+
* @returns A de-duplicated scope list.
|
|
114
|
+
*/
|
|
115
|
+
buildRetrievalScopes(turn?: CognitiveMemoryTurnScope): Array<{
|
|
116
|
+
scope: MemoryScope;
|
|
117
|
+
scopeId: string;
|
|
118
|
+
}>;
|
|
119
|
+
/**
|
|
120
|
+
* The memory manager's owner id (`CognitiveMemoryConfig.agentId`), the scope
|
|
121
|
+
* id the manager gives a trace written without one (consolidated schemas,
|
|
122
|
+
* `AgentMemory.remember` with default options).
|
|
123
|
+
*/
|
|
124
|
+
private memoryOwnerId;
|
|
81
125
|
/**
|
|
82
126
|
* Assembles a cognitive memory context suitable for injection into the LLM prompt.
|
|
83
127
|
*
|
|
84
128
|
* Queries the memory store for relevant traces, assembles them into a text
|
|
85
129
|
* block with token budget constraints, and returns the assembled context.
|
|
130
|
+
* Retrieval is limited to the scopes returned by
|
|
131
|
+
* {@link CognitiveMemoryBridge.buildRetrievalScopes}, so a memory backend
|
|
132
|
+
* shared by several sessions never surfaces another user's or another
|
|
133
|
+
* session's traces in this turn's prompt.
|
|
86
134
|
*
|
|
87
135
|
* @param query - The user's current input text to use as a retrieval query.
|
|
136
|
+
* @param turn - Session, conversation and organization of the current turn.
|
|
88
137
|
* @returns The assembled memory context, or null if cognitive memory is unavailable
|
|
89
138
|
* or the query is empty.
|
|
90
139
|
*/
|
|
91
|
-
assembleContext(query: string): Promise<AssembledMemoryContext | null>;
|
|
140
|
+
assembleContext(query: string, turn?: CognitiveMemoryTurnScope): Promise<AssembledMemoryContext | null>;
|
|
92
141
|
/**
|
|
93
142
|
* Encodes a piece of content into the cognitive memory store.
|
|
94
143
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CognitiveMemoryBridge.d.ts","sourceRoot":"","sources":["../../../src/cognition/substrate/CognitiveMemoryBridge.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AACnF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"CognitiveMemoryBridge.d.ts","sourceRoot":"","sources":["../../../src/cognition/substrate/CognitiveMemoryBridge.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AACnF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,KAAK,EACV,sBAAsB,EACtB,WAAW,EACX,gBAAgB,EAChB,UAAU,EACX,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,OAAO,EAAsB,MAAM,QAAQ,CAAC;AACrD,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAExD;;;;GAIG;AACH,MAAM,WAAW,wBAAwB;IACvC,mCAAmC;IACnC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,0EAA0E;IAC1E,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,oDAAoD;IACpD,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAUD;;GAEG;AACH,MAAM,WAAW,4BAA4B;IAC3C,4EAA4E;IAC5E,IAAI,EAAE,UAAU,CAAC;IACjB,6EAA6E;IAC7E,UAAU,EAAE,gBAAgB,CAAC;IAC7B,0DAA0D;IAC1D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,0DAA0D;IAC1D,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,MAAM,GAAG,QAAQ,CAAC;IAC/C,8DAA8D;IAC9D,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACjB;AAED;;;;;;;;;;GAUG;AACH,qBAAa,qBAAqB;IAY9B,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,aAAa;IAhBhC;;;;;;;;;OASG;gBAEgB,eAAe,EAAE,uBAAuB,EACxC,OAAO,EAAE,MAAM,OAAO,EACtB,cAAc,EAAE,MAAM,WAAW,EACjC,YAAY,EAAE,MAAM,MAAM,EAC1B,QAAQ,EAAE,MAAM,MAAM,EACtB,aAAa,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,IAAI;IAOxG;;;;;;;OAOG;IACI,WAAW,IAAI,QAAQ;IAuB9B;;;;;;;;OAQG;IACI,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,MAAM,GAAG,QAAQ,GAAG,MAAM,EAAE;IAW1E;;;;;;;;;;;;;;;;;;;;OAoBG;IACI,oBAAoB,CACzB,IAAI,CAAC,EAAE,wBAAwB,GAC9B,KAAK,CAAC;QAAE,KAAK,EAAE,WAAW,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAiCjD;;;;OAIG;IACH,OAAO,CAAC,aAAa;IAQrB;;;;;;;;;;;;;;OAcG;IACU,eAAe,CAC1B,KAAK,EAAE,MAAM,EACb,IAAI,CAAC,EAAE,wBAAwB,GAC9B,OAAO,CAAC,sBAAsB,GAAG,IAAI,CAAC;IAgCzC;;;;;;;;OAQG;IACU,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,4BAA4B,GAAG,OAAO,CAAC,IAAI,CAAC;IAuB1F;;;;;;;;;;OAUG;IACU,WAAW,CAAC,SAAS,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA8BtF;;;;;OAKG;IACH,OAAO,CAAC,oBAAoB;CAY7B"}
|
|
@@ -11,6 +11,13 @@
|
|
|
11
11
|
* @module cognitive_substrate/CognitiveMemoryBridge
|
|
12
12
|
*/
|
|
13
13
|
import { GMIMood, GMIInteractionType } from './IGMI.js';
|
|
14
|
+
/**
|
|
15
|
+
* Returns the value when it is a string with visible characters. The value is
|
|
16
|
+
* not trimmed, so ids match the way the bridge wrote them.
|
|
17
|
+
*/
|
|
18
|
+
function nonBlank(value) {
|
|
19
|
+
return typeof value === 'string' && value.trim().length > 0 ? value : undefined;
|
|
20
|
+
}
|
|
14
21
|
/**
|
|
15
22
|
* Bridges a GMI instance with the Cognitive Memory subsystem.
|
|
16
23
|
*
|
|
@@ -93,22 +100,97 @@ export class CognitiveMemoryBridge {
|
|
|
93
100
|
].filter((value) => typeof value === 'string' && value.trim().length > 0);
|
|
94
101
|
return Array.from(new Set(tags));
|
|
95
102
|
}
|
|
103
|
+
/**
|
|
104
|
+
* Lists the memory scopes a turn may read, in the shape
|
|
105
|
+
* `CognitiveRetrievalOptions.scopes` expects:
|
|
106
|
+
*
|
|
107
|
+
* - `user` scope for the user id, and for the session id and GMI id, where
|
|
108
|
+
* {@link CognitiveMemoryBridge.syncForTurn} and
|
|
109
|
+
* {@link CognitiveMemoryBridge.encode} place user input, assistant replies
|
|
110
|
+
* and traces written without a user;
|
|
111
|
+
* - `thread` scope for the conversation id and the session id;
|
|
112
|
+
* - `persona` scope for the persona id and for the per-user persona id
|
|
113
|
+
* (`<userId>::<personaId>`) that the memory tools write;
|
|
114
|
+
* - `organization` scope for the turn's organization id and the user
|
|
115
|
+
* context's, which the memory tools write under, when known;
|
|
116
|
+
* - every scope for the memory manager's owner id, under which the manager
|
|
117
|
+
* files a trace written without a scope id.
|
|
118
|
+
*
|
|
119
|
+
* Scopes owned by other users or other sessions are never listed.
|
|
120
|
+
*
|
|
121
|
+
* @param turn - Session, conversation and organization of the current turn.
|
|
122
|
+
* @returns A de-duplicated scope list.
|
|
123
|
+
*/
|
|
124
|
+
buildRetrievalScopes(turn) {
|
|
125
|
+
const userId = nonBlank(this.getUserContext()?.userId);
|
|
126
|
+
const personaId = nonBlank(this.getPersonaId());
|
|
127
|
+
const sessionId = nonBlank(turn?.sessionId);
|
|
128
|
+
const scopes = [];
|
|
129
|
+
const seen = new Set();
|
|
130
|
+
const add = (scope, scopeId) => {
|
|
131
|
+
if (!scopeId || seen.has(`${scope}:${scopeId}`))
|
|
132
|
+
return;
|
|
133
|
+
seen.add(`${scope}:${scopeId}`);
|
|
134
|
+
scopes.push({ scope, scopeId });
|
|
135
|
+
};
|
|
136
|
+
add('user', userId);
|
|
137
|
+
add('user', sessionId);
|
|
138
|
+
add('user', nonBlank(this.getGmiId()));
|
|
139
|
+
add('thread', nonBlank(turn?.conversationId));
|
|
140
|
+
add('thread', sessionId);
|
|
141
|
+
add('persona', personaId);
|
|
142
|
+
if (userId && personaId) {
|
|
143
|
+
add('persona', `${userId}::${personaId}`);
|
|
144
|
+
}
|
|
145
|
+
add('organization', nonBlank(turn?.organizationId));
|
|
146
|
+
add('organization', nonBlank(this.getUserContext()?.organizationId));
|
|
147
|
+
// The manager files a trace written without a scope id under its own
|
|
148
|
+
// owner id, whatever the scope (AgentMemory.remember writes `thread`).
|
|
149
|
+
const owner = this.memoryOwnerId();
|
|
150
|
+
for (const scope of ['user', 'thread', 'persona', 'organization']) {
|
|
151
|
+
add(scope, owner);
|
|
152
|
+
}
|
|
153
|
+
return scopes;
|
|
154
|
+
}
|
|
155
|
+
/**
|
|
156
|
+
* The memory manager's owner id (`CognitiveMemoryConfig.agentId`), the scope
|
|
157
|
+
* id the manager gives a trace written without one (consolidated schemas,
|
|
158
|
+
* `AgentMemory.remember` with default options).
|
|
159
|
+
*/
|
|
160
|
+
memoryOwnerId() {
|
|
161
|
+
try {
|
|
162
|
+
return nonBlank(this.cognitiveMemory.getConfig?.()?.agentId);
|
|
163
|
+
}
|
|
164
|
+
catch {
|
|
165
|
+
return undefined;
|
|
166
|
+
}
|
|
167
|
+
}
|
|
96
168
|
/**
|
|
97
169
|
* Assembles a cognitive memory context suitable for injection into the LLM prompt.
|
|
98
170
|
*
|
|
99
171
|
* Queries the memory store for relevant traces, assembles them into a text
|
|
100
172
|
* block with token budget constraints, and returns the assembled context.
|
|
173
|
+
* Retrieval is limited to the scopes returned by
|
|
174
|
+
* {@link CognitiveMemoryBridge.buildRetrievalScopes}, so a memory backend
|
|
175
|
+
* shared by several sessions never surfaces another user's or another
|
|
176
|
+
* session's traces in this turn's prompt.
|
|
101
177
|
*
|
|
102
178
|
* @param query - The user's current input text to use as a retrieval query.
|
|
179
|
+
* @param turn - Session, conversation and organization of the current turn.
|
|
103
180
|
* @returns The assembled memory context, or null if cognitive memory is unavailable
|
|
104
181
|
* or the query is empty.
|
|
105
182
|
*/
|
|
106
|
-
async assembleContext(query) {
|
|
183
|
+
async assembleContext(query, turn) {
|
|
107
184
|
if (!query.trim()) {
|
|
108
185
|
return null;
|
|
109
186
|
}
|
|
110
187
|
try {
|
|
111
|
-
const
|
|
188
|
+
const scopes = this.buildRetrievalScopes(turn);
|
|
189
|
+
// An empty list would make the store search every scope it knows of.
|
|
190
|
+
if (scopes.length === 0) {
|
|
191
|
+
return null;
|
|
192
|
+
}
|
|
193
|
+
const context = await this.cognitiveMemory.assembleForPrompt(query, 1600, this.getPadState(), { scopes });
|
|
112
194
|
if (context.contextText.trim()) {
|
|
113
195
|
this.addTraceEntry('DEBUG', 'Cognitive memory context assembled.', {
|
|
114
196
|
tokensUsed: context.tokensUsed,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CognitiveMemoryBridge.js","sourceRoot":"","sources":["../../../src/cognition/substrate/CognitiveMemoryBridge.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;
|
|
1
|
+
{"version":3,"file":"CognitiveMemoryBridge.js","sourceRoot":"","sources":["../../../src/cognition/substrate/CognitiveMemoryBridge.ts"],"names":[],"mappings":"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"}
|
|
@@ -60,14 +60,16 @@ export declare class ConversationHistoryManager {
|
|
|
60
60
|
* distinguish success from failure.
|
|
61
61
|
*
|
|
62
62
|
* @param toolCallResult - The result from a tool execution.
|
|
63
|
+
* @returns The tool-role message that was appended.
|
|
63
64
|
*/
|
|
64
|
-
updateWithToolResult(toolCallResult: ToolCallResult):
|
|
65
|
+
updateWithToolResult(toolCallResult: ToolCallResult): ChatMessage;
|
|
65
66
|
/**
|
|
66
67
|
* Builds a `ConversationMessage[]` snapshot of the current history, suitable
|
|
67
68
|
* for injection into the PromptEngine's `PromptComponents`.
|
|
68
69
|
*
|
|
69
70
|
* Each ChatMessage is converted to the richer ConversationMessage format,
|
|
70
|
-
* preserving tool_calls, role mappings, and content
|
|
71
|
+
* preserving tool_calls, thinking blocks, role mappings, and content
|
|
72
|
+
* normalization.
|
|
71
73
|
*
|
|
72
74
|
* @returns An array of ConversationMessage objects mirroring the current history.
|
|
73
75
|
*/
|
|
@@ -87,7 +89,9 @@ export declare class ConversationHistoryManager {
|
|
|
87
89
|
* (AgentOS internal format).
|
|
88
90
|
*
|
|
89
91
|
* Handles role mapping, content normalization, and tool_calls conversion
|
|
90
|
-
* (string arguments are parsed to objects).
|
|
92
|
+
* (string arguments are parsed to objects). An assistant turn's thinking
|
|
93
|
+
* blocks are kept as they are, because Anthropic rejects a tool-loop
|
|
94
|
+
* request that does not replay them verbatim.
|
|
91
95
|
*
|
|
92
96
|
* @param chatMsg - The ChatMessage to convert.
|
|
93
97
|
* @returns The equivalent ConversationMessage.
|
|
@@ -99,7 +103,7 @@ export declare class ConversationHistoryManager {
|
|
|
99
103
|
*
|
|
100
104
|
* Messages with roles ERROR or THOUGHT return `null` as they have no
|
|
101
105
|
* meaningful ChatMessage representation. SUMMARY messages are prefixed
|
|
102
|
-
* with `[Conversation Summary]`.
|
|
106
|
+
* with `[Conversation Summary]`. Thinking blocks carry over unchanged.
|
|
103
107
|
*
|
|
104
108
|
* @param message - The ConversationMessage to convert.
|
|
105
109
|
* @returns The equivalent ChatMessage, or null if the role is not representable.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConversationHistoryManager.d.ts","sourceRoot":"","sources":["../../../src/cognition/substrate/ConversationHistoryManager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,oCAAoC,CAAC;AACjE,OAAO,EACL,mBAAmB,EAGpB,MAAM,6CAA6C,CAAC;AACrD,OAAO,EAEL,YAAY,EACZ,cAAc,EACf,MAAM,QAAQ,CAAC;AAIhB;;;;;;;;GAQG;AACH,qBAAa,0BAA0B;IAWnC,OAAO,CAAC,gBAAgB;IAV1B,2DAA2D;IAC3D,OAAO,CAAC,mBAAmB,CAAqB;IAEhD;;;;;OAKG;gBAEO,gBAAgB,GAAE,MAA+C;IAO3E;;;;;OAKG;IACH,IAAW,OAAO,IAAI,SAAS,WAAW,EAAE,CAE3C;IAED;;;;;;;;;;;OAWG;IACI,MAAM,CAAC,SAAS,EAAE,YAAY,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI;IAgDlE
|
|
1
|
+
{"version":3,"file":"ConversationHistoryManager.d.ts","sourceRoot":"","sources":["../../../src/cognition/substrate/ConversationHistoryManager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,oCAAoC,CAAC;AACjE,OAAO,EACL,mBAAmB,EAGpB,MAAM,6CAA6C,CAAC;AACrD,OAAO,EAEL,YAAY,EACZ,cAAc,EACf,MAAM,QAAQ,CAAC;AAIhB;;;;;;;;GAQG;AACH,qBAAa,0BAA0B;IAWnC,OAAO,CAAC,gBAAgB;IAV1B,2DAA2D;IAC3D,OAAO,CAAC,mBAAmB,CAAqB;IAEhD;;;;;OAKG;gBAEO,gBAAgB,GAAE,MAA+C;IAO3E;;;;;OAKG;IACH,IAAW,OAAO,IAAI,SAAS,WAAW,EAAE,CAE3C;IAED;;;;;;;;;;;OAWG;IACI,MAAM,CAAC,SAAS,EAAE,YAAY,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI;IAgDlE;;;;;;;;;OASG;IACI,oBAAoB,CAAC,cAAc,EAAE,cAAc,GAAG,WAAW;IAexE;;;;;;;;;OASG;IACI,cAAc,IAAI,mBAAmB,EAAE;IAM9C;;;;;;;;OAQG;IACI,OAAO,CAAC,mBAAmB,EAAE,mBAAmB,EAAE,GAAG,IAAI;IAMhE;;;;;;;;;;;OAWG;IACI,4BAA4B,CAAC,OAAO,EAAE,WAAW,GAAG,mBAAmB;IA4B9E;;;;;;;;;;OAUG;IACI,oBAAoB,CACzB,OAAO,EAAE,mBAAmB,GAC3B,WAAW,GAAG,IAAI;IAyCrB;;;;;;;OAOG;IACI,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI;IAIvC;;;OAGG;IACI,KAAK,IAAI,IAAI;IAQpB;;;;;OAKG;IACH,OAAO,CAAC,wBAAwB;IAahC;;;;;;OAMG;IACH,OAAO,CAAC,2BAA2B;IAenC;;;;;OAKG;IACH,OAAO,CAAC,mCAAmC;IAY3C;;;;;;;;OAQG;IACH,OAAO,CAAC,sBAAsB;CAgB/B"}
|
|
@@ -110,9 +110,10 @@ export class ConversationHistoryManager {
|
|
|
110
110
|
* distinguish success from failure.
|
|
111
111
|
*
|
|
112
112
|
* @param toolCallResult - The result from a tool execution.
|
|
113
|
+
* @returns The tool-role message that was appended.
|
|
113
114
|
*/
|
|
114
115
|
updateWithToolResult(toolCallResult) {
|
|
115
|
-
|
|
116
|
+
const message = {
|
|
116
117
|
role: 'tool',
|
|
117
118
|
tool_call_id: toolCallResult.toolCallId,
|
|
118
119
|
name: toolCallResult.toolName,
|
|
@@ -121,14 +122,17 @@ export class ConversationHistoryManager {
|
|
|
121
122
|
: typeof toolCallResult.output === 'string'
|
|
122
123
|
? toolCallResult.output
|
|
123
124
|
: JSON.stringify(toolCallResult.output),
|
|
124
|
-
}
|
|
125
|
+
};
|
|
126
|
+
this.conversationHistory.push(message);
|
|
127
|
+
return message;
|
|
125
128
|
}
|
|
126
129
|
/**
|
|
127
130
|
* Builds a `ConversationMessage[]` snapshot of the current history, suitable
|
|
128
131
|
* for injection into the PromptEngine's `PromptComponents`.
|
|
129
132
|
*
|
|
130
133
|
* Each ChatMessage is converted to the richer ConversationMessage format,
|
|
131
|
-
* preserving tool_calls, role mappings, and content
|
|
134
|
+
* preserving tool_calls, thinking blocks, role mappings, and content
|
|
135
|
+
* normalization.
|
|
132
136
|
*
|
|
133
137
|
* @returns An array of ConversationMessage objects mirroring the current history.
|
|
134
138
|
*/
|
|
@@ -154,7 +158,9 @@ export class ConversationHistoryManager {
|
|
|
154
158
|
* (AgentOS internal format).
|
|
155
159
|
*
|
|
156
160
|
* Handles role mapping, content normalization, and tool_calls conversion
|
|
157
|
-
* (string arguments are parsed to objects).
|
|
161
|
+
* (string arguments are parsed to objects). An assistant turn's thinking
|
|
162
|
+
* blocks are kept as they are, because Anthropic rejects a tool-loop
|
|
163
|
+
* request that does not replay them verbatim.
|
|
158
164
|
*
|
|
159
165
|
* @param chatMsg - The ChatMessage to convert.
|
|
160
166
|
* @returns The equivalent ConversationMessage.
|
|
@@ -174,6 +180,9 @@ export class ConversationHistoryManager {
|
|
|
174
180
|
...(tc.thoughtSignature ? { thoughtSignature: tc.thoughtSignature } : {}),
|
|
175
181
|
}));
|
|
176
182
|
}
|
|
183
|
+
if (chatMsg.thinkingBlocks && chatMsg.thinkingBlocks.length > 0) {
|
|
184
|
+
conversationMessage.thinkingBlocks = [...chatMsg.thinkingBlocks];
|
|
185
|
+
}
|
|
177
186
|
return conversationMessage;
|
|
178
187
|
}
|
|
179
188
|
/**
|
|
@@ -182,7 +191,7 @@ export class ConversationHistoryManager {
|
|
|
182
191
|
*
|
|
183
192
|
* Messages with roles ERROR or THOUGHT return `null` as they have no
|
|
184
193
|
* meaningful ChatMessage representation. SUMMARY messages are prefixed
|
|
185
|
-
* with `[Conversation Summary]`.
|
|
194
|
+
* with `[Conversation Summary]`. Thinking blocks carry over unchanged.
|
|
186
195
|
*
|
|
187
196
|
* @param message - The ConversationMessage to convert.
|
|
188
197
|
* @returns The equivalent ChatMessage, or null if the role is not representable.
|
|
@@ -217,6 +226,9 @@ export class ConversationHistoryManager {
|
|
|
217
226
|
...(toolCall.thoughtSignature ? { thoughtSignature: toolCall.thoughtSignature } : {}),
|
|
218
227
|
}))
|
|
219
228
|
: undefined,
|
|
229
|
+
...(Array.isArray(message.thinkingBlocks) && message.thinkingBlocks.length > 0
|
|
230
|
+
? { thinkingBlocks: [...message.thinkingBlocks] }
|
|
231
|
+
: {}),
|
|
220
232
|
};
|
|
221
233
|
}
|
|
222
234
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConversationHistoryManager.js","sourceRoot":"","sources":["../../../src/cognition/substrate/ConversationHistoryManager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,EAEL,yBAAyB,EACzB,WAAW,GACZ,MAAM,6CAA6C,CAAC;AACrD,OAAO,EACL,kBAAkB,GAGnB,MAAM,QAAQ,CAAC;AAEhB,MAAM,sCAAsC,GAAG,EAAE,CAAC;AAElD;;;;;;;;GAQG;AACH,MAAM,OAAO,0BAA0B;IAIrC;;;;;OAKG;IACH,YACU,mBAA2B,sCAAsC;QAAjE,qBAAgB,GAAhB,gBAAgB,CAAiD;QAV3E,2DAA2D;QACnD,wBAAmB,GAAkB,EAAE,CAAC;IAU7C,CAAC;IAEJ,8EAA8E;IAC9E,aAAa;IACb,8EAA8E;IAE9E;;;;;OAKG;IACH,IAAW,OAAO;QAChB,OAAO,IAAI,CAAC,mBAAmB,CAAC;IAClC,CAAC;IAED;;;;;;;;;;;OAWG;IACI,MAAM,CAAC,SAAuB,EAAE,WAAoB;QACzD,IAAI,YAAY,GAAuB,IAAI,CAAC;QAE5C,QAAQ,SAAS,CAAC,IAAI,EAAE,CAAC;YACvB,KAAK,kBAAkB,CAAC,IAAI;gBAC1B,YAAY,GAAG;oBACb,IAAI,EAAE,MAAM;oBACZ,OAAO,EAAE,SAAS,CAAC,OAAiB;oBACpC,IAAI,EAAE,SAAS,CAAC,QAAQ,EAAE,QAAQ,IAAI,SAAS,CAAC,MAAM;iBACvD,CAAC;gBACF,MAAM;YACR,KAAK,kBAAkB,CAAC,kBAAkB;gBACxC,YAAY,GAAG;oBACb,IAAI,EAAE,MAAM;oBACZ,OAAO,EAAE,SAAS,CAAC,OAAc;oBACjC,IAAI,EAAE,SAAS,CAAC,QAAQ,EAAE,QAAQ,IAAI,SAAS,CAAC,MAAM;iBACvD,CAAC;gBACF,MAAM;YACR,KAAK,kBAAkB,CAAC,aAAa,CAAC,CAAC,CAAC;gBACtC,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC;oBAC9C,CAAC,CAAE,SAAS,CAAC,OAA4B;oBACzC,CAAC,CAAC,CAAC,SAAS,CAAC,OAAyB,CAAC,CAAC;gBAC1C,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;oBACvB,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC;wBAC5B,IAAI,EAAE,MAAM;wBACZ,YAAY,EAAE,MAAM,CAAC,UAAU;wBAC/B,IAAI,EAAE,MAAM,CAAC,QAAQ;wBACrB,OAAO,EACL,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ;4BAC/B,CAAC,CAAC,MAAM,CAAC,MAAM;4BACf,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC;qBACpC,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;gBACH,MAAM;YACR,CAAC;YACD,KAAK,kBAAkB,CAAC,cAAc;gBACpC,YAAY,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,CAAC,OAAiB,EAAE,CAAC;gBACxE,MAAM;QACV,CAAC;QACD,IAAI,YAAY;YAAE,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAE9D,MAAM,YAAY,GAAG,WAAW,IAAI,IAAI,CAAC,gBAAgB,CAAC;QAC1D,IAAI,IAAI,CAAC,mBAAmB,CAAC,MAAM,GAAG,YAAY,EAAE,CAAC;YACnD,MAAM,WAAW,GAAG,IAAI,CAAC,mBAAmB,CAAC,MAAM,GAAG,YAAY,CAAC;YACnE,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;QAClD,CAAC;IACH,CAAC;IAED
|
|
1
|
+
{"version":3,"file":"ConversationHistoryManager.js","sourceRoot":"","sources":["../../../src/cognition/substrate/ConversationHistoryManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,6 +15,7 @@ import { IGMI, GMIBaseConfig, GMITurnInput, GMIOutputChunk, GMIPrimeState, Reaso
|
|
|
15
15
|
import { IPersonaDefinition } from './personas/IPersonaDefinition';
|
|
16
16
|
import { ConversationMessage } from '../../core/conversation/ConversationMessage';
|
|
17
17
|
import type { ICognitiveMemoryManager } from '../memory/CognitiveMemoryManager.js';
|
|
18
|
+
import { type NormalizedUserFeedback } from './userFeedback';
|
|
18
19
|
/**
|
|
19
20
|
* @class GMI
|
|
20
21
|
* @implements {IGMI}
|
|
@@ -40,6 +41,14 @@ export declare class GMI implements IGMI {
|
|
|
40
41
|
private currentTaskContext;
|
|
41
42
|
private reasoningTrace;
|
|
42
43
|
private conversationHistoryManager;
|
|
44
|
+
/**
|
|
45
|
+
* Turn ownership. Each processTurnStream call takes the next number and
|
|
46
|
+
* owns the lifecycle state until a newer turn starts; a turn that no longer
|
|
47
|
+
* owns it (a failed turn whose generator is drained after the next turn
|
|
48
|
+
* began) leaves the state and the trace's turn id to the newer turn.
|
|
49
|
+
*/
|
|
50
|
+
private turnSequence;
|
|
51
|
+
private stateOwnerTurn;
|
|
43
52
|
private memoryBridge;
|
|
44
53
|
private sentimentTracker;
|
|
45
54
|
private metapromptExecutor;
|
|
@@ -80,6 +89,29 @@ export declare class GMI implements IGMI {
|
|
|
80
89
|
getWorkingMemorySnapshot(): Promise<Record<string, any>>;
|
|
81
90
|
/** @inheritdoc */
|
|
82
91
|
getCognitiveMemoryManager(): ICognitiveMemoryManager | undefined;
|
|
92
|
+
/**
|
|
93
|
+
* Records user feedback on this instance. Adds a reasoning-trace entry
|
|
94
|
+
* (WARNING for negative feedback, DEBUG otherwise) and, when cognitive memory
|
|
95
|
+
* is configured, encodes the feedback as an episodic memory of the user. A
|
|
96
|
+
* correction is also encoded as a semantic memory so later turns can recall
|
|
97
|
+
* it. Memory failures are traced by the bridge and never thrown.
|
|
98
|
+
*
|
|
99
|
+
* @param feedback - Normalized feedback plus the id of the user who sent it.
|
|
100
|
+
*/
|
|
101
|
+
recordUserFeedback(feedback: NormalizedUserFeedback & {
|
|
102
|
+
userId: string;
|
|
103
|
+
}): Promise<void>;
|
|
104
|
+
/**
|
|
105
|
+
* Sets one personality trait on this instance only. The persona definition
|
|
106
|
+
* is shared by every GMI of that persona (it is the GMIManager registry
|
|
107
|
+
* object), so the change is made on a copy that replaces this instance's
|
|
108
|
+
* active persona; other sessions and GMIs created later keep the original.
|
|
109
|
+
*
|
|
110
|
+
* @param trait - Trait key, e.g. `openness` or `honesty`.
|
|
111
|
+
* @param value - New trait value.
|
|
112
|
+
* @throws {GMIError} When the GMI has not been initialized.
|
|
113
|
+
*/
|
|
114
|
+
setPersonalityTrait(trait: string, value: number): void;
|
|
83
115
|
/**
|
|
84
116
|
* Adds an entry to the GMI's reasoning trace.
|
|
85
117
|
* @private
|
|
@@ -88,9 +120,25 @@ export declare class GMI implements IGMI {
|
|
|
88
120
|
private stringifyTurnContent;
|
|
89
121
|
private getConversationIdForTurn;
|
|
90
122
|
private getOrganizationIdForTurn;
|
|
123
|
+
/**
|
|
124
|
+
* Error results for the calls of a tool round that produced none: the call
|
|
125
|
+
* that was running when the round failed and the calls not yet started.
|
|
126
|
+
* Recording them leaves a history in which every tool call the assistant
|
|
127
|
+
* message declared has an answer, which the next request needs (providers
|
|
128
|
+
* reject an unanswered tool call, and a later turn replays this history).
|
|
129
|
+
*
|
|
130
|
+
* @param requests - Every call the round's assistant message declared, in order.
|
|
131
|
+
* @param finishedCount - How many of them already produced a result.
|
|
132
|
+
* @param inFlight - The call that was running when the round failed, if any.
|
|
133
|
+
* @param error - Why the round stopped.
|
|
134
|
+
* @returns One error result per unanswered call.
|
|
135
|
+
*/
|
|
136
|
+
private resultsForUnfinishedToolCalls;
|
|
91
137
|
private buildToolSessionData;
|
|
92
138
|
/**
|
|
93
|
-
* Ensures the GMI is initialized and
|
|
139
|
+
* Ensures the GMI is initialized and idle: READY, or ERRORED after a failed
|
|
140
|
+
* turn. ERRORED only records that the last turn failed; the instance still
|
|
141
|
+
* works, so it does not block the next turn or the memory callbacks.
|
|
94
142
|
* @private
|
|
95
143
|
*/
|
|
96
144
|
private ensureReady;
|
|
@@ -111,6 +159,38 @@ export declare class GMI implements IGMI {
|
|
|
111
159
|
* @returns {PromptExecutionContext} The context for prompt construction.
|
|
112
160
|
*/
|
|
113
161
|
private buildPromptExecutionContext;
|
|
162
|
+
/**
|
|
163
|
+
* Assembles the conversation history and user input for one model call of
|
|
164
|
+
* a turn.
|
|
165
|
+
*
|
|
166
|
+
* The history is the conversation before this turn, then this turn's own
|
|
167
|
+
* messages. The conversation before the turn is the host's durable history
|
|
168
|
+
* (`metadata.conversationHistoryForPrompt`) when the host passed a non-empty
|
|
169
|
+
* one, which ends before the current user message; otherwise it is this
|
|
170
|
+
* GMI's history as the turn found it, without the user message the turn
|
|
171
|
+
* recorded. The turn's own messages are that user message and the assistant
|
|
172
|
+
* replies and tool results of earlier calls in the turn, so a tool round's
|
|
173
|
+
* calls and results reach the next call on either history.
|
|
174
|
+
*
|
|
175
|
+
* On a turn's first call, plain text input travels as `userInput`, which the
|
|
176
|
+
* chat template places last and attaches retrieved context to; the durable
|
|
177
|
+
* path has always sent it that way. Structured (multimodal) input stays a
|
|
178
|
+
* history message, so its parts reach the provider intact and only once.
|
|
179
|
+
*
|
|
180
|
+
* @param turn - Where the turn's messages come from.
|
|
181
|
+
* @param turn.durableHistory - The host's history before this turn, or
|
|
182
|
+
* `null` to use this GMI's own history.
|
|
183
|
+
* @param turn.historyAtTurnStart - This GMI's history once the turn input
|
|
184
|
+
* was recorded.
|
|
185
|
+
* @param turn.currentUserMessage - The user message the turn input added,
|
|
186
|
+
* when the turn is user-initiated.
|
|
187
|
+
* @param turn.turnMessages - Assistant replies and tool results the turn has
|
|
188
|
+
* added so far.
|
|
189
|
+
* @returns The `conversationHistory` and `userInput` prompt components,
|
|
190
|
+
* and how many history messages belong to this turn (token budgeting
|
|
191
|
+
* leaves those whole).
|
|
192
|
+
*/
|
|
193
|
+
private buildPromptConversation;
|
|
114
194
|
/**
|
|
115
195
|
* Determines if RAG retrieval should be triggered based on the current query and persona configuration.
|
|
116
196
|
* @private
|
|
@@ -119,10 +199,17 @@ export declare class GMI implements IGMI {
|
|
|
119
199
|
*/
|
|
120
200
|
private shouldTriggerRAGRetrieval;
|
|
121
201
|
/**
|
|
122
|
-
*
|
|
123
|
-
*
|
|
124
|
-
*
|
|
125
|
-
*
|
|
202
|
+
* Returns the PromptEngine template GMI builds its prompts with.
|
|
203
|
+
*
|
|
204
|
+
* GMI hands the constructed prompt to `IProvider.generateCompletionStream`,
|
|
205
|
+
* whose input is an OpenAI-style `ChatMessage[]` for every provider; each
|
|
206
|
+
* provider converts that array to its own wire format (Anthropic messages
|
|
207
|
+
* with a separate system field, Gemini contents with a systemInstruction).
|
|
208
|
+
* A provider-specific template would hand the provider another shape; the
|
|
209
|
+
* `anthropic_messages` template, for one, returns an object with the
|
|
210
|
+
* system prompt split out, which AnthropicProvider cannot iterate.
|
|
211
|
+
*
|
|
212
|
+
* @returns Always `'openai_chat'`.
|
|
126
213
|
*/
|
|
127
214
|
private determinePromptFormat;
|
|
128
215
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GMI.d.ts","sourceRoot":"","sources":["../../../src/cognition/substrate/GMI.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAGH,OAAO,EACL,IAAI,EACJ,aAAa,EACb,YAAY,EACZ,cAAc,EAEd,aAAa,EAIb,cAAc,EAGd,eAAe,EACf,oBAAoB,EACpB,uBAAuB,EAIvB,cAAc,EACd,iBAAiB,EACjB,SAAS,EAIV,MAAM,QAAQ,CAAC;AAChB,OAAO,EACL,kBAAkB,EAEnB,MAAM,+BAA+B,CAAC;AAavC,OAAO,EAAE,mBAAmB,EAAE,MAAM,6CAA6C,CAAC;AAElF,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;
|
|
1
|
+
{"version":3,"file":"GMI.d.ts","sourceRoot":"","sources":["../../../src/cognition/substrate/GMI.ts"],"names":[],"mappings":"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"}
|