beth-copilot 1.0.18 → 1.1.0
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/CHANGELOG.md +41 -28
- package/README.md +87 -247
- package/bin/cli.js +158 -358
- package/dist/__tests__/smoke.test.d.ts +8 -0
- package/dist/__tests__/smoke.test.d.ts.map +1 -0
- package/dist/__tests__/smoke.test.js +49 -0
- package/dist/__tests__/smoke.test.js.map +1 -0
- package/dist/cli/commands/beads.e2e.test.d.ts +13 -0
- package/dist/cli/commands/beads.e2e.test.d.ts.map +1 -0
- package/dist/cli/commands/beads.e2e.test.js +526 -0
- package/dist/cli/commands/beads.e2e.test.js.map +1 -0
- package/dist/cli/commands/cli-edge-cases.e2e.test.d.ts +32 -0
- package/dist/cli/commands/cli-edge-cases.e2e.test.d.ts.map +1 -0
- package/dist/cli/commands/cli-edge-cases.e2e.test.js +162 -0
- package/dist/cli/commands/cli-edge-cases.e2e.test.js.map +1 -0
- package/dist/cli/commands/close.d.ts +89 -0
- package/dist/cli/commands/close.d.ts.map +1 -0
- package/dist/cli/commands/close.e2e.test.d.ts +27 -0
- package/dist/cli/commands/close.e2e.test.d.ts.map +1 -0
- package/dist/cli/commands/close.e2e.test.js +252 -0
- package/dist/cli/commands/close.e2e.test.js.map +1 -0
- package/dist/cli/commands/close.js +309 -0
- package/dist/cli/commands/close.js.map +1 -0
- package/dist/cli/commands/close.test.d.ts +15 -0
- package/dist/cli/commands/close.test.d.ts.map +1 -0
- package/dist/cli/commands/close.test.js +634 -0
- package/dist/cli/commands/close.test.js.map +1 -0
- package/dist/cli/commands/doctor.d.ts +23 -0
- package/dist/cli/commands/doctor.d.ts.map +1 -1
- package/dist/cli/commands/doctor.js +93 -0
- package/dist/cli/commands/doctor.js.map +1 -1
- package/dist/cli/commands/doctor.test.js +209 -0
- package/dist/cli/commands/doctor.test.js.map +1 -1
- package/dist/cli/commands/framework-isolation.test.d.ts +30 -0
- package/dist/cli/commands/framework-isolation.test.d.ts.map +1 -0
- package/dist/cli/commands/framework-isolation.test.js +119 -0
- package/dist/cli/commands/framework-isolation.test.js.map +1 -0
- package/dist/cli/commands/help.e2e.test.js +4 -4
- package/dist/cli/commands/help.e2e.test.js.map +1 -1
- package/dist/cli/commands/init-logic.e2e.test.d.ts +37 -0
- package/dist/cli/commands/init-logic.e2e.test.d.ts.map +1 -0
- package/dist/cli/commands/init-logic.e2e.test.js +305 -0
- package/dist/cli/commands/init-logic.e2e.test.js.map +1 -0
- package/dist/cli/commands/land.d.ts +142 -0
- package/dist/cli/commands/land.d.ts.map +1 -0
- package/dist/cli/commands/land.js +647 -0
- package/dist/cli/commands/land.js.map +1 -0
- package/dist/cli/commands/land.test.d.ts +20 -0
- package/dist/cli/commands/land.test.d.ts.map +1 -0
- package/dist/cli/commands/land.test.js +622 -0
- package/dist/cli/commands/land.test.js.map +1 -0
- package/dist/cli/commands/mcp.e2e.test.js +22 -29
- package/dist/cli/commands/mcp.e2e.test.js.map +1 -1
- package/dist/cli/commands/pipeline.e2e.test.js +20 -20
- package/dist/cli/commands/pipeline.e2e.test.js.map +1 -1
- package/dist/cli/commands/pre-push-guard.d.ts +84 -0
- package/dist/cli/commands/pre-push-guard.d.ts.map +1 -0
- package/dist/cli/commands/pre-push-guard.e2e.test.d.ts +24 -0
- package/dist/cli/commands/pre-push-guard.e2e.test.d.ts.map +1 -0
- package/dist/cli/commands/pre-push-guard.e2e.test.js +171 -0
- package/dist/cli/commands/pre-push-guard.e2e.test.js.map +1 -0
- package/dist/cli/commands/pre-push-guard.js +257 -0
- package/dist/cli/commands/pre-push-guard.js.map +1 -0
- package/dist/cli/commands/pre-push-guard.test.d.ts +15 -0
- package/dist/cli/commands/pre-push-guard.test.d.ts.map +1 -0
- package/dist/cli/commands/pre-push-guard.test.js +397 -0
- package/dist/cli/commands/pre-push-guard.test.js.map +1 -0
- package/dist/cli/commands/quickstart-expanded.e2e.test.d.ts +23 -0
- package/dist/cli/commands/quickstart-expanded.e2e.test.d.ts.map +1 -0
- package/dist/cli/commands/quickstart-expanded.e2e.test.js +179 -0
- package/dist/cli/commands/quickstart-expanded.e2e.test.js.map +1 -0
- package/dist/cli/commands/quickstart.d.ts.map +1 -1
- package/dist/cli/commands/quickstart.js +7 -23
- package/dist/cli/commands/quickstart.js.map +1 -1
- package/dist/cli/commands/quickstart.test.js +40 -67
- package/dist/cli/commands/quickstart.test.js.map +1 -1
- package/dist/core/agents/suite.test.js +4 -2
- package/dist/core/agents/suite.test.js.map +1 -1
- package/dist/core/agents/tools.test.js +5 -1
- package/dist/core/agents/tools.test.js.map +1 -1
- package/dist/index.d.ts +3 -10
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -10
- package/dist/index.js.map +1 -1
- package/package.json +15 -9
- package/sbom.json +2011 -819
- package/templates/.github/agents/beth.agent.md +220 -66
- package/templates/.github/agents/developer.agent.md +53 -90
- package/templates/.github/agents/product-manager.agent.md +15 -68
- package/templates/.github/agents/researcher.agent.md +20 -71
- package/templates/.github/agents/security-reviewer.agent.md +29 -81
- package/templates/.github/agents/tester.agent.md +40 -69
- package/templates/.github/agents/ux-designer.agent.md +20 -74
- package/templates/.github/copilot-instructions.md +217 -225
- package/templates/AGENTS.md +108 -20
- package/templates/mcp.json.example +0 -3
- package/dist/cli/commands/client-config.d.ts +0 -31
- package/dist/cli/commands/client-config.d.ts.map +0 -1
- package/dist/cli/commands/client-config.e2e.test.d.ts +0 -15
- package/dist/cli/commands/client-config.e2e.test.d.ts.map +0 -1
- package/dist/cli/commands/client-config.e2e.test.js +0 -556
- package/dist/cli/commands/client-config.e2e.test.js.map +0 -1
- package/dist/cli/commands/client-config.js +0 -73
- package/dist/cli/commands/client-config.js.map +0 -1
- package/dist/cli/commands/client-config.test.d.ts +0 -6
- package/dist/cli/commands/client-config.test.d.ts.map +0 -1
- package/dist/cli/commands/client-config.test.js +0 -133
- package/dist/cli/commands/client-config.test.js.map +0 -1
- package/dist/cli/commands/init-quickstart.e2e.test.d.ts +0 -11
- package/dist/cli/commands/init-quickstart.e2e.test.d.ts.map +0 -1
- package/dist/cli/commands/init-quickstart.e2e.test.js +0 -221
- package/dist/cli/commands/init-quickstart.e2e.test.js.map +0 -1
- package/dist/core/context.d.ts +0 -171
- package/dist/core/context.d.ts.map +0 -1
- package/dist/core/context.js +0 -353
- package/dist/core/context.js.map +0 -1
- package/dist/core/context.test.d.ts +0 -8
- package/dist/core/context.test.d.ts.map +0 -1
- package/dist/core/context.test.js +0 -253
- package/dist/core/context.test.js.map +0 -1
- package/dist/core/handoffs.d.ts +0 -151
- package/dist/core/handoffs.d.ts.map +0 -1
- package/dist/core/handoffs.js +0 -220
- package/dist/core/handoffs.js.map +0 -1
- package/dist/core/handoffs.test.d.ts +0 -8
- package/dist/core/handoffs.test.d.ts.map +0 -1
- package/dist/core/handoffs.test.js +0 -231
- package/dist/core/handoffs.test.js.map +0 -1
- package/dist/core/orchestrator.d.ts +0 -246
- package/dist/core/orchestrator.d.ts.map +0 -1
- package/dist/core/orchestrator.js +0 -514
- package/dist/core/orchestrator.js.map +0 -1
- package/dist/core/orchestrator.test.d.ts +0 -8
- package/dist/core/orchestrator.test.d.ts.map +0 -1
- package/dist/core/orchestrator.test.js +0 -517
- package/dist/core/orchestrator.test.js.map +0 -1
- package/dist/core/router.d.ts +0 -102
- package/dist/core/router.d.ts.map +0 -1
- package/dist/core/router.js +0 -178
- package/dist/core/router.js.map +0 -1
- package/dist/core/router.test.d.ts +0 -8
- package/dist/core/router.test.d.ts.map +0 -1
- package/dist/core/router.test.js +0 -215
- package/dist/core/router.test.js.map +0 -1
- package/dist/init.test.js +0 -288
- package/dist/providers/azure.d.ts +0 -147
- package/dist/providers/azure.d.ts.map +0 -1
- package/dist/providers/azure.js +0 -491
- package/dist/providers/azure.js.map +0 -1
- package/dist/providers/azure.test.d.ts +0 -11
- package/dist/providers/azure.test.d.ts.map +0 -1
- package/dist/providers/azure.test.js +0 -330
- package/dist/providers/azure.test.js.map +0 -1
- package/dist/providers/config.d.ts +0 -87
- package/dist/providers/config.d.ts.map +0 -1
- package/dist/providers/config.js +0 -193
- package/dist/providers/config.js.map +0 -1
- package/dist/providers/config.test.d.ts +0 -7
- package/dist/providers/config.test.d.ts.map +0 -1
- package/dist/providers/config.test.js +0 -370
- package/dist/providers/config.test.js.map +0 -1
- package/dist/providers/index.d.ts +0 -18
- package/dist/providers/index.d.ts.map +0 -1
- package/dist/providers/index.js +0 -14
- package/dist/providers/index.js.map +0 -1
- package/dist/providers/interface.d.ts +0 -191
- package/dist/providers/interface.d.ts.map +0 -1
- package/dist/providers/interface.js +0 -94
- package/dist/providers/interface.js.map +0 -1
- package/dist/providers/retry.d.ts +0 -128
- package/dist/providers/retry.d.ts.map +0 -1
- package/dist/providers/retry.js +0 -205
- package/dist/providers/retry.js.map +0 -1
- package/dist/providers/retry.test.d.ts +0 -7
- package/dist/providers/retry.test.d.ts.map +0 -1
- package/dist/providers/retry.test.js +0 -439
- package/dist/providers/retry.test.js.map +0 -1
- package/dist/providers/streaming.d.ts +0 -157
- package/dist/providers/streaming.d.ts.map +0 -1
- package/dist/providers/streaming.js +0 -233
- package/dist/providers/streaming.js.map +0 -1
- package/dist/providers/streaming.test.d.ts +0 -7
- package/dist/providers/streaming.test.d.ts.map +0 -1
- package/dist/providers/streaming.test.js +0 -372
- package/dist/providers/streaming.test.js.map +0 -1
- package/dist/providers/types.d.ts +0 -209
- package/dist/providers/types.d.ts.map +0 -1
- package/dist/providers/types.js +0 -53
- package/dist/providers/types.js.map +0 -1
- package/dist/providers/types.test.d.ts +0 -7
- package/dist/providers/types.test.d.ts.map +0 -1
- package/dist/providers/types.test.js +0 -141
- package/dist/providers/types.test.js.map +0 -1
- package/dist/tools/cli/beads.d.ts +0 -27
- package/dist/tools/cli/beads.d.ts.map +0 -1
- package/dist/tools/cli/beads.js +0 -172
- package/dist/tools/cli/beads.js.map +0 -1
- package/dist/tools/cli/beads.test.d.ts +0 -8
- package/dist/tools/cli/beads.test.d.ts.map +0 -1
- package/dist/tools/cli/beads.test.js +0 -264
- package/dist/tools/cli/beads.test.js.map +0 -1
- package/dist/tools/cli/editFile.d.ts +0 -17
- package/dist/tools/cli/editFile.d.ts.map +0 -1
- package/dist/tools/cli/editFile.js +0 -125
- package/dist/tools/cli/editFile.js.map +0 -1
- package/dist/tools/cli/editFile.test.d.ts +0 -8
- package/dist/tools/cli/editFile.test.d.ts.map +0 -1
- package/dist/tools/cli/editFile.test.js +0 -177
- package/dist/tools/cli/editFile.test.js.map +0 -1
- package/dist/tools/cli/readFile.d.ts +0 -25
- package/dist/tools/cli/readFile.d.ts.map +0 -1
- package/dist/tools/cli/readFile.js +0 -118
- package/dist/tools/cli/readFile.js.map +0 -1
- package/dist/tools/cli/readFile.test.d.ts +0 -8
- package/dist/tools/cli/readFile.test.d.ts.map +0 -1
- package/dist/tools/cli/readFile.test.js +0 -194
- package/dist/tools/cli/readFile.test.js.map +0 -1
- package/dist/tools/cli/search.d.ts +0 -16
- package/dist/tools/cli/search.d.ts.map +0 -1
- package/dist/tools/cli/search.js +0 -261
- package/dist/tools/cli/search.js.map +0 -1
- package/dist/tools/cli/search.test.d.ts +0 -8
- package/dist/tools/cli/search.test.d.ts.map +0 -1
- package/dist/tools/cli/search.test.js +0 -172
- package/dist/tools/cli/search.test.js.map +0 -1
- package/dist/tools/cli/subagent.d.ts +0 -43
- package/dist/tools/cli/subagent.d.ts.map +0 -1
- package/dist/tools/cli/subagent.js +0 -99
- package/dist/tools/cli/subagent.js.map +0 -1
- package/dist/tools/cli/subagent.test.d.ts +0 -8
- package/dist/tools/cli/subagent.test.d.ts.map +0 -1
- package/dist/tools/cli/subagent.test.js +0 -190
- package/dist/tools/cli/subagent.test.js.map +0 -1
- package/dist/tools/cli/terminal.d.ts +0 -19
- package/dist/tools/cli/terminal.d.ts.map +0 -1
- package/dist/tools/cli/terminal.js +0 -164
- package/dist/tools/cli/terminal.js.map +0 -1
- package/dist/tools/cli/terminal.test.d.ts +0 -8
- package/dist/tools/cli/terminal.test.d.ts.map +0 -1
- package/dist/tools/cli/terminal.test.js +0 -161
- package/dist/tools/cli/terminal.test.js.map +0 -1
- package/dist/tools/index.d.ts +0 -25
- package/dist/tools/index.d.ts.map +0 -1
- package/dist/tools/index.js +0 -41
- package/dist/tools/index.js.map +0 -1
- package/dist/tools/interface.d.ts +0 -64
- package/dist/tools/interface.d.ts.map +0 -1
- package/dist/tools/interface.js +0 -37
- package/dist/tools/interface.js.map +0 -1
- package/dist/tools/interface.test.d.ts +0 -7
- package/dist/tools/interface.test.d.ts.map +0 -1
- package/dist/tools/interface.test.js +0 -179
- package/dist/tools/interface.test.js.map +0 -1
- package/dist/tools/mcp/bridge.d.ts +0 -48
- package/dist/tools/mcp/bridge.d.ts.map +0 -1
- package/dist/tools/mcp/bridge.js +0 -128
- package/dist/tools/mcp/bridge.js.map +0 -1
- package/dist/tools/mcp/bridge.test.d.ts +0 -8
- package/dist/tools/mcp/bridge.test.d.ts.map +0 -1
- package/dist/tools/mcp/bridge.test.js +0 -300
- package/dist/tools/mcp/bridge.test.js.map +0 -1
- package/dist/tools/mcp/client.d.ts +0 -135
- package/dist/tools/mcp/client.d.ts.map +0 -1
- package/dist/tools/mcp/client.js +0 -263
- package/dist/tools/mcp/client.js.map +0 -1
- package/dist/tools/mcp/client.test.d.ts +0 -8
- package/dist/tools/mcp/client.test.d.ts.map +0 -1
- package/dist/tools/mcp/client.test.js +0 -390
- package/dist/tools/mcp/client.test.js.map +0 -1
- package/dist/tools/registry.d.ts +0 -82
- package/dist/tools/registry.d.ts.map +0 -1
- package/dist/tools/registry.js +0 -99
- package/dist/tools/registry.js.map +0 -1
- package/dist/tools/registry.test.d.ts +0 -7
- package/dist/tools/registry.test.d.ts.map +0 -1
- package/dist/tools/registry.test.js +0 -199
- package/dist/tools/registry.test.js.map +0 -1
- package/dist/tools/suite.test.d.ts +0 -11
- package/dist/tools/suite.test.d.ts.map +0 -1
- package/dist/tools/suite.test.js +0 -119
- package/dist/tools/suite.test.js.map +0 -1
- package/dist/tools/types.d.ts +0 -75
- package/dist/tools/types.d.ts.map +0 -1
- package/dist/tools/types.js +0 -30
- package/dist/tools/types.js.map +0 -1
- package/dist/tools/types.test.d.ts +0 -7
- package/dist/tools/types.test.d.ts.map +0 -1
- package/dist/tools/types.test.js +0 -178
- package/dist/tools/types.test.js.map +0 -1
- package/templates/.vscode/mcp.json +0 -20
- package/templates/CLAUDE.md +0 -129
package/dist/core/context.d.ts
DELETED
|
@@ -1,171 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Conversation Context Manager
|
|
3
|
-
*
|
|
4
|
-
* Manages conversation state for agent interactions:
|
|
5
|
-
* - Message history with role tracking
|
|
6
|
-
* - Context window management (token estimation + truncation)
|
|
7
|
-
* - System prompt construction from agent definitions + skills
|
|
8
|
-
* - Skill injection when trigger phrases match user input
|
|
9
|
-
*
|
|
10
|
-
* Each agent session gets its own ConversationContext. When handoffs occur,
|
|
11
|
-
* a summary can be extracted and injected into the new agent's context.
|
|
12
|
-
*/
|
|
13
|
-
import type { ChatMessage } from '../providers/types.js';
|
|
14
|
-
import type { AgentDefinition } from './agents/types.js';
|
|
15
|
-
import type { SkillDefinition } from './skills/types.js';
|
|
16
|
-
/**
|
|
17
|
-
* Options for creating a ConversationContext.
|
|
18
|
-
*/
|
|
19
|
-
export interface ConversationContextOptions {
|
|
20
|
-
/** Maximum tokens for the context window (default: 128000) */
|
|
21
|
-
maxTokens?: number;
|
|
22
|
-
/** Tokens reserved for the model's response (default: 4096) */
|
|
23
|
-
responseReserve?: number;
|
|
24
|
-
/** Initial conversation history to restore (e.g., from a handoff) */
|
|
25
|
-
initialMessages?: ChatMessage[];
|
|
26
|
-
}
|
|
27
|
-
/**
|
|
28
|
-
* Summary of a conversation for handoff purposes.
|
|
29
|
-
*/
|
|
30
|
-
export interface ConversationSummary {
|
|
31
|
-
/** The agent that was running this conversation */
|
|
32
|
-
agentId: string;
|
|
33
|
-
/** Key points from the conversation */
|
|
34
|
-
summary: string;
|
|
35
|
-
/** Number of turns in the original conversation */
|
|
36
|
-
turnCount: number;
|
|
37
|
-
/** Any tool calls that were made */
|
|
38
|
-
toolCallSummary: string[];
|
|
39
|
-
}
|
|
40
|
-
/**
|
|
41
|
-
* Manages conversation state for a single agent session.
|
|
42
|
-
*
|
|
43
|
-
* Handles message accumulation, context window enforcement,
|
|
44
|
-
* and system prompt construction from agent definitions and skills.
|
|
45
|
-
*
|
|
46
|
-
* @example
|
|
47
|
-
* ```typescript
|
|
48
|
-
* const ctx = new ConversationContext(developerAgent);
|
|
49
|
-
* ctx.addUserMessage('Implement the login page');
|
|
50
|
-
*
|
|
51
|
-
* const messages = ctx.getMessages(); // system + user message
|
|
52
|
-
* // Send to LLM...
|
|
53
|
-
*
|
|
54
|
-
* ctx.addAssistantMessage('I\'ll create the login component...');
|
|
55
|
-
* ctx.addAssistantToolCalls([{ id: '1', type: 'function', function: { name: 'editFile', arguments: '...' } }]);
|
|
56
|
-
* ctx.addToolResult('1', 'File updated successfully');
|
|
57
|
-
* ```
|
|
58
|
-
*/
|
|
59
|
-
export declare class ConversationContext {
|
|
60
|
-
/** The agent this context belongs to */
|
|
61
|
-
private readonly agent;
|
|
62
|
-
/** Conversation messages (excluding system prompt; it's built dynamically) */
|
|
63
|
-
private messages;
|
|
64
|
-
/** Skills injected into this context */
|
|
65
|
-
private injectedSkills;
|
|
66
|
-
/** Skill content appended to system prompt */
|
|
67
|
-
private skillContent;
|
|
68
|
-
/** Context window configuration */
|
|
69
|
-
private readonly maxTokens;
|
|
70
|
-
private readonly responseReserve;
|
|
71
|
-
/** Custom context additions (handoff summaries, etc.) */
|
|
72
|
-
private additionalContext;
|
|
73
|
-
constructor(agent: AgentDefinition, options?: ConversationContextOptions);
|
|
74
|
-
/**
|
|
75
|
-
* Add a user message to the conversation.
|
|
76
|
-
*/
|
|
77
|
-
addUserMessage(content: string): void;
|
|
78
|
-
/**
|
|
79
|
-
* Add an assistant text response to the conversation.
|
|
80
|
-
*/
|
|
81
|
-
addAssistantMessage(content: string): void;
|
|
82
|
-
/**
|
|
83
|
-
* Add an assistant message with tool calls.
|
|
84
|
-
*/
|
|
85
|
-
addAssistantToolCalls(toolCalls: ChatMessage['tool_calls'], content?: string): void;
|
|
86
|
-
/**
|
|
87
|
-
* Add a tool result message.
|
|
88
|
-
*/
|
|
89
|
-
addToolResult(toolCallId: string, result: string): void;
|
|
90
|
-
/**
|
|
91
|
-
* Get the full message array for sending to the LLM.
|
|
92
|
-
* Includes the constructed system prompt as the first message.
|
|
93
|
-
* Applies truncation if context window is exceeded.
|
|
94
|
-
*/
|
|
95
|
-
getMessages(): ChatMessage[];
|
|
96
|
-
/**
|
|
97
|
-
* Get just the conversation messages (without system prompt).
|
|
98
|
-
*/
|
|
99
|
-
getRawMessages(): ChatMessage[];
|
|
100
|
-
/**
|
|
101
|
-
* Get the number of conversation turns (user messages).
|
|
102
|
-
*/
|
|
103
|
-
getTurnCount(): number;
|
|
104
|
-
/**
|
|
105
|
-
* Get estimated token count for the current context.
|
|
106
|
-
*/
|
|
107
|
-
getEstimatedTokens(): number;
|
|
108
|
-
/**
|
|
109
|
-
* Clear the conversation history, keeping injected skills.
|
|
110
|
-
*/
|
|
111
|
-
clearHistory(): void;
|
|
112
|
-
/**
|
|
113
|
-
* Inject a skill's content into the system prompt.
|
|
114
|
-
* Each skill is only injected once per context.
|
|
115
|
-
*
|
|
116
|
-
* @param skill - The skill to inject
|
|
117
|
-
* @returns true if the skill was injected, false if already present
|
|
118
|
-
*/
|
|
119
|
-
injectSkill(skill: SkillDefinition): boolean;
|
|
120
|
-
/**
|
|
121
|
-
* Check if a skill has been injected.
|
|
122
|
-
*/
|
|
123
|
-
hasSkill(skillId: string): boolean;
|
|
124
|
-
/**
|
|
125
|
-
* Get the IDs of all injected skills.
|
|
126
|
-
*/
|
|
127
|
-
getInjectedSkillIds(): string[];
|
|
128
|
-
/**
|
|
129
|
-
* Add additional context (e.g., handoff summary from previous agent).
|
|
130
|
-
*/
|
|
131
|
-
addContext(context: string): void;
|
|
132
|
-
/**
|
|
133
|
-
* Generate a summary of this conversation for handoff purposes.
|
|
134
|
-
*/
|
|
135
|
-
getSummary(): ConversationSummary;
|
|
136
|
-
/**
|
|
137
|
-
* Get the agent definition this context belongs to.
|
|
138
|
-
*/
|
|
139
|
-
getAgent(): AgentDefinition;
|
|
140
|
-
/**
|
|
141
|
-
* Build the full system prompt from the agent definition + injected content.
|
|
142
|
-
*/
|
|
143
|
-
buildSystemPrompt(): string;
|
|
144
|
-
/**
|
|
145
|
-
* Estimate token count for a string.
|
|
146
|
-
*/
|
|
147
|
-
private estimateTokens;
|
|
148
|
-
/**
|
|
149
|
-
* Estimate token count for a single message including structure overhead.
|
|
150
|
-
*/
|
|
151
|
-
private estimateMessageTokens;
|
|
152
|
-
/**
|
|
153
|
-
* Truncate messages to fit within the token budget.
|
|
154
|
-
*
|
|
155
|
-
* Strategy: Keep the most recent messages. Drop oldest messages first,
|
|
156
|
-
* but never drop tool results that are paired with a tool call in the
|
|
157
|
-
* retained messages (to avoid orphaned tool call references).
|
|
158
|
-
*
|
|
159
|
-
* @param messages - Messages to truncate
|
|
160
|
-
* @param maxTokens - Maximum tokens available
|
|
161
|
-
* @returns Truncated message array
|
|
162
|
-
*/
|
|
163
|
-
private truncateMessages;
|
|
164
|
-
/**
|
|
165
|
-
* Remove orphaned tool results (where the corresponding assistant
|
|
166
|
-
* tool_calls message was truncated) and orphaned tool calls
|
|
167
|
-
* (where the results were truncated).
|
|
168
|
-
*/
|
|
169
|
-
private repairToolCallConsistency;
|
|
170
|
-
}
|
|
171
|
-
//# sourceMappingURL=context.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/core/context.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAmBzD;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC,8DAA8D;IAC9D,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,+DAA+D;IAC/D,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,qEAAqE;IACrE,eAAe,CAAC,EAAE,WAAW,EAAE,CAAC;CACjC;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,mDAAmD;IACnD,OAAO,EAAE,MAAM,CAAC;IAEhB,uCAAuC;IACvC,OAAO,EAAE,MAAM,CAAC;IAEhB,mDAAmD;IACnD,SAAS,EAAE,MAAM,CAAC;IAElB,oCAAoC;IACpC,eAAe,EAAE,MAAM,EAAE,CAAC;CAC3B;AAMD;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBAAa,mBAAmB;IAC9B,wCAAwC;IACxC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAkB;IAExC,8EAA8E;IAC9E,OAAO,CAAC,QAAQ,CAAqB;IAErC,wCAAwC;IACxC,OAAO,CAAC,cAAc,CAA0B;IAEhD,8CAA8C;IAC9C,OAAO,CAAC,YAAY,CAAgB;IAEpC,mCAAmC;IACnC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAS;IAEzC,yDAAyD;IACzD,OAAO,CAAC,iBAAiB,CAAgB;gBAE7B,KAAK,EAAE,eAAe,EAAE,OAAO,CAAC,EAAE,0BAA0B;IAcxE;;OAEG;IACH,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAIrC;;OAEG;IACH,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAI1C;;OAEG;IACH,qBAAqB,CAAC,SAAS,EAAE,WAAW,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI;IAQnF;;OAEG;IACH,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAQvD;;;;OAIG;IACH,WAAW,IAAI,WAAW,EAAE;IAY5B;;OAEG;IACH,cAAc,IAAI,WAAW,EAAE;IAI/B;;OAEG;IACH,YAAY,IAAI,MAAM;IAItB;;OAEG;IACH,kBAAkB,IAAI,MAAM;IAU5B;;OAEG;IACH,YAAY,IAAI,IAAI;IAQpB;;;;;;OAMG;IACH,WAAW,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO;IAY5C;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAIlC;;OAEG;IACH,mBAAmB,IAAI,MAAM,EAAE;IAQ/B;;OAEG;IACH,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAQjC;;OAEG;IACH,UAAU,IAAI,mBAAmB;IA4BjC;;OAEG;IACH,QAAQ,IAAI,eAAe;IAQ3B;;OAEG;IACH,iBAAiB,IAAI,MAAM;IA0B3B;;OAEG;IACH,OAAO,CAAC,cAAc;IAItB;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAyB7B;;;;;;;;;;OAUG;IACH,OAAO,CAAC,gBAAgB;IA6CxB;;;;OAIG;IACH,OAAO,CAAC,yBAAyB;CAgClC"}
|
package/dist/core/context.js
DELETED
|
@@ -1,353 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Conversation Context Manager
|
|
3
|
-
*
|
|
4
|
-
* Manages conversation state for agent interactions:
|
|
5
|
-
* - Message history with role tracking
|
|
6
|
-
* - Context window management (token estimation + truncation)
|
|
7
|
-
* - System prompt construction from agent definitions + skills
|
|
8
|
-
* - Skill injection when trigger phrases match user input
|
|
9
|
-
*
|
|
10
|
-
* Each agent session gets its own ConversationContext. When handoffs occur,
|
|
11
|
-
* a summary can be extracted and injected into the new agent's context.
|
|
12
|
-
*/
|
|
13
|
-
// =============================================================================
|
|
14
|
-
// Configuration
|
|
15
|
-
// =============================================================================
|
|
16
|
-
/** Default context window size in estimated tokens */
|
|
17
|
-
const DEFAULT_MAX_TOKENS = 128_000;
|
|
18
|
-
/** Reserve tokens for the model's response */
|
|
19
|
-
const DEFAULT_RESPONSE_RESERVE = 4_096;
|
|
20
|
-
/** Approximate characters per token (GPT-family heuristic) */
|
|
21
|
-
const CHARS_PER_TOKEN = 4;
|
|
22
|
-
// =============================================================================
|
|
23
|
-
// ConversationContext
|
|
24
|
-
// =============================================================================
|
|
25
|
-
/**
|
|
26
|
-
* Manages conversation state for a single agent session.
|
|
27
|
-
*
|
|
28
|
-
* Handles message accumulation, context window enforcement,
|
|
29
|
-
* and system prompt construction from agent definitions and skills.
|
|
30
|
-
*
|
|
31
|
-
* @example
|
|
32
|
-
* ```typescript
|
|
33
|
-
* const ctx = new ConversationContext(developerAgent);
|
|
34
|
-
* ctx.addUserMessage('Implement the login page');
|
|
35
|
-
*
|
|
36
|
-
* const messages = ctx.getMessages(); // system + user message
|
|
37
|
-
* // Send to LLM...
|
|
38
|
-
*
|
|
39
|
-
* ctx.addAssistantMessage('I\'ll create the login component...');
|
|
40
|
-
* ctx.addAssistantToolCalls([{ id: '1', type: 'function', function: { name: 'editFile', arguments: '...' } }]);
|
|
41
|
-
* ctx.addToolResult('1', 'File updated successfully');
|
|
42
|
-
* ```
|
|
43
|
-
*/
|
|
44
|
-
export class ConversationContext {
|
|
45
|
-
/** The agent this context belongs to */
|
|
46
|
-
agent;
|
|
47
|
-
/** Conversation messages (excluding system prompt; it's built dynamically) */
|
|
48
|
-
messages = [];
|
|
49
|
-
/** Skills injected into this context */
|
|
50
|
-
injectedSkills = new Set();
|
|
51
|
-
/** Skill content appended to system prompt */
|
|
52
|
-
skillContent = [];
|
|
53
|
-
/** Context window configuration */
|
|
54
|
-
maxTokens;
|
|
55
|
-
responseReserve;
|
|
56
|
-
/** Custom context additions (handoff summaries, etc.) */
|
|
57
|
-
additionalContext = [];
|
|
58
|
-
constructor(agent, options) {
|
|
59
|
-
this.agent = agent;
|
|
60
|
-
this.maxTokens = options?.maxTokens ?? DEFAULT_MAX_TOKENS;
|
|
61
|
-
this.responseReserve = options?.responseReserve ?? DEFAULT_RESPONSE_RESERVE;
|
|
62
|
-
if (options?.initialMessages) {
|
|
63
|
-
this.messages = [...options.initialMessages];
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
// ===========================================================================
|
|
67
|
-
// Message Management
|
|
68
|
-
// ===========================================================================
|
|
69
|
-
/**
|
|
70
|
-
* Add a user message to the conversation.
|
|
71
|
-
*/
|
|
72
|
-
addUserMessage(content) {
|
|
73
|
-
this.messages.push({ role: 'user', content });
|
|
74
|
-
}
|
|
75
|
-
/**
|
|
76
|
-
* Add an assistant text response to the conversation.
|
|
77
|
-
*/
|
|
78
|
-
addAssistantMessage(content) {
|
|
79
|
-
this.messages.push({ role: 'assistant', content });
|
|
80
|
-
}
|
|
81
|
-
/**
|
|
82
|
-
* Add an assistant message with tool calls.
|
|
83
|
-
*/
|
|
84
|
-
addAssistantToolCalls(toolCalls, content) {
|
|
85
|
-
this.messages.push({
|
|
86
|
-
role: 'assistant',
|
|
87
|
-
content: content ?? '',
|
|
88
|
-
tool_calls: toolCalls,
|
|
89
|
-
});
|
|
90
|
-
}
|
|
91
|
-
/**
|
|
92
|
-
* Add a tool result message.
|
|
93
|
-
*/
|
|
94
|
-
addToolResult(toolCallId, result) {
|
|
95
|
-
this.messages.push({
|
|
96
|
-
role: 'tool',
|
|
97
|
-
content: result,
|
|
98
|
-
tool_call_id: toolCallId,
|
|
99
|
-
});
|
|
100
|
-
}
|
|
101
|
-
/**
|
|
102
|
-
* Get the full message array for sending to the LLM.
|
|
103
|
-
* Includes the constructed system prompt as the first message.
|
|
104
|
-
* Applies truncation if context window is exceeded.
|
|
105
|
-
*/
|
|
106
|
-
getMessages() {
|
|
107
|
-
const systemPrompt = this.buildSystemPrompt();
|
|
108
|
-
const systemMessage = { role: 'system', content: systemPrompt };
|
|
109
|
-
const systemTokens = this.estimateTokens(systemPrompt);
|
|
110
|
-
const availableTokens = this.maxTokens - this.responseReserve - systemTokens;
|
|
111
|
-
const truncated = this.truncateMessages(this.messages, availableTokens);
|
|
112
|
-
return [systemMessage, ...truncated];
|
|
113
|
-
}
|
|
114
|
-
/**
|
|
115
|
-
* Get just the conversation messages (without system prompt).
|
|
116
|
-
*/
|
|
117
|
-
getRawMessages() {
|
|
118
|
-
return [...this.messages];
|
|
119
|
-
}
|
|
120
|
-
/**
|
|
121
|
-
* Get the number of conversation turns (user messages).
|
|
122
|
-
*/
|
|
123
|
-
getTurnCount() {
|
|
124
|
-
return this.messages.filter((m) => m.role === 'user').length;
|
|
125
|
-
}
|
|
126
|
-
/**
|
|
127
|
-
* Get estimated token count for the current context.
|
|
128
|
-
*/
|
|
129
|
-
getEstimatedTokens() {
|
|
130
|
-
const systemPrompt = this.buildSystemPrompt();
|
|
131
|
-
const systemTokens = this.estimateTokens(systemPrompt);
|
|
132
|
-
const messageTokens = this.messages.reduce((sum, m) => sum + this.estimateMessageTokens(m), 0);
|
|
133
|
-
return systemTokens + messageTokens;
|
|
134
|
-
}
|
|
135
|
-
/**
|
|
136
|
-
* Clear the conversation history, keeping injected skills.
|
|
137
|
-
*/
|
|
138
|
-
clearHistory() {
|
|
139
|
-
this.messages = [];
|
|
140
|
-
}
|
|
141
|
-
// ===========================================================================
|
|
142
|
-
// Skill Injection
|
|
143
|
-
// ===========================================================================
|
|
144
|
-
/**
|
|
145
|
-
* Inject a skill's content into the system prompt.
|
|
146
|
-
* Each skill is only injected once per context.
|
|
147
|
-
*
|
|
148
|
-
* @param skill - The skill to inject
|
|
149
|
-
* @returns true if the skill was injected, false if already present
|
|
150
|
-
*/
|
|
151
|
-
injectSkill(skill) {
|
|
152
|
-
if (this.injectedSkills.has(skill.id)) {
|
|
153
|
-
return false;
|
|
154
|
-
}
|
|
155
|
-
this.injectedSkills.add(skill.id);
|
|
156
|
-
this.skillContent.push(`\n\n---\n## Skill: ${skill.frontmatter.name}\n\n${skill.body}`);
|
|
157
|
-
return true;
|
|
158
|
-
}
|
|
159
|
-
/**
|
|
160
|
-
* Check if a skill has been injected.
|
|
161
|
-
*/
|
|
162
|
-
hasSkill(skillId) {
|
|
163
|
-
return this.injectedSkills.has(skillId);
|
|
164
|
-
}
|
|
165
|
-
/**
|
|
166
|
-
* Get the IDs of all injected skills.
|
|
167
|
-
*/
|
|
168
|
-
getInjectedSkillIds() {
|
|
169
|
-
return [...this.injectedSkills];
|
|
170
|
-
}
|
|
171
|
-
// ===========================================================================
|
|
172
|
-
// Context Additions
|
|
173
|
-
// ===========================================================================
|
|
174
|
-
/**
|
|
175
|
-
* Add additional context (e.g., handoff summary from previous agent).
|
|
176
|
-
*/
|
|
177
|
-
addContext(context) {
|
|
178
|
-
this.additionalContext.push(context);
|
|
179
|
-
}
|
|
180
|
-
// ===========================================================================
|
|
181
|
-
// Summary / Handoff
|
|
182
|
-
// ===========================================================================
|
|
183
|
-
/**
|
|
184
|
-
* Generate a summary of this conversation for handoff purposes.
|
|
185
|
-
*/
|
|
186
|
-
getSummary() {
|
|
187
|
-
const toolCallSummary = [];
|
|
188
|
-
for (const msg of this.messages) {
|
|
189
|
-
if (msg.tool_calls) {
|
|
190
|
-
for (const tc of msg.tool_calls) {
|
|
191
|
-
toolCallSummary.push(`${tc.function.name}(${tc.function.arguments.slice(0, 100)})`);
|
|
192
|
-
}
|
|
193
|
-
}
|
|
194
|
-
}
|
|
195
|
-
// Build summary from the last few assistant messages
|
|
196
|
-
const assistantMessages = this.messages
|
|
197
|
-
.filter((m) => m.role === 'assistant' && m.content.length > 0)
|
|
198
|
-
.slice(-3);
|
|
199
|
-
const summaryText = assistantMessages.length > 0
|
|
200
|
-
? assistantMessages.map((m) => m.content.slice(0, 200)).join('\n')
|
|
201
|
-
: 'No assistant responses yet.';
|
|
202
|
-
return {
|
|
203
|
-
agentId: this.agent.id,
|
|
204
|
-
summary: summaryText,
|
|
205
|
-
turnCount: this.getTurnCount(),
|
|
206
|
-
toolCallSummary,
|
|
207
|
-
};
|
|
208
|
-
}
|
|
209
|
-
/**
|
|
210
|
-
* Get the agent definition this context belongs to.
|
|
211
|
-
*/
|
|
212
|
-
getAgent() {
|
|
213
|
-
return this.agent;
|
|
214
|
-
}
|
|
215
|
-
// ===========================================================================
|
|
216
|
-
// System Prompt Construction
|
|
217
|
-
// ===========================================================================
|
|
218
|
-
/**
|
|
219
|
-
* Build the full system prompt from the agent definition + injected content.
|
|
220
|
-
*/
|
|
221
|
-
buildSystemPrompt() {
|
|
222
|
-
const parts = [];
|
|
223
|
-
// 1. Agent's body (main system prompt from .agent.md)
|
|
224
|
-
if (this.agent.body) {
|
|
225
|
-
parts.push(this.agent.body);
|
|
226
|
-
}
|
|
227
|
-
// 2. Additional context (handoff summaries, etc.)
|
|
228
|
-
if (this.additionalContext.length > 0) {
|
|
229
|
-
parts.push('\n\n---\n## Additional Context\n');
|
|
230
|
-
parts.push(this.additionalContext.join('\n\n'));
|
|
231
|
-
}
|
|
232
|
-
// 3. Injected skills
|
|
233
|
-
if (this.skillContent.length > 0) {
|
|
234
|
-
parts.push(this.skillContent.join(''));
|
|
235
|
-
}
|
|
236
|
-
return parts.join('\n');
|
|
237
|
-
}
|
|
238
|
-
// ===========================================================================
|
|
239
|
-
// Token Estimation & Truncation
|
|
240
|
-
// ===========================================================================
|
|
241
|
-
/**
|
|
242
|
-
* Estimate token count for a string.
|
|
243
|
-
*/
|
|
244
|
-
estimateTokens(text) {
|
|
245
|
-
return Math.ceil(text.length / CHARS_PER_TOKEN);
|
|
246
|
-
}
|
|
247
|
-
/**
|
|
248
|
-
* Estimate token count for a single message including structure overhead.
|
|
249
|
-
*/
|
|
250
|
-
estimateMessageTokens(message) {
|
|
251
|
-
let chars = message.content.length;
|
|
252
|
-
// Role + formatting overhead
|
|
253
|
-
chars += message.role.length + 4;
|
|
254
|
-
if (message.name) {
|
|
255
|
-
chars += message.name.length + 2;
|
|
256
|
-
}
|
|
257
|
-
if (message.tool_call_id) {
|
|
258
|
-
chars += message.tool_call_id.length + 4;
|
|
259
|
-
}
|
|
260
|
-
if (message.tool_calls) {
|
|
261
|
-
for (const tc of message.tool_calls) {
|
|
262
|
-
chars += tc.function.name.length;
|
|
263
|
-
chars += tc.function.arguments.length;
|
|
264
|
-
chars += 20; // Structure overhead
|
|
265
|
-
}
|
|
266
|
-
}
|
|
267
|
-
return Math.ceil(chars / CHARS_PER_TOKEN);
|
|
268
|
-
}
|
|
269
|
-
/**
|
|
270
|
-
* Truncate messages to fit within the token budget.
|
|
271
|
-
*
|
|
272
|
-
* Strategy: Keep the most recent messages. Drop oldest messages first,
|
|
273
|
-
* but never drop tool results that are paired with a tool call in the
|
|
274
|
-
* retained messages (to avoid orphaned tool call references).
|
|
275
|
-
*
|
|
276
|
-
* @param messages - Messages to truncate
|
|
277
|
-
* @param maxTokens - Maximum tokens available
|
|
278
|
-
* @returns Truncated message array
|
|
279
|
-
*/
|
|
280
|
-
truncateMessages(messages, maxTokens) {
|
|
281
|
-
if (maxTokens <= 0) {
|
|
282
|
-
return [];
|
|
283
|
-
}
|
|
284
|
-
// Calculate total tokens
|
|
285
|
-
let totalTokens = 0;
|
|
286
|
-
const tokenCounts = messages.map((m) => {
|
|
287
|
-
const count = this.estimateMessageTokens(m);
|
|
288
|
-
totalTokens += count;
|
|
289
|
-
return count;
|
|
290
|
-
});
|
|
291
|
-
// If within budget, return all messages
|
|
292
|
-
if (totalTokens <= maxTokens) {
|
|
293
|
-
return [...messages];
|
|
294
|
-
}
|
|
295
|
-
// Drop oldest messages until we fit
|
|
296
|
-
// Work from the beginning, marking messages for removal
|
|
297
|
-
let tokensToRemove = totalTokens - maxTokens;
|
|
298
|
-
const keep = new Array(messages.length).fill(true);
|
|
299
|
-
for (let i = 0; i < messages.length && tokensToRemove > 0; i++) {
|
|
300
|
-
// Never drop the very last user message (the current request)
|
|
301
|
-
if (i === messages.length - 1 && messages[i].role === 'user') {
|
|
302
|
-
break;
|
|
303
|
-
}
|
|
304
|
-
keep[i] = false;
|
|
305
|
-
tokensToRemove -= tokenCounts[i];
|
|
306
|
-
}
|
|
307
|
-
// Collect kept messages
|
|
308
|
-
const result = [];
|
|
309
|
-
for (let i = 0; i < messages.length; i++) {
|
|
310
|
-
if (keep[i]) {
|
|
311
|
-
result.push(messages[i]);
|
|
312
|
-
}
|
|
313
|
-
}
|
|
314
|
-
// Validate tool call consistency: ensure no orphaned tool results
|
|
315
|
-
return this.repairToolCallConsistency(result);
|
|
316
|
-
}
|
|
317
|
-
/**
|
|
318
|
-
* Remove orphaned tool results (where the corresponding assistant
|
|
319
|
-
* tool_calls message was truncated) and orphaned tool calls
|
|
320
|
-
* (where the results were truncated).
|
|
321
|
-
*/
|
|
322
|
-
repairToolCallConsistency(messages) {
|
|
323
|
-
// Collect all tool call IDs from assistant messages
|
|
324
|
-
const toolCallIds = new Set();
|
|
325
|
-
for (const msg of messages) {
|
|
326
|
-
if (msg.role === 'assistant' && msg.tool_calls) {
|
|
327
|
-
for (const tc of msg.tool_calls) {
|
|
328
|
-
toolCallIds.add(tc.id);
|
|
329
|
-
}
|
|
330
|
-
}
|
|
331
|
-
}
|
|
332
|
-
// Collect all tool result IDs
|
|
333
|
-
const toolResultIds = new Set();
|
|
334
|
-
for (const msg of messages) {
|
|
335
|
-
if (msg.role === 'tool' && msg.tool_call_id) {
|
|
336
|
-
toolResultIds.add(msg.tool_call_id);
|
|
337
|
-
}
|
|
338
|
-
}
|
|
339
|
-
// Remove tool results without matching tool calls
|
|
340
|
-
// Remove tool call messages where NONE of their calls have results
|
|
341
|
-
return messages.filter((msg) => {
|
|
342
|
-
if (msg.role === 'tool' && msg.tool_call_id) {
|
|
343
|
-
return toolCallIds.has(msg.tool_call_id);
|
|
344
|
-
}
|
|
345
|
-
if (msg.role === 'assistant' && msg.tool_calls && msg.tool_calls.length > 0) {
|
|
346
|
-
// Keep if at least one tool call has a matching result
|
|
347
|
-
return msg.tool_calls.some((tc) => toolResultIds.has(tc.id));
|
|
348
|
-
}
|
|
349
|
-
return true;
|
|
350
|
-
});
|
|
351
|
-
}
|
|
352
|
-
}
|
|
353
|
-
//# sourceMappingURL=context.js.map
|
package/dist/core/context.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/core/context.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"context.test.d.ts","sourceRoot":"","sources":["../../src/core/context.test.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
|