@ashx-j/lunr 0.2.14 → 0.2.16
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 +24 -1
- package/README.md +4 -4
- package/dist/builtin-extensions/ashxj-tui.d.ts.map +1 -1
- package/dist/builtin-extensions/ashxj-tui.js +4 -4
- package/dist/builtin-extensions/ashxj-tui.js.map +1 -1
- package/dist/builtin-extensions/index.d.ts.map +1 -1
- package/dist/builtin-extensions/index.js +2 -0
- package/dist/builtin-extensions/index.js.map +1 -1
- package/dist/builtin-extensions/lunr-settings-tools.d.ts +4 -0
- package/dist/builtin-extensions/lunr-settings-tools.d.ts.map +1 -0
- package/dist/builtin-extensions/lunr-settings-tools.js +120 -0
- package/dist/builtin-extensions/lunr-settings-tools.js.map +1 -0
- package/dist/builtin-extensions/narumiruna-pi-goal/src/goal.d.ts.map +1 -1
- package/dist/builtin-extensions/narumiruna-pi-goal/src/goal.js +6 -2
- package/dist/builtin-extensions/narumiruna-pi-goal/src/goal.js.map +1 -1
- package/dist/builtin-extensions/pi-prompt-template-model/subagent-runtime.d.ts +2 -2
- package/dist/builtin-extensions/pi-prompt-template-model/subagent-runtime.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-prompt-template-model/subagent-runtime.js.map +1 -1
- package/dist/builtin-extensions/pi-prompt-template-model/subagent-step.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-prompt-template-model/subagent-step.js +3 -3
- package/dist/builtin-extensions/pi-prompt-template-model/subagent-step.js.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/api/delegation.d.ts +2 -2
- package/dist/builtin-extensions/pi-subagents/src/api/delegation.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/api/delegation.js +1 -1
- package/dist/builtin-extensions/pi-subagents/src/api/delegation.js.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/extension/index.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/extension/index.js +2 -1
- package/dist/builtin-extensions/pi-subagents/src/extension/index.js.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/extension/schemas.d.ts +5 -11
- package/dist/builtin-extensions/pi-subagents/src/extension/schemas.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/extension/schemas.js +12 -15
- package/dist/builtin-extensions/pi-subagents/src/extension/schemas.js.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/extension/tool-description.d.ts +3 -3
- package/dist/builtin-extensions/pi-subagents/src/extension/tool-description.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/extension/tool-description.js +14 -27
- package/dist/builtin-extensions/pi-subagents/src/extension/tool-description.js.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/background/async-execution.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/background/async-execution.js +6 -4
- package/dist/builtin-extensions/pi-subagents/src/runs/background/async-execution.js.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/background/async-job-tracker.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/background/async-job-tracker.js +2 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/background/async-job-tracker.js.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/background/async-resume.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/background/async-resume.js +6 -4
- package/dist/builtin-extensions/pi-subagents/src/runs/background/async-resume.js.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/background/async-status.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/background/async-status.js +4 -2
- package/dist/builtin-extensions/pi-subagents/src/runs/background/async-status.js.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/foreground/chain-clarify.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/foreground/chain-clarify.js +3 -35
- package/dist/builtin-extensions/pi-subagents/src/runs/foreground/chain-clarify.js.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/foreground/chain-execution.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/foreground/chain-execution.js +5 -12
- package/dist/builtin-extensions/pi-subagents/src/runs/foreground/chain-execution.js.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/foreground/subagent-executor.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/foreground/subagent-executor.js +14 -31
- package/dist/builtin-extensions/pi-subagents/src/runs/foreground/subagent-executor.js.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/model-fallback.d.ts +2 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/model-fallback.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/model-fallback.js +28 -22
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/model-fallback.js.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/parallel-utils.d.ts +1 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/parallel-utils.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/parallel-utils.js.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/shared/child-spec.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/shared/child-spec.js +9 -4
- package/dist/builtin-extensions/pi-subagents/src/shared/child-spec.js.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/shared/formatters.d.ts +1 -1
- package/dist/builtin-extensions/pi-subagents/src/shared/formatters.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/shared/formatters.js +2 -2
- package/dist/builtin-extensions/pi-subagents/src/shared/formatters.js.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/shared/types.d.ts +4 -7
- package/dist/builtin-extensions/pi-subagents/src/shared/types.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/shared/types.js +1 -1
- package/dist/builtin-extensions/pi-subagents/src/shared/types.js.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/slash/delegation-adapters.d.ts +3 -3
- package/dist/builtin-extensions/pi-subagents/src/slash/delegation-adapters.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/slash/delegation-adapters.js +7 -6
- package/dist/builtin-extensions/pi-subagents/src/slash/delegation-adapters.js.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/slash/delegation-request.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/slash/delegation-request.js +3 -3
- package/dist/builtin-extensions/pi-subagents/src/slash/delegation-request.js.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/slash/prompt-workflows.d.ts +1 -1
- package/dist/builtin-extensions/pi-subagents/src/slash/prompt-workflows.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/slash/prompt-workflows.js +6 -4
- package/dist/builtin-extensions/pi-subagents/src/slash/prompt-workflows.js.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/slash/slash-commands.d.ts +1 -1
- package/dist/builtin-extensions/pi-subagents/src/slash/slash-commands.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/slash/slash-commands.js +15 -10
- package/dist/builtin-extensions/pi-subagents/src/slash/slash-commands.js.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/tui/fleet.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/tui/fleet.js +3 -2
- package/dist/builtin-extensions/pi-subagents/src/tui/fleet.js.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/tui/render.d.ts +2 -2
- package/dist/builtin-extensions/pi-subagents/src/tui/render.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/tui/render.js +75 -43
- package/dist/builtin-extensions/pi-subagents/src/tui/render.js.map +1 -1
- package/dist/core/agent-session-runtime.d.ts +5 -1
- package/dist/core/agent-session-runtime.d.ts.map +1 -1
- package/dist/core/agent-session-runtime.js +7 -2
- package/dist/core/agent-session-runtime.js.map +1 -1
- package/dist/core/agent-session.d.ts +5 -0
- package/dist/core/agent-session.d.ts.map +1 -1
- package/dist/core/agent-session.js +68 -10
- package/dist/core/agent-session.js.map +1 -1
- package/dist/core/compaction/compaction.d.ts.map +1 -1
- package/dist/core/compaction/compaction.js +10 -5
- package/dist/core/compaction/compaction.js.map +1 -1
- package/dist/core/context-breakdown.d.ts +2 -0
- package/dist/core/context-breakdown.d.ts.map +1 -1
- package/dist/core/context-breakdown.js +6 -2
- package/dist/core/context-breakdown.js.map +1 -1
- package/dist/core/extensions/types.d.ts +2 -2
- package/dist/core/extensions/types.d.ts.map +1 -1
- package/dist/core/extensions/types.js.map +1 -1
- package/dist/core/injected-prompt.d.ts +3 -3
- package/dist/core/injected-prompt.d.ts.map +1 -1
- package/dist/core/injected-prompt.js +2 -7
- package/dist/core/injected-prompt.js.map +1 -1
- package/dist/core/large-subagent-launch.d.ts +13 -0
- package/dist/core/large-subagent-launch.d.ts.map +1 -0
- package/dist/core/large-subagent-launch.js +54 -0
- package/dist/core/large-subagent-launch.js.map +1 -0
- package/dist/core/model-instructions.d.ts +24 -0
- package/dist/core/model-instructions.d.ts.map +1 -0
- package/dist/core/model-instructions.js +123 -0
- package/dist/core/model-instructions.js.map +1 -0
- package/dist/core/permissions.d.ts +10 -11
- package/dist/core/permissions.d.ts.map +1 -1
- package/dist/core/permissions.js +107 -40
- package/dist/core/permissions.js.map +1 -1
- package/dist/core/plan-mode.d.ts.map +1 -1
- package/dist/core/plan-mode.js +10 -1
- package/dist/core/plan-mode.js.map +1 -1
- package/dist/core/resource-loader.d.ts +3 -0
- package/dist/core/resource-loader.d.ts.map +1 -1
- package/dist/core/resource-loader.js +13 -4
- package/dist/core/resource-loader.js.map +1 -1
- package/dist/core/runtime-bridges.d.ts +4 -0
- package/dist/core/runtime-bridges.d.ts.map +1 -0
- package/dist/core/runtime-bridges.js +16 -0
- package/dist/core/runtime-bridges.js.map +1 -0
- package/dist/core/sdk.d.ts.map +1 -1
- package/dist/core/sdk.js +1 -0
- package/dist/core/sdk.js.map +1 -1
- package/dist/core/settings-manager.d.ts +13 -0
- package/dist/core/settings-manager.d.ts.map +1 -1
- package/dist/core/settings-manager.js +32 -0
- package/dist/core/settings-manager.js.map +1 -1
- package/dist/core/settings-tools-bridge.d.ts +35 -0
- package/dist/core/settings-tools-bridge.d.ts.map +1 -0
- package/dist/core/settings-tools-bridge.js +56 -0
- package/dist/core/settings-tools-bridge.js.map +1 -0
- package/dist/core/slash-commands.d.ts.map +1 -1
- package/dist/core/slash-commands.js +0 -1
- package/dist/core/slash-commands.js.map +1 -1
- package/dist/core/system-prompt.d.ts.map +1 -1
- package/dist/core/system-prompt.js +1 -1
- package/dist/core/system-prompt.js.map +1 -1
- package/dist/gateway/agent-bridge.d.ts.map +1 -1
- package/dist/gateway/agent-bridge.js +3 -2
- package/dist/gateway/agent-bridge.js.map +1 -1
- package/dist/gateway/approval.d.ts.map +1 -1
- package/dist/gateway/approval.js +4 -3
- package/dist/gateway/approval.js.map +1 -1
- package/dist/gateway/commands.d.ts +1 -1
- package/dist/gateway/commands.d.ts.map +1 -1
- package/dist/gateway/commands.js +1 -18
- package/dist/gateway/commands.js.map +1 -1
- package/dist/gateway/cron.d.ts.map +1 -1
- package/dist/gateway/cron.js +3 -2
- package/dist/gateway/cron.js.map +1 -1
- package/dist/gateway/router.d.ts +1 -1
- package/dist/gateway/router.d.ts.map +1 -1
- package/dist/gateway/router.js +1 -1
- package/dist/gateway/router.js.map +1 -1
- package/dist/main.d.ts.map +1 -1
- package/dist/main.js +3 -9
- package/dist/main.js.map +1 -1
- package/dist/migrations.d.ts.map +1 -1
- package/dist/migrations.js +4 -0
- package/dist/migrations.js.map +1 -1
- package/dist/modes/interactive/components/injected-prompt-message.d.ts +1 -1
- package/dist/modes/interactive/components/injected-prompt-message.d.ts.map +1 -1
- package/dist/modes/interactive/components/injected-prompt-message.js +1 -1
- package/dist/modes/interactive/components/injected-prompt-message.js.map +1 -1
- package/dist/modes/interactive/components/settings-selector.d.ts +8 -1
- package/dist/modes/interactive/components/settings-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/settings-selector.js +61 -1
- package/dist/modes/interactive/components/settings-selector.js.map +1 -1
- package/dist/modes/interactive/interactive-mode.d.ts +3 -3
- package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-mode.js +45 -54
- package/dist/modes/interactive/interactive-mode.js.map +1 -1
- package/docs/compaction.md +5 -3
- package/docs/features.md +7 -7
- package/docs/quickstart.md +2 -1
- package/docs/settings.md +3 -1
- package/docs/termux.md +1 -1
- package/docs/usage.md +2 -2
- package/examples/extensions/custom-provider-anthropic/package-lock.json +2 -2
- package/examples/extensions/custom-provider-anthropic/package.json +1 -1
- package/examples/extensions/custom-provider-gitlab-duo/package.json +1 -1
- package/examples/extensions/gondolin/package-lock.json +2 -2
- package/examples/extensions/gondolin/package.json +1 -1
- package/examples/extensions/sandbox/package-lock.json +2 -2
- package/examples/extensions/sandbox/package.json +1 -1
- package/examples/extensions/subagent/README.md +1 -1
- package/examples/extensions/with-deps/package-lock.json +2 -2
- package/examples/extensions/with-deps/package.json +1 -1
- package/package.json +4 -4
- package/dist/core/swarm.d.ts +0 -54
- package/dist/core/swarm.d.ts.map +0 -1
- package/dist/core/swarm.js +0 -119
- package/dist/core/swarm.js.map +0 -1
|
@@ -29,13 +29,13 @@ import { createToolHtmlRenderer } from "./export-html/tool-renderer.js";
|
|
|
29
29
|
import { ExtensionRunner, wrapRegisteredTools, } from "./extensions/index.js";
|
|
30
30
|
import { emitSessionShutdownEvent } from "./extensions/runner.js";
|
|
31
31
|
import { MEMORY_TOOL_NAMES } from "./memory-cap.js";
|
|
32
|
+
import { isUserInstructionsPath, loadSelectedUserInstructions } from "./model-instructions.js";
|
|
32
33
|
import { ModelRegistry } from "./model-registry.js";
|
|
33
34
|
import { gateToolCall } from "./permissions.js";
|
|
34
35
|
import { expandPromptTemplate } from "./prompt-templates.js";
|
|
35
36
|
import { rollbackSnapshotBeforeWrite } from "./rollback.js";
|
|
36
37
|
import { CURRENT_SESSION_VERSION, getLatestCompactionEntry } from "./session-manager.js";
|
|
37
38
|
import { createSyntheticSourceInfo } from "./source-info.js";
|
|
38
|
-
import { isExplicitSwarmTurn } from "./swarm.js";
|
|
39
39
|
import { buildSystemPrompt } from "./system-prompt.js";
|
|
40
40
|
import { createLocalBashOperations } from "./tools/bash.js";
|
|
41
41
|
import { createAllToolDefinitions } from "./tools/index.js";
|
|
@@ -98,6 +98,7 @@ export class AgentSession {
|
|
|
98
98
|
_pendingNextTurnMessages = [];
|
|
99
99
|
// Compaction state
|
|
100
100
|
_compactionAbortController = undefined;
|
|
101
|
+
_manualCompactionPromise = undefined;
|
|
101
102
|
_autoCompactionAbortController = undefined;
|
|
102
103
|
_overflowRecoveryAttempted = false;
|
|
103
104
|
// Branch summarization state
|
|
@@ -115,6 +116,7 @@ export class AgentSession {
|
|
|
115
116
|
_customTools;
|
|
116
117
|
_baseToolDefinitions = new Map();
|
|
117
118
|
_cwd;
|
|
119
|
+
_agentDir;
|
|
118
120
|
_extensionRunnerRef;
|
|
119
121
|
_initialActiveToolNames;
|
|
120
122
|
_allowedToolNames;
|
|
@@ -150,6 +152,7 @@ export class AgentSession {
|
|
|
150
152
|
this._resourceLoader = config.resourceLoader;
|
|
151
153
|
this._customTools = config.customTools ?? [];
|
|
152
154
|
this._cwd = config.cwd;
|
|
155
|
+
this._agentDir = config.agentDir ?? getAgentDir();
|
|
153
156
|
this._modelRuntime = config.modelRuntime;
|
|
154
157
|
this._syncOpenAIServiceTier();
|
|
155
158
|
this._extensionRunnerRef = config.extensionRunnerRef;
|
|
@@ -236,10 +239,10 @@ export class AgentSession {
|
|
|
236
239
|
_installAgentToolHooks() {
|
|
237
240
|
this.agent.beforeToolCall = async ({ toolCall, args, assistantMessage }) => {
|
|
238
241
|
// lunr: permission gate (async) runs before sync gates — may show an approval dialog.
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
242
|
+
const permBlock = await gateToolCall(toolCall.name, args, this._cwd, this.sessionId, {
|
|
243
|
+
confirmLargeSubagentLaunches: this.settingsManager.getConfirmLargeSubagentLaunches(),
|
|
244
|
+
assistantMessage,
|
|
245
|
+
});
|
|
243
246
|
if (permBlock) {
|
|
244
247
|
return { block: true, reason: permBlock.reason };
|
|
245
248
|
}
|
|
@@ -328,7 +331,19 @@ export class AgentSession {
|
|
|
328
331
|
: undefined);
|
|
329
332
|
this.agent.prepareNextTurnWithContext = async (turn, signal) => {
|
|
330
333
|
const previousSnapshot = await previousPrepareNextTurnWithContext?.(turn, signal);
|
|
331
|
-
|
|
334
|
+
let previousContext = previousSnapshot?.context ?? turn.context;
|
|
335
|
+
const model = this.model;
|
|
336
|
+
const settings = this.settingsManager.getCompactionSettings();
|
|
337
|
+
if (model?.provider === "openai-codex" &&
|
|
338
|
+
settings.enabled &&
|
|
339
|
+
shouldCompact(estimateContextTokens(previousContext.messages).tokens, model.contextWindow, settings)) {
|
|
340
|
+
const previousCompactionId = getLatestCompactionEntry(this.sessionManager.getBranch())?.id;
|
|
341
|
+
await this._runAutoCompaction("threshold", true);
|
|
342
|
+
const currentCompaction = getLatestCompactionEntry(this.sessionManager.getBranch());
|
|
343
|
+
if (currentCompaction && currentCompaction.id !== previousCompactionId) {
|
|
344
|
+
previousContext = { ...previousContext, messages: this.agent.state.messages.slice() };
|
|
345
|
+
}
|
|
346
|
+
}
|
|
332
347
|
return {
|
|
333
348
|
...previousSnapshot,
|
|
334
349
|
context: {
|
|
@@ -830,11 +845,21 @@ export class AgentSession {
|
|
|
830
845
|
const appendSystemPrompt = loaderAppendSystemPrompt.length > 0 ? loaderAppendSystemPrompt.join("\n\n") : undefined;
|
|
831
846
|
const loadedSkills = this._resourceLoader.getSkills().skills;
|
|
832
847
|
const loadedContextFiles = this._resourceLoader.getAgentsFiles().agentsFiles;
|
|
848
|
+
const contextFiles = this._resourceLoader.contextFilesEnabled?.() === false
|
|
849
|
+
? []
|
|
850
|
+
: [
|
|
851
|
+
...loadSelectedUserInstructions({
|
|
852
|
+
agentDir: this._agentDir,
|
|
853
|
+
settingsManager: this.settingsManager,
|
|
854
|
+
model: this.model,
|
|
855
|
+
}),
|
|
856
|
+
...loadedContextFiles.filter((file) => !isUserInstructionsPath(file.path, this._agentDir)),
|
|
857
|
+
];
|
|
833
858
|
this._baseSystemPromptOptions = {
|
|
834
859
|
cwd: this._cwd,
|
|
835
860
|
modelSlug: this.model ? `${this.model.provider}/${this.model.id}` : undefined,
|
|
836
861
|
skills: loadedSkills,
|
|
837
|
-
contextFiles
|
|
862
|
+
contextFiles,
|
|
838
863
|
customPrompt: loaderSystemPrompt,
|
|
839
864
|
appendSystemPrompt,
|
|
840
865
|
selectedTools: validToolNames,
|
|
@@ -1505,14 +1530,48 @@ export class AgentSession {
|
|
|
1505
1530
|
// =========================================================================
|
|
1506
1531
|
// Compaction
|
|
1507
1532
|
// =========================================================================
|
|
1533
|
+
_latestCompactionResult() {
|
|
1534
|
+
const pathEntries = this.sessionManager.getBranch();
|
|
1535
|
+
const lastEntry = pathEntries[pathEntries.length - 1];
|
|
1536
|
+
if (lastEntry?.type !== "compaction")
|
|
1537
|
+
return undefined;
|
|
1538
|
+
return {
|
|
1539
|
+
summary: lastEntry.summary,
|
|
1540
|
+
firstKeptEntryId: lastEntry.firstKeptEntryId,
|
|
1541
|
+
tokensBefore: lastEntry.tokensBefore,
|
|
1542
|
+
estimatedTokensAfter: estimateMessagesTokens(this.sessionManager.buildSessionContext().messages),
|
|
1543
|
+
details: lastEntry.details,
|
|
1544
|
+
};
|
|
1545
|
+
}
|
|
1508
1546
|
/**
|
|
1509
1547
|
* Manually compact the session context.
|
|
1510
1548
|
* Aborts current agent operation first.
|
|
1511
1549
|
* @param customInstructions Optional instructions for the compaction summary
|
|
1512
1550
|
*/
|
|
1513
1551
|
async compact(customInstructions) {
|
|
1552
|
+
const existing = this._latestCompactionResult();
|
|
1553
|
+
if (existing)
|
|
1554
|
+
return existing;
|
|
1555
|
+
if (this._manualCompactionPromise)
|
|
1556
|
+
return this._manualCompactionPromise;
|
|
1557
|
+
const promise = this._compact(customInstructions);
|
|
1558
|
+
this._manualCompactionPromise = promise;
|
|
1559
|
+
try {
|
|
1560
|
+
return await promise;
|
|
1561
|
+
}
|
|
1562
|
+
finally {
|
|
1563
|
+
if (this._manualCompactionPromise === promise)
|
|
1564
|
+
this._manualCompactionPromise = undefined;
|
|
1565
|
+
}
|
|
1566
|
+
}
|
|
1567
|
+
async _compact(customInstructions) {
|
|
1514
1568
|
this._disconnectFromAgent();
|
|
1515
1569
|
await this.abort();
|
|
1570
|
+
const existing = this._latestCompactionResult();
|
|
1571
|
+
if (existing) {
|
|
1572
|
+
this._reconnectToAgent();
|
|
1573
|
+
return existing;
|
|
1574
|
+
}
|
|
1516
1575
|
this._compactionAbortController = new AbortController();
|
|
1517
1576
|
this._emit({ type: "compaction_start", reason: "manual" });
|
|
1518
1577
|
try {
|
|
@@ -1731,12 +1790,11 @@ export class AgentSession {
|
|
|
1731
1790
|
* Internal: Run auto-compaction with events.
|
|
1732
1791
|
*/
|
|
1733
1792
|
async _runAutoCompaction(reason, willRetry) {
|
|
1793
|
+
if (!this.model || this._compactionAbortController || this._autoCompactionAbortController)
|
|
1794
|
+
return false;
|
|
1734
1795
|
const settings = this.settingsManager.getCompactionSettings();
|
|
1735
1796
|
let started = false;
|
|
1736
1797
|
try {
|
|
1737
|
-
if (!this.model) {
|
|
1738
|
-
return false;
|
|
1739
|
-
}
|
|
1740
1798
|
let apiKey;
|
|
1741
1799
|
let headers;
|
|
1742
1800
|
let env;
|