@flanksource/clicky-ui 0.3.16 → 0.3.18
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.
- package/dist/ai.cjs +12 -6
- package/dist/ai.cjs.map +1 -1
- package/dist/ai.js +10 -4
- package/dist/ai.js.map +1 -1
- package/dist/chat.cjs +36 -0
- package/dist/chat.cjs.map +1 -1
- package/dist/chat.js +37 -1
- package/dist/chat.js.map +1 -1
- package/dist/components/Combobox.cjs +122 -153
- package/dist/components/Combobox.cjs.map +1 -1
- package/dist/components/Combobox.d.ts.map +1 -1
- package/dist/components/Combobox.js +124 -155
- package/dist/components/Combobox.js.map +1 -1
- package/dist/components/ComboboxControl.cjs +145 -0
- package/dist/components/ComboboxControl.cjs.map +1 -0
- package/dist/components/ComboboxControl.d.ts +37 -0
- package/dist/components/ComboboxControl.d.ts.map +1 -0
- package/dist/components/ComboboxControl.js +145 -0
- package/dist/components/ComboboxControl.js.map +1 -0
- package/dist/components/ComboboxMenu.cjs +31 -14
- package/dist/components/ComboboxMenu.cjs.map +1 -1
- package/dist/components/ComboboxMenu.d.ts.map +1 -1
- package/dist/components/ComboboxMenu.js +31 -14
- package/dist/components/ComboboxMenu.js.map +1 -1
- package/dist/components/ComboboxTags.cjs +40 -0
- package/dist/components/ComboboxTags.cjs.map +1 -0
- package/dist/components/ComboboxTags.d.ts +8 -0
- package/dist/components/ComboboxTags.d.ts.map +1 -0
- package/dist/components/ComboboxTags.js +40 -0
- package/dist/components/ComboboxTags.js.map +1 -0
- package/dist/components/ErrorWrapper.cjs +168 -0
- package/dist/components/ErrorWrapper.cjs.map +1 -0
- package/dist/components/ErrorWrapper.d.ts +19 -0
- package/dist/components/ErrorWrapper.d.ts.map +1 -0
- package/dist/components/ErrorWrapper.js +168 -0
- package/dist/components/ErrorWrapper.js.map +1 -0
- package/dist/components/FilterBar.cjs +64 -2
- package/dist/components/FilterBar.cjs.map +1 -1
- package/dist/components/FilterBar.d.ts +18 -1
- package/dist/components/FilterBar.d.ts.map +1 -1
- package/dist/components/FilterBar.js +64 -2
- package/dist/components/FilterBar.js.map +1 -1
- package/dist/components/JSONPathField.cjs +91 -0
- package/dist/components/JSONPathField.cjs.map +1 -0
- package/dist/components/JSONPathField.d.ts +19 -0
- package/dist/components/JSONPathField.d.ts.map +1 -0
- package/dist/components/JSONPathField.js +91 -0
- package/dist/components/JSONPathField.js.map +1 -0
- package/dist/components/JsonSchemaForm.cjs +8 -4
- package/dist/components/JsonSchemaForm.cjs.map +1 -1
- package/dist/components/JsonSchemaForm.d.ts.map +1 -1
- package/dist/components/JsonSchemaForm.js +8 -4
- package/dist/components/JsonSchemaForm.js.map +1 -1
- package/dist/components/TreePickerField.cjs +22 -4
- package/dist/components/TreePickerField.cjs.map +1 -1
- package/dist/components/TreePickerField.d.ts +22 -2
- package/dist/components/TreePickerField.d.ts.map +1 -1
- package/dist/components/TreePickerField.js +22 -4
- package/dist/components/TreePickerField.js.map +1 -1
- package/dist/components/TriStateToggle.cjs +53 -0
- package/dist/components/TriStateToggle.cjs.map +1 -0
- package/dist/components/TriStateToggle.d.ts +27 -0
- package/dist/components/TriStateToggle.d.ts.map +1 -0
- package/dist/components/TriStateToggle.js +53 -0
- package/dist/components/TriStateToggle.js.map +1 -0
- package/dist/components/combobox-types.d.ts +16 -1
- package/dist/components/combobox-types.d.ts.map +1 -1
- package/dist/components/combobox-utils.cjs +26 -0
- package/dist/components/combobox-utils.cjs.map +1 -1
- package/dist/components/combobox-utils.d.ts +10 -0
- package/dist/components/combobox-utils.d.ts.map +1 -1
- package/dist/components/combobox-utils.js +26 -0
- package/dist/components/combobox-utils.js.map +1 -1
- package/dist/components/filter-bar-utils.cjs +5 -0
- package/dist/components/filter-bar-utils.cjs.map +1 -1
- package/dist/components/filter-bar-utils.d.ts.map +1 -1
- package/dist/components/filter-bar-utils.js +5 -0
- package/dist/components/filter-bar-utils.js.map +1 -1
- package/dist/components/json-schema-form-accordion-array.cjs +290 -0
- package/dist/components/json-schema-form-accordion-array.cjs.map +1 -0
- package/dist/components/json-schema-form-accordion-array.d.ts +7 -0
- package/dist/components/json-schema-form-accordion-array.d.ts.map +1 -0
- package/dist/components/json-schema-form-accordion-array.js +290 -0
- package/dist/components/json-schema-form-accordion-array.js.map +1 -0
- package/dist/components/json-schema-form-array.cjs +99 -110
- package/dist/components/json-schema-form-array.cjs.map +1 -1
- package/dist/components/json-schema-form-array.d.ts +1 -1
- package/dist/components/json-schema-form-array.d.ts.map +1 -1
- package/dist/components/json-schema-form-array.js +98 -109
- package/dist/components/json-schema-form-array.js.map +1 -1
- package/dist/components/json-schema-form-error-display.cjs +4 -2
- package/dist/components/json-schema-form-error-display.cjs.map +1 -1
- package/dist/components/json-schema-form-error-display.d.ts +4 -2
- package/dist/components/json-schema-form-error-display.d.ts.map +1 -1
- package/dist/components/json-schema-form-error-display.js +4 -2
- package/dist/components/json-schema-form-error-display.js.map +1 -1
- package/dist/components/json-schema-form-extensions.cjs +10 -0
- package/dist/components/json-schema-form-extensions.cjs.map +1 -0
- package/dist/components/json-schema-form-extensions.d.ts +8 -0
- package/dist/components/json-schema-form-extensions.d.ts.map +1 -0
- package/dist/components/json-schema-form-extensions.js +10 -0
- package/dist/components/json-schema-form-extensions.js.map +1 -0
- package/dist/components/json-schema-form-fields.cjs +25 -101
- package/dist/components/json-schema-form-fields.cjs.map +1 -1
- package/dist/components/json-schema-form-fields.d.ts +1 -32
- package/dist/components/json-schema-form-fields.d.ts.map +1 -1
- package/dist/components/json-schema-form-fields.js +28 -104
- package/dist/components/json-schema-form-fields.js.map +1 -1
- package/dist/components/json-schema-form-item-summary.cjs +131 -0
- package/dist/components/json-schema-form-item-summary.cjs.map +1 -0
- package/dist/components/json-schema-form-item-summary.d.ts +13 -0
- package/dist/components/json-schema-form-item-summary.d.ts.map +1 -0
- package/dist/components/json-schema-form-item-summary.js +131 -0
- package/dist/components/json-schema-form-item-summary.js.map +1 -0
- package/dist/components/json-schema-form-layout.cjs +156 -0
- package/dist/components/json-schema-form-layout.cjs.map +1 -0
- package/dist/components/json-schema-form-layout.d.ts +43 -0
- package/dist/components/json-schema-form-layout.d.ts.map +1 -0
- package/dist/components/json-schema-form-layout.js +156 -0
- package/dist/components/json-schema-form-layout.js.map +1 -0
- package/dist/components/json-schema-form-lookup-tree.cjs +149 -0
- package/dist/components/json-schema-form-lookup-tree.cjs.map +1 -0
- package/dist/components/json-schema-form-lookup-tree.d.ts +22 -0
- package/dist/components/json-schema-form-lookup-tree.d.ts.map +1 -0
- package/dist/components/json-schema-form-lookup-tree.js +149 -0
- package/dist/components/json-schema-form-lookup-tree.js.map +1 -0
- package/dist/components/json-schema-form-object.cjs +11 -4
- package/dist/components/json-schema-form-object.cjs.map +1 -1
- package/dist/components/json-schema-form-object.d.ts.map +1 -1
- package/dist/components/json-schema-form-object.js +11 -4
- package/dist/components/json-schema-form-object.js.map +1 -1
- package/dist/components/json-schema-form-render.cjs +51 -28
- package/dist/components/json-schema-form-render.cjs.map +1 -1
- package/dist/components/json-schema-form-render.d.ts.map +1 -1
- package/dist/components/json-schema-form-render.js +51 -28
- package/dist/components/json-schema-form-render.js.map +1 -1
- package/dist/components/json-schema-form-resolve.cjs +62 -13
- package/dist/components/json-schema-form-resolve.cjs.map +1 -1
- package/dist/components/json-schema-form-resolve.d.ts +1 -0
- package/dist/components/json-schema-form-resolve.d.ts.map +1 -1
- package/dist/components/json-schema-form-resolve.js +62 -13
- package/dist/components/json-schema-form-resolve.js.map +1 -1
- package/dist/components/json-schema-form-table-array.cjs +123 -0
- package/dist/components/json-schema-form-table-array.cjs.map +1 -0
- package/dist/components/json-schema-form-table-array.d.ts +7 -0
- package/dist/components/json-schema-form-table-array.d.ts.map +1 -0
- package/dist/components/json-schema-form-table-array.js +123 -0
- package/dist/components/json-schema-form-table-array.js.map +1 -0
- package/dist/components/json-schema-form-tone.cjs +34 -0
- package/dist/components/json-schema-form-tone.cjs.map +1 -0
- package/dist/components/json-schema-form-tone.d.ts +8 -0
- package/dist/components/json-schema-form-tone.d.ts.map +1 -0
- package/dist/components/json-schema-form-tone.js +34 -0
- package/dist/components/json-schema-form-tone.js.map +1 -0
- package/dist/components/json-schema-form-types.d.ts +79 -10
- package/dist/components/json-schema-form-types.d.ts.map +1 -1
- package/dist/components/json-schema-form-utils.cjs +47 -4
- package/dist/components/json-schema-form-utils.cjs.map +1 -1
- package/dist/components/json-schema-form-utils.d.ts +19 -4
- package/dist/components/json-schema-form-utils.d.ts.map +1 -1
- package/dist/components/json-schema-form-utils.js +47 -4
- package/dist/components/json-schema-form-utils.js.map +1 -1
- package/dist/components/tri-state.cjs +8 -0
- package/dist/components/tri-state.cjs.map +1 -0
- package/dist/components/tri-state.d.ts +5 -0
- package/dist/components/tri-state.d.ts.map +1 -0
- package/dist/components/tri-state.js +8 -0
- package/dist/components/tri-state.js.map +1 -0
- package/dist/components/useComboboxLayout.cjs +59 -0
- package/dist/components/useComboboxLayout.cjs.map +1 -0
- package/dist/components/useComboboxLayout.d.ts +5 -0
- package/dist/components/useComboboxLayout.d.ts.map +1 -0
- package/dist/components/useComboboxLayout.js +59 -0
- package/dist/components/useComboboxLayout.js.map +1 -0
- package/dist/components.cjs +21 -0
- package/dist/components.cjs.map +1 -1
- package/dist/components.d.ts +14 -4
- package/dist/components.d.ts.map +1 -1
- package/dist/components.js +22 -1
- package/dist/components.js.map +1 -1
- package/dist/data/Clicky.cjs +51 -2
- package/dist/data/Clicky.cjs.map +1 -1
- package/dist/data/Clicky.d.ts +10 -1
- package/dist/data/Clicky.d.ts.map +1 -1
- package/dist/data/Clicky.js +51 -2
- package/dist/data/Clicky.js.map +1 -1
- package/dist/data/DataTable.cjs +215 -63
- package/dist/data/DataTable.cjs.map +1 -1
- package/dist/data/DataTable.d.ts +65 -3
- package/dist/data/DataTable.d.ts.map +1 -1
- package/dist/data/DataTable.js +215 -63
- package/dist/data/DataTable.js.map +1 -1
- package/dist/data/LogsTable.cjs +10 -1
- package/dist/data/LogsTable.cjs.map +1 -1
- package/dist/data/LogsTable.d.ts +3 -1
- package/dist/data/LogsTable.d.ts.map +1 -1
- package/dist/data/LogsTable.js +10 -1
- package/dist/data/LogsTable.js.map +1 -1
- package/dist/data/ServerTimingBadge.cjs +64 -0
- package/dist/data/ServerTimingBadge.cjs.map +1 -0
- package/dist/data/ServerTimingBadge.d.ts +9 -0
- package/dist/data/ServerTimingBadge.d.ts.map +1 -0
- package/dist/data/ServerTimingBadge.js +64 -0
- package/dist/data/ServerTimingBadge.js.map +1 -0
- package/dist/data/TaskManager.cjs +99 -14
- package/dist/data/TaskManager.cjs.map +1 -1
- package/dist/data/TaskManager.d.ts.map +1 -1
- package/dist/data/TaskManager.js +100 -15
- package/dist/data/TaskManager.js.map +1 -1
- package/dist/data/TaskProgress.cjs +50 -11
- package/dist/data/TaskProgress.cjs.map +1 -1
- package/dist/data/TaskProgress.d.ts +2 -1
- package/dist/data/TaskProgress.d.ts.map +1 -1
- package/dist/data/TaskProgress.js +50 -11
- package/dist/data/TaskProgress.js.map +1 -1
- package/dist/data/ai/AdvancedChatConfig.cjs +289 -0
- package/dist/data/ai/AdvancedChatConfig.cjs.map +1 -0
- package/dist/data/ai/AdvancedChatConfig.d.ts +21 -0
- package/dist/data/ai/AdvancedChatConfig.d.ts.map +1 -0
- package/dist/data/ai/AdvancedChatConfig.js +289 -0
- package/dist/data/ai/AdvancedChatConfig.js.map +1 -0
- package/dist/data/ai/AdvancedCostsPanel.cjs +120 -0
- package/dist/data/ai/AdvancedCostsPanel.cjs.map +1 -0
- package/dist/data/ai/AdvancedCostsPanel.d.ts +16 -0
- package/dist/data/ai/AdvancedCostsPanel.d.ts.map +1 -0
- package/dist/data/ai/AdvancedCostsPanel.js +120 -0
- package/dist/data/ai/AdvancedCostsPanel.js.map +1 -0
- package/dist/data/ai/ChatWindow.catalogs.cjs +74 -0
- package/dist/data/ai/ChatWindow.catalogs.cjs.map +1 -0
- package/dist/data/ai/ChatWindow.catalogs.d.ts +16 -0
- package/dist/data/ai/ChatWindow.catalogs.d.ts.map +1 -0
- package/dist/data/ai/ChatWindow.catalogs.js +74 -0
- package/dist/data/ai/ChatWindow.catalogs.js.map +1 -0
- package/dist/data/ai/ChatWindow.cjs +86 -100
- package/dist/data/ai/ChatWindow.cjs.map +1 -1
- package/dist/data/ai/ChatWindow.d.ts +1 -1
- package/dist/data/ai/ChatWindow.d.ts.map +1 -1
- package/dist/data/ai/ChatWindow.js +88 -102
- package/dist/data/ai/ChatWindow.js.map +1 -1
- package/dist/data/ai/ChatWindow.preferences.cjs.map +1 -1
- package/dist/data/ai/ChatWindow.preferences.d.ts +2 -4
- package/dist/data/ai/ChatWindow.preferences.d.ts.map +1 -1
- package/dist/data/ai/ChatWindow.preferences.js.map +1 -1
- package/dist/data/ai/ChatWindow.runtime.cjs +120 -0
- package/dist/data/ai/ChatWindow.runtime.cjs.map +1 -0
- package/dist/data/ai/ChatWindow.runtime.d.ts +20 -0
- package/dist/data/ai/ChatWindow.runtime.d.ts.map +1 -0
- package/dist/data/ai/ChatWindow.runtime.js +120 -0
- package/dist/data/ai/ChatWindow.runtime.js.map +1 -0
- package/dist/data/ai/ChatWindow.thread-status.cjs +14 -0
- package/dist/data/ai/ChatWindow.thread-status.cjs.map +1 -0
- package/dist/data/ai/ChatWindow.thread-status.d.ts +5 -0
- package/dist/data/ai/ChatWindow.thread-status.d.ts.map +1 -0
- package/dist/data/ai/ChatWindow.thread-status.js +14 -0
- package/dist/data/ai/ChatWindow.thread-status.js.map +1 -0
- package/dist/data/ai/ChatWindow.thread.cjs +68 -0
- package/dist/data/ai/ChatWindow.thread.cjs.map +1 -0
- package/dist/data/ai/ChatWindow.thread.d.ts +16 -0
- package/dist/data/ai/ChatWindow.thread.d.ts.map +1 -0
- package/dist/data/ai/ChatWindow.thread.js +68 -0
- package/dist/data/ai/ChatWindow.thread.js.map +1 -0
- package/dist/data/ai/ChatWindow.tool-catalog.cjs +20 -0
- package/dist/data/ai/ChatWindow.tool-catalog.cjs.map +1 -1
- package/dist/data/ai/ChatWindow.tool-catalog.d.ts +17 -1
- package/dist/data/ai/ChatWindow.tool-catalog.d.ts.map +1 -1
- package/dist/data/ai/ChatWindow.tool-catalog.js +20 -0
- package/dist/data/ai/ChatWindow.tool-catalog.js.map +1 -1
- package/dist/data/ai/ChatWindow.types.d.ts +13 -5
- package/dist/data/ai/ChatWindow.types.d.ts.map +1 -1
- package/dist/data/ai/ChatWindowManager.cjs +3 -1
- package/dist/data/ai/ChatWindowManager.cjs.map +1 -1
- package/dist/data/ai/ChatWindowManager.d.ts.map +1 -1
- package/dist/data/ai/ChatWindowManager.js +3 -1
- package/dist/data/ai/ChatWindowManager.js.map +1 -1
- package/dist/data/ai/PromptPicker/PromptPicker.cjs +1 -1
- package/dist/data/ai/PromptPicker/PromptPicker.cjs.map +1 -1
- package/dist/data/ai/PromptPicker/PromptPicker.d.ts +1 -1
- package/dist/data/ai/PromptPicker/PromptPicker.d.ts.map +1 -1
- package/dist/data/ai/PromptPicker/PromptPicker.js +1 -1
- package/dist/data/ai/PromptPicker/PromptPicker.js.map +1 -1
- package/dist/data/ai/PromptRunEditor/index.cjs +101 -89
- package/dist/data/ai/PromptRunEditor/index.cjs.map +1 -1
- package/dist/data/ai/PromptRunEditor/index.d.ts +6 -10
- package/dist/data/ai/PromptRunEditor/index.d.ts.map +1 -1
- package/dist/data/ai/PromptRunEditor/index.js +103 -91
- package/dist/data/ai/PromptRunEditor/index.js.map +1 -1
- package/dist/data/ai/PromptRunEditor/model.cjs +47 -0
- package/dist/data/ai/PromptRunEditor/model.cjs.map +1 -0
- package/dist/data/ai/PromptRunEditor/model.d.ts +17 -0
- package/dist/data/ai/PromptRunEditor/model.d.ts.map +1 -0
- package/dist/data/ai/PromptRunEditor/model.js +47 -0
- package/dist/data/ai/PromptRunEditor/model.js.map +1 -0
- package/dist/data/ai/RuntimeModePicker.cjs +1 -1
- package/dist/data/ai/RuntimeModePicker.cjs.map +1 -1
- package/dist/data/ai/RuntimeModePicker.d.ts +1 -1
- package/dist/data/ai/RuntimeModePicker.d.ts.map +1 -1
- package/dist/data/ai/RuntimeModePicker.js +1 -1
- package/dist/data/ai/RuntimeModePicker.js.map +1 -1
- package/dist/data/ai/SessionInspector.files.cjs +26 -43
- package/dist/data/ai/SessionInspector.files.cjs.map +1 -1
- package/dist/data/ai/SessionInspector.files.d.ts.map +1 -1
- package/dist/data/ai/SessionInspector.files.js +26 -43
- package/dist/data/ai/SessionInspector.files.js.map +1 -1
- package/dist/data/ai/SessionInspector.hierarchy.cjs +1 -1
- package/dist/data/ai/SessionInspector.hierarchy.cjs.map +1 -1
- package/dist/data/ai/SessionInspector.hierarchy.js +1 -1
- package/dist/data/ai/SessionInspector.hierarchy.js.map +1 -1
- package/dist/data/ai/SessionInspector.model.cjs +1 -1
- package/dist/data/ai/SessionInspector.model.cjs.map +1 -1
- package/dist/data/ai/SessionInspector.model.js +1 -1
- package/dist/data/ai/SessionInspector.model.js.map +1 -1
- package/dist/data/ai/SessionViewer.header.cjs +17 -9
- package/dist/data/ai/SessionViewer.header.cjs.map +1 -1
- package/dist/data/ai/SessionViewer.header.d.ts.map +1 -1
- package/dist/data/ai/SessionViewer.header.js +17 -9
- package/dist/data/ai/SessionViewer.header.js.map +1 -1
- package/dist/data/ai/SessionViewer.model.cjs +2 -0
- package/dist/data/ai/SessionViewer.model.cjs.map +1 -1
- package/dist/data/ai/SessionViewer.model.d.ts +4 -0
- package/dist/data/ai/SessionViewer.model.d.ts.map +1 -1
- package/dist/data/ai/SessionViewer.model.js +2 -0
- package/dist/data/ai/SessionViewer.model.js.map +1 -1
- package/dist/data/ai/SessionViewer.rows.cjs +4 -16
- package/dist/data/ai/SessionViewer.rows.cjs.map +1 -1
- package/dist/data/ai/SessionViewer.rows.d.ts.map +1 -1
- package/dist/data/ai/SessionViewer.rows.js +4 -16
- package/dist/data/ai/SessionViewer.rows.js.map +1 -1
- package/dist/data/ai/SessionViewer.unified.d.ts +1 -0
- package/dist/data/ai/SessionViewer.unified.d.ts.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/ModelSection.cjs +12 -3
- package/dist/data/ai/SpecRuntimeEditor/ModelSection.cjs.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/ModelSection.d.ts +1 -1
- package/dist/data/ai/SpecRuntimeEditor/ModelSection.d.ts.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/ModelSection.js +12 -3
- package/dist/data/ai/SpecRuntimeEditor/ModelSection.js.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/VerifySection.cjs.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/VerifySection.d.ts +1 -1
- package/dist/data/ai/SpecRuntimeEditor/VerifySection.d.ts.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/VerifySection.js.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/index.cjs.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/index.d.ts +2 -2
- package/dist/data/ai/SpecRuntimeEditor/index.d.ts.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/index.js.map +1 -1
- package/dist/data/ai/ThreadPicker.cjs +65 -3
- package/dist/data/ai/ThreadPicker.cjs.map +1 -1
- package/dist/data/ai/ThreadPicker.d.ts +13 -5
- package/dist/data/ai/ThreadPicker.d.ts.map +1 -1
- package/dist/data/ai/ThreadPicker.js +65 -3
- package/dist/data/ai/ThreadPicker.js.map +1 -1
- package/dist/data/ai/ToolPreferences.cjs +65 -685
- package/dist/data/ai/ToolPreferences.cjs.map +1 -1
- package/dist/data/ai/ToolPreferences.d.ts +15 -17
- package/dist/data/ai/ToolPreferences.d.ts.map +1 -1
- package/dist/data/ai/ToolPreferences.js +64 -683
- package/dist/data/ai/ToolPreferences.js.map +1 -1
- package/dist/data/ai/ToolPreferences.model.cjs +148 -0
- package/dist/data/ai/ToolPreferences.model.cjs.map +1 -0
- package/dist/data/ai/ToolPreferences.model.d.ts +31 -0
- package/dist/data/ai/ToolPreferences.model.d.ts.map +1 -0
- package/dist/data/ai/ToolPreferences.model.js +148 -0
- package/dist/data/ai/ToolPreferences.model.js.map +1 -0
- package/dist/data/ai/ToolPreferencesList.cjs +270 -0
- package/dist/data/ai/ToolPreferencesList.cjs.map +1 -0
- package/dist/data/ai/ToolPreferencesList.d.ts +18 -0
- package/dist/data/ai/ToolPreferencesList.d.ts.map +1 -0
- package/dist/data/ai/ToolPreferencesList.js +270 -0
- package/dist/data/ai/ToolPreferencesList.js.map +1 -0
- package/dist/data/ai/agent-action-icons.cjs.map +1 -1
- package/dist/data/ai/agent-action-icons.js.map +1 -1
- package/dist/data/ai/chat-window-context.cjs +4 -1
- package/dist/data/ai/chat-window-context.cjs.map +1 -1
- package/dist/data/ai/chat-window-context.d.ts +7 -0
- package/dist/data/ai/chat-window-context.d.ts.map +1 -1
- package/dist/data/ai/chat-window-context.js +4 -1
- package/dist/data/ai/chat-window-context.js.map +1 -1
- package/dist/data/ai/index.d.ts +7 -3
- package/dist/data/ai/index.d.ts.map +1 -1
- package/dist/data/ai/session-tones.cjs +67 -0
- package/dist/data/ai/session-tones.cjs.map +1 -0
- package/dist/data/ai/session-tones.d.ts +34 -0
- package/dist/data/ai/session-tones.d.ts.map +1 -0
- package/dist/data/ai/session-tones.js +67 -0
- package/dist/data/ai/session-tones.js.map +1 -0
- package/dist/data/ai/thread-costs.cjs +39 -0
- package/dist/data/ai/thread-costs.cjs.map +1 -0
- package/dist/data/ai/thread-costs.d.ts +62 -0
- package/dist/data/ai/thread-costs.d.ts.map +1 -0
- package/dist/data/ai/thread-costs.js +39 -0
- package/dist/data/ai/thread-costs.js.map +1 -0
- package/dist/data/cells/CellFilterActions.cjs +68 -0
- package/dist/data/cells/CellFilterActions.cjs.map +1 -0
- package/dist/data/cells/CellFilterActions.d.ts +15 -0
- package/dist/data/cells/CellFilterActions.d.ts.map +1 -0
- package/dist/data/cells/CellFilterActions.js +68 -0
- package/dist/data/cells/CellFilterActions.js.map +1 -0
- package/dist/data/chat/Chat.cjs +192 -80
- package/dist/data/chat/Chat.cjs.map +1 -1
- package/dist/data/chat/Chat.d.ts +24 -4
- package/dist/data/chat/Chat.d.ts.map +1 -1
- package/dist/data/chat/Chat.fixtures.cjs +48 -3
- package/dist/data/chat/Chat.fixtures.cjs.map +1 -1
- package/dist/data/chat/Chat.fixtures.d.ts +1 -1
- package/dist/data/chat/Chat.fixtures.d.ts.map +1 -1
- package/dist/data/chat/Chat.fixtures.js +48 -3
- package/dist/data/chat/Chat.fixtures.js.map +1 -1
- package/dist/data/chat/Chat.js +195 -83
- package/dist/data/chat/Chat.js.map +1 -1
- package/dist/data/chat/Chat.runtime.cjs +63 -0
- package/dist/data/chat/Chat.runtime.cjs.map +1 -0
- package/dist/data/chat/Chat.runtime.d.ts +16 -0
- package/dist/data/chat/Chat.runtime.d.ts.map +1 -0
- package/dist/data/chat/Chat.runtime.js +63 -0
- package/dist/data/chat/Chat.runtime.js.map +1 -0
- package/dist/data/chat/ChatRuntimeToolbar.cjs +62 -0
- package/dist/data/chat/ChatRuntimeToolbar.cjs.map +1 -0
- package/dist/data/chat/ChatRuntimeToolbar.d.ts +14 -0
- package/dist/data/chat/ChatRuntimeToolbar.d.ts.map +1 -0
- package/dist/data/chat/ChatRuntimeToolbar.js +62 -0
- package/dist/data/chat/ChatRuntimeToolbar.js.map +1 -0
- package/dist/data/chat/ContextMeter.cjs +144 -73
- package/dist/data/chat/ContextMeter.cjs.map +1 -1
- package/dist/data/chat/ContextMeter.d.ts +8 -3
- package/dist/data/chat/ContextMeter.d.ts.map +1 -1
- package/dist/data/chat/ContextMeter.js +144 -73
- package/dist/data/chat/ContextMeter.js.map +1 -1
- package/dist/data/chat/ToolCall.cjs +86 -24
- package/dist/data/chat/ToolCall.cjs.map +1 -1
- package/dist/data/chat/ToolCall.d.ts +12 -5
- package/dist/data/chat/ToolCall.d.ts.map +1 -1
- package/dist/data/chat/ToolCall.js +86 -24
- package/dist/data/chat/ToolCall.js.map +1 -1
- package/dist/data/chat/approval.cjs +64 -0
- package/dist/data/chat/approval.cjs.map +1 -0
- package/dist/data/chat/approval.d.ts +18 -0
- package/dist/data/chat/approval.d.ts.map +1 -0
- package/dist/data/chat/approval.js +64 -0
- package/dist/data/chat/approval.js.map +1 -0
- package/dist/data/chat/index.d.ts +5 -3
- package/dist/data/chat/index.d.ts.map +1 -1
- package/dist/data/chat/tool-render/ToolArgs.cjs +50 -0
- package/dist/data/chat/tool-render/ToolArgs.cjs.map +1 -0
- package/dist/data/chat/tool-render/ToolArgs.d.ts +7 -0
- package/dist/data/chat/tool-render/ToolArgs.d.ts.map +1 -0
- package/dist/data/chat/tool-render/ToolArgs.js +50 -0
- package/dist/data/chat/tool-render/ToolArgs.js.map +1 -0
- package/dist/data/chat/tool-render/ToolParams.cjs +155 -0
- package/dist/data/chat/tool-render/ToolParams.cjs.map +1 -0
- package/dist/data/chat/tool-render/ToolParams.d.ts +20 -0
- package/dist/data/chat/tool-render/ToolParams.d.ts.map +1 -0
- package/dist/data/chat/tool-render/ToolParams.js +155 -0
- package/dist/data/chat/tool-render/ToolParams.js.map +1 -0
- package/dist/data/chat/tool-render/ToolValue.cjs +140 -0
- package/dist/data/chat/tool-render/ToolValue.cjs.map +1 -0
- package/dist/data/chat/tool-render/ToolValue.d.ts +16 -0
- package/dist/data/chat/tool-render/ToolValue.d.ts.map +1 -0
- package/dist/data/chat/tool-render/ToolValue.js +140 -0
- package/dist/data/chat/tool-render/ToolValue.js.map +1 -0
- package/dist/data/chat/tool-render/adapter.cjs +48 -0
- package/dist/data/chat/tool-render/adapter.cjs.map +1 -0
- package/dist/data/chat/tool-render/adapter.d.ts +57 -0
- package/dist/data/chat/tool-render/adapter.d.ts.map +1 -0
- package/dist/data/chat/tool-render/adapter.js +48 -0
- package/dist/data/chat/tool-render/adapter.js.map +1 -0
- package/dist/data/chat/tool-render/context.cjs +16 -0
- package/dist/data/chat/tool-render/context.cjs.map +1 -0
- package/dist/data/chat/tool-render/context.d.ts +6 -0
- package/dist/data/chat/tool-render/context.d.ts.map +1 -0
- package/dist/data/chat/tool-render/context.js +16 -0
- package/dist/data/chat/tool-render/context.js.map +1 -0
- package/dist/data/chat/tool-render/defaults.cjs +45 -0
- package/dist/data/chat/tool-render/defaults.cjs.map +1 -0
- package/dist/data/chat/tool-render/defaults.d.ts +11 -0
- package/dist/data/chat/tool-render/defaults.d.ts.map +1 -0
- package/dist/data/chat/tool-render/defaults.js +45 -0
- package/dist/data/chat/tool-render/defaults.js.map +1 -0
- package/dist/data/chat/tool-render/index.d.ts +13 -0
- package/dist/data/chat/tool-render/index.d.ts.map +1 -0
- package/dist/data/chat/tool-render/known-tool-views.cjs +208 -0
- package/dist/data/chat/tool-render/known-tool-views.cjs.map +1 -0
- package/dist/data/chat/tool-render/known-tool-views.d.ts +10 -0
- package/dist/data/chat/tool-render/known-tool-views.d.ts.map +1 -0
- package/dist/data/chat/tool-render/known-tool-views.js +208 -0
- package/dist/data/chat/tool-render/known-tool-views.js.map +1 -0
- package/dist/data/chat/tool-render/known-tools.cjs +58 -0
- package/dist/data/chat/tool-render/known-tools.cjs.map +1 -0
- package/dist/data/chat/tool-render/known-tools.d.ts +4 -0
- package/dist/data/chat/tool-render/known-tools.d.ts.map +1 -0
- package/dist/data/chat/tool-render/known-tools.js +58 -0
- package/dist/data/chat/tool-render/known-tools.js.map +1 -0
- package/dist/data/chat/tool-render/normalize.cjs +42 -0
- package/dist/data/chat/tool-render/normalize.cjs.map +1 -0
- package/dist/data/chat/tool-render/normalize.d.ts +13 -0
- package/dist/data/chat/tool-render/normalize.d.ts.map +1 -0
- package/dist/data/chat/tool-render/normalize.js +42 -0
- package/dist/data/chat/tool-render/normalize.js.map +1 -0
- package/dist/data/chat/tool-render/registry.cjs +14 -0
- package/dist/data/chat/tool-render/registry.cjs.map +1 -0
- package/dist/data/chat/tool-render/registry.d.ts +7 -0
- package/dist/data/chat/tool-render/registry.d.ts.map +1 -0
- package/dist/data/chat/tool-render/registry.js +14 -0
- package/dist/data/chat/tool-render/registry.js.map +1 -0
- package/dist/data/chat/tool-render/schema.cjs +57 -0
- package/dist/data/chat/tool-render/schema.cjs.map +1 -0
- package/dist/data/chat/tool-render/schema.d.ts +28 -0
- package/dist/data/chat/tool-render/schema.d.ts.map +1 -0
- package/dist/data/chat/tool-render/schema.js +57 -0
- package/dist/data/chat/tool-render/schema.js.map +1 -0
- package/dist/data/chat/tool-render/shape.cjs +94 -0
- package/dist/data/chat/tool-render/shape.cjs.map +1 -0
- package/dist/data/chat/tool-render/shape.d.ts +39 -0
- package/dist/data/chat/tool-render/shape.d.ts.map +1 -0
- package/dist/data/chat/tool-render/shape.js +94 -0
- package/dist/data/chat/tool-render/shape.js.map +1 -0
- package/dist/data/chat/tool-render/summary.cjs +34 -0
- package/dist/data/chat/tool-render/summary.cjs.map +1 -0
- package/dist/data/chat/tool-render/summary.d.ts +8 -0
- package/dist/data/chat/tool-render/summary.d.ts.map +1 -0
- package/dist/data/chat/tool-render/summary.js +34 -0
- package/dist/data/chat/tool-render/summary.js.map +1 -0
- package/dist/data/chat/types.cjs.map +1 -1
- package/dist/data/chat/types.d.ts +19 -0
- package/dist/data/chat/types.d.ts.map +1 -1
- package/dist/data/chat/types.js.map +1 -1
- package/dist/data/chat/usage-snapshot.cjs +17 -0
- package/dist/data/chat/usage-snapshot.cjs.map +1 -0
- package/dist/data/chat/usage-snapshot.d.ts +21 -0
- package/dist/data/chat/usage-snapshot.d.ts.map +1 -0
- package/dist/data/chat/usage-snapshot.js +17 -0
- package/dist/data/chat/usage-snapshot.js.map +1 -0
- package/dist/data/data-table-filter-values.cjs +83 -0
- package/dist/data/data-table-filter-values.cjs.map +1 -0
- package/dist/data/data-table-filter-values.d.ts +18 -0
- package/dist/data/data-table-filter-values.d.ts.map +1 -0
- package/dist/data/data-table-filter-values.js +83 -0
- package/dist/data/data-table-filter-values.js.map +1 -0
- package/dist/data/data-table-server-filters.cjs +171 -0
- package/dist/data/data-table-server-filters.cjs.map +1 -0
- package/dist/data/data-table-server-filters.d.ts +128 -0
- package/dist/data/data-table-server-filters.d.ts.map +1 -0
- package/dist/data/data-table-server-filters.js +171 -0
- package/dist/data/data-table-server-filters.js.map +1 -0
- package/dist/data/query-browser/QueryBrowser.cjs +96 -19
- package/dist/data/query-browser/QueryBrowser.cjs.map +1 -1
- package/dist/data/query-browser/QueryBrowser.d.ts +37 -6
- package/dist/data/query-browser/QueryBrowser.d.ts.map +1 -1
- package/dist/data/query-browser/QueryBrowser.js +96 -19
- package/dist/data/query-browser/QueryBrowser.js.map +1 -1
- package/dist/data/query-browser/index.d.ts +1 -1
- package/dist/data/query-browser/index.d.ts.map +1 -1
- package/dist/data/runtime/ProviderStatusPanel.cjs +187 -0
- package/dist/data/runtime/ProviderStatusPanel.cjs.map +1 -0
- package/dist/data/runtime/ProviderStatusPanel.d.ts +10 -0
- package/dist/data/runtime/ProviderStatusPanel.d.ts.map +1 -0
- package/dist/data/runtime/ProviderStatusPanel.js +187 -0
- package/dist/data/runtime/ProviderStatusPanel.js.map +1 -0
- package/dist/data/runtime/RuntimeBar.cjs +147 -0
- package/dist/data/runtime/RuntimeBar.cjs.map +1 -0
- package/dist/data/runtime/RuntimeBar.d.ts +22 -0
- package/dist/data/runtime/RuntimeBar.d.ts.map +1 -0
- package/dist/data/runtime/RuntimeBar.js +147 -0
- package/dist/data/runtime/RuntimeBar.js.map +1 -0
- package/dist/data/runtime/RuntimeBar.model.cjs +14 -0
- package/dist/data/runtime/RuntimeBar.model.cjs.map +1 -0
- package/dist/data/runtime/RuntimeBar.model.d.ts +10 -0
- package/dist/data/runtime/RuntimeBar.model.d.ts.map +1 -0
- package/dist/data/runtime/RuntimeBar.model.js +14 -0
- package/dist/data/runtime/RuntimeBar.model.js.map +1 -0
- package/dist/data/runtime/RuntimeBarCombo.cjs +354 -0
- package/dist/data/runtime/RuntimeBarCombo.cjs.map +1 -0
- package/dist/data/runtime/RuntimeBarCombo.d.ts +23 -0
- package/dist/data/runtime/RuntimeBarCombo.d.ts.map +1 -0
- package/dist/data/runtime/RuntimeBarCombo.js +354 -0
- package/dist/data/runtime/RuntimeBarCombo.js.map +1 -0
- package/dist/data/{ai/RuntimeBar.cjs → runtime/RuntimeBarSegments.cjs} +93 -87
- package/dist/data/runtime/RuntimeBarSegments.cjs.map +1 -0
- package/dist/data/runtime/RuntimeBarSegments.d.ts +25 -0
- package/dist/data/runtime/RuntimeBarSegments.d.ts.map +1 -0
- package/dist/data/{ai/RuntimeBar.js → runtime/RuntimeBarSegments.js} +96 -90
- package/dist/data/runtime/RuntimeBarSegments.js.map +1 -0
- package/dist/data/runtime/availability.cjs +11 -0
- package/dist/data/runtime/availability.cjs.map +1 -0
- package/dist/data/runtime/availability.d.ts +6 -0
- package/dist/data/runtime/availability.d.ts.map +1 -0
- package/dist/data/runtime/availability.js +11 -0
- package/dist/data/runtime/availability.js.map +1 -0
- package/dist/data/{ai → runtime}/model-capabilities.cjs +12 -1
- package/dist/data/runtime/model-capabilities.cjs.map +1 -0
- package/dist/data/{ai → runtime}/model-capabilities.d.ts +2 -6
- package/dist/data/runtime/model-capabilities.d.ts.map +1 -0
- package/dist/data/{ai → runtime}/model-capabilities.js +12 -1
- package/dist/data/runtime/model-capabilities.js.map +1 -0
- package/dist/data/runtime/provider-status.cjs +106 -0
- package/dist/data/runtime/provider-status.cjs.map +1 -0
- package/dist/data/runtime/provider-status.d.ts +24 -0
- package/dist/data/runtime/provider-status.d.ts.map +1 -0
- package/dist/data/runtime/provider-status.js +106 -0
- package/dist/data/runtime/provider-status.js.map +1 -0
- package/dist/data/{ai → runtime}/runtime-mode.cjs +123 -22
- package/dist/data/runtime/runtime-mode.cjs.map +1 -0
- package/dist/data/{ai → runtime}/runtime-mode.d.ts +8 -1
- package/dist/data/runtime/runtime-mode.d.ts.map +1 -0
- package/dist/data/{ai → runtime}/runtime-mode.js +123 -22
- package/dist/data/runtime/runtime-mode.js.map +1 -0
- package/dist/data/server-timing.cjs +120 -0
- package/dist/data/server-timing.cjs.map +1 -0
- package/dist/data/server-timing.d.ts +11 -0
- package/dist/data/server-timing.d.ts.map +1 -0
- package/dist/data/server-timing.js +120 -0
- package/dist/data/server-timing.js.map +1 -0
- package/dist/data/task-query-keys.cjs +26 -0
- package/dist/data/task-query-keys.cjs.map +1 -0
- package/dist/data/task-query-keys.d.ts +27 -0
- package/dist/data/task-query-keys.d.ts.map +1 -0
- package/dist/data/task-query-keys.js +26 -0
- package/dist/data/task-query-keys.js.map +1 -0
- package/dist/data/version-info.cjs +3 -3
- package/dist/data/version-info.js +3 -3
- package/dist/data.cjs +23 -0
- package/dist/data.cjs.map +1 -1
- package/dist/data.d.ts +8 -2
- package/dist/data.d.ts.map +1 -1
- package/dist/data.js +23 -0
- package/dist/data.js.map +1 -1
- package/dist/hooks/use-hotkey.cjs +6 -1
- package/dist/hooks/use-hotkey.cjs.map +1 -1
- package/dist/hooks/use-hotkey.d.ts.map +1 -1
- package/dist/hooks/use-hotkey.js +6 -1
- package/dist/hooks/use-hotkey.js.map +1 -1
- package/dist/hooks/use-task-run.cjs +7 -4
- package/dist/hooks/use-task-run.cjs.map +1 -1
- package/dist/hooks/use-task-run.d.ts +12 -0
- package/dist/hooks/use-task-run.d.ts.map +1 -1
- package/dist/hooks/use-task-run.js +7 -4
- package/dist/hooks/use-task-run.js.map +1 -1
- package/dist/icons/index.d.ts +1 -0
- package/dist/icons/index.d.ts.map +1 -1
- package/dist/icons/registry.cjs +692 -0
- package/dist/icons/registry.cjs.map +1 -0
- package/dist/icons/registry.d.ts +21 -0
- package/dist/icons/registry.d.ts.map +1 -0
- package/dist/icons/registry.js +692 -0
- package/dist/icons/registry.js.map +1 -0
- package/dist/icons.cjs +3 -0
- package/dist/icons.cjs.map +1 -1
- package/dist/icons.js +4 -1
- package/dist/icons.js.map +1 -1
- package/dist/index.cjs +54 -0
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +56 -2
- package/dist/index.js.map +1 -1
- package/dist/layout/AppShell.cjs +93 -57
- package/dist/layout/AppShell.cjs.map +1 -1
- package/dist/layout/AppShell.d.ts +49 -1
- package/dist/layout/AppShell.d.ts.map +1 -1
- package/dist/layout/AppShell.js +93 -57
- package/dist/layout/AppShell.js.map +1 -1
- package/dist/layout/AppShell.nav.cjs +144 -19
- package/dist/layout/AppShell.nav.cjs.map +1 -1
- package/dist/layout/AppShell.nav.d.ts +6 -1
- package/dist/layout/AppShell.nav.d.ts.map +1 -1
- package/dist/layout/AppShell.nav.js +144 -19
- package/dist/layout/AppShell.nav.js.map +1 -1
- package/dist/layout/SplitPane.cjs +23 -7
- package/dist/layout/SplitPane.cjs.map +1 -1
- package/dist/layout/SplitPane.d.ts +3 -1
- package/dist/layout/SplitPane.d.ts.map +1 -1
- package/dist/layout/SplitPane.js +23 -7
- package/dist/layout/SplitPane.js.map +1 -1
- package/dist/lib/format.cjs +86 -4
- package/dist/lib/format.cjs.map +1 -1
- package/dist/lib/format.d.ts +69 -0
- package/dist/lib/format.d.ts.map +1 -1
- package/dist/lib/format.js +86 -4
- package/dist/lib/format.js.map +1 -1
- package/dist/lib/path-tree.cjs +69 -0
- package/dist/lib/path-tree.cjs.map +1 -0
- package/dist/lib/path-tree.d.ts +54 -0
- package/dist/lib/path-tree.d.ts.map +1 -0
- package/dist/lib/path-tree.js +69 -0
- package/dist/lib/path-tree.js.map +1 -0
- package/dist/monaco.d.ts +1 -0
- package/dist/monaco.d.ts.map +1 -1
- package/dist/overlay/DropdownMenuSubmenu.cjs +13 -7
- package/dist/overlay/DropdownMenuSubmenu.cjs.map +1 -1
- package/dist/overlay/DropdownMenuSubmenu.d.ts.map +1 -1
- package/dist/overlay/DropdownMenuSubmenu.js +13 -7
- package/dist/overlay/DropdownMenuSubmenu.js.map +1 -1
- package/dist/overlay/HoverCard.cjs.map +1 -1
- package/dist/overlay/HoverCard.d.ts +2 -2
- package/dist/overlay/HoverCard.d.ts.map +1 -1
- package/dist/overlay/HoverCard.js.map +1 -1
- package/dist/overlay/Tour.cjs +173 -0
- package/dist/overlay/Tour.cjs.map +1 -0
- package/dist/overlay/Tour.d.ts +61 -0
- package/dist/overlay/Tour.d.ts.map +1 -0
- package/dist/overlay/Tour.js +173 -0
- package/dist/overlay/Tour.js.map +1 -0
- package/dist/overlay/TourCard.cjs +108 -0
- package/dist/overlay/TourCard.cjs.map +1 -0
- package/dist/overlay/TourCard.d.ts +23 -0
- package/dist/overlay/TourCard.d.ts.map +1 -0
- package/dist/overlay/TourCard.js +108 -0
- package/dist/overlay/TourCard.js.map +1 -0
- package/dist/overlay/TourProvider.cjs +160 -0
- package/dist/overlay/TourProvider.cjs.map +1 -0
- package/dist/overlay/TourProvider.d.ts +31 -0
- package/dist/overlay/TourProvider.d.ts.map +1 -0
- package/dist/overlay/TourProvider.js +160 -0
- package/dist/overlay/TourProvider.js.map +1 -0
- package/dist/overlay/TourSpotlight.cjs +47 -0
- package/dist/overlay/TourSpotlight.cjs.map +1 -0
- package/dist/overlay/TourSpotlight.d.ts +12 -0
- package/dist/overlay/TourSpotlight.d.ts.map +1 -0
- package/dist/overlay/TourSpotlight.js +47 -0
- package/dist/overlay/TourSpotlight.js.map +1 -0
- package/dist/overlay/modalStack.cjs +18 -4
- package/dist/overlay/modalStack.cjs.map +1 -1
- package/dist/overlay/modalStack.d.ts +10 -2
- package/dist/overlay/modalStack.d.ts.map +1 -1
- package/dist/overlay/modalStack.js +19 -5
- package/dist/overlay/modalStack.js.map +1 -1
- package/dist/overlay/tour-anchor.cjs +114 -0
- package/dist/overlay/tour-anchor.cjs.map +1 -0
- package/dist/overlay/tour-anchor.d.ts +30 -0
- package/dist/overlay/tour-anchor.d.ts.map +1 -0
- package/dist/overlay/tour-anchor.js +114 -0
- package/dist/overlay/tour-anchor.js.map +1 -0
- package/dist/overlay/tour-context.cjs +12 -0
- package/dist/overlay/tour-context.cjs.map +1 -0
- package/dist/overlay/tour-context.d.ts +40 -0
- package/dist/overlay/tour-context.d.ts.map +1 -0
- package/dist/overlay/tour-context.js +12 -0
- package/dist/overlay/tour-context.js.map +1 -0
- package/dist/overlay/tour-geometry.cjs +65 -0
- package/dist/overlay/tour-geometry.cjs.map +1 -0
- package/dist/overlay/tour-geometry.d.ts +47 -0
- package/dist/overlay/tour-geometry.d.ts.map +1 -0
- package/dist/overlay/tour-geometry.js +65 -0
- package/dist/overlay/tour-geometry.js.map +1 -0
- package/dist/overlay/tour-model.cjs +79 -0
- package/dist/overlay/tour-model.cjs.map +1 -0
- package/dist/overlay/tour-model.d.ts +29 -0
- package/dist/overlay/tour-model.d.ts.map +1 -0
- package/dist/overlay/tour-model.js +79 -0
- package/dist/overlay/tour-model.js.map +1 -0
- package/dist/overlay/tour-progress.cjs +54 -0
- package/dist/overlay/tour-progress.cjs.map +1 -0
- package/dist/overlay/tour-progress.d.ts +40 -0
- package/dist/overlay/tour-progress.d.ts.map +1 -0
- package/dist/overlay/tour-progress.js +54 -0
- package/dist/overlay/tour-progress.js.map +1 -0
- package/dist/overlay/tour-types.d.ts +144 -0
- package/dist/overlay/tour-types.d.ts.map +1 -0
- package/dist/overlay/use-tour-anchor.cjs +43 -0
- package/dist/overlay/use-tour-anchor.cjs.map +1 -0
- package/dist/overlay/use-tour-anchor.d.ts +23 -0
- package/dist/overlay/use-tour-anchor.d.ts.map +1 -0
- package/dist/overlay/use-tour-anchor.js +43 -0
- package/dist/overlay/use-tour-anchor.js.map +1 -0
- package/dist/overlay/use-tour-rect.cjs +33 -0
- package/dist/overlay/use-tour-rect.cjs.map +1 -0
- package/dist/overlay/use-tour-rect.d.ts +12 -0
- package/dist/overlay/use-tour-rect.d.ts.map +1 -0
- package/dist/overlay/use-tour-rect.js +33 -0
- package/dist/overlay/use-tour-rect.js.map +1 -0
- package/dist/overlay/use-tour-step.cjs +66 -0
- package/dist/overlay/use-tour-step.cjs.map +1 -0
- package/dist/overlay/use-tour-step.d.ts +45 -0
- package/dist/overlay/use-tour-step.d.ts.map +1 -0
- package/dist/overlay/use-tour-step.js +66 -0
- package/dist/overlay/use-tour-step.js.map +1 -0
- package/dist/overlay/zIndex.cjs +8 -0
- package/dist/overlay/zIndex.cjs.map +1 -1
- package/dist/overlay/zIndex.d.ts +8 -0
- package/dist/overlay/zIndex.d.ts.map +1 -1
- package/dist/overlay/zIndex.js +8 -0
- package/dist/overlay/zIndex.js.map +1 -1
- package/dist/rpc/CommandOutput.cjs +8 -0
- package/dist/rpc/CommandOutput.cjs.map +1 -1
- package/dist/rpc/CommandOutput.d.ts +4 -1
- package/dist/rpc/CommandOutput.d.ts.map +1 -1
- package/dist/rpc/CommandOutput.js +8 -0
- package/dist/rpc/CommandOutput.js.map +1 -1
- package/dist/rpc/EntityExplorerApp.cjs +10 -16
- package/dist/rpc/EntityExplorerApp.cjs.map +1 -1
- package/dist/rpc/EntityExplorerApp.d.ts.map +1 -1
- package/dist/rpc/EntityExplorerApp.js +10 -16
- package/dist/rpc/EntityExplorerApp.js.map +1 -1
- package/dist/rpc/OperationActionBar.cjs +1 -1
- package/dist/rpc/OperationActionBar.cjs.map +1 -1
- package/dist/rpc/OperationActionBar.js +1 -1
- package/dist/rpc/OperationActionBar.js.map +1 -1
- package/dist/rpc/OperationCatalog.cjs +111 -58
- package/dist/rpc/OperationCatalog.cjs.map +1 -1
- package/dist/rpc/OperationCatalog.d.ts +1 -6
- package/dist/rpc/OperationCatalog.d.ts.map +1 -1
- package/dist/rpc/OperationCatalog.js +112 -59
- package/dist/rpc/OperationCatalog.js.map +1 -1
- package/dist/rpc/OperationResultView.cjs +44 -0
- package/dist/rpc/OperationResultView.cjs.map +1 -1
- package/dist/rpc/OperationResultView.d.ts +8 -1
- package/dist/rpc/OperationResultView.d.ts.map +1 -1
- package/dist/rpc/OperationResultView.js +44 -0
- package/dist/rpc/OperationResultView.js.map +1 -1
- package/dist/rpc/SchemaActionForm.cjs +2 -21
- package/dist/rpc/SchemaActionForm.cjs.map +1 -1
- package/dist/rpc/SchemaActionForm.d.ts.map +1 -1
- package/dist/rpc/SchemaActionForm.js +3 -22
- package/dist/rpc/SchemaActionForm.js.map +1 -1
- package/dist/rpc/apiClient.cjs +16 -2
- package/dist/rpc/apiClient.cjs.map +1 -1
- package/dist/rpc/apiClient.d.ts.map +1 -1
- package/dist/rpc/apiClient.js +16 -2
- package/dist/rpc/apiClient.js.map +1 -1
- package/dist/rpc/formMetadata.cjs +89 -49
- package/dist/rpc/formMetadata.cjs.map +1 -1
- package/dist/rpc/formMetadata.d.ts +14 -6
- package/dist/rpc/formMetadata.d.ts.map +1 -1
- package/dist/rpc/formMetadata.js +87 -47
- package/dist/rpc/formMetadata.js.map +1 -1
- package/dist/rpc/operationFilterSearch.cjs +23 -0
- package/dist/rpc/operationFilterSearch.cjs.map +1 -0
- package/dist/rpc/operationFilterSearch.d.ts +22 -0
- package/dist/rpc/operationFilterSearch.d.ts.map +1 -0
- package/dist/rpc/operationFilterSearch.js +23 -0
- package/dist/rpc/operationFilterSearch.js.map +1 -0
- package/dist/rpc/operationLookupFetcher.cjs +28 -0
- package/dist/rpc/operationLookupFetcher.cjs.map +1 -0
- package/dist/rpc/operationLookupFetcher.d.ts +17 -0
- package/dist/rpc/operationLookupFetcher.d.ts.map +1 -0
- package/dist/rpc/operationLookupFetcher.js +28 -0
- package/dist/rpc/operationLookupFetcher.js.map +1 -0
- package/dist/rpc/surfaceNav.cjs +77 -0
- package/dist/rpc/surfaceNav.cjs.map +1 -0
- package/dist/rpc/surfaceNav.d.ts +19 -0
- package/dist/rpc/surfaceNav.d.ts.map +1 -0
- package/dist/rpc/surfaceNav.js +77 -0
- package/dist/rpc/surfaceNav.js.map +1 -0
- package/dist/rpc/types.cjs.map +1 -1
- package/dist/rpc/types.d.ts +12 -1
- package/dist/rpc/types.d.ts.map +1 -1
- package/dist/rpc/types.js.map +1 -1
- package/dist/rpc.cjs +2 -0
- package/dist/rpc.cjs.map +1 -1
- package/dist/rpc.d.ts +1 -0
- package/dist/rpc.d.ts.map +1 -1
- package/dist/rpc.js +2 -0
- package/dist/rpc.js.map +1 -1
- package/dist/styles.css +1 -1
- package/dist/tailwind-preset.cjs +4 -0
- package/dist/tailwind-preset.cjs.map +1 -1
- package/dist/tailwind-preset.d.ts.map +1 -1
- package/dist/tailwind-preset.js +4 -0
- package/dist/tailwind-preset.js.map +1 -1
- package/dist/utils.cjs +8 -0
- package/dist/utils.cjs.map +1 -1
- package/dist/utils.d.ts +2 -1
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +10 -2
- package/dist/utils.js.map +1 -1
- package/package.json +1 -1
- package/dist/data/ai/RuntimeBar.cjs.map +0 -1
- package/dist/data/ai/RuntimeBar.d.ts +0 -27
- package/dist/data/ai/RuntimeBar.d.ts.map +0 -1
- package/dist/data/ai/RuntimeBar.js.map +0 -1
- package/dist/data/ai/model-capabilities.cjs.map +0 -1
- package/dist/data/ai/model-capabilities.d.ts.map +0 -1
- package/dist/data/ai/model-capabilities.js.map +0 -1
- package/dist/data/ai/runtime-mode.cjs.map +0 -1
- package/dist/data/ai/runtime-mode.d.ts.map +0 -1
- package/dist/data/ai/runtime-mode.js.map +0 -1
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
import { isUnavailable, isSelectableModel } from "./availability.js";
|
|
2
|
+
function providerStatusGroups(models, families) {
|
|
3
|
+
const unmatched = new Set(models);
|
|
4
|
+
const groups = families.map((family) => {
|
|
5
|
+
const providers = /* @__PURE__ */ new Set([
|
|
6
|
+
family.provider,
|
|
7
|
+
...family.modes.map((mode) => mode.provider).filter(isString)
|
|
8
|
+
]);
|
|
9
|
+
const familyModels = models.filter(
|
|
10
|
+
(model) => providers.has(model.provider)
|
|
11
|
+
);
|
|
12
|
+
for (const model of familyModels) unmatched.delete(model);
|
|
13
|
+
return buildProviderGroup(
|
|
14
|
+
family.id,
|
|
15
|
+
family.label,
|
|
16
|
+
family.id,
|
|
17
|
+
family.modes.map((mode) => ({
|
|
18
|
+
id: mode.backend,
|
|
19
|
+
label: mode.label,
|
|
20
|
+
availability: mode.availability ?? AVAILABLE
|
|
21
|
+
})),
|
|
22
|
+
familyModels
|
|
23
|
+
);
|
|
24
|
+
});
|
|
25
|
+
const modelsByProvider = /* @__PURE__ */ new Map();
|
|
26
|
+
for (const model of unmatched) {
|
|
27
|
+
const providerModels = modelsByProvider.get(model.provider) ?? [];
|
|
28
|
+
providerModels.push(model);
|
|
29
|
+
modelsByProvider.set(model.provider, providerModels);
|
|
30
|
+
}
|
|
31
|
+
for (const [provider, providerModels] of modelsByProvider) {
|
|
32
|
+
groups.push(
|
|
33
|
+
buildProviderGroup(
|
|
34
|
+
provider,
|
|
35
|
+
providerLabel(provider),
|
|
36
|
+
provider,
|
|
37
|
+
[],
|
|
38
|
+
providerModels
|
|
39
|
+
)
|
|
40
|
+
);
|
|
41
|
+
}
|
|
42
|
+
return groups;
|
|
43
|
+
}
|
|
44
|
+
function modelAvailability(model) {
|
|
45
|
+
if (model.availability) return model.availability;
|
|
46
|
+
if (model.configured === false) {
|
|
47
|
+
return {
|
|
48
|
+
state: "missing_credentials",
|
|
49
|
+
reason: "This model's provider is not configured.",
|
|
50
|
+
remediation: "Configure provider credentials, then refresh."
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
return AVAILABLE;
|
|
54
|
+
}
|
|
55
|
+
const AVAILABLE = { state: "available" };
|
|
56
|
+
function buildProviderGroup(id, label, iconProvider, modes, models) {
|
|
57
|
+
const modeIssues = modes.filter((mode) => isUnavailable(mode.availability)).map((mode) => ({
|
|
58
|
+
id: `${id}:mode:${mode.id}`,
|
|
59
|
+
kind: "mode",
|
|
60
|
+
label: `${mode.label} mode`,
|
|
61
|
+
availability: mode.availability
|
|
62
|
+
}));
|
|
63
|
+
const modelIssues = models.filter((model) => !isSelectableModel(model)).map((model) => ({
|
|
64
|
+
id: `${id}:model:${model.id}`,
|
|
65
|
+
kind: "model",
|
|
66
|
+
label: model.label,
|
|
67
|
+
availability: modelAvailability(model)
|
|
68
|
+
}));
|
|
69
|
+
const issues = [...modeIssues, ...modelIssues];
|
|
70
|
+
return {
|
|
71
|
+
id,
|
|
72
|
+
label,
|
|
73
|
+
iconProvider,
|
|
74
|
+
readiness: providerReadiness(issues, modes, models),
|
|
75
|
+
availableModes: modes.length - modeIssues.length,
|
|
76
|
+
totalModes: modes.length,
|
|
77
|
+
availableModels: models.filter(isSelectableModel).length,
|
|
78
|
+
totalModels: models.length,
|
|
79
|
+
issues
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
function providerReadiness(issues, modes, models) {
|
|
83
|
+
if (issues.length === 0) return "ready";
|
|
84
|
+
const states = issues.map((issue) => issue.availability.state);
|
|
85
|
+
if (states.every((state) => state === "disabled")) return "disabled";
|
|
86
|
+
const hasAvailableMode = modes.some(
|
|
87
|
+
(mode) => !isUnavailable(mode.availability)
|
|
88
|
+
);
|
|
89
|
+
const hasAvailableModel = models.some(isSelectableModel);
|
|
90
|
+
return hasAvailableMode || hasAvailableModel ? "attention" : "unavailable";
|
|
91
|
+
}
|
|
92
|
+
function providerLabel(provider) {
|
|
93
|
+
return provider.split(/[-_]/).filter(Boolean).map((part) => part.charAt(0).toUpperCase() + part.slice(1)).join(" ");
|
|
94
|
+
}
|
|
95
|
+
function isString(value) {
|
|
96
|
+
return Boolean(value);
|
|
97
|
+
}
|
|
98
|
+
function availabilityStateLabel(state) {
|
|
99
|
+
return state.replaceAll("_", " ");
|
|
100
|
+
}
|
|
101
|
+
export {
|
|
102
|
+
availabilityStateLabel,
|
|
103
|
+
modelAvailability,
|
|
104
|
+
providerStatusGroups
|
|
105
|
+
};
|
|
106
|
+
//# sourceMappingURL=provider-status.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"provider-status.js","sources":["../../../src/data/runtime/provider-status.ts"],"sourcesContent":["import type {\n ChatModel,\n RuntimeAvailability,\n RuntimeAvailabilityState,\n} from \"../chat/types\";\nimport { isSelectableModel, isUnavailable } from \"./availability\";\nimport type { SpecRuntimeFamily } from \"./runtime-mode\";\n\nexport type ProviderReadiness =\n | \"ready\"\n | \"attention\"\n | \"disabled\"\n | \"unavailable\";\n\nexport type ProviderStatusIssue = {\n id: string;\n kind: \"mode\" | \"model\";\n label: string;\n availability: RuntimeAvailability;\n};\n\nexport type ProviderStatusGroup = {\n id: string;\n label: string;\n iconProvider: string;\n readiness: ProviderReadiness;\n availableModes: number;\n totalModes: number;\n availableModels: number;\n totalModels: number;\n issues: ProviderStatusIssue[];\n};\n\nexport function providerStatusGroups(\n models: ChatModel[],\n families: SpecRuntimeFamily[]\n): ProviderStatusGroup[] {\n const unmatched = new Set(models);\n const groups = families.map((family) => {\n const providers = new Set([\n family.provider,\n ...family.modes.map((mode) => mode.provider).filter(isString),\n ]);\n const familyModels = models.filter((model) =>\n providers.has(model.provider)\n );\n for (const model of familyModels) unmatched.delete(model);\n return buildProviderGroup(\n family.id,\n family.label,\n family.id,\n family.modes.map((mode) => ({\n id: mode.backend,\n label: mode.label,\n availability: mode.availability ?? AVAILABLE,\n })),\n familyModels\n );\n });\n\n const modelsByProvider = new Map<string, ChatModel[]>();\n for (const model of unmatched) {\n const providerModels = modelsByProvider.get(model.provider) ?? [];\n providerModels.push(model);\n modelsByProvider.set(model.provider, providerModels);\n }\n for (const [provider, providerModels] of modelsByProvider) {\n groups.push(\n buildProviderGroup(\n provider,\n providerLabel(provider),\n provider,\n [],\n providerModels\n )\n );\n }\n return groups;\n}\n\nexport function modelAvailability(model: ChatModel): RuntimeAvailability {\n if (model.availability) return model.availability;\n if (model.configured === false) {\n return {\n state: \"missing_credentials\",\n reason: \"This model's provider is not configured.\",\n remediation: \"Configure provider credentials, then refresh.\",\n };\n }\n return AVAILABLE;\n}\n\ntype ModeStatus = {\n id: string;\n label: string;\n availability: RuntimeAvailability;\n};\n\nconst AVAILABLE: RuntimeAvailability = { state: \"available\" };\n\nfunction buildProviderGroup(\n id: string,\n label: string,\n iconProvider: string,\n modes: ModeStatus[],\n models: ChatModel[]\n): ProviderStatusGroup {\n const modeIssues = modes\n .filter((mode) => isUnavailable(mode.availability))\n .map((mode) => ({\n id: `${id}:mode:${mode.id}`,\n kind: \"mode\" as const,\n label: `${mode.label} mode`,\n availability: mode.availability,\n }));\n const modelIssues = models\n .filter((model) => !isSelectableModel(model))\n .map((model) => ({\n id: `${id}:model:${model.id}`,\n kind: \"model\" as const,\n label: model.label,\n availability: modelAvailability(model),\n }));\n const issues = [...modeIssues, ...modelIssues];\n return {\n id,\n label,\n iconProvider,\n readiness: providerReadiness(issues, modes, models),\n availableModes: modes.length - modeIssues.length,\n totalModes: modes.length,\n availableModels: models.filter(isSelectableModel).length,\n totalModels: models.length,\n issues,\n };\n}\n\nfunction providerReadiness(\n issues: ProviderStatusIssue[],\n modes: ModeStatus[],\n models: ChatModel[]\n): ProviderReadiness {\n if (issues.length === 0) return \"ready\";\n const states = issues.map((issue) => issue.availability.state);\n if (states.every((state) => state === \"disabled\")) return \"disabled\";\n const hasAvailableMode = modes.some(\n (mode) => !isUnavailable(mode.availability)\n );\n const hasAvailableModel = models.some(isSelectableModel);\n return hasAvailableMode || hasAvailableModel ? \"attention\" : \"unavailable\";\n}\n\nfunction providerLabel(provider: string): string {\n return provider\n .split(/[-_]/)\n .filter(Boolean)\n .map((part) => part.charAt(0).toUpperCase() + part.slice(1))\n .join(\" \");\n}\n\nfunction isString(value: string | undefined): value is string {\n return Boolean(value);\n}\n\nexport function availabilityStateLabel(\n state: RuntimeAvailabilityState\n): string {\n return state.replaceAll(\"_\", \" \");\n}\n"],"names":[],"mappings":";AAiCO,SAAS,qBACd,QACA,UACuB;AACvB,QAAM,YAAY,IAAI,IAAI,MAAM;AAChC,QAAM,SAAS,SAAS,IAAI,CAAC,WAAW;AACtC,UAAM,gCAAgB,IAAI;AAAA,MACxB,OAAO;AAAA,MACP,GAAG,OAAO,MAAM,IAAI,CAAC,SAAS,KAAK,QAAQ,EAAE,OAAO,QAAQ;AAAA,IAAA,CAC7D;AACD,UAAM,eAAe,OAAO;AAAA,MAAO,CAAC,UAClC,UAAU,IAAI,MAAM,QAAQ;AAAA,IAAA;AAE9B,eAAW,SAAS,aAAc,WAAU,OAAO,KAAK;AACxD,WAAO;AAAA,MACL,OAAO;AAAA,MACP,OAAO;AAAA,MACP,OAAO;AAAA,MACP,OAAO,MAAM,IAAI,CAAC,UAAU;AAAA,QAC1B,IAAI,KAAK;AAAA,QACT,OAAO,KAAK;AAAA,QACZ,cAAc,KAAK,gBAAgB;AAAA,MAAA,EACnC;AAAA,MACF;AAAA,IAAA;AAAA,EAEJ,CAAC;AAED,QAAM,uCAAuB,IAAA;AAC7B,aAAW,SAAS,WAAW;AAC7B,UAAM,iBAAiB,iBAAiB,IAAI,MAAM,QAAQ,KAAK,CAAA;AAC/D,mBAAe,KAAK,KAAK;AACzB,qBAAiB,IAAI,MAAM,UAAU,cAAc;AAAA,EACrD;AACA,aAAW,CAAC,UAAU,cAAc,KAAK,kBAAkB;AACzD,WAAO;AAAA,MACL;AAAA,QACE;AAAA,QACA,cAAc,QAAQ;AAAA,QACtB;AAAA,QACA,CAAA;AAAA,QACA;AAAA,MAAA;AAAA,IACF;AAAA,EAEJ;AACA,SAAO;AACT;AAEO,SAAS,kBAAkB,OAAuC;AACvE,MAAI,MAAM,aAAc,QAAO,MAAM;AACrC,MAAI,MAAM,eAAe,OAAO;AAC9B,WAAO;AAAA,MACL,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,aAAa;AAAA,IAAA;AAAA,EAEjB;AACA,SAAO;AACT;AAQA,MAAM,YAAiC,EAAE,OAAO,YAAA;AAEhD,SAAS,mBACP,IACA,OACA,cACA,OACA,QACqB;AACrB,QAAM,aAAa,MAChB,OAAO,CAAC,SAAS,cAAc,KAAK,YAAY,CAAC,EACjD,IAAI,CAAC,UAAU;AAAA,IACd,IAAI,GAAG,EAAE,SAAS,KAAK,EAAE;AAAA,IACzB,MAAM;AAAA,IACN,OAAO,GAAG,KAAK,KAAK;AAAA,IACpB,cAAc,KAAK;AAAA,EAAA,EACnB;AACJ,QAAM,cAAc,OACjB,OAAO,CAAC,UAAU,CAAC,kBAAkB,KAAK,CAAC,EAC3C,IAAI,CAAC,WAAW;AAAA,IACf,IAAI,GAAG,EAAE,UAAU,MAAM,EAAE;AAAA,IAC3B,MAAM;AAAA,IACN,OAAO,MAAM;AAAA,IACb,cAAc,kBAAkB,KAAK;AAAA,EAAA,EACrC;AACJ,QAAM,SAAS,CAAC,GAAG,YAAY,GAAG,WAAW;AAC7C,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA,WAAW,kBAAkB,QAAQ,OAAO,MAAM;AAAA,IAClD,gBAAgB,MAAM,SAAS,WAAW;AAAA,IAC1C,YAAY,MAAM;AAAA,IAClB,iBAAiB,OAAO,OAAO,iBAAiB,EAAE;AAAA,IAClD,aAAa,OAAO;AAAA,IACpB;AAAA,EAAA;AAEJ;AAEA,SAAS,kBACP,QACA,OACA,QACmB;AACnB,MAAI,OAAO,WAAW,EAAG,QAAO;AAChC,QAAM,SAAS,OAAO,IAAI,CAAC,UAAU,MAAM,aAAa,KAAK;AAC7D,MAAI,OAAO,MAAM,CAAC,UAAU,UAAU,UAAU,EAAG,QAAO;AAC1D,QAAM,mBAAmB,MAAM;AAAA,IAC7B,CAAC,SAAS,CAAC,cAAc,KAAK,YAAY;AAAA,EAAA;AAE5C,QAAM,oBAAoB,OAAO,KAAK,iBAAiB;AACvD,SAAO,oBAAoB,oBAAoB,cAAc;AAC/D;AAEA,SAAS,cAAc,UAA0B;AAC/C,SAAO,SACJ,MAAM,MAAM,EACZ,OAAO,OAAO,EACd,IAAI,CAAC,SAAS,KAAK,OAAO,CAAC,EAAE,gBAAgB,KAAK,MAAM,CAAC,CAAC,EAC1D,KAAK,GAAG;AACb;AAEA,SAAS,SAAS,OAA4C;AAC5D,SAAO,QAAQ,KAAK;AACtB;AAEO,SAAS,uBACd,OACQ;AACR,SAAO,MAAM,WAAW,KAAK,GAAG;AAClC;"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const availability = require("./availability.cjs");
|
|
3
4
|
const UiRobotAi = require("../../icons/components/UiRobotAi.cjs");
|
|
4
5
|
const UiTerminal = require("../../icons/components/UiTerminal.cjs");
|
|
5
6
|
const UiColumns = require("../../icons/components/UiColumns.cjs");
|
|
@@ -10,9 +11,27 @@ const SPEC_RUNTIME_FAMILIES = [
|
|
|
10
11
|
label: "Claude",
|
|
11
12
|
provider: "claude-agent",
|
|
12
13
|
modes: [
|
|
13
|
-
{
|
|
14
|
-
|
|
15
|
-
|
|
14
|
+
{
|
|
15
|
+
id: "agent",
|
|
16
|
+
label: "Agent",
|
|
17
|
+
backend: "claude-agent",
|
|
18
|
+
icon: UiRobotAi.UiRobotAi,
|
|
19
|
+
title: "Claude Agent SDK"
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
id: "cli",
|
|
23
|
+
label: "CLI",
|
|
24
|
+
backend: "claude-cli",
|
|
25
|
+
icon: UiTerminal.UiTerminal,
|
|
26
|
+
title: "Claude Code CLI"
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
id: "cmux",
|
|
30
|
+
label: "cmux",
|
|
31
|
+
backend: "claude-cmux",
|
|
32
|
+
icon: UiColumns.UiColumns,
|
|
33
|
+
title: "Claude multiplexer"
|
|
34
|
+
}
|
|
16
35
|
]
|
|
17
36
|
},
|
|
18
37
|
{
|
|
@@ -20,37 +39,91 @@ const SPEC_RUNTIME_FAMILIES = [
|
|
|
20
39
|
label: "Codex",
|
|
21
40
|
provider: "codex-cli",
|
|
22
41
|
modes: [
|
|
23
|
-
{
|
|
24
|
-
|
|
25
|
-
|
|
42
|
+
{
|
|
43
|
+
id: "agent",
|
|
44
|
+
label: "Agent",
|
|
45
|
+
backend: "codex-agent",
|
|
46
|
+
icon: UiRobotAi.UiRobotAi,
|
|
47
|
+
title: "Codex agent"
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
id: "cli",
|
|
51
|
+
label: "CLI",
|
|
52
|
+
backend: "codex-cli",
|
|
53
|
+
icon: UiTerminal.UiTerminal,
|
|
54
|
+
title: "Codex CLI"
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
id: "cmux",
|
|
58
|
+
label: "cmux",
|
|
59
|
+
backend: "codex-cmux",
|
|
60
|
+
icon: UiColumns.UiColumns,
|
|
61
|
+
title: "Codex multiplexer"
|
|
62
|
+
}
|
|
26
63
|
]
|
|
27
64
|
},
|
|
28
65
|
{
|
|
29
66
|
id: "openai",
|
|
30
67
|
label: "OpenAI",
|
|
31
68
|
provider: "openai",
|
|
32
|
-
modes: [
|
|
69
|
+
modes: [
|
|
70
|
+
{
|
|
71
|
+
id: "api",
|
|
72
|
+
label: "API",
|
|
73
|
+
backend: "openai",
|
|
74
|
+
icon: UiCloud.UiCloud,
|
|
75
|
+
title: "OpenAI API"
|
|
76
|
+
}
|
|
77
|
+
]
|
|
33
78
|
},
|
|
34
79
|
{
|
|
35
80
|
id: "anthropic",
|
|
36
81
|
label: "Anthropic",
|
|
37
82
|
provider: "anthropic",
|
|
38
|
-
modes: [
|
|
83
|
+
modes: [
|
|
84
|
+
{
|
|
85
|
+
id: "api",
|
|
86
|
+
label: "API",
|
|
87
|
+
backend: "anthropic",
|
|
88
|
+
icon: UiCloud.UiCloud,
|
|
89
|
+
title: "Anthropic API"
|
|
90
|
+
}
|
|
91
|
+
]
|
|
39
92
|
},
|
|
40
93
|
{
|
|
41
94
|
id: "gemini",
|
|
42
95
|
label: "Gemini",
|
|
43
96
|
provider: "googleai",
|
|
44
97
|
modes: [
|
|
45
|
-
{
|
|
46
|
-
|
|
98
|
+
{
|
|
99
|
+
id: "api",
|
|
100
|
+
label: "API",
|
|
101
|
+
backend: "gemini",
|
|
102
|
+
icon: UiCloud.UiCloud,
|
|
103
|
+
title: "Gemini API"
|
|
104
|
+
},
|
|
105
|
+
{
|
|
106
|
+
id: "cli",
|
|
107
|
+
label: "CLI",
|
|
108
|
+
backend: "gemini-cli",
|
|
109
|
+
icon: UiTerminal.UiTerminal,
|
|
110
|
+
title: "Gemini CLI"
|
|
111
|
+
}
|
|
47
112
|
]
|
|
48
113
|
},
|
|
49
114
|
{
|
|
50
115
|
id: "deepseek",
|
|
51
116
|
label: "DeepSeek",
|
|
52
117
|
provider: "deepseek",
|
|
53
|
-
modes: [
|
|
118
|
+
modes: [
|
|
119
|
+
{
|
|
120
|
+
id: "api",
|
|
121
|
+
label: "API",
|
|
122
|
+
backend: "deepseek",
|
|
123
|
+
icon: UiCloud.UiCloud,
|
|
124
|
+
title: "DeepSeek API"
|
|
125
|
+
}
|
|
126
|
+
]
|
|
54
127
|
}
|
|
55
128
|
];
|
|
56
129
|
const MODE_ICONS = {
|
|
@@ -59,7 +132,11 @@ const MODE_ICONS = {
|
|
|
59
132
|
cli: UiTerminal.UiTerminal,
|
|
60
133
|
cmux: UiColumns.UiColumns
|
|
61
134
|
};
|
|
62
|
-
const MODE_LABELS = {
|
|
135
|
+
const MODE_LABELS = {
|
|
136
|
+
api: "API",
|
|
137
|
+
cli: "CLI",
|
|
138
|
+
cmux: "cmux"
|
|
139
|
+
};
|
|
63
140
|
const MODE_TITLES = {
|
|
64
141
|
api: "API",
|
|
65
142
|
agent: "Agent SDK",
|
|
@@ -75,14 +152,21 @@ function familiesFromRuntimeCatalog(catalog) {
|
|
|
75
152
|
const families = [];
|
|
76
153
|
for (const entry of catalog) {
|
|
77
154
|
const label = FAMILY_LABELS[entry.family] ?? titleCase(entry.family);
|
|
78
|
-
const modes = entry.modes.
|
|
155
|
+
const modes = entry.modes.map((mode) => ({
|
|
79
156
|
id: mode.mode,
|
|
80
157
|
label: MODE_LABELS[mode.mode] ?? titleCase(mode.mode),
|
|
81
158
|
backend: mode.backend,
|
|
82
159
|
icon: MODE_ICONS[mode.mode],
|
|
83
|
-
title: `${label} ${MODE_TITLES[mode.mode] ?? titleCase(mode.mode)}
|
|
160
|
+
title: `${label} ${MODE_TITLES[mode.mode] ?? titleCase(mode.mode)}`,
|
|
161
|
+
provider: mode.catalogProvider ?? entry.catalogPrefix,
|
|
162
|
+
...mode.availability ? { availability: mode.availability } : mode.disabled ? {
|
|
163
|
+
availability: {
|
|
164
|
+
state: "disabled",
|
|
165
|
+
reason: `Disabled by ${mode.disabledReason ?? mode.backend} in Captain configuration.`,
|
|
166
|
+
remediation: `Enable ${mode.disabledReason ?? mode.backend} on the Whoami page, then refresh.`
|
|
167
|
+
}
|
|
168
|
+
} : {}
|
|
84
169
|
}));
|
|
85
|
-
if (!modes.length) continue;
|
|
86
170
|
families.push({
|
|
87
171
|
id: entry.family,
|
|
88
172
|
label,
|
|
@@ -100,9 +184,11 @@ function familyById(families, id) {
|
|
|
100
184
|
return first;
|
|
101
185
|
}
|
|
102
186
|
function firstMode(family) {
|
|
103
|
-
const mode = family.modes[0];
|
|
187
|
+
const mode = family.modes.find((candidate) => !availability.isUnavailable(candidate.availability)) ?? family.modes[0];
|
|
104
188
|
if (!mode) {
|
|
105
|
-
throw new Error(
|
|
189
|
+
throw new Error(
|
|
190
|
+
`SpecRuntimeFamily "${family.id}" must have at least one mode`
|
|
191
|
+
);
|
|
106
192
|
}
|
|
107
193
|
return mode;
|
|
108
194
|
}
|
|
@@ -117,7 +203,13 @@ function runtimeModeOptions(families) {
|
|
|
117
203
|
}
|
|
118
204
|
function backendForFamilyMode(families, familyId, modeId) {
|
|
119
205
|
const family = familyById(families, familyId);
|
|
120
|
-
const
|
|
206
|
+
const requested = family.modes.find((candidate) => candidate.id === modeId);
|
|
207
|
+
const mode = requested && !availability.isUnavailable(requested.availability) ? requested : firstMode(family);
|
|
208
|
+
if (availability.isUnavailable(mode.availability)) {
|
|
209
|
+
throw new Error(
|
|
210
|
+
`SpecRuntimeFamily "${family.id}" has no available runtime modes`
|
|
211
|
+
);
|
|
212
|
+
}
|
|
121
213
|
return mode.backend;
|
|
122
214
|
}
|
|
123
215
|
function selectionForBackend(families, backend) {
|
|
@@ -161,16 +253,25 @@ function labelForBackend(backend, families = SPEC_RUNTIME_FAMILIES) {
|
|
|
161
253
|
return "Prompt default";
|
|
162
254
|
}
|
|
163
255
|
function modelsForFamily(models, family, backend) {
|
|
164
|
-
|
|
256
|
+
var _a;
|
|
257
|
+
if (!family) return models.filter(availability.isSelectableModel);
|
|
258
|
+
const provider = ((_a = family.modes.find((mode) => mode.backend === backend)) == null ? void 0 : _a.provider) ?? family.provider;
|
|
165
259
|
return models.filter(
|
|
166
|
-
(model) => model.provider ===
|
|
260
|
+
(model) => availability.isSelectableModel(model) && model.provider === provider && modelMatchesBackend(model, backend)
|
|
167
261
|
);
|
|
168
262
|
}
|
|
169
263
|
function modelBelongsToFamily(modelId, models, family, backend) {
|
|
264
|
+
var _a;
|
|
170
265
|
if (!modelId) return true;
|
|
171
|
-
const selected = models.find(
|
|
266
|
+
const selected = models.find(
|
|
267
|
+
(model) => {
|
|
268
|
+
var _a2, _b;
|
|
269
|
+
return availability.isSelectableModel(model) && (model.id === modelId || ((_a2 = model.runtime) == null ? void 0 : _a2.model) === modelId || ((_b = model.runtime) == null ? void 0 : _b.id) === modelId);
|
|
270
|
+
}
|
|
271
|
+
);
|
|
172
272
|
if (!selected) return false;
|
|
173
|
-
const
|
|
273
|
+
const provider = ((_a = family == null ? void 0 : family.modes.find((mode) => mode.backend === backend)) == null ? void 0 : _a.provider) ?? (family == null ? void 0 : family.provider);
|
|
274
|
+
const providerMatches = !provider || selected.provider === provider;
|
|
174
275
|
return providerMatches && modelMatchesBackend(selected, backend);
|
|
175
276
|
}
|
|
176
277
|
function modelMatchesBackend(model, backend) {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtime-mode.cjs","sources":["../../../src/data/runtime/runtime-mode.ts"],"sourcesContent":["import type { StaticIconComponent } from \"../Icon\";\nimport { UiCloud, UiColumns, UiRobotAi, UiTerminal } from \"../../icons\";\nimport type { ChatModel, RuntimeAvailability } from \"../chat/types\";\nimport {\n availabilityText,\n isSelectableModel,\n isUnavailable,\n unsupportedAvailability,\n} from \"./availability\";\n\n// A backend runtime is factored into two UI axes — a provider\n// **family** (Claude, OpenAI, …) and a **mode** within it (Agent, CLI, cmux,\n// API) — that together resolve to a single `spec.backend` string. This is the\n// only place that mapping lives; both the inline PromptRunEditor and the modal\n// SpecRuntimeEditor drive their Mode pickers from it.\n\nexport type SpecRuntimeModeOption = {\n /** UI mode id within a family (e.g. \"agent\", \"cli\", \"cmux\", \"api\"). */\n id: string;\n label: string;\n /** The concrete `spec.backend` this (family, mode) resolves to. */\n backend: string;\n icon?: StaticIconComponent | undefined;\n title?: string | undefined;\n provider?: string | undefined;\n availability?: RuntimeAvailability | undefined;\n};\n\nexport type SpecRuntimeFamily = {\n id: string;\n label: string;\n /** The model-catalog provider (`ChatModel.provider`) whose models this family runs. */\n provider: string;\n modes: SpecRuntimeModeOption[];\n};\n\n// Default catalog covering the captain/gavel backend set. Hosts may pass their\n// own via the `families` prop when their catalog differs.\nexport const SPEC_RUNTIME_FAMILIES: SpecRuntimeFamily[] = [\n {\n id: \"claude\",\n label: \"Claude\",\n provider: \"claude-agent\",\n modes: [\n {\n id: \"agent\",\n label: \"Agent\",\n backend: \"claude-agent\",\n icon: UiRobotAi,\n title: \"Claude Agent SDK\",\n },\n {\n id: \"cli\",\n label: \"CLI\",\n backend: \"claude-cli\",\n icon: UiTerminal,\n title: \"Claude Code CLI\",\n },\n {\n id: \"cmux\",\n label: \"cmux\",\n backend: \"claude-cmux\",\n icon: UiColumns,\n title: \"Claude multiplexer\",\n },\n ],\n },\n {\n id: \"codex\",\n label: \"Codex\",\n provider: \"codex-cli\",\n modes: [\n {\n id: \"agent\",\n label: \"Agent\",\n backend: \"codex-agent\",\n icon: UiRobotAi,\n title: \"Codex agent\",\n },\n {\n id: \"cli\",\n label: \"CLI\",\n backend: \"codex-cli\",\n icon: UiTerminal,\n title: \"Codex CLI\",\n },\n {\n id: \"cmux\",\n label: \"cmux\",\n backend: \"codex-cmux\",\n icon: UiColumns,\n title: \"Codex multiplexer\",\n },\n ],\n },\n {\n id: \"openai\",\n label: \"OpenAI\",\n provider: \"openai\",\n modes: [\n {\n id: \"api\",\n label: \"API\",\n backend: \"openai\",\n icon: UiCloud,\n title: \"OpenAI API\",\n },\n ],\n },\n {\n id: \"anthropic\",\n label: \"Anthropic\",\n provider: \"anthropic\",\n modes: [\n {\n id: \"api\",\n label: \"API\",\n backend: \"anthropic\",\n icon: UiCloud,\n title: \"Anthropic API\",\n },\n ],\n },\n {\n id: \"gemini\",\n label: \"Gemini\",\n provider: \"googleai\",\n modes: [\n {\n id: \"api\",\n label: \"API\",\n backend: \"gemini\",\n icon: UiCloud,\n title: \"Gemini API\",\n },\n {\n id: \"cli\",\n label: \"CLI\",\n backend: \"gemini-cli\",\n icon: UiTerminal,\n title: \"Gemini CLI\",\n },\n ],\n },\n {\n id: \"deepseek\",\n label: \"DeepSeek\",\n provider: \"deepseek\",\n modes: [\n {\n id: \"api\",\n label: \"API\",\n backend: \"deepseek\",\n icon: UiCloud,\n title: \"DeepSeek API\",\n },\n ],\n },\n];\n\n// One provider×mode cell as captain serves it (`/whoami`.runtimes and the prompt\n// schema document's `runtimes`), projected from its model registry. It carries\n// ids, not display text: `claude`/`api` are enough to render both, and a served\n// label would be a second place for presentation to drift.\nexport type RuntimeCatalogMode = {\n /** api | agent | cli | cmux */\n mode: string;\n /** The concrete `spec.backend`, e.g. \"claude-cmux\". */\n backend: string;\n /** \"api\" (remote, in-process) or \"cli\" (supervised local binary). */\n kind?: string | undefined;\n /** Rides the local CLI's own login; never consults an API key. */\n keyless?: boolean | undefined;\n /** The model id a picker should seed this mode with. */\n defaultModel?: string | undefined;\n /** The user switched this off in `~/.captain.yaml`. */\n disabled?: boolean | undefined;\n disabledReason?: string | undefined;\n /** Model-catalog provider used by this exact mode. */\n catalogProvider?: string | undefined;\n availability?: RuntimeAvailability | undefined;\n};\n\nexport type RuntimeCatalogFamily = {\n /** The coding-agent name: claude | codex | gemini | deepseek. */\n family: string;\n /** The canonical provider key: anthropic | openai | google | deepseek. */\n provider: string;\n /** The namespace this provider's model ids carry (`ChatModel.provider`). */\n catalogPrefix: string;\n modes: RuntimeCatalogMode[];\n};\n\nconst MODE_ICONS: Record<string, StaticIconComponent> = {\n api: UiCloud,\n agent: UiRobotAi,\n cli: UiTerminal,\n cmux: UiColumns,\n};\n\n// Mode ids are lowercase tokens; only the acronyms and the lowercase brand\n// \"cmux\" need spelling out. `agent` falls through to plain title case.\nconst MODE_LABELS: Record<string, string> = {\n api: \"API\",\n cli: \"CLI\",\n cmux: \"cmux\",\n};\n\n// Tooltip text, so \"Claude cmux\" reads as \"Claude multiplexer\".\nconst MODE_TITLES: Record<string, string> = {\n api: \"API\",\n agent: \"Agent SDK\",\n cli: \"CLI\",\n cmux: \"multiplexer\",\n};\n\n// The one brand whose title case is not just an initial capital.\nconst FAMILY_LABELS: Record<string, string> = { deepseek: \"DeepSeek\" };\n\nfunction titleCase(token: string): string {\n return token ? token.charAt(0).toUpperCase() + token.slice(1) : token;\n}\n\n// Turns the served catalog into the shared family list. Unavailable entries\n// stay present for Provider Status while runtime controls filter them out.\n//\n// The registry has one provider per family, so Claude's API mode sits beside its\n// Agent/CLI/cmux modes here rather than in a separate \"Anthropic\" family the way\n// SPEC_RUNTIME_FAMILIES splits them.\nexport function familiesFromRuntimeCatalog(\n catalog: RuntimeCatalogFamily[] | undefined\n): SpecRuntimeFamily[] {\n if (!catalog?.length) return SPEC_RUNTIME_FAMILIES;\n const families: SpecRuntimeFamily[] = [];\n for (const entry of catalog) {\n const label = FAMILY_LABELS[entry.family] ?? titleCase(entry.family);\n const modes = entry.modes.map((mode) => ({\n id: mode.mode,\n label: MODE_LABELS[mode.mode] ?? titleCase(mode.mode),\n backend: mode.backend,\n icon: MODE_ICONS[mode.mode],\n title: `${label} ${MODE_TITLES[mode.mode] ?? titleCase(mode.mode)}`,\n provider: mode.catalogProvider ?? entry.catalogPrefix,\n ...(mode.availability\n ? { availability: mode.availability }\n : mode.disabled\n ? {\n availability: {\n state: \"disabled\" as const,\n reason: `Disabled by ${\n mode.disabledReason ?? mode.backend\n } in Captain configuration.`,\n remediation: `Enable ${\n mode.disabledReason ?? mode.backend\n } on the Whoami page, then refresh.`,\n },\n }\n : {}),\n }));\n families.push({\n id: entry.family,\n label,\n provider: entry.catalogPrefix,\n modes,\n });\n }\n return families.length ? families : SPEC_RUNTIME_FAMILIES;\n}\n\nexport function familyById(\n families: SpecRuntimeFamily[],\n id: string\n): SpecRuntimeFamily {\n const match = families.find((family) => family.id === id);\n if (match) return match;\n const first = families[0];\n if (!first) throw new Error(\"SpecRuntimeFamily catalog must not be empty\");\n return first;\n}\n\nexport function firstMode(family: SpecRuntimeFamily): SpecRuntimeModeOption {\n const mode =\n family.modes.find((candidate) => !isUnavailable(candidate.availability)) ??\n family.modes[0];\n if (!mode) {\n throw new Error(\n `SpecRuntimeFamily \"${family.id}\" must have at least one mode`\n );\n }\n return mode;\n}\n\n// Every mode id in the catalog, first-seen order. The returned `backend` belongs\n// to the family that declared the mode first — resolve the real one with\n// `backendForFamilyMode`.\nexport function runtimeModeOptions(\n families: SpecRuntimeFamily[]\n): SpecRuntimeModeOption[] {\n const modes = new Map<string, SpecRuntimeModeOption>();\n for (const family of families) {\n for (const mode of family.modes) {\n if (!modes.has(mode.id)) modes.set(mode.id, mode);\n }\n }\n return [...modes.values()];\n}\n\n// One phrasing for \"this family does not offer that mode\", shared by every\n// runtime presentation so the same state never reads two ways.\nexport function unsupportedModeTitle(family: SpecRuntimeFamily): string {\n return availabilityText(\n unsupportedAvailability(\n family.label,\n \"this\",\n family.modes\n .filter((mode) => !isUnavailable(mode.availability))\n .map((mode) => mode.label)\n )\n )!;\n}\n\nexport function unsupportedModeAvailability(\n family: SpecRuntimeFamily,\n mode: SpecRuntimeModeOption\n): RuntimeAvailability {\n return unsupportedAvailability(\n family.label,\n mode.label,\n family.modes\n .filter((candidate) => !isUnavailable(candidate.availability))\n .map((candidate) => candidate.label)\n );\n}\n\nexport function backendForFamilyMode(\n families: SpecRuntimeFamily[],\n familyId: string,\n modeId: string\n): string {\n const family = familyById(families, familyId);\n const requested = family.modes.find((candidate) => candidate.id === modeId);\n const mode =\n requested && !isUnavailable(requested.availability)\n ? requested\n : firstMode(family);\n if (isUnavailable(mode.availability)) {\n throw new Error(\n `SpecRuntimeFamily \"${family.id}\" has no available runtime modes`\n );\n }\n return mode.backend;\n}\n\nexport function selectionForBackend(\n families: SpecRuntimeFamily[],\n backend: string | undefined\n): { family: string; mode: string } {\n const target = (backend ?? \"\").toLowerCase();\n for (const family of families) {\n for (const mode of family.modes) {\n if (mode.backend.toLowerCase() === target) {\n return { family: family.id, mode: mode.id };\n }\n }\n }\n const first = familyById(families, \"\");\n return { family: first.id, mode: firstMode(first).id };\n}\n\nexport function familyForBackend(\n families: SpecRuntimeFamily[],\n backend: string | undefined\n): SpecRuntimeFamily | undefined {\n const target = (backend ?? \"\").toLowerCase();\n return families.find((family) =>\n family.modes.some((mode) => mode.backend.toLowerCase() === target)\n );\n}\n\n// The mode a backend id names, or undefined when the catalog does not declare\n// it. Unlike `selectionForBackend` this does not fall back to the first family,\n// so a summary can stay silent about a runtime it cannot identify.\nexport function modeForBackend(\n families: SpecRuntimeFamily[],\n backend: string | undefined\n): SpecRuntimeModeOption | undefined {\n const target = (backend ?? \"\").toLowerCase();\n if (!target) return undefined;\n for (const family of families) {\n const mode = family.modes.find(\n (entry) => entry.backend.toLowerCase() === target\n );\n if (mode) return mode;\n }\n return undefined;\n}\n\n// \"claude-agent\" -> \"Claude Agent\"; unknown/empty -> \"Prompt default\".\nexport function labelForBackend(\n backend: string | undefined,\n families: SpecRuntimeFamily[] = SPEC_RUNTIME_FAMILIES\n): string {\n const target = (backend ?? \"\").toLowerCase();\n for (const family of families) {\n for (const mode of family.modes) {\n if (mode.backend.toLowerCase() === target) {\n return `${family.label} ${mode.label}`;\n }\n }\n }\n return \"Prompt default\";\n}\n\nexport function modelsForFamily(\n models: ChatModel[],\n family: SpecRuntimeFamily | undefined,\n backend?: string | undefined\n): ChatModel[] {\n if (!family) return models.filter(isSelectableModel);\n const provider =\n family.modes.find((mode) => mode.backend === backend)?.provider ??\n family.provider;\n return models.filter(\n (model) =>\n isSelectableModel(model) &&\n model.provider === provider &&\n modelMatchesBackend(model, backend)\n );\n}\n\nexport function modelBelongsToFamily(\n modelId: string | undefined,\n models: ChatModel[],\n family: SpecRuntimeFamily | undefined,\n backend?: string | undefined\n): boolean {\n if (!modelId) return true;\n const selected = models.find(\n (model) =>\n isSelectableModel(model) &&\n (model.id === modelId ||\n model.runtime?.model === modelId ||\n model.runtime?.id === modelId)\n );\n if (!selected) return false;\n const provider =\n family?.modes.find((mode) => mode.backend === backend)?.provider ??\n family?.provider;\n const providerMatches = !provider || selected.provider === provider;\n return providerMatches && modelMatchesBackend(selected, backend);\n}\n\nfunction modelMatchesBackend(\n model: ChatModel,\n backend: string | undefined\n): boolean {\n if (!backend) return true;\n const backends = model.backends?.filter(Boolean);\n if (!backends || backends.length === 0) return true;\n return backends.includes(backend);\n}\n"],"names":["UiRobotAi","UiTerminal","UiColumns","UiCloud","isUnavailable","isSelectableModel","_a"],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { StaticIconComponent } from '../Icon';
|
|
2
|
-
import { ChatModel } from '../chat/types';
|
|
2
|
+
import { ChatModel, RuntimeAvailability } from '../chat/types';
|
|
3
3
|
export type SpecRuntimeModeOption = {
|
|
4
4
|
/** UI mode id within a family (e.g. "agent", "cli", "cmux", "api"). */
|
|
5
5
|
id: string;
|
|
@@ -8,6 +8,8 @@ export type SpecRuntimeModeOption = {
|
|
|
8
8
|
backend: string;
|
|
9
9
|
icon?: StaticIconComponent | undefined;
|
|
10
10
|
title?: string | undefined;
|
|
11
|
+
provider?: string | undefined;
|
|
12
|
+
availability?: RuntimeAvailability | undefined;
|
|
11
13
|
};
|
|
12
14
|
export type SpecRuntimeFamily = {
|
|
13
15
|
id: string;
|
|
@@ -31,6 +33,9 @@ export type RuntimeCatalogMode = {
|
|
|
31
33
|
/** The user switched this off in `~/.captain.yaml`. */
|
|
32
34
|
disabled?: boolean | undefined;
|
|
33
35
|
disabledReason?: string | undefined;
|
|
36
|
+
/** Model-catalog provider used by this exact mode. */
|
|
37
|
+
catalogProvider?: string | undefined;
|
|
38
|
+
availability?: RuntimeAvailability | undefined;
|
|
34
39
|
};
|
|
35
40
|
export type RuntimeCatalogFamily = {
|
|
36
41
|
/** The coding-agent name: claude | codex | gemini | deepseek. */
|
|
@@ -45,6 +50,8 @@ export declare function familiesFromRuntimeCatalog(catalog: RuntimeCatalogFamily
|
|
|
45
50
|
export declare function familyById(families: SpecRuntimeFamily[], id: string): SpecRuntimeFamily;
|
|
46
51
|
export declare function firstMode(family: SpecRuntimeFamily): SpecRuntimeModeOption;
|
|
47
52
|
export declare function runtimeModeOptions(families: SpecRuntimeFamily[]): SpecRuntimeModeOption[];
|
|
53
|
+
export declare function unsupportedModeTitle(family: SpecRuntimeFamily): string;
|
|
54
|
+
export declare function unsupportedModeAvailability(family: SpecRuntimeFamily, mode: SpecRuntimeModeOption): RuntimeAvailability;
|
|
48
55
|
export declare function backendForFamilyMode(families: SpecRuntimeFamily[], familyId: string, modeId: string): string;
|
|
49
56
|
export declare function selectionForBackend(families: SpecRuntimeFamily[], backend: string | undefined): {
|
|
50
57
|
family: string;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtime-mode.d.ts","sourceRoot":"","sources":["../../../src/data/runtime/runtime-mode.ts"],"names":[],"mappings":"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"}
|