@stigmer/react 3.12.3 → 3.12.4

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 (314) hide show
  1. package/agent/steps/IdentityStep.d.ts.map +1 -1
  2. package/agent/steps/IdentityStep.js +2 -1
  3. package/agent/steps/IdentityStep.js.map +1 -1
  4. package/agent-instance/AgentInstanceDetailPanel.d.ts.map +1 -1
  5. package/agent-instance/AgentInstanceDetailPanel.js +2 -1
  6. package/agent-instance/AgentInstanceDetailPanel.js.map +1 -1
  7. package/api-key/CreateApiKeyForm.d.ts.map +1 -1
  8. package/api-key/CreateApiKeyForm.js +2 -1
  9. package/api-key/CreateApiKeyForm.js.map +1 -1
  10. package/channel/ChannelConversationsDialog.d.ts.map +1 -1
  11. package/channel/ChannelConversationsDialog.js +2 -1
  12. package/channel/ChannelConversationsDialog.js.map +1 -1
  13. package/channel/ChannelTemplatesDialog.d.ts.map +1 -1
  14. package/channel/ChannelTemplatesDialog.js +2 -1
  15. package/channel/ChannelTemplatesDialog.js.map +1 -1
  16. package/channel/ConnectSlackDialog.d.ts.map +1 -1
  17. package/channel/ConnectSlackDialog.js +2 -1
  18. package/channel/ConnectSlackDialog.js.map +1 -1
  19. package/channel/connect/ServingAppSection.d.ts.map +1 -1
  20. package/channel/connect/ServingAppSection.js +2 -1
  21. package/channel/connect/ServingAppSection.js.map +1 -1
  22. package/channel-app/CreateChannelAppForm.d.ts.map +1 -1
  23. package/channel-app/CreateChannelAppForm.js +2 -1
  24. package/channel-app/CreateChannelAppForm.js.map +1 -1
  25. package/conversation/ConversationListPane.d.ts.map +1 -1
  26. package/conversation/ConversationListPane.js +2 -1
  27. package/conversation/ConversationListPane.js.map +1 -1
  28. package/conversation/ConversationTimelineView.d.ts.map +1 -1
  29. package/conversation/ConversationTimelineView.js +2 -1
  30. package/conversation/ConversationTimelineView.js.map +1 -1
  31. package/cursor-accounts/CursorAccountsConsole.d.ts.map +1 -1
  32. package/cursor-accounts/CursorAccountsConsole.js +2 -1
  33. package/cursor-accounts/CursorAccountsConsole.js.map +1 -1
  34. package/cursor-accounts/MemberKeysPanel.d.ts.map +1 -1
  35. package/cursor-accounts/MemberKeysPanel.js +2 -1
  36. package/cursor-accounts/MemberKeysPanel.js.map +1 -1
  37. package/dashboard/DashboardFailedRuns.d.ts.map +1 -1
  38. package/dashboard/DashboardFailedRuns.js +2 -1
  39. package/dashboard/DashboardFailedRuns.js.map +1 -1
  40. package/dependency-graph/DependencyGraph.d.ts.map +1 -1
  41. package/dependency-graph/DependencyGraph.js +2 -1
  42. package/dependency-graph/DependencyGraph.js.map +1 -1
  43. package/dependency-graph/DependencyTreeNode.d.ts.map +1 -1
  44. package/dependency-graph/DependencyTreeNode.js +2 -1
  45. package/dependency-graph/DependencyTreeNode.js.map +1 -1
  46. package/environment/EnvironmentPicker.d.ts.map +1 -1
  47. package/environment/EnvironmentPicker.js +2 -1
  48. package/environment/EnvironmentPicker.js.map +1 -1
  49. package/error/SecretFlowErrorGuide.d.ts.map +1 -1
  50. package/error/SecretFlowErrorGuide.js +2 -1
  51. package/error/SecretFlowErrorGuide.js.map +1 -1
  52. package/execution/ArtifactContentBody.d.ts.map +1 -1
  53. package/execution/ArtifactContentBody.js +2 -1
  54. package/execution/ArtifactContentBody.js.map +1 -1
  55. package/execution/ArtifactsWidget.d.ts.map +1 -1
  56. package/execution/ArtifactsWidget.js +2 -1
  57. package/execution/ArtifactsWidget.js.map +1 -1
  58. package/execution/FileChangeProgressBar.d.ts.map +1 -1
  59. package/execution/FileChangeProgressBar.js +2 -1
  60. package/execution/FileChangeProgressBar.js.map +1 -1
  61. package/execution/TodoList.d.ts.map +1 -1
  62. package/execution/TodoList.js +2 -1
  63. package/execution/TodoList.js.map +1 -1
  64. package/execution/WriteBacksWidget.d.ts.map +1 -1
  65. package/execution/WriteBacksWidget.js +2 -1
  66. package/execution/WriteBacksWidget.js.map +1 -1
  67. package/execution/tool-categories.d.ts +5 -22
  68. package/execution/tool-categories.d.ts.map +1 -1
  69. package/execution/tool-categories.js +8 -38
  70. package/execution/tool-categories.js.map +1 -1
  71. package/iam-policy/PeopleWithAccess.d.ts.map +1 -1
  72. package/iam-policy/PeopleWithAccess.js +2 -1
  73. package/iam-policy/PeopleWithAccess.js.map +1 -1
  74. package/iam-policy/PrincipalPicker.d.ts.map +1 -1
  75. package/iam-policy/PrincipalPicker.js +2 -1
  76. package/iam-policy/PrincipalPicker.js.map +1 -1
  77. package/iam-policy/RoleSelector.d.ts.map +1 -1
  78. package/iam-policy/RoleSelector.js +2 -1
  79. package/iam-policy/RoleSelector.js.map +1 -1
  80. package/identity-provider/CreateIdentityProviderForm.d.ts.map +1 -1
  81. package/identity-provider/CreateIdentityProviderForm.js +2 -1
  82. package/identity-provider/CreateIdentityProviderForm.js.map +1 -1
  83. package/identity-provider/IdentityProviderDetailPanel.d.ts.map +1 -1
  84. package/identity-provider/IdentityProviderDetailPanel.js +2 -1
  85. package/identity-provider/IdentityProviderDetailPanel.js.map +1 -1
  86. package/identity-provider/IdentityProviderWizard.d.ts.map +1 -1
  87. package/identity-provider/IdentityProviderWizard.js +2 -1
  88. package/identity-provider/IdentityProviderWizard.js.map +1 -1
  89. package/index.d.ts +3 -1
  90. package/index.d.ts.map +1 -1
  91. package/index.js +3 -0
  92. package/index.js.map +1 -1
  93. package/internal/element-resets.d.ts +17 -0
  94. package/internal/element-resets.d.ts.map +1 -0
  95. package/internal/element-resets.js +32 -0
  96. package/internal/element-resets.js.map +1 -0
  97. package/internal/file-tree/FileTreeNode.d.ts.map +1 -1
  98. package/internal/file-tree/FileTreeNode.js +2 -1
  99. package/internal/file-tree/FileTreeNode.js.map +1 -1
  100. package/internal/markdown-components.d.ts +7 -0
  101. package/internal/markdown-components.d.ts.map +1 -1
  102. package/internal/markdown-components.js +15 -5
  103. package/internal/markdown-components.js.map +1 -1
  104. package/invitation/InvitationManager.d.ts.map +1 -1
  105. package/invitation/InvitationManager.js +2 -1
  106. package/invitation/InvitationManager.js.map +1 -1
  107. package/manifest/ApplyManifestDialog.d.ts.map +1 -1
  108. package/manifest/ApplyManifestDialog.js +2 -1
  109. package/manifest/ApplyManifestDialog.js.map +1 -1
  110. package/mcp-server/steps/IdentityTransportStep.d.ts.map +1 -1
  111. package/mcp-server/steps/IdentityTransportStep.js +2 -1
  112. package/mcp-server/steps/IdentityTransportStep.js.map +1 -1
  113. package/package.json +4 -4
  114. package/platform-client/CreatePlatformClientForm.d.ts.map +1 -1
  115. package/platform-client/CreatePlatformClientForm.js +2 -1
  116. package/platform-client/CreatePlatformClientForm.js.map +1 -1
  117. package/platform-client/PlatformClientDetailPanel.d.ts.map +1 -1
  118. package/platform-client/PlatformClientDetailPanel.js +2 -1
  119. package/platform-client/PlatformClientDetailPanel.js.map +1 -1
  120. package/pricing-governance/BaselineEditor.d.ts.map +1 -1
  121. package/pricing-governance/BaselineEditor.js +2 -1
  122. package/pricing-governance/BaselineEditor.js.map +1 -1
  123. package/pricing-governance/PricingGovernanceConsole.d.ts.map +1 -1
  124. package/pricing-governance/PricingGovernanceConsole.js +2 -1
  125. package/pricing-governance/PricingGovernanceConsole.js.map +1 -1
  126. package/provider-standing/ProviderStandingAccessNotice.d.ts +11 -0
  127. package/provider-standing/ProviderStandingAccessNotice.d.ts.map +1 -0
  128. package/provider-standing/ProviderStandingAccessNotice.js +14 -0
  129. package/provider-standing/ProviderStandingAccessNotice.js.map +1 -0
  130. package/provider-standing/ProviderStandingConsole.d.ts +24 -0
  131. package/provider-standing/ProviderStandingConsole.d.ts.map +1 -0
  132. package/provider-standing/ProviderStandingConsole.js +98 -0
  133. package/provider-standing/ProviderStandingConsole.js.map +1 -0
  134. package/provider-standing/index.d.ts +6 -0
  135. package/provider-standing/index.d.ts.map +1 -0
  136. package/provider-standing/index.js +6 -0
  137. package/provider-standing/index.js.map +1 -0
  138. package/provider-standing/useProviderStanding.d.ts +34 -0
  139. package/provider-standing/useProviderStanding.d.ts.map +1 -0
  140. package/provider-standing/useProviderStanding.js +26 -0
  141. package/provider-standing/useProviderStanding.js.map +1 -0
  142. package/provider.d.ts +12 -0
  143. package/provider.d.ts.map +1 -1
  144. package/provider.js +12 -0
  145. package/provider.js.map +1 -1
  146. package/resource-creation/StepIndicator.d.ts.map +1 -1
  147. package/resource-creation/StepIndicator.js +2 -1
  148. package/resource-creation/StepIndicator.js.map +1 -1
  149. package/schedule/ScheduleDetailView.d.ts.map +1 -1
  150. package/schedule/ScheduleDetailView.js +3 -2
  151. package/schedule/ScheduleDetailView.js.map +1 -1
  152. package/schedule/ScheduleRunsTable.d.ts.map +1 -1
  153. package/schedule/ScheduleRunsTable.js +2 -1
  154. package/schedule/ScheduleRunsTable.js.map +1 -1
  155. package/session/facets/ArtifactsTab.d.ts.map +1 -1
  156. package/session/facets/ArtifactsTab.js +2 -1
  157. package/session/facets/ArtifactsTab.js.map +1 -1
  158. package/session/facets/ChangesTab.d.ts.map +1 -1
  159. package/session/facets/ChangesTab.js +2 -1
  160. package/session/facets/ChangesTab.js.map +1 -1
  161. package/session/facets/UsageTab.d.ts +10 -3
  162. package/session/facets/UsageTab.d.ts.map +1 -1
  163. package/session/facets/UsageTab.js +42 -6
  164. package/session/facets/UsageTab.js.map +1 -1
  165. package/session/index.d.ts +1 -1
  166. package/session/index.d.ts.map +1 -1
  167. package/session/index.js.map +1 -1
  168. package/session/useSessionUsage.d.ts +25 -0
  169. package/session/useSessionUsage.d.ts.map +1 -1
  170. package/session/useSessionUsage.js +11 -0
  171. package/session/useSessionUsage.js.map +1 -1
  172. package/settings/settings-nav.d.ts.map +1 -1
  173. package/settings/settings-nav.js +7 -1
  174. package/settings/settings-nav.js.map +1 -1
  175. package/settings/useSettingsNavGroups.d.ts.map +1 -1
  176. package/settings/useSettingsNavGroups.js +4 -1
  177. package/settings/useSettingsNavGroups.js.map +1 -1
  178. package/sharing/ShareAgentDialog.d.ts.map +1 -1
  179. package/sharing/ShareAgentDialog.js +2 -1
  180. package/sharing/ShareAgentDialog.js.map +1 -1
  181. package/sidebar/WorkspaceSidebar.d.ts.map +1 -1
  182. package/sidebar/WorkspaceSidebar.js +2 -1
  183. package/sidebar/WorkspaceSidebar.js.map +1 -1
  184. package/skill/SkillFileBrowser.d.ts.map +1 -1
  185. package/skill/SkillFileBrowser.js +2 -1
  186. package/skill/SkillFileBrowser.js.map +1 -1
  187. package/skill/internal/fetchAndUnpackArtifact.d.ts +1 -1
  188. package/skill/internal/fetchAndUnpackArtifact.d.ts.map +1 -1
  189. package/skill/internal/fetchAndUnpackArtifact.js +47 -3
  190. package/skill/internal/fetchAndUnpackArtifact.js.map +1 -1
  191. package/skill/useSkillDiff.d.ts.map +1 -1
  192. package/skill/useSkillDiff.js +7 -1
  193. package/skill/useSkillDiff.js.map +1 -1
  194. package/skill/useSkillUpload.d.ts.map +1 -1
  195. package/skill/useSkillUpload.js +22 -4
  196. package/skill/useSkillUpload.js.map +1 -1
  197. package/src/__tests__/bare-host-resets.layout.test.tsx +184 -0
  198. package/src/agent/steps/IdentityStep.tsx +2 -1
  199. package/src/agent-instance/AgentInstanceDetailPanel.tsx +2 -1
  200. package/src/api-key/CreateApiKeyForm.tsx +2 -1
  201. package/src/channel/ChannelConversationsDialog.tsx +2 -1
  202. package/src/channel/ChannelTemplatesDialog.tsx +2 -1
  203. package/src/channel/ConnectSlackDialog.tsx +2 -1
  204. package/src/channel/connect/ServingAppSection.tsx +2 -1
  205. package/src/channel-app/CreateChannelAppForm.tsx +2 -1
  206. package/src/conversation/ConversationListPane.tsx +2 -5
  207. package/src/conversation/ConversationTimelineView.tsx +2 -1
  208. package/src/cursor-accounts/CursorAccountsConsole.tsx +2 -1
  209. package/src/cursor-accounts/MemberKeysPanel.tsx +2 -1
  210. package/src/dashboard/DashboardFailedRuns.tsx +2 -1
  211. package/src/dependency-graph/DependencyGraph.tsx +2 -1
  212. package/src/dependency-graph/DependencyTreeNode.tsx +2 -1
  213. package/src/environment/EnvironmentPicker.tsx +2 -1
  214. package/src/error/SecretFlowErrorGuide.tsx +3 -2
  215. package/src/execution/ArtifactContentBody.tsx +2 -1
  216. package/src/execution/ArtifactsWidget.tsx +2 -1
  217. package/src/execution/FileChangeProgressBar.tsx +2 -1
  218. package/src/execution/TodoList.tsx +2 -1
  219. package/src/execution/WriteBacksWidget.tsx +2 -1
  220. package/src/execution/tool-categories.ts +17 -41
  221. package/src/iam-policy/PeopleWithAccess.tsx +2 -1
  222. package/src/iam-policy/PrincipalPicker.tsx +2 -0
  223. package/src/iam-policy/RoleSelector.tsx +2 -1
  224. package/src/identity-provider/CreateIdentityProviderForm.tsx +2 -1
  225. package/src/identity-provider/IdentityProviderDetailPanel.tsx +2 -1
  226. package/src/identity-provider/IdentityProviderWizard.tsx +2 -1
  227. package/src/index.ts +13 -0
  228. package/src/internal/element-resets.ts +33 -0
  229. package/src/internal/file-tree/FileTreeNode.tsx +2 -1
  230. package/src/internal/markdown-components.tsx +15 -5
  231. package/src/invitation/InvitationManager.tsx +3 -2
  232. package/src/manifest/ApplyManifestDialog.tsx +2 -1
  233. package/src/mcp-server/steps/IdentityTransportStep.tsx +3 -2
  234. package/src/platform-client/CreatePlatformClientForm.tsx +4 -3
  235. package/src/platform-client/PlatformClientDetailPanel.tsx +4 -3
  236. package/src/pricing-governance/BaselineEditor.tsx +3 -2
  237. package/src/pricing-governance/PricingGovernanceConsole.tsx +2 -1
  238. package/src/provider-standing/ProviderStandingAccessNotice.tsx +36 -0
  239. package/src/provider-standing/ProviderStandingConsole.tsx +216 -0
  240. package/src/provider-standing/__tests__/ProviderStandingConsole.test.tsx +143 -0
  241. package/src/provider-standing/index.ts +8 -0
  242. package/src/provider-standing/useProviderStanding.ts +50 -0
  243. package/src/provider.tsx +12 -0
  244. package/src/resource-creation/StepIndicator.tsx +2 -1
  245. package/src/schedule/ScheduleDetailView.tsx +3 -2
  246. package/src/schedule/ScheduleRunsTable.tsx +2 -1
  247. package/src/session/__tests__/UsageTab.test.tsx +136 -0
  248. package/src/session/__tests__/useSessionUsage.test.ts +19 -0
  249. package/src/session/facets/ArtifactsTab.tsx +2 -1
  250. package/src/session/facets/ChangesTab.tsx +2 -1
  251. package/src/session/facets/UsageTab.tsx +98 -6
  252. package/src/session/index.ts +1 -0
  253. package/src/session/useSessionUsage.ts +37 -0
  254. package/src/settings/__tests__/useSettingsNavGroups.test.tsx +11 -1
  255. package/src/settings/settings-nav.ts +7 -0
  256. package/src/settings/useSettingsNavGroups.ts +8 -1
  257. package/src/sharing/ShareAgentDialog.tsx +2 -1
  258. package/src/sidebar/WorkspaceSidebar.tsx +2 -1
  259. package/src/skill/SkillFileBrowser.tsx +2 -1
  260. package/src/skill/__tests__/SkillFileBrowser.test.tsx +10 -2
  261. package/src/skill/__tests__/fetchAndUnpackArtifact.test.ts +90 -0
  262. package/src/skill/__tests__/useSkillUpload.test.ts +69 -0
  263. package/src/skill/internal/fetchAndUnpackArtifact.ts +54 -4
  264. package/src/skill/useSkillDiff.ts +7 -1
  265. package/src/skill/useSkillUpload.ts +25 -6
  266. package/src/workflow/FailedRunsWidget.tsx +2 -1
  267. package/src/workflow/PendingApprovalsWidget.tsx +2 -1
  268. package/src/workflow/facets/WorkflowArtifactsTab.tsx +2 -1
  269. package/src/workflow/facets/WorkflowUsageTab.tsx +2 -1
  270. package/src/workflow/inspector/WorkflowSummaryPanel.tsx +2 -1
  271. package/src/workflow/inspector/tabs/BranchesTab.tsx +2 -1
  272. package/src/workflow/inspector/tabs/IterationTab.tsx +2 -1
  273. package/src/workflow/instance/WorkflowInstanceDetailPanel.tsx +2 -1
  274. package/src/workspace/ExplorerTree.tsx +2 -1
  275. package/src/workspace/WorkspaceContentSearch.tsx +2 -1
  276. package/src/workspace/WorkspaceFileSearch.tsx +2 -1
  277. package/src/workspace/WorkspaceSummary.tsx +2 -1
  278. package/styles.css +1 -1
  279. package/workflow/FailedRunsWidget.d.ts.map +1 -1
  280. package/workflow/FailedRunsWidget.js +2 -1
  281. package/workflow/FailedRunsWidget.js.map +1 -1
  282. package/workflow/PendingApprovalsWidget.d.ts.map +1 -1
  283. package/workflow/PendingApprovalsWidget.js +2 -1
  284. package/workflow/PendingApprovalsWidget.js.map +1 -1
  285. package/workflow/facets/WorkflowArtifactsTab.d.ts.map +1 -1
  286. package/workflow/facets/WorkflowArtifactsTab.js +2 -1
  287. package/workflow/facets/WorkflowArtifactsTab.js.map +1 -1
  288. package/workflow/facets/WorkflowUsageTab.d.ts.map +1 -1
  289. package/workflow/facets/WorkflowUsageTab.js +2 -1
  290. package/workflow/facets/WorkflowUsageTab.js.map +1 -1
  291. package/workflow/inspector/WorkflowSummaryPanel.d.ts.map +1 -1
  292. package/workflow/inspector/WorkflowSummaryPanel.js +2 -1
  293. package/workflow/inspector/WorkflowSummaryPanel.js.map +1 -1
  294. package/workflow/inspector/tabs/BranchesTab.d.ts.map +1 -1
  295. package/workflow/inspector/tabs/BranchesTab.js +2 -1
  296. package/workflow/inspector/tabs/BranchesTab.js.map +1 -1
  297. package/workflow/inspector/tabs/IterationTab.d.ts.map +1 -1
  298. package/workflow/inspector/tabs/IterationTab.js +2 -1
  299. package/workflow/inspector/tabs/IterationTab.js.map +1 -1
  300. package/workflow/instance/WorkflowInstanceDetailPanel.d.ts.map +1 -1
  301. package/workflow/instance/WorkflowInstanceDetailPanel.js +2 -1
  302. package/workflow/instance/WorkflowInstanceDetailPanel.js.map +1 -1
  303. package/workspace/ExplorerTree.d.ts.map +1 -1
  304. package/workspace/ExplorerTree.js +2 -1
  305. package/workspace/ExplorerTree.js.map +1 -1
  306. package/workspace/WorkspaceContentSearch.d.ts.map +1 -1
  307. package/workspace/WorkspaceContentSearch.js +2 -1
  308. package/workspace/WorkspaceContentSearch.js.map +1 -1
  309. package/workspace/WorkspaceFileSearch.d.ts.map +1 -1
  310. package/workspace/WorkspaceFileSearch.js +2 -1
  311. package/workspace/WorkspaceFileSearch.js.map +1 -1
  312. package/workspace/WorkspaceSummary.d.ts.map +1 -1
  313. package/workspace/WorkspaceSummary.js +2 -1
  314. package/workspace/WorkspaceSummary.js.map +1 -1
@@ -129,10 +129,16 @@ export function useSkillUpload(): UseSkillUploadReturn {
129
129
  if (abortRef.current !== callId) return;
130
130
 
131
131
  const entries = Object.entries(unzipped);
132
- const skillMdEntry = findSkillMd(entries);
132
+ const skillMdEntry = findRootSkillMd(entries);
133
133
 
134
134
  if (!skillMdEntry) {
135
- setValidationError("ZIP must contain a SKILL.md file at the root level");
135
+ const nestedPath = findNestedSkillMd(entries);
136
+ setValidationError(
137
+ nestedPath
138
+ ? `Found ${nestedPath} — SKILL.md must be at the archive root. ` +
139
+ "Zip the skill folder's contents, not the folder itself."
140
+ : "ZIP must contain a SKILL.md file at the root level",
141
+ );
136
142
  return;
137
143
  }
138
144
 
@@ -207,12 +213,25 @@ function isZip(bytes: Uint8Array): boolean {
207
213
  );
208
214
  }
209
215
 
210
- function findSkillMd(
216
+ /**
217
+ * The layout contract is root-only on both editions (DD-018, #452): the
218
+ * server rejects an archive whose only SKILL.md is nested, so the preview
219
+ * must too — accepting it here converts a clear pre-upload error into a
220
+ * confusing post-upload rejection (issue #684).
221
+ */
222
+ function findRootSkillMd(
211
223
  entries: [string, Uint8Array][],
212
224
  ): [string, Uint8Array] | undefined {
213
- return entries.find(
214
- ([path]) => path === "SKILL.md" || path.match(/^[^/]+\/SKILL\.md$/),
215
- );
225
+ return entries.find(([path]) => path === "SKILL.md");
226
+ }
227
+
228
+ /**
229
+ * Detect the "zipped the folder instead of its contents" mistake so the
230
+ * error can say what to do. Any-depth suffix match, mirroring the server's
231
+ * nested-occurrence detection (skill/storage/zip_extractor.go).
232
+ */
233
+ function findNestedSkillMd(entries: [string, Uint8Array][]): string | undefined {
234
+ return entries.find(([path]) => path.endsWith("/SKILL.md"))?.[0];
216
235
  }
217
236
 
218
237
  function parseFrontmatter(content: string): Record<string, unknown> | null {
@@ -4,6 +4,7 @@ import { memo } from "react";
4
4
  import type { WorkflowExecution } from "@stigmer/protos/ai/stigmer/agentic/workflowexecution/v1/api_pb";
5
5
  import { timestampDate } from "@bufbuild/protobuf/wkt";
6
6
  import { cn } from "@stigmer/theme";
7
+ import { UNSTYLED_LIST } from "../internal/element-resets.js";
7
8
  import { formatRelativeTime } from "../activity/format-relative-time.js";
8
9
 
9
10
  export interface FailedRunsWidgetProps {
@@ -54,7 +55,7 @@ export const FailedRunsWidget = memo(function FailedRunsWidget({
54
55
  No recent failures
55
56
  </p>
56
57
  ) : (
57
- <ul className="stg:space-y-2" role="list">
58
+ <ul className={cn(UNSTYLED_LIST, "stg:space-y-2")} role="list">
58
59
  {executions.map((exec) => {
59
60
  const id = exec.metadata?.id;
60
61
  const name =
@@ -4,6 +4,7 @@ import { memo } from "react";
4
4
  import type { PendingApproval } from "@stigmer/protos/ai/stigmer/agentic/workflowexecution/v1/io_pb";
5
5
  import { timestampDate } from "@bufbuild/protobuf/wkt";
6
6
  import { cn } from "@stigmer/theme";
7
+ import { UNSTYLED_LIST } from "../internal/element-resets.js";
7
8
  import { formatRelativeTime } from "../activity/format-relative-time.js";
8
9
 
9
10
  export interface PendingApprovalsWidgetProps {
@@ -65,7 +66,7 @@ export const PendingApprovalsWidget = memo(function PendingApprovalsWidget({
65
66
  No approvals pending
66
67
  </p>
67
68
  ) : (
68
- <ul className="stg:space-y-2" role="list">
69
+ <ul className={cn(UNSTYLED_LIST, "stg:space-y-2")} role="list">
69
70
  {approvals.map((approval) => {
70
71
  const requestedAt = approval.requestedAt
71
72
  ? timestampDate(approval.requestedAt)
@@ -5,6 +5,7 @@
5
5
 
6
6
  import type { Artifact } from "@stigmer/protos/ai/stigmer/agentic/artifact/v1/api_pb";
7
7
  import { useMemo } from "react";
8
+ import { UNSTYLED_LIST } from "../../internal/element-resets.js";
8
9
  import { ArtifactRowView } from "../../execution/ArtifactRowView.js";
9
10
  import type { ArtifactRowItem } from "../../execution/artifact-row-item.js";
10
11
  import { deriveWorkflowArtifactItems } from "../deriveWorkflowArtifactItems.js";
@@ -55,7 +56,7 @@ export function WorkflowArtifactsTab({
55
56
  }
56
57
 
57
58
  return (
58
- <ul role="list" className="stg:flex stg:flex-col">
59
+ <ul role="list" className={`${UNSTYLED_LIST} stg:flex stg:flex-col`}>
59
60
  {entries.map(({ artifact, item }) => (
60
61
  <WorkflowArtifactRow
61
62
  key={artifact.metadata?.id ?? item.name}
@@ -5,6 +5,7 @@
5
5
 
6
6
  import { useMemo } from "react";
7
7
  import { cn } from "@stigmer/theme";
8
+ import { UNSTYLED_LIST } from "../../internal/element-resets.js";
8
9
  import type {
9
10
  DerivedCostSummary,
10
11
  DerivedTaskState,
@@ -72,7 +73,7 @@ export function WorkflowUsageTab({
72
73
  <h3 className="stg:px-2 stg:text-xs stg:font-semibold stg:uppercase stg:tracking-wider stg:text-muted-foreground">
73
74
  By task
74
75
  </h3>
75
- <ul role="list" className="stg:flex stg:flex-col">
76
+ <ul role="list" className={cn(UNSTYLED_LIST, "stg:flex stg:flex-col")}>
76
77
  {items.map((item) => (
77
78
  <UsageRow key={item.taskName} item={item} />
78
79
  ))}
@@ -2,6 +2,7 @@
2
2
 
3
3
  import { memo, useMemo, useState, useCallback } from "react";
4
4
  import { cn } from "@stigmer/theme";
5
+ import { UNSTYLED_LIST } from "../../internal/element-resets.js";
5
6
  import type { WorkflowGraphModel, WorkflowGraphBudget, WorkflowGraphEnvVar } from "../workflow-graph-model.js";
6
7
  import { START_NODE_ID, END_NODE_ID } from "../workflow-graph-model.js";
7
8
  import { CATEGORY_DISPLAY_NAMES } from "../canvas-constants.js";
@@ -155,7 +156,7 @@ function ValidationSection({
155
156
  </button>
156
157
 
157
158
  {expanded && (
158
- <ul className="stg:flex stg:flex-col stg:gap-1" role="list">
159
+ <ul className={cn(UNSTYLED_LIST, "stg:flex stg:flex-col stg:gap-1")} role="list">
159
160
  {Array.from(errors.entries()).map(([nodeId, nodeErrors]) =>
160
161
  nodeErrors.map((error, i) => (
161
162
  <li
@@ -2,6 +2,7 @@
2
2
 
3
3
  import { memo, useCallback, useMemo, useState } from "react";
4
4
  import { cn } from "@stigmer/theme";
5
+ import { UNSTYLED_FIELDSET } from "../../../internal/element-resets.js";
5
6
  import {
6
7
  Tooltip,
7
8
  TooltipContent,
@@ -283,7 +284,7 @@ function ForkBranches({
283
284
  return (
284
285
  <div className="stg:flex stg:flex-col stg:gap-3 stg:px-3 stg:py-3">
285
286
  {/* Join policy */}
286
- <fieldset>
287
+ <fieldset className={UNSTYLED_FIELDSET}>
287
288
  <legend className="stg:text-xs stg:font-semibold stg:text-[var(--stgm-foreground,#1a1a2e)] stg:mb-1.5">
288
289
  Join policy
289
290
  </legend>
@@ -1,6 +1,7 @@
1
1
  "use client";
2
2
 
3
3
  import { memo, useCallback, useState, useMemo } from "react";
4
+ import { UNSTYLED_FIELDSET } from "../../../internal/element-resets.js";
4
5
  import type { WorkflowGraphNode } from "../../workflow-graph-model.js";
5
6
  import type { InspectorMutations } from "../types.js";
6
7
 
@@ -177,7 +178,7 @@ export const IterationTab = memo(function IterationTab({
177
178
 
178
179
  {/* Error policy */}
179
180
  {parallelism > 0 && (
180
- <fieldset>
181
+ <fieldset className={UNSTYLED_FIELDSET}>
181
182
  <legend className="stg:text-[10px] stg:font-medium stg:text-[var(--stgm-muted-foreground,#737373)] stg:mb-1.5">
182
183
  Error policy
183
184
  </legend>
@@ -2,6 +2,7 @@
2
2
 
3
3
  import { useCallback, useState } from "react";
4
4
  import { cn } from "@stigmer/theme";
5
+ import { UNSTYLED_LIST } from "../../internal/element-resets.js";
5
6
  import { timestampDate } from "@bufbuild/protobuf/wkt";
6
7
  import type { WorkflowInstance } from "@stigmer/protos/ai/stigmer/agentic/workflowinstance/v1/api_pb";
7
8
  import { ApiResourceVisibility } from "@stigmer/protos/ai/stigmer/commons/apiresource/enum_pb";
@@ -263,7 +264,7 @@ export function WorkflowInstanceDetailPanel({
263
264
  {(spec?.environmentRefs?.length ?? 0) === 0 ? (
264
265
  <p className="stg:text-xs stg:text-muted-foreground">No environments bound.</p>
265
266
  ) : (
266
- <ol className="stg:space-y-1">
267
+ <ol className={cn(UNSTYLED_LIST, "stg:space-y-1")}>
267
268
  {spec!.environmentRefs.map((ref, idx) => (
268
269
  <li key={`${ref.slug}-${idx}`} className="stg:flex stg:items-center stg:gap-2 stg:text-sm">
269
270
  <span className="stg:text-xs stg:text-muted-foreground stg:w-4 stg:text-right">{idx + 1}.</span>
@@ -2,6 +2,7 @@
2
2
 
3
3
  import { useState } from "react";
4
4
  import { cn } from "@stigmer/theme";
5
+ import { UNSTYLED_LIST } from "../internal/element-resets.js";
5
6
  import { FileTreeNode } from "../internal/file-tree/index.js";
6
7
  import type { SelectedWorkspaceFile } from "../internal/store/index.js";
7
8
  import { Tooltip, TooltipContent, TooltipTrigger } from "../internal/tooltip.js";
@@ -231,7 +232,7 @@ function ExplorerRootBody({
231
232
  return (
232
233
  <>
233
234
  <nav aria-label={`File tree for ${entryName}`}>
234
- <ul className="stg:py-0.5 stg:pl-1.5" role="tree">
235
+ <ul className={cn(UNSTYLED_LIST, "stg:py-0.5 stg:pl-1.5")} role="tree">
235
236
  {tree.map((node) => (
236
237
  <FileTreeNode
237
238
  key={node.path}
@@ -11,6 +11,7 @@ import {
11
11
  type ReactNode,
12
12
  } from "react";
13
13
  import { cn } from "@stigmer/theme";
14
+ import { UNSTYLED_LIST } from "../internal/element-resets.js";
14
15
  import type { WorkspaceEntry } from "./useWorkspaceEntries.js";
15
16
  import type {
16
17
  WorkspaceContentMatch,
@@ -235,7 +236,7 @@ export function WorkspaceContentSearch({
235
236
  <MessageState>No files containing &ldquo;{trimmed}&rdquo;.</MessageState>
236
237
  ) : (
237
238
  <>
238
- <ul id={listboxId} role="listbox" aria-label="Search results" className="stg:py-0.5">
239
+ <ul id={listboxId} role="listbox" aria-label="Search results" className={cn(UNSTYLED_LIST, "stg:py-0.5")}>
239
240
  {renderRows({
240
241
  groups,
241
242
  query: trimmed,
@@ -10,6 +10,7 @@ import {
10
10
  type KeyboardEvent,
11
11
  } from "react";
12
12
  import { cn } from "@stigmer/theme";
13
+ import { UNSTYLED_LIST } from "../internal/element-resets.js";
13
14
  import type { WorkspaceEntry } from "./useWorkspaceEntries.js";
14
15
  import type { WorkspaceFileLister } from "./WorkspaceFileLister.js";
15
16
  import type { SelectedWorkspaceFile } from "../internal/store/workspace-file-selection-store.js";
@@ -210,7 +211,7 @@ export function WorkspaceFileSearch({
210
211
  id={listboxId}
211
212
  role="listbox"
212
213
  aria-label="Search results"
213
- className="stg:py-0.5"
214
+ className={cn(UNSTYLED_LIST, "stg:py-0.5")}
214
215
  >
215
216
  {renderRows({
216
217
  groups,
@@ -3,6 +3,7 @@
3
3
  import type { WorkspaceEntry } from "@stigmer/protos/ai/stigmer/agentic/session/v1/workspace_pb";
4
4
  import type { WorkspaceSource } from "@stigmer/protos/ai/stigmer/agentic/session/v1/workspace_pb";
5
5
  import { cn } from "@stigmer/theme";
6
+ import { UNSTYLED_LIST } from "../internal/element-resets.js";
6
7
  import { Tooltip, TooltipContent, TooltipTrigger } from "../internal/tooltip.js";
7
8
  import { TruncatedText } from "../internal/truncated-text.js";
8
9
 
@@ -43,7 +44,7 @@ export function WorkspaceSummary({
43
44
  if (entries.length === 0) return null;
44
45
 
45
46
  return (
46
- <ul className={cn("stg:space-y-1.5", className)} aria-label="Workspace entries">
47
+ <ul className={cn(UNSTYLED_LIST, "stg:space-y-1.5", className)} aria-label="Workspace entries">
47
48
  {entries.map((entry) => (
48
49
  <li key={entry.name} className="stg:text-xs">
49
50
  <div className="stg:flex stg:items-center stg:gap-1.5 stg:font-medium">