@flanksource/clicky-ui 0.3.16 → 0.3.18
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ai.cjs +12 -6
- package/dist/ai.cjs.map +1 -1
- package/dist/ai.js +10 -4
- package/dist/ai.js.map +1 -1
- package/dist/chat.cjs +36 -0
- package/dist/chat.cjs.map +1 -1
- package/dist/chat.js +37 -1
- package/dist/chat.js.map +1 -1
- package/dist/components/Combobox.cjs +122 -153
- package/dist/components/Combobox.cjs.map +1 -1
- package/dist/components/Combobox.d.ts.map +1 -1
- package/dist/components/Combobox.js +124 -155
- package/dist/components/Combobox.js.map +1 -1
- package/dist/components/ComboboxControl.cjs +145 -0
- package/dist/components/ComboboxControl.cjs.map +1 -0
- package/dist/components/ComboboxControl.d.ts +37 -0
- package/dist/components/ComboboxControl.d.ts.map +1 -0
- package/dist/components/ComboboxControl.js +145 -0
- package/dist/components/ComboboxControl.js.map +1 -0
- package/dist/components/ComboboxMenu.cjs +31 -14
- package/dist/components/ComboboxMenu.cjs.map +1 -1
- package/dist/components/ComboboxMenu.d.ts.map +1 -1
- package/dist/components/ComboboxMenu.js +31 -14
- package/dist/components/ComboboxMenu.js.map +1 -1
- package/dist/components/ComboboxTags.cjs +40 -0
- package/dist/components/ComboboxTags.cjs.map +1 -0
- package/dist/components/ComboboxTags.d.ts +8 -0
- package/dist/components/ComboboxTags.d.ts.map +1 -0
- package/dist/components/ComboboxTags.js +40 -0
- package/dist/components/ComboboxTags.js.map +1 -0
- package/dist/components/ErrorWrapper.cjs +168 -0
- package/dist/components/ErrorWrapper.cjs.map +1 -0
- package/dist/components/ErrorWrapper.d.ts +19 -0
- package/dist/components/ErrorWrapper.d.ts.map +1 -0
- package/dist/components/ErrorWrapper.js +168 -0
- package/dist/components/ErrorWrapper.js.map +1 -0
- package/dist/components/FilterBar.cjs +64 -2
- package/dist/components/FilterBar.cjs.map +1 -1
- package/dist/components/FilterBar.d.ts +18 -1
- package/dist/components/FilterBar.d.ts.map +1 -1
- package/dist/components/FilterBar.js +64 -2
- package/dist/components/FilterBar.js.map +1 -1
- package/dist/components/JSONPathField.cjs +91 -0
- package/dist/components/JSONPathField.cjs.map +1 -0
- package/dist/components/JSONPathField.d.ts +19 -0
- package/dist/components/JSONPathField.d.ts.map +1 -0
- package/dist/components/JSONPathField.js +91 -0
- package/dist/components/JSONPathField.js.map +1 -0
- package/dist/components/JsonSchemaForm.cjs +8 -4
- package/dist/components/JsonSchemaForm.cjs.map +1 -1
- package/dist/components/JsonSchemaForm.d.ts.map +1 -1
- package/dist/components/JsonSchemaForm.js +8 -4
- package/dist/components/JsonSchemaForm.js.map +1 -1
- package/dist/components/TreePickerField.cjs +22 -4
- package/dist/components/TreePickerField.cjs.map +1 -1
- package/dist/components/TreePickerField.d.ts +22 -2
- package/dist/components/TreePickerField.d.ts.map +1 -1
- package/dist/components/TreePickerField.js +22 -4
- package/dist/components/TreePickerField.js.map +1 -1
- package/dist/components/TriStateToggle.cjs +53 -0
- package/dist/components/TriStateToggle.cjs.map +1 -0
- package/dist/components/TriStateToggle.d.ts +27 -0
- package/dist/components/TriStateToggle.d.ts.map +1 -0
- package/dist/components/TriStateToggle.js +53 -0
- package/dist/components/TriStateToggle.js.map +1 -0
- package/dist/components/combobox-types.d.ts +16 -1
- package/dist/components/combobox-types.d.ts.map +1 -1
- package/dist/components/combobox-utils.cjs +26 -0
- package/dist/components/combobox-utils.cjs.map +1 -1
- package/dist/components/combobox-utils.d.ts +10 -0
- package/dist/components/combobox-utils.d.ts.map +1 -1
- package/dist/components/combobox-utils.js +26 -0
- package/dist/components/combobox-utils.js.map +1 -1
- package/dist/components/filter-bar-utils.cjs +5 -0
- package/dist/components/filter-bar-utils.cjs.map +1 -1
- package/dist/components/filter-bar-utils.d.ts.map +1 -1
- package/dist/components/filter-bar-utils.js +5 -0
- package/dist/components/filter-bar-utils.js.map +1 -1
- package/dist/components/json-schema-form-accordion-array.cjs +290 -0
- package/dist/components/json-schema-form-accordion-array.cjs.map +1 -0
- package/dist/components/json-schema-form-accordion-array.d.ts +7 -0
- package/dist/components/json-schema-form-accordion-array.d.ts.map +1 -0
- package/dist/components/json-schema-form-accordion-array.js +290 -0
- package/dist/components/json-schema-form-accordion-array.js.map +1 -0
- package/dist/components/json-schema-form-array.cjs +99 -110
- package/dist/components/json-schema-form-array.cjs.map +1 -1
- package/dist/components/json-schema-form-array.d.ts +1 -1
- package/dist/components/json-schema-form-array.d.ts.map +1 -1
- package/dist/components/json-schema-form-array.js +98 -109
- package/dist/components/json-schema-form-array.js.map +1 -1
- package/dist/components/json-schema-form-error-display.cjs +4 -2
- package/dist/components/json-schema-form-error-display.cjs.map +1 -1
- package/dist/components/json-schema-form-error-display.d.ts +4 -2
- package/dist/components/json-schema-form-error-display.d.ts.map +1 -1
- package/dist/components/json-schema-form-error-display.js +4 -2
- package/dist/components/json-schema-form-error-display.js.map +1 -1
- package/dist/components/json-schema-form-extensions.cjs +10 -0
- package/dist/components/json-schema-form-extensions.cjs.map +1 -0
- package/dist/components/json-schema-form-extensions.d.ts +8 -0
- package/dist/components/json-schema-form-extensions.d.ts.map +1 -0
- package/dist/components/json-schema-form-extensions.js +10 -0
- package/dist/components/json-schema-form-extensions.js.map +1 -0
- package/dist/components/json-schema-form-fields.cjs +25 -101
- package/dist/components/json-schema-form-fields.cjs.map +1 -1
- package/dist/components/json-schema-form-fields.d.ts +1 -32
- package/dist/components/json-schema-form-fields.d.ts.map +1 -1
- package/dist/components/json-schema-form-fields.js +28 -104
- package/dist/components/json-schema-form-fields.js.map +1 -1
- package/dist/components/json-schema-form-item-summary.cjs +131 -0
- package/dist/components/json-schema-form-item-summary.cjs.map +1 -0
- package/dist/components/json-schema-form-item-summary.d.ts +13 -0
- package/dist/components/json-schema-form-item-summary.d.ts.map +1 -0
- package/dist/components/json-schema-form-item-summary.js +131 -0
- package/dist/components/json-schema-form-item-summary.js.map +1 -0
- package/dist/components/json-schema-form-layout.cjs +156 -0
- package/dist/components/json-schema-form-layout.cjs.map +1 -0
- package/dist/components/json-schema-form-layout.d.ts +43 -0
- package/dist/components/json-schema-form-layout.d.ts.map +1 -0
- package/dist/components/json-schema-form-layout.js +156 -0
- package/dist/components/json-schema-form-layout.js.map +1 -0
- package/dist/components/json-schema-form-lookup-tree.cjs +149 -0
- package/dist/components/json-schema-form-lookup-tree.cjs.map +1 -0
- package/dist/components/json-schema-form-lookup-tree.d.ts +22 -0
- package/dist/components/json-schema-form-lookup-tree.d.ts.map +1 -0
- package/dist/components/json-schema-form-lookup-tree.js +149 -0
- package/dist/components/json-schema-form-lookup-tree.js.map +1 -0
- package/dist/components/json-schema-form-object.cjs +11 -4
- package/dist/components/json-schema-form-object.cjs.map +1 -1
- package/dist/components/json-schema-form-object.d.ts.map +1 -1
- package/dist/components/json-schema-form-object.js +11 -4
- package/dist/components/json-schema-form-object.js.map +1 -1
- package/dist/components/json-schema-form-render.cjs +51 -28
- package/dist/components/json-schema-form-render.cjs.map +1 -1
- package/dist/components/json-schema-form-render.d.ts.map +1 -1
- package/dist/components/json-schema-form-render.js +51 -28
- package/dist/components/json-schema-form-render.js.map +1 -1
- package/dist/components/json-schema-form-resolve.cjs +62 -13
- package/dist/components/json-schema-form-resolve.cjs.map +1 -1
- package/dist/components/json-schema-form-resolve.d.ts +1 -0
- package/dist/components/json-schema-form-resolve.d.ts.map +1 -1
- package/dist/components/json-schema-form-resolve.js +62 -13
- package/dist/components/json-schema-form-resolve.js.map +1 -1
- package/dist/components/json-schema-form-table-array.cjs +123 -0
- package/dist/components/json-schema-form-table-array.cjs.map +1 -0
- package/dist/components/json-schema-form-table-array.d.ts +7 -0
- package/dist/components/json-schema-form-table-array.d.ts.map +1 -0
- package/dist/components/json-schema-form-table-array.js +123 -0
- package/dist/components/json-schema-form-table-array.js.map +1 -0
- package/dist/components/json-schema-form-tone.cjs +34 -0
- package/dist/components/json-schema-form-tone.cjs.map +1 -0
- package/dist/components/json-schema-form-tone.d.ts +8 -0
- package/dist/components/json-schema-form-tone.d.ts.map +1 -0
- package/dist/components/json-schema-form-tone.js +34 -0
- package/dist/components/json-schema-form-tone.js.map +1 -0
- package/dist/components/json-schema-form-types.d.ts +79 -10
- package/dist/components/json-schema-form-types.d.ts.map +1 -1
- package/dist/components/json-schema-form-utils.cjs +47 -4
- package/dist/components/json-schema-form-utils.cjs.map +1 -1
- package/dist/components/json-schema-form-utils.d.ts +19 -4
- package/dist/components/json-schema-form-utils.d.ts.map +1 -1
- package/dist/components/json-schema-form-utils.js +47 -4
- package/dist/components/json-schema-form-utils.js.map +1 -1
- package/dist/components/tri-state.cjs +8 -0
- package/dist/components/tri-state.cjs.map +1 -0
- package/dist/components/tri-state.d.ts +5 -0
- package/dist/components/tri-state.d.ts.map +1 -0
- package/dist/components/tri-state.js +8 -0
- package/dist/components/tri-state.js.map +1 -0
- package/dist/components/useComboboxLayout.cjs +59 -0
- package/dist/components/useComboboxLayout.cjs.map +1 -0
- package/dist/components/useComboboxLayout.d.ts +5 -0
- package/dist/components/useComboboxLayout.d.ts.map +1 -0
- package/dist/components/useComboboxLayout.js +59 -0
- package/dist/components/useComboboxLayout.js.map +1 -0
- package/dist/components.cjs +21 -0
- package/dist/components.cjs.map +1 -1
- package/dist/components.d.ts +14 -4
- package/dist/components.d.ts.map +1 -1
- package/dist/components.js +22 -1
- package/dist/components.js.map +1 -1
- package/dist/data/Clicky.cjs +51 -2
- package/dist/data/Clicky.cjs.map +1 -1
- package/dist/data/Clicky.d.ts +10 -1
- package/dist/data/Clicky.d.ts.map +1 -1
- package/dist/data/Clicky.js +51 -2
- package/dist/data/Clicky.js.map +1 -1
- package/dist/data/DataTable.cjs +215 -63
- package/dist/data/DataTable.cjs.map +1 -1
- package/dist/data/DataTable.d.ts +65 -3
- package/dist/data/DataTable.d.ts.map +1 -1
- package/dist/data/DataTable.js +215 -63
- package/dist/data/DataTable.js.map +1 -1
- package/dist/data/LogsTable.cjs +10 -1
- package/dist/data/LogsTable.cjs.map +1 -1
- package/dist/data/LogsTable.d.ts +3 -1
- package/dist/data/LogsTable.d.ts.map +1 -1
- package/dist/data/LogsTable.js +10 -1
- package/dist/data/LogsTable.js.map +1 -1
- package/dist/data/ServerTimingBadge.cjs +64 -0
- package/dist/data/ServerTimingBadge.cjs.map +1 -0
- package/dist/data/ServerTimingBadge.d.ts +9 -0
- package/dist/data/ServerTimingBadge.d.ts.map +1 -0
- package/dist/data/ServerTimingBadge.js +64 -0
- package/dist/data/ServerTimingBadge.js.map +1 -0
- package/dist/data/TaskManager.cjs +99 -14
- package/dist/data/TaskManager.cjs.map +1 -1
- package/dist/data/TaskManager.d.ts.map +1 -1
- package/dist/data/TaskManager.js +100 -15
- package/dist/data/TaskManager.js.map +1 -1
- package/dist/data/TaskProgress.cjs +50 -11
- package/dist/data/TaskProgress.cjs.map +1 -1
- package/dist/data/TaskProgress.d.ts +2 -1
- package/dist/data/TaskProgress.d.ts.map +1 -1
- package/dist/data/TaskProgress.js +50 -11
- package/dist/data/TaskProgress.js.map +1 -1
- package/dist/data/ai/AdvancedChatConfig.cjs +289 -0
- package/dist/data/ai/AdvancedChatConfig.cjs.map +1 -0
- package/dist/data/ai/AdvancedChatConfig.d.ts +21 -0
- package/dist/data/ai/AdvancedChatConfig.d.ts.map +1 -0
- package/dist/data/ai/AdvancedChatConfig.js +289 -0
- package/dist/data/ai/AdvancedChatConfig.js.map +1 -0
- package/dist/data/ai/AdvancedCostsPanel.cjs +120 -0
- package/dist/data/ai/AdvancedCostsPanel.cjs.map +1 -0
- package/dist/data/ai/AdvancedCostsPanel.d.ts +16 -0
- package/dist/data/ai/AdvancedCostsPanel.d.ts.map +1 -0
- package/dist/data/ai/AdvancedCostsPanel.js +120 -0
- package/dist/data/ai/AdvancedCostsPanel.js.map +1 -0
- package/dist/data/ai/ChatWindow.catalogs.cjs +74 -0
- package/dist/data/ai/ChatWindow.catalogs.cjs.map +1 -0
- package/dist/data/ai/ChatWindow.catalogs.d.ts +16 -0
- package/dist/data/ai/ChatWindow.catalogs.d.ts.map +1 -0
- package/dist/data/ai/ChatWindow.catalogs.js +74 -0
- package/dist/data/ai/ChatWindow.catalogs.js.map +1 -0
- package/dist/data/ai/ChatWindow.cjs +86 -100
- package/dist/data/ai/ChatWindow.cjs.map +1 -1
- package/dist/data/ai/ChatWindow.d.ts +1 -1
- package/dist/data/ai/ChatWindow.d.ts.map +1 -1
- package/dist/data/ai/ChatWindow.js +88 -102
- package/dist/data/ai/ChatWindow.js.map +1 -1
- package/dist/data/ai/ChatWindow.preferences.cjs.map +1 -1
- package/dist/data/ai/ChatWindow.preferences.d.ts +2 -4
- package/dist/data/ai/ChatWindow.preferences.d.ts.map +1 -1
- package/dist/data/ai/ChatWindow.preferences.js.map +1 -1
- package/dist/data/ai/ChatWindow.runtime.cjs +120 -0
- package/dist/data/ai/ChatWindow.runtime.cjs.map +1 -0
- package/dist/data/ai/ChatWindow.runtime.d.ts +20 -0
- package/dist/data/ai/ChatWindow.runtime.d.ts.map +1 -0
- package/dist/data/ai/ChatWindow.runtime.js +120 -0
- package/dist/data/ai/ChatWindow.runtime.js.map +1 -0
- package/dist/data/ai/ChatWindow.thread-status.cjs +14 -0
- package/dist/data/ai/ChatWindow.thread-status.cjs.map +1 -0
- package/dist/data/ai/ChatWindow.thread-status.d.ts +5 -0
- package/dist/data/ai/ChatWindow.thread-status.d.ts.map +1 -0
- package/dist/data/ai/ChatWindow.thread-status.js +14 -0
- package/dist/data/ai/ChatWindow.thread-status.js.map +1 -0
- package/dist/data/ai/ChatWindow.thread.cjs +68 -0
- package/dist/data/ai/ChatWindow.thread.cjs.map +1 -0
- package/dist/data/ai/ChatWindow.thread.d.ts +16 -0
- package/dist/data/ai/ChatWindow.thread.d.ts.map +1 -0
- package/dist/data/ai/ChatWindow.thread.js +68 -0
- package/dist/data/ai/ChatWindow.thread.js.map +1 -0
- package/dist/data/ai/ChatWindow.tool-catalog.cjs +20 -0
- package/dist/data/ai/ChatWindow.tool-catalog.cjs.map +1 -1
- package/dist/data/ai/ChatWindow.tool-catalog.d.ts +17 -1
- package/dist/data/ai/ChatWindow.tool-catalog.d.ts.map +1 -1
- package/dist/data/ai/ChatWindow.tool-catalog.js +20 -0
- package/dist/data/ai/ChatWindow.tool-catalog.js.map +1 -1
- package/dist/data/ai/ChatWindow.types.d.ts +13 -5
- package/dist/data/ai/ChatWindow.types.d.ts.map +1 -1
- package/dist/data/ai/ChatWindowManager.cjs +3 -1
- package/dist/data/ai/ChatWindowManager.cjs.map +1 -1
- package/dist/data/ai/ChatWindowManager.d.ts.map +1 -1
- package/dist/data/ai/ChatWindowManager.js +3 -1
- package/dist/data/ai/ChatWindowManager.js.map +1 -1
- package/dist/data/ai/PromptPicker/PromptPicker.cjs +1 -1
- package/dist/data/ai/PromptPicker/PromptPicker.cjs.map +1 -1
- package/dist/data/ai/PromptPicker/PromptPicker.d.ts +1 -1
- package/dist/data/ai/PromptPicker/PromptPicker.d.ts.map +1 -1
- package/dist/data/ai/PromptPicker/PromptPicker.js +1 -1
- package/dist/data/ai/PromptPicker/PromptPicker.js.map +1 -1
- package/dist/data/ai/PromptRunEditor/index.cjs +101 -89
- package/dist/data/ai/PromptRunEditor/index.cjs.map +1 -1
- package/dist/data/ai/PromptRunEditor/index.d.ts +6 -10
- package/dist/data/ai/PromptRunEditor/index.d.ts.map +1 -1
- package/dist/data/ai/PromptRunEditor/index.js +103 -91
- package/dist/data/ai/PromptRunEditor/index.js.map +1 -1
- package/dist/data/ai/PromptRunEditor/model.cjs +47 -0
- package/dist/data/ai/PromptRunEditor/model.cjs.map +1 -0
- package/dist/data/ai/PromptRunEditor/model.d.ts +17 -0
- package/dist/data/ai/PromptRunEditor/model.d.ts.map +1 -0
- package/dist/data/ai/PromptRunEditor/model.js +47 -0
- package/dist/data/ai/PromptRunEditor/model.js.map +1 -0
- package/dist/data/ai/RuntimeModePicker.cjs +1 -1
- package/dist/data/ai/RuntimeModePicker.cjs.map +1 -1
- package/dist/data/ai/RuntimeModePicker.d.ts +1 -1
- package/dist/data/ai/RuntimeModePicker.d.ts.map +1 -1
- package/dist/data/ai/RuntimeModePicker.js +1 -1
- package/dist/data/ai/RuntimeModePicker.js.map +1 -1
- package/dist/data/ai/SessionInspector.files.cjs +26 -43
- package/dist/data/ai/SessionInspector.files.cjs.map +1 -1
- package/dist/data/ai/SessionInspector.files.d.ts.map +1 -1
- package/dist/data/ai/SessionInspector.files.js +26 -43
- package/dist/data/ai/SessionInspector.files.js.map +1 -1
- package/dist/data/ai/SessionInspector.hierarchy.cjs +1 -1
- package/dist/data/ai/SessionInspector.hierarchy.cjs.map +1 -1
- package/dist/data/ai/SessionInspector.hierarchy.js +1 -1
- package/dist/data/ai/SessionInspector.hierarchy.js.map +1 -1
- package/dist/data/ai/SessionInspector.model.cjs +1 -1
- package/dist/data/ai/SessionInspector.model.cjs.map +1 -1
- package/dist/data/ai/SessionInspector.model.js +1 -1
- package/dist/data/ai/SessionInspector.model.js.map +1 -1
- package/dist/data/ai/SessionViewer.header.cjs +17 -9
- package/dist/data/ai/SessionViewer.header.cjs.map +1 -1
- package/dist/data/ai/SessionViewer.header.d.ts.map +1 -1
- package/dist/data/ai/SessionViewer.header.js +17 -9
- package/dist/data/ai/SessionViewer.header.js.map +1 -1
- package/dist/data/ai/SessionViewer.model.cjs +2 -0
- package/dist/data/ai/SessionViewer.model.cjs.map +1 -1
- package/dist/data/ai/SessionViewer.model.d.ts +4 -0
- package/dist/data/ai/SessionViewer.model.d.ts.map +1 -1
- package/dist/data/ai/SessionViewer.model.js +2 -0
- package/dist/data/ai/SessionViewer.model.js.map +1 -1
- package/dist/data/ai/SessionViewer.rows.cjs +4 -16
- package/dist/data/ai/SessionViewer.rows.cjs.map +1 -1
- package/dist/data/ai/SessionViewer.rows.d.ts.map +1 -1
- package/dist/data/ai/SessionViewer.rows.js +4 -16
- package/dist/data/ai/SessionViewer.rows.js.map +1 -1
- package/dist/data/ai/SessionViewer.unified.d.ts +1 -0
- package/dist/data/ai/SessionViewer.unified.d.ts.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/ModelSection.cjs +12 -3
- package/dist/data/ai/SpecRuntimeEditor/ModelSection.cjs.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/ModelSection.d.ts +1 -1
- package/dist/data/ai/SpecRuntimeEditor/ModelSection.d.ts.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/ModelSection.js +12 -3
- package/dist/data/ai/SpecRuntimeEditor/ModelSection.js.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/VerifySection.cjs.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/VerifySection.d.ts +1 -1
- package/dist/data/ai/SpecRuntimeEditor/VerifySection.d.ts.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/VerifySection.js.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/index.cjs.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/index.d.ts +2 -2
- package/dist/data/ai/SpecRuntimeEditor/index.d.ts.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/index.js.map +1 -1
- package/dist/data/ai/ThreadPicker.cjs +65 -3
- package/dist/data/ai/ThreadPicker.cjs.map +1 -1
- package/dist/data/ai/ThreadPicker.d.ts +13 -5
- package/dist/data/ai/ThreadPicker.d.ts.map +1 -1
- package/dist/data/ai/ThreadPicker.js +65 -3
- package/dist/data/ai/ThreadPicker.js.map +1 -1
- package/dist/data/ai/ToolPreferences.cjs +65 -685
- package/dist/data/ai/ToolPreferences.cjs.map +1 -1
- package/dist/data/ai/ToolPreferences.d.ts +15 -17
- package/dist/data/ai/ToolPreferences.d.ts.map +1 -1
- package/dist/data/ai/ToolPreferences.js +64 -683
- package/dist/data/ai/ToolPreferences.js.map +1 -1
- package/dist/data/ai/ToolPreferences.model.cjs +148 -0
- package/dist/data/ai/ToolPreferences.model.cjs.map +1 -0
- package/dist/data/ai/ToolPreferences.model.d.ts +31 -0
- package/dist/data/ai/ToolPreferences.model.d.ts.map +1 -0
- package/dist/data/ai/ToolPreferences.model.js +148 -0
- package/dist/data/ai/ToolPreferences.model.js.map +1 -0
- package/dist/data/ai/ToolPreferencesList.cjs +270 -0
- package/dist/data/ai/ToolPreferencesList.cjs.map +1 -0
- package/dist/data/ai/ToolPreferencesList.d.ts +18 -0
- package/dist/data/ai/ToolPreferencesList.d.ts.map +1 -0
- package/dist/data/ai/ToolPreferencesList.js +270 -0
- package/dist/data/ai/ToolPreferencesList.js.map +1 -0
- package/dist/data/ai/agent-action-icons.cjs.map +1 -1
- package/dist/data/ai/agent-action-icons.js.map +1 -1
- package/dist/data/ai/chat-window-context.cjs +4 -1
- package/dist/data/ai/chat-window-context.cjs.map +1 -1
- package/dist/data/ai/chat-window-context.d.ts +7 -0
- package/dist/data/ai/chat-window-context.d.ts.map +1 -1
- package/dist/data/ai/chat-window-context.js +4 -1
- package/dist/data/ai/chat-window-context.js.map +1 -1
- package/dist/data/ai/index.d.ts +7 -3
- package/dist/data/ai/index.d.ts.map +1 -1
- package/dist/data/ai/session-tones.cjs +67 -0
- package/dist/data/ai/session-tones.cjs.map +1 -0
- package/dist/data/ai/session-tones.d.ts +34 -0
- package/dist/data/ai/session-tones.d.ts.map +1 -0
- package/dist/data/ai/session-tones.js +67 -0
- package/dist/data/ai/session-tones.js.map +1 -0
- package/dist/data/ai/thread-costs.cjs +39 -0
- package/dist/data/ai/thread-costs.cjs.map +1 -0
- package/dist/data/ai/thread-costs.d.ts +62 -0
- package/dist/data/ai/thread-costs.d.ts.map +1 -0
- package/dist/data/ai/thread-costs.js +39 -0
- package/dist/data/ai/thread-costs.js.map +1 -0
- package/dist/data/cells/CellFilterActions.cjs +68 -0
- package/dist/data/cells/CellFilterActions.cjs.map +1 -0
- package/dist/data/cells/CellFilterActions.d.ts +15 -0
- package/dist/data/cells/CellFilterActions.d.ts.map +1 -0
- package/dist/data/cells/CellFilterActions.js +68 -0
- package/dist/data/cells/CellFilterActions.js.map +1 -0
- package/dist/data/chat/Chat.cjs +192 -80
- package/dist/data/chat/Chat.cjs.map +1 -1
- package/dist/data/chat/Chat.d.ts +24 -4
- package/dist/data/chat/Chat.d.ts.map +1 -1
- package/dist/data/chat/Chat.fixtures.cjs +48 -3
- package/dist/data/chat/Chat.fixtures.cjs.map +1 -1
- package/dist/data/chat/Chat.fixtures.d.ts +1 -1
- package/dist/data/chat/Chat.fixtures.d.ts.map +1 -1
- package/dist/data/chat/Chat.fixtures.js +48 -3
- package/dist/data/chat/Chat.fixtures.js.map +1 -1
- package/dist/data/chat/Chat.js +195 -83
- package/dist/data/chat/Chat.js.map +1 -1
- package/dist/data/chat/Chat.runtime.cjs +63 -0
- package/dist/data/chat/Chat.runtime.cjs.map +1 -0
- package/dist/data/chat/Chat.runtime.d.ts +16 -0
- package/dist/data/chat/Chat.runtime.d.ts.map +1 -0
- package/dist/data/chat/Chat.runtime.js +63 -0
- package/dist/data/chat/Chat.runtime.js.map +1 -0
- package/dist/data/chat/ChatRuntimeToolbar.cjs +62 -0
- package/dist/data/chat/ChatRuntimeToolbar.cjs.map +1 -0
- package/dist/data/chat/ChatRuntimeToolbar.d.ts +14 -0
- package/dist/data/chat/ChatRuntimeToolbar.d.ts.map +1 -0
- package/dist/data/chat/ChatRuntimeToolbar.js +62 -0
- package/dist/data/chat/ChatRuntimeToolbar.js.map +1 -0
- package/dist/data/chat/ContextMeter.cjs +144 -73
- package/dist/data/chat/ContextMeter.cjs.map +1 -1
- package/dist/data/chat/ContextMeter.d.ts +8 -3
- package/dist/data/chat/ContextMeter.d.ts.map +1 -1
- package/dist/data/chat/ContextMeter.js +144 -73
- package/dist/data/chat/ContextMeter.js.map +1 -1
- package/dist/data/chat/ToolCall.cjs +86 -24
- package/dist/data/chat/ToolCall.cjs.map +1 -1
- package/dist/data/chat/ToolCall.d.ts +12 -5
- package/dist/data/chat/ToolCall.d.ts.map +1 -1
- package/dist/data/chat/ToolCall.js +86 -24
- package/dist/data/chat/ToolCall.js.map +1 -1
- package/dist/data/chat/approval.cjs +64 -0
- package/dist/data/chat/approval.cjs.map +1 -0
- package/dist/data/chat/approval.d.ts +18 -0
- package/dist/data/chat/approval.d.ts.map +1 -0
- package/dist/data/chat/approval.js +64 -0
- package/dist/data/chat/approval.js.map +1 -0
- package/dist/data/chat/index.d.ts +5 -3
- package/dist/data/chat/index.d.ts.map +1 -1
- package/dist/data/chat/tool-render/ToolArgs.cjs +50 -0
- package/dist/data/chat/tool-render/ToolArgs.cjs.map +1 -0
- package/dist/data/chat/tool-render/ToolArgs.d.ts +7 -0
- package/dist/data/chat/tool-render/ToolArgs.d.ts.map +1 -0
- package/dist/data/chat/tool-render/ToolArgs.js +50 -0
- package/dist/data/chat/tool-render/ToolArgs.js.map +1 -0
- package/dist/data/chat/tool-render/ToolParams.cjs +155 -0
- package/dist/data/chat/tool-render/ToolParams.cjs.map +1 -0
- package/dist/data/chat/tool-render/ToolParams.d.ts +20 -0
- package/dist/data/chat/tool-render/ToolParams.d.ts.map +1 -0
- package/dist/data/chat/tool-render/ToolParams.js +155 -0
- package/dist/data/chat/tool-render/ToolParams.js.map +1 -0
- package/dist/data/chat/tool-render/ToolValue.cjs +140 -0
- package/dist/data/chat/tool-render/ToolValue.cjs.map +1 -0
- package/dist/data/chat/tool-render/ToolValue.d.ts +16 -0
- package/dist/data/chat/tool-render/ToolValue.d.ts.map +1 -0
- package/dist/data/chat/tool-render/ToolValue.js +140 -0
- package/dist/data/chat/tool-render/ToolValue.js.map +1 -0
- package/dist/data/chat/tool-render/adapter.cjs +48 -0
- package/dist/data/chat/tool-render/adapter.cjs.map +1 -0
- package/dist/data/chat/tool-render/adapter.d.ts +57 -0
- package/dist/data/chat/tool-render/adapter.d.ts.map +1 -0
- package/dist/data/chat/tool-render/adapter.js +48 -0
- package/dist/data/chat/tool-render/adapter.js.map +1 -0
- package/dist/data/chat/tool-render/context.cjs +16 -0
- package/dist/data/chat/tool-render/context.cjs.map +1 -0
- package/dist/data/chat/tool-render/context.d.ts +6 -0
- package/dist/data/chat/tool-render/context.d.ts.map +1 -0
- package/dist/data/chat/tool-render/context.js +16 -0
- package/dist/data/chat/tool-render/context.js.map +1 -0
- package/dist/data/chat/tool-render/defaults.cjs +45 -0
- package/dist/data/chat/tool-render/defaults.cjs.map +1 -0
- package/dist/data/chat/tool-render/defaults.d.ts +11 -0
- package/dist/data/chat/tool-render/defaults.d.ts.map +1 -0
- package/dist/data/chat/tool-render/defaults.js +45 -0
- package/dist/data/chat/tool-render/defaults.js.map +1 -0
- package/dist/data/chat/tool-render/index.d.ts +13 -0
- package/dist/data/chat/tool-render/index.d.ts.map +1 -0
- package/dist/data/chat/tool-render/known-tool-views.cjs +208 -0
- package/dist/data/chat/tool-render/known-tool-views.cjs.map +1 -0
- package/dist/data/chat/tool-render/known-tool-views.d.ts +10 -0
- package/dist/data/chat/tool-render/known-tool-views.d.ts.map +1 -0
- package/dist/data/chat/tool-render/known-tool-views.js +208 -0
- package/dist/data/chat/tool-render/known-tool-views.js.map +1 -0
- package/dist/data/chat/tool-render/known-tools.cjs +58 -0
- package/dist/data/chat/tool-render/known-tools.cjs.map +1 -0
- package/dist/data/chat/tool-render/known-tools.d.ts +4 -0
- package/dist/data/chat/tool-render/known-tools.d.ts.map +1 -0
- package/dist/data/chat/tool-render/known-tools.js +58 -0
- package/dist/data/chat/tool-render/known-tools.js.map +1 -0
- package/dist/data/chat/tool-render/normalize.cjs +42 -0
- package/dist/data/chat/tool-render/normalize.cjs.map +1 -0
- package/dist/data/chat/tool-render/normalize.d.ts +13 -0
- package/dist/data/chat/tool-render/normalize.d.ts.map +1 -0
- package/dist/data/chat/tool-render/normalize.js +42 -0
- package/dist/data/chat/tool-render/normalize.js.map +1 -0
- package/dist/data/chat/tool-render/registry.cjs +14 -0
- package/dist/data/chat/tool-render/registry.cjs.map +1 -0
- package/dist/data/chat/tool-render/registry.d.ts +7 -0
- package/dist/data/chat/tool-render/registry.d.ts.map +1 -0
- package/dist/data/chat/tool-render/registry.js +14 -0
- package/dist/data/chat/tool-render/registry.js.map +1 -0
- package/dist/data/chat/tool-render/schema.cjs +57 -0
- package/dist/data/chat/tool-render/schema.cjs.map +1 -0
- package/dist/data/chat/tool-render/schema.d.ts +28 -0
- package/dist/data/chat/tool-render/schema.d.ts.map +1 -0
- package/dist/data/chat/tool-render/schema.js +57 -0
- package/dist/data/chat/tool-render/schema.js.map +1 -0
- package/dist/data/chat/tool-render/shape.cjs +94 -0
- package/dist/data/chat/tool-render/shape.cjs.map +1 -0
- package/dist/data/chat/tool-render/shape.d.ts +39 -0
- package/dist/data/chat/tool-render/shape.d.ts.map +1 -0
- package/dist/data/chat/tool-render/shape.js +94 -0
- package/dist/data/chat/tool-render/shape.js.map +1 -0
- package/dist/data/chat/tool-render/summary.cjs +34 -0
- package/dist/data/chat/tool-render/summary.cjs.map +1 -0
- package/dist/data/chat/tool-render/summary.d.ts +8 -0
- package/dist/data/chat/tool-render/summary.d.ts.map +1 -0
- package/dist/data/chat/tool-render/summary.js +34 -0
- package/dist/data/chat/tool-render/summary.js.map +1 -0
- package/dist/data/chat/types.cjs.map +1 -1
- package/dist/data/chat/types.d.ts +19 -0
- package/dist/data/chat/types.d.ts.map +1 -1
- package/dist/data/chat/types.js.map +1 -1
- package/dist/data/chat/usage-snapshot.cjs +17 -0
- package/dist/data/chat/usage-snapshot.cjs.map +1 -0
- package/dist/data/chat/usage-snapshot.d.ts +21 -0
- package/dist/data/chat/usage-snapshot.d.ts.map +1 -0
- package/dist/data/chat/usage-snapshot.js +17 -0
- package/dist/data/chat/usage-snapshot.js.map +1 -0
- package/dist/data/data-table-filter-values.cjs +83 -0
- package/dist/data/data-table-filter-values.cjs.map +1 -0
- package/dist/data/data-table-filter-values.d.ts +18 -0
- package/dist/data/data-table-filter-values.d.ts.map +1 -0
- package/dist/data/data-table-filter-values.js +83 -0
- package/dist/data/data-table-filter-values.js.map +1 -0
- package/dist/data/data-table-server-filters.cjs +171 -0
- package/dist/data/data-table-server-filters.cjs.map +1 -0
- package/dist/data/data-table-server-filters.d.ts +128 -0
- package/dist/data/data-table-server-filters.d.ts.map +1 -0
- package/dist/data/data-table-server-filters.js +171 -0
- package/dist/data/data-table-server-filters.js.map +1 -0
- package/dist/data/query-browser/QueryBrowser.cjs +96 -19
- package/dist/data/query-browser/QueryBrowser.cjs.map +1 -1
- package/dist/data/query-browser/QueryBrowser.d.ts +37 -6
- package/dist/data/query-browser/QueryBrowser.d.ts.map +1 -1
- package/dist/data/query-browser/QueryBrowser.js +96 -19
- package/dist/data/query-browser/QueryBrowser.js.map +1 -1
- package/dist/data/query-browser/index.d.ts +1 -1
- package/dist/data/query-browser/index.d.ts.map +1 -1
- package/dist/data/runtime/ProviderStatusPanel.cjs +187 -0
- package/dist/data/runtime/ProviderStatusPanel.cjs.map +1 -0
- package/dist/data/runtime/ProviderStatusPanel.d.ts +10 -0
- package/dist/data/runtime/ProviderStatusPanel.d.ts.map +1 -0
- package/dist/data/runtime/ProviderStatusPanel.js +187 -0
- package/dist/data/runtime/ProviderStatusPanel.js.map +1 -0
- package/dist/data/runtime/RuntimeBar.cjs +147 -0
- package/dist/data/runtime/RuntimeBar.cjs.map +1 -0
- package/dist/data/runtime/RuntimeBar.d.ts +22 -0
- package/dist/data/runtime/RuntimeBar.d.ts.map +1 -0
- package/dist/data/runtime/RuntimeBar.js +147 -0
- package/dist/data/runtime/RuntimeBar.js.map +1 -0
- package/dist/data/runtime/RuntimeBar.model.cjs +14 -0
- package/dist/data/runtime/RuntimeBar.model.cjs.map +1 -0
- package/dist/data/runtime/RuntimeBar.model.d.ts +10 -0
- package/dist/data/runtime/RuntimeBar.model.d.ts.map +1 -0
- package/dist/data/runtime/RuntimeBar.model.js +14 -0
- package/dist/data/runtime/RuntimeBar.model.js.map +1 -0
- package/dist/data/runtime/RuntimeBarCombo.cjs +354 -0
- package/dist/data/runtime/RuntimeBarCombo.cjs.map +1 -0
- package/dist/data/runtime/RuntimeBarCombo.d.ts +23 -0
- package/dist/data/runtime/RuntimeBarCombo.d.ts.map +1 -0
- package/dist/data/runtime/RuntimeBarCombo.js +354 -0
- package/dist/data/runtime/RuntimeBarCombo.js.map +1 -0
- package/dist/data/{ai/RuntimeBar.cjs → runtime/RuntimeBarSegments.cjs} +93 -87
- package/dist/data/runtime/RuntimeBarSegments.cjs.map +1 -0
- package/dist/data/runtime/RuntimeBarSegments.d.ts +25 -0
- package/dist/data/runtime/RuntimeBarSegments.d.ts.map +1 -0
- package/dist/data/{ai/RuntimeBar.js → runtime/RuntimeBarSegments.js} +96 -90
- package/dist/data/runtime/RuntimeBarSegments.js.map +1 -0
- package/dist/data/runtime/availability.cjs +11 -0
- package/dist/data/runtime/availability.cjs.map +1 -0
- package/dist/data/runtime/availability.d.ts +6 -0
- package/dist/data/runtime/availability.d.ts.map +1 -0
- package/dist/data/runtime/availability.js +11 -0
- package/dist/data/runtime/availability.js.map +1 -0
- package/dist/data/{ai → runtime}/model-capabilities.cjs +12 -1
- package/dist/data/runtime/model-capabilities.cjs.map +1 -0
- package/dist/data/{ai → runtime}/model-capabilities.d.ts +2 -6
- package/dist/data/runtime/model-capabilities.d.ts.map +1 -0
- package/dist/data/{ai → runtime}/model-capabilities.js +12 -1
- package/dist/data/runtime/model-capabilities.js.map +1 -0
- package/dist/data/runtime/provider-status.cjs +106 -0
- package/dist/data/runtime/provider-status.cjs.map +1 -0
- package/dist/data/runtime/provider-status.d.ts +24 -0
- package/dist/data/runtime/provider-status.d.ts.map +1 -0
- package/dist/data/runtime/provider-status.js +106 -0
- package/dist/data/runtime/provider-status.js.map +1 -0
- package/dist/data/{ai → runtime}/runtime-mode.cjs +123 -22
- package/dist/data/runtime/runtime-mode.cjs.map +1 -0
- package/dist/data/{ai → runtime}/runtime-mode.d.ts +8 -1
- package/dist/data/runtime/runtime-mode.d.ts.map +1 -0
- package/dist/data/{ai → runtime}/runtime-mode.js +123 -22
- package/dist/data/runtime/runtime-mode.js.map +1 -0
- package/dist/data/server-timing.cjs +120 -0
- package/dist/data/server-timing.cjs.map +1 -0
- package/dist/data/server-timing.d.ts +11 -0
- package/dist/data/server-timing.d.ts.map +1 -0
- package/dist/data/server-timing.js +120 -0
- package/dist/data/server-timing.js.map +1 -0
- package/dist/data/task-query-keys.cjs +26 -0
- package/dist/data/task-query-keys.cjs.map +1 -0
- package/dist/data/task-query-keys.d.ts +27 -0
- package/dist/data/task-query-keys.d.ts.map +1 -0
- package/dist/data/task-query-keys.js +26 -0
- package/dist/data/task-query-keys.js.map +1 -0
- package/dist/data/version-info.cjs +3 -3
- package/dist/data/version-info.js +3 -3
- package/dist/data.cjs +23 -0
- package/dist/data.cjs.map +1 -1
- package/dist/data.d.ts +8 -2
- package/dist/data.d.ts.map +1 -1
- package/dist/data.js +23 -0
- package/dist/data.js.map +1 -1
- package/dist/hooks/use-hotkey.cjs +6 -1
- package/dist/hooks/use-hotkey.cjs.map +1 -1
- package/dist/hooks/use-hotkey.d.ts.map +1 -1
- package/dist/hooks/use-hotkey.js +6 -1
- package/dist/hooks/use-hotkey.js.map +1 -1
- package/dist/hooks/use-task-run.cjs +7 -4
- package/dist/hooks/use-task-run.cjs.map +1 -1
- package/dist/hooks/use-task-run.d.ts +12 -0
- package/dist/hooks/use-task-run.d.ts.map +1 -1
- package/dist/hooks/use-task-run.js +7 -4
- package/dist/hooks/use-task-run.js.map +1 -1
- package/dist/icons/index.d.ts +1 -0
- package/dist/icons/index.d.ts.map +1 -1
- package/dist/icons/registry.cjs +692 -0
- package/dist/icons/registry.cjs.map +1 -0
- package/dist/icons/registry.d.ts +21 -0
- package/dist/icons/registry.d.ts.map +1 -0
- package/dist/icons/registry.js +692 -0
- package/dist/icons/registry.js.map +1 -0
- package/dist/icons.cjs +3 -0
- package/dist/icons.cjs.map +1 -1
- package/dist/icons.js +4 -1
- package/dist/icons.js.map +1 -1
- package/dist/index.cjs +54 -0
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +56 -2
- package/dist/index.js.map +1 -1
- package/dist/layout/AppShell.cjs +93 -57
- package/dist/layout/AppShell.cjs.map +1 -1
- package/dist/layout/AppShell.d.ts +49 -1
- package/dist/layout/AppShell.d.ts.map +1 -1
- package/dist/layout/AppShell.js +93 -57
- package/dist/layout/AppShell.js.map +1 -1
- package/dist/layout/AppShell.nav.cjs +144 -19
- package/dist/layout/AppShell.nav.cjs.map +1 -1
- package/dist/layout/AppShell.nav.d.ts +6 -1
- package/dist/layout/AppShell.nav.d.ts.map +1 -1
- package/dist/layout/AppShell.nav.js +144 -19
- package/dist/layout/AppShell.nav.js.map +1 -1
- package/dist/layout/SplitPane.cjs +23 -7
- package/dist/layout/SplitPane.cjs.map +1 -1
- package/dist/layout/SplitPane.d.ts +3 -1
- package/dist/layout/SplitPane.d.ts.map +1 -1
- package/dist/layout/SplitPane.js +23 -7
- package/dist/layout/SplitPane.js.map +1 -1
- package/dist/lib/format.cjs +86 -4
- package/dist/lib/format.cjs.map +1 -1
- package/dist/lib/format.d.ts +69 -0
- package/dist/lib/format.d.ts.map +1 -1
- package/dist/lib/format.js +86 -4
- package/dist/lib/format.js.map +1 -1
- package/dist/lib/path-tree.cjs +69 -0
- package/dist/lib/path-tree.cjs.map +1 -0
- package/dist/lib/path-tree.d.ts +54 -0
- package/dist/lib/path-tree.d.ts.map +1 -0
- package/dist/lib/path-tree.js +69 -0
- package/dist/lib/path-tree.js.map +1 -0
- package/dist/monaco.d.ts +1 -0
- package/dist/monaco.d.ts.map +1 -1
- package/dist/overlay/DropdownMenuSubmenu.cjs +13 -7
- package/dist/overlay/DropdownMenuSubmenu.cjs.map +1 -1
- package/dist/overlay/DropdownMenuSubmenu.d.ts.map +1 -1
- package/dist/overlay/DropdownMenuSubmenu.js +13 -7
- package/dist/overlay/DropdownMenuSubmenu.js.map +1 -1
- package/dist/overlay/HoverCard.cjs.map +1 -1
- package/dist/overlay/HoverCard.d.ts +2 -2
- package/dist/overlay/HoverCard.d.ts.map +1 -1
- package/dist/overlay/HoverCard.js.map +1 -1
- package/dist/overlay/Tour.cjs +173 -0
- package/dist/overlay/Tour.cjs.map +1 -0
- package/dist/overlay/Tour.d.ts +61 -0
- package/dist/overlay/Tour.d.ts.map +1 -0
- package/dist/overlay/Tour.js +173 -0
- package/dist/overlay/Tour.js.map +1 -0
- package/dist/overlay/TourCard.cjs +108 -0
- package/dist/overlay/TourCard.cjs.map +1 -0
- package/dist/overlay/TourCard.d.ts +23 -0
- package/dist/overlay/TourCard.d.ts.map +1 -0
- package/dist/overlay/TourCard.js +108 -0
- package/dist/overlay/TourCard.js.map +1 -0
- package/dist/overlay/TourProvider.cjs +160 -0
- package/dist/overlay/TourProvider.cjs.map +1 -0
- package/dist/overlay/TourProvider.d.ts +31 -0
- package/dist/overlay/TourProvider.d.ts.map +1 -0
- package/dist/overlay/TourProvider.js +160 -0
- package/dist/overlay/TourProvider.js.map +1 -0
- package/dist/overlay/TourSpotlight.cjs +47 -0
- package/dist/overlay/TourSpotlight.cjs.map +1 -0
- package/dist/overlay/TourSpotlight.d.ts +12 -0
- package/dist/overlay/TourSpotlight.d.ts.map +1 -0
- package/dist/overlay/TourSpotlight.js +47 -0
- package/dist/overlay/TourSpotlight.js.map +1 -0
- package/dist/overlay/modalStack.cjs +18 -4
- package/dist/overlay/modalStack.cjs.map +1 -1
- package/dist/overlay/modalStack.d.ts +10 -2
- package/dist/overlay/modalStack.d.ts.map +1 -1
- package/dist/overlay/modalStack.js +19 -5
- package/dist/overlay/modalStack.js.map +1 -1
- package/dist/overlay/tour-anchor.cjs +114 -0
- package/dist/overlay/tour-anchor.cjs.map +1 -0
- package/dist/overlay/tour-anchor.d.ts +30 -0
- package/dist/overlay/tour-anchor.d.ts.map +1 -0
- package/dist/overlay/tour-anchor.js +114 -0
- package/dist/overlay/tour-anchor.js.map +1 -0
- package/dist/overlay/tour-context.cjs +12 -0
- package/dist/overlay/tour-context.cjs.map +1 -0
- package/dist/overlay/tour-context.d.ts +40 -0
- package/dist/overlay/tour-context.d.ts.map +1 -0
- package/dist/overlay/tour-context.js +12 -0
- package/dist/overlay/tour-context.js.map +1 -0
- package/dist/overlay/tour-geometry.cjs +65 -0
- package/dist/overlay/tour-geometry.cjs.map +1 -0
- package/dist/overlay/tour-geometry.d.ts +47 -0
- package/dist/overlay/tour-geometry.d.ts.map +1 -0
- package/dist/overlay/tour-geometry.js +65 -0
- package/dist/overlay/tour-geometry.js.map +1 -0
- package/dist/overlay/tour-model.cjs +79 -0
- package/dist/overlay/tour-model.cjs.map +1 -0
- package/dist/overlay/tour-model.d.ts +29 -0
- package/dist/overlay/tour-model.d.ts.map +1 -0
- package/dist/overlay/tour-model.js +79 -0
- package/dist/overlay/tour-model.js.map +1 -0
- package/dist/overlay/tour-progress.cjs +54 -0
- package/dist/overlay/tour-progress.cjs.map +1 -0
- package/dist/overlay/tour-progress.d.ts +40 -0
- package/dist/overlay/tour-progress.d.ts.map +1 -0
- package/dist/overlay/tour-progress.js +54 -0
- package/dist/overlay/tour-progress.js.map +1 -0
- package/dist/overlay/tour-types.d.ts +144 -0
- package/dist/overlay/tour-types.d.ts.map +1 -0
- package/dist/overlay/use-tour-anchor.cjs +43 -0
- package/dist/overlay/use-tour-anchor.cjs.map +1 -0
- package/dist/overlay/use-tour-anchor.d.ts +23 -0
- package/dist/overlay/use-tour-anchor.d.ts.map +1 -0
- package/dist/overlay/use-tour-anchor.js +43 -0
- package/dist/overlay/use-tour-anchor.js.map +1 -0
- package/dist/overlay/use-tour-rect.cjs +33 -0
- package/dist/overlay/use-tour-rect.cjs.map +1 -0
- package/dist/overlay/use-tour-rect.d.ts +12 -0
- package/dist/overlay/use-tour-rect.d.ts.map +1 -0
- package/dist/overlay/use-tour-rect.js +33 -0
- package/dist/overlay/use-tour-rect.js.map +1 -0
- package/dist/overlay/use-tour-step.cjs +66 -0
- package/dist/overlay/use-tour-step.cjs.map +1 -0
- package/dist/overlay/use-tour-step.d.ts +45 -0
- package/dist/overlay/use-tour-step.d.ts.map +1 -0
- package/dist/overlay/use-tour-step.js +66 -0
- package/dist/overlay/use-tour-step.js.map +1 -0
- package/dist/overlay/zIndex.cjs +8 -0
- package/dist/overlay/zIndex.cjs.map +1 -1
- package/dist/overlay/zIndex.d.ts +8 -0
- package/dist/overlay/zIndex.d.ts.map +1 -1
- package/dist/overlay/zIndex.js +8 -0
- package/dist/overlay/zIndex.js.map +1 -1
- package/dist/rpc/CommandOutput.cjs +8 -0
- package/dist/rpc/CommandOutput.cjs.map +1 -1
- package/dist/rpc/CommandOutput.d.ts +4 -1
- package/dist/rpc/CommandOutput.d.ts.map +1 -1
- package/dist/rpc/CommandOutput.js +8 -0
- package/dist/rpc/CommandOutput.js.map +1 -1
- package/dist/rpc/EntityExplorerApp.cjs +10 -16
- package/dist/rpc/EntityExplorerApp.cjs.map +1 -1
- package/dist/rpc/EntityExplorerApp.d.ts.map +1 -1
- package/dist/rpc/EntityExplorerApp.js +10 -16
- package/dist/rpc/EntityExplorerApp.js.map +1 -1
- package/dist/rpc/OperationActionBar.cjs +1 -1
- package/dist/rpc/OperationActionBar.cjs.map +1 -1
- package/dist/rpc/OperationActionBar.js +1 -1
- package/dist/rpc/OperationActionBar.js.map +1 -1
- package/dist/rpc/OperationCatalog.cjs +111 -58
- package/dist/rpc/OperationCatalog.cjs.map +1 -1
- package/dist/rpc/OperationCatalog.d.ts +1 -6
- package/dist/rpc/OperationCatalog.d.ts.map +1 -1
- package/dist/rpc/OperationCatalog.js +112 -59
- package/dist/rpc/OperationCatalog.js.map +1 -1
- package/dist/rpc/OperationResultView.cjs +44 -0
- package/dist/rpc/OperationResultView.cjs.map +1 -1
- package/dist/rpc/OperationResultView.d.ts +8 -1
- package/dist/rpc/OperationResultView.d.ts.map +1 -1
- package/dist/rpc/OperationResultView.js +44 -0
- package/dist/rpc/OperationResultView.js.map +1 -1
- package/dist/rpc/SchemaActionForm.cjs +2 -21
- package/dist/rpc/SchemaActionForm.cjs.map +1 -1
- package/dist/rpc/SchemaActionForm.d.ts.map +1 -1
- package/dist/rpc/SchemaActionForm.js +3 -22
- package/dist/rpc/SchemaActionForm.js.map +1 -1
- package/dist/rpc/apiClient.cjs +16 -2
- package/dist/rpc/apiClient.cjs.map +1 -1
- package/dist/rpc/apiClient.d.ts.map +1 -1
- package/dist/rpc/apiClient.js +16 -2
- package/dist/rpc/apiClient.js.map +1 -1
- package/dist/rpc/formMetadata.cjs +89 -49
- package/dist/rpc/formMetadata.cjs.map +1 -1
- package/dist/rpc/formMetadata.d.ts +14 -6
- package/dist/rpc/formMetadata.d.ts.map +1 -1
- package/dist/rpc/formMetadata.js +87 -47
- package/dist/rpc/formMetadata.js.map +1 -1
- package/dist/rpc/operationFilterSearch.cjs +23 -0
- package/dist/rpc/operationFilterSearch.cjs.map +1 -0
- package/dist/rpc/operationFilterSearch.d.ts +22 -0
- package/dist/rpc/operationFilterSearch.d.ts.map +1 -0
- package/dist/rpc/operationFilterSearch.js +23 -0
- package/dist/rpc/operationFilterSearch.js.map +1 -0
- package/dist/rpc/operationLookupFetcher.cjs +28 -0
- package/dist/rpc/operationLookupFetcher.cjs.map +1 -0
- package/dist/rpc/operationLookupFetcher.d.ts +17 -0
- package/dist/rpc/operationLookupFetcher.d.ts.map +1 -0
- package/dist/rpc/operationLookupFetcher.js +28 -0
- package/dist/rpc/operationLookupFetcher.js.map +1 -0
- package/dist/rpc/surfaceNav.cjs +77 -0
- package/dist/rpc/surfaceNav.cjs.map +1 -0
- package/dist/rpc/surfaceNav.d.ts +19 -0
- package/dist/rpc/surfaceNav.d.ts.map +1 -0
- package/dist/rpc/surfaceNav.js +77 -0
- package/dist/rpc/surfaceNav.js.map +1 -0
- package/dist/rpc/types.cjs.map +1 -1
- package/dist/rpc/types.d.ts +12 -1
- package/dist/rpc/types.d.ts.map +1 -1
- package/dist/rpc/types.js.map +1 -1
- package/dist/rpc.cjs +2 -0
- package/dist/rpc.cjs.map +1 -1
- package/dist/rpc.d.ts +1 -0
- package/dist/rpc.d.ts.map +1 -1
- package/dist/rpc.js +2 -0
- package/dist/rpc.js.map +1 -1
- package/dist/styles.css +1 -1
- package/dist/tailwind-preset.cjs +4 -0
- package/dist/tailwind-preset.cjs.map +1 -1
- package/dist/tailwind-preset.d.ts.map +1 -1
- package/dist/tailwind-preset.js +4 -0
- package/dist/tailwind-preset.js.map +1 -1
- package/dist/utils.cjs +8 -0
- package/dist/utils.cjs.map +1 -1
- package/dist/utils.d.ts +2 -1
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +10 -2
- package/dist/utils.js.map +1 -1
- package/package.json +1 -1
- package/dist/data/ai/RuntimeBar.cjs.map +0 -1
- package/dist/data/ai/RuntimeBar.d.ts +0 -27
- package/dist/data/ai/RuntimeBar.d.ts.map +0 -1
- package/dist/data/ai/RuntimeBar.js.map +0 -1
- package/dist/data/ai/model-capabilities.cjs.map +0 -1
- package/dist/data/ai/model-capabilities.d.ts.map +0 -1
- package/dist/data/ai/model-capabilities.js.map +0 -1
- package/dist/data/ai/runtime-mode.cjs.map +0 -1
- package/dist/data/ai/runtime-mode.d.ts.map +0 -1
- package/dist/data/ai/runtime-mode.js.map +0 -1
|
@@ -0,0 +1,208 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const jsxRuntime = require("react/jsx-runtime");
|
|
4
|
+
const CodeBlock = require("../../CodeBlock.cjs");
|
|
5
|
+
const CodeDiff = require("../../CodeDiff.cjs");
|
|
6
|
+
const codeHighlight = require("../../code-highlight.cjs");
|
|
7
|
+
const ToolParams = require("./ToolParams.cjs");
|
|
8
|
+
const ToolValue = require("./ToolValue.cjs");
|
|
9
|
+
function inputRecord(ctx) {
|
|
10
|
+
return typeof ctx.input === "object" && ctx.input !== null && !Array.isArray(ctx.input) ? ctx.input : null;
|
|
11
|
+
}
|
|
12
|
+
function stringField(input, ...keys) {
|
|
13
|
+
for (const key of keys) {
|
|
14
|
+
const value = input[key];
|
|
15
|
+
if (typeof value === "string" && value !== "") return value;
|
|
16
|
+
}
|
|
17
|
+
return "";
|
|
18
|
+
}
|
|
19
|
+
function remainingInput(input, consumed) {
|
|
20
|
+
return Object.fromEntries(
|
|
21
|
+
Object.entries(input).filter(([key, value]) => {
|
|
22
|
+
return !consumed.includes(key) && value !== void 0 && value !== null && value !== "";
|
|
23
|
+
})
|
|
24
|
+
);
|
|
25
|
+
}
|
|
26
|
+
function ExtraParams({
|
|
27
|
+
ctx,
|
|
28
|
+
consumed
|
|
29
|
+
}) {
|
|
30
|
+
var _a;
|
|
31
|
+
const input = inputRecord(ctx);
|
|
32
|
+
if (!input) return null;
|
|
33
|
+
const remaining = remainingInput(input, consumed);
|
|
34
|
+
if (Object.keys(remaining).length === 0) return null;
|
|
35
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
36
|
+
ToolParams.ToolParams,
|
|
37
|
+
{
|
|
38
|
+
input: remaining,
|
|
39
|
+
...((_a = ctx.tool) == null ? void 0 : _a.inputSchema) ? { schema: ctx.tool.inputSchema } : {}
|
|
40
|
+
}
|
|
41
|
+
);
|
|
42
|
+
}
|
|
43
|
+
function renderTextOutput(ctx, slot) {
|
|
44
|
+
if (typeof ctx.output !== "string") return ctx.defaultView;
|
|
45
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { "data-slot": slot, children: /* @__PURE__ */ jsxRuntime.jsx(CodeBlock.CodeBlock, { bare: true, language: "text", source: ctx.output }) });
|
|
46
|
+
}
|
|
47
|
+
function ShellInput(ctx) {
|
|
48
|
+
const input = inputRecord(ctx);
|
|
49
|
+
if (!input) return ctx.defaultView;
|
|
50
|
+
const command = stringField(input, "command", "cmd");
|
|
51
|
+
if (!command) return ctx.defaultView;
|
|
52
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { "data-slot": "tool-render-shell-input", className: "space-y-1.5", children: [
|
|
53
|
+
/* @__PURE__ */ jsxRuntime.jsx(CodeBlock.CodeBlock, { bare: true, language: "bash", source: command }),
|
|
54
|
+
/* @__PURE__ */ jsxRuntime.jsx(ExtraParams, { ctx, consumed: ["command", "cmd"] })
|
|
55
|
+
] });
|
|
56
|
+
}
|
|
57
|
+
function ShellOutput(ctx) {
|
|
58
|
+
return renderTextOutput(ctx, "tool-render-shell-output");
|
|
59
|
+
}
|
|
60
|
+
function TextToolOutput(ctx) {
|
|
61
|
+
return renderTextOutput(ctx, "tool-render-text-output");
|
|
62
|
+
}
|
|
63
|
+
function FileReadOutput(ctx) {
|
|
64
|
+
if (typeof ctx.output !== "string") return ctx.defaultView;
|
|
65
|
+
const input = inputRecord(ctx);
|
|
66
|
+
const path = input ? stringField(input, "file_path", "notebook_path", "path") : "";
|
|
67
|
+
const language = codeHighlight.languageFromPath(path);
|
|
68
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { "data-slot": "tool-render-file-read", children: /* @__PURE__ */ jsxRuntime.jsx(CodeBlock.CodeBlock, { bare: true, source: ctx.output, ...language ? { language } : {} }) });
|
|
69
|
+
}
|
|
70
|
+
function editSegments(toolName, input) {
|
|
71
|
+
if (toolName === "Write") {
|
|
72
|
+
const content = stringField(input, "content");
|
|
73
|
+
return content ? [{ original: "", modified: content }] : [];
|
|
74
|
+
}
|
|
75
|
+
if (toolName === "Edit" || toolName === "NotebookEdit") {
|
|
76
|
+
const original = stringField(input, "old_string", "old_source");
|
|
77
|
+
const modified = stringField(input, "new_string", "new_source");
|
|
78
|
+
return original || modified ? [{ original, modified }] : [];
|
|
79
|
+
}
|
|
80
|
+
if (toolName !== "MultiEdit" || !Array.isArray(input["edits"])) return [];
|
|
81
|
+
return input["edits"].flatMap((edit) => {
|
|
82
|
+
if (typeof edit !== "object" || edit === null || Array.isArray(edit))
|
|
83
|
+
return [];
|
|
84
|
+
const record = edit;
|
|
85
|
+
const original = stringField(record, "old_string");
|
|
86
|
+
const modified = stringField(record, "new_string");
|
|
87
|
+
return original || modified ? [{ original, modified }] : [];
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
function FileEditInput(ctx) {
|
|
91
|
+
const input = inputRecord(ctx);
|
|
92
|
+
if (!input) return ctx.defaultView;
|
|
93
|
+
const path = stringField(input, "file_path", "notebook_path", "path");
|
|
94
|
+
const patch = ctx.toolName === "apply_patch" ? stringField(input, "patch") : "";
|
|
95
|
+
const segments = editSegments(ctx.toolName, input);
|
|
96
|
+
if (!patch && segments.length === 0) return ctx.defaultView;
|
|
97
|
+
const language = codeHighlight.languageFromPath(path);
|
|
98
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { "data-slot": "tool-render-file-edit", className: "space-y-1.5", children: [
|
|
99
|
+
path && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "truncate font-mono text-[11px] text-muted-foreground", children: path }),
|
|
100
|
+
patch ? /* @__PURE__ */ jsxRuntime.jsx(CodeBlock.CodeBlock, { bare: true, language: "diff", source: patch }) : segments.map((segment, index) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
101
|
+
CodeDiff.CodeDiff,
|
|
102
|
+
{
|
|
103
|
+
bare: true,
|
|
104
|
+
showLineNumbers: false,
|
|
105
|
+
original: segment.original,
|
|
106
|
+
modified: segment.modified,
|
|
107
|
+
...language ? { language } : {}
|
|
108
|
+
},
|
|
109
|
+
index
|
|
110
|
+
)),
|
|
111
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
112
|
+
ExtraParams,
|
|
113
|
+
{
|
|
114
|
+
ctx,
|
|
115
|
+
consumed: [
|
|
116
|
+
"file_path",
|
|
117
|
+
"notebook_path",
|
|
118
|
+
"path",
|
|
119
|
+
"content",
|
|
120
|
+
"old_string",
|
|
121
|
+
"old_source",
|
|
122
|
+
"new_string",
|
|
123
|
+
"new_source",
|
|
124
|
+
"edits",
|
|
125
|
+
"patch"
|
|
126
|
+
]
|
|
127
|
+
}
|
|
128
|
+
)
|
|
129
|
+
] });
|
|
130
|
+
}
|
|
131
|
+
function PlanInput(ctx) {
|
|
132
|
+
const input = inputRecord(ctx);
|
|
133
|
+
if (!input) return ctx.defaultView;
|
|
134
|
+
const key = Array.isArray(input["plan"]) ? "plan" : Array.isArray(input["todos"]) ? "todos" : "";
|
|
135
|
+
if (!key) return ctx.defaultView;
|
|
136
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { "data-slot": "tool-render-plan", className: "space-y-1.5", children: [
|
|
137
|
+
/* @__PURE__ */ jsxRuntime.jsx(ExtraParams, { ctx, consumed: [key] }),
|
|
138
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
139
|
+
ToolValue.ToolValue,
|
|
140
|
+
{
|
|
141
|
+
value: input[key],
|
|
142
|
+
...ctx.options.maxRows !== void 0 ? { maxRows: ctx.options.maxRows } : {}
|
|
143
|
+
}
|
|
144
|
+
)
|
|
145
|
+
] });
|
|
146
|
+
}
|
|
147
|
+
function questionFromValue(value) {
|
|
148
|
+
if (typeof value === "string") {
|
|
149
|
+
return value.trim() ? { heading: "", text: value.trim(), options: [] } : null;
|
|
150
|
+
}
|
|
151
|
+
if (typeof value !== "object" || value === null || Array.isArray(value))
|
|
152
|
+
return null;
|
|
153
|
+
const question = value;
|
|
154
|
+
const text = stringField(question, "question", "text", "prompt", "label");
|
|
155
|
+
if (!text) return null;
|
|
156
|
+
const options = Array.isArray(question["options"]) ? question["options"].flatMap((option) => {
|
|
157
|
+
if (typeof option === "string") {
|
|
158
|
+
return option ? [{ label: option, description: "" }] : [];
|
|
159
|
+
}
|
|
160
|
+
if (typeof option !== "object" || option === null || Array.isArray(option))
|
|
161
|
+
return [];
|
|
162
|
+
const record = option;
|
|
163
|
+
const label = stringField(record, "label", "value", "id");
|
|
164
|
+
return label ? [{ label, description: stringField(record, "description") }] : [];
|
|
165
|
+
}) : [];
|
|
166
|
+
return {
|
|
167
|
+
heading: stringField(question, "header", "context", "description"),
|
|
168
|
+
text,
|
|
169
|
+
options
|
|
170
|
+
};
|
|
171
|
+
}
|
|
172
|
+
function QuestionInput(ctx) {
|
|
173
|
+
const input = inputRecord(ctx);
|
|
174
|
+
if (!input) return ctx.defaultView;
|
|
175
|
+
const raw = Array.isArray(input["questions"]) ? input["questions"] : [input];
|
|
176
|
+
const questions = raw.map(questionFromValue).filter((question) => question !== null);
|
|
177
|
+
if (questions.length === 0) return ctx.defaultView;
|
|
178
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { "data-slot": "tool-render-question", className: "space-y-1.5", children: questions.map((question, index) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
179
|
+
"div",
|
|
180
|
+
{
|
|
181
|
+
className: "rounded-md border border-sky-500/20 bg-sky-500/5 px-density-3 py-density-2",
|
|
182
|
+
children: [
|
|
183
|
+
question.heading && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-[11px] font-medium uppercase text-muted-foreground", children: question.heading }),
|
|
184
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "whitespace-pre-wrap break-words text-sm text-foreground", children: question.text }),
|
|
185
|
+
question.options.length > 0 && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-1.5 flex flex-wrap gap-1", children: question.options.map((option) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
186
|
+
"span",
|
|
187
|
+
{
|
|
188
|
+
className: "rounded border border-border bg-background px-1.5 py-0.5 text-[11px] text-muted-foreground",
|
|
189
|
+
children: [
|
|
190
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "font-medium text-foreground", children: option.label }),
|
|
191
|
+
option.description && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "ml-1", children: option.description })
|
|
192
|
+
]
|
|
193
|
+
},
|
|
194
|
+
option.label
|
|
195
|
+
)) })
|
|
196
|
+
]
|
|
197
|
+
},
|
|
198
|
+
`${question.text}-${index}`
|
|
199
|
+
)) });
|
|
200
|
+
}
|
|
201
|
+
exports.FileEditInput = FileEditInput;
|
|
202
|
+
exports.FileReadOutput = FileReadOutput;
|
|
203
|
+
exports.PlanInput = PlanInput;
|
|
204
|
+
exports.QuestionInput = QuestionInput;
|
|
205
|
+
exports.ShellInput = ShellInput;
|
|
206
|
+
exports.ShellOutput = ShellOutput;
|
|
207
|
+
exports.TextToolOutput = TextToolOutput;
|
|
208
|
+
//# sourceMappingURL=known-tool-views.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"known-tool-views.cjs","sources":["../../../../src/data/chat/tool-render/known-tool-views.tsx"],"sourcesContent":["import type { ReactNode } from \"react\";\nimport { CodeBlock } from \"../../CodeBlock\";\nimport { CodeDiff } from \"../../CodeDiff\";\nimport { languageFromPath } from \"../../code-highlight\";\nimport type { ToolRenderAdapterContext } from \"./adapter\";\nimport { ToolParams } from \"./ToolParams\";\nimport { ToolValue } from \"./ToolValue\";\n\nfunction inputRecord(\n ctx: ToolRenderAdapterContext,\n): Record<string, unknown> | null {\n return typeof ctx.input === \"object\" &&\n ctx.input !== null &&\n !Array.isArray(ctx.input)\n ? (ctx.input as Record<string, unknown>)\n : null;\n}\n\nfunction stringField(\n input: Record<string, unknown>,\n ...keys: string[]\n): string {\n for (const key of keys) {\n const value = input[key];\n if (typeof value === \"string\" && value !== \"\") return value;\n }\n return \"\";\n}\n\nfunction remainingInput(\n input: Record<string, unknown>,\n consumed: readonly string[],\n): Record<string, unknown> {\n return Object.fromEntries(\n Object.entries(input).filter(([key, value]) => {\n return (\n !consumed.includes(key) &&\n value !== undefined &&\n value !== null &&\n value !== \"\"\n );\n }),\n );\n}\n\nfunction ExtraParams({\n ctx,\n consumed,\n}: {\n ctx: ToolRenderAdapterContext;\n consumed: readonly string[];\n}): ReactNode {\n const input = inputRecord(ctx);\n if (!input) return null;\n const remaining = remainingInput(input, consumed);\n if (Object.keys(remaining).length === 0) return null;\n return (\n <ToolParams\n input={remaining}\n {...(ctx.tool?.inputSchema ? { schema: ctx.tool.inputSchema } : {})}\n />\n );\n}\n\nfunction renderTextOutput(\n ctx: ToolRenderAdapterContext,\n slot: string,\n): ReactNode {\n if (typeof ctx.output !== \"string\") return ctx.defaultView;\n return (\n <div data-slot={slot}>\n <CodeBlock bare language=\"text\" source={ctx.output} />\n </div>\n );\n}\n\nexport function ShellInput(ctx: ToolRenderAdapterContext): ReactNode {\n const input = inputRecord(ctx);\n if (!input) return ctx.defaultView;\n const command = stringField(input, \"command\", \"cmd\");\n if (!command) return ctx.defaultView;\n return (\n <div data-slot=\"tool-render-shell-input\" className=\"space-y-1.5\">\n <CodeBlock bare language=\"bash\" source={command} />\n <ExtraParams ctx={ctx} consumed={[\"command\", \"cmd\"]} />\n </div>\n );\n}\n\nexport function ShellOutput(ctx: ToolRenderAdapterContext): ReactNode {\n return renderTextOutput(ctx, \"tool-render-shell-output\");\n}\n\nexport function TextToolOutput(ctx: ToolRenderAdapterContext): ReactNode {\n return renderTextOutput(ctx, \"tool-render-text-output\");\n}\n\nexport function FileReadOutput(ctx: ToolRenderAdapterContext): ReactNode {\n if (typeof ctx.output !== \"string\") return ctx.defaultView;\n const input = inputRecord(ctx);\n const path = input\n ? stringField(input, \"file_path\", \"notebook_path\", \"path\")\n : \"\";\n const language = languageFromPath(path);\n return (\n <div data-slot=\"tool-render-file-read\">\n <CodeBlock bare source={ctx.output} {...(language ? { language } : {})} />\n </div>\n );\n}\n\ntype EditSegment = {\n original: string;\n modified: string;\n};\n\nfunction editSegments(\n toolName: string,\n input: Record<string, unknown>,\n): EditSegment[] {\n if (toolName === \"Write\") {\n const content = stringField(input, \"content\");\n return content ? [{ original: \"\", modified: content }] : [];\n }\n if (toolName === \"Edit\" || toolName === \"NotebookEdit\") {\n const original = stringField(input, \"old_string\", \"old_source\");\n const modified = stringField(input, \"new_string\", \"new_source\");\n return original || modified ? [{ original, modified }] : [];\n }\n if (toolName !== \"MultiEdit\" || !Array.isArray(input[\"edits\"])) return [];\n return input[\"edits\"].flatMap((edit) => {\n if (typeof edit !== \"object\" || edit === null || Array.isArray(edit))\n return [];\n const record = edit as Record<string, unknown>;\n const original = stringField(record, \"old_string\");\n const modified = stringField(record, \"new_string\");\n return original || modified ? [{ original, modified }] : [];\n });\n}\n\nexport function FileEditInput(ctx: ToolRenderAdapterContext): ReactNode {\n const input = inputRecord(ctx);\n if (!input) return ctx.defaultView;\n const path = stringField(input, \"file_path\", \"notebook_path\", \"path\");\n const patch =\n ctx.toolName === \"apply_patch\" ? stringField(input, \"patch\") : \"\";\n const segments = editSegments(ctx.toolName, input);\n if (!patch && segments.length === 0) return ctx.defaultView;\n const language = languageFromPath(path);\n return (\n <div data-slot=\"tool-render-file-edit\" className=\"space-y-1.5\">\n {path && (\n <div className=\"truncate font-mono text-[11px] text-muted-foreground\">\n {path}\n </div>\n )}\n {patch ? (\n <CodeBlock bare language=\"diff\" source={patch} />\n ) : (\n segments.map((segment, index) => (\n <CodeDiff\n key={index}\n bare\n showLineNumbers={false}\n original={segment.original}\n modified={segment.modified}\n {...(language ? { language } : {})}\n />\n ))\n )}\n <ExtraParams\n ctx={ctx}\n consumed={[\n \"file_path\",\n \"notebook_path\",\n \"path\",\n \"content\",\n \"old_string\",\n \"old_source\",\n \"new_string\",\n \"new_source\",\n \"edits\",\n \"patch\",\n ]}\n />\n </div>\n );\n}\n\nexport function PlanInput(ctx: ToolRenderAdapterContext): ReactNode {\n const input = inputRecord(ctx);\n if (!input) return ctx.defaultView;\n const key = Array.isArray(input[\"plan\"])\n ? \"plan\"\n : Array.isArray(input[\"todos\"])\n ? \"todos\"\n : \"\";\n if (!key) return ctx.defaultView;\n return (\n <div data-slot=\"tool-render-plan\" className=\"space-y-1.5\">\n <ExtraParams ctx={ctx} consumed={[key]} />\n <ToolValue\n value={input[key]}\n {...(ctx.options.maxRows !== undefined\n ? { maxRows: ctx.options.maxRows }\n : {})}\n />\n </div>\n );\n}\n\ntype Question = {\n heading: string;\n text: string;\n options: { label: string; description: string }[];\n};\n\nfunction questionFromValue(value: unknown): Question | null {\n if (typeof value === \"string\") {\n return value.trim()\n ? { heading: \"\", text: value.trim(), options: [] }\n : null;\n }\n if (typeof value !== \"object\" || value === null || Array.isArray(value))\n return null;\n const question = value as Record<string, unknown>;\n const text = stringField(question, \"question\", \"text\", \"prompt\", \"label\");\n if (!text) return null;\n const options = Array.isArray(question[\"options\"])\n ? question[\"options\"].flatMap((option) => {\n if (typeof option === \"string\") {\n return option ? [{ label: option, description: \"\" }] : [];\n }\n if (\n typeof option !== \"object\" ||\n option === null ||\n Array.isArray(option)\n )\n return [];\n const record = option as Record<string, unknown>;\n const label = stringField(record, \"label\", \"value\", \"id\");\n return label\n ? [{ label, description: stringField(record, \"description\") }]\n : [];\n })\n : [];\n return {\n heading: stringField(question, \"header\", \"context\", \"description\"),\n text,\n options,\n };\n}\n\nexport function QuestionInput(ctx: ToolRenderAdapterContext): ReactNode {\n const input = inputRecord(ctx);\n if (!input) return ctx.defaultView;\n const raw = Array.isArray(input[\"questions\"]) ? input[\"questions\"] : [input];\n const questions = raw\n .map(questionFromValue)\n .filter((question): question is Question => question !== null);\n if (questions.length === 0) return ctx.defaultView;\n return (\n <div data-slot=\"tool-render-question\" className=\"space-y-1.5\">\n {questions.map((question, index) => (\n <div\n key={`${question.text}-${index}`}\n className=\"rounded-md border border-sky-500/20 bg-sky-500/5 px-density-3 py-density-2\"\n >\n {question.heading && (\n <div className=\"text-[11px] font-medium uppercase text-muted-foreground\">\n {question.heading}\n </div>\n )}\n <div className=\"whitespace-pre-wrap break-words text-sm text-foreground\">\n {question.text}\n </div>\n {question.options.length > 0 && (\n <div className=\"mt-1.5 flex flex-wrap gap-1\">\n {question.options.map((option) => (\n <span\n key={option.label}\n className=\"rounded border border-border bg-background px-1.5 py-0.5 text-[11px] text-muted-foreground\"\n >\n <span className=\"font-medium text-foreground\">\n {option.label}\n </span>\n {option.description && (\n <span className=\"ml-1\">{option.description}</span>\n )}\n </span>\n ))}\n </div>\n )}\n </div>\n ))}\n </div>\n );\n}\n"],"names":["jsx","ToolParams","CodeBlock","jsxs","languageFromPath","CodeDiff","ToolValue"],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
import { ToolRenderAdapterContext } from './adapter';
|
|
3
|
+
export declare function ShellInput(ctx: ToolRenderAdapterContext): ReactNode;
|
|
4
|
+
export declare function ShellOutput(ctx: ToolRenderAdapterContext): ReactNode;
|
|
5
|
+
export declare function TextToolOutput(ctx: ToolRenderAdapterContext): ReactNode;
|
|
6
|
+
export declare function FileReadOutput(ctx: ToolRenderAdapterContext): ReactNode;
|
|
7
|
+
export declare function FileEditInput(ctx: ToolRenderAdapterContext): ReactNode;
|
|
8
|
+
export declare function PlanInput(ctx: ToolRenderAdapterContext): ReactNode;
|
|
9
|
+
export declare function QuestionInput(ctx: ToolRenderAdapterContext): ReactNode;
|
|
10
|
+
//# sourceMappingURL=known-tool-views.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"known-tool-views.d.ts","sourceRoot":"","sources":["../../../../src/data/chat/tool-render/known-tool-views.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAIvC,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC;AAwE1D,wBAAgB,UAAU,CAAC,GAAG,EAAE,wBAAwB,GAAG,SAAS,CAWnE;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,wBAAwB,GAAG,SAAS,CAEpE;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,wBAAwB,GAAG,SAAS,CAEvE;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,wBAAwB,GAAG,SAAS,CAYvE;AA+BD,wBAAgB,aAAa,CAAC,GAAG,EAAE,wBAAwB,GAAG,SAAS,CA+CtE;AAED,wBAAgB,SAAS,CAAC,GAAG,EAAE,wBAAwB,GAAG,SAAS,CAoBlE;AA4CD,wBAAgB,aAAa,CAAC,GAAG,EAAE,wBAAwB,GAAG,SAAS,CA4CtE"}
|
|
@@ -0,0 +1,208 @@
|
|
|
1
|
+
import { jsxs, jsx } from "react/jsx-runtime";
|
|
2
|
+
import { CodeBlock } from "../../CodeBlock.js";
|
|
3
|
+
import { CodeDiff } from "../../CodeDiff.js";
|
|
4
|
+
import { languageFromPath } from "../../code-highlight.js";
|
|
5
|
+
import { ToolParams } from "./ToolParams.js";
|
|
6
|
+
import { ToolValue } from "./ToolValue.js";
|
|
7
|
+
function inputRecord(ctx) {
|
|
8
|
+
return typeof ctx.input === "object" && ctx.input !== null && !Array.isArray(ctx.input) ? ctx.input : null;
|
|
9
|
+
}
|
|
10
|
+
function stringField(input, ...keys) {
|
|
11
|
+
for (const key of keys) {
|
|
12
|
+
const value = input[key];
|
|
13
|
+
if (typeof value === "string" && value !== "") return value;
|
|
14
|
+
}
|
|
15
|
+
return "";
|
|
16
|
+
}
|
|
17
|
+
function remainingInput(input, consumed) {
|
|
18
|
+
return Object.fromEntries(
|
|
19
|
+
Object.entries(input).filter(([key, value]) => {
|
|
20
|
+
return !consumed.includes(key) && value !== void 0 && value !== null && value !== "";
|
|
21
|
+
})
|
|
22
|
+
);
|
|
23
|
+
}
|
|
24
|
+
function ExtraParams({
|
|
25
|
+
ctx,
|
|
26
|
+
consumed
|
|
27
|
+
}) {
|
|
28
|
+
var _a;
|
|
29
|
+
const input = inputRecord(ctx);
|
|
30
|
+
if (!input) return null;
|
|
31
|
+
const remaining = remainingInput(input, consumed);
|
|
32
|
+
if (Object.keys(remaining).length === 0) return null;
|
|
33
|
+
return /* @__PURE__ */ jsx(
|
|
34
|
+
ToolParams,
|
|
35
|
+
{
|
|
36
|
+
input: remaining,
|
|
37
|
+
...((_a = ctx.tool) == null ? void 0 : _a.inputSchema) ? { schema: ctx.tool.inputSchema } : {}
|
|
38
|
+
}
|
|
39
|
+
);
|
|
40
|
+
}
|
|
41
|
+
function renderTextOutput(ctx, slot) {
|
|
42
|
+
if (typeof ctx.output !== "string") return ctx.defaultView;
|
|
43
|
+
return /* @__PURE__ */ jsx("div", { "data-slot": slot, children: /* @__PURE__ */ jsx(CodeBlock, { bare: true, language: "text", source: ctx.output }) });
|
|
44
|
+
}
|
|
45
|
+
function ShellInput(ctx) {
|
|
46
|
+
const input = inputRecord(ctx);
|
|
47
|
+
if (!input) return ctx.defaultView;
|
|
48
|
+
const command = stringField(input, "command", "cmd");
|
|
49
|
+
if (!command) return ctx.defaultView;
|
|
50
|
+
return /* @__PURE__ */ jsxs("div", { "data-slot": "tool-render-shell-input", className: "space-y-1.5", children: [
|
|
51
|
+
/* @__PURE__ */ jsx(CodeBlock, { bare: true, language: "bash", source: command }),
|
|
52
|
+
/* @__PURE__ */ jsx(ExtraParams, { ctx, consumed: ["command", "cmd"] })
|
|
53
|
+
] });
|
|
54
|
+
}
|
|
55
|
+
function ShellOutput(ctx) {
|
|
56
|
+
return renderTextOutput(ctx, "tool-render-shell-output");
|
|
57
|
+
}
|
|
58
|
+
function TextToolOutput(ctx) {
|
|
59
|
+
return renderTextOutput(ctx, "tool-render-text-output");
|
|
60
|
+
}
|
|
61
|
+
function FileReadOutput(ctx) {
|
|
62
|
+
if (typeof ctx.output !== "string") return ctx.defaultView;
|
|
63
|
+
const input = inputRecord(ctx);
|
|
64
|
+
const path = input ? stringField(input, "file_path", "notebook_path", "path") : "";
|
|
65
|
+
const language = languageFromPath(path);
|
|
66
|
+
return /* @__PURE__ */ jsx("div", { "data-slot": "tool-render-file-read", children: /* @__PURE__ */ jsx(CodeBlock, { bare: true, source: ctx.output, ...language ? { language } : {} }) });
|
|
67
|
+
}
|
|
68
|
+
function editSegments(toolName, input) {
|
|
69
|
+
if (toolName === "Write") {
|
|
70
|
+
const content = stringField(input, "content");
|
|
71
|
+
return content ? [{ original: "", modified: content }] : [];
|
|
72
|
+
}
|
|
73
|
+
if (toolName === "Edit" || toolName === "NotebookEdit") {
|
|
74
|
+
const original = stringField(input, "old_string", "old_source");
|
|
75
|
+
const modified = stringField(input, "new_string", "new_source");
|
|
76
|
+
return original || modified ? [{ original, modified }] : [];
|
|
77
|
+
}
|
|
78
|
+
if (toolName !== "MultiEdit" || !Array.isArray(input["edits"])) return [];
|
|
79
|
+
return input["edits"].flatMap((edit) => {
|
|
80
|
+
if (typeof edit !== "object" || edit === null || Array.isArray(edit))
|
|
81
|
+
return [];
|
|
82
|
+
const record = edit;
|
|
83
|
+
const original = stringField(record, "old_string");
|
|
84
|
+
const modified = stringField(record, "new_string");
|
|
85
|
+
return original || modified ? [{ original, modified }] : [];
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
function FileEditInput(ctx) {
|
|
89
|
+
const input = inputRecord(ctx);
|
|
90
|
+
if (!input) return ctx.defaultView;
|
|
91
|
+
const path = stringField(input, "file_path", "notebook_path", "path");
|
|
92
|
+
const patch = ctx.toolName === "apply_patch" ? stringField(input, "patch") : "";
|
|
93
|
+
const segments = editSegments(ctx.toolName, input);
|
|
94
|
+
if (!patch && segments.length === 0) return ctx.defaultView;
|
|
95
|
+
const language = languageFromPath(path);
|
|
96
|
+
return /* @__PURE__ */ jsxs("div", { "data-slot": "tool-render-file-edit", className: "space-y-1.5", children: [
|
|
97
|
+
path && /* @__PURE__ */ jsx("div", { className: "truncate font-mono text-[11px] text-muted-foreground", children: path }),
|
|
98
|
+
patch ? /* @__PURE__ */ jsx(CodeBlock, { bare: true, language: "diff", source: patch }) : segments.map((segment, index) => /* @__PURE__ */ jsx(
|
|
99
|
+
CodeDiff,
|
|
100
|
+
{
|
|
101
|
+
bare: true,
|
|
102
|
+
showLineNumbers: false,
|
|
103
|
+
original: segment.original,
|
|
104
|
+
modified: segment.modified,
|
|
105
|
+
...language ? { language } : {}
|
|
106
|
+
},
|
|
107
|
+
index
|
|
108
|
+
)),
|
|
109
|
+
/* @__PURE__ */ jsx(
|
|
110
|
+
ExtraParams,
|
|
111
|
+
{
|
|
112
|
+
ctx,
|
|
113
|
+
consumed: [
|
|
114
|
+
"file_path",
|
|
115
|
+
"notebook_path",
|
|
116
|
+
"path",
|
|
117
|
+
"content",
|
|
118
|
+
"old_string",
|
|
119
|
+
"old_source",
|
|
120
|
+
"new_string",
|
|
121
|
+
"new_source",
|
|
122
|
+
"edits",
|
|
123
|
+
"patch"
|
|
124
|
+
]
|
|
125
|
+
}
|
|
126
|
+
)
|
|
127
|
+
] });
|
|
128
|
+
}
|
|
129
|
+
function PlanInput(ctx) {
|
|
130
|
+
const input = inputRecord(ctx);
|
|
131
|
+
if (!input) return ctx.defaultView;
|
|
132
|
+
const key = Array.isArray(input["plan"]) ? "plan" : Array.isArray(input["todos"]) ? "todos" : "";
|
|
133
|
+
if (!key) return ctx.defaultView;
|
|
134
|
+
return /* @__PURE__ */ jsxs("div", { "data-slot": "tool-render-plan", className: "space-y-1.5", children: [
|
|
135
|
+
/* @__PURE__ */ jsx(ExtraParams, { ctx, consumed: [key] }),
|
|
136
|
+
/* @__PURE__ */ jsx(
|
|
137
|
+
ToolValue,
|
|
138
|
+
{
|
|
139
|
+
value: input[key],
|
|
140
|
+
...ctx.options.maxRows !== void 0 ? { maxRows: ctx.options.maxRows } : {}
|
|
141
|
+
}
|
|
142
|
+
)
|
|
143
|
+
] });
|
|
144
|
+
}
|
|
145
|
+
function questionFromValue(value) {
|
|
146
|
+
if (typeof value === "string") {
|
|
147
|
+
return value.trim() ? { heading: "", text: value.trim(), options: [] } : null;
|
|
148
|
+
}
|
|
149
|
+
if (typeof value !== "object" || value === null || Array.isArray(value))
|
|
150
|
+
return null;
|
|
151
|
+
const question = value;
|
|
152
|
+
const text = stringField(question, "question", "text", "prompt", "label");
|
|
153
|
+
if (!text) return null;
|
|
154
|
+
const options = Array.isArray(question["options"]) ? question["options"].flatMap((option) => {
|
|
155
|
+
if (typeof option === "string") {
|
|
156
|
+
return option ? [{ label: option, description: "" }] : [];
|
|
157
|
+
}
|
|
158
|
+
if (typeof option !== "object" || option === null || Array.isArray(option))
|
|
159
|
+
return [];
|
|
160
|
+
const record = option;
|
|
161
|
+
const label = stringField(record, "label", "value", "id");
|
|
162
|
+
return label ? [{ label, description: stringField(record, "description") }] : [];
|
|
163
|
+
}) : [];
|
|
164
|
+
return {
|
|
165
|
+
heading: stringField(question, "header", "context", "description"),
|
|
166
|
+
text,
|
|
167
|
+
options
|
|
168
|
+
};
|
|
169
|
+
}
|
|
170
|
+
function QuestionInput(ctx) {
|
|
171
|
+
const input = inputRecord(ctx);
|
|
172
|
+
if (!input) return ctx.defaultView;
|
|
173
|
+
const raw = Array.isArray(input["questions"]) ? input["questions"] : [input];
|
|
174
|
+
const questions = raw.map(questionFromValue).filter((question) => question !== null);
|
|
175
|
+
if (questions.length === 0) return ctx.defaultView;
|
|
176
|
+
return /* @__PURE__ */ jsx("div", { "data-slot": "tool-render-question", className: "space-y-1.5", children: questions.map((question, index) => /* @__PURE__ */ jsxs(
|
|
177
|
+
"div",
|
|
178
|
+
{
|
|
179
|
+
className: "rounded-md border border-sky-500/20 bg-sky-500/5 px-density-3 py-density-2",
|
|
180
|
+
children: [
|
|
181
|
+
question.heading && /* @__PURE__ */ jsx("div", { className: "text-[11px] font-medium uppercase text-muted-foreground", children: question.heading }),
|
|
182
|
+
/* @__PURE__ */ jsx("div", { className: "whitespace-pre-wrap break-words text-sm text-foreground", children: question.text }),
|
|
183
|
+
question.options.length > 0 && /* @__PURE__ */ jsx("div", { className: "mt-1.5 flex flex-wrap gap-1", children: question.options.map((option) => /* @__PURE__ */ jsxs(
|
|
184
|
+
"span",
|
|
185
|
+
{
|
|
186
|
+
className: "rounded border border-border bg-background px-1.5 py-0.5 text-[11px] text-muted-foreground",
|
|
187
|
+
children: [
|
|
188
|
+
/* @__PURE__ */ jsx("span", { className: "font-medium text-foreground", children: option.label }),
|
|
189
|
+
option.description && /* @__PURE__ */ jsx("span", { className: "ml-1", children: option.description })
|
|
190
|
+
]
|
|
191
|
+
},
|
|
192
|
+
option.label
|
|
193
|
+
)) })
|
|
194
|
+
]
|
|
195
|
+
},
|
|
196
|
+
`${question.text}-${index}`
|
|
197
|
+
)) });
|
|
198
|
+
}
|
|
199
|
+
export {
|
|
200
|
+
FileEditInput,
|
|
201
|
+
FileReadOutput,
|
|
202
|
+
PlanInput,
|
|
203
|
+
QuestionInput,
|
|
204
|
+
ShellInput,
|
|
205
|
+
ShellOutput,
|
|
206
|
+
TextToolOutput
|
|
207
|
+
};
|
|
208
|
+
//# sourceMappingURL=known-tool-views.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"known-tool-views.js","sources":["../../../../src/data/chat/tool-render/known-tool-views.tsx"],"sourcesContent":["import type { ReactNode } from \"react\";\nimport { CodeBlock } from \"../../CodeBlock\";\nimport { CodeDiff } from \"../../CodeDiff\";\nimport { languageFromPath } from \"../../code-highlight\";\nimport type { ToolRenderAdapterContext } from \"./adapter\";\nimport { ToolParams } from \"./ToolParams\";\nimport { ToolValue } from \"./ToolValue\";\n\nfunction inputRecord(\n ctx: ToolRenderAdapterContext,\n): Record<string, unknown> | null {\n return typeof ctx.input === \"object\" &&\n ctx.input !== null &&\n !Array.isArray(ctx.input)\n ? (ctx.input as Record<string, unknown>)\n : null;\n}\n\nfunction stringField(\n input: Record<string, unknown>,\n ...keys: string[]\n): string {\n for (const key of keys) {\n const value = input[key];\n if (typeof value === \"string\" && value !== \"\") return value;\n }\n return \"\";\n}\n\nfunction remainingInput(\n input: Record<string, unknown>,\n consumed: readonly string[],\n): Record<string, unknown> {\n return Object.fromEntries(\n Object.entries(input).filter(([key, value]) => {\n return (\n !consumed.includes(key) &&\n value !== undefined &&\n value !== null &&\n value !== \"\"\n );\n }),\n );\n}\n\nfunction ExtraParams({\n ctx,\n consumed,\n}: {\n ctx: ToolRenderAdapterContext;\n consumed: readonly string[];\n}): ReactNode {\n const input = inputRecord(ctx);\n if (!input) return null;\n const remaining = remainingInput(input, consumed);\n if (Object.keys(remaining).length === 0) return null;\n return (\n <ToolParams\n input={remaining}\n {...(ctx.tool?.inputSchema ? { schema: ctx.tool.inputSchema } : {})}\n />\n );\n}\n\nfunction renderTextOutput(\n ctx: ToolRenderAdapterContext,\n slot: string,\n): ReactNode {\n if (typeof ctx.output !== \"string\") return ctx.defaultView;\n return (\n <div data-slot={slot}>\n <CodeBlock bare language=\"text\" source={ctx.output} />\n </div>\n );\n}\n\nexport function ShellInput(ctx: ToolRenderAdapterContext): ReactNode {\n const input = inputRecord(ctx);\n if (!input) return ctx.defaultView;\n const command = stringField(input, \"command\", \"cmd\");\n if (!command) return ctx.defaultView;\n return (\n <div data-slot=\"tool-render-shell-input\" className=\"space-y-1.5\">\n <CodeBlock bare language=\"bash\" source={command} />\n <ExtraParams ctx={ctx} consumed={[\"command\", \"cmd\"]} />\n </div>\n );\n}\n\nexport function ShellOutput(ctx: ToolRenderAdapterContext): ReactNode {\n return renderTextOutput(ctx, \"tool-render-shell-output\");\n}\n\nexport function TextToolOutput(ctx: ToolRenderAdapterContext): ReactNode {\n return renderTextOutput(ctx, \"tool-render-text-output\");\n}\n\nexport function FileReadOutput(ctx: ToolRenderAdapterContext): ReactNode {\n if (typeof ctx.output !== \"string\") return ctx.defaultView;\n const input = inputRecord(ctx);\n const path = input\n ? stringField(input, \"file_path\", \"notebook_path\", \"path\")\n : \"\";\n const language = languageFromPath(path);\n return (\n <div data-slot=\"tool-render-file-read\">\n <CodeBlock bare source={ctx.output} {...(language ? { language } : {})} />\n </div>\n );\n}\n\ntype EditSegment = {\n original: string;\n modified: string;\n};\n\nfunction editSegments(\n toolName: string,\n input: Record<string, unknown>,\n): EditSegment[] {\n if (toolName === \"Write\") {\n const content = stringField(input, \"content\");\n return content ? [{ original: \"\", modified: content }] : [];\n }\n if (toolName === \"Edit\" || toolName === \"NotebookEdit\") {\n const original = stringField(input, \"old_string\", \"old_source\");\n const modified = stringField(input, \"new_string\", \"new_source\");\n return original || modified ? [{ original, modified }] : [];\n }\n if (toolName !== \"MultiEdit\" || !Array.isArray(input[\"edits\"])) return [];\n return input[\"edits\"].flatMap((edit) => {\n if (typeof edit !== \"object\" || edit === null || Array.isArray(edit))\n return [];\n const record = edit as Record<string, unknown>;\n const original = stringField(record, \"old_string\");\n const modified = stringField(record, \"new_string\");\n return original || modified ? [{ original, modified }] : [];\n });\n}\n\nexport function FileEditInput(ctx: ToolRenderAdapterContext): ReactNode {\n const input = inputRecord(ctx);\n if (!input) return ctx.defaultView;\n const path = stringField(input, \"file_path\", \"notebook_path\", \"path\");\n const patch =\n ctx.toolName === \"apply_patch\" ? stringField(input, \"patch\") : \"\";\n const segments = editSegments(ctx.toolName, input);\n if (!patch && segments.length === 0) return ctx.defaultView;\n const language = languageFromPath(path);\n return (\n <div data-slot=\"tool-render-file-edit\" className=\"space-y-1.5\">\n {path && (\n <div className=\"truncate font-mono text-[11px] text-muted-foreground\">\n {path}\n </div>\n )}\n {patch ? (\n <CodeBlock bare language=\"diff\" source={patch} />\n ) : (\n segments.map((segment, index) => (\n <CodeDiff\n key={index}\n bare\n showLineNumbers={false}\n original={segment.original}\n modified={segment.modified}\n {...(language ? { language } : {})}\n />\n ))\n )}\n <ExtraParams\n ctx={ctx}\n consumed={[\n \"file_path\",\n \"notebook_path\",\n \"path\",\n \"content\",\n \"old_string\",\n \"old_source\",\n \"new_string\",\n \"new_source\",\n \"edits\",\n \"patch\",\n ]}\n />\n </div>\n );\n}\n\nexport function PlanInput(ctx: ToolRenderAdapterContext): ReactNode {\n const input = inputRecord(ctx);\n if (!input) return ctx.defaultView;\n const key = Array.isArray(input[\"plan\"])\n ? \"plan\"\n : Array.isArray(input[\"todos\"])\n ? \"todos\"\n : \"\";\n if (!key) return ctx.defaultView;\n return (\n <div data-slot=\"tool-render-plan\" className=\"space-y-1.5\">\n <ExtraParams ctx={ctx} consumed={[key]} />\n <ToolValue\n value={input[key]}\n {...(ctx.options.maxRows !== undefined\n ? { maxRows: ctx.options.maxRows }\n : {})}\n />\n </div>\n );\n}\n\ntype Question = {\n heading: string;\n text: string;\n options: { label: string; description: string }[];\n};\n\nfunction questionFromValue(value: unknown): Question | null {\n if (typeof value === \"string\") {\n return value.trim()\n ? { heading: \"\", text: value.trim(), options: [] }\n : null;\n }\n if (typeof value !== \"object\" || value === null || Array.isArray(value))\n return null;\n const question = value as Record<string, unknown>;\n const text = stringField(question, \"question\", \"text\", \"prompt\", \"label\");\n if (!text) return null;\n const options = Array.isArray(question[\"options\"])\n ? question[\"options\"].flatMap((option) => {\n if (typeof option === \"string\") {\n return option ? [{ label: option, description: \"\" }] : [];\n }\n if (\n typeof option !== \"object\" ||\n option === null ||\n Array.isArray(option)\n )\n return [];\n const record = option as Record<string, unknown>;\n const label = stringField(record, \"label\", \"value\", \"id\");\n return label\n ? [{ label, description: stringField(record, \"description\") }]\n : [];\n })\n : [];\n return {\n heading: stringField(question, \"header\", \"context\", \"description\"),\n text,\n options,\n };\n}\n\nexport function QuestionInput(ctx: ToolRenderAdapterContext): ReactNode {\n const input = inputRecord(ctx);\n if (!input) return ctx.defaultView;\n const raw = Array.isArray(input[\"questions\"]) ? input[\"questions\"] : [input];\n const questions = raw\n .map(questionFromValue)\n .filter((question): question is Question => question !== null);\n if (questions.length === 0) return ctx.defaultView;\n return (\n <div data-slot=\"tool-render-question\" className=\"space-y-1.5\">\n {questions.map((question, index) => (\n <div\n key={`${question.text}-${index}`}\n className=\"rounded-md border border-sky-500/20 bg-sky-500/5 px-density-3 py-density-2\"\n >\n {question.heading && (\n <div className=\"text-[11px] font-medium uppercase text-muted-foreground\">\n {question.heading}\n </div>\n )}\n <div className=\"whitespace-pre-wrap break-words text-sm text-foreground\">\n {question.text}\n </div>\n {question.options.length > 0 && (\n <div className=\"mt-1.5 flex flex-wrap gap-1\">\n {question.options.map((option) => (\n <span\n key={option.label}\n className=\"rounded border border-border bg-background px-1.5 py-0.5 text-[11px] text-muted-foreground\"\n >\n <span className=\"font-medium text-foreground\">\n {option.label}\n </span>\n {option.description && (\n <span className=\"ml-1\">{option.description}</span>\n )}\n </span>\n ))}\n </div>\n )}\n </div>\n ))}\n </div>\n );\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const knownToolViews = require("./known-tool-views.cjs");
|
|
4
|
+
const SHELL_TOOLS = /* @__PURE__ */ new Set(["Bash", "exec_command", "run_command", "shell"]);
|
|
5
|
+
const FILE_READ_TOOLS = /* @__PURE__ */ new Set(["Read", "read_file"]);
|
|
6
|
+
const FILE_EDIT_TOOLS = /* @__PURE__ */ new Set([
|
|
7
|
+
"Write",
|
|
8
|
+
"Edit",
|
|
9
|
+
"MultiEdit",
|
|
10
|
+
"NotebookEdit",
|
|
11
|
+
"apply_patch"
|
|
12
|
+
]);
|
|
13
|
+
const PLAN_TOOLS = /* @__PURE__ */ new Set(["TodoWrite", "Plan", "update_plan"]);
|
|
14
|
+
const QUESTION_TOOLS = /* @__PURE__ */ new Set(["AskUserQuestion", "request_user_input"]);
|
|
15
|
+
const TEXT_OUTPUT_TOOLS = /* @__PURE__ */ new Set([
|
|
16
|
+
"Grep",
|
|
17
|
+
"Glob",
|
|
18
|
+
"ToolSearch",
|
|
19
|
+
"WebFetch",
|
|
20
|
+
"WebSearch",
|
|
21
|
+
"list_dir",
|
|
22
|
+
"web_search"
|
|
23
|
+
]);
|
|
24
|
+
const knownToolRenderAdapters = [
|
|
25
|
+
{
|
|
26
|
+
id: "clicky:shell",
|
|
27
|
+
match: (ctx) => SHELL_TOOLS.has(ctx.toolName),
|
|
28
|
+
renderInput: knownToolViews.ShellInput,
|
|
29
|
+
renderOutput: knownToolViews.ShellOutput
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
id: "clicky:file-read",
|
|
33
|
+
match: (ctx) => FILE_READ_TOOLS.has(ctx.toolName),
|
|
34
|
+
renderOutput: knownToolViews.FileReadOutput
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
id: "clicky:file-edit",
|
|
38
|
+
match: (ctx) => FILE_EDIT_TOOLS.has(ctx.toolName),
|
|
39
|
+
renderInput: knownToolViews.FileEditInput
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
id: "clicky:plan",
|
|
43
|
+
match: (ctx) => PLAN_TOOLS.has(ctx.toolName),
|
|
44
|
+
renderInput: knownToolViews.PlanInput
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
id: "clicky:question",
|
|
48
|
+
match: (ctx) => QUESTION_TOOLS.has(ctx.toolName),
|
|
49
|
+
renderInput: knownToolViews.QuestionInput
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
id: "clicky:text-output",
|
|
53
|
+
match: (ctx) => TEXT_OUTPUT_TOOLS.has(ctx.toolName),
|
|
54
|
+
renderOutput: knownToolViews.TextToolOutput
|
|
55
|
+
}
|
|
56
|
+
];
|
|
57
|
+
exports.knownToolRenderAdapters = knownToolRenderAdapters;
|
|
58
|
+
//# sourceMappingURL=known-tools.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"known-tools.cjs","sources":["../../../../src/data/chat/tool-render/known-tools.ts"],"sourcesContent":["import type { ToolRenderAdapter } from \"./adapter\";\nimport {\n FileEditInput,\n FileReadOutput,\n PlanInput,\n QuestionInput,\n ShellInput,\n ShellOutput,\n TextToolOutput,\n} from \"./known-tool-views\";\n\nconst SHELL_TOOLS = new Set([\"Bash\", \"exec_command\", \"run_command\", \"shell\"]);\nconst FILE_READ_TOOLS = new Set([\"Read\", \"read_file\"]);\nconst FILE_EDIT_TOOLS = new Set([\n \"Write\",\n \"Edit\",\n \"MultiEdit\",\n \"NotebookEdit\",\n \"apply_patch\",\n]);\nconst PLAN_TOOLS = new Set([\"TodoWrite\", \"Plan\", \"update_plan\"]);\nconst QUESTION_TOOLS = new Set([\"AskUserQuestion\", \"request_user_input\"]);\nconst TEXT_OUTPUT_TOOLS = new Set([\n \"Grep\",\n \"Glob\",\n \"ToolSearch\",\n \"WebFetch\",\n \"WebSearch\",\n \"list_dir\",\n \"web_search\",\n]);\n\n/** Standard renderers for common Claude/Codex coding-agent tools. */\nexport const knownToolRenderAdapters: ToolRenderAdapter[] = [\n {\n id: \"clicky:shell\",\n match: (ctx) => SHELL_TOOLS.has(ctx.toolName),\n renderInput: ShellInput,\n renderOutput: ShellOutput,\n },\n {\n id: \"clicky:file-read\",\n match: (ctx) => FILE_READ_TOOLS.has(ctx.toolName),\n renderOutput: FileReadOutput,\n },\n {\n id: \"clicky:file-edit\",\n match: (ctx) => FILE_EDIT_TOOLS.has(ctx.toolName),\n renderInput: FileEditInput,\n },\n {\n id: \"clicky:plan\",\n match: (ctx) => PLAN_TOOLS.has(ctx.toolName),\n renderInput: PlanInput,\n },\n {\n id: \"clicky:question\",\n match: (ctx) => QUESTION_TOOLS.has(ctx.toolName),\n renderInput: QuestionInput,\n },\n {\n id: \"clicky:text-output\",\n match: (ctx) => TEXT_OUTPUT_TOOLS.has(ctx.toolName),\n renderOutput: TextToolOutput,\n },\n];\n"],"names":["ShellInput","ShellOutput","FileReadOutput","FileEditInput","PlanInput","QuestionInput","TextToolOutput"],"mappings":";;;AAWA,MAAM,kCAAkB,IAAI,CAAC,QAAQ,gBAAgB,eAAe,OAAO,CAAC;AAC5E,MAAM,kBAAkB,oBAAI,IAAI,CAAC,QAAQ,WAAW,CAAC;AACrD,MAAM,sCAAsB,IAAI;AAAA,EAC9B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,CAAC;AACD,MAAM,aAAa,oBAAI,IAAI,CAAC,aAAa,QAAQ,aAAa,CAAC;AAC/D,MAAM,iBAAiB,oBAAI,IAAI,CAAC,mBAAmB,oBAAoB,CAAC;AACxE,MAAM,wCAAwB,IAAI;AAAA,EAChC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,CAAC;AAGM,MAAM,0BAA+C;AAAA,EAC1D;AAAA,IACE,IAAI;AAAA,IACJ,OAAO,CAAC,QAAQ,YAAY,IAAI,IAAI,QAAQ;AAAA,IAC5C,aAAaA,eAAAA;AAAAA,IACb,cAAcC,eAAAA;AAAAA,EAAA;AAAA,EAEhB;AAAA,IACE,IAAI;AAAA,IACJ,OAAO,CAAC,QAAQ,gBAAgB,IAAI,IAAI,QAAQ;AAAA,IAChD,cAAcC,eAAAA;AAAAA,EAAA;AAAA,EAEhB;AAAA,IACE,IAAI;AAAA,IACJ,OAAO,CAAC,QAAQ,gBAAgB,IAAI,IAAI,QAAQ;AAAA,IAChD,aAAaC,eAAAA;AAAAA,EAAA;AAAA,EAEf;AAAA,IACE,IAAI;AAAA,IACJ,OAAO,CAAC,QAAQ,WAAW,IAAI,IAAI,QAAQ;AAAA,IAC3C,aAAaC,eAAAA;AAAAA,EAAA;AAAA,EAEf;AAAA,IACE,IAAI;AAAA,IACJ,OAAO,CAAC,QAAQ,eAAe,IAAI,IAAI,QAAQ;AAAA,IAC/C,aAAaC,eAAAA;AAAAA,EAAA;AAAA,EAEf;AAAA,IACE,IAAI;AAAA,IACJ,OAAO,CAAC,QAAQ,kBAAkB,IAAI,IAAI,QAAQ;AAAA,IAClD,cAAcC,eAAAA;AAAAA,EAAA;AAElB;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"known-tools.d.ts","sourceRoot":"","sources":["../../../../src/data/chat/tool-render/known-tools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAgCnD,qEAAqE;AACrE,eAAO,MAAM,uBAAuB,EAAE,iBAAiB,EAgCtD,CAAC"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { ShellOutput, ShellInput, FileReadOutput, FileEditInput, PlanInput, QuestionInput, TextToolOutput } from "./known-tool-views.js";
|
|
2
|
+
const SHELL_TOOLS = /* @__PURE__ */ new Set(["Bash", "exec_command", "run_command", "shell"]);
|
|
3
|
+
const FILE_READ_TOOLS = /* @__PURE__ */ new Set(["Read", "read_file"]);
|
|
4
|
+
const FILE_EDIT_TOOLS = /* @__PURE__ */ new Set([
|
|
5
|
+
"Write",
|
|
6
|
+
"Edit",
|
|
7
|
+
"MultiEdit",
|
|
8
|
+
"NotebookEdit",
|
|
9
|
+
"apply_patch"
|
|
10
|
+
]);
|
|
11
|
+
const PLAN_TOOLS = /* @__PURE__ */ new Set(["TodoWrite", "Plan", "update_plan"]);
|
|
12
|
+
const QUESTION_TOOLS = /* @__PURE__ */ new Set(["AskUserQuestion", "request_user_input"]);
|
|
13
|
+
const TEXT_OUTPUT_TOOLS = /* @__PURE__ */ new Set([
|
|
14
|
+
"Grep",
|
|
15
|
+
"Glob",
|
|
16
|
+
"ToolSearch",
|
|
17
|
+
"WebFetch",
|
|
18
|
+
"WebSearch",
|
|
19
|
+
"list_dir",
|
|
20
|
+
"web_search"
|
|
21
|
+
]);
|
|
22
|
+
const knownToolRenderAdapters = [
|
|
23
|
+
{
|
|
24
|
+
id: "clicky:shell",
|
|
25
|
+
match: (ctx) => SHELL_TOOLS.has(ctx.toolName),
|
|
26
|
+
renderInput: ShellInput,
|
|
27
|
+
renderOutput: ShellOutput
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
id: "clicky:file-read",
|
|
31
|
+
match: (ctx) => FILE_READ_TOOLS.has(ctx.toolName),
|
|
32
|
+
renderOutput: FileReadOutput
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
id: "clicky:file-edit",
|
|
36
|
+
match: (ctx) => FILE_EDIT_TOOLS.has(ctx.toolName),
|
|
37
|
+
renderInput: FileEditInput
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
id: "clicky:plan",
|
|
41
|
+
match: (ctx) => PLAN_TOOLS.has(ctx.toolName),
|
|
42
|
+
renderInput: PlanInput
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
id: "clicky:question",
|
|
46
|
+
match: (ctx) => QUESTION_TOOLS.has(ctx.toolName),
|
|
47
|
+
renderInput: QuestionInput
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
id: "clicky:text-output",
|
|
51
|
+
match: (ctx) => TEXT_OUTPUT_TOOLS.has(ctx.toolName),
|
|
52
|
+
renderOutput: TextToolOutput
|
|
53
|
+
}
|
|
54
|
+
];
|
|
55
|
+
export {
|
|
56
|
+
knownToolRenderAdapters
|
|
57
|
+
};
|
|
58
|
+
//# sourceMappingURL=known-tools.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"known-tools.js","sources":["../../../../src/data/chat/tool-render/known-tools.ts"],"sourcesContent":["import type { ToolRenderAdapter } from \"./adapter\";\nimport {\n FileEditInput,\n FileReadOutput,\n PlanInput,\n QuestionInput,\n ShellInput,\n ShellOutput,\n TextToolOutput,\n} from \"./known-tool-views\";\n\nconst SHELL_TOOLS = new Set([\"Bash\", \"exec_command\", \"run_command\", \"shell\"]);\nconst FILE_READ_TOOLS = new Set([\"Read\", \"read_file\"]);\nconst FILE_EDIT_TOOLS = new Set([\n \"Write\",\n \"Edit\",\n \"MultiEdit\",\n \"NotebookEdit\",\n \"apply_patch\",\n]);\nconst PLAN_TOOLS = new Set([\"TodoWrite\", \"Plan\", \"update_plan\"]);\nconst QUESTION_TOOLS = new Set([\"AskUserQuestion\", \"request_user_input\"]);\nconst TEXT_OUTPUT_TOOLS = new Set([\n \"Grep\",\n \"Glob\",\n \"ToolSearch\",\n \"WebFetch\",\n \"WebSearch\",\n \"list_dir\",\n \"web_search\",\n]);\n\n/** Standard renderers for common Claude/Codex coding-agent tools. */\nexport const knownToolRenderAdapters: ToolRenderAdapter[] = [\n {\n id: \"clicky:shell\",\n match: (ctx) => SHELL_TOOLS.has(ctx.toolName),\n renderInput: ShellInput,\n renderOutput: ShellOutput,\n },\n {\n id: \"clicky:file-read\",\n match: (ctx) => FILE_READ_TOOLS.has(ctx.toolName),\n renderOutput: FileReadOutput,\n },\n {\n id: \"clicky:file-edit\",\n match: (ctx) => FILE_EDIT_TOOLS.has(ctx.toolName),\n renderInput: FileEditInput,\n },\n {\n id: \"clicky:plan\",\n match: (ctx) => PLAN_TOOLS.has(ctx.toolName),\n renderInput: PlanInput,\n },\n {\n id: \"clicky:question\",\n match: (ctx) => QUESTION_TOOLS.has(ctx.toolName),\n renderInput: QuestionInput,\n },\n {\n id: \"clicky:text-output\",\n match: (ctx) => TEXT_OUTPUT_TOOLS.has(ctx.toolName),\n renderOutput: TextToolOutput,\n },\n];\n"],"names":[],"mappings":";AAWA,MAAM,kCAAkB,IAAI,CAAC,QAAQ,gBAAgB,eAAe,OAAO,CAAC;AAC5E,MAAM,kBAAkB,oBAAI,IAAI,CAAC,QAAQ,WAAW,CAAC;AACrD,MAAM,sCAAsB,IAAI;AAAA,EAC9B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,CAAC;AACD,MAAM,aAAa,oBAAI,IAAI,CAAC,aAAa,QAAQ,aAAa,CAAC;AAC/D,MAAM,iBAAiB,oBAAI,IAAI,CAAC,mBAAmB,oBAAoB,CAAC;AACxE,MAAM,wCAAwB,IAAI;AAAA,EAChC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,CAAC;AAGM,MAAM,0BAA+C;AAAA,EAC1D;AAAA,IACE,IAAI;AAAA,IACJ,OAAO,CAAC,QAAQ,YAAY,IAAI,IAAI,QAAQ;AAAA,IAC5C,aAAa;AAAA,IACb,cAAc;AAAA,EAAA;AAAA,EAEhB;AAAA,IACE,IAAI;AAAA,IACJ,OAAO,CAAC,QAAQ,gBAAgB,IAAI,IAAI,QAAQ;AAAA,IAChD,cAAc;AAAA,EAAA;AAAA,EAEhB;AAAA,IACE,IAAI;AAAA,IACJ,OAAO,CAAC,QAAQ,gBAAgB,IAAI,IAAI,QAAQ;AAAA,IAChD,aAAa;AAAA,EAAA;AAAA,EAEf;AAAA,IACE,IAAI;AAAA,IACJ,OAAO,CAAC,QAAQ,WAAW,IAAI,IAAI,QAAQ;AAAA,IAC3C,aAAa;AAAA,EAAA;AAAA,EAEf;AAAA,IACE,IAAI;AAAA,IACJ,OAAO,CAAC,QAAQ,eAAe,IAAI,IAAI,QAAQ;AAAA,IAC/C,aAAa;AAAA,EAAA;AAAA,EAEf;AAAA,IACE,IAAI;AAAA,IACJ,OAAO,CAAC,QAAQ,kBAAkB,IAAI,IAAI,QAAQ;AAAA,IAClD,cAAc;AAAA,EAAA;AAElB;"}
|