@qduc/term2 0.19.0 → 0.21.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.
Files changed (457) hide show
  1. package/dist/agent.d.ts +9 -0
  2. package/dist/agent.d.ts.map +1 -1
  3. package/dist/agent.js +151 -93
  4. package/dist/agent.js.map +1 -1
  5. package/dist/app.d.ts +1 -1
  6. package/dist/app.d.ts.map +1 -1
  7. package/dist/app.js +62 -36
  8. package/dist/app.js.map +1 -1
  9. package/dist/cli.js +122 -41
  10. package/dist/cli.js.map +1 -1
  11. package/dist/commands/guarded-settings-command.d.ts.map +1 -1
  12. package/dist/commands/guarded-settings-command.js +33 -5
  13. package/dist/commands/guarded-settings-command.js.map +1 -1
  14. package/dist/commands/mode-commands.d.ts +17 -12
  15. package/dist/commands/mode-commands.d.ts.map +1 -1
  16. package/dist/commands/mode-commands.js +68 -44
  17. package/dist/commands/mode-commands.js.map +1 -1
  18. package/dist/components/input/ApplicationInputSurface.d.ts.map +1 -1
  19. package/dist/components/input/ApplicationInputSurface.js +4 -0
  20. package/dist/components/input/ApplicationInputSurface.js.map +1 -1
  21. package/dist/components/input/MenuSurface.d.ts.map +1 -1
  22. package/dist/components/input/MenuSurface.js +1 -0
  23. package/dist/components/input/MenuSurface.js.map +1 -1
  24. package/dist/components/input/ProfileMenuSession.d.ts +16 -0
  25. package/dist/components/input/ProfileMenuSession.d.ts.map +1 -0
  26. package/dist/components/input/ProfileMenuSession.js +64 -0
  27. package/dist/components/input/ProfileMenuSession.js.map +1 -0
  28. package/dist/components/input/determine-active-menu.d.ts +3 -0
  29. package/dist/components/input/determine-active-menu.d.ts.map +1 -1
  30. package/dist/components/input/determine-active-menu.js +6 -1
  31. package/dist/components/input/determine-active-menu.js.map +1 -1
  32. package/dist/components/input/menu-registry.d.ts.map +1 -1
  33. package/dist/components/input/menu-registry.js +2 -0
  34. package/dist/components/input/menu-registry.js.map +1 -1
  35. package/dist/components/input/menu-types.d.ts +4 -0
  36. package/dist/components/input/menu-types.d.ts.map +1 -1
  37. package/dist/components/input/triggers.d.ts +1 -0
  38. package/dist/components/input/triggers.d.ts.map +1 -1
  39. package/dist/components/input/triggers.js +26 -0
  40. package/dist/components/input/triggers.js.map +1 -1
  41. package/dist/components/layout/BackgroundTaskManager.d.ts.map +1 -1
  42. package/dist/components/layout/BackgroundTaskManager.js +6 -2
  43. package/dist/components/layout/BackgroundTaskManager.js.map +1 -1
  44. package/dist/components/layout/BackgroundTasksPanel.d.ts.map +1 -1
  45. package/dist/components/layout/BackgroundTasksPanel.js +16 -8
  46. package/dist/components/layout/BackgroundTasksPanel.js.map +1 -1
  47. package/dist/components/layout/Banner.d.ts.map +1 -1
  48. package/dist/components/layout/Banner.js +10 -5
  49. package/dist/components/layout/Banner.js.map +1 -1
  50. package/dist/components/layout/BottomArea.d.ts.map +1 -1
  51. package/dist/components/layout/BottomArea.js +4 -3
  52. package/dist/components/layout/BottomArea.js.map +1 -1
  53. package/dist/components/layout/StatusBar.d.ts.map +1 -1
  54. package/dist/components/layout/StatusBar.js +28 -13
  55. package/dist/components/layout/StatusBar.js.map +1 -1
  56. package/dist/components/menu/ProfileSelectionMenu.d.ts +12 -0
  57. package/dist/components/menu/ProfileSelectionMenu.d.ts.map +1 -0
  58. package/dist/components/menu/ProfileSelectionMenu.js +48 -0
  59. package/dist/components/menu/ProfileSelectionMenu.js.map +1 -0
  60. package/dist/components/menu/ResumeSelectionMenu.d.ts.map +1 -1
  61. package/dist/components/menu/ResumeSelectionMenu.js +6 -14
  62. package/dist/components/menu/ResumeSelectionMenu.js.map +1 -1
  63. package/dist/components/message/ChatMessage.js +1 -1
  64. package/dist/components/message/ChatMessage.js.map +1 -1
  65. package/dist/components/message/MessageList.d.ts.map +1 -1
  66. package/dist/components/message/MessageList.js +32 -16
  67. package/dist/components/message/MessageList.js.map +1 -1
  68. package/dist/components/message/command-grouping.d.ts +6 -6
  69. package/dist/components/message/command-grouping.d.ts.map +1 -1
  70. package/dist/components/message/command-grouping.js +21 -8
  71. package/dist/components/message/command-grouping.js.map +1 -1
  72. package/dist/context/InputContext.d.ts +1 -1
  73. package/dist/context/InputContext.d.ts.map +1 -1
  74. package/dist/context/InputContext.js +8 -0
  75. package/dist/context/InputContext.js.map +1 -1
  76. package/dist/contracts/session-rollover.d.ts +9 -1
  77. package/dist/contracts/session-rollover.d.ts.map +1 -1
  78. package/dist/contracts/streamed-model-turn.d.ts +20 -2
  79. package/dist/contracts/streamed-model-turn.d.ts.map +1 -1
  80. package/dist/gateway/gateway.d.ts.map +1 -1
  81. package/dist/gateway/gateway.js +19 -23
  82. package/dist/gateway/gateway.js.map +1 -1
  83. package/dist/gateway/launcher-seam.d.ts.map +1 -1
  84. package/dist/gateway/launcher-seam.js +2 -19
  85. package/dist/gateway/launcher-seam.js.map +1 -1
  86. package/dist/gateway/settings-rpc.d.ts +1 -1
  87. package/dist/gateway/settings-rpc.d.ts.map +1 -1
  88. package/dist/gateway/settings-rpc.js +2 -0
  89. package/dist/gateway/settings-rpc.js.map +1 -1
  90. package/dist/hooks/settings-completion-config.d.ts.map +1 -1
  91. package/dist/hooks/settings-completion-config.js +25 -3
  92. package/dist/hooks/settings-completion-config.js.map +1 -1
  93. package/dist/hooks/use-app-commands.d.ts +3 -1
  94. package/dist/hooks/use-app-commands.d.ts.map +1 -1
  95. package/dist/hooks/use-app-commands.js +21 -14
  96. package/dist/hooks/use-app-commands.js.map +1 -1
  97. package/dist/hooks/use-conversation.d.ts +2 -2
  98. package/dist/hooks/use-conversation.d.ts.map +1 -1
  99. package/dist/hooks/use-conversation.js +1 -1
  100. package/dist/hooks/use-conversation.js.map +1 -1
  101. package/dist/hooks/use-handoff-flow.d.ts +1 -0
  102. package/dist/hooks/use-handoff-flow.d.ts.map +1 -1
  103. package/dist/hooks/use-handoff-flow.js +19 -12
  104. package/dist/hooks/use-handoff-flow.js.map +1 -1
  105. package/dist/hooks/use-profile-selection.d.ts +34 -0
  106. package/dist/hooks/use-profile-selection.d.ts.map +1 -0
  107. package/dist/hooks/use-profile-selection.js +103 -0
  108. package/dist/hooks/use-profile-selection.js.map +1 -0
  109. package/dist/hooks/use-resume-selection.d.ts +2 -0
  110. package/dist/hooks/use-resume-selection.d.ts.map +1 -1
  111. package/dist/hooks/use-resume-selection.js +11 -9
  112. package/dist/hooks/use-resume-selection.js.map +1 -1
  113. package/dist/hooks/use-settings-value-completion.d.ts.map +1 -1
  114. package/dist/hooks/use-settings-value-completion.js +16 -0
  115. package/dist/hooks/use-settings-value-completion.js.map +1 -1
  116. package/dist/hooks/use-skill-selection.d.ts +5 -3
  117. package/dist/hooks/use-skill-selection.d.ts.map +1 -1
  118. package/dist/hooks/use-skill-selection.js +8 -6
  119. package/dist/hooks/use-skill-selection.js.map +1 -1
  120. package/dist/lib/agent-client.d.ts +18 -0
  121. package/dist/lib/agent-client.d.ts.map +1 -1
  122. package/dist/lib/agent-client.js +69 -14
  123. package/dist/lib/agent-client.js.map +1 -1
  124. package/dist/lib/agent-configuration.d.ts +8 -0
  125. package/dist/lib/agent-configuration.d.ts.map +1 -1
  126. package/dist/lib/agent-configuration.js +7 -4
  127. package/dist/lib/agent-configuration.js.map +1 -1
  128. package/dist/lib/agent-factory.d.ts +8 -0
  129. package/dist/lib/agent-factory.d.ts.map +1 -1
  130. package/dist/lib/agent-factory.js +65 -41
  131. package/dist/lib/agent-factory.js.map +1 -1
  132. package/dist/lib/harness-input-idle.d.ts +10 -0
  133. package/dist/lib/harness-input-idle.d.ts.map +1 -1
  134. package/dist/lib/harness-input-idle.js +47 -5
  135. package/dist/lib/harness-input-idle.js.map +1 -1
  136. package/dist/non-interactive.d.ts.map +1 -1
  137. package/dist/non-interactive.js +6 -6
  138. package/dist/non-interactive.js.map +1 -1
  139. package/dist/prompts/memory.md +1 -1
  140. package/dist/prompts/prefix-quality.test.ts +8 -5
  141. package/dist/prompts/prompt-constructor.d.ts +5 -6
  142. package/dist/prompts/prompt-constructor.d.ts.map +1 -1
  143. package/dist/prompts/prompt-constructor.js +15 -7
  144. package/dist/prompts/prompt-constructor.js.map +1 -1
  145. package/dist/prompts/prompt-constructor.test.ts +73 -48
  146. package/dist/prompts/prompt-constructor.ts +21 -13
  147. package/dist/prompts/session-browser.md +2 -0
  148. package/dist/prompts/shell-auto-approval.d.ts +2 -2
  149. package/dist/prompts/shell-auto-approval.d.ts.map +1 -1
  150. package/dist/prompts/shell-auto-approval.js +19 -16
  151. package/dist/prompts/shell-auto-approval.js.map +1 -1
  152. package/dist/prompts/shell-auto-approval.ts +19 -16
  153. package/dist/providers/aborted-stream-recorder.js +2 -1
  154. package/dist/providers/aborted-stream-recorder.js.map +1 -1
  155. package/dist/providers/ai-sdk-streamed-model.d.ts.map +1 -1
  156. package/dist/providers/ai-sdk-streamed-model.js +7 -0
  157. package/dist/providers/ai-sdk-streamed-model.js.map +1 -1
  158. package/dist/providers/codex-responses-model.d.ts.map +1 -1
  159. package/dist/providers/codex-responses-model.js +75 -14
  160. package/dist/providers/codex-responses-model.js.map +1 -1
  161. package/dist/providers/codex-turn-converter.d.ts.map +1 -1
  162. package/dist/providers/codex-turn-converter.js +21 -4
  163. package/dist/providers/codex-turn-converter.js.map +1 -1
  164. package/dist/providers/codex.provider.d.ts.map +1 -1
  165. package/dist/providers/codex.provider.js +1 -0
  166. package/dist/providers/codex.provider.js.map +1 -1
  167. package/dist/providers/fetch/logging-middleware.d.ts.map +1 -1
  168. package/dist/providers/fetch/logging-middleware.js +22 -2
  169. package/dist/providers/fetch/logging-middleware.js.map +1 -1
  170. package/dist/providers/openai-chat-completions-model.js +119 -50
  171. package/dist/providers/openai-chat-completions-model.js.map +1 -1
  172. package/dist/providers/openai-responses-model.d.ts.map +1 -1
  173. package/dist/providers/openai-responses-model.js +131 -15
  174. package/dist/providers/openai-responses-model.js.map +1 -1
  175. package/dist/providers/registry.d.ts +1 -1
  176. package/dist/providers/registry.d.ts.map +1 -1
  177. package/dist/providers/retrying-model.d.ts.map +1 -1
  178. package/dist/providers/retrying-model.js +11 -2
  179. package/dist/providers/retrying-model.js.map +1 -1
  180. package/dist/services/agent-runtime/application-run-loop.d.ts +3 -1
  181. package/dist/services/agent-runtime/application-run-loop.d.ts.map +1 -1
  182. package/dist/services/agent-runtime/application-run-loop.js +99 -19
  183. package/dist/services/agent-runtime/application-run-loop.js.map +1 -1
  184. package/dist/services/agent-runtime/context-compaction/context-milestone-reminder.d.ts +2 -3
  185. package/dist/services/agent-runtime/context-compaction/context-milestone-reminder.d.ts.map +1 -1
  186. package/dist/services/agent-runtime/context-compaction/context-milestone-reminder.js +18 -9
  187. package/dist/services/agent-runtime/context-compaction/context-milestone-reminder.js.map +1 -1
  188. package/dist/services/agent-runtime/generation-guard.d.ts +25 -1
  189. package/dist/services/agent-runtime/generation-guard.d.ts.map +1 -1
  190. package/dist/services/agent-runtime/generation-guard.js +105 -1
  191. package/dist/services/agent-runtime/generation-guard.js.map +1 -1
  192. package/dist/services/agent-stream.d.ts +2 -0
  193. package/dist/services/agent-stream.d.ts.map +1 -1
  194. package/dist/services/agent-stream.js.map +1 -1
  195. package/dist/services/approval/approval-decision-policy.js +2 -2
  196. package/dist/services/approval/approval-decision-policy.js.map +1 -1
  197. package/dist/services/approval/shell-auto-approval-evaluator.d.ts +5 -1
  198. package/dist/services/approval/shell-auto-approval-evaluator.d.ts.map +1 -1
  199. package/dist/services/approval/shell-auto-approval-evaluator.js +42 -18
  200. package/dist/services/approval/shell-auto-approval-evaluator.js.map +1 -1
  201. package/dist/services/approval/shell-auto-approval-resolver.d.ts +5 -0
  202. package/dist/services/approval/shell-auto-approval-resolver.d.ts.map +1 -1
  203. package/dist/services/approval/shell-auto-approval-resolver.js +117 -20
  204. package/dist/services/approval/shell-auto-approval-resolver.js.map +1 -1
  205. package/dist/services/approval/tool-approval-batch-coordinator.d.ts.map +1 -1
  206. package/dist/services/approval/tool-approval-batch-coordinator.js +20 -3
  207. package/dist/services/approval/tool-approval-batch-coordinator.js.map +1 -1
  208. package/dist/services/conversation/conversation-adapter.d.ts.map +1 -1
  209. package/dist/services/conversation/conversation-adapter.js +2 -9
  210. package/dist/services/conversation/conversation-adapter.js.map +1 -1
  211. package/dist/services/conversation/conversation-decoder.d.ts.map +1 -1
  212. package/dist/services/conversation/conversation-decoder.js +6 -2
  213. package/dist/services/conversation/conversation-decoder.js.map +1 -1
  214. package/dist/services/conversation/conversation-orchestrator.d.ts.map +1 -1
  215. package/dist/services/conversation/conversation-orchestrator.js +22 -2
  216. package/dist/services/conversation/conversation-orchestrator.js.map +1 -1
  217. package/dist/services/conversation/conversation-persistence.d.ts +30 -0
  218. package/dist/services/conversation/conversation-persistence.d.ts.map +1 -1
  219. package/dist/services/conversation/conversation-persistence.js +101 -7
  220. package/dist/services/conversation/conversation-persistence.js.map +1 -1
  221. package/dist/services/conversation/conversation-replay.d.ts +2 -0
  222. package/dist/services/conversation/conversation-replay.d.ts.map +1 -1
  223. package/dist/services/conversation/conversation-replay.js +71 -57
  224. package/dist/services/conversation/conversation-replay.js.map +1 -1
  225. package/dist/services/conversation/conversation-result-builder.d.ts.map +1 -1
  226. package/dist/services/conversation/conversation-result-builder.js +21 -4
  227. package/dist/services/conversation/conversation-result-builder.js.map +1 -1
  228. package/dist/services/conversation/conversation-service.d.ts +3 -2
  229. package/dist/services/conversation/conversation-service.d.ts.map +1 -1
  230. package/dist/services/conversation/conversation-service.js +36 -15
  231. package/dist/services/conversation/conversation-service.js.map +1 -1
  232. package/dist/services/conversation/session-browser.d.ts +8 -1
  233. package/dist/services/conversation/session-browser.d.ts.map +1 -1
  234. package/dist/services/conversation/session-browser.js +134 -16
  235. package/dist/services/conversation/session-browser.js.map +1 -1
  236. package/dist/services/handoff/handoff-session.d.ts +2 -0
  237. package/dist/services/handoff/handoff-session.d.ts.map +1 -1
  238. package/dist/services/handoff/handoff-session.js +19 -3
  239. package/dist/services/handoff/handoff-session.js.map +1 -1
  240. package/dist/services/logging/conversation-log-events.d.ts +30 -3
  241. package/dist/services/logging/conversation-log-events.d.ts.map +1 -1
  242. package/dist/services/logging/conversation-log-events.js +1 -4
  243. package/dist/services/logging/conversation-log-events.js.map +1 -1
  244. package/dist/services/logging/logging-service.d.ts +1 -0
  245. package/dist/services/logging/logging-service.d.ts.map +1 -1
  246. package/dist/services/logging/logging-service.js +5 -2
  247. package/dist/services/logging/logging-service.js.map +1 -1
  248. package/dist/services/logging/provider-traffic.d.ts +8 -1
  249. package/dist/services/logging/provider-traffic.d.ts.map +1 -1
  250. package/dist/services/logging/provider-traffic.js +105 -10
  251. package/dist/services/logging/provider-traffic.js.map +1 -1
  252. package/dist/services/memory/memory-capabilities.d.ts.map +1 -1
  253. package/dist/services/memory/memory-capabilities.js +17 -5
  254. package/dist/services/memory/memory-capabilities.js.map +1 -1
  255. package/dist/services/memory/memory-store.d.ts +17 -0
  256. package/dist/services/memory/memory-store.d.ts.map +1 -1
  257. package/dist/services/memory/memory-store.js +74 -27
  258. package/dist/services/memory/memory-store.js.map +1 -1
  259. package/dist/services/mode-notices.d.ts +12 -9
  260. package/dist/services/mode-notices.d.ts.map +1 -1
  261. package/dist/services/mode-notices.js +83 -54
  262. package/dist/services/mode-notices.js.map +1 -1
  263. package/dist/services/model-service.d.ts +22 -4
  264. package/dist/services/model-service.d.ts.map +1 -1
  265. package/dist/services/model-service.js +148 -1
  266. package/dist/services/model-service.js.map +1 -1
  267. package/dist/services/models/model-catalog-session.d.ts +6 -0
  268. package/dist/services/models/model-catalog-session.d.ts.map +1 -1
  269. package/dist/services/models/model-catalog-session.js +7 -3
  270. package/dist/services/models/model-catalog-session.js.map +1 -1
  271. package/dist/services/models/model-listing.d.ts +57 -0
  272. package/dist/services/models/model-listing.d.ts.map +1 -0
  273. package/dist/services/models/model-listing.js +96 -0
  274. package/dist/services/models/model-listing.js.map +1 -0
  275. package/dist/services/models/model-resolution.d.ts +88 -0
  276. package/dist/services/models/model-resolution.d.ts.map +1 -0
  277. package/dist/services/models/model-resolution.js +292 -0
  278. package/dist/services/models/model-resolution.js.map +1 -0
  279. package/dist/services/plan-mode-interceptor.d.ts.map +1 -1
  280. package/dist/services/plan-mode-interceptor.js +5 -6
  281. package/dist/services/plan-mode-interceptor.js.map +1 -1
  282. package/dist/services/profiles/active-profile.d.ts +5 -0
  283. package/dist/services/profiles/active-profile.d.ts.map +1 -0
  284. package/dist/services/profiles/active-profile.js +33 -0
  285. package/dist/services/profiles/active-profile.js.map +1 -0
  286. package/dist/services/profiles/index.d.ts +9 -0
  287. package/dist/services/profiles/index.d.ts.map +1 -0
  288. package/dist/services/profiles/index.js +9 -0
  289. package/dist/services/profiles/index.js.map +1 -0
  290. package/dist/services/profiles/labels.d.ts +7 -0
  291. package/dist/services/profiles/labels.d.ts.map +1 -0
  292. package/dist/services/profiles/labels.js +22 -0
  293. package/dist/services/profiles/labels.js.map +1 -0
  294. package/dist/services/profiles/legacy-adapter.d.ts +28 -0
  295. package/dist/services/profiles/legacy-adapter.d.ts.map +1 -0
  296. package/dist/services/profiles/legacy-adapter.js +69 -0
  297. package/dist/services/profiles/legacy-adapter.js.map +1 -0
  298. package/dist/services/profiles/profile-transition.d.ts +48 -0
  299. package/dist/services/profiles/profile-transition.d.ts.map +1 -0
  300. package/dist/services/profiles/profile-transition.js +109 -0
  301. package/dist/services/profiles/profile-transition.js.map +1 -0
  302. package/dist/services/profiles/registry.d.ts +17 -0
  303. package/dist/services/profiles/registry.d.ts.map +1 -0
  304. package/dist/services/profiles/registry.js +147 -0
  305. package/dist/services/profiles/registry.js.map +1 -0
  306. package/dist/services/profiles/resolver.d.ts +10 -0
  307. package/dist/services/profiles/resolver.d.ts.map +1 -0
  308. package/dist/services/profiles/resolver.js +573 -0
  309. package/dist/services/profiles/resolver.js.map +1 -0
  310. package/dist/services/profiles/schema.d.ts +960 -0
  311. package/dist/services/profiles/schema.d.ts.map +1 -0
  312. package/dist/services/profiles/schema.js +196 -0
  313. package/dist/services/profiles/schema.js.map +1 -0
  314. package/dist/services/profiles/types.d.ts +224 -0
  315. package/dist/services/profiles/types.d.ts.map +1 -0
  316. package/dist/services/profiles/types.js +9 -0
  317. package/dist/services/profiles/types.js.map +1 -0
  318. package/dist/services/retry/committed-tool-continuation.d.ts +5 -0
  319. package/dist/services/retry/committed-tool-continuation.d.ts.map +1 -1
  320. package/dist/services/retry/committed-tool-continuation.js +6 -3
  321. package/dist/services/retry/committed-tool-continuation.js.map +1 -1
  322. package/dist/services/retry/retry-classifier.d.ts.map +1 -1
  323. package/dist/services/retry/retry-classifier.js +13 -10
  324. package/dist/services/retry/retry-classifier.js.map +1 -1
  325. package/dist/services/retry/retry-error-classification.d.ts +7 -0
  326. package/dist/services/retry/retry-error-classification.d.ts.map +1 -1
  327. package/dist/services/retry/retry-error-classification.js +32 -9
  328. package/dist/services/retry/retry-error-classification.js.map +1 -1
  329. package/dist/services/runtime-setting-router.d.ts.map +1 -1
  330. package/dist/services/runtime-setting-router.js +76 -23
  331. package/dist/services/runtime-setting-router.js.map +1 -1
  332. package/dist/services/session/background-check-in-scheduler.d.ts +20 -4
  333. package/dist/services/session/background-check-in-scheduler.d.ts.map +1 -1
  334. package/dist/services/session/background-check-in-scheduler.js +73 -6
  335. package/dist/services/session/background-check-in-scheduler.js.map +1 -1
  336. package/dist/services/session/initial-turn-recovery-handler.js +4 -4
  337. package/dist/services/session/initial-turn-recovery-handler.js.map +1 -1
  338. package/dist/services/session/session-composition.d.ts.map +1 -1
  339. package/dist/services/session/session-composition.js +2 -1
  340. package/dist/services/session/session-composition.js.map +1 -1
  341. package/dist/services/session/session-input-planner.d.ts.map +1 -1
  342. package/dist/services/session/session-input-planner.js +2 -9
  343. package/dist/services/session/session-input-planner.js.map +1 -1
  344. package/dist/services/session/session-manager.d.ts.map +1 -1
  345. package/dist/services/session/session-manager.js +4 -1
  346. package/dist/services/session/session-manager.js.map +1 -1
  347. package/dist/services/session-rollover/session-rollover-brief.d.ts +2 -1
  348. package/dist/services/session-rollover/session-rollover-brief.d.ts.map +1 -1
  349. package/dist/services/session-rollover/session-rollover-brief.js +5 -3
  350. package/dist/services/session-rollover/session-rollover-brief.js.map +1 -1
  351. package/dist/services/settings/settings-persistence.js +1 -1
  352. package/dist/services/settings/settings-persistence.js.map +1 -1
  353. package/dist/services/settings/settings-schema.d.ts +124 -19
  354. package/dist/services/settings/settings-schema.d.ts.map +1 -1
  355. package/dist/services/settings/settings-schema.js +111 -31
  356. package/dist/services/settings/settings-schema.js.map +1 -1
  357. package/dist/services/settings/settings-service.d.ts +3 -1
  358. package/dist/services/settings/settings-service.d.ts.map +1 -1
  359. package/dist/services/settings/settings-service.js +88 -91
  360. package/dist/services/settings/settings-service.js.map +1 -1
  361. package/dist/services/settings/settings-sources.d.ts.map +1 -1
  362. package/dist/services/settings/settings-sources.js +13 -1
  363. package/dist/services/settings/settings-sources.js.map +1 -1
  364. package/dist/services/settings/test-helpers/settings-consumer-inventory.d.ts +3 -3
  365. package/dist/services/settings/test-helpers/settings-consumer-inventory.d.ts.map +1 -1
  366. package/dist/services/settings/test-helpers/settings-consumer-inventory.js +15 -1
  367. package/dist/services/settings/test-helpers/settings-consumer-inventory.js.map +1 -1
  368. package/dist/services/subagents/mentor-runner.d.ts.map +1 -1
  369. package/dist/services/subagents/mentor-runner.js +5 -2
  370. package/dist/services/subagents/mentor-runner.js.map +1 -1
  371. package/dist/services/subagents/subagent-notification-store.d.ts +10 -2
  372. package/dist/services/subagents/subagent-notification-store.d.ts.map +1 -1
  373. package/dist/services/subagents/subagent-notification-store.js +10 -5
  374. package/dist/services/subagents/subagent-notification-store.js.map +1 -1
  375. package/dist/services/subagents/tool-policy.d.ts.map +1 -1
  376. package/dist/services/subagents/tool-policy.js +10 -15
  377. package/dist/services/subagents/tool-policy.js.map +1 -1
  378. package/dist/services/tool-toggles.d.ts +20 -0
  379. package/dist/services/tool-toggles.d.ts.map +1 -0
  380. package/dist/services/tool-toggles.js +115 -0
  381. package/dist/services/tool-toggles.js.map +1 -0
  382. package/dist/slash-commands.d.ts +3 -0
  383. package/dist/slash-commands.d.ts.map +1 -1
  384. package/dist/slash-commands.js.map +1 -1
  385. package/dist/tools/agent/configure-task-check-in.d.ts +19 -0
  386. package/dist/tools/agent/configure-task-check-in.d.ts.map +1 -0
  387. package/dist/tools/agent/configure-task-check-in.js +82 -0
  388. package/dist/tools/agent/configure-task-check-in.js.map +1 -0
  389. package/dist/tools/agent/run-subagent-async.d.ts +11 -1
  390. package/dist/tools/agent/run-subagent-async.d.ts.map +1 -1
  391. package/dist/tools/agent/run-subagent-async.js +22 -1
  392. package/dist/tools/agent/run-subagent-async.js.map +1 -1
  393. package/dist/tools/agent/run-subagent.d.ts +15 -0
  394. package/dist/tools/agent/run-subagent.d.ts.map +1 -1
  395. package/dist/tools/agent/run-subagent.js +24 -2
  396. package/dist/tools/agent/run-subagent.js.map +1 -1
  397. package/dist/tools/file/apply-patch.d.ts +2 -15
  398. package/dist/tools/file/apply-patch.d.ts.map +1 -1
  399. package/dist/tools/file/apply-patch.js +163 -98
  400. package/dist/tools/file/apply-patch.js.map +1 -1
  401. package/dist/tools/file/read-file.d.ts.map +1 -1
  402. package/dist/tools/file/read-file.js +48 -0
  403. package/dist/tools/file/read-file.js.map +1 -1
  404. package/dist/tools/file/upstream-apply-patch.d.ts +31 -0
  405. package/dist/tools/file/upstream-apply-patch.d.ts.map +1 -0
  406. package/dist/tools/file/upstream-apply-patch.js +123 -0
  407. package/dist/tools/file/upstream-apply-patch.js.map +1 -0
  408. package/dist/tools/format-helpers.d.ts +2 -0
  409. package/dist/tools/format-helpers.d.ts.map +1 -1
  410. package/dist/tools/format-helpers.js +7 -0
  411. package/dist/tools/format-helpers.js.map +1 -1
  412. package/dist/tools/memory/memory-tools.js +1 -1
  413. package/dist/tools/memory/memory-tools.js.map +1 -1
  414. package/dist/tools/session-browser/session-browser-tools.d.ts.map +1 -1
  415. package/dist/tools/session-browser/session-browser-tools.js +11 -1
  416. package/dist/tools/session-browser/session-browser-tools.js.map +1 -1
  417. package/dist/tools/session-rollover/session-rollover-tool.d.ts.map +1 -1
  418. package/dist/tools/session-rollover/session-rollover-tool.js +10 -1
  419. package/dist/tools/session-rollover/session-rollover-tool.js.map +1 -1
  420. package/dist/tools/system/shell.d.ts +12 -0
  421. package/dist/tools/system/shell.d.ts.map +1 -1
  422. package/dist/tools/system/shell.js +30 -4
  423. package/dist/tools/system/shell.js.map +1 -1
  424. package/dist/tools/types.d.ts +15 -2
  425. package/dist/tools/types.d.ts.map +1 -1
  426. package/dist/tools/types.js.map +1 -1
  427. package/dist/utils/ai/token-usage.d.ts +9 -0
  428. package/dist/utils/ai/token-usage.d.ts.map +1 -1
  429. package/dist/utils/ai/token-usage.js +15 -3
  430. package/dist/utils/ai/token-usage.js.map +1 -1
  431. package/dist/utils/conversation/conversation-utils.d.ts.map +1 -1
  432. package/dist/utils/conversation/conversation-utils.js +40 -1
  433. package/dist/utils/conversation/conversation-utils.js.map +1 -1
  434. package/dist/utils/conversation/message-buffer.d.ts +16 -0
  435. package/dist/utils/conversation/message-buffer.d.ts.map +1 -1
  436. package/dist/utils/conversation/message-buffer.js +33 -0
  437. package/dist/utils/conversation/message-buffer.js.map +1 -1
  438. package/dist/utils/output/trim-tool-output.d.ts +1 -1
  439. package/dist/utils/output/trim-tool-output.d.ts.map +1 -1
  440. package/dist/utils/output/trim-tool-output.js +20 -0
  441. package/dist/utils/output/trim-tool-output.js.map +1 -1
  442. package/dist/utils/resume-list.d.ts +2 -0
  443. package/dist/utils/resume-list.d.ts.map +1 -1
  444. package/dist/utils/resume-list.js +7 -14
  445. package/dist/utils/resume-list.js.map +1 -1
  446. package/dist/utils/settings-command.d.ts.map +1 -1
  447. package/dist/utils/settings-command.js +95 -14
  448. package/dist/utils/settings-command.js.map +1 -1
  449. package/dist/utils/streaming/streaming-session-factory.d.ts +3 -0
  450. package/dist/utils/streaming/streaming-session-factory.d.ts.map +1 -1
  451. package/dist/utils/streaming/streaming-session-factory.js +35 -17
  452. package/dist/utils/streaming/streaming-session-factory.js.map +1 -1
  453. package/dist/utils/streaming/streaming-speed-tracker.d.ts +47 -6
  454. package/dist/utils/streaming/streaming-speed-tracker.d.ts.map +1 -1
  455. package/dist/utils/streaming/streaming-speed-tracker.js +91 -23
  456. package/dist/utils/streaming/streaming-speed-tracker.js.map +1 -1
  457. package/package.json +3 -3
@@ -4,11 +4,18 @@ import { dirname } from 'node:path';
4
4
  export const HARNESS_IDLE_ENV = 'TERM2_HARNESS_IDLE_PATH';
5
5
  let lastPhase = null;
6
6
  let generation = 0;
7
+ let lastComposerValue = null;
8
+ let composerRevision = 0;
7
9
  /** Publish only on a transition into composer-owned idle. File holds the generation. */
8
10
  export function publishHarnessInputState(state) {
9
11
  const path = process.env[HARNESS_IDLE_ENV];
10
12
  if (!path)
11
13
  return;
14
+ if (state.inputValue !== undefined && state.inputValue !== lastComposerValue) {
15
+ lastComposerValue = state.inputValue;
16
+ composerRevision += 1;
17
+ writeAtomically(composerStatePath(path), `${JSON.stringify({ revision: composerRevision, value: state.inputValue })}\n`);
18
+ }
12
19
  const idle = state.owner === 'input' && !state.processing;
13
20
  const next = idle ? 'idle' : 'busy';
14
21
  if (next === lastPhase)
@@ -17,11 +24,22 @@ export function publishHarnessInputState(state) {
17
24
  if (!idle)
18
25
  return;
19
26
  generation += 1;
20
- const payload = `${generation}\n`;
21
- mkdirSync(dirname(path), { recursive: true });
22
- const tmp = `${path}.${process.pid}.tmp`;
23
- writeFileSync(tmp, payload);
24
- renameSync(tmp, path);
27
+ writeAtomically(path, `${generation}\n`);
28
+ }
29
+ export function readHarnessComposerState(path) {
30
+ const statePath = composerStatePath(path);
31
+ if (!existsSync(statePath))
32
+ return null;
33
+ try {
34
+ const parsed = JSON.parse(readFileSync(statePath, 'utf8'));
35
+ if (!Number.isInteger(parsed.revision) || (parsed.revision ?? 0) < 1 || typeof parsed.value !== 'string') {
36
+ return null;
37
+ }
38
+ return { revision: parsed.revision, value: parsed.value };
39
+ }
40
+ catch {
41
+ return null;
42
+ }
25
43
  }
26
44
  export function readHarnessIdleGeneration(path) {
27
45
  if (!existsSync(path))
@@ -41,9 +59,33 @@ export async function waitForHarnessIdleGeneration(path, options = {}) {
41
59
  }
42
60
  throw new Error(`Timed out waiting for harness idle generation > ${after} at ${path} after ${timeoutMs}ms; got ${readHarnessIdleGeneration(path)}.`);
43
61
  }
62
+ export async function waitForHarnessComposerValue(path, value, options = {}) {
63
+ const afterRevision = options.afterRevision ?? 0;
64
+ const timeoutMs = options.timeoutMs ?? 15_000;
65
+ const startedAt = Date.now();
66
+ while (Date.now() - startedAt < timeoutMs) {
67
+ const current = readHarnessComposerState(path);
68
+ if (current && current.revision > afterRevision && current.value === value)
69
+ return current;
70
+ await delay(20);
71
+ }
72
+ const current = readHarnessComposerState(path);
73
+ throw new Error(`Timed out waiting for composer value acknowledgement after revision ${afterRevision} at ${composerStatePath(path)} after ${timeoutMs}ms; got revision ${current?.revision ?? 0}.`);
74
+ }
44
75
  export function resetHarnessInputIdleForTests() {
45
76
  lastPhase = null;
46
77
  generation = 0;
78
+ lastComposerValue = null;
79
+ composerRevision = 0;
80
+ }
81
+ function composerStatePath(idlePath) {
82
+ return `${idlePath}.composer`;
83
+ }
84
+ function writeAtomically(path, payload) {
85
+ mkdirSync(dirname(path), { recursive: true });
86
+ const tmp = `${path}.${process.pid}.tmp`;
87
+ writeFileSync(tmp, payload);
88
+ renameSync(tmp, path);
47
89
  }
48
90
  function delay(ms) {
49
91
  return new Promise((resolve) => setTimeout(resolve, ms));
@@ -1 +1 @@
1
- {"version":3,"file":"harness-input-idle.js","sourceRoot":"","sources":["../../source/lib/harness-input-idle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACzF,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC,4DAA4D;AAC5D,MAAM,CAAC,MAAM,gBAAgB,GAAG,yBAAyB,CAAC;AAI1D,IAAI,SAAS,GAA0B,IAAI,CAAC;AAC5C,IAAI,UAAU,GAAG,CAAC,CAAC;AAOnB,wFAAwF;AACxF,MAAM,UAAU,wBAAwB,CAAC,KAAwB;IAC/D,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IAC3C,IAAI,CAAC,IAAI;QAAE,OAAO;IAElB,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,KAAK,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;IAC1D,MAAM,IAAI,GAAmB,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;IACpD,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO;IAC/B,SAAS,GAAG,IAAI,CAAC;IACjB,IAAI,CAAC,IAAI;QAAE,OAAO;IAElB,UAAU,IAAI,CAAC,CAAC;IAChB,MAAM,OAAO,GAAG,GAAG,UAAU,IAAI,CAAC;IAClC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9C,MAAM,GAAG,GAAG,GAAG,IAAI,IAAI,OAAO,CAAC,GAAG,MAAM,CAAC;IACzC,aAAa,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAC5B,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;AACxB,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,IAAY;IACpD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,CAAC,CAAC;IAChC,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;IACtE,OAAO,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAChD,IAAY,EACZ,OAAO,GAA2C,EAAE;IAEpD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,CAAC,CAAC;IACjC,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,MAAM,CAAC;IAC9C,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC7B,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,GAAG,SAAS,EAAE,CAAC;QAC1C,MAAM,OAAO,GAAG,yBAAyB,CAAC,IAAI,CAAC,CAAC;QAChD,IAAI,OAAO,GAAG,KAAK;YAAE,OAAO,OAAO,CAAC;QACpC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC;IAClB,CAAC;IACD,MAAM,IAAI,KAAK,CACb,mDAAmD,KAAK,OAAO,IAAI,UAAU,SAAS,WAAW,yBAAyB,CACxH,IAAI,CACL,GAAG,CACL,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,6BAA6B;IAC3C,SAAS,GAAG,IAAI,CAAC;IACjB,UAAU,GAAG,CAAC,CAAC;AACjB,CAAC;AAED,SAAS,KAAK,CAAC,EAAU;IACvB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AAC3D,CAAC"}
1
+ {"version":3,"file":"harness-input-idle.js","sourceRoot":"","sources":["../../source/lib/harness-input-idle.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"non-interactive.d.ts","sourceRoot":"","sources":["../source/non-interactive.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AAGlH,OAAO,EAEL,KAAK,oBAAoB,EAC1B,MAAM,8CAA8C,CAAC;AACtD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,yCAAyC,CAAC;AACvF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gDAAgD,CAAC;AACxF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,KAAK,EACV,kBAAkB,EAClB,6BAA6B,EAC9B,MAAM,iDAAiD,CAAC;AACzD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAE9E,OAAO,EAAE,qBAAqB,EAAE,MAAM,gDAAgD,CAAC;AAEvF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAC1E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAI/E,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,OAAO,CAAC;IACrB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC,cAAc,CAAC;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC,cAAc,CAAC;IAC/B,eAAe,CAAC,EAAE,gBAAgB,CAAC;IACnC,mEAAmE;IACnE,WAAW,CAAC,EAAE,uBAAuB,CAAC;IACtC,gFAAgF;IAChF,aAAa,CAAC,EAAE,qBAAqB,CAAC;IACtC,wEAAwE;IACxE,oBAAoB,CAAC,EAAE,oBAAoB,CAAC;IAC5C,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,qBAAqB,CAAC,EAAE,sBAAsB,CAAC;IAC/C,aAAa,CAAC,EAAE,iBAAiB,CAAC;IAClC,UAAU,CAAC,EAAE,gBAAgB,CAAC;CAC/B;AAED,OAAO,EAAE,gCAAgC,EAAE,MAAM,wDAAwD,CAAC;AAE1G,eAAO,MAAM,6BAA6B,QAAO,MAA2C,CAAC;AAE7F,MAAM,WAAW,uBAAuB;IACtC,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;IACnG,sBAAsB,CACpB,MAAM,EAAE,MAAM,EACd,eAAe,CAAC,EAAE,MAAM,EACxB,OAAO,CAAC,EAAE,6BAA6B,GACtC,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC,CAAC;IACxC,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAC,GAAG,IAAI,KAAK,IAAI,CAAC;IAC3E,WAAW,CAAC,IAAI;QAAE,OAAO,EAAE,OAAO,EAAE,CAAC;QAAC,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,UAAU,EAAE,kBAAkB,EAAE,CAAA;KAAE,CAAC;CAC7G;AAwFD,wBAAsB,cAAc,CAAC,OAAO,EAAE,uBAAuB,EAAE,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,MAAM,CAAC,CA4HpH;AAED,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,oBAAoB,GAAG;IAC7B,MAAM,EAAE,eAAe,CAAC;IACxB,eAAe,EAAE,gBAAgB,CAAC;CACnC,GACA,OAAO,CAAC,MAAM,CAAC,CAyFjB"}
1
+ {"version":3,"file":"non-interactive.d.ts","sourceRoot":"","sources":["../source/non-interactive.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AAGlH,OAAO,EAEL,KAAK,oBAAoB,EAC1B,MAAM,8CAA8C,CAAC;AACtD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,yCAAyC,CAAC;AACvF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gDAAgD,CAAC;AACxF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,KAAK,EACV,kBAAkB,EAClB,6BAA6B,EAC9B,MAAM,iDAAiD,CAAC;AACzD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAE9E,OAAO,EAAE,qBAAqB,EAAE,MAAM,gDAAgD,CAAC;AAEvF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAC1E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAI/E,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,OAAO,CAAC;IACrB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC,cAAc,CAAC;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC,cAAc,CAAC;IAC/B,eAAe,CAAC,EAAE,gBAAgB,CAAC;IACnC,mEAAmE;IACnE,WAAW,CAAC,EAAE,uBAAuB,CAAC;IACtC,gFAAgF;IAChF,aAAa,CAAC,EAAE,qBAAqB,CAAC;IACtC,wEAAwE;IACxE,oBAAoB,CAAC,EAAE,oBAAoB,CAAC;IAC5C,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,qBAAqB,CAAC,EAAE,sBAAsB,CAAC;IAC/C,aAAa,CAAC,EAAE,iBAAiB,CAAC;IAClC,UAAU,CAAC,EAAE,gBAAgB,CAAC;CAC/B;AAED,OAAO,EAAE,gCAAgC,EAAE,MAAM,wDAAwD,CAAC;AAE1G,eAAO,MAAM,6BAA6B,QAAO,MAA2C,CAAC;AAE7F,MAAM,WAAW,uBAAuB;IACtC,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;IACnG,sBAAsB,CACpB,MAAM,EAAE,MAAM,EACd,eAAe,CAAC,EAAE,MAAM,EACxB,OAAO,CAAC,EAAE,6BAA6B,GACtC,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC,CAAC;IACxC,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAC,GAAG,IAAI,KAAK,IAAI,CAAC;IAC3E,WAAW,CAAC,IAAI;QAAE,OAAO,EAAE,OAAO,EAAE,CAAC;QAAC,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,UAAU,EAAE,kBAAkB,EAAE,CAAA;KAAE,CAAC;CAC7G;AAwFD,wBAAsB,cAAc,CAAC,OAAO,EAAE,uBAAuB,EAAE,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,MAAM,CAAC,CA4HpH;AAED,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,oBAAoB,GAAG;IAC7B,MAAM,EAAE,eAAe,CAAC;IACxB,eAAe,EAAE,gBAAgB,CAAC;CACnC,GACA,OAAO,CAAC,MAAM,CAAC,CAsFjB"}
@@ -4,7 +4,7 @@ import { createCallerOwnedSessionClientFactory, } from './services/session/sessi
4
4
  import { randomUUID } from 'node:crypto';
5
5
  import { NonInteractiveApprovalPolicy } from './services/approval/non-interactive-approval-policy.js';
6
6
  import { pruneStaleTempArtifacts } from './utils/shell/temp-sweep.js';
7
- import { primeActiveModeNoticeIfActive } from './services/mode-notices.js';
7
+ import { primeActiveProfileNoticeIfActive } from './services/mode-notices.js';
8
8
  export { NON_INTERACTIVE_REJECTION_REASON } from './services/approval/non-interactive-approval-policy.js';
9
9
  export const createNonInteractiveSessionId = () => `non-interactive-${randomUUID()}`;
10
10
  const safePreview = (value, maxLen = 500) => {
@@ -246,11 +246,11 @@ export async function runNonInteractive(config) {
246
246
  hookEvents: config.hookEvents ?? clientHandle.hookEvents,
247
247
  });
248
248
  runtime = createdRuntime.runtime;
249
- primeActiveModeNoticeIfActive({
250
- planMode: Boolean(config.settingsService?.get('app.planMode')),
251
- mentorMode: Boolean(config.settingsService?.get('app.mentorMode')),
252
- orchestratorMode: Boolean(config.settingsService?.get('app.orchestratorMode')),
253
- }, (text) => createdRuntime.runtime.state.queueModeNotice(text));
249
+ if (config.settingsService) {
250
+ primeActiveProfileNoticeIfActive(config.settingsService, (text) => {
251
+ createdRuntime.runtime.state.queueModeNotice(text);
252
+ });
253
+ }
254
254
  if (config.hookLifecycle && clientHandle.hookEvents) {
255
255
  await config.hookLifecycle.emit(clientHandle.hookEvents.create('session.start', {
256
256
  cwd: process.cwd(),
@@ -1 +1 @@
1
- {"version":3,"file":"non-interactive.js","sourceRoot":"","sources":["../source/non-interactive.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"non-interactive.js","sourceRoot":"","sources":["../source/non-interactive.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  ### Persistent memory
2
2
 
3
- You have access to persistent memory. Only a concise index is loaded initially.
3
+ You have access to persistent memory. The initial index lists every fitting memory by title, with full summaries for the most recent entries; a listed memory without a summary had it omitted for budget — read it with memory_get before treating it as irrelevant.
4
4
 
5
5
  Memory has global and project scopes. Use global for cross-project preferences and reusable knowledge; use project for repository-specific decisions and conventions. Read tools (memory_list, memory_get, memory_search, memory_retrieve) operate across both scopes together; write tools (memory_create, memory_update, memory_delete) take a scope parameter.
6
6
 
@@ -5,8 +5,9 @@ import { mkdtemp, rm } from 'node:fs/promises';
5
5
  import { expect, it } from 'vitest';
6
6
  import { getAgentDefinition } from '../agent.js';
7
7
  import { createMockSettingsService } from '../services/settings/settings-service.mock.js';
8
- import { PLAN_MODE_ENTER_NOTICE, primePlanModeNoticeIfActive } from '../services/mode-notices.js';
8
+ import { PLAN_MODE_ENTER_NOTICE, profileEnterNotice } from '../services/mode-notices.js';
9
9
  import { buildPromptSpec } from './prompt-constructor.js';
10
+ import { resolveProfile } from '../services/profiles/index.js';
10
11
 
11
12
  const mockLogger = {
12
13
  debug: () => {},
@@ -47,9 +48,11 @@ it('plan-mode stub is smaller than the full workflow and still names the live co
47
48
 
48
49
  it('primes the enter notice when a session starts already in Plan Mode', () => {
49
50
  const queued: string[] = [];
50
- primePlanModeNoticeIfActive(false, (text) => queued.push(text));
51
+ const inactiveNotice = profileEnterNotice('builtin:standard');
52
+ if (inactiveNotice) queued.push(inactiveNotice);
51
53
  expect(queued).toEqual([]);
52
- primePlanModeNoticeIfActive(true, (text) => queued.push(text));
54
+ const activeNotice = profileEnterNotice('builtin:plan');
55
+ if (activeNotice) queued.push(activeNotice);
53
56
  expect(queued).toEqual([PLAN_MODE_ENTER_NOTICE]);
54
57
  });
55
58
 
@@ -99,8 +102,8 @@ it('instruction prefix stays on the stub in both modes; the workflow rides on th
99
102
  });
100
103
 
101
104
  it('product-controlled prefix does not attach the Plan Mode workflow file', () => {
102
- const standard = buildPromptSpec({ model: 'gpt-4o', liteMode: false, planMode: false });
103
- const plan = buildPromptSpec({ model: 'gpt-4o', liteMode: false, planMode: true });
105
+ const standard = buildPromptSpec({ model: 'gpt-4o', profile: resolveProfile('builtin:standard') });
106
+ const plan = buildPromptSpec({ model: 'gpt-4o', profile: resolveProfile('builtin:plan') });
104
107
 
105
108
  expect(standard.fragmentFiles).toContain('plan-mode-stub.md');
106
109
  expect(standard.fragmentFiles).not.toContain('plan-mode-info.md');
@@ -1,11 +1,8 @@
1
1
  import type { ExecutionContext } from '../services/execution-context.js';
2
+ import type { ResolvedProfile } from '../services/profiles/index.js';
2
3
  export type PromptConstructorOptions = {
3
4
  model: string;
4
- liteMode: boolean;
5
- /** Runtime-only mode flags; mode-specific workflows are sent as notices. */
6
- orchestratorMode?: boolean;
7
- mentorMode?: boolean;
8
- planMode?: boolean;
5
+ profile: ResolvedProfile;
9
6
  searchViaShell?: boolean;
10
7
  codeContextEnabled?: boolean;
11
8
  runSubagentEnabled?: boolean;
@@ -20,9 +17,11 @@ export type PromptConstructorOptions = {
20
17
  executionContext?: ExecutionContext;
21
18
  };
22
19
  export type PromptSpec = {
23
- basePromptFile: string;
20
+ basePromptFile?: string;
21
+ basePromptContent?: string;
24
22
  fragmentFiles: string[];
25
23
  inlineSections: string[];
26
24
  };
25
+ export declare function isLiteProfile(profile: ResolvedProfile): boolean;
27
26
  export declare function buildPromptSpec(options: PromptConstructorOptions): PromptSpec;
28
27
  //# sourceMappingURL=prompt-constructor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"prompt-constructor.d.ts","sourceRoot":"","sources":["../../source/prompts/prompt-constructor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAOzE,MAAM,MAAM,wBAAwB,GAAG;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,OAAO,CAAC;IAClB,4EAA4E;IAC5E,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,4BAA4B,CAAC,EAAE,OAAO,CAAC;IACvC,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,4BAA4B,CAAC,EAAE,OAAO,CAAC;IACvC,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;CACrC,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,cAAc,EAAE,MAAM,EAAE,CAAC;CAC1B,CAAC;AAEF,wBAAgB,eAAe,CAAC,OAAO,EAAE,wBAAwB,GAAG,UAAU,CA0F7E"}
1
+ {"version":3,"file":"prompt-constructor.d.ts","sourceRoot":"","sources":["../../source/prompts/prompt-constructor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACzE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAOrE,MAAM,MAAM,wBAAwB,GAAG;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,eAAe,CAAC;IACzB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,4BAA4B,CAAC,EAAE,OAAO,CAAC;IACvC,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,4BAA4B,CAAC,EAAE,OAAO,CAAC;IACvC,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;CACrC,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,cAAc,EAAE,MAAM,EAAE,CAAC;CAC1B,CAAC;AAEF,wBAAgB,aAAa,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAE/D;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,wBAAwB,GAAG,UAAU,CAgG7E"}
@@ -3,13 +3,17 @@ import { getSearchViaShellAddendum } from './search-via-shell.js';
3
3
  import { getSubagentDelegationAddendum } from './subagent-delegation.js';
4
4
  import { getShellSandboxAddendum } from './shell-sandbox.js';
5
5
  import { getBackgroundShellAddendum } from './background-shell.js';
6
+ export function isLiteProfile(profile) {
7
+ return profile.instructions.identity.kind === 'markdown';
8
+ }
6
9
  export function buildPromptSpec(options) {
7
- const { model, liteMode, searchViaShell = false, runSubagentEnabled = false, runSubagentForegroundEnabled = false, runSubagentAsyncEnabled = false, asyncSubagentControlsEnabled = false, backgroundShellEnabled = false, sandboxEnabled = true, memoryEnabled = false, memoryGuidance = '', sessionBrowserEnabled = false, executionContext, } = options;
8
- // Runtime modes are intentionally absent from profile selection. Their full
9
- // workflows ride on the next user turn so rebuilding the agent does not
10
- // invalidate the provider's instruction prefix.
11
- const profile = selectPromptProfile({ model, liteMode });
12
- const fragmentFiles = [...(profile.fragmentFiles ?? [])];
10
+ const { model, profile, searchViaShell = false, runSubagentEnabled = false, runSubagentForegroundEnabled = false, runSubagentAsyncEnabled = false, asyncSubagentControlsEnabled = false, backgroundShellEnabled = false, sandboxEnabled = true, memoryEnabled = false, memoryGuidance = '', sessionBrowserEnabled = false, executionContext, } = options;
11
+ const liteMode = isLiteProfile(profile);
12
+ // Runtime modes are intentionally absent from model-family profile selection.
13
+ // Their full workflows ride on the next user turn so rebuilding the agent does
14
+ // not invalidate the provider's instruction prefix.
15
+ const promptProfile = selectPromptProfile({ model, liteMode: false });
16
+ const fragmentFiles = [...(promptProfile.fragmentFiles ?? [])];
13
17
  const inlineSections = [];
14
18
  const isRegularMode = !liteMode;
15
19
  // Orchestrators can directly modify the worktree, so every non-lite prompt
@@ -60,7 +64,11 @@ export function buildPromptSpec(options) {
60
64
  inlineSections.push(memoryGuidance);
61
65
  }
62
66
  return {
63
- basePromptFile: profile.basePromptFile,
67
+ ...(liteMode
68
+ ? {
69
+ basePromptContent: profile.instructions.identity.kind === 'markdown' ? profile.instructions.identity.content : undefined,
70
+ }
71
+ : { basePromptFile: promptProfile.basePromptFile }),
64
72
  fragmentFiles,
65
73
  inlineSections,
66
74
  };
@@ -1 +1 @@
1
- {"version":3,"file":"prompt-constructor.js","sourceRoot":"","sources":["../../source/prompts/prompt-constructor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prompt-constructor.js","sourceRoot":"","sources":["../../source/prompts/prompt-constructor.ts"],"names":[],"mappings":"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"}
@@ -1,34 +1,54 @@
1
1
  import { it, expect } from 'vitest';
2
+ import { readFileSync } from 'node:fs';
3
+ import { join } from 'node:path';
2
4
  import { buildPromptSpec } from './prompt-constructor.js';
5
+ import { resolveProfile } from '../services/profiles/index.js';
3
6
 
4
- it('buildPromptSpec preserves mode precedence for base prompts', () => {
5
- expect(buildPromptSpec({ model: 'gpt-5.5', liteMode: true, orchestratorMode: true }).basePromptFile).toBe('lite.md');
6
- expect(buildPromptSpec({ model: 'gpt-5.5', liteMode: false, orchestratorMode: true }).basePromptFile).toBe(
7
- 'gpt-5.5.md',
7
+ const profile = (id: string) => resolveProfile(id);
8
+
9
+ it('buildPromptSpec selects the profile identity and model-family base prompt', () => {
10
+ expect(buildPromptSpec({ model: 'gpt-5.5', profile: profile('builtin:lite') }).basePromptContent).toBeTruthy();
11
+ expect(buildPromptSpec({ model: 'gpt-5.5', profile: profile('builtin:standard') }).basePromptFile).toBe('gpt-5.5.md');
12
+ expect(buildPromptSpec({ model: 'claude-3-sonnet', profile: profile('builtin:standard') }).basePromptFile).toBe(
13
+ 'anthropic.md',
14
+ );
15
+ expect(buildPromptSpec({ model: 'gpt-5.3-codex', profile: profile('builtin:standard') }).basePromptFile).toBe(
16
+ 'codex.md',
17
+ );
18
+ expect(buildPromptSpec({ model: 'gpt-4o', profile: profile('builtin:standard') }).basePromptFile).toBe(
19
+ 'simple_v4.md',
8
20
  );
9
- expect(buildPromptSpec({ model: 'claude-3-sonnet', liteMode: false }).basePromptFile).toBe('anthropic.md');
10
- expect(buildPromptSpec({ model: 'gpt-5.3-codex', liteMode: false }).basePromptFile).toBe('codex.md');
11
- expect(buildPromptSpec({ model: 'gpt-4o', liteMode: false }).basePromptFile).toBe('simple_v4.md');
12
21
  });
13
22
 
14
23
  it('buildPromptSpec routes gpt-5.6 to its own base prompt without capturing other gpt-5 versions', () => {
15
- expect(buildPromptSpec({ model: 'gpt-5.6', liteMode: false }).basePromptFile).toBe('gpt-5.6.md');
16
- expect(buildPromptSpec({ model: 'gpt-5.6-2026-07-01', liteMode: false }).basePromptFile).toBe('gpt-5.6.md');
24
+ expect(buildPromptSpec({ model: 'gpt-5.6', profile: profile('builtin:standard') }).basePromptFile).toBe('gpt-5.6.md');
25
+ expect(buildPromptSpec({ model: 'gpt-5.6-2026-07-01', profile: profile('builtin:standard') }).basePromptFile).toBe(
26
+ 'gpt-5.6.md',
27
+ );
17
28
 
18
- expect(buildPromptSpec({ model: 'gpt-5.5', liteMode: false }).basePromptFile).toBe('gpt-5.5.md');
19
- expect(buildPromptSpec({ model: 'gpt-5.4', liteMode: false }).basePromptFile).toBe('gpt-5-modern.md');
20
- expect(buildPromptSpec({ model: 'gpt-5.2', liteMode: false }).basePromptFile).toBe('gpt-5-modern.md');
29
+ expect(buildPromptSpec({ model: 'gpt-5.5', profile: profile('builtin:standard') }).basePromptFile).toBe('gpt-5.5.md');
30
+ expect(buildPromptSpec({ model: 'gpt-5.4', profile: profile('builtin:standard') }).basePromptFile).toBe(
31
+ 'gpt-5-modern.md',
32
+ );
33
+ expect(buildPromptSpec({ model: 'gpt-5.2', profile: profile('builtin:standard') }).basePromptFile).toBe(
34
+ 'gpt-5-modern.md',
35
+ );
21
36
  });
22
37
 
23
38
  it('buildPromptSpec keeps gpt-5.6 codex variants on the codex base prompt', () => {
24
- expect(buildPromptSpec({ model: 'gpt-5.6-codex', liteMode: false }).basePromptFile).toBe('codex.md');
39
+ expect(buildPromptSpec({ model: 'gpt-5.6-codex', profile: profile('builtin:standard') }).basePromptFile).toBe(
40
+ 'codex.md',
41
+ );
25
42
  });
26
43
 
27
- it('buildPromptSpec still applies mode precedence over the gpt-5.6 profile', () => {
28
- expect(buildPromptSpec({ model: 'gpt-5.6', liteMode: true }).basePromptFile).toBe('lite.md');
29
- expect(buildPromptSpec({ model: 'gpt-5.6', liteMode: false, orchestratorMode: true }).basePromptFile).toBe(
30
- 'gpt-5.6.md',
44
+ it('buildPromptSpec keeps all non-lite built-in profiles prompt-spec equivalent', () => {
45
+ const specs = ['standard', 'plan', 'mentor', 'orchestrator'].map((id) =>
46
+ buildPromptSpec({ model: 'gpt-5.6', profile: profile(`builtin:${id}`) }),
31
47
  );
48
+ expect(specs[1]).toEqual(specs[0]);
49
+ expect(specs[2]).toEqual(specs[0]);
50
+ expect(specs[3]).toEqual(specs[0]);
51
+ expect(buildPromptSpec({ model: 'gpt-5.6', profile: profile('builtin:lite') })).not.toEqual(specs[0]);
32
52
  });
33
53
 
34
54
  // it('buildPromptSpec adds GPT version fragments without changing the base GPT prompt fallback', () => {
@@ -58,9 +78,7 @@ it('buildPromptSpec still applies mode precedence over the gpt-5.6 profile', ()
58
78
  it('buildPromptSpec composes file fragments in stable order', () => {
59
79
  const spec = buildPromptSpec({
60
80
  model: 'gpt-5.4-mini',
61
- liteMode: false,
62
- mentorMode: true,
63
- planMode: true,
81
+ profile: profile('builtin:standard'),
64
82
  searchViaShell: true,
65
83
  });
66
84
 
@@ -77,36 +95,36 @@ it('buildPromptSpec composes file fragments in stable order', () => {
77
95
 
78
96
  it('buildPromptSpec ships the approval mechanism to every non-lite profile', () => {
79
97
  for (const model of ['gpt-5.6-sol', 'gpt-5.5', 'gpt-5.4', 'gpt-4o', 'claude-opus-4', 'kimi-k2']) {
80
- const spec = buildPromptSpec({ model, liteMode: false });
98
+ const spec = buildPromptSpec({ model, profile: profile('builtin:standard') });
81
99
  expect(spec.fragmentFiles).toContain('approval-model.md');
82
100
  }
83
101
 
84
- const orchestrator = buildPromptSpec({ model: 'gpt-5.6-sol', liteMode: false, orchestratorMode: true });
102
+ const orchestrator = buildPromptSpec({ model: 'gpt-5.6-sol', profile: profile('builtin:orchestrator') });
85
103
  expect(orchestrator.fragmentFiles).toContain('approval-model.md');
86
104
 
87
- const lite = buildPromptSpec({ model: 'gpt-5.6-sol', liteMode: true });
105
+ const lite = buildPromptSpec({ model: 'gpt-5.6-sol', profile: profile('builtin:lite') });
88
106
  expect(lite.fragmentFiles).not.toContain('approval-model.md');
89
107
  });
90
108
 
91
109
  it('buildPromptSpec attaches the Plan Mode stub in standard and plan mode so the instruction prefix stays cache-stable', () => {
92
- const standard = buildPromptSpec({ model: 'gpt-4o', liteMode: false, planMode: false });
110
+ const standard = buildPromptSpec({ model: 'gpt-4o', profile: profile('builtin:standard') });
93
111
  expect(standard.fragmentFiles.includes('plan-mode-stub.md')).toBe(true);
94
112
  expect(standard.fragmentFiles.includes('plan-mode-info.md')).toBe(false);
95
113
 
96
- const plan = buildPromptSpec({ model: 'gpt-4o', liteMode: false, planMode: true });
114
+ const plan = buildPromptSpec({ model: 'gpt-4o', profile: profile('builtin:plan') });
97
115
  expect(plan.fragmentFiles.includes('plan-mode-stub.md')).toBe(true);
98
116
  expect(plan.fragmentFiles.includes('plan-mode-info.md')).toBe(false);
99
117
  expect(plan.fragmentFiles).toEqual(standard.fragmentFiles);
100
118
  });
101
119
 
102
120
  it('buildPromptSpec keeps all non-lite mode stubs stable while lite stays minimal', () => {
103
- const lite = buildPromptSpec({ model: 'gpt-5.5', liteMode: true, planMode: false });
121
+ const lite = buildPromptSpec({ model: 'gpt-5.5', profile: profile('builtin:lite') });
104
122
  expect(lite.fragmentFiles.includes('plan-mode-info.md')).toBe(false);
105
123
  expect(lite.fragmentFiles.includes('plan-mode-stub.md')).toBe(false);
106
124
  expect(lite.fragmentFiles.includes('mentor-mode-stub.md')).toBe(false);
107
125
  expect(lite.fragmentFiles.includes('orchestrator-mode-stub.md')).toBe(false);
108
126
 
109
- const orchestrator = buildPromptSpec({ model: 'gpt-5.5', liteMode: false, orchestratorMode: true, planMode: false });
127
+ const orchestrator = buildPromptSpec({ model: 'gpt-5.5', profile: profile('builtin:orchestrator') });
110
128
  expect(orchestrator.fragmentFiles.includes('plan-mode-info.md')).toBe(false);
111
129
  expect(orchestrator.fragmentFiles.includes('plan-mode-stub.md')).toBe(true);
112
130
  expect(orchestrator.fragmentFiles.includes('mentor-mode-stub.md')).toBe(true);
@@ -114,10 +132,10 @@ it('buildPromptSpec keeps all non-lite mode stubs stable while lite stays minima
114
132
  });
115
133
 
116
134
  it('buildPromptSpec keeps the non-lite instruction prefix identical across modes', () => {
117
- const standard = buildPromptSpec({ model: 'gpt-4o', liteMode: false });
118
- const plan = buildPromptSpec({ model: 'gpt-4o', liteMode: false, planMode: true });
119
- const mentor = buildPromptSpec({ model: 'gpt-4o', liteMode: false, mentorMode: true });
120
- const orchestrator = buildPromptSpec({ model: 'gpt-4o', liteMode: false, orchestratorMode: true });
135
+ const standard = buildPromptSpec({ model: 'gpt-4o', profile: profile('builtin:standard') });
136
+ const plan = buildPromptSpec({ model: 'gpt-4o', profile: profile('builtin:plan') });
137
+ const mentor = buildPromptSpec({ model: 'gpt-4o', profile: profile('builtin:mentor') });
138
+ const orchestrator = buildPromptSpec({ model: 'gpt-4o', profile: profile('builtin:orchestrator') });
121
139
 
122
140
  expect(plan).toEqual(standard);
123
141
  expect(mentor).toEqual(standard);
@@ -127,8 +145,7 @@ it('buildPromptSpec keeps the non-lite instruction prefix identical across modes
127
145
  it('buildPromptSpec includes subagent delegation for orchestrator mode', () => {
128
146
  const orchestrator = buildPromptSpec({
129
147
  model: 'gpt-5.5',
130
- liteMode: false,
131
- orchestratorMode: true,
148
+ profile: profile('builtin:orchestrator'),
132
149
  runSubagentEnabled: true,
133
150
  codeContextEnabled: true,
134
151
  searchViaShell: false,
@@ -144,11 +161,12 @@ it('buildPromptSpec includes subagent delegation for orchestrator mode', () => {
144
161
  it('buildPromptSpec uses lite base and skips worktree-hygiene fragment in lite mode', () => {
145
162
  const lite = buildPromptSpec({
146
163
  model: 'gpt-5.5',
147
- liteMode: true,
164
+ profile: profile('builtin:lite'),
148
165
  codeContextEnabled: true,
149
166
  searchViaShell: false,
150
167
  });
151
- expect(lite.basePromptFile).toBe('lite.md');
168
+ expect(lite.basePromptFile).toBeUndefined();
169
+ expect(lite.basePromptContent).toBeTruthy();
152
170
  expect(lite.fragmentFiles.includes('worktree-hygiene.md')).toBe(false);
153
171
  // Shell sandbox is added inline in lite mode (sandbox enabled by default).
154
172
  expect(lite.inlineSections.length).toBe(1);
@@ -158,7 +176,7 @@ it('buildPromptSpec uses lite base and skips worktree-hygiene fragment in lite m
158
176
  it('buildPromptSpec excludes shell-sandbox when sandbox is disabled', () => {
159
177
  const spec = buildPromptSpec({
160
178
  model: 'gpt-4o',
161
- liteMode: false,
179
+ profile: profile('builtin:standard'),
162
180
  sandboxEnabled: false,
163
181
  });
164
182
  expect(spec.inlineSections.some((s) => s.includes('## Shell Sandbox'))).toBe(false);
@@ -168,7 +186,7 @@ it('buildPromptSpec excludes shell-sandbox when sandbox is disabled', () => {
168
186
  it('buildPromptSpec tells the model to wait for background shell completion instead of polling', () => {
169
187
  const spec = buildPromptSpec({
170
188
  model: 'gpt-4o',
171
- liteMode: false,
189
+ profile: profile('builtin:standard'),
172
190
  backgroundShellEnabled: true,
173
191
  });
174
192
  const guidance = spec.inlineSections.join('\n');
@@ -181,18 +199,26 @@ it('buildPromptSpec tells the model to wait for background shell completion inst
181
199
  });
182
200
 
183
201
  it('adds persistent-memory guidance only when memory tools are enabled', () => {
184
- expect(buildPromptSpec({ model: 'gpt-4o', liteMode: false, memoryEnabled: true }).fragmentFiles).toContain(
185
- 'memory.md',
186
- );
187
- expect(buildPromptSpec({ model: 'gpt-4o', liteMode: false, memoryEnabled: false }).fragmentFiles).not.toContain(
188
- 'memory.md',
189
- );
202
+ expect(
203
+ buildPromptSpec({ model: 'gpt-4o', profile: profile('builtin:standard'), memoryEnabled: true }).fragmentFiles,
204
+ ).toContain('memory.md');
205
+ expect(
206
+ buildPromptSpec({ model: 'gpt-4o', profile: profile('builtin:standard'), memoryEnabled: false }).fragmentFiles,
207
+ ).not.toContain('memory.md');
208
+ });
209
+
210
+ it('memory.md fragment keeps the index omission contract', () => {
211
+ const fragment = readFileSync(join(import.meta.dirname, 'memory.md'), 'utf8');
212
+
213
+ expect(fragment).toContain('a listed memory without a summary had it omitted for budget');
214
+ expect(fragment).toContain('read it with memory_get before treating it as irrelevant');
215
+ expect(fragment).not.toContain('Only a concise index is loaded initially');
190
216
  });
191
217
 
192
218
  it('buildPromptSpec includes unified background delegation guidance when background execution is enabled', () => {
193
219
  const spec = buildPromptSpec({
194
220
  model: 'gpt-4o',
195
- liteMode: false,
221
+ profile: profile('builtin:standard'),
196
222
  runSubagentEnabled: true,
197
223
  runSubagentAsyncEnabled: true,
198
224
  });
@@ -207,8 +233,7 @@ it('buildPromptSpec includes unified background delegation guidance when backgro
207
233
  it('buildPromptSpec tells orchestrators to trust successful delegation and wait without duplicating it', () => {
208
234
  const spec = buildPromptSpec({
209
235
  model: 'gpt-4o',
210
- liteMode: false,
211
- orchestratorMode: true,
236
+ profile: profile('builtin:orchestrator'),
212
237
  runSubagentEnabled: true,
213
238
  runSubagentAsyncEnabled: true,
214
239
  });
@@ -227,7 +252,7 @@ it('buildPromptSpec tells orchestrators to trust successful delegation and wait
227
252
  it('buildPromptSpec excludes async subagent guidance in lite mode', () => {
228
253
  const spec = buildPromptSpec({
229
254
  model: 'gpt-4o',
230
- liteMode: true,
255
+ profile: profile('builtin:lite'),
231
256
  runSubagentAsyncEnabled: true,
232
257
  });
233
258
  expect(spec.inlineSections.some((s) => s.includes('Asynchronous subagents'))).toBe(false);
@@ -236,7 +261,7 @@ it('buildPromptSpec excludes async subagent guidance in lite mode', () => {
236
261
  it('buildPromptSpec excludes async subagent guidance when disabled', () => {
237
262
  const spec = buildPromptSpec({
238
263
  model: 'gpt-4o',
239
- liteMode: false,
264
+ profile: profile('builtin:standard'),
240
265
  runSubagentAsyncEnabled: false,
241
266
  });
242
267
  expect(spec.inlineSections.some((s) => s.includes('Asynchronous subagents'))).toBe(false);