@flanksource/clicky-ui 0.3.28 → 0.3.30
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ai.cjs +48 -3
- package/dist/ai.cjs.map +1 -1
- package/dist/ai.js +46 -1
- package/dist/ai.js.map +1 -1
- package/dist/comments/CommentAuthor.d.ts +1 -1
- package/dist/comments/CommentAuthor.d.ts.map +1 -1
- package/dist/comments/CommentCard.d.ts +2 -2
- package/dist/comments/CommentCard.d.ts.map +1 -1
- package/dist/comments/CommentComposer.d.ts +1 -1
- package/dist/comments/CommentComposer.d.ts.map +1 -1
- package/dist/comments/CommentFilterBar.d.ts +1 -1
- package/dist/comments/CommentFilterBar.d.ts.map +1 -1
- package/dist/comments/CommentMarkdown.d.ts +1 -1
- package/dist/comments/CommentMarkdown.d.ts.map +1 -1
- package/dist/comments/CommentProgress.d.ts +1 -1
- package/dist/comments/CommentProgress.d.ts.map +1 -1
- package/dist/comments/CommentProvider.d.ts +2 -2
- package/dist/comments/CommentProvider.d.ts.map +1 -1
- package/dist/comments/CommentSidePanel.d.ts +1 -1
- package/dist/comments/CommentSidePanel.d.ts.map +1 -1
- package/dist/comments/CommentThread.d.ts +2 -2
- package/dist/comments/CommentThread.d.ts.map +1 -1
- package/dist/comments/CommentThreadList.d.ts +2 -2
- package/dist/comments/CommentThreadList.d.ts.map +1 -1
- package/dist/comments/GroupedComments.d.ts +1 -1
- package/dist/comments/GroupedComments.d.ts.map +1 -1
- package/dist/comments/MentionTextarea.d.ts +1 -1
- package/dist/comments/comment-context.d.ts +4 -4
- package/dist/comments/comment-fixtures.d.ts +1 -1
- package/dist/comments/comment-types.d.ts +1 -1
- package/dist/components/AccordionList.d.ts +2 -2
- package/dist/components/AccordionList.d.ts.map +1 -1
- package/dist/components/Combobox.cjs +6 -6
- package/dist/components/Combobox.cjs.map +1 -1
- package/dist/components/Combobox.d.ts +1 -1
- package/dist/components/Combobox.d.ts.map +1 -1
- package/dist/components/Combobox.js +2 -2
- package/dist/components/Combobox.js.map +1 -1
- package/dist/components/ComboboxActions.d.ts +1 -1
- package/dist/components/ComboboxActions.d.ts.map +1 -1
- package/dist/components/ComboboxControl.cjs +3 -2
- package/dist/components/ComboboxControl.cjs.map +1 -1
- package/dist/components/ComboboxControl.d.ts +5 -5
- package/dist/components/ComboboxControl.d.ts.map +1 -1
- package/dist/components/ComboboxControl.js +2 -1
- package/dist/components/ComboboxControl.js.map +1 -1
- package/dist/components/ComboboxMenu.cjs +154 -134
- package/dist/components/ComboboxMenu.cjs.map +1 -1
- package/dist/components/ComboboxMenu.d.ts +4 -4
- package/dist/components/ComboboxMenu.d.ts.map +1 -1
- package/dist/components/ComboboxMenu.js +154 -134
- package/dist/components/ComboboxMenu.js.map +1 -1
- package/dist/components/ComboboxTags.d.ts +1 -1
- package/dist/components/ComboboxTags.d.ts.map +1 -1
- package/dist/components/ConnectionLoggingPolicy.d.ts +1 -1
- package/dist/components/ConnectionLoggingPolicy.d.ts.map +1 -1
- package/dist/components/CopyButton.d.ts +1 -1
- package/dist/components/CopyButton.d.ts.map +1 -1
- package/dist/components/CountryFlag.d.ts +1 -1
- package/dist/components/CountryFlag.d.ts.map +1 -1
- package/dist/components/CountryPicker.d.ts +1 -1
- package/dist/components/CountryPicker.d.ts.map +1 -1
- package/dist/components/DaemonSetIcon.d.ts +1 -1
- package/dist/components/DaemonSetIcon.d.ts.map +1 -1
- package/dist/components/DateField.d.ts +3 -3
- package/dist/components/DatePicker.d.ts +3 -3
- package/dist/components/DateTimePicker.d.ts +3 -3
- package/dist/components/DimensionField.d.ts +1 -1
- package/dist/components/DimensionField.d.ts.map +1 -1
- package/dist/components/EndpointSelector.d.ts +1 -1
- package/dist/components/EndpointSelector.d.ts.map +1 -1
- package/dist/components/ErrorWrapper.d.ts +2 -2
- package/dist/components/Field.d.ts +2 -2
- package/dist/components/Field.d.ts.map +1 -1
- package/dist/components/FilterBar.cjs +100 -85
- package/dist/components/FilterBar.cjs.map +1 -1
- package/dist/components/FilterBar.d.ts +4 -4
- package/dist/components/FilterBar.d.ts.map +1 -1
- package/dist/components/FilterBar.js +101 -86
- package/dist/components/FilterBar.js.map +1 -1
- package/dist/components/FormLookupProvider.d.ts +2 -2
- package/dist/components/FormLookupProvider.d.ts.map +1 -1
- package/dist/components/FormatOptionsDropdown.d.ts +2 -2
- package/dist/components/FormatOptionsDropdown.d.ts.map +1 -1
- package/dist/components/IconButton.d.ts +3 -3
- package/dist/components/InputField.d.ts +2 -2
- package/dist/components/ItemActions.d.ts +2 -2
- package/dist/components/ItemActions.d.ts.map +1 -1
- package/dist/components/JSONPathField.d.ts +1 -1
- package/dist/components/JSONPathField.d.ts.map +1 -1
- package/dist/components/JSONPathPlayground.d.ts +1 -1
- package/dist/components/JSONPathPlayground.d.ts.map +1 -1
- package/dist/components/JsonSchemaForm.d.ts +1 -1
- package/dist/components/JsonSchemaForm.d.ts.map +1 -1
- package/dist/components/ListMenu.d.ts +6 -6
- package/dist/components/ListMenu.d.ts.map +1 -1
- package/dist/components/MdxEditorCallout.d.ts +2 -2
- package/dist/components/MdxEditorCallout.d.ts.map +1 -1
- package/dist/components/MdxEditorField.d.ts +1 -1
- package/dist/components/MdxEditorField.d.ts.map +1 -1
- package/dist/components/MdxEditorToolbar.d.ts +1 -1
- package/dist/components/MdxEditorToolbar.d.ts.map +1 -1
- package/dist/components/MultiSelect.d.ts +2 -2
- package/dist/components/MultiSelect.d.ts.map +1 -1
- package/dist/components/NamespacePicker.d.ts +1 -1
- package/dist/components/NamespacePicker.d.ts.map +1 -1
- package/dist/components/OnePasswordSelector.d.ts +1 -1
- package/dist/components/OnePasswordSelector.d.ts.map +1 -1
- package/dist/components/RangeSlider.d.ts +1 -1
- package/dist/components/RangeSlider.d.ts.map +1 -1
- package/dist/components/SearchInput.d.ts +2 -2
- package/dist/components/SearchInput.d.ts.map +1 -1
- package/dist/components/SecretFormField.d.ts +1 -1
- package/dist/components/SecretFormField.d.ts.map +1 -1
- package/dist/components/SecretKeySelector.d.ts +1 -1
- package/dist/components/SecretKeySelector.d.ts.map +1 -1
- package/dist/components/SegmentedControl.d.ts +2 -2
- package/dist/components/SegmentedControl.d.ts.map +1 -1
- package/dist/components/SplitButton.d.ts +2 -2
- package/dist/components/SplitButton.d.ts.map +1 -1
- package/dist/components/Switch.d.ts +2 -2
- package/dist/components/Switch.d.ts.map +1 -1
- package/dist/components/TimeRange.d.ts +1 -1
- package/dist/components/TimeRange.d.ts.map +1 -1
- package/dist/components/TreePickerField.d.ts +2 -2
- package/dist/components/TreePickerField.d.ts.map +1 -1
- package/dist/components/TriStateToggle.d.ts +1 -1
- package/dist/components/TriStateToggle.d.ts.map +1 -1
- package/dist/components/UnitStepControls.d.ts +2 -2
- package/dist/components/UnitStepControls.d.ts.map +1 -1
- package/dist/components/WorkloadPicker.d.ts +1 -1
- package/dist/components/WorkloadPicker.d.ts.map +1 -1
- package/dist/components/button.d.ts +3 -3
- package/dist/components/combobox-types.d.ts +1 -1
- package/dist/components/density-switcher.d.ts +1 -1
- package/dist/components/filter-bar-context.d.ts +1 -1
- package/dist/components/filter-bar-field-utils.d.ts +2 -2
- package/dist/components/filter-bar-field-utils.js +1 -1
- package/dist/components/filter-bar-multi.d.ts +3 -3
- package/dist/components/filter-bar-multi.d.ts.map +1 -1
- package/dist/components/form-lookup-context.d.ts +1 -1
- package/dist/components/icon-menu-picker.cjs.map +1 -1
- package/dist/components/icon-menu-picker.d.ts +2 -2
- package/dist/components/icon-menu-picker.d.ts.map +1 -1
- package/dist/components/icon-menu-picker.js.map +1 -1
- package/dist/components/jotai-bindings.d.ts +2 -2
- package/dist/components/jotai-bindings.d.ts.map +1 -1
- package/dist/components/json-schema-form-accordion-array.d.ts +1 -1
- package/dist/components/json-schema-form-accordion-array.d.ts.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-cards-array.d.ts +1 -1
- package/dist/components/json-schema-form-cards-array.d.ts.map +1 -1
- package/dist/components/json-schema-form-discriminator.d.ts +1 -1
- package/dist/components/json-schema-form-error-display.d.ts +3 -3
- package/dist/components/json-schema-form-error-display.d.ts.map +1 -1
- package/dist/components/json-schema-form-extensions.d.ts +1 -1
- package/dist/components/json-schema-form-fields.d.ts +12 -12
- package/dist/components/json-schema-form-fields.d.ts.map +1 -1
- package/dist/components/json-schema-form-grid.d.ts +1 -1
- package/dist/components/json-schema-form-grid.d.ts.map +1 -1
- package/dist/components/json-schema-form-item-row.d.ts +4 -4
- package/dist/components/json-schema-form-item-row.d.ts.map +1 -1
- package/dist/components/json-schema-form-layout.d.ts +6 -6
- package/dist/components/json-schema-form-layout.d.ts.map +1 -1
- package/dist/components/json-schema-form-list-array.d.ts +1 -1
- package/dist/components/json-schema-form-list-array.d.ts.map +1 -1
- package/dist/components/json-schema-form-lookup-tree.d.ts +1 -1
- package/dist/components/json-schema-form-lookup-tree.d.ts.map +1 -1
- package/dist/components/json-schema-form-object.d.ts +2 -2
- package/dist/components/json-schema-form-object.d.ts.map +1 -1
- package/dist/components/json-schema-form-render.d.ts +1 -1
- package/dist/components/json-schema-form-table-array.d.ts +1 -1
- package/dist/components/json-schema-form-table-array.d.ts.map +1 -1
- package/dist/components/json-schema-form-tags-combobox.cjs +2 -2
- package/dist/components/json-schema-form-tags-combobox.cjs.map +1 -1
- package/dist/components/json-schema-form-tags-combobox.d.ts +1 -1
- package/dist/components/json-schema-form-tags-combobox.d.ts.map +1 -1
- package/dist/components/json-schema-form-tags-combobox.js +1 -1
- package/dist/components/json-schema-form-tags-combobox.js.map +1 -1
- package/dist/components/json-schema-form-template-menu.d.ts +2 -2
- package/dist/components/json-schema-form-template-menu.d.ts.map +1 -1
- package/dist/components/json-schema-form-template.d.ts +1 -1
- package/dist/components/json-schema-form-types.d.ts +1 -1
- package/dist/components/loading.d.ts +4 -4
- package/dist/components/mdx-editor-callout-model.d.ts +1 -1
- package/dist/components/mdx-editor-callout.d.ts +1 -1
- package/dist/components/mdx-editor-options.d.ts +1 -1
- package/dist/components/select.d.ts +3 -3
- package/dist/components/theme-switcher.d.ts +1 -1
- package/dist/components/use-list-menu-selection.d.ts +1 -1
- package/dist/components/useComboboxLayout.cjs +37 -27
- package/dist/components/useComboboxLayout.cjs.map +1 -1
- package/dist/components/useComboboxLayout.d.ts +4 -4
- package/dist/components/useComboboxLayout.d.ts.map +1 -1
- package/dist/components/useComboboxLayout.js +38 -28
- package/dist/components/useComboboxLayout.js.map +1 -1
- package/dist/components/workload-picker-utils.d.ts +1 -1
- package/dist/components.d.ts +1 -0
- package/dist/components.d.ts.map +1 -1
- package/dist/data/AnsiHtml.d.ts +1 -1
- package/dist/data/AnsiHtml.d.ts.map +1 -1
- package/dist/data/Avatar.d.ts +2 -2
- package/dist/data/Avatar.d.ts.map +1 -1
- package/dist/data/AvatarBadge.d.ts +2 -2
- package/dist/data/AvatarBadge.d.ts.map +1 -1
- package/dist/data/Badge.d.ts +2 -2
- package/dist/data/Badge.d.ts.map +1 -1
- package/dist/data/Callout.d.ts +2 -2
- package/dist/data/Callout.d.ts.map +1 -1
- package/dist/data/Clicky.d.ts +3 -3
- package/dist/data/Clicky.d.ts.map +1 -1
- package/dist/data/CodeBlock.cjs +1 -1
- package/dist/data/CodeBlock.cjs.map +1 -1
- package/dist/data/CodeBlock.d.ts +1 -1
- package/dist/data/CodeBlock.d.ts.map +1 -1
- package/dist/data/CodeBlock.js +1 -1
- package/dist/data/CodeBlock.js.map +1 -1
- package/dist/data/CodeDiff.d.ts +1 -1
- package/dist/data/CodeDiff.d.ts.map +1 -1
- package/dist/data/DataTable.cjs +63 -27
- package/dist/data/DataTable.cjs.map +1 -1
- package/dist/data/DataTable.d.ts +11 -2
- package/dist/data/DataTable.d.ts.map +1 -1
- package/dist/data/DataTable.grouping.d.ts +1 -1
- package/dist/data/DataTable.js +63 -27
- package/dist/data/DataTable.js.map +1 -1
- package/dist/data/DataTableGroupingControls.d.ts +1 -1
- package/dist/data/DataTableGroupingControls.d.ts.map +1 -1
- package/dist/data/ExecutionTree.d.ts +2 -2
- package/dist/data/ExecutionTree.d.ts.map +1 -1
- package/dist/data/FilterPill.d.ts +4 -4
- package/dist/data/FilterPill.d.ts.map +1 -1
- package/dist/data/FixtureEditor/FenceForm.d.ts +1 -1
- package/dist/data/FixtureEditor/FenceForm.d.ts.map +1 -1
- package/dist/data/FixtureEditor/FixtureEditor.d.ts +1 -1
- package/dist/data/FixtureEditor/FixtureEditor.d.ts.map +1 -1
- package/dist/data/FixtureEditor/FixtureFenceCodeBlockEditor.d.ts +1 -1
- package/dist/data/FixtureEditor/FixtureFenceCodeBlockEditor.d.ts.map +1 -1
- package/dist/data/FixtureEditor/FixtureFrontmatterDialog.d.ts +1 -1
- package/dist/data/FixtureEditor/FixtureFrontmatterDialog.d.ts.map +1 -1
- package/dist/data/FixtureEditor/RawFenceEditor.d.ts +2 -2
- package/dist/data/FixtureEditor/RawFenceEditor.d.ts.map +1 -1
- package/dist/data/FixtureEditor/types.d.ts +1 -1
- package/dist/data/Gauge.d.ts +2 -2
- package/dist/data/Gauge.d.ts.map +1 -1
- package/dist/data/GaugeHoverCard.d.ts +2 -2
- package/dist/data/GaugeHoverCard.d.ts.map +1 -1
- package/dist/data/HighlightedTokens.d.ts +1 -1
- package/dist/data/HighlightedTokens.d.ts.map +1 -1
- package/dist/data/Icon.cjs.map +1 -1
- package/dist/data/Icon.d.ts +3 -3
- package/dist/data/Icon.d.ts.map +1 -1
- package/dist/data/Icon.js.map +1 -1
- package/dist/data/JsonView.d.ts +1 -1
- package/dist/data/JsonView.d.ts.map +1 -1
- package/dist/data/KeyValueList.d.ts +2 -2
- package/dist/data/KeyValueList.d.ts.map +1 -1
- package/dist/data/LogDetails.d.ts +1 -1
- package/dist/data/LogDetails.d.ts.map +1 -1
- package/dist/data/LogViewer.d.ts +1 -1
- package/dist/data/LogViewer.d.ts.map +1 -1
- package/dist/data/LogsTable.d.ts +1 -1
- package/dist/data/LogsTable.d.ts.map +1 -1
- package/dist/data/Markdown.d.ts +1 -1
- package/dist/data/Markdown.d.ts.map +1 -1
- package/dist/data/MarkdownEditor.d.ts +2 -2
- package/dist/data/MarkdownEditor.d.ts.map +1 -1
- package/dist/data/MarkdownEditor.model.d.ts +1 -1
- package/dist/data/MatrixTable.d.ts +2 -2
- package/dist/data/MatrixTable.d.ts.map +1 -1
- package/dist/data/MethodBadge.d.ts +1 -1
- package/dist/data/MethodBadge.d.ts.map +1 -1
- package/dist/data/ObjectGraph.d.ts +2 -2
- package/dist/data/ObjectGraph.d.ts.map +1 -1
- package/dist/data/ProgressBar.d.ts +1 -1
- package/dist/data/ProgressBar.d.ts.map +1 -1
- package/dist/data/ProgressBars.d.ts +2 -2
- package/dist/data/ProgressBars.d.ts.map +1 -1
- package/dist/data/PromptBanner.d.ts +1 -1
- package/dist/data/PromptBanner.d.ts.map +1 -1
- package/dist/data/PromptDialog.d.ts +1 -1
- package/dist/data/PromptDialog.d.ts.map +1 -1
- package/dist/data/Properties.d.ts +2 -2
- package/dist/data/Properties.d.ts.map +1 -1
- package/dist/data/RadialGauge.d.ts +2 -2
- package/dist/data/RadialGauge.d.ts.map +1 -1
- package/dist/data/SchemaViewer.d.ts +4 -4
- package/dist/data/SchemaViewer.d.ts.map +1 -1
- package/dist/data/SelectionActionBar.cjs +7 -7
- package/dist/data/SelectionActionBar.cjs.map +1 -1
- package/dist/data/SelectionActionBar.d.ts +1 -1
- package/dist/data/SelectionActionBar.d.ts.map +1 -1
- package/dist/data/SelectionActionBar.js +7 -7
- package/dist/data/SelectionActionBar.js.map +1 -1
- package/dist/data/ServerTimingBadge.d.ts +1 -1
- package/dist/data/ServerTimingBadge.d.ts.map +1 -1
- package/dist/data/SignedDeltaBar.d.ts +1 -1
- package/dist/data/SignedDeltaBar.d.ts.map +1 -1
- package/dist/data/SortableHeader.d.ts +2 -2
- package/dist/data/SortableHeader.d.ts.map +1 -1
- package/dist/data/StatStrip.d.ts +2 -2
- package/dist/data/StatStrip.d.ts.map +1 -1
- package/dist/data/StatusBreakdown.d.ts +3 -3
- package/dist/data/StatusBreakdown.d.ts.map +1 -1
- package/dist/data/TabButton.d.ts +2 -2
- package/dist/data/TabButton.d.ts.map +1 -1
- package/dist/data/TaskExecDetails.d.ts +2 -2
- package/dist/data/TaskExecDetails.d.ts.map +1 -1
- package/dist/data/TaskManager.d.ts +1 -1
- package/dist/data/TaskManager.d.ts.map +1 -1
- package/dist/data/TaskManagerButton.d.ts +1 -1
- package/dist/data/TaskManagerButton.d.ts.map +1 -1
- package/dist/data/TaskProcessDetails.d.ts +1 -1
- package/dist/data/TaskProcessDetails.d.ts.map +1 -1
- package/dist/data/TaskProgress.d.ts +1 -1
- package/dist/data/TaskProgress.d.ts.map +1 -1
- package/dist/data/Timeline.d.ts +2 -2
- package/dist/data/Timeline.d.ts.map +1 -1
- package/dist/data/TimeseriesCoreBars.d.ts +1 -1
- package/dist/data/TimeseriesCoreBars.d.ts.map +1 -1
- package/dist/data/TimeseriesGauge.d.ts +1 -1
- package/dist/data/TimeseriesGauge.d.ts.map +1 -1
- package/dist/data/TimeseriesPanel.d.ts +1 -1
- package/dist/data/TimeseriesPanel.d.ts.map +1 -1
- package/dist/data/Tree.d.ts +2 -2
- package/dist/data/Tree.d.ts.map +1 -1
- package/dist/data/TreeGroupHeader.d.ts +2 -2
- package/dist/data/TreeGroupHeader.d.ts.map +1 -1
- package/dist/data/TreeNode.d.ts +2 -2
- package/dist/data/TreeNode.d.ts.map +1 -1
- package/dist/data/Version.d.ts +3 -3
- package/dist/data/WorkloadCard.d.ts +1 -1
- package/dist/data/WorkloadCard.d.ts.map +1 -1
- package/dist/data/ai/AdvancedChatConfig.d.ts +1 -1
- package/dist/data/ai/AdvancedChatConfig.d.ts.map +1 -1
- package/dist/data/ai/AdvancedCostsPanel.d.ts +1 -1
- package/dist/data/ai/AdvancedCostsPanel.d.ts.map +1 -1
- package/dist/data/ai/ChatButton.d.ts +1 -1
- package/dist/data/ai/ChatButton.d.ts.map +1 -1
- package/dist/data/ai/ChatFab.d.ts +1 -1
- package/dist/data/ai/ChatFab.d.ts.map +1 -1
- package/dist/data/ai/ChatWindow.catalogs.cjs +11 -5
- package/dist/data/ai/ChatWindow.catalogs.cjs.map +1 -1
- package/dist/data/ai/ChatWindow.catalogs.d.ts +2 -1
- package/dist/data/ai/ChatWindow.catalogs.d.ts.map +1 -1
- package/dist/data/ai/ChatWindow.catalogs.js +11 -5
- package/dist/data/ai/ChatWindow.catalogs.js.map +1 -1
- package/dist/data/ai/ChatWindow.cjs +1 -0
- package/dist/data/ai/ChatWindow.cjs.map +1 -1
- package/dist/data/ai/ChatWindow.d.ts +2 -2
- package/dist/data/ai/ChatWindow.d.ts.map +1 -1
- package/dist/data/ai/ChatWindow.js +1 -0
- package/dist/data/ai/ChatWindow.js.map +1 -1
- package/dist/data/ai/ChatWindow.test-utils.d.ts +1 -1
- package/dist/data/ai/ChatWindow.thread-status.d.ts +1 -1
- package/dist/data/ai/ChatWindow.thread-status.d.ts.map +1 -1
- package/dist/data/ai/ChatWindow.types.d.ts +1 -1
- package/dist/data/ai/ChatWindowManager.d.ts +2 -2
- package/dist/data/ai/ChatWindowManager.d.ts.map +1 -1
- package/dist/data/ai/ContextBadges.d.ts +2 -2
- package/dist/data/ai/ContextBadges.d.ts.map +1 -1
- package/dist/data/ai/PolicyTree.d.ts +2 -2
- package/dist/data/ai/PolicyTree.d.ts.map +1 -1
- package/dist/data/ai/PromptCatalog/PromptCatalogTable.d.ts +1 -1
- package/dist/data/ai/PromptCatalog/PromptCatalogTable.d.ts.map +1 -1
- package/dist/data/ai/PromptCatalog/PromptLayerStrip.d.ts +1 -1
- package/dist/data/ai/PromptCatalog/PromptLayerStrip.d.ts.map +1 -1
- package/dist/data/ai/PromptCatalog/PromptPage.d.ts +1 -1
- package/dist/data/ai/PromptCatalog/PromptPage.d.ts.map +1 -1
- package/dist/data/ai/PromptCatalog/PromptPageEditor.d.ts +1 -1
- package/dist/data/ai/PromptCatalog/PromptPageEditor.d.ts.map +1 -1
- package/dist/data/ai/PromptCatalog/PromptPageHeader.d.ts +2 -2
- package/dist/data/ai/PromptCatalog/PromptPageHeader.d.ts.map +1 -1
- package/dist/data/ai/PromptCatalog/PromptPagePreview.d.ts +1 -1
- package/dist/data/ai/PromptCatalog/PromptPagePreview.d.ts.map +1 -1
- package/dist/data/ai/PromptCatalog/PromptPageSaveBar.d.ts +1 -1
- package/dist/data/ai/PromptCatalog/PromptPageSaveBar.d.ts.map +1 -1
- package/dist/data/ai/PromptCatalog/PromptSourceBadge.d.ts +1 -1
- package/dist/data/ai/PromptCatalog/PromptSourceBadge.d.ts.map +1 -1
- package/dist/data/ai/PromptCatalog/types.d.ts +1 -1
- package/dist/data/ai/PromptPicker/PromptPicker.d.ts +2 -2
- package/dist/data/ai/PromptPicker/PromptPicker.d.ts.map +1 -1
- package/dist/data/ai/PromptPicker/PromptSourceRepair.d.ts +1 -1
- package/dist/data/ai/PromptPicker/PromptSourceRepair.d.ts.map +1 -1
- package/dist/data/ai/PromptRunEditor/VariablesField.cjs +79 -0
- package/dist/data/ai/PromptRunEditor/VariablesField.cjs.map +1 -0
- package/dist/data/ai/PromptRunEditor/VariablesField.d.ts +8 -0
- package/dist/data/ai/PromptRunEditor/VariablesField.d.ts.map +1 -0
- package/dist/data/ai/PromptRunEditor/VariablesField.js +79 -0
- package/dist/data/ai/PromptRunEditor/VariablesField.js.map +1 -0
- package/dist/data/ai/PromptRunEditor/index.cjs +61 -69
- package/dist/data/ai/PromptRunEditor/index.cjs.map +1 -1
- package/dist/data/ai/PromptRunEditor/index.d.ts +12 -2
- package/dist/data/ai/PromptRunEditor/index.d.ts.map +1 -1
- package/dist/data/ai/PromptRunEditor/index.js +61 -69
- package/dist/data/ai/PromptRunEditor/index.js.map +1 -1
- package/dist/data/ai/PromptRunEditor/model.cjs.map +1 -1
- package/dist/data/ai/PromptRunEditor/model.d.ts +2 -0
- package/dist/data/ai/PromptRunEditor/model.d.ts.map +1 -1
- package/dist/data/ai/PromptRunEditor/model.js.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/SandboxConnectionsSection.d.ts +1 -1
- package/dist/data/ai/SandboxConnectionsSection.d.ts.map +1 -1
- package/dist/data/ai/SandboxCreateWizard.d.ts +1 -1
- package/dist/data/ai/SandboxCreateWizard.d.ts.map +1 -1
- package/dist/data/ai/SessionChatComposer.d.ts +2 -2
- package/dist/data/ai/SessionChatComposer.d.ts.map +1 -1
- package/dist/data/ai/SessionInspector.d.ts +2 -2
- package/dist/data/ai/SessionInspector.d.ts.map +1 -1
- package/dist/data/ai/SessionInspector.files.d.ts +1 -1
- package/dist/data/ai/SessionInspector.files.d.ts.map +1 -1
- package/dist/data/ai/SessionInspector.hierarchy.d.ts +2 -2
- package/dist/data/ai/SessionInspector.hierarchy.d.ts.map +1 -1
- package/dist/data/ai/SessionInspector.panels.d.ts +1 -1
- package/dist/data/ai/SessionInspector.panels.d.ts.map +1 -1
- package/dist/data/ai/SessionInspector.plan.d.ts +1 -1
- package/dist/data/ai/SessionInspector.plan.d.ts.map +1 -1
- package/dist/data/ai/SessionInspector.summary.d.ts +2 -2
- package/dist/data/ai/SessionInspector.summary.d.ts.map +1 -1
- package/dist/data/ai/SessionInspector.transcript.d.ts +1 -1
- package/dist/data/ai/SessionInspector.transcript.d.ts.map +1 -1
- package/dist/data/ai/SessionInspector.turns.d.ts +2 -2
- package/dist/data/ai/SessionInspector.turns.d.ts.map +1 -1
- package/dist/data/ai/SessionViewer.d.ts +2 -2
- package/dist/data/ai/SessionViewer.d.ts.map +1 -1
- package/dist/data/ai/SessionViewer.header.d.ts +2 -2
- package/dist/data/ai/SessionViewer.header.d.ts.map +1 -1
- package/dist/data/ai/SessionViewer.row-metadata.d.ts +3 -3
- package/dist/data/ai/SessionViewer.row-metadata.d.ts.map +1 -1
- package/dist/data/ai/SessionViewer.rows.d.ts +3 -3
- package/dist/data/ai/SessionViewer.rows.d.ts.map +1 -1
- package/dist/data/ai/SessionViewer.tool-details.d.ts +5 -5
- package/dist/data/ai/SessionViewer.tool-details.d.ts.map +1 -1
- package/dist/data/ai/SessionViewer.tool-row.d.ts +1 -1
- package/dist/data/ai/SessionViewer.tool-row.d.ts.map +1 -1
- package/dist/data/ai/SessionViewerMenu.d.ts +1 -1
- package/dist/data/ai/SessionViewerMenu.d.ts.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/CLIArgsSection.d.ts +1 -1
- package/dist/data/ai/SpecRuntimeEditor/CLIArgsSection.d.ts.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/CommitSection.d.ts +1 -1
- package/dist/data/ai/SpecRuntimeEditor/CommitSection.d.ts.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/EnvironmentSection.d.ts +2 -2
- package/dist/data/ai/SpecRuntimeEditor/EnvironmentSection.d.ts.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/Footer.d.ts +2 -2
- package/dist/data/ai/SpecRuntimeEditor/Footer.d.ts.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/ModelContextAdvanced.d.ts +1 -1
- package/dist/data/ai/SpecRuntimeEditor/ModelContextAdvanced.d.ts.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/ModelSection.cjs +4 -3
- package/dist/data/ai/SpecRuntimeEditor/ModelSection.cjs.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/ModelSection.d.ts +2 -2
- package/dist/data/ai/SpecRuntimeEditor/ModelSection.d.ts.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/ModelSection.js +2 -1
- package/dist/data/ai/SpecRuntimeEditor/ModelSection.js.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/PermissionModeField.cjs +2 -2
- package/dist/data/ai/SpecRuntimeEditor/PermissionModeField.cjs.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/PermissionModeField.d.ts +1 -1
- package/dist/data/ai/SpecRuntimeEditor/PermissionModeField.d.ts.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/PermissionModeField.js +1 -1
- package/dist/data/ai/SpecRuntimeEditor/PermissionPolicyList.d.ts +1 -1
- package/dist/data/ai/SpecRuntimeEditor/PermissionPolicyList.d.ts.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/PermissionsSection.d.ts +2 -2
- package/dist/data/ai/SpecRuntimeEditor/PermissionsSection.d.ts.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/PresetCards.d.ts +1 -1
- package/dist/data/ai/SpecRuntimeEditor/PresetCards.d.ts.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/PromptSection.d.ts +2 -2
- package/dist/data/ai/SpecRuntimeEditor/PromptSection.d.ts.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/Rail.d.ts +2 -2
- package/dist/data/ai/SpecRuntimeEditor/Rail.d.ts.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/SandboxSection.d.ts +1 -1
- package/dist/data/ai/SpecRuntimeEditor/SandboxSection.d.ts.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/SectionCard.d.ts +2 -2
- package/dist/data/ai/SpecRuntimeEditor/SectionCard.d.ts.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/WorkspaceSection.d.ts +1 -1
- package/dist/data/ai/SpecRuntimeEditor/WorkspaceSection.d.ts.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/fields.d.ts +12 -12
- package/dist/data/ai/SpecRuntimeEditor/fields.d.ts.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/index.cjs +4 -3
- 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 +2 -1
- package/dist/data/ai/SpecRuntimeEditor/index.js.map +1 -1
- package/dist/data/ai/ThreadPicker.d.ts +1 -1
- package/dist/data/ai/ThreadPicker.d.ts.map +1 -1
- package/dist/data/ai/ToolPreferences.d.ts +1 -1
- package/dist/data/ai/ToolPreferences.d.ts.map +1 -1
- package/dist/data/ai/ToolPreferencesList.d.ts +2 -2
- package/dist/data/ai/ToolPreferencesList.d.ts.map +1 -1
- package/dist/data/ai/ToolSchemaBrowser.d.ts +1 -1
- package/dist/data/ai/ToolSchemaBrowser.d.ts.map +1 -1
- package/dist/data/ai/ToolSchemaBrowser.detail.d.ts +1 -1
- package/dist/data/ai/ToolSchemaBrowser.detail.d.ts.map +1 -1
- package/dist/data/ai/ToolSchemaBrowser.directory-header.d.ts +1 -1
- package/dist/data/ai/ToolSchemaBrowser.directory-header.d.ts.map +1 -1
- package/dist/data/ai/ToolSchemaBrowser.selection-toolbar.d.ts +1 -1
- package/dist/data/ai/ToolSchemaBrowser.selection-toolbar.d.ts.map +1 -1
- package/dist/data/ai/ToolSchemaBrowser.sidebar.d.ts +1 -1
- package/dist/data/ai/ToolSchemaBrowser.sidebar.d.ts.map +1 -1
- package/dist/data/ai/chat-window-context.d.ts +1 -1
- package/dist/data/ai/index.d.ts +3 -2
- package/dist/data/ai/index.d.ts.map +1 -1
- package/dist/data/ai/runtime-profile.cjs.map +1 -1
- package/dist/data/ai/runtime-profile.d.ts +9 -7
- package/dist/data/ai/runtime-profile.d.ts.map +1 -1
- package/dist/data/ai/runtime-profile.js.map +1 -1
- package/dist/data/ai/runtime-profiles/OrderedPresetSelect.cjs +111 -0
- package/dist/data/ai/runtime-profiles/OrderedPresetSelect.cjs.map +1 -0
- package/dist/data/ai/runtime-profiles/OrderedPresetSelect.d.ts +7 -0
- package/dist/data/ai/runtime-profiles/OrderedPresetSelect.d.ts.map +1 -0
- package/dist/data/ai/runtime-profiles/OrderedPresetSelect.js +111 -0
- package/dist/data/ai/runtime-profiles/OrderedPresetSelect.js.map +1 -0
- package/dist/data/ai/runtime-profiles/PermissionStrategiesEditor.cjs +313 -0
- package/dist/data/ai/runtime-profiles/PermissionStrategiesEditor.cjs.map +1 -0
- package/dist/data/ai/runtime-profiles/PermissionStrategiesEditor.d.ts +8 -0
- package/dist/data/ai/runtime-profiles/PermissionStrategiesEditor.d.ts.map +1 -0
- package/dist/data/ai/runtime-profiles/PermissionStrategiesEditor.js +313 -0
- package/dist/data/ai/runtime-profiles/PermissionStrategiesEditor.js.map +1 -0
- package/dist/data/ai/runtime-profiles/PermissionStrategyConditionRow.cjs +98 -0
- package/dist/data/ai/runtime-profiles/PermissionStrategyConditionRow.cjs.map +1 -0
- package/dist/data/ai/runtime-profiles/PermissionStrategyConditionRow.d.ts +11 -0
- package/dist/data/ai/runtime-profiles/PermissionStrategyConditionRow.d.ts.map +1 -0
- package/dist/data/ai/runtime-profiles/PermissionStrategyConditionRow.js +98 -0
- package/dist/data/ai/runtime-profiles/PermissionStrategyConditionRow.js.map +1 -0
- package/dist/data/ai/runtime-profiles/PresetSpecEditor.cjs +35 -0
- package/dist/data/ai/runtime-profiles/PresetSpecEditor.cjs.map +1 -0
- package/dist/data/ai/runtime-profiles/PresetSpecEditor.d.ts +11 -0
- package/dist/data/ai/runtime-profiles/PresetSpecEditor.d.ts.map +1 -0
- package/dist/data/ai/runtime-profiles/PresetSpecEditor.js +35 -0
- package/dist/data/ai/runtime-profiles/PresetSpecEditor.js.map +1 -0
- package/dist/data/ai/runtime-profiles/PresetWorkspace.cjs +179 -0
- package/dist/data/ai/runtime-profiles/PresetWorkspace.cjs.map +1 -0
- package/dist/data/ai/runtime-profiles/PresetWorkspace.d.ts +22 -0
- package/dist/data/ai/runtime-profiles/PresetWorkspace.d.ts.map +1 -0
- package/dist/data/ai/runtime-profiles/PresetWorkspace.js +179 -0
- package/dist/data/ai/runtime-profiles/PresetWorkspace.js.map +1 -0
- package/dist/data/ai/runtime-profiles/ProfileSpecEditor.cjs +57 -0
- package/dist/data/ai/runtime-profiles/ProfileSpecEditor.cjs.map +1 -0
- package/dist/data/ai/runtime-profiles/ProfileSpecEditor.d.ts +18 -0
- package/dist/data/ai/runtime-profiles/ProfileSpecEditor.d.ts.map +1 -0
- package/dist/data/ai/runtime-profiles/ProfileSpecEditor.js +57 -0
- package/dist/data/ai/runtime-profiles/ProfileSpecEditor.js.map +1 -0
- package/dist/data/ai/runtime-profiles/ProfileWorkspace.cjs +135 -0
- package/dist/data/ai/runtime-profiles/ProfileWorkspace.cjs.map +1 -0
- package/dist/data/ai/runtime-profiles/ProfileWorkspace.d.ts +23 -0
- package/dist/data/ai/runtime-profiles/ProfileWorkspace.d.ts.map +1 -0
- package/dist/data/ai/runtime-profiles/ProfileWorkspace.js +135 -0
- package/dist/data/ai/runtime-profiles/ProfileWorkspace.js.map +1 -0
- package/dist/data/ai/runtime-profiles/ResolutionInspector.cjs +85 -0
- package/dist/data/ai/runtime-profiles/ResolutionInspector.cjs.map +1 -0
- package/dist/data/ai/runtime-profiles/ResolutionInspector.d.ts +7 -0
- package/dist/data/ai/runtime-profiles/ResolutionInspector.d.ts.map +1 -0
- package/dist/data/ai/runtime-profiles/ResolutionInspector.js +85 -0
- package/dist/data/ai/runtime-profiles/ResolutionInspector.js.map +1 -0
- package/dist/data/ai/runtime-profiles/ResolutionTrace.cjs +42 -0
- package/dist/data/ai/runtime-profiles/ResolutionTrace.cjs.map +1 -0
- package/dist/data/ai/runtime-profiles/ResolutionTrace.d.ts +6 -0
- package/dist/data/ai/runtime-profiles/ResolutionTrace.d.ts.map +1 -0
- package/dist/data/ai/runtime-profiles/ResolutionTrace.js +42 -0
- package/dist/data/ai/runtime-profiles/ResolutionTrace.js.map +1 -0
- package/dist/data/ai/runtime-profiles/RuntimeLibraryList.cjs +93 -0
- package/dist/data/ai/runtime-profiles/RuntimeLibraryList.cjs.map +1 -0
- package/dist/data/ai/runtime-profiles/RuntimeLibraryList.d.ts +18 -0
- package/dist/data/ai/runtime-profiles/RuntimeLibraryList.d.ts.map +1 -0
- package/dist/data/ai/runtime-profiles/RuntimeLibraryList.js +93 -0
- package/dist/data/ai/runtime-profiles/RuntimeLibraryList.js.map +1 -0
- package/dist/data/ai/runtime-profiles/RuntimePersistenceBar.cjs +44 -0
- package/dist/data/ai/runtime-profiles/RuntimePersistenceBar.cjs.map +1 -0
- package/dist/data/ai/runtime-profiles/RuntimePersistenceBar.d.ts +6 -0
- package/dist/data/ai/runtime-profiles/RuntimePersistenceBar.d.ts.map +1 -0
- package/dist/data/ai/runtime-profiles/RuntimePersistenceBar.js +44 -0
- package/dist/data/ai/runtime-profiles/RuntimePersistenceBar.js.map +1 -0
- package/dist/data/ai/runtime-profiles/RuntimeProfilePicker.cjs +198 -0
- package/dist/data/ai/runtime-profiles/RuntimeProfilePicker.cjs.map +1 -0
- package/dist/data/ai/runtime-profiles/RuntimeProfilePicker.d.ts +12 -0
- package/dist/data/ai/runtime-profiles/RuntimeProfilePicker.d.ts.map +1 -0
- package/dist/data/ai/runtime-profiles/RuntimeProfilePicker.js +198 -0
- package/dist/data/ai/runtime-profiles/RuntimeProfilePicker.js.map +1 -0
- package/dist/data/ai/runtime-profiles/RuntimeProfilePicker.model.cjs +97 -0
- package/dist/data/ai/runtime-profiles/RuntimeProfilePicker.model.cjs.map +1 -0
- package/dist/data/ai/runtime-profiles/RuntimeProfilePicker.model.d.ts +26 -0
- package/dist/data/ai/runtime-profiles/RuntimeProfilePicker.model.d.ts.map +1 -0
- package/dist/data/ai/runtime-profiles/RuntimeProfilePicker.model.js +97 -0
- package/dist/data/ai/runtime-profiles/RuntimeProfilePicker.model.js.map +1 -0
- package/dist/data/ai/runtime-profiles/RuntimeProfilesWorkspace.cjs +143 -0
- package/dist/data/ai/runtime-profiles/RuntimeProfilesWorkspace.cjs.map +1 -0
- package/dist/data/ai/runtime-profiles/RuntimeProfilesWorkspace.d.ts +25 -0
- package/dist/data/ai/runtime-profiles/RuntimeProfilesWorkspace.d.ts.map +1 -0
- package/dist/data/ai/runtime-profiles/RuntimeProfilesWorkspace.js +143 -0
- package/dist/data/ai/runtime-profiles/RuntimeProfilesWorkspace.js.map +1 -0
- package/dist/data/ai/runtime-profiles/RuntimeStatusNotice.cjs +41 -0
- package/dist/data/ai/runtime-profiles/RuntimeStatusNotice.cjs.map +1 -0
- package/dist/data/ai/runtime-profiles/RuntimeStatusNotice.d.ts +8 -0
- package/dist/data/ai/runtime-profiles/RuntimeStatusNotice.d.ts.map +1 -0
- package/dist/data/ai/runtime-profiles/RuntimeStatusNotice.js +41 -0
- package/dist/data/ai/runtime-profiles/RuntimeStatusNotice.js.map +1 -0
- package/dist/data/ai/runtime-profiles/index.d.ts +20 -0
- package/dist/data/ai/runtime-profiles/index.d.ts.map +1 -0
- package/dist/data/ai/runtime-profiles/types.d.ts +50 -0
- package/dist/data/ai/runtime-profiles/types.d.ts.map +1 -0
- package/dist/data/ai/runtime-profiles/use-permission-catalog.cjs +37 -0
- package/dist/data/ai/runtime-profiles/use-permission-catalog.cjs.map +1 -0
- package/dist/data/ai/runtime-profiles/use-permission-catalog.d.ts +5 -0
- package/dist/data/ai/runtime-profiles/use-permission-catalog.d.ts.map +1 -0
- package/dist/data/ai/runtime-profiles/use-permission-catalog.js +37 -0
- package/dist/data/ai/runtime-profiles/use-permission-catalog.js.map +1 -0
- package/dist/data/ai/runtime-profiles/use-resolution.cjs +43 -0
- package/dist/data/ai/runtime-profiles/use-resolution.cjs.map +1 -0
- package/dist/data/ai/runtime-profiles/use-resolution.d.ts +4 -0
- package/dist/data/ai/runtime-profiles/use-resolution.d.ts.map +1 -0
- package/dist/data/ai/runtime-profiles/use-resolution.js +43 -0
- package/dist/data/ai/runtime-profiles/use-resolution.js.map +1 -0
- package/dist/data/ai/runtime-profiles/use-runtime-families.cjs +38 -0
- package/dist/data/ai/runtime-profiles/use-runtime-families.cjs.map +1 -0
- package/dist/data/ai/runtime-profiles/use-runtime-families.d.ts +3 -0
- package/dist/data/ai/runtime-profiles/use-runtime-families.d.ts.map +1 -0
- package/dist/data/ai/runtime-profiles/use-runtime-families.js +38 -0
- package/dist/data/ai/runtime-profiles/use-runtime-families.js.map +1 -0
- package/dist/data/ai/runtime-profiles/use-runtime-profile-picker.cjs +107 -0
- package/dist/data/ai/runtime-profiles/use-runtime-profile-picker.cjs.map +1 -0
- package/dist/data/ai/runtime-profiles/use-runtime-profile-picker.d.ts +35 -0
- package/dist/data/ai/runtime-profiles/use-runtime-profile-picker.d.ts.map +1 -0
- package/dist/data/ai/runtime-profiles/use-runtime-profile-picker.js +107 -0
- package/dist/data/ai/runtime-profiles/use-runtime-profile-picker.js.map +1 -0
- package/dist/data/ai/use-session-scroll.cjs.map +1 -1
- package/dist/data/ai/use-session-scroll.d.ts +3 -3
- package/dist/data/ai/use-session-scroll.d.ts.map +1 -1
- package/dist/data/ai/use-session-scroll.js.map +1 -1
- package/dist/data/badge-variants.d.ts +1 -1
- package/dist/data/cache-browser/CacheBrowser.d.ts +1 -1
- package/dist/data/cache-browser/CacheBrowser.d.ts.map +1 -1
- package/dist/data/cache-browser/CacheDetailPanel.d.ts +1 -1
- package/dist/data/cache-browser/CacheDetailPanel.d.ts.map +1 -1
- package/dist/data/cache-browser/CacheStatsOverview.d.ts +1 -1
- package/dist/data/cache-browser/CacheStatsOverview.d.ts.map +1 -1
- package/dist/data/cache-browser/CacheTree.d.ts +2 -2
- package/dist/data/cache-browser/CacheTree.d.ts.map +1 -1
- package/dist/data/cache-browser/CacheValue.d.ts +1 -1
- package/dist/data/cache-browser/CacheValue.d.ts.map +1 -1
- package/dist/data/cache-browser/adapter.d.ts +1 -1
- package/dist/data/cells/CellFilterActions.d.ts +2 -2
- package/dist/data/cells/CellFilterActions.d.ts.map +1 -1
- package/dist/data/cells/EntityCell.d.ts +2 -2
- package/dist/data/cells/EntityCell.d.ts.map +1 -1
- package/dist/data/cells/StatusDot.d.ts +1 -1
- package/dist/data/cells/StatusDot.d.ts.map +1 -1
- package/dist/data/cells/TagList.d.ts +3 -3
- package/dist/data/cells/TagList.d.ts.map +1 -1
- package/dist/data/cells/Timestamp.d.ts +1 -1
- package/dist/data/cells/Timestamp.d.ts.map +1 -1
- package/dist/data/cells/tag-utils.d.ts +1 -1
- package/dist/data/chat/Attachment.d.ts +2 -2
- package/dist/data/chat/Attachment.d.ts.map +1 -1
- package/dist/data/chat/Chat.d.ts +1 -1
- package/dist/data/chat/Chat.d.ts.map +1 -1
- package/dist/data/chat/ChatRuntimeToolbar.d.ts +1 -1
- package/dist/data/chat/ChatRuntimeToolbar.d.ts.map +1 -1
- package/dist/data/chat/ContextMeter.d.ts +1 -1
- package/dist/data/chat/ContextMeter.d.ts.map +1 -1
- package/dist/data/chat/Conversation.d.ts +1 -1
- package/dist/data/chat/Conversation.d.ts.map +1 -1
- package/dist/data/chat/Message.d.ts +1 -1
- package/dist/data/chat/Message.d.ts.map +1 -1
- package/dist/data/chat/MessageActions.d.ts +1 -1
- package/dist/data/chat/MessageActions.d.ts.map +1 -1
- package/dist/data/chat/ModelSelector.d.ts +5 -5
- package/dist/data/chat/ModelSelector.d.ts.map +1 -1
- package/dist/data/chat/PromptInput.d.ts +2 -2
- package/dist/data/chat/PromptInput.d.ts.map +1 -1
- package/dist/data/chat/Reasoning.d.ts +1 -1
- package/dist/data/chat/Reasoning.d.ts.map +1 -1
- package/dist/data/chat/Suggestion.d.ts +1 -1
- package/dist/data/chat/Suggestion.d.ts.map +1 -1
- package/dist/data/chat/ToolCall.d.ts +1 -1
- package/dist/data/chat/ToolCall.d.ts.map +1 -1
- package/dist/data/chat/tool-render/ToolArgs.d.ts +1 -1
- package/dist/data/chat/tool-render/ToolParams.d.ts +1 -1
- package/dist/data/chat/tool-render/ToolValue.d.ts +1 -1
- package/dist/data/chat/tool-render/adapter.d.ts +1 -1
- package/dist/data/chat/tool-render/context.d.ts +1 -1
- package/dist/data/chat/tool-render/defaults.d.ts +1 -1
- package/dist/data/chat/tool-render/known-tool-views.d.ts +1 -1
- package/dist/data/chat/tool-render/summary.d.ts +1 -1
- package/dist/data/chat/types.d.ts +1 -1
- package/dist/data/clicky-export/ClickyExportDialog.d.ts +1 -1
- package/dist/data/clicky-export/ClickyExportDialog.d.ts.map +1 -1
- package/dist/data/clicky-export/useClickyExport.d.ts +1 -1
- package/dist/data/code-block-actions.d.ts +1 -1
- package/dist/data/code-block-actions.d.ts.map +1 -1
- package/dist/data/data-table-server-filters.d.ts +1 -1
- package/dist/data/diagnostics/DiagnosticsDetailPanel.d.ts +2 -2
- package/dist/data/diagnostics/DiagnosticsDetailPanel.d.ts.map +1 -1
- package/dist/data/diagnostics/DiagnosticsTree.d.ts +1 -1
- package/dist/data/diagnostics/DiagnosticsTree.d.ts.map +1 -1
- package/dist/data/diagnostics/ErrorDetails.d.ts +4 -4
- package/dist/data/diagnostics/ErrorDetails.d.ts.map +1 -1
- package/dist/data/diagnostics/FrameSourceWindow.d.ts +1 -1
- package/dist/data/diagnostics/FrameSourceWindow.d.ts.map +1 -1
- package/dist/data/diagnostics/GoroutineCard.d.ts +1 -1
- package/dist/data/diagnostics/GoroutineCard.d.ts.map +1 -1
- package/dist/data/diagnostics/JvmStackTrace.d.ts +1 -1
- package/dist/data/diagnostics/JvmStackTrace.d.ts.map +1 -1
- package/dist/data/diagnostics/RenderedStackTrace.d.ts +1 -1
- package/dist/data/diagnostics/RenderedStackTrace.d.ts.map +1 -1
- package/dist/data/diagnostics/StackFrameRow.d.ts +2 -2
- package/dist/data/diagnostics/StackFrameRow.d.ts.map +1 -1
- package/dist/data/diagnostics/ThreadCard.d.ts +1 -1
- package/dist/data/diagnostics/ThreadCard.d.ts.map +1 -1
- package/dist/data/git/GitChangeList.d.ts +5 -5
- package/dist/data/git/GitChangeList.d.ts.map +1 -1
- package/dist/data/har/HarPanel.d.ts +1 -1
- package/dist/data/har/HarPanel.d.ts.map +1 -1
- package/dist/data/icon-fallback.d.ts +1 -1
- package/dist/data/query-browser/QueryBrowser.d.ts +1 -1
- package/dist/data/query-browser/QueryBrowser.d.ts.map +1 -1
- package/dist/data/query-browser/QueryBrowser.types.d.ts +1 -1
- package/dist/data/query-browser/QueryBrowserDiagnosticsPanel.d.ts +1 -1
- package/dist/data/query-browser/QueryBrowserDiagnosticsPanel.d.ts.map +1 -1
- package/dist/data/query-browser/QueryBrowserResults.d.ts +1 -1
- package/dist/data/query-browser/QueryBrowserResults.d.ts.map +1 -1
- package/dist/data/runtime/ProviderStatusPanel.d.ts +1 -1
- package/dist/data/runtime/ProviderStatusPanel.d.ts.map +1 -1
- package/dist/data/runtime/RuntimeBar.cjs +3 -2
- package/dist/data/runtime/RuntimeBar.cjs.map +1 -1
- package/dist/data/runtime/RuntimeBar.d.ts +1 -1
- package/dist/data/runtime/RuntimeBar.d.ts.map +1 -1
- package/dist/data/runtime/RuntimeBar.js +3 -2
- package/dist/data/runtime/RuntimeBar.js.map +1 -1
- package/dist/data/runtime/RuntimeBarCombo.d.ts +1 -1
- package/dist/data/runtime/RuntimeBarCombo.d.ts.map +1 -1
- package/dist/data/runtime/RuntimeBarSegments.d.ts +1 -1
- package/dist/data/runtime/RuntimeBarSegments.d.ts.map +1 -1
- package/dist/data/runtime/runtime-field-support.cjs +3 -3
- package/dist/data/runtime/runtime-field-support.cjs.map +1 -1
- package/dist/data/runtime/runtime-field-support.js +1 -1
- package/dist/data/runtime/runtime-mode.cjs +14 -47
- package/dist/data/runtime/runtime-mode.cjs.map +1 -1
- package/dist/data/runtime/runtime-mode.d.ts +5 -7
- package/dist/data/runtime/runtime-mode.d.ts.map +1 -1
- package/dist/data/runtime/runtime-mode.js +7 -39
- package/dist/data/runtime/runtime-mode.js.map +1 -1
- package/dist/data/test-runner/TestDetailPanel.d.ts +1 -1
- package/dist/data/test-runner/TestDetailPanel.d.ts.map +1 -1
- package/dist/data/test-runner/TestFailureDetail.d.ts +3 -3
- package/dist/data/test-runner/TestFailureDetail.d.ts.map +1 -1
- package/dist/data/test-runner/TestFilterBar.d.ts +1 -1
- package/dist/data/test-runner/TestFilterBar.d.ts.map +1 -1
- package/dist/data/test-runner/TestRunSummary.d.ts +1 -1
- package/dist/data/test-runner/TestRunSummary.d.ts.map +1 -1
- package/dist/data/test-runner/TestRunner.d.ts +2 -2
- package/dist/data/test-runner/TestRunner.d.ts.map +1 -1
- package/dist/data/test-runner/TestTree.d.ts +1 -1
- package/dist/data/test-runner/TestTree.d.ts.map +1 -1
- package/dist/data/test-runner/TestTreeNode.cjs +16 -11
- package/dist/data/test-runner/TestTreeNode.cjs.map +1 -1
- package/dist/data/test-runner/TestTreeNode.d.ts +1 -1
- package/dist/data/test-runner/TestTreeNode.d.ts.map +1 -1
- package/dist/data/test-runner/TestTreeNode.js +16 -11
- package/dist/data/test-runner/TestTreeNode.js.map +1 -1
- package/dist/data/test-runner/adapter.d.ts +1 -1
- package/dist/data/test-runner/context.d.ts +1 -1
- package/dist/data/version-info.cjs +3 -3
- package/dist/data/version-info.js +3 -3
- package/dist/devtools/DebugConsole.d.ts +1 -1
- package/dist/devtools/DebugConsole.d.ts.map +1 -1
- package/dist/devtools/DebugConsoleButton.d.ts +1 -1
- package/dist/devtools/DebugConsoleButton.d.ts.map +1 -1
- package/dist/devtools/DebugConsoleDock.d.ts +1 -1
- package/dist/devtools/DebugConsoleDock.d.ts.map +1 -1
- package/dist/devtools/ExecutionDetail.d.ts +1 -1
- package/dist/devtools/ExecutionDetail.d.ts.map +1 -1
- package/dist/devtools/tabs/ConsoleTab.d.ts +1 -1
- package/dist/devtools/tabs/ConsoleTab.d.ts.map +1 -1
- package/dist/devtools/tabs/InspectionCaches.d.ts +1 -1
- package/dist/devtools/tabs/InspectionCaches.d.ts.map +1 -1
- package/dist/devtools/tabs/InspectionTab.d.ts +1 -1
- package/dist/devtools/tabs/InspectionTab.d.ts.map +1 -1
- package/dist/devtools/tabs/NetworkTab.d.ts +1 -1
- package/dist/devtools/tabs/NetworkTab.d.ts.map +1 -1
- package/dist/devtools/tabs/QueriesTab.d.ts +1 -1
- package/dist/devtools/tabs/QueriesTab.d.ts.map +1 -1
- package/dist/hooks/density-provider.d.ts +3 -3
- package/dist/hooks/density-provider.d.ts.map +1 -1
- package/dist/hooks/theme-provider.d.ts +2 -2
- package/dist/hooks/theme-provider.d.ts.map +1 -1
- package/dist/hooks/use-density.d.ts +1 -1
- package/dist/hooks/use-theme.d.ts +1 -1
- package/dist/icons/registry.d.ts +1 -1
- package/dist/icons/types.d.ts +1 -1
- package/dist/index.cjs +52 -0
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +52 -0
- package/dist/index.js.map +1 -1
- package/dist/layout/AppShell.cjs.map +1 -1
- package/dist/layout/AppShell.d.ts +10 -2
- package/dist/layout/AppShell.d.ts.map +1 -1
- package/dist/layout/AppShell.debug.d.ts +1 -1
- package/dist/layout/AppShell.debug.d.ts.map +1 -1
- package/dist/layout/AppShell.js.map +1 -1
- package/dist/layout/AppShell.nav.cjs +133 -76
- package/dist/layout/AppShell.nav.cjs.map +1 -1
- package/dist/layout/AppShell.nav.d.ts +1 -1
- package/dist/layout/AppShell.nav.d.ts.map +1 -1
- package/dist/layout/AppShell.nav.drag.cjs +86 -0
- package/dist/layout/AppShell.nav.drag.cjs.map +1 -0
- package/dist/layout/AppShell.nav.drag.d.ts +52 -0
- package/dist/layout/AppShell.nav.drag.d.ts.map +1 -0
- package/dist/layout/AppShell.nav.drag.js +86 -0
- package/dist/layout/AppShell.nav.drag.js.map +1 -0
- package/dist/layout/AppShell.nav.js +133 -76
- package/dist/layout/AppShell.nav.js.map +1 -1
- package/dist/layout/AppSidebar.d.ts +3 -3
- package/dist/layout/AppSidebar.d.ts.map +1 -1
- package/dist/layout/Panel.d.ts +2 -2
- package/dist/layout/Panel.d.ts.map +1 -1
- package/dist/layout/PanelFrame.d.ts +2 -2
- package/dist/layout/PanelFrame.d.ts.map +1 -1
- package/dist/layout/Section.d.ts +3 -3
- package/dist/layout/Section.d.ts.map +1 -1
- package/dist/layout/SplitPane.d.ts +2 -2
- package/dist/layout/SplitPane.d.ts.map +1 -1
- package/dist/layout/Tabs.d.ts +2 -2
- package/dist/layout/Tabs.d.ts.map +1 -1
- package/dist/layout/Workspace.d.ts +2 -2
- package/dist/layout/Workspace.d.ts.map +1 -1
- package/dist/layout/Workspace.model.d.ts +1 -1
- package/dist/layout/Workspace.regions.d.ts +2 -2
- package/dist/layout/Workspace.regions.d.ts.map +1 -1
- package/dist/{components/combobox-utils.cjs → lib/combobox-values.cjs} +1 -5
- package/dist/lib/combobox-values.cjs.map +1 -0
- package/dist/{components/combobox-utils.d.ts → lib/combobox-values.d.ts} +3 -13
- package/dist/lib/combobox-values.d.ts.map +1 -0
- package/dist/{components/combobox-utils.js → lib/combobox-values.js} +1 -5
- package/dist/lib/combobox-values.js.map +1 -0
- package/dist/lib/combobox.cjs +93 -0
- package/dist/lib/combobox.cjs.map +1 -0
- package/dist/lib/combobox.d.ts +20 -0
- package/dist/lib/combobox.d.ts.map +1 -0
- package/dist/lib/combobox.js +93 -0
- package/dist/lib/combobox.js.map +1 -0
- package/dist/lib/permission-strategies.cjs +155 -0
- package/dist/lib/permission-strategies.cjs.map +1 -0
- package/dist/lib/permission-strategies.d.ts +35 -0
- package/dist/lib/permission-strategies.d.ts.map +1 -0
- package/dist/lib/permission-strategies.js +155 -0
- package/dist/lib/permission-strategies.js.map +1 -0
- package/dist/lib/runtime-family.cjs +51 -0
- package/dist/lib/runtime-family.cjs.map +1 -0
- package/dist/lib/runtime-family.d.ts +25 -0
- package/dist/lib/runtime-family.d.ts.map +1 -0
- package/dist/lib/runtime-family.js +51 -0
- package/dist/lib/runtime-family.js.map +1 -0
- package/dist/lib/runtime-profile-model.cjs +129 -0
- package/dist/lib/runtime-profile-model.cjs.map +1 -0
- package/dist/lib/runtime-profile-model.d.ts +30 -0
- package/dist/lib/runtime-profile-model.d.ts.map +1 -0
- package/dist/lib/runtime-profile-model.js +129 -0
- package/dist/lib/runtime-profile-model.js.map +1 -0
- package/dist/monaco/MonacoEditor.d.ts +1 -1
- package/dist/monaco/MonacoEditor.d.ts.map +1 -1
- package/dist/monaco/MonacoProvider.d.ts +1 -1
- package/dist/monaco/MonacoProvider.d.ts.map +1 -1
- package/dist/monaco/MonacoSchemaEditor.cjs +4 -4
- package/dist/monaco/MonacoSchemaEditor.cjs.map +1 -1
- package/dist/monaco/MonacoSchemaEditor.d.ts +1 -1
- package/dist/monaco/MonacoSchemaEditor.d.ts.map +1 -1
- package/dist/monaco/MonacoSchemaEditor.js +4 -4
- package/dist/monaco/MonacoSchemaEditor.js.map +1 -1
- package/dist/monaco/types.d.ts +1 -1
- package/dist/monaco/use-monaco-worker.d.ts +1 -1
- package/dist/overlay/CellActions.d.ts +3 -3
- package/dist/overlay/CellActions.d.ts.map +1 -1
- package/dist/overlay/CommandPalette.d.ts +2 -2
- package/dist/overlay/CommandPalette.model.d.ts +1 -1
- package/dist/overlay/CommandPaletteList.cjs.map +1 -1
- package/dist/overlay/CommandPaletteList.d.ts +3 -3
- package/dist/overlay/CommandPaletteList.d.ts.map +1 -1
- package/dist/overlay/CommandPaletteList.js.map +1 -1
- package/dist/overlay/CommandPaletteTrigger.d.ts +1 -1
- package/dist/overlay/CommandPaletteTrigger.d.ts.map +1 -1
- package/dist/overlay/ContextMenu.d.ts +1 -1
- package/dist/overlay/ContextMenu.d.ts.map +1 -1
- package/dist/overlay/DropdownMenu.d.ts +2 -2
- package/dist/overlay/DropdownMenu.d.ts.map +1 -1
- package/dist/overlay/DropdownMenuSubmenu.d.ts +1 -1
- package/dist/overlay/DropdownMenuSubmenu.d.ts.map +1 -1
- package/dist/overlay/HoverCard.d.ts +2 -2
- package/dist/overlay/HoverCard.d.ts.map +1 -1
- package/dist/overlay/Modal.cjs +105 -18
- package/dist/overlay/Modal.cjs.map +1 -1
- package/dist/overlay/Modal.d.ts +2 -2
- package/dist/overlay/Modal.d.ts.map +1 -1
- package/dist/overlay/Modal.js +105 -18
- package/dist/overlay/Modal.js.map +1 -1
- package/dist/overlay/Toast.d.ts +2 -2
- package/dist/overlay/Toast.d.ts.map +1 -1
- package/dist/overlay/Tour.d.ts +1 -1
- package/dist/overlay/Tour.d.ts.map +1 -1
- package/dist/overlay/TourCard.d.ts +2 -2
- package/dist/overlay/TourCard.d.ts.map +1 -1
- package/dist/overlay/TourProvider.d.ts +2 -2
- package/dist/overlay/TourProvider.d.ts.map +1 -1
- package/dist/overlay/TourSpotlight.d.ts +1 -1
- package/dist/overlay/TourSpotlight.d.ts.map +1 -1
- package/dist/overlay/dropdownMenuContext.d.ts +1 -1
- package/dist/overlay/toast-context.d.ts +2 -2
- package/dist/overlay/tour-context.d.ts +1 -1
- package/dist/overlay/tour-types.d.ts +1 -1
- package/dist/profiles/cel/celEditor.d.ts +4 -4
- package/dist/profiles/cel/celEditor.d.ts.map +1 -1
- package/dist/profiles/connections/catalogTree.d.ts +1 -1
- package/dist/profiles/connections/catalogTree.d.ts.map +1 -1
- package/dist/profiles/connections/connectionBrowserModel.d.ts +1 -1
- package/dist/profiles/connections/connectionQueryWorkspace.d.ts +2 -2
- package/dist/profiles/connections/connectionQueryWorkspace.d.ts.map +1 -1
- package/dist/profiles/connections/inspectionStatus.d.ts +1 -1
- package/dist/profiles/connections/inspectionStatus.d.ts.map +1 -1
- package/dist/profiles/editor/profileBuilder.d.ts +3 -3
- package/dist/profiles/editor/profileBuilder.d.ts.map +1 -1
- package/dist/profiles/editor/profileBuilderWorkspace.d.ts +1 -1
- package/dist/profiles/editor/profileBuilderWorkspace.d.ts.map +1 -1
- package/dist/profiles/editor/profileEditor.d.ts +1 -1
- package/dist/profiles/editor/profileEditor.d.ts.map +1 -1
- package/dist/profiles/editor/profileEditorPreview.d.ts +1 -1
- package/dist/profiles/editor/profileEditorPreview.d.ts.map +1 -1
- package/dist/profiles/editor/profileEditorRail.d.ts +1 -1
- package/dist/profiles/editor/profileEditorRail.d.ts.map +1 -1
- package/dist/profiles/editor/profileEditorRaw.d.ts +1 -1
- package/dist/profiles/editor/profileEditorRaw.d.ts.map +1 -1
- package/dist/profiles/editor/profileEditorSections.d.ts +3 -3
- package/dist/profiles/editor/profileEditorSections.d.ts.map +1 -1
- package/dist/profiles/elasticsearch/esParamMappingPill.d.ts +1 -1
- package/dist/profiles/elasticsearch/esParamMappingPill.d.ts.map +1 -1
- package/dist/profiles/elasticsearch/esParamOperandExtension.d.ts +1 -1
- package/dist/profiles/elasticsearch/esQueryBuilder.d.ts +2 -2
- package/dist/profiles/elasticsearch/esQueryBuilder.d.ts.map +1 -1
- package/dist/profiles/elasticsearch/esQueryClauseGroup.d.ts +1 -1
- package/dist/profiles/elasticsearch/esQueryClauseGroup.d.ts.map +1 -1
- package/dist/profiles/elasticsearch/esQueryConditionRow.d.ts +1 -1
- package/dist/profiles/elasticsearch/esQueryConditionRow.d.ts.map +1 -1
- package/dist/profiles/elasticsearch/esQueryOperandEditors.d.ts +2 -2
- package/dist/profiles/elasticsearch/esQueryOperandEditors.d.ts.map +1 -1
- package/dist/profiles/elasticsearch/esQueryOutputEditor.d.ts +1 -1
- package/dist/profiles/elasticsearch/esQueryOutputEditor.d.ts.map +1 -1
- package/dist/profiles/elasticsearch/esQueryPreview.d.ts +1 -1
- package/dist/profiles/elasticsearch/esQueryPreview.d.ts.map +1 -1
- package/dist/profiles/elasticsearch/esQuerySortEditor.d.ts +1 -1
- package/dist/profiles/elasticsearch/esQuerySortEditor.d.ts.map +1 -1
- package/dist/profiles/elasticsearch/esValueCombobox.d.ts +2 -2
- package/dist/profiles/elasticsearch/esValueCombobox.d.ts.map +1 -1
- package/dist/profiles/fields/profileColumnPicker.d.ts +1 -1
- package/dist/profiles/fields/profileColumnPicker.d.ts.map +1 -1
- package/dist/profiles/fields/profileFieldControls.d.ts +3 -3
- package/dist/profiles/fields/profileFieldControls.d.ts.map +1 -1
- package/dist/profiles/fields/profileFieldEditor.d.ts +3 -3
- package/dist/profiles/fields/profileFieldEditor.d.ts.map +1 -1
- package/dist/profiles/fields/profileFieldFilterEditor.d.ts +1 -1
- package/dist/profiles/fields/profileFieldFilterEditor.d.ts.map +1 -1
- package/dist/profiles/fields/profileFieldIcons.d.ts +1 -1
- package/dist/profiles/fields/profileFieldList.d.ts +2 -2
- package/dist/profiles/fields/profileFieldList.d.ts.map +1 -1
- package/dist/profiles/fields/profileFieldManager.d.ts +1 -1
- package/dist/profiles/fields/profileFieldManager.d.ts.map +1 -1
- package/dist/profiles/fields/profileFieldState.d.ts +1 -1
- package/dist/profiles/processor/processorPipeline.d.ts +1 -1
- package/dist/profiles/processor/processorPipeline.d.ts.map +1 -1
- package/dist/profiles/processor/processorPipelineEditor.d.ts +1 -1
- package/dist/profiles/processor/processorPipelineEditor.d.ts.map +1 -1
- package/dist/profiles/processor/processorPreviewTable.d.ts +1 -1
- package/dist/profiles/processor/processorPreviewTable.d.ts.map +1 -1
- package/dist/profiles/query/jsonPathSample.d.ts +1 -1
- package/dist/profiles/query/jsonPathSampleRow.d.ts +2 -2
- package/dist/profiles/query/jsonPathSampleRow.d.ts.map +1 -1
- package/dist/profiles/query/kubernetesWorkloadTargetPicker.d.ts +1 -1
- package/dist/profiles/query/kubernetesWorkloadTargetPicker.d.ts.map +1 -1
- package/dist/profiles/query/prometheusResults.d.ts +2 -2
- package/dist/profiles/query/prometheusResults.d.ts.map +1 -1
- package/dist/profiles/query/queryRowLimits.d.ts +1 -1
- package/dist/profiles/query/queryRowLimits.d.ts.map +1 -1
- package/dist/profiles/query/queryTargetPicker.d.ts +1 -1
- package/dist/profiles/query/queryTargetPicker.d.ts.map +1 -1
- package/dist/profiles/wizard/profileWizard.d.ts +1 -1
- package/dist/profiles/wizard/profileWizard.d.ts.map +1 -1
- package/dist/profiles/wizard/profileWizardQueryStep.d.ts +1 -1
- package/dist/profiles/wizard/profileWizardQueryStep.d.ts.map +1 -1
- package/dist/profiles/wizard/profileWizardSteps.d.ts +4 -4
- package/dist/profiles/wizard/profileWizardSteps.d.ts.map +1 -1
- package/dist/rpc/ChatLayer.d.ts +1 -1
- package/dist/rpc/ChatLayer.d.ts.map +1 -1
- package/dist/rpc/CommandForm.d.ts +1 -1
- package/dist/rpc/CommandForm.d.ts.map +1 -1
- package/dist/rpc/CommandOutput.d.ts +1 -1
- package/dist/rpc/CommandOutput.d.ts.map +1 -1
- package/dist/rpc/EndpointList.d.ts +2 -2
- package/dist/rpc/EndpointList.d.ts.map +1 -1
- package/dist/rpc/EntityExplorerApp.d.ts +2 -2
- package/dist/rpc/EntityExplorerApp.d.ts.map +1 -1
- package/dist/rpc/ExecutionResult.d.ts +1 -1
- package/dist/rpc/ExecutionResult.d.ts.map +1 -1
- package/dist/rpc/FilterForm.d.ts +1 -1
- package/dist/rpc/FilterForm.d.ts.map +1 -1
- package/dist/rpc/FilterFormFields.d.ts +1 -1
- package/dist/rpc/FilterFormFields.d.ts.map +1 -1
- package/dist/rpc/InlineError.d.ts +1 -1
- package/dist/rpc/InlineError.d.ts.map +1 -1
- package/dist/rpc/OperationActionBar.cjs +17 -5
- package/dist/rpc/OperationActionBar.cjs.map +1 -1
- package/dist/rpc/OperationActionBar.d.ts +3 -6
- package/dist/rpc/OperationActionBar.d.ts.map +1 -1
- package/dist/rpc/OperationActionBar.js +17 -5
- package/dist/rpc/OperationActionBar.js.map +1 -1
- package/dist/rpc/OperationActionDialog.d.ts +1 -1
- package/dist/rpc/OperationActionDialog.d.ts.map +1 -1
- package/dist/rpc/OperationCatalog.cjs +65 -5
- package/dist/rpc/OperationCatalog.cjs.map +1 -1
- package/dist/rpc/OperationCatalog.d.ts +4 -2
- package/dist/rpc/OperationCatalog.d.ts.map +1 -1
- package/dist/rpc/OperationCatalog.js +66 -6
- package/dist/rpc/OperationCatalog.js.map +1 -1
- package/dist/rpc/OperationCatalogActions.cjs +38 -7
- package/dist/rpc/OperationCatalogActions.cjs.map +1 -1
- package/dist/rpc/OperationCatalogActions.d.ts +6 -1
- package/dist/rpc/OperationCatalogActions.d.ts.map +1 -1
- package/dist/rpc/OperationCatalogActions.js +38 -7
- package/dist/rpc/OperationCatalogActions.js.map +1 -1
- package/dist/rpc/OperationCommandPage.d.ts +1 -1
- package/dist/rpc/OperationCommandPage.d.ts.map +1 -1
- package/dist/rpc/OperationEntityContextPicker.d.ts +2 -2
- package/dist/rpc/OperationEntityContextPicker.d.ts.map +1 -1
- package/dist/rpc/OperationEntityPage.d.ts +2 -2
- package/dist/rpc/OperationEntityPage.d.ts.map +1 -1
- package/dist/rpc/OperationResultView.d.ts +2 -2
- package/dist/rpc/OperationResultView.d.ts.map +1 -1
- package/dist/rpc/RouterProvider.d.ts +2 -2
- package/dist/rpc/RouterProvider.d.ts.map +1 -1
- package/dist/rpc/SchemaActionForm.d.ts +2 -2
- package/dist/rpc/SchemaActionForm.d.ts.map +1 -1
- package/dist/rpc/actionIconMap.cjs +11 -0
- package/dist/rpc/actionIconMap.cjs.map +1 -0
- package/dist/rpc/actionIconMap.d.ts +3 -0
- package/dist/rpc/actionIconMap.d.ts.map +1 -0
- package/dist/rpc/actionIconMap.js +11 -0
- package/dist/rpc/actionIconMap.js.map +1 -0
- package/dist/rpc/formMetadata.d.ts +1 -1
- package/dist/rpc/operationErrorDiagnostics.d.ts +1 -1
- package/dist/rpc/operationErrorDiagnostics.d.ts.map +1 -1
- package/dist/rpc/router.d.ts +1 -1
- package/dist/rpc/rpc-story.fixtures.d.ts +1 -1
- package/dist/styles.css +1 -1
- package/dist/utils.cjs +52 -0
- package/dist/utils.cjs.map +1 -1
- package/dist/utils.d.ts +5 -0
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +53 -1
- package/dist/utils.js.map +1 -1
- package/package.json +3 -3
- package/dist/components/combobox-utils.cjs.map +0 -1
- package/dist/components/combobox-utils.d.ts.map +0 -1
- package/dist/components/combobox-utils.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtime-family.js","sources":["../../src/lib/runtime-family.ts"],"sourcesContent":["type RuntimeModelIdentity = {\n id: string;\n provider: string;\n runtime?: { id?: string; model?: string } | undefined;\n};\n\ntype RuntimeFamilyIdentity = {\n id: string;\n provider: string;\n catalogPrefix?: string | undefined;\n modes: Array<{ id: string; provider?: string | undefined }>;\n};\n\nexport const SPEC_RUNTIME_MODES = [\"api\", \"agent\", \"cli\", \"cmux\"] as const;\nexport type SpecRuntimeMode = (typeof SPEC_RUNTIME_MODES)[number];\nconst RUNTIME_MODES = new Set<string>(SPEC_RUNTIME_MODES);\n\nexport function isSpecRuntimeMode(\n value: string | undefined,\n): value is SpecRuntimeMode {\n return RUNTIME_MODES.has(value ?? \"\");\n}\n\nexport function runtimeModeFromModel(\n model: string | undefined,\n): SpecRuntimeMode | undefined {\n const [prefix] = (model ?? \"\").trim().toLowerCase().split(\":\");\n return isSpecRuntimeMode(prefix) ? prefix : undefined;\n}\n\nexport function familyForModel<T extends RuntimeFamilyIdentity>(\n families: T[],\n models: RuntimeModelIdentity[],\n modelId: string | undefined,\n): T | undefined {\n if (!modelId) return undefined;\n const selected = models.find(\n (model) =>\n model.id === modelId ||\n model.runtime?.model === modelId ||\n model.runtime?.id === modelId,\n );\n const compact = modelId.split(\",\")[0]?.trim() ?? \"\";\n const [prefix, inlineModel] = compact.split(\":\");\n const canonicalModel =\n RUNTIME_MODES.has(prefix?.toLowerCase() ?? \"\") && inlineModel\n ? inlineModel\n : compact;\n const slash = canonicalModel.indexOf(\"/\");\n const provider =\n selected?.provider ??\n (slash > 0 ? canonicalModel.slice(0, slash) : undefined);\n if (!provider) return undefined;\n return families.find(\n (family) =>\n family.provider === provider ||\n family.catalogPrefix === provider ||\n family.modes.some((mode) => mode.provider === provider),\n );\n}\n\nexport function modeOptionFor<T extends RuntimeFamilyIdentity>(\n families: T[],\n mode: string | undefined,\n preferredFamily?: string | undefined,\n): T[\"modes\"][number] | undefined {\n const target = (mode ?? \"\").toLowerCase();\n if (!target) return undefined;\n const ordered = preferredFamily\n ? [\n ...families.filter((family) => family.id === preferredFamily),\n ...families.filter((family) => family.id !== preferredFamily),\n ]\n : families;\n for (const family of ordered) {\n const entry = family.modes.find(\n (candidate) => candidate.id.toLowerCase() === target,\n );\n if (entry) return entry;\n }\n return undefined;\n}\n"],"names":["_a"],"mappings":"AAaO,MAAM,qBAAqB,CAAC,OAAO,SAAS,OAAO,MAAM;AAEhE,MAAM,gBAAgB,IAAI,IAAY,kBAAkB;AAEjD,SAAS,kBACd,OAC0B;AAC1B,SAAO,cAAc,IAAI,SAAS,EAAE;AACtC;AAEO,SAAS,qBACd,OAC6B;AAC7B,QAAM,CAAC,MAAM,KAAK,SAAS,IAAI,OAAO,YAAA,EAAc,MAAM,GAAG;AAC7D,SAAO,kBAAkB,MAAM,IAAI,SAAS;AAC9C;AAEO,SAAS,eACd,UACA,QACA,SACe;AArBV;AAsBL,MAAI,CAAC,QAAS,QAAO;AACrB,QAAM,WAAW,OAAO;AAAA,IACtB,CAAC,UAAA;AAxBE,UAAAA,KAAA;AAyBD,mBAAM,OAAO,aACbA,MAAA,MAAM,YAAN,gBAAAA,IAAe,WAAU,aACzB,WAAM,YAAN,mBAAe,QAAO;AAAA;AAAA,EAAA;AAE1B,QAAM,YAAU,aAAQ,MAAM,GAAG,EAAE,CAAC,MAApB,mBAAuB,WAAU;AACjD,QAAM,CAAC,QAAQ,WAAW,IAAI,QAAQ,MAAM,GAAG;AAC/C,QAAM,iBACJ,cAAc,KAAI,iCAAQ,kBAAiB,EAAE,KAAK,cAC9C,cACA;AACN,QAAM,QAAQ,eAAe,QAAQ,GAAG;AACxC,QAAM,YACJ,qCAAU,cACT,QAAQ,IAAI,eAAe,MAAM,GAAG,KAAK,IAAI;AAChD,MAAI,CAAC,SAAU,QAAO;AACtB,SAAO,SAAS;AAAA,IACd,CAAC,WACC,OAAO,aAAa,YACpB,OAAO,kBAAkB,YACzB,OAAO,MAAM,KAAK,CAAC,SAAS,KAAK,aAAa,QAAQ;AAAA,EAAA;AAE5D;AAEO,SAAS,cACd,UACA,MACA,iBACgC;AAChC,QAAM,UAAU,QAAQ,IAAI,YAAA;AAC5B,MAAI,CAAC,OAAQ,QAAO;AACpB,QAAM,UAAU,kBACZ;AAAA,IACE,GAAG,SAAS,OAAO,CAAC,WAAW,OAAO,OAAO,eAAe;AAAA,IAC5D,GAAG,SAAS,OAAO,CAAC,WAAW,OAAO,OAAO,eAAe;AAAA,EAAA,IAE9D;AACJ,aAAW,UAAU,SAAS;AAC5B,UAAM,QAAQ,OAAO,MAAM;AAAA,MACzB,CAAC,cAAc,UAAU,GAAG,kBAAkB;AAAA,IAAA;AAEhD,QAAI,MAAO,QAAO;AAAA,EACpB;AACA,SAAO;AACT;"}
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const collections = require("./collections.cjs");
|
|
4
|
+
const runtimeFamily = require("./runtime-family.cjs");
|
|
5
|
+
function reorderProfilePresets(profile, from, to) {
|
|
6
|
+
if (!profile.presets[from] || !profile.presets[to]) {
|
|
7
|
+
throw new Error(`cannot reorder preset from ${from} to ${to}`);
|
|
8
|
+
}
|
|
9
|
+
return { ...profile, presets: collections.moveItem(profile.presets, from, to) };
|
|
10
|
+
}
|
|
11
|
+
function presetForRef(ref, presets) {
|
|
12
|
+
const name = ref.trim().toLowerCase();
|
|
13
|
+
return presets.find((preset) => preset.id === ref) ?? presets.find((preset) => preset.name.trim().toLowerCase() === name);
|
|
14
|
+
}
|
|
15
|
+
function presetsOf(profile, presets) {
|
|
16
|
+
const found = [];
|
|
17
|
+
const missing = [];
|
|
18
|
+
for (const ref of profile.presets) {
|
|
19
|
+
const preset = presetForRef(ref, presets);
|
|
20
|
+
if (preset) found.push(preset);
|
|
21
|
+
else missing.push(ref);
|
|
22
|
+
}
|
|
23
|
+
return { found, missing };
|
|
24
|
+
}
|
|
25
|
+
function authoredRuntimeSpec(profile, presets) {
|
|
26
|
+
var _a, _b, _c, _d;
|
|
27
|
+
if (!profile) return {};
|
|
28
|
+
const runtime = {};
|
|
29
|
+
for (const preset of presetsOf(profile, presets).found) {
|
|
30
|
+
if ((_a = preset.spec.model) == null ? void 0 : _a.trim()) runtime.model = preset.spec.model;
|
|
31
|
+
if ((_b = preset.spec.mode) == null ? void 0 : _b.trim()) runtime.mode = preset.spec.mode;
|
|
32
|
+
}
|
|
33
|
+
if ((_c = profile.spec.model) == null ? void 0 : _c.trim()) runtime.model = profile.spec.model;
|
|
34
|
+
if ((_d = profile.spec.mode) == null ? void 0 : _d.trim()) runtime.mode = profile.spec.mode;
|
|
35
|
+
return runtime;
|
|
36
|
+
}
|
|
37
|
+
function referencedBy(preset, profiles) {
|
|
38
|
+
const name = preset.name.trim().toLowerCase();
|
|
39
|
+
return profiles.filter(
|
|
40
|
+
(profile) => profile.presets.some(
|
|
41
|
+
(ref) => ref === preset.id || ref.trim().toLowerCase() === name
|
|
42
|
+
)
|
|
43
|
+
).map((profile) => profile.name);
|
|
44
|
+
}
|
|
45
|
+
function duplicateName(name, existing) {
|
|
46
|
+
return nextNewName(`${name.trim()} copy`, existing);
|
|
47
|
+
}
|
|
48
|
+
function nextNewName(base, existing) {
|
|
49
|
+
const occupied = new Set(existing.map((item) => item.trim().toLowerCase()));
|
|
50
|
+
if (!occupied.has(base.toLowerCase())) return base;
|
|
51
|
+
let index = 2;
|
|
52
|
+
while (occupied.has(`${base} ${index}`.toLowerCase())) index += 1;
|
|
53
|
+
return `${base} ${index}`;
|
|
54
|
+
}
|
|
55
|
+
function uniqueName(name, id, records) {
|
|
56
|
+
const normalized = name.trim().toLowerCase();
|
|
57
|
+
if (!normalized) return false;
|
|
58
|
+
return !records.some(
|
|
59
|
+
(record) => record.id !== id && record.name.trim().toLowerCase() === normalized
|
|
60
|
+
);
|
|
61
|
+
}
|
|
62
|
+
function permissionTarget(spec, families) {
|
|
63
|
+
var _a;
|
|
64
|
+
const model = spec == null ? void 0 : spec.model;
|
|
65
|
+
const mode = runtimeFamily.runtimeModeFromModel(model) || ((_a = spec == null ? void 0 : spec.mode) == null ? void 0 : _a.trim());
|
|
66
|
+
const family = runtimeFamily.familyForModel(families, [], model);
|
|
67
|
+
if (!family || !mode || !runtimeFamily.modeOptionFor(families, mode, family.id)) {
|
|
68
|
+
return void 0;
|
|
69
|
+
}
|
|
70
|
+
return { provider: family.provider, mode };
|
|
71
|
+
}
|
|
72
|
+
function newProfileRecord(profiles, id) {
|
|
73
|
+
const name = nextNewName(
|
|
74
|
+
"New profile",
|
|
75
|
+
profiles.map((item) => item.name)
|
|
76
|
+
);
|
|
77
|
+
return { id, name, spec: {}, presets: [] };
|
|
78
|
+
}
|
|
79
|
+
function newPresetRecord(presets, id) {
|
|
80
|
+
const name = nextNewName(
|
|
81
|
+
"New preset",
|
|
82
|
+
presets.map((item) => item.name)
|
|
83
|
+
);
|
|
84
|
+
return { id, name, scope: "surface", spec: {} };
|
|
85
|
+
}
|
|
86
|
+
function duplicateRecord(records, sourceId, id) {
|
|
87
|
+
const source = records.find((record) => record.id === sourceId);
|
|
88
|
+
if (!source) throw new Error(`cannot duplicate missing record "${sourceId}"`);
|
|
89
|
+
return {
|
|
90
|
+
...structuredClone(source),
|
|
91
|
+
id,
|
|
92
|
+
name: duplicateName(
|
|
93
|
+
source.name,
|
|
94
|
+
records.map((record) => record.name)
|
|
95
|
+
)
|
|
96
|
+
};
|
|
97
|
+
}
|
|
98
|
+
function selectionAfterDelete(records, deletedId, selectedId) {
|
|
99
|
+
var _a;
|
|
100
|
+
if (selectedId !== deletedId) return selectedId;
|
|
101
|
+
return (_a = records.find((record) => record.id !== deletedId)) == null ? void 0 : _a.id;
|
|
102
|
+
}
|
|
103
|
+
function mergeRuntimeSpec(base, overlay) {
|
|
104
|
+
return mergeRecords(base, overlay);
|
|
105
|
+
}
|
|
106
|
+
function mergeRecords(base, overlay) {
|
|
107
|
+
const merged = structuredClone(base);
|
|
108
|
+
for (const [key, value] of Object.entries(overlay)) {
|
|
109
|
+
if (value === void 0) continue;
|
|
110
|
+
const current = merged[key];
|
|
111
|
+
merged[key] = collections.isPlainObject(current) && collections.isPlainObject(value) ? mergeRecords(current, value) : structuredClone(value);
|
|
112
|
+
}
|
|
113
|
+
return merged;
|
|
114
|
+
}
|
|
115
|
+
exports.authoredRuntimeSpec = authoredRuntimeSpec;
|
|
116
|
+
exports.duplicateName = duplicateName;
|
|
117
|
+
exports.duplicateRecord = duplicateRecord;
|
|
118
|
+
exports.mergeRuntimeSpec = mergeRuntimeSpec;
|
|
119
|
+
exports.newPresetRecord = newPresetRecord;
|
|
120
|
+
exports.newProfileRecord = newProfileRecord;
|
|
121
|
+
exports.nextNewName = nextNewName;
|
|
122
|
+
exports.permissionTarget = permissionTarget;
|
|
123
|
+
exports.presetForRef = presetForRef;
|
|
124
|
+
exports.presetsOf = presetsOf;
|
|
125
|
+
exports.referencedBy = referencedBy;
|
|
126
|
+
exports.reorderProfilePresets = reorderProfilePresets;
|
|
127
|
+
exports.selectionAfterDelete = selectionAfterDelete;
|
|
128
|
+
exports.uniqueName = uniqueName;
|
|
129
|
+
//# sourceMappingURL=runtime-profile-model.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtime-profile-model.cjs","sources":["../../src/lib/runtime-profile-model.ts"],"sourcesContent":["import { isPlainObject, moveItem } from \"./collections\";\nimport {\n type SpecRuntimeFamily,\n} from \"../data/runtime/runtime-mode\";\nimport {\n familyForModel,\n modeOptionFor,\n runtimeModeFromModel,\n} from \"./runtime-family\";\nimport type { RuntimePreset, RuntimeProfile } from \"../data/ai/runtime-profile\";\nimport type { AISpecRuntimeSpec } from \"../data/ai/SpecRuntimeEditor.model\";\nimport type { RuntimePermissionTarget } from \"../data/ai/runtime-profiles/types\";\n\nexport function reorderProfilePresets(\n profile: RuntimeProfile,\n from: number,\n to: number,\n): RuntimeProfile {\n if (!profile.presets[from] || !profile.presets[to]) {\n throw new Error(`cannot reorder preset from ${from} to ${to}`);\n }\n return { ...profile, presets: moveItem(profile.presets, from, to) };\n}\n\nexport function presetForRef(\n ref: string,\n presets: RuntimePreset[],\n): RuntimePreset | undefined {\n const name = ref.trim().toLowerCase();\n return (\n presets.find((preset) => preset.id === ref) ??\n presets.find((preset) => preset.name.trim().toLowerCase() === name)\n );\n}\n\nexport function presetsOf(\n profile: Pick<RuntimeProfile, \"presets\">,\n presets: RuntimePreset[],\n): { found: RuntimePreset[]; missing: string[] } {\n const found: RuntimePreset[] = [];\n const missing: string[] = [];\n for (const ref of profile.presets) {\n const preset = presetForRef(ref, presets);\n if (preset) found.push(preset);\n else missing.push(ref);\n }\n return { found, missing };\n}\n\nexport function authoredRuntimeSpec(\n profile: RuntimeProfile | undefined,\n presets: RuntimePreset[],\n): Pick<AISpecRuntimeSpec, \"model\" | \"mode\"> {\n if (!profile) return {};\n const runtime: Pick<AISpecRuntimeSpec, \"model\" | \"mode\"> = {};\n for (const preset of presetsOf(profile, presets).found) {\n if (preset.spec.model?.trim()) runtime.model = preset.spec.model;\n if (preset.spec.mode?.trim()) runtime.mode = preset.spec.mode;\n }\n if (profile.spec.model?.trim()) runtime.model = profile.spec.model;\n if (profile.spec.mode?.trim()) runtime.mode = profile.spec.mode;\n return runtime;\n}\n\nexport function referencedBy(\n preset: Pick<RuntimePreset, \"id\" | \"name\">,\n profiles: RuntimeProfile[],\n): string[] {\n const name = preset.name.trim().toLowerCase();\n return profiles\n .filter((profile) =>\n profile.presets.some(\n (ref) => ref === preset.id || ref.trim().toLowerCase() === name,\n ),\n )\n .map((profile) => profile.name);\n}\n\nexport function duplicateName(name: string, existing: string[]): string {\n return nextNewName(`${name.trim()} copy`, existing);\n}\n\nexport function nextNewName(base: string, existing: string[]): string {\n const occupied = new Set(existing.map((item) => item.trim().toLowerCase()));\n if (!occupied.has(base.toLowerCase())) return base;\n let index = 2;\n while (occupied.has(`${base} ${index}`.toLowerCase())) index += 1;\n return `${base} ${index}`;\n}\n\nexport function uniqueName(\n name: string,\n id: string,\n records: Array<{ id: string; name: string }>,\n) {\n const normalized = name.trim().toLowerCase();\n if (!normalized) return false;\n return !records.some(\n (record) =>\n record.id !== id && record.name.trim().toLowerCase() === normalized,\n );\n}\n\nexport function permissionTarget(\n spec: AISpecRuntimeSpec | undefined,\n families: SpecRuntimeFamily[],\n): RuntimePermissionTarget | undefined {\n const model = spec?.model;\n const mode = runtimeModeFromModel(model) || spec?.mode?.trim();\n const family = familyForModel(families, [], model);\n if (!family || !mode || !modeOptionFor(families, mode, family.id)) {\n return undefined;\n }\n return { provider: family.provider, mode };\n}\n\nexport function newProfileRecord(\n profiles: RuntimeProfile[],\n id: string,\n): RuntimeProfile {\n const name = nextNewName(\n \"New profile\",\n profiles.map((item) => item.name),\n );\n return { id, name, spec: {}, presets: [] };\n}\n\nexport function newPresetRecord(\n presets: RuntimePreset[],\n id: string,\n): RuntimePreset {\n const name = nextNewName(\n \"New preset\",\n presets.map((item) => item.name),\n );\n return { id, name, scope: \"surface\", spec: {} };\n}\n\nexport function duplicateRecord<T extends { id: string; name: string }>(\n records: T[],\n sourceId: string,\n id: string,\n): T {\n const source = records.find((record) => record.id === sourceId);\n if (!source) throw new Error(`cannot duplicate missing record \"${sourceId}\"`);\n return {\n ...structuredClone(source),\n id,\n name: duplicateName(\n source.name,\n records.map((record) => record.name),\n ),\n };\n}\n\nexport function selectionAfterDelete(\n records: Array<{ id: string }>,\n deletedId: string,\n selectedId: string | undefined,\n): string | undefined {\n if (selectedId !== deletedId) return selectedId;\n return records.find((record) => record.id !== deletedId)?.id;\n}\n\nexport function mergeRuntimeSpec<T extends AISpecRuntimeSpec>(\n base: AISpecRuntimeSpec,\n overlay: T,\n): T {\n return mergeRecords(base, overlay) as T;\n}\n\nfunction mergeRecords(\n base: Record<string, unknown>,\n overlay: Record<string, unknown>,\n): Record<string, unknown> {\n const merged: Record<string, unknown> = structuredClone(base);\n for (const [key, value] of Object.entries(overlay)) {\n if (value === undefined) continue;\n const current = merged[key];\n merged[key] =\n isPlainObject(current) && isPlainObject(value)\n ? mergeRecords(current, value)\n : structuredClone(value);\n }\n return merged;\n}\n"],"names":["moveItem","runtimeModeFromModel","familyForModel","modeOptionFor","isPlainObject"],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { SpecRuntimeFamily } from '../data/runtime/runtime-mode';
|
|
2
|
+
import { RuntimePreset, RuntimeProfile } from '../data/ai/runtime-profile';
|
|
3
|
+
import { AISpecRuntimeSpec } from '../data/ai/SpecRuntimeEditor.model';
|
|
4
|
+
import { RuntimePermissionTarget } from '../data/ai/runtime-profiles/types';
|
|
5
|
+
export declare function reorderProfilePresets(profile: RuntimeProfile, from: number, to: number): RuntimeProfile;
|
|
6
|
+
export declare function presetForRef(ref: string, presets: RuntimePreset[]): RuntimePreset | undefined;
|
|
7
|
+
export declare function presetsOf(profile: Pick<RuntimeProfile, "presets">, presets: RuntimePreset[]): {
|
|
8
|
+
found: RuntimePreset[];
|
|
9
|
+
missing: string[];
|
|
10
|
+
};
|
|
11
|
+
export declare function authoredRuntimeSpec(profile: RuntimeProfile | undefined, presets: RuntimePreset[]): Pick<AISpecRuntimeSpec, "model" | "mode">;
|
|
12
|
+
export declare function referencedBy(preset: Pick<RuntimePreset, "id" | "name">, profiles: RuntimeProfile[]): string[];
|
|
13
|
+
export declare function duplicateName(name: string, existing: string[]): string;
|
|
14
|
+
export declare function nextNewName(base: string, existing: string[]): string;
|
|
15
|
+
export declare function uniqueName(name: string, id: string, records: Array<{
|
|
16
|
+
id: string;
|
|
17
|
+
name: string;
|
|
18
|
+
}>): boolean;
|
|
19
|
+
export declare function permissionTarget(spec: AISpecRuntimeSpec | undefined, families: SpecRuntimeFamily[]): RuntimePermissionTarget | undefined;
|
|
20
|
+
export declare function newProfileRecord(profiles: RuntimeProfile[], id: string): RuntimeProfile;
|
|
21
|
+
export declare function newPresetRecord(presets: RuntimePreset[], id: string): RuntimePreset;
|
|
22
|
+
export declare function duplicateRecord<T extends {
|
|
23
|
+
id: string;
|
|
24
|
+
name: string;
|
|
25
|
+
}>(records: T[], sourceId: string, id: string): T;
|
|
26
|
+
export declare function selectionAfterDelete(records: Array<{
|
|
27
|
+
id: string;
|
|
28
|
+
}>, deletedId: string, selectedId: string | undefined): string | undefined;
|
|
29
|
+
export declare function mergeRuntimeSpec<T extends AISpecRuntimeSpec>(base: AISpecRuntimeSpec, overlay: T): T;
|
|
30
|
+
//# sourceMappingURL=runtime-profile-model.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtime-profile-model.d.ts","sourceRoot":"","sources":["../../src/lib/runtime-profile-model.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,iBAAiB,EACvB,MAAM,8BAA8B,CAAC;AAMtC,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAChF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AAC5E,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,mCAAmC,CAAC;AAEjF,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,cAAc,EACvB,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,MAAM,GACT,cAAc,CAKhB;AAED,wBAAgB,YAAY,CAC1B,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,aAAa,EAAE,GACvB,aAAa,GAAG,SAAS,CAM3B;AAED,wBAAgB,SAAS,CACvB,OAAO,EAAE,IAAI,CAAC,cAAc,EAAE,SAAS,CAAC,EACxC,OAAO,EAAE,aAAa,EAAE,GACvB;IAAE,KAAK,EAAE,aAAa,EAAE,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAA;CAAE,CAS/C;AAED,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,cAAc,GAAG,SAAS,EACnC,OAAO,EAAE,aAAa,EAAE,GACvB,IAAI,CAAC,iBAAiB,EAAE,OAAO,GAAG,MAAM,CAAC,CAU3C;AAED,wBAAgB,YAAY,CAC1B,MAAM,EAAE,IAAI,CAAC,aAAa,EAAE,IAAI,GAAG,MAAM,CAAC,EAC1C,QAAQ,EAAE,cAAc,EAAE,GACzB,MAAM,EAAE,CASV;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,CAEtE;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,CAMpE;AAED,wBAAgB,UAAU,CACxB,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,KAAK,CAAC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,WAQ7C;AAED,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,iBAAiB,GAAG,SAAS,EACnC,QAAQ,EAAE,iBAAiB,EAAE,GAC5B,uBAAuB,GAAG,SAAS,CAQrC;AAED,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,cAAc,EAAE,EAC1B,EAAE,EAAE,MAAM,GACT,cAAc,CAMhB;AAED,wBAAgB,eAAe,CAC7B,OAAO,EAAE,aAAa,EAAE,EACxB,EAAE,EAAE,MAAM,GACT,aAAa,CAMf;AAED,wBAAgB,eAAe,CAAC,CAAC,SAAS;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EACpE,OAAO,EAAE,CAAC,EAAE,EACZ,QAAQ,EAAE,MAAM,EAChB,EAAE,EAAE,MAAM,GACT,CAAC,CAWH;AAED,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,KAAK,CAAC;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,CAAC,EAC9B,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,GAAG,SAAS,GAC7B,MAAM,GAAG,SAAS,CAGpB;AAED,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,iBAAiB,EAC1D,IAAI,EAAE,iBAAiB,EACvB,OAAO,EAAE,CAAC,GACT,CAAC,CAEH"}
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
import { moveItem, isPlainObject } from "./collections.js";
|
|
2
|
+
import { runtimeModeFromModel, familyForModel, modeOptionFor } from "./runtime-family.js";
|
|
3
|
+
function reorderProfilePresets(profile, from, to) {
|
|
4
|
+
if (!profile.presets[from] || !profile.presets[to]) {
|
|
5
|
+
throw new Error(`cannot reorder preset from ${from} to ${to}`);
|
|
6
|
+
}
|
|
7
|
+
return { ...profile, presets: moveItem(profile.presets, from, to) };
|
|
8
|
+
}
|
|
9
|
+
function presetForRef(ref, presets) {
|
|
10
|
+
const name = ref.trim().toLowerCase();
|
|
11
|
+
return presets.find((preset) => preset.id === ref) ?? presets.find((preset) => preset.name.trim().toLowerCase() === name);
|
|
12
|
+
}
|
|
13
|
+
function presetsOf(profile, presets) {
|
|
14
|
+
const found = [];
|
|
15
|
+
const missing = [];
|
|
16
|
+
for (const ref of profile.presets) {
|
|
17
|
+
const preset = presetForRef(ref, presets);
|
|
18
|
+
if (preset) found.push(preset);
|
|
19
|
+
else missing.push(ref);
|
|
20
|
+
}
|
|
21
|
+
return { found, missing };
|
|
22
|
+
}
|
|
23
|
+
function authoredRuntimeSpec(profile, presets) {
|
|
24
|
+
var _a, _b, _c, _d;
|
|
25
|
+
if (!profile) return {};
|
|
26
|
+
const runtime = {};
|
|
27
|
+
for (const preset of presetsOf(profile, presets).found) {
|
|
28
|
+
if ((_a = preset.spec.model) == null ? void 0 : _a.trim()) runtime.model = preset.spec.model;
|
|
29
|
+
if ((_b = preset.spec.mode) == null ? void 0 : _b.trim()) runtime.mode = preset.spec.mode;
|
|
30
|
+
}
|
|
31
|
+
if ((_c = profile.spec.model) == null ? void 0 : _c.trim()) runtime.model = profile.spec.model;
|
|
32
|
+
if ((_d = profile.spec.mode) == null ? void 0 : _d.trim()) runtime.mode = profile.spec.mode;
|
|
33
|
+
return runtime;
|
|
34
|
+
}
|
|
35
|
+
function referencedBy(preset, profiles) {
|
|
36
|
+
const name = preset.name.trim().toLowerCase();
|
|
37
|
+
return profiles.filter(
|
|
38
|
+
(profile) => profile.presets.some(
|
|
39
|
+
(ref) => ref === preset.id || ref.trim().toLowerCase() === name
|
|
40
|
+
)
|
|
41
|
+
).map((profile) => profile.name);
|
|
42
|
+
}
|
|
43
|
+
function duplicateName(name, existing) {
|
|
44
|
+
return nextNewName(`${name.trim()} copy`, existing);
|
|
45
|
+
}
|
|
46
|
+
function nextNewName(base, existing) {
|
|
47
|
+
const occupied = new Set(existing.map((item) => item.trim().toLowerCase()));
|
|
48
|
+
if (!occupied.has(base.toLowerCase())) return base;
|
|
49
|
+
let index = 2;
|
|
50
|
+
while (occupied.has(`${base} ${index}`.toLowerCase())) index += 1;
|
|
51
|
+
return `${base} ${index}`;
|
|
52
|
+
}
|
|
53
|
+
function uniqueName(name, id, records) {
|
|
54
|
+
const normalized = name.trim().toLowerCase();
|
|
55
|
+
if (!normalized) return false;
|
|
56
|
+
return !records.some(
|
|
57
|
+
(record) => record.id !== id && record.name.trim().toLowerCase() === normalized
|
|
58
|
+
);
|
|
59
|
+
}
|
|
60
|
+
function permissionTarget(spec, families) {
|
|
61
|
+
var _a;
|
|
62
|
+
const model = spec == null ? void 0 : spec.model;
|
|
63
|
+
const mode = runtimeModeFromModel(model) || ((_a = spec == null ? void 0 : spec.mode) == null ? void 0 : _a.trim());
|
|
64
|
+
const family = familyForModel(families, [], model);
|
|
65
|
+
if (!family || !mode || !modeOptionFor(families, mode, family.id)) {
|
|
66
|
+
return void 0;
|
|
67
|
+
}
|
|
68
|
+
return { provider: family.provider, mode };
|
|
69
|
+
}
|
|
70
|
+
function newProfileRecord(profiles, id) {
|
|
71
|
+
const name = nextNewName(
|
|
72
|
+
"New profile",
|
|
73
|
+
profiles.map((item) => item.name)
|
|
74
|
+
);
|
|
75
|
+
return { id, name, spec: {}, presets: [] };
|
|
76
|
+
}
|
|
77
|
+
function newPresetRecord(presets, id) {
|
|
78
|
+
const name = nextNewName(
|
|
79
|
+
"New preset",
|
|
80
|
+
presets.map((item) => item.name)
|
|
81
|
+
);
|
|
82
|
+
return { id, name, scope: "surface", spec: {} };
|
|
83
|
+
}
|
|
84
|
+
function duplicateRecord(records, sourceId, id) {
|
|
85
|
+
const source = records.find((record) => record.id === sourceId);
|
|
86
|
+
if (!source) throw new Error(`cannot duplicate missing record "${sourceId}"`);
|
|
87
|
+
return {
|
|
88
|
+
...structuredClone(source),
|
|
89
|
+
id,
|
|
90
|
+
name: duplicateName(
|
|
91
|
+
source.name,
|
|
92
|
+
records.map((record) => record.name)
|
|
93
|
+
)
|
|
94
|
+
};
|
|
95
|
+
}
|
|
96
|
+
function selectionAfterDelete(records, deletedId, selectedId) {
|
|
97
|
+
var _a;
|
|
98
|
+
if (selectedId !== deletedId) return selectedId;
|
|
99
|
+
return (_a = records.find((record) => record.id !== deletedId)) == null ? void 0 : _a.id;
|
|
100
|
+
}
|
|
101
|
+
function mergeRuntimeSpec(base, overlay) {
|
|
102
|
+
return mergeRecords(base, overlay);
|
|
103
|
+
}
|
|
104
|
+
function mergeRecords(base, overlay) {
|
|
105
|
+
const merged = structuredClone(base);
|
|
106
|
+
for (const [key, value] of Object.entries(overlay)) {
|
|
107
|
+
if (value === void 0) continue;
|
|
108
|
+
const current = merged[key];
|
|
109
|
+
merged[key] = isPlainObject(current) && isPlainObject(value) ? mergeRecords(current, value) : structuredClone(value);
|
|
110
|
+
}
|
|
111
|
+
return merged;
|
|
112
|
+
}
|
|
113
|
+
export {
|
|
114
|
+
authoredRuntimeSpec,
|
|
115
|
+
duplicateName,
|
|
116
|
+
duplicateRecord,
|
|
117
|
+
mergeRuntimeSpec,
|
|
118
|
+
newPresetRecord,
|
|
119
|
+
newProfileRecord,
|
|
120
|
+
nextNewName,
|
|
121
|
+
permissionTarget,
|
|
122
|
+
presetForRef,
|
|
123
|
+
presetsOf,
|
|
124
|
+
referencedBy,
|
|
125
|
+
reorderProfilePresets,
|
|
126
|
+
selectionAfterDelete,
|
|
127
|
+
uniqueName
|
|
128
|
+
};
|
|
129
|
+
//# sourceMappingURL=runtime-profile-model.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtime-profile-model.js","sources":["../../src/lib/runtime-profile-model.ts"],"sourcesContent":["import { isPlainObject, moveItem } from \"./collections\";\nimport {\n type SpecRuntimeFamily,\n} from \"../data/runtime/runtime-mode\";\nimport {\n familyForModel,\n modeOptionFor,\n runtimeModeFromModel,\n} from \"./runtime-family\";\nimport type { RuntimePreset, RuntimeProfile } from \"../data/ai/runtime-profile\";\nimport type { AISpecRuntimeSpec } from \"../data/ai/SpecRuntimeEditor.model\";\nimport type { RuntimePermissionTarget } from \"../data/ai/runtime-profiles/types\";\n\nexport function reorderProfilePresets(\n profile: RuntimeProfile,\n from: number,\n to: number,\n): RuntimeProfile {\n if (!profile.presets[from] || !profile.presets[to]) {\n throw new Error(`cannot reorder preset from ${from} to ${to}`);\n }\n return { ...profile, presets: moveItem(profile.presets, from, to) };\n}\n\nexport function presetForRef(\n ref: string,\n presets: RuntimePreset[],\n): RuntimePreset | undefined {\n const name = ref.trim().toLowerCase();\n return (\n presets.find((preset) => preset.id === ref) ??\n presets.find((preset) => preset.name.trim().toLowerCase() === name)\n );\n}\n\nexport function presetsOf(\n profile: Pick<RuntimeProfile, \"presets\">,\n presets: RuntimePreset[],\n): { found: RuntimePreset[]; missing: string[] } {\n const found: RuntimePreset[] = [];\n const missing: string[] = [];\n for (const ref of profile.presets) {\n const preset = presetForRef(ref, presets);\n if (preset) found.push(preset);\n else missing.push(ref);\n }\n return { found, missing };\n}\n\nexport function authoredRuntimeSpec(\n profile: RuntimeProfile | undefined,\n presets: RuntimePreset[],\n): Pick<AISpecRuntimeSpec, \"model\" | \"mode\"> {\n if (!profile) return {};\n const runtime: Pick<AISpecRuntimeSpec, \"model\" | \"mode\"> = {};\n for (const preset of presetsOf(profile, presets).found) {\n if (preset.spec.model?.trim()) runtime.model = preset.spec.model;\n if (preset.spec.mode?.trim()) runtime.mode = preset.spec.mode;\n }\n if (profile.spec.model?.trim()) runtime.model = profile.spec.model;\n if (profile.spec.mode?.trim()) runtime.mode = profile.spec.mode;\n return runtime;\n}\n\nexport function referencedBy(\n preset: Pick<RuntimePreset, \"id\" | \"name\">,\n profiles: RuntimeProfile[],\n): string[] {\n const name = preset.name.trim().toLowerCase();\n return profiles\n .filter((profile) =>\n profile.presets.some(\n (ref) => ref === preset.id || ref.trim().toLowerCase() === name,\n ),\n )\n .map((profile) => profile.name);\n}\n\nexport function duplicateName(name: string, existing: string[]): string {\n return nextNewName(`${name.trim()} copy`, existing);\n}\n\nexport function nextNewName(base: string, existing: string[]): string {\n const occupied = new Set(existing.map((item) => item.trim().toLowerCase()));\n if (!occupied.has(base.toLowerCase())) return base;\n let index = 2;\n while (occupied.has(`${base} ${index}`.toLowerCase())) index += 1;\n return `${base} ${index}`;\n}\n\nexport function uniqueName(\n name: string,\n id: string,\n records: Array<{ id: string; name: string }>,\n) {\n const normalized = name.trim().toLowerCase();\n if (!normalized) return false;\n return !records.some(\n (record) =>\n record.id !== id && record.name.trim().toLowerCase() === normalized,\n );\n}\n\nexport function permissionTarget(\n spec: AISpecRuntimeSpec | undefined,\n families: SpecRuntimeFamily[],\n): RuntimePermissionTarget | undefined {\n const model = spec?.model;\n const mode = runtimeModeFromModel(model) || spec?.mode?.trim();\n const family = familyForModel(families, [], model);\n if (!family || !mode || !modeOptionFor(families, mode, family.id)) {\n return undefined;\n }\n return { provider: family.provider, mode };\n}\n\nexport function newProfileRecord(\n profiles: RuntimeProfile[],\n id: string,\n): RuntimeProfile {\n const name = nextNewName(\n \"New profile\",\n profiles.map((item) => item.name),\n );\n return { id, name, spec: {}, presets: [] };\n}\n\nexport function newPresetRecord(\n presets: RuntimePreset[],\n id: string,\n): RuntimePreset {\n const name = nextNewName(\n \"New preset\",\n presets.map((item) => item.name),\n );\n return { id, name, scope: \"surface\", spec: {} };\n}\n\nexport function duplicateRecord<T extends { id: string; name: string }>(\n records: T[],\n sourceId: string,\n id: string,\n): T {\n const source = records.find((record) => record.id === sourceId);\n if (!source) throw new Error(`cannot duplicate missing record \"${sourceId}\"`);\n return {\n ...structuredClone(source),\n id,\n name: duplicateName(\n source.name,\n records.map((record) => record.name),\n ),\n };\n}\n\nexport function selectionAfterDelete(\n records: Array<{ id: string }>,\n deletedId: string,\n selectedId: string | undefined,\n): string | undefined {\n if (selectedId !== deletedId) return selectedId;\n return records.find((record) => record.id !== deletedId)?.id;\n}\n\nexport function mergeRuntimeSpec<T extends AISpecRuntimeSpec>(\n base: AISpecRuntimeSpec,\n overlay: T,\n): T {\n return mergeRecords(base, overlay) as T;\n}\n\nfunction mergeRecords(\n base: Record<string, unknown>,\n overlay: Record<string, unknown>,\n): Record<string, unknown> {\n const merged: Record<string, unknown> = structuredClone(base);\n for (const [key, value] of Object.entries(overlay)) {\n if (value === undefined) continue;\n const current = merged[key];\n merged[key] =\n isPlainObject(current) && isPlainObject(value)\n ? mergeRecords(current, value)\n : structuredClone(value);\n }\n return merged;\n}\n"],"names":[],"mappings":";;AAaO,SAAS,sBACd,SACA,MACA,IACgB;AAChB,MAAI,CAAC,QAAQ,QAAQ,IAAI,KAAK,CAAC,QAAQ,QAAQ,EAAE,GAAG;AAClD,UAAM,IAAI,MAAM,8BAA8B,IAAI,OAAO,EAAE,EAAE;AAAA,EAC/D;AACA,SAAO,EAAE,GAAG,SAAS,SAAS,SAAS,QAAQ,SAAS,MAAM,EAAE,EAAA;AAClE;AAEO,SAAS,aACd,KACA,SAC2B;AAC3B,QAAM,OAAO,IAAI,KAAA,EAAO,YAAA;AACxB,SACE,QAAQ,KAAK,CAAC,WAAW,OAAO,OAAO,GAAG,KAC1C,QAAQ,KAAK,CAAC,WAAW,OAAO,KAAK,OAAO,YAAA,MAAkB,IAAI;AAEtE;AAEO,SAAS,UACd,SACA,SAC+C;AAC/C,QAAM,QAAyB,CAAA;AAC/B,QAAM,UAAoB,CAAA;AAC1B,aAAW,OAAO,QAAQ,SAAS;AACjC,UAAM,SAAS,aAAa,KAAK,OAAO;AACxC,QAAI,OAAQ,OAAM,KAAK,MAAM;AAAA,QACxB,SAAQ,KAAK,GAAG;AAAA,EACvB;AACA,SAAO,EAAE,OAAO,QAAA;AAClB;AAEO,SAAS,oBACd,SACA,SAC2C;;AAC3C,MAAI,CAAC,QAAS,QAAO,CAAA;AACrB,QAAM,UAAqD,CAAA;AAC3D,aAAW,UAAU,UAAU,SAAS,OAAO,EAAE,OAAO;AACtD,SAAI,YAAO,KAAK,UAAZ,mBAAmB,OAAQ,SAAQ,QAAQ,OAAO,KAAK;AAC3D,SAAI,YAAO,KAAK,SAAZ,mBAAkB,OAAQ,SAAQ,OAAO,OAAO,KAAK;AAAA,EAC3D;AACA,OAAI,aAAQ,KAAK,UAAb,mBAAoB,OAAQ,SAAQ,QAAQ,QAAQ,KAAK;AAC7D,OAAI,aAAQ,KAAK,SAAb,mBAAmB,OAAQ,SAAQ,OAAO,QAAQ,KAAK;AAC3D,SAAO;AACT;AAEO,SAAS,aACd,QACA,UACU;AACV,QAAM,OAAO,OAAO,KAAK,KAAA,EAAO,YAAA;AAChC,SAAO,SACJ;AAAA,IAAO,CAAC,YACP,QAAQ,QAAQ;AAAA,MACd,CAAC,QAAQ,QAAQ,OAAO,MAAM,IAAI,KAAA,EAAO,kBAAkB;AAAA,IAAA;AAAA,EAC7D,EAED,IAAI,CAAC,YAAY,QAAQ,IAAI;AAClC;AAEO,SAAS,cAAc,MAAc,UAA4B;AACtE,SAAO,YAAY,GAAG,KAAK,KAAA,CAAM,SAAS,QAAQ;AACpD;AAEO,SAAS,YAAY,MAAc,UAA4B;AACpE,QAAM,WAAW,IAAI,IAAI,SAAS,IAAI,CAAC,SAAS,KAAK,OAAO,YAAA,CAAa,CAAC;AAC1E,MAAI,CAAC,SAAS,IAAI,KAAK,YAAA,CAAa,EAAG,QAAO;AAC9C,MAAI,QAAQ;AACZ,SAAO,SAAS,IAAI,GAAG,IAAI,IAAI,KAAK,GAAG,aAAa,EAAG,UAAS;AAChE,SAAO,GAAG,IAAI,IAAI,KAAK;AACzB;AAEO,SAAS,WACd,MACA,IACA,SACA;AACA,QAAM,aAAa,KAAK,KAAA,EAAO,YAAA;AAC/B,MAAI,CAAC,WAAY,QAAO;AACxB,SAAO,CAAC,QAAQ;AAAA,IACd,CAAC,WACC,OAAO,OAAO,MAAM,OAAO,KAAK,OAAO,kBAAkB;AAAA,EAAA;AAE/D;AAEO,SAAS,iBACd,MACA,UACqC;;AACrC,QAAM,QAAQ,6BAAM;AACpB,QAAM,OAAO,qBAAqB,KAAK,OAAK,kCAAM,SAAN,mBAAY;AACxD,QAAM,SAAS,eAAe,UAAU,CAAA,GAAI,KAAK;AACjD,MAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,cAAc,UAAU,MAAM,OAAO,EAAE,GAAG;AACjE,WAAO;AAAA,EACT;AACA,SAAO,EAAE,UAAU,OAAO,UAAU,KAAA;AACtC;AAEO,SAAS,iBACd,UACA,IACgB;AAChB,QAAM,OAAO;AAAA,IACX;AAAA,IACA,SAAS,IAAI,CAAC,SAAS,KAAK,IAAI;AAAA,EAAA;AAElC,SAAO,EAAE,IAAI,MAAM,MAAM,CAAA,GAAI,SAAS,GAAC;AACzC;AAEO,SAAS,gBACd,SACA,IACe;AACf,QAAM,OAAO;AAAA,IACX;AAAA,IACA,QAAQ,IAAI,CAAC,SAAS,KAAK,IAAI;AAAA,EAAA;AAEjC,SAAO,EAAE,IAAI,MAAM,OAAO,WAAW,MAAM,GAAC;AAC9C;AAEO,SAAS,gBACd,SACA,UACA,IACG;AACH,QAAM,SAAS,QAAQ,KAAK,CAAC,WAAW,OAAO,OAAO,QAAQ;AAC9D,MAAI,CAAC,OAAQ,OAAM,IAAI,MAAM,oCAAoC,QAAQ,GAAG;AAC5E,SAAO;AAAA,IACL,GAAG,gBAAgB,MAAM;AAAA,IACzB;AAAA,IACA,MAAM;AAAA,MACJ,OAAO;AAAA,MACP,QAAQ,IAAI,CAAC,WAAW,OAAO,IAAI;AAAA,IAAA;AAAA,EACrC;AAEJ;AAEO,SAAS,qBACd,SACA,WACA,YACoB;;AACpB,MAAI,eAAe,UAAW,QAAO;AACrC,UAAO,aAAQ,KAAK,CAAC,WAAW,OAAO,OAAO,SAAS,MAAhD,mBAAmD;AAC5D;AAEO,SAAS,iBACd,MACA,SACG;AACH,SAAO,aAAa,MAAM,OAAO;AACnC;AAEA,SAAS,aACP,MACA,SACyB;AACzB,QAAM,SAAkC,gBAAgB,IAAI;AAC5D,aAAW,CAAC,KAAK,KAAK,KAAK,OAAO,QAAQ,OAAO,GAAG;AAClD,QAAI,UAAU,OAAW;AACzB,UAAM,UAAU,OAAO,GAAG;AAC1B,WAAO,GAAG,IACR,cAAc,OAAO,KAAK,cAAc,KAAK,IACzC,aAAa,SAAS,KAAK,IAC3B,gBAAgB,KAAK;AAAA,EAC7B;AACA,SAAO;AACT;"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Monaco } from '@monaco-editor/react';
|
|
2
2
|
import { MonacoEditorProps } from './types';
|
|
3
|
-
export declare function MonacoEditor({ value, onChange, language, path, height, beforeMount, onMount, onValidate, }: MonacoEditorProps): import("react
|
|
3
|
+
export declare function MonacoEditor({ value, onChange, language, path, height, beforeMount, onMount, onValidate, }: MonacoEditorProps): import("react").JSX.Element;
|
|
4
4
|
export type { Monaco };
|
|
5
5
|
//# sourceMappingURL=MonacoEditor.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MonacoEditor.d.ts","sourceRoot":"","sources":["../../src/monaco/MonacoEditor.tsx"],"names":[],"mappings":"AAAA,OAAe,EAAU,KAAK,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAInE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAIjD,wBAAgB,YAAY,CAAC,EAC3B,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,IAAI,EACJ,MAAgB,EAChB,WAAW,EACX,OAAO,EACP,UAAU,GACX,EAAE,iBAAiB
|
|
1
|
+
{"version":3,"file":"MonacoEditor.d.ts","sourceRoot":"","sources":["../../src/monaco/MonacoEditor.tsx"],"names":[],"mappings":"AAAA,OAAe,EAAU,KAAK,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAInE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAIjD,wBAAgB,YAAY,CAAC,EAC3B,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,IAAI,EACJ,MAAgB,EAChB,WAAW,EACX,OAAO,EACP,UAAU,GACX,EAAE,iBAAiB,+BAqCnB;AAED,YAAY,EAAE,MAAM,EAAE,CAAC"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { MonacoProviderProps } from './types';
|
|
2
|
-
export declare function MonacoProvider({ getWorker, children }: MonacoProviderProps): import("react
|
|
2
|
+
export declare function MonacoProvider({ getWorker, children }: MonacoProviderProps): import("react").JSX.Element;
|
|
3
3
|
//# sourceMappingURL=MonacoProvider.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MonacoProvider.d.ts","sourceRoot":"","sources":["../../src/monaco/MonacoProvider.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAGnD,wBAAgB,cAAc,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,mBAAmB
|
|
1
|
+
{"version":3,"file":"MonacoProvider.d.ts","sourceRoot":"","sources":["../../src/monaco/MonacoProvider.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAGnD,wBAAgB,cAAc,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,mBAAmB,+BAiB1E"}
|
|
@@ -11,10 +11,10 @@ function MonacoSchemaEditor(props) {
|
|
|
11
11
|
const { value, language, path, schema, schemaUri, onValidationChange } = props;
|
|
12
12
|
const [retry, setRetry] = react.useState(0);
|
|
13
13
|
const workers = useMonacoWorker.useMonacoWorkerFactory();
|
|
14
|
-
const cleanup = react.useRef();
|
|
15
|
-
const markerCleanup = react.useRef();
|
|
16
|
-
const disposeTimer = react.useRef();
|
|
17
|
-
const initialValidationTimer = react.useRef();
|
|
14
|
+
const cleanup = react.useRef(void 0);
|
|
15
|
+
const markerCleanup = react.useRef(void 0);
|
|
16
|
+
const disposeTimer = react.useRef(void 0);
|
|
17
|
+
const initialValidationTimer = react.useRef(void 0);
|
|
18
18
|
const model = react.useRef(null);
|
|
19
19
|
const normalized = react.useMemo(() => schemaNormalizer.normalizeSchemaForMonaco(schema), [schema]);
|
|
20
20
|
react.useEffect(
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MonacoSchemaEditor.cjs","sources":["../../src/monaco/MonacoSchemaEditor.tsx"],"sourcesContent":["import { useEffect, useMemo, useRef, useState } from \"react\";\nimport type { editor, Uri } from \"monaco-editor\";\nimport { Button } from \"../components/button\";\nimport { MonacoEditor, type Monaco } from \"./MonacoEditor\";\nimport { useMonacoWorkerFactory } from \"./use-monaco-worker\";\nimport { normalizeSchemaForMonaco } from \"./schema-normalizer\";\nimport { registerMonacoSchema } from \"./schema-registry\";\nimport type { MonacoSchemaEditorProps, MonacoValidationState } from \"./types\";\n\nexport function MonacoSchemaEditor(props: MonacoSchemaEditorProps) {\n const { value, language, path, schema, schemaUri, onValidationChange } = props;\n const [retry, setRetry] = useState(0);\n const workers = useMonacoWorkerFactory();\n const cleanup = useRef<(() => void) | undefined>();\n const markerCleanup = useRef<(() => void) | undefined>();\n const disposeTimer = useRef<ReturnType<typeof setTimeout> | undefined>();\n const initialValidationTimer = useRef<ReturnType<typeof setTimeout> | undefined>();\n const model = useRef<editor.ITextModel | null>(null);\n const normalized = useMemo(() => normalizeSchemaForMonaco(schema), [schema]);\n\n useEffect(\n () => {\n if (disposeTimer.current) clearTimeout(disposeTimer.current);\n return () => {\n markerCleanup.current?.();\n cleanup.current?.();\n if (initialValidationTimer.current) clearTimeout(initialValidationTimer.current);\n const current = model.current;\n disposeTimer.current = setTimeout(() => current?.dispose(), 0);\n };\n },\n [],\n );\n useEffect(() => {\n onValidationChange(\n !normalized.schema\n ? {\n status: \"unavailable\",\n errors: [`Unsupported schema keywords: ${normalized.unsupportedKeywords.join(\", \")}`],\n }\n : workers\n ? { status: \"loading\", errors: [] }\n : { status: \"unavailable\", errors: [\"Monaco workers are not configured.\"] },\n );\n }, [value, retry, workers, onValidationChange, normalized.schema]);\n\n if (!workers) {\n return <Unavailable errors={[\"Monaco workers are not configured.\"]} onRetry={() => setRetry((n) => n + 1)} />;\n }\n\n if (!normalized.schema) {\n const errors = [`Unsupported schema keywords: ${normalized.unsupportedKeywords.join(\", \")}`];\n return <Unavailable errors={errors} onRetry={() => setRetry((n) => n + 1)} />;\n }\n\n const setValidation = (markers: editor.IMarker[]) => {\n const current = model.current;\n if (!current) return;\n const version = current.getVersionId();\n queueMicrotask(() => {\n if (model.current?.getVersionId() !== version) return;\n // Monaco YAML reports JSON Schema violations (for example enum mismatches)\n // as warnings, while malformed YAML is reported as an error. Both mean the\n // document is not valid for submission; hints and informational markers do not.\n const errors = markers.filter((marker) => marker.severity >= 4).map((marker) => marker.message);\n onValidationChange({ status: errors.length > 0 ? \"invalid\" : \"valid\", errors });\n });\n };\n\n const prepare = (monaco: Monaco) => {\n cleanup.current?.();\n cleanup.current = registerMonacoSchema(monaco, language, path, schemaUri, normalized.schema!);\n };\n\n const mount = (instance: editor.IStandaloneCodeEditor, monaco: Monaco) => {\n if (disposeTimer.current) clearTimeout(disposeTimer.current);\n model.current = instance.getModel();\n markerCleanup.current?.();\n const disposable = monaco.editor.onDidChangeMarkers((uris: readonly Uri[]) => {\n const current = model.current;\n if (!current || !uris.some((uri) => uri.toString() === current.uri.toString())) return;\n setValidation(monaco.editor.getModelMarkers({ resource: current.uri }));\n });\n markerCleanup.current = () => disposable.dispose();\n // The language service doesn't emit a marker-change event when an initial\n // document is valid (the marker set starts and remains empty). Give the\n // worker its normal validation window, then explicitly complete that empty\n // result so forms cannot remain stuck in the loading state.\n initialValidationTimer.current = setTimeout(() => {\n const current = model.current;\n if (current) setValidation(monaco.editor.getModelMarkers({ resource: current.uri }));\n }, 1_500);\n };\n\n return (\n <MonacoEditor\n key={retry}\n {...props}\n beforeMount={(monaco) => {\n try {\n prepare(monaco);\n } catch (error) {\n onValidationChange({\n status: \"unavailable\",\n errors: [error instanceof Error ? error.message : String(error)],\n });\n }\n }}\n onMount={mount}\n onValidate={setValidation}\n />\n );\n}\n\nfunction Unavailable({ errors, onRetry }: { errors: string[]; onRetry: () => void }) {\n return (\n <div role=\"alert\" className=\"space-y-2 rounded-md border border-destructive/40 p-3 text-sm text-destructive\">\n <div>{errors.join(\"; \")}</div>\n <Button type=\"button\" variant=\"outline\" size=\"sm\" onClick={onRetry}>Retry editor</Button>\n </div>\n );\n}\n\nexport type { MonacoValidationState };\n"],"names":["useState","useMonacoWorkerFactory","useRef","useMemo","normalizeSchemaForMonaco","useEffect","jsx","registerMonacoSchema","MonacoEditor","jsxs","Button"],"mappings":";;;;;;;;;AASO,SAAS,mBAAmB,OAAgC;AACjE,QAAM,EAAE,OAAO,UAAU,MAAM,QAAQ,WAAW,uBAAuB;AACzE,QAAM,CAAC,OAAO,QAAQ,IAAIA,MAAAA,SAAS,CAAC;AACpC,QAAM,UAAUC,gBAAAA,uBAAA;AAChB,QAAM,UAAUC,MAAAA,
|
|
1
|
+
{"version":3,"file":"MonacoSchemaEditor.cjs","sources":["../../src/monaco/MonacoSchemaEditor.tsx"],"sourcesContent":["import { useEffect, useMemo, useRef, useState } from \"react\";\nimport type { editor, Uri } from \"monaco-editor\";\nimport { Button } from \"../components/button\";\nimport { MonacoEditor, type Monaco } from \"./MonacoEditor\";\nimport { useMonacoWorkerFactory } from \"./use-monaco-worker\";\nimport { normalizeSchemaForMonaco } from \"./schema-normalizer\";\nimport { registerMonacoSchema } from \"./schema-registry\";\nimport type { MonacoSchemaEditorProps, MonacoValidationState } from \"./types\";\n\nexport function MonacoSchemaEditor(props: MonacoSchemaEditorProps) {\n const { value, language, path, schema, schemaUri, onValidationChange } = props;\n const [retry, setRetry] = useState(0);\n const workers = useMonacoWorkerFactory();\n const cleanup = useRef<(() => void) | undefined>(undefined);\n const markerCleanup = useRef<(() => void) | undefined>(undefined);\n const disposeTimer = useRef<ReturnType<typeof setTimeout> | undefined>(undefined);\n const initialValidationTimer = useRef<ReturnType<typeof setTimeout> | undefined>(undefined);\n const model = useRef<editor.ITextModel | null>(null);\n const normalized = useMemo(() => normalizeSchemaForMonaco(schema), [schema]);\n\n useEffect(\n () => {\n if (disposeTimer.current) clearTimeout(disposeTimer.current);\n return () => {\n markerCleanup.current?.();\n cleanup.current?.();\n if (initialValidationTimer.current) clearTimeout(initialValidationTimer.current);\n const current = model.current;\n disposeTimer.current = setTimeout(() => current?.dispose(), 0);\n };\n },\n [],\n );\n useEffect(() => {\n onValidationChange(\n !normalized.schema\n ? {\n status: \"unavailable\",\n errors: [`Unsupported schema keywords: ${normalized.unsupportedKeywords.join(\", \")}`],\n }\n : workers\n ? { status: \"loading\", errors: [] }\n : { status: \"unavailable\", errors: [\"Monaco workers are not configured.\"] },\n );\n }, [value, retry, workers, onValidationChange, normalized.schema]);\n\n if (!workers) {\n return <Unavailable errors={[\"Monaco workers are not configured.\"]} onRetry={() => setRetry((n) => n + 1)} />;\n }\n\n if (!normalized.schema) {\n const errors = [`Unsupported schema keywords: ${normalized.unsupportedKeywords.join(\", \")}`];\n return <Unavailable errors={errors} onRetry={() => setRetry((n) => n + 1)} />;\n }\n\n const setValidation = (markers: editor.IMarker[]) => {\n const current = model.current;\n if (!current) return;\n const version = current.getVersionId();\n queueMicrotask(() => {\n if (model.current?.getVersionId() !== version) return;\n // Monaco YAML reports JSON Schema violations (for example enum mismatches)\n // as warnings, while malformed YAML is reported as an error. Both mean the\n // document is not valid for submission; hints and informational markers do not.\n const errors = markers.filter((marker) => marker.severity >= 4).map((marker) => marker.message);\n onValidationChange({ status: errors.length > 0 ? \"invalid\" : \"valid\", errors });\n });\n };\n\n const prepare = (monaco: Monaco) => {\n cleanup.current?.();\n cleanup.current = registerMonacoSchema(monaco, language, path, schemaUri, normalized.schema!);\n };\n\n const mount = (instance: editor.IStandaloneCodeEditor, monaco: Monaco) => {\n if (disposeTimer.current) clearTimeout(disposeTimer.current);\n model.current = instance.getModel();\n markerCleanup.current?.();\n const disposable = monaco.editor.onDidChangeMarkers((uris: readonly Uri[]) => {\n const current = model.current;\n if (!current || !uris.some((uri) => uri.toString() === current.uri.toString())) return;\n setValidation(monaco.editor.getModelMarkers({ resource: current.uri }));\n });\n markerCleanup.current = () => disposable.dispose();\n // The language service doesn't emit a marker-change event when an initial\n // document is valid (the marker set starts and remains empty). Give the\n // worker its normal validation window, then explicitly complete that empty\n // result so forms cannot remain stuck in the loading state.\n initialValidationTimer.current = setTimeout(() => {\n const current = model.current;\n if (current) setValidation(monaco.editor.getModelMarkers({ resource: current.uri }));\n }, 1_500);\n };\n\n return (\n <MonacoEditor\n key={retry}\n {...props}\n beforeMount={(monaco) => {\n try {\n prepare(monaco);\n } catch (error) {\n onValidationChange({\n status: \"unavailable\",\n errors: [error instanceof Error ? error.message : String(error)],\n });\n }\n }}\n onMount={mount}\n onValidate={setValidation}\n />\n );\n}\n\nfunction Unavailable({ errors, onRetry }: { errors: string[]; onRetry: () => void }) {\n return (\n <div role=\"alert\" className=\"space-y-2 rounded-md border border-destructive/40 p-3 text-sm text-destructive\">\n <div>{errors.join(\"; \")}</div>\n <Button type=\"button\" variant=\"outline\" size=\"sm\" onClick={onRetry}>Retry editor</Button>\n </div>\n );\n}\n\nexport type { MonacoValidationState };\n"],"names":["useState","useMonacoWorkerFactory","useRef","useMemo","normalizeSchemaForMonaco","useEffect","jsx","registerMonacoSchema","MonacoEditor","jsxs","Button"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { MonacoSchemaEditorProps, MonacoValidationState } from './types';
|
|
2
|
-
export declare function MonacoSchemaEditor(props: MonacoSchemaEditorProps): import("react
|
|
2
|
+
export declare function MonacoSchemaEditor(props: MonacoSchemaEditorProps): import("react").JSX.Element;
|
|
3
3
|
export type { MonacoValidationState };
|
|
4
4
|
//# sourceMappingURL=MonacoSchemaEditor.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MonacoSchemaEditor.d.ts","sourceRoot":"","sources":["../../src/monaco/MonacoSchemaEditor.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAE9E,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,uBAAuB
|
|
1
|
+
{"version":3,"file":"MonacoSchemaEditor.d.ts","sourceRoot":"","sources":["../../src/monaco/MonacoSchemaEditor.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAE9E,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,uBAAuB,+BAuGhE;AAWD,YAAY,EAAE,qBAAqB,EAAE,CAAC"}
|
|
@@ -9,10 +9,10 @@ function MonacoSchemaEditor(props) {
|
|
|
9
9
|
const { value, language, path, schema, schemaUri, onValidationChange } = props;
|
|
10
10
|
const [retry, setRetry] = useState(0);
|
|
11
11
|
const workers = useMonacoWorkerFactory();
|
|
12
|
-
const cleanup = useRef();
|
|
13
|
-
const markerCleanup = useRef();
|
|
14
|
-
const disposeTimer = useRef();
|
|
15
|
-
const initialValidationTimer = useRef();
|
|
12
|
+
const cleanup = useRef(void 0);
|
|
13
|
+
const markerCleanup = useRef(void 0);
|
|
14
|
+
const disposeTimer = useRef(void 0);
|
|
15
|
+
const initialValidationTimer = useRef(void 0);
|
|
16
16
|
const model = useRef(null);
|
|
17
17
|
const normalized = useMemo(() => normalizeSchemaForMonaco(schema), [schema]);
|
|
18
18
|
useEffect(
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MonacoSchemaEditor.js","sources":["../../src/monaco/MonacoSchemaEditor.tsx"],"sourcesContent":["import { useEffect, useMemo, useRef, useState } from \"react\";\nimport type { editor, Uri } from \"monaco-editor\";\nimport { Button } from \"../components/button\";\nimport { MonacoEditor, type Monaco } from \"./MonacoEditor\";\nimport { useMonacoWorkerFactory } from \"./use-monaco-worker\";\nimport { normalizeSchemaForMonaco } from \"./schema-normalizer\";\nimport { registerMonacoSchema } from \"./schema-registry\";\nimport type { MonacoSchemaEditorProps, MonacoValidationState } from \"./types\";\n\nexport function MonacoSchemaEditor(props: MonacoSchemaEditorProps) {\n const { value, language, path, schema, schemaUri, onValidationChange } = props;\n const [retry, setRetry] = useState(0);\n const workers = useMonacoWorkerFactory();\n const cleanup = useRef<(() => void) | undefined>();\n const markerCleanup = useRef<(() => void) | undefined>();\n const disposeTimer = useRef<ReturnType<typeof setTimeout> | undefined>();\n const initialValidationTimer = useRef<ReturnType<typeof setTimeout> | undefined>();\n const model = useRef<editor.ITextModel | null>(null);\n const normalized = useMemo(() => normalizeSchemaForMonaco(schema), [schema]);\n\n useEffect(\n () => {\n if (disposeTimer.current) clearTimeout(disposeTimer.current);\n return () => {\n markerCleanup.current?.();\n cleanup.current?.();\n if (initialValidationTimer.current) clearTimeout(initialValidationTimer.current);\n const current = model.current;\n disposeTimer.current = setTimeout(() => current?.dispose(), 0);\n };\n },\n [],\n );\n useEffect(() => {\n onValidationChange(\n !normalized.schema\n ? {\n status: \"unavailable\",\n errors: [`Unsupported schema keywords: ${normalized.unsupportedKeywords.join(\", \")}`],\n }\n : workers\n ? { status: \"loading\", errors: [] }\n : { status: \"unavailable\", errors: [\"Monaco workers are not configured.\"] },\n );\n }, [value, retry, workers, onValidationChange, normalized.schema]);\n\n if (!workers) {\n return <Unavailable errors={[\"Monaco workers are not configured.\"]} onRetry={() => setRetry((n) => n + 1)} />;\n }\n\n if (!normalized.schema) {\n const errors = [`Unsupported schema keywords: ${normalized.unsupportedKeywords.join(\", \")}`];\n return <Unavailable errors={errors} onRetry={() => setRetry((n) => n + 1)} />;\n }\n\n const setValidation = (markers: editor.IMarker[]) => {\n const current = model.current;\n if (!current) return;\n const version = current.getVersionId();\n queueMicrotask(() => {\n if (model.current?.getVersionId() !== version) return;\n // Monaco YAML reports JSON Schema violations (for example enum mismatches)\n // as warnings, while malformed YAML is reported as an error. Both mean the\n // document is not valid for submission; hints and informational markers do not.\n const errors = markers.filter((marker) => marker.severity >= 4).map((marker) => marker.message);\n onValidationChange({ status: errors.length > 0 ? \"invalid\" : \"valid\", errors });\n });\n };\n\n const prepare = (monaco: Monaco) => {\n cleanup.current?.();\n cleanup.current = registerMonacoSchema(monaco, language, path, schemaUri, normalized.schema!);\n };\n\n const mount = (instance: editor.IStandaloneCodeEditor, monaco: Monaco) => {\n if (disposeTimer.current) clearTimeout(disposeTimer.current);\n model.current = instance.getModel();\n markerCleanup.current?.();\n const disposable = monaco.editor.onDidChangeMarkers((uris: readonly Uri[]) => {\n const current = model.current;\n if (!current || !uris.some((uri) => uri.toString() === current.uri.toString())) return;\n setValidation(monaco.editor.getModelMarkers({ resource: current.uri }));\n });\n markerCleanup.current = () => disposable.dispose();\n // The language service doesn't emit a marker-change event when an initial\n // document is valid (the marker set starts and remains empty). Give the\n // worker its normal validation window, then explicitly complete that empty\n // result so forms cannot remain stuck in the loading state.\n initialValidationTimer.current = setTimeout(() => {\n const current = model.current;\n if (current) setValidation(monaco.editor.getModelMarkers({ resource: current.uri }));\n }, 1_500);\n };\n\n return (\n <MonacoEditor\n key={retry}\n {...props}\n beforeMount={(monaco) => {\n try {\n prepare(monaco);\n } catch (error) {\n onValidationChange({\n status: \"unavailable\",\n errors: [error instanceof Error ? error.message : String(error)],\n });\n }\n }}\n onMount={mount}\n onValidate={setValidation}\n />\n );\n}\n\nfunction Unavailable({ errors, onRetry }: { errors: string[]; onRetry: () => void }) {\n return (\n <div role=\"alert\" className=\"space-y-2 rounded-md border border-destructive/40 p-3 text-sm text-destructive\">\n <div>{errors.join(\"; \")}</div>\n <Button type=\"button\" variant=\"outline\" size=\"sm\" onClick={onRetry}>Retry editor</Button>\n </div>\n );\n}\n\nexport type { MonacoValidationState };\n"],"names":[],"mappings":";;;;;;;AASO,SAAS,mBAAmB,OAAgC;AACjE,QAAM,EAAE,OAAO,UAAU,MAAM,QAAQ,WAAW,uBAAuB;AACzE,QAAM,CAAC,OAAO,QAAQ,IAAI,SAAS,CAAC;AACpC,QAAM,UAAU,uBAAA;AAChB,QAAM,UAAU,
|
|
1
|
+
{"version":3,"file":"MonacoSchemaEditor.js","sources":["../../src/monaco/MonacoSchemaEditor.tsx"],"sourcesContent":["import { useEffect, useMemo, useRef, useState } from \"react\";\nimport type { editor, Uri } from \"monaco-editor\";\nimport { Button } from \"../components/button\";\nimport { MonacoEditor, type Monaco } from \"./MonacoEditor\";\nimport { useMonacoWorkerFactory } from \"./use-monaco-worker\";\nimport { normalizeSchemaForMonaco } from \"./schema-normalizer\";\nimport { registerMonacoSchema } from \"./schema-registry\";\nimport type { MonacoSchemaEditorProps, MonacoValidationState } from \"./types\";\n\nexport function MonacoSchemaEditor(props: MonacoSchemaEditorProps) {\n const { value, language, path, schema, schemaUri, onValidationChange } = props;\n const [retry, setRetry] = useState(0);\n const workers = useMonacoWorkerFactory();\n const cleanup = useRef<(() => void) | undefined>(undefined);\n const markerCleanup = useRef<(() => void) | undefined>(undefined);\n const disposeTimer = useRef<ReturnType<typeof setTimeout> | undefined>(undefined);\n const initialValidationTimer = useRef<ReturnType<typeof setTimeout> | undefined>(undefined);\n const model = useRef<editor.ITextModel | null>(null);\n const normalized = useMemo(() => normalizeSchemaForMonaco(schema), [schema]);\n\n useEffect(\n () => {\n if (disposeTimer.current) clearTimeout(disposeTimer.current);\n return () => {\n markerCleanup.current?.();\n cleanup.current?.();\n if (initialValidationTimer.current) clearTimeout(initialValidationTimer.current);\n const current = model.current;\n disposeTimer.current = setTimeout(() => current?.dispose(), 0);\n };\n },\n [],\n );\n useEffect(() => {\n onValidationChange(\n !normalized.schema\n ? {\n status: \"unavailable\",\n errors: [`Unsupported schema keywords: ${normalized.unsupportedKeywords.join(\", \")}`],\n }\n : workers\n ? { status: \"loading\", errors: [] }\n : { status: \"unavailable\", errors: [\"Monaco workers are not configured.\"] },\n );\n }, [value, retry, workers, onValidationChange, normalized.schema]);\n\n if (!workers) {\n return <Unavailable errors={[\"Monaco workers are not configured.\"]} onRetry={() => setRetry((n) => n + 1)} />;\n }\n\n if (!normalized.schema) {\n const errors = [`Unsupported schema keywords: ${normalized.unsupportedKeywords.join(\", \")}`];\n return <Unavailable errors={errors} onRetry={() => setRetry((n) => n + 1)} />;\n }\n\n const setValidation = (markers: editor.IMarker[]) => {\n const current = model.current;\n if (!current) return;\n const version = current.getVersionId();\n queueMicrotask(() => {\n if (model.current?.getVersionId() !== version) return;\n // Monaco YAML reports JSON Schema violations (for example enum mismatches)\n // as warnings, while malformed YAML is reported as an error. Both mean the\n // document is not valid for submission; hints and informational markers do not.\n const errors = markers.filter((marker) => marker.severity >= 4).map((marker) => marker.message);\n onValidationChange({ status: errors.length > 0 ? \"invalid\" : \"valid\", errors });\n });\n };\n\n const prepare = (monaco: Monaco) => {\n cleanup.current?.();\n cleanup.current = registerMonacoSchema(monaco, language, path, schemaUri, normalized.schema!);\n };\n\n const mount = (instance: editor.IStandaloneCodeEditor, monaco: Monaco) => {\n if (disposeTimer.current) clearTimeout(disposeTimer.current);\n model.current = instance.getModel();\n markerCleanup.current?.();\n const disposable = monaco.editor.onDidChangeMarkers((uris: readonly Uri[]) => {\n const current = model.current;\n if (!current || !uris.some((uri) => uri.toString() === current.uri.toString())) return;\n setValidation(monaco.editor.getModelMarkers({ resource: current.uri }));\n });\n markerCleanup.current = () => disposable.dispose();\n // The language service doesn't emit a marker-change event when an initial\n // document is valid (the marker set starts and remains empty). Give the\n // worker its normal validation window, then explicitly complete that empty\n // result so forms cannot remain stuck in the loading state.\n initialValidationTimer.current = setTimeout(() => {\n const current = model.current;\n if (current) setValidation(monaco.editor.getModelMarkers({ resource: current.uri }));\n }, 1_500);\n };\n\n return (\n <MonacoEditor\n key={retry}\n {...props}\n beforeMount={(monaco) => {\n try {\n prepare(monaco);\n } catch (error) {\n onValidationChange({\n status: \"unavailable\",\n errors: [error instanceof Error ? error.message : String(error)],\n });\n }\n }}\n onMount={mount}\n onValidate={setValidation}\n />\n );\n}\n\nfunction Unavailable({ errors, onRetry }: { errors: string[]; onRetry: () => void }) {\n return (\n <div role=\"alert\" className=\"space-y-2 rounded-md border border-destructive/40 p-3 text-sm text-destructive\">\n <div>{errors.join(\"; \")}</div>\n <Button type=\"button\" variant=\"outline\" size=\"sm\" onClick={onRetry}>Retry editor</Button>\n </div>\n );\n}\n\nexport type { MonacoValidationState };\n"],"names":[],"mappings":"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"}
|
package/dist/monaco/types.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ReactNode } from 'react';
|
|
1
|
+
import { ReactNode } from '../../../../node_modules/@types/react/index.d.ts';
|
|
2
2
|
import { editor } from 'monaco-editor';
|
|
3
3
|
import { Monaco } from '@monaco-editor/react';
|
|
4
4
|
import { JsonSchemaObject } from '../components/json-schema-form-types';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { MonacoWorkerFactory } from './types';
|
|
2
|
-
export declare const WorkerContext: import('react').Context<MonacoWorkerFactory | null>;
|
|
2
|
+
export declare const WorkerContext: import('../../../../node_modules/@types/react/index.d.ts').Context<MonacoWorkerFactory | null>;
|
|
3
3
|
export declare function useMonacoWorkerFactory(): MonacoWorkerFactory | null;
|
|
4
4
|
//# sourceMappingURL=use-monaco-worker.d.ts.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ButtonHTMLAttributes, ReactNode } from 'react';
|
|
1
|
+
import { ButtonHTMLAttributes, ReactNode } from '../../../../node_modules/@types/react/index.d.ts';
|
|
2
2
|
import { StaticIconComponent } from '../data/Icon';
|
|
3
3
|
import { DropdownMenuItem } from './DropdownMenu';
|
|
4
4
|
export type CellActionsProps = {
|
|
@@ -13,6 +13,6 @@ export type CellActionButtonProps = Omit<ButtonHTMLAttributes<HTMLButtonElement>
|
|
|
13
13
|
icon: StaticIconComponent;
|
|
14
14
|
onSelect: () => void;
|
|
15
15
|
};
|
|
16
|
-
export declare function CellActions({ contextTarget, menuLabel, menuItems, children, className, }: CellActionsProps): import("react
|
|
17
|
-
export declare function CellActionButton({ label, icon, onSelect, className, title, onMouseDown, ...props }: CellActionButtonProps): import("react
|
|
16
|
+
export declare function CellActions({ contextTarget, menuLabel, menuItems, children, className, }: CellActionsProps): import("react").JSX.Element;
|
|
17
|
+
export declare function CellActionButton({ label, icon, onSelect, className, title, onMouseDown, ...props }: CellActionButtonProps): import("react").JSX.Element;
|
|
18
18
|
//# sourceMappingURL=CellActions.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CellActions.d.ts","sourceRoot":"","sources":["../../src/overlay/CellActions.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAa,KAAK,oBAAoB,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAC7E,OAAO,EAAQ,KAAK,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAE9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAGvD,MAAM,MAAM,gBAAgB,GAAG;IAC7B,aAAa,EAAE,WAAW,GAAG,IAAI,CAAC;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,gBAAgB,EAAE,CAAC;IAC9B,QAAQ,EAAE,SAAS,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG,IAAI,CACtC,oBAAoB,CAAC,iBAAiB,CAAC,EACvC,UAAU,GAAG,SAAS,CACvB,GAAG;IACF,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,mBAAmB,CAAC;IAC1B,QAAQ,EAAE,MAAM,IAAI,CAAC;CACtB,CAAC;AAEF,wBAAgB,WAAW,CAAC,EAC1B,aAAa,EACb,SAAS,EACT,SAAS,EACT,QAAQ,EACR,SAAS,GACV,EAAE,gBAAgB
|
|
1
|
+
{"version":3,"file":"CellActions.d.ts","sourceRoot":"","sources":["../../src/overlay/CellActions.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAa,KAAK,oBAAoB,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAC7E,OAAO,EAAQ,KAAK,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAE9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAGvD,MAAM,MAAM,gBAAgB,GAAG;IAC7B,aAAa,EAAE,WAAW,GAAG,IAAI,CAAC;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,gBAAgB,EAAE,CAAC;IAC9B,QAAQ,EAAE,SAAS,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG,IAAI,CACtC,oBAAoB,CAAC,iBAAiB,CAAC,EACvC,UAAU,GAAG,SAAS,CACvB,GAAG;IACF,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,mBAAmB,CAAC;IAC1B,QAAQ,EAAE,MAAM,IAAI,CAAC;CACtB,CAAC;AAEF,wBAAgB,WAAW,CAAC,EAC1B,aAAa,EACb,SAAS,EACT,SAAS,EACT,QAAQ,EACR,SAAS,GACV,EAAE,gBAAgB,+BAyBlB;AAED,wBAAgB,gBAAgB,CAAC,EAC/B,KAAK,EACL,IAAI,EACJ,QAAQ,EACR,SAAS,EACT,KAAa,EACb,WAAW,EACX,GAAG,KAAK,EACT,EAAE,qBAAqB,+BAwBvB"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ReactNode } from 'react';
|
|
1
|
+
import { ReactNode } from '../../../../node_modules/@types/react/index.d.ts';
|
|
2
2
|
import { CommandFilter, CommandGroup, CommandItem } from './CommandPalette.model';
|
|
3
3
|
export type { CommandFilter, CommandGroup, CommandItem, CommandSelectContext, } from './CommandPalette.model';
|
|
4
4
|
export type CommandPaletteProps = {
|
|
@@ -67,5 +67,5 @@ export type CommandPaletteProps = {
|
|
|
67
67
|
* `zIndex` scale), so a palette opened over a modal sits above it and Escape
|
|
68
68
|
* still dismisses exactly one layer.
|
|
69
69
|
*/
|
|
70
|
-
export declare function CommandPalette({ open, onOpenChange, groups, query, onQueryChange, hotkey, placeholder, loading, emptyState, footer, filter, onSelect, closeOnSelect, resetQueryOnClose, size, topOffset, listMaxHeight, ariaLabel, className, }: CommandPaletteProps): import('react').ReactPortal | null;
|
|
70
|
+
export declare function CommandPalette({ open, onOpenChange, groups, query, onQueryChange, hotkey, placeholder, loading, emptyState, footer, filter, onSelect, closeOnSelect, resetQueryOnClose, size, topOffset, listMaxHeight, ariaLabel, className, }: CommandPaletteProps): import('../../../../node_modules/@types/react/index.d.ts').ReactPortal | null;
|
|
71
71
|
//# sourceMappingURL=CommandPalette.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CommandPaletteList.cjs","sources":["../../src/overlay/CommandPaletteList.tsx"],"sourcesContent":["import { Fragment, type RefObject } from \"react\";\nimport { cn } from \"../lib/utils\";\nimport { Icon } from \"../data/Icon\";\nimport type { CommandGroup, CommandItem } from \"./CommandPalette.model\";\n\nexport type CommandPaletteListProps = {\n groups: CommandGroup[];\n /** Flattened rows, in render order — index space for `activeIndex`. */\n items: CommandItem[];\n activeIndex: number;\n listId: string;\n optionId: (item: CommandItem) => string;\n onActivate: (item: CommandItem) => void;\n onHover: (index: number) => void;\n listRef: RefObject<HTMLDivElement>;\n loading?: boolean | undefined;\n emptyState?: React.ReactNode;\n listMaxHeight: string | number;\n};\n\n/**\n * The palette's grouped listbox. Headings are `role=\"presentation\"` so the\n * option index space stays contiguous — the same trick Combobox uses to scroll\n * by `[role=\"option\"]` index.\n */\nexport function CommandPaletteList({\n groups,\n items,\n activeIndex,\n listId,\n optionId,\n onActivate,\n onHover,\n listRef,\n loading,\n emptyState,\n listMaxHeight,\n}: CommandPaletteListProps) {\n // A flat cursor walked alongside the nested render so each row knows its index\n // in the flattened list without a lookup.\n let flatIndex = -1;\n\n return (\n <div\n ref={listRef}\n id={listId}\n role=\"listbox\"\n aria-label=\"Commands\"\n className=\"overflow-y-auto overscroll-contain py-density-1\"\n style={{ maxHeight: listMaxHeight }}\n >\n {loading ? (\n <div className=\"px-density-3 py-density-3 text-sm text-muted-foreground\">Searching…</div>\n ) : items.length === 0 ? (\n <div className=\"px-density-3 py-density-4 text-center text-sm text-muted-foreground\">\n {emptyState ?? \"No results\"}\n </div>\n ) : (\n groups.map((group) => {\n const headingId = `${listId}-group-${group.id}`;\n return (\n <Fragment key={group.id}>\n <div role=\"group\" aria-labelledby={group.heading ? headingId : undefined}>\n {group.heading && (\n <div\n id={headingId}\n role=\"presentation\"\n className=\"px-density-3 pb-1 pt-density-2 text-[10px] font-semibold uppercase tracking-[0.18em] text-muted-foreground\"\n >\n {group.heading}\n </div>\n )}\n {group.items.map((item) => {\n flatIndex += 1;\n const index = flatIndex;\n const active = index === activeIndex;\n return (\n <div\n key={item.id}\n id={optionId(item)}\n role=\"option\"\n aria-selected={active}\n aria-disabled={item.disabled || undefined}\n // onMouseMove, not onMouseEnter: keyboard navigation\n // scrolls rows under a stationary cursor, and mouseenter\n // would yank the highlight back to wherever it sits.\n onMouseMove={() => {\n if (!item.disabled) onHover(index);\n }}\n onClick={() => {\n if (!item.disabled) onActivate(item);\n }}\n className={cn(\n \"mx-density-1 flex cursor-pointer items-center gap-density-2 rounded-md px-density-2 py-1.5 text-sm\",\n active && \"bg-accent text-accent-foreground\",\n item.disabled && \"cursor-not-allowed opacity-50\",\n )}\n >\n {item.icon !== undefined && (\n <span className=\"flex h-4 w-4 shrink-0 items-center justify-center text-muted-foreground\">\n <Icon\n {...(typeof item.icon === \"string\"\n ? { name: item.icon }\n : { icon: item.icon })}\n />\n </span>\n )}\n <span className=\"min-w-0 flex-1 truncate\">\n {item.label}\n {item.description && (\n <span className=\"ml-density-2 text-xs text-muted-foreground\">\n {item.description}\n </span>\n )}\n </span>\n {item.trailing}\n {item.shortcut && (\n <kbd className=\"shrink-0 rounded border border-border bg-muted px-1.5 py-0.5 font-mono text-[10px] text-muted-foreground\">\n {item.shortcut}\n </kbd>\n )}\n </div>\n );\n })}\n </div>\n </Fragment>\n );\n })\n )}\n </div>\n );\n}\n"],"names":["jsx","Fragment","jsxs","cn","Icon"],"mappings":";;;;;;AAyBO,SAAS,mBAAmB;AAAA,EACjC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAA4B;AAG1B,MAAI,YAAY;AAEhB,SACEA,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,KAAK;AAAA,MACL,IAAI;AAAA,MACJ,MAAK;AAAA,MACL,cAAW;AAAA,MACX,WAAU;AAAA,MACV,OAAO,EAAE,WAAW,cAAA;AAAA,MAEnB,UAAA,yCACE,OAAA,EAAI,WAAU,2DAA0D,UAAA,aAAA,CAAU,IACjF,MAAM,WAAW,mCAClB,OAAA,EAAI,WAAU,uEACZ,UAAA,cAAc,aAAA,CACjB,IAEA,OAAO,IAAI,CAAC,UAAU;AACpB,cAAM,YAAY,GAAG,MAAM,UAAU,MAAM,EAAE;AAC7C,eACEA,2BAAAA,IAACC,MAAAA,UAAA,EACC,UAAAC,2BAAAA,KAAC,OAAA,EAAI,MAAK,SAAQ,mBAAiB,MAAM,UAAU,YAAY,QAC5D,UAAA;AAAA,UAAA,MAAM,WACLF,2BAAAA;AAAAA,YAAC;AAAA,YAAA;AAAA,cACC,IAAI;AAAA,cACJ,MAAK;AAAA,cACL,WAAU;AAAA,cAET,UAAA,MAAM;AAAA,YAAA;AAAA,UAAA;AAAA,UAGV,MAAM,MAAM,IAAI,CAAC,SAAS;AACzB,yBAAa;AACb,kBAAM,QAAQ;AACd,kBAAM,SAAS,UAAU;AACzB,mBACEE,2BAAAA;AAAAA,cAAC;AAAA,cAAA;AAAA,gBAEC,IAAI,SAAS,IAAI;AAAA,gBACjB,MAAK;AAAA,gBACL,iBAAe;AAAA,gBACf,iBAAe,KAAK,YAAY;AAAA,gBAIhC,aAAa,MAAM;AACjB,sBAAI,CAAC,KAAK,SAAU,SAAQ,KAAK;AAAA,gBACnC;AAAA,gBACA,SAAS,MAAM;AACb,sBAAI,CAAC,KAAK,SAAU,YAAW,IAAI;AAAA,gBACrC;AAAA,gBACA,WAAWC,MAAAA;AAAAA,kBACT;AAAA,kBACA,UAAU;AAAA,kBACV,KAAK,YAAY;AAAA,gBAAA;AAAA,gBAGlB,UAAA;AAAA,kBAAA,KAAK,SAAS,UACbH,2BAAAA,IAAC,QAAA,EAAK,WAAU,2EACd,UAAAA,2BAAAA;AAAAA,oBAACI,KAAAA;AAAAA,oBAAA;AAAA,sBACE,GAAI,OAAO,KAAK,SAAS,WACtB,EAAE,MAAM,KAAK,KAAA,IACb,EAAE,MAAM,KAAK,KAAA;AAAA,oBAAK;AAAA,kBAAA,GAE1B;AAAA,kBAEFF,2BAAAA,KAAC,QAAA,EAAK,WAAU,2BACb,UAAA;AAAA,oBAAA,KAAK;AAAA,oBACL,KAAK,eACJF,2BAAAA,IAAC,UAAK,WAAU,8CACb,eAAK,YAAA,CACR;AAAA,kBAAA,GAEJ;AAAA,kBACC,KAAK;AAAA,kBACL,KAAK,YACJA,2BAAAA,IAAC,SAAI,WAAU,4GACZ,eAAK,SAAA,CACR;AAAA,gBAAA;AAAA,cAAA;AAAA,cAzCG,KAAK;AAAA,YAAA;AAAA,UA6ChB,CAAC;AAAA,QAAA,GACH,EAAA,GA/Da,MAAM,EAgErB;AAAA,MAEJ,CAAC;AAAA,IAAA;AAAA,EAAA;AAIT;;"}
|
|
1
|
+
{"version":3,"file":"CommandPaletteList.cjs","sources":["../../src/overlay/CommandPaletteList.tsx"],"sourcesContent":["import { Fragment, type RefObject } from \"react\";\nimport { cn } from \"../lib/utils\";\nimport { Icon } from \"../data/Icon\";\nimport type { CommandGroup, CommandItem } from \"./CommandPalette.model\";\n\nexport type CommandPaletteListProps = {\n groups: CommandGroup[];\n /** Flattened rows, in render order — index space for `activeIndex`. */\n items: CommandItem[];\n activeIndex: number;\n listId: string;\n optionId: (item: CommandItem) => string;\n onActivate: (item: CommandItem) => void;\n onHover: (index: number) => void;\n listRef: RefObject<HTMLDivElement | null>;\n loading?: boolean | undefined;\n emptyState?: React.ReactNode;\n listMaxHeight: string | number;\n};\n\n/**\n * The palette's grouped listbox. Headings are `role=\"presentation\"` so the\n * option index space stays contiguous — the same trick Combobox uses to scroll\n * by `[role=\"option\"]` index.\n */\nexport function CommandPaletteList({\n groups,\n items,\n activeIndex,\n listId,\n optionId,\n onActivate,\n onHover,\n listRef,\n loading,\n emptyState,\n listMaxHeight,\n}: CommandPaletteListProps) {\n // A flat cursor walked alongside the nested render so each row knows its index\n // in the flattened list without a lookup.\n let flatIndex = -1;\n\n return (\n <div\n ref={listRef}\n id={listId}\n role=\"listbox\"\n aria-label=\"Commands\"\n className=\"overflow-y-auto overscroll-contain py-density-1\"\n style={{ maxHeight: listMaxHeight }}\n >\n {loading ? (\n <div className=\"px-density-3 py-density-3 text-sm text-muted-foreground\">Searching…</div>\n ) : items.length === 0 ? (\n <div className=\"px-density-3 py-density-4 text-center text-sm text-muted-foreground\">\n {emptyState ?? \"No results\"}\n </div>\n ) : (\n groups.map((group) => {\n const headingId = `${listId}-group-${group.id}`;\n return (\n <Fragment key={group.id}>\n <div role=\"group\" aria-labelledby={group.heading ? headingId : undefined}>\n {group.heading && (\n <div\n id={headingId}\n role=\"presentation\"\n className=\"px-density-3 pb-1 pt-density-2 text-[10px] font-semibold uppercase tracking-[0.18em] text-muted-foreground\"\n >\n {group.heading}\n </div>\n )}\n {group.items.map((item) => {\n flatIndex += 1;\n const index = flatIndex;\n const active = index === activeIndex;\n return (\n <div\n key={item.id}\n id={optionId(item)}\n role=\"option\"\n aria-selected={active}\n aria-disabled={item.disabled || undefined}\n // onMouseMove, not onMouseEnter: keyboard navigation\n // scrolls rows under a stationary cursor, and mouseenter\n // would yank the highlight back to wherever it sits.\n onMouseMove={() => {\n if (!item.disabled) onHover(index);\n }}\n onClick={() => {\n if (!item.disabled) onActivate(item);\n }}\n className={cn(\n \"mx-density-1 flex cursor-pointer items-center gap-density-2 rounded-md px-density-2 py-1.5 text-sm\",\n active && \"bg-accent text-accent-foreground\",\n item.disabled && \"cursor-not-allowed opacity-50\",\n )}\n >\n {item.icon !== undefined && (\n <span className=\"flex h-4 w-4 shrink-0 items-center justify-center text-muted-foreground\">\n <Icon\n {...(typeof item.icon === \"string\"\n ? { name: item.icon }\n : { icon: item.icon })}\n />\n </span>\n )}\n <span className=\"min-w-0 flex-1 truncate\">\n {item.label}\n {item.description && (\n <span className=\"ml-density-2 text-xs text-muted-foreground\">\n {item.description}\n </span>\n )}\n </span>\n {item.trailing}\n {item.shortcut && (\n <kbd className=\"shrink-0 rounded border border-border bg-muted px-1.5 py-0.5 font-mono text-[10px] text-muted-foreground\">\n {item.shortcut}\n </kbd>\n )}\n </div>\n );\n })}\n </div>\n </Fragment>\n );\n })\n )}\n </div>\n );\n}\n"],"names":["jsx","Fragment","jsxs","cn","Icon"],"mappings":";;;;;;AAyBO,SAAS,mBAAmB;AAAA,EACjC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAA4B;AAG1B,MAAI,YAAY;AAEhB,SACEA,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,KAAK;AAAA,MACL,IAAI;AAAA,MACJ,MAAK;AAAA,MACL,cAAW;AAAA,MACX,WAAU;AAAA,MACV,OAAO,EAAE,WAAW,cAAA;AAAA,MAEnB,UAAA,yCACE,OAAA,EAAI,WAAU,2DAA0D,UAAA,aAAA,CAAU,IACjF,MAAM,WAAW,mCAClB,OAAA,EAAI,WAAU,uEACZ,UAAA,cAAc,aAAA,CACjB,IAEA,OAAO,IAAI,CAAC,UAAU;AACpB,cAAM,YAAY,GAAG,MAAM,UAAU,MAAM,EAAE;AAC7C,eACEA,2BAAAA,IAACC,MAAAA,UAAA,EACC,UAAAC,2BAAAA,KAAC,OAAA,EAAI,MAAK,SAAQ,mBAAiB,MAAM,UAAU,YAAY,QAC5D,UAAA;AAAA,UAAA,MAAM,WACLF,2BAAAA;AAAAA,YAAC;AAAA,YAAA;AAAA,cACC,IAAI;AAAA,cACJ,MAAK;AAAA,cACL,WAAU;AAAA,cAET,UAAA,MAAM;AAAA,YAAA;AAAA,UAAA;AAAA,UAGV,MAAM,MAAM,IAAI,CAAC,SAAS;AACzB,yBAAa;AACb,kBAAM,QAAQ;AACd,kBAAM,SAAS,UAAU;AACzB,mBACEE,2BAAAA;AAAAA,cAAC;AAAA,cAAA;AAAA,gBAEC,IAAI,SAAS,IAAI;AAAA,gBACjB,MAAK;AAAA,gBACL,iBAAe;AAAA,gBACf,iBAAe,KAAK,YAAY;AAAA,gBAIhC,aAAa,MAAM;AACjB,sBAAI,CAAC,KAAK,SAAU,SAAQ,KAAK;AAAA,gBACnC;AAAA,gBACA,SAAS,MAAM;AACb,sBAAI,CAAC,KAAK,SAAU,YAAW,IAAI;AAAA,gBACrC;AAAA,gBACA,WAAWC,MAAAA;AAAAA,kBACT;AAAA,kBACA,UAAU;AAAA,kBACV,KAAK,YAAY;AAAA,gBAAA;AAAA,gBAGlB,UAAA;AAAA,kBAAA,KAAK,SAAS,UACbH,2BAAAA,IAAC,QAAA,EAAK,WAAU,2EACd,UAAAA,2BAAAA;AAAAA,oBAACI,KAAAA;AAAAA,oBAAA;AAAA,sBACE,GAAI,OAAO,KAAK,SAAS,WACtB,EAAE,MAAM,KAAK,KAAA,IACb,EAAE,MAAM,KAAK,KAAA;AAAA,oBAAK;AAAA,kBAAA,GAE1B;AAAA,kBAEFF,2BAAAA,KAAC,QAAA,EAAK,WAAU,2BACb,UAAA;AAAA,oBAAA,KAAK;AAAA,oBACL,KAAK,eACJF,2BAAAA,IAAC,UAAK,WAAU,8CACb,eAAK,YAAA,CACR;AAAA,kBAAA,GAEJ;AAAA,kBACC,KAAK;AAAA,kBACL,KAAK,YACJA,2BAAAA,IAAC,SAAI,WAAU,4GACZ,eAAK,SAAA,CACR;AAAA,gBAAA;AAAA,cAAA;AAAA,cAzCG,KAAK;AAAA,YAAA;AAAA,UA6ChB,CAAC;AAAA,QAAA,GACH,EAAA,GA/Da,MAAM,EAgErB;AAAA,MAEJ,CAAC;AAAA,IAAA;AAAA,EAAA;AAIT;;"}
|