@stigmer/react 0.0.36 → 0.0.39

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 (889) hide show
  1. package/README.md +4 -88
  2. package/__tests__/hooks.test.d.ts +2 -0
  3. package/__tests__/hooks.test.d.ts.map +1 -0
  4. package/__tests__/hooks.test.js +18 -0
  5. package/__tests__/hooks.test.js.map +1 -0
  6. package/agent/AgentDetailView.d.ts +69 -0
  7. package/agent/AgentDetailView.d.ts.map +1 -0
  8. package/agent/AgentDetailView.js +183 -0
  9. package/agent/AgentDetailView.js.map +1 -0
  10. package/agent/AgentEnvForm.d.ts +83 -0
  11. package/agent/AgentEnvForm.d.ts.map +1 -0
  12. package/agent/AgentEnvForm.js +31 -0
  13. package/agent/AgentEnvForm.js.map +1 -0
  14. package/agent/AgentPicker.d.ts +44 -0
  15. package/agent/AgentPicker.d.ts.map +1 -0
  16. package/agent/AgentPicker.js +121 -0
  17. package/agent/AgentPicker.js.map +1 -0
  18. package/agent/agentSetupReducer.d.ts +122 -0
  19. package/agent/agentSetupReducer.d.ts.map +1 -0
  20. package/agent/agentSetupReducer.js +75 -0
  21. package/agent/agentSetupReducer.js.map +1 -0
  22. package/agent/index.d.ts +19 -8
  23. package/agent/index.d.ts.map +1 -1
  24. package/agent/index.js +10 -6
  25. package/agent/index.js.map +1 -1
  26. package/agent/useAgent.d.ts +48 -0
  27. package/agent/useAgent.d.ts.map +1 -0
  28. package/agent/useAgent.js +82 -0
  29. package/agent/useAgent.js.map +1 -0
  30. package/agent/useAgentCount.d.ts +49 -0
  31. package/agent/useAgentCount.d.ts.map +1 -0
  32. package/agent/useAgentCount.js +32 -0
  33. package/agent/useAgentCount.js.map +1 -0
  34. package/agent/useAgentList.d.ts +62 -0
  35. package/agent/useAgentList.d.ts.map +1 -0
  36. package/agent/useAgentList.js +38 -0
  37. package/agent/useAgentList.js.map +1 -0
  38. package/agent/useAgentSearch.d.ts +23 -0
  39. package/agent/useAgentSearch.d.ts.map +1 -0
  40. package/agent/useAgentSearch.js +28 -0
  41. package/agent/useAgentSearch.js.map +1 -0
  42. package/agent/useAgentSetup.d.ts +115 -0
  43. package/agent/useAgentSetup.d.ts.map +1 -0
  44. package/agent/useAgentSetup.js +244 -0
  45. package/agent/useAgentSetup.js.map +1 -0
  46. package/agent/useDefaultAgent.d.ts +29 -0
  47. package/agent/useDefaultAgent.d.ts.map +1 -0
  48. package/agent/useDefaultAgent.js +60 -0
  49. package/agent/useDefaultAgent.js.map +1 -0
  50. package/agent-instance/buildPersonalInstanceInput.d.ts +20 -0
  51. package/agent-instance/buildPersonalInstanceInput.d.ts.map +1 -0
  52. package/agent-instance/buildPersonalInstanceInput.js +29 -0
  53. package/agent-instance/buildPersonalInstanceInput.js.map +1 -0
  54. package/agent-instance/index.d.ts +9 -0
  55. package/agent-instance/index.d.ts.map +1 -0
  56. package/agent-instance/index.js +5 -0
  57. package/agent-instance/index.js.map +1 -0
  58. package/agent-instance/useAgentInstance.d.ts +35 -0
  59. package/agent-instance/useAgentInstance.d.ts.map +1 -0
  60. package/agent-instance/useAgentInstance.js +67 -0
  61. package/agent-instance/useAgentInstance.js.map +1 -0
  62. package/agent-instance/useAgentInstanceList.d.ts +29 -0
  63. package/agent-instance/useAgentInstanceList.d.ts.map +1 -0
  64. package/agent-instance/useAgentInstanceList.js +74 -0
  65. package/agent-instance/useAgentInstanceList.js.map +1 -0
  66. package/agent-instance/useCreateAgentInstance.d.ts +44 -0
  67. package/agent-instance/useCreateAgentInstance.d.ts.map +1 -0
  68. package/agent-instance/useCreateAgentInstance.js +60 -0
  69. package/agent-instance/useCreateAgentInstance.js.map +1 -0
  70. package/agent-instance/usePersonalAgentInstance.d.ts +93 -0
  71. package/agent-instance/usePersonalAgentInstance.d.ts.map +1 -0
  72. package/agent-instance/usePersonalAgentInstance.js +103 -0
  73. package/agent-instance/usePersonalAgentInstance.js.map +1 -0
  74. package/attachment/AttachmentChipList.d.ts +24 -0
  75. package/attachment/AttachmentChipList.d.ts.map +1 -0
  76. package/attachment/AttachmentChipList.js +45 -0
  77. package/attachment/AttachmentChipList.js.map +1 -0
  78. package/attachment/attachment-utils.d.ts +32 -0
  79. package/attachment/attachment-utils.d.ts.map +1 -0
  80. package/attachment/attachment-utils.js +104 -0
  81. package/attachment/attachment-utils.js.map +1 -0
  82. package/attachment/index.d.ts +6 -0
  83. package/attachment/index.d.ts.map +1 -0
  84. package/attachment/index.js +4 -0
  85. package/attachment/index.js.map +1 -0
  86. package/attachment/useAttachments.d.ts +113 -0
  87. package/attachment/useAttachments.d.ts.map +1 -0
  88. package/attachment/useAttachments.js +175 -0
  89. package/attachment/useAttachments.js.map +1 -0
  90. package/composer/ComposerToolbar.d.ts +37 -0
  91. package/composer/ComposerToolbar.d.ts.map +1 -0
  92. package/composer/ComposerToolbar.js +24 -0
  93. package/composer/ComposerToolbar.js.map +1 -0
  94. package/composer/ConfigureMenu.d.ts +37 -0
  95. package/composer/ConfigureMenu.d.ts.map +1 -0
  96. package/composer/ConfigureMenu.js +53 -0
  97. package/composer/ConfigureMenu.js.map +1 -0
  98. package/composer/ContextChip.d.ts +22 -0
  99. package/composer/ContextChip.d.ts.map +1 -0
  100. package/composer/ContextChip.js +19 -0
  101. package/composer/ContextChip.js.map +1 -0
  102. package/composer/ContextPopover.d.ts +10 -0
  103. package/composer/ContextPopover.d.ts.map +1 -0
  104. package/composer/ContextPopover.js +11 -0
  105. package/composer/ContextPopover.js.map +1 -0
  106. package/composer/SessionComposer.d.ts +269 -0
  107. package/composer/SessionComposer.d.ts.map +1 -0
  108. package/composer/SessionComposer.js +568 -0
  109. package/composer/SessionComposer.js.map +1 -0
  110. package/composer/icons.d.ts +15 -0
  111. package/composer/icons.d.ts.map +1 -0
  112. package/composer/icons.js +42 -0
  113. package/composer/icons.js.map +1 -0
  114. package/composer/index.d.ts +5 -0
  115. package/composer/index.d.ts.map +1 -0
  116. package/composer/index.js +3 -0
  117. package/composer/index.js.map +1 -0
  118. package/composer/useComposer.d.ts +74 -0
  119. package/composer/useComposer.d.ts.map +1 -0
  120. package/composer/useComposer.js +94 -0
  121. package/composer/useComposer.js.map +1 -0
  122. package/environment/CreateEnvironmentForm.d.ts +31 -0
  123. package/environment/CreateEnvironmentForm.d.ts.map +1 -0
  124. package/environment/CreateEnvironmentForm.js +57 -0
  125. package/environment/CreateEnvironmentForm.js.map +1 -0
  126. package/environment/EnvVarForm.d.ts +134 -0
  127. package/environment/EnvVarForm.d.ts.map +1 -0
  128. package/environment/EnvVarForm.js +122 -0
  129. package/environment/EnvVarForm.js.map +1 -0
  130. package/environment/EnvironmentListPanel.d.ts +51 -0
  131. package/environment/EnvironmentListPanel.d.ts.map +1 -0
  132. package/environment/EnvironmentListPanel.js +96 -0
  133. package/environment/EnvironmentListPanel.js.map +1 -0
  134. package/environment/EnvironmentVariableEditor.d.ts +43 -0
  135. package/environment/EnvironmentVariableEditor.d.ts.map +1 -0
  136. package/environment/EnvironmentVariableEditor.js +269 -0
  137. package/environment/EnvironmentVariableEditor.js.map +1 -0
  138. package/environment/diffEnvSpec.d.ts +34 -0
  139. package/environment/diffEnvSpec.d.ts.map +1 -0
  140. package/environment/diffEnvSpec.js +44 -0
  141. package/environment/diffEnvSpec.js.map +1 -0
  142. package/environment/index.d.ts +28 -0
  143. package/environment/index.d.ts.map +1 -0
  144. package/environment/index.js +15 -0
  145. package/environment/index.js.map +1 -0
  146. package/environment/useCreateEnvironment.d.ts +43 -0
  147. package/environment/useCreateEnvironment.d.ts.map +1 -0
  148. package/environment/useCreateEnvironment.js +59 -0
  149. package/environment/useCreateEnvironment.js.map +1 -0
  150. package/environment/useEnvironment.d.ts +37 -0
  151. package/environment/useEnvironment.d.ts.map +1 -0
  152. package/environment/useEnvironment.js +69 -0
  153. package/environment/useEnvironment.js.map +1 -0
  154. package/environment/useEnvironmentList.d.ts +31 -0
  155. package/environment/useEnvironmentList.d.ts.map +1 -0
  156. package/environment/useEnvironmentList.js +88 -0
  157. package/environment/useEnvironmentList.js.map +1 -0
  158. package/environment/usePersonalEnvironment.d.ts +100 -0
  159. package/environment/usePersonalEnvironment.d.ts.map +1 -0
  160. package/environment/usePersonalEnvironment.js +168 -0
  161. package/environment/usePersonalEnvironment.js.map +1 -0
  162. package/environment/useRemoveEnvironmentVariables.d.ts +45 -0
  163. package/environment/useRemoveEnvironmentVariables.d.ts.map +1 -0
  164. package/environment/useRemoveEnvironmentVariables.js +57 -0
  165. package/environment/useRemoveEnvironmentVariables.js.map +1 -0
  166. package/environment/useRevealSecretValue.d.ts +66 -0
  167. package/environment/useRevealSecretValue.d.ts.map +1 -0
  168. package/environment/useRevealSecretValue.js +92 -0
  169. package/environment/useRevealSecretValue.js.map +1 -0
  170. package/environment/useSessionEnvPool.d.ts +80 -0
  171. package/environment/useSessionEnvPool.d.ts.map +1 -0
  172. package/environment/useSessionEnvPool.js +72 -0
  173. package/environment/useSessionEnvPool.js.map +1 -0
  174. package/environment/useUpdateEnvironment.d.ts +43 -0
  175. package/environment/useUpdateEnvironment.d.ts.map +1 -0
  176. package/environment/useUpdateEnvironment.js +59 -0
  177. package/environment/useUpdateEnvironment.js.map +1 -0
  178. package/environment/useUpdateEnvironmentVariables.d.ts +53 -0
  179. package/environment/useUpdateEnvironmentVariables.d.ts.map +1 -0
  180. package/environment/useUpdateEnvironmentVariables.js +71 -0
  181. package/environment/useUpdateEnvironmentVariables.js.map +1 -0
  182. package/error/ErrorMessage.d.ts +33 -0
  183. package/error/ErrorMessage.d.ts.map +1 -0
  184. package/error/ErrorMessage.js +60 -0
  185. package/error/ErrorMessage.js.map +1 -0
  186. package/error/SecretFlowErrorGuide.d.ts +41 -0
  187. package/error/SecretFlowErrorGuide.d.ts.map +1 -0
  188. package/error/SecretFlowErrorGuide.js +87 -0
  189. package/error/SecretFlowErrorGuide.js.map +1 -0
  190. package/error/index.d.ts +5 -0
  191. package/error/index.d.ts.map +1 -0
  192. package/error/index.js +3 -0
  193. package/error/index.js.map +1 -0
  194. package/execution/ApprovalCard.d.ts +35 -0
  195. package/execution/ApprovalCard.d.ts.map +1 -0
  196. package/execution/ApprovalCard.js +192 -0
  197. package/execution/ApprovalCard.js.map +1 -0
  198. package/execution/ArtifactCard.d.ts +70 -0
  199. package/execution/ArtifactCard.d.ts.map +1 -0
  200. package/execution/ArtifactCard.js +109 -0
  201. package/execution/ArtifactCard.js.map +1 -0
  202. package/execution/ArtifactPreviewModal.d.ts +77 -0
  203. package/execution/ArtifactPreviewModal.d.ts.map +1 -0
  204. package/execution/ArtifactPreviewModal.js +310 -0
  205. package/execution/ArtifactPreviewModal.js.map +1 -0
  206. package/execution/ArtifactsWidget.d.ts +63 -0
  207. package/execution/ArtifactsWidget.d.ts.map +1 -0
  208. package/execution/ArtifactsWidget.js +61 -0
  209. package/execution/ArtifactsWidget.js.map +1 -0
  210. package/execution/ExecutionCostSummary.d.ts +47 -0
  211. package/execution/ExecutionCostSummary.d.ts.map +1 -0
  212. package/execution/ExecutionCostSummary.js +77 -0
  213. package/execution/ExecutionCostSummary.js.map +1 -0
  214. package/execution/ExecutionPhaseBadge.d.ts +20 -0
  215. package/execution/ExecutionPhaseBadge.d.ts.map +1 -0
  216. package/execution/ExecutionPhaseBadge.js +112 -0
  217. package/execution/ExecutionPhaseBadge.js.map +1 -0
  218. package/execution/ExecutionProgress.d.ts +32 -0
  219. package/execution/ExecutionProgress.d.ts.map +1 -0
  220. package/execution/ExecutionProgress.js +96 -0
  221. package/execution/ExecutionProgress.js.map +1 -0
  222. package/execution/FilePathContext.d.ts +22 -0
  223. package/execution/FilePathContext.d.ts.map +1 -0
  224. package/execution/FilePathContext.js +6 -0
  225. package/execution/FilePathContext.js.map +1 -0
  226. package/execution/FilePathLink.d.ts +26 -0
  227. package/execution/FilePathLink.d.ts.map +1 -0
  228. package/execution/FilePathLink.js +64 -0
  229. package/execution/FilePathLink.js.map +1 -0
  230. package/execution/FollowUpInput.d.ts +55 -0
  231. package/execution/FollowUpInput.d.ts.map +1 -0
  232. package/execution/FollowUpInput.js +95 -0
  233. package/execution/FollowUpInput.js.map +1 -0
  234. package/execution/MessageEntry.d.ts +25 -0
  235. package/execution/MessageEntry.d.ts.map +1 -0
  236. package/execution/MessageEntry.js +46 -0
  237. package/execution/MessageEntry.js.map +1 -0
  238. package/execution/MessageThread.d.ts +88 -0
  239. package/execution/MessageThread.d.ts.map +1 -0
  240. package/execution/MessageThread.js +157 -0
  241. package/execution/MessageThread.js.map +1 -0
  242. package/execution/SessionVariablesInput.d.ts +47 -0
  243. package/execution/SessionVariablesInput.d.ts.map +1 -0
  244. package/execution/SessionVariablesInput.js +80 -0
  245. package/execution/SessionVariablesInput.js.map +1 -0
  246. package/execution/SubAgentSection.d.ts +23 -0
  247. package/execution/SubAgentSection.d.ts.map +1 -0
  248. package/execution/SubAgentSection.js +103 -0
  249. package/execution/SubAgentSection.js.map +1 -0
  250. package/execution/ToolCallDetail.d.ts +32 -0
  251. package/execution/ToolCallDetail.d.ts.map +1 -0
  252. package/execution/ToolCallDetail.js +204 -0
  253. package/execution/ToolCallDetail.js.map +1 -0
  254. package/execution/ToolCallGroup.d.ts +45 -0
  255. package/execution/ToolCallGroup.d.ts.map +1 -0
  256. package/execution/ToolCallGroup.js +160 -0
  257. package/execution/ToolCallGroup.js.map +1 -0
  258. package/execution/ToolCallItem.d.ts +39 -0
  259. package/execution/ToolCallItem.d.ts.map +1 -0
  260. package/execution/ToolCallItem.js +164 -0
  261. package/execution/ToolCallItem.js.map +1 -0
  262. package/execution/__tests__/ExecutionCostSummary.test.d.ts +2 -0
  263. package/execution/__tests__/ExecutionCostSummary.test.d.ts.map +1 -0
  264. package/execution/__tests__/ExecutionCostSummary.test.js +255 -0
  265. package/execution/__tests__/ExecutionCostSummary.test.js.map +1 -0
  266. package/execution/__tests__/execution-phases.test.d.ts +2 -0
  267. package/execution/__tests__/execution-phases.test.d.ts.map +1 -0
  268. package/execution/__tests__/execution-phases.test.js +25 -0
  269. package/execution/__tests__/execution-phases.test.js.map +1 -0
  270. package/execution/__tests__/useExecutionStream.test.d.ts +2 -0
  271. package/execution/__tests__/useExecutionStream.test.d.ts.map +1 -0
  272. package/execution/__tests__/useExecutionStream.test.js +190 -0
  273. package/execution/__tests__/useExecutionStream.test.js.map +1 -0
  274. package/execution/__tests__/useExecutionUsage.test.d.ts +2 -0
  275. package/execution/__tests__/useExecutionUsage.test.d.ts.map +1 -0
  276. package/execution/__tests__/useExecutionUsage.test.js +303 -0
  277. package/execution/__tests__/useExecutionUsage.test.js.map +1 -0
  278. package/execution/artifact-utils.d.ts +58 -0
  279. package/execution/artifact-utils.d.ts.map +1 -0
  280. package/execution/artifact-utils.js +123 -0
  281. package/execution/artifact-utils.js.map +1 -0
  282. package/execution/execution-phases.d.ts +7 -0
  283. package/execution/execution-phases.d.ts.map +1 -0
  284. package/execution/execution-phases.js +15 -0
  285. package/execution/execution-phases.js.map +1 -0
  286. package/execution/file-path-resolver.d.ts +63 -0
  287. package/execution/file-path-resolver.d.ts.map +1 -0
  288. package/execution/file-path-resolver.js +121 -0
  289. package/execution/file-path-resolver.js.map +1 -0
  290. package/execution/index.d.ts +55 -0
  291. package/execution/index.d.ts.map +1 -0
  292. package/execution/index.js +29 -0
  293. package/execution/index.js.map +1 -0
  294. package/execution/tool-categories.d.ts +36 -0
  295. package/execution/tool-categories.d.ts.map +1 -0
  296. package/execution/tool-categories.js +110 -0
  297. package/execution/tool-categories.js.map +1 -0
  298. package/execution/useArtifactContent.d.ts +75 -0
  299. package/execution/useArtifactContent.d.ts.map +1 -0
  300. package/execution/useArtifactContent.js +102 -0
  301. package/execution/useArtifactContent.js.map +1 -0
  302. package/execution/useCreateAgentExecution.d.ts +84 -0
  303. package/execution/useCreateAgentExecution.d.ts.map +1 -0
  304. package/execution/useCreateAgentExecution.js +79 -0
  305. package/execution/useCreateAgentExecution.js.map +1 -0
  306. package/execution/useExecutionArtifacts.d.ts +42 -0
  307. package/execution/useExecutionArtifacts.d.ts.map +1 -0
  308. package/execution/useExecutionArtifacts.js +43 -0
  309. package/execution/useExecutionArtifacts.js.map +1 -0
  310. package/execution/useExecutionStream.d.ts +62 -0
  311. package/execution/useExecutionStream.d.ts.map +1 -0
  312. package/execution/useExecutionStream.js +99 -0
  313. package/execution/useExecutionStream.js.map +1 -0
  314. package/execution/useExecutionUsage.d.ts +45 -0
  315. package/execution/useExecutionUsage.d.ts.map +1 -0
  316. package/execution/useExecutionUsage.js +157 -0
  317. package/execution/useExecutionUsage.js.map +1 -0
  318. package/execution/useSessionVariables.d.ts +102 -0
  319. package/execution/useSessionVariables.d.ts.map +1 -0
  320. package/execution/useSessionVariables.js +102 -0
  321. package/execution/useSessionVariables.js.map +1 -0
  322. package/execution/useSubmitApproval.d.ts +39 -0
  323. package/execution/useSubmitApproval.d.ts.map +1 -0
  324. package/execution/useSubmitApproval.js +62 -0
  325. package/execution/useSubmitApproval.js.map +1 -0
  326. package/github/GitHubRepoPicker.d.ts +24 -0
  327. package/github/GitHubRepoPicker.d.ts.map +1 -0
  328. package/github/GitHubRepoPicker.js +248 -0
  329. package/github/GitHubRepoPicker.js.map +1 -0
  330. package/github/index.d.ts +4 -0
  331. package/github/index.d.ts.map +1 -0
  332. package/github/index.js +4 -0
  333. package/github/index.js.map +1 -0
  334. package/github/useGitHubConnection.d.ts +72 -0
  335. package/github/useGitHubConnection.d.ts.map +1 -0
  336. package/github/useGitHubConnection.js +268 -0
  337. package/github/useGitHubConnection.js.map +1 -0
  338. package/github/useGitHubRepos.d.ts +39 -0
  339. package/github/useGitHubRepos.d.ts.map +1 -0
  340. package/github/useGitHubRepos.js +135 -0
  341. package/github/useGitHubRepos.js.map +1 -0
  342. package/index.d.ts +32 -0
  343. package/index.d.ts.map +1 -1
  344. package/index.js +31 -0
  345. package/index.js.map +1 -1
  346. package/internal/ScrollFade.d.ts +15 -0
  347. package/internal/ScrollFade.d.ts.map +1 -0
  348. package/internal/ScrollFade.js +24 -0
  349. package/internal/ScrollFade.js.map +1 -0
  350. package/internal/markdown-components.d.ts +18 -0
  351. package/internal/markdown-components.d.ts.map +1 -0
  352. package/internal/markdown-components.js +78 -0
  353. package/internal/markdown-components.js.map +1 -0
  354. package/internal/slug.d.ts +32 -0
  355. package/internal/slug.d.ts.map +1 -0
  356. package/internal/slug.js +41 -0
  357. package/internal/slug.js.map +1 -0
  358. package/internal/toError.d.ts +16 -0
  359. package/internal/toError.d.ts.map +1 -0
  360. package/internal/toError.js +22 -0
  361. package/internal/toError.js.map +1 -0
  362. package/internal/useScrollShadows.d.ts +22 -0
  363. package/internal/useScrollShadows.d.ts.map +1 -0
  364. package/internal/useScrollShadows.js +40 -0
  365. package/internal/useScrollShadows.js.map +1 -0
  366. package/library/ResourceCountCard.d.ts +104 -0
  367. package/library/ResourceCountCard.d.ts.map +1 -0
  368. package/library/ResourceCountCard.js +80 -0
  369. package/library/ResourceCountCard.js.map +1 -0
  370. package/library/ResourceListView.d.ts +123 -0
  371. package/library/ResourceListView.d.ts.map +1 -0
  372. package/library/ResourceListView.js +208 -0
  373. package/library/ResourceListView.js.map +1 -0
  374. package/library/ScopeToggle.d.ts +38 -0
  375. package/library/ScopeToggle.d.ts.map +1 -0
  376. package/library/ScopeToggle.js +61 -0
  377. package/library/ScopeToggle.js.map +1 -0
  378. package/library/detect-skill-package.d.ts +79 -0
  379. package/library/detect-skill-package.d.ts.map +1 -0
  380. package/library/detect-skill-package.js +113 -0
  381. package/library/detect-skill-package.js.map +1 -0
  382. package/library/detect-stigmer-resource.d.ts +66 -0
  383. package/library/detect-stigmer-resource.d.ts.map +1 -0
  384. package/library/detect-stigmer-resource.js +77 -0
  385. package/library/detect-stigmer-resource.js.map +1 -0
  386. package/library/index.d.ts +20 -0
  387. package/library/index.d.ts.map +1 -0
  388. package/library/index.js +11 -0
  389. package/library/index.js.map +1 -0
  390. package/library/parse-resource-yaml.d.ts +59 -0
  391. package/library/parse-resource-yaml.d.ts.map +1 -0
  392. package/library/parse-resource-yaml.js +397 -0
  393. package/library/parse-resource-yaml.js.map +1 -0
  394. package/library/serialize-resource-yaml.d.ts +50 -0
  395. package/library/serialize-resource-yaml.d.ts.map +1 -0
  396. package/library/serialize-resource-yaml.js +294 -0
  397. package/library/serialize-resource-yaml.js.map +1 -0
  398. package/library/useApplyResource.d.ts +115 -0
  399. package/library/useApplyResource.d.ts.map +1 -0
  400. package/library/useApplyResource.js +124 -0
  401. package/library/useApplyResource.js.map +1 -0
  402. package/library/useDetectSkillPackage.d.ts +54 -0
  403. package/library/useDetectSkillPackage.d.ts.map +1 -0
  404. package/library/useDetectSkillPackage.js +59 -0
  405. package/library/useDetectSkillPackage.js.map +1 -0
  406. package/library/useDetectStigmerResource.d.ts +30 -0
  407. package/library/useDetectStigmerResource.d.ts.map +1 -0
  408. package/library/useDetectStigmerResource.js +35 -0
  409. package/library/useDetectStigmerResource.js.map +1 -0
  410. package/mcp-server/McpServerConfigPanel.d.ts +116 -0
  411. package/mcp-server/McpServerConfigPanel.d.ts.map +1 -0
  412. package/mcp-server/McpServerConfigPanel.js +72 -0
  413. package/mcp-server/McpServerConfigPanel.js.map +1 -0
  414. package/mcp-server/McpServerDetailView.d.ts +43 -0
  415. package/mcp-server/McpServerDetailView.d.ts.map +1 -0
  416. package/mcp-server/McpServerDetailView.js +137 -0
  417. package/mcp-server/McpServerDetailView.js.map +1 -0
  418. package/mcp-server/McpServerPicker.d.ts +158 -0
  419. package/mcp-server/McpServerPicker.d.ts.map +1 -0
  420. package/mcp-server/McpServerPicker.js +265 -0
  421. package/mcp-server/McpServerPicker.js.map +1 -0
  422. package/mcp-server/McpToolSelector.d.ts +44 -0
  423. package/mcp-server/McpToolSelector.d.ts.map +1 -0
  424. package/mcp-server/McpToolSelector.js +75 -0
  425. package/mcp-server/McpToolSelector.js.map +1 -0
  426. package/mcp-server/index.d.ts +18 -2
  427. package/mcp-server/index.d.ts.map +1 -1
  428. package/mcp-server/index.js +9 -2
  429. package/mcp-server/index.js.map +1 -1
  430. package/mcp-server/mcpServerSetupReducer.d.ts +138 -0
  431. package/mcp-server/mcpServerSetupReducer.d.ts.map +1 -0
  432. package/mcp-server/mcpServerSetupReducer.js +163 -0
  433. package/mcp-server/mcpServerSetupReducer.js.map +1 -0
  434. package/mcp-server/useMcpServer.d.ts +48 -0
  435. package/mcp-server/useMcpServer.d.ts.map +1 -0
  436. package/mcp-server/useMcpServer.js +82 -0
  437. package/mcp-server/useMcpServer.js.map +1 -0
  438. package/mcp-server/useMcpServerCount.d.ts +49 -0
  439. package/mcp-server/useMcpServerCount.d.ts.map +1 -0
  440. package/mcp-server/useMcpServerCount.js +32 -0
  441. package/mcp-server/useMcpServerCount.js.map +1 -0
  442. package/mcp-server/useMcpServerList.d.ts +62 -0
  443. package/mcp-server/useMcpServerList.d.ts.map +1 -0
  444. package/mcp-server/useMcpServerList.js +38 -0
  445. package/mcp-server/useMcpServerList.js.map +1 -0
  446. package/mcp-server/useMcpServerSearch.d.ts +18 -0
  447. package/mcp-server/useMcpServerSearch.d.ts.map +1 -0
  448. package/mcp-server/useMcpServerSearch.js +23 -0
  449. package/mcp-server/useMcpServerSearch.js.map +1 -0
  450. package/mcp-server/useMcpServerSetup.d.ts +162 -0
  451. package/mcp-server/useMcpServerSetup.d.ts.map +1 -0
  452. package/mcp-server/useMcpServerSetup.js +269 -0
  453. package/mcp-server/useMcpServerSetup.js.map +1 -0
  454. package/models/ModelSelector.d.ts +22 -0
  455. package/models/ModelSelector.d.ts.map +1 -0
  456. package/models/ModelSelector.js +59 -0
  457. package/models/ModelSelector.js.map +1 -0
  458. package/models/index.d.ts +7 -0
  459. package/models/index.d.ts.map +1 -0
  460. package/models/index.js +4 -0
  461. package/models/index.js.map +1 -0
  462. package/models/registry.d.ts +22 -0
  463. package/models/registry.d.ts.map +1 -0
  464. package/models/registry.js +43 -0
  465. package/models/registry.js.map +1 -0
  466. package/models/useModelRegistry.d.ts +18 -0
  467. package/models/useModelRegistry.d.ts.map +1 -0
  468. package/models/useModelRegistry.js +40 -0
  469. package/models/useModelRegistry.js.map +1 -0
  470. package/organization/CreateOrganizationForm.d.ts +28 -0
  471. package/organization/CreateOrganizationForm.d.ts.map +1 -0
  472. package/organization/CreateOrganizationForm.js +91 -0
  473. package/organization/CreateOrganizationForm.js.map +1 -0
  474. package/organization/index.d.ts +5 -0
  475. package/organization/index.d.ts.map +1 -0
  476. package/organization/index.js +3 -0
  477. package/organization/index.js.map +1 -0
  478. package/organization/useCreateOrganization.d.ts +34 -0
  479. package/organization/useCreateOrganization.d.ts.map +1 -0
  480. package/organization/useCreateOrganization.js +50 -0
  481. package/organization/useCreateOrganization.js.map +1 -0
  482. package/package.json +12 -40
  483. package/search/index.d.ts +7 -0
  484. package/search/index.d.ts.map +1 -0
  485. package/search/index.js +4 -0
  486. package/search/index.js.map +1 -0
  487. package/search/useResourceCount.d.ts +42 -0
  488. package/search/useResourceCount.d.ts.map +1 -0
  489. package/search/useResourceCount.js +58 -0
  490. package/search/useResourceCount.js.map +1 -0
  491. package/search/useResourceList.d.ts +43 -0
  492. package/search/useResourceList.d.ts.map +1 -0
  493. package/search/useResourceList.js +73 -0
  494. package/search/useResourceList.js.map +1 -0
  495. package/search/useResourceSearch.d.ts +27 -0
  496. package/search/useResourceSearch.d.ts.map +1 -0
  497. package/search/useResourceSearch.js +55 -0
  498. package/search/useResourceSearch.js.map +1 -0
  499. package/session/__tests__/group-sessions.test.d.ts +2 -0
  500. package/session/__tests__/group-sessions.test.d.ts.map +1 -0
  501. package/session/__tests__/group-sessions.test.js +91 -0
  502. package/session/__tests__/group-sessions.test.js.map +1 -0
  503. package/session/__tests__/useSessionConversation.test.d.ts +2 -0
  504. package/session/__tests__/useSessionConversation.test.d.ts.map +1 -0
  505. package/session/__tests__/useSessionConversation.test.js +209 -0
  506. package/session/__tests__/useSessionConversation.test.js.map +1 -0
  507. package/session/group-sessions.d.ts +20 -0
  508. package/session/group-sessions.d.ts.map +1 -0
  509. package/session/group-sessions.js +61 -0
  510. package/session/group-sessions.js.map +1 -0
  511. package/session/index.d.ts +16 -6
  512. package/session/index.d.ts.map +1 -1
  513. package/session/index.js +8 -5
  514. package/session/index.js.map +1 -1
  515. package/session/useAgentRefFromSession.d.ts +28 -0
  516. package/session/useAgentRefFromSession.d.ts.map +1 -0
  517. package/session/useAgentRefFromSession.js +73 -0
  518. package/session/useAgentRefFromSession.js.map +1 -0
  519. package/session/useCreateSession.d.ts +73 -0
  520. package/session/useCreateSession.d.ts.map +1 -0
  521. package/session/useCreateSession.js +86 -0
  522. package/session/useCreateSession.js.map +1 -0
  523. package/session/useSession.d.ts +17 -0
  524. package/session/useSession.d.ts.map +1 -0
  525. package/session/useSession.js +46 -0
  526. package/session/useSession.js.map +1 -0
  527. package/session/useSessionConversation.d.ts +151 -0
  528. package/session/useSessionConversation.d.ts.map +1 -0
  529. package/session/useSessionConversation.js +282 -0
  530. package/session/useSessionConversation.js.map +1 -0
  531. package/session/useSessionExecutions.d.ts +20 -0
  532. package/session/useSessionExecutions.d.ts.map +1 -0
  533. package/session/useSessionExecutions.js +57 -0
  534. package/session/useSessionExecutions.js.map +1 -0
  535. package/session/useSessionList.d.ts +25 -0
  536. package/session/useSessionList.d.ts.map +1 -0
  537. package/session/useSessionList.js +57 -0
  538. package/session/useSessionList.js.map +1 -0
  539. package/session/useUpdateSession.d.ts +22 -0
  540. package/session/useUpdateSession.d.ts.map +1 -0
  541. package/session/useUpdateSession.js +38 -0
  542. package/session/useUpdateSession.js.map +1 -0
  543. package/skill/SkillDetailView.d.ts +51 -0
  544. package/skill/SkillDetailView.d.ts.map +1 -0
  545. package/skill/SkillDetailView.js +156 -0
  546. package/skill/SkillDetailView.js.map +1 -0
  547. package/skill/SkillPicker.d.ts +26 -0
  548. package/skill/SkillPicker.d.ts.map +1 -0
  549. package/skill/SkillPicker.js +102 -0
  550. package/skill/SkillPicker.js.map +1 -0
  551. package/skill/index.d.ts +12 -2
  552. package/skill/index.d.ts.map +1 -1
  553. package/skill/index.js +6 -2
  554. package/skill/index.js.map +1 -1
  555. package/skill/useSkill.d.ts +49 -0
  556. package/skill/useSkill.d.ts.map +1 -0
  557. package/skill/useSkill.js +83 -0
  558. package/skill/useSkill.js.map +1 -0
  559. package/skill/useSkillCount.d.ts +49 -0
  560. package/skill/useSkillCount.d.ts.map +1 -0
  561. package/skill/useSkillCount.js +32 -0
  562. package/skill/useSkillCount.js.map +1 -0
  563. package/skill/useSkillList.d.ts +62 -0
  564. package/skill/useSkillList.d.ts.map +1 -0
  565. package/skill/useSkillList.js +38 -0
  566. package/skill/useSkillList.js.map +1 -0
  567. package/skill/useSkillSearch.d.ts +18 -0
  568. package/skill/useSkillSearch.d.ts.map +1 -0
  569. package/skill/useSkillSearch.js +23 -0
  570. package/skill/useSkillSearch.js.map +1 -0
  571. package/src/__tests__/hooks.test.tsx +28 -0
  572. package/src/agent/AgentDetailView.tsx +712 -0
  573. package/src/agent/AgentEnvForm.tsx +113 -0
  574. package/src/agent/AgentPicker.tsx +342 -0
  575. package/src/agent/agentSetupReducer.ts +222 -0
  576. package/src/agent/index.ts +43 -11
  577. package/src/agent/useAgent.ts +103 -0
  578. package/src/agent/useAgentCount.ts +68 -0
  579. package/src/agent/useAgentList.ts +84 -0
  580. package/src/agent/useAgentSearch.ts +43 -0
  581. package/src/agent/useAgentSetup.ts +384 -0
  582. package/src/agent/useDefaultAgent.ts +77 -0
  583. package/src/agent-instance/buildPersonalInstanceInput.ts +40 -0
  584. package/src/agent-instance/index.ts +11 -0
  585. package/src/agent-instance/useAgentInstance.ts +87 -0
  586. package/src/agent-instance/useAgentInstanceList.ts +99 -0
  587. package/src/agent-instance/useCreateAgentInstance.ts +75 -0
  588. package/src/agent-instance/usePersonalAgentInstance.ts +185 -0
  589. package/src/attachment/AttachmentChipList.tsx +189 -0
  590. package/src/attachment/attachment-utils.ts +114 -0
  591. package/src/attachment/index.ts +17 -0
  592. package/src/attachment/useAttachments.ts +293 -0
  593. package/src/composer/ComposerToolbar.tsx +169 -0
  594. package/src/composer/ConfigureMenu.tsx +237 -0
  595. package/src/composer/ContextChip.tsx +104 -0
  596. package/src/composer/ContextPopover.tsx +54 -0
  597. package/src/composer/SessionComposer.tsx +1175 -0
  598. package/src/composer/icons.tsx +253 -0
  599. package/src/composer/index.ts +8 -0
  600. package/src/composer/useComposer.ts +163 -0
  601. package/src/environment/CreateEnvironmentForm.tsx +188 -0
  602. package/src/environment/EnvVarForm.tsx +475 -0
  603. package/src/environment/EnvironmentListPanel.tsx +258 -0
  604. package/src/environment/EnvironmentVariableEditor.tsx +811 -0
  605. package/src/environment/diffEnvSpec.ts +50 -0
  606. package/src/environment/index.ts +43 -0
  607. package/src/environment/useCreateEnvironment.ts +74 -0
  608. package/src/environment/useEnvironment.ts +89 -0
  609. package/src/environment/useEnvironmentList.ts +112 -0
  610. package/src/environment/usePersonalEnvironment.ts +285 -0
  611. package/src/environment/useRemoveEnvironmentVariables.ts +86 -0
  612. package/src/environment/useRevealSecretValue.ts +141 -0
  613. package/src/environment/useSessionEnvPool.ts +151 -0
  614. package/src/environment/useUpdateEnvironment.ts +74 -0
  615. package/src/environment/useUpdateEnvironmentVariables.ts +106 -0
  616. package/src/error/ErrorMessage.tsx +225 -0
  617. package/src/error/SecretFlowErrorGuide.tsx +189 -0
  618. package/src/error/index.ts +5 -0
  619. package/src/execution/ApprovalCard.tsx +499 -0
  620. package/src/execution/ArtifactCard.tsx +275 -0
  621. package/src/execution/ArtifactPreviewModal.tsx +942 -0
  622. package/src/execution/ArtifactsWidget.tsx +128 -0
  623. package/src/execution/ExecutionCostSummary.tsx +172 -0
  624. package/src/execution/ExecutionPhaseBadge.tsx +223 -0
  625. package/src/execution/ExecutionProgress.tsx +191 -0
  626. package/src/execution/FilePathContext.tsx +32 -0
  627. package/src/execution/FilePathLink.tsx +147 -0
  628. package/src/execution/FollowUpInput.tsx +220 -0
  629. package/src/execution/MessageEntry.tsx +120 -0
  630. package/src/execution/MessageThread.tsx +343 -0
  631. package/src/execution/SessionVariablesInput.tsx +374 -0
  632. package/src/execution/SubAgentSection.tsx +243 -0
  633. package/src/execution/ToolCallDetail.tsx +452 -0
  634. package/src/execution/ToolCallGroup.tsx +342 -0
  635. package/src/execution/ToolCallItem.tsx +426 -0
  636. package/src/execution/__tests__/ExecutionCostSummary.test.tsx +416 -0
  637. package/src/execution/__tests__/execution-phases.test.ts +31 -0
  638. package/src/execution/__tests__/useExecutionStream.test.tsx +242 -0
  639. package/src/execution/__tests__/useExecutionUsage.test.tsx +408 -0
  640. package/src/execution/artifact-utils.ts +136 -0
  641. package/src/execution/execution-phases.ts +16 -0
  642. package/src/execution/file-path-resolver.ts +171 -0
  643. package/src/execution/index.ts +97 -0
  644. package/src/execution/tool-categories.ts +171 -0
  645. package/src/execution/useArtifactContent.ts +156 -0
  646. package/src/execution/useCreateAgentExecution.ts +137 -0
  647. package/src/execution/useExecutionArtifacts.ts +58 -0
  648. package/src/execution/useExecutionStream.ts +149 -0
  649. package/src/execution/useExecutionUsage.ts +213 -0
  650. package/src/execution/useSessionVariables.ts +189 -0
  651. package/src/execution/useSubmitApproval.ts +98 -0
  652. package/src/github/GitHubRepoPicker.tsx +568 -0
  653. package/src/github/index.ts +19 -0
  654. package/src/github/useGitHubConnection.ts +368 -0
  655. package/src/github/useGitHubRepos.ts +197 -0
  656. package/src/index.ts +367 -0
  657. package/src/internal/ScrollFade.tsx +29 -0
  658. package/src/internal/markdown-components.tsx +197 -0
  659. package/src/internal/slug.ts +41 -0
  660. package/src/internal/toError.ts +19 -0
  661. package/src/internal/useScrollShadows.ts +54 -0
  662. package/src/library/ResourceCountCard.tsx +187 -0
  663. package/src/library/ResourceListView.tsx +698 -0
  664. package/src/library/ScopeToggle.tsx +121 -0
  665. package/src/library/detect-skill-package.ts +162 -0
  666. package/src/library/detect-stigmer-resource.ts +130 -0
  667. package/src/library/index.ts +42 -0
  668. package/src/library/parse-resource-yaml.ts +611 -0
  669. package/src/library/serialize-resource-yaml.ts +407 -0
  670. package/src/library/useApplyResource.ts +211 -0
  671. package/src/library/useDetectSkillPackage.ts +91 -0
  672. package/src/library/useDetectStigmerResource.ts +45 -0
  673. package/src/mcp-server/McpServerConfigPanel.tsx +265 -0
  674. package/src/mcp-server/McpServerDetailView.tsx +580 -0
  675. package/src/mcp-server/McpServerPicker.tsx +857 -0
  676. package/src/mcp-server/McpToolSelector.tsx +243 -0
  677. package/src/mcp-server/index.ts +44 -3
  678. package/src/mcp-server/mcpServerSetupReducer.ts +308 -0
  679. package/src/mcp-server/useMcpServer.ts +103 -0
  680. package/src/mcp-server/useMcpServerCount.ts +68 -0
  681. package/src/mcp-server/useMcpServerList.ts +84 -0
  682. package/src/mcp-server/useMcpServerSearch.ts +38 -0
  683. package/src/mcp-server/useMcpServerSetup.ts +487 -0
  684. package/src/models/ModelSelector.tsx +132 -0
  685. package/src/models/index.ts +6 -0
  686. package/src/models/registry.ts +60 -0
  687. package/src/models/useModelRegistry.ts +58 -0
  688. package/src/organization/CreateOrganizationForm.tsx +269 -0
  689. package/src/organization/index.ts +4 -0
  690. package/src/organization/useCreateOrganization.ts +65 -0
  691. package/src/search/index.ts +18 -0
  692. package/src/search/useResourceCount.ts +102 -0
  693. package/src/search/useResourceList.ts +123 -0
  694. package/src/search/useResourceSearch.ts +90 -0
  695. package/src/session/__tests__/group-sessions.test.ts +113 -0
  696. package/src/session/__tests__/useSessionConversation.test.tsx +305 -0
  697. package/src/session/group-sessions.ts +80 -0
  698. package/src/session/index.ts +30 -10
  699. package/src/session/useAgentRefFromSession.ts +94 -0
  700. package/src/session/useCreateSession.ts +141 -0
  701. package/src/session/useSession.ts +60 -0
  702. package/src/session/useSessionConversation.ts +515 -0
  703. package/src/session/useSessionExecutions.ts +77 -0
  704. package/src/session/useSessionList.ts +90 -0
  705. package/src/session/useUpdateSession.ts +54 -0
  706. package/src/skill/SkillDetailView.tsx +477 -0
  707. package/src/skill/SkillPicker.tsx +331 -0
  708. package/src/skill/index.ts +23 -3
  709. package/src/skill/useSkill.ts +105 -0
  710. package/src/skill/useSkillCount.ts +68 -0
  711. package/src/skill/useSkillList.ts +84 -0
  712. package/src/skill/useSkillSearch.ts +38 -0
  713. package/src/styles.css +2 -0
  714. package/src/workspace/FolderBrowser.tsx +568 -0
  715. package/src/workspace/WorkspaceEditor.tsx +480 -0
  716. package/src/workspace/WorkspaceSummary.tsx +109 -0
  717. package/src/workspace/index.ts +17 -0
  718. package/src/workspace/useFolderListing.ts +126 -0
  719. package/src/workspace/useWorkspaceEntries.ts +98 -0
  720. package/styles.css +1 -1
  721. package/workspace/FolderBrowser.d.ts +26 -0
  722. package/workspace/FolderBrowser.d.ts.map +1 -0
  723. package/workspace/FolderBrowser.js +179 -0
  724. package/workspace/FolderBrowser.js.map +1 -0
  725. package/workspace/WorkspaceEditor.d.ts +30 -0
  726. package/workspace/WorkspaceEditor.d.ts.map +1 -0
  727. package/workspace/WorkspaceEditor.js +116 -0
  728. package/workspace/WorkspaceEditor.js.map +1 -0
  729. package/workspace/WorkspaceSummary.d.ts +30 -0
  730. package/workspace/WorkspaceSummary.d.ts.map +1 -0
  731. package/workspace/WorkspaceSummary.js +53 -0
  732. package/workspace/WorkspaceSummary.js.map +1 -0
  733. package/workspace/index.d.ts +11 -0
  734. package/workspace/index.d.ts.map +1 -0
  735. package/workspace/index.js +6 -0
  736. package/workspace/index.js.map +1 -0
  737. package/workspace/useFolderListing.d.ts +35 -0
  738. package/workspace/useFolderListing.d.ts.map +1 -0
  739. package/workspace/useFolderListing.js +86 -0
  740. package/workspace/useFolderListing.js.map +1 -0
  741. package/workspace/useWorkspaceEntries.d.ts +28 -0
  742. package/workspace/useWorkspaceEntries.d.ts.map +1 -0
  743. package/workspace/useWorkspaceEntries.js +66 -0
  744. package/workspace/useWorkspaceEntries.js.map +1 -0
  745. package/agent/components/AgentCard.d.ts +0 -9
  746. package/agent/components/AgentCard.d.ts.map +0 -1
  747. package/agent/components/AgentCard.js +0 -26
  748. package/agent/components/AgentCard.js.map +0 -1
  749. package/agent/components/AgentOverview.d.ts +0 -7
  750. package/agent/components/AgentOverview.d.ts.map +0 -1
  751. package/agent/components/AgentOverview.js +0 -36
  752. package/agent/components/AgentOverview.js.map +0 -1
  753. package/agent/components/AgentPicker.d.ts +0 -17
  754. package/agent/components/AgentPicker.d.ts.map +0 -1
  755. package/agent/components/AgentPicker.js +0 -86
  756. package/agent/components/AgentPicker.js.map +0 -1
  757. package/agent/hooks/useAgentSearch.d.ts +0 -28
  758. package/agent/hooks/useAgentSearch.d.ts.map +0 -1
  759. package/agent/hooks/useAgentSearch.js +0 -63
  760. package/agent/hooks/useAgentSearch.js.map +0 -1
  761. package/agent-execution/components/ApprovalControls.d.ts +0 -10
  762. package/agent-execution/components/ApprovalControls.d.ts.map +0 -1
  763. package/agent-execution/components/ApprovalControls.js +0 -19
  764. package/agent-execution/components/ApprovalControls.js.map +0 -1
  765. package/agent-execution/components/ExecutionStatus.d.ts +0 -8
  766. package/agent-execution/components/ExecutionStatus.d.ts.map +0 -1
  767. package/agent-execution/components/ExecutionStatus.js +0 -14
  768. package/agent-execution/components/ExecutionStatus.js.map +0 -1
  769. package/agent-execution/components/ExecutionStream.d.ts +0 -16
  770. package/agent-execution/components/ExecutionStream.d.ts.map +0 -1
  771. package/agent-execution/components/ExecutionStream.js +0 -39
  772. package/agent-execution/components/ExecutionStream.js.map +0 -1
  773. package/agent-execution/components/MessageEntry.d.ts +0 -17
  774. package/agent-execution/components/MessageEntry.d.ts.map +0 -1
  775. package/agent-execution/components/MessageEntry.js +0 -36
  776. package/agent-execution/components/MessageEntry.js.map +0 -1
  777. package/agent-execution/components/MessageInput.d.ts +0 -10
  778. package/agent-execution/components/MessageInput.d.ts.map +0 -1
  779. package/agent-execution/components/MessageInput.js +0 -27
  780. package/agent-execution/components/MessageInput.js.map +0 -1
  781. package/agent-execution/components/OutputBlock.d.ts +0 -9
  782. package/agent-execution/components/OutputBlock.d.ts.map +0 -1
  783. package/agent-execution/components/OutputBlock.js +0 -15
  784. package/agent-execution/components/OutputBlock.js.map +0 -1
  785. package/agent-execution/components/SubAgentCard.d.ts +0 -11
  786. package/agent-execution/components/SubAgentCard.d.ts.map +0 -1
  787. package/agent-execution/components/SubAgentCard.js +0 -19
  788. package/agent-execution/components/SubAgentCard.js.map +0 -1
  789. package/agent-execution/components/ToolCallCard.d.ts +0 -11
  790. package/agent-execution/components/ToolCallCard.d.ts.map +0 -1
  791. package/agent-execution/components/ToolCallCard.js +0 -25
  792. package/agent-execution/components/ToolCallCard.js.map +0 -1
  793. package/agent-execution/helpers.d.ts +0 -35
  794. package/agent-execution/helpers.d.ts.map +0 -1
  795. package/agent-execution/helpers.js +0 -157
  796. package/agent-execution/helpers.js.map +0 -1
  797. package/agent-execution/hooks/useAgentExecution.d.ts +0 -21
  798. package/agent-execution/hooks/useAgentExecution.d.ts.map +0 -1
  799. package/agent-execution/hooks/useAgentExecution.js +0 -99
  800. package/agent-execution/hooks/useAgentExecution.js.map +0 -1
  801. package/agent-execution/hooks/useApproval.d.ts +0 -12
  802. package/agent-execution/hooks/useApproval.d.ts.map +0 -1
  803. package/agent-execution/hooks/useApproval.js +0 -32
  804. package/agent-execution/hooks/useApproval.js.map +0 -1
  805. package/agent-execution/index.d.ts +0 -14
  806. package/agent-execution/index.d.ts.map +0 -1
  807. package/agent-execution/index.js +0 -15
  808. package/agent-execution/index.js.map +0 -1
  809. package/catalog/components/ResourceSearchCard.d.ts +0 -23
  810. package/catalog/components/ResourceSearchCard.d.ts.map +0 -1
  811. package/catalog/components/ResourceSearchCard.js +0 -36
  812. package/catalog/components/ResourceSearchCard.js.map +0 -1
  813. package/catalog/index.d.ts +0 -4
  814. package/catalog/index.d.ts.map +0 -1
  815. package/catalog/index.js +0 -5
  816. package/catalog/index.js.map +0 -1
  817. package/catalog/internal/time.d.ts +0 -13
  818. package/catalog/internal/time.d.ts.map +0 -1
  819. package/catalog/internal/time.js +0 -41
  820. package/catalog/internal/time.js.map +0 -1
  821. package/internal/badge.d.ts +0 -8
  822. package/internal/badge.d.ts.map +0 -1
  823. package/internal/badge.js +0 -34
  824. package/internal/badge.js.map +0 -1
  825. package/internal/button.d.ts +0 -9
  826. package/internal/button.d.ts.map +0 -1
  827. package/internal/button.js +0 -36
  828. package/internal/button.js.map +0 -1
  829. package/internal/collapsible.d.ts +0 -6
  830. package/internal/collapsible.d.ts.map +0 -1
  831. package/internal/collapsible.js +0 -14
  832. package/internal/collapsible.js.map +0 -1
  833. package/internal/section.d.ts +0 -8
  834. package/internal/section.d.ts.map +0 -1
  835. package/internal/section.js +0 -6
  836. package/internal/section.js.map +0 -1
  837. package/internal/textarea.d.ts +0 -4
  838. package/internal/textarea.d.ts.map +0 -1
  839. package/internal/textarea.js +0 -9
  840. package/internal/textarea.js.map +0 -1
  841. package/mcp-server/hooks/useMcpServerSearch.d.ts +0 -25
  842. package/mcp-server/hooks/useMcpServerSearch.d.ts.map +0 -1
  843. package/mcp-server/hooks/useMcpServerSearch.js +0 -57
  844. package/mcp-server/hooks/useMcpServerSearch.js.map +0 -1
  845. package/session/components/AgentSessionHistory.d.ts +0 -8
  846. package/session/components/AgentSessionHistory.d.ts.map +0 -1
  847. package/session/components/AgentSessionHistory.js +0 -11
  848. package/session/components/AgentSessionHistory.js.map +0 -1
  849. package/session/components/SessionCard.d.ts +0 -8
  850. package/session/components/SessionCard.d.ts.map +0 -1
  851. package/session/components/SessionCard.js +0 -57
  852. package/session/components/SessionCard.js.map +0 -1
  853. package/session/hooks/useAgentSessionList.d.ts +0 -21
  854. package/session/hooks/useAgentSessionList.d.ts.map +0 -1
  855. package/session/hooks/useAgentSessionList.js +0 -90
  856. package/session/hooks/useAgentSessionList.js.map +0 -1
  857. package/skill/hooks/useSkillSearch.d.ts +0 -25
  858. package/skill/hooks/useSkillSearch.d.ts.map +0 -1
  859. package/skill/hooks/useSkillSearch.js +0 -57
  860. package/skill/hooks/useSkillSearch.js.map +0 -1
  861. package/src/agent/components/AgentCard.tsx +0 -125
  862. package/src/agent/components/AgentOverview.tsx +0 -209
  863. package/src/agent/components/AgentPicker.tsx +0 -255
  864. package/src/agent/hooks/useAgentSearch.ts +0 -94
  865. package/src/agent-execution/components/ApprovalControls.tsx +0 -99
  866. package/src/agent-execution/components/ExecutionStatus.tsx +0 -33
  867. package/src/agent-execution/components/ExecutionStream.tsx +0 -148
  868. package/src/agent-execution/components/MessageEntry.tsx +0 -125
  869. package/src/agent-execution/components/MessageInput.tsx +0 -70
  870. package/src/agent-execution/components/OutputBlock.tsx +0 -43
  871. package/src/agent-execution/components/SubAgentCard.tsx +0 -138
  872. package/src/agent-execution/components/ToolCallCard.tsx +0 -153
  873. package/src/agent-execution/helpers.ts +0 -193
  874. package/src/agent-execution/hooks/useAgentExecution.ts +0 -147
  875. package/src/agent-execution/hooks/useApproval.ts +0 -56
  876. package/src/agent-execution/index.ts +0 -46
  877. package/src/catalog/components/ResourceSearchCard.tsx +0 -137
  878. package/src/catalog/index.ts +0 -6
  879. package/src/catalog/internal/time.ts +0 -40
  880. package/src/internal/badge.tsx +0 -52
  881. package/src/internal/button.tsx +0 -60
  882. package/src/internal/collapsible.tsx +0 -21
  883. package/src/internal/section.tsx +0 -18
  884. package/src/internal/textarea.tsx +0 -23
  885. package/src/mcp-server/hooks/useMcpServerSearch.ts +0 -79
  886. package/src/session/components/AgentSessionHistory.tsx +0 -109
  887. package/src/session/components/SessionCard.tsx +0 -113
  888. package/src/session/hooks/useAgentSessionList.ts +0 -117
  889. package/src/skill/hooks/useSkillSearch.ts +0 -79
@@ -0,0 +1,137 @@
1
+ "use client";
2
+
3
+ import { useCallback, useState } from "react";
4
+ import type { AttachmentInput, EnvVarInput } from "@stigmer/sdk";
5
+ import { useStigmer } from "../hooks";
6
+ import { toError } from "../internal/toError";
7
+
8
+ export interface CreateAgentExecutionInput {
9
+ readonly org: string;
10
+ readonly sessionId: string;
11
+ readonly message: string;
12
+ readonly modelName?: string;
13
+ readonly agentId?: string;
14
+ /**
15
+ * Execution-scoped secrets and configuration (Execution Flow).
16
+ *
17
+ * Values are injected into the agent sandbox for this execution only
18
+ * and deleted when the execution completes. They take the highest
19
+ * merge priority, overriding both Environment values and agent
20
+ * defaults.
21
+ *
22
+ * Use this for B2B integrations where per-call credentials are
23
+ * injected at runtime, or for one-off secrets that should not persist.
24
+ *
25
+ * For persistent credentials that are reused across executions, use
26
+ * the Environment Flow instead (store secrets in an Environment
27
+ * resource and bind them via an AgentInstance).
28
+ *
29
+ * @see {@link https://docs.stigmer.ai/product/how-to-provide-secrets | How to Provide Secrets}
30
+ */
31
+ readonly runtimeEnv?: Record<string, EnvVarInput>;
32
+ /**
33
+ * Pre-uploaded file attachments injected into the agent sandbox.
34
+ *
35
+ * Each entry must include a `storageKey` obtained from
36
+ * `agentExecution.uploadAttachment()`. The agent can read attached
37
+ * files from their mount paths (default `/inputs/{filename}`).
38
+ */
39
+ readonly attachments?: AttachmentInput[];
40
+ }
41
+
42
+ export interface CreateAgentExecutionResult {
43
+ readonly executionId: string;
44
+ readonly sessionId: string;
45
+ }
46
+
47
+ export interface UseCreateAgentExecutionReturn {
48
+ readonly create: (
49
+ input: CreateAgentExecutionInput,
50
+ ) => Promise<CreateAgentExecutionResult>;
51
+ readonly isCreating: boolean;
52
+ readonly error: Error | null;
53
+ readonly clearError: () => void;
54
+ }
55
+
56
+ /**
57
+ * Behavior hook that wraps `agentExecution.create()` with loading/error
58
+ * state.
59
+ *
60
+ * Maps 1:1 to the AgentExecution aggregate — a single run of an agent
61
+ * within an existing session. Requires a `sessionId`; use
62
+ * {@link useCreateSession} to create the session first.
63
+ *
64
+ * Supports both secret delivery flows:
65
+ *
66
+ * - **Environment Flow** — Secrets are stored in Environment resources
67
+ * and bound via AgentInstance. No `runtimeEnv` needed; the backend
68
+ * resolves credentials from the session's agent instance.
69
+ * - **Execution Flow** — Pass `runtimeEnv` to inject per-execution
70
+ * secrets. Values are merged with the highest priority and deleted
71
+ * when the execution completes.
72
+ *
73
+ * @example
74
+ * ```tsx
75
+ * // Environment Flow: secrets come from the agent instance's environments
76
+ * const { create } = useCreateAgentExecution();
77
+ * await create({ org: "acme", sessionId: "ses_abc", message: "Review the PR" });
78
+ * ```
79
+ *
80
+ * @example
81
+ * ```tsx
82
+ * // Execution Flow: inject per-call secrets
83
+ * const { create } = useCreateAgentExecution();
84
+ * await create({
85
+ * org: "acme",
86
+ * sessionId: "ses_abc",
87
+ * message: "Deploy to production",
88
+ * runtimeEnv: {
89
+ * CUSTOMER_API_KEY: { value: "cust_xyz...", isSecret: true },
90
+ * },
91
+ * });
92
+ * ```
93
+ */
94
+ export function useCreateAgentExecution(): UseCreateAgentExecutionReturn {
95
+ const stigmer = useStigmer();
96
+ const [isCreating, setIsCreating] = useState(false);
97
+ const [error, setError] = useState<Error | null>(null);
98
+
99
+ const clearError = useCallback(() => setError(null), []);
100
+
101
+ const create = useCallback(
102
+ async (
103
+ input: CreateAgentExecutionInput,
104
+ ): Promise<CreateAgentExecutionResult> => {
105
+ setIsCreating(true);
106
+ setError(null);
107
+
108
+ try {
109
+ const execution = await stigmer.agentExecution.create({
110
+ name: `execution-${Date.now()}`,
111
+ org: input.org,
112
+ sessionId: input.sessionId,
113
+ agentId: input.agentId,
114
+ message: input.message,
115
+ executionConfig: input.modelName
116
+ ? { modelName: input.modelName }
117
+ : undefined,
118
+ runtimeEnv: input.runtimeEnv,
119
+ attachments: input.attachments,
120
+ });
121
+
122
+ return {
123
+ executionId: execution.metadata!.id,
124
+ sessionId: input.sessionId,
125
+ };
126
+ } catch (err) {
127
+ setError(toError(err));
128
+ throw err;
129
+ } finally {
130
+ setIsCreating(false);
131
+ }
132
+ },
133
+ [stigmer],
134
+ );
135
+
136
+ return { create, isCreating, error, clearError };
137
+ }
@@ -0,0 +1,58 @@
1
+ "use client";
2
+
3
+ import { useMemo } from "react";
4
+ import type { AgentExecution } from "@stigmer/protos/ai/stigmer/agentic/agentexecution/v1/api_pb";
5
+ import type { ExecutionArtifact } from "@stigmer/protos/ai/stigmer/agentic/agentexecution/v1/artifact_pb";
6
+
7
+ export interface UseExecutionArtifactsReturn {
8
+ /** Artifacts published by the agent during execution. Ordered by creation time (oldest first). */
9
+ readonly artifacts: readonly ExecutionArtifact[];
10
+ /** `true` when the execution has at least one artifact. */
11
+ readonly hasArtifacts: boolean;
12
+ /** Total number of artifacts. */
13
+ readonly artifactCount: number;
14
+ }
15
+
16
+ /**
17
+ * Pure derivation hook that extracts artifact metadata from an
18
+ * {@link AgentExecution} snapshot.
19
+ *
20
+ * Follows the same pattern as {@link useExecutionUsage}: a `useMemo`-based
21
+ * derivation with no side effects and no data fetching. The execution
22
+ * object (typically from {@link useExecutionStream}) is the single input.
23
+ *
24
+ * Returns an empty array when the execution is `null` or has no artifacts,
25
+ * eliminating null-checking at every consumer call site.
26
+ *
27
+ * For reading artifact *content* (e.g., for YAML detection or preview
28
+ * rendering), compose with {@link useArtifactContent} on a per-artifact
29
+ * basis. For determining whether an artifact is text-based, use
30
+ * {@link isTextArtifact}.
31
+ *
32
+ * @example
33
+ * ```tsx
34
+ * const { execution } = useExecutionStream(executionId);
35
+ * const { artifacts, hasArtifacts } = useExecutionArtifacts(execution);
36
+ *
37
+ * if (hasArtifacts) {
38
+ * artifacts.forEach((a) => console.log(a.name, a.sizeBytes));
39
+ * }
40
+ * ```
41
+ *
42
+ * @see useArtifactContent — content-fetching hook for a single artifact
43
+ * @see isTextArtifact — heuristic for fetchable text content
44
+ * @see formatArtifactSize — human-readable file size formatting
45
+ */
46
+ export function useExecutionArtifacts(
47
+ execution: AgentExecution | null,
48
+ ): UseExecutionArtifactsReturn {
49
+ return useMemo(() => {
50
+ const artifacts = execution?.status?.artifacts ?? [];
51
+
52
+ return {
53
+ artifacts,
54
+ hasArtifacts: artifacts.length > 0,
55
+ artifactCount: artifacts.length,
56
+ };
57
+ }, [execution]);
58
+ }
@@ -0,0 +1,149 @@
1
+ "use client";
2
+
3
+ import { useCallback, useEffect, useMemo, useRef, useState } from "react";
4
+ import type { AgentExecution } from "@stigmer/protos/ai/stigmer/agentic/agentexecution/v1/api_pb";
5
+ import { ExecutionPhase } from "@stigmer/protos/ai/stigmer/agentic/agentexecution/v1/enum_pb";
6
+ import { useStigmer } from "../hooks";
7
+ import { toError } from "../internal/toError";
8
+ import { isTerminalPhase } from "./execution-phases";
9
+
10
+ export interface UseExecutionStreamReturn {
11
+ /** Latest full execution snapshot from the stream, or `null` before the first update arrives. */
12
+ readonly execution: AgentExecution | null;
13
+ /**
14
+ * Convenience extraction of `execution.status.phase`.
15
+ *
16
+ * Derived from `execution` via `useMemo` — always consistent with the
17
+ * current snapshot. Returns `EXECUTION_PHASE_UNSPECIFIED` when
18
+ * `execution` is `null`.
19
+ */
20
+ readonly phase: ExecutionPhase;
21
+ /** `true` while receiving non-terminal updates from the server stream. */
22
+ readonly isStreaming: boolean;
23
+ /** `true` after subscription starts but before the first snapshot arrives. */
24
+ readonly isConnecting: boolean;
25
+ /** Error from the last failed stream attempt, or `null` when healthy. */
26
+ readonly error: Error | null;
27
+ /**
28
+ * Reset error state and re-establish the stream subscription.
29
+ *
30
+ * Works in any lifecycle state — error, complete, or mid-stream.
31
+ * Uses the `connectKey` counter pattern consistent with `refetch()`
32
+ * in other SDK hooks.
33
+ */
34
+ readonly reconnect: () => void;
35
+ }
36
+
37
+ /**
38
+ * Behavior hook that subscribes to real-time {@link AgentExecution}
39
+ * updates via `stigmer.agentExecution.subscribe()`.
40
+ *
41
+ * Manages the full subscription lifecycle: connection establishment,
42
+ * snapshot streaming, terminal-phase detection, error handling, and
43
+ * manual reconnection. Each server message replaces the previous
44
+ * snapshot atomically — no delta merging.
45
+ *
46
+ * Pass `null` to skip subscribing (stable no-op). When `executionId`
47
+ * changes, the previous subscription is aborted and a fresh one begins.
48
+ *
49
+ * @example
50
+ * ```tsx
51
+ * function LiveExecution({ id }: { id: string }) {
52
+ * const { execution, isStreaming, error, reconnect } =
53
+ * useExecutionStream(id);
54
+ *
55
+ * if (error) return <p>{error.message} <button onClick={reconnect}>Retry</button></p>;
56
+ * if (!execution) return <p>Connecting…</p>;
57
+ *
58
+ * return (
59
+ * <div>
60
+ * {execution.status?.messages.map((m, i) => (
61
+ * <p key={i}>{m.content}</p>
62
+ * ))}
63
+ * {isStreaming && <span>Streaming…</span>}
64
+ * </div>
65
+ * );
66
+ * }
67
+ * ```
68
+ */
69
+ export function useExecutionStream(
70
+ executionId: string | null,
71
+ ): UseExecutionStreamReturn {
72
+ const stigmer = useStigmer();
73
+
74
+ const [execution, setExecution] = useState<AgentExecution | null>(null);
75
+ const [isConnecting, setIsConnecting] = useState(false);
76
+ const [isStreaming, setIsStreaming] = useState(false);
77
+ const [error, setError] = useState<Error | null>(null);
78
+ const [connectKey, setConnectKey] = useState(0);
79
+
80
+ const abortRef = useRef<AbortController | null>(null);
81
+
82
+ const reconnect = useCallback(() => {
83
+ setError(null);
84
+ setConnectKey((k) => k + 1);
85
+ }, []);
86
+
87
+ useEffect(() => {
88
+ if (!executionId) {
89
+ setExecution(null);
90
+ setIsConnecting(false);
91
+ setIsStreaming(false);
92
+ setError(null);
93
+ return;
94
+ }
95
+
96
+ abortRef.current?.abort();
97
+ const controller = new AbortController();
98
+ abortRef.current = controller;
99
+
100
+ setExecution(null);
101
+ setIsConnecting(true);
102
+ setIsStreaming(false);
103
+ setError(null);
104
+
105
+ (async () => {
106
+ try {
107
+ for await (const snapshot of stigmer.agentExecution.subscribe(
108
+ executionId,
109
+ controller.signal,
110
+ )) {
111
+ if (controller.signal.aborted) return;
112
+
113
+ const currentPhase =
114
+ snapshot.status?.phase ??
115
+ ExecutionPhase.EXECUTION_PHASE_UNSPECIFIED;
116
+ const isTerminal = isTerminalPhase(currentPhase);
117
+
118
+ setExecution(snapshot);
119
+ setIsConnecting(false);
120
+ setIsStreaming(!isTerminal);
121
+
122
+ if (isTerminal) break;
123
+ }
124
+
125
+ if (!controller.signal.aborted) {
126
+ setIsStreaming(false);
127
+ }
128
+ } catch (err) {
129
+ if (controller.signal.aborted) return;
130
+
131
+ setError(toError(err));
132
+ setIsConnecting(false);
133
+ setIsStreaming(false);
134
+ }
135
+ })();
136
+
137
+ return () => {
138
+ controller.abort();
139
+ };
140
+ }, [executionId, stigmer, connectKey]);
141
+
142
+ const phase = useMemo(
143
+ () =>
144
+ execution?.status?.phase ?? ExecutionPhase.EXECUTION_PHASE_UNSPECIFIED,
145
+ [execution],
146
+ );
147
+
148
+ return { execution, phase, isStreaming, isConnecting, error, reconnect };
149
+ }
@@ -0,0 +1,213 @@
1
+ "use client";
2
+
3
+ import { useMemo } from "react";
4
+ import { create } from "@bufbuild/protobuf";
5
+ import type { AgentExecution } from "@stigmer/protos/ai/stigmer/agentic/agentexecution/v1/api_pb";
6
+ import type {
7
+ UsageMetrics,
8
+ ModelUsage,
9
+ } from "@stigmer/protos/ai/stigmer/agentic/agentexecution/v1/usage_pb";
10
+ import {
11
+ UsageMetricsSchema,
12
+ ModelUsageSchema,
13
+ } from "@stigmer/protos/ai/stigmer/agentic/agentexecution/v1/usage_pb";
14
+
15
+ export interface UseExecutionUsageReturn {
16
+ /** Aggregated usage (main agent + sub-agents). Null before usage data arrives. */
17
+ readonly usage: UsageMetrics | null;
18
+ /** Whether any sub-agent contributed usage to the aggregated total. */
19
+ readonly hasSubAgentUsage: boolean;
20
+ /** Count of sub-agents that have non-null usage data. */
21
+ readonly subAgentUsageCount: number;
22
+ }
23
+
24
+ /**
25
+ * Pure derivation hook that aggregates {@link UsageMetrics} across the
26
+ * main agent and all sub-agents into a single {@link UsageMetrics} total.
27
+ *
28
+ * The proto scoping rule is:
29
+ * > `status.usage` = main agent's direct LLM usage (excludes sub-agents)
30
+ * > `subAgentExecutions[].usage` = each sub-agent's LLM usage
31
+ * > Total cost = `status.usage` + sum(`subAgentExecutions[].usage`)
32
+ *
33
+ * This hook performs that summation, merges `modelBreakdown` entries by
34
+ * `model+provider` key, and concatenates `llmCalls` sorted by timestamp.
35
+ *
36
+ * Returns `null` when the execution is absent or usage data has not yet
37
+ * arrived from the agent runner.
38
+ *
39
+ * @example
40
+ * ```tsx
41
+ * const { execution } = useExecutionStream(executionId);
42
+ * const { usage, hasSubAgentUsage } = useExecutionUsage(execution);
43
+ *
44
+ * if (usage) {
45
+ * console.log(`Cost: $${usage.estimatedCostUsd}`);
46
+ * console.log(`Tokens: ${usage.totalTokens}`);
47
+ * }
48
+ * ```
49
+ */
50
+ export function useExecutionUsage(
51
+ execution: AgentExecution | null,
52
+ ): UseExecutionUsageReturn {
53
+ return useMemo(() => {
54
+ const usage = aggregateUsage(execution);
55
+
56
+ if (!usage) {
57
+ return { usage: null, hasSubAgentUsage: false, subAgentUsageCount: 0 };
58
+ }
59
+
60
+ const subAgents = execution?.status?.subAgentExecutions ?? [];
61
+ let subAgentUsageCount = 0;
62
+ for (const sub of subAgents) {
63
+ if (sub.usage) subAgentUsageCount++;
64
+ }
65
+
66
+ return {
67
+ usage,
68
+ hasSubAgentUsage: subAgentUsageCount > 0,
69
+ subAgentUsageCount,
70
+ };
71
+ }, [execution]);
72
+ }
73
+
74
+ // ---------------------------------------------------------------------------
75
+ // Pure aggregation function — testable without React
76
+ // ---------------------------------------------------------------------------
77
+
78
+ /**
79
+ * Aggregates usage metrics from the main agent and all sub-agents into
80
+ * a single {@link UsageMetrics} proto object.
81
+ *
82
+ * Returns `null` when the execution or its usage data is not yet available.
83
+ */
84
+ export function aggregateUsage(
85
+ execution: AgentExecution | null,
86
+ ): UsageMetrics | null {
87
+ const mainUsage = execution?.status?.usage;
88
+ if (!mainUsage) return null;
89
+
90
+ const subAgents = execution?.status?.subAgentExecutions ?? [];
91
+ const subUsages: UsageMetrics[] = [];
92
+ for (const sub of subAgents) {
93
+ if (sub.usage) subUsages.push(sub.usage);
94
+ }
95
+
96
+ if (subUsages.length === 0) return mainUsage;
97
+
98
+ const allUsages = [mainUsage, ...subUsages];
99
+
100
+ return create(UsageMetricsSchema, {
101
+ promptTokens: sumField(allUsages, "promptTokens"),
102
+ completionTokens: sumField(allUsages, "completionTokens"),
103
+ totalTokens: sumField(allUsages, "totalTokens"),
104
+ llmCallCount: sumField(allUsages, "llmCallCount"),
105
+ cacheCreationTokens: sumField(allUsages, "cacheCreationTokens"),
106
+ cacheReadTokens: sumField(allUsages, "cacheReadTokens"),
107
+ estimatedCostUsd: sumField(allUsages, "estimatedCostUsd"),
108
+ totalDurationMs: sumField(allUsages, "totalDurationMs"),
109
+ llmDurationMs: sumField(allUsages, "llmDurationMs"),
110
+ toolDurationMs: sumField(allUsages, "toolDurationMs"),
111
+ approvalWaitDurationMs: sumField(allUsages, "approvalWaitDurationMs"),
112
+ toolResultCharsTruncated: sumBigIntField(allUsages),
113
+ primaryModel: mainUsage.primaryModel,
114
+ primaryProvider: mainUsage.primaryProvider,
115
+ modelBreakdown: mergeModelBreakdowns(allUsages),
116
+ llmCalls: mergeLlmCalls(allUsages),
117
+ });
118
+ }
119
+
120
+ // ---------------------------------------------------------------------------
121
+ // Internal helpers
122
+ // ---------------------------------------------------------------------------
123
+
124
+ type NumericField = keyof {
125
+ [K in keyof UsageMetrics as UsageMetrics[K] extends number ? K : never]: true;
126
+ };
127
+
128
+ function sumField(usages: UsageMetrics[], field: NumericField): number {
129
+ let total = 0;
130
+ for (const u of usages) {
131
+ total += u[field] as number;
132
+ }
133
+ return total;
134
+ }
135
+
136
+ function sumBigIntField(usages: UsageMetrics[]): bigint {
137
+ let total = BigInt(0);
138
+ for (const u of usages) {
139
+ total += u.toolResultCharsTruncated;
140
+ }
141
+ return total;
142
+ }
143
+
144
+ /**
145
+ * Merges model breakdown entries across all usages by `model+provider` key.
146
+ * Entries for the same model and provider are combined into a single
147
+ * {@link ModelUsage} with summed numeric fields. Pricing rates are taken
148
+ * from the first entry encountered for each key (rates are stamped at
149
+ * execution time and are identical for the same model).
150
+ */
151
+ function mergeModelBreakdowns(usages: UsageMetrics[]): ModelUsage[] {
152
+ const merged = new Map<
153
+ string,
154
+ {
155
+ model: string;
156
+ provider: string;
157
+ inputTokens: number;
158
+ outputTokens: number;
159
+ cacheCreationTokens: number;
160
+ cacheReadTokens: number;
161
+ callCount: number;
162
+ estimatedCostUsd: number;
163
+ inputPricePerMillion: number;
164
+ outputPricePerMillion: number;
165
+ cacheCreationPricePerMillion: number;
166
+ cacheReadPricePerMillion: number;
167
+ }
168
+ >();
169
+
170
+ for (const usage of usages) {
171
+ for (const entry of usage.modelBreakdown) {
172
+ const key = `${entry.model}\0${entry.provider}`;
173
+ const existing = merged.get(key);
174
+
175
+ if (existing) {
176
+ existing.inputTokens += entry.inputTokens;
177
+ existing.outputTokens += entry.outputTokens;
178
+ existing.cacheCreationTokens += entry.cacheCreationTokens;
179
+ existing.cacheReadTokens += entry.cacheReadTokens;
180
+ existing.callCount += entry.callCount;
181
+ existing.estimatedCostUsd += entry.estimatedCostUsd;
182
+ } else {
183
+ merged.set(key, {
184
+ model: entry.model,
185
+ provider: entry.provider,
186
+ inputTokens: entry.inputTokens,
187
+ outputTokens: entry.outputTokens,
188
+ cacheCreationTokens: entry.cacheCreationTokens,
189
+ cacheReadTokens: entry.cacheReadTokens,
190
+ callCount: entry.callCount,
191
+ estimatedCostUsd: entry.estimatedCostUsd,
192
+ inputPricePerMillion: entry.inputPricePerMillion,
193
+ outputPricePerMillion: entry.outputPricePerMillion,
194
+ cacheCreationPricePerMillion: entry.cacheCreationPricePerMillion,
195
+ cacheReadPricePerMillion: entry.cacheReadPricePerMillion,
196
+ });
197
+ }
198
+ }
199
+ }
200
+
201
+ return Array.from(merged.values()).map((m) => create(ModelUsageSchema, m));
202
+ }
203
+
204
+ /**
205
+ * Concatenates `llmCalls` from all usages, sorted by ISO 8601 timestamp.
206
+ * This gives a globally chronological view across main agent and sub-agents,
207
+ * since per-agent `sequence` numbers overlap.
208
+ */
209
+ function mergeLlmCalls(usages: UsageMetrics[]): UsageMetrics["llmCalls"] {
210
+ const all = usages.flatMap((u) => u.llmCalls);
211
+ if (all.length <= 1) return all;
212
+ return all.slice().sort((a, b) => a.timestamp.localeCompare(b.timestamp));
213
+ }