longer-agent 0.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/LICENSE +21 -0
- package/README.md +227 -0
- package/README.zh-CN.md +227 -0
- package/agent_templates/executor/agent.yaml +22 -0
- package/agent_templates/executor/system_prompt.md +17 -0
- package/agent_templates/explorer/agent.yaml +13 -0
- package/agent_templates/explorer/system_prompt.md +19 -0
- package/agent_templates/main/agent.yaml +7 -0
- package/agent_templates/main/system_prompt.md +45 -0
- package/configExample.yaml +83 -0
- package/dist/agents/agent.d.ts +79 -0
- package/dist/agents/agent.d.ts.map +1 -0
- package/dist/agents/agent.js +156 -0
- package/dist/agents/agent.js.map +1 -0
- package/dist/agents/tool-loop.d.ts +140 -0
- package/dist/agents/tool-loop.d.ts.map +1 -0
- package/dist/agents/tool-loop.js +465 -0
- package/dist/agents/tool-loop.js.map +1 -0
- package/dist/ask.d.ts +81 -0
- package/dist/ask.d.ts.map +1 -0
- package/dist/ask.js +34 -0
- package/dist/ask.js.map +1 -0
- package/dist/auth/openai-oauth.d.ts +66 -0
- package/dist/auth/openai-oauth.d.ts.map +1 -0
- package/dist/auth/openai-oauth.js +640 -0
- package/dist/auth/openai-oauth.js.map +1 -0
- package/dist/cli.d.ts +14 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +254 -0
- package/dist/cli.js.map +1 -0
- package/dist/commands.d.ts +118 -0
- package/dist/commands.d.ts.map +1 -0
- package/dist/commands.js +862 -0
- package/dist/commands.js.map +1 -0
- package/dist/config.d.ts +130 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +648 -0
- package/dist/config.js.map +1 -0
- package/dist/context-rendering.d.ts +69 -0
- package/dist/context-rendering.d.ts.map +1 -0
- package/dist/context-rendering.js +250 -0
- package/dist/context-rendering.js.map +1 -0
- package/dist/document-projection.d.ts +12 -0
- package/dist/document-projection.d.ts.map +1 -0
- package/dist/document-projection.js +75 -0
- package/dist/document-projection.js.map +1 -0
- package/dist/ephemeral-log.d.ts +15 -0
- package/dist/ephemeral-log.d.ts.map +1 -0
- package/dist/ephemeral-log.js +173 -0
- package/dist/ephemeral-log.js.map +1 -0
- package/dist/file-attach.d.ts +89 -0
- package/dist/file-attach.d.ts.map +1 -0
- package/dist/file-attach.js +571 -0
- package/dist/file-attach.js.map +1 -0
- package/dist/index.d.ts +29 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +43 -0
- package/dist/index.js.map +1 -0
- package/dist/init-wizard.d.ts +13 -0
- package/dist/init-wizard.d.ts.map +1 -0
- package/dist/init-wizard.js +328 -0
- package/dist/init-wizard.js.map +1 -0
- package/dist/log-entry.d.ts +104 -0
- package/dist/log-entry.d.ts.map +1 -0
- package/dist/log-entry.js +292 -0
- package/dist/log-entry.js.map +1 -0
- package/dist/log-projection.d.ts +73 -0
- package/dist/log-projection.d.ts.map +1 -0
- package/dist/log-projection.js +651 -0
- package/dist/log-projection.js.map +1 -0
- package/dist/mcp-client.d.ts +55 -0
- package/dist/mcp-client.d.ts.map +1 -0
- package/dist/mcp-client.js +402 -0
- package/dist/mcp-client.js.map +1 -0
- package/dist/model-selection.d.ts +16 -0
- package/dist/model-selection.d.ts.map +1 -0
- package/dist/model-selection.js +181 -0
- package/dist/model-selection.js.map +1 -0
- package/dist/network-retry.d.ts +38 -0
- package/dist/network-retry.d.ts.map +1 -0
- package/dist/network-retry.js +140 -0
- package/dist/network-retry.js.map +1 -0
- package/dist/persistence.d.ts +104 -0
- package/dist/persistence.d.ts.map +1 -0
- package/dist/persistence.js +644 -0
- package/dist/persistence.js.map +1 -0
- package/dist/primitives/context.d.ts +29 -0
- package/dist/primitives/context.d.ts.map +1 -0
- package/dist/primitives/context.js +85 -0
- package/dist/primitives/context.js.map +1 -0
- package/dist/progress.d.ts +51 -0
- package/dist/progress.d.ts.map +1 -0
- package/dist/progress.js +229 -0
- package/dist/progress.js.map +1 -0
- package/dist/provider-presets.d.ts +34 -0
- package/dist/provider-presets.d.ts.map +1 -0
- package/dist/provider-presets.js +181 -0
- package/dist/provider-presets.js.map +1 -0
- package/dist/providers/anthropic.d.ts +32 -0
- package/dist/providers/anthropic.d.ts.map +1 -0
- package/dist/providers/anthropic.js +450 -0
- package/dist/providers/anthropic.js.map +1 -0
- package/dist/providers/base.d.ts +135 -0
- package/dist/providers/base.d.ts.map +1 -0
- package/dist/providers/base.js +104 -0
- package/dist/providers/base.js.map +1 -0
- package/dist/providers/glm.d.ts +18 -0
- package/dist/providers/glm.d.ts.map +1 -0
- package/dist/providers/glm.js +59 -0
- package/dist/providers/glm.js.map +1 -0
- package/dist/providers/kimi.d.ts +23 -0
- package/dist/providers/kimi.d.ts.map +1 -0
- package/dist/providers/kimi.js +89 -0
- package/dist/providers/kimi.js.map +1 -0
- package/dist/providers/minimax.d.ts +20 -0
- package/dist/providers/minimax.d.ts.map +1 -0
- package/dist/providers/minimax.js +192 -0
- package/dist/providers/minimax.js.map +1 -0
- package/dist/providers/openai-chat.d.ts +33 -0
- package/dist/providers/openai-chat.d.ts.map +1 -0
- package/dist/providers/openai-chat.js +543 -0
- package/dist/providers/openai-chat.js.map +1 -0
- package/dist/providers/openai-responses.d.ts +26 -0
- package/dist/providers/openai-responses.d.ts.map +1 -0
- package/dist/providers/openai-responses.js +443 -0
- package/dist/providers/openai-responses.js.map +1 -0
- package/dist/providers/openrouter.d.ts +24 -0
- package/dist/providers/openrouter.d.ts.map +1 -0
- package/dist/providers/openrouter.js +177 -0
- package/dist/providers/openrouter.js.map +1 -0
- package/dist/providers/registry.d.ts +7 -0
- package/dist/providers/registry.d.ts.map +1 -0
- package/dist/providers/registry.js +38 -0
- package/dist/providers/registry.js.map +1 -0
- package/dist/security/path.d.ts +51 -0
- package/dist/security/path.d.ts.map +1 -0
- package/dist/security/path.js +187 -0
- package/dist/security/path.js.map +1 -0
- package/dist/security/sensitive-files.d.ts +3 -0
- package/dist/security/sensitive-files.d.ts.map +1 -0
- package/dist/security/sensitive-files.js +41 -0
- package/dist/security/sensitive-files.js.map +1 -0
- package/dist/session.d.ts +446 -0
- package/dist/session.d.ts.map +1 -0
- package/dist/session.js +4595 -0
- package/dist/session.js.map +1 -0
- package/dist/settings.d.ts +46 -0
- package/dist/settings.d.ts.map +1 -0
- package/dist/settings.js +134 -0
- package/dist/settings.js.map +1 -0
- package/dist/show-context.d.ts +35 -0
- package/dist/show-context.d.ts.map +1 -0
- package/dist/show-context.js +320 -0
- package/dist/show-context.js.map +1 -0
- package/dist/skills/loader.d.ts +49 -0
- package/dist/skills/loader.d.ts.map +1 -0
- package/dist/skills/loader.js +166 -0
- package/dist/skills/loader.js.map +1 -0
- package/dist/summarize-context.d.ts +29 -0
- package/dist/summarize-context.d.ts.map +1 -0
- package/dist/summarize-context.js +247 -0
- package/dist/summarize-context.js.map +1 -0
- package/dist/templates/loader.d.ts +104 -0
- package/dist/templates/loader.d.ts.map +1 -0
- package/dist/templates/loader.js +514 -0
- package/dist/templates/loader.js.map +1 -0
- package/dist/tools/basic.d.ts +29 -0
- package/dist/tools/basic.d.ts.map +1 -0
- package/dist/tools/basic.js +2079 -0
- package/dist/tools/basic.js.map +1 -0
- package/dist/tools/comm.d.ts +17 -0
- package/dist/tools/comm.d.ts.map +1 -0
- package/dist/tools/comm.js +192 -0
- package/dist/tools/comm.js.map +1 -0
- package/dist/tools/web-fetch.d.ts +11 -0
- package/dist/tools/web-fetch.d.ts.map +1 -0
- package/dist/tools/web-fetch.js +237 -0
- package/dist/tools/web-fetch.js.map +1 -0
- package/dist/tools/web-search.d.ts +24 -0
- package/dist/tools/web-search.d.ts.map +1 -0
- package/dist/tools/web-search.js +51 -0
- package/dist/tools/web-search.js.map +1 -0
- package/dist/tui/app.d.ts +35 -0
- package/dist/tui/app.d.ts.map +1 -0
- package/dist/tui/app.js +1042 -0
- package/dist/tui/app.js.map +1 -0
- package/dist/tui/checkbox-picker.d.ts +35 -0
- package/dist/tui/checkbox-picker.d.ts.map +1 -0
- package/dist/tui/checkbox-picker.js +85 -0
- package/dist/tui/checkbox-picker.js.map +1 -0
- package/dist/tui/command-picker.d.ts +31 -0
- package/dist/tui/command-picker.d.ts.map +1 -0
- package/dist/tui/command-picker.js +113 -0
- package/dist/tui/command-picker.js.map +1 -0
- package/dist/tui/components/ask-panel.d.ts +21 -0
- package/dist/tui/components/ask-panel.d.ts.map +1 -0
- package/dist/tui/components/ask-panel.js +81 -0
- package/dist/tui/components/ask-panel.js.map +1 -0
- package/dist/tui/components/conversation-panel.d.ts +68 -0
- package/dist/tui/components/conversation-panel.d.ts.map +1 -0
- package/dist/tui/components/conversation-panel.js +611 -0
- package/dist/tui/components/conversation-panel.js.map +1 -0
- package/dist/tui/components/input-panel.d.ts +27 -0
- package/dist/tui/components/input-panel.d.ts.map +1 -0
- package/dist/tui/components/input-panel.js +725 -0
- package/dist/tui/components/input-panel.js.map +1 -0
- package/dist/tui/components/logo-panel.d.ts +14 -0
- package/dist/tui/components/logo-panel.d.ts.map +1 -0
- package/dist/tui/components/logo-panel.js +37 -0
- package/dist/tui/components/logo-panel.js.map +1 -0
- package/dist/tui/components/plan-panel.d.ts +10 -0
- package/dist/tui/components/plan-panel.d.ts.map +1 -0
- package/dist/tui/components/plan-panel.js +8 -0
- package/dist/tui/components/plan-panel.js.map +1 -0
- package/dist/tui/components/status-bar.d.ts +24 -0
- package/dist/tui/components/status-bar.d.ts.map +1 -0
- package/dist/tui/components/status-bar.js +80 -0
- package/dist/tui/components/status-bar.js.map +1 -0
- package/dist/tui/input/editor-state.d.ts +22 -0
- package/dist/tui/input/editor-state.d.ts.map +1 -0
- package/dist/tui/input/editor-state.js +157 -0
- package/dist/tui/input/editor-state.js.map +1 -0
- package/dist/tui/input/keymap.d.ts +3 -0
- package/dist/tui/input/keymap.d.ts.map +1 -0
- package/dist/tui/input/keymap.js +72 -0
- package/dist/tui/input/keymap.js.map +1 -0
- package/dist/tui/input/paste-slots.d.ts +17 -0
- package/dist/tui/input/paste-slots.d.ts.map +1 -0
- package/dist/tui/input/paste-slots.js +46 -0
- package/dist/tui/input/paste-slots.js.map +1 -0
- package/dist/tui/input/paste.d.ts +15 -0
- package/dist/tui/input/paste.d.ts.map +1 -0
- package/dist/tui/input/paste.js +35 -0
- package/dist/tui/input/paste.js.map +1 -0
- package/dist/tui/input/protocol.d.ts +9 -0
- package/dist/tui/input/protocol.d.ts.map +1 -0
- package/dist/tui/input/protocol.js +387 -0
- package/dist/tui/input/protocol.js.map +1 -0
- package/dist/tui/input/sanitize.d.ts +6 -0
- package/dist/tui/input/sanitize.d.ts.map +1 -0
- package/dist/tui/input/sanitize.js +20 -0
- package/dist/tui/input/sanitize.js.map +1 -0
- package/dist/tui/input/types.d.ts +18 -0
- package/dist/tui/input/types.d.ts.map +1 -0
- package/dist/tui/input/types.js +2 -0
- package/dist/tui/input/types.js.map +1 -0
- package/dist/tui/launch.d.ts +23 -0
- package/dist/tui/launch.d.ts.map +1 -0
- package/dist/tui/launch.js +104 -0
- package/dist/tui/launch.js.map +1 -0
- package/dist/tui/theme.d.ts +20 -0
- package/dist/tui/theme.d.ts.map +1 -0
- package/dist/tui/theme.js +29 -0
- package/dist/tui/theme.js.map +1 -0
- package/dist/tui/types.d.ts +136 -0
- package/dist/tui/types.d.ts.map +1 -0
- package/dist/tui/types.js +9 -0
- package/dist/tui/types.js.map +1 -0
- package/package.json +76 -0
- package/prompts/sections/agents_md.md +23 -0
- package/prompts/sections/important_log.md +16 -0
- package/prompts/sections/system_mechanisms.md +18 -0
- package/prompts/tools/apply_patch.md +31 -0
- package/prompts/tools/ask.md +18 -0
- package/prompts/tools/bash.md +13 -0
- package/prompts/tools/bash_background.md +9 -0
- package/prompts/tools/bash_output.md +9 -0
- package/prompts/tools/check_status.md +3 -0
- package/prompts/tools/diff.md +5 -0
- package/prompts/tools/edit_file.md +11 -0
- package/prompts/tools/glob.md +7 -0
- package/prompts/tools/grep.md +20 -0
- package/prompts/tools/kill_agent.md +3 -0
- package/prompts/tools/kill_shell.md +5 -0
- package/prompts/tools/list_dir.md +5 -0
- package/prompts/tools/plan.md +252 -0
- package/prompts/tools/read_file.md +9 -0
- package/prompts/tools/show_context.md +12 -0
- package/prompts/tools/skill.md +7 -0
- package/prompts/tools/spawn_agent.md +195 -0
- package/prompts/tools/summarize_context.md +122 -0
- package/prompts/tools/test.md +5 -0
- package/prompts/tools/wait.md +17 -0
- package/prompts/tools/web_fetch.md +9 -0
- package/prompts/tools/web_search.md +5 -0
- package/prompts/tools/write_file.md +11 -0
- package/skills/.staging/.gitkeep +0 -0
- package/skills/explain-code/SKILL.md +15 -0
- package/skills/skill-manager/SKILL.md +83 -0
|
@@ -0,0 +1,446 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Multi-turn conversation session with context management.
|
|
3
|
+
*
|
|
4
|
+
* Provides the Session class — the core runtime orchestrator.
|
|
5
|
+
* Manages the Primary Agent's conversation, important log,
|
|
6
|
+
* auto-compact, and sub-agent lifecycle.
|
|
7
|
+
*/
|
|
8
|
+
import { Agent } from "./agents/agent.js";
|
|
9
|
+
import { type Config, type ModelConfig } from "./config.js";
|
|
10
|
+
import type { MCPClientManager } from "./mcp-client.js";
|
|
11
|
+
import { type ProgressReporter } from "./progress.js";
|
|
12
|
+
import { type SkillMeta } from "./skills/loader.js";
|
|
13
|
+
import { type AgentQuestionDecision, type PendingAskUi } from "./ask.js";
|
|
14
|
+
import { LogIdAllocator, type LogEntry } from "./log-entry.js";
|
|
15
|
+
import { type GlobalTuiPreferences, type LogSessionMeta } from "./persistence.js";
|
|
16
|
+
import { type PersistedModelSelection } from "./model-selection.js";
|
|
17
|
+
import { type ResolvedSettings } from "./settings.js";
|
|
18
|
+
export declare class Session {
|
|
19
|
+
primaryAgent: Agent;
|
|
20
|
+
config: Config;
|
|
21
|
+
agentTemplates: Record<string, Agent>;
|
|
22
|
+
private _promptsDirs?;
|
|
23
|
+
private _progress?;
|
|
24
|
+
private _mcpManager?;
|
|
25
|
+
private _mcpConnected;
|
|
26
|
+
private _createdAt;
|
|
27
|
+
private _log;
|
|
28
|
+
private _idAllocator;
|
|
29
|
+
private _logListeners;
|
|
30
|
+
private _lastInputTokens;
|
|
31
|
+
private _lastTotalTokens;
|
|
32
|
+
private _lastCacheReadTokens;
|
|
33
|
+
private _compactInProgress;
|
|
34
|
+
private _thresholds;
|
|
35
|
+
private _hintResetNone;
|
|
36
|
+
private _hintResetLevel1;
|
|
37
|
+
private _settingsMaxOutputTokens;
|
|
38
|
+
private _hintState;
|
|
39
|
+
private _showContextRoundsRemaining;
|
|
40
|
+
private _showContextAnnotations;
|
|
41
|
+
private _activePlanFile;
|
|
42
|
+
private _activePlanCheckpoints;
|
|
43
|
+
private _activePlanChecked;
|
|
44
|
+
private _skills;
|
|
45
|
+
private _skillRoots;
|
|
46
|
+
private _disabledSkills;
|
|
47
|
+
private _store;
|
|
48
|
+
private _projectRoot;
|
|
49
|
+
private _sessionArtifactsOverride;
|
|
50
|
+
private _systemData;
|
|
51
|
+
private _activeAgents;
|
|
52
|
+
private _subAgentCounter;
|
|
53
|
+
private _activeShells;
|
|
54
|
+
private _shellCounter;
|
|
55
|
+
private _persistedModelSelection;
|
|
56
|
+
private _preferredThinkingLevel;
|
|
57
|
+
private _preferredCacheHitEnabled;
|
|
58
|
+
private _preferredAccentColor?;
|
|
59
|
+
private _thinkingLevel;
|
|
60
|
+
private _cacheHitEnabled;
|
|
61
|
+
private _agentState;
|
|
62
|
+
private _messageQueue;
|
|
63
|
+
private _currentTurnSignal;
|
|
64
|
+
private _interruptSnapshot;
|
|
65
|
+
/** Callback for incremental persistence — called at save-worthy checkpoints. */
|
|
66
|
+
onSaveRequest?: () => void;
|
|
67
|
+
private _turnCount;
|
|
68
|
+
private _compactCount;
|
|
69
|
+
private _usedContextIds;
|
|
70
|
+
private _toolExecutors;
|
|
71
|
+
private _activeAsk;
|
|
72
|
+
private _askHistory;
|
|
73
|
+
private _pendingTurnState;
|
|
74
|
+
/** Allocate a unique random hex context ID. */
|
|
75
|
+
private _allocateContextId;
|
|
76
|
+
constructor(opts: {
|
|
77
|
+
primaryAgent: Agent;
|
|
78
|
+
config: Config;
|
|
79
|
+
agentTemplates?: Record<string, Agent>;
|
|
80
|
+
skills?: Map<string, SkillMeta>;
|
|
81
|
+
skillRoots?: string[];
|
|
82
|
+
progress?: ProgressReporter;
|
|
83
|
+
mcpManager?: MCPClientManager;
|
|
84
|
+
promptsDirs?: string[];
|
|
85
|
+
store?: any;
|
|
86
|
+
settings?: ResolvedSettings;
|
|
87
|
+
});
|
|
88
|
+
private _buildPersistedModelSelection;
|
|
89
|
+
setPersistedModelSelection(selection: Partial<PersistedModelSelection>): void;
|
|
90
|
+
private _initConversation;
|
|
91
|
+
/**
|
|
92
|
+
* Apply resolved user settings (thresholds + max_output_tokens).
|
|
93
|
+
*/
|
|
94
|
+
private _applySettings;
|
|
95
|
+
/**
|
|
96
|
+
* Effective maxTokens for a given ModelConfig, taking settings override into account.
|
|
97
|
+
* Clamps to [4096, modelMaxOutputTokens].
|
|
98
|
+
*/
|
|
99
|
+
_effectiveMaxTokens(mc: ModelConfig): number;
|
|
100
|
+
/**
|
|
101
|
+
* Append a LogEntry to the structured log.
|
|
102
|
+
* Auto-triggers save request and notifies log listeners.
|
|
103
|
+
*/
|
|
104
|
+
private _appendEntry;
|
|
105
|
+
private _touchLog;
|
|
106
|
+
private _notifyLogListeners;
|
|
107
|
+
/** Allocate the next log entry ID for a given type. */
|
|
108
|
+
private _nextLogId;
|
|
109
|
+
/** Compute the next roundIndex for the current turn based on existing entries. */
|
|
110
|
+
private _computeNextRoundIndex;
|
|
111
|
+
private _findRoundContextId;
|
|
112
|
+
/**
|
|
113
|
+
* Find the most recent user-side contextId by scanning backward through the log.
|
|
114
|
+
* "User-side" means entries with apiRole "user" or "tool_result" that carry a contextId.
|
|
115
|
+
* Used for context ID inheritance: text-only final rounds inherit this ID.
|
|
116
|
+
*/
|
|
117
|
+
private _findPrecedingUserSideContextId;
|
|
118
|
+
private _roundHasToolCalls;
|
|
119
|
+
private _resolveOutputRoundContextId;
|
|
120
|
+
private _retagRoundEntries;
|
|
121
|
+
private _findToolCallContextId;
|
|
122
|
+
/**
|
|
123
|
+
* Unified message delivery entry point.
|
|
124
|
+
* Routes based on _agentState:
|
|
125
|
+
* idle → direct injection into _log
|
|
126
|
+
* working → queue (delivered via tool_result notification or activation boundary drain)
|
|
127
|
+
* waiting → queue + wake wait
|
|
128
|
+
*/
|
|
129
|
+
private _deliverMessage;
|
|
130
|
+
/**
|
|
131
|
+
* Public wrapper for TUI to deliver messages (replaces enqueueUserMessage).
|
|
132
|
+
*/
|
|
133
|
+
deliverMessage(source: "user" | "system" | "sub-agent", content: string): void;
|
|
134
|
+
/**
|
|
135
|
+
* Direct injection (idle-state safety net).
|
|
136
|
+
*/
|
|
137
|
+
private _injectMessageDirect;
|
|
138
|
+
/**
|
|
139
|
+
* Check whether the message queue has pending messages.
|
|
140
|
+
*/
|
|
141
|
+
private _hasQueuedMessages;
|
|
142
|
+
/**
|
|
143
|
+
* Check whether any agent has finished/errored but not yet delivered.
|
|
144
|
+
*/
|
|
145
|
+
private _hasUndeliveredAgentResults;
|
|
146
|
+
private _hasTrackedShells;
|
|
147
|
+
private _hasRunningShells;
|
|
148
|
+
private _getShellsDir;
|
|
149
|
+
private _normalizeShellId;
|
|
150
|
+
private _recordShellChunk;
|
|
151
|
+
private _buildShellReport;
|
|
152
|
+
/**
|
|
153
|
+
* Build unified delivery content: drain queue + build agent report.
|
|
154
|
+
* Used by check_status, wait, and activation boundary injection.
|
|
155
|
+
*/
|
|
156
|
+
private _buildDeliveryContent;
|
|
157
|
+
/**
|
|
158
|
+
* Inject all pending messages at activation boundary.
|
|
159
|
+
* Drains queue + builds agent report → pushes as user message.
|
|
160
|
+
*/
|
|
161
|
+
private _injectPendingMessages;
|
|
162
|
+
/**
|
|
163
|
+
* Build a notification summary line for pending messages (counts only, no content).
|
|
164
|
+
* Returns null if nothing pending.
|
|
165
|
+
*/
|
|
166
|
+
private _buildNotificationSummary;
|
|
167
|
+
private _waitResolver;
|
|
168
|
+
private _wakeWait;
|
|
169
|
+
private _makeAbortPromise;
|
|
170
|
+
/**
|
|
171
|
+
* Prepare and execute interruption cleanup for the current turn.
|
|
172
|
+
*
|
|
173
|
+
* This captures a non-destructive delivery snapshot first, then kills active
|
|
174
|
+
* workers and drops unconsumed runtime state.
|
|
175
|
+
*/
|
|
176
|
+
requestTurnInterrupt(): {
|
|
177
|
+
accepted: boolean;
|
|
178
|
+
reason?: "compact_in_progress";
|
|
179
|
+
};
|
|
180
|
+
/**
|
|
181
|
+
* Backward-compatible alias.
|
|
182
|
+
*/
|
|
183
|
+
cancelCurrentTurn(): void;
|
|
184
|
+
private _resetTransientState;
|
|
185
|
+
/** Read-only snapshot of the structured log. */
|
|
186
|
+
get log(): readonly LogEntry[];
|
|
187
|
+
/** Subscribe to log changes. Returns an unsubscribe function. */
|
|
188
|
+
subscribeLog(listener: () => void): () => void;
|
|
189
|
+
/**
|
|
190
|
+
* Restore session from a loaded log.
|
|
191
|
+
*/
|
|
192
|
+
restoreFromLog(meta: LogSessionMeta, entries: LogEntry[], idAllocator: LogIdAllocator): void;
|
|
193
|
+
/**
|
|
194
|
+
* Get log data for persistence (v2).
|
|
195
|
+
* Returns meta + entries suitable for saveLog().
|
|
196
|
+
*/
|
|
197
|
+
getLogForPersistence(): {
|
|
198
|
+
meta: LogSessionMeta;
|
|
199
|
+
entries: readonly LogEntry[];
|
|
200
|
+
};
|
|
201
|
+
setStore(store: any): void;
|
|
202
|
+
/**
|
|
203
|
+
* Full reset for /new — equivalent to constructing a fresh Session.
|
|
204
|
+
* Leaves storage unbound; session/artifacts directories are created lazily
|
|
205
|
+
* on the first subsequent turn.
|
|
206
|
+
*/
|
|
207
|
+
resetForNewSession(newStore?: any): void;
|
|
208
|
+
private _buildToolExecutors;
|
|
209
|
+
private _ensureCommTools;
|
|
210
|
+
/** Read-only access to loaded skills (for command registration). */
|
|
211
|
+
get skills(): ReadonlyMap<string, SkillMeta>;
|
|
212
|
+
/** Read-only access to disabled skill names. */
|
|
213
|
+
get disabledSkills(): ReadonlySet<string>;
|
|
214
|
+
/**
|
|
215
|
+
* Return all skills from disk (both enabled and disabled) for UI display.
|
|
216
|
+
*/
|
|
217
|
+
getAllSkillNames(): {
|
|
218
|
+
name: string;
|
|
219
|
+
description: string;
|
|
220
|
+
enabled: boolean;
|
|
221
|
+
}[];
|
|
222
|
+
/** Enable or disable a skill by name. Call reloadSkills() afterwards. */
|
|
223
|
+
setSkillEnabled(name: string, enabled: boolean): void;
|
|
224
|
+
/**
|
|
225
|
+
* Rescan skill directories, apply disabled filter, and rebuild
|
|
226
|
+
* the skill tool definition + re-register slash commands.
|
|
227
|
+
*/
|
|
228
|
+
reloadSkills(): {
|
|
229
|
+
added: string[];
|
|
230
|
+
removed: string[];
|
|
231
|
+
total: number;
|
|
232
|
+
};
|
|
233
|
+
/**
|
|
234
|
+
* Build the `skill` tool definition dynamically from loaded skills.
|
|
235
|
+
* Returns null if no skills are available for the agent.
|
|
236
|
+
*/
|
|
237
|
+
private _buildSkillToolDef;
|
|
238
|
+
private _buildReloadSkillsToolDef;
|
|
239
|
+
/** Add the skill + reload_skills tools to the primary agent. */
|
|
240
|
+
private _ensureSkillTool;
|
|
241
|
+
/** Execute the `reload_skills` tool. */
|
|
242
|
+
private _execReloadSkills;
|
|
243
|
+
/** Execute the `skill` tool — load and return skill instructions. */
|
|
244
|
+
private _execSkill;
|
|
245
|
+
get thinkingLevel(): string;
|
|
246
|
+
set thinkingLevel(value: string);
|
|
247
|
+
get cacheHitEnabled(): boolean;
|
|
248
|
+
set cacheHitEnabled(value: boolean);
|
|
249
|
+
get accentColor(): string | undefined;
|
|
250
|
+
set accentColor(value: string | undefined);
|
|
251
|
+
/** The model name from the primary agent's config. */
|
|
252
|
+
get currentModelName(): string;
|
|
253
|
+
/** The config name for the current model (e.g., "my-claude"). */
|
|
254
|
+
get currentModelConfigName(): string;
|
|
255
|
+
/**
|
|
256
|
+
* Switch the primary agent to a different model config.
|
|
257
|
+
* Only callable between turns (not while a turn is in progress).
|
|
258
|
+
*/
|
|
259
|
+
switchModel(modelConfigName: string): void;
|
|
260
|
+
/**
|
|
261
|
+
* If settings.json specifies max_output_tokens, clamp the ModelConfig.maxTokens
|
|
262
|
+
* to [4096, modelMaxOutputTokens]. This mutates the ModelConfig in place.
|
|
263
|
+
*/
|
|
264
|
+
private _applyMaxOutputTokensOverride;
|
|
265
|
+
applyGlobalPreferences(preferences: GlobalTuiPreferences): void;
|
|
266
|
+
getGlobalPreferences(): GlobalTuiPreferences;
|
|
267
|
+
private _resolveThinkingLevelForModel;
|
|
268
|
+
/** Input tokens from the most recent provider response. */
|
|
269
|
+
get lastInputTokens(): number;
|
|
270
|
+
set lastInputTokens(value: number);
|
|
271
|
+
/** Total tokens (input + output) from the most recent provider response. */
|
|
272
|
+
get lastTotalTokens(): number;
|
|
273
|
+
set lastTotalTokens(value: number);
|
|
274
|
+
/** Cache-read tokens from the most recent provider response. */
|
|
275
|
+
get lastCacheReadTokens(): number;
|
|
276
|
+
set lastCacheReadTokens(value: number);
|
|
277
|
+
appendStatusMessage(text: string, statusType?: string): void;
|
|
278
|
+
appendErrorMessage(text: string, errorType?: string): void;
|
|
279
|
+
private _getManualContextCommandBlocker;
|
|
280
|
+
private _armShowContextAnnotations;
|
|
281
|
+
private _runInjectedTurn;
|
|
282
|
+
runManualSummarize(instruction?: string, options?: {
|
|
283
|
+
signal?: AbortSignal;
|
|
284
|
+
}): Promise<string>;
|
|
285
|
+
runManualCompact(instruction?: string, options?: {
|
|
286
|
+
signal?: AbortSignal;
|
|
287
|
+
}): Promise<void>;
|
|
288
|
+
/**
|
|
289
|
+
* Restore ask state from log entries.
|
|
290
|
+
* Scans for unclosed ask_request (no matching ask_resolution).
|
|
291
|
+
*/
|
|
292
|
+
private _restoreAskStateFromLog;
|
|
293
|
+
getPendingAsk(): PendingAskUi | null;
|
|
294
|
+
hasPendingTurnToResume(): boolean;
|
|
295
|
+
resolveAsk(askId: string, _decision: string, _inputText?: string): void;
|
|
296
|
+
private _emitAskRequestedProgress;
|
|
297
|
+
private _emitAskResolvedProgress;
|
|
298
|
+
private _beforeToolExecute;
|
|
299
|
+
resumePendingTurn(options?: {
|
|
300
|
+
signal?: AbortSignal;
|
|
301
|
+
}): Promise<string>;
|
|
302
|
+
private _runTurnActivationLoop;
|
|
303
|
+
turn(userInput: string, options?: {
|
|
304
|
+
signal?: AbortSignal;
|
|
305
|
+
}): Promise<string>;
|
|
306
|
+
/**
|
|
307
|
+
* Handle interruption using structured log (v2).
|
|
308
|
+
*
|
|
309
|
+
* Rules:
|
|
310
|
+
* - Keep completed reasoning, drop incomplete reasoning of the currently interrupted round
|
|
311
|
+
* - Keep partial text and append " [Interrupted here.]" when interruption happens mid-activation
|
|
312
|
+
* - For each complete tool_call lacking result, append interrupted tool_result
|
|
313
|
+
* - Append synthetic interruption user message (with optional snapshot)
|
|
314
|
+
*/
|
|
315
|
+
private _handleInterruption;
|
|
316
|
+
/**
|
|
317
|
+
* Scan log entries from `fromIdx` onwards: for each tool_call entry,
|
|
318
|
+
* check if a tool_result exists for it. Create missing tool_results.
|
|
319
|
+
*/
|
|
320
|
+
private _completeMissingToolResultsFromLog;
|
|
321
|
+
private _getLastSendableRole;
|
|
322
|
+
private _isUserSideProtocolRole;
|
|
323
|
+
private _runActivation;
|
|
324
|
+
private _toolArgError;
|
|
325
|
+
private _argOptionalString;
|
|
326
|
+
private _argRequiredString;
|
|
327
|
+
private _argRequiredStringArray;
|
|
328
|
+
private _argOptionalInteger;
|
|
329
|
+
private _execAsk;
|
|
330
|
+
private _buildAgentQuestionToolResult;
|
|
331
|
+
private _buildAgentQuestionPreview;
|
|
332
|
+
resolveAgentQuestionAsk(askId: string, decision: AgentQuestionDecision): void;
|
|
333
|
+
private _execShowContext;
|
|
334
|
+
private _execSummarizeContext;
|
|
335
|
+
private _execPlan;
|
|
336
|
+
private _parsePlanCheckpoints;
|
|
337
|
+
private _emitPlanProgress;
|
|
338
|
+
private _annotateLatestSummarizeToolCall;
|
|
339
|
+
/**
|
|
340
|
+
* Compress intermediate tool calls (read_file, write_file, edit_file) between the
|
|
341
|
+
* last show_context and the current summarize_context when file mode was used.
|
|
342
|
+
* These entries represent the "decision process" of building the summary file.
|
|
343
|
+
*/
|
|
344
|
+
private _compressFileModeSummarizeSteps;
|
|
345
|
+
/**
|
|
346
|
+
* After execSummarizeContext mutates the projected messages array,
|
|
347
|
+
* mirror changes back to _log: mark entries as summarized and create summary LogEntries.
|
|
348
|
+
*/
|
|
349
|
+
private _syncSummarizeToLog;
|
|
350
|
+
private _readImportantLog;
|
|
351
|
+
private _getImportantLogPath;
|
|
352
|
+
/**
|
|
353
|
+
* Read AGENTS.md from user home (~/) and project root, concatenating both.
|
|
354
|
+
* Global file comes first, project file second.
|
|
355
|
+
*/
|
|
356
|
+
private _readAgentsMd;
|
|
357
|
+
private _getArtifactsDirIfAvailable;
|
|
358
|
+
private _createMissingSessionDirOrThrow;
|
|
359
|
+
private _ensureSessionStorageReady;
|
|
360
|
+
private _getArtifactsDir;
|
|
361
|
+
private _resolveSessionArtifacts;
|
|
362
|
+
private _resolveSystemData;
|
|
363
|
+
private _renderSystemPrompt;
|
|
364
|
+
/**
|
|
365
|
+
* Update the system message in the conversation with re-rendered paths.
|
|
366
|
+
* Called by setStore() to fix paths after the store is linked.
|
|
367
|
+
*/
|
|
368
|
+
private _refreshSystemPromptPaths;
|
|
369
|
+
private _buildCompactCheck;
|
|
370
|
+
/**
|
|
371
|
+
* Run the compact phase: inject compact prompt, let the Agent produce
|
|
372
|
+
* a continuation prompt (possibly using tools), then return it.
|
|
373
|
+
*/
|
|
374
|
+
private _runCompactPhase;
|
|
375
|
+
/**
|
|
376
|
+
* Execute auto-compact: run compact phase, then reconstruct conversation
|
|
377
|
+
* with marker + system prompt + continuation prompt.
|
|
378
|
+
*/
|
|
379
|
+
private _doAutoCompact;
|
|
380
|
+
/**
|
|
381
|
+
* Check and inject hint compression prompt if thresholds are met.
|
|
382
|
+
* Two-tier: level 1 and level 2, configurable via settings.json.
|
|
383
|
+
*/
|
|
384
|
+
private _checkAndInjectHint;
|
|
385
|
+
/**
|
|
386
|
+
* Update hint state based on actual inputTokens from the latest API call.
|
|
387
|
+
* Implements hysteresis to prevent oscillation.
|
|
388
|
+
* Reset thresholds are auto-derived from trigger thresholds.
|
|
389
|
+
*/
|
|
390
|
+
private _updateHintStateAfterApiCall;
|
|
391
|
+
private _resolveShellCwd;
|
|
392
|
+
private _execBashBackground;
|
|
393
|
+
private _execBashOutput;
|
|
394
|
+
private _execKillShell;
|
|
395
|
+
private _execSpawnAgents;
|
|
396
|
+
private _execKillAgent;
|
|
397
|
+
private _execCheckStatus;
|
|
398
|
+
/**
|
|
399
|
+
* Non-blocking sweep: check if any working agents have settled.
|
|
400
|
+
*/
|
|
401
|
+
private _sweepSettledAgents;
|
|
402
|
+
private _execWait;
|
|
403
|
+
private _getElapsed;
|
|
404
|
+
private _buildAgentReport;
|
|
405
|
+
private _hasActiveAgents;
|
|
406
|
+
private _forceKillAllAgents;
|
|
407
|
+
private _forceKillAllShells;
|
|
408
|
+
private _createSubAgentFromPredefined;
|
|
409
|
+
private _createSubAgentFromPath;
|
|
410
|
+
private _resolveTemplatePath;
|
|
411
|
+
private _applySubAgentConstraints;
|
|
412
|
+
private _getSubAgentModelConfig;
|
|
413
|
+
private _buildSubAgentContext;
|
|
414
|
+
private _runSubAgent;
|
|
415
|
+
private _appendEphemeralAgentOutput;
|
|
416
|
+
/**
|
|
417
|
+
* Build a compact check callback for sub-agents.
|
|
418
|
+
* Similar to _buildCompactCheck but without sub-agent deferral logic.
|
|
419
|
+
*/
|
|
420
|
+
private _buildSubAgentCompactCheck;
|
|
421
|
+
/**
|
|
422
|
+
* Run compact phase for a sub-agent: inject compact prompt, let agent produce
|
|
423
|
+
* a continuation prompt (possibly using tools), then return it.
|
|
424
|
+
* Simplified version — does not inject important log or phase plan.
|
|
425
|
+
*/
|
|
426
|
+
private _runSubAgentCompactPhase;
|
|
427
|
+
private _waitForAnyAgent;
|
|
428
|
+
private _formatAgentOutput;
|
|
429
|
+
private _imageCounter;
|
|
430
|
+
/**
|
|
431
|
+
* If content is a multimodal array, save inline base64 images to disk
|
|
432
|
+
* and replace them with image_ref blocks for the log.
|
|
433
|
+
* Returns the original content if no images, or if session dir is unavailable.
|
|
434
|
+
*/
|
|
435
|
+
private _extractAndSaveImages;
|
|
436
|
+
/**
|
|
437
|
+
* Resolve an image_ref path to base64 data for API consumption.
|
|
438
|
+
* Used by projectToApiMessages to restore image data from files.
|
|
439
|
+
*/
|
|
440
|
+
private _resolveImageRef;
|
|
441
|
+
private _processFileAttachments;
|
|
442
|
+
private _ensureMcp;
|
|
443
|
+
private _generateSummary;
|
|
444
|
+
close(): Promise<void>;
|
|
445
|
+
}
|
|
446
|
+
//# sourceMappingURL=session.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"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"}
|