@code-yeongyu/senpi 2026.7.29-6 → 2026.7.30-2
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 +107 -0
- package/README.md +3 -0
- package/dist/bun-global-launcher.d.ts +7 -0
- package/dist/bun-global-launcher.d.ts.map +1 -0
- package/dist/bun-global-launcher.js +21 -0
- package/dist/bun-global-launcher.js.map +1 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +18 -6
- package/dist/config.js.map +1 -1
- package/dist/core/agent-session.d.ts +10 -0
- package/dist/core/agent-session.d.ts.map +1 -1
- package/dist/core/agent-session.js +62 -3
- package/dist/core/agent-session.js.map +1 -1
- package/dist/core/compaction/compaction.d.ts +1 -0
- package/dist/core/compaction/compaction.d.ts.map +1 -1
- package/dist/core/compaction/compaction.js +1 -0
- package/dist/core/compaction/compaction.js.map +1 -1
- package/dist/core/extensions/builtin/btw/index.d.ts.map +1 -1
- package/dist/core/extensions/builtin/btw/index.js +1 -0
- package/dist/core/extensions/builtin/btw/index.js.map +1 -1
- package/dist/core/extensions/builtin/claude-agent-sdk/auth-lane.d.ts.map +1 -1
- package/dist/core/extensions/builtin/claude-agent-sdk/auth-lane.js +10 -1
- package/dist/core/extensions/builtin/claude-agent-sdk/auth-lane.js.map +1 -1
- package/dist/core/extensions/builtin/claude-agent-sdk/errors.d.ts.map +1 -1
- package/dist/core/extensions/builtin/claude-agent-sdk/errors.js +14 -0
- package/dist/core/extensions/builtin/claude-agent-sdk/errors.js.map +1 -1
- package/dist/core/extensions/builtin/claude-agent-sdk/options.d.ts.map +1 -1
- package/dist/core/extensions/builtin/claude-agent-sdk/options.js +2 -1
- package/dist/core/extensions/builtin/claude-agent-sdk/options.js.map +1 -1
- package/dist/core/extensions/builtin/claude-agent-sdk/tools.d.ts +3 -0
- package/dist/core/extensions/builtin/claude-agent-sdk/tools.d.ts.map +1 -1
- package/dist/core/extensions/builtin/claude-agent-sdk/tools.js +19 -0
- package/dist/core/extensions/builtin/claude-agent-sdk/tools.js.map +1 -1
- package/dist/core/extensions/builtin/compaction/idle.d.ts +16 -0
- package/dist/core/extensions/builtin/compaction/idle.d.ts.map +1 -0
- package/dist/core/extensions/builtin/compaction/idle.js +21 -0
- package/dist/core/extensions/builtin/compaction/idle.js.map +1 -0
- package/dist/core/extensions/builtin/compaction/index.d.ts.map +1 -1
- package/dist/core/extensions/builtin/compaction/index.js +18 -1
- package/dist/core/extensions/builtin/compaction/index.js.map +1 -1
- package/dist/core/extensions/builtin/compaction/log.d.ts +1 -1
- package/dist/core/extensions/builtin/compaction/log.d.ts.map +1 -1
- package/dist/core/extensions/builtin/compaction/log.js.map +1 -1
- package/dist/core/extensions/builtin/config-reload/watch-engine.d.ts +1 -2
- package/dist/core/extensions/builtin/config-reload/watch-engine.d.ts.map +1 -1
- package/dist/core/extensions/builtin/config-reload/watch-engine.js +1 -8
- package/dist/core/extensions/builtin/config-reload/watch-engine.js.map +1 -1
- package/dist/core/extensions/builtin/config-reload/watch-event-source.d.ts +15 -0
- package/dist/core/extensions/builtin/config-reload/watch-event-source.d.ts.map +1 -0
- package/dist/core/extensions/builtin/config-reload/watch-event-source.js +114 -0
- package/dist/core/extensions/builtin/config-reload/watch-event-source.js.map +1 -0
- package/dist/core/extensions/builtin/goal/continuation.d.ts +2 -0
- package/dist/core/extensions/builtin/goal/continuation.d.ts.map +1 -1
- package/dist/core/extensions/builtin/goal/continuation.js +12 -0
- package/dist/core/extensions/builtin/goal/continuation.js.map +1 -1
- package/dist/core/extensions/builtin/goal/index.d.ts.map +1 -1
- package/dist/core/extensions/builtin/goal/index.js +4 -1
- package/dist/core/extensions/builtin/goal/index.js.map +1 -1
- package/dist/core/extensions/builtin/goal/monitor-continuation.d.ts.map +1 -1
- package/dist/core/extensions/builtin/goal/monitor-continuation.js +22 -18
- package/dist/core/extensions/builtin/goal/monitor-continuation.js.map +1 -1
- package/dist/core/extensions/builtin/goal/prompt.d.ts.map +1 -1
- package/dist/core/extensions/builtin/goal/prompt.js +2 -1
- package/dist/core/extensions/builtin/goal/prompt.js.map +1 -1
- package/dist/core/extensions/builtin/goal/tool-registration.js +1 -1
- package/dist/core/extensions/builtin/goal/tool-registration.js.map +1 -1
- package/dist/core/extensions/builtin/gpt-apply-patch/apply.d.ts +1 -1
- package/dist/core/extensions/builtin/gpt-apply-patch/apply.d.ts.map +1 -1
- package/dist/core/extensions/builtin/gpt-apply-patch/apply.js +67 -66
- package/dist/core/extensions/builtin/gpt-apply-patch/apply.js.map +1 -1
- package/dist/core/extensions/builtin/gpt-apply-patch/recovery.d.ts +4 -0
- package/dist/core/extensions/builtin/gpt-apply-patch/recovery.d.ts.map +1 -0
- package/dist/core/extensions/builtin/gpt-apply-patch/recovery.js +35 -0
- package/dist/core/extensions/builtin/gpt-apply-patch/recovery.js.map +1 -0
- package/dist/core/extensions/builtin/gpt-apply-patch/tool.d.ts.map +1 -1
- package/dist/core/extensions/builtin/gpt-apply-patch/tool.js +0 -5
- package/dist/core/extensions/builtin/gpt-apply-patch/tool.js.map +1 -1
- package/dist/core/extensions/builtin/gpt-apply-patch/types.d.ts +2 -0
- package/dist/core/extensions/builtin/gpt-apply-patch/types.d.ts.map +1 -1
- package/dist/core/extensions/builtin/gpt-apply-patch/types.js.map +1 -1
- package/dist/core/extensions/builtin/rules/rules/project-root.d.ts.map +1 -1
- package/dist/core/extensions/builtin/rules/rules/project-root.js +8 -1
- package/dist/core/extensions/builtin/rules/rules/project-root.js.map +1 -1
- package/dist/core/extensions/builtin/service-tier.d.ts.map +1 -1
- package/dist/core/extensions/builtin/service-tier.js +20 -1
- package/dist/core/extensions/builtin/service-tier.js.map +1 -1
- package/dist/core/extensions/builtin/todotools/normalize.d.ts.map +1 -1
- package/dist/core/extensions/builtin/todotools/normalize.js +14 -3
- package/dist/core/extensions/builtin/todotools/normalize.js.map +1 -1
- package/dist/core/high-reasoning-warning.d.ts +10 -0
- package/dist/core/high-reasoning-warning.d.ts.map +1 -0
- package/dist/core/high-reasoning-warning.js +28 -0
- package/dist/core/high-reasoning-warning.js.map +1 -0
- package/dist/core/model-runtime.d.ts.map +1 -1
- package/dist/core/model-runtime.js +3 -11
- package/dist/core/model-runtime.js.map +1 -1
- package/dist/core/resolve-config-value.d.ts.map +1 -1
- package/dist/core/resolve-config-value.js +23 -1
- package/dist/core/resolve-config-value.js.map +1 -1
- package/dist/core/session-log.d.ts +12 -0
- package/dist/core/session-log.d.ts.map +1 -0
- package/dist/core/session-log.js +101 -0
- package/dist/core/session-log.js.map +1 -0
- package/dist/core/settings-manager.d.ts +2 -0
- package/dist/core/settings-manager.d.ts.map +1 -1
- package/dist/core/settings-manager.js +1 -0
- package/dist/core/settings-manager.js.map +1 -1
- package/dist/modes/interactive/compaction-queue-transfer.d.ts +6 -0
- package/dist/modes/interactive/compaction-queue-transfer.d.ts.map +1 -1
- package/dist/modes/interactive/compaction-queue-transfer.js +1 -1
- package/dist/modes/interactive/compaction-queue-transfer.js.map +1 -1
- package/dist/modes/interactive/interactive-mode.d.ts +10 -1
- package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-mode.js +70 -7
- package/dist/modes/interactive/interactive-mode.js.map +1 -1
- package/dist/modes/interactive/risky-main-model-warning.d.ts +5 -0
- package/dist/modes/interactive/risky-main-model-warning.d.ts.map +1 -0
- package/dist/modes/interactive/risky-main-model-warning.js +8 -0
- package/dist/modes/interactive/risky-main-model-warning.js.map +1 -0
- package/dist/modes/interactive/tips/catalog/subagent-tips.d.ts.map +1 -1
- package/dist/modes/interactive/tips/catalog/subagent-tips.js +30 -0
- package/dist/modes/interactive/tips/catalog/subagent-tips.js.map +1 -1
- package/dist/modes/rpc/rpc-types.d.ts +6 -0
- package/dist/modes/rpc/rpc-types.d.ts.map +1 -1
- package/dist/modes/rpc/rpc-types.js.map +1 -1
- package/dist/utils/version-check.d.ts.map +1 -1
- package/dist/utils/version-check.js +22 -2
- package/dist/utils/version-check.js.map +1 -1
- package/docs/docs.json +4 -0
- package/docs/quickstart.md +3 -0
- package/docs/release-guide.md +636 -0
- package/node_modules/@code-yeongyu/senpi-codemode/CHANGELOG.md +24 -0
- package/node_modules/@code-yeongyu/senpi-codemode/package.json +3 -3
- package/node_modules/@earendil-works/pi-agent-core/dist/agent-loop.js +2 -2
- package/node_modules/@earendil-works/pi-agent-core/dist/agent-loop.js.map +1 -1
- package/node_modules/@earendil-works/pi-agent-core/dist/empty-assistant-recovery.d.ts +4 -0
- package/node_modules/@earendil-works/pi-agent-core/dist/empty-assistant-recovery.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-agent-core/dist/empty-assistant-recovery.js +106 -0
- package/node_modules/@earendil-works/pi-agent-core/dist/empty-assistant-recovery.js.map +1 -0
- package/node_modules/@earendil-works/pi-agent-core/dist/stream-fn.d.ts +1 -0
- package/node_modules/@earendil-works/pi-agent-core/dist/stream-fn.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-agent-core/dist/stream-fn.js +1 -0
- package/node_modules/@earendil-works/pi-agent-core/dist/stream-fn.js.map +1 -1
- package/node_modules/@earendil-works/pi-agent-core/package.json +2 -2
- package/node_modules/@earendil-works/pi-ai/dist/index.d.ts +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/index.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/index.js +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/index.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/data/.manifest.json +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/data/openrouter.json +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/data/vercel-ai-gateway.json +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/tool-call-middleware/index.d.ts +2 -1
- package/node_modules/@earendil-works/pi-ai/dist/tool-call-middleware/index.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/tool-call-middleware/index.js +13 -0
- package/node_modules/@earendil-works/pi-ai/dist/tool-call-middleware/index.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/tool-call-middleware/protocols/kimi-xtml/recovery-stream.js +2 -2
- package/node_modules/@earendil-works/pi-ai/dist/tool-call-middleware/protocols/kimi-xtml/recovery-stream.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/tool-call-middleware/protocols/kimi-xtml/thinking-recovery-stream.d.ts +3 -0
- package/node_modules/@earendil-works/pi-ai/dist/tool-call-middleware/protocols/kimi-xtml/thinking-recovery-stream.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/tool-call-middleware/protocols/kimi-xtml/thinking-recovery-stream.js +29 -0
- package/node_modules/@earendil-works/pi-ai/dist/tool-call-middleware/protocols/kimi-xtml/thinking-recovery-stream.js.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/tool-call-middleware/protocols/kimi-xtml/thinking-recovery.d.ts +3 -0
- package/node_modules/@earendil-works/pi-ai/dist/tool-call-middleware/protocols/kimi-xtml/thinking-recovery.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/tool-call-middleware/protocols/kimi-xtml/thinking-recovery.js +82 -0
- package/node_modules/@earendil-works/pi-ai/dist/tool-call-middleware/protocols/kimi-xtml/thinking-recovery.js.map +1 -0
- package/node_modules/@earendil-works/pi-ai/package.json +1 -1
- package/node_modules/@earendil-works/pi-pty/package.json +1 -1
- package/node_modules/@earendil-works/pi-tui/package.json +1 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/cjs/client/index.d.ts.map +1 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/cjs/client/index.js +1 -12
- package/node_modules/@modelcontextprotocol/sdk/dist/cjs/client/index.js.map +1 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/cjs/client/stdio.d.ts +7 -0
- package/node_modules/@modelcontextprotocol/sdk/dist/cjs/client/stdio.d.ts.map +1 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/cjs/client/stdio.js +9 -3
- package/node_modules/@modelcontextprotocol/sdk/dist/cjs/client/stdio.js.map +1 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/cjs/client/streamableHttp.d.ts.map +1 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/cjs/client/streamableHttp.js +5 -3
- package/node_modules/@modelcontextprotocol/sdk/dist/cjs/client/streamableHttp.js.map +1 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/index.d.ts.map +1 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/index.js +1 -12
- package/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/index.js.map +1 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/sseKeepAlive.d.ts +5 -0
- package/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/sseKeepAlive.d.ts.map +1 -0
- package/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/sseKeepAlive.js +17 -0
- package/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/sseKeepAlive.js.map +1 -0
- package/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/stdio.d.ts +9 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/stdio.d.ts.map +1 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/stdio.js +10 -4
- package/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/stdio.js.map +1 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/webStandardStreamableHttp.d.ts +21 -0
- package/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/webStandardStreamableHttp.d.ts.map +1 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/webStandardStreamableHttp.js +239 -41
- package/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/webStandardStreamableHttp.js.map +1 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/zod-compat.d.ts.map +1 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/zod-compat.js +25 -6
- package/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/zod-compat.js.map +1 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/cjs/shared/mediaType.d.ts +32 -0
- package/node_modules/@modelcontextprotocol/sdk/dist/cjs/shared/mediaType.d.ts.map +1 -0
- package/node_modules/@modelcontextprotocol/sdk/dist/cjs/shared/mediaType.js +64 -0
- package/node_modules/@modelcontextprotocol/sdk/dist/cjs/shared/mediaType.js.map +1 -0
- package/node_modules/@modelcontextprotocol/sdk/dist/cjs/shared/stdio.d.ts +5 -0
- package/node_modules/@modelcontextprotocol/sdk/dist/cjs/shared/stdio.d.ts.map +1 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/cjs/shared/stdio.js +10 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/cjs/shared/stdio.js.map +1 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/esm/client/index.d.ts.map +1 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/esm/client/index.js +2 -13
- package/node_modules/@modelcontextprotocol/sdk/dist/esm/client/index.js.map +1 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/esm/client/stdio.d.ts +7 -0
- package/node_modules/@modelcontextprotocol/sdk/dist/esm/client/stdio.d.ts.map +1 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/esm/client/stdio.js +9 -3
- package/node_modules/@modelcontextprotocol/sdk/dist/esm/client/stdio.js.map +1 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/esm/client/streamableHttp.d.ts.map +1 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/esm/client/streamableHttp.js +5 -3
- package/node_modules/@modelcontextprotocol/sdk/dist/esm/client/streamableHttp.js.map +1 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/esm/server/index.d.ts.map +1 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/esm/server/index.js +2 -13
- package/node_modules/@modelcontextprotocol/sdk/dist/esm/server/index.js.map +1 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/esm/server/sseKeepAlive.d.ts +5 -0
- package/node_modules/@modelcontextprotocol/sdk/dist/esm/server/sseKeepAlive.d.ts.map +1 -0
- package/node_modules/@modelcontextprotocol/sdk/dist/esm/server/sseKeepAlive.js +13 -0
- package/node_modules/@modelcontextprotocol/sdk/dist/esm/server/sseKeepAlive.js.map +1 -0
- package/node_modules/@modelcontextprotocol/sdk/dist/esm/server/stdio.d.ts +9 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/esm/server/stdio.d.ts.map +1 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/esm/server/stdio.js +10 -4
- package/node_modules/@modelcontextprotocol/sdk/dist/esm/server/stdio.js.map +1 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/esm/server/webStandardStreamableHttp.d.ts +21 -0
- package/node_modules/@modelcontextprotocol/sdk/dist/esm/server/webStandardStreamableHttp.d.ts.map +1 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/esm/server/webStandardStreamableHttp.js +239 -41
- package/node_modules/@modelcontextprotocol/sdk/dist/esm/server/webStandardStreamableHttp.js.map +1 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/esm/server/zod-compat.d.ts.map +1 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/esm/server/zod-compat.js +25 -6
- package/node_modules/@modelcontextprotocol/sdk/dist/esm/server/zod-compat.js.map +1 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/mediaType.d.ts +32 -0
- package/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/mediaType.d.ts.map +1 -0
- package/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/mediaType.js +57 -0
- package/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/mediaType.js.map +1 -0
- package/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/stdio.d.ts +5 -0
- package/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/stdio.d.ts.map +1 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/stdio.js +9 -0
- package/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/stdio.js.map +1 -1
- package/node_modules/@modelcontextprotocol/sdk/package.json +4 -3
- package/node_modules/brace-expansion/README.md +12 -0
- package/node_modules/brace-expansion/dist/commonjs/index.d.ts +2 -0
- package/node_modules/brace-expansion/dist/commonjs/index.d.ts.map +1 -1
- package/node_modules/brace-expansion/dist/commonjs/index.js +138 -86
- package/node_modules/brace-expansion/dist/commonjs/index.js.map +1 -1
- package/node_modules/brace-expansion/dist/esm/index.d.ts +2 -0
- package/node_modules/brace-expansion/dist/esm/index.d.ts.map +1 -1
- package/node_modules/brace-expansion/dist/esm/index.js +137 -85
- package/node_modules/brace-expansion/dist/esm/index.js.map +1 -1
- package/node_modules/brace-expansion/package.json +2 -2
- package/package.json +7 -7
|
@@ -34,6 +34,7 @@ import { createToolHtmlRenderer } from "./export-html/tool-renderer.js";
|
|
|
34
34
|
import { ExecuteToolError, ExtensionRunner, wrapRegisteredTools, } from "./extensions/index.js";
|
|
35
35
|
import { emitSessionShutdownEvent } from "./extensions/runner.js";
|
|
36
36
|
import { RUNTIME_EXTENSION_PATH } from "./extensions/types.js";
|
|
37
|
+
import { shouldWarnHighReasoning } from "./high-reasoning-warning.js";
|
|
37
38
|
import { filterContextExcludedMessages } from "./messages.js";
|
|
38
39
|
import { ModelRegistry } from "./model-registry.js";
|
|
39
40
|
import { getModelNarrowingPatterns, resolveModelScope } from "./model-resolver.js";
|
|
@@ -44,6 +45,7 @@ import { RetryFallbackController } from "./retry-fallback/controller.js";
|
|
|
44
45
|
import { SelectorCooldowns } from "./retry-fallback/cooldown.js";
|
|
45
46
|
import { createFallbackLogger } from "./retry-fallback/log.js";
|
|
46
47
|
import { validateFallbackChains } from "./retry-fallback/validate.js";
|
|
48
|
+
import { createSessionLogger } from "./session-log.js";
|
|
47
49
|
import { buildSessionContext, CURRENT_SESSION_VERSION, getLatestCompactionEntry, } from "./session-manager.js";
|
|
48
50
|
import { generateSessionTitle, sessionTitleRetryPolicy, shouldSkipSessionTitle } from "./session-title-generator.js";
|
|
49
51
|
import { SessionWorkBarrier } from "./session-work-barrier.js";
|
|
@@ -250,6 +252,7 @@ export class AgentSession {
|
|
|
250
252
|
// Base system prompt (without extension appends) - used to apply fresh appends each turn
|
|
251
253
|
this._baseSystemPrompt = "";
|
|
252
254
|
this._currentServiceTier = undefined;
|
|
255
|
+
this._lastHighReasoningWarningKey = undefined;
|
|
253
256
|
// Track last assistant message for auto-compaction check
|
|
254
257
|
this._lastAssistantMessage = undefined;
|
|
255
258
|
/** Internal handler for agent events - shared by subscribe and reconnect */
|
|
@@ -316,6 +319,7 @@ export class AgentSession {
|
|
|
316
319
|
this._modelRuntime = modelRuntime;
|
|
317
320
|
this._modelRegistry = config.modelRegistry ?? new ModelRegistry(modelRuntime);
|
|
318
321
|
const fallbackLogger = createFallbackLogger(config.agentDir ?? getAgentDir());
|
|
322
|
+
this._sessionLogger = createSessionLogger(config.agentDir ?? getAgentDir());
|
|
319
323
|
this._fallbackValidationWarnings = validateFallbackChains(this.settingsManager.getRawFallbackChains(), this._modelRegistry);
|
|
320
324
|
for (const warning of this._fallbackValidationWarnings) {
|
|
321
325
|
fallbackLogger.warn("validation_warning", { warning });
|
|
@@ -403,9 +407,14 @@ export class AgentSession {
|
|
|
403
407
|
return this._getRequiredRequestAuth(model);
|
|
404
408
|
}
|
|
405
409
|
try {
|
|
406
|
-
const
|
|
410
|
+
const apiKey = await this.agent.getApiKey?.(model.provider);
|
|
411
|
+
const result = await this._modelRuntime.getAuth(model, { apiKey });
|
|
407
412
|
return result
|
|
408
|
-
? {
|
|
413
|
+
? {
|
|
414
|
+
apiKey: apiKey ?? result.auth.apiKey,
|
|
415
|
+
headers: withoutDeletedHeaders(result.auth.headers),
|
|
416
|
+
env: result.env,
|
|
417
|
+
}
|
|
409
418
|
: {};
|
|
410
419
|
}
|
|
411
420
|
catch {
|
|
@@ -598,10 +607,36 @@ export class AgentSession {
|
|
|
598
607
|
// =========================================================================
|
|
599
608
|
/** Emit an event to all listeners */
|
|
600
609
|
_emit(event) {
|
|
610
|
+
this._logSessionEvent(event);
|
|
601
611
|
for (const l of this._eventListeners) {
|
|
602
612
|
l(event);
|
|
603
613
|
}
|
|
604
614
|
}
|
|
615
|
+
/** Mirror stuck-prone lifecycle transitions into logs/session.log (content-free). */
|
|
616
|
+
_logSessionEvent(event) {
|
|
617
|
+
if (event.type === "compaction_end") {
|
|
618
|
+
this._sessionLogger.info("compaction_decision", {
|
|
619
|
+
reason: event.reason,
|
|
620
|
+
accepted: event.accepted ?? event.result !== undefined,
|
|
621
|
+
aborted: event.aborted,
|
|
622
|
+
willRetry: event.willRetry,
|
|
623
|
+
rejectionCause: event.rejectionCause,
|
|
624
|
+
error: event.errorMessage,
|
|
625
|
+
});
|
|
626
|
+
return;
|
|
627
|
+
}
|
|
628
|
+
if (event.type === "message_end" && event.message.role === "assistant") {
|
|
629
|
+
const message = event.message;
|
|
630
|
+
if (message.stopReason !== "error")
|
|
631
|
+
return;
|
|
632
|
+
const kind = isProviderStreamStallError(message)
|
|
633
|
+
? "stall"
|
|
634
|
+
: isProviderTimeoutError(message)
|
|
635
|
+
? "timeout"
|
|
636
|
+
: "error";
|
|
637
|
+
this._sessionLogger.warn("provider_error", { kind, error: message.errorMessage });
|
|
638
|
+
}
|
|
639
|
+
}
|
|
605
640
|
_emitQueueUpdate() {
|
|
606
641
|
this._emit({
|
|
607
642
|
type: "queue_update",
|
|
@@ -685,6 +720,7 @@ export class AgentSession {
|
|
|
685
720
|
const requiredCompactionError = this._requiredCompactionAdmissionError;
|
|
686
721
|
this._requiredCompactionAdmissionError = undefined;
|
|
687
722
|
if (requiredCompactionError) {
|
|
723
|
+
this._sessionLogger.warn("prompt_rejected", { stage: "admission", error: "RequiredCompactionError" });
|
|
688
724
|
throw requiredCompactionError;
|
|
689
725
|
}
|
|
690
726
|
}
|
|
@@ -2066,6 +2102,7 @@ export class AgentSession {
|
|
|
2066
2102
|
*/
|
|
2067
2103
|
async _queueSteer(text, images) {
|
|
2068
2104
|
this._steeringMessages.push(text);
|
|
2105
|
+
this._sessionLogger.debug("queue_enqueue", { mode: "steer", count: this._steeringMessages.length });
|
|
2069
2106
|
this._emitQueueUpdate();
|
|
2070
2107
|
const content = [{ type: "text", text }];
|
|
2071
2108
|
if (images) {
|
|
@@ -2083,6 +2120,7 @@ export class AgentSession {
|
|
|
2083
2120
|
*/
|
|
2084
2121
|
async _queueFollowUp(text, images) {
|
|
2085
2122
|
this._followUpMessages.push(text);
|
|
2123
|
+
this._sessionLogger.debug("queue_enqueue", { mode: "followUp", count: this._followUpMessages.length });
|
|
2086
2124
|
this._emitQueueUpdate();
|
|
2087
2125
|
const content = [{ type: "text", text }];
|
|
2088
2126
|
if (images) {
|
|
@@ -2455,6 +2493,7 @@ export class AgentSession {
|
|
|
2455
2493
|
else {
|
|
2456
2494
|
this.setSessionThinkingLevel(thinkingLevel);
|
|
2457
2495
|
}
|
|
2496
|
+
this._emitHighReasoningWarningIfNeeded();
|
|
2458
2497
|
if (!opts.emitModelSelect)
|
|
2459
2498
|
return undefined;
|
|
2460
2499
|
return await this._emitModelSelect(model, previousModel, opts.modelSelectSource);
|
|
@@ -2554,8 +2593,28 @@ export class AgentSession {
|
|
|
2554
2593
|
level: effectiveLevel,
|
|
2555
2594
|
previousLevel,
|
|
2556
2595
|
});
|
|
2596
|
+
this._emitHighReasoningWarningIfNeeded();
|
|
2557
2597
|
}
|
|
2558
2598
|
}
|
|
2599
|
+
_emitHighReasoningWarningIfNeeded() {
|
|
2600
|
+
const model = this.model;
|
|
2601
|
+
const level = this.thinkingLevel;
|
|
2602
|
+
if (!model || !shouldWarnHighReasoning(model, level)) {
|
|
2603
|
+
this._lastHighReasoningWarningKey = undefined;
|
|
2604
|
+
return;
|
|
2605
|
+
}
|
|
2606
|
+
const key = `${model.provider}/${model.id}:${level}`;
|
|
2607
|
+
if (this._lastHighReasoningWarningKey === key) {
|
|
2608
|
+
return;
|
|
2609
|
+
}
|
|
2610
|
+
this._lastHighReasoningWarningKey = key;
|
|
2611
|
+
this._emit({
|
|
2612
|
+
type: "high_reasoning_warning",
|
|
2613
|
+
modelId: model.id,
|
|
2614
|
+
provider: model.provider,
|
|
2615
|
+
thinkingLevel: level,
|
|
2616
|
+
});
|
|
2617
|
+
}
|
|
2559
2618
|
/**
|
|
2560
2619
|
* Cycle to next thinking level.
|
|
2561
2620
|
* @returns New level, or undefined if model doesn't support thinking
|
|
@@ -3446,7 +3505,7 @@ export class AgentSession {
|
|
|
3446
3505
|
reason,
|
|
3447
3506
|
result: undefined,
|
|
3448
3507
|
aborted,
|
|
3449
|
-
willRetry,
|
|
3508
|
+
willRetry: false,
|
|
3450
3509
|
errorMessage: aborted ? undefined : `Pre-prompt compaction failed: ${errorMessage}`,
|
|
3451
3510
|
});
|
|
3452
3511
|
return false;
|