@sayknow-cli/coding-agent 0.3.7 → 0.3.8

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.
Files changed (248) hide show
  1. package/dist/types/append-only-mode.d.ts +31 -0
  2. package/dist/types/capability/rule.d.ts +8 -0
  3. package/dist/types/cli/completion-cli.d.ts +41 -0
  4. package/dist/types/cli/config-cli.d.ts +1 -0
  5. package/dist/types/cli/fixture-report.d.ts +20 -0
  6. package/dist/types/cli/fixture-report.test.d.ts +1 -0
  7. package/dist/types/cli/nofile-limit.d.ts +11 -0
  8. package/dist/types/cli/notify-cli.d.ts +7 -0
  9. package/dist/types/cli/update-cli.d.ts +22 -0
  10. package/dist/types/cli.d.ts +124 -1
  11. package/dist/types/commands/completion.d.ts +29 -0
  12. package/dist/types/commands/config.d.ts +3 -0
  13. package/dist/types/commands/deep-interview.d.ts +3 -0
  14. package/dist/types/config/file-lock.d.ts +7 -6
  15. package/dist/types/config/keybindings.d.ts +2 -2
  16. package/dist/types/config/model-profile-activation.d.ts +6 -0
  17. package/dist/types/config/model-profiles.d.ts +1 -0
  18. package/dist/types/config/settings-schema.d.ts +105 -1
  19. package/dist/types/config/settings.d.ts +8 -0
  20. package/dist/types/discovery/index.d.ts +1 -0
  21. package/dist/types/export/html/template.generated.d.ts +1 -1
  22. package/dist/types/export/ttsr.d.ts +14 -3
  23. package/dist/types/extensibility/extensions/runner.d.ts +2 -1
  24. package/dist/types/extensibility/extensions/types.d.ts +8 -0
  25. package/dist/types/goals/runtime.d.ts +1 -0
  26. package/dist/types/hooks/native-skill-hook.d.ts +12 -0
  27. package/dist/types/main.d.ts +4 -1
  28. package/dist/types/modes/components/assistant-message.d.ts +5 -1
  29. package/dist/types/modes/components/model-selector.d.ts +4 -0
  30. package/dist/types/modes/components/queued-message-selector.d.ts +12 -0
  31. package/dist/types/modes/components/settings-selector.d.ts +2 -0
  32. package/dist/types/modes/components/status-line.d.ts +9 -0
  33. package/dist/types/modes/controllers/command-controller.d.ts +1 -0
  34. package/dist/types/modes/controllers/event-controller.d.ts +5 -0
  35. package/dist/types/modes/controllers/input-controller.d.ts +1 -3
  36. package/dist/types/modes/interactive-mode.d.ts +2 -0
  37. package/dist/types/modes/print-mode.d.ts +13 -1
  38. package/dist/types/modes/prompt-action-autocomplete.d.ts +1 -1
  39. package/dist/types/modes/rpc/rpc-types.d.ts +14 -0
  40. package/dist/types/modes/shared/agent-wire/event-contract.d.ts +19 -0
  41. package/dist/types/modes/shared/agent-wire/event-envelope.d.ts +23 -1
  42. package/dist/types/modes/types.d.ts +1 -0
  43. package/dist/types/modes/utils/ui-helpers.d.ts +1 -0
  44. package/dist/types/notifications/config.d.ts +14 -1
  45. package/dist/types/notifications/daemon-paths.d.ts +1 -0
  46. package/dist/types/notifications/index.d.ts +6 -3
  47. package/dist/types/notifications/lifecycle-commands.d.ts +11 -3
  48. package/dist/types/notifications/telegram-daemon.d.ts +23 -3
  49. package/dist/types/notifications/telegram-reference.d.ts +0 -5
  50. package/dist/types/notifications/threaded-render.d.ts +6 -0
  51. package/dist/types/runtime-api-key.d.ts +7 -0
  52. package/dist/types/sdk.d.ts +3 -0
  53. package/dist/types/session/agent-session.d.ts +61 -6
  54. package/dist/types/session/agent-storage.d.ts +1 -0
  55. package/dist/types/session/file-mention-pruning.d.ts +8 -0
  56. package/dist/types/session/messages.d.ts +4 -0
  57. package/dist/types/session/session-manager.d.ts +17 -1
  58. package/dist/types/skc-runtime/deep-interview-ambiguity.d.ts +39 -0
  59. package/dist/types/skc-runtime/deep-interview-recorder.d.ts +10 -1
  60. package/dist/types/skc-runtime/deep-interview-state.d.ts +17 -2
  61. package/dist/types/skc-runtime/session-state-sidecar.d.ts +7 -0
  62. package/dist/types/skc-runtime/state-writer.d.ts +3 -0
  63. package/dist/types/skc-runtime/ultragoal-receipt-freshness.d.ts +42 -0
  64. package/dist/types/skc-runtime/ultragoal-runtime.d.ts +120 -13
  65. package/dist/types/skill-state/active-state.d.ts +18 -1
  66. package/dist/types/system-prompt.d.ts +18 -2
  67. package/dist/types/task/executor.d.ts +3 -0
  68. package/dist/types/task/fork-context-budget.d.ts +7 -0
  69. package/dist/types/task/token-log.d.ts +30 -0
  70. package/dist/types/task/token-log.test.d.ts +1 -0
  71. package/dist/types/tools/bisect.d.ts +81 -0
  72. package/dist/types/tools/computer.d.ts +2 -2
  73. package/dist/types/tools/index.d.ts +1 -0
  74. package/dist/types/tools/search.d.ts +2 -2
  75. package/dist/types/tools/ultragoal-ask-guard.d.ts +9 -2
  76. package/dist/types/utils/file-mentions.d.ts +14 -0
  77. package/dist/types/utils/git.d.ts +32 -0
  78. package/dist/types/web/scrapers/youtube.d.ts +8 -0
  79. package/dist/types/workflow/workflow-intent-diff.d.ts +8 -2
  80. package/dist/types/workflow/workflow-intent-report-consumer.d.ts +50 -0
  81. package/dist/types/workflow/workflow-intent-report-schema.d.ts +2 -0
  82. package/dist/types/workflow/workflow-intent-report.d.ts +48 -0
  83. package/package.json +8 -8
  84. package/src/append-only-mode.ts +58 -0
  85. package/src/autoresearch/prompt.md +1 -1
  86. package/src/autoresearch/tools/log-experiment.ts +1 -1
  87. package/src/capability/rule.ts +9 -0
  88. package/src/cli/completion-cli.ts +234 -0
  89. package/src/cli/config-cli.ts +61 -9
  90. package/src/cli/fast-help.ts +1 -0
  91. package/src/cli/fixture-report.test.ts +230 -0
  92. package/src/cli/fixture-report.ts +171 -0
  93. package/src/cli/nofile-limit.ts +48 -0
  94. package/src/cli/notify-cli.ts +92 -8
  95. package/src/cli/telegram-cli.ts +1 -1
  96. package/src/cli/update-cli.ts +85 -9
  97. package/src/cli.ts +29 -1
  98. package/src/commands/completion.ts +84 -0
  99. package/src/commands/config.ts +2 -0
  100. package/src/commands/contribution-prep.ts +1 -1
  101. package/src/commands/deep-interview.ts +2 -1
  102. package/src/config/file-lock.ts +73 -34
  103. package/src/config/keybindings.ts +2 -2
  104. package/src/config/model-profile-activation.ts +65 -0
  105. package/src/config/model-profiles.ts +31 -2
  106. package/src/config/settings-schema.ts +68 -1
  107. package/src/config/settings.ts +22 -0
  108. package/src/defaults/skc/skills/team/SKILL.md +17 -14
  109. package/src/defaults/skc/skills/ultragoal/SKILL.md +59 -4
  110. package/src/defaults/skc/skills/ultragoal/pipeline-validation-contracts.md +30 -0
  111. package/src/defaults/skc-defaults.ts +9 -0
  112. package/src/discovery/helpers.ts +10 -0
  113. package/src/discovery/index.ts +1 -0
  114. package/src/export/html/template.generated.ts +1 -1
  115. package/src/export/html/template.js +60 -2
  116. package/src/export/ttsr.ts +96 -18
  117. package/src/extensibility/extensions/runner.ts +183 -219
  118. package/src/extensibility/extensions/types.ts +9 -0
  119. package/src/extensibility/skc-plugins/runtime-adapters.ts +156 -44
  120. package/src/goals/runtime.ts +10 -2
  121. package/src/hindsight/backend.ts +1 -3
  122. package/src/hooks/native-skill-hook.ts +124 -4
  123. package/src/internal-urls/docs-index.generated.ts +14 -5
  124. package/src/main.ts +95 -43
  125. package/src/memories/index.ts +12 -1
  126. package/src/modes/components/assistant-message.ts +241 -82
  127. package/src/modes/components/custom-editor.ts +1 -0
  128. package/src/modes/components/model-selector.ts +54 -11
  129. package/src/modes/components/queued-message-selector.ts +92 -0
  130. package/src/modes/components/settings-selector.ts +4 -0
  131. package/src/modes/components/status-line.ts +167 -54
  132. package/src/modes/components/tool-execution.ts +44 -19
  133. package/src/modes/components/welcome.ts +181 -44
  134. package/src/modes/controllers/command-controller.ts +40 -4
  135. package/src/modes/controllers/event-controller.ts +66 -47
  136. package/src/modes/controllers/extension-ui-controller.ts +4 -10
  137. package/src/modes/controllers/input-controller.ts +180 -18
  138. package/src/modes/controllers/selector-controller.ts +127 -24
  139. package/src/modes/interactive-mode.ts +51 -16
  140. package/src/modes/print-mode.ts +43 -4
  141. package/src/modes/prompt-action-autocomplete.ts +21 -20
  142. package/src/modes/rpc/rpc-mode.ts +29 -3
  143. package/src/modes/rpc/rpc-types.ts +9 -0
  144. package/src/modes/shared/agent-wire/command-validation.ts +4 -0
  145. package/src/modes/shared/agent-wire/event-contract.ts +22 -0
  146. package/src/modes/shared/agent-wire/event-envelope.ts +82 -0
  147. package/src/modes/shared/agent-wire/scopes.ts +1 -0
  148. package/src/modes/types.ts +1 -0
  149. package/src/modes/utils/hotkeys-markdown.ts +1 -0
  150. package/src/modes/utils/ui-helpers.ts +20 -7
  151. package/src/notifications/config.ts +25 -5
  152. package/src/notifications/daemon-paths.ts +2 -0
  153. package/src/notifications/index.ts +117 -14
  154. package/src/notifications/lifecycle-commands.ts +37 -7
  155. package/src/notifications/lifecycle-orchestrator.ts +19 -6
  156. package/src/notifications/telegram-daemon-control.ts +5 -3
  157. package/src/notifications/telegram-daemon.ts +302 -51
  158. package/src/notifications/telegram-reference.ts +0 -16
  159. package/src/notifications/threaded-render.ts +17 -1
  160. package/src/prompts/agents/architect.md +19 -10
  161. package/src/prompts/agents/critic.md +16 -18
  162. package/src/prompts/agents/executor.md +14 -11
  163. package/src/prompts/agents/planner.md +18 -13
  164. package/src/prompts/ci-green-request.md +3 -8
  165. package/src/prompts/goals/goal-continuation.md +0 -5
  166. package/src/prompts/goals/goal-mode-active.md +0 -5
  167. package/src/prompts/system/agent-creation-architect.md +2 -2
  168. package/src/prompts/system/plan-mode-active.md +1 -1
  169. package/src/prompts/system/plan-mode-subagent.md +3 -3
  170. package/src/prompts/system/project-prompt.md +0 -13
  171. package/src/prompts/system/subagent-system-prompt.md +3 -2
  172. package/src/prompts/system/system-prompt.md +29 -17
  173. package/src/prompts/system/volatile-project-context.md +10 -0
  174. package/src/prompts/system/web-search.md +4 -7
  175. package/src/prompts/tools/apply-patch.md +6 -0
  176. package/src/prompts/tools/ast-edit.md +1 -0
  177. package/src/prompts/tools/bash.md +1 -1
  178. package/src/prompts/tools/bisect.md +22 -0
  179. package/src/prompts/tools/browser.md +1 -1
  180. package/src/prompts/tools/computer.md +2 -2
  181. package/src/prompts/tools/cron.md +0 -2
  182. package/src/prompts/tools/eval.md +2 -2
  183. package/src/prompts/tools/find.md +1 -1
  184. package/src/prompts/tools/github.md +6 -6
  185. package/src/prompts/tools/goal.md +1 -3
  186. package/src/prompts/tools/image-gen.md +12 -5
  187. package/src/prompts/tools/irc.md +5 -4
  188. package/src/prompts/tools/job.md +2 -2
  189. package/src/prompts/tools/lsp.md +1 -1
  190. package/src/prompts/tools/monitor.md +2 -2
  191. package/src/prompts/tools/patch.md +2 -2
  192. package/src/prompts/tools/replace.md +2 -21
  193. package/src/prompts/tools/rewind.md +1 -1
  194. package/src/prompts/tools/search-tool-bm25.md +1 -11
  195. package/src/prompts/tools/search.md +1 -1
  196. package/src/prompts/tools/skill.md +3 -2
  197. package/src/prompts/tools/ssh.md +2 -1
  198. package/src/prompts/tools/subagent.md +2 -2
  199. package/src/prompts/tools/task.md +4 -5
  200. package/src/prompts/tools/todo-write.md +1 -1
  201. package/src/prompts/tools/vim.md +1 -0
  202. package/src/prompts/tools/web-search.md +2 -0
  203. package/src/prompts/tools/write.md +8 -2
  204. package/src/runtime-api-key.ts +16 -0
  205. package/src/sdk.ts +52 -28
  206. package/src/session/agent-session.ts +1011 -141
  207. package/src/session/agent-storage.ts +4 -0
  208. package/src/session/file-mention-pruning.ts +64 -0
  209. package/src/session/messages.ts +4 -0
  210. package/src/session/session-manager.ts +103 -4
  211. package/src/skc-runtime/deep-interview-ambiguity.ts +206 -0
  212. package/src/skc-runtime/deep-interview-recorder.ts +62 -8
  213. package/src/skc-runtime/deep-interview-state.ts +44 -2
  214. package/src/skc-runtime/session-state-sidecar.ts +263 -20
  215. package/src/skc-runtime/state-runtime.ts +12 -2
  216. package/src/skc-runtime/state-writer.ts +15 -0
  217. package/src/skc-runtime/ultragoal-guard.ts +55 -66
  218. package/src/skc-runtime/ultragoal-receipt-freshness.ts +315 -0
  219. package/src/skc-runtime/ultragoal-runtime.ts +1663 -159
  220. package/src/skc-runtime/workflow-manifest.generated.json +113 -2
  221. package/src/skc-runtime/workflow-manifest.ts +74 -1
  222. package/src/skill-state/active-state.ts +141 -5
  223. package/src/skill-state/deep-interview-mutation-guard.ts +67 -3
  224. package/src/slash-commands/builtin-registry.ts +218 -71
  225. package/src/system-prompt.ts +57 -16
  226. package/src/task/executor.ts +132 -24
  227. package/src/task/fork-context-advisory.ts +2 -7
  228. package/src/task/fork-context-budget.ts +9 -0
  229. package/src/task/index.ts +13 -6
  230. package/src/task/output-manager.ts +20 -8
  231. package/src/task/receipt.ts +26 -7
  232. package/src/task/token-log.test.ts +188 -0
  233. package/src/task/token-log.ts +179 -0
  234. package/src/tools/bisect.ts +367 -0
  235. package/src/tools/computer.ts +246 -43
  236. package/src/tools/index.ts +3 -0
  237. package/src/tools/output-meta.ts +116 -4
  238. package/src/tools/search.ts +8 -2
  239. package/src/tools/skill.ts +15 -0
  240. package/src/tools/telegram-send.ts +6 -0
  241. package/src/tools/ultragoal-ask-guard.ts +39 -5
  242. package/src/utils/file-mentions.ts +39 -7
  243. package/src/utils/git.ts +73 -0
  244. package/src/web/scrapers/youtube.ts +24 -12
  245. package/src/workflow/workflow-intent-diff.ts +29 -6
  246. package/src/workflow/workflow-intent-report-consumer.ts +221 -0
  247. package/src/workflow/workflow-intent-report-schema.ts +129 -0
  248. package/src/workflow/workflow-intent-report.ts +135 -0
package/src/sdk.ts CHANGED
@@ -4,7 +4,7 @@ import {
4
4
  type AgentMessage,
5
5
  type AgentTelemetryConfig,
6
6
  type AgentTool,
7
- AppendOnlyContextManager,
7
+ type AppendOnlyContextManager,
8
8
  INTENT_FIELD,
9
9
  type ThinkingLevel,
10
10
  } from "@sayknow-cli/agent-core";
@@ -32,7 +32,11 @@ import {
32
32
  prompt,
33
33
  Snowflake,
34
34
  } from "@sayknow-cli/utils";
35
-
35
+ import {
36
+ createAppendOnlyContextManager,
37
+ providerSupportsAppendOnlyAuto,
38
+ resolveAppendOnlyMode,
39
+ } from "./append-only-mode";
36
40
  import { type AsyncJob, AsyncJobManager, isBackgroundJobSupportEnabled, jobElapsedMs } from "./async";
37
41
  import { loadCapability } from "./capability";
38
42
  import { type Rule, ruleCapability, setActiveRules } from "./capability/rule";
@@ -617,23 +621,12 @@ function registerJsVmCleanup(): void {
617
621
  postmortem.register("js-vm-cleanup", disposeAllVmContexts);
618
622
  }
619
623
 
620
- /**
621
- * Resolve whether to enable append-only context mode based on the setting and provider.
622
- *
623
- * - `"on"` → always enable
624
- * - `"off"` → never enable
625
- * - `"auto"` → enable for DeepSeek (prefix-caching provider)
624
+ /*
625
+ * Append-only context-mode resolution + manager construction live in
626
+ * ./append-only-mode so the initial build, the runtime model/setting-change
627
+ * path, and the status UI share one implementation. Re-exported for importers/tests.
626
628
  */
627
- function resolveAppendOnlyMode(setting: "auto" | "on" | "off" | undefined, provider: string): boolean {
628
- switch (setting ?? "auto") {
629
- case "on":
630
- return true;
631
- case "off":
632
- return false;
633
- default:
634
- return provider === "deepseek";
635
- }
636
- }
629
+ export { createAppendOnlyContextManager, providerSupportsAppendOnlyAuto, resolveAppendOnlyMode };
637
630
 
638
631
  function customToolToDefinition(tool: CustomTool): ToolDefinition {
639
632
  const definition: ToolDefinition & { [TOOL_DEFINITION_MARKER]: true } = {
@@ -868,6 +861,10 @@ function withEmbeddedDefaultSkcSkills(skills: Skill[]): Skill[] {
868
861
  return [...byName.values()];
869
862
  }
870
863
 
864
+ export function resolveIntentTracingEnabled(intentTracingSetting: boolean | undefined, hasUI: boolean): boolean {
865
+ return (!!intentTracingSetting || $flag("PI_INTENT_TRACING")) && hasUI;
866
+ }
867
+
871
868
  export async function createAgentSession(options: CreateAgentSessionOptions = {}): Promise<CreateAgentSessionResult> {
872
869
  const cwd = options.cwd ?? getProjectDir();
873
870
  const agentDir = options.agentDir ?? getDefaultAgentDir();
@@ -1127,8 +1124,15 @@ export async function createAgentSession(options: CreateAgentSessionOptions = {}
1127
1124
  rulebookRules.push(rule);
1128
1125
  }
1129
1126
  }
1130
- if (existingSession.injectedTtsrRules.length > 0) {
1131
- ttsrManager.restoreInjected(existingSession.injectedTtsrRules);
1127
+ if (ttsrManager.getSettings().enabled !== false) {
1128
+ if ((existingSession.ttsrMessageCount ?? 0) > 0) {
1129
+ ttsrManager.restoreMessageCount(existingSession.ttsrMessageCount ?? 0);
1130
+ }
1131
+ if (existingSession.injectedTtsrRuleRecords && existingSession.injectedTtsrRuleRecords.length > 0) {
1132
+ ttsrManager.restoreInjected(existingSession.injectedTtsrRuleRecords);
1133
+ } else if (existingSession.injectedTtsrRules.length > 0) {
1134
+ ttsrManager.restoreInjected(existingSession.injectedTtsrRules);
1135
+ }
1132
1136
  }
1133
1137
  return { ttsrManager, rulebookRules, alwaysApplyRules };
1134
1138
  });
@@ -1216,8 +1220,8 @@ export async function createAgentSession(options: CreateAgentSessionOptions = {}
1216
1220
 
1217
1221
  const agentRegistry = options.agentRegistry ?? AgentRegistry.global();
1218
1222
  const resolvedAgentId = options.agentId ?? options.parentTaskPrefix ?? MAIN_AGENT_ID;
1219
- const resolvedAgentDisplayName =
1220
- options.agentDisplayName ?? ((options.taskDepth ?? 0) > 0 || options.parentTaskPrefix ? "sub" : "main");
1223
+ const isSubSession = taskDepth > 0 || Boolean(options.parentTaskPrefix) || Boolean(options.currentAgentType);
1224
+ const resolvedAgentDisplayName = options.agentDisplayName ?? (isSubSession ? "sub" : "main");
1221
1225
  const evalKernelOwnerId = `agent-session:${Snowflake.next()}`;
1222
1226
 
1223
1227
  try {
@@ -1522,12 +1526,20 @@ export async function createAgentSession(options: CreateAgentSessionOptions = {}
1522
1526
  }
1523
1527
  let notificationCfg: NotificationConfig | undefined;
1524
1528
  try {
1525
- notificationCfg = getNotificationConfig(Settings.instance);
1529
+ notificationCfg = getNotificationConfig(settings);
1526
1530
  } catch {
1527
1531
  notificationCfg = undefined;
1528
1532
  }
1529
- if (shouldRegisterNotificationsExtension({ env: process.env, cfg: notificationCfg })) {
1530
- inlineExtensions.push(createNotificationsExtension);
1533
+ if (
1534
+ shouldRegisterNotificationsExtension({
1535
+ env: process.env,
1536
+ cfg: notificationCfg,
1537
+ taskDepth,
1538
+ parentTaskPrefix: options.parentTaskPrefix,
1539
+ currentAgentType: options.currentAgentType,
1540
+ })
1541
+ ) {
1542
+ inlineExtensions.push(api => createNotificationsExtension(api, { settings }));
1531
1543
  }
1532
1544
 
1533
1545
  // Extension/module discovery is quarantined; retain only the private
@@ -1655,6 +1667,12 @@ export async function createAgentSession(options: CreateAgentSessionOptions = {}
1655
1667
  cwd,
1656
1668
  sessionManager,
1657
1669
  modelRegistry,
1670
+ {
1671
+ kind: isSubSession ? "sub" : "main",
1672
+ taskDepth,
1673
+ ...(options.parentTaskPrefix ? { parentTaskPrefix: options.parentTaskPrefix } : {}),
1674
+ ...(options.currentAgentType ? { currentAgentType: options.currentAgentType } : {}),
1675
+ },
1658
1676
  );
1659
1677
  }
1660
1678
 
@@ -1774,7 +1792,11 @@ export async function createAgentSession(options: CreateAgentSessionOptions = {}
1774
1792
 
1775
1793
  const repeatToolDescriptions = settings.get("repeatToolDescriptions");
1776
1794
  const eagerTasks = settings.get("task.eager");
1777
- const intentField = settings.get("tools.intentTracing") || $flag("PI_INTENT_TRACING") ? INTENT_FIELD : undefined;
1795
+ const intentTracingEnabled = resolveIntentTracingEnabled(
1796
+ settings.get("tools.intentTracing"),
1797
+ options.hasUI ?? false,
1798
+ );
1799
+ const intentField = intentTracingEnabled ? INTENT_FIELD : undefined;
1778
1800
  const rebuildSystemPrompt = async (
1779
1801
  toolNames: string[],
1780
1802
  tools: Map<string, AgentTool>,
@@ -1846,6 +1868,7 @@ export async function createAgentSession(options: CreateAgentSessionOptions = {}
1846
1868
  eagerTasks,
1847
1869
  secretsEnabled,
1848
1870
  workspaceTree: workspaceTreePromise,
1871
+ subagent: options.parentTaskPrefix !== undefined,
1849
1872
  });
1850
1873
 
1851
1874
  if (options.systemPrompt === undefined) {
@@ -1947,7 +1970,7 @@ export async function createAgentSession(options: CreateAgentSessionOptions = {}
1947
1970
  agentRegistry.register({
1948
1971
  id: resolvedAgentId,
1949
1972
  displayName: resolvedAgentDisplayName,
1950
- kind: (options.taskDepth ?? 0) > 0 || options.parentTaskPrefix ? "sub" : "main",
1973
+ kind: isSubSession ? "sub" : "main",
1951
1974
  parentId: options.parentTaskPrefix,
1952
1975
  session: null,
1953
1976
  sessionFile: sessionManager.getSessionFile() ?? null,
@@ -2045,7 +2068,7 @@ export async function createAgentSession(options: CreateAgentSessionOptions = {}
2045
2068
 
2046
2069
  const appendOnlyContext =
2047
2070
  model && resolveAppendOnlyMode(settings.get("provider.appendOnlyContext"), model.provider)
2048
- ? new AppendOnlyContextManager()
2071
+ ? createAppendOnlyContextManager(model.provider)
2049
2072
  : undefined;
2050
2073
  if (appendOnlyContext && options.forkContextSeed && !hasExistingSession) {
2051
2074
  if (options.forkContextSeed.appendOnlyPrefixSnapshot) {
@@ -2216,6 +2239,7 @@ export async function createAgentSession(options: CreateAgentSessionOptions = {}
2216
2239
  onResponse,
2217
2240
  convertToLlm: convertToLlmFinal,
2218
2241
  rebuildSystemPrompt,
2242
+ workspaceTree: resolvedWorkspaceTree,
2219
2243
  reloadSshTool,
2220
2244
  requestedToolNames: requestedToolNameSet,
2221
2245
  discoverableToolAllowedNames: options.discoverableToolAllowedNames,