@stigmer/react 3.5.3 → 3.7.0

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 (283) hide show
  1. package/agent/AgentPicker.d.ts +10 -1
  2. package/agent/AgentPicker.d.ts.map +1 -1
  3. package/agent/AgentPicker.js +2 -2
  4. package/agent/AgentPicker.js.map +1 -1
  5. package/billing/CreditLedgerTable.d.ts.map +1 -1
  6. package/billing/CreditLedgerTable.js +2 -7
  7. package/billing/CreditLedgerTable.js.map +1 -1
  8. package/channel/AgentChannelsPanel.d.ts.map +1 -1
  9. package/channel/AgentChannelsPanel.js +22 -5
  10. package/channel/AgentChannelsPanel.js.map +1 -1
  11. package/channel/ChannelTemplatesDialog.d.ts +53 -0
  12. package/channel/ChannelTemplatesDialog.d.ts.map +1 -0
  13. package/channel/ChannelTemplatesDialog.js +150 -0
  14. package/channel/ChannelTemplatesDialog.js.map +1 -0
  15. package/channel/index.d.ts +8 -0
  16. package/channel/index.d.ts.map +1 -1
  17. package/channel/index.js +4 -0
  18. package/channel/index.js.map +1 -1
  19. package/channel/providers.d.ts +12 -0
  20. package/channel/providers.d.ts.map +1 -1
  21. package/channel/providers.js +14 -2
  22. package/channel/providers.js.map +1 -1
  23. package/channel/templatePresentation.d.ts +37 -0
  24. package/channel/templatePresentation.d.ts.map +1 -0
  25. package/channel/templatePresentation.js +69 -0
  26. package/channel/templatePresentation.js.map +1 -0
  27. package/channel/useChannelTemplateList.d.ts +64 -0
  28. package/channel/useChannelTemplateList.d.ts.map +1 -0
  29. package/channel/useChannelTemplateList.js +69 -0
  30. package/channel/useChannelTemplateList.js.map +1 -0
  31. package/channel/useChannelTemplateReadiness.d.ts +53 -0
  32. package/channel/useChannelTemplateReadiness.d.ts.map +1 -0
  33. package/channel/useChannelTemplateReadiness.js +42 -0
  34. package/channel/useChannelTemplateReadiness.js.map +1 -0
  35. package/composer/ComposerToolbar.d.ts +6 -1
  36. package/composer/ComposerToolbar.d.ts.map +1 -1
  37. package/composer/ComposerToolbar.js +2 -2
  38. package/composer/ComposerToolbar.js.map +1 -1
  39. package/composer/SessionComposer.d.ts +9 -0
  40. package/composer/SessionComposer.d.ts.map +1 -1
  41. package/composer/SessionComposer.js +13 -2
  42. package/composer/SessionComposer.js.map +1 -1
  43. package/dashboard/useDashboardFailedRuns.d.ts.map +1 -1
  44. package/dashboard/useDashboardFailedRuns.js +2 -0
  45. package/dashboard/useDashboardFailedRuns.js.map +1 -1
  46. package/execution/useCreateAgentExecution.d.ts +14 -0
  47. package/execution/useCreateAgentExecution.d.ts.map +1 -1
  48. package/execution/useCreateAgentExecution.js +5 -0
  49. package/execution/useCreateAgentExecution.js.map +1 -1
  50. package/index.d.ts +4 -2
  51. package/index.d.ts.map +1 -1
  52. package/index.js +10 -1
  53. package/index.js.map +1 -1
  54. package/internal/Pagination.d.ts +15 -0
  55. package/internal/Pagination.d.ts.map +1 -0
  56. package/internal/Pagination.js +20 -0
  57. package/internal/Pagination.js.map +1 -0
  58. package/library/useExportResource.d.ts +4 -3
  59. package/library/useExportResource.d.ts.map +1 -1
  60. package/library/useExportResource.js +1 -1
  61. package/library/useExportResource.js.map +1 -1
  62. package/models/ModelSelector.d.ts +26 -1
  63. package/models/ModelSelector.d.ts.map +1 -1
  64. package/models/ModelSelector.js +27 -6
  65. package/models/ModelSelector.js.map +1 -1
  66. package/models/index.d.ts +2 -0
  67. package/models/index.d.ts.map +1 -1
  68. package/models/index.js +1 -0
  69. package/models/index.js.map +1 -1
  70. package/models/registry.d.ts +10 -0
  71. package/models/registry.d.ts.map +1 -1
  72. package/models/registry.js +3 -0
  73. package/models/registry.js.map +1 -1
  74. package/models/service-tier.d.ts +27 -0
  75. package/models/service-tier.d.ts.map +1 -0
  76. package/models/service-tier.js +34 -0
  77. package/models/service-tier.js.map +1 -0
  78. package/organization/OrgProvider.d.ts +11 -4
  79. package/organization/OrgProvider.d.ts.map +1 -1
  80. package/organization/OrgProvider.js +28 -4
  81. package/organization/OrgProvider.js.map +1 -1
  82. package/package.json +4 -4
  83. package/resource-detail/useDeleteResource.d.ts +1 -1
  84. package/resource-detail/useDeleteResource.d.ts.map +1 -1
  85. package/resource-detail/useDeleteResource.js +5 -0
  86. package/resource-detail/useDeleteResource.js.map +1 -1
  87. package/resource-workbench/components/ResourceWorkbench.d.ts +10 -1
  88. package/resource-workbench/components/ResourceWorkbench.d.ts.map +1 -1
  89. package/resource-workbench/components/ResourceWorkbench.js +6 -2
  90. package/resource-workbench/components/ResourceWorkbench.js.map +1 -1
  91. package/resource-workbench/hooks/useResourceCollection.d.ts +8 -0
  92. package/resource-workbench/hooks/useResourceCollection.d.ts.map +1 -1
  93. package/resource-workbench/hooks/useResourceCollection.js +2 -2
  94. package/resource-workbench/hooks/useResourceCollection.js.map +1 -1
  95. package/schedule/CadenceField.d.ts +31 -0
  96. package/schedule/CadenceField.d.ts.map +1 -0
  97. package/schedule/CadenceField.js +116 -0
  98. package/schedule/CadenceField.js.map +1 -0
  99. package/schedule/ScheduleDetailView.d.ts +81 -0
  100. package/schedule/ScheduleDetailView.d.ts.map +1 -0
  101. package/schedule/ScheduleDetailView.js +648 -0
  102. package/schedule/ScheduleDetailView.js.map +1 -0
  103. package/schedule/ScheduleForm.d.ts +46 -0
  104. package/schedule/ScheduleForm.d.ts.map +1 -0
  105. package/schedule/ScheduleForm.js +214 -0
  106. package/schedule/ScheduleForm.js.map +1 -0
  107. package/schedule/ScheduleRowActions.d.ts +20 -0
  108. package/schedule/ScheduleRowActions.d.ts.map +1 -0
  109. package/schedule/ScheduleRowActions.js +54 -0
  110. package/schedule/ScheduleRowActions.js.map +1 -0
  111. package/schedule/ScheduleRunsTable.d.ts +72 -0
  112. package/schedule/ScheduleRunsTable.d.ts.map +1 -0
  113. package/schedule/ScheduleRunsTable.js +161 -0
  114. package/schedule/ScheduleRunsTable.js.map +1 -0
  115. package/schedule/TimeZoneField.d.ts +32 -0
  116. package/schedule/TimeZoneField.d.ts.map +1 -0
  117. package/schedule/TimeZoneField.js +104 -0
  118. package/schedule/TimeZoneField.js.map +1 -0
  119. package/schedule/cadence.d.ts +95 -0
  120. package/schedule/cadence.d.ts.map +1 -0
  121. package/schedule/cadence.js +242 -0
  122. package/schedule/cadence.js.map +1 -0
  123. package/schedule/index.d.ts +37 -0
  124. package/schedule/index.d.ts.map +1 -0
  125. package/schedule/index.js +19 -0
  126. package/schedule/index.js.map +1 -0
  127. package/schedule/scheduleColumns.d.ts +26 -0
  128. package/schedule/scheduleColumns.d.ts.map +1 -0
  129. package/schedule/scheduleColumns.js +77 -0
  130. package/schedule/scheduleColumns.js.map +1 -0
  131. package/schedule/scheduleListFn.d.ts +50 -0
  132. package/schedule/scheduleListFn.d.ts.map +1 -0
  133. package/schedule/scheduleListFn.js +65 -0
  134. package/schedule/scheduleListFn.js.map +1 -0
  135. package/schedule/scheduleState.d.ts +43 -0
  136. package/schedule/scheduleState.d.ts.map +1 -0
  137. package/schedule/scheduleState.js +67 -0
  138. package/schedule/scheduleState.js.map +1 -0
  139. package/schedule/useCreateSchedule.d.ts +57 -0
  140. package/schedule/useCreateSchedule.d.ts.map +1 -0
  141. package/schedule/useCreateSchedule.js +61 -0
  142. package/schedule/useCreateSchedule.js.map +1 -0
  143. package/schedule/useResumeSchedule.d.ts +30 -0
  144. package/schedule/useResumeSchedule.d.ts.map +1 -0
  145. package/schedule/useResumeSchedule.js +45 -0
  146. package/schedule/useResumeSchedule.js.map +1 -0
  147. package/schedule/useSchedule.d.ts +39 -0
  148. package/schedule/useSchedule.d.ts.map +1 -0
  149. package/schedule/useSchedule.js +44 -0
  150. package/schedule/useSchedule.js.map +1 -0
  151. package/schedule/useScheduleCount.d.ts +38 -0
  152. package/schedule/useScheduleCount.d.ts.map +1 -0
  153. package/schedule/useScheduleCount.js +30 -0
  154. package/schedule/useScheduleCount.js.map +1 -0
  155. package/schedule/useScheduleList.d.ts +48 -0
  156. package/schedule/useScheduleList.d.ts.map +1 -0
  157. package/schedule/useScheduleList.js +43 -0
  158. package/schedule/useScheduleList.js.map +1 -0
  159. package/schedule/useScheduleRuns.d.ts +44 -0
  160. package/schedule/useScheduleRuns.d.ts.map +1 -0
  161. package/schedule/useScheduleRuns.js +48 -0
  162. package/schedule/useScheduleRuns.js.map +1 -0
  163. package/schedule/useSetScheduleEnabled.d.ts +31 -0
  164. package/schedule/useSetScheduleEnabled.d.ts.map +1 -0
  165. package/schedule/useSetScheduleEnabled.js +53 -0
  166. package/schedule/useSetScheduleEnabled.js.map +1 -0
  167. package/schedule/useTriggerSchedule.d.ts +41 -0
  168. package/schedule/useTriggerSchedule.d.ts.map +1 -0
  169. package/schedule/useTriggerSchedule.js +62 -0
  170. package/schedule/useTriggerSchedule.js.map +1 -0
  171. package/schedule/useUpdateScheduleSpec.d.ts +49 -0
  172. package/schedule/useUpdateScheduleSpec.d.ts.map +1 -0
  173. package/schedule/useUpdateScheduleSpec.js +70 -0
  174. package/schedule/useUpdateScheduleSpec.js.map +1 -0
  175. package/search/useResourceCount.d.ts +2 -1
  176. package/search/useResourceCount.d.ts.map +1 -1
  177. package/search/useResourceCount.js +6 -1
  178. package/search/useResourceCount.js.map +1 -1
  179. package/session/useNewSessionFlow.d.ts.map +1 -1
  180. package/session/useNewSessionFlow.js +1 -0
  181. package/session/useNewSessionFlow.js.map +1 -1
  182. package/session/useSessionConversation.d.ts +11 -0
  183. package/session/useSessionConversation.d.ts.map +1 -1
  184. package/session/useSessionConversation.js +1 -0
  185. package/session/useSessionConversation.js.map +1 -1
  186. package/session/useSessionPageFlow.d.ts.map +1 -1
  187. package/session/useSessionPageFlow.js +1 -0
  188. package/session/useSessionPageFlow.js.map +1 -1
  189. package/src/agent/AgentPicker.tsx +13 -1
  190. package/src/billing/CreditLedgerTable.tsx +3 -42
  191. package/src/channel/AgentChannelsPanel.tsx +43 -1
  192. package/src/channel/ChannelTemplatesDialog.tsx +433 -0
  193. package/src/channel/__tests__/AgentChannelsPanel.test.tsx +73 -0
  194. package/src/channel/__tests__/ChannelTemplatesDialog.test.tsx +292 -0
  195. package/src/channel/__tests__/providers.test.ts +9 -0
  196. package/src/channel/__tests__/templatePresentation.test.ts +96 -0
  197. package/src/channel/__tests__/useChannelTemplateList.test.tsx +216 -0
  198. package/src/channel/__tests__/useChannelTemplateReadiness.test.tsx +124 -0
  199. package/src/channel/index.ts +15 -0
  200. package/src/channel/providers.ts +26 -2
  201. package/src/channel/templatePresentation.ts +82 -0
  202. package/src/channel/useChannelTemplateList.ts +123 -0
  203. package/src/channel/useChannelTemplateReadiness.ts +69 -0
  204. package/src/composer/ComposerToolbar.tsx +9 -0
  205. package/src/composer/SessionComposer.tsx +24 -1
  206. package/src/composer/__tests__/SessionComposer-serviceTier.test.tsx +156 -0
  207. package/src/dashboard/__tests__/useDashboardFailedRuns.test.tsx +106 -0
  208. package/src/dashboard/useDashboardFailedRuns.ts +2 -0
  209. package/src/execution/useCreateAgentExecution.ts +18 -0
  210. package/src/index.ts +70 -0
  211. package/src/internal/Pagination.tsx +72 -0
  212. package/src/library/useExportResource.ts +4 -3
  213. package/src/models/ModelSelector.tsx +100 -3
  214. package/src/models/__tests__/ModelSelector-serviceTier.test.tsx +172 -0
  215. package/src/models/__tests__/useModelRegistry.test.tsx +15 -0
  216. package/src/models/index.ts +2 -0
  217. package/src/models/registry.ts +16 -0
  218. package/src/models/service-tier.ts +49 -0
  219. package/src/organization/OrgProvider.tsx +29 -4
  220. package/src/organization/__tests__/OrgProvider.orgSwitch.test.tsx +89 -0
  221. package/src/resource-detail/useDeleteResource.ts +11 -1
  222. package/src/resource-workbench/__tests__/ResourceWorkbench.test.tsx +112 -0
  223. package/src/resource-workbench/components/ResourceWorkbench.tsx +32 -15
  224. package/src/resource-workbench/hooks/useResourceCollection.ts +11 -1
  225. package/src/schedule/CadenceField.tsx +365 -0
  226. package/src/schedule/ScheduleDetailView.tsx +1651 -0
  227. package/src/schedule/ScheduleForm.tsx +615 -0
  228. package/src/schedule/ScheduleRowActions.tsx +124 -0
  229. package/src/schedule/ScheduleRunsTable.tsx +424 -0
  230. package/src/schedule/TimeZoneField.tsx +199 -0
  231. package/src/schedule/__tests__/ScheduleDetailView.test.tsx +683 -0
  232. package/src/schedule/__tests__/cadence.test.ts +278 -0
  233. package/src/schedule/__tests__/scheduleColumnsRowActions.test.tsx +176 -0
  234. package/src/schedule/__tests__/scheduleCreation.test.tsx +537 -0
  235. package/src/schedule/__tests__/scheduleHooks.test.tsx +399 -0
  236. package/src/schedule/__tests__/scheduleListFn.test.ts +128 -0
  237. package/src/schedule/__tests__/scheduleState.test.ts +133 -0
  238. package/src/schedule/cadence.ts +298 -0
  239. package/src/schedule/index.ts +69 -0
  240. package/src/schedule/scheduleColumns.tsx +118 -0
  241. package/src/schedule/scheduleListFn.ts +108 -0
  242. package/src/schedule/scheduleState.ts +96 -0
  243. package/src/schedule/useCreateSchedule.ts +88 -0
  244. package/src/schedule/useResumeSchedule.ts +67 -0
  245. package/src/schedule/useSchedule.ts +67 -0
  246. package/src/schedule/useScheduleCount.ts +57 -0
  247. package/src/schedule/useScheduleList.ts +83 -0
  248. package/src/schedule/useScheduleRuns.ts +93 -0
  249. package/src/schedule/useSetScheduleEnabled.ts +84 -0
  250. package/src/schedule/useTriggerSchedule.ts +90 -0
  251. package/src/schedule/useUpdateScheduleSpec.ts +108 -0
  252. package/src/search/__tests__/useResourceCount.test.tsx +89 -0
  253. package/src/search/useResourceCount.ts +8 -2
  254. package/src/session/useNewSessionFlow.ts +1 -0
  255. package/src/session/useSessionConversation.ts +12 -0
  256. package/src/session/useSessionPageFlow.ts +1 -0
  257. package/src/workflow/WorkflowDashboard.tsx +1 -0
  258. package/src/workflow/__tests__/inspector-forms.test.tsx +119 -2
  259. package/src/workflow/inspector/forms/AgentCallForm.tsx +260 -37
  260. package/src/workflow/inspector/tabs/RuntimeTab.tsx +72 -33
  261. package/src/workflow/starter-workflow-yaml.ts +2 -1
  262. package/src/workflow/useWorkflowExecutionList.ts +13 -2
  263. package/styles.css +1 -1
  264. package/workflow/CanvasTransitionEdge.d.ts +1 -1
  265. package/workflow/WorkflowDashboard.d.ts.map +1 -1
  266. package/workflow/WorkflowDashboard.js +1 -0
  267. package/workflow/WorkflowDashboard.js.map +1 -1
  268. package/workflow/inspector/forms/AgentCallForm.d.ts +18 -2
  269. package/workflow/inspector/forms/AgentCallForm.d.ts.map +1 -1
  270. package/workflow/inspector/forms/AgentCallForm.js +87 -9
  271. package/workflow/inspector/forms/AgentCallForm.js.map +1 -1
  272. package/workflow/inspector/tabs/RuntimeTab.d.ts +2 -1
  273. package/workflow/inspector/tabs/RuntimeTab.d.ts.map +1 -1
  274. package/workflow/inspector/tabs/RuntimeTab.js +31 -5
  275. package/workflow/inspector/tabs/RuntimeTab.js.map +1 -1
  276. package/workflow/starter-workflow-yaml.d.ts +1 -1
  277. package/workflow/starter-workflow-yaml.d.ts.map +1 -1
  278. package/workflow/starter-workflow-yaml.js +2 -1
  279. package/workflow/starter-workflow-yaml.js.map +1 -1
  280. package/workflow/useWorkflowExecutionList.d.ts +10 -0
  281. package/workflow/useWorkflowExecutionList.d.ts.map +1 -1
  282. package/workflow/useWorkflowExecutionList.js +3 -2
  283. package/workflow/useWorkflowExecutionList.js.map +1 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stigmer/react",
3
- "version": "3.5.3",
3
+ "version": "3.7.0",
4
4
  "description": "React provider and client hook for the Stigmer platform SDK",
5
5
  "license": "Apache-2.0",
6
6
  "type": "module",
@@ -37,7 +37,7 @@
37
37
  "dependencies": {
38
38
  "@bufbuild/protovalidate": "^1.1.1",
39
39
  "@dagrejs/dagre": "^1.1.4",
40
- "@stigmer/theme": "3.5.3",
40
+ "@stigmer/theme": "3.7.0",
41
41
  "diff": "^8.0.3",
42
42
  "fflate": "^0.8.2",
43
43
  "hast-util-to-jsx-runtime": "^2.3.6",
@@ -60,8 +60,8 @@
60
60
  "@codemirror/state": "^6.0.0",
61
61
  "@codemirror/view": "^6.0.0",
62
62
  "@lezer/highlight": "^1.0.0",
63
- "@stigmer/protos": "3.5.3",
64
- "@stigmer/sdk": "3.5.3",
63
+ "@stigmer/protos": "3.7.0",
64
+ "@stigmer/sdk": "3.7.0",
65
65
  "@tanstack/react-table": "^8.20.0",
66
66
  "@xyflow/react": "^12.0.0",
67
67
  "elkjs": "^0.9.0",
@@ -1,5 +1,5 @@
1
1
  /** Resource types that support deletion from detail pages. */
2
- export type DeletableResourceKind = "agent" | "skill" | "mcpServer" | "workflow";
2
+ export type DeletableResourceKind = "agent" | "skill" | "mcpServer" | "workflow" | "schedule";
3
3
  export interface UseDeleteResourceReturn {
4
4
  /**
5
5
  * Delete the resource. Resolves on success, rejects on failure.
@@ -1 +1 @@
1
- {"version":3,"file":"useDeleteResource.d.ts","sourceRoot":"","sources":["../../src/resource-detail/useDeleteResource.ts"],"names":[],"mappings":"AAOA,8DAA8D;AAC9D,MAAM,MAAM,qBAAqB,GAAG,OAAO,GAAG,OAAO,GAAG,WAAW,GAAG,UAAU,CAAC;AAEjF,MAAM,WAAW,uBAAuB;IACtC;;;OAGG;IACH,QAAQ,CAAC,cAAc,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7C,oDAAoD;IACpD,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B,iEAAiE;IACjE,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;CAC9B;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,qBAAqB,EAC3B,UAAU,EAAE,MAAM,GAAG,IAAI,EACzB,YAAY,CAAC,EAAE,MAAM,GACpB,uBAAuB,CA6CzB"}
1
+ {"version":3,"file":"useDeleteResource.d.ts","sourceRoot":"","sources":["../../src/resource-detail/useDeleteResource.ts"],"names":[],"mappings":"AAOA,8DAA8D;AAC9D,MAAM,MAAM,qBAAqB,GAC7B,OAAO,GACP,OAAO,GACP,WAAW,GACX,UAAU,GACV,UAAU,CAAC;AAEf,MAAM,WAAW,uBAAuB;IACtC;;;OAGG;IACH,QAAQ,CAAC,cAAc,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7C,oDAAoD;IACpD,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B,iEAAiE;IACjE,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;CAC9B;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,qBAAqB,EAC3B,UAAU,EAAE,MAAM,GAAG,IAAI,EACzB,YAAY,CAAC,EAAE,MAAM,GACpB,uBAAuB,CAgDzB"}
@@ -51,6 +51,9 @@ export function useDeleteResource(kind, resourceId, resourceName) {
51
51
  case "workflow":
52
52
  await stigmer.workflow.delete(resourceId);
53
53
  break;
54
+ case "schedule":
55
+ await stigmer.schedule.delete(resourceId);
56
+ break;
54
57
  }
55
58
  toast.success(resourceName
56
59
  ? `${resourceName} deleted`
@@ -78,6 +81,8 @@ function kindLabel(kind) {
78
81
  return "MCP server";
79
82
  case "workflow":
80
83
  return "workflow";
84
+ case "schedule":
85
+ return "schedule";
81
86
  }
82
87
  }
83
88
  //# sourceMappingURL=useDeleteResource.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useDeleteResource.js","sourceRoot":"","sources":["../../src/resource-detail/useDeleteResource.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAiB7C;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,UAAU,iBAAiB,CAC/B,IAA2B,EAC3B,UAAyB,EACzB,YAAqB;IAErB,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAC7B,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACpD,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAe,IAAI,CAAC,CAAC;IAEvD,MAAM,cAAc,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;QAC5C,IAAI,CAAC,UAAU;YAAE,OAAO;QAExB,aAAa,CAAC,IAAI,CAAC,CAAC;QACpB,QAAQ,CAAC,IAAI,CAAC,CAAC;QAEf,IAAI,CAAC;YACH,QAAQ,IAAI,EAAE,CAAC;gBACb,KAAK,OAAO;oBACV,MAAM,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;oBACvC,MAAM;gBACR,KAAK,OAAO;oBACV,MAAM,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;oBACvC,MAAM;gBACR,KAAK,WAAW;oBACd,MAAM,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC;oBAC/C,MAAM;gBACR,KAAK,UAAU;oBACb,MAAM,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;oBAC1C,MAAM;YACV,CAAC;YACD,KAAK,CAAC,OAAO,CACX,YAAY;gBACV,CAAC,CAAC,GAAG,YAAY,UAAU;gBAC3B,CAAC,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,UAAU,CACjC,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;YAC7B,QAAQ,CAAC,OAAO,CAAC,CAAC;YAClB,KAAK,CAAC,KAAK,CAAC,oBAAoB,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACnD,MAAM,OAAO,CAAC;QAChB,CAAC;gBAAS,CAAC;YACT,aAAa,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC;IACH,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC,CAAC;IAE9C,OAAO,OAAO,CACZ,GAAG,EAAE,CAAC,CAAC,EAAE,cAAc,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,EAC7C,CAAC,cAAc,EAAE,UAAU,EAAE,KAAK,CAAC,CACpC,CAAC;AACJ,CAAC;AAED,SAAS,SAAS,CAAC,IAA2B;IAC5C,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,OAAO;YACV,OAAO,OAAO,CAAC;QACjB,KAAK,OAAO;YACV,OAAO,OAAO,CAAC;QACjB,KAAK,WAAW;YACd,OAAO,YAAY,CAAC;QACtB,KAAK,UAAU;YACb,OAAO,UAAU,CAAC;IACtB,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"useDeleteResource.js","sourceRoot":"","sources":["../../src/resource-detail/useDeleteResource.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAsB7C;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,UAAU,iBAAiB,CAC/B,IAA2B,EAC3B,UAAyB,EACzB,YAAqB;IAErB,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAC7B,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACpD,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAe,IAAI,CAAC,CAAC;IAEvD,MAAM,cAAc,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;QAC5C,IAAI,CAAC,UAAU;YAAE,OAAO;QAExB,aAAa,CAAC,IAAI,CAAC,CAAC;QACpB,QAAQ,CAAC,IAAI,CAAC,CAAC;QAEf,IAAI,CAAC;YACH,QAAQ,IAAI,EAAE,CAAC;gBACb,KAAK,OAAO;oBACV,MAAM,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;oBACvC,MAAM;gBACR,KAAK,OAAO;oBACV,MAAM,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;oBACvC,MAAM;gBACR,KAAK,WAAW;oBACd,MAAM,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC;oBAC/C,MAAM;gBACR,KAAK,UAAU;oBACb,MAAM,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;oBAC1C,MAAM;gBACR,KAAK,UAAU;oBACb,MAAM,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;oBAC1C,MAAM;YACV,CAAC;YACD,KAAK,CAAC,OAAO,CACX,YAAY;gBACV,CAAC,CAAC,GAAG,YAAY,UAAU;gBAC3B,CAAC,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,UAAU,CACjC,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;YAC7B,QAAQ,CAAC,OAAO,CAAC,CAAC;YAClB,KAAK,CAAC,KAAK,CAAC,oBAAoB,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACnD,MAAM,OAAO,CAAC;QAChB,CAAC;gBAAS,CAAC;YACT,aAAa,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC;IACH,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC,CAAC;IAE9C,OAAO,OAAO,CACZ,GAAG,EAAE,CAAC,CAAC,EAAE,cAAc,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,EAC7C,CAAC,cAAc,EAAE,UAAU,EAAE,KAAK,CAAC,CACpC,CAAC;AACJ,CAAC;AAED,SAAS,SAAS,CAAC,IAA2B;IAC5C,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,OAAO;YACV,OAAO,OAAO,CAAC;QACjB,KAAK,OAAO;YACV,OAAO,OAAO,CAAC;QACjB,KAAK,WAAW;YACd,OAAO,YAAY,CAAC;QACtB,KAAK,UAAU;YACb,OAAO,UAAU,CAAC;QACpB,KAAK,UAAU;YACb,OAAO,UAAU,CAAC;IACtB,CAAC;AACH,CAAC"}
@@ -98,6 +98,15 @@ export interface ResourceWorkbenchProps<TData = SearchResult> {
98
98
  * Accepts any ReactNode so consumers control routing and styling.
99
99
  */
100
100
  readonly headerAction?: ReactNode;
101
+ /**
102
+ * Whether the toolbar renders the text-search input. Set `false` for
103
+ * kinds whose list backend has no text search (e.g. schedules, which
104
+ * use the direct query instead of the search service) — a search box
105
+ * that silently matches nothing is worse than none (DD-006). Opt-in
106
+ * per DD-011: existing consumers keep the search box.
107
+ * @default true
108
+ */
109
+ readonly searchable?: boolean;
101
110
  /** Search input placeholder text. @default "Search\u2026" */
102
111
  readonly searchPlaceholder?: string;
103
112
  /** Accessible label for the workbench region. @default "Resource workbench" */
@@ -135,5 +144,5 @@ export interface ResourceWorkbenchProps<TData = SearchResult> {
135
144
  * />
136
145
  * ```
137
146
  */
138
- export declare function ResourceWorkbench<TData = SearchResult>({ listFn, org, columns, filterDefs, viewModes, defaultViewMode, viewModeStorageKey, renderCard, renderRow, renderItemAction, renderInspector, bulkActions, onItemClick, initialFilters, initialSort, initialQuery, scope: controlledScope, onScopeChange, onStateChange, enableSelection, getItemId, refetchToken, emptyIcon, emptyTitle, emptyDescription, emptyAction, onRetry, headerAction, searchPlaceholder, "aria-label": ariaLabel, className, }: ResourceWorkbenchProps<TData>): import("react/jsx-runtime").JSX.Element;
147
+ export declare function ResourceWorkbench<TData = SearchResult>({ listFn, org, columns, filterDefs, viewModes, defaultViewMode, viewModeStorageKey, renderCard, renderRow, renderItemAction, renderInspector, bulkActions, onItemClick, initialFilters, initialSort, initialQuery, scope: controlledScope, onScopeChange, onStateChange, enableSelection, getItemId, refetchToken, emptyIcon, emptyTitle, emptyDescription, emptyAction, onRetry, headerAction, searchable, searchPlaceholder, "aria-label": ariaLabel, className, }: ResourceWorkbenchProps<TData>): import("react/jsx-runtime").JSX.Element;
139
148
  //# sourceMappingURL=ResourceWorkbench.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ResourceWorkbench.d.ts","sourceRoot":"","sources":["../../../src/resource-workbench/components/ResourceWorkbench.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ResourceWorkbench.d.ts","sourceRoot":"","sources":["../../../src/resource-workbench/components/ResourceWorkbench.tsx"],"names":[],"mappings":"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"}
@@ -51,7 +51,7 @@ const DEBOUNCE_MS = 300;
51
51
  * />
52
52
  * ```
53
53
  */
54
- export function ResourceWorkbench({ listFn, org, columns = [], filterDefs = [], viewModes = ["table", "cards", "list"], defaultViewMode = "table", viewModeStorageKey, renderCard, renderRow, renderItemAction, renderInspector, bulkActions = [], onItemClick, initialFilters, initialSort, initialQuery, scope: controlledScope = "org", onScopeChange, onStateChange, enableSelection = false, getItemId = defaultGetId, refetchToken, emptyIcon, emptyTitle = "No resources found", emptyDescription = "Try adjusting your search or filters.", emptyAction, onRetry, headerAction, searchPlaceholder = "Search\u2026", "aria-label": ariaLabel = "Resource workbench", className, }) {
54
+ export function ResourceWorkbench({ listFn, org, columns = [], filterDefs = [], viewModes = ["table", "cards", "list"], defaultViewMode = "table", viewModeStorageKey, renderCard, renderRow, renderItemAction, renderInspector, bulkActions = [], onItemClick, initialFilters, initialSort, initialQuery, scope: controlledScope = "org", onScopeChange, onStateChange, enableSelection = false, getItemId = defaultGetId, refetchToken, emptyIcon, emptyTitle = "No resources found", emptyDescription = "Try adjusting your search or filters.", emptyAction, onRetry, headerAction, searchable = true, searchPlaceholder = "Search\u2026", "aria-label": ariaLabel = "Resource workbench", className, }) {
55
55
  // --- View preference ---------------------------------------------------
56
56
  const { viewMode, setViewMode } = useViewPreference(viewModeStorageKey, defaultViewMode);
57
57
  // --- Filter/sort/query state -------------------------------------------
@@ -81,6 +81,7 @@ export function ResourceWorkbench({ listFn, org, columns = [], filterDefs = [],
81
81
  onSortChange: filtersHook.setSort,
82
82
  columns: columns,
83
83
  enableSelection,
84
+ getItemId,
84
85
  refetchToken,
85
86
  });
86
87
  // --- Selection ---------------------------------------------------------
@@ -102,7 +103,10 @@ export function ResourceWorkbench({ listFn, org, columns = [], filterDefs = [],
102
103
  const showPagination = collection.totalPages > 1;
103
104
  // --- Selected IDs as Set for cards/list views --------------------------
104
105
  const selectedIdSet = selection.selectedIds;
105
- return (_jsxs("div", { "aria-label": ariaLabel, className: cn("flex flex-col gap-3", className), children: [_jsxs("div", { className: "flex flex-wrap items-center gap-2", children: [_jsxs("div", { className: "relative flex-1", children: [_jsx(SearchIcon, { className: "pointer-events-none absolute left-2.5 top-1/2 h-3.5 w-3.5 -translate-y-1/2 text-muted-foreground-subtle" }), _jsx("input", { type: "text", value: filtersHook.query, onChange: (e) => filtersHook.setQuery(e.target.value), placeholder: searchPlaceholder, "aria-label": searchPlaceholder, className: cn("w-full rounded-md border border-input bg-background py-1.5 pl-8 pr-3 text-sm", "placeholder:text-muted-foreground-subtle", "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring") })] }), onScopeChange && (_jsx(ScopeToggle, { value: controlledScope, onChange: onScopeChange })), viewModes.length > 1 && (_jsx(ViewSwitcher, { value: viewMode, onChange: setViewMode, modes: viewModes })), headerAction] }), _jsx(FilterBar, { filters: filtersHook.filters, filterDefs: filterDefs, onRemoveFilter: filtersHook.removeFilter, onClearAll: filtersHook.clearFilters }), _jsxs("div", { className: "flex min-h-0 flex-1", children: [_jsxs("div", { className: cn("min-w-0 flex-1", collection.isRefetching &&
106
+ return (_jsxs("div", { "aria-label": ariaLabel, className: cn("flex flex-col gap-3", className), children: [_jsxs("div", { className: "flex flex-wrap items-center gap-2", children: [searchable ? (_jsxs("div", { className: "relative flex-1", children: [_jsx(SearchIcon, { className: "pointer-events-none absolute left-2.5 top-1/2 h-3.5 w-3.5 -translate-y-1/2 text-muted-foreground-subtle" }), _jsx("input", { type: "text", value: filtersHook.query, onChange: (e) => filtersHook.setQuery(e.target.value), placeholder: searchPlaceholder, "aria-label": searchPlaceholder, className: cn("w-full rounded-md border border-input bg-background py-1.5 pl-8 pr-3 text-sm", "placeholder:text-muted-foreground-subtle", "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring") })] })) : (
107
+ // Spacer keeps the scope toggle / view switcher / header action
108
+ // right-aligned, matching the searchable layout.
109
+ _jsx("div", { className: "flex-1", "aria-hidden": "true" })), onScopeChange && (_jsx(ScopeToggle, { value: controlledScope, onChange: onScopeChange })), viewModes.length > 1 && (_jsx(ViewSwitcher, { value: viewMode, onChange: setViewMode, modes: viewModes })), headerAction] }), _jsx(FilterBar, { filters: filtersHook.filters, filterDefs: filterDefs, onRemoveFilter: filtersHook.removeFilter, onClearAll: filtersHook.clearFilters }), _jsxs("div", { className: "flex min-h-0 flex-1", children: [_jsxs("div", { className: cn("min-w-0 flex-1", collection.isRefetching &&
106
110
  "pointer-events-none opacity-60 transition-opacity"), children: [showSkeletons && _jsx(SkeletonPlaceholder, { viewMode: viewMode }), showError && (_jsx(EmptyState, { variant: "error", errorMessage: collection.error.message, action: onRetry
107
111
  ? { label: "Retry", onClick: onRetry ?? collection.refetch }
108
112
  : undefined })), showEmpty && (_jsx(EmptyState, { variant: filtersHook.hasActiveFilters || filtersHook.debouncedQuery
@@ -1 +1 @@
1
- {"version":3,"file":"ResourceWorkbench.js","sourceRoot":"","sources":["../../../src/resource-workbench/components/ResourceWorkbench.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ResourceWorkbench.js","sourceRoot":"","sources":["../../../src/resource-workbench/components/ResourceWorkbench.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAkB,MAAM,OAAO,CAAC;AAEtE,OAAO,EAAE,eAAe,EAAE,MAAM,qFAAqF,CAAC;AAEtH,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AASpC,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AACxE,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAkJ3D,8EAA8E;AAC9E,YAAY;AACZ,8EAA8E;AAE9E,MAAM,WAAW,GAAG,GAAG,CAAC;AAExB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,MAAM,UAAU,iBAAiB,CAAuB,EACtD,MAAM,EACN,GAAG,EACH,OAAO,GAAG,EAAE,EACZ,UAAU,GAAG,EAAE,EACf,SAAS,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,EACtC,eAAe,GAAG,OAAO,EACzB,kBAAkB,EAClB,UAAU,EACV,SAAS,EACT,gBAAgB,EAChB,eAAe,EACf,WAAW,GAAG,EAAE,EAChB,WAAW,EACX,cAAc,EACd,WAAW,EACX,YAAY,EACZ,KAAK,EAAE,eAAe,GAAG,KAAK,EAC9B,aAAa,EACb,aAAa,EACb,eAAe,GAAG,KAAK,EACvB,SAAS,GAAG,YAAuC,EACnD,YAAY,EACZ,SAAS,EACT,UAAU,GAAG,oBAAoB,EACjC,gBAAgB,GAAG,uCAAuC,EAC1D,WAAW,EACX,OAAO,EACP,YAAY,EACZ,UAAU,GAAG,IAAI,EACjB,iBAAiB,GAAG,cAAc,EAClC,YAAY,EAAE,SAAS,GAAG,oBAAoB,EAC9C,SAAS,GACqB;IAC9B,0EAA0E;IAC1E,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,iBAAiB,CACjD,kBAAkB,EAClB,eAAe,CAChB,CAAC;IAEF,0EAA0E;IAC1E,MAAM,WAAW,GAAG,kBAAkB,CAAC;QACrC,UAAU;QACV,cAAc;QACd,WAAW;QACX,YAAY;QACZ,aAAa;QACb,eAAe,EAAE,WAAW;KAC7B,CAAC,CAAC;IAEH,0EAA0E;IAC1E,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IACpC,MAAM,YAAY,GAAG,MAAM,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;IACxD,IAAI,YAAY,CAAC,OAAO,KAAK,WAAW,CAAC,cAAc,EAAE,CAAC;QACxD,YAAY,CAAC,OAAO,GAAG,WAAW,CAAC,cAAc,CAAC;QAClD,OAAO,CAAC,CAAC,CAAC,CAAC;IACb,CAAC;IAED,0EAA0E;IAC1E,MAAM,UAAU,GAAG,qBAAqB,CAAQ;QAC9C,MAAM,EAAE,MAA8D;QACtE,GAAG;QACH,KAAK,EAAE,WAAW,CAAC,cAAc;QACjC,KAAK,EAAE,eAAe;QACtB,IAAI;QACJ,IAAI,EAAE,WAAW,CAAC,IAAI;QACtB,YAAY,EAAE,WAAW,CAAC,OAAO;QACjC,OAAO,EAAE,OAAsC;QAC/C,eAAe;QACf,SAAS;QACT,YAAY;KACb,CAAC,CAAC;IAEH,0EAA0E;IAC1E,MAAM,SAAS,GAAG,oBAAoB,CAAC,UAAU,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IAEpE,0EAA0E;IAC1E,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAAe,IAAI,CAAC,CAAC;IACvE,MAAM,gBAAgB,GAAG,CAAC,CAAC,eAAe,CAAC;IAE3C,MAAM,eAAe,GAAG,WAAW,CACjC,CAAC,IAAW,EAAE,EAAE;QACd,IAAI,gBAAgB,EAAE,CAAC;YACrB,gBAAgB,CAAC,IAAI,CAAC,CAAC;QACzB,CAAC;QACD,WAAW,EAAE,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC,EACD,CAAC,gBAAgB,EAAE,WAAW,CAAC,CAChC,CAAC;IAEF,0EAA0E;IAC1E,MAAM,aAAa,GAAG,UAAU,CAAC,SAAS,IAAI,UAAU,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC;IAC5E,MAAM,SAAS,GAAG,CAAC,CAAC,UAAU,CAAC,KAAK,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC;IAC9D,MAAM,SAAS,GACb,CAAC,UAAU,CAAC,SAAS,IAAI,CAAC,UAAU,CAAC,KAAK,IAAI,UAAU,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC;IAC9E,MAAM,WAAW,GAAG,UAAU,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;IAChD,MAAM,cAAc,GAAG,UAAU,CAAC,UAAU,GAAG,CAAC,CAAC;IAEjD,0EAA0E;IAC1E,MAAM,aAAa,GAAG,SAAS,CAAC,WAAW,CAAC;IAE5C,OAAO,CACL,6BACc,SAAS,EACrB,SAAS,EAAE,EAAE,CAAC,qBAAqB,EAAE,SAAS,CAAC,aAG/C,eAAK,SAAS,EAAC,mCAAmC,aAC/C,UAAU,CAAC,CAAC,CAAC,CACZ,eAAK,SAAS,EAAC,iBAAiB,aAC9B,KAAC,UAAU,IAAC,SAAS,EAAC,yGAAyG,GAAG,EAClI,gBACE,IAAI,EAAC,MAAM,EACX,KAAK,EAAE,WAAW,CAAC,KAAK,EACxB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EACrD,WAAW,EAAE,iBAAiB,gBAClB,iBAAiB,EAC7B,SAAS,EAAE,EAAE,CACX,8EAA8E,EAC9E,0CAA0C,EAC1C,yEAAyE,CAC1E,GACD,IACE,CACP,CAAC,CAAC,CAAC;oBACF,gEAAgE;oBAChE,iDAAiD;oBACjD,cAAK,SAAS,EAAC,QAAQ,iBAAa,MAAM,GAAG,CAC9C,EACA,aAAa,IAAI,CAChB,KAAC,WAAW,IAAC,KAAK,EAAE,eAAe,EAAE,QAAQ,EAAE,aAAa,GAAI,CACjE,EACA,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,CACvB,KAAC,YAAY,IACX,KAAK,EAAE,QAAQ,EACf,QAAQ,EAAE,WAAW,EACrB,KAAK,EAAE,SAAS,GAChB,CACH,EACA,YAAY,IACT,EAGN,KAAC,SAAS,IACR,OAAO,EAAE,WAAW,CAAC,OAAO,EAC5B,UAAU,EAAE,UAAU,EACtB,cAAc,EAAE,WAAW,CAAC,YAAY,EACxC,UAAU,EAAE,WAAW,CAAC,YAAY,GACpC,EAGF,eAAK,SAAS,EAAC,qBAAqB,aAClC,eACE,SAAS,EAAE,EAAE,CACX,gBAAgB,EAChB,UAAU,CAAC,YAAY;4BACrB,mDAAmD,CACtD,aAEA,aAAa,IAAI,KAAC,mBAAmB,IAAC,QAAQ,EAAE,QAAQ,GAAI,EAE5D,SAAS,IAAI,CACZ,KAAC,UAAU,IACT,OAAO,EAAC,OAAO,EACf,YAAY,EAAE,UAAU,CAAC,KAAM,CAAC,OAAO,EACvC,MAAM,EACJ,OAAO;oCACL,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,IAAI,UAAU,CAAC,OAAO,EAAE;oCAC5D,CAAC,CAAC,SAAS,GAEf,CACH,EAEA,SAAS,IAAI,CACZ,KAAC,UAAU,IACT,OAAO,EACL,WAAW,CAAC,gBAAgB,IAAI,WAAW,CAAC,cAAc;oCACxD,CAAC,CAAC,cAAc;oCAChB,CAAC,CAAC,WAAW,EAEjB,IAAI,EAAE,SAAS,EACf,KAAK,EACH,WAAW,CAAC,gBAAgB,IAAI,WAAW,CAAC,cAAc;oCACxD,CAAC,CAAC,+BAA+B;oCACjC,CAAC,CAAC,UAAU,EAEhB,WAAW,EACT,WAAW,CAAC,gBAAgB,IAAI,WAAW,CAAC,cAAc;oCACxD,CAAC,CAAC,qDAAqD;oCACvD,CAAC,CAAC,gBAAgB,EAEtB,MAAM,EACJ,WAAW,CAAC,gBAAgB;oCAC1B,CAAC,CAAC;wCACE,KAAK,EAAE,eAAe;wCACtB,OAAO,EAAE,WAAW,CAAC,YAAY;qCAClC;oCACH,CAAC,CAAC,SAAS,YAGd,CAAC,WAAW,CAAC,gBAAgB,IAAI,CAAC,WAAW,CAAC,cAAc;oCAC3D,CAAC,CAAC,WAAW;oCACb,CAAC,CAAC,SAAS,GACF,CACd,EAEA,WAAW,IAAI,QAAQ,KAAK,OAAO,IAAI,UAAU,CAAC,KAAK,IAAI,CAC1D,KAAC,aAAa,IACZ,KAAK,EAAE,UAAU,CAAC,KAAK,EACvB,eAAe,EAAE,eAAe,EAChC,eAAe,EAAE,gBAAgB,EACjC,UAAU,EAAE,eAAe,GAC3B,CACH,EAEA,WAAW,IAAI,QAAQ,KAAK,OAAO,IAAI,CACtC,KAAC,aAAa,IACZ,KAAK,EAAE,UAAU,CAAC,KAAK,EACvB,UAAU,EACR,UAAU;oCACV,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAC,kBAAkB,IAAC,IAAI,EAAE,IAA+B,GAAI,CAAC,EAE3E,eAAe,EAAE,eAAe,EAChC,WAAW,EAAE,aAAa,EAC1B,iBAAiB,EAAE,SAAS,CAAC,UAAU,EACvC,SAAS,EAAE,SAAS,EACpB,gBAAgB,EAAE,gBAAgB,EAClC,WAAW,EAAE,eAAe,GAC5B,CACH,EAEA,WAAW,IAAI,QAAQ,KAAK,MAAM,IAAI,CACrC,KAAC,YAAY,IACX,KAAK,EAAE,UAAU,CAAC,KAAK,EACvB,SAAS,EACP,SAAS;oCACT,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAC,iBAAiB,IAAC,IAAI,EAAE,IAA+B,GAAI,CAAC,EAE1E,eAAe,EAAE,eAAe,EAChC,WAAW,EAAE,aAAa,EAC1B,iBAAiB,EAAE,SAAS,CAAC,UAAU,EACvC,SAAS,EAAE,SAAS,EACpB,eAAe,EAAE,gBAAgB,EACjC,UAAU,EAAE,eAAe,GAC3B,CACH,EAEA,cAAc,IAAI,CACjB,KAAC,aAAa,IACZ,WAAW,EAAE,UAAU,CAAC,WAAW,EACnC,UAAU,EAAE,UAAU,CAAC,UAAU,EACjC,UAAU,EAAE,UAAU,CAAC,UAAU,EACjC,YAAY,EAAE,OAAO,GACrB,CACH,IACG,EAGL,gBAAgB,IAAI,CACnB,KAAC,iBAAiB,IAChB,IAAI,EAAE,aAAa,KAAK,IAAI,EAC5B,OAAO,EAAE,GAAG,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,YAEpC,aAAa,IAAI,eAAgB,CAAC,aAAa,CAAC,GAC/B,CACrB,IACG,EAGL,eAAe,IAAI,SAAS,CAAC,YAAY,IAAI,CAC5C,KAAC,aAAa,IACZ,aAAa,EAAE,SAAS,CAAC,aAAa,EACtC,aAAa,EAAE,SAAS,CAAC,aAAa,EACtC,OAAO,EAAE,WAAW,EACpB,QAAQ,EAAE,SAAS,CAAC,cAAc,GAClC,CACH,IACG,CACP,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,mBAAmB;AACnB,8EAA8E;AAE9E,SAAS,YAAY,CAAC,IAAa;IACjC,MAAM,CAAC,GAAG,IAA+B,CAAC;IAC1C,IAAI,OAAO,CAAC,CAAC,EAAE,KAAK,QAAQ;QAAE,OAAO,CAAC,CAAC,EAAE,CAAC;IAC1C,IAAI,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ;QAAE,OAAO,CAAC,CAAC,IAAI,CAAC;IAC9C,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,SAAS,kBAAkB,CAAC,EAAE,IAAI,EAAmC;IACnE,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,KAAK,eAAe,CAAC,KAAK,CAAC;IACpD,OAAO,CACL,eAAK,SAAS,EAAC,wBAAwB,aACrC,KAAC,cAAc,IACb,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,EAC5B,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,SAAS,EAClC,MAAM,EAAE,OAAO,GACf,EACF,eAAK,SAAS,EAAC,gBAAgB,aAC7B,eAAM,SAAS,EAAC,qCAAqC,YAClD,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,GAClB,EACN,IAAI,CAAC,GAAG,IAAI,CACX,YAAG,SAAS,EAAC,+BAA+B,YAAE,IAAI,CAAC,GAAG,GAAK,CAC5D,EACA,IAAI,CAAC,WAAW,IAAI,CACnB,YAAG,SAAS,EAAC,mDAAmD,YAC7D,IAAI,CAAC,WAAW,GACf,CACL,IACG,IACF,CACP,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,EAAE,IAAI,EAAmC;IAClE,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,KAAK,eAAe,CAAC,KAAK,CAAC;IACpD,OAAO,CACL,eAAK,SAAS,EAAC,yBAAyB,aACtC,KAAC,cAAc,IACb,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,EAC5B,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,SAAS,EAClC,MAAM,EAAE,OAAO,EACf,IAAI,EAAC,IAAI,GACT,EACF,eAAM,SAAS,EAAC,qCAAqC,YAClD,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,GAClB,EACN,IAAI,CAAC,GAAG,IAAI,CACX,eAAM,SAAS,EAAC,+BAA+B,YAAE,IAAI,CAAC,GAAG,GAAQ,CAClE,EACA,IAAI,CAAC,WAAW,IAAI,CACnB,8BACE,eAAM,SAAS,EAAC,8BAA8B,iBAAa,MAAM,YAC9D,QAAQ,GACJ,EACP,eAAM,SAAS,EAAC,wCAAwC,YACrD,IAAI,CAAC,WAAW,GACZ,IACN,CACJ,IACG,CACP,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,uBAAuB;AACvB,8EAA8E;AAE9E,SAAS,mBAAmB,CAAC,EAC3B,QAAQ,GAGT;IACC,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;QACzB,OAAO,CACL,cACE,SAAS,EAAC,sDAAsD,eACtD,MAAM,YAEf,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CACnC,eAEE,SAAS,EAAC,iEAAiE,iBAC/D,MAAM,aAElB,cAAK,SAAS,EAAC,0CAA0C,GAAG,EAC5D,cAAK,SAAS,EAAC,0CAA0C,GAAG,EAC5D,cAAK,SAAS,EAAC,2CAA2C,GAAG,KANxD,CAAC,CAOF,CACP,CAAC,GACE,CACP,CAAC;IACJ,CAAC;IAED,OAAO,CACL,2BAAe,MAAM,YAClB,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CACnC,eAEE,SAAS,EAAC,qCAAqC,iBACnC,MAAM,aAElB,cAAK,SAAS,EAAC,iDAAiD,GAAG,EACnE,eAAK,SAAS,EAAC,kBAAkB,aAC/B,cACE,SAAS,EAAC,oCAAoC,EAC9C,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GACzC,EACF,cACE,SAAS,EAAC,oCAAoC,EAC9C,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GACzC,IACE,KAdD,CAAC,CAeF,CACP,CAAC,GACE,CACP,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,aAAa;AACb,8EAA8E;AAE9E,SAAS,aAAa,CAAC,EACrB,WAAW,EACX,UAAU,EACV,UAAU,EACV,YAAY,GAMb;IACC,MAAM,WAAW,GAAG,EAAE,CACpB,2CAA2C,EAC3C,mDAAmD,EACnD,8CAA8C,EAC9C,yEAAyE,EACzE,kDAAkD,CACnD,CAAC;IAEF,OAAO,CACL,6BACa,YAAY,EACvB,SAAS,EAAC,+DAA+D,aAEzE,gBAAM,SAAS,EAAC,+BAA+B,aAC5C,UAAU,CAAC,cAAc,EAAE,EAAE,GAAG,EAChC,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,IACnC,EACP,eAAK,SAAS,EAAC,yBAAyB,aACtC,iBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,WAAW,GAAG,CAAC,CAAC,EAC5C,QAAQ,EAAE,WAAW,IAAI,CAAC,gBACf,eAAe,EAC1B,SAAS,EAAE,WAAW,YAEtB,KAAC,eAAe,KAAG,GACZ,EACT,gBAAM,SAAS,EAAC,+BAA+B,sBACvC,WAAW,UAAM,UAAU,IAC5B,EACP,iBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,WAAW,GAAG,CAAC,CAAC,EAC5C,QAAQ,EAAE,WAAW,IAAI,UAAU,gBACxB,WAAW,EACtB,SAAS,EAAE,WAAW,YAEtB,KAAC,gBAAgB,KAAG,GACb,IACL,IACF,CACP,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,QAAQ;AACR,8EAA8E;AAE9E,SAAS,UAAU,CAAC,EAAE,SAAS,EAAmC;IAChE,OAAO,CACL,eACE,SAAS,EAAE,SAAS,EACpB,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,MAAM,EACX,MAAM,EAAC,cAAc,EACrB,WAAW,EAAC,KAAK,EACjB,aAAa,EAAC,OAAO,EACrB,cAAc,EAAC,OAAO,iBACV,MAAM,aAElB,iBAAQ,EAAE,EAAC,KAAK,EAAC,EAAE,EAAC,KAAK,EAAC,CAAC,EAAC,KAAK,GAAG,EACpC,eAAM,CAAC,EAAC,YAAY,GAAG,IACnB,CACP,CAAC;AACJ,CAAC;AAED,SAAS,eAAe;IACtB,OAAO,CACL,cACE,SAAS,EAAC,aAAa,EACvB,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,MAAM,EACX,MAAM,EAAC,cAAc,EACrB,WAAW,EAAC,KAAK,EACjB,aAAa,EAAC,OAAO,EACrB,cAAc,EAAC,OAAO,iBACV,MAAM,YAElB,eAAM,CAAC,EAAC,eAAe,GAAG,GACtB,CACP,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB;IACvB,OAAO,CACL,cACE,SAAS,EAAC,aAAa,EACvB,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,MAAM,EACX,MAAM,EAAC,cAAc,EACrB,WAAW,EAAC,KAAK,EACjB,aAAa,EAAC,OAAO,EACrB,cAAc,EAAC,OAAO,iBACV,MAAM,YAElB,eAAM,CAAC,EAAC,cAAc,GAAG,GACrB,CACP,CAAC;AACJ,CAAC"}
@@ -36,6 +36,14 @@ export interface UseResourceCollectionOptions<TData = SearchResult> {
36
36
  readonly columns?: readonly WorkbenchColumnDef<TData>[];
37
37
  /** Enable row selection state tracking. @default false */
38
38
  readonly enableSelection?: boolean;
39
+ /**
40
+ * Extracts a stable unique ID from an item, used as the TanStack row
41
+ * id. Provide it whenever the row type does not carry a top-level
42
+ * `id` (e.g. full resource protos, where the id lives at
43
+ * `metadata.id`). When omitted, falls back to `SearchResult.id`, then
44
+ * the row index.
45
+ */
46
+ readonly getItemId?: (item: TData) => string;
39
47
  /**
40
48
  * Opaque token that forces a background refetch whenever its value
41
49
  * changes. Use it to re-read the list after an out-of-band mutation
@@ -1 +1 @@
1
- {"version":3,"file":"useResourceCollection.d.ts","sourceRoot":"","sources":["../../../src/resource-workbench/hooks/useResourceCollection.ts"],"names":[],"mappings":"AAGA,OAAO,EAML,KAAK,iBAAiB,EACtB,KAAK,KAAK,EACX,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4CAA4C,CAAC;AAC/E,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE3D,OAAO,KAAK,EACV,kBAAkB,EAClB,SAAS,EAEV,MAAM,aAAa,CAAC;AAMrB,iDAAiD;AACjD,MAAM,WAAW,4BAA4B,CAAC,KAAK,GAAG,YAAY;IAChE;;;;OAIG;IACH,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,UAAU,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC,GAAG,IAAI,CAAC;IACtE,6EAA6E;IAC7E,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,kFAAkF;IAClF,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB;;;;;OAKG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC;IAC/B,kDAAkD;IAClD,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,6BAA6B;IAC7B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,8EAA8E;IAC9E,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC;IACjC,uEAAuE;IACvE,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI,KAAK,IAAI,CAAC;IACzD;;;OAGG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC;IACxD,0DAA0D;IAC1D,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,CAAC;IACnC;;;;;;;OAOG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC;CACjC;AAMD,qDAAqD;AACrD,MAAM,WAAW,2BAA2B,CAAC,KAAK,GAAG,YAAY;IAC/D,mDAAmD;IACnD,QAAQ,CAAC,KAAK,EAAE,SAAS,KAAK,EAAE,CAAC;IACjC,uDAAuD;IACvD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,6BAA6B;IAC7B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,+CAA+C;IAC/C,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,0DAA0D;IAC1D,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,oEAAoE;IACpE,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAC/B,mDAAmD;IACnD,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IAC7B,sCAAsC;IACtC,QAAQ,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC;IAC7B;;;;OAIG;IACH,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;IACpC,yDAAyD;IACzD,QAAQ,CAAC,YAAY,EAAE,iBAAiB,CAAC;IACzC,2CAA2C;IAC3C,QAAQ,CAAC,eAAe,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC,CAAC;CACnF;AAoBD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,GAAG,YAAY,EACxD,OAAO,EAAE,4BAA4B,CAAC,KAAK,CAAC,GAC3C,2BAA2B,CAAC,KAAK,CAAC,CA2HpC"}
1
+ {"version":3,"file":"useResourceCollection.d.ts","sourceRoot":"","sources":["../../../src/resource-workbench/hooks/useResourceCollection.ts"],"names":[],"mappings":"AAGA,OAAO,EAML,KAAK,iBAAiB,EACtB,KAAK,KAAK,EACX,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4CAA4C,CAAC;AAC/E,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE3D,OAAO,KAAK,EACV,kBAAkB,EAClB,SAAS,EAEV,MAAM,aAAa,CAAC;AAMrB,iDAAiD;AACjD,MAAM,WAAW,4BAA4B,CAAC,KAAK,GAAG,YAAY;IAChE;;;;OAIG;IACH,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,UAAU,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC,GAAG,IAAI,CAAC;IACtE,6EAA6E;IAC7E,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,kFAAkF;IAClF,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB;;;;;OAKG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC;IAC/B,kDAAkD;IAClD,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,6BAA6B;IAC7B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,8EAA8E;IAC9E,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC;IACjC,uEAAuE;IACvE,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI,KAAK,IAAI,CAAC;IACzD;;;OAGG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC;IACxD,0DAA0D;IAC1D,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,CAAC;IACnC;;;;;;OAMG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,KAAK,MAAM,CAAC;IAC7C;;;;;;;OAOG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC;CACjC;AAMD,qDAAqD;AACrD,MAAM,WAAW,2BAA2B,CAAC,KAAK,GAAG,YAAY;IAC/D,mDAAmD;IACnD,QAAQ,CAAC,KAAK,EAAE,SAAS,KAAK,EAAE,CAAC;IACjC,uDAAuD;IACvD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,6BAA6B;IAC7B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,+CAA+C;IAC/C,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,0DAA0D;IAC1D,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,oEAAoE;IACpE,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAC/B,mDAAmD;IACnD,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IAC7B,sCAAsC;IACtC,QAAQ,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC;IAC7B;;;;OAIG;IACH,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;IACpC,yDAAyD;IACzD,QAAQ,CAAC,YAAY,EAAE,iBAAiB,CAAC;IACzC,2CAA2C;IAC3C,QAAQ,CAAC,eAAe,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC,CAAC;CACnF;AAoBD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,GAAG,YAAY,EACxD,OAAO,EAAE,4BAA4B,CAAC,KAAK,CAAC,GAC3C,2BAA2B,CAAC,KAAK,CAAC,CA6HpC"}
@@ -35,7 +35,7 @@ const INITIAL_DATA = {
35
35
  * ```
36
36
  */
37
37
  export function useResourceCollection(options) {
38
- const { listFn, org, query = "", scope = "org", page = 1, pageSize = DEFAULT_PAGE_SIZE, sort = null, onSortChange, columns = [], enableSelection = false, refetchToken, } = options;
38
+ const { listFn, org, query = "", scope = "org", page = 1, pageSize = DEFAULT_PAGE_SIZE, sort = null, onSortChange, columns = [], enableSelection = false, getItemId, refetchToken, } = options;
39
39
  // --- Data fetching via useFetch -----------------------------------------
40
40
  const { data, isLoading, isRefetching, error, refetch } = useFetch(listFn && org
41
41
  ? async () => {
@@ -110,7 +110,7 @@ export function useResourceCollection(options) {
110
110
  onRowSelectionChange: enableSelection ? setRowSelection : undefined,
111
111
  getCoreRowModel: getCoreRowModel(),
112
112
  getSortedRowModel: getSortedRowModel(),
113
- getRowId: (row) => row.id ?? String(items.indexOf(row)),
113
+ getRowId: (row, index) => getItemId?.(row) || row.id || String(index),
114
114
  manualPagination: true,
115
115
  manualSorting: true,
116
116
  enableRowSelection: enableSelection,
@@ -1 +1 @@
1
- {"version":3,"file":"useResourceCollection.js","sourceRoot":"","sources":["../../../src/resource-workbench/hooks/useResourceCollection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useResourceCollection.js","sourceRoot":"","sources":["../../../src/resource-workbench/hooks/useResourceCollection.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ import { type CadencePreset } from "./cadence.js";
2
+ /** Props for {@link CadenceField}. */
3
+ export interface CadenceFieldProps {
4
+ /** The current cadence. */
5
+ readonly value: CadencePreset;
6
+ /** Called with the new cadence on every edit. */
7
+ readonly onChange: (preset: CadencePreset) => void;
8
+ /** Time zone name, echoed into the summary line. */
9
+ readonly timeZone?: string;
10
+ /** Prevents interaction when `true`. */
11
+ readonly disabled?: boolean;
12
+ }
13
+ /**
14
+ * Human-friendly cadence builder for schedules.
15
+ *
16
+ * Presents preset cadences (hourly / daily / weekly / monthly) with
17
+ * plain time-and-day inputs, generating the 5-field cron expression by
18
+ * construction — the user never writes cron unless they choose the
19
+ * Custom escape hatch, where the raw expression is validated instantly
20
+ * with the platform's own lexical rules ({@link validateCron}).
21
+ *
22
+ * A live plain-English summary ({@link describeCadence}) always states
23
+ * what was chosen. It describes the preset, not a computed fire-time
24
+ * forecast — the authoritative next fire time is published by the
25
+ * server as `status.next_fire_at` after apply.
26
+ *
27
+ * Controlled component over {@link CadencePreset}; convert to the spec
28
+ * string with {@link cadenceToCron} at submit time.
29
+ */
30
+ export declare function CadenceField({ value, onChange, timeZone, disabled, }: CadenceFieldProps): import("react/jsx-runtime").JSX.Element;
31
+ //# sourceMappingURL=CadenceField.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CadenceField.d.ts","sourceRoot":"","sources":["../../src/schedule/CadenceField.tsx"],"names":[],"mappings":"AAIA,OAAO,EAOL,KAAK,aAAa,EACnB,MAAM,cAAc,CAAC;AAEtB,sCAAsC;AACtC,MAAM,WAAW,iBAAiB;IAChC,2BAA2B;IAC3B,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC;IAC9B,iDAAiD;IACjD,QAAQ,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,aAAa,KAAK,IAAI,CAAC;IACnD,oDAAoD;IACpD,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,wCAAwC;IACxC,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;CAC7B;AAUD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,YAAY,CAAC,EAC3B,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,QAAQ,GACT,EAAE,iBAAiB,2CAkOnB"}
@@ -0,0 +1,116 @@
1
+ "use client";
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { useCallback, useId } from "react";
4
+ import { cn } from "@stigmer/theme";
5
+ import { cadenceToCron, describeCadence, formatTime, validateCron, WEEKDAY_LABELS, } from "./cadence.js";
6
+ const KIND_OPTIONS = [
7
+ { kind: "hourly", label: "Hourly" },
8
+ { kind: "daily", label: "Daily" },
9
+ { kind: "weekly", label: "Weekly" },
10
+ { kind: "monthly", label: "Monthly" },
11
+ { kind: "custom", label: "Custom cron" },
12
+ ];
13
+ /**
14
+ * Human-friendly cadence builder for schedules.
15
+ *
16
+ * Presents preset cadences (hourly / daily / weekly / monthly) with
17
+ * plain time-and-day inputs, generating the 5-field cron expression by
18
+ * construction — the user never writes cron unless they choose the
19
+ * Custom escape hatch, where the raw expression is validated instantly
20
+ * with the platform's own lexical rules ({@link validateCron}).
21
+ *
22
+ * A live plain-English summary ({@link describeCadence}) always states
23
+ * what was chosen. It describes the preset, not a computed fire-time
24
+ * forecast — the authoritative next fire time is published by the
25
+ * server as `status.next_fire_at` after apply.
26
+ *
27
+ * Controlled component over {@link CadencePreset}; convert to the spec
28
+ * string with {@link cadenceToCron} at submit time.
29
+ */
30
+ export function CadenceField({ value, onChange, timeZone, disabled, }) {
31
+ const groupId = useId();
32
+ const switchKind = useCallback((kind) => {
33
+ if (kind === value.kind)
34
+ return;
35
+ onChange(presetForKind(kind, value));
36
+ }, [value, onChange]);
37
+ const cronError = value.kind === "custom" && value.cron.trim() !== ""
38
+ ? validateCron(value.cron.trim())
39
+ : null;
40
+ return (_jsxs("div", { className: "space-y-2", children: [_jsx("div", { role: "radiogroup", "aria-label": "Cadence", "aria-disabled": disabled || undefined, className: cn("inline-flex flex-wrap rounded-md bg-muted p-0.5", disabled && "pointer-events-none opacity-50"), children: KIND_OPTIONS.map((option) => {
41
+ const isSelected = value.kind === option.kind;
42
+ return (_jsx("button", { type: "button", role: "radio", "aria-checked": isSelected, tabIndex: isSelected ? 0 : -1, disabled: disabled, onClick: () => switchKind(option.kind), onKeyDown: (e) => {
43
+ if (e.key === "ArrowRight" || e.key === "ArrowLeft") {
44
+ e.preventDefault();
45
+ const idx = KIND_OPTIONS.findIndex((o) => o.kind === value.kind);
46
+ const delta = e.key === "ArrowRight" ? 1 : -1;
47
+ const next = KIND_OPTIONS[(idx + delta + KIND_OPTIONS.length) % KIND_OPTIONS.length];
48
+ switchKind(next.kind);
49
+ }
50
+ }, className: cn("inline-flex cursor-pointer items-center rounded-sm px-2.5 py-1 text-xs font-medium transition-colors", "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring", isSelected
51
+ ? "bg-background text-foreground shadow-sm"
52
+ : "text-muted-foreground hover:text-foreground"), children: option.label }, option.kind));
53
+ }) }), value.kind === "hourly" && (_jsxs("div", { className: "flex items-center gap-2 text-xs text-foreground", children: [_jsx("label", { htmlFor: `${groupId}-minute`, children: "At minute" }), _jsx("input", { id: `${groupId}-minute`, type: "number", min: 0, max: 59, value: value.minute, onChange: (e) => onChange({
54
+ kind: "hourly",
55
+ minute: clampInt(e.target.value, 0, 59, value.minute),
56
+ }), disabled: disabled, className: numberInputClasses })] })), value.kind === "daily" && (_jsx(TimeInput, { id: `${groupId}-time`, hour: value.hour, minute: value.minute, disabled: disabled, onChange: (hour, minute) => onChange({ kind: "daily", hour, minute }) })), value.kind === "weekly" && (_jsxs("div", { className: "space-y-2", children: [_jsx("div", { role: "group", "aria-label": "Days of week", className: "flex flex-wrap gap-1", children: WEEKDAY_LABELS.map((label, day) => {
57
+ const isOn = value.days.includes(day);
58
+ // The last selected day cannot be removed — a weekly
59
+ // schedule with zero days is not expressible in cron.
60
+ const isLastSelected = isOn && value.days.length === 1;
61
+ return (_jsx("button", { type: "button", "aria-pressed": isOn, "aria-label": label, title: label, disabled: disabled || isLastSelected, onClick: () => onChange({
62
+ ...value,
63
+ days: isOn
64
+ ? value.days.filter((d) => d !== day)
65
+ : [...value.days, day].sort((a, b) => a - b),
66
+ }), className: cn("inline-flex h-7 w-9 items-center justify-center rounded-md border text-xs font-medium transition-colors", "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring", "disabled:pointer-events-none", isOn
67
+ ? "border-primary bg-primary text-primary-foreground"
68
+ : "border-input bg-background text-muted-foreground hover:text-foreground", isLastSelected && "opacity-70"), children: label.slice(0, 3) }, label));
69
+ }) }), _jsx(TimeInput, { id: `${groupId}-time`, hour: value.hour, minute: value.minute, disabled: disabled, onChange: (hour, minute) => onChange({ ...value, hour, minute }) })] })), value.kind === "monthly" && (_jsxs("div", { className: "space-y-2", children: [_jsxs("div", { className: "flex items-center gap-2 text-xs text-foreground", children: [_jsx("label", { htmlFor: `${groupId}-day`, children: "On day" }), _jsx("input", { id: `${groupId}-day`, type: "number", min: 1, max: 31, value: value.day, onChange: (e) => onChange({
70
+ ...value,
71
+ day: clampInt(e.target.value, 1, 31, value.day),
72
+ }), disabled: disabled, className: numberInputClasses }), _jsx("span", { className: "text-muted-foreground", children: "of every month" })] }), value.day >= 29 && (_jsxs("p", { className: "text-[0.65rem] text-muted-foreground", children: ["Months without day ", value.day, " are skipped \u2014 February never fires a day-", value.day, " schedule", value.day === 29 ? " except in leap years" : "", "."] })), _jsx(TimeInput, { id: `${groupId}-time`, hour: value.hour, minute: value.minute, disabled: disabled, onChange: (hour, minute) => onChange({ ...value, hour, minute }) })] })), value.kind === "custom" && (_jsxs("div", { className: "space-y-1", children: [_jsx("input", { type: "text", "aria-label": "Cron expression", placeholder: "e.g. 0 9 * * MON-FRI", value: value.cron, onChange: (e) => onChange({ kind: "custom", cron: e.target.value }), disabled: disabled, className: cn("w-full rounded-md border border-input bg-background px-2.5 py-1.5 font-mono text-xs text-foreground", "placeholder:font-sans placeholder:text-muted-foreground", "focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring", "disabled:pointer-events-none disabled:opacity-50", cronError && "border-destructive") }), cronError ? (_jsx("p", { className: "text-[0.65rem] text-destructive", role: "alert", children: cronError })) : (_jsx("p", { className: "text-[0.65rem] text-muted-foreground", children: "5 fields (minute hour day-of-month month day-of-week) or @hourly, @daily, @weekly, @monthly, @yearly." }))] })), !(value.kind === "custom" && (cronError || value.cron.trim() === "")) && (_jsx("p", { className: "text-xs text-muted-foreground", "data-testid": "cadence-summary", children: describeCadence(value, timeZone) }))] }));
73
+ }
74
+ // ---------------------------------------------------------------------------
75
+ // Private helpers
76
+ // ---------------------------------------------------------------------------
77
+ const numberInputClasses = cn("w-16 rounded-md border border-input bg-background px-2 py-1 text-xs text-foreground", "focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring", "disabled:pointer-events-none disabled:opacity-50");
78
+ function TimeInput({ id, hour, minute, disabled, onChange, }) {
79
+ return (_jsxs("div", { className: "flex items-center gap-2 text-xs text-foreground", children: [_jsx("label", { htmlFor: id, children: "At" }), _jsx("input", { id: id, type: "time", value: formatTime(hour, minute), onChange: (e) => {
80
+ const [h, m] = e.target.value.split(":").map(Number);
81
+ if (Number.isInteger(h) && Number.isInteger(m))
82
+ onChange(h, m);
83
+ }, disabled: disabled, className: cn("rounded-md border border-input bg-background px-2 py-1 text-xs text-foreground", "focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring", "disabled:pointer-events-none disabled:opacity-50") })] }));
84
+ }
85
+ /**
86
+ * Next preset when the user switches kind, carrying the time of day
87
+ * across so "Daily at 09:30" → Weekly keeps 09:30. Switching to Custom
88
+ * prefills the generated cron from the outgoing preset — the escape
89
+ * hatch starts from what the user already built, not a blank box.
90
+ */
91
+ function presetForKind(kind, previous) {
92
+ const hour = "hour" in previous ? previous.hour : 9;
93
+ const minute = "minute" in previous ? previous.minute : 0;
94
+ switch (kind) {
95
+ case "hourly":
96
+ return { kind, minute };
97
+ case "daily":
98
+ return { kind, hour, minute };
99
+ case "weekly":
100
+ return { kind, days: [1], hour, minute };
101
+ case "monthly":
102
+ return { kind, day: 1, hour, minute };
103
+ case "custom":
104
+ return {
105
+ kind,
106
+ cron: previous.kind === "custom" ? previous.cron : cadenceToCron(previous),
107
+ };
108
+ }
109
+ }
110
+ function clampInt(raw, min, max, fallback) {
111
+ const n = Number(raw);
112
+ if (!Number.isInteger(n))
113
+ return fallback;
114
+ return Math.min(max, Math.max(min, n));
115
+ }
116
+ //# sourceMappingURL=CadenceField.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CadenceField.js","sourceRoot":"","sources":["../../src/schedule/CadenceField.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,81 @@
1
+ import type { Schedule } from "@stigmer/protos/ai/stigmer/agentic/schedule/v1/api_pb";
2
+ import type { AdditionalTab } from "../resource-detail/types.js";
3
+ /** Props for {@link ScheduleDetailView}. */
4
+ export interface ScheduleDetailViewProps {
5
+ /** Organization slug. */
6
+ readonly org: string;
7
+ /** Schedule slug. */
8
+ readonly slug: string;
9
+ /**
10
+ * Called when the user activates the target-agent reference.
11
+ * Navigation is the consumer's concern (DD-004) — the Console pushes
12
+ * a Library route; an embedding host does whatever fits.
13
+ */
14
+ readonly onNavigateToAgent?: (org: string, slug: string) => void;
15
+ /**
16
+ * Called when the user activates an execution reference (`aex_…`),
17
+ * from the status row or a run-history row. When omitted, ids render
18
+ * as plain text.
19
+ */
20
+ readonly onNavigateToExecution?: (executionId: string) => void;
21
+ /** Called after a successful delete (navigate back to the list). */
22
+ readonly onDeleted?: () => void;
23
+ /** Called when the schedule loads or reloads (e.g. breadcrumb label sync). */
24
+ readonly onResourceLoad?: (schedule: Schedule) => void;
25
+ /**
26
+ * Enable inline editing of the schedule's mutable spec fields
27
+ * (cadence, message, environments, engine & model, budget). Each
28
+ * field saves independently via a lossless full-resource re-apply
29
+ * ({@link useUpdateScheduleSpec}). The server-immutable fields —
30
+ * slug, target agent, target type — never gain an edit affordance;
31
+ * workspace edits go through Edit YAML for now.
32
+ * @default false
33
+ */
34
+ readonly editable?: boolean;
35
+ /** Consumer-provided extension tabs, appended after the built-ins. */
36
+ readonly additionalTabs?: readonly AdditionalTab[];
37
+ /** Controlled active tab (pair with `onTabChange`). */
38
+ readonly activeTab?: string;
39
+ /** Controlled tab change handler (pair with `activeTab`). */
40
+ readonly onTabChange?: (tabId: string) => void;
41
+ /** Initial tab in uncontrolled mode. @default "overview" */
42
+ readonly defaultTab?: string;
43
+ /**
44
+ * The instant "next fire" countdowns and run timestamps are computed
45
+ * against. Injectable for deterministic tests and Scenar fixtures.
46
+ * @default new Date() at render
47
+ */
48
+ readonly now?: Date;
49
+ /** Additional CSS classes for the root container. */
50
+ readonly className?: string;
51
+ }
52
+ /**
53
+ * Self-contained detail view for a Schedule (stigmer/stigmer#352),
54
+ * split into an Overview tab (definition + status + recent runs) and a
55
+ * Runs tab (the full paginated fire ledger).
56
+ *
57
+ * The view's one non-negotiable is rendering the two stop-levers
58
+ * distinctly, each with its inline remedy:
59
+ *
60
+ * - **Disabled** (owner's `spec.enabled` switch) — banner with an
61
+ * Enable action (a lossless full-proto re-apply).
62
+ * - **Paused** (platform's failure-streak latch,
63
+ * `status.paused_reason`) — banner showing the reason with a Resume
64
+ * action (the one path that clears the pause).
65
+ *
66
+ * Trigger ("Run now") starts a real, billable execution and is gated
67
+ * behind a confirmation; it is disabled while the schedule cannot fire
68
+ * (the banner names the remedy). With `editable`, the mutable spec
69
+ * fields edit inline; Edit YAML, Export, and Delete round out the
70
+ * action set.
71
+ *
72
+ * Handles loading, error, and not-found states automatically.
73
+ * Zero Console dependencies — safe for platform builder embedding.
74
+ * All visual properties flow through `--stgm-*` design tokens.
75
+ */
76
+ export declare function ScheduleDetailView({ org, slug, onNavigateToAgent, onNavigateToExecution, onDeleted, onResourceLoad, editable, additionalTabs, activeTab, onTabChange, defaultTab, now, className, }: ScheduleDetailViewProps): import("react/jsx-runtime").JSX.Element;
77
+ /** Clock-with-arrow icon shared by the schedule views. */
78
+ export declare function ScheduleIcon({ className }: {
79
+ readonly className?: string;
80
+ }): import("react/jsx-runtime").JSX.Element;
81
+ //# sourceMappingURL=ScheduleDetailView.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ScheduleDetailView.d.ts","sourceRoot":"","sources":["../../src/schedule/ScheduleDetailView.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uDAAuD,CAAC;AAiBtF,OAAO,KAAK,EACV,aAAa,EAGd,MAAM,6BAA6B,CAAC;AA+CrC,4CAA4C;AAC5C,MAAM,WAAW,uBAAuB;IACtC,yBAAyB;IACzB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,qBAAqB;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB;;;;OAIG;IACH,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACjE;;;;OAIG;IACH,QAAQ,CAAC,qBAAqB,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/D,oEAAoE;IACpE,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IAChC,8EAA8E;IAC9E,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,KAAK,IAAI,CAAC;IACvD;;;;;;;;OAQG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,sEAAsE;IACtE,QAAQ,CAAC,cAAc,CAAC,EAAE,SAAS,aAAa,EAAE,CAAC;IACnD,uDAAuD;IACvD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,6DAA6D;IAC7D,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/C,4DAA4D;IAC5D,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B;;;;OAIG;IACH,QAAQ,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC;IACpB,qDAAqD;IACrD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAYD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,kBAAkB,CAAC,EACjC,GAAG,EACH,IAAI,EACJ,iBAAiB,EACjB,qBAAqB,EACrB,SAAS,EACT,cAAc,EACd,QAAgB,EAChB,cAAc,EACd,SAAS,EACT,WAAW,EACX,UAAU,EACV,GAAG,EACH,SAAS,GACV,EAAE,uBAAuB,2CA4kBzB;AAkzBD,0DAA0D;AAC1D,wBAAgB,YAAY,CAAC,EAAE,SAAS,EAAE,EAAE;IAAE,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,2CAiB1E"}