@ariaflowagents/core 0.7.1 → 0.8.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 +90 -1
- package/dist/agents/Agent.d.ts +188 -9
- package/dist/agents/Agent.d.ts.map +1 -1
- package/dist/agents/Agent.js +246 -24
- package/dist/agents/Agent.js.map +1 -1
- package/dist/agents/CompositeAgent.d.ts +4 -3
- package/dist/agents/CompositeAgent.d.ts.map +1 -1
- package/dist/agents/CompositeAgent.js +19 -9
- package/dist/agents/CompositeAgent.js.map +1 -1
- package/dist/agents/FlowAgent.d.ts +3 -2
- package/dist/agents/FlowAgent.d.ts.map +1 -1
- package/dist/agents/FlowAgent.js +16 -6
- package/dist/agents/FlowAgent.js.map +1 -1
- package/dist/agents/TriageAgent.d.ts +8 -2
- package/dist/agents/TriageAgent.d.ts.map +1 -1
- package/dist/agents/TriageAgent.js +39 -6
- package/dist/agents/TriageAgent.js.map +1 -1
- package/dist/agents/index.d.ts +1 -1
- package/dist/agents/index.d.ts.map +1 -1
- package/dist/agents/index.js +0 -1
- package/dist/agents/index.js.map +1 -1
- package/dist/flows/FlowManager.d.ts +8 -0
- package/dist/flows/FlowManager.d.ts.map +1 -1
- package/dist/flows/FlowManager.js +32 -2
- package/dist/flows/FlowManager.js.map +1 -1
- package/dist/foundation/AgentDefinition.d.ts +18 -0
- package/dist/foundation/AgentDefinition.d.ts.map +1 -0
- package/dist/foundation/AgentDefinition.js +2 -0
- package/dist/foundation/AgentDefinition.js.map +1 -0
- package/dist/foundation/AgentStateController.d.ts +26 -0
- package/dist/foundation/AgentStateController.d.ts.map +1 -0
- package/dist/foundation/AgentStateController.js +2 -0
- package/dist/foundation/AgentStateController.js.map +1 -0
- package/dist/foundation/ConversationEventLog.d.ts +72 -0
- package/dist/foundation/ConversationEventLog.d.ts.map +1 -0
- package/dist/foundation/ConversationEventLog.js +2 -0
- package/dist/foundation/ConversationEventLog.js.map +1 -0
- package/dist/foundation/ConversationState.d.ts +31 -0
- package/dist/foundation/ConversationState.d.ts.map +1 -0
- package/dist/foundation/ConversationState.js +2 -0
- package/dist/foundation/ConversationState.js.map +1 -0
- package/dist/foundation/DefaultAgentStateController.d.ts +24 -0
- package/dist/foundation/DefaultAgentStateController.d.ts.map +1 -0
- package/dist/foundation/DefaultAgentStateController.js +49 -0
- package/dist/foundation/DefaultAgentStateController.js.map +1 -0
- package/dist/foundation/DefaultConversationEventLog.d.ts +28 -0
- package/dist/foundation/DefaultConversationEventLog.d.ts.map +1 -0
- package/dist/foundation/DefaultConversationEventLog.js +195 -0
- package/dist/foundation/DefaultConversationEventLog.js.map +1 -0
- package/dist/foundation/DefaultConversationState.d.ts +34 -0
- package/dist/foundation/DefaultConversationState.d.ts.map +1 -0
- package/dist/foundation/DefaultConversationState.js +100 -0
- package/dist/foundation/DefaultConversationState.js.map +1 -0
- package/dist/foundation/DefaultToolExecutor.d.ts +58 -0
- package/dist/foundation/DefaultToolExecutor.d.ts.map +1 -0
- package/dist/foundation/DefaultToolExecutor.js +128 -0
- package/dist/foundation/DefaultToolExecutor.js.map +1 -0
- package/dist/foundation/ToolExecutor.d.ts +44 -0
- package/dist/foundation/ToolExecutor.d.ts.map +1 -0
- package/dist/foundation/ToolExecutor.js +2 -0
- package/dist/foundation/ToolExecutor.js.map +1 -0
- package/dist/foundation/createFoundation.d.ts +33 -0
- package/dist/foundation/createFoundation.d.ts.map +1 -0
- package/dist/foundation/createFoundation.js +34 -0
- package/dist/foundation/createFoundation.js.map +1 -0
- package/dist/foundation/index.d.ts +15 -0
- package/dist/foundation/index.d.ts.map +1 -0
- package/dist/foundation/index.js +8 -0
- package/dist/foundation/index.js.map +1 -0
- package/dist/hooks/HookRunner.d.ts +2 -0
- package/dist/hooks/HookRunner.d.ts.map +1 -1
- package/dist/hooks/HookRunner.js +4 -0
- package/dist/hooks/HookRunner.js.map +1 -1
- package/dist/index.d.ts +13 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +9 -1
- package/dist/index.js.map +1 -1
- package/dist/memory/MemoryService.d.ts +40 -0
- package/dist/memory/MemoryService.d.ts.map +1 -0
- package/dist/memory/MemoryService.js +2 -0
- package/dist/memory/MemoryService.js.map +1 -0
- package/dist/memory/index.d.ts +5 -0
- package/dist/memory/index.d.ts.map +1 -0
- package/dist/memory/index.js +3 -0
- package/dist/memory/index.js.map +1 -0
- package/dist/memory/preloadMemory.d.ts +17 -0
- package/dist/memory/preloadMemory.d.ts.map +1 -0
- package/dist/memory/preloadMemory.js +62 -0
- package/dist/memory/preloadMemory.js.map +1 -0
- package/dist/memory/stores/InMemoryMemoryService.d.ts +20 -0
- package/dist/memory/stores/InMemoryMemoryService.d.ts.map +1 -0
- package/dist/memory/stores/InMemoryMemoryService.js +92 -0
- package/dist/memory/stores/InMemoryMemoryService.js.map +1 -0
- package/dist/memory/types.d.ts +49 -0
- package/dist/memory/types.d.ts.map +1 -0
- package/dist/memory/types.js +8 -0
- package/dist/memory/types.js.map +1 -0
- package/dist/prompts/AgentPrompt.d.ts +110 -0
- package/dist/prompts/AgentPrompt.d.ts.map +1 -0
- package/dist/prompts/AgentPrompt.js +373 -0
- package/dist/prompts/AgentPrompt.js.map +1 -0
- package/dist/prompts/PromptAssembly.d.ts +119 -0
- package/dist/prompts/PromptAssembly.d.ts.map +1 -0
- package/dist/prompts/PromptAssembly.js +150 -0
- package/dist/prompts/PromptAssembly.js.map +1 -0
- package/dist/prompts/PromptBuilder.d.ts +22 -3
- package/dist/prompts/PromptBuilder.d.ts.map +1 -1
- package/dist/prompts/PromptBuilder.js +242 -13
- package/dist/prompts/PromptBuilder.js.map +1 -1
- package/dist/prompts/PromptRenderer.d.ts +43 -0
- package/dist/prompts/PromptRenderer.d.ts.map +1 -0
- package/dist/prompts/PromptRenderer.js +114 -0
- package/dist/prompts/PromptRenderer.js.map +1 -0
- package/dist/prompts/brandVoice.d.ts +10 -0
- package/dist/prompts/brandVoice.d.ts.map +1 -0
- package/dist/prompts/brandVoice.js +87 -0
- package/dist/prompts/brandVoice.js.map +1 -0
- package/dist/prompts/index.d.ts +11 -4
- package/dist/prompts/index.d.ts.map +1 -1
- package/dist/prompts/index.js +7 -2
- package/dist/prompts/index.js.map +1 -1
- package/dist/prompts/security.d.ts +5 -0
- package/dist/prompts/security.d.ts.map +1 -0
- package/dist/prompts/security.js +52 -0
- package/dist/prompts/security.js.map +1 -0
- package/dist/prompts/types.d.ts +65 -1
- package/dist/prompts/types.d.ts.map +1 -1
- package/dist/prompts/types.js +26 -0
- package/dist/prompts/types.js.map +1 -1
- package/dist/runtime/ContextBudget.d.ts +57 -0
- package/dist/runtime/ContextBudget.d.ts.map +1 -0
- package/dist/runtime/ContextBudget.js +103 -0
- package/dist/runtime/ContextBudget.js.map +1 -0
- package/dist/runtime/ContextManager.d.ts +8 -5
- package/dist/runtime/ContextManager.d.ts.map +1 -1
- package/dist/runtime/ContextManager.js +47 -14
- package/dist/runtime/ContextManager.js.map +1 -1
- package/dist/runtime/FlowExecutor.d.ts +16 -11
- package/dist/runtime/FlowExecutor.d.ts.map +1 -1
- package/dist/runtime/FlowExecutor.js +32 -138
- package/dist/runtime/FlowExecutor.js.map +1 -1
- package/dist/runtime/Runtime.d.ts +31 -78
- package/dist/runtime/Runtime.d.ts.map +1 -1
- package/dist/runtime/Runtime.js +225 -1406
- package/dist/runtime/Runtime.js.map +1 -1
- package/dist/runtime/SessionCache.d.ts +16 -0
- package/dist/runtime/SessionCache.d.ts.map +1 -0
- package/dist/runtime/SessionCache.js +49 -0
- package/dist/runtime/SessionCache.js.map +1 -0
- package/dist/runtime/SessionMutex.d.ts +37 -0
- package/dist/runtime/SessionMutex.d.ts.map +1 -0
- package/dist/runtime/SessionMutex.js +59 -0
- package/dist/runtime/SessionMutex.js.map +1 -0
- package/dist/runtime/StreamEmitter.d.ts +34 -0
- package/dist/runtime/StreamEmitter.d.ts.map +1 -0
- package/dist/runtime/StreamEmitter.js +91 -0
- package/dist/runtime/StreamEmitter.js.map +1 -0
- package/dist/runtime/handoffFilters.d.ts +60 -0
- package/dist/runtime/handoffFilters.d.ts.map +1 -0
- package/dist/runtime/handoffFilters.js +95 -0
- package/dist/runtime/handoffFilters.js.map +1 -0
- package/dist/runtime/pipeline/AgentExecuteStage.d.ts +22 -0
- package/dist/runtime/pipeline/AgentExecuteStage.d.ts.map +1 -0
- package/dist/runtime/pipeline/AgentExecuteStage.js +889 -0
- package/dist/runtime/pipeline/AgentExecuteStage.js.map +1 -0
- package/dist/runtime/pipeline/ContextAssembleStage.d.ts +26 -0
- package/dist/runtime/pipeline/ContextAssembleStage.d.ts.map +1 -0
- package/dist/runtime/pipeline/ContextAssembleStage.js +253 -0
- package/dist/runtime/pipeline/ContextAssembleStage.js.map +1 -0
- package/dist/runtime/pipeline/ContextGatherStage.d.ts +21 -0
- package/dist/runtime/pipeline/ContextGatherStage.d.ts.map +1 -0
- package/dist/runtime/pipeline/ContextGatherStage.js +161 -0
- package/dist/runtime/pipeline/ContextGatherStage.js.map +1 -0
- package/dist/runtime/pipeline/IntakeStage.d.ts +25 -0
- package/dist/runtime/pipeline/IntakeStage.d.ts.map +1 -0
- package/dist/runtime/pipeline/IntakeStage.js +126 -0
- package/dist/runtime/pipeline/IntakeStage.js.map +1 -0
- package/dist/runtime/pipeline/PostStreamStage.d.ts +26 -0
- package/dist/runtime/pipeline/PostStreamStage.d.ts.map +1 -0
- package/dist/runtime/pipeline/PostStreamStage.js +129 -0
- package/dist/runtime/pipeline/PostStreamStage.js.map +1 -0
- package/dist/runtime/pipeline/TurnPipeline.d.ts +54 -0
- package/dist/runtime/pipeline/TurnPipeline.d.ts.map +1 -0
- package/dist/runtime/pipeline/TurnPipeline.js +15 -0
- package/dist/runtime/pipeline/TurnPipeline.js.map +1 -0
- package/dist/runtime/pipeline/TurnServices.d.ts +48 -0
- package/dist/runtime/pipeline/TurnServices.d.ts.map +1 -0
- package/dist/runtime/pipeline/TurnServices.js +2 -0
- package/dist/runtime/pipeline/TurnServices.js.map +1 -0
- package/dist/runtime/pipeline/agentTypeGuards.d.ts +4 -0
- package/dist/runtime/pipeline/agentTypeGuards.d.ts.map +1 -0
- package/dist/runtime/pipeline/agentTypeGuards.js +7 -0
- package/dist/runtime/pipeline/agentTypeGuards.js.map +1 -0
- package/dist/runtime/pipeline/index.d.ts +11 -0
- package/dist/runtime/pipeline/index.d.ts.map +1 -0
- package/dist/runtime/pipeline/index.js +13 -0
- package/dist/runtime/pipeline/index.js.map +1 -0
- package/dist/runtime/pipeline/outputProcessing.d.ts +23 -0
- package/dist/runtime/pipeline/outputProcessing.d.ts.map +1 -0
- package/dist/runtime/pipeline/outputProcessing.js +63 -0
- package/dist/runtime/pipeline/outputProcessing.js.map +1 -0
- package/dist/runtime/pipeline/sessionUtils.d.ts +12 -0
- package/dist/runtime/pipeline/sessionUtils.d.ts.map +1 -0
- package/dist/runtime/pipeline/sessionUtils.js +73 -0
- package/dist/runtime/pipeline/sessionUtils.js.map +1 -0
- package/dist/tools/Tool.d.ts +7 -0
- package/dist/tools/Tool.d.ts.map +1 -1
- package/dist/tools/Tool.js +12 -3
- package/dist/tools/Tool.js.map +1 -1
- package/dist/tools/memory.d.ts +26 -0
- package/dist/tools/memory.d.ts.map +1 -0
- package/dist/tools/memory.js +51 -0
- package/dist/tools/memory.js.map +1 -0
- package/dist/types/index.d.ts +177 -6
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js.map +1 -1
- package/guides/AGENTS.md +173 -0
- package/guides/README.md +12 -0
- package/guides/TOOLS.md +93 -27
- package/package.json +12 -4
- package/dist/agents/LLMAgent.d.ts +0 -11
- package/dist/agents/LLMAgent.d.ts.map +0 -1
- package/dist/agents/LLMAgent.js +0 -31
- package/dist/agents/LLMAgent.js.map +0 -1
package/dist/prompts/index.js
CHANGED
|
@@ -1,5 +1,10 @@
|
|
|
1
|
-
export { PromptTemplateBuilder, createPromptTemplate } from './types.js';
|
|
2
|
-
export { PromptBuilder } from './PromptBuilder.js';
|
|
1
|
+
export { PromptTemplateBuilder, createPromptTemplate, LAYER_PRIORITIES } from './types.js';
|
|
2
|
+
export { PromptBuilder, createPrompt } from './PromptBuilder.js';
|
|
3
3
|
export { SUPPORT_AGENT_TEMPLATE, SALES_AGENT_TEMPLATE, TRIAGE_AGENT_TEMPLATE, createSupportAgentTemplate, BUILTIN_TEMPLATES, DEFAULT_HANDOFF_INSTRUCTION, } from './templates.js';
|
|
4
4
|
export { getTemplate, registerTemplate, listTemplates, getAllTemplates } from './registry.js';
|
|
5
|
+
export { getSecurityCore, SECURITY_REMINDER } from './security.js';
|
|
6
|
+
export { buildBrandVoiceSection, BRAND_VOICE_TEMPLATES } from './brandVoice.js';
|
|
7
|
+
export { PromptAssembly, PromptSecurityViolationError } from './PromptAssembly.js';
|
|
8
|
+
export { renderSections, PromptValidationError } from './PromptRenderer.js';
|
|
9
|
+
export { AgentPrompt } from './AgentPrompt.js';
|
|
5
10
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/prompts/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/prompts/index.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC3F,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EACL,sBAAsB,EACtB,oBAAoB,EACpB,qBAAqB,EACrB,0BAA0B,EAC1B,iBAAiB,EACjB,2BAA2B,GAC5B,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAC9F,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AACnE,OAAO,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAChF,OAAO,EAAE,cAAc,EAAE,4BAA4B,EAAE,MAAM,qBAAqB,CAAC;AAEnF,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAE5E,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { PolicyProfile } from './types.js';
|
|
2
|
+
export declare const SECURITY_CORE_TEMPLATES: Record<PolicyProfile, string>;
|
|
3
|
+
export declare const SECURITY_REMINDER = "## Final Check\nBefore completing:\n- If responding to visitor, appropriate message tool was called.\n- No [PRIVATE] content exposed to visitors.\n- All claims are grounded in provided context or tool results.\n- If unsure about any action, escalate rather than guess.\n- For critical actions, verify success before confirming.";
|
|
4
|
+
export declare function getSecurityCore(profile?: PolicyProfile): string;
|
|
5
|
+
//# sourceMappingURL=security.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"security.d.ts","sourceRoot":"","sources":["../../src/prompts/security.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,eAAO,MAAM,uBAAuB,EAAE,MAAM,CAAC,aAAa,EAAE,MAAM,CA0CjE,CAAC;AAEF,eAAO,MAAM,iBAAiB,4UAM4B,CAAC;AAE3D,wBAAgB,eAAe,CAAC,OAAO,GAAE,aAAyB,GAAG,MAAM,CAE1E"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
export const SECURITY_CORE_TEMPLATES = {
|
|
2
|
+
minimal: `## Context
|
|
3
|
+
[VISITOR]=customer, [AI]=you. [PRIVATE]=internal only.
|
|
4
|
+
|
|
5
|
+
## Rules
|
|
6
|
+
- Be helpful and accurate.
|
|
7
|
+
- Never invent facts. Use tools for external information.
|
|
8
|
+
- If unsure, say so.`,
|
|
9
|
+
safe: `## Context
|
|
10
|
+
[VISITOR]=customer, [TEAM:name]=human agent, [AI]=you. [PRIVATE]=internal.
|
|
11
|
+
|
|
12
|
+
## Rules
|
|
13
|
+
- NEVER share [PRIVATE] content with visitors.
|
|
14
|
+
- Never invent facts. Use provided tools for factual queries.
|
|
15
|
+
- If tool fails or you're unsure, say so and escalate.
|
|
16
|
+
- Verify critical actions before confirming to user.
|
|
17
|
+
|
|
18
|
+
## Tool Requirements
|
|
19
|
+
- Use available tools to fetch accurate information.
|
|
20
|
+
- Report tool failures honestly - never pretend success.
|
|
21
|
+
- For actions (bookings, payments), verify success before confirming.`,
|
|
22
|
+
regulated: `## Context
|
|
23
|
+
[VISITOR]=customer, [TEAM:name]=human agent, [AI]=you, [SYSTEM]=platform.
|
|
24
|
+
[PRIVATE]=internal only. [AUDIT]=logged action.
|
|
25
|
+
|
|
26
|
+
## Rules (Compliance Mode)
|
|
27
|
+
- NEVER share [PRIVATE] content with visitors.
|
|
28
|
+
- Never make promises you cannot guarantee.
|
|
29
|
+
- For regulated actions (refunds, cancellations, account changes):
|
|
30
|
+
- Always confirm with user before executing
|
|
31
|
+
- Log all actions for audit trail
|
|
32
|
+
- Escalate if confidence < 0.8
|
|
33
|
+
- Never provide financial, legal, or medical advice.
|
|
34
|
+
- ALL factual claims must cite source (tool result or knowledge base).
|
|
35
|
+
- If no source available, explicitly state uncertainty.
|
|
36
|
+
|
|
37
|
+
## Audit Trail
|
|
38
|
+
- All actions are logged for compliance.
|
|
39
|
+
- Include reasoning in all tool calls.
|
|
40
|
+
- Never bypass verification steps.`,
|
|
41
|
+
};
|
|
42
|
+
export const SECURITY_REMINDER = `## Final Check
|
|
43
|
+
Before completing:
|
|
44
|
+
- If responding to visitor, appropriate message tool was called.
|
|
45
|
+
- No [PRIVATE] content exposed to visitors.
|
|
46
|
+
- All claims are grounded in provided context or tool results.
|
|
47
|
+
- If unsure about any action, escalate rather than guess.
|
|
48
|
+
- For critical actions, verify success before confirming.`;
|
|
49
|
+
export function getSecurityCore(profile = 'minimal') {
|
|
50
|
+
return SECURITY_CORE_TEMPLATES[profile];
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=security.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"security.js","sourceRoot":"","sources":["../../src/prompts/security.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,uBAAuB,GAAkC;IACpE,OAAO,EAAE;;;;;;qBAMU;IAEnB,IAAI,EAAE;;;;;;;;;;;;sEAY8D;IAEpE,SAAS,EAAE;;;;;;;;;;;;;;;;;;mCAkBsB;CAClC,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG;;;;;;0DAMyB,CAAC;AAE3D,MAAM,UAAU,eAAe,CAAC,UAAyB,SAAS;IAChE,OAAO,uBAAuB,CAAC,OAAO,CAAC,CAAC;AAC1C,CAAC"}
|
package/dist/prompts/types.d.ts
CHANGED
|
@@ -1,9 +1,73 @@
|
|
|
1
1
|
import type { ToolSet } from '../tools/Tool.js';
|
|
2
|
-
export type PromptSectionType = '
|
|
2
|
+
export type PromptSectionType = 'security_core' | 'identity' | 'role' | 'capabilities' | 'brand_voice' | 'tone' | 'personality' | 'knowledge' | 'grounding_rules' | 'glossary' | 'business_rules' | 'tools' | 'tool_contract' | 'session_state' | 'flow_context' | 'conversation_summary' | 'security_reminder' | 'personality' | 'goal' | 'guardrails' | 'character_normalization' | 'voice_rules' | 'system_reminder' | 'error_handling' | 'handoff' | 'brief_speech' | 'custom';
|
|
3
|
+
export declare const LAYER_PRIORITIES: {
|
|
4
|
+
readonly SECURITY_CORE: {
|
|
5
|
+
readonly min: 0;
|
|
6
|
+
readonly max: 9;
|
|
7
|
+
};
|
|
8
|
+
readonly IDENTITY: 10;
|
|
9
|
+
readonly ROLE: 15;
|
|
10
|
+
readonly BRAND_VOICE: 20;
|
|
11
|
+
readonly TONE: 25;
|
|
12
|
+
readonly PERSONALITY: 28;
|
|
13
|
+
readonly KNOWLEDGE: 30;
|
|
14
|
+
readonly BUSINESS_RULES: 35;
|
|
15
|
+
readonly GROUNDING_RULES: 38;
|
|
16
|
+
readonly GLOSSARY: 39;
|
|
17
|
+
readonly TOOLS: 40;
|
|
18
|
+
readonly TOOL_CONTRACT: 45;
|
|
19
|
+
readonly SESSION_STATE: 50;
|
|
20
|
+
readonly FLOW_CONTEXT: 55;
|
|
21
|
+
readonly CONVERSATION_SUMMARY: 58;
|
|
22
|
+
readonly SECURITY_REMINDER: 1000;
|
|
23
|
+
};
|
|
24
|
+
export type PolicyProfile = 'minimal' | 'safe' | 'regulated';
|
|
25
|
+
export interface BrandVoiceConfig {
|
|
26
|
+
personality?: string;
|
|
27
|
+
tone?: 'formal' | 'casual' | 'friendly' | 'professional' | 'custom';
|
|
28
|
+
toneCustom?: string;
|
|
29
|
+
styleRules?: string[];
|
|
30
|
+
avoidPhrases?: string[];
|
|
31
|
+
preferredPhrases?: string[];
|
|
32
|
+
emojiPolicy?: 'never' | 'minimal' | 'moderate' | 'encouraged';
|
|
33
|
+
responseLength?: 'brief' | 'moderate' | 'detailed';
|
|
34
|
+
}
|
|
35
|
+
export interface KnowledgeContext {
|
|
36
|
+
retrieved?: string;
|
|
37
|
+
glossary?: GlossaryTerm[];
|
|
38
|
+
businessRules?: string[];
|
|
39
|
+
}
|
|
40
|
+
export interface SessionMemory {
|
|
41
|
+
conversationState?: Record<string, unknown>;
|
|
42
|
+
flowProgress?: {
|
|
43
|
+
currentNode: string;
|
|
44
|
+
collectedData: Record<string, unknown>;
|
|
45
|
+
};
|
|
46
|
+
workingMemory?: Array<{
|
|
47
|
+
label: string;
|
|
48
|
+
content: string;
|
|
49
|
+
}>;
|
|
50
|
+
}
|
|
51
|
+
export interface AgentDefinition {
|
|
52
|
+
identity: string;
|
|
53
|
+
role: string;
|
|
54
|
+
capabilities?: string[];
|
|
55
|
+
}
|
|
56
|
+
export interface PromptBuilderConfig {
|
|
57
|
+
template?: PromptTemplate;
|
|
58
|
+
agentDefinition?: AgentDefinition;
|
|
59
|
+
brandVoice?: BrandVoiceConfig;
|
|
60
|
+
knowledgeContext?: KnowledgeContext;
|
|
61
|
+
tools?: ToolSet;
|
|
62
|
+
sessionMemory?: SessionMemory;
|
|
63
|
+
policyProfile?: PolicyProfile;
|
|
64
|
+
}
|
|
3
65
|
export interface PromptSection {
|
|
4
66
|
type: PromptSectionType;
|
|
5
67
|
content: string;
|
|
6
68
|
priority?: number;
|
|
69
|
+
/** If true, this section cannot be overridden (security layers) */
|
|
70
|
+
immutable?: boolean;
|
|
7
71
|
}
|
|
8
72
|
export interface ToolGuideline {
|
|
9
73
|
name: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/prompts/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAEhD,MAAM,MAAM,iBAAiB,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/prompts/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAEhD,MAAM,MAAM,iBAAiB,GAEzB,eAAe,GAEf,UAAU,GACV,MAAM,GACN,cAAc,GAEd,aAAa,GACb,MAAM,GACN,aAAa,GAEb,WAAW,GACX,iBAAiB,GACjB,UAAU,GACV,gBAAgB,GAEhB,OAAO,GACP,eAAe,GAEf,eAAe,GACf,cAAc,GACd,sBAAsB,GAEtB,mBAAmB,GAEnB,aAAa,GACb,MAAM,GACN,YAAY,GACZ,yBAAyB,GACzB,aAAa,GACb,iBAAiB,GACjB,gBAAgB,GAChB,SAAS,GACT,cAAc,GACd,QAAQ,CAAC;AAUb,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;CAiBnB,CAAC;AAEX,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,MAAM,GAAG,WAAW,CAAC;AAE7D,MAAM,WAAW,gBAAgB;IAC/B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,UAAU,GAAG,cAAc,GAAG,QAAQ,CAAC;IACpE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,WAAW,CAAC,EAAE,OAAO,GAAG,SAAS,GAAG,UAAU,GAAG,YAAY,CAAC;IAC9D,cAAc,CAAC,EAAE,OAAO,GAAG,UAAU,GAAG,UAAU,CAAC;CACpD;AAED,MAAM,WAAW,gBAAgB;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,YAAY,EAAE,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,aAAa;IAC5B,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC5C,YAAY,CAAC,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,CAAC;IAC/E,aAAa,CAAC,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC3D;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,aAAa,CAAC,EAAE,aAAa,CAAC;CAC/B;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,iBAAiB,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,mEAAmE;IACnE,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,gBAAgB;IAC/B,qFAAqF;IACrF,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,yDAAyD;IACzD,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,yDAAyD;IACzD,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,2DAA2D;IAC3D,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,4DAA4D;IAC5D,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,oBAAoB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9C,WAAW,CAAC,EAAE,YAAY,GAAG,YAAY,GAAG,YAAY,GAAG,WAAW,CAAC;IACvE,WAAW,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC;IAC5B,SAAS,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC;IAC5B,YAAY,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;IAC5C,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,gBAAgB,CAAC;IACzB,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,UAAU,CAAC;CACxC;AAED,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC1B,gBAAgB,EAAE,iBAAiB,EAAE,CAAC;CACvC;AAED,MAAM,WAAW,4BAA4B;IAC3C,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,qBAAa,qBAAqB;IAChC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAS;IAC5B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAS;IAC9B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAS;IACtC,OAAO,CAAC,QAAQ,CAAuB;IACvC,OAAO,CAAC,cAAc,CAAuB;IAC7C,OAAO,CAAC,aAAa,CAAkB;IACvC,OAAO,CAAC,gBAAgB,CAAwB;IAChD,OAAO,CAAC,aAAa,CAAsB;IAC3C,OAAO,CAAC,mBAAmB,CAAiB;gBAEhC,OAAO,EAAE,4BAA4B;IAMjD,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAKlC,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAK3B,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAKjC,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAK5B,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAK3B,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAK7C,UAAU,CAAC,MAAM,CAAC,EAAE,gBAAgB,GAAG,IAAI;IAK3C,gBAAgB,CAAC,MAAM,CAAC,EAAE,gBAAgB,GAAG,IAAI;IAIjD,QAAQ,CAAC,KAAK,EAAE,YAAY,EAAE,GAAG,IAAI;IAKrC,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI;IAKrE,OAAO,CAAC,WAAW,GAAE,MAQtB,GAAG,IAAI;IAMN,eAAe,CAAC,OAAO,GAAE,OAAc,GAAG,IAAI;IAK9C,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAKpC,WAAW,CAAC,OAAO,GAAE,MAAwP,GAAG,IAAI;IAKpR,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI;IAO9D,aAAa,CAAC,SAAS,EAAE,aAAa,GAAG,IAAI;IAK7C,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI;IAU9B,OAAO,CAAC,KAAK,CAAC,EAAE,OAAO,GAAG,IAAI;IAgD9B,KAAK,IAAI,cAAc;IAkEvB,OAAO,CAAC,UAAU;IAalB,OAAO,CAAC,oBAAoB;IAI5B,OAAO,CAAC,gBAAgB;IAoGxB,OAAO,CAAC,cAAc;CAuBvB;AAED,wBAAgB,oBAAoB,CAClC,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,CAAC,OAAO,EAAE,qBAAqB,KAAK,IAAI,GAClD,cAAc,CAIhB"}
|
package/dist/prompts/types.js
CHANGED
|
@@ -1,3 +1,29 @@
|
|
|
1
|
+
// Layer priorities for 6+2 architecture
|
|
2
|
+
// Priority 0-9: Security Core (immutable)
|
|
3
|
+
// Priority 10-19: Agent Definition (user)
|
|
4
|
+
// Priority 20-29: Brand Voice (user)
|
|
5
|
+
// Priority 30-39: Knowledge & Grounding (mixed)
|
|
6
|
+
// Priority 40-49: Tools & Actions (auto)
|
|
7
|
+
// Priority 50-59: Session Memory (auto)
|
|
8
|
+
// Priority 1000+: Security Reminder (immutable)
|
|
9
|
+
export const LAYER_PRIORITIES = {
|
|
10
|
+
SECURITY_CORE: { min: 0, max: 9 },
|
|
11
|
+
IDENTITY: 10,
|
|
12
|
+
ROLE: 15,
|
|
13
|
+
BRAND_VOICE: 20,
|
|
14
|
+
TONE: 25,
|
|
15
|
+
PERSONALITY: 28,
|
|
16
|
+
KNOWLEDGE: 30,
|
|
17
|
+
BUSINESS_RULES: 35,
|
|
18
|
+
GROUNDING_RULES: 38,
|
|
19
|
+
GLOSSARY: 39,
|
|
20
|
+
TOOLS: 40,
|
|
21
|
+
TOOL_CONTRACT: 45,
|
|
22
|
+
SESSION_STATE: 50,
|
|
23
|
+
FLOW_CONTEXT: 55,
|
|
24
|
+
CONVERSATION_SUMMARY: 58,
|
|
25
|
+
SECURITY_REMINDER: 1000,
|
|
26
|
+
};
|
|
1
27
|
export class PromptTemplateBuilder {
|
|
2
28
|
id;
|
|
3
29
|
name;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/prompts/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/prompts/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Context Budget System for AriaFlow.
|
|
3
|
+
*
|
|
4
|
+
* Manages token allocation across the multiple content sources that compose
|
|
5
|
+
* each LLM request. Ensures no single section can monopolize the context window.
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* ContextBudgetConfig defines the token allocation strategy for the LLM
|
|
9
|
+
* context window. It governs how the finite context window is partitioned
|
|
10
|
+
* across the multiple content sources that compose each LLM request.
|
|
11
|
+
*/
|
|
12
|
+
export interface ContextBudgetConfig {
|
|
13
|
+
/** Total context window size of the target model, in tokens. Default: 128,000. */
|
|
14
|
+
modelContextWindow: number;
|
|
15
|
+
/** Tokens reserved for the LLM's response generation. Default: 4,096. */
|
|
16
|
+
responseReserve: number;
|
|
17
|
+
/** Maximum tokens allocated to auto-retrieve (RAG) context injection. Default: 4,000. */
|
|
18
|
+
maxAutoRetrieveTokens: number;
|
|
19
|
+
/** Maximum tokens allocated to the working memory section. Default: 2,000. */
|
|
20
|
+
maxWorkingMemoryTokens: number;
|
|
21
|
+
/** Maximum tokens allocated to the extraction snapshot section. Default: 2,000. */
|
|
22
|
+
maxExtractionTokens: number;
|
|
23
|
+
/** Maximum tokens allocated to cross-session long-term memory. Default: 2,000. */
|
|
24
|
+
maxLongTermMemoryTokens: number;
|
|
25
|
+
/**
|
|
26
|
+
* Maximum tokens allocated to the base system prompt.
|
|
27
|
+
* 0 means no limit — the base prompt is measured, not capped.
|
|
28
|
+
* Default: 0.
|
|
29
|
+
*/
|
|
30
|
+
maxBasePromptTokens: number;
|
|
31
|
+
}
|
|
32
|
+
export declare const DEFAULT_CONTEXT_BUDGET: ContextBudgetConfig;
|
|
33
|
+
/**
|
|
34
|
+
* Token estimation function. Uses a rough 4:1 character-to-token ratio.
|
|
35
|
+
* Consistent with ContextManager.ts.
|
|
36
|
+
*/
|
|
37
|
+
export declare function estimateTokenCount(text: string): number;
|
|
38
|
+
/**
|
|
39
|
+
* Computes the remaining token budget available for message history after
|
|
40
|
+
* all system prompt sections have been allocated.
|
|
41
|
+
*
|
|
42
|
+
* Floors at 1000 tokens to ensure the LLM always sees at least minimal
|
|
43
|
+
* conversation history.
|
|
44
|
+
*/
|
|
45
|
+
export declare function computeMessageHistoryBudget(config: ContextBudgetConfig, measuredBasePromptTokens: number, measuredPolicyInjectionTokens: number): number;
|
|
46
|
+
/**
|
|
47
|
+
* Truncates a text string to fit within a token budget.
|
|
48
|
+
* Truncation is at the nearest sentence boundary when possible.
|
|
49
|
+
*/
|
|
50
|
+
export declare function truncateToTokenBudget(text: string, maxTokens: number): string;
|
|
51
|
+
/**
|
|
52
|
+
* Budget-aware working memory formatter.
|
|
53
|
+
* Iterates entries in insertion order, dropping entries that exceed the budget.
|
|
54
|
+
* Entries are atomic — they are either fully included or fully dropped.
|
|
55
|
+
*/
|
|
56
|
+
export declare function formatMemoryWithBudget(memory: Record<string, unknown>, maxTokens: number, allowlist?: string[]): string;
|
|
57
|
+
//# sourceMappingURL=ContextBudget.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ContextBudget.d.ts","sourceRoot":"","sources":["../../src/runtime/ContextBudget.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAClC,kFAAkF;IAClF,kBAAkB,EAAE,MAAM,CAAC;IAE3B,yEAAyE;IACzE,eAAe,EAAE,MAAM,CAAC;IAExB,yFAAyF;IACzF,qBAAqB,EAAE,MAAM,CAAC;IAE9B,8EAA8E;IAC9E,sBAAsB,EAAE,MAAM,CAAC;IAE/B,mFAAmF;IACnF,mBAAmB,EAAE,MAAM,CAAC;IAE5B,kFAAkF;IAClF,uBAAuB,EAAE,MAAM,CAAC;IAEhC;;;;OAIG;IACH,mBAAmB,EAAE,MAAM,CAAC;CAC7B;AAED,eAAO,MAAM,sBAAsB,EAAE,mBAQpC,CAAC;AAEF;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAGvD;AAED;;;;;;GAMG;AACH,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,mBAAmB,EAC3B,wBAAwB,EAAE,MAAM,EAChC,6BAA6B,EAAE,MAAM,GACpC,MAAM,CAuBR;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAqB7E;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,SAAS,EAAE,MAAM,EACjB,SAAS,CAAC,EAAE,MAAM,EAAE,GACnB,MAAM,CAiCR"}
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Context Budget System for AriaFlow.
|
|
3
|
+
*
|
|
4
|
+
* Manages token allocation across the multiple content sources that compose
|
|
5
|
+
* each LLM request. Ensures no single section can monopolize the context window.
|
|
6
|
+
*/
|
|
7
|
+
export const DEFAULT_CONTEXT_BUDGET = {
|
|
8
|
+
modelContextWindow: 128_000,
|
|
9
|
+
responseReserve: 4_096,
|
|
10
|
+
maxAutoRetrieveTokens: 4_000,
|
|
11
|
+
maxWorkingMemoryTokens: 2_000,
|
|
12
|
+
maxExtractionTokens: 2_000,
|
|
13
|
+
maxLongTermMemoryTokens: 2_000,
|
|
14
|
+
maxBasePromptTokens: 0,
|
|
15
|
+
};
|
|
16
|
+
/**
|
|
17
|
+
* Token estimation function. Uses a rough 4:1 character-to-token ratio.
|
|
18
|
+
* Consistent with ContextManager.ts.
|
|
19
|
+
*/
|
|
20
|
+
export function estimateTokenCount(text) {
|
|
21
|
+
if (!text)
|
|
22
|
+
return 0;
|
|
23
|
+
return Math.ceil(text.length / 4);
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Computes the remaining token budget available for message history after
|
|
27
|
+
* all system prompt sections have been allocated.
|
|
28
|
+
*
|
|
29
|
+
* Floors at 1000 tokens to ensure the LLM always sees at least minimal
|
|
30
|
+
* conversation history.
|
|
31
|
+
*/
|
|
32
|
+
export function computeMessageHistoryBudget(config, measuredBasePromptTokens, measuredPolicyInjectionTokens) {
|
|
33
|
+
const systemBudget = measuredBasePromptTokens +
|
|
34
|
+
config.maxAutoRetrieveTokens +
|
|
35
|
+
config.maxWorkingMemoryTokens +
|
|
36
|
+
config.maxExtractionTokens +
|
|
37
|
+
config.maxLongTermMemoryTokens +
|
|
38
|
+
measuredPolicyInjectionTokens;
|
|
39
|
+
const available = config.modelContextWindow - config.responseReserve - systemBudget;
|
|
40
|
+
if (available < 1000) {
|
|
41
|
+
console.warn('[AriaFlow] Context budget exhausted: system prompt sections consume ' +
|
|
42
|
+
`${systemBudget} tokens, leaving only ${available} tokens for message ` +
|
|
43
|
+
'history. Consider reducing maxAutoRetrieveTokens, maxWorkingMemoryTokens, ' +
|
|
44
|
+
'or the base system prompt size.');
|
|
45
|
+
return Math.max(available, 1000);
|
|
46
|
+
}
|
|
47
|
+
return available;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Truncates a text string to fit within a token budget.
|
|
51
|
+
* Truncation is at the nearest sentence boundary when possible.
|
|
52
|
+
*/
|
|
53
|
+
export function truncateToTokenBudget(text, maxTokens) {
|
|
54
|
+
if (maxTokens <= 0)
|
|
55
|
+
return '';
|
|
56
|
+
const estimated = estimateTokenCount(text);
|
|
57
|
+
if (estimated <= maxTokens)
|
|
58
|
+
return text;
|
|
59
|
+
// Convert token budget to approximate character count
|
|
60
|
+
const maxChars = maxTokens * 4;
|
|
61
|
+
const truncatedRegion = text.slice(0, maxChars);
|
|
62
|
+
// Find the last sentence boundary within the character budget
|
|
63
|
+
const lastSentenceEnd = Math.max(truncatedRegion.lastIndexOf('. '), truncatedRegion.lastIndexOf('.\n'));
|
|
64
|
+
if (lastSentenceEnd > maxChars * 0.5) {
|
|
65
|
+
return truncatedRegion.slice(0, lastSentenceEnd + 1) + '\n[truncated]';
|
|
66
|
+
}
|
|
67
|
+
// No good sentence boundary — hard truncate
|
|
68
|
+
return truncatedRegion + '\n[truncated]';
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Budget-aware working memory formatter.
|
|
72
|
+
* Iterates entries in insertion order, dropping entries that exceed the budget.
|
|
73
|
+
* Entries are atomic — they are either fully included or fully dropped.
|
|
74
|
+
*/
|
|
75
|
+
export function formatMemoryWithBudget(memory, maxTokens, allowlist) {
|
|
76
|
+
if (maxTokens <= 0)
|
|
77
|
+
return '';
|
|
78
|
+
const entries = Object.entries(memory);
|
|
79
|
+
const filteredEntries = allowlist
|
|
80
|
+
? entries.filter(([key]) => allowlist.includes(key))
|
|
81
|
+
: entries;
|
|
82
|
+
if (filteredEntries.length === 0)
|
|
83
|
+
return '';
|
|
84
|
+
const headerLine = '\n\n## Known Information';
|
|
85
|
+
let tokenCount = estimateTokenCount(headerLine);
|
|
86
|
+
const lines = [headerLine];
|
|
87
|
+
let omitted = 0;
|
|
88
|
+
for (const [key, value] of filteredEntries) {
|
|
89
|
+
const line = `\n- **${key}**: ${typeof value === 'object' ? JSON.stringify(value) : value}`;
|
|
90
|
+
const lineTokens = estimateTokenCount(line);
|
|
91
|
+
if (tokenCount + lineTokens > maxTokens) {
|
|
92
|
+
omitted++;
|
|
93
|
+
continue;
|
|
94
|
+
}
|
|
95
|
+
lines.push(line);
|
|
96
|
+
tokenCount += lineTokens;
|
|
97
|
+
}
|
|
98
|
+
if (omitted > 0) {
|
|
99
|
+
lines.push(`\n[${omitted} entries omitted due to context budget]`);
|
|
100
|
+
}
|
|
101
|
+
return lines.join('');
|
|
102
|
+
}
|
|
103
|
+
//# sourceMappingURL=ContextBudget.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ContextBudget.js","sourceRoot":"","sources":["../../src/runtime/ContextBudget.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,12 +10,15 @@ export interface ContextManagerOptions {
|
|
|
10
10
|
keepSystemPrompt?: boolean;
|
|
11
11
|
transformer?: MessageTransformer;
|
|
12
12
|
}
|
|
13
|
+
export interface ContextManagerContext {
|
|
14
|
+
turnCount: number;
|
|
15
|
+
totalTokens: number;
|
|
16
|
+
sessionId: string;
|
|
17
|
+
/** When provided, overrides the configured maxTokens for this turn. */
|
|
18
|
+
maxTokensOverride?: number;
|
|
19
|
+
}
|
|
13
20
|
export interface ContextManager {
|
|
14
|
-
beforeTurn(messages: ModelMessage[], context:
|
|
15
|
-
turnCount: number;
|
|
16
|
-
totalTokens: number;
|
|
17
|
-
sessionId: string;
|
|
18
|
-
}): Promise<ModelMessage[]> | ModelMessage[];
|
|
21
|
+
beforeTurn(messages: ModelMessage[], context: ContextManagerContext): Promise<ModelMessage[]> | ModelMessage[];
|
|
19
22
|
}
|
|
20
23
|
export declare function createContextManager(options?: ContextManagerOptions): ContextManager;
|
|
21
24
|
export declare function createSummarizingContextManager(summarizeFn: (messages: ModelMessage[]) => Promise<string> | string, options?: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContextManager.d.ts","sourceRoot":"","sources":["../../src/runtime/ContextManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAEvC,MAAM,MAAM,kBAAkB,GAAG,CAC/B,QAAQ,EAAE,YAAY,EAAE,EACxB,OAAO,EAAE;IACP,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACnB,KACE,OAAO,CAAC,YAAY,EAAE,CAAC,GAAG,YAAY,EAAE,CAAC;AAE9C,MAAM,WAAW,qBAAqB;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,WAAW,CAAC,EAAE,kBAAkB,CAAC;CAClC;AAED,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"ContextManager.d.ts","sourceRoot":"","sources":["../../src/runtime/ContextManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAEvC,MAAM,MAAM,kBAAkB,GAAG,CAC/B,QAAQ,EAAE,YAAY,EAAE,EACxB,OAAO,EAAE;IACP,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACnB,KACE,OAAO,CAAC,YAAY,EAAE,CAAC,GAAG,YAAY,EAAE,CAAC;AAE9C,MAAM,WAAW,qBAAqB;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,WAAW,CAAC,EAAE,kBAAkB,CAAC;CAClC;AAED,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,uEAAuE;IACvE,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,cAAc;IAC7B,UAAU,CAAC,QAAQ,EAAE,YAAY,EAAE,EAAE,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,GAAG,YAAY,EAAE,CAAC;CAChH;AAoID,wBAAgB,oBAAoB,CAAC,OAAO,GAAE,qBAA0B,GAAG,cAAc,CAkHxF;AAED,wBAAgB,+BAA+B,CAC7C,WAAW,EAAE,CAAC,QAAQ,EAAE,YAAY,EAAE,KAAK,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM,EACnE,OAAO,GAAE;IACP,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,WAAW,CAAC,EAAE,QAAQ,GAAG,MAAM,GAAG,WAAW,CAAC;CAC1C,GACL,cAAc,CAoDhB"}
|
|
@@ -121,20 +121,39 @@ function estimateMessageTokens(message) {
|
|
|
121
121
|
}
|
|
122
122
|
export function createContextManager(options = {}) {
|
|
123
123
|
const { maxTokens = 100000, maxMessages = 50, keepSystemPrompt = true, transformer, } = options;
|
|
124
|
-
function pruneByTokenBudget(messages) {
|
|
125
|
-
|
|
124
|
+
function pruneByTokenBudget(messages, tokenLimit) {
|
|
125
|
+
const effectiveLimit = tokenLimit ?? maxTokens;
|
|
126
|
+
if (effectiveLimit === 0)
|
|
126
127
|
return messages;
|
|
127
|
-
|
|
128
|
-
|
|
128
|
+
// Iterate back-to-front so we keep the most recent messages (recency bias).
|
|
129
|
+
// System messages are always kept regardless of budget.
|
|
130
|
+
const systemMessages = [];
|
|
131
|
+
const otherMessages = [];
|
|
129
132
|
for (const msg of messages) {
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
+
if (msg.role === 'system' && keepSystemPrompt) {
|
|
134
|
+
systemMessages.push(msg);
|
|
135
|
+
}
|
|
136
|
+
else {
|
|
137
|
+
otherMessages.push(msg);
|
|
133
138
|
}
|
|
139
|
+
}
|
|
140
|
+
let tokenCount = systemMessages.reduce((sum, m) => sum + estimateMessageTokens(m), 0);
|
|
141
|
+
let startIndex = otherMessages.length;
|
|
142
|
+
for (let i = otherMessages.length - 1; i >= 0; i--) {
|
|
143
|
+
const msgTokens = estimateMessageTokens(otherMessages[i]);
|
|
144
|
+
if (tokenCount + msgTokens > effectiveLimit)
|
|
145
|
+
break;
|
|
134
146
|
tokenCount += msgTokens;
|
|
135
|
-
|
|
147
|
+
startIndex = i;
|
|
136
148
|
}
|
|
137
|
-
|
|
149
|
+
// Walk startIndex backward to avoid splitting tool-call/result pairs.
|
|
150
|
+
while (startIndex > 0) {
|
|
151
|
+
const violation = firstToolBoundaryViolationIndex(otherMessages, startIndex);
|
|
152
|
+
if (violation < 0)
|
|
153
|
+
break;
|
|
154
|
+
startIndex = violation;
|
|
155
|
+
}
|
|
156
|
+
return [...systemMessages, ...otherMessages.slice(startIndex)];
|
|
138
157
|
}
|
|
139
158
|
function pruneByMessageCount(messages) {
|
|
140
159
|
if (maxMessages === 0)
|
|
@@ -152,8 +171,15 @@ export function createContextManager(options = {}) {
|
|
|
152
171
|
}
|
|
153
172
|
}
|
|
154
173
|
const keep = Math.min(maxMessages - systemMessages.length, otherMessages.length);
|
|
155
|
-
|
|
156
|
-
|
|
174
|
+
let startIndex = otherMessages.length - keep;
|
|
175
|
+
// Walk startIndex backward to avoid splitting tool-call/result pairs.
|
|
176
|
+
while (startIndex > 0) {
|
|
177
|
+
const violation = firstToolBoundaryViolationIndex(otherMessages, startIndex);
|
|
178
|
+
if (violation < 0)
|
|
179
|
+
break;
|
|
180
|
+
startIndex = violation;
|
|
181
|
+
}
|
|
182
|
+
return [...systemMessages, ...otherMessages.slice(startIndex)];
|
|
157
183
|
}
|
|
158
184
|
function slidingWindow(messages, windowSize = 10) {
|
|
159
185
|
if (windowSize === 0)
|
|
@@ -168,8 +194,15 @@ export function createContextManager(options = {}) {
|
|
|
168
194
|
otherMessages.push(msg);
|
|
169
195
|
}
|
|
170
196
|
}
|
|
171
|
-
|
|
172
|
-
|
|
197
|
+
let startIndex = Math.max(0, otherMessages.length - windowSize);
|
|
198
|
+
// Walk startIndex backward to avoid splitting tool-call/result pairs.
|
|
199
|
+
while (startIndex > 0) {
|
|
200
|
+
const violation = firstToolBoundaryViolationIndex(otherMessages, startIndex);
|
|
201
|
+
if (violation < 0)
|
|
202
|
+
break;
|
|
203
|
+
startIndex = violation;
|
|
204
|
+
}
|
|
205
|
+
return [...systemMessages, ...otherMessages.slice(startIndex)];
|
|
173
206
|
}
|
|
174
207
|
return {
|
|
175
208
|
async beforeTurn(messages, context) {
|
|
@@ -177,7 +210,7 @@ export function createContextManager(options = {}) {
|
|
|
177
210
|
if (transformer) {
|
|
178
211
|
result = (await transformer(result, context)) || result;
|
|
179
212
|
}
|
|
180
|
-
result = pruneByTokenBudget(result);
|
|
213
|
+
result = pruneByTokenBudget(result, context.maxTokensOverride);
|
|
181
214
|
result = pruneByMessageCount(result);
|
|
182
215
|
result = slidingWindow(result, maxMessages);
|
|
183
216
|
return result;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContextManager.js","sourceRoot":"","sources":["../../src/runtime/ContextManager.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ContextManager.js","sourceRoot":"","sources":["../../src/runtime/ContextManager.ts"],"names":[],"mappings":"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"}
|