@flanksource/clicky-ui 0.3.17 → 0.3.19
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 +35 -14
- package/dist/components/ComboboxMenu.cjs.map +1 -1
- package/dist/components/ComboboxMenu.d.ts.map +1 -1
- package/dist/components/ComboboxMenu.js +35 -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/EndpointSelector.model.cjs +96 -0
- package/dist/components/EndpointSelector.model.cjs.map +1 -0
- package/dist/components/EndpointSelector.model.d.ts +2 -0
- package/dist/components/EndpointSelector.model.d.ts.map +1 -1
- package/dist/components/EndpointSelector.model.js +96 -0
- package/dist/components/EndpointSelector.model.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 +116 -4
- package/dist/components/FilterBar.cjs.map +1 -1
- package/dist/components/FilterBar.d.ts +37 -2
- package/dist/components/FilterBar.d.ts.map +1 -1
- package/dist/components/FilterBar.js +116 -4
- package/dist/components/FilterBar.js.map +1 -1
- package/dist/components/JSONPathField.cjs +112 -0
- package/dist/components/JSONPathField.cjs.map +1 -0
- package/dist/components/JSONPathField.d.ts +36 -0
- package/dist/components/JSONPathField.d.ts.map +1 -0
- package/dist/components/JSONPathField.js +112 -0
- package/dist/components/JSONPathField.js.map +1 -0
- package/dist/components/JSONPathPlayground.cjs +225 -0
- package/dist/components/JSONPathPlayground.cjs.map +1 -0
- package/dist/components/JSONPathPlayground.d.ts +59 -0
- package/dist/components/JSONPathPlayground.d.ts.map +1 -0
- package/dist/components/JSONPathPlayground.js +225 -0
- package/dist/components/JSONPathPlayground.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/OnePasswordSelector.cjs +178 -0
- package/dist/components/OnePasswordSelector.cjs.map +1 -0
- package/dist/components/OnePasswordSelector.d.ts +8 -0
- package/dist/components/OnePasswordSelector.d.ts.map +1 -0
- package/dist/components/OnePasswordSelector.js +178 -0
- package/dist/components/OnePasswordSelector.js.map +1 -0
- package/dist/components/OnePasswordSelector.model.cjs +31 -0
- package/dist/components/OnePasswordSelector.model.cjs.map +1 -0
- package/dist/components/OnePasswordSelector.model.d.ts +27 -0
- package/dist/components/OnePasswordSelector.model.d.ts.map +1 -0
- package/dist/components/OnePasswordSelector.model.js +31 -0
- package/dist/components/OnePasswordSelector.model.js.map +1 -0
- package/dist/components/SecretFormField.cjs +142 -0
- package/dist/components/SecretFormField.cjs.map +1 -0
- package/dist/components/SecretFormField.d.ts +9 -0
- package/dist/components/SecretFormField.d.ts.map +1 -0
- package/dist/components/SecretFormField.js +142 -0
- package/dist/components/SecretFormField.js.map +1 -0
- package/dist/components/SecretKeySelector.cjs +20 -14
- package/dist/components/SecretKeySelector.cjs.map +1 -1
- package/dist/components/SecretKeySelector.d.ts +4 -1
- package/dist/components/SecretKeySelector.d.ts.map +1 -1
- package/dist/components/SecretKeySelector.js +20 -14
- package/dist/components/SecretKeySelector.js.map +1 -1
- package/dist/components/TreePickerField.cjs +71 -27
- package/dist/components/TreePickerField.cjs.map +1 -1
- package/dist/components/TreePickerField.d.ts +31 -2
- package/dist/components/TreePickerField.d.ts.map +1 -1
- package/dist/components/TreePickerField.js +72 -28
- 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 +25 -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 +12 -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 +12 -0
- package/dist/components/filter-bar-utils.js.map +1 -1
- package/dist/components/jotai-bindings-core.cjs.map +1 -1
- package/dist/components/jotai-bindings-core.d.ts +4 -1
- package/dist/components/jotai-bindings-core.d.ts.map +1 -1
- package/dist/components/jotai-bindings-core.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 +53 -29
- 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 +53 -29
- 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 +88 -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/jsonPathTree.cjs +189 -0
- package/dist/components/jsonPathTree.cjs.map +1 -0
- package/dist/components/jsonPathTree.d.ts +92 -0
- package/dist/components/jsonPathTree.d.ts.map +1 -0
- package/dist/components/jsonPathTree.js +189 -0
- package/dist/components/jsonPathTree.js.map +1 -0
- package/dist/components/secret-form-extension.cjs +30 -0
- package/dist/components/secret-form-extension.cjs.map +1 -0
- package/dist/components/secret-form-extension.d.ts +23 -0
- package/dist/components/secret-form-extension.d.ts.map +1 -0
- package/dist/components/secret-form-extension.js +30 -0
- package/dist/components/secret-form-extension.js.map +1 -0
- 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 +37 -0
- package/dist/components.cjs.map +1 -1
- package/dist/components.d.ts +20 -4
- package/dist/components.d.ts.map +1 -1
- package/dist/components.js +38 -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 +185 -53
- package/dist/data/DataTable.cjs.map +1 -1
- package/dist/data/DataTable.d.ts +63 -3
- package/dist/data/DataTable.d.ts.map +1 -1
- package/dist/data/DataTable.js +185 -53
- 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/TaskExecDetails.cjs +40 -0
- package/dist/data/TaskExecDetails.cjs.map +1 -0
- package/dist/data/TaskExecDetails.d.ts +5 -0
- package/dist/data/TaskExecDetails.d.ts.map +1 -0
- package/dist/data/TaskExecDetails.js +40 -0
- package/dist/data/TaskExecDetails.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 +59 -14
- 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 +59 -14
- package/dist/data/TaskProgress.js.map +1 -1
- package/dist/data/TaskSnapshot.cjs.map +1 -1
- package/dist/data/TaskSnapshot.d.ts +12 -1
- package/dist/data/TaskSnapshot.d.ts.map +1 -1
- package/dist/data/TaskSnapshot.js.map +1 -1
- package/dist/data/TreeNode.cjs +3 -0
- package/dist/data/TreeNode.cjs.map +1 -1
- package/dist/data/TreeNode.d.ts.map +1 -1
- package/dist/data/TreeNode.js +3 -0
- package/dist/data/TreeNode.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 +78 -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 +80 -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.cjs +1 -1
- package/dist/data/ai/ChatWindow.thread.cjs.map +1 -1
- package/dist/data/ai/ChatWindow.thread.js +1 -1
- package/dist/data/ai/ChatWindow.thread.js.map +1 -1
- 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 +2 -2
- package/dist/data/ai/PromptRunEditor/index.cjs.map +1 -1
- package/dist/data/ai/PromptRunEditor/index.d.ts +1 -1
- package/dist/data/ai/PromptRunEditor/index.d.ts.map +1 -1
- package/dist/data/ai/PromptRunEditor/index.js +2 -2
- package/dist/data/ai/PromptRunEditor/index.js.map +1 -1
- 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.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/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/fields.js +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 +11 -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 +6 -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 +156 -113
- package/dist/data/chat/Chat.cjs.map +1 -1
- package/dist/data/chat/Chat.d.ts +24 -7
- 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 +160 -117
- 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/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 +49 -6
- package/dist/data/chat/approval.cjs.map +1 -1
- package/dist/data/chat/approval.d.ts +11 -4
- package/dist/data/chat/approval.d.ts.map +1 -1
- package/dist/data/chat/approval.js +49 -6
- package/dist/data/chat/approval.js.map +1 -1
- 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 +7 -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 +103 -0
- package/dist/data/data-table-filter-values.cjs.map +1 -0
- package/dist/data/data-table-filter-values.d.ts +34 -0
- package/dist/data/data-table-filter-values.d.ts.map +1 -0
- package/dist/data/data-table-filter-values.js +103 -0
- package/dist/data/data-table-filter-values.js.map +1 -0
- package/dist/data/data-table-server-filters.cjs +165 -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 +165 -0
- package/dist/data/data-table-server-filters.js.map +1 -0
- package/dist/data/query-browser/QueryBrowser.cjs +204 -155
- package/dist/data/query-browser/QueryBrowser.cjs.map +1 -1
- package/dist/data/query-browser/QueryBrowser.d.ts +2 -41
- package/dist/data/query-browser/QueryBrowser.d.ts.map +1 -1
- package/dist/data/query-browser/QueryBrowser.editor.cjs +88 -0
- package/dist/data/query-browser/QueryBrowser.editor.cjs.map +1 -0
- package/dist/data/query-browser/QueryBrowser.editor.d.ts +12 -0
- package/dist/data/query-browser/QueryBrowser.editor.d.ts.map +1 -0
- package/dist/data/query-browser/QueryBrowser.editor.js +88 -0
- package/dist/data/query-browser/QueryBrowser.editor.js.map +1 -0
- package/dist/data/query-browser/QueryBrowser.js +205 -156
- package/dist/data/query-browser/QueryBrowser.js.map +1 -1
- package/dist/data/query-browser/QueryBrowser.types.cjs +11 -0
- package/dist/data/query-browser/QueryBrowser.types.cjs.map +1 -0
- package/dist/data/query-browser/QueryBrowser.types.d.ts +92 -0
- package/dist/data/query-browser/QueryBrowser.types.d.ts.map +1 -0
- package/dist/data/query-browser/QueryBrowser.types.js +11 -0
- package/dist/data/query-browser/QueryBrowser.types.js.map +1 -0
- package/dist/data/query-browser/QueryBrowserDiagnosticsPanel.cjs +56 -0
- package/dist/data/query-browser/QueryBrowserDiagnosticsPanel.cjs.map +1 -0
- package/dist/data/query-browser/QueryBrowserDiagnosticsPanel.d.ts +5 -0
- package/dist/data/query-browser/QueryBrowserDiagnosticsPanel.d.ts.map +1 -0
- package/dist/data/query-browser/QueryBrowserDiagnosticsPanel.js +56 -0
- package/dist/data/query-browser/QueryBrowserDiagnosticsPanel.js.map +1 -0
- package/dist/data/query-browser/QueryBrowserResults.cjs +80 -0
- package/dist/data/query-browser/QueryBrowserResults.cjs.map +1 -0
- package/dist/data/query-browser/QueryBrowserResults.d.ts +16 -0
- package/dist/data/query-browser/QueryBrowserResults.d.ts.map +1 -0
- package/dist/data/query-browser/QueryBrowserResults.js +80 -0
- package/dist/data/query-browser/QueryBrowserResults.js.map +1 -0
- package/dist/data/query-browser/index.d.ts +2 -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/{ai → runtime}/RuntimeBar.d.ts +8 -6
- 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.map +1 -0
- package/dist/data/{ai → runtime}/RuntimeBar.model.d.ts +2 -2
- package/dist/data/runtime/RuntimeBar.model.d.ts.map +1 -0
- package/dist/data/runtime/RuntimeBar.model.js.map +1 -0
- package/dist/data/{ai → runtime}/RuntimeBarCombo.cjs +25 -30
- package/dist/data/runtime/RuntimeBarCombo.cjs.map +1 -0
- package/dist/data/{ai → runtime}/RuntimeBarCombo.d.ts +4 -3
- package/dist/data/runtime/RuntimeBarCombo.d.ts.map +1 -0
- package/dist/data/{ai → runtime}/RuntimeBarCombo.js +25 -30
- package/dist/data/runtime/RuntimeBarCombo.js.map +1 -0
- package/dist/data/{ai/RuntimeBar.cjs → runtime/RuntimeBarSegments.cjs} +54 -120
- 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} +58 -124
- 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/runtime/model-capabilities.cjs.map +1 -0
- package/dist/data/runtime/model-capabilities.d.ts.map +1 -0
- 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 +119 -27
- package/dist/data/runtime/runtime-mode.cjs.map +1 -0
- package/dist/data/{ai → runtime}/runtime-mode.d.ts +7 -1
- package/dist/data/runtime/runtime-mode.d.ts.map +1 -0
- package/dist/data/{ai → runtime}/runtime-mode.js +120 -28
- package/dist/data/runtime/runtime-mode.js.map +1 -0
- package/dist/data/task-exec-details.cjs +9 -0
- package/dist/data/task-exec-details.cjs.map +1 -0
- package/dist/data/task-exec-details.d.ts +3 -0
- package/dist/data/task-exec-details.d.ts.map +1 -0
- package/dist/data/task-exec-details.js +9 -0
- package/dist/data/task-exec-details.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 +18 -0
- package/dist/data.cjs.map +1 -1
- package/dist/data.d.ts +6 -2
- package/dist/data.d.ts.map +1 -1
- package/dist/data.js +18 -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 +65 -0
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +67 -2
- package/dist/index.js.map +1 -1
- package/dist/layout/AppShell.cjs +92 -56
- 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 +92 -56
- 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/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/FilterForm.cjs +20 -0
- package/dist/rpc/FilterForm.cjs.map +1 -1
- package/dist/rpc/FilterForm.js +20 -0
- package/dist/rpc/FilterForm.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 +83 -7
- package/dist/rpc/OperationCatalog.cjs.map +1 -1
- package/dist/rpc/OperationCatalog.d.ts.map +1 -1
- package/dist/rpc/OperationCatalog.js +84 -8
- package/dist/rpc/OperationCatalog.js.map +1 -1
- package/dist/rpc/OperationResultView.cjs +2 -0
- package/dist/rpc/OperationResultView.cjs.map +1 -1
- package/dist/rpc/OperationResultView.d.ts +6 -0
- package/dist/rpc/OperationResultView.d.ts.map +1 -1
- package/dist/rpc/OperationResultView.js +2 -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 +123 -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 +121 -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 +21 -2
- 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/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.map +0 -1
- package/dist/data/ai/RuntimeBar.js.map +0 -1
- package/dist/data/ai/RuntimeBar.model.cjs.map +0 -1
- package/dist/data/ai/RuntimeBar.model.d.ts.map +0 -1
- package/dist/data/ai/RuntimeBar.model.js.map +0 -1
- package/dist/data/ai/RuntimeBarCombo.cjs.map +0 -1
- package/dist/data/ai/RuntimeBarCombo.d.ts.map +0 -1
- package/dist/data/ai/RuntimeBarCombo.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
- /package/dist/data/{ai → runtime}/RuntimeBar.model.cjs +0 -0
- /package/dist/data/{ai → runtime}/RuntimeBar.model.js +0 -0
- /package/dist/data/{ai → runtime}/model-capabilities.cjs +0 -0
- /package/dist/data/{ai → runtime}/model-capabilities.d.ts +0 -0
- /package/dist/data/{ai → runtime}/model-capabilities.js +0 -0
|
@@ -1,3 +1,4 @@
|
|
|
1
|
-
export { QueryBrowser
|
|
1
|
+
export { QueryBrowser } from './QueryBrowser';
|
|
2
|
+
export { QueryBrowserExecutionError, type QueryBrowserDiagnostics, type QueryBrowserFilterLookup, type QueryBrowserFilterLookupRequest, type QueryBrowserPagination, type QueryBrowserProps, type QueryBrowserRequest, type QueryBrowserResult, type QueryBrowserResultContext, } from './QueryBrowser.types';
|
|
2
3
|
export { type QueryBrowserCompletion, type QueryBrowserCompletionField, type QueryBrowserCompletionRelation, type QueryBrowserCompletionSchema, } from './QueryBrowser.completion';
|
|
3
4
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/data/query-browser/index.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/data/query-browser/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EACL,0BAA0B,EAC1B,KAAK,uBAAuB,EAC5B,KAAK,wBAAwB,EAC7B,KAAK,+BAA+B,EACpC,KAAK,sBAAsB,EAC3B,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACvB,KAAK,yBAAyB,GAC/B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,KAAK,sBAAsB,EAC3B,KAAK,2BAA2B,EAChC,KAAK,8BAA8B,EACnC,KAAK,4BAA4B,GAClC,MAAM,2BAA2B,CAAC"}
|
|
@@ -0,0 +1,187 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const jsxRuntime = require("react/jsx-runtime");
|
|
4
|
+
const react = require("react");
|
|
5
|
+
const utils = require("../../lib/utils.cjs");
|
|
6
|
+
const Icon = require("../Icon.cjs");
|
|
7
|
+
const providerIcons = require("../chat/provider-icons.cjs");
|
|
8
|
+
const providerStatus = require("./provider-status.cjs");
|
|
9
|
+
const UiChevronRight = require("../../icons/components/UiChevronRight.cjs");
|
|
10
|
+
const UiChevronDown = require("../../icons/components/UiChevronDown.cjs");
|
|
11
|
+
function ProviderStatusPanel({
|
|
12
|
+
models,
|
|
13
|
+
families,
|
|
14
|
+
defaultCollapsed = false,
|
|
15
|
+
className
|
|
16
|
+
}) {
|
|
17
|
+
var _a;
|
|
18
|
+
const groups = providerStatus.providerStatusGroups(models, families);
|
|
19
|
+
const issueCount = groups.reduce(
|
|
20
|
+
(total, group) => total + group.issues.length,
|
|
21
|
+
0
|
|
22
|
+
);
|
|
23
|
+
const firstIssueProvider = ((_a = groups.find((group) => group.issues.length > 0)) == null ? void 0 : _a.id) ?? null;
|
|
24
|
+
const inventoryId = react.useId();
|
|
25
|
+
const [collapsed, setCollapsed] = react.useState(defaultCollapsed);
|
|
26
|
+
const [expandedProvider, setExpandedProvider] = react.useState(
|
|
27
|
+
firstIssueProvider
|
|
28
|
+
);
|
|
29
|
+
const summary = issueCount === 0 ? "all providers ready" : issueLabel(issueCount);
|
|
30
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
31
|
+
"section",
|
|
32
|
+
{
|
|
33
|
+
"aria-label": "Provider status",
|
|
34
|
+
className: utils.cn(
|
|
35
|
+
"overflow-hidden rounded-md border border-border",
|
|
36
|
+
className
|
|
37
|
+
),
|
|
38
|
+
children: [
|
|
39
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
40
|
+
"button",
|
|
41
|
+
{
|
|
42
|
+
type: "button",
|
|
43
|
+
"aria-label": `Provider status, ${summary}`,
|
|
44
|
+
"aria-expanded": !collapsed,
|
|
45
|
+
"aria-controls": inventoryId,
|
|
46
|
+
onClick: () => {
|
|
47
|
+
const expandedGroup = groups.find(
|
|
48
|
+
(group) => group.id === expandedProvider
|
|
49
|
+
);
|
|
50
|
+
if (collapsed && (!expandedGroup || expandedGroup.issues.length === 0)) {
|
|
51
|
+
setExpandedProvider(firstIssueProvider);
|
|
52
|
+
}
|
|
53
|
+
setCollapsed((current) => !current);
|
|
54
|
+
},
|
|
55
|
+
className: "grid w-full grid-cols-[minmax(0,1fr)_auto] items-center gap-density-2 bg-background px-density-3 py-density-2 text-left hover:bg-muted/60",
|
|
56
|
+
children: [
|
|
57
|
+
/* @__PURE__ */ jsxRuntime.jsxs("span", { className: "min-w-0", children: [
|
|
58
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "block text-xs font-semibold text-foreground", children: "Provider status" }),
|
|
59
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "block truncate text-[11px] text-muted-foreground", children: "Availability by provider, model, and mode" })
|
|
60
|
+
] }),
|
|
61
|
+
/* @__PURE__ */ jsxRuntime.jsxs("span", { className: "inline-flex items-center gap-density-2", children: [
|
|
62
|
+
/* @__PURE__ */ jsxRuntime.jsx(StatusBadge, { readiness: issueCount === 0 ? "ready" : "attention", children: issueCount === 0 ? "Ready" : issueLabel(issueCount) }),
|
|
63
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
64
|
+
Icon.Icon,
|
|
65
|
+
{
|
|
66
|
+
icon: collapsed ? UiChevronRight.UiChevronRight : UiChevronDown.UiChevronDown,
|
|
67
|
+
className: "size-3.5 text-muted-foreground"
|
|
68
|
+
}
|
|
69
|
+
)
|
|
70
|
+
] })
|
|
71
|
+
]
|
|
72
|
+
}
|
|
73
|
+
),
|
|
74
|
+
!collapsed && /* @__PURE__ */ jsxRuntime.jsx(
|
|
75
|
+
"div",
|
|
76
|
+
{
|
|
77
|
+
id: inventoryId,
|
|
78
|
+
className: "divide-y divide-border border-t border-border",
|
|
79
|
+
children: groups.map((group) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
80
|
+
ProviderRow,
|
|
81
|
+
{
|
|
82
|
+
group,
|
|
83
|
+
expanded: expandedProvider === group.id,
|
|
84
|
+
onToggle: () => setExpandedProvider(
|
|
85
|
+
(current) => current === group.id ? null : group.id
|
|
86
|
+
)
|
|
87
|
+
},
|
|
88
|
+
group.id
|
|
89
|
+
))
|
|
90
|
+
}
|
|
91
|
+
)
|
|
92
|
+
]
|
|
93
|
+
}
|
|
94
|
+
);
|
|
95
|
+
}
|
|
96
|
+
function ProviderRow({
|
|
97
|
+
group,
|
|
98
|
+
expanded,
|
|
99
|
+
onToggle
|
|
100
|
+
}) {
|
|
101
|
+
const detailsId = react.useId();
|
|
102
|
+
const ProviderIcon = providerIcons.providerIcon(group.iconProvider) ?? providerIcons.providerIcon(group.id);
|
|
103
|
+
const iconColor = providerIcons.providerIconColor(group.iconProvider) ?? providerIcons.providerIconColor(group.id);
|
|
104
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
105
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
106
|
+
"button",
|
|
107
|
+
{
|
|
108
|
+
type: "button",
|
|
109
|
+
"aria-label": `${group.label}, ${readinessLabel(group.readiness)}`,
|
|
110
|
+
"aria-expanded": expanded,
|
|
111
|
+
"aria-controls": detailsId,
|
|
112
|
+
onClick: onToggle,
|
|
113
|
+
className: "grid w-full grid-cols-[auto_minmax(0,1fr)_auto] items-center gap-density-2 px-density-3 py-density-2 text-left hover:bg-muted/50",
|
|
114
|
+
children: [
|
|
115
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
116
|
+
Icon.Icon,
|
|
117
|
+
{
|
|
118
|
+
icon: expanded ? UiChevronDown.UiChevronDown : UiChevronRight.UiChevronRight,
|
|
119
|
+
className: "size-3 text-muted-foreground"
|
|
120
|
+
}
|
|
121
|
+
),
|
|
122
|
+
/* @__PURE__ */ jsxRuntime.jsxs("span", { className: "grid min-w-0 grid-cols-[auto_minmax(0,1fr)] items-center gap-density-2", children: [
|
|
123
|
+
ProviderIcon && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "inline-flex size-6 items-center justify-center rounded-md bg-muted/70 ring-1 ring-border/60", children: /* @__PURE__ */ jsxRuntime.jsx(Icon.Icon, { icon: ProviderIcon, className: utils.cn("size-3.5", iconColor) }) }),
|
|
124
|
+
/* @__PURE__ */ jsxRuntime.jsxs("span", { className: "min-w-0", children: [
|
|
125
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "block truncate text-xs font-semibold text-foreground", children: group.label }),
|
|
126
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "block truncate text-[11px] text-muted-foreground", children: providerSummary(group) })
|
|
127
|
+
] })
|
|
128
|
+
] }),
|
|
129
|
+
/* @__PURE__ */ jsxRuntime.jsx(StatusBadge, { readiness: group.readiness, children: readinessLabel(group.readiness) })
|
|
130
|
+
]
|
|
131
|
+
}
|
|
132
|
+
),
|
|
133
|
+
expanded && /* @__PURE__ */ jsxRuntime.jsx(
|
|
134
|
+
"div",
|
|
135
|
+
{
|
|
136
|
+
id: detailsId,
|
|
137
|
+
role: "region",
|
|
138
|
+
"aria-label": `${group.label} provider details`,
|
|
139
|
+
className: "space-y-density-2 border-t border-border bg-muted/20 px-density-4 py-density-3",
|
|
140
|
+
children: group.issues.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs text-muted-foreground", children: "All configured models and modes are available." }) : group.issues.map((issue) => /* @__PURE__ */ jsxRuntime.jsx(ProviderIssue, { issue }, issue.id))
|
|
141
|
+
}
|
|
142
|
+
)
|
|
143
|
+
] });
|
|
144
|
+
}
|
|
145
|
+
function ProviderIssue({ issue }) {
|
|
146
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid gap-1 rounded-md border border-border bg-background px-density-3 py-density-2", children: [
|
|
147
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-start justify-between gap-density-2", children: [
|
|
148
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs font-medium text-foreground", children: issue.label }),
|
|
149
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "shrink-0 rounded-full bg-muted px-2 py-0.5 text-[10px] font-semibold uppercase text-muted-foreground", children: providerStatus.availabilityStateLabel(issue.availability.state) })
|
|
150
|
+
] }),
|
|
151
|
+
issue.availability.reason && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs text-foreground", children: issue.availability.reason }),
|
|
152
|
+
issue.availability.remediation && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-[11px] text-muted-foreground", children: issue.availability.remediation })
|
|
153
|
+
] });
|
|
154
|
+
}
|
|
155
|
+
function StatusBadge({
|
|
156
|
+
readiness,
|
|
157
|
+
children
|
|
158
|
+
}) {
|
|
159
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
160
|
+
"span",
|
|
161
|
+
{
|
|
162
|
+
className: utils.cn(
|
|
163
|
+
"shrink-0 rounded-full px-2 py-0.5 text-[10px] font-semibold capitalize",
|
|
164
|
+
readiness === "ready" && "bg-emerald-500/10 text-emerald-700",
|
|
165
|
+
readiness === "attention" && "bg-amber-500/10 text-amber-700",
|
|
166
|
+
readiness === "disabled" && "bg-muted text-muted-foreground",
|
|
167
|
+
readiness === "unavailable" && "bg-destructive/10 text-destructive"
|
|
168
|
+
),
|
|
169
|
+
children
|
|
170
|
+
}
|
|
171
|
+
);
|
|
172
|
+
}
|
|
173
|
+
function readinessLabel(readiness) {
|
|
174
|
+
if (readiness === "attention") return "needs attention";
|
|
175
|
+
return readiness;
|
|
176
|
+
}
|
|
177
|
+
function providerSummary(group) {
|
|
178
|
+
const modes = `${group.availableModes} of ${group.totalModes} modes available`;
|
|
179
|
+
const unavailableModels = group.totalModels - group.availableModels;
|
|
180
|
+
if (unavailableModels === 0) return modes;
|
|
181
|
+
return `${modes} · ${unavailableModels} unavailable ${unavailableModels === 1 ? "model" : "models"}`;
|
|
182
|
+
}
|
|
183
|
+
function issueLabel(count) {
|
|
184
|
+
return `${count} ${count === 1 ? "issue" : "issues"}`;
|
|
185
|
+
}
|
|
186
|
+
exports.ProviderStatusPanel = ProviderStatusPanel;
|
|
187
|
+
//# sourceMappingURL=ProviderStatusPanel.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProviderStatusPanel.cjs","sources":["../../../src/data/runtime/ProviderStatusPanel.tsx"],"sourcesContent":["import { useId, useState } from \"react\";\nimport { UiChevronDown, UiChevronRight } from \"../../icons\";\nimport { cn } from \"../../lib/utils\";\nimport { Icon } from \"../Icon\";\nimport { providerIcon, providerIconColor } from \"../chat/provider-icons\";\nimport type { ChatModel } from \"../chat/types\";\nimport {\n availabilityStateLabel,\n providerStatusGroups,\n type ProviderReadiness,\n type ProviderStatusGroup,\n type ProviderStatusIssue,\n} from \"./provider-status\";\nimport type { SpecRuntimeFamily } from \"./runtime-mode\";\n\nexport type ProviderStatusPanelProps = {\n models: ChatModel[];\n families: SpecRuntimeFamily[];\n defaultCollapsed?: boolean | undefined;\n className?: string | undefined;\n};\n\nexport function ProviderStatusPanel({\n models,\n families,\n defaultCollapsed = false,\n className,\n}: ProviderStatusPanelProps) {\n const groups = providerStatusGroups(models, families);\n const issueCount = groups.reduce(\n (total, group) => total + group.issues.length,\n 0\n );\n const firstIssueProvider =\n groups.find((group) => group.issues.length > 0)?.id ?? null;\n const inventoryId = useId();\n const [collapsed, setCollapsed] = useState(defaultCollapsed);\n const [expandedProvider, setExpandedProvider] = useState<string | null>(\n firstIssueProvider\n );\n const summary =\n issueCount === 0 ? \"all providers ready\" : issueLabel(issueCount);\n\n return (\n <section\n aria-label=\"Provider status\"\n className={cn(\n \"overflow-hidden rounded-md border border-border\",\n className\n )}\n >\n <button\n type=\"button\"\n aria-label={`Provider status, ${summary}`}\n aria-expanded={!collapsed}\n aria-controls={inventoryId}\n onClick={() => {\n const expandedGroup = groups.find(\n (group) => group.id === expandedProvider\n );\n if (\n collapsed &&\n (!expandedGroup || expandedGroup.issues.length === 0)\n ) {\n setExpandedProvider(firstIssueProvider);\n }\n setCollapsed((current) => !current);\n }}\n className=\"grid w-full grid-cols-[minmax(0,1fr)_auto] items-center gap-density-2 bg-background px-density-3 py-density-2 text-left hover:bg-muted/60\"\n >\n <span className=\"min-w-0\">\n <span className=\"block text-xs font-semibold text-foreground\">\n Provider status\n </span>\n <span className=\"block truncate text-[11px] text-muted-foreground\">\n Availability by provider, model, and mode\n </span>\n </span>\n <span className=\"inline-flex items-center gap-density-2\">\n <StatusBadge readiness={issueCount === 0 ? \"ready\" : \"attention\"}>\n {issueCount === 0 ? \"Ready\" : issueLabel(issueCount)}\n </StatusBadge>\n <Icon\n icon={collapsed ? UiChevronRight : UiChevronDown}\n className=\"size-3.5 text-muted-foreground\"\n />\n </span>\n </button>\n {!collapsed && (\n <div\n id={inventoryId}\n className=\"divide-y divide-border border-t border-border\"\n >\n {groups.map((group) => (\n <ProviderRow\n key={group.id}\n group={group}\n expanded={expandedProvider === group.id}\n onToggle={() =>\n setExpandedProvider((current) =>\n current === group.id ? null : group.id\n )\n }\n />\n ))}\n </div>\n )}\n </section>\n );\n}\n\nfunction ProviderRow({\n group,\n expanded,\n onToggle,\n}: {\n group: ProviderStatusGroup;\n expanded: boolean;\n onToggle: () => void;\n}) {\n const detailsId = useId();\n const ProviderIcon =\n providerIcon(group.iconProvider) ?? providerIcon(group.id);\n const iconColor =\n providerIconColor(group.iconProvider) ?? providerIconColor(group.id);\n return (\n <div>\n <button\n type=\"button\"\n aria-label={`${group.label}, ${readinessLabel(group.readiness)}`}\n aria-expanded={expanded}\n aria-controls={detailsId}\n onClick={onToggle}\n className=\"grid w-full grid-cols-[auto_minmax(0,1fr)_auto] items-center gap-density-2 px-density-3 py-density-2 text-left hover:bg-muted/50\"\n >\n <Icon\n icon={expanded ? UiChevronDown : UiChevronRight}\n className=\"size-3 text-muted-foreground\"\n />\n <span className=\"grid min-w-0 grid-cols-[auto_minmax(0,1fr)] items-center gap-density-2\">\n {ProviderIcon && (\n <span className=\"inline-flex size-6 items-center justify-center rounded-md bg-muted/70 ring-1 ring-border/60\">\n <Icon icon={ProviderIcon} className={cn(\"size-3.5\", iconColor)} />\n </span>\n )}\n <span className=\"min-w-0\">\n <span className=\"block truncate text-xs font-semibold text-foreground\">\n {group.label}\n </span>\n <span className=\"block truncate text-[11px] text-muted-foreground\">\n {providerSummary(group)}\n </span>\n </span>\n </span>\n <StatusBadge readiness={group.readiness}>\n {readinessLabel(group.readiness)}\n </StatusBadge>\n </button>\n {expanded && (\n <div\n id={detailsId}\n role=\"region\"\n aria-label={`${group.label} provider details`}\n className=\"space-y-density-2 border-t border-border bg-muted/20 px-density-4 py-density-3\"\n >\n {group.issues.length === 0 ? (\n <p className=\"text-xs text-muted-foreground\">\n All configured models and modes are available.\n </p>\n ) : (\n group.issues.map((issue) => (\n <ProviderIssue key={issue.id} issue={issue} />\n ))\n )}\n </div>\n )}\n </div>\n );\n}\n\nfunction ProviderIssue({ issue }: { issue: ProviderStatusIssue }) {\n return (\n <div className=\"grid gap-1 rounded-md border border-border bg-background px-density-3 py-density-2\">\n <div className=\"flex items-start justify-between gap-density-2\">\n <span className=\"text-xs font-medium text-foreground\">\n {issue.label}\n </span>\n <span className=\"shrink-0 rounded-full bg-muted px-2 py-0.5 text-[10px] font-semibold uppercase text-muted-foreground\">\n {availabilityStateLabel(issue.availability.state)}\n </span>\n </div>\n {issue.availability.reason && (\n <p className=\"text-xs text-foreground\">{issue.availability.reason}</p>\n )}\n {issue.availability.remediation && (\n <p className=\"text-[11px] text-muted-foreground\">\n {issue.availability.remediation}\n </p>\n )}\n </div>\n );\n}\n\nfunction StatusBadge({\n readiness,\n children,\n}: {\n readiness: ProviderReadiness;\n children: string;\n}) {\n return (\n <span\n className={cn(\n \"shrink-0 rounded-full px-2 py-0.5 text-[10px] font-semibold capitalize\",\n readiness === \"ready\" && \"bg-emerald-500/10 text-emerald-700\",\n readiness === \"attention\" && \"bg-amber-500/10 text-amber-700\",\n readiness === \"disabled\" && \"bg-muted text-muted-foreground\",\n readiness === \"unavailable\" && \"bg-destructive/10 text-destructive\"\n )}\n >\n {children}\n </span>\n );\n}\n\nfunction readinessLabel(readiness: ProviderReadiness): string {\n if (readiness === \"attention\") return \"needs attention\";\n return readiness;\n}\n\nfunction providerSummary(group: ProviderStatusGroup): string {\n const modes = `${group.availableModes} of ${group.totalModes} modes available`;\n const unavailableModels = group.totalModels - group.availableModels;\n if (unavailableModels === 0) return modes;\n return `${modes} · ${unavailableModels} unavailable ${\n unavailableModels === 1 ? \"model\" : \"models\"\n }`;\n}\n\nfunction issueLabel(count: number): string {\n return `${count} ${count === 1 ? \"issue\" : \"issues\"}`;\n}\n"],"names":["providerStatusGroups","useId","useState","jsxs","cn","jsx","Icon","UiChevronRight","UiChevronDown","providerIcon","providerIconColor"],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { ChatModel } from '../chat/types';
|
|
2
|
+
import { SpecRuntimeFamily } from './runtime-mode';
|
|
3
|
+
export type ProviderStatusPanelProps = {
|
|
4
|
+
models: ChatModel[];
|
|
5
|
+
families: SpecRuntimeFamily[];
|
|
6
|
+
defaultCollapsed?: boolean | undefined;
|
|
7
|
+
className?: string | undefined;
|
|
8
|
+
};
|
|
9
|
+
export declare function ProviderStatusPanel({ models, families, defaultCollapsed, className, }: ProviderStatusPanelProps): import("react/jsx-runtime").JSX.Element;
|
|
10
|
+
//# sourceMappingURL=ProviderStatusPanel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProviderStatusPanel.d.ts","sourceRoot":"","sources":["../../../src/data/runtime/ProviderStatusPanel.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAQ/C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAExD,MAAM,MAAM,wBAAwB,GAAG;IACrC,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,QAAQ,EAAE,iBAAiB,EAAE,CAAC;IAC9B,gBAAgB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACvC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAChC,CAAC;AAEF,wBAAgB,mBAAmB,CAAC,EAClC,MAAM,EACN,QAAQ,EACR,gBAAwB,EACxB,SAAS,GACV,EAAE,wBAAwB,2CAkF1B"}
|
|
@@ -0,0 +1,187 @@
|
|
|
1
|
+
import { jsxs, jsx } from "react/jsx-runtime";
|
|
2
|
+
import { useId, useState } from "react";
|
|
3
|
+
import { cn } from "../../lib/utils.js";
|
|
4
|
+
import { Icon } from "../Icon.js";
|
|
5
|
+
import { providerIcon, providerIconColor } from "../chat/provider-icons.js";
|
|
6
|
+
import { providerStatusGroups, availabilityStateLabel } from "./provider-status.js";
|
|
7
|
+
import { UiChevronRight } from "../../icons/components/UiChevronRight.js";
|
|
8
|
+
import { UiChevronDown } from "../../icons/components/UiChevronDown.js";
|
|
9
|
+
function ProviderStatusPanel({
|
|
10
|
+
models,
|
|
11
|
+
families,
|
|
12
|
+
defaultCollapsed = false,
|
|
13
|
+
className
|
|
14
|
+
}) {
|
|
15
|
+
var _a;
|
|
16
|
+
const groups = providerStatusGroups(models, families);
|
|
17
|
+
const issueCount = groups.reduce(
|
|
18
|
+
(total, group) => total + group.issues.length,
|
|
19
|
+
0
|
|
20
|
+
);
|
|
21
|
+
const firstIssueProvider = ((_a = groups.find((group) => group.issues.length > 0)) == null ? void 0 : _a.id) ?? null;
|
|
22
|
+
const inventoryId = useId();
|
|
23
|
+
const [collapsed, setCollapsed] = useState(defaultCollapsed);
|
|
24
|
+
const [expandedProvider, setExpandedProvider] = useState(
|
|
25
|
+
firstIssueProvider
|
|
26
|
+
);
|
|
27
|
+
const summary = issueCount === 0 ? "all providers ready" : issueLabel(issueCount);
|
|
28
|
+
return /* @__PURE__ */ jsxs(
|
|
29
|
+
"section",
|
|
30
|
+
{
|
|
31
|
+
"aria-label": "Provider status",
|
|
32
|
+
className: cn(
|
|
33
|
+
"overflow-hidden rounded-md border border-border",
|
|
34
|
+
className
|
|
35
|
+
),
|
|
36
|
+
children: [
|
|
37
|
+
/* @__PURE__ */ jsxs(
|
|
38
|
+
"button",
|
|
39
|
+
{
|
|
40
|
+
type: "button",
|
|
41
|
+
"aria-label": `Provider status, ${summary}`,
|
|
42
|
+
"aria-expanded": !collapsed,
|
|
43
|
+
"aria-controls": inventoryId,
|
|
44
|
+
onClick: () => {
|
|
45
|
+
const expandedGroup = groups.find(
|
|
46
|
+
(group) => group.id === expandedProvider
|
|
47
|
+
);
|
|
48
|
+
if (collapsed && (!expandedGroup || expandedGroup.issues.length === 0)) {
|
|
49
|
+
setExpandedProvider(firstIssueProvider);
|
|
50
|
+
}
|
|
51
|
+
setCollapsed((current) => !current);
|
|
52
|
+
},
|
|
53
|
+
className: "grid w-full grid-cols-[minmax(0,1fr)_auto] items-center gap-density-2 bg-background px-density-3 py-density-2 text-left hover:bg-muted/60",
|
|
54
|
+
children: [
|
|
55
|
+
/* @__PURE__ */ jsxs("span", { className: "min-w-0", children: [
|
|
56
|
+
/* @__PURE__ */ jsx("span", { className: "block text-xs font-semibold text-foreground", children: "Provider status" }),
|
|
57
|
+
/* @__PURE__ */ jsx("span", { className: "block truncate text-[11px] text-muted-foreground", children: "Availability by provider, model, and mode" })
|
|
58
|
+
] }),
|
|
59
|
+
/* @__PURE__ */ jsxs("span", { className: "inline-flex items-center gap-density-2", children: [
|
|
60
|
+
/* @__PURE__ */ jsx(StatusBadge, { readiness: issueCount === 0 ? "ready" : "attention", children: issueCount === 0 ? "Ready" : issueLabel(issueCount) }),
|
|
61
|
+
/* @__PURE__ */ jsx(
|
|
62
|
+
Icon,
|
|
63
|
+
{
|
|
64
|
+
icon: collapsed ? UiChevronRight : UiChevronDown,
|
|
65
|
+
className: "size-3.5 text-muted-foreground"
|
|
66
|
+
}
|
|
67
|
+
)
|
|
68
|
+
] })
|
|
69
|
+
]
|
|
70
|
+
}
|
|
71
|
+
),
|
|
72
|
+
!collapsed && /* @__PURE__ */ jsx(
|
|
73
|
+
"div",
|
|
74
|
+
{
|
|
75
|
+
id: inventoryId,
|
|
76
|
+
className: "divide-y divide-border border-t border-border",
|
|
77
|
+
children: groups.map((group) => /* @__PURE__ */ jsx(
|
|
78
|
+
ProviderRow,
|
|
79
|
+
{
|
|
80
|
+
group,
|
|
81
|
+
expanded: expandedProvider === group.id,
|
|
82
|
+
onToggle: () => setExpandedProvider(
|
|
83
|
+
(current) => current === group.id ? null : group.id
|
|
84
|
+
)
|
|
85
|
+
},
|
|
86
|
+
group.id
|
|
87
|
+
))
|
|
88
|
+
}
|
|
89
|
+
)
|
|
90
|
+
]
|
|
91
|
+
}
|
|
92
|
+
);
|
|
93
|
+
}
|
|
94
|
+
function ProviderRow({
|
|
95
|
+
group,
|
|
96
|
+
expanded,
|
|
97
|
+
onToggle
|
|
98
|
+
}) {
|
|
99
|
+
const detailsId = useId();
|
|
100
|
+
const ProviderIcon = providerIcon(group.iconProvider) ?? providerIcon(group.id);
|
|
101
|
+
const iconColor = providerIconColor(group.iconProvider) ?? providerIconColor(group.id);
|
|
102
|
+
return /* @__PURE__ */ jsxs("div", { children: [
|
|
103
|
+
/* @__PURE__ */ jsxs(
|
|
104
|
+
"button",
|
|
105
|
+
{
|
|
106
|
+
type: "button",
|
|
107
|
+
"aria-label": `${group.label}, ${readinessLabel(group.readiness)}`,
|
|
108
|
+
"aria-expanded": expanded,
|
|
109
|
+
"aria-controls": detailsId,
|
|
110
|
+
onClick: onToggle,
|
|
111
|
+
className: "grid w-full grid-cols-[auto_minmax(0,1fr)_auto] items-center gap-density-2 px-density-3 py-density-2 text-left hover:bg-muted/50",
|
|
112
|
+
children: [
|
|
113
|
+
/* @__PURE__ */ jsx(
|
|
114
|
+
Icon,
|
|
115
|
+
{
|
|
116
|
+
icon: expanded ? UiChevronDown : UiChevronRight,
|
|
117
|
+
className: "size-3 text-muted-foreground"
|
|
118
|
+
}
|
|
119
|
+
),
|
|
120
|
+
/* @__PURE__ */ jsxs("span", { className: "grid min-w-0 grid-cols-[auto_minmax(0,1fr)] items-center gap-density-2", children: [
|
|
121
|
+
ProviderIcon && /* @__PURE__ */ jsx("span", { className: "inline-flex size-6 items-center justify-center rounded-md bg-muted/70 ring-1 ring-border/60", children: /* @__PURE__ */ jsx(Icon, { icon: ProviderIcon, className: cn("size-3.5", iconColor) }) }),
|
|
122
|
+
/* @__PURE__ */ jsxs("span", { className: "min-w-0", children: [
|
|
123
|
+
/* @__PURE__ */ jsx("span", { className: "block truncate text-xs font-semibold text-foreground", children: group.label }),
|
|
124
|
+
/* @__PURE__ */ jsx("span", { className: "block truncate text-[11px] text-muted-foreground", children: providerSummary(group) })
|
|
125
|
+
] })
|
|
126
|
+
] }),
|
|
127
|
+
/* @__PURE__ */ jsx(StatusBadge, { readiness: group.readiness, children: readinessLabel(group.readiness) })
|
|
128
|
+
]
|
|
129
|
+
}
|
|
130
|
+
),
|
|
131
|
+
expanded && /* @__PURE__ */ jsx(
|
|
132
|
+
"div",
|
|
133
|
+
{
|
|
134
|
+
id: detailsId,
|
|
135
|
+
role: "region",
|
|
136
|
+
"aria-label": `${group.label} provider details`,
|
|
137
|
+
className: "space-y-density-2 border-t border-border bg-muted/20 px-density-4 py-density-3",
|
|
138
|
+
children: group.issues.length === 0 ? /* @__PURE__ */ jsx("p", { className: "text-xs text-muted-foreground", children: "All configured models and modes are available." }) : group.issues.map((issue) => /* @__PURE__ */ jsx(ProviderIssue, { issue }, issue.id))
|
|
139
|
+
}
|
|
140
|
+
)
|
|
141
|
+
] });
|
|
142
|
+
}
|
|
143
|
+
function ProviderIssue({ issue }) {
|
|
144
|
+
return /* @__PURE__ */ jsxs("div", { className: "grid gap-1 rounded-md border border-border bg-background px-density-3 py-density-2", children: [
|
|
145
|
+
/* @__PURE__ */ jsxs("div", { className: "flex items-start justify-between gap-density-2", children: [
|
|
146
|
+
/* @__PURE__ */ jsx("span", { className: "text-xs font-medium text-foreground", children: issue.label }),
|
|
147
|
+
/* @__PURE__ */ jsx("span", { className: "shrink-0 rounded-full bg-muted px-2 py-0.5 text-[10px] font-semibold uppercase text-muted-foreground", children: availabilityStateLabel(issue.availability.state) })
|
|
148
|
+
] }),
|
|
149
|
+
issue.availability.reason && /* @__PURE__ */ jsx("p", { className: "text-xs text-foreground", children: issue.availability.reason }),
|
|
150
|
+
issue.availability.remediation && /* @__PURE__ */ jsx("p", { className: "text-[11px] text-muted-foreground", children: issue.availability.remediation })
|
|
151
|
+
] });
|
|
152
|
+
}
|
|
153
|
+
function StatusBadge({
|
|
154
|
+
readiness,
|
|
155
|
+
children
|
|
156
|
+
}) {
|
|
157
|
+
return /* @__PURE__ */ jsx(
|
|
158
|
+
"span",
|
|
159
|
+
{
|
|
160
|
+
className: cn(
|
|
161
|
+
"shrink-0 rounded-full px-2 py-0.5 text-[10px] font-semibold capitalize",
|
|
162
|
+
readiness === "ready" && "bg-emerald-500/10 text-emerald-700",
|
|
163
|
+
readiness === "attention" && "bg-amber-500/10 text-amber-700",
|
|
164
|
+
readiness === "disabled" && "bg-muted text-muted-foreground",
|
|
165
|
+
readiness === "unavailable" && "bg-destructive/10 text-destructive"
|
|
166
|
+
),
|
|
167
|
+
children
|
|
168
|
+
}
|
|
169
|
+
);
|
|
170
|
+
}
|
|
171
|
+
function readinessLabel(readiness) {
|
|
172
|
+
if (readiness === "attention") return "needs attention";
|
|
173
|
+
return readiness;
|
|
174
|
+
}
|
|
175
|
+
function providerSummary(group) {
|
|
176
|
+
const modes = `${group.availableModes} of ${group.totalModes} modes available`;
|
|
177
|
+
const unavailableModels = group.totalModels - group.availableModels;
|
|
178
|
+
if (unavailableModels === 0) return modes;
|
|
179
|
+
return `${modes} · ${unavailableModels} unavailable ${unavailableModels === 1 ? "model" : "models"}`;
|
|
180
|
+
}
|
|
181
|
+
function issueLabel(count) {
|
|
182
|
+
return `${count} ${count === 1 ? "issue" : "issues"}`;
|
|
183
|
+
}
|
|
184
|
+
export {
|
|
185
|
+
ProviderStatusPanel
|
|
186
|
+
};
|
|
187
|
+
//# sourceMappingURL=ProviderStatusPanel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProviderStatusPanel.js","sources":["../../../src/data/runtime/ProviderStatusPanel.tsx"],"sourcesContent":["import { useId, useState } from \"react\";\nimport { UiChevronDown, UiChevronRight } from \"../../icons\";\nimport { cn } from \"../../lib/utils\";\nimport { Icon } from \"../Icon\";\nimport { providerIcon, providerIconColor } from \"../chat/provider-icons\";\nimport type { ChatModel } from \"../chat/types\";\nimport {\n availabilityStateLabel,\n providerStatusGroups,\n type ProviderReadiness,\n type ProviderStatusGroup,\n type ProviderStatusIssue,\n} from \"./provider-status\";\nimport type { SpecRuntimeFamily } from \"./runtime-mode\";\n\nexport type ProviderStatusPanelProps = {\n models: ChatModel[];\n families: SpecRuntimeFamily[];\n defaultCollapsed?: boolean | undefined;\n className?: string | undefined;\n};\n\nexport function ProviderStatusPanel({\n models,\n families,\n defaultCollapsed = false,\n className,\n}: ProviderStatusPanelProps) {\n const groups = providerStatusGroups(models, families);\n const issueCount = groups.reduce(\n (total, group) => total + group.issues.length,\n 0\n );\n const firstIssueProvider =\n groups.find((group) => group.issues.length > 0)?.id ?? null;\n const inventoryId = useId();\n const [collapsed, setCollapsed] = useState(defaultCollapsed);\n const [expandedProvider, setExpandedProvider] = useState<string | null>(\n firstIssueProvider\n );\n const summary =\n issueCount === 0 ? \"all providers ready\" : issueLabel(issueCount);\n\n return (\n <section\n aria-label=\"Provider status\"\n className={cn(\n \"overflow-hidden rounded-md border border-border\",\n className\n )}\n >\n <button\n type=\"button\"\n aria-label={`Provider status, ${summary}`}\n aria-expanded={!collapsed}\n aria-controls={inventoryId}\n onClick={() => {\n const expandedGroup = groups.find(\n (group) => group.id === expandedProvider\n );\n if (\n collapsed &&\n (!expandedGroup || expandedGroup.issues.length === 0)\n ) {\n setExpandedProvider(firstIssueProvider);\n }\n setCollapsed((current) => !current);\n }}\n className=\"grid w-full grid-cols-[minmax(0,1fr)_auto] items-center gap-density-2 bg-background px-density-3 py-density-2 text-left hover:bg-muted/60\"\n >\n <span className=\"min-w-0\">\n <span className=\"block text-xs font-semibold text-foreground\">\n Provider status\n </span>\n <span className=\"block truncate text-[11px] text-muted-foreground\">\n Availability by provider, model, and mode\n </span>\n </span>\n <span className=\"inline-flex items-center gap-density-2\">\n <StatusBadge readiness={issueCount === 0 ? \"ready\" : \"attention\"}>\n {issueCount === 0 ? \"Ready\" : issueLabel(issueCount)}\n </StatusBadge>\n <Icon\n icon={collapsed ? UiChevronRight : UiChevronDown}\n className=\"size-3.5 text-muted-foreground\"\n />\n </span>\n </button>\n {!collapsed && (\n <div\n id={inventoryId}\n className=\"divide-y divide-border border-t border-border\"\n >\n {groups.map((group) => (\n <ProviderRow\n key={group.id}\n group={group}\n expanded={expandedProvider === group.id}\n onToggle={() =>\n setExpandedProvider((current) =>\n current === group.id ? null : group.id\n )\n }\n />\n ))}\n </div>\n )}\n </section>\n );\n}\n\nfunction ProviderRow({\n group,\n expanded,\n onToggle,\n}: {\n group: ProviderStatusGroup;\n expanded: boolean;\n onToggle: () => void;\n}) {\n const detailsId = useId();\n const ProviderIcon =\n providerIcon(group.iconProvider) ?? providerIcon(group.id);\n const iconColor =\n providerIconColor(group.iconProvider) ?? providerIconColor(group.id);\n return (\n <div>\n <button\n type=\"button\"\n aria-label={`${group.label}, ${readinessLabel(group.readiness)}`}\n aria-expanded={expanded}\n aria-controls={detailsId}\n onClick={onToggle}\n className=\"grid w-full grid-cols-[auto_minmax(0,1fr)_auto] items-center gap-density-2 px-density-3 py-density-2 text-left hover:bg-muted/50\"\n >\n <Icon\n icon={expanded ? UiChevronDown : UiChevronRight}\n className=\"size-3 text-muted-foreground\"\n />\n <span className=\"grid min-w-0 grid-cols-[auto_minmax(0,1fr)] items-center gap-density-2\">\n {ProviderIcon && (\n <span className=\"inline-flex size-6 items-center justify-center rounded-md bg-muted/70 ring-1 ring-border/60\">\n <Icon icon={ProviderIcon} className={cn(\"size-3.5\", iconColor)} />\n </span>\n )}\n <span className=\"min-w-0\">\n <span className=\"block truncate text-xs font-semibold text-foreground\">\n {group.label}\n </span>\n <span className=\"block truncate text-[11px] text-muted-foreground\">\n {providerSummary(group)}\n </span>\n </span>\n </span>\n <StatusBadge readiness={group.readiness}>\n {readinessLabel(group.readiness)}\n </StatusBadge>\n </button>\n {expanded && (\n <div\n id={detailsId}\n role=\"region\"\n aria-label={`${group.label} provider details`}\n className=\"space-y-density-2 border-t border-border bg-muted/20 px-density-4 py-density-3\"\n >\n {group.issues.length === 0 ? (\n <p className=\"text-xs text-muted-foreground\">\n All configured models and modes are available.\n </p>\n ) : (\n group.issues.map((issue) => (\n <ProviderIssue key={issue.id} issue={issue} />\n ))\n )}\n </div>\n )}\n </div>\n );\n}\n\nfunction ProviderIssue({ issue }: { issue: ProviderStatusIssue }) {\n return (\n <div className=\"grid gap-1 rounded-md border border-border bg-background px-density-3 py-density-2\">\n <div className=\"flex items-start justify-between gap-density-2\">\n <span className=\"text-xs font-medium text-foreground\">\n {issue.label}\n </span>\n <span className=\"shrink-0 rounded-full bg-muted px-2 py-0.5 text-[10px] font-semibold uppercase text-muted-foreground\">\n {availabilityStateLabel(issue.availability.state)}\n </span>\n </div>\n {issue.availability.reason && (\n <p className=\"text-xs text-foreground\">{issue.availability.reason}</p>\n )}\n {issue.availability.remediation && (\n <p className=\"text-[11px] text-muted-foreground\">\n {issue.availability.remediation}\n </p>\n )}\n </div>\n );\n}\n\nfunction StatusBadge({\n readiness,\n children,\n}: {\n readiness: ProviderReadiness;\n children: string;\n}) {\n return (\n <span\n className={cn(\n \"shrink-0 rounded-full px-2 py-0.5 text-[10px] font-semibold capitalize\",\n readiness === \"ready\" && \"bg-emerald-500/10 text-emerald-700\",\n readiness === \"attention\" && \"bg-amber-500/10 text-amber-700\",\n readiness === \"disabled\" && \"bg-muted text-muted-foreground\",\n readiness === \"unavailable\" && \"bg-destructive/10 text-destructive\"\n )}\n >\n {children}\n </span>\n );\n}\n\nfunction readinessLabel(readiness: ProviderReadiness): string {\n if (readiness === \"attention\") return \"needs attention\";\n return readiness;\n}\n\nfunction providerSummary(group: ProviderStatusGroup): string {\n const modes = `${group.availableModes} of ${group.totalModes} modes available`;\n const unavailableModels = group.totalModels - group.availableModels;\n if (unavailableModels === 0) return modes;\n return `${modes} · ${unavailableModels} unavailable ${\n unavailableModels === 1 ? \"model\" : \"models\"\n }`;\n}\n\nfunction issueLabel(count: number): string {\n return `${count} ${count === 1 ? \"issue\" : \"issues\"}`;\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const jsxRuntime = require("react/jsx-runtime");
|
|
4
|
+
const effortIcons = require("../chat/effort-icons.cjs");
|
|
5
|
+
const RuntimeBar_model = require("./RuntimeBar.model.cjs");
|
|
6
|
+
const RuntimeBarCombo = require("./RuntimeBarCombo.cjs");
|
|
7
|
+
const RuntimeBarSegments = require("./RuntimeBarSegments.cjs");
|
|
8
|
+
const availability = require("./availability.cjs");
|
|
9
|
+
const modelCapabilities = require("./model-capabilities.cjs");
|
|
10
|
+
const runtimeMode = require("./runtime-mode.cjs");
|
|
11
|
+
function RuntimeBar({
|
|
12
|
+
value,
|
|
13
|
+
onChange,
|
|
14
|
+
variant = "segmented",
|
|
15
|
+
models = [],
|
|
16
|
+
families = runtimeMode.SPEC_RUNTIME_FAMILIES,
|
|
17
|
+
reasoningEfforts = effortIcons.DEFAULT_REASONING_EFFORTS,
|
|
18
|
+
ariaLabel = "Runtime",
|
|
19
|
+
className
|
|
20
|
+
}) {
|
|
21
|
+
const selection = runtimeMode.selectionForBackend(families, value.backend);
|
|
22
|
+
const family = runtimeMode.familyById(families, selection.family);
|
|
23
|
+
const mode = family.modes.find((entry) => entry.id === selection.mode) ?? runtimeMode.firstMode(family);
|
|
24
|
+
const modelOptions = runtimeMode.modelsForFamily(models, family, value.backend);
|
|
25
|
+
const selectedModel = models.find(
|
|
26
|
+
(entry) => {
|
|
27
|
+
var _a;
|
|
28
|
+
return availability.isSelectableModel(entry) && ((_a = entry.runtime) == null ? void 0 : _a.backend) === value.backend && RuntimeBar_model.runtimeModelMatches(entry, value);
|
|
29
|
+
}
|
|
30
|
+
);
|
|
31
|
+
const resolvedModel = selectedModel ?? models.find(
|
|
32
|
+
(entry) => availability.isSelectableModel(entry) && RuntimeBar_model.runtimeModelMatches(entry, value)
|
|
33
|
+
);
|
|
34
|
+
const selectedModelUnavailable = Boolean(
|
|
35
|
+
value.model && models.some(
|
|
36
|
+
(entry) => !availability.isSelectableModel(entry) && RuntimeBar_model.runtimeModelMatches(entry, value)
|
|
37
|
+
)
|
|
38
|
+
);
|
|
39
|
+
const supportedEfforts = modelCapabilities.effortOptionsForModel(
|
|
40
|
+
resolvedModel,
|
|
41
|
+
reasoningEfforts
|
|
42
|
+
);
|
|
43
|
+
const applyBackend = (familyId, modeId) => {
|
|
44
|
+
const backend = runtimeMode.backendForFamilyMode(families, familyId, modeId);
|
|
45
|
+
if (backend === (value.backend ?? "")) return;
|
|
46
|
+
let next = withOptionalRuntimeValue(
|
|
47
|
+
withRuntimeValue(value, { backend }),
|
|
48
|
+
"cliArgs",
|
|
49
|
+
void 0
|
|
50
|
+
);
|
|
51
|
+
if (!runtimeMode.modelBelongsToFamily(
|
|
52
|
+
value.model,
|
|
53
|
+
models,
|
|
54
|
+
runtimeMode.familyById(families, familyId),
|
|
55
|
+
backend
|
|
56
|
+
)) {
|
|
57
|
+
next = withoutCatalogModel(next);
|
|
58
|
+
}
|
|
59
|
+
onChange(next);
|
|
60
|
+
};
|
|
61
|
+
const applyCustomModel = (model) => onChange(
|
|
62
|
+
withOptionalRuntimeValue(withoutCatalogModel(value), "model", model)
|
|
63
|
+
);
|
|
64
|
+
const applyModel = (model) => {
|
|
65
|
+
const next = modelCapabilities.reconcileModelCapabilities(value, model, reasoningEfforts);
|
|
66
|
+
if (!mode.provider || model.provider !== mode.provider) {
|
|
67
|
+
onChange(next);
|
|
68
|
+
return;
|
|
69
|
+
}
|
|
70
|
+
onChange(
|
|
71
|
+
withOptionalRuntimeValue(
|
|
72
|
+
withOptionalRuntimeValue(next, "backend", mode.backend),
|
|
73
|
+
"mode",
|
|
74
|
+
mode.id
|
|
75
|
+
)
|
|
76
|
+
);
|
|
77
|
+
};
|
|
78
|
+
const clearModel = () => onChange(withoutCatalogModel(value));
|
|
79
|
+
const applyEffort = (effort) => onChange(withOptionalRuntimeValue(value, "effort", effort));
|
|
80
|
+
if (variant === "combo") {
|
|
81
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
82
|
+
RuntimeBarCombo.RuntimeBarCombo,
|
|
83
|
+
{
|
|
84
|
+
value,
|
|
85
|
+
families,
|
|
86
|
+
family,
|
|
87
|
+
mode,
|
|
88
|
+
selectedMode: selection.mode,
|
|
89
|
+
models: modelOptions,
|
|
90
|
+
selectedModel: resolvedModel,
|
|
91
|
+
selectedModelUnavailable,
|
|
92
|
+
supportedEfforts,
|
|
93
|
+
ariaLabel,
|
|
94
|
+
className,
|
|
95
|
+
onFamilyChange: (familyId) => applyBackend(familyId, selection.mode),
|
|
96
|
+
onModeChange: (modeId) => applyBackend(family.id, modeId),
|
|
97
|
+
onModelSelect: applyModel,
|
|
98
|
+
onModelClear: clearModel,
|
|
99
|
+
onEffortChange: applyEffort
|
|
100
|
+
}
|
|
101
|
+
);
|
|
102
|
+
}
|
|
103
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
104
|
+
RuntimeBarSegments.RuntimeBarSegments,
|
|
105
|
+
{
|
|
106
|
+
value,
|
|
107
|
+
models,
|
|
108
|
+
modelOptions,
|
|
109
|
+
resolvedModel,
|
|
110
|
+
selectedModelUnavailable,
|
|
111
|
+
families,
|
|
112
|
+
family,
|
|
113
|
+
mode,
|
|
114
|
+
selectedMode: selection.mode,
|
|
115
|
+
reasoningEfforts,
|
|
116
|
+
supportedEfforts,
|
|
117
|
+
ariaLabel,
|
|
118
|
+
className,
|
|
119
|
+
onBackendChange: applyBackend,
|
|
120
|
+
onCustomModel: applyCustomModel,
|
|
121
|
+
onModelSelect: applyModel,
|
|
122
|
+
onModelClear: clearModel,
|
|
123
|
+
onEffortChange: applyEffort
|
|
124
|
+
}
|
|
125
|
+
);
|
|
126
|
+
}
|
|
127
|
+
function withoutCatalogModel(value) {
|
|
128
|
+
return withOptionalRuntimeValue(
|
|
129
|
+
withOptionalRuntimeValue(value, "model", void 0),
|
|
130
|
+
"id",
|
|
131
|
+
void 0
|
|
132
|
+
);
|
|
133
|
+
}
|
|
134
|
+
function withRuntimeValue(value, patch) {
|
|
135
|
+
return { ...value, ...patch };
|
|
136
|
+
}
|
|
137
|
+
function withOptionalRuntimeValue(value, key, next) {
|
|
138
|
+
const updated = { ...value };
|
|
139
|
+
if (next === void 0 || next === "") {
|
|
140
|
+
delete updated[key];
|
|
141
|
+
} else {
|
|
142
|
+
updated[key] = next;
|
|
143
|
+
}
|
|
144
|
+
return updated;
|
|
145
|
+
}
|
|
146
|
+
exports.RuntimeBar = RuntimeBar;
|
|
147
|
+
//# sourceMappingURL=RuntimeBar.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RuntimeBar.cjs","sources":["../../../src/data/runtime/RuntimeBar.tsx"],"sourcesContent":["import { DEFAULT_REASONING_EFFORTS } from \"../chat/effort-icons\";\nimport type { ChatModel, ChatModelRuntime } from \"../chat/types\";\nimport { runtimeModelMatches } from \"./RuntimeBar.model\";\nimport { RuntimeBarCombo } from \"./RuntimeBarCombo\";\nimport { RuntimeBarSegments } from \"./RuntimeBarSegments\";\nimport { isSelectableModel } from \"./availability\";\nimport {\n effortOptionsForModel,\n reconcileModelCapabilities,\n} from \"./model-capabilities\";\nimport {\n SPEC_RUNTIME_FAMILIES,\n backendForFamilyMode,\n familyById,\n firstMode,\n modelBelongsToFamily,\n modelsForFamily,\n selectionForBackend,\n type SpecRuntimeFamily,\n} from \"./runtime-mode\";\n\nexport type RuntimeBarValue = ChatModelRuntime & {\n cliArgs?: Record<string, unknown>;\n};\n\nexport type RuntimeBarProps<T extends RuntimeBarValue = RuntimeBarValue> = {\n value: T;\n onChange: (value: T) => void;\n /** `segmented` uses field triggers; `combo` uses one direct-edit menu. */\n variant?: \"combo\" | \"segmented\";\n /** Model catalog. Only the selected family's models are listed; a family the\n * catalog does not describe is served by the segment's free-text entry. */\n models?: ChatModel[] | undefined;\n families?: SpecRuntimeFamily[] | undefined;\n /** Effort tiers offered when the catalog does not describe the model. */\n reasoningEfforts?: string[] | undefined;\n ariaLabel?: string | undefined;\n className?: string | undefined;\n};\n\n/** Self-describing runtime controls with segmented and combo presentations. */\nexport function RuntimeBar<T extends RuntimeBarValue>({\n value,\n onChange,\n variant = \"segmented\",\n models = [],\n families = SPEC_RUNTIME_FAMILIES,\n reasoningEfforts = DEFAULT_REASONING_EFFORTS,\n ariaLabel = \"Runtime\",\n className,\n}: RuntimeBarProps<T>) {\n const selection = selectionForBackend(families, value.backend);\n const family = familyById(families, selection.family);\n const mode =\n family.modes.find((entry) => entry.id === selection.mode) ??\n firstMode(family);\n const modelOptions = modelsForFamily(models, family, value.backend);\n const selectedModel = models.find(\n (entry) =>\n isSelectableModel(entry) &&\n entry.runtime?.backend === value.backend &&\n runtimeModelMatches(entry, value)\n );\n const resolvedModel =\n selectedModel ??\n models.find(\n (entry) => isSelectableModel(entry) && runtimeModelMatches(entry, value)\n );\n const selectedModelUnavailable = Boolean(\n value.model &&\n models.some(\n (entry) =>\n !isSelectableModel(entry) && runtimeModelMatches(entry, value)\n )\n );\n const supportedEfforts = effortOptionsForModel(\n resolvedModel,\n reasoningEfforts\n );\n\n const applyBackend = (familyId: string, modeId: string) => {\n const backend = backendForFamilyMode(families, familyId, modeId);\n if (backend === (value.backend ?? \"\")) return;\n let next = withOptionalRuntimeValue(\n withRuntimeValue(value, { backend }),\n \"cliArgs\",\n undefined\n );\n if (\n !modelBelongsToFamily(\n value.model,\n models,\n familyById(families, familyId),\n backend\n )\n ) {\n next = withoutCatalogModel(next);\n }\n onChange(next);\n };\n\n const applyCustomModel = (model: string) =>\n onChange(\n withOptionalRuntimeValue(withoutCatalogModel(value), \"model\", model)\n );\n // A menu row carries the backend of the catalog it was listed under, and one\n // catalog serves several backends — claude-cli and claude-cmux models are\n // listed as claude-agent rows. Copying the row's runtime verbatim would let\n // picking a model silently move the user off the mode they chose, so a row\n // drawn from the selected mode's own catalog keeps that mode.\n const applyModel = (model: ChatModel) => {\n const next = reconcileModelCapabilities(value, model, reasoningEfforts);\n if (!mode.provider || model.provider !== mode.provider) {\n onChange(next);\n return;\n }\n onChange(\n withOptionalRuntimeValue(\n withOptionalRuntimeValue(next, \"backend\", mode.backend),\n \"mode\",\n mode.id\n )\n );\n };\n const clearModel = () => onChange(withoutCatalogModel(value));\n const applyEffort = (effort: string) =>\n onChange(withOptionalRuntimeValue(value, \"effort\", effort));\n\n if (variant === \"combo\") {\n return (\n <RuntimeBarCombo\n value={value}\n families={families}\n family={family}\n mode={mode}\n selectedMode={selection.mode}\n models={modelOptions}\n selectedModel={resolvedModel}\n selectedModelUnavailable={selectedModelUnavailable}\n supportedEfforts={supportedEfforts}\n ariaLabel={ariaLabel}\n className={className}\n onFamilyChange={(familyId) => applyBackend(familyId, selection.mode)}\n onModeChange={(modeId) => applyBackend(family.id, modeId)}\n onModelSelect={applyModel}\n onModelClear={clearModel}\n onEffortChange={applyEffort}\n />\n );\n }\n\n return (\n <RuntimeBarSegments\n value={value}\n models={models}\n modelOptions={modelOptions}\n resolvedModel={resolvedModel}\n selectedModelUnavailable={selectedModelUnavailable}\n families={families}\n family={family}\n mode={mode}\n selectedMode={selection.mode}\n reasoningEfforts={reasoningEfforts}\n supportedEfforts={supportedEfforts}\n ariaLabel={ariaLabel}\n className={className}\n onBackendChange={applyBackend}\n onCustomModel={applyCustomModel}\n onModelSelect={applyModel}\n onModelClear={clearModel}\n onEffortChange={applyEffort}\n />\n );\n}\n\nfunction withoutCatalogModel<T extends RuntimeBarValue>(value: T): T {\n return withOptionalRuntimeValue(\n withOptionalRuntimeValue(value, \"model\", undefined),\n \"id\",\n undefined\n );\n}\n\nfunction withRuntimeValue<T extends RuntimeBarValue>(\n value: T,\n patch: Partial<RuntimeBarValue>\n): T {\n return { ...value, ...patch };\n}\n\nfunction withOptionalRuntimeValue<T extends RuntimeBarValue>(\n value: T,\n key: keyof RuntimeBarValue,\n next: unknown\n): T {\n const updated = { ...value } as Record<string, unknown>;\n if (next === undefined || next === \"\") {\n delete updated[key];\n } else {\n updated[key] = next;\n }\n return updated as T;\n}\n"],"names":["SPEC_RUNTIME_FAMILIES","DEFAULT_REASONING_EFFORTS","selectionForBackend","familyById","firstMode","modelsForFamily","isSelectableModel","runtimeModelMatches","effortOptionsForModel","backendForFamilyMode","modelBelongsToFamily","reconcileModelCapabilities","jsx","RuntimeBarCombo","RuntimeBarSegments"],"mappings":"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"}
|