actoviq-agent-sdk 0.4.7 → 0.4.9

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 (627) hide show
  1. package/CHANGELOG.md +52 -1
  2. package/README-zh.md +9 -11
  3. package/README.md +10 -12
  4. package/SECURITY.md +1 -1
  5. package/assets/actoviq-icon.png +0 -0
  6. package/bin/actoviq-app-server.js +5 -0
  7. package/dist/src/app-server/appServer.d.ts +14 -0
  8. package/dist/src/app-server/appServer.d.ts.map +1 -0
  9. package/dist/src/app-server/appServer.js +228 -0
  10. package/dist/src/app-server/appServer.js.map +1 -0
  11. package/dist/src/app-server/cli.d.ts +3 -0
  12. package/dist/src/app-server/cli.d.ts.map +1 -0
  13. package/dist/src/app-server/cli.js +29 -0
  14. package/dist/src/app-server/cli.js.map +1 -0
  15. package/dist/src/app-server/index.d.ts +5 -0
  16. package/dist/src/app-server/index.d.ts.map +1 -0
  17. package/dist/src/app-server/index.js +5 -0
  18. package/dist/src/app-server/index.js.map +1 -0
  19. package/dist/src/app-server/protocol.d.ts +24 -0
  20. package/dist/src/app-server/protocol.d.ts.map +1 -0
  21. package/dist/src/app-server/protocol.js +14 -0
  22. package/dist/src/app-server/protocol.js.map +1 -0
  23. package/dist/src/app-server/transports/stdioTransport.d.ts +11 -0
  24. package/dist/src/app-server/transports/stdioTransport.d.ts.map +1 -0
  25. package/dist/src/app-server/transports/stdioTransport.js +37 -0
  26. package/dist/src/app-server/transports/stdioTransport.js.map +1 -0
  27. package/dist/src/app-server/transports/webSocketTransport.d.ts +13 -0
  28. package/dist/src/app-server/transports/webSocketTransport.d.ts.map +1 -0
  29. package/dist/src/app-server/transports/webSocketTransport.js +43 -0
  30. package/dist/src/app-server/transports/webSocketTransport.js.map +1 -0
  31. package/dist/src/browser/actoviqBrowserSession.d.ts +137 -0
  32. package/dist/src/browser/actoviqBrowserSession.d.ts.map +1 -0
  33. package/dist/src/browser/actoviqBrowserSession.js +623 -0
  34. package/dist/src/browser/actoviqBrowserSession.js.map +1 -0
  35. package/dist/src/browser/actoviqBrowserTools.d.ts +80 -0
  36. package/dist/src/browser/actoviqBrowserTools.d.ts.map +1 -0
  37. package/dist/src/browser/actoviqBrowserTools.js +177 -0
  38. package/dist/src/browser/actoviqBrowserTools.js.map +1 -0
  39. package/dist/src/browser/browserSettings.d.ts +8 -0
  40. package/dist/src/browser/browserSettings.d.ts.map +1 -0
  41. package/dist/src/browser/browserSettings.js +47 -0
  42. package/dist/src/browser/browserSettings.js.map +1 -0
  43. package/dist/src/checkpoint/checkpointTools.d.ts +8 -0
  44. package/dist/src/checkpoint/checkpointTools.d.ts.map +1 -0
  45. package/dist/src/checkpoint/checkpointTools.js +36 -0
  46. package/dist/src/checkpoint/checkpointTools.js.map +1 -0
  47. package/dist/src/checkpoint/fileChangeJournal.d.ts +15 -0
  48. package/dist/src/checkpoint/fileChangeJournal.d.ts.map +1 -0
  49. package/dist/src/checkpoint/fileChangeJournal.js +16 -0
  50. package/dist/src/checkpoint/fileChangeJournal.js.map +1 -0
  51. package/dist/src/checkpoint/fileCheckpointService.d.ts +46 -0
  52. package/dist/src/checkpoint/fileCheckpointService.d.ts.map +1 -0
  53. package/dist/src/checkpoint/fileCheckpointService.js +318 -0
  54. package/dist/src/checkpoint/fileCheckpointService.js.map +1 -0
  55. package/dist/src/checkpoint/index.d.ts +5 -0
  56. package/dist/src/checkpoint/index.d.ts.map +1 -0
  57. package/dist/src/checkpoint/index.js +5 -0
  58. package/dist/src/checkpoint/index.js.map +1 -0
  59. package/dist/src/checkpoint/types.d.ts +64 -0
  60. package/dist/src/checkpoint/types.d.ts.map +1 -0
  61. package/dist/src/checkpoint/types.js +2 -0
  62. package/dist/src/checkpoint/types.js.map +1 -0
  63. package/dist/src/cli/actoviq-react.js +755 -20
  64. package/dist/src/cli/actoviq-react.js.map +1 -1
  65. package/dist/src/codeIntel/codeIntelligenceService.d.ts +26 -0
  66. package/dist/src/codeIntel/codeIntelligenceService.d.ts.map +1 -0
  67. package/dist/src/codeIntel/codeIntelligenceService.js +195 -0
  68. package/dist/src/codeIntel/codeIntelligenceService.js.map +1 -0
  69. package/dist/src/codeIntel/codeIntelligenceTools.d.ts +4 -0
  70. package/dist/src/codeIntel/codeIntelligenceTools.d.ts.map +1 -0
  71. package/dist/src/codeIntel/codeIntelligenceTools.js +36 -0
  72. package/dist/src/codeIntel/codeIntelligenceTools.js.map +1 -0
  73. package/dist/src/codeIntel/index.d.ts +6 -0
  74. package/dist/src/codeIntel/index.d.ts.map +1 -0
  75. package/dist/src/codeIntel/index.js +6 -0
  76. package/dist/src/codeIntel/index.js.map +1 -0
  77. package/dist/src/codeIntel/languageServerRegistry.d.ts +9 -0
  78. package/dist/src/codeIntel/languageServerRegistry.d.ts.map +1 -0
  79. package/dist/src/codeIntel/languageServerRegistry.js +49 -0
  80. package/dist/src/codeIntel/languageServerRegistry.js.map +1 -0
  81. package/dist/src/codeIntel/lspProcess.d.ts +26 -0
  82. package/dist/src/codeIntel/lspProcess.d.ts.map +1 -0
  83. package/dist/src/codeIntel/lspProcess.js +141 -0
  84. package/dist/src/codeIntel/lspProcess.js.map +1 -0
  85. package/dist/src/codeIntel/types.d.ts +36 -0
  86. package/dist/src/codeIntel/types.d.ts.map +1 -0
  87. package/dist/src/codeIntel/types.js +2 -0
  88. package/dist/src/codeIntel/types.js.map +1 -0
  89. package/dist/src/computer/actoviqComputerUse.d.ts.map +1 -1
  90. package/dist/src/computer/actoviqComputerUse.js +226 -40
  91. package/dist/src/computer/actoviqComputerUse.js.map +1 -1
  92. package/dist/src/computer/e2bComputerUse.d.ts +57 -0
  93. package/dist/src/computer/e2bComputerUse.d.ts.map +1 -0
  94. package/dist/src/computer/e2bComputerUse.js +401 -0
  95. package/dist/src/computer/e2bComputerUse.js.map +1 -0
  96. package/dist/src/config/agentProfiles.d.ts +8 -1
  97. package/dist/src/config/agentProfiles.d.ts.map +1 -1
  98. package/dist/src/config/agentProfiles.js +86 -4
  99. package/dist/src/config/agentProfiles.js.map +1 -1
  100. package/dist/src/config/projectSessionDirectory.d.ts +22 -0
  101. package/dist/src/config/projectSessionDirectory.d.ts.map +1 -1
  102. package/dist/src/config/projectSessionDirectory.js +512 -46
  103. package/dist/src/config/projectSessionDirectory.js.map +1 -1
  104. package/dist/src/config/resolveRuntimeConfig.d.ts.map +1 -1
  105. package/dist/src/config/resolveRuntimeConfig.js +77 -9
  106. package/dist/src/config/resolveRuntimeConfig.js.map +1 -1
  107. package/dist/src/context/ruleCommandService.d.ts +14 -0
  108. package/dist/src/context/ruleCommandService.d.ts.map +1 -0
  109. package/dist/src/context/ruleCommandService.js +54 -0
  110. package/dist/src/context/ruleCommandService.js.map +1 -0
  111. package/dist/src/context/ruleResolver.d.ts +3 -0
  112. package/dist/src/context/ruleResolver.d.ts.map +1 -0
  113. package/dist/src/context/ruleResolver.js +27 -0
  114. package/dist/src/context/ruleResolver.js.map +1 -0
  115. package/dist/src/context/ruleStore.d.ts +11 -0
  116. package/dist/src/context/ruleStore.d.ts.map +1 -0
  117. package/dist/src/context/ruleStore.js +76 -0
  118. package/dist/src/context/ruleStore.js.map +1 -0
  119. package/dist/src/context/ruleTypes.d.ts +16 -0
  120. package/dist/src/context/ruleTypes.d.ts.map +1 -0
  121. package/dist/src/context/ruleTypes.js +2 -0
  122. package/dist/src/context/ruleTypes.js.map +1 -0
  123. package/dist/src/goal/goalPrompt.d.ts +16 -0
  124. package/dist/src/goal/goalPrompt.d.ts.map +1 -0
  125. package/dist/src/goal/goalPrompt.js +51 -0
  126. package/dist/src/goal/goalPrompt.js.map +1 -0
  127. package/dist/src/goal/goalService.d.ts +92 -0
  128. package/dist/src/goal/goalService.d.ts.map +1 -0
  129. package/dist/src/goal/goalService.js +291 -0
  130. package/dist/src/goal/goalService.js.map +1 -0
  131. package/dist/src/goal/goalStore.d.ts +82 -0
  132. package/dist/src/goal/goalStore.d.ts.map +1 -0
  133. package/dist/src/goal/goalStore.js +231 -0
  134. package/dist/src/goal/goalStore.js.map +1 -0
  135. package/dist/src/goal/goalTools.d.ts +12 -0
  136. package/dist/src/goal/goalTools.d.ts.map +1 -0
  137. package/dist/src/goal/goalTools.js +131 -0
  138. package/dist/src/goal/goalTools.js.map +1 -0
  139. package/dist/src/goal/index.d.ts +15 -0
  140. package/dist/src/goal/index.d.ts.map +1 -0
  141. package/dist/src/goal/index.js +6 -0
  142. package/dist/src/goal/index.js.map +1 -0
  143. package/dist/src/goal/types.d.ts +89 -0
  144. package/dist/src/goal/types.d.ts.map +1 -0
  145. package/dist/src/goal/types.js +16 -0
  146. package/dist/src/goal/types.js.map +1 -0
  147. package/dist/src/gui/actoviqGui.d.ts +6 -0
  148. package/dist/src/gui/actoviqGui.d.ts.map +1 -1
  149. package/dist/src/gui/actoviqGui.js +10942 -1824
  150. package/dist/src/gui/actoviqGui.js.map +1 -1
  151. package/dist/src/gui/electronMain.js +55 -5
  152. package/dist/src/gui/electronMain.js.map +1 -1
  153. package/dist/src/gui/externalCliAgentMonitor.d.ts +15 -0
  154. package/dist/src/gui/externalCliAgentMonitor.d.ts.map +1 -0
  155. package/dist/src/gui/externalCliAgentMonitor.js +133 -0
  156. package/dist/src/gui/externalCliAgentMonitor.js.map +1 -0
  157. package/dist/src/gui/projectWorkbench.d.ts +2 -0
  158. package/dist/src/gui/projectWorkbench.d.ts.map +1 -1
  159. package/dist/src/gui/projectWorkbench.js +66 -1
  160. package/dist/src/gui/projectWorkbench.js.map +1 -1
  161. package/dist/src/gui/transcript/clientBundle.d.ts.map +1 -1
  162. package/dist/src/gui/transcript/clientBundle.js +157 -17
  163. package/dist/src/gui/transcript/clientBundle.js.map +1 -1
  164. package/dist/src/gui/transcript/parts.d.ts.map +1 -1
  165. package/dist/src/gui/transcript/parts.js +28 -0
  166. package/dist/src/gui/transcript/parts.js.map +1 -1
  167. package/dist/src/gui/workspaceRegistry.d.ts +14 -0
  168. package/dist/src/gui/workspaceRegistry.d.ts.map +1 -1
  169. package/dist/src/gui/workspaceRegistry.js +138 -11
  170. package/dist/src/gui/workspaceRegistry.js.map +1 -1
  171. package/dist/src/hooks/handlers/commandHook.d.ts +3 -0
  172. package/dist/src/hooks/handlers/commandHook.d.ts.map +1 -0
  173. package/dist/src/hooks/handlers/commandHook.js +28 -0
  174. package/dist/src/hooks/handlers/commandHook.js.map +1 -0
  175. package/dist/src/hooks/handlers/httpHook.d.ts +3 -0
  176. package/dist/src/hooks/handlers/httpHook.d.ts.map +1 -0
  177. package/dist/src/hooks/handlers/httpHook.js +29 -0
  178. package/dist/src/hooks/handlers/httpHook.js.map +1 -0
  179. package/dist/src/hooks/handlers/promptHook.d.ts +8 -0
  180. package/dist/src/hooks/handlers/promptHook.d.ts.map +1 -0
  181. package/dist/src/hooks/handlers/promptHook.js +13 -0
  182. package/dist/src/hooks/handlers/promptHook.js.map +1 -0
  183. package/dist/src/hooks/hookConfig.d.ts +6 -0
  184. package/dist/src/hooks/hookConfig.d.ts.map +1 -0
  185. package/dist/src/hooks/hookConfig.js +78 -0
  186. package/dist/src/hooks/hookConfig.js.map +1 -0
  187. package/dist/src/hooks/hookRunner.d.ts +14 -0
  188. package/dist/src/hooks/hookRunner.d.ts.map +1 -0
  189. package/dist/src/hooks/hookRunner.js +77 -0
  190. package/dist/src/hooks/hookRunner.js.map +1 -0
  191. package/dist/src/hooks/hookTypes.d.ts +48 -0
  192. package/dist/src/hooks/hookTypes.d.ts.map +1 -0
  193. package/dist/src/hooks/hookTypes.js +2 -0
  194. package/dist/src/hooks/hookTypes.js.map +1 -0
  195. package/dist/src/index.d.ts +81 -3
  196. package/dist/src/index.d.ts.map +1 -1
  197. package/dist/src/index.js +63 -2
  198. package/dist/src/index.js.map +1 -1
  199. package/dist/src/manager/assistantGlobalTools.d.ts +56 -0
  200. package/dist/src/manager/assistantGlobalTools.d.ts.map +1 -0
  201. package/dist/src/manager/assistantGlobalTools.js +657 -0
  202. package/dist/src/manager/assistantGlobalTools.js.map +1 -0
  203. package/dist/src/manager/projectManager.d.ts +5 -1
  204. package/dist/src/manager/projectManager.d.ts.map +1 -1
  205. package/dist/src/manager/projectManager.js +21 -14
  206. package/dist/src/manager/projectManager.js.map +1 -1
  207. package/dist/src/memory/memoryProposalCommandService.d.ts +13 -0
  208. package/dist/src/memory/memoryProposalCommandService.d.ts.map +1 -0
  209. package/dist/src/memory/memoryProposalCommandService.js +36 -0
  210. package/dist/src/memory/memoryProposalCommandService.js.map +1 -0
  211. package/dist/src/memory/memoryProposalService.d.ts +33 -0
  212. package/dist/src/memory/memoryProposalService.d.ts.map +1 -0
  213. package/dist/src/memory/memoryProposalService.js +121 -0
  214. package/dist/src/memory/memoryProposalService.js.map +1 -0
  215. package/dist/src/memory/memoryProposalTools.d.ts +8 -0
  216. package/dist/src/memory/memoryProposalTools.d.ts.map +1 -0
  217. package/dist/src/memory/memoryProposalTools.js +35 -0
  218. package/dist/src/memory/memoryProposalTools.js.map +1 -0
  219. package/dist/src/parity/actoviqBridgeSdk.d.ts +13 -1
  220. package/dist/src/parity/actoviqBridgeSdk.d.ts.map +1 -1
  221. package/dist/src/parity/actoviqBridgeSdk.js +1022 -83
  222. package/dist/src/parity/actoviqBridgeSdk.js.map +1 -1
  223. package/dist/src/parity/bridgeConfigs.d.ts +15 -0
  224. package/dist/src/parity/bridgeConfigs.d.ts.map +1 -1
  225. package/dist/src/parity/bridgeConfigs.js +112 -3
  226. package/dist/src/parity/bridgeConfigs.js.map +1 -1
  227. package/dist/src/parity/bridgeEventAdapter.d.ts +5 -1
  228. package/dist/src/parity/bridgeEventAdapter.d.ts.map +1 -1
  229. package/dist/src/parity/bridgeEventAdapter.js +65 -12
  230. package/dist/src/parity/bridgeEventAdapter.js.map +1 -1
  231. package/dist/src/parity/bridgeExecResolver.d.ts +10 -11
  232. package/dist/src/parity/bridgeExecResolver.d.ts.map +1 -1
  233. package/dist/src/parity/bridgeExecResolver.js +40 -23
  234. package/dist/src/parity/bridgeExecResolver.js.map +1 -1
  235. package/dist/src/parity/bridgeProcessTree.d.ts +3 -0
  236. package/dist/src/parity/bridgeProcessTree.d.ts.map +1 -0
  237. package/dist/src/parity/bridgeProcessTree.js +83 -0
  238. package/dist/src/parity/bridgeProcessTree.js.map +1 -0
  239. package/dist/src/parity/bridgeProviders.d.ts +16 -2
  240. package/dist/src/parity/bridgeProviders.d.ts.map +1 -1
  241. package/dist/src/parity/bridgeProviders.js +482 -100
  242. package/dist/src/parity/bridgeProviders.js.map +1 -1
  243. package/dist/src/parity/codewhaleRuntimeAdapter.d.ts +18 -0
  244. package/dist/src/parity/codewhaleRuntimeAdapter.d.ts.map +1 -0
  245. package/dist/src/parity/codewhaleRuntimeAdapter.js +350 -0
  246. package/dist/src/parity/codewhaleRuntimeAdapter.js.map +1 -0
  247. package/dist/src/parity/crushManagedClient.d.ts +84 -0
  248. package/dist/src/parity/crushManagedClient.d.ts.map +1 -0
  249. package/dist/src/parity/crushManagedClient.js +978 -0
  250. package/dist/src/parity/crushManagedClient.js.map +1 -0
  251. package/dist/src/parity/crushSessionHistory.d.ts +53 -0
  252. package/dist/src/parity/crushSessionHistory.d.ts.map +1 -0
  253. package/dist/src/parity/crushSessionHistory.js +358 -0
  254. package/dist/src/parity/crushSessionHistory.js.map +1 -0
  255. package/dist/src/parity/externalCliAuth.d.ts +23 -0
  256. package/dist/src/parity/externalCliAuth.d.ts.map +1 -0
  257. package/dist/src/parity/externalCliAuth.js +268 -0
  258. package/dist/src/parity/externalCliAuth.js.map +1 -0
  259. package/dist/src/parity/externalCliRuntimeManager.d.ts +138 -0
  260. package/dist/src/parity/externalCliRuntimeManager.d.ts.map +1 -0
  261. package/dist/src/parity/externalCliRuntimeManager.js +527 -0
  262. package/dist/src/parity/externalCliRuntimeManager.js.map +1 -0
  263. package/dist/src/parity/externalCliSessions.d.ts +90 -0
  264. package/dist/src/parity/externalCliSessions.d.ts.map +1 -0
  265. package/dist/src/parity/externalCliSessions.js +1436 -0
  266. package/dist/src/parity/externalCliSessions.js.map +1 -0
  267. package/dist/src/parity/reasonixAcpSession.d.ts +35 -0
  268. package/dist/src/parity/reasonixAcpSession.d.ts.map +1 -0
  269. package/dist/src/parity/reasonixAcpSession.js +472 -0
  270. package/dist/src/parity/reasonixAcpSession.js.map +1 -0
  271. package/dist/src/parity/reasonixManagedClient.d.ts +56 -0
  272. package/dist/src/parity/reasonixManagedClient.d.ts.map +1 -0
  273. package/dist/src/parity/reasonixManagedClient.js +293 -0
  274. package/dist/src/parity/reasonixManagedClient.js.map +1 -0
  275. package/dist/src/parity/reasonixSessionParser.d.ts +50 -0
  276. package/dist/src/parity/reasonixSessionParser.d.ts.map +1 -0
  277. package/dist/src/parity/reasonixSessionParser.js +440 -0
  278. package/dist/src/parity/reasonixSessionParser.js.map +1 -0
  279. package/dist/src/plugins/githubPlugin.d.ts +64 -0
  280. package/dist/src/plugins/githubPlugin.d.ts.map +1 -0
  281. package/dist/src/plugins/githubPlugin.js +261 -0
  282. package/dist/src/plugins/githubPlugin.js.map +1 -0
  283. package/dist/src/plugins/imageGenPlugin.d.ts +30 -0
  284. package/dist/src/plugins/imageGenPlugin.d.ts.map +1 -0
  285. package/dist/src/plugins/imageGenPlugin.js +225 -0
  286. package/dist/src/plugins/imageGenPlugin.js.map +1 -0
  287. package/dist/src/plugins/kimiWebBridgePlugin.d.ts +32 -0
  288. package/dist/src/plugins/kimiWebBridgePlugin.d.ts.map +1 -0
  289. package/dist/src/plugins/kimiWebBridgePlugin.js +214 -0
  290. package/dist/src/plugins/kimiWebBridgePlugin.js.map +1 -0
  291. package/dist/src/plugins/managedPluginCatalog.d.ts +50 -0
  292. package/dist/src/plugins/managedPluginCatalog.d.ts.map +1 -0
  293. package/dist/src/plugins/managedPluginCatalog.js +479 -0
  294. package/dist/src/plugins/managedPluginCatalog.js.map +1 -0
  295. package/dist/src/plugins/managedPluginHealth.d.ts +9 -0
  296. package/dist/src/plugins/managedPluginHealth.d.ts.map +1 -0
  297. package/dist/src/plugins/managedPluginHealth.js +172 -0
  298. package/dist/src/plugins/managedPluginHealth.js.map +1 -0
  299. package/dist/src/plugins/managedPluginRuntime.d.ts +14 -0
  300. package/dist/src/plugins/managedPluginRuntime.d.ts.map +1 -0
  301. package/dist/src/plugins/managedPluginRuntime.js +362 -0
  302. package/dist/src/plugins/managedPluginRuntime.js.map +1 -0
  303. package/dist/src/plugins/mediaGenProfiles.d.ts +74 -0
  304. package/dist/src/plugins/mediaGenProfiles.d.ts.map +1 -0
  305. package/dist/src/plugins/mediaGenProfiles.js +305 -0
  306. package/dist/src/plugins/mediaGenProfiles.js.map +1 -0
  307. package/dist/src/plugins/mediaGenPromptGuidance.d.ts +17 -0
  308. package/dist/src/plugins/mediaGenPromptGuidance.d.ts.map +1 -0
  309. package/dist/src/plugins/mediaGenPromptGuidance.js +53 -0
  310. package/dist/src/plugins/mediaGenPromptGuidance.js.map +1 -0
  311. package/dist/src/plugins/meshGenPlugin.d.ts +28 -0
  312. package/dist/src/plugins/meshGenPlugin.d.ts.map +1 -0
  313. package/dist/src/plugins/meshGenPlugin.js +267 -0
  314. package/dist/src/plugins/meshGenPlugin.js.map +1 -0
  315. package/dist/src/plugins/ocrPlugin.d.ts +46 -0
  316. package/dist/src/plugins/ocrPlugin.d.ts.map +1 -0
  317. package/dist/src/plugins/ocrPlugin.js +464 -0
  318. package/dist/src/plugins/ocrPlugin.js.map +1 -0
  319. package/dist/src/plugins/packageManifest.d.ts +16 -0
  320. package/dist/src/plugins/packageManifest.d.ts.map +1 -0
  321. package/dist/src/plugins/packageManifest.js +53 -0
  322. package/dist/src/plugins/packageManifest.js.map +1 -0
  323. package/dist/src/plugins/pluginLoader.d.ts +9 -0
  324. package/dist/src/plugins/pluginLoader.d.ts.map +1 -0
  325. package/dist/src/plugins/pluginLoader.js +32 -0
  326. package/dist/src/plugins/pluginLoader.js.map +1 -0
  327. package/dist/src/plugins/pluginManager.d.ts +21 -0
  328. package/dist/src/plugins/pluginManager.d.ts.map +1 -0
  329. package/dist/src/plugins/pluginManager.js +119 -0
  330. package/dist/src/plugins/pluginManager.js.map +1 -0
  331. package/dist/src/plugins/pluginPackageStore.d.ts +24 -0
  332. package/dist/src/plugins/pluginPackageStore.d.ts.map +1 -0
  333. package/dist/src/plugins/pluginPackageStore.js +191 -0
  334. package/dist/src/plugins/pluginPackageStore.js.map +1 -0
  335. package/dist/src/plugins/pluginRegistryClient.d.ts +12 -0
  336. package/dist/src/plugins/pluginRegistryClient.d.ts.map +1 -0
  337. package/dist/src/plugins/pluginRegistryClient.js +34 -0
  338. package/dist/src/plugins/pluginRegistryClient.js.map +1 -0
  339. package/dist/src/plugins/pluginResolver.d.ts +7 -0
  340. package/dist/src/plugins/pluginResolver.d.ts.map +1 -0
  341. package/dist/src/plugins/pluginResolver.js +18 -0
  342. package/dist/src/plugins/pluginResolver.js.map +1 -0
  343. package/dist/src/plugins/pluginTrustStore.d.ts +16 -0
  344. package/dist/src/plugins/pluginTrustStore.d.ts.map +1 -0
  345. package/dist/src/plugins/pluginTrustStore.js +47 -0
  346. package/dist/src/plugins/pluginTrustStore.js.map +1 -0
  347. package/dist/src/plugins/videoGenPlugin.d.ts +33 -0
  348. package/dist/src/plugins/videoGenPlugin.d.ts.map +1 -0
  349. package/dist/src/plugins/videoGenPlugin.js +299 -0
  350. package/dist/src/plugins/videoGenPlugin.js.map +1 -0
  351. package/dist/src/policy/approvalPolicy.d.ts +16 -0
  352. package/dist/src/policy/approvalPolicy.d.ts.map +1 -0
  353. package/dist/src/policy/approvalPolicy.js +38 -0
  354. package/dist/src/policy/approvalPolicy.js.map +1 -0
  355. package/dist/src/policy/auditLog.d.ts +14 -0
  356. package/dist/src/policy/auditLog.d.ts.map +1 -0
  357. package/dist/src/policy/auditLog.js +39 -0
  358. package/dist/src/policy/auditLog.js.map +1 -0
  359. package/dist/src/policy/index.d.ts +8 -0
  360. package/dist/src/policy/index.d.ts.map +1 -0
  361. package/dist/src/policy/index.js +8 -0
  362. package/dist/src/policy/index.js.map +1 -0
  363. package/dist/src/policy/policyLoader.d.ts +7 -0
  364. package/dist/src/policy/policyLoader.d.ts.map +1 -0
  365. package/dist/src/policy/policyLoader.js +70 -0
  366. package/dist/src/policy/policyLoader.js.map +1 -0
  367. package/dist/src/policy/policyResolver.d.ts +4 -0
  368. package/dist/src/policy/policyResolver.d.ts.map +1 -0
  369. package/dist/src/policy/policyResolver.js +67 -0
  370. package/dist/src/policy/policyResolver.js.map +1 -0
  371. package/dist/src/policy/policyStore.d.ts +13 -0
  372. package/dist/src/policy/policyStore.d.ts.map +1 -0
  373. package/dist/src/policy/policyStore.js +79 -0
  374. package/dist/src/policy/policyStore.js.map +1 -0
  375. package/dist/src/policy/runtimePolicy.d.ts +6 -0
  376. package/dist/src/policy/runtimePolicy.d.ts.map +1 -0
  377. package/dist/src/policy/runtimePolicy.js +30 -0
  378. package/dist/src/policy/runtimePolicy.js.map +1 -0
  379. package/dist/src/policy/types.d.ts +24 -0
  380. package/dist/src/policy/types.d.ts.map +1 -0
  381. package/dist/src/policy/types.js +2 -0
  382. package/dist/src/policy/types.js.map +1 -0
  383. package/dist/src/provider/client.d.ts +7 -1
  384. package/dist/src/provider/client.d.ts.map +1 -1
  385. package/dist/src/provider/client.js +61 -6
  386. package/dist/src/provider/client.js.map +1 -1
  387. package/dist/src/provider/openai-client.d.ts.map +1 -1
  388. package/dist/src/provider/openai-client.js +49 -3
  389. package/dist/src/provider/openai-client.js.map +1 -1
  390. package/dist/src/remote/artifactTransfer.d.ts +17 -0
  391. package/dist/src/remote/artifactTransfer.d.ts.map +1 -0
  392. package/dist/src/remote/artifactTransfer.js +52 -0
  393. package/dist/src/remote/artifactTransfer.js.map +1 -0
  394. package/dist/src/remote/index.d.ts +6 -0
  395. package/dist/src/remote/index.d.ts.map +1 -0
  396. package/dist/src/remote/index.js +6 -0
  397. package/dist/src/remote/index.js.map +1 -0
  398. package/dist/src/remote/localWorkerServer.d.ts +15 -0
  399. package/dist/src/remote/localWorkerServer.d.ts.map +1 -0
  400. package/dist/src/remote/localWorkerServer.js +33 -0
  401. package/dist/src/remote/localWorkerServer.js.map +1 -0
  402. package/dist/src/remote/protocol.d.ts +63 -0
  403. package/dist/src/remote/protocol.d.ts.map +1 -0
  404. package/dist/src/remote/protocol.js +46 -0
  405. package/dist/src/remote/protocol.js.map +1 -0
  406. package/dist/src/remote/remoteJobStore.d.ts +21 -0
  407. package/dist/src/remote/remoteJobStore.d.ts.map +1 -0
  408. package/dist/src/remote/remoteJobStore.js +175 -0
  409. package/dist/src/remote/remoteJobStore.js.map +1 -0
  410. package/dist/src/remote/remoteWorkerClient.d.ts +15 -0
  411. package/dist/src/remote/remoteWorkerClient.d.ts.map +1 -0
  412. package/dist/src/remote/remoteWorkerClient.js +34 -0
  413. package/dist/src/remote/remoteWorkerClient.js.map +1 -0
  414. package/dist/src/review/index.d.ts +4 -0
  415. package/dist/src/review/index.d.ts.map +1 -0
  416. package/dist/src/review/index.js +4 -0
  417. package/dist/src/review/index.js.map +1 -0
  418. package/dist/src/review/reviewStore.d.ts +12 -0
  419. package/dist/src/review/reviewStore.d.ts.map +1 -0
  420. package/dist/src/review/reviewStore.js +74 -0
  421. package/dist/src/review/reviewStore.js.map +1 -0
  422. package/dist/src/review/threadDiffService.d.ts +16 -0
  423. package/dist/src/review/threadDiffService.d.ts.map +1 -0
  424. package/dist/src/review/threadDiffService.js +118 -0
  425. package/dist/src/review/threadDiffService.js.map +1 -0
  426. package/dist/src/review/types.d.ts +42 -0
  427. package/dist/src/review/types.d.ts.map +1 -0
  428. package/dist/src/review/types.js +2 -0
  429. package/dist/src/review/types.js.map +1 -0
  430. package/dist/src/router/modelRouter.d.ts +1 -7
  431. package/dist/src/router/modelRouter.d.ts.map +1 -1
  432. package/dist/src/router/modelRouter.js +0 -30
  433. package/dist/src/router/modelRouter.js.map +1 -1
  434. package/dist/src/runtime/actoviqAgentExecutions.d.ts +85 -0
  435. package/dist/src/runtime/actoviqAgentExecutions.d.ts.map +1 -0
  436. package/dist/src/runtime/actoviqAgentExecutions.js +479 -0
  437. package/dist/src/runtime/actoviqAgentExecutions.js.map +1 -0
  438. package/dist/src/runtime/actoviqAgents.d.ts +15 -12
  439. package/dist/src/runtime/actoviqAgents.d.ts.map +1 -1
  440. package/dist/src/runtime/actoviqAgents.js +15 -0
  441. package/dist/src/runtime/actoviqAgents.js.map +1 -1
  442. package/dist/src/runtime/actoviqBackgroundTasks.d.ts +17 -2
  443. package/dist/src/runtime/actoviqBackgroundTasks.d.ts.map +1 -1
  444. package/dist/src/runtime/actoviqBackgroundTasks.js +291 -104
  445. package/dist/src/runtime/actoviqBackgroundTasks.js.map +1 -1
  446. package/dist/src/runtime/actoviqCompact.d.ts.map +1 -1
  447. package/dist/src/runtime/actoviqCompact.js +10 -75
  448. package/dist/src/runtime/actoviqCompact.js.map +1 -1
  449. package/dist/src/runtime/actoviqSkills.d.ts +14 -1
  450. package/dist/src/runtime/actoviqSkills.d.ts.map +1 -1
  451. package/dist/src/runtime/actoviqSkills.js +27 -2
  452. package/dist/src/runtime/actoviqSkills.js.map +1 -1
  453. package/dist/src/runtime/agentClient.d.ts +54 -2
  454. package/dist/src/runtime/agentClient.d.ts.map +1 -1
  455. package/dist/src/runtime/agentClient.js +1100 -214
  456. package/dist/src/runtime/agentClient.js.map +1 -1
  457. package/dist/src/runtime/agentExecution.d.ts +196 -0
  458. package/dist/src/runtime/agentExecution.d.ts.map +1 -0
  459. package/dist/src/runtime/agentExecution.js +360 -0
  460. package/dist/src/runtime/agentExecution.js.map +1 -0
  461. package/dist/src/runtime/agentRuntimeDiscovery.d.ts +8 -2
  462. package/dist/src/runtime/agentRuntimeDiscovery.d.ts.map +1 -1
  463. package/dist/src/runtime/agentRuntimeDiscovery.js +30 -18
  464. package/dist/src/runtime/agentRuntimeDiscovery.js.map +1 -1
  465. package/dist/src/runtime/agentSession.d.ts +7 -0
  466. package/dist/src/runtime/agentSession.d.ts.map +1 -1
  467. package/dist/src/runtime/agentSession.js +14 -5
  468. package/dist/src/runtime/agentSession.js.map +1 -1
  469. package/dist/src/runtime/conversationEngine.d.ts +13 -2
  470. package/dist/src/runtime/conversationEngine.d.ts.map +1 -1
  471. package/dist/src/runtime/conversationEngine.js +232 -53
  472. package/dist/src/runtime/conversationEngine.js.map +1 -1
  473. package/dist/src/runtime/externalSkillCatalog.d.ts +107 -0
  474. package/dist/src/runtime/externalSkillCatalog.d.ts.map +1 -0
  475. package/dist/src/runtime/externalSkillCatalog.js +895 -0
  476. package/dist/src/runtime/externalSkillCatalog.js.map +1 -0
  477. package/dist/src/runtime/externalSkillPreferences.d.ts +25 -0
  478. package/dist/src/runtime/externalSkillPreferences.d.ts.map +1 -0
  479. package/dist/src/runtime/externalSkillPreferences.js +132 -0
  480. package/dist/src/runtime/externalSkillPreferences.js.map +1 -0
  481. package/dist/src/runtime/externalSkillRuntime.d.ts +31 -0
  482. package/dist/src/runtime/externalSkillRuntime.d.ts.map +1 -0
  483. package/dist/src/runtime/externalSkillRuntime.js +129 -0
  484. package/dist/src/runtime/externalSkillRuntime.js.map +1 -0
  485. package/dist/src/runtime/sessionTurnCoordinator.d.ts +2 -2
  486. package/dist/src/runtime/sessionTurnCoordinator.js +2 -2
  487. package/dist/src/sandbox/index.d.ts +8 -0
  488. package/dist/src/sandbox/index.d.ts.map +1 -0
  489. package/dist/src/sandbox/index.js +8 -0
  490. package/dist/src/sandbox/index.js.map +1 -0
  491. package/dist/src/sandbox/linuxSandbox.d.ts +3 -0
  492. package/dist/src/sandbox/linuxSandbox.d.ts.map +1 -0
  493. package/dist/src/sandbox/linuxSandbox.js +17 -0
  494. package/dist/src/sandbox/linuxSandbox.js.map +1 -0
  495. package/dist/src/sandbox/macosSandbox.d.ts +3 -0
  496. package/dist/src/sandbox/macosSandbox.d.ts.map +1 -0
  497. package/dist/src/sandbox/macosSandbox.js +16 -0
  498. package/dist/src/sandbox/macosSandbox.js.map +1 -0
  499. package/dist/src/sandbox/networkPolicy.d.ts +4 -0
  500. package/dist/src/sandbox/networkPolicy.d.ts.map +1 -0
  501. package/dist/src/sandbox/networkPolicy.js +18 -0
  502. package/dist/src/sandbox/networkPolicy.js.map +1 -0
  503. package/dist/src/sandbox/policyResolver.d.ts +11 -0
  504. package/dist/src/sandbox/policyResolver.d.ts.map +1 -0
  505. package/dist/src/sandbox/policyResolver.js +95 -0
  506. package/dist/src/sandbox/policyResolver.js.map +1 -0
  507. package/dist/src/sandbox/sandboxExecutor.d.ts +12 -0
  508. package/dist/src/sandbox/sandboxExecutor.d.ts.map +1 -0
  509. package/dist/src/sandbox/sandboxExecutor.js +294 -0
  510. package/dist/src/sandbox/sandboxExecutor.js.map +1 -0
  511. package/dist/src/sandbox/types.d.ts +54 -0
  512. package/dist/src/sandbox/types.d.ts.map +1 -0
  513. package/dist/src/sandbox/types.js +2 -0
  514. package/dist/src/sandbox/types.js.map +1 -0
  515. package/dist/src/sandbox/windowsSandbox.d.ts +3 -0
  516. package/dist/src/sandbox/windowsSandbox.d.ts.map +1 -0
  517. package/dist/src/sandbox/windowsSandbox.js +12 -0
  518. package/dist/src/sandbox/windowsSandbox.js.map +1 -0
  519. package/dist/src/storage/agentExecutionStore.d.ts +31 -0
  520. package/dist/src/storage/agentExecutionStore.d.ts.map +1 -0
  521. package/dist/src/storage/agentExecutionStore.js +413 -0
  522. package/dist/src/storage/agentExecutionStore.js.map +1 -0
  523. package/dist/src/storage/backgroundTaskStore.d.ts +5 -0
  524. package/dist/src/storage/backgroundTaskStore.d.ts.map +1 -1
  525. package/dist/src/storage/backgroundTaskStore.js +79 -3
  526. package/dist/src/storage/backgroundTaskStore.js.map +1 -1
  527. package/dist/src/storage/sessionBranchSummary.d.ts +13 -0
  528. package/dist/src/storage/sessionBranchSummary.d.ts.map +1 -0
  529. package/dist/src/storage/sessionBranchSummary.js +15 -0
  530. package/dist/src/storage/sessionBranchSummary.js.map +1 -0
  531. package/dist/src/storage/sessionCatalog.d.ts +94 -0
  532. package/dist/src/storage/sessionCatalog.d.ts.map +1 -0
  533. package/dist/src/storage/sessionCatalog.js +359 -0
  534. package/dist/src/storage/sessionCatalog.js.map +1 -0
  535. package/dist/src/storage/sessionForkService.d.ts +16 -0
  536. package/dist/src/storage/sessionForkService.d.ts.map +1 -0
  537. package/dist/src/storage/sessionForkService.js +98 -0
  538. package/dist/src/storage/sessionForkService.js.map +1 -0
  539. package/dist/src/storage/sessionGraph.d.ts +22 -0
  540. package/dist/src/storage/sessionGraph.d.ts.map +1 -0
  541. package/dist/src/storage/sessionGraph.js +69 -0
  542. package/dist/src/storage/sessionGraph.js.map +1 -0
  543. package/dist/src/storage/sessionStore.d.ts +11 -1
  544. package/dist/src/storage/sessionStore.d.ts.map +1 -1
  545. package/dist/src/storage/sessionStore.js +146 -20
  546. package/dist/src/storage/sessionStore.js.map +1 -1
  547. package/dist/src/team/assistantTeamTools.d.ts +14 -0
  548. package/dist/src/team/assistantTeamTools.d.ts.map +1 -0
  549. package/dist/src/team/assistantTeamTools.js +122 -0
  550. package/dist/src/team/assistantTeamTools.js.map +1 -0
  551. package/dist/src/team/teamDefinitions.d.ts.map +1 -1
  552. package/dist/src/team/teamDefinitions.js +2 -3
  553. package/dist/src/team/teamDefinitions.js.map +1 -1
  554. package/dist/src/team/teamGraphLayout.d.ts +84 -1
  555. package/dist/src/team/teamGraphLayout.d.ts.map +1 -1
  556. package/dist/src/team/teamGraphLayout.js +256 -1
  557. package/dist/src/team/teamGraphLayout.js.map +1 -1
  558. package/dist/src/team/teamGraphScaffold.d.ts.map +1 -1
  559. package/dist/src/team/teamGraphScaffold.js +31 -0
  560. package/dist/src/team/teamGraphScaffold.js.map +1 -1
  561. package/dist/src/team/teamGraphV3.d.ts +1 -0
  562. package/dist/src/team/teamGraphV3.d.ts.map +1 -1
  563. package/dist/src/team/teamGraphV3.js +24 -5
  564. package/dist/src/team/teamGraphV3.js.map +1 -1
  565. package/dist/src/team/teamProposalService.d.ts +58 -0
  566. package/dist/src/team/teamProposalService.d.ts.map +1 -0
  567. package/dist/src/team/teamProposalService.js +282 -0
  568. package/dist/src/team/teamProposalService.js.map +1 -0
  569. package/dist/src/team/teamPropose.d.ts +19 -0
  570. package/dist/src/team/teamPropose.d.ts.map +1 -0
  571. package/dist/src/team/teamPropose.js +126 -0
  572. package/dist/src/team/teamPropose.js.map +1 -0
  573. package/dist/src/tools/actoviqCoreTools.d.ts.map +1 -1
  574. package/dist/src/tools/actoviqCoreTools.js +3 -1
  575. package/dist/src/tools/actoviqCoreTools.js.map +1 -1
  576. package/dist/src/tools/actoviqFileTools.d.ts.map +1 -1
  577. package/dist/src/tools/actoviqFileTools.js +33 -8
  578. package/dist/src/tools/actoviqFileTools.js.map +1 -1
  579. package/dist/src/tools/actoviqNotebookEdit.d.ts.map +1 -1
  580. package/dist/src/tools/actoviqNotebookEdit.js +16 -1
  581. package/dist/src/tools/actoviqNotebookEdit.js.map +1 -1
  582. package/dist/src/tools/actoviqShellTools.d.ts.map +1 -1
  583. package/dist/src/tools/actoviqShellTools.js +18 -0
  584. package/dist/src/tools/actoviqShellTools.js.map +1 -1
  585. package/dist/src/tools/bash/BashTool.d.ts.map +1 -1
  586. package/dist/src/tools/bash/BashTool.js +44 -10
  587. package/dist/src/tools/bash/BashTool.js.map +1 -1
  588. package/dist/src/tools/exaSearch.d.ts +56 -0
  589. package/dist/src/tools/exaSearch.d.ts.map +1 -0
  590. package/dist/src/tools/exaSearch.js +170 -0
  591. package/dist/src/tools/exaSearch.js.map +1 -0
  592. package/dist/src/tools/planMode/PlanModeTools.d.ts +1 -1
  593. package/dist/src/tools/planMode/PlanModeTools.d.ts.map +1 -1
  594. package/dist/src/tools/planMode/PlanModeTools.js +14 -10
  595. package/dist/src/tools/planMode/PlanModeTools.js.map +1 -1
  596. package/dist/src/tools/tavilySearch.d.ts +34 -1
  597. package/dist/src/tools/tavilySearch.d.ts.map +1 -1
  598. package/dist/src/tools/tavilySearch.js +69 -54
  599. package/dist/src/tools/tavilySearch.js.map +1 -1
  600. package/dist/src/tools/todo/TodoWriteTool.d.ts +1 -1
  601. package/dist/src/tui/actoviqTui.d.ts +3 -1
  602. package/dist/src/tui/actoviqTui.d.ts.map +1 -1
  603. package/dist/src/tui/actoviqTui.js +1833 -156
  604. package/dist/src/tui/actoviqTui.js.map +1 -1
  605. package/dist/src/types.d.ts +291 -14
  606. package/dist/src/types.d.ts.map +1 -1
  607. package/dist/src/types.js.map +1 -1
  608. package/dist/src/ui/agentExecutionView.d.ts +111 -0
  609. package/dist/src/ui/agentExecutionView.d.ts.map +1 -0
  610. package/dist/src/ui/agentExecutionView.js +442 -0
  611. package/dist/src/ui/agentExecutionView.js.map +1 -0
  612. package/dist/src/ui/commandSurface.d.ts +2 -0
  613. package/dist/src/ui/commandSurface.d.ts.map +1 -1
  614. package/dist/src/ui/commandSurface.js +98 -5
  615. package/dist/src/ui/commandSurface.js.map +1 -1
  616. package/dist/src/update/appUpdateService.d.ts +58 -0
  617. package/dist/src/update/appUpdateService.d.ts.map +1 -0
  618. package/dist/src/update/appUpdateService.js +190 -0
  619. package/dist/src/update/appUpdateService.js.map +1 -0
  620. package/dist/src/workflow-v2/localIsolatedProcessExecutor.d.ts.map +1 -1
  621. package/dist/src/workflow-v2/localIsolatedProcessExecutor.js +6 -2
  622. package/dist/src/workflow-v2/localIsolatedProcessExecutor.js.map +1 -1
  623. package/dist/src/worktree/taskWorktreeCoordinator.d.ts +34 -0
  624. package/dist/src/worktree/taskWorktreeCoordinator.d.ts.map +1 -0
  625. package/dist/src/worktree/taskWorktreeCoordinator.js +120 -0
  626. package/dist/src/worktree/taskWorktreeCoordinator.js.map +1 -0
  627. package/package.json +44 -7
package/CHANGELOG.md CHANGED
@@ -4,6 +4,57 @@ All notable changes to this project will be documented in this file.
4
4
 
5
5
  The format is based on Keep a Changelog, with automated updates from GitHub Releases.
6
6
 
7
+ ## Unreleased
8
+
9
+ ## v0.4.9 - 2026-07-30
10
+
11
+ ### Platform
12
+
13
+ - **Policy / sandbox / hooks** — host/user/project policy resolution, OS sandbox adapters (Linux bubblewrap / macOS sandbox-exec / Windows degraded), and typed lifecycle hooks.
14
+ - **Checkpoints / goals / session graph** — durable file+conversation checkpoints, goal contracts, and session fork/tree/catalog primitives.
15
+ - **App-server / remote / VS Code** — stdio/WebSocket JSON app-server, file-backed remote job leases, and a VS Code extension client.
16
+ - **Plugin packages** — versioned installable plugins with integrity-required trust grants.
17
+ - **Code intel / updates / worktrees / proposals** — LSP tools, app update service, task worktree coordination, context rules, review/diff stores, memory and team proposals.
18
+
19
+ ### GUI
20
+
21
+ - Upgrade the bottom-right FAB to a global **Assistant**: always visible, chat icon, Global/Project scope. Global mode lists project briefs and can change settings/plugins/bridge/automation/MCP (no source Write/Edit/Bash); Project mode keeps Manager update/plan/issues.
22
+ - Remove the redundant sidebar **New chat** button; start chats from project detail **+ New conversation**.
23
+ - Fix opening local workspace paths: strip quotes / `file://`, require directories, surface API errors in the Open workspace dialog, roll back on failure, and allow credentialless opens (External CLI).
24
+ - Remove Settings → **Automation** / **Browser** / **Computer control**. Configure schedules in the main **Automation** region; configure Playwright and Computer Use under **Customize → Plugins**.
25
+
26
+ ### Managed plugins
27
+
28
+ - Add **Image Generation**, **Video Generation**, and **3D Generation** managed plugins with multi-profile / multi-key configuration (Gemini Nano Banana, GPT Image 2, Qwen-Image; Seedance, Hailuo, HappyHorse; Meshy, Tripo, Rodin).
29
+ - Agent tools `generate_image` / `generate_video` / `generate_mesh` inject Qwen-style professional prompt-rewrite guidance and let the model choose among configured profiles.
30
+ - Customize → Plugins includes a profile list editor with **Get API Key** links to each provider console.
31
+
32
+ ### Bridge / tests / CI
33
+
34
+ - Add regression coverage for consecutive `ActoviqBridgeSession.stream()` calls so the second turn uses `--resume` (GitHub #8).
35
+ - Harden GUI publish update-metadata validation (`workflow_dispatch` may rebuild an existing tag with the current builder).
36
+
37
+ ### Notes
38
+
39
+ - This release stays on the **0.4.x** line. **1.0.0 is not published yet.**
40
+ - Windows shell sandbox remains best-effort/degraded; `enforcement: required` fails closed when OS isolation is unavailable.
41
+
42
+ ## v0.4.8 - 2026-07-27
43
+
44
+ ### Runtime / prompt cache
45
+
46
+ - Keep conversation history **append-only** on the wire and in session compact: no sliding-window rewrite of historical `tool_result` content between ReAct turns or auto session compact (aligns with Claude Code third-party behavior).
47
+ - Context pressure is handled by **full summary compact** (in-loop + session), not by nibbling earlier tool results. Default `apiMicrocompactClearToolResults` is now `false`.
48
+ - Map DeepSeek `prompt_cache_hit_tokens` → `cache_read_input_tokens` for local usage / GUI reporting. DeepSeek Context Caching remains automatic on their side; Anthropic hosts still receive explicit `cache_control` breakpoints.
49
+
50
+ ### GUI / docs
51
+
52
+ - Document that the desktop **Agent graph** orchestration UI remains **under active iteration and optimization** (not a stable product surface). Prefer `/team`, saved team definitions, and SDK `createTeam()` / graph runtime for production workflows.
53
+
54
+ ### Notes
55
+
56
+ - This release stays on the **0.4.x** line. **1.0.0 is not published yet.**
57
+
7
58
  ## v0.4.7 - 2026-07-12
8
59
 
9
60
  ### GUI
@@ -14,7 +65,7 @@ The format is based on Keep a Changelog, with automated updates from GitHub Rele
14
65
 
15
66
  ### Still under development (not product-ready in 0.4.7)
16
67
 
17
- - Main **Agent** / team-graph region UI
68
+ - Main **Agent** / team-graph / **Agent graph orchestration UI** — still being iterated and optimized; do not treat as finished
18
69
  - Settings: **Profile**, **Browser**, **Computer control**, dedicated **Worktrees** tab
19
70
  - Keyboard shortcut remapping (reference list only)
20
71
  - Full 1.0 runtime/package surface (tracked as unreleased below)
package/README-zh.md CHANGED
@@ -9,14 +9,16 @@
9
9
 
10
10
  文档站地址:https://deconbear.github.io/actoviq-agent-sdk/
11
11
 
12
- **Actoviq**(`0.4.x`)是 TypeScript agent SDK 与 agent-team 平台,含 TUI、GUI、Bridge 与多 agent 协作。未来的 **1.0** 线将稳定 package subpath 契约;该表面**尚未发布**。GUI 仍隐藏部分开发中面板(详见 `CHANGELOG.md` 的 0.4.7)。
12
+ **Actoviq**(`0.4.x`)是 TypeScript agent SDK 与 agent-team 平台,含 TUI、GUI、Bridge 与多 agent 协作。未来的 **1.0** 线将稳定 package subpath 契约;该表面**尚未发布**。
13
+
14
+ > **说明:** 桌面端 **Agent graph** 编排 UI(可视化团队 / 图编辑器)**仍在持续迭代与优化中**,交互与行为可能变化。生产工作流请优先使用 `/team`、已保存的 team 定义,以及 SDK 的 `createTeam()` / graph runtime。详见 `CHANGELOG.md`。
13
15
 
14
16
  受 Claude Code、Codex、Deepagents 等项目启发。Actoviq 保持独立,拥有自己的公开 API 与文档。
15
17
 
16
18
  ## 愿景
17
19
 
18
20
  - **多 agent**:子代理委派(Task 工具)、panel-analysis 团队、reviewer-auditor 对、动态 workflow —— agent 之间协作,而非单一的 ReAct 循环。
19
- - **多运行时状态管理**:bridge config 支持预配置多个后端(anthropic / openai / 任意兼容)的 apiKey + baseURL + model,命名切换,对话上下文在切换中保留(同一个 session 对象、同一份 transcript)。
21
+ - **多运行时状态管理**:bridge config 明确区分两种模式。`Direct API` 在进程内调用 Anthropic/OpenAI 兼容接口;`External CLI` 则把已安装的 Claude Code、Codex、Pi、CodeWhale、Reasonix Crush 作为子进程托管,并在 CLI 协议提供会话 ID 时保留原生 session 身份。
20
22
  - **model team 协作**:leader 将每轮分派给最佳 specialist(`/model router`),panel 成员并行调查并收敛,reviewer 只报告可验证的问题 —— team 是 agent 可调用的一等工具。
21
23
 
22
24
  ## 亮点
@@ -24,8 +26,8 @@
24
26
  - **Model Team** — `panel-analysis`(并行调查 + 收敛)和 `reviewer`(只报告可验证问题的审计者)。runtime-owned 成员池、流式 `TeamEvent`、成员 provider 配置,以及继承的权限/重试边界。
25
27
  - **Model Router / Leader-Dispatch** — 每轮由 leader 分派到最佳 specialist(任意模型/提供商),执行者自身也可召集 team。Profile 位于 `~/.actoviq/routers/`。
26
28
  - **Dynamic Workflows** — 显式信任等级的 JS 编排:trusted 兼容执行、隔离 local-process,或由 host 提供的远程/container 强 sandbox;local process 不宣传为对抗性多租户沙箱。
27
- - **Bridge(命名连接配置)**进程内运行时切换:预配置 `anthropic`/`openai` 后端,命名 + apiKey + baseURL + model,命名切换,多轮上下文保留。`/bridge config` 单页编辑器;`/bridge` 列出已保存配置;`/cost` 中按配置展示用量。
28
- - **桌面 GUI (`actoviq-gui`)** — Electron 聊天 UI:流式 transcript、对话历史、命令面板、设置、每工具权限提示。安全增强。
29
+ - **Bridge(命名运行时配置)**可选 `Direct API` provider/API 级复用,也可选 `External CLI` 直接启动已安装的 Claude Code、Codex、Pi、CodeWhale、Reasonix Crush,继承各 CLI 的原生登录和配置、流式显示规范化后的工具与回答事件、终止后台任务,并浏览/恢复受支持的原生会话。单独填写的 key 只注入子进程,不写入 CLI 的凭据库;Pi、CodeWhale、Reasonix 与 Crush 会使用按配置隔离的持久会话目录,因此 key 模式重启后仍可读取历史,同时不会读取原生登录凭据。
30
+ - **桌面 GUI (`actoviq-gui`)** — Electron 聊天 UI:流式 transcript、对话历史、命令面板、设置、每工具权限提示。安全增强。全局 **Assistant** FAB(Global/Project 作用域)。可视化 **Agent graph** 编排 UI 仍在迭代中,暂勿当作稳定产品面。
29
31
  - **TUI (`actoviq-tui`)** — 终端 UI,25+ 斜杠命令,Claude Code 风格 UX:`/team`、`/bridge`、`/plan`、`/hooks`、`/mcp`、`/review`、`/context`、`/cost`、`/doctor` 等。实时状态旋转器、滚动 transcript、todo 面板、项目/用户级权限对话框、子命令自动补全。
30
32
  - **计划模式 + hooks** — `EnterPlanMode`/`ExitPlanMode` 工具 + 计划文件;`settings.json` 中的 `PreToolUse`/`PostToolUse`/`SessionStart` hooks。
31
33
  - **Worktree 工具** — `EnterWorktree`/`ExitWorktree`,栈式 cwd,`.worktreeinclude`,PR checkout。
@@ -93,7 +95,7 @@ try {
93
95
  }
94
96
  ```
95
97
 
96
- 0.x 应用可继续从 package root 或 `/compat` 导入 `createAgentSdk`。新应用应使用上述职责 subpath;迁移步骤见 [1.0 迁移指南](./docs/zh/09-sdk-v2-migration-guide.md)
98
+ 0.x 应用可继续从 package root 或 `/compat` 导入 `createAgentSdk`;新应用应使用上述职责 subpath。
97
99
 
98
100
  运行仓库示例:
99
101
 
@@ -126,7 +128,7 @@ npx actoviq-tui [工作目录] [选项]
126
128
  # --continue 继续最近更新的会话
127
129
  ```
128
130
 
129
- 特性与英文 README 一致,包括上下文管理、bridge config、计划模式、hooks、MCP、诊断等。
131
+ 特性与英文 README 一致,包括上下文管理(append-only 前缀以利于 DeepSeek 等自动缓存;超阈值走整段摘要 compact)、bridge config、计划模式、hooks、MCP、诊断等。六种 External CLI 都可使用 `/bridge status`、`/bridge background`、`/bridge runs` 和 `/bridge stop`;`/bridge history` 与 `/bridge resume` 在 TUI 和 GUI 中共享同一套校验逻辑,但原生历史/恢复能力仍取决于已安装 CLI 的协议与版本。
130
132
 
131
133
  ## 桌面 GUI (`actoviq-gui`)
132
134
 
@@ -135,6 +137,7 @@ npx actoviq-gui [工作目录] [选项]
135
137
  ```
136
138
 
137
139
  - Project 详情提供 `Document` / `Issues` 双 Tab。Issue 支持优先级、标签、验收标准、评论,以及受守卫保护的 `backlog → todo → in_progress → in_review/blocked → done` 生命周期。
140
+ - **Agent graph 编排 UI**(GUI **Agent** 区域的可视化团队/图编辑器)**仍在持续迭代和优化中**,请勿当作已定稿产品面;稳定工作流请用已保存 team + `/team` / SDK API。
138
141
  - Settings → Models & routing 可创建 Agent Profile,将 bridge config 与模型绑定。`/issues start <id> [agent-profile]` 会先让 Project Manager 生成任务书,再创建关联会话;执行 agent 通过 `IssueReport` 汇报待审或阻塞状态。
139
142
  - Issue 与会话可双向跳转。Issue 默认保存在 `<data-root>/projects/<workspace-key>/issues.json`,也可切换到受保护的工作区文件 `.actoviq/issues.json`。
140
143
  - Settings → General 可将完整数据根目录迁移到空目录:复制并校验数据、写入 bootstrap 指针、重建 SDK/session store,并保留旧目录供手动清理。
@@ -162,11 +165,6 @@ npx actoviq-gui [工作目录] [选项]
162
165
 
163
166
  架构与运维文档:
164
167
 
165
- - [架构审计与实施规划](./docs/zh/08-sdk-architecture-audit-and-optimization-plan.md)
166
- - [1.0 迁移指南](./docs/zh/09-sdk-v2-migration-guide.md)
167
- - [支持、安全、SemVer 与 failure model](./docs/zh/10-support-security-semver-and-failure-model.md)
168
- - [JSON v1 → SQLite 迁移 Runbook](./docs/zh/11-json-v1-to-sqlite-migration-runbook.md)
169
- - [1.0 实施与端到端验收报告](./docs/zh/12-sdk-1.0-implementation-and-verification-report.md)
170
168
  - [安全报告政策](./SECURITY.md)
171
169
 
172
170
  ## 参与贡献
package/README.md CHANGED
@@ -9,14 +9,16 @@
9
9
 
10
10
  Documentation site: https://deconbear.github.io/actoviq-agent-sdk/
11
11
 
12
- **Actoviq** (`0.4.x`) is a TypeScript agent SDK and agent-team platform with TUI, GUI, Bridge, and multi-agent collaboration. A future **1.0** line will stabilize package subpath contracts; that surface is **not published yet**. The GUI still hides some under-development panels (see `CHANGELOG.md` for 0.4.7).
12
+ **Actoviq** (`0.4.x`) is a TypeScript agent SDK and agent-team platform with TUI, GUI, Bridge, and multi-agent collaboration. A future **1.0** line will stabilize package subpath contracts; that surface is **not published yet**.
13
+
14
+ > **Note:** The desktop **Agent graph** orchestration UI (visual team / graph editor) is **still under active iteration and optimization** — expect UX and API changes. Prefer `/team`, saved team definitions, and the SDK `createTeam()` / graph runtime for production workflows today. See `CHANGELOG.md`.
13
15
 
14
16
  Inspired by Claude Code, Codex, Deepagents, and the broader agent ecosystem. Actoviq remains independent with its own public surface and documentation.
15
17
 
16
18
  ## Vision
17
19
 
18
20
  - **Multi-agent**: subagent delegation (Task tool), panel-analysis teams, reviewer-auditor pairs, dynamic workflows — agents collaborating, not just a single loop.
19
- - **Multi-runtime state management**: bridge configs let you pre-configure multiple backends (anthropic / openai / any-compatible) with apiKey + baseURL + model, switch by name mid-session, and the conversation context survives the switch (same session object, same transcript).
21
+ - **Multi-runtime state management**: bridge configs have two explicit modes. `Direct API` calls Anthropic/OpenAI-compatible providers in-process; `External CLI` manages installed Claude Code, Codex, Pi, CodeWhale, Reasonix, or Crush runtimes as child processes and preserves native session identities when the CLI protocol exposes them.
20
22
  - **Model team collaboration**: leaders dispatch to specialists (`/model router`), panel members investigate in parallel with structured convergence, reviewers report only verifiable issues — teams as first-class tools the agent invokes.
21
23
 
22
24
  ## Highlights
@@ -24,8 +26,8 @@ Inspired by Claude Code, Codex, Deepagents, and the broader agent ecosystem. Act
24
26
  - **Model Team** — `panel-analysis` (parallel investigation + convergence) and `reviewer` (verifiable-issues-only auditor). Runtime-owned member pooling, streamed `TeamEvent`s, per-member provider config, and inherited permission/retry boundaries.
25
27
  - **Model Router / Leader-Dispatch** — a leader classifies each turn and dispatches it to the best specialist route (any model/provider), runs normally, and the executor may itself convene a team. Profiles in `~/.actoviq/routers/`.
26
28
  - **Dynamic Workflows** — JS script-based orchestration with explicit trust levels: trusted compatibility execution, isolated local-process execution, or a host-supplied remote/container sandbox for adversarial inputs.
27
- - **Bridge (named connection configs)** — in-process runtime switching: pre-configure `anthropic`/`openai` backends with name + apiKey + baseURL + model, switch by name mid-session, multi-turn context survives (same session). `/bridge config` single-page editor; `/bridge` lists saved configs; per-config usage tracking in `/cost`.
28
- - **Desktop GUI (`actoviq-gui`)** — Electron chat UI: streamed transcript, conversation history, command palette, settings, per-tool permission prompts. Security-hardened.
29
+ - **Bridge (named runtime configs)** — choose `Direct API` for provider-level reuse, or `External CLI` to launch installed Claude Code, Codex, Pi, CodeWhale, Reasonix, or Crush; reuse each CLI's native login/config, stream normalized tool and assistant events, stop background work, and browse/resume supported native conversations. An explicit key override is injected only into the child and is not written to the CLI's credential store; Pi, CodeWhale, Reasonix, and Crush keep isolated per-config session profiles so that key-mode history survives restarts without reading the native login store.
30
+ - **Desktop GUI (`actoviq-gui`)** — Electron chat UI: streamed transcript, conversation history, command palette, settings, per-tool permission prompts. Security-hardened. Global **Assistant** FAB (Global/Project scope). The visual **Agent graph** orchestration UI is shipping in-progress and continues to be iterated (not a stable product surface yet).
29
31
  - **TUI (`actoviq-tui`)** — Terminal UI with 25+ slash commands, Claude Code-style UX: `/team`, `/bridge`, `/plan`, `/hooks`, `/mcp`, `/review`, `/context`, `/cost`, `/doctor`, and more. Live status spinner, scrollback transcript, todo panel, permission dialogs with project/user scope, sub-command autocomplete.
30
32
  - **Plan mode + hooks** — `EnterPlanMode`/`ExitPlanMode` tools with plan file; user-configurable `PreToolUse`/`PostToolUse`/`SessionStart` hooks from `settings.json`.
31
33
  - **Worktree Tools** — `EnterWorktree`/`ExitWorktree` with stack-based cwd, `.worktreeinclude`, PR checkout.
@@ -94,7 +96,7 @@ try {
94
96
  }
95
97
  ```
96
98
 
97
- Existing 0.x applications may keep importing `createAgentSdk` from the package root or `/compat`. See the [1.0 migration guide](./docs/zh/09-sdk-v2-migration-guide.md); new applications should use the responsibility subpaths above.
99
+ Existing 0.x applications may keep importing `createAgentSdk` from the package root or `/compat`; new applications should use the responsibility subpaths above.
98
100
 
99
101
  Run the repository examples with:
100
102
 
@@ -146,9 +148,9 @@ Features:
146
148
  - **Permission presets + per-tool scope** — `/permissions` switches between read-only/workspace/full/plan presets; always-allow rules persist with project or user scope.
147
149
  - **Mid-run steering** — keep typing while the agent works and press `Enter`: the message is queued and injected into the very next model request (shown as `⧗ queued`).
148
150
  - **Plan mode + hooks** — `/plan` enters plan mode (`EnterPlanMode`/`ExitPlanMode` tools, plan file); `PreToolUse`/`PostToolUse`/`SessionStart` hooks from settings.json; `/hooks` lists them.
149
- - **Bridge configs** — `/bridge config` manages named connection profiles (name + runtime + apiKey + baseURL + model); `/bridge` lists them; selecting one switches the active runtime in-process. Per-config usage in `/cost` and `/usage`.
151
+ - **Bridge configs** — `/bridge config` manages named API or External CLI profiles for all six managed CLIs. `/bridge status`, `/bridge background`, `/bridge runs`, `/bridge stop`, `/bridge history`, and `/bridge resume` expose the same runtime lifecycle in the TUI and GUI; native history/resume remains subject to each installed CLI's protocol/version support.
150
152
  - **Diagnostics + inspection** — `/doctor` checks config health; `/context` inspects the context window; `/cost`/`/usage` track token + spend (per-config breakdown); `/review` reviews the git diff; `/stats` shows session stats.
151
- - **Context management built in** — the Hadamard SDK auto-compacts long sessions mid-run and reactively recovers when a provider rejects an oversized prompt; compactions surface as `∿ context compacted` notices.
153
+ - **Context management built in** — the Hadamard SDK auto-compacts long sessions mid-run (full summary compact) and reactively recovers when a provider rejects an oversized prompt; notices surface as context compacted. History stays **append-only** between turns so automatic prefix caches (e.g. DeepSeek Context Caching) stay hot; Anthropic hosts still get explicit cache_control breakpoints. Oversized tool outputs are artifacted at write time rather than rewriting earlier messages.
152
154
  - **MCP management** — `/mcp add`/`/mcp remove` manage stdio + remote HTTP MCP servers, persisted to `~/.actoviq/mcp.json`.
153
155
  - **Image attachments** — `@<path>.png` tokens expand into image content blocks (in-process, read as base64).
154
156
 
@@ -181,6 +183,7 @@ It opens an Electron window backed by a localhost-only HTTP server. Features:
181
183
  - **Command palette + slash commands**, settings (provider / model / keys / appearance), workspace switching, and empty-chat cleanup
182
184
  - **Per-tool permission prompts** (queued so concurrent requests don't collide) and a token-usage readout
183
185
  - **Project Documents + Issues** — each Project detail page has `Document` and `Issues` tabs. Issues use the guarded `backlog → todo → in_progress → in_review/blocked → done` lifecycle, support priorities, labels, acceptance criteria, comments, and links back to their worker sessions.
186
+ - **Agent graph orchestration UI** — visual team/graph editor lives in the GUI **Agent** region; **it is still being iterated and optimized** and should not be treated as a finished product surface. Prefer saved teams + `/team` / SDK APIs for stable workflows.
184
187
  - **Agent Profiles for issue dispatch** — Settings → Models & routing can bind a named profile to a saved bridge config and model. `/issues start <id> [agent-profile]` asks the Project Manager for a worker brief, starts a linked session without changing the globally active runtime, and requires the worker to report through `IssueReport`.
185
188
  - **Movable data root** — Settings → General can copy the complete Actoviq data root to an empty directory, validate it, write the bootstrap pointer, rebuild the SDK/session store, and retain the previous directory for manual cleanup.
186
189
 
@@ -215,11 +218,6 @@ Start with these examples:
215
218
 
216
219
  Architecture and operations:
217
220
 
218
- - [Architecture audit and implementation plan](./docs/zh/08-sdk-architecture-audit-and-optimization-plan.md)
219
- - [1.0 migration guide](./docs/zh/09-sdk-v2-migration-guide.md)
220
- - [Support, security, SemVer, and failure model](./docs/zh/10-support-security-semver-and-failure-model.md)
221
- - [JSON v1 to SQLite migration runbook](./docs/zh/11-json-v1-to-sqlite-migration-runbook.md)
222
- - [1.0 implementation and verification report](./docs/zh/12-sdk-1.0-implementation-and-verification-report.md)
223
221
  - [Security policy](./SECURITY.md)
224
222
 
225
223
  ## Contributing
package/SECURITY.md CHANGED
@@ -16,7 +16,7 @@ Do not open a public issue for a suspected vulnerability. Use the repository's [
16
16
 
17
17
  Avoid including real credentials or private user data. If private reporting is unavailable, open a public issue containing no exploit details and ask a maintainer to establish a private channel.
18
18
 
19
- The maintainers will acknowledge receipt, validate severity, coordinate remediation and disclosure, and publish an advisory when appropriate. Response targets and the full threat/failure policy are documented in [docs/zh/10-support-security-semver-and-failure-model.md](docs/zh/10-support-security-semver-and-failure-model.md).
19
+ The maintainers will acknowledge receipt, validate severity, coordinate remediation and disclosure, and publish an advisory when appropriate.
20
20
 
21
21
  ## Security boundaries
22
22
 
Binary file
@@ -0,0 +1,5 @@
1
+ #!/usr/bin/env node
2
+ import('../dist/src/app-server/cli.js').catch(error => {
3
+ console.error('Failed to start actoviq-app-server:', error);
4
+ process.exit(1);
5
+ });
@@ -0,0 +1,14 @@
1
+ import type { ActoviqAgentClient } from '../runtime/agentClient.js';
2
+ import { type AppServerNotification, type AppServerRequest, type AppServerResponse } from './protocol.js';
3
+ export type AppServerEmit = (notification: AppServerNotification) => void;
4
+ export declare class AppServer {
5
+ private readonly sdk;
6
+ private readonly liveSessions;
7
+ constructor(sdk: ActoviqAgentClient);
8
+ handle(request: AppServerRequest, emit?: AppServerEmit): Promise<AppServerResponse>;
9
+ private dispatch;
10
+ private openSession;
11
+ private rememberSession;
12
+ private goalService;
13
+ }
14
+ //# sourceMappingURL=appServer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"appServer.d.ts","sourceRoot":"","sources":["../../../src/app-server/appServer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAIpE,OAAO,EAA+B,KAAK,qBAAqB,EAAE,KAAK,gBAAgB,EAAE,KAAK,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAEvI,MAAM,MAAM,aAAa,GAAG,CAAC,YAAY,EAAE,qBAAqB,KAAK,IAAI,CAAC;AAI1E,qBAAa,SAAS;IAGR,OAAO,CAAC,QAAQ,CAAC,GAAG;IAFhC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAmC;gBAEnC,GAAG,EAAE,kBAAkB;IAE9C,MAAM,CAAC,OAAO,EAAE,gBAAgB,EAAE,IAAI,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,iBAAiB,CAAC;YAmB3E,QAAQ;YAiHR,WAAW;IAMzB,OAAO,CAAC,eAAe;IAWvB,OAAO,CAAC,WAAW;CAGpB"}
@@ -0,0 +1,228 @@
1
+ import { GoalService } from '../goal/goalService.js';
2
+ import { APP_SERVER_PROTOCOL_VERSION } from './protocol.js';
3
+ const MAX_LIVE_SESSIONS = 32;
4
+ export class AppServer {
5
+ sdk;
6
+ liveSessions = new Map();
7
+ constructor(sdk) {
8
+ this.sdk = sdk;
9
+ }
10
+ async handle(request, emit) {
11
+ try {
12
+ return {
13
+ version: APP_SERVER_PROTOCOL_VERSION,
14
+ id: request.id,
15
+ result: await this.dispatch(request.method, request.params ?? {}, emit),
16
+ };
17
+ }
18
+ catch (error) {
19
+ return {
20
+ version: APP_SERVER_PROTOCOL_VERSION,
21
+ id: request.id,
22
+ error: {
23
+ code: 'APP_SERVER_ERROR',
24
+ message: error instanceof Error ? error.message : String(error),
25
+ },
26
+ };
27
+ }
28
+ }
29
+ async dispatch(method, params, emit) {
30
+ if (method === 'initialize') {
31
+ return {
32
+ protocolVersion: APP_SERVER_PROTOCOL_VERSION,
33
+ capabilities: APP_SERVER_CAPABILITIES,
34
+ };
35
+ }
36
+ if (method === 'capability/list')
37
+ return APP_SERVER_CAPABILITIES;
38
+ if (method === 'session/list')
39
+ return this.sdk.sessions.list();
40
+ if (method === 'session/tree')
41
+ return this.sdk.sessionGraph.roots();
42
+ if (method === 'session/create') {
43
+ const session = await this.sdk.createSession({
44
+ title: stringParam(params, 'title', false),
45
+ model: stringParam(params, 'model', false),
46
+ });
47
+ this.rememberSession(session);
48
+ return session.snapshot();
49
+ }
50
+ if (method === 'session/open') {
51
+ const session = await this.openSession(stringParam(params, 'sessionId'));
52
+ return session.snapshot();
53
+ }
54
+ if (method === 'session/close') {
55
+ const sessionId = stringParam(params, 'sessionId');
56
+ this.liveSessions.delete(sessionId);
57
+ return { closed: true };
58
+ }
59
+ if (method === 'session/send') {
60
+ const sessionId = stringParam(params, 'sessionId');
61
+ const session = await this.openSession(sessionId);
62
+ const stream = session.stream(stringParam(params, 'input'));
63
+ if (emit) {
64
+ // Consume the event stream to completion before returning so response
65
+ // ordering stays behind session/event notifications on stdio/WS.
66
+ for await (const event of stream) {
67
+ emit({
68
+ version: APP_SERVER_PROTOCOL_VERSION,
69
+ type: 'event',
70
+ method: 'session/event',
71
+ params: { sessionId, event },
72
+ });
73
+ }
74
+ }
75
+ return stream.result;
76
+ }
77
+ if (method === 'diff/get') {
78
+ return this.sdk.getSessionDiff(stringParam(params, 'sessionId'));
79
+ }
80
+ if (method === 'diff/apply') {
81
+ if (params.confirm !== true)
82
+ throw new Error('diff/apply requires confirm:true.');
83
+ return this.sdk.applySessionDiff(stringParam(params, 'sessionId'), stringParam(params, 'targetDir', false));
84
+ }
85
+ if (method === 'checkpoint/list') {
86
+ return this.sdk.checkpoints.list(stringParam(params, 'sessionId'));
87
+ }
88
+ if (method === 'checkpoint/preview') {
89
+ return this.sdk.checkpoints.preview(stringParam(params, 'sessionId'), stringParam(params, 'checkpointId'));
90
+ }
91
+ if (method === 'checkpoint/restore') {
92
+ if (params.confirm !== true)
93
+ throw new Error('checkpoint/restore requires confirm:true.');
94
+ const mode = checkpointMode(params.mode);
95
+ return this.sdk.checkpoints.restore({
96
+ sessionId: stringParam(params, 'sessionId'),
97
+ checkpointId: stringParam(params, 'checkpointId'),
98
+ mode,
99
+ });
100
+ }
101
+ if (method === 'goal/get') {
102
+ return this.goalService(await this.openSession(stringParam(params, 'sessionId'))).read();
103
+ }
104
+ if (method === 'goal/create') {
105
+ return this.goalService(await this.openSession(stringParam(params, 'sessionId'))).create({
106
+ objective: stringParam(params, 'objective'),
107
+ completionCriteria: stringParam(params, 'completionCriteria', false),
108
+ });
109
+ }
110
+ if (method === 'goal/transition') {
111
+ const status = stringParam(params, 'status');
112
+ if (status !== 'active' && status !== 'paused') {
113
+ throw new Error('status must be active or paused.');
114
+ }
115
+ return this.goalService(await this.openSession(stringParam(params, 'sessionId')))
116
+ .transition(status);
117
+ }
118
+ if (method === 'goal/revise') {
119
+ return this.goalService(await this.openSession(stringParam(params, 'sessionId'))).revise({
120
+ objective: stringParam(params, 'objective', false),
121
+ completionCriteria: stringParam(params, 'completionCriteria', false),
122
+ expectedRevision: numberParam(params, 'expectedRevision', false),
123
+ });
124
+ }
125
+ if (method === 'approval/list')
126
+ return this.sdk.approvalPolicy.list();
127
+ if (method === 'approval/remember') {
128
+ if (params.confirm !== true) {
129
+ throw new Error('approval/remember requires confirm:true.');
130
+ }
131
+ const approval = parseStoredApproval(params.approval);
132
+ await this.sdk.approvalPolicy.remember(approval);
133
+ return { saved: true };
134
+ }
135
+ throw new Error(`Unknown app-server method: ${method}`);
136
+ }
137
+ async openSession(sessionId) {
138
+ const session = this.liveSessions.get(sessionId) ?? await this.sdk.resumeSession(sessionId);
139
+ this.rememberSession(session);
140
+ return session;
141
+ }
142
+ rememberSession(session) {
143
+ // Refresh insertion order so LRU eviction drops the oldest idle handle.
144
+ this.liveSessions.delete(session.id);
145
+ this.liveSessions.set(session.id, session);
146
+ while (this.liveSessions.size > MAX_LIVE_SESSIONS) {
147
+ const oldest = this.liveSessions.keys().next().value;
148
+ if (!oldest)
149
+ break;
150
+ this.liveSessions.delete(oldest);
151
+ }
152
+ }
153
+ goalService(session) {
154
+ return GoalService.forSession(session);
155
+ }
156
+ }
157
+ const APP_SERVER_CAPABILITIES = [
158
+ 'sessions',
159
+ 'streaming',
160
+ 'session-tree',
161
+ 'diff',
162
+ 'checkpoints',
163
+ 'goals',
164
+ 'approvals',
165
+ ];
166
+ function stringParam(params, name, required = true) {
167
+ const value = params[name];
168
+ if (typeof value === 'string' && value.trim())
169
+ return value.trim();
170
+ if (required)
171
+ throw new Error(`${name} is required.`);
172
+ return undefined;
173
+ }
174
+ function numberParam(params, name, required) {
175
+ const value = params[name];
176
+ if (typeof value === 'number' && Number.isFinite(value))
177
+ return value;
178
+ if (required)
179
+ throw new Error(`${name} is required.`);
180
+ return undefined;
181
+ }
182
+ function checkpointMode(value) {
183
+ if (value === undefined)
184
+ return 'both';
185
+ if (value === 'files' || value === 'conversation' || value === 'both')
186
+ return value;
187
+ throw new Error('mode must be files, conversation, or both.');
188
+ }
189
+ function parseStoredApproval(value) {
190
+ if (!value || typeof value !== 'object' || Array.isArray(value)) {
191
+ throw new Error('approval/remember requires an approval object.');
192
+ }
193
+ const record = value;
194
+ const id = typeof record.id === 'string' ? record.id.trim() : '';
195
+ const tool = typeof record.tool === 'string' ? record.tool.trim() : '';
196
+ if (!id)
197
+ throw new Error('approval.id is required.');
198
+ if (!tool)
199
+ throw new Error('approval.tool is required.');
200
+ if (record.behavior !== 'allow' && record.behavior !== 'deny') {
201
+ throw new Error('approval.behavior must be allow or deny.');
202
+ }
203
+ if (record.pathPrefix !== undefined && typeof record.pathPrefix !== 'string') {
204
+ throw new Error('approval.pathPrefix must be a string when provided.');
205
+ }
206
+ if (record.expiresAt !== undefined
207
+ && (typeof record.expiresAt !== 'string' || Number.isNaN(Date.parse(record.expiresAt)))) {
208
+ throw new Error('approval.expiresAt must be an ISO timestamp when provided.');
209
+ }
210
+ if (record.behavior === 'allow' && tool !== 'Read' && tool !== 'Glob' && tool !== 'Grep') {
211
+ if (typeof record.pathPrefix !== 'string' || !record.pathPrefix.trim()) {
212
+ throw new Error('approval/remember allow rules for mutating tools require a pathPrefix scope.');
213
+ }
214
+ }
215
+ return {
216
+ id,
217
+ tool,
218
+ behavior: record.behavior,
219
+ ...(typeof record.pathPrefix === 'string' && record.pathPrefix.trim()
220
+ ? { pathPrefix: record.pathPrefix.trim() }
221
+ : {}),
222
+ ...(typeof record.expiresAt === 'string' ? { expiresAt: record.expiresAt } : {}),
223
+ createdAt: typeof record.createdAt === 'string' && record.createdAt.trim()
224
+ ? record.createdAt
225
+ : new Date().toISOString(),
226
+ };
227
+ }
228
+ //# sourceMappingURL=appServer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"appServer.js","sourceRoot":"","sources":["../../../src/app-server/appServer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ export {};
3
+ //# sourceMappingURL=cli.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../../src/app-server/cli.ts"],"names":[],"mappings":""}
@@ -0,0 +1,29 @@
1
+ #!/usr/bin/env node
2
+ import { createActoviqCoreTools, createAgentSdk, loadDefaultActoviqSettings, } from '../index.js';
3
+ import { AppServer } from './appServer.js';
4
+ import { StdioAppServerTransport } from './transports/stdioTransport.js';
5
+ async function main() {
6
+ await loadDefaultActoviqSettings();
7
+ const workDir = process.argv[2] ? process.argv[2] : process.cwd();
8
+ const sdk = await createAgentSdk({
9
+ workDir,
10
+ tools: createActoviqCoreTools({ cwd: workDir }),
11
+ permissionMode: 'default',
12
+ });
13
+ const close = async () => {
14
+ await sdk.close();
15
+ };
16
+ process.once('SIGINT', () => { void close().finally(() => process.exit(130)); });
17
+ process.once('SIGTERM', () => { void close().finally(() => process.exit(143)); });
18
+ try {
19
+ await new StdioAppServerTransport(new AppServer(sdk)).start();
20
+ }
21
+ finally {
22
+ await close();
23
+ }
24
+ }
25
+ main().catch(error => {
26
+ process.stderr.write(`actoviq-app-server: ${error instanceof Error ? error.message : String(error)}\n`);
27
+ process.exitCode = 1;
28
+ });
29
+ //# sourceMappingURL=cli.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../../src/app-server/cli.ts"],"names":[],"mappings":";AACA,OAAO,EACL,sBAAsB,EACtB,cAAc,EACd,0BAA0B,GAC3B,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AAEzE,KAAK,UAAU,IAAI;IACjB,MAAM,0BAA0B,EAAE,CAAC;IACnC,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;IAClE,MAAM,GAAG,GAAG,MAAM,cAAc,CAAC;QAC/B,OAAO;QACP,KAAK,EAAE,sBAAsB,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC;QAC/C,cAAc,EAAE,SAAS;KAC1B,CAAC,CAAC;IACH,MAAM,KAAK,GAAG,KAAK,IAAI,EAAE;QACvB,MAAM,GAAG,CAAC,KAAK,EAAE,CAAC;IACpB,CAAC,CAAC;IACF,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,GAAG,KAAK,KAAK,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACjF,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE,GAAG,KAAK,KAAK,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAClF,IAAI,CAAC;QACH,MAAM,IAAI,uBAAuB,CAAC,IAAI,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;IAChE,CAAC;YAAS,CAAC;QACT,MAAM,KAAK,EAAE,CAAC;IAChB,CAAC;AACH,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;IACnB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,uBAAuB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACxG,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;AACvB,CAAC,CAAC,CAAC"}
@@ -0,0 +1,5 @@
1
+ export * from './protocol.js';
2
+ export * from './appServer.js';
3
+ export * from './transports/stdioTransport.js';
4
+ export * from './transports/webSocketTransport.js';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/app-server/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gCAAgC,CAAC;AAC/C,cAAc,oCAAoC,CAAC"}
@@ -0,0 +1,5 @@
1
+ export * from './protocol.js';
2
+ export * from './appServer.js';
3
+ export * from './transports/stdioTransport.js';
4
+ export * from './transports/webSocketTransport.js';
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/app-server/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gCAAgC,CAAC;AAC/C,cAAc,oCAAoC,CAAC"}
@@ -0,0 +1,24 @@
1
+ export declare const APP_SERVER_PROTOCOL_VERSION: 1;
2
+ export interface AppServerRequest {
3
+ version: 1;
4
+ id: string;
5
+ method: string;
6
+ params?: Record<string, unknown>;
7
+ }
8
+ export interface AppServerResponse {
9
+ version: 1;
10
+ id: string;
11
+ result?: unknown;
12
+ error?: {
13
+ code: string;
14
+ message: string;
15
+ };
16
+ }
17
+ export interface AppServerNotification {
18
+ version: 1;
19
+ type: 'event';
20
+ method: string;
21
+ params: Record<string, unknown>;
22
+ }
23
+ export declare function parseAppServerRequest(value: unknown): AppServerRequest;
24
+ //# sourceMappingURL=protocol.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../../../src/app-server/protocol.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,2BAA2B,EAAG,CAAU,CAAC;AAEtD,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,CAAC,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,CAAC,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;CAC3C;AAED,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,CAAC,CAAC;IACX,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACjC;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,gBAAgB,CAWtE"}
@@ -0,0 +1,14 @@
1
+ export const APP_SERVER_PROTOCOL_VERSION = 1;
2
+ export function parseAppServerRequest(value) {
3
+ if (!value || typeof value !== 'object')
4
+ throw new Error('Invalid app-server request.');
5
+ const request = value;
6
+ if (request.version !== APP_SERVER_PROTOCOL_VERSION
7
+ || typeof request.id !== 'string'
8
+ || typeof request.method !== 'string'
9
+ || (request.params !== undefined
10
+ && (typeof request.params !== 'object' || request.params === null || Array.isArray(request.params))))
11
+ throw new Error('Invalid app-server request.');
12
+ return request;
13
+ }
14
+ //# sourceMappingURL=protocol.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"protocol.js","sourceRoot":"","sources":["../../../src/app-server/protocol.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAU,CAAC;AAuBtD,MAAM,UAAU,qBAAqB,CAAC,KAAc;IAClD,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;IACxF,MAAM,OAAO,GAAG,KAAkC,CAAC;IACnD,IACE,OAAO,CAAC,OAAO,KAAK,2BAA2B;WAC5C,OAAO,OAAO,CAAC,EAAE,KAAK,QAAQ;WAC9B,OAAO,OAAO,CAAC,MAAM,KAAK,QAAQ;WAClC,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS;eAC3B,CAAC,OAAO,OAAO,CAAC,MAAM,KAAK,QAAQ,IAAI,OAAO,CAAC,MAAM,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;QACtG,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;IACjD,OAAO,OAA2B,CAAC;AACrC,CAAC"}