@stigmer/react 3.12.4 → 3.12.6

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 (369) hide show
  1. package/agent/AgentDetailView.js +2 -2
  2. package/agent/AgentDetailView.js.map +1 -1
  3. package/agent/index.d.ts +0 -1
  4. package/agent/index.d.ts.map +1 -1
  5. package/agent/index.js +0 -1
  6. package/agent/index.js.map +1 -1
  7. package/agent/useUpdateAgent.d.ts +3 -3
  8. package/agent/useUpdateAgent.js +3 -3
  9. package/agent-instance/AgentInstanceDetailPanel.d.ts.map +1 -1
  10. package/agent-instance/AgentInstanceDetailPanel.js +5 -7
  11. package/agent-instance/AgentInstanceDetailPanel.js.map +1 -1
  12. package/agent-instance/useUpdateAgentInstance.d.ts +1 -1
  13. package/agent-instance/useUpdateAgentInstance.js +1 -1
  14. package/attachment/AttachmentChipList.js +16 -6
  15. package/attachment/AttachmentChipList.js.map +1 -1
  16. package/attachment/index.d.ts +1 -1
  17. package/attachment/index.d.ts.map +1 -1
  18. package/attachment/index.js.map +1 -1
  19. package/attachment/useAttachments.d.ts +51 -8
  20. package/attachment/useAttachments.d.ts.map +1 -1
  21. package/attachment/useAttachments.js +74 -3
  22. package/attachment/useAttachments.js.map +1 -1
  23. package/channel/AgentChannelsPanel.d.ts.map +1 -1
  24. package/channel/AgentChannelsPanel.js +10 -5
  25. package/channel/AgentChannelsPanel.js.map +1 -1
  26. package/channel/ChannelRunConfigDialog.d.ts +51 -0
  27. package/channel/ChannelRunConfigDialog.d.ts.map +1 -0
  28. package/channel/ChannelRunConfigDialog.js +121 -0
  29. package/channel/ChannelRunConfigDialog.js.map +1 -0
  30. package/channel/index.d.ts +2 -0
  31. package/channel/index.d.ts.map +1 -1
  32. package/channel/index.js +1 -0
  33. package/channel/index.js.map +1 -1
  34. package/channel/useSaveAgentChannel.d.ts.map +1 -1
  35. package/channel/useSaveAgentChannel.js +6 -3
  36. package/channel/useSaveAgentChannel.js.map +1 -1
  37. package/channel-app/ChannelAppDetailPanel.js +9 -9
  38. package/channel-app/ChannelAppDetailPanel.js.map +1 -1
  39. package/composer/ComposerToolbar.d.ts +6 -1
  40. package/composer/ComposerToolbar.d.ts.map +1 -1
  41. package/composer/ComposerToolbar.js +2 -2
  42. package/composer/ComposerToolbar.js.map +1 -1
  43. package/composer/SessionComposer.d.ts +9 -0
  44. package/composer/SessionComposer.d.ts.map +1 -1
  45. package/composer/SessionComposer.js +39 -13
  46. package/composer/SessionComposer.js.map +1 -1
  47. package/conversation/ConversationComposer.d.ts +19 -3
  48. package/conversation/ConversationComposer.d.ts.map +1 -1
  49. package/conversation/ConversationComposer.js +4 -4
  50. package/conversation/ConversationComposer.js.map +1 -1
  51. package/conversation/ConversationTemplatePickerDialog.d.ts +63 -0
  52. package/conversation/ConversationTemplatePickerDialog.d.ts.map +1 -0
  53. package/conversation/ConversationTemplatePickerDialog.js +151 -0
  54. package/conversation/ConversationTemplatePickerDialog.js.map +1 -0
  55. package/conversation/ConversationsWorkbench.d.ts.map +1 -1
  56. package/conversation/ConversationsWorkbench.js +16 -5
  57. package/conversation/ConversationsWorkbench.js.map +1 -1
  58. package/conversation/index.d.ts +3 -1
  59. package/conversation/index.d.ts.map +1 -1
  60. package/conversation/index.js +1 -0
  61. package/conversation/index.js.map +1 -1
  62. package/conversation/useConversationParticipation.d.ts +41 -4
  63. package/conversation/useConversationParticipation.d.ts.map +1 -1
  64. package/conversation/useConversationParticipation.js +13 -2
  65. package/conversation/useConversationParticipation.js.map +1 -1
  66. package/cursor-accounts/CursorAccountsConsole.d.ts.map +1 -1
  67. package/cursor-accounts/CursorAccountsConsole.js +12 -3
  68. package/cursor-accounts/CursorAccountsConsole.js.map +1 -1
  69. package/cursor-accounts/cursor-account-coverage.d.ts +30 -1
  70. package/cursor-accounts/cursor-account-coverage.d.ts.map +1 -1
  71. package/cursor-accounts/cursor-account-coverage.js +21 -0
  72. package/cursor-accounts/cursor-account-coverage.js.map +1 -1
  73. package/execution/useCreateAgentExecution.d.ts +15 -0
  74. package/execution/useCreateAgentExecution.d.ts.map +1 -1
  75. package/execution/useCreateAgentExecution.js +5 -0
  76. package/execution/useCreateAgentExecution.js.map +1 -1
  77. package/identity-account/AccountPreferencesPanel.d.ts +36 -0
  78. package/identity-account/AccountPreferencesPanel.d.ts.map +1 -0
  79. package/identity-account/AccountPreferencesPanel.js +202 -0
  80. package/identity-account/AccountPreferencesPanel.js.map +1 -0
  81. package/identity-account/index.d.ts +8 -0
  82. package/identity-account/index.d.ts.map +1 -1
  83. package/identity-account/index.js +4 -0
  84. package/identity-account/index.js.map +1 -1
  85. package/identity-account/useAccountExecutionDefaults.d.ts +36 -0
  86. package/identity-account/useAccountExecutionDefaults.d.ts.map +1 -0
  87. package/identity-account/useAccountExecutionDefaults.js +46 -0
  88. package/identity-account/useAccountExecutionDefaults.js.map +1 -0
  89. package/identity-account/useMyIdentityAccount.d.ts +55 -0
  90. package/identity-account/useMyIdentityAccount.d.ts.map +1 -0
  91. package/identity-account/useMyIdentityAccount.js +37 -0
  92. package/identity-account/useMyIdentityAccount.js.map +1 -0
  93. package/identity-account/useUpdateIdentityAccount.d.ts +42 -0
  94. package/identity-account/useUpdateIdentityAccount.d.ts.map +1 -0
  95. package/identity-account/useUpdateIdentityAccount.js +53 -0
  96. package/identity-account/useUpdateIdentityAccount.js.map +1 -0
  97. package/identity-provider/IdentityProviderDetailPanel.d.ts.map +1 -1
  98. package/identity-provider/IdentityProviderDetailPanel.js +16 -15
  99. package/identity-provider/IdentityProviderDetailPanel.js.map +1 -1
  100. package/index.d.ts +15 -13
  101. package/index.d.ts.map +1 -1
  102. package/index.js +11 -8
  103. package/index.js.map +1 -1
  104. package/internal/StandingContextField.d.ts +37 -0
  105. package/internal/StandingContextField.d.ts.map +1 -0
  106. package/internal/StandingContextField.js +24 -0
  107. package/internal/StandingContextField.js.map +1 -0
  108. package/library/InstanceVisibilitySelector.d.ts.map +1 -1
  109. package/library/InstanceVisibilitySelector.js +9 -2
  110. package/library/InstanceVisibilitySelector.js.map +1 -1
  111. package/library/ResourceVisibilityControl.d.ts +13 -3
  112. package/library/ResourceVisibilityControl.d.ts.map +1 -1
  113. package/library/ResourceVisibilityControl.js +33 -5
  114. package/library/ResourceVisibilityControl.js.map +1 -1
  115. package/library/VisibilityOptionRow.d.ts +6 -0
  116. package/library/VisibilityOptionRow.d.ts.map +1 -1
  117. package/library/VisibilityOptionRow.js +11 -1
  118. package/library/VisibilityOptionRow.js.map +1 -1
  119. package/library/VisibilitySelector.d.ts.map +1 -1
  120. package/library/VisibilitySelector.js +14 -2
  121. package/library/VisibilitySelector.js.map +1 -1
  122. package/library/index.d.ts +4 -2
  123. package/library/index.d.ts.map +1 -1
  124. package/library/index.js +2 -1
  125. package/library/index.js.map +1 -1
  126. package/library/useCanSetPublicVisibility.d.ts +30 -0
  127. package/library/useCanSetPublicVisibility.d.ts.map +1 -0
  128. package/library/useCanSetPublicVisibility.js +41 -0
  129. package/library/useCanSetPublicVisibility.js.map +1 -0
  130. package/library/visibilityLevels.d.ts +32 -1
  131. package/library/visibilityLevels.d.ts.map +1 -1
  132. package/library/visibilityLevels.js +34 -14
  133. package/library/visibilityLevels.js.map +1 -1
  134. package/mcp-server/McpServerDetailView.js +2 -2
  135. package/mcp-server/McpServerDetailView.js.map +1 -1
  136. package/mcp-server/index.d.ts +0 -1
  137. package/mcp-server/index.d.ts.map +1 -1
  138. package/mcp-server/index.js +0 -1
  139. package/mcp-server/index.js.map +1 -1
  140. package/mcp-server/internal/definitionDrift.d.ts +14 -12
  141. package/mcp-server/internal/definitionDrift.d.ts.map +1 -1
  142. package/mcp-server/internal/definitionDrift.js +22 -19
  143. package/mcp-server/internal/definitionDrift.js.map +1 -1
  144. package/mcp-server/useMcpServerConnect.d.ts +8 -5
  145. package/mcp-server/useMcpServerConnect.d.ts.map +1 -1
  146. package/mcp-server/useMcpServerConnect.js +2 -1
  147. package/mcp-server/useMcpServerConnect.js.map +1 -1
  148. package/mcp-server/useMcpServerOAuthConnect.d.ts.map +1 -1
  149. package/mcp-server/useMcpServerOAuthConnect.js +7 -2
  150. package/mcp-server/useMcpServerOAuthConnect.js.map +1 -1
  151. package/mcp-server/useUpdateMcpServer.d.ts +3 -3
  152. package/mcp-server/useUpdateMcpServer.js +3 -3
  153. package/models/ModelSelector.d.ts +33 -1
  154. package/models/ModelSelector.d.ts.map +1 -1
  155. package/models/ModelSelector.js +37 -4
  156. package/models/ModelSelector.js.map +1 -1
  157. package/models/index.d.ts +2 -0
  158. package/models/index.d.ts.map +1 -1
  159. package/models/index.js +1 -0
  160. package/models/index.js.map +1 -1
  161. package/models/registry.d.ts +16 -0
  162. package/models/registry.d.ts.map +1 -1
  163. package/models/registry.js +13 -0
  164. package/models/registry.js.map +1 -1
  165. package/models/thinking-mode.d.ts +27 -0
  166. package/models/thinking-mode.d.ts.map +1 -0
  167. package/models/thinking-mode.js +32 -0
  168. package/models/thinking-mode.js.map +1 -0
  169. package/oauth-app/CreateOAuthAppForm.d.ts +2 -2
  170. package/oauth-app/CreateOAuthAppForm.d.ts.map +1 -1
  171. package/oauth-app/CreateOAuthAppForm.js +13 -4
  172. package/oauth-app/CreateOAuthAppForm.js.map +1 -1
  173. package/oauth-app/OAuthAppDetailPanel.d.ts.map +1 -1
  174. package/oauth-app/OAuthAppDetailPanel.js +50 -22
  175. package/oauth-app/OAuthAppDetailPanel.js.map +1 -1
  176. package/organization/OrgPreferencesPanel.d.ts +32 -0
  177. package/organization/OrgPreferencesPanel.d.ts.map +1 -0
  178. package/organization/OrgPreferencesPanel.js +90 -0
  179. package/organization/OrgPreferencesPanel.js.map +1 -0
  180. package/organization/OrgProfilePanel.d.ts.map +1 -1
  181. package/organization/OrgProfilePanel.js +5 -4
  182. package/organization/OrgProfilePanel.js.map +1 -1
  183. package/organization/index.d.ts +2 -0
  184. package/organization/index.d.ts.map +1 -1
  185. package/organization/index.js +1 -0
  186. package/organization/index.js.map +1 -1
  187. package/package.json +4 -4
  188. package/platform-client/PlatformClientDetailPanel.d.ts.map +1 -1
  189. package/platform-client/PlatformClientDetailPanel.js +12 -13
  190. package/platform-client/PlatformClientDetailPanel.js.map +1 -1
  191. package/schedule/ScheduleDetailView.d.ts.map +1 -1
  192. package/schedule/ScheduleDetailView.js +21 -10
  193. package/schedule/ScheduleDetailView.js.map +1 -1
  194. package/schedule/ScheduleForm.d.ts.map +1 -1
  195. package/schedule/ScheduleForm.js +13 -3
  196. package/schedule/ScheduleForm.js.map +1 -1
  197. package/session/NewSessionViewer.d.ts +10 -1
  198. package/session/NewSessionViewer.d.ts.map +1 -1
  199. package/session/NewSessionViewer.js +2 -1
  200. package/session/NewSessionViewer.js.map +1 -1
  201. package/session/run-config.d.ts +9 -0
  202. package/session/run-config.d.ts.map +1 -1
  203. package/session/run-config.js +5 -0
  204. package/session/run-config.js.map +1 -1
  205. package/session/useNewSessionFlow.d.ts +27 -1
  206. package/session/useNewSessionFlow.d.ts.map +1 -1
  207. package/session/useNewSessionFlow.js +51 -8
  208. package/session/useNewSessionFlow.js.map +1 -1
  209. package/session/useSessionConversation.d.ts +12 -1
  210. package/session/useSessionConversation.d.ts.map +1 -1
  211. package/session/useSessionConversation.js +15 -24
  212. package/session/useSessionConversation.js.map +1 -1
  213. package/session/useSessionPageFlow.d.ts.map +1 -1
  214. package/session/useSessionPageFlow.js +14 -10
  215. package/session/useSessionPageFlow.js.map +1 -1
  216. package/session/useUpdateSession.d.ts +18 -24
  217. package/session/useUpdateSession.d.ts.map +1 -1
  218. package/session/useUpdateSession.js +18 -24
  219. package/session/useUpdateSession.js.map +1 -1
  220. package/settings/AccountPreferencesSection.d.ts +3 -0
  221. package/settings/AccountPreferencesSection.d.ts.map +1 -0
  222. package/settings/AccountPreferencesSection.js +10 -0
  223. package/settings/AccountPreferencesSection.js.map +1 -0
  224. package/settings/OrgPreferencesSection.d.ts +3 -0
  225. package/settings/OrgPreferencesSection.d.ts.map +1 -0
  226. package/settings/OrgPreferencesSection.js +13 -0
  227. package/settings/OrgPreferencesSection.js.map +1 -0
  228. package/settings/index.d.ts +2 -0
  229. package/settings/index.d.ts.map +1 -1
  230. package/settings/index.js +2 -0
  231. package/settings/index.js.map +1 -1
  232. package/settings/settings-nav.d.ts.map +1 -1
  233. package/settings/settings-nav.js +17 -1
  234. package/settings/settings-nav.js.map +1 -1
  235. package/src/agent/AgentDetailView.tsx +2 -2
  236. package/src/agent/index.ts +0 -2
  237. package/src/agent/useUpdateAgent.ts +3 -3
  238. package/src/agent-instance/AgentInstanceDetailPanel.tsx +5 -7
  239. package/src/agent-instance/__tests__/AgentInstanceDetailPanel.test.tsx +75 -0
  240. package/src/agent-instance/useUpdateAgentInstance.ts +1 -1
  241. package/src/attachment/AttachmentChipList.tsx +19 -8
  242. package/src/attachment/__tests__/AttachmentChipList.test.tsx +12 -0
  243. package/src/attachment/__tests__/useAttachments.test.ts +293 -0
  244. package/src/attachment/index.ts +1 -0
  245. package/src/attachment/useAttachments.ts +143 -11
  246. package/src/channel/AgentChannelsPanel.tsx +26 -1
  247. package/src/channel/ChannelRunConfigDialog.tsx +351 -0
  248. package/src/channel/__tests__/ChannelRunConfigDialog.test.tsx +210 -0
  249. package/src/channel/index.ts +2 -0
  250. package/src/channel/useSaveAgentChannel.ts +6 -3
  251. package/src/channel-app/ChannelAppDetailPanel.tsx +9 -9
  252. package/src/channel-app/__tests__/channelAppWhatsApp.test.tsx +2 -0
  253. package/src/channel-app/__tests__/channelAppWipeSafety.test.tsx +87 -0
  254. package/src/composer/ComposerToolbar.tsx +9 -0
  255. package/src/composer/SessionComposer.tsx +59 -16
  256. package/src/composer/__tests__/SessionComposer-thinkingMode.test.tsx +176 -0
  257. package/src/conversation/ConversationComposer.tsx +38 -4
  258. package/src/conversation/ConversationTemplatePickerDialog.tsx +441 -0
  259. package/src/conversation/ConversationsWorkbench.tsx +40 -4
  260. package/src/conversation/__tests__/ConversationComposer.test.tsx +56 -1
  261. package/src/conversation/__tests__/ConversationTemplatePickerDialog.test.tsx +224 -0
  262. package/src/conversation/__tests__/useConversationParticipation.test.tsx +45 -4
  263. package/src/conversation/index.ts +4 -0
  264. package/src/conversation/useConversationParticipation.ts +58 -6
  265. package/src/cursor-accounts/CursorAccountsConsole.tsx +40 -5
  266. package/src/cursor-accounts/__tests__/CursorAccountsConsole.test.tsx +32 -0
  267. package/src/cursor-accounts/__tests__/cursor-account-coverage.test.ts +58 -1
  268. package/src/cursor-accounts/cursor-account-coverage.ts +55 -0
  269. package/src/execution/useCreateAgentExecution.ts +19 -0
  270. package/src/identity-account/AccountPreferencesPanel.tsx +532 -0
  271. package/src/identity-account/__tests__/AccountPreferencesPanel.test.tsx +267 -0
  272. package/src/identity-account/__tests__/useAccountExecutionDefaults.test.tsx +116 -0
  273. package/src/identity-account/__tests__/useMyIdentityAccount.test.tsx +121 -0
  274. package/src/identity-account/index.ts +11 -0
  275. package/src/identity-account/useAccountExecutionDefaults.ts +63 -0
  276. package/src/identity-account/useMyIdentityAccount.ts +75 -0
  277. package/src/identity-account/useUpdateIdentityAccount.ts +73 -0
  278. package/src/identity-provider/IdentityProviderDetailPanel.tsx +18 -15
  279. package/src/identity-provider/__tests__/IdentityProviderDetailPanel.test.tsx +80 -0
  280. package/src/index.ts +26 -4
  281. package/src/internal/StandingContextField.tsx +92 -0
  282. package/src/library/InstanceVisibilitySelector.tsx +9 -2
  283. package/src/library/ResourceVisibilityControl.tsx +46 -13
  284. package/src/library/VisibilityOptionRow.tsx +28 -6
  285. package/src/library/VisibilitySelector.tsx +14 -2
  286. package/src/library/__tests__/VisibilitySelector.test.tsx +48 -1
  287. package/src/library/__tests__/visibilityLevels.test.ts +67 -1
  288. package/src/library/index.ts +6 -1
  289. package/src/library/useCanSetPublicVisibility.ts +56 -0
  290. package/src/library/visibilityLevels.ts +65 -14
  291. package/src/mcp-server/McpServerDetailView.tsx +2 -2
  292. package/src/mcp-server/__tests__/useMcpServerConnect.asyncLane.test.tsx +117 -0
  293. package/src/mcp-server/index.ts +0 -2
  294. package/src/mcp-server/internal/definitionDrift.ts +22 -20
  295. package/src/mcp-server/useMcpServerConnect.ts +9 -6
  296. package/src/mcp-server/useMcpServerOAuthConnect.ts +7 -2
  297. package/src/mcp-server/useUpdateMcpServer.ts +3 -3
  298. package/src/models/ModelSelector.tsx +94 -1
  299. package/src/models/index.ts +2 -0
  300. package/src/models/registry.ts +29 -0
  301. package/src/models/thinking-mode.ts +48 -0
  302. package/src/oauth-app/CreateOAuthAppForm.tsx +58 -3
  303. package/src/oauth-app/OAuthAppDetailPanel.tsx +103 -20
  304. package/src/oauth-app/__tests__/OAuthAppDetailPanel.test.tsx +94 -0
  305. package/src/organization/OrgPreferencesPanel.tsx +221 -0
  306. package/src/organization/OrgProfilePanel.tsx +5 -4
  307. package/src/organization/__tests__/OrgPreferencesPanel.test.tsx +145 -0
  308. package/src/organization/__tests__/OrgProfilePanel.test.tsx +108 -0
  309. package/src/organization/index.ts +2 -0
  310. package/src/platform-client/PlatformClientDetailPanel.tsx +14 -13
  311. package/src/platform-client/__tests__/PlatformClientDetailPanel.test.tsx +82 -0
  312. package/src/schedule/ScheduleDetailView.tsx +29 -4
  313. package/src/schedule/ScheduleForm.tsx +14 -1
  314. package/src/session/NewSessionViewer.tsx +12 -0
  315. package/src/session/__tests__/useNewSessionFlow.test.tsx +151 -0
  316. package/src/session/run-config.ts +16 -0
  317. package/src/session/useNewSessionFlow.ts +82 -9
  318. package/src/session/useSessionConversation.ts +32 -40
  319. package/src/session/useSessionPageFlow.ts +14 -11
  320. package/src/session/useUpdateSession.ts +18 -24
  321. package/src/settings/AccountPreferencesSection.tsx +25 -0
  322. package/src/settings/OrgPreferencesSection.tsx +35 -0
  323. package/src/settings/__tests__/settings-nav.test.ts +27 -0
  324. package/src/settings/index.ts +2 -0
  325. package/src/settings/settings-nav.ts +18 -0
  326. package/src/workflow/ApprovalFormBuilder.tsx +20 -27
  327. package/src/workflow/WorkflowDetailView.tsx +2 -2
  328. package/src/workflow/__tests__/WorkflowInstanceDetailPanel.test.tsx +83 -0
  329. package/src/workflow/index.ts +0 -2
  330. package/src/workflow/instance/WorkflowInstanceDetailPanel.tsx +6 -7
  331. package/src/workflow/useUpdateWorkflow.ts +3 -3
  332. package/styles.css +1 -1
  333. package/workflow/ApprovalFormBuilder.d.ts.map +1 -1
  334. package/workflow/ApprovalFormBuilder.js +10 -5
  335. package/workflow/ApprovalFormBuilder.js.map +1 -1
  336. package/workflow/WorkflowDetailView.js +2 -2
  337. package/workflow/WorkflowDetailView.js.map +1 -1
  338. package/workflow/index.d.ts +0 -1
  339. package/workflow/index.d.ts.map +1 -1
  340. package/workflow/index.js +0 -1
  341. package/workflow/index.js.map +1 -1
  342. package/workflow/instance/WorkflowInstanceDetailPanel.d.ts.map +1 -1
  343. package/workflow/instance/WorkflowInstanceDetailPanel.js +6 -7
  344. package/workflow/instance/WorkflowInstanceDetailPanel.js.map +1 -1
  345. package/workflow/useUpdateWorkflow.d.ts +3 -3
  346. package/workflow/useUpdateWorkflow.js +3 -3
  347. package/agent/internal/agentToInput.d.ts +0 -15
  348. package/agent/internal/agentToInput.d.ts.map +0 -1
  349. package/agent/internal/agentToInput.js +0 -84
  350. package/agent/internal/agentToInput.js.map +0 -1
  351. package/mcp-server/internal/mcpServerToInput.d.ts +0 -12
  352. package/mcp-server/internal/mcpServerToInput.d.ts.map +0 -1
  353. package/mcp-server/internal/mcpServerToInput.js +0 -84
  354. package/mcp-server/internal/mcpServerToInput.js.map +0 -1
  355. package/session/session-spec-converters.d.ts +0 -24
  356. package/session/session-spec-converters.d.ts.map +0 -1
  357. package/session/session-spec-converters.js +0 -72
  358. package/session/session-spec-converters.js.map +0 -1
  359. package/src/agent/internal/__tests__/agentToInput.test.ts +0 -145
  360. package/src/agent/internal/agentToInput.ts +0 -102
  361. package/src/mcp-server/__tests__/mcpServerToInput.test.ts +0 -201
  362. package/src/mcp-server/internal/mcpServerToInput.ts +0 -98
  363. package/src/session/__tests__/session-spec-converters.test.ts +0 -183
  364. package/src/session/session-spec-converters.ts +0 -86
  365. package/src/workflow/internal/workflowToInput.ts +0 -96
  366. package/workflow/internal/workflowToInput.d.ts +0 -12
  367. package/workflow/internal/workflowToInput.d.ts.map +0 -1
  368. package/workflow/internal/workflowToInput.js +0 -73
  369. package/workflow/internal/workflowToInput.js.map +0 -1
@@ -1,84 +0,0 @@
1
- /**
2
- * Converts a fetched Agent proto to the AgentInput shape expected by
3
- * `stigmer.agent.update()`. This enables inline field editing: read the
4
- * current resource, modify one field, and re-submit the full input.
5
- *
6
- * Must be kept exhaustive — any spec field not mapped here will be
7
- * cleared on the next update (the backend does full spec replacement).
8
- * Enforced by `__tests__/agentToInput.test.ts`: a schema tripwire fails
9
- * when `AgentSpec` gains a field this converter does not round-trip
10
- * (stigmer/stigmer#319 was exactly such a drop).
11
- */
12
- export function agentToInput(agent) {
13
- const meta = agent.metadata;
14
- const spec = agent.spec;
15
- // Resource refs preserve `version` (the tag/hash pin on versioned
16
- // resources like Skills) — dropping it would silently reset a pinned
17
- // reference to "latest" on the next inline edit.
18
- const mcpServerUsages = spec?.mcpServerUsages?.map((usage) => ({
19
- mcpServerRef: {
20
- org: usage.mcpServerRef?.org ?? "",
21
- slug: usage.mcpServerRef?.slug ?? "",
22
- version: usage.mcpServerRef?.version || undefined,
23
- },
24
- enabledTools: usage.enabledTools.length > 0 ? [...usage.enabledTools] : undefined,
25
- toolApprovalOverrides: usage.toolApprovalOverrides.length > 0
26
- ? usage.toolApprovalOverrides.map((o) => ({
27
- toolName: o.toolName,
28
- requiresApproval: o.requiresApproval,
29
- message: o.message || undefined,
30
- }))
31
- : undefined,
32
- }));
33
- const skillRefs = spec?.skillRefs?.map((ref) => ({
34
- org: ref.org || "",
35
- slug: ref.slug,
36
- version: ref.version || undefined,
37
- }));
38
- const subAgents = spec?.subAgents?.map((sa) => ({
39
- name: sa.name,
40
- description: sa.description || undefined,
41
- instructions: sa.instructions || undefined,
42
- mcpAccess: sa.mcpAccess.length > 0
43
- ? sa.mcpAccess.map((a) => ({
44
- mcpServer: a.mcpServer,
45
- enabledTools: a.enabledTools.length > 0 ? [...a.enabledTools] : undefined,
46
- }))
47
- : undefined,
48
- skillRefs: sa.skillRefs.length > 0
49
- ? sa.skillRefs.map((r) => ({
50
- org: r.org || "",
51
- slug: r.slug,
52
- version: r.version || undefined,
53
- }))
54
- : undefined,
55
- modelOverride: sa.modelOverride || undefined,
56
- }));
57
- let env;
58
- if (spec?.env && Object.keys(spec.env).length > 0) {
59
- env = {};
60
- for (const [key, decl] of Object.entries(spec.env)) {
61
- env[key] = {
62
- isSecret: decl.isSecret || undefined,
63
- description: decl.description || undefined,
64
- optional: decl.optional || undefined,
65
- };
66
- }
67
- }
68
- return {
69
- name: meta?.name ?? "",
70
- org: meta?.org ?? "",
71
- slug: meta?.slug,
72
- labels: meta?.labels && Object.keys(meta.labels).length > 0
73
- ? { ...meta.labels }
74
- : undefined,
75
- description: spec?.description || undefined,
76
- iconUrl: spec?.iconUrl || undefined,
77
- instructions: spec?.instructions || undefined,
78
- mcpServerUsages: mcpServerUsages?.length ? mcpServerUsages : undefined,
79
- skillRefs: skillRefs?.length ? skillRefs : undefined,
80
- subAgents: subAgents?.length ? subAgents : undefined,
81
- env,
82
- };
83
- }
84
- //# sourceMappingURL=agentToInput.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"agentToInput.js","sourceRoot":"","sources":["../../../src/agent/internal/agentToInput.ts"],"names":[],"mappings":"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"}
@@ -1,12 +0,0 @@
1
- import type { McpServer } from "@stigmer/protos/ai/stigmer/agentic/mcpserver/v1/api_pb";
2
- import type { McpServerInput } from "@stigmer/sdk";
3
- /**
4
- * Converts a fetched McpServer proto to the McpServerInput shape expected
5
- * by `stigmer.mcpServer.update()`. Enables inline field editing: read
6
- * the current resource, modify one field, and re-submit the full input.
7
- *
8
- * Must be kept exhaustive — any spec field not mapped here will be
9
- * cleared on the next update (the backend does full spec replacement).
10
- */
11
- export declare function mcpServerToInput(server: McpServer): McpServerInput;
12
- //# sourceMappingURL=mcpServerToInput.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mcpServerToInput.d.ts","sourceRoot":"","sources":["../../../src/mcp-server/internal/mcpServerToInput.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wDAAwD,CAAC;AACxF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAQnD;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,SAAS,GAAG,cAAc,CAgFlE"}
@@ -1,84 +0,0 @@
1
- /**
2
- * Converts a fetched McpServer proto to the McpServerInput shape expected
3
- * by `stigmer.mcpServer.update()`. Enables inline field editing: read
4
- * the current resource, modify one field, and re-submit the full input.
5
- *
6
- * Must be kept exhaustive — any spec field not mapped here will be
7
- * cleared on the next update (the backend does full spec replacement).
8
- */
9
- export function mcpServerToInput(server) {
10
- const meta = server.metadata;
11
- const spec = server.spec;
12
- let env;
13
- if (spec?.env && Object.keys(spec.env).length > 0) {
14
- env = {};
15
- for (const [key, decl] of Object.entries(spec.env)) {
16
- env[key] = {
17
- isSecret: decl.isSecret || undefined,
18
- description: decl.description || undefined,
19
- optional: decl.optional || undefined,
20
- };
21
- }
22
- }
23
- const pinnedToolApprovals = spec?.pinnedToolApprovals?.length
24
- ? spec.pinnedToolApprovals.map((p) => ({
25
- toolName: p.toolName || undefined,
26
- message: p.message || undefined,
27
- fromDestructiveHint: p.fromDestructiveHint || undefined,
28
- }))
29
- : undefined;
30
- const auth = spec?.auth
31
- ? {
32
- oauthAppRef: spec.auth.oauthAppRef
33
- ? { org: spec.auth.oauthAppRef.org || "", slug: spec.auth.oauthAppRef.slug }
34
- : undefined,
35
- targetEnvVar: spec.auth.targetEnvVar || undefined,
36
- tokenLifetimeHint: spec.auth.tokenLifetimeHint || undefined,
37
- scopeHints: spec.auth.scopeHints.length > 0 ? [...spec.auth.scopeHints] : undefined,
38
- discoveryUrl: spec.auth.discoveryUrl || undefined,
39
- oauthOnly: spec.auth.oauthOnly || undefined,
40
- }
41
- : undefined;
42
- const input = {
43
- name: meta?.name ?? "",
44
- org: meta?.org ?? "",
45
- slug: meta?.slug,
46
- labels: meta?.labels && Object.keys(meta.labels).length > 0
47
- ? { ...meta.labels }
48
- : undefined,
49
- description: spec?.description || undefined,
50
- iconUrl: spec?.iconUrl || undefined,
51
- tags: spec?.tags?.length ? [...spec.tags] : undefined,
52
- defaultEnabledTools: spec?.defaultEnabledTools?.length
53
- ? [...spec.defaultEnabledTools]
54
- : undefined,
55
- env,
56
- pinnedToolApprovals,
57
- repositoryUrl: spec?.repositoryUrl || undefined,
58
- githubStars: spec?.githubStars || undefined,
59
- auth,
60
- };
61
- if (spec?.serverType?.case === "stdio") {
62
- input.stdio = {
63
- command: spec.serverType.value.command,
64
- args: spec.serverType.value.args.length > 0
65
- ? [...spec.serverType.value.args]
66
- : undefined,
67
- workingDir: spec.serverType.value.workingDir || undefined,
68
- };
69
- }
70
- else if (spec?.serverType?.case === "http") {
71
- input.http = {
72
- url: spec.serverType.value.url,
73
- headers: spec.serverType.value.headers && Object.keys(spec.serverType.value.headers).length > 0
74
- ? { ...spec.serverType.value.headers }
75
- : undefined,
76
- queryParams: spec.serverType.value.queryParams && Object.keys(spec.serverType.value.queryParams).length > 0
77
- ? { ...spec.serverType.value.queryParams }
78
- : undefined,
79
- timeoutSeconds: spec.serverType.value.timeoutSeconds || undefined,
80
- };
81
- }
82
- return input;
83
- }
84
- //# sourceMappingURL=mcpServerToInput.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mcpServerToInput.js","sourceRoot":"","sources":["../../../src/mcp-server/internal/mcpServerToInput.ts"],"names":[],"mappings":"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"}
@@ -1,24 +0,0 @@
1
- import type { Session } from "@stigmer/protos/ai/stigmer/agentic/session/v1/api_pb";
2
- import type { McpServerUsageInput, ResourceRef, WorkspaceEntryInput } from "@stigmer/sdk";
3
- /**
4
- * Convert proto workspace entries back to SDK input format.
5
- *
6
- * Used by `useSessionConversation` (session update with replace semantics)
7
- * and `useSessionPageFlow` (hydrating composer state from a loaded session).
8
- */
9
- export declare function specWorkspaceToInput(spec: Session["spec"]): WorkspaceEntryInput[] | undefined;
10
- /**
11
- * Convert proto MCP server usages back to SDK input format.
12
- *
13
- * Used by `useSessionConversation` (session update with replace semantics)
14
- * and `useSessionPageFlow` (hydrating composer state from a loaded session).
15
- */
16
- export declare function specMcpUsagesToInput(spec: Session["spec"]): McpServerUsageInput[] | undefined;
17
- /**
18
- * Convert proto skill references back to SDK input format.
19
- *
20
- * Used by `useSessionConversation` (session update with replace semantics)
21
- * and `useSessionPageFlow` (hydrating composer state from a loaded session).
22
- */
23
- export declare function specSkillRefsToInput(spec: Session["spec"]): ResourceRef[] | undefined;
24
- //# sourceMappingURL=session-spec-converters.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"session-spec-converters.d.ts","sourceRoot":"","sources":["../../src/session/session-spec-converters.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sDAAsD,CAAC;AACpF,OAAO,KAAK,EACV,mBAAmB,EACnB,WAAW,EACX,mBAAmB,EACpB,MAAM,cAAc,CAAC;AAEtB;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,GACpB,mBAAmB,EAAE,GAAG,SAAS,CA0BnC;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,GACpB,mBAAmB,EAAE,GAAG,SAAS,CAiBnC;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,GACpB,WAAW,EAAE,GAAG,SAAS,CAO3B"}
@@ -1,72 +0,0 @@
1
- /**
2
- * Convert proto workspace entries back to SDK input format.
3
- *
4
- * Used by `useSessionConversation` (session update with replace semantics)
5
- * and `useSessionPageFlow` (hydrating composer state from a loaded session).
6
- */
7
- export function specWorkspaceToInput(spec) {
8
- return spec?.workspaceEntries?.map((e) => {
9
- if (e.source?.source.case === "gitRepo") {
10
- const v = e.source.source.value;
11
- return {
12
- name: e.name || undefined,
13
- source: {
14
- gitRepo: {
15
- url: v.url,
16
- branch: v.branch || undefined,
17
- commit: v.commit || undefined,
18
- depth: v.depth || undefined,
19
- },
20
- },
21
- };
22
- }
23
- if (e.source?.source.case === "localPath") {
24
- return {
25
- name: e.name || undefined,
26
- source: {
27
- localPath: { path: e.source.source.value.path || undefined },
28
- },
29
- };
30
- }
31
- return { name: e.name || undefined, source: {} };
32
- });
33
- }
34
- /**
35
- * Convert proto MCP server usages back to SDK input format.
36
- *
37
- * Used by `useSessionConversation` (session update with replace semantics)
38
- * and `useSessionPageFlow` (hydrating composer state from a loaded session).
39
- */
40
- export function specMcpUsagesToInput(spec) {
41
- return spec?.mcpServerUsages?.map((u) => ({
42
- mcpServerRef: {
43
- org: u.mcpServerRef?.org ?? "",
44
- slug: u.mcpServerRef?.slug ?? "",
45
- version: u.mcpServerRef?.version || undefined,
46
- kind: u.mcpServerRef?.kind,
47
- },
48
- enabledTools: u.enabledTools?.length ? [...u.enabledTools] : undefined,
49
- toolApprovalOverrides: u.toolApprovalOverrides?.length
50
- ? u.toolApprovalOverrides.map((o) => ({
51
- toolName: o.toolName || undefined,
52
- requiresApproval: o.requiresApproval || undefined,
53
- message: o.message || undefined,
54
- }))
55
- : undefined,
56
- }));
57
- }
58
- /**
59
- * Convert proto skill references back to SDK input format.
60
- *
61
- * Used by `useSessionConversation` (session update with replace semantics)
62
- * and `useSessionPageFlow` (hydrating composer state from a loaded session).
63
- */
64
- export function specSkillRefsToInput(spec) {
65
- return spec?.skillRefs?.map((r) => ({
66
- org: r.org ?? "",
67
- slug: r.slug ?? "",
68
- version: r.version || undefined,
69
- kind: r.kind,
70
- }));
71
- }
72
- //# sourceMappingURL=session-spec-converters.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"session-spec-converters.js","sourceRoot":"","sources":["../../src/session/session-spec-converters.ts"],"names":[],"mappings":"AAOA;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CAClC,IAAqB;IAErB,OAAO,IAAI,EAAE,gBAAgB,EAAE,GAAG,CAAC,CAAC,CAAC,EAAuB,EAAE;QAC5D,IAAI,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YACxC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC;YAChC,OAAO;gBACL,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,SAAS;gBACzB,MAAM,EAAE;oBACN,OAAO,EAAE;wBACP,GAAG,EAAE,CAAC,CAAC,GAAG;wBACV,MAAM,EAAE,CAAC,CAAC,MAAM,IAAI,SAAS;wBAC7B,MAAM,EAAE,CAAC,CAAC,MAAM,IAAI,SAAS;wBAC7B,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,SAAS;qBAC5B;iBACF;aACF,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YAC1C,OAAO;gBACL,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,SAAS;gBACzB,MAAM,EAAE;oBACN,SAAS,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,IAAI,SAAS,EAAE;iBAC7D;aACF,CAAC;QACJ,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;IACnD,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CAClC,IAAqB;IAErB,OAAO,IAAI,EAAE,eAAe,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACxC,YAAY,EAAE;YACZ,GAAG,EAAE,CAAC,CAAC,YAAY,EAAE,GAAG,IAAI,EAAE;YAC9B,IAAI,EAAE,CAAC,CAAC,YAAY,EAAE,IAAI,IAAI,EAAE;YAChC,OAAO,EAAE,CAAC,CAAC,YAAY,EAAE,OAAO,IAAI,SAAS;YAC7C,IAAI,EAAE,CAAC,CAAC,YAAY,EAAE,IAAI;SAC3B;QACD,YAAY,EAAE,CAAC,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS;QACtE,qBAAqB,EAAE,CAAC,CAAC,qBAAqB,EAAE,MAAM;YACpD,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAClC,QAAQ,EAAE,CAAC,CAAC,QAAQ,IAAI,SAAS;gBACjC,gBAAgB,EAAE,CAAC,CAAC,gBAAgB,IAAI,SAAS;gBACjD,OAAO,EAAE,CAAC,CAAC,OAAO,IAAI,SAAS;aAChC,CAAC,CAAC;YACL,CAAC,CAAC,SAAS;KACd,CAAC,CAAC,CAAC;AACN,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CAClC,IAAqB;IAErB,OAAO,IAAI,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAClC,GAAG,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE;QAChB,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,EAAE;QAClB,OAAO,EAAE,CAAC,CAAC,OAAO,IAAI,SAAS;QAC/B,IAAI,EAAE,CAAC,CAAC,IAAI;KACb,CAAC,CAAC,CAAC;AACN,CAAC"}
@@ -1,145 +0,0 @@
1
- import { describe, it, expect } from "vitest";
2
- import { create, equals, isFieldSet, toJson } from "@bufbuild/protobuf";
3
- import type { Agent } from "@stigmer/protos/ai/stigmer/agentic/agent/v1/api_pb";
4
- import { AgentSchema } from "@stigmer/protos/ai/stigmer/agentic/agent/v1/api_pb";
5
- import { AgentSpecSchema } from "@stigmer/protos/ai/stigmer/agentic/agent/v1/spec_pb";
6
- import { ApiResourceKind } from "@stigmer/protos/ai/stigmer/commons/apiresource/apiresourcekind/api_resource_kind_pb";
7
- import { buildAgentProto } from "@stigmer/sdk";
8
- import { agentToInput } from "../agentToInput";
9
-
10
- /**
11
- * Regression guard for stigmer/stigmer#319 — the console agent editor
12
- * silently deleting an unmapped spec field on save.
13
- *
14
- * `agentToInput()` reconstructs a full `AgentInput` from a fetched Agent
15
- * so inline edits can re-submit the whole spec (the backend does full
16
- * spec replacement). Any spec field the converter does not map is
17
- * therefore *cleared* by the next console edit. Two tests enforce the
18
- * converter's "must be kept exhaustive" contract:
19
- *
20
- * 1. The round-trip test proves no field of the fixture below survives
21
- * conversion distorted or dropped.
22
- * 2. The tripwire test proves the fixture itself covers every
23
- * `AgentSpec` field, via schema reflection. When a new proto field
24
- * lands, the tripwire fails until the fixture sets it — and the
25
- * round-trip then fails until `agentToInput()` maps it.
26
- *
27
- * Nested messages are covered by population, not reflection: every
28
- * sub-field of the fixture (ref `version` pins, approval overrides,
29
- * sub-agent grants, env metadata) must carry a non-default value so the
30
- * round-trip comparison can catch its loss.
31
- */
32
- function fullyPopulatedAgent(): Agent {
33
- return create(AgentSchema, {
34
- apiVersion: "agentic.stigmer.ai/v1",
35
- kind: "Agent",
36
- metadata: {
37
- id: "agt_test",
38
- name: "Clinic Assistant",
39
- slug: "clinic-assistant",
40
- org: "acme",
41
- labels: { team: "care-ops" },
42
- },
43
- spec: {
44
- description: "Front-desk assistant for the clinic pilot.",
45
- iconUrl: "https://example.com/clinic.svg",
46
- instructions: "You are a careful clinic assistant. Verify identity first.",
47
- mcpServerUsages: [
48
- {
49
- mcpServerRef: {
50
- org: "acme",
51
- slug: "github",
52
- kind: ApiResourceKind.mcp_server,
53
- },
54
- enabledTools: ["create_issue", "search_issues"],
55
- toolApprovalOverrides: [
56
- {
57
- toolName: "create_issue",
58
- requiresApproval: true,
59
- message: "Create issue {{args.title}}?",
60
- },
61
- ],
62
- },
63
- ],
64
- skillRefs: [
65
- {
66
- org: "acme",
67
- slug: "triage-guide",
68
- kind: ApiResourceKind.skill,
69
- // The version pin (tag or hash) must survive conversion — a
70
- // dropped pin silently resets the skill to "latest".
71
- version: "stable",
72
- },
73
- ],
74
- subAgents: [
75
- {
76
- name: "researcher",
77
- description: "Looks up prior cases",
78
- instructions: "Research thoroughly before answering anything.",
79
- mcpAccess: [{ mcpServer: "github", enabledTools: ["search_issues"] }],
80
- skillRefs: [
81
- {
82
- org: "acme",
83
- slug: "research-methods",
84
- kind: ApiResourceKind.skill,
85
- version: "v1.2",
86
- },
87
- ],
88
- modelOverride: "claude-sonnet",
89
- },
90
- ],
91
- env: {
92
- CLINIC_API_KEY: {
93
- isSecret: true,
94
- description: "Clinic API credential",
95
- },
96
- REGION: { optional: true },
97
- },
98
- },
99
- });
100
- }
101
-
102
- describe("agentToInput", () => {
103
- it("round-trips a fully-populated spec through AgentInput without loss", () => {
104
- const agent = fullyPopulatedAgent();
105
-
106
- const rebuilt = buildAgentProto(agentToInput(agent));
107
-
108
- // toJson gives a readable structural diff on failure; the protobuf
109
- // equals() assertion below is the authoritative semantic check.
110
- expect(toJson(AgentSpecSchema, rebuilt.spec!)).toEqual(
111
- toJson(AgentSpecSchema, agent.spec!),
112
- );
113
- expect(equals(AgentSpecSchema, rebuilt.spec!, agent.spec!)).toBe(true);
114
- });
115
-
116
- it("round-trips the input-owned metadata fields", () => {
117
- const agent = fullyPopulatedAgent();
118
-
119
- const rebuilt = buildAgentProto(agentToInput(agent));
120
-
121
- // Only the fields AgentInput owns: id is server-assigned, and
122
- // visibility is deliberately unmapped (the backend preserves it on
123
- // omit — see preserveImmutableFields in the update pipeline).
124
- expect(rebuilt.metadata?.name).toBe(agent.metadata?.name);
125
- expect(rebuilt.metadata?.org).toBe(agent.metadata?.org);
126
- expect(rebuilt.metadata?.slug).toBe(agent.metadata?.slug);
127
- expect(rebuilt.metadata?.labels).toEqual(agent.metadata?.labels);
128
- });
129
-
130
- it("populates every AgentSpec field in the fixture (new-field tripwire)", () => {
131
- const spec = fullyPopulatedAgent().spec!;
132
-
133
- const unsetFields = AgentSpecSchema.fields
134
- .filter((field) => !isFieldSet(spec, field))
135
- .map((field) => field.name);
136
-
137
- expect(
138
- unsetFields,
139
- `AgentSpec gained field(s) [${unsetFields.join(", ")}] that the ` +
140
- "fixture does not populate. Set them in fullyPopulatedAgent() AND " +
141
- "map them in agentToInput() — an unmapped spec field is cleared " +
142
- "by every console inline edit (stigmer/stigmer#319).",
143
- ).toEqual([]);
144
- });
145
- });
@@ -1,102 +0,0 @@
1
- import type { Agent } from "@stigmer/protos/ai/stigmer/agentic/agent/v1/api_pb";
2
- import type {
3
- AgentInput,
4
- EnvVarDeclarationInput,
5
- McpServerUsageInput,
6
- SubAgentInput,
7
- } from "@stigmer/sdk";
8
-
9
- /**
10
- * Converts a fetched Agent proto to the AgentInput shape expected by
11
- * `stigmer.agent.update()`. This enables inline field editing: read the
12
- * current resource, modify one field, and re-submit the full input.
13
- *
14
- * Must be kept exhaustive — any spec field not mapped here will be
15
- * cleared on the next update (the backend does full spec replacement).
16
- * Enforced by `__tests__/agentToInput.test.ts`: a schema tripwire fails
17
- * when `AgentSpec` gains a field this converter does not round-trip
18
- * (stigmer/stigmer#319 was exactly such a drop).
19
- */
20
- export function agentToInput(agent: Agent): AgentInput {
21
- const meta = agent.metadata;
22
- const spec = agent.spec;
23
-
24
- // Resource refs preserve `version` (the tag/hash pin on versioned
25
- // resources like Skills) — dropping it would silently reset a pinned
26
- // reference to "latest" on the next inline edit.
27
- const mcpServerUsages: McpServerUsageInput[] | undefined =
28
- spec?.mcpServerUsages?.map((usage) => ({
29
- mcpServerRef: {
30
- org: usage.mcpServerRef?.org ?? "",
31
- slug: usage.mcpServerRef?.slug ?? "",
32
- version: usage.mcpServerRef?.version || undefined,
33
- },
34
- enabledTools: usage.enabledTools.length > 0 ? [...usage.enabledTools] : undefined,
35
- toolApprovalOverrides:
36
- usage.toolApprovalOverrides.length > 0
37
- ? usage.toolApprovalOverrides.map((o) => ({
38
- toolName: o.toolName,
39
- requiresApproval: o.requiresApproval,
40
- message: o.message || undefined,
41
- }))
42
- : undefined,
43
- }));
44
-
45
- const skillRefs =
46
- spec?.skillRefs?.map((ref) => ({
47
- org: ref.org || "",
48
- slug: ref.slug,
49
- version: ref.version || undefined,
50
- }));
51
-
52
- const subAgents: SubAgentInput[] | undefined =
53
- spec?.subAgents?.map((sa) => ({
54
- name: sa.name,
55
- description: sa.description || undefined,
56
- instructions: sa.instructions || undefined,
57
- mcpAccess:
58
- sa.mcpAccess.length > 0
59
- ? sa.mcpAccess.map((a) => ({
60
- mcpServer: a.mcpServer,
61
- enabledTools: a.enabledTools.length > 0 ? [...a.enabledTools] : undefined,
62
- }))
63
- : undefined,
64
- skillRefs:
65
- sa.skillRefs.length > 0
66
- ? sa.skillRefs.map((r) => ({
67
- org: r.org || "",
68
- slug: r.slug,
69
- version: r.version || undefined,
70
- }))
71
- : undefined,
72
- modelOverride: sa.modelOverride || undefined,
73
- }));
74
-
75
- let env: Record<string, EnvVarDeclarationInput> | undefined;
76
- if (spec?.env && Object.keys(spec.env).length > 0) {
77
- env = {};
78
- for (const [key, decl] of Object.entries(spec.env)) {
79
- env[key] = {
80
- isSecret: decl.isSecret || undefined,
81
- description: decl.description || undefined,
82
- optional: decl.optional || undefined,
83
- };
84
- }
85
- }
86
-
87
- return {
88
- name: meta?.name ?? "",
89
- org: meta?.org ?? "",
90
- slug: meta?.slug,
91
- labels: meta?.labels && Object.keys(meta.labels).length > 0
92
- ? { ...meta.labels }
93
- : undefined,
94
- description: spec?.description || undefined,
95
- iconUrl: spec?.iconUrl || undefined,
96
- instructions: spec?.instructions || undefined,
97
- mcpServerUsages: mcpServerUsages?.length ? mcpServerUsages : undefined,
98
- skillRefs: skillRefs?.length ? skillRefs : undefined,
99
- subAgents: subAgents?.length ? subAgents : undefined,
100
- env,
101
- };
102
- }