@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,5 +1,6 @@
1
1
  import { type HarnessOption } from "./harness.js";
2
2
  import { type ServiceTierOption } from "./service-tier.js";
3
+ import type { ThinkingModeOption } from "./thinking-mode.js";
3
4
  /** Props for {@link ModelSelector}. */
4
5
  export interface ModelSelectorProps {
5
6
  /** Currently selected model ID. */
@@ -70,6 +71,29 @@ export interface ModelSelectorProps {
70
71
  * (#357, refused at create time).
71
72
  */
72
73
  readonly onServiceTierChange?: (tier: ServiceTierOption) => void;
74
+ /**
75
+ * Current thinking mode for the selected model (stigmer/stigmer#772).
76
+ * Defaults to "disabled". Only meaningful together with
77
+ * {@link onThinkingModeChange}.
78
+ */
79
+ readonly thinkingMode?: ThinkingModeOption;
80
+ /**
81
+ * Called when the user toggles extended reasoning. Providing this enables
82
+ * the "Thinking" switch as a sibling of the fast-tier switch in the
83
+ * popover's options area, which renders ONLY while the selected model is
84
+ * a cursor-harness model declaring the thinking capability
85
+ * ({@link ModelInfo.thinkingCapable}) — no dead controls, and v1 honors
86
+ * the selection on the cursor harness only.
87
+ *
88
+ * The same persistence rule as the fast tier: an active thinking mode
89
+ * survives switches between thinking-capable models (trigger badge +
90
+ * options switch keep it visible) and resets to "disabled" only when the
91
+ * new model lacks the capability — an unsupported combination can never
92
+ * be submitted (#772, refused at create time). Unlike fast, thinking
93
+ * bills at base per-token rates; enabled turns consume more output
94
+ * (reasoning) tokens.
95
+ */
96
+ readonly onThinkingModeChange?: (mode: ThinkingModeOption) => void;
73
97
  /**
74
98
  * @deprecated Use {@link onHarnessChange} instead.
75
99
  */
@@ -99,6 +123,14 @@ export interface ModelSelectorProps {
99
123
  * switch keep the state honest — and resets only for models with no fast
100
124
  * variant, where it would be refused at create time.
101
125
  *
126
+ * **Thinking mode (#772).** The same options-area pattern for the second
127
+ * variant dimension: opting in via
128
+ * {@link ModelSelectorProps.onThinkingModeChange} renders a "Thinking"
129
+ * switch for cursor-harness models declaring the thinking capability.
130
+ * Capability-gated rather than priced-variant-gated — thinking bills at
131
+ * base per-token rates and costs more only through extra reasoning
132
+ * (output) tokens. Persistence and reset rules mirror the fast tier's.
133
+ *
102
134
  * @example
103
135
  * ```tsx
104
136
  * <ModelSelector
@@ -109,5 +141,5 @@ export interface ModelSelectorProps {
109
141
  * />
110
142
  * ```
111
143
  */
112
- export declare function ModelSelector({ value, onValueChange, harness, initialHarness, onHarnessChange, onHarnessResolved, availableHarnesses, curatedModels, groupBy, showSpeedBadge, showDescriptions, compact, className, disabled, placeholderLabel, serviceTier, onServiceTierChange, }: ModelSelectorProps): import("react/jsx-runtime").JSX.Element;
144
+ export declare function ModelSelector({ value, onValueChange, harness, initialHarness, onHarnessChange, onHarnessResolved, availableHarnesses, curatedModels, groupBy, showSpeedBadge, showDescriptions, compact, className, disabled, placeholderLabel, serviceTier, onServiceTierChange, thinkingMode, onThinkingModeChange, }: ModelSelectorProps): import("react/jsx-runtime").JSX.Element;
113
145
  //# sourceMappingURL=ModelSelector.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ModelSelector.d.ts","sourceRoot":"","sources":["../../src/models/ModelSelector.tsx"],"names":[],"mappings":"AASA,OAAO,EAAiC,KAAK,aAAa,EAAE,MAAM,cAAc,CAAC;AACjF,OAAO,EAAqB,KAAK,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAe9E,uCAAuC;AACvC,MAAM,WAAW,kBAAkB;IACjC,mCAAmC;IACnC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,4EAA4E;IAC5E,QAAQ,CAAC,aAAa,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAClD;;;OAGG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,aAAa,CAAC;IACjC;;;;;;OAMG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,aAAa,CAAC;IACxC,wDAAwD;IACxD,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,aAAa,KAAK,IAAI,CAAC;IAC5D;;;OAGG;IACH,QAAQ,CAAC,kBAAkB,CAAC,EAAE,SAAS,aAAa,EAAE,CAAC;IACvD,oEAAoE;IACpE,QAAQ,CAAC,aAAa,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3C,qEAAqE;IACrE,QAAQ,CAAC,OAAO,CAAC,EAAE,UAAU,GAAG,MAAM,GAAG,MAAM,CAAC;IAChD,4CAA4C;IAC5C,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC;IAClC,8DAA8D;IAC9D,QAAQ,CAAC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IACpC,sEAAsE;IACtE,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,yDAAyD;IACzD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,wCAAwC;IACxC,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B;;;;;;;OAOG;IACH,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAEnC;;;;OAIG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,iBAAiB,CAAC;IACzC;;;;;;;;;;;;;OAaG;IACH,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC,IAAI,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAEjE;;OAEG;IACH,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC,OAAO,EAAE,aAAa,KAAK,IAAI,CAAC;CAC/D;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,wBAAgB,aAAa,CAAC,EAC5B,KAAK,EACL,aAAa,EACb,OAAO,EACP,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,aAAa,EACb,OAAoB,EACpB,cAAqB,EACrB,gBAAuB,EACvB,OAAe,EACf,SAAS,EACT,QAAQ,EACR,gBAAgB,EAChB,WAAwB,EACxB,mBAAmB,GACpB,EAAE,kBAAkB,2CAqbpB"}
1
+ {"version":3,"file":"ModelSelector.d.ts","sourceRoot":"","sources":["../../src/models/ModelSelector.tsx"],"names":[],"mappings":"AASA,OAAO,EAAiC,KAAK,aAAa,EAAE,MAAM,cAAc,CAAC;AACjF,OAAO,EAAqB,KAAK,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC9E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AA0B7D,uCAAuC;AACvC,MAAM,WAAW,kBAAkB;IACjC,mCAAmC;IACnC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,4EAA4E;IAC5E,QAAQ,CAAC,aAAa,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAClD;;;OAGG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,aAAa,CAAC;IACjC;;;;;;OAMG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,aAAa,CAAC;IACxC,wDAAwD;IACxD,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,aAAa,KAAK,IAAI,CAAC;IAC5D;;;OAGG;IACH,QAAQ,CAAC,kBAAkB,CAAC,EAAE,SAAS,aAAa,EAAE,CAAC;IACvD,oEAAoE;IACpE,QAAQ,CAAC,aAAa,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3C,qEAAqE;IACrE,QAAQ,CAAC,OAAO,CAAC,EAAE,UAAU,GAAG,MAAM,GAAG,MAAM,CAAC;IAChD,4CAA4C;IAC5C,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC;IAClC,8DAA8D;IAC9D,QAAQ,CAAC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IACpC,sEAAsE;IACtE,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,yDAAyD;IACzD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,wCAAwC;IACxC,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B;;;;;;;OAOG;IACH,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAEnC;;;;OAIG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,iBAAiB,CAAC;IACzC;;;;;;;;;;;;;OAaG;IACH,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC,IAAI,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAEjE;;;;OAIG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,kBAAkB,CAAC;IAC3C;;;;;;;;;;;;;;;OAeG;IACH,QAAQ,CAAC,oBAAoB,CAAC,EAAE,CAAC,IAAI,EAAE,kBAAkB,KAAK,IAAI,CAAC;IAEnE;;OAEG;IACH,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC,OAAO,EAAE,aAAa,KAAK,IAAI,CAAC;CAC/D;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,wBAAgB,aAAa,CAAC,EAC5B,KAAK,EACL,aAAa,EACb,OAAO,EACP,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,aAAa,EACb,OAAoB,EACpB,cAAqB,EACrB,gBAAuB,EACvB,OAAe,EACf,SAAS,EACT,QAAQ,EACR,gBAAgB,EAChB,WAAwB,EACxB,mBAAmB,EACnB,YAAyB,EACzB,oBAAoB,GACrB,EAAE,kBAAkB,2CAoepB"}
@@ -19,6 +19,16 @@ const SPEED_TIER_LABEL = {
19
19
  balanced: "Balanced",
20
20
  slow: "Powerful",
21
21
  };
22
+ /**
23
+ * Whether the thinking switch may act on this model (stigmer/stigmer#772):
24
+ * the registry declares the capability AND the model is cursor-harness —
25
+ * the only harness with a thinking translation in v1. Native models
26
+ * truthfully declare the capability too, but selecting it there would be
27
+ * refused at create time, so the control never renders for them.
28
+ */
29
+ function supportsThinking(model) {
30
+ return model.harness === "cursor" && model.thinkingCapable === true;
31
+ }
22
32
  /**
23
33
  * Combined harness + model picker with a compact trigger button.
24
34
  *
@@ -43,6 +53,14 @@ const SPEED_TIER_LABEL = {
43
53
  * switch keep the state honest — and resets only for models with no fast
44
54
  * variant, where it would be refused at create time.
45
55
  *
56
+ * **Thinking mode (#772).** The same options-area pattern for the second
57
+ * variant dimension: opting in via
58
+ * {@link ModelSelectorProps.onThinkingModeChange} renders a "Thinking"
59
+ * switch for cursor-harness models declaring the thinking capability.
60
+ * Capability-gated rather than priced-variant-gated — thinking bills at
61
+ * base per-token rates and costs more only through extra reasoning
62
+ * (output) tokens. Persistence and reset rules mirror the fast tier's.
63
+ *
46
64
  * @example
47
65
  * ```tsx
48
66
  * <ModelSelector
@@ -53,7 +71,7 @@ const SPEED_TIER_LABEL = {
53
71
  * />
54
72
  * ```
55
73
  */
56
- export function ModelSelector({ value, onValueChange, harness, initialHarness, onHarnessChange, onHarnessResolved, availableHarnesses, curatedModels, groupBy = "provider", showSpeedBadge = true, showDescriptions = true, compact = false, className, disabled, placeholderLabel, serviceTier = "standard", onServiceTierChange, }) {
74
+ export function ModelSelector({ value, onValueChange, harness, initialHarness, onHarnessChange, onHarnessResolved, availableHarnesses, curatedModels, groupBy = "provider", showSpeedBadge = true, showDescriptions = true, compact = false, className, disabled, placeholderLabel, serviceTier = "standard", onServiceTierChange, thinkingMode = "disabled", onThinkingModeChange, }) {
57
75
  const portalContainer = useStigmerPortalContainer();
58
76
  const isHarnessLocked = harness !== undefined;
59
77
  const [internalHarness, setInternalHarness] = useState(harness ?? initialHarness ?? "native");
@@ -153,8 +171,16 @@ export function ModelSelector({ value, onValueChange, harness, initialHarness, o
153
171
  && !model.serviceTiers.includes(FAST_SERVICE_TIER)) {
154
172
  onServiceTierChange("standard");
155
173
  }
174
+ // The identical persistence rule for the thinking mode (#772):
175
+ // survives between thinking-capable cursor models, resets only
176
+ // where the selection would be refused at create time.
177
+ if (thinkingMode === "enabled"
178
+ && onThinkingModeChange
179
+ && !supportsThinking(model)) {
180
+ onThinkingModeChange("disabled");
181
+ }
156
182
  setOpen(false);
157
- }, [onValueChange, serviceTier, onServiceTierChange]);
183
+ }, [onValueChange, serviceTier, onServiceTierChange, thinkingMode, onThinkingModeChange]);
158
184
  const scrollHighlightIntoView = useCallback((idx) => {
159
185
  const container = listRef.current;
160
186
  if (!container)
@@ -205,6 +231,13 @@ export function ModelSelector({ value, onValueChange, harness, initialHarness, o
205
231
  // fast AND the selected model actually prices the variant.
206
232
  const fastActive = serviceTier === "fast"
207
233
  && (selectedModel?.serviceTiers.includes(FAST_SERVICE_TIER) ?? false);
234
+ // The thinking switch renders under the same no-dead-controls rule,
235
+ // gated on the capability instead of a priced variant (#772).
236
+ const showThinkingToggle = onThinkingModeChange !== undefined
237
+ && selectedModel !== undefined
238
+ && supportsThinking(selectedModel);
239
+ const thinkingActive = thinkingMode === "enabled"
240
+ && (selectedModel !== undefined && supportsThinking(selectedModel));
208
241
  const usingPlaceholder = !value && placeholderLabel !== undefined;
209
242
  const triggerLabel = usingPlaceholder
210
243
  ? placeholderLabel
@@ -212,7 +245,7 @@ export function ModelSelector({ value, onValueChange, harness, initialHarness, o
212
245
  const triggerHarness = !isHarnessLocked && !usingPlaceholder
213
246
  ? HARNESS_META[activeHarness].label
214
247
  : undefined;
215
- return (_jsxs(Popover.Root, { open: open, onOpenChange: setOpen, children: [_jsxs(Popover.Trigger, { disabled: disabled, className: cn("stg:inline-flex stg:items-center stg:gap-1.5 stg:rounded-md stg:border stg:border-border", "stg:bg-background stg:px-2.5 stg:py-1.5 stg:text-xs stg:text-foreground", "stg:hover:bg-accent-hover stg:focus-visible:outline-none stg:focus-visible:ring-2 stg:focus-visible:ring-ring", "stg:disabled:pointer-events-none stg:disabled:opacity-50", "stg:transition-colors stg:max-w-[20rem] stg:max-sm:max-w-[12rem]", className), children: [triggerHarness && (_jsx("span", { className: "stg:shrink-0 stg:text-muted-foreground", children: triggerHarness })), triggerHarness && (_jsx("span", { className: "stg:shrink-0 stg:text-border", "aria-hidden": true, children: "\u00B7" })), _jsx("span", { className: "stg:truncate", children: triggerLabel }), fastActive && (_jsxs("span", { className: cn("stg:inline-flex stg:shrink-0 stg:items-center stg:gap-0.5 stg:rounded-full stg:border stg:border-primary stg:px-1.5 stg:py-px", "stg:text-[0.6rem] stg:font-medium stg:uppercase stg:tracking-wider stg:text-primary"), children: [_jsx(BoltIcon, {}), "Fast"] })), _jsx(ChevronIcon, {})] }), _jsx(Popover.Portal, { container: portalContainer, children: _jsx(Popover.Positioner, { sideOffset: 4, children: _jsxs(Popover.Popup, { role: "dialog", "aria-label": "Model selector", className: cn("stg:z-popover stg:w-72 stg:rounded-lg stg:border stg:border-border stg:bg-popover stg:shadow-md", "stg:text-popover-foreground"), children: [_jsxs("div", { className: "stg:relative stg:flex stg:items-center stg:justify-between stg:border-b stg:border-border stg:px-3 stg:py-2", children: [_jsx("span", { className: "stg:text-xs stg:text-muted-foreground", children: "Harness" }), _jsxs("button", { type: "button", "aria-haspopup": "listbox", "aria-expanded": harnessOpen, "aria-label": "Select harness", disabled: isHarnessLocked, className: cn("stg:inline-flex stg:items-center stg:gap-1.5 stg:rounded-md stg:border stg:border-border", "stg:bg-background stg:px-2.5 stg:py-1.5 stg:text-xs stg:text-foreground", "stg:transition-colors", "stg:focus-visible:outline-none stg:focus-visible:ring-2 stg:focus-visible:ring-ring", isHarnessLocked
248
+ return (_jsxs(Popover.Root, { open: open, onOpenChange: setOpen, children: [_jsxs(Popover.Trigger, { disabled: disabled, className: cn("stg:inline-flex stg:items-center stg:gap-1.5 stg:rounded-md stg:border stg:border-border", "stg:bg-background stg:px-2.5 stg:py-1.5 stg:text-xs stg:text-foreground", "stg:hover:bg-accent-hover stg:focus-visible:outline-none stg:focus-visible:ring-2 stg:focus-visible:ring-ring", "stg:disabled:pointer-events-none stg:disabled:opacity-50", "stg:transition-colors stg:max-w-[20rem] stg:max-sm:max-w-[12rem]", className), children: [triggerHarness && (_jsx("span", { className: "stg:shrink-0 stg:text-muted-foreground", children: triggerHarness })), triggerHarness && (_jsx("span", { className: "stg:shrink-0 stg:text-border", "aria-hidden": true, children: "\u00B7" })), _jsx("span", { className: "stg:truncate", children: triggerLabel }), fastActive && (_jsxs("span", { className: cn("stg:inline-flex stg:shrink-0 stg:items-center stg:gap-0.5 stg:rounded-full stg:border stg:border-primary stg:px-1.5 stg:py-px", "stg:text-[0.6rem] stg:font-medium stg:uppercase stg:tracking-wider stg:text-primary"), children: [_jsx(BoltIcon, {}), "Fast"] })), thinkingActive && (_jsx("span", { className: cn("stg:inline-flex stg:shrink-0 stg:items-center stg:gap-0.5 stg:rounded-full stg:border stg:border-primary stg:px-1.5 stg:py-px", "stg:text-[0.6rem] stg:font-medium stg:uppercase stg:tracking-wider stg:text-primary"), children: "Thinking" })), _jsx(ChevronIcon, {})] }), _jsx(Popover.Portal, { container: portalContainer, children: _jsx(Popover.Positioner, { sideOffset: 4, children: _jsxs(Popover.Popup, { role: "dialog", "aria-label": "Model selector", className: cn("stg:z-popover stg:w-72 stg:rounded-lg stg:border stg:border-border stg:bg-popover stg:shadow-md", "stg:text-popover-foreground"), children: [_jsxs("div", { className: "stg:relative stg:flex stg:items-center stg:justify-between stg:border-b stg:border-border stg:px-3 stg:py-2", children: [_jsx("span", { className: "stg:text-xs stg:text-muted-foreground", children: "Harness" }), _jsxs("button", { type: "button", "aria-haspopup": "listbox", "aria-expanded": harnessOpen, "aria-label": "Select harness", disabled: isHarnessLocked, className: cn("stg:inline-flex stg:items-center stg:gap-1.5 stg:rounded-md stg:border stg:border-border", "stg:bg-background stg:px-2.5 stg:py-1.5 stg:text-xs stg:text-foreground", "stg:transition-colors", "stg:focus-visible:outline-none stg:focus-visible:ring-2 stg:focus-visible:ring-ring", isHarnessLocked
216
249
  ? "stg:cursor-not-allowed stg:opacity-50"
217
250
  : "stg:hover:bg-accent-hover"), onClick: () => {
218
251
  if (!isHarnessLocked)
@@ -228,7 +261,7 @@ export function ModelSelector({ value, onValueChange, harness, initialHarness, o
228
261
  handleHarnessChange(h);
229
262
  setHarnessOpen(false);
230
263
  }, children: [_jsx("span", { className: "stg:flex-1 stg:text-left", children: HARNESS_META[h].label }), isActive && _jsx(CheckIcon, { className: "stg:shrink-0 stg:text-primary" })] }, h));
231
- }) }))] }), showServiceTierToggle && (_jsxs("div", { className: "stg:flex stg:items-center stg:justify-between stg:border-b stg:border-border stg:px-3 stg:py-2", children: [_jsxs("div", { className: "stg:flex stg:flex-col", children: [_jsx("span", { className: "stg:text-xs stg:text-foreground", children: "Fast tier" }), _jsx("span", { className: "stg:text-[0.65rem] stg:text-muted-foreground", children: "Faster responses at higher per-token rates" })] }), _jsx(Switch, { checked: fastActive, onCheckedChange: (next) => onServiceTierChange?.(next ? "fast" : "standard"), "aria-label": "Fast tier" })] })), _jsx("div", { className: "stg:border-b stg:border-border stg:px-3 stg:py-1.5", children: _jsx("input", { ref: searchRef, role: "searchbox", "aria-label": "Search models", placeholder: "Search models\u2026", value: searchQuery, onChange: (e) => setSearchQuery(e.target.value), onKeyDown: handleKeyDown, className: cn("stg:w-full stg:bg-transparent stg:text-xs stg:text-foreground stg:placeholder:text-muted-foreground", "stg:outline-none") }) }), _jsxs("div", { ref: listRef, role: "listbox", "aria-label": "Available models", className: "stg:max-h-72 stg:overflow-y-auto stg:p-1", children: [visibleModels.length === 0 && isLoading && (_jsxs("div", { className: "stg:flex stg:items-center stg:justify-center stg:gap-2 stg:px-2 stg:py-3", children: [_jsx("div", { className: "stg:size-3 stg:animate-spin stg:rounded-full stg:border stg:border-muted stg:border-t-primary" }), _jsx("span", { className: "stg:text-xs stg:text-muted-foreground", children: "Loading models\u2026" })] })), visibleModels.length === 0 && !isLoading && error != null && (_jsxs("div", { className: "stg:flex stg:flex-col stg:items-center stg:gap-1.5 stg:px-2 stg:py-3", children: [_jsx("span", { className: "stg:text-xs stg:text-muted-foreground", children: "Failed to load models" }), _jsx("button", { type: "button", className: cn("stg:rounded-md stg:border stg:border-border stg:bg-background stg:px-2.5 stg:py-1 stg:text-xs stg:text-foreground", "stg:hover:bg-accent-hover stg:transition-colors stg:cursor-pointer"), onClick: refetch, children: "Retry" })] })), visibleModels.length === 0 && !isLoading && error == null && (_jsx("div", { className: "stg:px-2 stg:py-3 stg:text-center stg:text-xs stg:text-muted-foreground", children: "No models found" })), groupedModels ? (Array.from(groupedModels.entries()).map(([group, groupModels]) => (_jsxs("div", { children: [_jsx("div", { className: "stg:px-2 stg:pb-0.5 stg:pt-2 stg:text-[0.6rem] stg:font-medium stg:uppercase stg:tracking-wider stg:text-muted-foreground", children: group }), groupModels.map((model) => (_jsx(ModelRow, { model: model, isSelected: model.modelId === selectedModel?.modelId, showDescription: false, showSpeedBadge: showSpeedBadge, onClick: () => selectModel(model) }, model.modelId)))] }, group)))) : (visibleModels.map((model, idx) => (_jsx(ModelRow, { model: model, isSelected: model.modelId === selectedModel?.modelId, isHighlighted: idx === highlightIdx, showDescription: showDescriptions && !compact && !isSearching && !showAll, showSpeedBadge: showSpeedBadge, onClick: () => selectModel(model), onMouseEnter: () => setHighlightIdx(idx) }, model.modelId)))), showShowAllButton && (_jsx("button", { type: "button", className: cn("stg:mt-1 stg:flex stg:w-full stg:items-center stg:justify-center stg:rounded-md stg:border stg:border-dashed stg:border-border", "stg:px-2 stg:py-1.5 stg:text-xs stg:text-muted-foreground", "stg:hover:bg-accent-hover stg:hover:text-foreground stg:transition-colors stg:cursor-pointer"), onClick: () => setShowAll(true), children: "Show all models" }))] })] }) }) })] }));
264
+ }) }))] }), showServiceTierToggle && (_jsxs("div", { className: "stg:flex stg:items-center stg:justify-between stg:border-b stg:border-border stg:px-3 stg:py-2", children: [_jsxs("div", { className: "stg:flex stg:flex-col", children: [_jsx("span", { className: "stg:text-xs stg:text-foreground", children: "Fast tier" }), _jsx("span", { className: "stg:text-[0.65rem] stg:text-muted-foreground", children: "Faster responses at higher per-token rates" })] }), _jsx(Switch, { checked: fastActive, onCheckedChange: (next) => onServiceTierChange?.(next ? "fast" : "standard"), "aria-label": "Fast tier" })] })), showThinkingToggle && (_jsxs("div", { className: "stg:flex stg:items-center stg:justify-between stg:border-b stg:border-border stg:px-3 stg:py-2", children: [_jsxs("div", { className: "stg:flex stg:flex-col", children: [_jsx("span", { className: "stg:text-xs stg:text-foreground", children: "Thinking" }), _jsx("span", { className: "stg:text-[0.65rem] stg:text-muted-foreground", children: "Extended reasoning; uses more output tokens" })] }), _jsx(Switch, { checked: thinkingActive, onCheckedChange: (next) => onThinkingModeChange?.(next ? "enabled" : "disabled"), "aria-label": "Thinking" })] })), _jsx("div", { className: "stg:border-b stg:border-border stg:px-3 stg:py-1.5", children: _jsx("input", { ref: searchRef, role: "searchbox", "aria-label": "Search models", placeholder: "Search models\u2026", value: searchQuery, onChange: (e) => setSearchQuery(e.target.value), onKeyDown: handleKeyDown, className: cn("stg:w-full stg:bg-transparent stg:text-xs stg:text-foreground stg:placeholder:text-muted-foreground", "stg:outline-none") }) }), _jsxs("div", { ref: listRef, role: "listbox", "aria-label": "Available models", className: "stg:max-h-72 stg:overflow-y-auto stg:p-1", children: [visibleModels.length === 0 && isLoading && (_jsxs("div", { className: "stg:flex stg:items-center stg:justify-center stg:gap-2 stg:px-2 stg:py-3", children: [_jsx("div", { className: "stg:size-3 stg:animate-spin stg:rounded-full stg:border stg:border-muted stg:border-t-primary" }), _jsx("span", { className: "stg:text-xs stg:text-muted-foreground", children: "Loading models\u2026" })] })), visibleModels.length === 0 && !isLoading && error != null && (_jsxs("div", { className: "stg:flex stg:flex-col stg:items-center stg:gap-1.5 stg:px-2 stg:py-3", children: [_jsx("span", { className: "stg:text-xs stg:text-muted-foreground", children: "Failed to load models" }), _jsx("button", { type: "button", className: cn("stg:rounded-md stg:border stg:border-border stg:bg-background stg:px-2.5 stg:py-1 stg:text-xs stg:text-foreground", "stg:hover:bg-accent-hover stg:transition-colors stg:cursor-pointer"), onClick: refetch, children: "Retry" })] })), visibleModels.length === 0 && !isLoading && error == null && (_jsx("div", { className: "stg:px-2 stg:py-3 stg:text-center stg:text-xs stg:text-muted-foreground", children: "No models found" })), groupedModels ? (Array.from(groupedModels.entries()).map(([group, groupModels]) => (_jsxs("div", { children: [_jsx("div", { className: "stg:px-2 stg:pb-0.5 stg:pt-2 stg:text-[0.6rem] stg:font-medium stg:uppercase stg:tracking-wider stg:text-muted-foreground", children: group }), groupModels.map((model) => (_jsx(ModelRow, { model: model, isSelected: model.modelId === selectedModel?.modelId, showDescription: false, showSpeedBadge: showSpeedBadge, onClick: () => selectModel(model) }, model.modelId)))] }, group)))) : (visibleModels.map((model, idx) => (_jsx(ModelRow, { model: model, isSelected: model.modelId === selectedModel?.modelId, isHighlighted: idx === highlightIdx, showDescription: showDescriptions && !compact && !isSearching && !showAll, showSpeedBadge: showSpeedBadge, onClick: () => selectModel(model), onMouseEnter: () => setHighlightIdx(idx) }, model.modelId)))), showShowAllButton && (_jsx("button", { type: "button", className: cn("stg:mt-1 stg:flex stg:w-full stg:items-center stg:justify-center stg:rounded-md stg:border stg:border-dashed stg:border-border", "stg:px-2 stg:py-1.5 stg:text-xs stg:text-muted-foreground", "stg:hover:bg-accent-hover stg:hover:text-foreground stg:transition-colors stg:cursor-pointer"), onClick: () => setShowAll(true), children: "Show all models" }))] })] }) }) })] }));
232
265
  }
233
266
  function ModelRow({ model, isSelected, isHighlighted, showDescription, showSpeedBadge, onClick, onMouseEnter, }) {
234
267
  return (_jsxs("button", { "data-model-option": "", role: "option", "aria-selected": isSelected, type: "button", className: cn("stg:flex stg:w-full stg:cursor-pointer stg:flex-col stg:rounded-md stg:px-2 stg:py-1.5 stg:text-xs stg:outline-none", "stg:transition-colors", isHighlighted && "stg:bg-accent stg:text-accent-foreground", !isHighlighted && "stg:hover:bg-accent-hover"), onClick: onClick, onMouseEnter: onMouseEnter, children: [_jsxs("div", { className: "stg:flex stg:w-full stg:items-center stg:gap-2", children: [_jsx("span", { className: "stg:flex-1 stg:truncate stg:text-left stg:font-medium", children: model.displayName }), model.visionCapability === false && (_jsxs("span", { className: "stg:flex stg:shrink-0 stg:items-center stg:gap-0.5 stg:text-[0.6rem] stg:text-muted-foreground", children: [_jsx(NoImageInputIcon, {}), "No image input"] })), _jsx("span", { className: "stg:shrink-0 stg:text-[0.6rem] stg:text-muted-foreground", children: showSpeedBadge
@@ -1 +1 @@
1
- {"version":3,"file":"ModelSelector.js","sourceRoot":"","sources":["../../src/models/ModelSelector.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ModelSelector.js","sourceRoot":"","sources":["../../src/models/ModelSelector.tsx"],"names":[],"mappings":"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"}
package/models/index.d.ts CHANGED
@@ -13,4 +13,6 @@ export { DEFAULT_HARNESS, HARNESS_LABELS, HARNESS_META, HARNESS_OPTIONS, toProto
13
13
  export type { HarnessOption, HarnessDisplayInfo } from "./harness.js";
14
14
  export { FAST_SERVICE_TIER, toProtoServiceTier, fromProtoServiceTier } from "./service-tier.js";
15
15
  export type { ServiceTierOption } from "./service-tier.js";
16
+ export { toProtoThinkingMode, fromProtoThinkingMode } from "./thinking-mode.js";
17
+ export type { ThinkingModeOption } from "./thinking-mode.js";
16
18
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/models/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,kBAAkB,EAAE,QAAQ,EAAE,aAAa,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,0BAA0B,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACxO,YAAY,EAAE,cAAc,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAChG,YAAY,EAAE,SAAS,EAAE,qBAAqB,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AACnH,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,YAAY,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAC7F,OAAO,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAC1F,YAAY,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,YAAY,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,YAAY,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,YAAY,EAAE,eAAe,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChI,YAAY,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AACtE,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAChG,YAAY,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/models/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,kBAAkB,EAAE,QAAQ,EAAE,aAAa,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,0BAA0B,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACxO,YAAY,EAAE,cAAc,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAChG,YAAY,EAAE,SAAS,EAAE,qBAAqB,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AACnH,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,YAAY,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAC7F,OAAO,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAC1F,YAAY,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,YAAY,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,YAAY,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,YAAY,EAAE,eAAe,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChI,YAAY,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AACtE,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAChG,YAAY,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAChF,YAAY,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC"}
package/models/index.js CHANGED
@@ -5,4 +5,5 @@ export { ModelSelector } from "./ModelSelector.js";
5
5
  export { HarnessSelector } from "./HarnessSelector.js";
6
6
  export { DEFAULT_HARNESS, HARNESS_LABELS, HARNESS_META, HARNESS_OPTIONS, toProtoHarness, fromProtoHarness } from "./harness.js";
7
7
  export { FAST_SERVICE_TIER, toProtoServiceTier, fromProtoServiceTier } from "./service-tier.js";
8
+ export { toProtoThinkingMode, fromProtoThinkingMode } from "./thinking-mode.js";
8
9
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/models/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,kBAAkB,EAAE,QAAQ,EAAE,aAAa,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,0BAA0B,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAGxO,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD,OAAO,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAE1F,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,YAAY,EAAE,eAAe,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAEhI,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/models/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,kBAAkB,EAAE,QAAQ,EAAE,aAAa,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,0BAA0B,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAGxO,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD,OAAO,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAE1F,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,YAAY,EAAE,eAAe,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAEhI,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAEhG,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC"}
@@ -99,6 +99,22 @@ export interface ModelInfo {
99
99
  * parse the same document and must agree on what absence means.
100
100
  */
101
101
  readonly visionCapability?: boolean;
102
+ /**
103
+ * Tri-state thinking capability from the registry's `capabilities` block
104
+ * (stigmer/stigmer#772), the same absence convention as
105
+ * {@link visionCapability}:
106
+ *
107
+ * - `true` — the model declares an extended-reasoning (thinking) variant;
108
+ * the thinking switch in the model popover's options area may render
109
+ * - `false` — explicitly assessed as having none
110
+ * - `undefined` — never assessed; **stay silent, never treat as false**
111
+ *
112
+ * Capability-gated, not pricing-gated (unlike {@link serviceTiers}):
113
+ * thinking bills at base per-token rates, so no priced variant exists to
114
+ * key on. v1 honors the selection on the cursor harness only — gate any
115
+ * control on `harness === "cursor"` as well as this flag.
116
+ */
117
+ readonly thinkingCapable?: boolean;
102
118
  }
103
119
  /**
104
120
  * Document-level vision byte budget advertised by the registry
@@ -1 +1 @@
1
- {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/models/registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/models/registry.ts"],"names":[],"mappings":"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"}
@@ -54,6 +54,17 @@ function parseVisionCapability(capabilities) {
54
54
  const vision = capabilities.vision;
55
55
  return typeof vision === "boolean" ? vision : undefined;
56
56
  }
57
+ /**
58
+ * Extract `capabilities.thinking` with the same tri-state convention as
59
+ * {@link parseVisionCapability} (stigmer/stigmer#772): a missing or
60
+ * malformed `capabilities` block stays `undefined`, never coerced to false.
61
+ */
62
+ function parseThinkingCapability(capabilities) {
63
+ if (!capabilities || typeof capabilities !== "object")
64
+ return undefined;
65
+ const thinking = capabilities.thinking;
66
+ return typeof thinking === "boolean" ? thinking : undefined;
67
+ }
57
68
  /**
58
69
  * Parse the document-level `limits.vision` block. Returns `undefined` for
59
70
  * documents that predate the block or carry a malformed one — absence
@@ -104,6 +115,7 @@ export function parseRegistryDocument(data) {
104
115
  .filter(isModelEntry)
105
116
  .map((m) => {
106
117
  const visionCapability = parseVisionCapability(m.capabilities);
118
+ const thinkingCapable = parseThinkingCapability(m.capabilities);
107
119
  return {
108
120
  modelId: m.id,
109
121
  provider: m.provider,
@@ -119,6 +131,7 @@ export function parseRegistryDocument(data) {
119
131
  // Conditional spread keeps unassessed models free of the key
120
132
  // (tri-state absence, not an explicit undefined).
121
133
  ...(visionCapability !== undefined ? { visionCapability } : {}),
134
+ ...(thinkingCapable !== undefined ? { thinkingCapable } : {}),
122
135
  };
123
136
  });
124
137
  const visionLimits = parseVisionLimits(root);
@@ -1 +1 @@
1
- {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/models/registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/models/registry.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ import { ThinkingMode } from "@stigmer/protos/ai/stigmer/agentic/agentexecution/v1/enum_pb";
2
+ /**
3
+ * String form of the thinking mode for component props and hook inputs
4
+ * (stigmer/stigmer#772). Mirrors {@link ServiceTierOption}: components
5
+ * speak strings, execution creation speaks proto.
6
+ *
7
+ * "disabled" is the model's base variant; "enabled" is the model's
8
+ * extended-reasoning variant — selectable only for models whose
9
+ * {@link ModelInfo.thinkingCapable} is true. Unlike the fast tier,
10
+ * thinking bills at base per-token rates; enabled turns simply consume
11
+ * more output (reasoning) tokens.
12
+ */
13
+ export type ThinkingModeOption = "disabled" | "enabled";
14
+ /**
15
+ * Convert a {@link ThinkingModeOption} string to the proto enum.
16
+ */
17
+ export declare function toProtoThinkingMode(mode: ThinkingModeOption): ThinkingMode;
18
+ /**
19
+ * Convert a proto {@link ThinkingMode} enum to its string form.
20
+ *
21
+ * `UNSPECIFIED` (and any unknown value) maps to `undefined` so callers can
22
+ * decide their own default — matching the proto contract (`UNSPECIFIED`
23
+ * resolves to `THINKING_MODE_DISABLED` in the runner, never the provider
24
+ * account default).
25
+ */
26
+ export declare function fromProtoThinkingMode(mode: ThinkingMode | undefined): ThinkingModeOption | undefined;
27
+ //# sourceMappingURL=thinking-mode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"thinking-mode.d.ts","sourceRoot":"","sources":["../../src/models/thinking-mode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,8DAA8D,CAAC;AAE5F;;;;;;;;;;GAUG;AACH,MAAM,MAAM,kBAAkB,GAAG,UAAU,GAAG,SAAS,CAAC;AAExD;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,kBAAkB,GAAG,YAAY,CAQ1E;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,YAAY,GAAG,SAAS,GAC7B,kBAAkB,GAAG,SAAS,CAShC"}
@@ -0,0 +1,32 @@
1
+ import { ThinkingMode } from "@stigmer/protos/ai/stigmer/agentic/agentexecution/v1/enum_pb";
2
+ /**
3
+ * Convert a {@link ThinkingModeOption} string to the proto enum.
4
+ */
5
+ export function toProtoThinkingMode(mode) {
6
+ switch (mode) {
7
+ case "enabled":
8
+ return ThinkingMode.ENABLED;
9
+ case "disabled":
10
+ default:
11
+ return ThinkingMode.DISABLED;
12
+ }
13
+ }
14
+ /**
15
+ * Convert a proto {@link ThinkingMode} enum to its string form.
16
+ *
17
+ * `UNSPECIFIED` (and any unknown value) maps to `undefined` so callers can
18
+ * decide their own default — matching the proto contract (`UNSPECIFIED`
19
+ * resolves to `THINKING_MODE_DISABLED` in the runner, never the provider
20
+ * account default).
21
+ */
22
+ export function fromProtoThinkingMode(mode) {
23
+ switch (mode) {
24
+ case ThinkingMode.DISABLED:
25
+ return "disabled";
26
+ case ThinkingMode.ENABLED:
27
+ return "enabled";
28
+ default:
29
+ return undefined;
30
+ }
31
+ }
32
+ //# sourceMappingURL=thinking-mode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"thinking-mode.js","sourceRoot":"","sources":["../../src/models/thinking-mode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,8DAA8D,CAAC;AAe5F;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,IAAwB;IAC1D,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,SAAS;YACZ,OAAO,YAAY,CAAC,OAAO,CAAC;QAC9B,KAAK,UAAU,CAAC;QAChB;YACE,OAAO,YAAY,CAAC,QAAQ,CAAC;IACjC,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,qBAAqB,CACnC,IAA8B;IAE9B,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,YAAY,CAAC,QAAQ;YACxB,OAAO,UAAU,CAAC;QACpB,KAAK,YAAY,CAAC,OAAO;YACvB,OAAO,SAAS,CAAC;QACnB;YACE,OAAO,SAAS,CAAC;IACrB,CAAC;AACH,CAAC"}
@@ -16,8 +16,8 @@ export interface CreateOAuthAppFormProps {
16
16
  * Collects the required OAuth configuration: **name**, **provider**,
17
17
  * **client ID**, **client secret**, **authorization URL**, and
18
18
  * **token URL**. An expandable "Advanced" section provides optional
19
- * fields for scopes, userinfo URL, scope parameter name, and vendor
20
- * approval settings.
19
+ * fields for scopes, userinfo URL, scope parameter name, token endpoint
20
+ * auth method, and vendor approval settings.
21
21
  *
22
22
  * This is a pure presentational component with no dialog wrapper
23
23
  * (headless-first). The parent is responsible for rendering it inside
@@ -1 +1 @@
1
- {"version":3,"file":"CreateOAuthAppForm.d.ts","sourceRoot":"","sources":["../../src/oauth-app/CreateOAuthAppForm.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mDAAmD,CAAC;AASlF,4CAA4C;AAC5C,MAAM,WAAW,uBAAuB;IACtC,qEAAqE;IACrE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,yDAAyD;IACzD,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,GAAG,EAAE,QAAQ,KAAK,IAAI,CAAC;IAC7C,4CAA4C;IAC5C,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IAC/B,yDAAyD;IACzD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,kBAAkB,CAAC,EACjC,GAAG,EACH,SAAS,EACT,QAAQ,EACR,SAAS,GACV,EAAE,uBAAuB,2CA8RzB"}
1
+ {"version":3,"file":"CreateOAuthAppForm.d.ts","sourceRoot":"","sources":["../../src/oauth-app/CreateOAuthAppForm.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mDAAmD,CAAC;AAYlF,4CAA4C;AAC5C,MAAM,WAAW,uBAAuB;IACtC,qEAAqE;IACrE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,yDAAyD;IACzD,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,GAAG,EAAE,QAAQ,KAAK,IAAI,CAAC;IAC7C,4CAA4C;IAC5C,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IAC/B,yDAAyD;IACzD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,kBAAkB,CAAC,EACjC,GAAG,EACH,SAAS,EACT,QAAQ,EACR,SAAS,GACV,EAAE,uBAAuB,2CA6UzB"}
@@ -3,7 +3,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  import { useCallback, useId, useState } from "react";
4
4
  import { cn } from "@stigmer/theme";
5
5
  import { getUserMessage } from "@stigmer/sdk";
6
- import { VendorApprovalStatus } from "@stigmer/protos/ai/stigmer/iam/oauthapp/v1/spec_pb";
6
+ import { TokenEndpointAuthMethod, VendorApprovalStatus, } from "@stigmer/protos/ai/stigmer/iam/oauthapp/v1/spec_pb";
7
7
  import { useCreateOAuthApp } from "./useCreateOAuthApp.js";
8
8
  import { SpinnerIcon } from "../internal/SpinnerIcon.js";
9
9
  /**
@@ -12,8 +12,8 @@ import { SpinnerIcon } from "../internal/SpinnerIcon.js";
12
12
  * Collects the required OAuth configuration: **name**, **provider**,
13
13
  * **client ID**, **client secret**, **authorization URL**, and
14
14
  * **token URL**. An expandable "Advanced" section provides optional
15
- * fields for scopes, userinfo URL, scope parameter name, and vendor
16
- * approval settings.
15
+ * fields for scopes, userinfo URL, scope parameter name, token endpoint
16
+ * auth method, and vendor approval settings.
17
17
  *
18
18
  * This is a pure presentational component with no dialog wrapper
19
19
  * (headless-first). The parent is responsible for rendering it inside
@@ -46,6 +46,7 @@ export function CreateOAuthAppForm({ org, onCreated, onCancel, className, }) {
46
46
  const [scopes, setScopes] = useState("");
47
47
  const [userinfoUrl, setUserinfoUrl] = useState("");
48
48
  const [scopeParameterName, setScopeParameterName] = useState("");
49
+ const [tokenEndpointAuthMethod, setTokenEndpointAuthMethod] = useState("unspecified");
49
50
  const [vendorApprovalStatus, setVendorApprovalStatus] = useState("unspecified");
50
51
  const [vendorApprovalDocsUrl, setVendorApprovalDocsUrl] = useState("");
51
52
  const trimmedName = name.trim();
@@ -84,6 +85,9 @@ export function CreateOAuthAppForm({ org, onCreated, onCancel, className, }) {
84
85
  ...(scopeParameterName.trim() && {
85
86
  scopeParameterName: scopeParameterName.trim(),
86
87
  }),
88
+ ...(tokenEndpointAuthMethod !== "unspecified" && {
89
+ tokenEndpointAuthMethod: TOKEN_AUTH_METHOD_MAP[tokenEndpointAuthMethod],
90
+ }),
87
91
  ...(vendorApprovalStatus !== "unspecified" && {
88
92
  vendorApprovalStatus: APPROVAL_STATUS_MAP[vendorApprovalStatus],
89
93
  }),
@@ -108,13 +112,14 @@ export function CreateOAuthAppForm({ org, onCreated, onCancel, className, }) {
108
112
  scopes,
109
113
  userinfoUrl,
110
114
  scopeParameterName,
115
+ tokenEndpointAuthMethod,
111
116
  vendorApprovalStatus,
112
117
  vendorApprovalDocsUrl,
113
118
  create,
114
119
  clearError,
115
120
  onCreated,
116
121
  ]);
117
- return (_jsxs("form", { onSubmit: handleSubmit, className: cn("stg:space-y-3", className), children: [_jsxs("div", { className: "stg:space-y-3", children: [_jsx(FormField, { id: `${baseId}-name`, label: "Name", value: name, onChange: setName, placeholder: "e.g. My Slack App", disabled: isCreating, required: true }), _jsx(FormField, { id: `${baseId}-provider`, label: "Provider", value: provider, onChange: setProvider, placeholder: "e.g. Slack, GitHub, Salesforce", hint: "Human-readable vendor name for display", disabled: isCreating, required: true }), _jsx(FormField, { id: `${baseId}-client-id`, label: "Client ID", value: clientId, onChange: setClientId, placeholder: "OAuth client identifier", disabled: isCreating, required: true }), _jsx(FormField, { id: `${baseId}-client-secret`, label: "Client secret", value: clientSecret, onChange: setClientSecret, placeholder: "OAuth client secret", type: "password", disabled: isCreating, required: true }), _jsx(FormField, { id: `${baseId}-auth-url`, label: "Authorization URL", value: authorizationUrl, onChange: setAuthorizationUrl, placeholder: "https://vendor.com/oauth/authorize", hint: "Vendor's OAuth authorization endpoint", disabled: isCreating, required: true }), _jsx(FormField, { id: `${baseId}-token-url`, label: "Token URL", value: tokenUrl, onChange: setTokenUrl, placeholder: "https://vendor.com/oauth/token", hint: "Vendor's OAuth token exchange endpoint", disabled: isCreating, required: true }), _jsxs("div", { children: [_jsxs("button", { type: "button", onClick: () => setShowAdvanced((v) => !v), className: "stg:text-muted-foreground stg:hover:text-foreground stg:flex stg:items-center stg:gap-1 stg:text-[0.65rem] stg:font-medium stg:transition-colors", children: [_jsx(ChevronIcon, { expanded: showAdvanced }), "Advanced settings"] }), showAdvanced && (_jsxs("div", { className: "stg:mt-2 stg:space-y-3 stg:border-l-2 stg:border-border-muted stg:pl-3", children: [_jsx(FormField, { id: `${baseId}-scopes`, label: "Scopes", value: scopes, onChange: setScopes, placeholder: "read, write, admin", hint: "Comma-separated OAuth scopes to request", disabled: isCreating }), _jsx(FormField, { id: `${baseId}-userinfo-url`, label: "Userinfo URL", value: userinfoUrl, onChange: setUserinfoUrl, placeholder: "https://vendor.com/userinfo", hint: "OIDC endpoint for fetching user profile data (optional)", disabled: isCreating }), _jsx(FormField, { id: `${baseId}-scope-param`, label: "Scope parameter name", value: scopeParameterName, onChange: setScopeParameterName, placeholder: "scope", hint: 'Defaults to "scope". Some vendors use a non-standard name (e.g. "user_scope" for Slack).', disabled: isCreating }), _jsxs("div", { className: "stg:space-y-1", children: [_jsx("label", { htmlFor: `${baseId}-approval-status`, className: "stg:text-xs stg:font-medium stg:text-foreground", children: "Vendor approval status" }), _jsxs("select", { id: `${baseId}-approval-status`, value: vendorApprovalStatus, onChange: (e) => setVendorApprovalStatus(e.target.value), disabled: isCreating, className: cn("stg:w-full stg:rounded-md stg:border stg:border-input stg:bg-background stg:px-2.5 stg:py-1.5 stg:text-xs stg:text-foreground", "stg:focus-visible:outline-none stg:focus-visible:ring-1 stg:focus-visible:ring-ring", "stg:disabled:pointer-events-none stg:disabled:opacity-50"), children: [_jsx("option", { value: "unspecified", children: "Unspecified (treated as approved)" }), _jsx("option", { value: "pending", children: "Pending" }), _jsx("option", { value: "approved", children: "Approved" }), _jsx("option", { value: "rejected", children: "Rejected" })] }), _jsx("p", { className: "stg:text-[0.65rem] stg:text-muted-foreground", children: "Vendor marketplace approval lifecycle status" })] }), _jsx(FormField, { id: `${baseId}-approval-docs`, label: "Vendor approval docs URL", value: vendorApprovalDocsUrl, onChange: setVendorApprovalDocsUrl, placeholder: "https://docs.example.com/byoa", hint: "Help link shown when vendor approval is pending", disabled: isCreating })] }))] })] }), error && (_jsx("p", { className: "stg:text-destructive stg:text-[0.65rem]", role: "alert", children: getUserMessage(error) })), _jsxs("div", { className: "stg:flex stg:items-center stg:gap-2", children: [_jsxs("button", { type: "submit", disabled: !canSubmit, className: cn("stg:inline-flex stg:items-center stg:gap-1.5 stg:rounded-md stg:px-3 stg:py-1.5 stg:text-xs stg:font-medium", "stg:bg-primary stg:text-primary-foreground stg:hover:bg-primary-hover", "stg:disabled:pointer-events-none stg:disabled:opacity-40"), children: [isCreating && _jsx(SpinnerIcon, { size: 12 }), "Create OAuth app"] }), onCancel && (_jsx("button", { type: "button", onClick: onCancel, disabled: isCreating, className: cn("stg:rounded-md stg:px-3 stg:py-1.5 stg:text-xs", "stg:text-muted-foreground stg:hover:text-foreground stg:hover:bg-accent-hover", "stg:disabled:pointer-events-none stg:disabled:opacity-50"), children: "Cancel" }))] })] }));
122
+ return (_jsxs("form", { onSubmit: handleSubmit, className: cn("stg:space-y-3", className), children: [_jsxs("div", { className: "stg:space-y-3", children: [_jsx(FormField, { id: `${baseId}-name`, label: "Name", value: name, onChange: setName, placeholder: "e.g. My Slack App", disabled: isCreating, required: true }), _jsx(FormField, { id: `${baseId}-provider`, label: "Provider", value: provider, onChange: setProvider, placeholder: "e.g. Slack, GitHub, Salesforce", hint: "Human-readable vendor name for display", disabled: isCreating, required: true }), _jsx(FormField, { id: `${baseId}-client-id`, label: "Client ID", value: clientId, onChange: setClientId, placeholder: "OAuth client identifier", disabled: isCreating, required: true }), _jsx(FormField, { id: `${baseId}-client-secret`, label: "Client secret", value: clientSecret, onChange: setClientSecret, placeholder: "OAuth client secret", type: "password", disabled: isCreating, required: true }), _jsx(FormField, { id: `${baseId}-auth-url`, label: "Authorization URL", value: authorizationUrl, onChange: setAuthorizationUrl, placeholder: "https://vendor.com/oauth/authorize", hint: "Vendor's OAuth authorization endpoint", disabled: isCreating, required: true }), _jsx(FormField, { id: `${baseId}-token-url`, label: "Token URL", value: tokenUrl, onChange: setTokenUrl, placeholder: "https://vendor.com/oauth/token", hint: "Vendor's OAuth token exchange endpoint", disabled: isCreating, required: true }), _jsxs("div", { children: [_jsxs("button", { type: "button", onClick: () => setShowAdvanced((v) => !v), className: "stg:text-muted-foreground stg:hover:text-foreground stg:flex stg:items-center stg:gap-1 stg:text-[0.65rem] stg:font-medium stg:transition-colors", children: [_jsx(ChevronIcon, { expanded: showAdvanced }), "Advanced settings"] }), showAdvanced && (_jsxs("div", { className: "stg:mt-2 stg:space-y-3 stg:border-l-2 stg:border-border-muted stg:pl-3", children: [_jsx(FormField, { id: `${baseId}-scopes`, label: "Scopes", value: scopes, onChange: setScopes, placeholder: "read, write, admin", hint: "Comma-separated OAuth scopes to request", disabled: isCreating }), _jsx(FormField, { id: `${baseId}-userinfo-url`, label: "Userinfo URL", value: userinfoUrl, onChange: setUserinfoUrl, placeholder: "https://vendor.com/userinfo", hint: "OIDC endpoint for fetching user profile data (optional)", disabled: isCreating }), _jsx(FormField, { id: `${baseId}-scope-param`, label: "Scope parameter name", value: scopeParameterName, onChange: setScopeParameterName, placeholder: "scope", hint: 'Defaults to "scope". Some vendors use a non-standard name (e.g. "user_scope" for Slack).', disabled: isCreating }), _jsxs("div", { className: "stg:space-y-1", children: [_jsx("label", { htmlFor: `${baseId}-token-auth-method`, className: "stg:text-xs stg:font-medium stg:text-foreground", children: "Token endpoint auth method" }), _jsxs("select", { id: `${baseId}-token-auth-method`, value: tokenEndpointAuthMethod, onChange: (e) => setTokenEndpointAuthMethod(e.target.value), disabled: isCreating, className: cn("stg:w-full stg:rounded-md stg:border stg:border-input stg:bg-background stg:px-2.5 stg:py-1.5 stg:text-xs stg:text-foreground", "stg:focus-visible:outline-none stg:focus-visible:ring-1 stg:focus-visible:ring-ring", "stg:disabled:pointer-events-none stg:disabled:opacity-50"), children: [_jsx("option", { value: "unspecified", children: "Unspecified (treated as HTTP Basic)" }), _jsx("option", { value: "client_secret_basic", children: "client_secret_basic (HTTP Basic header)" }), _jsx("option", { value: "client_secret_post", children: "client_secret_post (form body)" })] }), _jsx("p", { className: "stg:text-[0.65rem] stg:text-muted-foreground", children: "How the client secret is sent to the vendor's token endpoint. Most vendors accept HTTP Basic; some (e.g. HubSpot) require client_secret_post." })] }), _jsxs("div", { className: "stg:space-y-1", children: [_jsx("label", { htmlFor: `${baseId}-approval-status`, className: "stg:text-xs stg:font-medium stg:text-foreground", children: "Vendor approval status" }), _jsxs("select", { id: `${baseId}-approval-status`, value: vendorApprovalStatus, onChange: (e) => setVendorApprovalStatus(e.target.value), disabled: isCreating, className: cn("stg:w-full stg:rounded-md stg:border stg:border-input stg:bg-background stg:px-2.5 stg:py-1.5 stg:text-xs stg:text-foreground", "stg:focus-visible:outline-none stg:focus-visible:ring-1 stg:focus-visible:ring-ring", "stg:disabled:pointer-events-none stg:disabled:opacity-50"), children: [_jsx("option", { value: "unspecified", children: "Unspecified (treated as approved)" }), _jsx("option", { value: "pending", children: "Pending" }), _jsx("option", { value: "approved", children: "Approved" }), _jsx("option", { value: "rejected", children: "Rejected" })] }), _jsx("p", { className: "stg:text-[0.65rem] stg:text-muted-foreground", children: "Vendor marketplace approval lifecycle status" })] }), _jsx(FormField, { id: `${baseId}-approval-docs`, label: "Vendor approval docs URL", value: vendorApprovalDocsUrl, onChange: setVendorApprovalDocsUrl, placeholder: "https://docs.example.com/byoa", hint: "Help link shown when vendor approval is pending", disabled: isCreating })] }))] })] }), error && (_jsx("p", { className: "stg:text-destructive stg:text-[0.65rem]", role: "alert", children: getUserMessage(error) })), _jsxs("div", { className: "stg:flex stg:items-center stg:gap-2", children: [_jsxs("button", { type: "submit", disabled: !canSubmit, className: cn("stg:inline-flex stg:items-center stg:gap-1.5 stg:rounded-md stg:px-3 stg:py-1.5 stg:text-xs stg:font-medium", "stg:bg-primary stg:text-primary-foreground stg:hover:bg-primary-hover", "stg:disabled:pointer-events-none stg:disabled:opacity-40"), children: [isCreating && _jsx(SpinnerIcon, { size: 12 }), "Create OAuth app"] }), onCancel && (_jsx("button", { type: "button", onClick: onCancel, disabled: isCreating, className: cn("stg:rounded-md stg:px-3 stg:py-1.5 stg:text-xs", "stg:text-muted-foreground stg:hover:text-foreground stg:hover:bg-accent-hover", "stg:disabled:pointer-events-none stg:disabled:opacity-50"), children: "Cancel" }))] })] }));
118
123
  }
119
124
  // ---------------------------------------------------------------------------
120
125
  // Constants
@@ -124,6 +129,10 @@ const APPROVAL_STATUS_MAP = {
124
129
  approved: VendorApprovalStatus.APPROVED,
125
130
  rejected: VendorApprovalStatus.REJECTED,
126
131
  };
132
+ const TOKEN_AUTH_METHOD_MAP = {
133
+ client_secret_basic: TokenEndpointAuthMethod.CLIENT_SECRET_BASIC,
134
+ client_secret_post: TokenEndpointAuthMethod.CLIENT_SECRET_POST,
135
+ };
127
136
  // ---------------------------------------------------------------------------
128
137
  // FormField (internal)
129
138
  // ---------------------------------------------------------------------------