actoviq-agent-sdk 0.4.11 → 0.4.13

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 (308) hide show
  1. package/CHANGELOG.md +42 -0
  2. package/dist/src/computer/hadamardComputerUse.d.ts +15 -0
  3. package/dist/src/computer/hadamardComputerUse.d.ts.map +1 -1
  4. package/dist/src/computer/hadamardComputerUse.js +120 -4
  5. package/dist/src/computer/hadamardComputerUse.js.map +1 -1
  6. package/dist/src/config/agentDefinitionMigration.d.ts +125 -0
  7. package/dist/src/config/agentDefinitionMigration.d.ts.map +1 -0
  8. package/dist/src/config/agentDefinitionMigration.js +540 -0
  9. package/dist/src/config/agentDefinitionMigration.js.map +1 -0
  10. package/dist/src/config/agentProfiles.d.ts +23 -0
  11. package/dist/src/config/agentProfiles.d.ts.map +1 -1
  12. package/dist/src/config/agentProfiles.js +69 -13
  13. package/dist/src/config/agentProfiles.js.map +1 -1
  14. package/dist/src/config/hadamardHome.js +0 -1
  15. package/dist/src/config/hadamardHome.js.map +1 -1
  16. package/dist/src/config/modelConfigurationCatalog.d.ts +25 -0
  17. package/dist/src/config/modelConfigurationCatalog.d.ts.map +1 -0
  18. package/dist/src/config/modelConfigurationCatalog.js +50 -0
  19. package/dist/src/config/modelConfigurationCatalog.js.map +1 -0
  20. package/dist/src/config/projectSettings.d.ts +62 -0
  21. package/dist/src/config/projectSettings.d.ts.map +1 -0
  22. package/dist/src/config/projectSettings.js +242 -0
  23. package/dist/src/config/projectSettings.js.map +1 -0
  24. package/dist/src/config/resolveRuntimeConfig.d.ts.map +1 -1
  25. package/dist/src/config/resolveRuntimeConfig.js +97 -4
  26. package/dist/src/config/resolveRuntimeConfig.js.map +1 -1
  27. package/dist/src/goal/goalCommandService.d.ts +11 -0
  28. package/dist/src/goal/goalCommandService.d.ts.map +1 -0
  29. package/dist/src/goal/goalCommandService.js +138 -0
  30. package/dist/src/goal/goalCommandService.js.map +1 -0
  31. package/dist/src/goal/goalContinuation.d.ts +50 -0
  32. package/dist/src/goal/goalContinuation.d.ts.map +1 -0
  33. package/dist/src/goal/goalContinuation.js +131 -0
  34. package/dist/src/goal/goalContinuation.js.map +1 -0
  35. package/dist/src/goal/goalController.d.ts +42 -0
  36. package/dist/src/goal/goalController.d.ts.map +1 -0
  37. package/dist/src/goal/goalController.js +281 -0
  38. package/dist/src/goal/goalController.js.map +1 -0
  39. package/dist/src/goal/goalPrompt.d.ts +3 -0
  40. package/dist/src/goal/goalPrompt.d.ts.map +1 -1
  41. package/dist/src/goal/goalPrompt.js +28 -2
  42. package/dist/src/goal/goalPrompt.js.map +1 -1
  43. package/dist/src/goal/goalService.d.ts +68 -2
  44. package/dist/src/goal/goalService.d.ts.map +1 -1
  45. package/dist/src/goal/goalService.js +500 -8
  46. package/dist/src/goal/goalService.js.map +1 -1
  47. package/dist/src/goal/goalStore.d.ts.map +1 -1
  48. package/dist/src/goal/goalStore.js +172 -5
  49. package/dist/src/goal/goalStore.js.map +1 -1
  50. package/dist/src/goal/goalTools.d.ts +2 -1
  51. package/dist/src/goal/goalTools.d.ts.map +1 -1
  52. package/dist/src/goal/goalTools.js +70 -5
  53. package/dist/src/goal/goalTools.js.map +1 -1
  54. package/dist/src/goal/goalWorkCoordinator.d.ts +43 -0
  55. package/dist/src/goal/goalWorkCoordinator.d.ts.map +1 -0
  56. package/dist/src/goal/goalWorkCoordinator.js +72 -0
  57. package/dist/src/goal/goalWorkCoordinator.js.map +1 -0
  58. package/dist/src/goal/index.d.ts +10 -4
  59. package/dist/src/goal/index.d.ts.map +1 -1
  60. package/dist/src/goal/index.js +7 -1
  61. package/dist/src/goal/index.js.map +1 -1
  62. package/dist/src/goal/projectGoalApi.d.ts +82 -0
  63. package/dist/src/goal/projectGoalApi.d.ts.map +1 -0
  64. package/dist/src/goal/projectGoalApi.js +287 -0
  65. package/dist/src/goal/projectGoalApi.js.map +1 -0
  66. package/dist/src/goal/projectGoalStore.d.ts +131 -0
  67. package/dist/src/goal/projectGoalStore.d.ts.map +1 -0
  68. package/dist/src/goal/projectGoalStore.js +808 -0
  69. package/dist/src/goal/projectGoalStore.js.map +1 -0
  70. package/dist/src/goal/types.d.ts +127 -3
  71. package/dist/src/goal/types.d.ts.map +1 -1
  72. package/dist/src/goal/types.js +2 -2
  73. package/dist/src/goal/types.js.map +1 -1
  74. package/dist/src/gui/agentTargetPicker.d.ts +32 -0
  75. package/dist/src/gui/agentTargetPicker.d.ts.map +1 -0
  76. package/dist/src/gui/agentTargetPicker.js +99 -0
  77. package/dist/src/gui/agentTargetPicker.js.map +1 -0
  78. package/dist/src/gui/electronMain.js +10 -3
  79. package/dist/src/gui/electronMain.js.map +1 -1
  80. package/dist/src/gui/hadamardGui.d.ts +24 -0
  81. package/dist/src/gui/hadamardGui.d.ts.map +1 -1
  82. package/dist/src/gui/hadamardGui.js +6321 -1327
  83. package/dist/src/gui/hadamardGui.js.map +1 -1
  84. package/dist/src/gui/projectWorkbench.d.ts +13 -2
  85. package/dist/src/gui/projectWorkbench.d.ts.map +1 -1
  86. package/dist/src/gui/projectWorkbench.js +109 -67
  87. package/dist/src/gui/projectWorkbench.js.map +1 -1
  88. package/dist/src/gui/promptTemplates.d.ts +18 -0
  89. package/dist/src/gui/promptTemplates.d.ts.map +1 -0
  90. package/dist/src/gui/promptTemplates.js +178 -0
  91. package/dist/src/gui/promptTemplates.js.map +1 -0
  92. package/dist/src/gui/terminalManager.d.ts +14 -0
  93. package/dist/src/gui/terminalManager.d.ts.map +1 -1
  94. package/dist/src/gui/terminalManager.js +25 -5
  95. package/dist/src/gui/terminalManager.js.map +1 -1
  96. package/dist/src/gui/transcript/clientBundle.d.ts +6 -1
  97. package/dist/src/gui/transcript/clientBundle.d.ts.map +1 -1
  98. package/dist/src/gui/transcript/clientBundle.js +6 -1
  99. package/dist/src/gui/transcript/clientBundle.js.map +1 -1
  100. package/dist/src/help/productCapabilities.d.ts +17 -0
  101. package/dist/src/help/productCapabilities.d.ts.map +1 -0
  102. package/dist/src/help/productCapabilities.js +146 -0
  103. package/dist/src/help/productCapabilities.js.map +1 -0
  104. package/dist/src/index.d.ts +21 -6
  105. package/dist/src/index.d.ts.map +1 -1
  106. package/dist/src/index.js +15 -5
  107. package/dist/src/index.js.map +1 -1
  108. package/dist/src/issues/issueExecution.d.ts.map +1 -1
  109. package/dist/src/issues/issueExecution.js +29 -9
  110. package/dist/src/issues/issueExecution.js.map +1 -1
  111. package/dist/src/manager/assistantGlobalTools.d.ts +44 -0
  112. package/dist/src/manager/assistantGlobalTools.d.ts.map +1 -1
  113. package/dist/src/manager/assistantGlobalTools.js +565 -34
  114. package/dist/src/manager/assistantGlobalTools.js.map +1 -1
  115. package/dist/src/manager/assistantProposals.d.ts +87 -0
  116. package/dist/src/manager/assistantProposals.d.ts.map +1 -0
  117. package/dist/src/manager/assistantProposals.js +207 -0
  118. package/dist/src/manager/assistantProposals.js.map +1 -0
  119. package/dist/src/manager/referenceIndex.d.ts +82 -0
  120. package/dist/src/manager/referenceIndex.d.ts.map +1 -0
  121. package/dist/src/manager/referenceIndex.js +167 -0
  122. package/dist/src/manager/referenceIndex.js.map +1 -0
  123. package/dist/src/manager/referenceOperations.d.ts +108 -0
  124. package/dist/src/manager/referenceOperations.d.ts.map +1 -0
  125. package/dist/src/manager/referenceOperations.js +821 -0
  126. package/dist/src/manager/referenceOperations.js.map +1 -0
  127. package/dist/src/manager/resolveTargetRef.d.ts +67 -0
  128. package/dist/src/manager/resolveTargetRef.d.ts.map +1 -0
  129. package/dist/src/manager/resolveTargetRef.js +81 -0
  130. package/dist/src/manager/resolveTargetRef.js.map +1 -0
  131. package/dist/src/memory/durableMemoryPipeline.d.ts +51 -0
  132. package/dist/src/memory/durableMemoryPipeline.d.ts.map +1 -0
  133. package/dist/src/memory/durableMemoryPipeline.js +266 -0
  134. package/dist/src/memory/durableMemoryPipeline.js.map +1 -0
  135. package/dist/src/memory/durableMemoryStore.d.ts +59 -0
  136. package/dist/src/memory/durableMemoryStore.d.ts.map +1 -0
  137. package/dist/src/memory/durableMemoryStore.js +194 -0
  138. package/dist/src/memory/durableMemoryStore.js.map +1 -0
  139. package/dist/src/memory/hadamardDream.d.ts +18 -0
  140. package/dist/src/memory/hadamardDream.d.ts.map +1 -1
  141. package/dist/src/memory/hadamardDream.js +119 -39
  142. package/dist/src/memory/hadamardDream.js.map +1 -1
  143. package/dist/src/memory/hadamardMemory.d.ts +20 -39
  144. package/dist/src/memory/hadamardMemory.d.ts.map +1 -1
  145. package/dist/src/memory/hadamardMemory.js +112 -450
  146. package/dist/src/memory/hadamardMemory.js.map +1 -1
  147. package/dist/src/memory/hadamardSessionMemoryState.d.ts +2 -5
  148. package/dist/src/memory/hadamardSessionMemoryState.d.ts.map +1 -1
  149. package/dist/src/memory/hadamardSessionMemoryState.js +5 -61
  150. package/dist/src/memory/hadamardSessionMemoryState.js.map +1 -1
  151. package/dist/src/memory/memoryCommandService.d.ts +25 -0
  152. package/dist/src/memory/memoryCommandService.d.ts.map +1 -0
  153. package/dist/src/memory/memoryCommandService.js +93 -0
  154. package/dist/src/memory/memoryCommandService.js.map +1 -0
  155. package/dist/src/memory/memoryProposalCommandService.d.ts.map +1 -1
  156. package/dist/src/memory/memoryProposalCommandService.js +2 -1
  157. package/dist/src/memory/memoryProposalCommandService.js.map +1 -1
  158. package/dist/src/memory/memoryProposalTools.d.ts +1 -0
  159. package/dist/src/memory/memoryProposalTools.d.ts.map +1 -1
  160. package/dist/src/memory/memoryProposalTools.js +16 -11
  161. package/dist/src/memory/memoryProposalTools.js.map +1 -1
  162. package/dist/src/parity/bridgeConfigs.d.ts +4 -0
  163. package/dist/src/parity/bridgeConfigs.d.ts.map +1 -1
  164. package/dist/src/parity/bridgeConfigs.js +30 -1
  165. package/dist/src/parity/bridgeConfigs.js.map +1 -1
  166. package/dist/src/router/modelRouter.d.ts +22 -2
  167. package/dist/src/router/modelRouter.d.ts.map +1 -1
  168. package/dist/src/router/modelRouter.js +76 -9
  169. package/dist/src/router/modelRouter.js.map +1 -1
  170. package/dist/src/runtime/agentClient.d.ts +24 -4
  171. package/dist/src/runtime/agentClient.d.ts.map +1 -1
  172. package/dist/src/runtime/agentClient.js +581 -262
  173. package/dist/src/runtime/agentClient.js.map +1 -1
  174. package/dist/src/runtime/agentSession.d.ts +8 -3
  175. package/dist/src/runtime/agentSession.d.ts.map +1 -1
  176. package/dist/src/runtime/agentSession.js +10 -3
  177. package/dist/src/runtime/agentSession.js.map +1 -1
  178. package/dist/src/runtime/agentTemplates.d.ts +28 -0
  179. package/dist/src/runtime/agentTemplates.d.ts.map +1 -0
  180. package/dist/src/runtime/agentTemplates.js +73 -0
  181. package/dist/src/runtime/agentTemplates.js.map +1 -0
  182. package/dist/src/runtime/conversationEngine.d.ts +4 -0
  183. package/dist/src/runtime/conversationEngine.d.ts.map +1 -1
  184. package/dist/src/runtime/conversationEngine.js +52 -3
  185. package/dist/src/runtime/conversationEngine.js.map +1 -1
  186. package/dist/src/runtime/defaultHadamardAgents.d.ts.map +1 -1
  187. package/dist/src/runtime/defaultHadamardAgents.js +9 -47
  188. package/dist/src/runtime/defaultHadamardAgents.js.map +1 -1
  189. package/dist/src/runtime/effectiveAgentRunOptions.d.ts +49 -0
  190. package/dist/src/runtime/effectiveAgentRunOptions.d.ts.map +1 -0
  191. package/dist/src/runtime/effectiveAgentRunOptions.js +50 -0
  192. package/dist/src/runtime/effectiveAgentRunOptions.js.map +1 -0
  193. package/dist/src/runtime/externalAgentRunner.d.ts +25 -0
  194. package/dist/src/runtime/externalAgentRunner.d.ts.map +1 -0
  195. package/dist/src/runtime/externalAgentRunner.js +57 -0
  196. package/dist/src/runtime/externalAgentRunner.js.map +1 -0
  197. package/dist/src/runtime/hadamardAgentDefinitions.d.ts +15 -0
  198. package/dist/src/runtime/hadamardAgentDefinitions.d.ts.map +1 -1
  199. package/dist/src/runtime/hadamardAgentDefinitions.js +42 -2
  200. package/dist/src/runtime/hadamardAgentDefinitions.js.map +1 -1
  201. package/dist/src/runtime/hadamardAgents.d.ts +6 -0
  202. package/dist/src/runtime/hadamardAgents.d.ts.map +1 -1
  203. package/dist/src/runtime/hadamardAgents.js +52 -1
  204. package/dist/src/runtime/hadamardAgents.js.map +1 -1
  205. package/dist/src/runtime/hadamardCompact.d.ts +12 -1
  206. package/dist/src/runtime/hadamardCompact.d.ts.map +1 -1
  207. package/dist/src/runtime/hadamardCompact.js +91 -35
  208. package/dist/src/runtime/hadamardCompact.js.map +1 -1
  209. package/dist/src/runtime/hadamardPermissions.d.ts +1 -0
  210. package/dist/src/runtime/hadamardPermissions.d.ts.map +1 -1
  211. package/dist/src/runtime/hadamardPermissions.js +6 -0
  212. package/dist/src/runtime/hadamardPermissions.js.map +1 -1
  213. package/dist/src/runtime/hadamardSlashCommands.d.ts +7 -1
  214. package/dist/src/runtime/hadamardSlashCommands.d.ts.map +1 -1
  215. package/dist/src/runtime/hadamardSlashCommands.js +47 -5
  216. package/dist/src/runtime/hadamardSlashCommands.js.map +1 -1
  217. package/dist/src/runtime/tools.d.ts.map +1 -1
  218. package/dist/src/runtime/tools.js +2 -0
  219. package/dist/src/runtime/tools.js.map +1 -1
  220. package/dist/src/team/executorTarget.d.ts +26 -0
  221. package/dist/src/team/executorTarget.d.ts.map +1 -0
  222. package/dist/src/team/executorTarget.js +15 -0
  223. package/dist/src/team/executorTarget.js.map +1 -0
  224. package/dist/src/team/modelTeam.d.ts +5 -1
  225. package/dist/src/team/modelTeam.d.ts.map +1 -1
  226. package/dist/src/team/modelTeam.js +157 -41
  227. package/dist/src/team/modelTeam.js.map +1 -1
  228. package/dist/src/team/teamComposition.d.ts +20 -0
  229. package/dist/src/team/teamComposition.d.ts.map +1 -0
  230. package/dist/src/team/teamComposition.js +78 -0
  231. package/dist/src/team/teamComposition.js.map +1 -0
  232. package/dist/src/team/teamDefinitions.d.ts +10 -1
  233. package/dist/src/team/teamDefinitions.d.ts.map +1 -1
  234. package/dist/src/team/teamDefinitions.js +123 -16
  235. package/dist/src/team/teamDefinitions.js.map +1 -1
  236. package/dist/src/team/teamGraph.d.ts +1 -1
  237. package/dist/src/team/teamGraph.d.ts.map +1 -1
  238. package/dist/src/team/teamGraph.js +1 -1
  239. package/dist/src/team/teamGraph.js.map +1 -1
  240. package/dist/src/team/teamPrompts.d.ts.map +1 -1
  241. package/dist/src/team/teamPrompts.js +0 -4
  242. package/dist/src/team/teamPrompts.js.map +1 -1
  243. package/dist/src/team/teamProposalService.d.ts +9 -1
  244. package/dist/src/team/teamProposalService.d.ts.map +1 -1
  245. package/dist/src/team/teamProposalService.js +66 -6
  246. package/dist/src/team/teamProposalService.js.map +1 -1
  247. package/dist/src/team/teamPropose.d.ts +3 -1
  248. package/dist/src/team/teamPropose.d.ts.map +1 -1
  249. package/dist/src/team/teamPropose.js +16 -10
  250. package/dist/src/team/teamPropose.js.map +1 -1
  251. package/dist/src/team/teamRuntime.d.ts +5 -0
  252. package/dist/src/team/teamRuntime.d.ts.map +1 -1
  253. package/dist/src/team/teamRuntime.js +23 -5
  254. package/dist/src/team/teamRuntime.js.map +1 -1
  255. package/dist/src/team/workflowSquad.d.ts +10 -2
  256. package/dist/src/team/workflowSquad.d.ts.map +1 -1
  257. package/dist/src/team/workflowSquad.js +250 -12
  258. package/dist/src/team/workflowSquad.js.map +1 -1
  259. package/dist/src/tools/enterWorktree.d.ts.map +1 -1
  260. package/dist/src/tools/enterWorktree.js +3 -0
  261. package/dist/src/tools/enterWorktree.js.map +1 -1
  262. package/dist/src/tools/exaSearch.d.ts +2 -2
  263. package/dist/src/tools/exitWorktree.d.ts.map +1 -1
  264. package/dist/src/tools/exitWorktree.js +3 -1
  265. package/dist/src/tools/exitWorktree.js.map +1 -1
  266. package/dist/src/tools/hadamardCoreTools.d.ts +5 -14
  267. package/dist/src/tools/hadamardCoreTools.d.ts.map +1 -1
  268. package/dist/src/tools/hadamardCoreTools.js +31 -0
  269. package/dist/src/tools/hadamardCoreTools.js.map +1 -1
  270. package/dist/src/tools/hadamardFileTools.d.ts.map +1 -1
  271. package/dist/src/tools/hadamardFileTools.js +116 -38
  272. package/dist/src/tools/hadamardFileTools.js.map +1 -1
  273. package/dist/src/tools/planMode/PlanModeTools.d.ts +22 -0
  274. package/dist/src/tools/planMode/PlanModeTools.d.ts.map +1 -1
  275. package/dist/src/tools/planMode/PlanModeTools.js +102 -5
  276. package/dist/src/tools/planMode/PlanModeTools.js.map +1 -1
  277. package/dist/src/tools/todo/TodoWriteTool.d.ts +1 -1
  278. package/dist/src/tui/hadamardTui.d.ts.map +1 -1
  279. package/dist/src/tui/hadamardTui.js +387 -168
  280. package/dist/src/tui/hadamardTui.js.map +1 -1
  281. package/dist/src/tui/pendingInput.d.ts +17 -0
  282. package/dist/src/tui/pendingInput.d.ts.map +1 -0
  283. package/dist/src/tui/pendingInput.js +23 -0
  284. package/dist/src/tui/pendingInput.js.map +1 -0
  285. package/dist/src/tui/reasoningDisplay.d.ts +13 -0
  286. package/dist/src/tui/reasoningDisplay.d.ts.map +1 -0
  287. package/dist/src/tui/reasoningDisplay.js +45 -0
  288. package/dist/src/tui/reasoningDisplay.js.map +1 -0
  289. package/dist/src/tui/screen.d.ts +11 -1
  290. package/dist/src/tui/screen.d.ts.map +1 -1
  291. package/dist/src/tui/screen.js +64 -34
  292. package/dist/src/tui/screen.js.map +1 -1
  293. package/dist/src/types.d.ts +210 -77
  294. package/dist/src/types.d.ts.map +1 -1
  295. package/dist/src/types.js.map +1 -1
  296. package/dist/src/ui/commandSurface.d.ts +8 -0
  297. package/dist/src/ui/commandSurface.d.ts.map +1 -1
  298. package/dist/src/ui/commandSurface.js +78 -13
  299. package/dist/src/ui/commandSurface.js.map +1 -1
  300. package/dist/src/update/appUpdateService.d.ts +34 -1
  301. package/dist/src/update/appUpdateService.d.ts.map +1 -1
  302. package/dist/src/update/appUpdateService.js +114 -9
  303. package/dist/src/update/appUpdateService.js.map +1 -1
  304. package/package.json +3 -2
  305. package/dist/src/prompts/outputStyles.d.ts +0 -20
  306. package/dist/src/prompts/outputStyles.d.ts.map +0 -1
  307. package/dist/src/prompts/outputStyles.js +0 -35
  308. package/dist/src/prompts/outputStyles.js.map +0 -1
@@ -0,0 +1,17 @@
1
+ export type ActiveInputMode = 'follow-up' | 'steer';
2
+ export interface PendingInputPort {
3
+ followUp(input: string): void;
4
+ steer(input: string): void;
5
+ cancelLatestFollowUp(): string | undefined;
6
+ }
7
+ /** TUI policy adapter; the runtime queue remains owned by AgentSession. */
8
+ export declare function submitActiveInput(port: PendingInputPort, input: string, mode: ActiveInputMode): void;
9
+ /**
10
+ * Pull the newest queued follow-up into the editor for editing.
11
+ * Callers must restore it via {@link restoreAbandonedFollowUp} if the user
12
+ * clears the editor without resubmitting.
13
+ */
14
+ export declare function recallLatestFollowUp(port: PendingInputPort): string | undefined;
15
+ /** Re-queue a follow-up that was recalled into the editor but abandoned. */
16
+ export declare function restoreAbandonedFollowUp(port: PendingInputPort, recalled: string | null | undefined): void;
17
+ //# sourceMappingURL=pendingInput.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pendingInput.d.ts","sourceRoot":"","sources":["../../../src/tui/pendingInput.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,eAAe,GAAG,WAAW,GAAG,OAAO,CAAC;AAEpD,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,oBAAoB,IAAI,MAAM,GAAG,SAAS,CAAC;CAC5C;AAED,2EAA2E;AAC3E,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,gBAAgB,EACtB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,eAAe,GACpB,IAAI,CAGN;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,gBAAgB,GAAG,MAAM,GAAG,SAAS,CAE/E;AAED,4EAA4E;AAC5E,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,gBAAgB,EACtB,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAClC,IAAI,CAIN"}
@@ -0,0 +1,23 @@
1
+ /** TUI policy adapter; the runtime queue remains owned by AgentSession. */
2
+ export function submitActiveInput(port, input, mode) {
3
+ if (mode === 'steer')
4
+ port.steer(input);
5
+ else
6
+ port.followUp(input);
7
+ }
8
+ /**
9
+ * Pull the newest queued follow-up into the editor for editing.
10
+ * Callers must restore it via {@link restoreAbandonedFollowUp} if the user
11
+ * clears the editor without resubmitting.
12
+ */
13
+ export function recallLatestFollowUp(port) {
14
+ return port.cancelLatestFollowUp();
15
+ }
16
+ /** Re-queue a follow-up that was recalled into the editor but abandoned. */
17
+ export function restoreAbandonedFollowUp(port, recalled) {
18
+ const text = recalled?.trim();
19
+ if (!text)
20
+ return;
21
+ port.followUp(text);
22
+ }
23
+ //# sourceMappingURL=pendingInput.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pendingInput.js","sourceRoot":"","sources":["../../../src/tui/pendingInput.ts"],"names":[],"mappings":"AAQA,2EAA2E;AAC3E,MAAM,UAAU,iBAAiB,CAC/B,IAAsB,EACtB,KAAa,EACb,IAAqB;IAErB,IAAI,IAAI,KAAK,OAAO;QAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;;QACnC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC5B,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAAC,IAAsB;IACzD,OAAO,IAAI,CAAC,oBAAoB,EAAE,CAAC;AACrC,CAAC;AAED,4EAA4E;AAC5E,MAAM,UAAU,wBAAwB,CACtC,IAAsB,EACtB,QAAmC;IAEnC,MAAM,IAAI,GAAG,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC9B,IAAI,CAAC,IAAI;QAAE,OAAO;IAClB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AACtB,CAAC"}
@@ -0,0 +1,13 @@
1
+ /** Owns one reasoning segment independently from transport event boundaries. */
2
+ export declare class ReasoningDisplayState {
3
+ private activeText;
4
+ private streamed;
5
+ get hasActive(): boolean;
6
+ get hasStreamedContent(): boolean;
7
+ append(delta: string): void;
8
+ setCompleteContent(text: string): void;
9
+ liveLines(width: number, maxRows?: number): string[];
10
+ complete(): string[];
11
+ reset(): void;
12
+ }
13
+ //# sourceMappingURL=reasoningDisplay.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reasoningDisplay.d.ts","sourceRoot":"","sources":["../../../src/tui/reasoningDisplay.ts"],"names":[],"mappings":"AAEA,gFAAgF;AAChF,qBAAa,qBAAqB;IAChC,OAAO,CAAC,UAAU,CAAM;IACxB,OAAO,CAAC,QAAQ,CAAS;IAEzB,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED,IAAI,kBAAkB,IAAI,OAAO,CAEhC;IAED,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAM3B,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAItC,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,SAAI,GAAG,MAAM,EAAE;IAU/C,QAAQ,IAAI,MAAM,EAAE;IAUpB,KAAK,IAAI,IAAI;CAId"}
@@ -0,0 +1,45 @@
1
+ import { A, wrapToWidth } from './ansi.js';
2
+ /** Owns one reasoning segment independently from transport event boundaries. */
3
+ export class ReasoningDisplayState {
4
+ activeText = '';
5
+ streamed = false;
6
+ get hasActive() {
7
+ return this.activeText.trim().length > 0;
8
+ }
9
+ get hasStreamedContent() {
10
+ return this.streamed;
11
+ }
12
+ append(delta) {
13
+ if (!delta)
14
+ return;
15
+ this.activeText += delta;
16
+ this.streamed = true;
17
+ }
18
+ setCompleteContent(text) {
19
+ if (!this.hasActive && text.trim())
20
+ this.activeText = text;
21
+ }
22
+ liveLines(width, maxRows = 6) {
23
+ const condensed = this.activeText.replace(/\s+/g, ' ').trim();
24
+ if (!condensed)
25
+ return [];
26
+ const contentWidth = Math.max(width - 4, 16);
27
+ const lines = wrapToWidth(condensed, contentWidth).map((line, index) => (`${A.dim}${index === 0 ? '∴ ' : ' '}${line}${A.reset}`));
28
+ return lines.slice(Math.max(lines.length - maxRows, 0));
29
+ }
30
+ complete() {
31
+ const condensed = this.activeText.replace(/\s+/g, ' ').trim();
32
+ if (!condensed)
33
+ return [];
34
+ const words = condensed.split(/\s+/u).length;
35
+ const detail = words > 1 ? `${words} words` : `${[...condensed].length} chars`;
36
+ this.activeText = '';
37
+ this.streamed = false;
38
+ return [`${A.dim}∴ Thinking · ${detail} · collapsed${A.reset}`];
39
+ }
40
+ reset() {
41
+ this.activeText = '';
42
+ this.streamed = false;
43
+ }
44
+ }
45
+ //# sourceMappingURL=reasoningDisplay.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reasoningDisplay.js","sourceRoot":"","sources":["../../../src/tui/reasoningDisplay.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAE3C,gFAAgF;AAChF,MAAM,OAAO,qBAAqB;IACxB,UAAU,GAAG,EAAE,CAAC;IAChB,QAAQ,GAAG,KAAK,CAAC;IAEzB,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;IAC3C,CAAC;IAED,IAAI,kBAAkB;QACpB,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,MAAM,CAAC,KAAa;QAClB,IAAI,CAAC,KAAK;YAAE,OAAO;QACnB,IAAI,CAAC,UAAU,IAAI,KAAK,CAAC;QACzB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;IACvB,CAAC;IAED,kBAAkB,CAAC,IAAY;QAC7B,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI,EAAE;YAAE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;IAC7D,CAAC;IAED,SAAS,CAAC,KAAa,EAAE,OAAO,GAAG,CAAC;QAClC,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;QAC9D,IAAI,CAAC,SAAS;YAAE,OAAO,EAAE,CAAC;QAC1B,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;QAC7C,MAAM,KAAK,GAAG,WAAW,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CACtE,GAAG,CAAC,CAAC,GAAG,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC,KAAK,EAAE,CACxD,CAAC,CAAC;QACH,OAAO,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;IAC1D,CAAC;IAED,QAAQ;QACN,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;QAC9D,IAAI,CAAC,SAAS;YAAE,OAAO,EAAE,CAAC;QAC1B,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC;QAC7C,MAAM,MAAM,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,CAAC,MAAM,QAAQ,CAAC;QAC/E,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,gBAAgB,MAAM,eAAe,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;IAClE,CAAC;IAED,KAAK;QACH,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;IACxB,CAAC;CACF"}
@@ -5,10 +5,18 @@ export interface ScreenOutput {
5
5
  on?(event: 'resize', listener: () => void): unknown;
6
6
  off?(event: 'resize', listener: () => void): unknown;
7
7
  }
8
+ export interface DynamicCursorPosition {
9
+ /** Zero-based source line passed to setDynamic. */
10
+ line: number;
11
+ /** Zero-based visible terminal column. */
12
+ column: number;
13
+ }
8
14
  export declare class TuiScreen {
9
15
  private readonly out;
10
16
  private dynamicLines;
11
17
  private dynamicVisualCount;
18
+ private parkedRow;
19
+ private parkedColumn;
12
20
  private started;
13
21
  private readonly resizeListener;
14
22
  constructor(out: ScreenOutput);
@@ -20,9 +28,11 @@ export declare class TuiScreen {
20
28
  /** Print lines permanently into scrollback above the dynamic region. */
21
29
  appendStatic(lines: readonly string[]): void;
22
30
  /** Replace the dynamic bottom region. Lines are pre-wrapped to width. */
23
- setDynamic(lines: readonly string[]): void;
31
+ setDynamic(lines: readonly string[], cursor?: DynamicCursorPosition): void;
24
32
  private redraw;
25
33
  private redrawChangedLines;
26
34
  private buildDynamicPaint;
35
+ private moveToTop;
36
+ private moveFromTopToParkedCursor;
27
37
  }
28
38
  //# sourceMappingURL=screen.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"screen.d.ts","sourceRoot":"","sources":["../../../src/tui/screen.ts"],"names":[],"mappings":"AAsBA,MAAM,WAAW,YAAY;IAC3B,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,EAAE,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC;IACpD,GAAG,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC;CACtD;AAED,qBAAa,SAAS;IAMR,OAAO,CAAC,QAAQ,CAAC,GAAG;IALhC,OAAO,CAAC,YAAY,CAAgB;IACpC,OAAO,CAAC,kBAAkB,CAAK;IAC/B,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAuB;gBAEzB,GAAG,EAAE,YAAY;IAE9C,IAAI,KAAK,IAAI,MAAM,CAElB;IAED,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED,KAAK,IAAI,IAAI;IAOb,0EAA0E;IAC1E,IAAI,IAAI,IAAI;IASZ,wEAAwE;IACxE,YAAY,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI;IAc5C,yEAAyE;IACzE,UAAU,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI;IAmB1C,OAAO,CAAC,MAAM;IAId,OAAO,CAAC,kBAAkB;IAY1B,OAAO,CAAC,iBAAiB;CAa1B"}
1
+ {"version":3,"file":"screen.d.ts","sourceRoot":"","sources":["../../../src/tui/screen.ts"],"names":[],"mappings":"AAiBA,MAAM,WAAW,YAAY;IAC3B,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,EAAE,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC;IACpD,GAAG,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC;CACtD;AAED,MAAM,WAAW,qBAAqB;IACpC,mDAAmD;IACnD,IAAI,EAAE,MAAM,CAAC;IACb,0CAA0C;IAC1C,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,qBAAa,SAAS;IAQR,OAAO,CAAC,QAAQ,CAAC,GAAG;IAPhC,OAAO,CAAC,YAAY,CAAgB;IACpC,OAAO,CAAC,kBAAkB,CAAK;IAC/B,OAAO,CAAC,SAAS,CAAK;IACtB,OAAO,CAAC,YAAY,CAAK;IACzB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAuB;gBAEzB,GAAG,EAAE,YAAY;IAE9C,IAAI,KAAK,IAAI,MAAM,CAElB;IAED,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED,KAAK,IAAI,IAAI;IAOb,0EAA0E;IAC1E,IAAI,IAAI,IAAI;IAWZ,wEAAwE;IACxE,YAAY,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI;IAa5C,yEAAyE;IACzE,UAAU,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,EAAE,MAAM,CAAC,EAAE,qBAAqB,GAAG,IAAI;IAyC1E,OAAO,CAAC,MAAM;IAId,OAAO,CAAC,kBAAkB;IAY1B,OAAO,CAAC,iBAAiB;IAazB,OAAO,CAAC,SAAS;IAIjB,OAAO,CAAC,yBAAyB;CAMlC"}
@@ -1,15 +1,10 @@
1
1
  /**
2
- * Scrollback-friendly renderer for the Hadamard TUI, mirroring Claude Code's
3
- * default REPL model (Ink <Static> + dynamic bottom region) without React:
2
+ * Scrollback-friendly renderer for the Hadamard TUI:
4
3
  *
5
- * - Transcript lines are printed permanently into the normal terminal
6
- * scrollback (`appendStatic`).
7
- * - A bottom dynamic region (status line, prompt bar, menus, dialogs) is
8
- * redrawn in place (`setDynamic`).
9
- *
10
- * The real terminal cursor stays hidden and parked at the top-left of the
11
- * dynamic region; the input caret is drawn as an inverse-video cell by the
12
- * caller. That single invariant keeps erase/redraw bookkeeping trivial.
4
+ * - Transcript lines are printed permanently into normal scrollback.
5
+ * - A bottom dynamic region is redrawn in place.
6
+ * - The hidden real cursor is parked at the input caret. Terminals and IMEs
7
+ * use that position even while the TUI draws its own inverse-video caret.
13
8
  */
14
9
  import { wrapToWidth } from './ansi.js';
15
10
  const HIDE_CURSOR = '\x1b[?25l';
@@ -22,6 +17,8 @@ export class TuiScreen {
22
17
  out;
23
18
  dynamicLines = [];
24
19
  dynamicVisualCount = 0;
20
+ parkedRow = 0;
21
+ parkedColumn = 0;
25
22
  started = false;
26
23
  resizeListener = () => this.redraw();
27
24
  constructor(out) {
@@ -46,48 +43,69 @@ export class TuiScreen {
46
43
  return;
47
44
  this.started = false;
48
45
  this.out.off?.('resize', this.resizeListener);
49
- this.out.write(CLEAR_DOWN + SHOW_CURSOR);
46
+ this.out.write(this.moveToTop() + CLEAR_DOWN + SHOW_CURSOR);
50
47
  this.dynamicLines = [];
51
48
  this.dynamicVisualCount = 0;
49
+ this.parkedRow = 0;
50
+ this.parkedColumn = 0;
52
51
  }
53
52
  /** Print lines permanently into scrollback above the dynamic region. */
54
53
  appendStatic(lines) {
55
54
  if (lines.length === 0)
56
55
  return;
57
56
  const wrapped = [];
58
- for (const line of lines) {
57
+ for (const line of lines)
59
58
  wrapped.push(...wrapToWidth(line, this.width));
60
- }
61
- this.out.write(CLEAR_DOWN +
62
- wrapped.join('\n') +
63
- '\n' +
64
- this.buildDynamicPaint());
59
+ this.out.write(this.moveToTop()
60
+ + CLEAR_DOWN
61
+ + wrapped.join('\n')
62
+ + '\n'
63
+ + this.buildDynamicPaint());
65
64
  }
66
65
  /** Replace the dynamic bottom region. Lines are pre-wrapped to width. */
67
- setDynamic(lines) {
66
+ setDynamic(lines, cursor) {
68
67
  const wrapped = [];
69
- for (const line of lines) {
70
- wrapped.push(...wrapToWidth(line, this.width));
68
+ let cursorRow = 0;
69
+ let cursorColumn = 0;
70
+ for (let index = 0; index < lines.length; index += 1) {
71
+ const start = wrapped.length;
72
+ const parts = wrapToWidth(lines[index], this.width);
73
+ wrapped.push(...parts);
74
+ if (cursor && cursor.line === index) {
75
+ cursorRow = start + Math.floor(Math.max(cursor.column, 0) / this.width);
76
+ cursorColumn = Math.max(cursor.column, 0) % this.width;
77
+ }
71
78
  }
72
- // Keep the region within the viewport so cursor-up math stays valid.
73
79
  const maxRows = this.height - 1;
74
- const nextLines = wrapped.slice(0, maxRows);
75
- if (sameLines(this.dynamicLines, nextLines))
80
+ const startRow = cursor && wrapped.length > maxRows
81
+ ? Math.min(Math.max(cursorRow - maxRows + 1, 0), wrapped.length - maxRows)
82
+ : 0;
83
+ const nextLines = wrapped.slice(startRow, startRow + maxRows);
84
+ const nextParkedRow = cursor
85
+ ? Math.max(0, Math.min(cursorRow - startRow, Math.max(nextLines.length - 1, 0)))
86
+ : 0;
87
+ const nextParkedColumn = cursor ? Math.min(cursorColumn, this.width - 1) : 0;
88
+ if (sameLines(this.dynamicLines, nextLines)
89
+ && this.parkedRow === nextParkedRow
90
+ && this.parkedColumn === nextParkedColumn)
76
91
  return;
77
92
  const previousLines = this.dynamicLines;
93
+ const previousParkedRow = this.parkedRow;
78
94
  this.dynamicLines = nextLines;
95
+ this.parkedRow = nextParkedRow;
96
+ this.parkedColumn = nextParkedColumn;
79
97
  if (previousLines.length === nextLines.length && nextLines.length > 0) {
80
- this.redrawChangedLines(previousLines);
98
+ this.redrawChangedLines(previousLines, previousParkedRow);
81
99
  }
82
100
  else {
83
- this.redraw();
101
+ this.redraw(previousParkedRow);
84
102
  }
85
103
  }
86
- redraw() {
87
- this.out.write(CLEAR_DOWN + this.buildDynamicPaint());
104
+ redraw(previousParkedRow = this.parkedRow) {
105
+ this.out.write(this.moveToTop(previousParkedRow) + CLEAR_DOWN + this.buildDynamicPaint());
88
106
  }
89
- redrawChangedLines(previousLines) {
90
- let output = SAVE_CURSOR;
107
+ redrawChangedLines(previousLines, previousParkedRow) {
108
+ let output = this.moveToTop(previousParkedRow) + SAVE_CURSOR;
91
109
  for (let index = 0; index < this.dynamicLines.length; index += 1) {
92
110
  if (previousLines[index] === this.dynamicLines[index])
93
111
  continue;
@@ -96,7 +114,7 @@ export class TuiScreen {
96
114
  output += `\x1b[${index}B`;
97
115
  output += `\r${this.dynamicLines[index]}${CLEAR_LINE_RIGHT}`;
98
116
  }
99
- output += RESTORE_CURSOR;
117
+ output += RESTORE_CURSOR + this.moveFromTopToParkedCursor();
100
118
  this.out.write(output);
101
119
  }
102
120
  buildDynamicPaint() {
@@ -105,11 +123,23 @@ export class TuiScreen {
105
123
  return '';
106
124
  }
107
125
  this.dynamicVisualCount = this.dynamicLines.length;
108
- // Park the cursor back at the start of the region (column 1, top row).
109
126
  let output = this.dynamicLines.join('\n') + '\r';
110
- if (this.dynamicVisualCount > 1) {
111
- output += `\x1b[${this.dynamicVisualCount - 1}A`;
112
- }
127
+ const rowsUp = this.dynamicVisualCount - 1 - this.parkedRow;
128
+ if (rowsUp > 0)
129
+ output += `\x1b[${rowsUp}A`;
130
+ if (this.parkedColumn > 0)
131
+ output += `\x1b[${this.parkedColumn}C`;
132
+ return output;
133
+ }
134
+ moveToTop(row = this.parkedRow) {
135
+ return `\r${row > 0 ? `\x1b[${row}A` : ''}`;
136
+ }
137
+ moveFromTopToParkedCursor() {
138
+ let output = '\r';
139
+ if (this.parkedRow > 0)
140
+ output += `\x1b[${this.parkedRow}B`;
141
+ if (this.parkedColumn > 0)
142
+ output += `\x1b[${this.parkedColumn}C`;
113
143
  return output;
114
144
  }
115
145
  }
@@ -1 +1 @@
1
- {"version":3,"file":"screen.js","sourceRoot":"","sources":["../../../src/tui/screen.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"screen.js","sourceRoot":"","sources":["../../../src/tui/screen.ts"],"names":[],"mappings":"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"}