@flanksource/clicky-ui 0.3.29 → 0.3.30

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 (224) hide show
  1. package/dist/ai.cjs +48 -3
  2. package/dist/ai.cjs.map +1 -1
  3. package/dist/ai.js +46 -1
  4. package/dist/ai.js.map +1 -1
  5. package/dist/components/DateField.d.ts +1 -1
  6. package/dist/components/DatePicker.d.ts +1 -1
  7. package/dist/components/DateTimePicker.d.ts +1 -1
  8. package/dist/components/mdx-editor-callout-model.d.ts +1 -1
  9. package/dist/data/MarkdownEditor.model.d.ts +1 -1
  10. package/dist/data/ai/ChatWindow.catalogs.cjs +11 -5
  11. package/dist/data/ai/ChatWindow.catalogs.cjs.map +1 -1
  12. package/dist/data/ai/ChatWindow.catalogs.d.ts +2 -1
  13. package/dist/data/ai/ChatWindow.catalogs.d.ts.map +1 -1
  14. package/dist/data/ai/ChatWindow.catalogs.js +11 -5
  15. package/dist/data/ai/ChatWindow.catalogs.js.map +1 -1
  16. package/dist/data/ai/ChatWindow.cjs +1 -0
  17. package/dist/data/ai/ChatWindow.cjs.map +1 -1
  18. package/dist/data/ai/ChatWindow.d.ts.map +1 -1
  19. package/dist/data/ai/ChatWindow.js +1 -0
  20. package/dist/data/ai/ChatWindow.js.map +1 -1
  21. package/dist/data/ai/PromptRunEditor/VariablesField.cjs +79 -0
  22. package/dist/data/ai/PromptRunEditor/VariablesField.cjs.map +1 -0
  23. package/dist/data/ai/PromptRunEditor/VariablesField.d.ts +8 -0
  24. package/dist/data/ai/PromptRunEditor/VariablesField.d.ts.map +1 -0
  25. package/dist/data/ai/PromptRunEditor/VariablesField.js +79 -0
  26. package/dist/data/ai/PromptRunEditor/VariablesField.js.map +1 -0
  27. package/dist/data/ai/PromptRunEditor/index.cjs +61 -69
  28. package/dist/data/ai/PromptRunEditor/index.cjs.map +1 -1
  29. package/dist/data/ai/PromptRunEditor/index.d.ts +11 -1
  30. package/dist/data/ai/PromptRunEditor/index.d.ts.map +1 -1
  31. package/dist/data/ai/PromptRunEditor/index.js +61 -69
  32. package/dist/data/ai/PromptRunEditor/index.js.map +1 -1
  33. package/dist/data/ai/PromptRunEditor/model.cjs.map +1 -1
  34. package/dist/data/ai/PromptRunEditor/model.d.ts +2 -0
  35. package/dist/data/ai/PromptRunEditor/model.d.ts.map +1 -1
  36. package/dist/data/ai/PromptRunEditor/model.js.map +1 -1
  37. package/dist/data/ai/SpecRuntimeEditor/ModelSection.cjs +4 -3
  38. package/dist/data/ai/SpecRuntimeEditor/ModelSection.cjs.map +1 -1
  39. package/dist/data/ai/SpecRuntimeEditor/ModelSection.d.ts.map +1 -1
  40. package/dist/data/ai/SpecRuntimeEditor/ModelSection.js +2 -1
  41. package/dist/data/ai/SpecRuntimeEditor/ModelSection.js.map +1 -1
  42. package/dist/data/ai/SpecRuntimeEditor/PermissionModeField.cjs +2 -2
  43. package/dist/data/ai/SpecRuntimeEditor/PermissionModeField.cjs.map +1 -1
  44. package/dist/data/ai/SpecRuntimeEditor/PermissionModeField.js +1 -1
  45. package/dist/data/ai/SpecRuntimeEditor/index.cjs +4 -3
  46. package/dist/data/ai/SpecRuntimeEditor/index.cjs.map +1 -1
  47. package/dist/data/ai/SpecRuntimeEditor/index.d.ts.map +1 -1
  48. package/dist/data/ai/SpecRuntimeEditor/index.js +2 -1
  49. package/dist/data/ai/SpecRuntimeEditor/index.js.map +1 -1
  50. package/dist/data/ai/index.d.ts +3 -2
  51. package/dist/data/ai/index.d.ts.map +1 -1
  52. package/dist/data/ai/runtime-profile.cjs.map +1 -1
  53. package/dist/data/ai/runtime-profile.d.ts +9 -7
  54. package/dist/data/ai/runtime-profile.d.ts.map +1 -1
  55. package/dist/data/ai/runtime-profile.js.map +1 -1
  56. package/dist/data/ai/runtime-profiles/OrderedPresetSelect.cjs +111 -0
  57. package/dist/data/ai/runtime-profiles/OrderedPresetSelect.cjs.map +1 -0
  58. package/dist/data/ai/runtime-profiles/OrderedPresetSelect.d.ts +7 -0
  59. package/dist/data/ai/runtime-profiles/OrderedPresetSelect.d.ts.map +1 -0
  60. package/dist/data/ai/runtime-profiles/OrderedPresetSelect.js +111 -0
  61. package/dist/data/ai/runtime-profiles/OrderedPresetSelect.js.map +1 -0
  62. package/dist/data/ai/runtime-profiles/PermissionStrategiesEditor.cjs +313 -0
  63. package/dist/data/ai/runtime-profiles/PermissionStrategiesEditor.cjs.map +1 -0
  64. package/dist/data/ai/runtime-profiles/PermissionStrategiesEditor.d.ts +8 -0
  65. package/dist/data/ai/runtime-profiles/PermissionStrategiesEditor.d.ts.map +1 -0
  66. package/dist/data/ai/runtime-profiles/PermissionStrategiesEditor.js +313 -0
  67. package/dist/data/ai/runtime-profiles/PermissionStrategiesEditor.js.map +1 -0
  68. package/dist/data/ai/runtime-profiles/PermissionStrategyConditionRow.cjs +98 -0
  69. package/dist/data/ai/runtime-profiles/PermissionStrategyConditionRow.cjs.map +1 -0
  70. package/dist/data/ai/runtime-profiles/PermissionStrategyConditionRow.d.ts +11 -0
  71. package/dist/data/ai/runtime-profiles/PermissionStrategyConditionRow.d.ts.map +1 -0
  72. package/dist/data/ai/runtime-profiles/PermissionStrategyConditionRow.js +98 -0
  73. package/dist/data/ai/runtime-profiles/PermissionStrategyConditionRow.js.map +1 -0
  74. package/dist/data/ai/runtime-profiles/PresetSpecEditor.cjs +35 -0
  75. package/dist/data/ai/runtime-profiles/PresetSpecEditor.cjs.map +1 -0
  76. package/dist/data/ai/runtime-profiles/PresetSpecEditor.d.ts +11 -0
  77. package/dist/data/ai/runtime-profiles/PresetSpecEditor.d.ts.map +1 -0
  78. package/dist/data/ai/runtime-profiles/PresetSpecEditor.js +35 -0
  79. package/dist/data/ai/runtime-profiles/PresetSpecEditor.js.map +1 -0
  80. package/dist/data/ai/runtime-profiles/PresetWorkspace.cjs +179 -0
  81. package/dist/data/ai/runtime-profiles/PresetWorkspace.cjs.map +1 -0
  82. package/dist/data/ai/runtime-profiles/PresetWorkspace.d.ts +22 -0
  83. package/dist/data/ai/runtime-profiles/PresetWorkspace.d.ts.map +1 -0
  84. package/dist/data/ai/runtime-profiles/PresetWorkspace.js +179 -0
  85. package/dist/data/ai/runtime-profiles/PresetWorkspace.js.map +1 -0
  86. package/dist/data/ai/runtime-profiles/ProfileSpecEditor.cjs +57 -0
  87. package/dist/data/ai/runtime-profiles/ProfileSpecEditor.cjs.map +1 -0
  88. package/dist/data/ai/runtime-profiles/ProfileSpecEditor.d.ts +18 -0
  89. package/dist/data/ai/runtime-profiles/ProfileSpecEditor.d.ts.map +1 -0
  90. package/dist/data/ai/runtime-profiles/ProfileSpecEditor.js +57 -0
  91. package/dist/data/ai/runtime-profiles/ProfileSpecEditor.js.map +1 -0
  92. package/dist/data/ai/runtime-profiles/ProfileWorkspace.cjs +135 -0
  93. package/dist/data/ai/runtime-profiles/ProfileWorkspace.cjs.map +1 -0
  94. package/dist/data/ai/runtime-profiles/ProfileWorkspace.d.ts +23 -0
  95. package/dist/data/ai/runtime-profiles/ProfileWorkspace.d.ts.map +1 -0
  96. package/dist/data/ai/runtime-profiles/ProfileWorkspace.js +135 -0
  97. package/dist/data/ai/runtime-profiles/ProfileWorkspace.js.map +1 -0
  98. package/dist/data/ai/runtime-profiles/ResolutionInspector.cjs +85 -0
  99. package/dist/data/ai/runtime-profiles/ResolutionInspector.cjs.map +1 -0
  100. package/dist/data/ai/runtime-profiles/ResolutionInspector.d.ts +7 -0
  101. package/dist/data/ai/runtime-profiles/ResolutionInspector.d.ts.map +1 -0
  102. package/dist/data/ai/runtime-profiles/ResolutionInspector.js +85 -0
  103. package/dist/data/ai/runtime-profiles/ResolutionInspector.js.map +1 -0
  104. package/dist/data/ai/runtime-profiles/ResolutionTrace.cjs +42 -0
  105. package/dist/data/ai/runtime-profiles/ResolutionTrace.cjs.map +1 -0
  106. package/dist/data/ai/runtime-profiles/ResolutionTrace.d.ts +6 -0
  107. package/dist/data/ai/runtime-profiles/ResolutionTrace.d.ts.map +1 -0
  108. package/dist/data/ai/runtime-profiles/ResolutionTrace.js +42 -0
  109. package/dist/data/ai/runtime-profiles/ResolutionTrace.js.map +1 -0
  110. package/dist/data/ai/runtime-profiles/RuntimeLibraryList.cjs +93 -0
  111. package/dist/data/ai/runtime-profiles/RuntimeLibraryList.cjs.map +1 -0
  112. package/dist/data/ai/runtime-profiles/RuntimeLibraryList.d.ts +18 -0
  113. package/dist/data/ai/runtime-profiles/RuntimeLibraryList.d.ts.map +1 -0
  114. package/dist/data/ai/runtime-profiles/RuntimeLibraryList.js +93 -0
  115. package/dist/data/ai/runtime-profiles/RuntimeLibraryList.js.map +1 -0
  116. package/dist/data/ai/runtime-profiles/RuntimePersistenceBar.cjs +44 -0
  117. package/dist/data/ai/runtime-profiles/RuntimePersistenceBar.cjs.map +1 -0
  118. package/dist/data/ai/runtime-profiles/RuntimePersistenceBar.d.ts +6 -0
  119. package/dist/data/ai/runtime-profiles/RuntimePersistenceBar.d.ts.map +1 -0
  120. package/dist/data/ai/runtime-profiles/RuntimePersistenceBar.js +44 -0
  121. package/dist/data/ai/runtime-profiles/RuntimePersistenceBar.js.map +1 -0
  122. package/dist/data/ai/runtime-profiles/RuntimeProfilePicker.cjs +198 -0
  123. package/dist/data/ai/runtime-profiles/RuntimeProfilePicker.cjs.map +1 -0
  124. package/dist/data/ai/runtime-profiles/RuntimeProfilePicker.d.ts +12 -0
  125. package/dist/data/ai/runtime-profiles/RuntimeProfilePicker.d.ts.map +1 -0
  126. package/dist/data/ai/runtime-profiles/RuntimeProfilePicker.js +198 -0
  127. package/dist/data/ai/runtime-profiles/RuntimeProfilePicker.js.map +1 -0
  128. package/dist/data/ai/runtime-profiles/RuntimeProfilePicker.model.cjs +97 -0
  129. package/dist/data/ai/runtime-profiles/RuntimeProfilePicker.model.cjs.map +1 -0
  130. package/dist/data/ai/runtime-profiles/RuntimeProfilePicker.model.d.ts +26 -0
  131. package/dist/data/ai/runtime-profiles/RuntimeProfilePicker.model.d.ts.map +1 -0
  132. package/dist/data/ai/runtime-profiles/RuntimeProfilePicker.model.js +97 -0
  133. package/dist/data/ai/runtime-profiles/RuntimeProfilePicker.model.js.map +1 -0
  134. package/dist/data/ai/runtime-profiles/RuntimeProfilesWorkspace.cjs +143 -0
  135. package/dist/data/ai/runtime-profiles/RuntimeProfilesWorkspace.cjs.map +1 -0
  136. package/dist/data/ai/runtime-profiles/RuntimeProfilesWorkspace.d.ts +25 -0
  137. package/dist/data/ai/runtime-profiles/RuntimeProfilesWorkspace.d.ts.map +1 -0
  138. package/dist/data/ai/runtime-profiles/RuntimeProfilesWorkspace.js +143 -0
  139. package/dist/data/ai/runtime-profiles/RuntimeProfilesWorkspace.js.map +1 -0
  140. package/dist/data/ai/runtime-profiles/RuntimeStatusNotice.cjs +41 -0
  141. package/dist/data/ai/runtime-profiles/RuntimeStatusNotice.cjs.map +1 -0
  142. package/dist/data/ai/runtime-profiles/RuntimeStatusNotice.d.ts +8 -0
  143. package/dist/data/ai/runtime-profiles/RuntimeStatusNotice.d.ts.map +1 -0
  144. package/dist/data/ai/runtime-profiles/RuntimeStatusNotice.js +41 -0
  145. package/dist/data/ai/runtime-profiles/RuntimeStatusNotice.js.map +1 -0
  146. package/dist/data/ai/runtime-profiles/index.d.ts +20 -0
  147. package/dist/data/ai/runtime-profiles/index.d.ts.map +1 -0
  148. package/dist/data/ai/runtime-profiles/types.d.ts +50 -0
  149. package/dist/data/ai/runtime-profiles/types.d.ts.map +1 -0
  150. package/dist/data/ai/runtime-profiles/use-permission-catalog.cjs +37 -0
  151. package/dist/data/ai/runtime-profiles/use-permission-catalog.cjs.map +1 -0
  152. package/dist/data/ai/runtime-profiles/use-permission-catalog.d.ts +5 -0
  153. package/dist/data/ai/runtime-profiles/use-permission-catalog.d.ts.map +1 -0
  154. package/dist/data/ai/runtime-profiles/use-permission-catalog.js +37 -0
  155. package/dist/data/ai/runtime-profiles/use-permission-catalog.js.map +1 -0
  156. package/dist/data/ai/runtime-profiles/use-resolution.cjs +43 -0
  157. package/dist/data/ai/runtime-profiles/use-resolution.cjs.map +1 -0
  158. package/dist/data/ai/runtime-profiles/use-resolution.d.ts +4 -0
  159. package/dist/data/ai/runtime-profiles/use-resolution.d.ts.map +1 -0
  160. package/dist/data/ai/runtime-profiles/use-resolution.js +43 -0
  161. package/dist/data/ai/runtime-profiles/use-resolution.js.map +1 -0
  162. package/dist/data/ai/runtime-profiles/use-runtime-families.cjs +38 -0
  163. package/dist/data/ai/runtime-profiles/use-runtime-families.cjs.map +1 -0
  164. package/dist/data/ai/runtime-profiles/use-runtime-families.d.ts +3 -0
  165. package/dist/data/ai/runtime-profiles/use-runtime-families.d.ts.map +1 -0
  166. package/dist/data/ai/runtime-profiles/use-runtime-families.js +38 -0
  167. package/dist/data/ai/runtime-profiles/use-runtime-families.js.map +1 -0
  168. package/dist/data/ai/runtime-profiles/use-runtime-profile-picker.cjs +107 -0
  169. package/dist/data/ai/runtime-profiles/use-runtime-profile-picker.cjs.map +1 -0
  170. package/dist/data/ai/runtime-profiles/use-runtime-profile-picker.d.ts +35 -0
  171. package/dist/data/ai/runtime-profiles/use-runtime-profile-picker.d.ts.map +1 -0
  172. package/dist/data/ai/runtime-profiles/use-runtime-profile-picker.js +107 -0
  173. package/dist/data/ai/runtime-profiles/use-runtime-profile-picker.js.map +1 -0
  174. package/dist/data/ai/use-session-scroll.cjs.map +1 -1
  175. package/dist/data/ai/use-session-scroll.d.ts +2 -2
  176. package/dist/data/ai/use-session-scroll.d.ts.map +1 -1
  177. package/dist/data/ai/use-session-scroll.js.map +1 -1
  178. package/dist/data/badge-variants.d.ts +1 -1
  179. package/dist/data/runtime/RuntimeBar.cjs +3 -2
  180. package/dist/data/runtime/RuntimeBar.cjs.map +1 -1
  181. package/dist/data/runtime/RuntimeBar.d.ts.map +1 -1
  182. package/dist/data/runtime/RuntimeBar.js +3 -2
  183. package/dist/data/runtime/RuntimeBar.js.map +1 -1
  184. package/dist/data/runtime/runtime-field-support.cjs +3 -3
  185. package/dist/data/runtime/runtime-field-support.cjs.map +1 -1
  186. package/dist/data/runtime/runtime-field-support.js +1 -1
  187. package/dist/data/runtime/runtime-mode.cjs +14 -47
  188. package/dist/data/runtime/runtime-mode.cjs.map +1 -1
  189. package/dist/data/runtime/runtime-mode.d.ts +5 -7
  190. package/dist/data/runtime/runtime-mode.d.ts.map +1 -1
  191. package/dist/data/runtime/runtime-mode.js +7 -39
  192. package/dist/data/runtime/runtime-mode.js.map +1 -1
  193. package/dist/data/version-info.cjs +3 -3
  194. package/dist/data/version-info.js +3 -3
  195. package/dist/index.cjs +52 -0
  196. package/dist/index.cjs.map +1 -1
  197. package/dist/index.js +52 -0
  198. package/dist/index.js.map +1 -1
  199. package/dist/lib/permission-strategies.cjs +155 -0
  200. package/dist/lib/permission-strategies.cjs.map +1 -0
  201. package/dist/lib/permission-strategies.d.ts +35 -0
  202. package/dist/lib/permission-strategies.d.ts.map +1 -0
  203. package/dist/lib/permission-strategies.js +155 -0
  204. package/dist/lib/permission-strategies.js.map +1 -0
  205. package/dist/lib/runtime-family.cjs +51 -0
  206. package/dist/lib/runtime-family.cjs.map +1 -0
  207. package/dist/lib/runtime-family.d.ts +25 -0
  208. package/dist/lib/runtime-family.d.ts.map +1 -0
  209. package/dist/lib/runtime-family.js +51 -0
  210. package/dist/lib/runtime-family.js.map +1 -0
  211. package/dist/lib/runtime-profile-model.cjs +129 -0
  212. package/dist/lib/runtime-profile-model.cjs.map +1 -0
  213. package/dist/lib/runtime-profile-model.d.ts +30 -0
  214. package/dist/lib/runtime-profile-model.d.ts.map +1 -0
  215. package/dist/lib/runtime-profile-model.js +129 -0
  216. package/dist/lib/runtime-profile-model.js.map +1 -0
  217. package/dist/styles.css +1 -1
  218. package/dist/utils.cjs +52 -0
  219. package/dist/utils.cjs.map +1 -1
  220. package/dist/utils.d.ts +5 -0
  221. package/dist/utils.d.ts.map +1 -1
  222. package/dist/utils.js +53 -1
  223. package/dist/utils.js.map +1 -1
  224. package/package.json +1 -1
package/dist/ai.cjs CHANGED
@@ -15,6 +15,12 @@ const ChatWindowManager = require("./data/ai/ChatWindowManager.cjs");
15
15
  const ToolPreferencesList = require("./data/ai/ToolPreferencesList.cjs");
16
16
  const ContextBadges = require("./data/ai/ContextBadges.cjs");
17
17
  const ContextMeter = require("./data/chat/ContextMeter.cjs");
18
+ const OrderedPresetSelect = require("./data/ai/runtime-profiles/OrderedPresetSelect.cjs");
19
+ const PermissionStrategiesEditor = require("./data/ai/runtime-profiles/PermissionStrategiesEditor.cjs");
20
+ const PresetSpecEditor = require("./data/ai/runtime-profiles/PresetSpecEditor.cjs");
21
+ const PresetWorkspace = require("./data/ai/runtime-profiles/PresetWorkspace.cjs");
22
+ const ProfileSpecEditor = require("./data/ai/runtime-profiles/ProfileSpecEditor.cjs");
23
+ const ProfileWorkspace = require("./data/ai/runtime-profiles/ProfileWorkspace.cjs");
18
24
  const PromptCatalogTable = require("./data/ai/PromptCatalog/PromptCatalogTable.cjs");
19
25
  const PromptLayerStrip = require("./data/ai/PromptCatalog/PromptLayerStrip.cjs");
20
26
  const PromptPage = require("./data/ai/PromptCatalog/PromptPage.cjs");
@@ -25,12 +31,19 @@ const PromptSourceBadge = require("./data/ai/PromptCatalog/PromptSourceBadge.cjs
25
31
  const PromptSourceRepair = require("./data/ai/PromptPicker/PromptSourceRepair.cjs");
26
32
  const ProviderStatusPanel = require("./data/runtime/ProviderStatusPanel.cjs");
27
33
  const runtimeProfile = require("./data/ai/runtime-profile.cjs");
34
+ const ResolutionInspector = require("./data/ai/runtime-profiles/ResolutionInspector.cjs");
35
+ const ResolutionTrace = require("./data/ai/runtime-profiles/ResolutionTrace.cjs");
28
36
  const RuntimeBar = require("./data/runtime/RuntimeBar.cjs");
37
+ const RuntimeLibraryList = require("./data/ai/runtime-profiles/RuntimeLibraryList.cjs");
29
38
  const RuntimeModePicker = require("./data/ai/RuntimeModePicker.cjs");
39
+ const RuntimeProfilePicker = require("./data/ai/runtime-profiles/RuntimeProfilePicker.cjs");
40
+ const RuntimeProfilesWorkspace = require("./data/ai/runtime-profiles/RuntimeProfilesWorkspace.cjs");
41
+ const RuntimeStatusNotice = require("./data/ai/runtime-profiles/RuntimeStatusNotice.cjs");
30
42
  const sessionTones = require("./data/ai/session-tones.cjs");
31
43
  const SpecRuntimeEditor_model = require("./data/ai/SpecRuntimeEditor.model.cjs");
32
44
  const SpecRuntimeEditor_sandboxModel = require("./data/ai/SpecRuntimeEditor.sandbox-model.cjs");
33
45
  const runtimeMode = require("./data/runtime/runtime-mode.cjs");
46
+ const runtimeFamily = require("./lib/runtime-family.cjs");
34
47
  const SandboxConnectionsSection = require("./data/ai/SandboxConnectionsSection.cjs");
35
48
  const SandboxCreateWizard = require("./data/ai/SandboxCreateWizard.cjs");
36
49
  const ToolSchemaBrowser = require("./data/ai/ToolSchemaBrowser.cjs");
@@ -42,6 +55,7 @@ const index$2 = require("./data/ai/SpecRuntimeEditor/index.cjs");
42
55
  const ThreadPicker = require("./data/ai/ThreadPicker.cjs");
43
56
  const ToolPreferences = require("./data/ai/ToolPreferences.cjs");
44
57
  const toolPolicy = require("./data/chat/tool-policy.cjs");
58
+ const runtimeProfileModel = require("./lib/runtime-profile-model.cjs");
45
59
  const SandboxCreateWizard_model = require("./data/ai/SandboxCreateWizard.model.cjs");
46
60
  const promptPageModel = require("./data/ai/PromptCatalog/prompt-page-model.cjs");
47
61
  const promptCatalogModel = require("./data/ai/PromptCatalog/prompt-catalog-model.cjs");
@@ -55,6 +69,10 @@ const context = require("./data/ai/context.cjs");
55
69
  const chatWindowContext = require("./data/ai/chat-window-context.cjs");
56
70
  const promptRuntime = require("./data/ai/PromptPicker/prompt-runtime.cjs");
57
71
  const SessionViewer_input = require("./data/ai/SessionViewer.input.cjs");
72
+ const useRuntimeFamilies = require("./data/ai/runtime-profiles/use-runtime-families.cjs");
73
+ const usePermissionCatalog = require("./data/ai/runtime-profiles/use-permission-catalog.cjs");
74
+ const useRuntimeProfilePicker = require("./data/ai/runtime-profiles/use-runtime-profile-picker.cjs");
75
+ const useResolution = require("./data/ai/runtime-profiles/use-resolution.cjs");
58
76
  exports.AGENT_RUNTIME_ICONS = agentActionIcons.AGENT_RUNTIME_ICONS;
59
77
  exports.APPROVAL_ICONS = agentActionIcons.APPROVAL_ICONS;
60
78
  exports.EFFORT_ICONS = agentActionIcons.EFFORT_ICONS;
@@ -86,6 +104,12 @@ exports.CompactToolPreferencesList = ToolPreferencesList.CompactToolPreferencesL
86
104
  exports.ContextBadges = ContextBadges.ContextBadges;
87
105
  exports.ContextBadgesReadonly = ContextBadges.ContextBadgesReadonly;
88
106
  exports.ContextMeter = ContextMeter.ContextMeter;
107
+ exports.OrderedPresetSelect = OrderedPresetSelect.OrderedPresetSelect;
108
+ exports.PermissionStrategiesEditor = PermissionStrategiesEditor.PermissionStrategiesEditor;
109
+ exports.PresetSpecEditor = PresetSpecEditor.PresetSpecEditor;
110
+ exports.PresetWorkspace = PresetWorkspace.PresetWorkspace;
111
+ exports.ProfileSpecEditor = ProfileSpecEditor.ProfileSpecEditor;
112
+ exports.ProfileWorkspace = ProfileWorkspace.ProfileWorkspace;
89
113
  exports.PromptCatalogTable = PromptCatalogTable.PromptCatalogTable;
90
114
  exports.PromptLayerStrip = PromptLayerStrip.PromptLayerStrip;
91
115
  exports.PromptPage = PromptPage.PromptPage;
@@ -99,8 +123,14 @@ exports.ProviderStatusPanel = ProviderStatusPanel.ProviderStatusPanel;
99
123
  exports.RUNTIME_PROFILE_SCOPES = runtimeProfile.RUNTIME_PROFILE_SCOPES;
100
124
  exports.assertRuntimePresetSpec = runtimeProfile.assertRuntimePresetSpec;
101
125
  exports.projectRuntimePresetSpec = runtimeProfile.projectRuntimePresetSpec;
126
+ exports.ResolutionInspector = ResolutionInspector.ResolutionInspector;
127
+ exports.ResolutionTrace = ResolutionTrace.ResolutionTrace;
102
128
  exports.RuntimeBar = RuntimeBar.RuntimeBar;
129
+ exports.RuntimeLibraryList = RuntimeLibraryList.RuntimeLibraryList;
103
130
  exports.RuntimeModePicker = RuntimeModePicker.RuntimeModePicker;
131
+ exports.RuntimeProfilePicker = RuntimeProfilePicker.RuntimeProfilePicker;
132
+ exports.RuntimeProfilesWorkspace = RuntimeProfilesWorkspace.RuntimeProfilesWorkspace;
133
+ exports.RuntimeStatusNotice = RuntimeStatusNotice.RuntimeStatusNotice;
104
134
  exports.SESSION_TONES = sessionTones.SESSION_TONES;
105
135
  exports.sessionTone = sessionTones.sessionTone;
106
136
  exports.SPEC_CHECKOUT_MODES = SpecRuntimeEditor_model.SPEC_CHECKOUT_MODES;
@@ -121,21 +151,22 @@ exports.normalizeResourcePolicies = SpecRuntimeEditor_model.normalizeResourcePol
121
151
  exports.normalizeToolPolicies = SpecRuntimeEditor_model.normalizeToolPolicies;
122
152
  exports.SPEC_PERMISSION_MODES = SpecRuntimeEditor_sandboxModel.SPEC_PERMISSION_MODES;
123
153
  exports.SPEC_RUNTIME_FAMILIES = runtimeMode.SPEC_RUNTIME_FAMILIES;
124
- exports.SPEC_RUNTIME_MODES = runtimeMode.SPEC_RUNTIME_MODES;
125
154
  exports.familiesFromRuntimeCatalog = runtimeMode.familiesFromRuntimeCatalog;
126
155
  exports.familyById = runtimeMode.familyById;
127
156
  exports.familyForMode = runtimeMode.familyForMode;
128
157
  exports.labelForMode = runtimeMode.labelForMode;
129
158
  exports.modeForFamily = runtimeMode.modeForFamily;
130
- exports.modeOptionFor = runtimeMode.modeOptionFor;
131
159
  exports.modelBelongsToFamily = runtimeMode.modelBelongsToFamily;
132
160
  exports.modelsForFamily = runtimeMode.modelsForFamily;
133
161
  exports.runtimeModeError = runtimeMode.runtimeModeError;
134
- exports.runtimeModeFromModel = runtimeMode.runtimeModeFromModel;
135
162
  exports.runtimeModeOptions = runtimeMode.runtimeModeOptions;
136
163
  exports.runtimeModelError = runtimeMode.runtimeModelError;
137
164
  exports.selectionForMode = runtimeMode.selectionForMode;
138
165
  exports.selectionForRuntime = runtimeMode.selectionForRuntime;
166
+ exports.SPEC_RUNTIME_MODES = runtimeFamily.SPEC_RUNTIME_MODES;
167
+ exports.familyForModel = runtimeFamily.familyForModel;
168
+ exports.modeOptionFor = runtimeFamily.modeOptionFor;
169
+ exports.runtimeModeFromModel = runtimeFamily.runtimeModeFromModel;
139
170
  exports.SandboxConnectionsSection = SandboxConnectionsSection.SandboxConnectionsSection;
140
171
  exports.SandboxCreateWizard = SandboxCreateWizard.SandboxCreateWizard;
141
172
  exports.SchemaBrowser = ToolSchemaBrowser.ToolSchemaBrowser;
@@ -152,6 +183,16 @@ exports.matchesTool = toolPolicy.matchesTool;
152
183
  exports.normalizeToolPolicyRules = toolPolicy.normalizeToolPolicyRules;
153
184
  exports.resolveToolPolicy = toolPolicy.resolveToolPolicy;
154
185
  exports.toolPolicyFromPreferences = toolPolicy.toolPolicyFromPreferences;
186
+ exports.authoredRuntimeSpec = runtimeProfileModel.authoredRuntimeSpec;
187
+ exports.duplicateName = runtimeProfileModel.duplicateName;
188
+ exports.mergeRuntimeSpec = runtimeProfileModel.mergeRuntimeSpec;
189
+ exports.nextNewName = runtimeProfileModel.nextNewName;
190
+ exports.permissionTarget = runtimeProfileModel.permissionTarget;
191
+ exports.presetForRef = runtimeProfileModel.presetForRef;
192
+ exports.presetsOf = runtimeProfileModel.presetsOf;
193
+ exports.referencedBy = runtimeProfileModel.referencedBy;
194
+ exports.reorderProfilePresets = runtimeProfileModel.reorderProfilePresets;
195
+ exports.uniqueName = runtimeProfileModel.uniqueName;
155
196
  exports.buildSandboxCreateInput = SandboxCreateWizard_model.buildSandboxCreateInput;
156
197
  exports.emptySandboxCreateDraft = SandboxCreateWizard_model.emptySandboxCreateDraft;
157
198
  exports.toggleSandboxCredential = SandboxCreateWizard_model.toggleSandboxCredential;
@@ -199,4 +240,8 @@ exports.questionsFromToolInput = SessionViewer_input.questionsFromToolInput;
199
240
  exports.summarizeToolInput = SessionViewer_input.summarizeToolInput;
200
241
  exports.toolDiff = SessionViewer_input.toolDiff;
201
242
  exports.toolInputParams = SessionViewer_input.toolInputParams;
243
+ exports.useRuntimeFamilies = useRuntimeFamilies.useRuntimeFamilies;
244
+ exports.useRuntimePermissionCatalog = usePermissionCatalog.useRuntimePermissionCatalog;
245
+ exports.useRuntimeProfilePicker = useRuntimeProfilePicker.useRuntimeProfilePicker;
246
+ exports.useRuntimeProfileResolution = useResolution.useRuntimeProfileResolution;
202
247
  //# sourceMappingURL=ai.cjs.map
package/dist/ai.cjs.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"ai.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"ai.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
package/dist/ai.js CHANGED
@@ -13,6 +13,12 @@ import { ChatWindowManagerProvider } from "./data/ai/ChatWindowManager.js";
13
13
  import { CompactToolPreferencesList } from "./data/ai/ToolPreferencesList.js";
14
14
  import { ContextBadges, ContextBadgesReadonly } from "./data/ai/ContextBadges.js";
15
15
  import { ContextMeter } from "./data/chat/ContextMeter.js";
16
+ import { OrderedPresetSelect } from "./data/ai/runtime-profiles/OrderedPresetSelect.js";
17
+ import { PermissionStrategiesEditor } from "./data/ai/runtime-profiles/PermissionStrategiesEditor.js";
18
+ import { PresetSpecEditor } from "./data/ai/runtime-profiles/PresetSpecEditor.js";
19
+ import { PresetWorkspace } from "./data/ai/runtime-profiles/PresetWorkspace.js";
20
+ import { ProfileSpecEditor } from "./data/ai/runtime-profiles/ProfileSpecEditor.js";
21
+ import { ProfileWorkspace } from "./data/ai/runtime-profiles/ProfileWorkspace.js";
16
22
  import { PromptCatalogTable } from "./data/ai/PromptCatalog/PromptCatalogTable.js";
17
23
  import { PromptLayerStrip } from "./data/ai/PromptCatalog/PromptLayerStrip.js";
18
24
  import { PromptPage } from "./data/ai/PromptCatalog/PromptPage.js";
@@ -23,12 +29,19 @@ import { PromptSourceBadge } from "./data/ai/PromptCatalog/PromptSourceBadge.js"
23
29
  import { PromptSourceRepair } from "./data/ai/PromptPicker/PromptSourceRepair.js";
24
30
  import { ProviderStatusPanel } from "./data/runtime/ProviderStatusPanel.js";
25
31
  import { RUNTIME_PROFILE_SCOPES, assertRuntimePresetSpec, projectRuntimePresetSpec } from "./data/ai/runtime-profile.js";
32
+ import { ResolutionInspector } from "./data/ai/runtime-profiles/ResolutionInspector.js";
33
+ import { ResolutionTrace } from "./data/ai/runtime-profiles/ResolutionTrace.js";
26
34
  import { RuntimeBar } from "./data/runtime/RuntimeBar.js";
35
+ import { RuntimeLibraryList } from "./data/ai/runtime-profiles/RuntimeLibraryList.js";
27
36
  import { RuntimeModePicker } from "./data/ai/RuntimeModePicker.js";
37
+ import { RuntimeProfilePicker } from "./data/ai/runtime-profiles/RuntimeProfilePicker.js";
38
+ import { RuntimeProfilesWorkspace } from "./data/ai/runtime-profiles/RuntimeProfilesWorkspace.js";
39
+ import { RuntimeStatusNotice } from "./data/ai/runtime-profiles/RuntimeStatusNotice.js";
28
40
  import { SESSION_TONES, sessionTone } from "./data/ai/session-tones.js";
29
41
  import { SPEC_CHECKOUT_MODES, SPEC_CLONE_MODES, SPEC_COMMIT_CONDITIONS, SPEC_COMMIT_GATES, SPEC_COMMIT_MODES, SPEC_COMMIT_PHASES, SPEC_COMMIT_STAGES, SPEC_SCHEMA_STRICTNESS, SPEC_STASH_MODES, SPEC_VERIFY_SCOPES, SPEC_WORKTREE_MODES, buildAISpecRuntimePayload, compactAISpecRuntime, normalizeMCPPermissions, normalizeResourcePolicies, normalizeToolPolicies } from "./data/ai/SpecRuntimeEditor.model.js";
30
42
  import { SPEC_PERMISSION_MODES } from "./data/ai/SpecRuntimeEditor.sandbox-model.js";
31
- import { SPEC_RUNTIME_FAMILIES, SPEC_RUNTIME_MODES, familiesFromRuntimeCatalog, familyById, familyForMode, labelForMode, modeForFamily, modeOptionFor, modelBelongsToFamily, modelsForFamily, runtimeModeError, runtimeModeFromModel, runtimeModeOptions, runtimeModelError, selectionForMode, selectionForRuntime } from "./data/runtime/runtime-mode.js";
43
+ import { SPEC_RUNTIME_FAMILIES, familiesFromRuntimeCatalog, familyById, familyForMode, labelForMode, modeForFamily, modelBelongsToFamily, modelsForFamily, runtimeModeError, runtimeModeOptions, runtimeModelError, selectionForMode, selectionForRuntime } from "./data/runtime/runtime-mode.js";
44
+ import { SPEC_RUNTIME_MODES, familyForModel, modeOptionFor, runtimeModeFromModel } from "./lib/runtime-family.js";
32
45
  import { SandboxConnectionsSection } from "./data/ai/SandboxConnectionsSection.js";
33
46
  import { SandboxCreateWizard } from "./data/ai/SandboxCreateWizard.js";
34
47
  import { ToolSchemaBrowser, ToolSchemaBrowser as ToolSchemaBrowser2 } from "./data/ai/ToolSchemaBrowser.js";
@@ -40,6 +53,7 @@ import { SpecRuntimeEditor } from "./data/ai/SpecRuntimeEditor/index.js";
40
53
  import { ThreadPicker } from "./data/ai/ThreadPicker.js";
41
54
  import { ToolPreferences } from "./data/ai/ToolPreferences.js";
42
55
  import { appendToolPolicy, matchesTool, normalizeToolPolicyRules, resolveToolPolicy, toolPolicyFromPreferences } from "./data/chat/tool-policy.js";
56
+ import { authoredRuntimeSpec, duplicateName, mergeRuntimeSpec, nextNewName, permissionTarget, presetForRef, presetsOf, referencedBy, reorderProfilePresets, uniqueName } from "./lib/runtime-profile-model.js";
43
57
  import { buildSandboxCreateInput, emptySandboxCreateDraft, toggleSandboxCredential } from "./data/ai/SandboxCreateWizard.model.js";
44
58
  import { buildSavePayload, defaultFilePath, draftFor, draftRaw, isConflictError, isDraftDirty } from "./data/ai/PromptCatalog/prompt-page-model.js";
45
59
  import { catalogFilterOptions, defaultEditLayer, effectiveLayer, entryMatches, layerLabel, layersAbove, previewText, provenanceSummary, runtimeSummary, sourceLabel, sourceTone } from "./data/ai/PromptCatalog/prompt-catalog-model.js";
@@ -53,6 +67,10 @@ import { makeContextId, parseContextPrefix, serializeContext } from "./data/ai/c
53
67
  import { nextPromptId, useChatWindowManager } from "./data/ai/chat-window-context.js";
54
68
  import { promptPreviewText, promptRuntimeValueToPayload, specToPromptRuntimeValue } from "./data/ai/PromptPicker/prompt-runtime.js";
55
69
  import { questionsFromToolInput, summarizeToolInput, toolDiff, toolInputParams } from "./data/ai/SessionViewer.input.js";
70
+ import { useRuntimeFamilies } from "./data/ai/runtime-profiles/use-runtime-families.js";
71
+ import { useRuntimePermissionCatalog } from "./data/ai/runtime-profiles/use-permission-catalog.js";
72
+ import { useRuntimeProfilePicker } from "./data/ai/runtime-profiles/use-runtime-profile-picker.js";
73
+ import { useRuntimeProfileResolution } from "./data/ai/runtime-profiles/use-resolution.js";
56
74
  export {
57
75
  AGENT_RUNTIME_ICONS,
58
76
  APPROVAL_ICONS,
@@ -76,7 +94,13 @@ export {
76
94
  ContextMeter,
77
95
  EFFORT_ICONS,
78
96
  EXAMPLE_SESSIONS,
97
+ OrderedPresetSelect,
79
98
  PERMISSION_MODE_ICONS,
99
+ PermissionStrategiesEditor,
100
+ PresetSpecEditor,
101
+ PresetWorkspace,
102
+ ProfileSpecEditor,
103
+ ProfileWorkspace,
80
104
  PromptCatalogTable,
81
105
  PromptLayerStrip,
82
106
  PromptPage,
@@ -87,8 +111,14 @@ export {
87
111
  PromptSourceRepair,
88
112
  ProviderStatusPanel,
89
113
  RUNTIME_PROFILE_SCOPES,
114
+ ResolutionInspector,
115
+ ResolutionTrace,
90
116
  RuntimeBar,
117
+ RuntimeLibraryList,
91
118
  RuntimeModePicker,
119
+ RuntimeProfilePicker,
120
+ RuntimeProfilesWorkspace,
121
+ RuntimeStatusNotice,
92
122
  SESSION_TONES,
93
123
  SPEC_CHECKOUT_MODES,
94
124
  SPEC_CLONE_MODES,
@@ -119,6 +149,7 @@ export {
119
149
  WORKFLOW_PHASES,
120
150
  appendToolPolicy,
121
151
  assertRuntimePresetSpec,
152
+ authoredRuntimeSpec,
122
153
  buildAISpecRuntimePayload,
123
154
  buildSandboxCreateInput,
124
155
  buildSavePayload,
@@ -133,6 +164,7 @@ export {
133
164
  defaultFilePath,
134
165
  draftFor,
135
166
  draftRaw,
167
+ duplicateName,
136
168
  effectiveLayer,
137
169
  effectiveToolPolicies,
138
170
  effortIcon,
@@ -143,6 +175,7 @@ export {
143
175
  familiesFromRuntimeCatalog,
144
176
  familyById,
145
177
  familyForMode,
178
+ familyForModel,
146
179
  formatCost,
147
180
  getSessionAction,
148
181
  getSessionMetadata,
@@ -155,10 +188,12 @@ export {
155
188
  layersAbove,
156
189
  makeContextId,
157
190
  matchesTool,
191
+ mergeRuntimeSpec,
158
192
  modeForFamily,
159
193
  modeOptionFor,
160
194
  modelBelongsToFamily,
161
195
  modelsForFamily,
196
+ nextNewName,
162
197
  nextPromptId,
163
198
  normalizeMCPPermissions,
164
199
  normalizeMessages,
@@ -168,6 +203,9 @@ export {
168
203
  normalizeToolPolicy,
169
204
  normalizeToolPolicyRules,
170
205
  parseContextPrefix,
206
+ permissionTarget,
207
+ presetForRef,
208
+ presetsOf,
171
209
  previewText,
172
210
  projectRuntimePresetSpec,
173
211
  promptPreviewText,
@@ -175,6 +213,8 @@ export {
175
213
  provenanceSummary,
176
214
  questionsFromToolInput,
177
215
  reconcileModelCapabilities,
216
+ referencedBy,
217
+ reorderProfilePresets,
178
218
  resolveToolPolicy,
179
219
  runtimeModeError,
180
220
  runtimeModeFromModel,
@@ -196,7 +236,12 @@ export {
196
236
  toolDiff,
197
237
  toolInputParams,
198
238
  toolPolicyFromPreferences,
239
+ uniqueName,
199
240
  useChatWindowManager,
241
+ useRuntimeFamilies,
242
+ useRuntimePermissionCatalog,
243
+ useRuntimeProfilePicker,
244
+ useRuntimeProfileResolution,
200
245
  withUserRule
201
246
  };
202
247
  //# sourceMappingURL=ai.js.map
package/dist/ai.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"ai.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"ai.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -20,7 +20,7 @@ export type DateFieldProps = Omit<InputHTMLAttributes<HTMLInputElement>, "type"
20
20
  /** Leading in-field adornment, rendered at the left edge of the input. */
21
21
  prefix?: ReactNode;
22
22
  };
23
- export declare const DateField: import('../../../../node_modules/@types/react/index.d.ts').ForwardRefExoticComponent<Omit<InputHTMLAttributes<HTMLInputElement>, "prefix" | "value" | "onChange" | "type"> & {
23
+ export declare const DateField: import('../../../../node_modules/@types/react/index.d.ts').ForwardRefExoticComponent<Omit<InputHTMLAttributes<HTMLInputElement>, "prefix" | "value" | "type" | "onChange"> & {
24
24
  /** Selects native date input or date-time input behavior. */
25
25
  mode?: DateFieldMode;
26
26
  /** ISO date or datetime-local string shown in the input. */
@@ -11,7 +11,7 @@ export type DatePickerProps = Omit<InputHTMLAttributes<HTMLInputElement>, "type"
11
11
  /** Leading in-field adornment, rendered at the left edge of the input. */
12
12
  prefix?: ReactNode;
13
13
  };
14
- export declare const DatePicker: import('../../../../node_modules/@types/react/index.d.ts').ForwardRefExoticComponent<Omit<InputHTMLAttributes<HTMLInputElement>, "prefix" | "value" | "onChange" | "type"> & {
14
+ export declare const DatePicker: import('../../../../node_modules/@types/react/index.d.ts').ForwardRefExoticComponent<Omit<InputHTMLAttributes<HTMLInputElement>, "prefix" | "value" | "type" | "onChange"> & {
15
15
  value?: string;
16
16
  onChange?: (value: string) => void;
17
17
  className?: string;
@@ -11,7 +11,7 @@ export type DateTimePickerProps = Omit<InputHTMLAttributes<HTMLInputElement>, "t
11
11
  /** Leading in-field adornment, rendered at the left edge of the input. */
12
12
  prefix?: ReactNode;
13
13
  };
14
- export declare const DateTimePicker: import('../../../../node_modules/@types/react/index.d.ts').ForwardRefExoticComponent<Omit<InputHTMLAttributes<HTMLInputElement>, "prefix" | "value" | "onChange" | "type"> & {
14
+ export declare const DateTimePicker: import('../../../../node_modules/@types/react/index.d.ts').ForwardRefExoticComponent<Omit<InputHTMLAttributes<HTMLInputElement>, "prefix" | "value" | "type" | "onChange"> & {
15
15
  value?: string;
16
16
  onChange?: (value: string) => void;
17
17
  className?: string;
@@ -4,7 +4,7 @@ export declare const CALLOUT_ATTRIBUTES: readonly ["variant", "icon", "title", "
4
4
  export type CalloutAttribute = (typeof CALLOUT_ATTRIBUTES)[number];
5
5
  /** The descriptor `props` list, matching {@link CALLOUT_ATTRIBUTES}. */
6
6
  export declare const CALLOUT_JSX_PROPS: {
7
- name: "label" | "badge" | "source" | "title" | "icon" | "variant" | "emphasis";
7
+ name: "badge" | "label" | "source" | "title" | "icon" | "variant" | "emphasis";
8
8
  type: "string";
9
9
  }[];
10
10
  /** The choices each enumerated attribute offers, for the node editor's selects. */
@@ -34,5 +34,5 @@ export type MarkdownEditorPreviewHeaders = HeadersInit | ((request: {
34
34
  format: MarkdownEditorPreviewFormat;
35
35
  }) => HeadersInit | undefined);
36
36
  export declare function buildMarkdownPreviewUrl(endpoint: string, format: MarkdownEditorPreviewFormat): string;
37
- export declare function clickyFormatForMarkdownPreview(format: MarkdownEditorPreviewFormat): "html" | "markdown" | "json" | "csv" | "pdf" | "excel" | "clicky-json";
37
+ export declare function clickyFormatForMarkdownPreview(format: MarkdownEditorPreviewFormat): "html" | "json" | "markdown" | "csv" | "pdf" | "excel" | "clicky-json";
38
38
  //# sourceMappingURL=MarkdownEditor.model.d.ts.map
@@ -5,6 +5,7 @@ const runtimeMode = require("../runtime/runtime-mode.cjs");
5
5
  function useChatWindowCatalogs({
6
6
  models: providedModels,
7
7
  modelsApi,
8
+ runtimeFamilies: providedRuntimeFamilies,
8
9
  runtimesApi
9
10
  }) {
10
11
  const [models, setModels] = react.useState(providedModels ?? []);
@@ -34,7 +35,7 @@ function useChatWindowCatalogs({
34
35
  };
35
36
  }, [attempt, modelsApi, providedModels]);
36
37
  react.useEffect(() => {
37
- if (!runtimesApi) return;
38
+ if (providedRuntimeFamilies || !runtimesApi) return;
38
39
  let active = true;
39
40
  setRuntimesLoading(true);
40
41
  setRuntimesError(null);
@@ -48,12 +49,17 @@ function useChatWindowCatalogs({
48
49
  return () => {
49
50
  active = false;
50
51
  };
51
- }, [attempt, runtimesApi]);
52
+ }, [attempt, providedRuntimeFamilies, runtimesApi]);
52
53
  return {
53
54
  models,
54
- ...runtimes ? { runtimeFamilies: runtimeMode.familiesFromRuntimeCatalog(runtimes) } : {},
55
- loading: modelsLoading || runtimesLoading,
56
- error: [modelsError, runtimesError].filter(Boolean).join(" ") || null,
55
+ ...providedRuntimeFamilies || runtimes ? {
56
+ runtimeFamilies: providedRuntimeFamilies ?? runtimeMode.familiesFromRuntimeCatalog(runtimes)
57
+ } : {},
58
+ loading: modelsLoading && !providedModels || runtimesLoading && !providedRuntimeFamilies,
59
+ error: [
60
+ providedModels ? null : modelsError,
61
+ providedRuntimeFamilies ? null : runtimesError
62
+ ].filter(Boolean).join(" ") || null,
57
63
  retry: () => setAttempt((current) => current + 1)
58
64
  };
59
65
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ChatWindow.catalogs.cjs","sources":["../../../src/data/ai/ChatWindow.catalogs.ts"],"sourcesContent":["import { useEffect, useState } from \"react\";\nimport type { ChatModel } from \"../chat/types\";\nimport {\n familiesFromRuntimeCatalog,\n type RuntimeCatalogFamily,\n type SpecRuntimeFamily,\n} from \"../runtime/runtime-mode\";\n\nexport type ChatWindowCatalogOptions = {\n models?: ChatModel[] | undefined;\n modelsApi?: string | null | undefined;\n runtimesApi?: string | null | undefined;\n};\n\nexport type ChatWindowCatalogs = {\n models: ChatModel[];\n runtimeFamilies?: SpecRuntimeFamily[] | undefined;\n loading: boolean;\n error: string | null;\n retry: () => void;\n};\n\nexport function useChatWindowCatalogs({\n models: providedModels,\n modelsApi,\n runtimesApi,\n}: ChatWindowCatalogOptions): ChatWindowCatalogs {\n const [models, setModels] = useState<ChatModel[]>(providedModels ?? []);\n const [runtimes, setRuntimes] = useState<RuntimeCatalogFamily[]>();\n const [modelsLoading, setModelsLoading] = useState(false);\n const [runtimesLoading, setRuntimesLoading] = useState(false);\n const [modelsError, setModelsError] = useState<string | null>(null);\n const [runtimesError, setRuntimesError] = useState<string | null>(null);\n const [attempt, setAttempt] = useState(0);\n\n useEffect(() => {\n if (providedModels) setModels(providedModels);\n }, [providedModels]);\n\n useEffect(() => {\n if (providedModels || !modelsApi) return;\n let active = true;\n setModelsLoading(true);\n setModelsError(null);\n void loadCatalog<ChatModel[]>(modelsApi, \"models\")\n .then((data) => {\n if (active) setModels(data);\n })\n .catch((cause) => {\n if (active) setModelsError(errorMessage(\"model\", cause));\n })\n .finally(() => {\n if (active) setModelsLoading(false);\n });\n return () => {\n active = false;\n };\n }, [attempt, modelsApi, providedModels]);\n\n useEffect(() => {\n if (!runtimesApi) return;\n let active = true;\n setRuntimesLoading(true);\n setRuntimesError(null);\n void loadCatalog<RuntimeCatalogFamily[]>(runtimesApi, \"runtimes\")\n .then((data) => {\n if (active) setRuntimes(data);\n })\n .catch((cause) => {\n if (active) setRuntimesError(errorMessage(\"runtime\", cause));\n })\n .finally(() => {\n if (active) setRuntimesLoading(false);\n });\n return () => {\n active = false;\n };\n }, [attempt, runtimesApi]);\n\n return {\n models,\n ...(runtimes\n ? { runtimeFamilies: familiesFromRuntimeCatalog(runtimes) }\n : {}),\n loading: modelsLoading || runtimesLoading,\n error: [modelsError, runtimesError].filter(Boolean).join(\" \") || null,\n retry: () => setAttempt((current) => current + 1),\n };\n}\n\nasync function loadCatalog<T>(endpoint: string, label: string): Promise<T> {\n const response = await fetch(endpoint);\n if (!response.ok) throw new Error(`${label} ${response.status}`);\n const data: unknown = await response.json();\n if (!Array.isArray(data)) {\n throw new Error(`${label} response must be an array`);\n }\n return data as T;\n}\n\nfunction errorMessage(kind: string, cause: unknown): string {\n const detail = cause instanceof Error ? cause.message : String(cause);\n return `Unable to load ${kind} availability (${detail}). Check Captain and retry.`;\n}\n"],"names":["useState","useEffect","familiesFromRuntimeCatalog"],"mappings":";;;;AAsBO,SAAS,sBAAsB;AAAA,EACpC,QAAQ;AAAA,EACR;AAAA,EACA;AACF,GAAiD;AAC/C,QAAM,CAAC,QAAQ,SAAS,IAAIA,MAAAA,SAAsB,kBAAkB,CAAA,CAAE;AACtE,QAAM,CAAC,UAAU,WAAW,IAAIA,eAAA;AAChC,QAAM,CAAC,eAAe,gBAAgB,IAAIA,MAAAA,SAAS,KAAK;AACxD,QAAM,CAAC,iBAAiB,kBAAkB,IAAIA,MAAAA,SAAS,KAAK;AAC5D,QAAM,CAAC,aAAa,cAAc,IAAIA,MAAAA,SAAwB,IAAI;AAClE,QAAM,CAAC,eAAe,gBAAgB,IAAIA,MAAAA,SAAwB,IAAI;AACtE,QAAM,CAAC,SAAS,UAAU,IAAIA,MAAAA,SAAS,CAAC;AAExCC,QAAAA,UAAU,MAAM;AACd,QAAI,0BAA0B,cAAc;AAAA,EAC9C,GAAG,CAAC,cAAc,CAAC;AAEnBA,QAAAA,UAAU,MAAM;AACd,QAAI,kBAAkB,CAAC,UAAW;AAClC,QAAI,SAAS;AACb,qBAAiB,IAAI;AACrB,mBAAe,IAAI;AACnB,SAAK,YAAyB,WAAW,QAAQ,EAC9C,KAAK,CAAC,SAAS;AACd,UAAI,kBAAkB,IAAI;AAAA,IAC5B,CAAC,EACA,MAAM,CAAC,UAAU;AAChB,UAAI,OAAQ,gBAAe,aAAa,SAAS,KAAK,CAAC;AAAA,IACzD,CAAC,EACA,QAAQ,MAAM;AACb,UAAI,yBAAyB,KAAK;AAAA,IACpC,CAAC;AACH,WAAO,MAAM;AACX,eAAS;AAAA,IACX;AAAA,EACF,GAAG,CAAC,SAAS,WAAW,cAAc,CAAC;AAEvCA,QAAAA,UAAU,MAAM;AACd,QAAI,CAAC,YAAa;AAClB,QAAI,SAAS;AACb,uBAAmB,IAAI;AACvB,qBAAiB,IAAI;AACrB,SAAK,YAAoC,aAAa,UAAU,EAC7D,KAAK,CAAC,SAAS;AACd,UAAI,oBAAoB,IAAI;AAAA,IAC9B,CAAC,EACA,MAAM,CAAC,UAAU;AAChB,UAAI,OAAQ,kBAAiB,aAAa,WAAW,KAAK,CAAC;AAAA,IAC7D,CAAC,EACA,QAAQ,MAAM;AACb,UAAI,2BAA2B,KAAK;AAAA,IACtC,CAAC;AACH,WAAO,MAAM;AACX,eAAS;AAAA,IACX;AAAA,EACF,GAAG,CAAC,SAAS,WAAW,CAAC;AAEzB,SAAO;AAAA,IACL;AAAA,IACA,GAAI,WACA,EAAE,iBAAiBC,YAAAA,2BAA2B,QAAQ,EAAA,IACtD,CAAA;AAAA,IACJ,SAAS,iBAAiB;AAAA,IAC1B,OAAO,CAAC,aAAa,aAAa,EAAE,OAAO,OAAO,EAAE,KAAK,GAAG,KAAK;AAAA,IACjE,OAAO,MAAM,WAAW,CAAC,YAAY,UAAU,CAAC;AAAA,EAAA;AAEpD;AAEA,eAAe,YAAe,UAAkB,OAA2B;AACzE,QAAM,WAAW,MAAM,MAAM,QAAQ;AACrC,MAAI,CAAC,SAAS,GAAI,OAAM,IAAI,MAAM,GAAG,KAAK,IAAI,SAAS,MAAM,EAAE;AAC/D,QAAM,OAAgB,MAAM,SAAS,KAAA;AACrC,MAAI,CAAC,MAAM,QAAQ,IAAI,GAAG;AACxB,UAAM,IAAI,MAAM,GAAG,KAAK,4BAA4B;AAAA,EACtD;AACA,SAAO;AACT;AAEA,SAAS,aAAa,MAAc,OAAwB;AAC1D,QAAM,SAAS,iBAAiB,QAAQ,MAAM,UAAU,OAAO,KAAK;AACpE,SAAO,kBAAkB,IAAI,kBAAkB,MAAM;AACvD;;"}
1
+ {"version":3,"file":"ChatWindow.catalogs.cjs","sources":["../../../src/data/ai/ChatWindow.catalogs.ts"],"sourcesContent":["import { useEffect, useState } from \"react\";\nimport type { ChatModel } from \"../chat/types\";\nimport {\n familiesFromRuntimeCatalog,\n type RuntimeCatalogFamily,\n type SpecRuntimeFamily,\n} from \"../runtime/runtime-mode\";\n\nexport type ChatWindowCatalogOptions = {\n models?: ChatModel[] | undefined;\n modelsApi?: string | null | undefined;\n runtimeFamilies?: SpecRuntimeFamily[] | undefined;\n runtimesApi?: string | null | undefined;\n};\n\nexport type ChatWindowCatalogs = {\n models: ChatModel[];\n runtimeFamilies?: SpecRuntimeFamily[] | undefined;\n loading: boolean;\n error: string | null;\n retry: () => void;\n};\n\nexport function useChatWindowCatalogs({\n models: providedModels,\n modelsApi,\n runtimeFamilies: providedRuntimeFamilies,\n runtimesApi,\n}: ChatWindowCatalogOptions): ChatWindowCatalogs {\n const [models, setModels] = useState<ChatModel[]>(providedModels ?? []);\n const [runtimes, setRuntimes] = useState<RuntimeCatalogFamily[]>();\n const [modelsLoading, setModelsLoading] = useState(false);\n const [runtimesLoading, setRuntimesLoading] = useState(false);\n const [modelsError, setModelsError] = useState<string | null>(null);\n const [runtimesError, setRuntimesError] = useState<string | null>(null);\n const [attempt, setAttempt] = useState(0);\n\n useEffect(() => {\n if (providedModels) setModels(providedModels);\n }, [providedModels]);\n\n useEffect(() => {\n if (providedModels || !modelsApi) return;\n let active = true;\n setModelsLoading(true);\n setModelsError(null);\n void loadCatalog<ChatModel[]>(modelsApi, \"models\")\n .then((data) => {\n if (active) setModels(data);\n })\n .catch((cause) => {\n if (active) setModelsError(errorMessage(\"model\", cause));\n })\n .finally(() => {\n if (active) setModelsLoading(false);\n });\n return () => {\n active = false;\n };\n }, [attempt, modelsApi, providedModels]);\n\n useEffect(() => {\n if (providedRuntimeFamilies || !runtimesApi) return;\n let active = true;\n setRuntimesLoading(true);\n setRuntimesError(null);\n void loadCatalog<RuntimeCatalogFamily[]>(runtimesApi, \"runtimes\")\n .then((data) => {\n if (active) setRuntimes(data);\n })\n .catch((cause) => {\n if (active) setRuntimesError(errorMessage(\"runtime\", cause));\n })\n .finally(() => {\n if (active) setRuntimesLoading(false);\n });\n return () => {\n active = false;\n };\n }, [attempt, providedRuntimeFamilies, runtimesApi]);\n\n return {\n models,\n ...(providedRuntimeFamilies || runtimes\n ? {\n runtimeFamilies:\n providedRuntimeFamilies ?? familiesFromRuntimeCatalog(runtimes),\n }\n : {}),\n loading:\n (modelsLoading && !providedModels) ||\n (runtimesLoading && !providedRuntimeFamilies),\n error:\n [\n providedModels ? null : modelsError,\n providedRuntimeFamilies ? null : runtimesError,\n ]\n .filter(Boolean)\n .join(\" \") || null,\n retry: () => setAttempt((current) => current + 1),\n };\n}\n\nasync function loadCatalog<T>(endpoint: string, label: string): Promise<T> {\n const response = await fetch(endpoint);\n if (!response.ok) throw new Error(`${label} ${response.status}`);\n const data: unknown = await response.json();\n if (!Array.isArray(data)) {\n throw new Error(`${label} response must be an array`);\n }\n return data as T;\n}\n\nfunction errorMessage(kind: string, cause: unknown): string {\n const detail = cause instanceof Error ? cause.message : String(cause);\n return `Unable to load ${kind} availability (${detail}). Check Captain and retry.`;\n}\n"],"names":["useState","useEffect","familiesFromRuntimeCatalog"],"mappings":";;;;AAuBO,SAAS,sBAAsB;AAAA,EACpC,QAAQ;AAAA,EACR;AAAA,EACA,iBAAiB;AAAA,EACjB;AACF,GAAiD;AAC/C,QAAM,CAAC,QAAQ,SAAS,IAAIA,MAAAA,SAAsB,kBAAkB,CAAA,CAAE;AACtE,QAAM,CAAC,UAAU,WAAW,IAAIA,eAAA;AAChC,QAAM,CAAC,eAAe,gBAAgB,IAAIA,MAAAA,SAAS,KAAK;AACxD,QAAM,CAAC,iBAAiB,kBAAkB,IAAIA,MAAAA,SAAS,KAAK;AAC5D,QAAM,CAAC,aAAa,cAAc,IAAIA,MAAAA,SAAwB,IAAI;AAClE,QAAM,CAAC,eAAe,gBAAgB,IAAIA,MAAAA,SAAwB,IAAI;AACtE,QAAM,CAAC,SAAS,UAAU,IAAIA,MAAAA,SAAS,CAAC;AAExCC,QAAAA,UAAU,MAAM;AACd,QAAI,0BAA0B,cAAc;AAAA,EAC9C,GAAG,CAAC,cAAc,CAAC;AAEnBA,QAAAA,UAAU,MAAM;AACd,QAAI,kBAAkB,CAAC,UAAW;AAClC,QAAI,SAAS;AACb,qBAAiB,IAAI;AACrB,mBAAe,IAAI;AACnB,SAAK,YAAyB,WAAW,QAAQ,EAC9C,KAAK,CAAC,SAAS;AACd,UAAI,kBAAkB,IAAI;AAAA,IAC5B,CAAC,EACA,MAAM,CAAC,UAAU;AAChB,UAAI,OAAQ,gBAAe,aAAa,SAAS,KAAK,CAAC;AAAA,IACzD,CAAC,EACA,QAAQ,MAAM;AACb,UAAI,yBAAyB,KAAK;AAAA,IACpC,CAAC;AACH,WAAO,MAAM;AACX,eAAS;AAAA,IACX;AAAA,EACF,GAAG,CAAC,SAAS,WAAW,cAAc,CAAC;AAEvCA,QAAAA,UAAU,MAAM;AACd,QAAI,2BAA2B,CAAC,YAAa;AAC7C,QAAI,SAAS;AACb,uBAAmB,IAAI;AACvB,qBAAiB,IAAI;AACrB,SAAK,YAAoC,aAAa,UAAU,EAC7D,KAAK,CAAC,SAAS;AACd,UAAI,oBAAoB,IAAI;AAAA,IAC9B,CAAC,EACA,MAAM,CAAC,UAAU;AAChB,UAAI,OAAQ,kBAAiB,aAAa,WAAW,KAAK,CAAC;AAAA,IAC7D,CAAC,EACA,QAAQ,MAAM;AACb,UAAI,2BAA2B,KAAK;AAAA,IACtC,CAAC;AACH,WAAO,MAAM;AACX,eAAS;AAAA,IACX;AAAA,EACF,GAAG,CAAC,SAAS,yBAAyB,WAAW,CAAC;AAElD,SAAO;AAAA,IACL;AAAA,IACA,GAAI,2BAA2B,WAC3B;AAAA,MACE,iBACE,2BAA2BC,YAAAA,2BAA2B,QAAQ;AAAA,IAAA,IAElE,CAAA;AAAA,IACJ,SACG,iBAAiB,CAAC,kBAClB,mBAAmB,CAAC;AAAA,IACvB,OACE;AAAA,MACE,iBAAiB,OAAO;AAAA,MACxB,0BAA0B,OAAO;AAAA,IAAA,EAEhC,OAAO,OAAO,EACd,KAAK,GAAG,KAAK;AAAA,IAClB,OAAO,MAAM,WAAW,CAAC,YAAY,UAAU,CAAC;AAAA,EAAA;AAEpD;AAEA,eAAe,YAAe,UAAkB,OAA2B;AACzE,QAAM,WAAW,MAAM,MAAM,QAAQ;AACrC,MAAI,CAAC,SAAS,GAAI,OAAM,IAAI,MAAM,GAAG,KAAK,IAAI,SAAS,MAAM,EAAE;AAC/D,QAAM,OAAgB,MAAM,SAAS,KAAA;AACrC,MAAI,CAAC,MAAM,QAAQ,IAAI,GAAG;AACxB,UAAM,IAAI,MAAM,GAAG,KAAK,4BAA4B;AAAA,EACtD;AACA,SAAO;AACT;AAEA,SAAS,aAAa,MAAc,OAAwB;AAC1D,QAAM,SAAS,iBAAiB,QAAQ,MAAM,UAAU,OAAO,KAAK;AACpE,SAAO,kBAAkB,IAAI,kBAAkB,MAAM;AACvD;;"}
@@ -3,6 +3,7 @@ import { SpecRuntimeFamily } from '../runtime/runtime-mode';
3
3
  export type ChatWindowCatalogOptions = {
4
4
  models?: ChatModel[] | undefined;
5
5
  modelsApi?: string | null | undefined;
6
+ runtimeFamilies?: SpecRuntimeFamily[] | undefined;
6
7
  runtimesApi?: string | null | undefined;
7
8
  };
8
9
  export type ChatWindowCatalogs = {
@@ -12,5 +13,5 @@ export type ChatWindowCatalogs = {
12
13
  error: string | null;
13
14
  retry: () => void;
14
15
  };
15
- export declare function useChatWindowCatalogs({ models: providedModels, modelsApi, runtimesApi, }: ChatWindowCatalogOptions): ChatWindowCatalogs;
16
+ export declare function useChatWindowCatalogs({ models: providedModels, modelsApi, runtimeFamilies: providedRuntimeFamilies, runtimesApi, }: ChatWindowCatalogOptions): ChatWindowCatalogs;
16
17
  //# sourceMappingURL=ChatWindow.catalogs.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ChatWindow.catalogs.d.ts","sourceRoot":"","sources":["../../../src/data/ai/ChatWindow.catalogs.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAGL,KAAK,iBAAiB,EACvB,MAAM,yBAAyB,CAAC;AAEjC,MAAM,MAAM,wBAAwB,GAAG;IACrC,MAAM,CAAC,EAAE,SAAS,EAAE,GAAG,SAAS,CAAC;IACjC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACtC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;CACzC,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,eAAe,CAAC,EAAE,iBAAiB,EAAE,GAAG,SAAS,CAAC;IAClD,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB,CAAC;AAEF,wBAAgB,qBAAqB,CAAC,EACpC,MAAM,EAAE,cAAc,EACtB,SAAS,EACT,WAAW,GACZ,EAAE,wBAAwB,GAAG,kBAAkB,CA8D/C"}
1
+ {"version":3,"file":"ChatWindow.catalogs.d.ts","sourceRoot":"","sources":["../../../src/data/ai/ChatWindow.catalogs.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAGL,KAAK,iBAAiB,EACvB,MAAM,yBAAyB,CAAC;AAEjC,MAAM,MAAM,wBAAwB,GAAG;IACrC,MAAM,CAAC,EAAE,SAAS,EAAE,GAAG,SAAS,CAAC;IACjC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACtC,eAAe,CAAC,EAAE,iBAAiB,EAAE,GAAG,SAAS,CAAC;IAClD,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;CACzC,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,eAAe,CAAC,EAAE,iBAAiB,EAAE,GAAG,SAAS,CAAC;IAClD,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB,CAAC;AAEF,wBAAgB,qBAAqB,CAAC,EACpC,MAAM,EAAE,cAAc,EACtB,SAAS,EACT,eAAe,EAAE,uBAAuB,EACxC,WAAW,GACZ,EAAE,wBAAwB,GAAG,kBAAkB,CAyE/C"}
@@ -3,6 +3,7 @@ import { familiesFromRuntimeCatalog } from "../runtime/runtime-mode.js";
3
3
  function useChatWindowCatalogs({
4
4
  models: providedModels,
5
5
  modelsApi,
6
+ runtimeFamilies: providedRuntimeFamilies,
6
7
  runtimesApi
7
8
  }) {
8
9
  const [models, setModels] = useState(providedModels ?? []);
@@ -32,7 +33,7 @@ function useChatWindowCatalogs({
32
33
  };
33
34
  }, [attempt, modelsApi, providedModels]);
34
35
  useEffect(() => {
35
- if (!runtimesApi) return;
36
+ if (providedRuntimeFamilies || !runtimesApi) return;
36
37
  let active = true;
37
38
  setRuntimesLoading(true);
38
39
  setRuntimesError(null);
@@ -46,12 +47,17 @@ function useChatWindowCatalogs({
46
47
  return () => {
47
48
  active = false;
48
49
  };
49
- }, [attempt, runtimesApi]);
50
+ }, [attempt, providedRuntimeFamilies, runtimesApi]);
50
51
  return {
51
52
  models,
52
- ...runtimes ? { runtimeFamilies: familiesFromRuntimeCatalog(runtimes) } : {},
53
- loading: modelsLoading || runtimesLoading,
54
- error: [modelsError, runtimesError].filter(Boolean).join(" ") || null,
53
+ ...providedRuntimeFamilies || runtimes ? {
54
+ runtimeFamilies: providedRuntimeFamilies ?? familiesFromRuntimeCatalog(runtimes)
55
+ } : {},
56
+ loading: modelsLoading && !providedModels || runtimesLoading && !providedRuntimeFamilies,
57
+ error: [
58
+ providedModels ? null : modelsError,
59
+ providedRuntimeFamilies ? null : runtimesError
60
+ ].filter(Boolean).join(" ") || null,
55
61
  retry: () => setAttempt((current) => current + 1)
56
62
  };
57
63
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ChatWindow.catalogs.js","sources":["../../../src/data/ai/ChatWindow.catalogs.ts"],"sourcesContent":["import { useEffect, useState } from \"react\";\nimport type { ChatModel } from \"../chat/types\";\nimport {\n familiesFromRuntimeCatalog,\n type RuntimeCatalogFamily,\n type SpecRuntimeFamily,\n} from \"../runtime/runtime-mode\";\n\nexport type ChatWindowCatalogOptions = {\n models?: ChatModel[] | undefined;\n modelsApi?: string | null | undefined;\n runtimesApi?: string | null | undefined;\n};\n\nexport type ChatWindowCatalogs = {\n models: ChatModel[];\n runtimeFamilies?: SpecRuntimeFamily[] | undefined;\n loading: boolean;\n error: string | null;\n retry: () => void;\n};\n\nexport function useChatWindowCatalogs({\n models: providedModels,\n modelsApi,\n runtimesApi,\n}: ChatWindowCatalogOptions): ChatWindowCatalogs {\n const [models, setModels] = useState<ChatModel[]>(providedModels ?? []);\n const [runtimes, setRuntimes] = useState<RuntimeCatalogFamily[]>();\n const [modelsLoading, setModelsLoading] = useState(false);\n const [runtimesLoading, setRuntimesLoading] = useState(false);\n const [modelsError, setModelsError] = useState<string | null>(null);\n const [runtimesError, setRuntimesError] = useState<string | null>(null);\n const [attempt, setAttempt] = useState(0);\n\n useEffect(() => {\n if (providedModels) setModels(providedModels);\n }, [providedModels]);\n\n useEffect(() => {\n if (providedModels || !modelsApi) return;\n let active = true;\n setModelsLoading(true);\n setModelsError(null);\n void loadCatalog<ChatModel[]>(modelsApi, \"models\")\n .then((data) => {\n if (active) setModels(data);\n })\n .catch((cause) => {\n if (active) setModelsError(errorMessage(\"model\", cause));\n })\n .finally(() => {\n if (active) setModelsLoading(false);\n });\n return () => {\n active = false;\n };\n }, [attempt, modelsApi, providedModels]);\n\n useEffect(() => {\n if (!runtimesApi) return;\n let active = true;\n setRuntimesLoading(true);\n setRuntimesError(null);\n void loadCatalog<RuntimeCatalogFamily[]>(runtimesApi, \"runtimes\")\n .then((data) => {\n if (active) setRuntimes(data);\n })\n .catch((cause) => {\n if (active) setRuntimesError(errorMessage(\"runtime\", cause));\n })\n .finally(() => {\n if (active) setRuntimesLoading(false);\n });\n return () => {\n active = false;\n };\n }, [attempt, runtimesApi]);\n\n return {\n models,\n ...(runtimes\n ? { runtimeFamilies: familiesFromRuntimeCatalog(runtimes) }\n : {}),\n loading: modelsLoading || runtimesLoading,\n error: [modelsError, runtimesError].filter(Boolean).join(\" \") || null,\n retry: () => setAttempt((current) => current + 1),\n };\n}\n\nasync function loadCatalog<T>(endpoint: string, label: string): Promise<T> {\n const response = await fetch(endpoint);\n if (!response.ok) throw new Error(`${label} ${response.status}`);\n const data: unknown = await response.json();\n if (!Array.isArray(data)) {\n throw new Error(`${label} response must be an array`);\n }\n return data as T;\n}\n\nfunction errorMessage(kind: string, cause: unknown): string {\n const detail = cause instanceof Error ? cause.message : String(cause);\n return `Unable to load ${kind} availability (${detail}). Check Captain and retry.`;\n}\n"],"names":[],"mappings":";;AAsBO,SAAS,sBAAsB;AAAA,EACpC,QAAQ;AAAA,EACR;AAAA,EACA;AACF,GAAiD;AAC/C,QAAM,CAAC,QAAQ,SAAS,IAAI,SAAsB,kBAAkB,CAAA,CAAE;AACtE,QAAM,CAAC,UAAU,WAAW,IAAI,SAAA;AAChC,QAAM,CAAC,eAAe,gBAAgB,IAAI,SAAS,KAAK;AACxD,QAAM,CAAC,iBAAiB,kBAAkB,IAAI,SAAS,KAAK;AAC5D,QAAM,CAAC,aAAa,cAAc,IAAI,SAAwB,IAAI;AAClE,QAAM,CAAC,eAAe,gBAAgB,IAAI,SAAwB,IAAI;AACtE,QAAM,CAAC,SAAS,UAAU,IAAI,SAAS,CAAC;AAExC,YAAU,MAAM;AACd,QAAI,0BAA0B,cAAc;AAAA,EAC9C,GAAG,CAAC,cAAc,CAAC;AAEnB,YAAU,MAAM;AACd,QAAI,kBAAkB,CAAC,UAAW;AAClC,QAAI,SAAS;AACb,qBAAiB,IAAI;AACrB,mBAAe,IAAI;AACnB,SAAK,YAAyB,WAAW,QAAQ,EAC9C,KAAK,CAAC,SAAS;AACd,UAAI,kBAAkB,IAAI;AAAA,IAC5B,CAAC,EACA,MAAM,CAAC,UAAU;AAChB,UAAI,OAAQ,gBAAe,aAAa,SAAS,KAAK,CAAC;AAAA,IACzD,CAAC,EACA,QAAQ,MAAM;AACb,UAAI,yBAAyB,KAAK;AAAA,IACpC,CAAC;AACH,WAAO,MAAM;AACX,eAAS;AAAA,IACX;AAAA,EACF,GAAG,CAAC,SAAS,WAAW,cAAc,CAAC;AAEvC,YAAU,MAAM;AACd,QAAI,CAAC,YAAa;AAClB,QAAI,SAAS;AACb,uBAAmB,IAAI;AACvB,qBAAiB,IAAI;AACrB,SAAK,YAAoC,aAAa,UAAU,EAC7D,KAAK,CAAC,SAAS;AACd,UAAI,oBAAoB,IAAI;AAAA,IAC9B,CAAC,EACA,MAAM,CAAC,UAAU;AAChB,UAAI,OAAQ,kBAAiB,aAAa,WAAW,KAAK,CAAC;AAAA,IAC7D,CAAC,EACA,QAAQ,MAAM;AACb,UAAI,2BAA2B,KAAK;AAAA,IACtC,CAAC;AACH,WAAO,MAAM;AACX,eAAS;AAAA,IACX;AAAA,EACF,GAAG,CAAC,SAAS,WAAW,CAAC;AAEzB,SAAO;AAAA,IACL;AAAA,IACA,GAAI,WACA,EAAE,iBAAiB,2BAA2B,QAAQ,EAAA,IACtD,CAAA;AAAA,IACJ,SAAS,iBAAiB;AAAA,IAC1B,OAAO,CAAC,aAAa,aAAa,EAAE,OAAO,OAAO,EAAE,KAAK,GAAG,KAAK;AAAA,IACjE,OAAO,MAAM,WAAW,CAAC,YAAY,UAAU,CAAC;AAAA,EAAA;AAEpD;AAEA,eAAe,YAAe,UAAkB,OAA2B;AACzE,QAAM,WAAW,MAAM,MAAM,QAAQ;AACrC,MAAI,CAAC,SAAS,GAAI,OAAM,IAAI,MAAM,GAAG,KAAK,IAAI,SAAS,MAAM,EAAE;AAC/D,QAAM,OAAgB,MAAM,SAAS,KAAA;AACrC,MAAI,CAAC,MAAM,QAAQ,IAAI,GAAG;AACxB,UAAM,IAAI,MAAM,GAAG,KAAK,4BAA4B;AAAA,EACtD;AACA,SAAO;AACT;AAEA,SAAS,aAAa,MAAc,OAAwB;AAC1D,QAAM,SAAS,iBAAiB,QAAQ,MAAM,UAAU,OAAO,KAAK;AACpE,SAAO,kBAAkB,IAAI,kBAAkB,MAAM;AACvD;"}
1
+ {"version":3,"file":"ChatWindow.catalogs.js","sources":["../../../src/data/ai/ChatWindow.catalogs.ts"],"sourcesContent":["import { useEffect, useState } from \"react\";\nimport type { ChatModel } from \"../chat/types\";\nimport {\n familiesFromRuntimeCatalog,\n type RuntimeCatalogFamily,\n type SpecRuntimeFamily,\n} from \"../runtime/runtime-mode\";\n\nexport type ChatWindowCatalogOptions = {\n models?: ChatModel[] | undefined;\n modelsApi?: string | null | undefined;\n runtimeFamilies?: SpecRuntimeFamily[] | undefined;\n runtimesApi?: string | null | undefined;\n};\n\nexport type ChatWindowCatalogs = {\n models: ChatModel[];\n runtimeFamilies?: SpecRuntimeFamily[] | undefined;\n loading: boolean;\n error: string | null;\n retry: () => void;\n};\n\nexport function useChatWindowCatalogs({\n models: providedModels,\n modelsApi,\n runtimeFamilies: providedRuntimeFamilies,\n runtimesApi,\n}: ChatWindowCatalogOptions): ChatWindowCatalogs {\n const [models, setModels] = useState<ChatModel[]>(providedModels ?? []);\n const [runtimes, setRuntimes] = useState<RuntimeCatalogFamily[]>();\n const [modelsLoading, setModelsLoading] = useState(false);\n const [runtimesLoading, setRuntimesLoading] = useState(false);\n const [modelsError, setModelsError] = useState<string | null>(null);\n const [runtimesError, setRuntimesError] = useState<string | null>(null);\n const [attempt, setAttempt] = useState(0);\n\n useEffect(() => {\n if (providedModels) setModels(providedModels);\n }, [providedModels]);\n\n useEffect(() => {\n if (providedModels || !modelsApi) return;\n let active = true;\n setModelsLoading(true);\n setModelsError(null);\n void loadCatalog<ChatModel[]>(modelsApi, \"models\")\n .then((data) => {\n if (active) setModels(data);\n })\n .catch((cause) => {\n if (active) setModelsError(errorMessage(\"model\", cause));\n })\n .finally(() => {\n if (active) setModelsLoading(false);\n });\n return () => {\n active = false;\n };\n }, [attempt, modelsApi, providedModels]);\n\n useEffect(() => {\n if (providedRuntimeFamilies || !runtimesApi) return;\n let active = true;\n setRuntimesLoading(true);\n setRuntimesError(null);\n void loadCatalog<RuntimeCatalogFamily[]>(runtimesApi, \"runtimes\")\n .then((data) => {\n if (active) setRuntimes(data);\n })\n .catch((cause) => {\n if (active) setRuntimesError(errorMessage(\"runtime\", cause));\n })\n .finally(() => {\n if (active) setRuntimesLoading(false);\n });\n return () => {\n active = false;\n };\n }, [attempt, providedRuntimeFamilies, runtimesApi]);\n\n return {\n models,\n ...(providedRuntimeFamilies || runtimes\n ? {\n runtimeFamilies:\n providedRuntimeFamilies ?? familiesFromRuntimeCatalog(runtimes),\n }\n : {}),\n loading:\n (modelsLoading && !providedModels) ||\n (runtimesLoading && !providedRuntimeFamilies),\n error:\n [\n providedModels ? null : modelsError,\n providedRuntimeFamilies ? null : runtimesError,\n ]\n .filter(Boolean)\n .join(\" \") || null,\n retry: () => setAttempt((current) => current + 1),\n };\n}\n\nasync function loadCatalog<T>(endpoint: string, label: string): Promise<T> {\n const response = await fetch(endpoint);\n if (!response.ok) throw new Error(`${label} ${response.status}`);\n const data: unknown = await response.json();\n if (!Array.isArray(data)) {\n throw new Error(`${label} response must be an array`);\n }\n return data as T;\n}\n\nfunction errorMessage(kind: string, cause: unknown): string {\n const detail = cause instanceof Error ? cause.message : String(cause);\n return `Unable to load ${kind} availability (${detail}). Check Captain and retry.`;\n}\n"],"names":[],"mappings":";;AAuBO,SAAS,sBAAsB;AAAA,EACpC,QAAQ;AAAA,EACR;AAAA,EACA,iBAAiB;AAAA,EACjB;AACF,GAAiD;AAC/C,QAAM,CAAC,QAAQ,SAAS,IAAI,SAAsB,kBAAkB,CAAA,CAAE;AACtE,QAAM,CAAC,UAAU,WAAW,IAAI,SAAA;AAChC,QAAM,CAAC,eAAe,gBAAgB,IAAI,SAAS,KAAK;AACxD,QAAM,CAAC,iBAAiB,kBAAkB,IAAI,SAAS,KAAK;AAC5D,QAAM,CAAC,aAAa,cAAc,IAAI,SAAwB,IAAI;AAClE,QAAM,CAAC,eAAe,gBAAgB,IAAI,SAAwB,IAAI;AACtE,QAAM,CAAC,SAAS,UAAU,IAAI,SAAS,CAAC;AAExC,YAAU,MAAM;AACd,QAAI,0BAA0B,cAAc;AAAA,EAC9C,GAAG,CAAC,cAAc,CAAC;AAEnB,YAAU,MAAM;AACd,QAAI,kBAAkB,CAAC,UAAW;AAClC,QAAI,SAAS;AACb,qBAAiB,IAAI;AACrB,mBAAe,IAAI;AACnB,SAAK,YAAyB,WAAW,QAAQ,EAC9C,KAAK,CAAC,SAAS;AACd,UAAI,kBAAkB,IAAI;AAAA,IAC5B,CAAC,EACA,MAAM,CAAC,UAAU;AAChB,UAAI,OAAQ,gBAAe,aAAa,SAAS,KAAK,CAAC;AAAA,IACzD,CAAC,EACA,QAAQ,MAAM;AACb,UAAI,yBAAyB,KAAK;AAAA,IACpC,CAAC;AACH,WAAO,MAAM;AACX,eAAS;AAAA,IACX;AAAA,EACF,GAAG,CAAC,SAAS,WAAW,cAAc,CAAC;AAEvC,YAAU,MAAM;AACd,QAAI,2BAA2B,CAAC,YAAa;AAC7C,QAAI,SAAS;AACb,uBAAmB,IAAI;AACvB,qBAAiB,IAAI;AACrB,SAAK,YAAoC,aAAa,UAAU,EAC7D,KAAK,CAAC,SAAS;AACd,UAAI,oBAAoB,IAAI;AAAA,IAC9B,CAAC,EACA,MAAM,CAAC,UAAU;AAChB,UAAI,OAAQ,kBAAiB,aAAa,WAAW,KAAK,CAAC;AAAA,IAC7D,CAAC,EACA,QAAQ,MAAM;AACb,UAAI,2BAA2B,KAAK;AAAA,IACtC,CAAC;AACH,WAAO,MAAM;AACX,eAAS;AAAA,IACX;AAAA,EACF,GAAG,CAAC,SAAS,yBAAyB,WAAW,CAAC;AAElD,SAAO;AAAA,IACL;AAAA,IACA,GAAI,2BAA2B,WAC3B;AAAA,MACE,iBACE,2BAA2B,2BAA2B,QAAQ;AAAA,IAAA,IAElE,CAAA;AAAA,IACJ,SACG,iBAAiB,CAAC,kBAClB,mBAAmB,CAAC;AAAA,IACvB,OACE;AAAA,MACE,iBAAiB,OAAO;AAAA,MACxB,0BAA0B,OAAO;AAAA,IAAA,EAEhC,OAAO,OAAO,EACd,KAAK,GAAG,KAAK;AAAA,IAClB,OAAO,MAAM,WAAW,CAAC,YAAY,UAAU,CAAC;AAAA,EAAA;AAEpD;AAEA,eAAe,YAAe,UAAkB,OAA2B;AACzE,QAAM,WAAW,MAAM,MAAM,QAAQ;AACrC,MAAI,CAAC,SAAS,GAAI,OAAM,IAAI,MAAM,GAAG,KAAK,IAAI,SAAS,MAAM,EAAE;AAC/D,QAAM,OAAgB,MAAM,SAAS,KAAA;AACrC,MAAI,CAAC,MAAM,QAAQ,IAAI,GAAG;AACxB,UAAM,IAAI,MAAM,GAAG,KAAK,4BAA4B;AAAA,EACtD;AACA,SAAO;AACT;AAEA,SAAS,aAAa,MAAc,OAAwB;AAC1D,QAAM,SAAS,iBAAiB,QAAQ,MAAM,UAAU,OAAO,KAAK;AACpE,SAAO,kBAAkB,IAAI,kBAAkB,MAAM;AACvD;"}
@@ -107,6 +107,7 @@ function ChatWindow({
107
107
  } = ChatWindow_catalogs.useChatWindowCatalogs({
108
108
  models: chat == null ? void 0 : chat.models,
109
109
  modelsApi,
110
+ runtimeFamilies: chat == null ? void 0 : chat.runtimeFamilies,
110
111
  runtimesApi
111
112
  });
112
113
  const {