@flanksource/clicky-ui 0.3.10 → 0.3.11
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/NOTICE.md +85 -0
- package/README.md +33 -2
- package/dist/ai.cjs +71 -5
- package/dist/ai.cjs.map +1 -1
- package/dist/ai.js +71 -5
- package/dist/ai.js.map +1 -1
- package/dist/chat.cjs +17 -13
- package/dist/chat.cjs.map +1 -1
- package/dist/chat.js +8 -4
- package/dist/clicky.d.ts +1 -1
- package/dist/clicky.d.ts.map +1 -1
- package/dist/comments/CommentCard.cjs +84 -38
- package/dist/comments/CommentCard.cjs.map +1 -1
- package/dist/comments/CommentCard.d.ts +1 -1
- package/dist/comments/CommentCard.d.ts.map +1 -1
- package/dist/comments/CommentCard.js +85 -39
- package/dist/comments/CommentCard.js.map +1 -1
- package/dist/comments/CommentComposer.cjs +21 -11
- package/dist/comments/CommentComposer.cjs.map +1 -1
- package/dist/comments/CommentComposer.d.ts.map +1 -1
- package/dist/comments/CommentComposer.js +21 -11
- package/dist/comments/CommentComposer.js.map +1 -1
- package/dist/comments/CommentProvider.cjs +84 -12
- package/dist/comments/CommentProvider.cjs.map +1 -1
- package/dist/comments/CommentProvider.d.ts +4 -2
- package/dist/comments/CommentProvider.d.ts.map +1 -1
- package/dist/comments/CommentProvider.js +86 -14
- package/dist/comments/CommentProvider.js.map +1 -1
- package/dist/comments/CommentSidePanel.cjs +116 -38
- package/dist/comments/CommentSidePanel.cjs.map +1 -1
- package/dist/comments/CommentSidePanel.d.ts +2 -0
- package/dist/comments/CommentSidePanel.d.ts.map +1 -1
- package/dist/comments/CommentSidePanel.js +117 -39
- package/dist/comments/CommentSidePanel.js.map +1 -1
- package/dist/comments/CommentThread.cjs +4 -0
- package/dist/comments/CommentThread.cjs.map +1 -1
- package/dist/comments/CommentThread.d.ts +5 -1
- package/dist/comments/CommentThread.d.ts.map +1 -1
- package/dist/comments/CommentThread.js +4 -0
- package/dist/comments/CommentThread.js.map +1 -1
- package/dist/comments/CommentThreadList.cjs +17 -5
- package/dist/comments/CommentThreadList.cjs.map +1 -1
- package/dist/comments/CommentThreadList.d.ts +3 -1
- package/dist/comments/CommentThreadList.d.ts.map +1 -1
- package/dist/comments/CommentThreadList.js +18 -6
- package/dist/comments/CommentThreadList.js.map +1 -1
- package/dist/comments/comment-context.cjs +88 -0
- package/dist/comments/comment-context.cjs.map +1 -1
- package/dist/comments/comment-context.d.ts +26 -0
- package/dist/comments/comment-context.d.ts.map +1 -1
- package/dist/comments/comment-context.js +89 -1
- package/dist/comments/comment-context.js.map +1 -1
- package/dist/comments.cjs +3 -0
- package/dist/comments.cjs.map +1 -1
- package/dist/comments.d.ts +1 -1
- package/dist/comments.d.ts.map +1 -1
- package/dist/comments.js +4 -1
- package/dist/components/Combobox.cjs +145 -34
- package/dist/components/Combobox.cjs.map +1 -1
- package/dist/components/Combobox.d.ts +24 -1
- package/dist/components/Combobox.d.ts.map +1 -1
- package/dist/components/Combobox.js +147 -36
- package/dist/components/Combobox.js.map +1 -1
- package/dist/components/DatePicker.cjs +1 -1
- package/dist/components/DatePicker.cjs.map +1 -1
- package/dist/components/DatePicker.js +1 -1
- package/dist/components/DatePicker.js.map +1 -1
- package/dist/components/DateTimePicker.cjs +1 -1
- package/dist/components/DateTimePicker.cjs.map +1 -1
- package/dist/components/DateTimePicker.js +1 -1
- package/dist/components/DateTimePicker.js.map +1 -1
- package/dist/components/FilterBar.cjs +41 -459
- package/dist/components/FilterBar.cjs.map +1 -1
- package/dist/components/FilterBar.d.ts +4 -62
- package/dist/components/FilterBar.d.ts.map +1 -1
- package/dist/components/FilterBar.js +13 -430
- package/dist/components/FilterBar.js.map +1 -1
- package/dist/components/InputField.cjs +97 -0
- package/dist/components/InputField.cjs.map +1 -0
- package/dist/components/InputField.d.ts +42 -0
- package/dist/components/InputField.d.ts.map +1 -0
- package/dist/components/InputField.js +97 -0
- package/dist/components/InputField.js.map +1 -0
- package/dist/components/JsonSchemaForm.cjs +90 -15
- package/dist/components/JsonSchemaForm.cjs.map +1 -1
- package/dist/components/JsonSchemaForm.d.ts.map +1 -1
- package/dist/components/JsonSchemaForm.js +92 -17
- package/dist/components/JsonSchemaForm.js.map +1 -1
- package/dist/components/MdxEditorField.cjs.map +1 -1
- package/dist/components/MdxEditorField.d.ts +1 -1
- package/dist/components/MdxEditorField.d.ts.map +1 -1
- package/dist/components/MdxEditorField.js.map +1 -1
- package/dist/components/MdxEditorToolbar.cjs +6 -1
- package/dist/components/MdxEditorToolbar.cjs.map +1 -1
- package/dist/components/MdxEditorToolbar.d.ts.map +1 -1
- package/dist/components/MdxEditorToolbar.js +6 -1
- package/dist/components/MdxEditorToolbar.js.map +1 -1
- package/dist/components/MultiSelect.cjs +0 -1
- package/dist/components/MultiSelect.cjs.map +1 -1
- package/dist/components/MultiSelect.d.ts.map +1 -1
- package/dist/components/MultiSelect.js +0 -1
- package/dist/components/MultiSelect.js.map +1 -1
- package/dist/components/SearchInput.cjs +14 -43
- package/dist/components/SearchInput.cjs.map +1 -1
- package/dist/components/SearchInput.d.ts +6 -5
- package/dist/components/SearchInput.d.ts.map +1 -1
- package/dist/components/SearchInput.js +15 -44
- package/dist/components/SearchInput.js.map +1 -1
- package/dist/components/SecretKeySelector.cjs +155 -67
- package/dist/components/SecretKeySelector.cjs.map +1 -1
- package/dist/components/SecretKeySelector.d.ts +34 -16
- package/dist/components/SecretKeySelector.d.ts.map +1 -1
- package/dist/components/SecretKeySelector.js +158 -70
- package/dist/components/SecretKeySelector.js.map +1 -1
- package/dist/components/SecretKeySelector.model.cjs +32 -0
- package/dist/components/SecretKeySelector.model.cjs.map +1 -0
- package/dist/components/SecretKeySelector.model.d.ts +4 -0
- package/dist/components/SecretKeySelector.model.d.ts.map +1 -0
- package/dist/components/SecretKeySelector.model.js +32 -0
- package/dist/components/SecretKeySelector.model.js.map +1 -0
- package/dist/components/SegmentedControl.cjs +41 -6
- package/dist/components/SegmentedControl.cjs.map +1 -1
- package/dist/components/SegmentedControl.d.ts +7 -3
- package/dist/components/SegmentedControl.d.ts.map +1 -1
- package/dist/components/SegmentedControl.js +41 -6
- package/dist/components/SegmentedControl.js.map +1 -1
- package/dist/components/filter-bar-context.cjs +10 -0
- package/dist/components/filter-bar-context.cjs.map +1 -0
- package/dist/components/filter-bar-context.d.ts +5 -0
- package/dist/components/filter-bar-context.d.ts.map +1 -0
- package/dist/components/filter-bar-context.js +10 -0
- package/dist/components/filter-bar-context.js.map +1 -0
- package/dist/components/filter-bar-field-utils.cjs +119 -0
- package/dist/components/filter-bar-field-utils.cjs.map +1 -0
- package/dist/components/filter-bar-field-utils.d.ts +21 -0
- package/dist/components/filter-bar-field-utils.d.ts.map +1 -0
- package/dist/components/filter-bar-field-utils.js +119 -0
- package/dist/components/filter-bar-field-utils.js.map +1 -0
- package/dist/components/filter-bar-multi.cjs +193 -0
- package/dist/components/filter-bar-multi.cjs.map +1 -0
- package/dist/components/filter-bar-multi.d.ts +74 -0
- package/dist/components/filter-bar-multi.d.ts.map +1 -0
- package/dist/components/filter-bar-multi.js +193 -0
- package/dist/components/filter-bar-multi.js.map +1 -0
- package/dist/components/json-schema-form-array.cjs +81 -10
- package/dist/components/json-schema-form-array.cjs.map +1 -1
- package/dist/components/json-schema-form-array.d.ts.map +1 -1
- package/dist/components/json-schema-form-array.js +82 -11
- package/dist/components/json-schema-form-array.js.map +1 -1
- package/dist/components/json-schema-form-fields.cjs +156 -24
- package/dist/components/json-schema-form-fields.cjs.map +1 -1
- package/dist/components/json-schema-form-fields.d.ts +9 -1
- package/dist/components/json-schema-form-fields.d.ts.map +1 -1
- package/dist/components/json-schema-form-fields.js +156 -24
- package/dist/components/json-schema-form-fields.js.map +1 -1
- package/dist/components/json-schema-form-object.cjs +35 -12
- package/dist/components/json-schema-form-object.cjs.map +1 -1
- package/dist/components/json-schema-form-object.d.ts.map +1 -1
- package/dist/components/json-schema-form-object.js +37 -14
- package/dist/components/json-schema-form-object.js.map +1 -1
- package/dist/components/json-schema-form-render.cjs +21 -3
- package/dist/components/json-schema-form-render.cjs.map +1 -1
- package/dist/components/json-schema-form-render.d.ts.map +1 -1
- package/dist/components/json-schema-form-render.js +22 -4
- package/dist/components/json-schema-form-render.js.map +1 -1
- package/dist/components/json-schema-form-resolve.cjs +123 -13
- package/dist/components/json-schema-form-resolve.cjs.map +1 -1
- package/dist/components/json-schema-form-resolve.d.ts +1 -0
- package/dist/components/json-schema-form-resolve.d.ts.map +1 -1
- package/dist/components/json-schema-form-resolve.js +123 -13
- package/dist/components/json-schema-form-resolve.js.map +1 -1
- package/dist/components/json-schema-form-types.d.ts +30 -1
- package/dist/components/json-schema-form-types.d.ts.map +1 -1
- package/dist/components/json-schema-form-utils.cjs +19 -0
- package/dist/components/json-schema-form-utils.cjs.map +1 -1
- package/dist/components/json-schema-form-utils.d.ts +3 -0
- package/dist/components/json-schema-form-utils.d.ts.map +1 -1
- package/dist/components/json-schema-form-utils.js +19 -0
- package/dist/components/json-schema-form-utils.js.map +1 -1
- package/dist/components/loading.cjs +17 -0
- package/dist/components/loading.cjs.map +1 -1
- package/dist/components/loading.d.ts +9 -0
- package/dist/components/loading.d.ts.map +1 -1
- package/dist/components/loading.js +17 -0
- package/dist/components/loading.js.map +1 -1
- package/dist/components/mdx-editor-field-plugins.cjs +28 -4
- package/dist/components/mdx-editor-field-plugins.cjs.map +1 -1
- package/dist/components/mdx-editor-field-plugins.d.ts.map +1 -1
- package/dist/components/mdx-editor-field-plugins.js +28 -4
- package/dist/components/mdx-editor-field-plugins.js.map +1 -1
- package/dist/components/mdx-editor-options.d.ts +23 -1
- package/dist/components/mdx-editor-options.d.ts.map +1 -1
- package/dist/components.cjs +13 -1
- package/dist/components.cjs.map +1 -1
- package/dist/components.d.ts +20 -16
- package/dist/components.d.ts.map +1 -1
- package/dist/components.js +14 -2
- package/dist/components.js.map +1 -1
- package/dist/data/Clicky.cjs +301 -51
- package/dist/data/Clicky.cjs.map +1 -1
- package/dist/data/Clicky.d.ts +21 -3
- package/dist/data/Clicky.d.ts.map +1 -1
- package/dist/data/Clicky.js +301 -51
- package/dist/data/Clicky.js.map +1 -1
- package/dist/data/CodeBlock.cjs +100 -20
- package/dist/data/CodeBlock.cjs.map +1 -1
- package/dist/data/CodeBlock.d.ts +18 -1
- package/dist/data/CodeBlock.d.ts.map +1 -1
- package/dist/data/CodeBlock.js +101 -21
- package/dist/data/CodeBlock.js.map +1 -1
- package/dist/data/CodeDiff.cjs +221 -0
- package/dist/data/CodeDiff.cjs.map +1 -0
- package/dist/data/CodeDiff.d.ts +24 -0
- package/dist/data/CodeDiff.d.ts.map +1 -0
- package/dist/data/CodeDiff.js +221 -0
- package/dist/data/CodeDiff.js.map +1 -0
- package/dist/data/DataTable.cjs +359 -219
- package/dist/data/DataTable.cjs.map +1 -1
- package/dist/data/DataTable.d.ts +12 -0
- package/dist/data/DataTable.d.ts.map +1 -1
- package/dist/data/DataTable.js +353 -213
- package/dist/data/DataTable.js.map +1 -1
- package/dist/data/FilterPill.cjs +43 -35
- package/dist/data/FilterPill.cjs.map +1 -1
- package/dist/data/FilterPill.d.ts +9 -1
- package/dist/data/FilterPill.d.ts.map +1 -1
- package/dist/data/FilterPill.js +43 -35
- package/dist/data/FilterPill.js.map +1 -1
- package/dist/data/FixtureEditor/FenceForm.cjs +123 -0
- package/dist/data/FixtureEditor/FenceForm.cjs.map +1 -0
- package/dist/data/FixtureEditor/FenceForm.d.ts +14 -0
- package/dist/data/FixtureEditor/FenceForm.d.ts.map +1 -0
- package/dist/data/FixtureEditor/FenceForm.js +123 -0
- package/dist/data/FixtureEditor/FenceForm.js.map +1 -0
- package/dist/data/FixtureEditor/FixtureEditor.cjs +236 -0
- package/dist/data/FixtureEditor/FixtureEditor.cjs.map +1 -0
- package/dist/data/FixtureEditor/FixtureEditor.d.ts +3 -0
- package/dist/data/FixtureEditor/FixtureEditor.d.ts.map +1 -0
- package/dist/data/FixtureEditor/FixtureEditor.js +236 -0
- package/dist/data/FixtureEditor/FixtureEditor.js.map +1 -0
- package/dist/data/FixtureEditor/FixtureFenceCodeBlockEditor.cjs +128 -0
- package/dist/data/FixtureEditor/FixtureFenceCodeBlockEditor.cjs.map +1 -0
- package/dist/data/FixtureEditor/FixtureFenceCodeBlockEditor.d.ts +8 -0
- package/dist/data/FixtureEditor/FixtureFenceCodeBlockEditor.d.ts.map +1 -0
- package/dist/data/FixtureEditor/FixtureFenceCodeBlockEditor.js +128 -0
- package/dist/data/FixtureEditor/FixtureFenceCodeBlockEditor.js.map +1 -0
- package/dist/data/FixtureEditor/FixtureFrontmatterDialog.cjs +148 -0
- package/dist/data/FixtureEditor/FixtureFrontmatterDialog.cjs.map +1 -0
- package/dist/data/FixtureEditor/FixtureFrontmatterDialog.d.ts +11 -0
- package/dist/data/FixtureEditor/FixtureFrontmatterDialog.d.ts.map +1 -0
- package/dist/data/FixtureEditor/FixtureFrontmatterDialog.js +148 -0
- package/dist/data/FixtureEditor/FixtureFrontmatterDialog.js.map +1 -0
- package/dist/data/FixtureEditor/RawFenceEditor.cjs +35 -0
- package/dist/data/FixtureEditor/RawFenceEditor.cjs.map +1 -0
- package/dist/data/FixtureEditor/RawFenceEditor.d.ts +11 -0
- package/dist/data/FixtureEditor/RawFenceEditor.d.ts.map +1 -0
- package/dist/data/FixtureEditor/RawFenceEditor.js +35 -0
- package/dist/data/FixtureEditor/RawFenceEditor.js.map +1 -0
- package/dist/data/FixtureEditor/fixture-blocks.cjs +130 -0
- package/dist/data/FixtureEditor/fixture-blocks.cjs.map +1 -0
- package/dist/data/FixtureEditor/fixture-blocks.d.ts +26 -0
- package/dist/data/FixtureEditor/fixture-blocks.d.ts.map +1 -0
- package/dist/data/FixtureEditor/fixture-blocks.js +130 -0
- package/dist/data/FixtureEditor/fixture-blocks.js.map +1 -0
- package/dist/data/FixtureEditor/fixture-code-block-model.cjs +17 -0
- package/dist/data/FixtureEditor/fixture-code-block-model.cjs.map +1 -0
- package/dist/data/FixtureEditor/fixture-code-block-model.d.ts +3 -0
- package/dist/data/FixtureEditor/fixture-code-block-model.d.ts.map +1 -0
- package/dist/data/FixtureEditor/fixture-code-block-model.js +17 -0
- package/dist/data/FixtureEditor/fixture-code-block-model.js.map +1 -0
- package/dist/data/FixtureEditor/fixture-frontmatter.cjs +300 -0
- package/dist/data/FixtureEditor/fixture-frontmatter.cjs.map +1 -0
- package/dist/data/FixtureEditor/fixture-frontmatter.d.ts +32 -0
- package/dist/data/FixtureEditor/fixture-frontmatter.d.ts.map +1 -0
- package/dist/data/FixtureEditor/fixture-frontmatter.js +300 -0
- package/dist/data/FixtureEditor/fixture-frontmatter.js.map +1 -0
- package/dist/data/FixtureEditor/index.d.ts +5 -0
- package/dist/data/FixtureEditor/index.d.ts.map +1 -0
- package/dist/data/FixtureEditor/types.d.ts +44 -0
- package/dist/data/FixtureEditor/types.d.ts.map +1 -0
- package/dist/data/LogDetails.cjs +4 -4
- package/dist/data/LogDetails.cjs.map +1 -1
- package/dist/data/LogDetails.js +4 -4
- package/dist/data/LogDetails.js.map +1 -1
- package/dist/data/Markdown.cjs +29 -1
- package/dist/data/Markdown.cjs.map +1 -1
- package/dist/data/Markdown.d.ts +3 -2
- package/dist/data/Markdown.d.ts.map +1 -1
- package/dist/data/Markdown.js +30 -2
- package/dist/data/Markdown.js.map +1 -1
- package/dist/data/Properties.cjs +160 -40
- package/dist/data/Properties.cjs.map +1 -1
- package/dist/data/Properties.d.ts +8 -2
- package/dist/data/Properties.d.ts.map +1 -1
- package/dist/data/Properties.js +160 -40
- package/dist/data/Properties.js.map +1 -1
- package/dist/data/SchemaViewer.cjs +1 -1
- package/dist/data/SchemaViewer.cjs.map +1 -1
- package/dist/data/SchemaViewer.js +2 -2
- package/dist/data/SchemaViewer.js.map +1 -1
- package/dist/data/ai/ChatWindow.cjs +336 -18
- package/dist/data/ai/ChatWindow.cjs.map +1 -1
- package/dist/data/ai/ChatWindow.d.ts +13 -4
- package/dist/data/ai/ChatWindow.d.ts.map +1 -1
- package/dist/data/ai/ChatWindow.js +336 -18
- package/dist/data/ai/ChatWindow.js.map +1 -1
- package/dist/data/ai/ChatWindow.test-utils.d.ts +12 -0
- package/dist/data/ai/ChatWindow.test-utils.d.ts.map +1 -0
- package/dist/data/ai/PolicyTree.cjs +265 -0
- package/dist/data/ai/PolicyTree.cjs.map +1 -0
- package/dist/data/ai/PolicyTree.d.ts +33 -0
- package/dist/data/ai/PolicyTree.d.ts.map +1 -0
- package/dist/data/ai/PolicyTree.js +265 -0
- package/dist/data/ai/PolicyTree.js.map +1 -0
- package/dist/data/ai/PromptPicker/PromptPicker.cjs +251 -0
- package/dist/data/ai/PromptPicker/PromptPicker.cjs.map +1 -0
- package/dist/data/ai/PromptPicker/PromptPicker.d.ts +31 -0
- package/dist/data/ai/PromptPicker/PromptPicker.d.ts.map +1 -0
- package/dist/data/ai/PromptPicker/PromptPicker.js +251 -0
- package/dist/data/ai/PromptPicker/PromptPicker.js.map +1 -0
- package/dist/data/ai/PromptPicker/index.d.ts +4 -0
- package/dist/data/ai/PromptPicker/index.d.ts.map +1 -0
- package/dist/data/ai/PromptPicker/prompt-runtime.cjs +39 -0
- package/dist/data/ai/PromptPicker/prompt-runtime.cjs.map +1 -0
- package/dist/data/ai/PromptPicker/prompt-runtime.d.ts +9 -0
- package/dist/data/ai/PromptPicker/prompt-runtime.d.ts.map +1 -0
- package/dist/data/ai/PromptPicker/prompt-runtime.js +39 -0
- package/dist/data/ai/PromptPicker/prompt-runtime.js.map +1 -0
- package/dist/data/ai/PromptPicker/types.d.ts +25 -0
- package/dist/data/ai/PromptPicker/types.d.ts.map +1 -0
- package/dist/data/ai/PromptRunEditor/index.cjs +242 -0
- package/dist/data/ai/PromptRunEditor/index.cjs.map +1 -0
- package/dist/data/ai/PromptRunEditor/index.d.ts +42 -0
- package/dist/data/ai/PromptRunEditor/index.d.ts.map +1 -0
- package/dist/data/ai/PromptRunEditor/index.js +242 -0
- package/dist/data/ai/PromptRunEditor/index.js.map +1 -0
- package/dist/data/ai/RuntimeModePicker.cjs +61 -0
- package/dist/data/ai/RuntimeModePicker.cjs.map +1 -0
- package/dist/data/ai/RuntimeModePicker.d.ts +12 -0
- package/dist/data/ai/RuntimeModePicker.d.ts.map +1 -0
- package/dist/data/ai/RuntimeModePicker.js +61 -0
- package/dist/data/ai/RuntimeModePicker.js.map +1 -0
- package/dist/data/ai/SessionInspector.cjs +432 -0
- package/dist/data/ai/SessionInspector.cjs.map +1 -0
- package/dist/data/ai/SessionInspector.d.ts +11 -0
- package/dist/data/ai/SessionInspector.d.ts.map +1 -0
- package/dist/data/ai/SessionInspector.js +432 -0
- package/dist/data/ai/SessionInspector.js.map +1 -0
- package/dist/data/ai/SessionViewer.cjs +208 -196
- package/dist/data/ai/SessionViewer.cjs.map +1 -1
- package/dist/data/ai/SessionViewer.d.ts +39 -3
- package/dist/data/ai/SessionViewer.d.ts.map +1 -1
- package/dist/data/ai/SessionViewer.fixtures.d.ts.map +1 -1
- package/dist/data/ai/SessionViewer.grouping.cjs +44 -0
- package/dist/data/ai/SessionViewer.grouping.cjs.map +1 -0
- package/dist/data/ai/SessionViewer.grouping.d.ts +17 -0
- package/dist/data/ai/SessionViewer.grouping.d.ts.map +1 -0
- package/dist/data/ai/SessionViewer.grouping.js +44 -0
- package/dist/data/ai/SessionViewer.grouping.js.map +1 -0
- package/dist/data/ai/SessionViewer.input.cjs +219 -0
- package/dist/data/ai/SessionViewer.input.cjs.map +1 -0
- package/dist/data/ai/SessionViewer.input.d.ts +44 -0
- package/dist/data/ai/SessionViewer.input.d.ts.map +1 -0
- package/dist/data/ai/SessionViewer.input.js +219 -0
- package/dist/data/ai/SessionViewer.input.js.map +1 -0
- package/dist/data/ai/SessionViewer.js +209 -197
- package/dist/data/ai/SessionViewer.js.map +1 -1
- package/dist/data/ai/SessionViewer.model.cjs +203 -105
- package/dist/data/ai/SessionViewer.model.cjs.map +1 -1
- package/dist/data/ai/SessionViewer.model.d.ts +45 -7
- package/dist/data/ai/SessionViewer.model.d.ts.map +1 -1
- package/dist/data/ai/SessionViewer.model.js +203 -105
- package/dist/data/ai/SessionViewer.model.js.map +1 -1
- package/dist/data/ai/SessionViewer.rows.cjs +751 -0
- package/dist/data/ai/SessionViewer.rows.cjs.map +1 -0
- package/dist/data/ai/SessionViewer.rows.d.ts +20 -0
- package/dist/data/ai/SessionViewer.rows.d.ts.map +1 -0
- package/dist/data/ai/SessionViewer.rows.js +751 -0
- package/dist/data/ai/SessionViewer.rows.js.map +1 -0
- package/dist/data/ai/SessionViewer.unified.d.ts +193 -0
- package/dist/data/ai/SessionViewer.unified.d.ts.map +1 -0
- package/dist/data/ai/SessionViewerMenu.cjs +57 -68
- package/dist/data/ai/SessionViewerMenu.cjs.map +1 -1
- package/dist/data/ai/SessionViewerMenu.d.ts +3 -3
- package/dist/data/ai/SessionViewerMenu.d.ts.map +1 -1
- package/dist/data/ai/SessionViewerMenu.js +58 -69
- package/dist/data/ai/SessionViewerMenu.js.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/CLIArgsSection.cjs +25 -0
- package/dist/data/ai/SpecRuntimeEditor/CLIArgsSection.cjs.map +1 -0
- package/dist/data/ai/SpecRuntimeEditor/CLIArgsSection.d.ts +12 -0
- package/dist/data/ai/SpecRuntimeEditor/CLIArgsSection.d.ts.map +1 -0
- package/dist/data/ai/SpecRuntimeEditor/CLIArgsSection.js +25 -0
- package/dist/data/ai/SpecRuntimeEditor/CLIArgsSection.js.map +1 -0
- package/dist/data/ai/SpecRuntimeEditor/CommitSection.cjs +44 -0
- package/dist/data/ai/SpecRuntimeEditor/CommitSection.cjs.map +1 -0
- package/dist/data/ai/SpecRuntimeEditor/CommitSection.d.ts +6 -0
- package/dist/data/ai/SpecRuntimeEditor/CommitSection.d.ts.map +1 -0
- package/dist/data/ai/SpecRuntimeEditor/CommitSection.js +44 -0
- package/dist/data/ai/SpecRuntimeEditor/CommitSection.js.map +1 -0
- package/dist/data/ai/SpecRuntimeEditor/EnvironmentSection.cjs +137 -0
- package/dist/data/ai/SpecRuntimeEditor/EnvironmentSection.cjs.map +1 -0
- package/dist/data/ai/SpecRuntimeEditor/EnvironmentSection.d.ts +12 -0
- package/dist/data/ai/SpecRuntimeEditor/EnvironmentSection.d.ts.map +1 -0
- package/dist/data/ai/SpecRuntimeEditor/EnvironmentSection.js +137 -0
- package/dist/data/ai/SpecRuntimeEditor/EnvironmentSection.js.map +1 -0
- package/dist/data/ai/SpecRuntimeEditor/Footer.cjs +29 -0
- package/dist/data/ai/SpecRuntimeEditor/Footer.cjs.map +1 -0
- package/dist/data/ai/SpecRuntimeEditor/Footer.d.ts +8 -0
- package/dist/data/ai/SpecRuntimeEditor/Footer.d.ts.map +1 -0
- package/dist/data/ai/SpecRuntimeEditor/Footer.js +29 -0
- package/dist/data/ai/SpecRuntimeEditor/Footer.js.map +1 -0
- package/dist/data/ai/SpecRuntimeEditor/ModelSection.cjs +481 -0
- package/dist/data/ai/SpecRuntimeEditor/ModelSection.cjs.map +1 -0
- package/dist/data/ai/SpecRuntimeEditor/ModelSection.d.ts +16 -0
- package/dist/data/ai/SpecRuntimeEditor/ModelSection.d.ts.map +1 -0
- package/dist/data/ai/SpecRuntimeEditor/ModelSection.js +481 -0
- package/dist/data/ai/SpecRuntimeEditor/ModelSection.js.map +1 -0
- package/dist/data/ai/SpecRuntimeEditor/PermissionsSection.cjs +421 -0
- package/dist/data/ai/SpecRuntimeEditor/PermissionsSection.cjs.map +1 -0
- package/dist/data/ai/SpecRuntimeEditor/PermissionsSection.d.ts +17 -0
- package/dist/data/ai/SpecRuntimeEditor/PermissionsSection.d.ts.map +1 -0
- package/dist/data/ai/SpecRuntimeEditor/PermissionsSection.js +421 -0
- package/dist/data/ai/SpecRuntimeEditor/PermissionsSection.js.map +1 -0
- package/dist/data/ai/SpecRuntimeEditor/PresetCards.d.ts +8 -0
- package/dist/data/ai/SpecRuntimeEditor/PresetCards.d.ts.map +1 -0
- package/dist/data/ai/SpecRuntimeEditor/PromptSection.cjs +98 -0
- package/dist/data/ai/SpecRuntimeEditor/PromptSection.cjs.map +1 -0
- package/dist/data/ai/SpecRuntimeEditor/PromptSection.d.ts +10 -0
- package/dist/data/ai/SpecRuntimeEditor/PromptSection.d.ts.map +1 -0
- package/dist/data/ai/SpecRuntimeEditor/PromptSection.js +98 -0
- package/dist/data/ai/SpecRuntimeEditor/PromptSection.js.map +1 -0
- package/dist/data/ai/SpecRuntimeEditor/Rail.cjs +23 -0
- package/dist/data/ai/SpecRuntimeEditor/Rail.cjs.map +1 -0
- package/dist/data/ai/SpecRuntimeEditor/Rail.d.ts +7 -0
- package/dist/data/ai/SpecRuntimeEditor/Rail.d.ts.map +1 -0
- package/dist/data/ai/SpecRuntimeEditor/Rail.js +23 -0
- package/dist/data/ai/SpecRuntimeEditor/Rail.js.map +1 -0
- package/dist/data/ai/SpecRuntimeEditor/SectionCard.cjs +77 -0
- package/dist/data/ai/SpecRuntimeEditor/SectionCard.cjs.map +1 -0
- package/dist/data/ai/SpecRuntimeEditor/SectionCard.d.ts +14 -0
- package/dist/data/ai/SpecRuntimeEditor/SectionCard.d.ts.map +1 -0
- package/dist/data/ai/SpecRuntimeEditor/SectionCard.js +77 -0
- package/dist/data/ai/SpecRuntimeEditor/SectionCard.js.map +1 -0
- package/dist/data/ai/SpecRuntimeEditor/VerifySection.cjs +65 -0
- package/dist/data/ai/SpecRuntimeEditor/VerifySection.cjs.map +1 -0
- package/dist/data/ai/SpecRuntimeEditor/VerifySection.d.ts +12 -0
- package/dist/data/ai/SpecRuntimeEditor/VerifySection.d.ts.map +1 -0
- package/dist/data/ai/SpecRuntimeEditor/VerifySection.js +65 -0
- package/dist/data/ai/SpecRuntimeEditor/VerifySection.js.map +1 -0
- package/dist/data/ai/SpecRuntimeEditor/WorkspaceSection.cjs +227 -0
- package/dist/data/ai/SpecRuntimeEditor/WorkspaceSection.cjs.map +1 -0
- package/dist/data/ai/SpecRuntimeEditor/WorkspaceSection.d.ts +8 -0
- package/dist/data/ai/SpecRuntimeEditor/WorkspaceSection.d.ts.map +1 -0
- package/dist/data/ai/SpecRuntimeEditor/WorkspaceSection.js +227 -0
- package/dist/data/ai/SpecRuntimeEditor/WorkspaceSection.js.map +1 -0
- package/dist/data/ai/SpecRuntimeEditor/env-model.cjs +45 -0
- package/dist/data/ai/SpecRuntimeEditor/env-model.cjs.map +1 -0
- package/dist/data/ai/SpecRuntimeEditor/env-model.d.ts +7 -0
- package/dist/data/ai/SpecRuntimeEditor/env-model.d.ts.map +1 -0
- package/dist/data/ai/SpecRuntimeEditor/env-model.js +45 -0
- package/dist/data/ai/SpecRuntimeEditor/env-model.js.map +1 -0
- package/dist/data/ai/SpecRuntimeEditor/fields.cjs +287 -0
- package/dist/data/ai/SpecRuntimeEditor/fields.cjs.map +1 -0
- package/dist/data/ai/SpecRuntimeEditor/fields.d.ts +79 -0
- package/dist/data/ai/SpecRuntimeEditor/fields.d.ts.map +1 -0
- package/dist/data/ai/SpecRuntimeEditor/fields.js +287 -0
- package/dist/data/ai/SpecRuntimeEditor/fields.js.map +1 -0
- package/dist/data/ai/SpecRuntimeEditor/index.cjs +213 -0
- package/dist/data/ai/SpecRuntimeEditor/index.cjs.map +1 -0
- package/dist/data/ai/SpecRuntimeEditor/index.d.ts +41 -0
- package/dist/data/ai/SpecRuntimeEditor/index.d.ts.map +1 -0
- package/dist/data/ai/SpecRuntimeEditor/index.js +213 -0
- package/dist/data/ai/SpecRuntimeEditor/index.js.map +1 -0
- package/dist/data/ai/SpecRuntimeEditor/permissions-model.cjs +252 -0
- package/dist/data/ai/SpecRuntimeEditor/permissions-model.cjs.map +1 -0
- package/dist/data/ai/SpecRuntimeEditor/permissions-model.d.ts +36 -0
- package/dist/data/ai/SpecRuntimeEditor/permissions-model.d.ts.map +1 -0
- package/dist/data/ai/SpecRuntimeEditor/permissions-model.js +252 -0
- package/dist/data/ai/SpecRuntimeEditor/permissions-model.js.map +1 -0
- package/dist/data/ai/SpecRuntimeEditor/presets.cjs +214 -0
- package/dist/data/ai/SpecRuntimeEditor/presets.cjs.map +1 -0
- package/dist/data/ai/SpecRuntimeEditor/presets.d.ts +35 -0
- package/dist/data/ai/SpecRuntimeEditor/presets.d.ts.map +1 -0
- package/dist/data/ai/SpecRuntimeEditor/presets.js +214 -0
- package/dist/data/ai/SpecRuntimeEditor/presets.js.map +1 -0
- package/dist/data/ai/SpecRuntimeEditor/summaries.cjs +15 -0
- package/dist/data/ai/SpecRuntimeEditor/summaries.cjs.map +1 -0
- package/dist/data/ai/SpecRuntimeEditor/summaries.d.ts +13 -0
- package/dist/data/ai/SpecRuntimeEditor/summaries.d.ts.map +1 -0
- package/dist/data/ai/SpecRuntimeEditor/summaries.js +15 -0
- package/dist/data/ai/SpecRuntimeEditor/summaries.js.map +1 -0
- package/dist/data/ai/SpecRuntimeEditor/types.cjs +74 -0
- package/dist/data/ai/SpecRuntimeEditor/types.cjs.map +1 -0
- package/dist/data/ai/SpecRuntimeEditor/types.d.ts +19 -0
- package/dist/data/ai/SpecRuntimeEditor/types.d.ts.map +1 -0
- package/dist/data/ai/SpecRuntimeEditor/types.js +74 -0
- package/dist/data/ai/SpecRuntimeEditor/types.js.map +1 -0
- package/dist/data/ai/SpecRuntimeEditor/update.cjs +144 -0
- package/dist/data/ai/SpecRuntimeEditor/update.cjs.map +1 -0
- package/dist/data/ai/SpecRuntimeEditor/update.d.ts +28 -0
- package/dist/data/ai/SpecRuntimeEditor/update.d.ts.map +1 -0
- package/dist/data/ai/SpecRuntimeEditor/update.js +144 -0
- package/dist/data/ai/SpecRuntimeEditor/update.js.map +1 -0
- package/dist/data/ai/SpecRuntimeEditor/use-scrollspy.cjs +55 -0
- package/dist/data/ai/SpecRuntimeEditor/use-scrollspy.cjs.map +1 -0
- package/dist/data/ai/SpecRuntimeEditor/use-scrollspy.d.ts +9 -0
- package/dist/data/ai/SpecRuntimeEditor/use-scrollspy.d.ts.map +1 -0
- package/dist/data/ai/SpecRuntimeEditor/use-scrollspy.js +55 -0
- package/dist/data/ai/SpecRuntimeEditor/use-scrollspy.js.map +1 -0
- package/dist/data/ai/SpecRuntimeEditor.model.cjs +398 -0
- package/dist/data/ai/SpecRuntimeEditor.model.cjs.map +1 -0
- package/dist/data/ai/SpecRuntimeEditor.model.d.ts +169 -0
- package/dist/data/ai/SpecRuntimeEditor.model.d.ts.map +1 -0
- package/dist/data/ai/SpecRuntimeEditor.model.js +398 -0
- package/dist/data/ai/SpecRuntimeEditor.model.js.map +1 -0
- package/dist/data/ai/ToolPreferences.cjs +705 -165
- package/dist/data/ai/ToolPreferences.cjs.map +1 -1
- package/dist/data/ai/ToolPreferences.d.ts +29 -5
- package/dist/data/ai/ToolPreferences.d.ts.map +1 -1
- package/dist/data/ai/ToolPreferences.js +707 -167
- package/dist/data/ai/ToolPreferences.js.map +1 -1
- package/dist/data/ai/ToolSchemaBrowser.cjs +549 -0
- package/dist/data/ai/ToolSchemaBrowser.cjs.map +1 -0
- package/dist/data/ai/ToolSchemaBrowser.d.ts +7 -0
- package/dist/data/ai/ToolSchemaBrowser.d.ts.map +1 -0
- package/dist/data/ai/ToolSchemaBrowser.js +549 -0
- package/dist/data/ai/ToolSchemaBrowser.js.map +1 -0
- package/dist/data/ai/agent-action-icons.cjs +78 -0
- package/dist/data/ai/agent-action-icons.cjs.map +1 -0
- package/dist/data/ai/agent-action-icons.d.ts +22 -0
- package/dist/data/ai/agent-action-icons.d.ts.map +1 -0
- package/dist/data/ai/agent-action-icons.js +78 -0
- package/dist/data/ai/agent-action-icons.js.map +1 -0
- package/dist/data/ai/index.d.ts +21 -6
- package/dist/data/ai/index.d.ts.map +1 -1
- package/dist/data/ai/model-capabilities.cjs +23 -0
- package/dist/data/ai/model-capabilities.cjs.map +1 -0
- package/dist/data/ai/model-capabilities.d.ts +9 -0
- package/dist/data/ai/model-capabilities.d.ts.map +1 -0
- package/dist/data/ai/model-capabilities.js +23 -0
- package/dist/data/ai/model-capabilities.js.map +1 -0
- package/dist/data/ai/runtime-mode.cjs +133 -0
- package/dist/data/ai/runtime-mode.cjs.map +1 -0
- package/dist/data/ai/runtime-mode.d.ts +31 -0
- package/dist/data/ai/runtime-mode.d.ts.map +1 -0
- package/dist/data/ai/runtime-mode.js +133 -0
- package/dist/data/ai/runtime-mode.js.map +1 -0
- package/dist/data/ai/session-categories.cjs +34 -0
- package/dist/data/ai/session-categories.cjs.map +1 -1
- package/dist/data/ai/session-categories.d.ts +2 -0
- package/dist/data/ai/session-categories.d.ts.map +1 -1
- package/dist/data/ai/session-categories.js +34 -0
- package/dist/data/ai/session-categories.js.map +1 -1
- package/dist/data/ai/session-cost.cjs +13 -0
- package/dist/data/ai/session-cost.cjs.map +1 -0
- package/dist/data/ai/session-cost.d.ts +8 -0
- package/dist/data/ai/session-cost.d.ts.map +1 -0
- package/dist/data/ai/session-cost.js +13 -0
- package/dist/data/ai/session-cost.js.map +1 -0
- package/dist/data/ai/tool-name.d.ts +10 -0
- package/dist/data/ai/tool-name.d.ts.map +1 -0
- package/dist/data/ai/use-session-scroll.cjs +96 -0
- package/dist/data/ai/use-session-scroll.cjs.map +1 -0
- package/dist/data/ai/use-session-scroll.d.ts +43 -0
- package/dist/data/ai/use-session-scroll.d.ts.map +1 -0
- package/dist/data/ai/use-session-scroll.js +96 -0
- package/dist/data/ai/use-session-scroll.js.map +1 -0
- package/dist/data/cells/TagList.cjs +4 -2
- package/dist/data/cells/TagList.cjs.map +1 -1
- package/dist/data/cells/TagList.d.ts +2 -1
- package/dist/data/cells/TagList.d.ts.map +1 -1
- package/dist/data/cells/TagList.js +4 -2
- package/dist/data/cells/TagList.js.map +1 -1
- package/dist/data/chat/Chat.cjs +49 -15
- package/dist/data/chat/Chat.cjs.map +1 -1
- package/dist/data/chat/Chat.d.ts +16 -2
- package/dist/data/chat/Chat.d.ts.map +1 -1
- package/dist/data/chat/Chat.js +49 -15
- package/dist/data/chat/Chat.js.map +1 -1
- package/dist/data/chat/ContextMeter.cjs +164 -0
- package/dist/data/chat/ContextMeter.cjs.map +1 -0
- package/dist/data/chat/ContextMeter.d.ts +50 -0
- package/dist/data/chat/ContextMeter.d.ts.map +1 -0
- package/dist/data/chat/ContextMeter.js +164 -0
- package/dist/data/chat/ContextMeter.js.map +1 -0
- package/dist/data/chat/ModelSelector.cjs +139 -10
- package/dist/data/chat/ModelSelector.cjs.map +1 -1
- package/dist/data/chat/ModelSelector.d.ts +44 -3
- package/dist/data/chat/ModelSelector.d.ts.map +1 -1
- package/dist/data/chat/ModelSelector.js +141 -12
- package/dist/data/chat/ModelSelector.js.map +1 -1
- package/dist/data/chat/clickyOperationsToTools.cjs +83 -69
- package/dist/data/chat/clickyOperationsToTools.cjs.map +1 -1
- package/dist/data/chat/clickyOperationsToTools.d.ts +3 -3
- package/dist/data/chat/clickyOperationsToTools.d.ts.map +1 -1
- package/dist/data/chat/clickyOperationsToTools.js +83 -69
- package/dist/data/chat/clickyOperationsToTools.js.map +1 -1
- package/dist/data/chat/effort-icons.cjs +43 -0
- package/dist/data/chat/effort-icons.cjs.map +1 -0
- package/dist/data/chat/effort-icons.d.ts +10 -0
- package/dist/data/chat/effort-icons.d.ts.map +1 -0
- package/dist/data/chat/effort-icons.js +43 -0
- package/dist/data/chat/effort-icons.js.map +1 -0
- package/dist/data/chat/index.d.ts +3 -3
- package/dist/data/chat/index.d.ts.map +1 -1
- package/dist/data/chat/provider-icons.cjs +25 -6
- package/dist/data/chat/provider-icons.cjs.map +1 -1
- package/dist/data/chat/provider-icons.d.ts +3 -5
- package/dist/data/chat/provider-icons.d.ts.map +1 -1
- package/dist/data/chat/provider-icons.js +25 -6
- package/dist/data/chat/provider-icons.js.map +1 -1
- package/dist/data/chat/types.cjs +42 -0
- package/dist/data/chat/types.cjs.map +1 -1
- package/dist/data/chat/types.d.ts +83 -19
- package/dist/data/chat/types.d.ts.map +1 -1
- package/dist/data/chat/types.js +42 -0
- package/dist/data/chat/types.js.map +1 -1
- package/dist/data/code-block-actions.cjs +101 -0
- package/dist/data/code-block-actions.cjs.map +1 -0
- package/dist/data/code-block-actions.d.ts +20 -0
- package/dist/data/code-block-actions.d.ts.map +1 -0
- package/dist/data/code-block-actions.js +101 -0
- package/dist/data/code-block-actions.js.map +1 -0
- package/dist/data/code-diff.cjs +106 -0
- package/dist/data/code-diff.cjs.map +1 -0
- package/dist/data/code-diff.d.ts +20 -0
- package/dist/data/code-diff.d.ts.map +1 -0
- package/dist/data/code-diff.js +106 -0
- package/dist/data/code-diff.js.map +1 -0
- package/dist/data/code-highlight.cjs +30 -0
- package/dist/data/code-highlight.cjs.map +1 -1
- package/dist/data/code-highlight.d.ts +8 -0
- package/dist/data/code-highlight.d.ts.map +1 -1
- package/dist/data/code-highlight.js +30 -0
- package/dist/data/code-highlight.js.map +1 -1
- package/dist/data/git/GitChangeList.cjs +410 -0
- package/dist/data/git/GitChangeList.cjs.map +1 -0
- package/dist/data/git/GitChangeList.d.ts +69 -0
- package/dist/data/git/GitChangeList.d.ts.map +1 -0
- package/dist/data/git/GitChangeList.js +410 -0
- package/dist/data/git/GitChangeList.js.map +1 -0
- package/dist/data/git/git-dates.cjs +37 -0
- package/dist/data/git/git-dates.cjs.map +1 -0
- package/dist/data/git/git-dates.d.ts +4 -0
- package/dist/data/git/git-dates.d.ts.map +1 -0
- package/dist/data/git/git-dates.js +37 -0
- package/dist/data/git/git-dates.js.map +1 -0
- package/dist/data/git/index.d.ts +3 -0
- package/dist/data/git/index.d.ts.map +1 -0
- package/dist/data/query-browser/QueryBrowser.cjs +323 -0
- package/dist/data/query-browser/QueryBrowser.cjs.map +1 -0
- package/dist/data/query-browser/QueryBrowser.completion.cjs +99 -0
- package/dist/data/query-browser/QueryBrowser.completion.cjs.map +1 -0
- package/dist/data/query-browser/QueryBrowser.completion.d.ts +34 -0
- package/dist/data/query-browser/QueryBrowser.completion.d.ts.map +1 -0
- package/dist/data/query-browser/QueryBrowser.completion.js +99 -0
- package/dist/data/query-browser/QueryBrowser.completion.js.map +1 -0
- package/dist/data/query-browser/QueryBrowser.d.ts +42 -0
- package/dist/data/query-browser/QueryBrowser.d.ts.map +1 -0
- package/dist/data/query-browser/QueryBrowser.js +323 -0
- package/dist/data/query-browser/QueryBrowser.js.map +1 -0
- package/dist/data/query-browser/index.d.ts +3 -0
- package/dist/data/query-browser/index.d.ts.map +1 -0
- package/dist/data/version-info.cjs +3 -3
- package/dist/data/version-info.cjs.map +1 -1
- package/dist/data/version-info.js +3 -3
- package/dist/data/version-info.js.map +1 -1
- package/dist/data.cjs +164 -0
- package/dist/data.cjs.map +1 -1
- package/dist/data.d.ts +7 -2
- package/dist/data.d.ts.map +1 -1
- package/dist/data.js +166 -2
- package/dist/data.js.map +1 -1
- package/dist/icons/components/UiArrowFatUp.cjs +15 -0
- package/dist/icons/components/UiArrowFatUp.cjs.map +1 -0
- package/dist/icons/components/UiArrowFatUp.d.ts +15 -0
- package/dist/icons/components/UiArrowFatUp.d.ts.map +1 -0
- package/dist/icons/components/UiArrowFatUp.js +15 -0
- package/dist/icons/components/UiArrowFatUp.js.map +1 -0
- package/dist/icons/components/UiAsterisk.cjs +15 -0
- package/dist/icons/components/UiAsterisk.cjs.map +1 -0
- package/dist/icons/components/UiAsterisk.d.ts +15 -0
- package/dist/icons/components/UiAsterisk.d.ts.map +1 -0
- package/dist/icons/components/UiAsterisk.js +15 -0
- package/dist/icons/components/UiAsterisk.js.map +1 -0
- package/dist/icons/components/UiAtom.cjs +15 -0
- package/dist/icons/components/UiAtom.cjs.map +1 -0
- package/dist/icons/components/UiAtom.d.ts +15 -0
- package/dist/icons/components/UiAtom.d.ts.map +1 -0
- package/dist/icons/components/UiAtom.js +15 -0
- package/dist/icons/components/UiAtom.js.map +1 -0
- package/dist/icons/components/UiBatteryChargingVertical.cjs +15 -0
- package/dist/icons/components/UiBatteryChargingVertical.cjs.map +1 -0
- package/dist/icons/components/UiBatteryChargingVertical.d.ts +15 -0
- package/dist/icons/components/UiBatteryChargingVertical.d.ts.map +1 -0
- package/dist/icons/components/UiBatteryChargingVertical.js +15 -0
- package/dist/icons/components/UiBatteryChargingVertical.js.map +1 -0
- package/dist/icons/components/UiBatteryVerticalEmpty.cjs +15 -0
- package/dist/icons/components/UiBatteryVerticalEmpty.cjs.map +1 -0
- package/dist/icons/components/UiBatteryVerticalEmpty.d.ts +15 -0
- package/dist/icons/components/UiBatteryVerticalEmpty.d.ts.map +1 -0
- package/dist/icons/components/UiBatteryVerticalEmpty.js +15 -0
- package/dist/icons/components/UiBatteryVerticalEmpty.js.map +1 -0
- package/dist/icons/components/UiBatteryVerticalFull.cjs +15 -0
- package/dist/icons/components/UiBatteryVerticalFull.cjs.map +1 -0
- package/dist/icons/components/UiBatteryVerticalFull.d.ts +15 -0
- package/dist/icons/components/UiBatteryVerticalFull.d.ts.map +1 -0
- package/dist/icons/components/UiBatteryVerticalFull.js +15 -0
- package/dist/icons/components/UiBatteryVerticalFull.js.map +1 -0
- package/dist/icons/components/UiBatteryVerticalHigh.cjs +15 -0
- package/dist/icons/components/UiBatteryVerticalHigh.cjs.map +1 -0
- package/dist/icons/components/UiBatteryVerticalHigh.d.ts +15 -0
- package/dist/icons/components/UiBatteryVerticalHigh.d.ts.map +1 -0
- package/dist/icons/components/UiBatteryVerticalHigh.js +15 -0
- package/dist/icons/components/UiBatteryVerticalHigh.js.map +1 -0
- package/dist/icons/components/UiBatteryVerticalLow.cjs +15 -0
- package/dist/icons/components/UiBatteryVerticalLow.cjs.map +1 -0
- package/dist/icons/components/UiBatteryVerticalLow.d.ts +15 -0
- package/dist/icons/components/UiBatteryVerticalLow.d.ts.map +1 -0
- package/dist/icons/components/UiBatteryVerticalLow.js +15 -0
- package/dist/icons/components/UiBatteryVerticalLow.js.map +1 -0
- package/dist/icons/components/UiBatteryVerticalMedium.cjs +15 -0
- package/dist/icons/components/UiBatteryVerticalMedium.cjs.map +1 -0
- package/dist/icons/components/UiBatteryVerticalMedium.d.ts +15 -0
- package/dist/icons/components/UiBatteryVerticalMedium.d.ts.map +1 -0
- package/dist/icons/components/UiBatteryVerticalMedium.js +15 -0
- package/dist/icons/components/UiBatteryVerticalMedium.js.map +1 -0
- package/dist/icons/components/UiChatDots.cjs +15 -0
- package/dist/icons/components/UiChatDots.cjs.map +1 -0
- package/dist/icons/components/UiChatDots.d.ts +15 -0
- package/dist/icons/components/UiChatDots.d.ts.map +1 -0
- package/dist/icons/components/UiChatDots.js +15 -0
- package/dist/icons/components/UiChatDots.js.map +1 -0
- package/dist/icons/components/UiCoins.cjs +15 -0
- package/dist/icons/components/UiCoins.cjs.map +1 -0
- package/dist/icons/components/UiCoins.d.ts +15 -0
- package/dist/icons/components/UiCoins.d.ts.map +1 -0
- package/dist/icons/components/UiCoins.js +15 -0
- package/dist/icons/components/UiCoins.js.map +1 -0
- package/dist/icons/components/UiCompass.cjs +15 -0
- package/dist/icons/components/UiCompass.cjs.map +1 -0
- package/dist/icons/components/UiCompass.d.ts +15 -0
- package/dist/icons/components/UiCompass.d.ts.map +1 -0
- package/dist/icons/components/UiCompass.js +15 -0
- package/dist/icons/components/UiCompass.js.map +1 -0
- package/dist/icons/components/UiCurrencyDollar.cjs +15 -0
- package/dist/icons/components/UiCurrencyDollar.cjs.map +1 -0
- package/dist/icons/components/UiCurrencyDollar.d.ts +15 -0
- package/dist/icons/components/UiCurrencyDollar.d.ts.map +1 -0
- package/dist/icons/components/UiCurrencyDollar.js +15 -0
- package/dist/icons/components/UiCurrencyDollar.js.map +1 -0
- package/dist/icons/components/UiCursorClick.cjs +15 -0
- package/dist/icons/components/UiCursorClick.cjs.map +1 -0
- package/dist/icons/components/UiCursorClick.d.ts +15 -0
- package/dist/icons/components/UiCursorClick.d.ts.map +1 -0
- package/dist/icons/components/UiCursorClick.js +15 -0
- package/dist/icons/components/UiCursorClick.js.map +1 -0
- package/dist/icons/components/UiCursorText.cjs +15 -0
- package/dist/icons/components/UiCursorText.cjs.map +1 -0
- package/dist/icons/components/UiCursorText.d.ts +15 -0
- package/dist/icons/components/UiCursorText.d.ts.map +1 -0
- package/dist/icons/components/UiCursorText.js +15 -0
- package/dist/icons/components/UiCursorText.js.map +1 -0
- package/dist/icons/components/UiEllipsisBold.cjs +10 -0
- package/dist/icons/components/UiEllipsisBold.cjs.map +1 -0
- package/dist/icons/components/UiEllipsisBold.d.ts +9 -0
- package/dist/icons/components/UiEllipsisBold.d.ts.map +1 -0
- package/dist/icons/components/UiEllipsisBold.js +10 -0
- package/dist/icons/components/UiEllipsisBold.js.map +1 -0
- package/dist/icons/components/UiFastForwardCircle.cjs +15 -0
- package/dist/icons/components/UiFastForwardCircle.cjs.map +1 -0
- package/dist/icons/components/UiFastForwardCircle.d.ts +15 -0
- package/dist/icons/components/UiFastForwardCircle.d.ts.map +1 -0
- package/dist/icons/components/UiFastForwardCircle.js +15 -0
- package/dist/icons/components/UiFastForwardCircle.js.map +1 -0
- package/dist/icons/components/UiFilePlus.cjs +15 -0
- package/dist/icons/components/UiFilePlus.cjs.map +1 -0
- package/dist/icons/components/UiFilePlus.d.ts +15 -0
- package/dist/icons/components/UiFilePlus.d.ts.map +1 -0
- package/dist/icons/components/UiFilePlus.js +15 -0
- package/dist/icons/components/UiFilePlus.js.map +1 -0
- package/dist/icons/components/UiGavel.cjs +15 -0
- package/dist/icons/components/UiGavel.cjs.map +1 -0
- package/dist/icons/components/UiGavel.d.ts +15 -0
- package/dist/icons/components/UiGavel.d.ts.map +1 -0
- package/dist/icons/components/UiGavel.js +15 -0
- package/dist/icons/components/UiGavel.js.map +1 -0
- package/dist/icons/components/UiGearSix.cjs +15 -0
- package/dist/icons/components/UiGearSix.cjs.map +1 -0
- package/dist/icons/components/UiGearSix.d.ts +15 -0
- package/dist/icons/components/UiGearSix.d.ts.map +1 -0
- package/dist/icons/components/UiGearSix.js +15 -0
- package/dist/icons/components/UiGearSix.js.map +1 -0
- package/dist/icons/components/UiGitCommit.cjs +15 -0
- package/dist/icons/components/UiGitCommit.cjs.map +1 -0
- package/dist/icons/components/UiGitCommit.d.ts +15 -0
- package/dist/icons/components/UiGitCommit.d.ts.map +1 -0
- package/dist/icons/components/UiGitCommit.js +15 -0
- package/dist/icons/components/UiGitCommit.js.map +1 -0
- package/dist/icons/components/UiHandPalm.cjs +15 -0
- package/dist/icons/components/UiHandPalm.cjs.map +1 -0
- package/dist/icons/components/UiHandPalm.d.ts +15 -0
- package/dist/icons/components/UiHandPalm.d.ts.map +1 -0
- package/dist/icons/components/UiHandPalm.js +15 -0
- package/dist/icons/components/UiHandPalm.js.map +1 -0
- package/dist/icons/components/UiKeyboard.cjs +15 -0
- package/dist/icons/components/UiKeyboard.cjs.map +1 -0
- package/dist/icons/components/UiKeyboard.d.ts +15 -0
- package/dist/icons/components/UiKeyboard.d.ts.map +1 -0
- package/dist/icons/components/UiKeyboard.js +15 -0
- package/dist/icons/components/UiKeyboard.js.map +1 -0
- package/dist/icons/components/UiListChecks.cjs +15 -0
- package/dist/icons/components/UiListChecks.cjs.map +1 -0
- package/dist/icons/components/UiListChecks.d.ts +15 -0
- package/dist/icons/components/UiListChecks.d.ts.map +1 -0
- package/dist/icons/components/UiListChecks.js +15 -0
- package/dist/icons/components/UiListChecks.js.map +1 -0
- package/dist/icons/components/UiLogoAnthropic.cjs +10 -0
- package/dist/icons/components/UiLogoAnthropic.cjs.map +1 -0
- package/dist/icons/components/UiLogoAnthropic.d.ts +9 -0
- package/dist/icons/components/UiLogoAnthropic.d.ts.map +1 -0
- package/dist/icons/components/UiLogoAnthropic.js +10 -0
- package/dist/icons/components/UiLogoAnthropic.js.map +1 -0
- package/dist/icons/components/UiLogoClaude.cjs +10 -0
- package/dist/icons/components/UiLogoClaude.cjs.map +1 -0
- package/dist/icons/components/UiLogoClaude.d.ts +9 -0
- package/dist/icons/components/UiLogoClaude.d.ts.map +1 -0
- package/dist/icons/components/UiLogoClaude.js +10 -0
- package/dist/icons/components/UiLogoClaude.js.map +1 -0
- package/dist/icons/components/UiLogoDeepseek.cjs +10 -0
- package/dist/icons/components/UiLogoDeepseek.cjs.map +1 -0
- package/dist/icons/components/UiLogoDeepseek.d.ts +9 -0
- package/dist/icons/components/UiLogoDeepseek.d.ts.map +1 -0
- package/dist/icons/components/UiLogoDeepseek.js +10 -0
- package/dist/icons/components/UiLogoDeepseek.js.map +1 -0
- package/dist/icons/components/UiLogoGemini.cjs +10 -0
- package/dist/icons/components/UiLogoGemini.cjs.map +1 -0
- package/dist/icons/components/UiLogoGemini.d.ts +9 -0
- package/dist/icons/components/UiLogoGemini.d.ts.map +1 -0
- package/dist/icons/components/UiLogoGemini.js +10 -0
- package/dist/icons/components/UiLogoGemini.js.map +1 -0
- package/dist/icons/components/UiLogoGoogle.cjs +10 -0
- package/dist/icons/components/UiLogoGoogle.cjs.map +1 -0
- package/dist/icons/components/UiLogoGoogle.d.ts +9 -0
- package/dist/icons/components/UiLogoGoogle.d.ts.map +1 -0
- package/dist/icons/components/UiLogoGoogle.js +10 -0
- package/dist/icons/components/UiLogoGoogle.js.map +1 -0
- package/dist/icons/components/UiLogoHuggingface.cjs +10 -0
- package/dist/icons/components/UiLogoHuggingface.cjs.map +1 -0
- package/dist/icons/components/UiLogoHuggingface.d.ts +9 -0
- package/dist/icons/components/UiLogoHuggingface.d.ts.map +1 -0
- package/dist/icons/components/UiLogoHuggingface.js +10 -0
- package/dist/icons/components/UiLogoHuggingface.js.map +1 -0
- package/dist/icons/components/UiLogoMeta.cjs +10 -0
- package/dist/icons/components/UiLogoMeta.cjs.map +1 -0
- package/dist/icons/components/UiLogoMeta.d.ts +9 -0
- package/dist/icons/components/UiLogoMeta.d.ts.map +1 -0
- package/dist/icons/components/UiLogoMeta.js +10 -0
- package/dist/icons/components/UiLogoMeta.js.map +1 -0
- package/dist/icons/components/UiLogoMistral.cjs +10 -0
- package/dist/icons/components/UiLogoMistral.cjs.map +1 -0
- package/dist/icons/components/UiLogoMistral.d.ts +9 -0
- package/dist/icons/components/UiLogoMistral.d.ts.map +1 -0
- package/dist/icons/components/UiLogoMistral.js +10 -0
- package/dist/icons/components/UiLogoMistral.js.map +1 -0
- package/dist/icons/components/UiLogoOllama.cjs +10 -0
- package/dist/icons/components/UiLogoOllama.cjs.map +1 -0
- package/dist/icons/components/UiLogoOllama.d.ts +9 -0
- package/dist/icons/components/UiLogoOllama.d.ts.map +1 -0
- package/dist/icons/components/UiLogoOllama.js +10 -0
- package/dist/icons/components/UiLogoOllama.js.map +1 -0
- package/dist/icons/components/UiLogoOpenai.cjs +10 -0
- package/dist/icons/components/UiLogoOpenai.cjs.map +1 -0
- package/dist/icons/components/UiLogoOpenai.d.ts +9 -0
- package/dist/icons/components/UiLogoOpenai.d.ts.map +1 -0
- package/dist/icons/components/UiLogoOpenai.js +10 -0
- package/dist/icons/components/UiLogoOpenai.js.map +1 -0
- package/dist/icons/components/UiLogoPerplexity.cjs +10 -0
- package/dist/icons/components/UiLogoPerplexity.cjs.map +1 -0
- package/dist/icons/components/UiLogoPerplexity.d.ts +9 -0
- package/dist/icons/components/UiLogoPerplexity.d.ts.map +1 -0
- package/dist/icons/components/UiLogoPerplexity.js +10 -0
- package/dist/icons/components/UiLogoPerplexity.js.map +1 -0
- package/dist/icons/components/UiPalette.cjs +15 -0
- package/dist/icons/components/UiPalette.cjs.map +1 -0
- package/dist/icons/components/UiPalette.d.ts +15 -0
- package/dist/icons/components/UiPalette.d.ts.map +1 -0
- package/dist/icons/components/UiPalette.js +15 -0
- package/dist/icons/components/UiPalette.js.map +1 -0
- package/dist/icons/components/UiPauseCircle.cjs +15 -0
- package/dist/icons/components/UiPauseCircle.cjs.map +1 -0
- package/dist/icons/components/UiPauseCircle.d.ts +15 -0
- package/dist/icons/components/UiPauseCircle.d.ts.map +1 -0
- package/dist/icons/components/UiPauseCircle.js +15 -0
- package/dist/icons/components/UiPauseCircle.js.map +1 -0
- package/dist/icons/components/UiPencilSimpleLine.cjs +15 -0
- package/dist/icons/components/UiPencilSimpleLine.cjs.map +1 -0
- package/dist/icons/components/UiPencilSimpleLine.d.ts +15 -0
- package/dist/icons/components/UiPencilSimpleLine.d.ts.map +1 -0
- package/dist/icons/components/UiPencilSimpleLine.js +15 -0
- package/dist/icons/components/UiPencilSimpleLine.js.map +1 -0
- package/dist/icons/components/UiPlugsConnected.cjs +15 -0
- package/dist/icons/components/UiPlugsConnected.cjs.map +1 -0
- package/dist/icons/components/UiPlugsConnected.d.ts +15 -0
- package/dist/icons/components/UiPlugsConnected.d.ts.map +1 -0
- package/dist/icons/components/UiPlugsConnected.js +15 -0
- package/dist/icons/components/UiPlugsConnected.js.map +1 -0
- package/dist/icons/components/UiProhibit.cjs +15 -0
- package/dist/icons/components/UiProhibit.cjs.map +1 -0
- package/dist/icons/components/UiProhibit.d.ts +15 -0
- package/dist/icons/components/UiProhibit.d.ts.map +1 -0
- package/dist/icons/components/UiProhibit.js +15 -0
- package/dist/icons/components/UiProhibit.js.map +1 -0
- package/dist/icons/components/UiRepeat.cjs +15 -0
- package/dist/icons/components/UiRepeat.cjs.map +1 -0
- package/dist/icons/components/UiRepeat.d.ts +15 -0
- package/dist/icons/components/UiRepeat.d.ts.map +1 -0
- package/dist/icons/components/UiRepeat.js +15 -0
- package/dist/icons/components/UiRepeat.js.map +1 -0
- package/dist/icons/components/UiScan.cjs +15 -0
- package/dist/icons/components/UiScan.cjs.map +1 -0
- package/dist/icons/components/UiScan.d.ts +15 -0
- package/dist/icons/components/UiScan.d.ts.map +1 -0
- package/dist/icons/components/UiScan.js +15 -0
- package/dist/icons/components/UiScan.js.map +1 -0
- package/dist/icons/components/UiScroll.cjs +15 -0
- package/dist/icons/components/UiScroll.cjs.map +1 -0
- package/dist/icons/components/UiScroll.d.ts +15 -0
- package/dist/icons/components/UiScroll.d.ts.map +1 -0
- package/dist/icons/components/UiScroll.js +15 -0
- package/dist/icons/components/UiScroll.js.map +1 -0
- package/dist/icons/components/UiShieldSlash.cjs +15 -0
- package/dist/icons/components/UiShieldSlash.cjs.map +1 -0
- package/dist/icons/components/UiShieldSlash.d.ts +15 -0
- package/dist/icons/components/UiShieldSlash.d.ts.map +1 -0
- package/dist/icons/components/UiShieldSlash.js +15 -0
- package/dist/icons/components/UiShieldSlash.js.map +1 -0
- package/dist/icons/components/UiStack.cjs +19 -0
- package/dist/icons/components/UiStack.cjs.map +1 -0
- package/dist/icons/components/UiStack.d.ts +15 -0
- package/dist/icons/components/UiStack.d.ts.map +1 -0
- package/dist/icons/components/UiStack.js +19 -0
- package/dist/icons/components/UiStack.js.map +1 -0
- package/dist/icons/components/UiStrategy.cjs +15 -0
- package/dist/icons/components/UiStrategy.cjs.map +1 -0
- package/dist/icons/components/UiStrategy.d.ts +15 -0
- package/dist/icons/components/UiStrategy.d.ts.map +1 -0
- package/dist/icons/components/UiStrategy.js +15 -0
- package/dist/icons/components/UiStrategy.js.map +1 -0
- package/dist/icons/components/UiThermometer.cjs +15 -0
- package/dist/icons/components/UiThermometer.cjs.map +1 -0
- package/dist/icons/components/UiThermometer.d.ts +15 -0
- package/dist/icons/components/UiThermometer.d.ts.map +1 -0
- package/dist/icons/components/UiThermometer.js +15 -0
- package/dist/icons/components/UiThermometer.js.map +1 -0
- package/dist/icons/components/UiTimer.cjs +15 -0
- package/dist/icons/components/UiTimer.cjs.map +1 -0
- package/dist/icons/components/UiTimer.d.ts +15 -0
- package/dist/icons/components/UiTimer.d.ts.map +1 -0
- package/dist/icons/components/UiTimer.js +15 -0
- package/dist/icons/components/UiTimer.js.map +1 -0
- package/dist/icons/index.d.ts +84 -0
- package/dist/icons/index.d.ts.map +1 -1
- package/dist/icons.cjs +132 -0
- package/dist/icons.cjs.map +1 -1
- package/dist/icons.js +132 -0
- package/dist/icons.js.map +1 -1
- package/dist/index.cjs +186 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +190 -5
- package/dist/index.js.map +1 -1
- package/dist/layout/Workspace.cjs +191 -0
- package/dist/layout/Workspace.cjs.map +1 -0
- package/dist/layout/Workspace.d.ts +17 -0
- package/dist/layout/Workspace.d.ts.map +1 -0
- package/dist/layout/Workspace.js +191 -0
- package/dist/layout/Workspace.js.map +1 -0
- package/dist/layout/Workspace.model.cjs +142 -0
- package/dist/layout/Workspace.model.cjs.map +1 -0
- package/dist/layout/Workspace.model.d.ts +43 -0
- package/dist/layout/Workspace.model.d.ts.map +1 -0
- package/dist/layout/Workspace.model.js +142 -0
- package/dist/layout/Workspace.model.js.map +1 -0
- package/dist/layout/Workspace.regions.cjs +305 -0
- package/dist/layout/Workspace.regions.cjs.map +1 -0
- package/dist/layout/Workspace.regions.d.ts +17 -0
- package/dist/layout/Workspace.regions.d.ts.map +1 -0
- package/dist/layout/Workspace.regions.js +305 -0
- package/dist/layout/Workspace.regions.js.map +1 -0
- package/dist/lib/tokens.cjs +14 -0
- package/dist/lib/tokens.cjs.map +1 -0
- package/dist/lib/tokens.d.ts +5 -0
- package/dist/lib/tokens.d.ts.map +1 -0
- package/dist/lib/tokens.js +14 -0
- package/dist/lib/tokens.js.map +1 -0
- package/dist/monaco/MonacoEditor.cjs +69 -0
- package/dist/monaco/MonacoEditor.cjs.map +1 -0
- package/dist/monaco/MonacoEditor.d.ts +5 -0
- package/dist/monaco/MonacoEditor.d.ts.map +1 -0
- package/dist/monaco/MonacoEditor.js +52 -0
- package/dist/monaco/MonacoEditor.js.map +1 -0
- package/dist/monaco/MonacoProvider.cjs +22 -0
- package/dist/monaco/MonacoProvider.cjs.map +1 -0
- package/dist/monaco/MonacoProvider.d.ts +3 -0
- package/dist/monaco/MonacoProvider.d.ts.map +1 -0
- package/dist/monaco/MonacoProvider.js +22 -0
- package/dist/monaco/MonacoProvider.js.map +1 -0
- package/dist/monaco/MonacoSchemaEditor.cjs +108 -0
- package/dist/monaco/MonacoSchemaEditor.cjs.map +1 -0
- package/dist/monaco/MonacoSchemaEditor.d.ts +4 -0
- package/dist/monaco/MonacoSchemaEditor.d.ts.map +1 -0
- package/dist/monaco/MonacoSchemaEditor.js +108 -0
- package/dist/monaco/MonacoSchemaEditor.js.map +1 -0
- package/dist/monaco/schema-normalizer.cjs +38 -0
- package/dist/monaco/schema-normalizer.cjs.map +1 -0
- package/dist/monaco/schema-normalizer.d.ts +7 -0
- package/dist/monaco/schema-normalizer.d.ts.map +1 -0
- package/dist/monaco/schema-normalizer.js +38 -0
- package/dist/monaco/schema-normalizer.js.map +1 -0
- package/dist/monaco/schema-registry.cjs +67 -0
- package/dist/monaco/schema-registry.cjs.map +1 -0
- package/dist/monaco/schema-registry.d.ts +3 -0
- package/dist/monaco/schema-registry.d.ts.map +1 -0
- package/dist/monaco/schema-registry.js +67 -0
- package/dist/monaco/schema-registry.js.map +1 -0
- package/dist/monaco/types.d.ts +31 -0
- package/dist/monaco/types.d.ts.map +1 -0
- package/dist/monaco/use-monaco-worker.cjs +10 -0
- package/dist/monaco/use-monaco-worker.cjs.map +1 -0
- package/dist/monaco/use-monaco-worker.d.ts +4 -0
- package/dist/monaco/use-monaco-worker.d.ts.map +1 -0
- package/dist/monaco/use-monaco-worker.js +10 -0
- package/dist/monaco/use-monaco-worker.js.map +1 -0
- package/dist/monaco-schema.cjs +5 -0
- package/dist/monaco-schema.cjs.map +1 -0
- package/dist/monaco-schema.d.ts +3 -0
- package/dist/monaco-schema.d.ts.map +1 -0
- package/dist/monaco-schema.js +5 -0
- package/dist/monaco-schema.js.map +1 -0
- package/dist/monaco.cjs +11 -0
- package/dist/monaco.cjs.map +1 -0
- package/dist/monaco.d.ts +6 -0
- package/dist/monaco.d.ts.map +1 -0
- package/dist/monaco.js +11 -0
- package/dist/monaco.js.map +1 -0
- package/dist/overlay/CellActions.cjs +183 -0
- package/dist/overlay/CellActions.cjs.map +1 -0
- package/dist/overlay/CellActions.d.ts +18 -0
- package/dist/overlay/CellActions.d.ts.map +1 -0
- package/dist/overlay/CellActions.js +183 -0
- package/dist/overlay/CellActions.js.map +1 -0
- package/dist/overlay/DropdownMenu.cjs +50 -59
- package/dist/overlay/DropdownMenu.cjs.map +1 -1
- package/dist/overlay/DropdownMenu.d.ts +21 -2
- package/dist/overlay/DropdownMenu.d.ts.map +1 -1
- package/dist/overlay/DropdownMenu.js +38 -47
- package/dist/overlay/DropdownMenu.js.map +1 -1
- package/dist/overlay/DropdownMenuSubmenu.cjs +210 -0
- package/dist/overlay/DropdownMenuSubmenu.cjs.map +1 -0
- package/dist/overlay/DropdownMenuSubmenu.d.ts +12 -0
- package/dist/overlay/DropdownMenuSubmenu.d.ts.map +1 -0
- package/dist/overlay/DropdownMenuSubmenu.js +210 -0
- package/dist/overlay/DropdownMenuSubmenu.js.map +1 -0
- package/dist/overlay/Modal.cjs +14 -2
- package/dist/overlay/Modal.cjs.map +1 -1
- package/dist/overlay/Modal.d.ts +9 -2
- package/dist/overlay/Modal.d.ts.map +1 -1
- package/dist/overlay/Modal.js +14 -2
- package/dist/overlay/Modal.js.map +1 -1
- package/dist/overlay/dropdownMenuContext.cjs +16 -0
- package/dist/overlay/dropdownMenuContext.cjs.map +1 -0
- package/dist/overlay/dropdownMenuContext.d.ts +16 -0
- package/dist/overlay/dropdownMenuContext.d.ts.map +1 -0
- package/dist/overlay/dropdownMenuContext.js +16 -0
- package/dist/overlay/dropdownMenuContext.js.map +1 -0
- package/dist/rpc/CommandOutput.cjs +28 -9
- package/dist/rpc/CommandOutput.cjs.map +1 -1
- package/dist/rpc/CommandOutput.d.ts +4 -2
- package/dist/rpc/CommandOutput.d.ts.map +1 -1
- package/dist/rpc/CommandOutput.js +28 -9
- package/dist/rpc/CommandOutput.js.map +1 -1
- package/dist/rpc/EntityExplorerApp.cjs +8 -1
- package/dist/rpc/EntityExplorerApp.cjs.map +1 -1
- package/dist/rpc/EntityExplorerApp.d.ts +9 -1
- package/dist/rpc/EntityExplorerApp.d.ts.map +1 -1
- package/dist/rpc/EntityExplorerApp.js +8 -1
- package/dist/rpc/EntityExplorerApp.js.map +1 -1
- package/dist/rpc/OperationActionBar.cjs +63 -41
- package/dist/rpc/OperationActionBar.cjs.map +1 -1
- package/dist/rpc/OperationActionBar.d.ts +2 -1
- package/dist/rpc/OperationActionBar.d.ts.map +1 -1
- package/dist/rpc/OperationActionBar.js +63 -41
- package/dist/rpc/OperationActionBar.js.map +1 -1
- package/dist/rpc/OperationCatalog.cjs +111 -80
- package/dist/rpc/OperationCatalog.cjs.map +1 -1
- package/dist/rpc/OperationCatalog.d.ts +2 -1
- package/dist/rpc/OperationCatalog.d.ts.map +1 -1
- package/dist/rpc/OperationCatalog.js +112 -81
- package/dist/rpc/OperationCatalog.js.map +1 -1
- package/dist/rpc/OperationCommandPage.cjs +2 -0
- package/dist/rpc/OperationCommandPage.cjs.map +1 -1
- package/dist/rpc/OperationCommandPage.d.ts +3 -2
- package/dist/rpc/OperationCommandPage.d.ts.map +1 -1
- package/dist/rpc/OperationCommandPage.js +2 -0
- package/dist/rpc/OperationCommandPage.js.map +1 -1
- package/dist/rpc/OperationEntityContextPicker.cjs +448 -0
- package/dist/rpc/OperationEntityContextPicker.cjs.map +1 -0
- package/dist/rpc/OperationEntityContextPicker.d.ts +28 -0
- package/dist/rpc/OperationEntityContextPicker.d.ts.map +1 -0
- package/dist/rpc/OperationEntityContextPicker.js +448 -0
- package/dist/rpc/OperationEntityContextPicker.js.map +1 -0
- package/dist/rpc/OperationEntityContextPicker.model.cjs +60 -0
- package/dist/rpc/OperationEntityContextPicker.model.cjs.map +1 -0
- package/dist/rpc/OperationEntityContextPicker.model.d.ts +7 -0
- package/dist/rpc/OperationEntityContextPicker.model.d.ts.map +1 -0
- package/dist/rpc/OperationEntityContextPicker.model.js +60 -0
- package/dist/rpc/OperationEntityContextPicker.model.js.map +1 -0
- package/dist/rpc/OperationEntityPage.cjs +47 -22
- package/dist/rpc/OperationEntityPage.cjs.map +1 -1
- package/dist/rpc/OperationEntityPage.d.ts +32 -2
- package/dist/rpc/OperationEntityPage.d.ts.map +1 -1
- package/dist/rpc/OperationEntityPage.js +47 -22
- package/dist/rpc/OperationEntityPage.js.map +1 -1
- package/dist/rpc/OperationResultView.cjs +4 -2
- package/dist/rpc/OperationResultView.cjs.map +1 -1
- package/dist/rpc/OperationResultView.d.ts +3 -2
- package/dist/rpc/OperationResultView.d.ts.map +1 -1
- package/dist/rpc/OperationResultView.js +4 -2
- package/dist/rpc/OperationResultView.js.map +1 -1
- package/dist/rpc/SchemaActionForm.cjs +151 -17
- package/dist/rpc/SchemaActionForm.cjs.map +1 -1
- package/dist/rpc/SchemaActionForm.d.ts +7 -1
- package/dist/rpc/SchemaActionForm.d.ts.map +1 -1
- package/dist/rpc/SchemaActionForm.js +152 -18
- package/dist/rpc/SchemaActionForm.js.map +1 -1
- package/dist/rpc/types.cjs.map +1 -1
- package/dist/rpc/types.d.ts +24 -0
- package/dist/rpc/types.d.ts.map +1 -1
- package/dist/rpc/types.js.map +1 -1
- package/dist/rpc.cjs +6 -0
- package/dist/rpc.cjs.map +1 -1
- package/dist/rpc.d.ts +5 -3
- package/dist/rpc.d.ts.map +1 -1
- package/dist/rpc.js +6 -0
- package/dist/rpc.js.map +1 -1
- package/dist/styles.css +1 -1
- package/dist/tailwind-preset.cjs +8 -0
- package/dist/tailwind-preset.cjs.map +1 -1
- package/dist/tailwind-preset.d.ts.map +1 -1
- package/dist/tailwind-preset.js +8 -0
- package/dist/tailwind-preset.js.map +1 -1
- package/oxlint-plugins/README.md +82 -19
- package/oxlint-plugins/clicky-ui-no-adhoc-overlay.js +5 -50
- package/oxlint-plugins/clicky-ui-no-direct-z-index.js +134 -0
- package/oxlint-plugins/clicky-ui.js +3 -0
- package/package.json +26 -3
- package/dist/data/chat/ContextUsage.cjs +0 -99
- package/dist/data/chat/ContextUsage.cjs.map +0 -1
- package/dist/data/chat/ContextUsage.d.ts +0 -19
- package/dist/data/chat/ContextUsage.d.ts.map +0 -1
- package/dist/data/chat/ContextUsage.js +0 -99
- package/dist/data/chat/ContextUsage.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OperationCommandPage.js","sources":["../../src/rpc/OperationCommandPage.tsx"],"sourcesContent":["import { useEffect, useMemo, useRef, useState } from \"react\";\nimport { useQuery } from \"@tanstack/react-query\";\nimport type { ClickyCommandRuntime } from \"../data/Clicky\";\nimport { MethodBadge } from \"../data/MethodBadge\";\nimport { CommandForm } from \"./CommandForm\";\nimport { pathParamNames, submitValue } from \"./command-form-utils\";\nimport type { RenderLink } from \"./EndpointList\";\nimport {\n buildInitialParameterValues,\n dataTablePaginationFromForm,\n packParameterValues,\n parametersToFormConfig,\n pruneParameterValues,\n titleCase,\n useDebouncedRecord,\n type ParameterValues,\n} from \"./formMetadata\";\nimport { InlineError } from \"./InlineError\";\nimport { OperationActionDialog } from \"./OperationActionDialog\";\nimport { OperationResultView } from \"./OperationResultView\";\nimport { hrefForOperation } from \"./rowNavigation\";\nimport type {\n ExecutionResponse,\n OpenAPIParameter,\n ResolvedOperation,\n} from \"./types\";\nimport { useOperationById, type OperationsApiClient } from \"./useOperations\";\n\n// All operation results are fetched as clicky documents; the in-result View\n// menu re-fetches other formats on demand via the response's requestUrl.\nconst RESULT_ACCEPT = \"application/clicky+json\";\n\nexport type OperationCommandPageProps = {\n client: OperationsApiClient;\n operationId?: string;\n operation?: ResolvedOperation;\n operations?: ResolvedOperation[];\n initialValues?: ParameterValues;\n autoRun?: boolean;\n backHref?: string;\n backLabel?: string;\n renderLink?: RenderLink;\n commandRuntime?: ClickyCommandRuntime;\n onNavigate?: (href: string) => void;\n hideLockedPathFilters?: boolean;\n className?: string;\n};\n\nconst EMPTY_PARAMETER_VALUES: ParameterValues = {};\n\nexport function OperationCommandPage({\n client,\n operationId,\n operation: providedOperation,\n operations = providedOperation ? [providedOperation] : [],\n initialValues = EMPTY_PARAMETER_VALUES,\n autoRun,\n backHref,\n backLabel = \"Back\",\n renderLink,\n onNavigate,\n commandRuntime,\n hideLockedPathFilters = Boolean(providedOperation),\n className,\n}: OperationCommandPageProps) {\n const lookup = useOperationById(\n client,\n providedOperation ? undefined : operationId,\n );\n const operation = providedOperation ?? lookup.operation;\n const isLoading = providedOperation ? false : lookup.isLoading;\n const [isExecuting, setIsExecuting] = useState(false);\n const [result, setResult] = useState<ExecutionResponse | null>(null);\n const [error, setError] = useState<unknown>(null);\n const [hasAutoRun, setHasAutoRun] = useState(false);\n const parameters = operation?.operation.parameters ?? [];\n const isGet = (operation?.method ?? \"\").toUpperCase() === \"GET\";\n const effectiveAutoRun = operation ? (autoRun ?? isGet) : false;\n const parameterSignature = JSON.stringify(\n parameters.map((param) => ({\n name: param.name,\n in: param.in,\n required: param.required ?? false,\n default: param.schema?.default ?? null,\n })),\n );\n const operationKey = `${operation?.method ?? \"\"}:${operation?.path ?? \"\"}:${operation?.operation.operationId ?? \"\"}`;\n const effectiveInitialValues = useMemo(\n () =>\n operation\n ? buildInitialParameterValues(\n parameters,\n operation.method,\n {},\n {\n ...readQueryParameterValuesFromUrl(parameters),\n ...stripRunnerParams(initialValues),\n },\n )\n : stripRunnerParams(initialValues),\n [initialValues, operation?.method, parameterSignature],\n );\n const pathParameters = parameters.filter((param) => param.in === \"path\");\n const lockedPathValues = useMemo<ParameterValues>(() => {\n const values: ParameterValues = {};\n for (const param of pathParameters) {\n const value = effectiveInitialValues[param.name];\n if (typeof value === \"string\" && value.trim() !== \"\") {\n values[param.name] = value;\n }\n }\n return values;\n }, [effectiveInitialValues, pathParameters]);\n const detailOperation = useMemo(\n () => (operation ? findDetailOperation(operation, operations) : undefined),\n [operation, operations],\n );\n const relatedOperations = useMemo(\n () =>\n operation\n ? findRelatedOperations(operation, operations, lockedPathValues)\n : [],\n [lockedPathValues, operation, operations],\n );\n\n // GET-mode parameter state: filter values + pagination cursor are driven\n // by the page so they can flow natively into the result table's in-table\n // FilterBar and pagination footer (via OperationResultView's filterConfig).\n const [values, setValues] = useState<ParameterValues>(effectiveInitialValues);\n useEffect(() => {\n setValues(effectiveInitialValues);\n }, [effectiveInitialValues]);\n const debouncedValues = useDebouncedRecord(values, 250);\n\n useEffect(() => {\n if (!isGet || !operation) return;\n writeQueryParameterValuesToUrl(debouncedValues, parameters);\n }, [isGet, operationKey, debouncedValues, parameterSignature]);\n\n const lookupQuery = useQuery({\n queryKey: [\n \"operation-query-lookup\",\n operation?.method,\n operation?.path,\n debouncedValues,\n ],\n queryFn: async () => {\n if (!operation) return { filters: {} };\n return (\n (await client.lookupFilters?.(\n operation.path,\n operation.method,\n packParameterValues(debouncedValues, parameters),\n { Accept: \"application/json+clicky\" },\n )) ?? { filters: {} }\n );\n },\n enabled:\n isGet &&\n !!operation &&\n !!client.lookupFilters &&\n parameters.some((param) => param.in === \"query\"),\n staleTime: 30_000,\n retry: 0,\n });\n\n const formConfig = useMemo(() => {\n if (!isGet) return { filters: [] };\n return parametersToFormConfig(parameters, values, setValues, {\n lookup: lookupQuery.data,\n lockedValues: lockedPathValues,\n hideLocked: hideLockedPathFilters,\n });\n }, [\n isGet,\n parameters,\n values,\n lookupQuery.data,\n lockedPathValues,\n hideLockedPathFilters,\n ]);\n\n const dataTablePagination = useMemo(\n () => dataTablePaginationFromForm(formConfig.pagination, result),\n [formConfig.pagination, result],\n );\n\n // Ref tracking the last submitted parameter signature so the\n // auto-submit-on-debounced-change effect coordinates against the same\n // \"have I already fired this set of values\" check.\n const lastSubmittedSignature = useRef(\"\");\n\n async function executeOperation(values: ParameterValues) {\n if (!operation) return;\n\n setIsExecuting(true);\n setError(null);\n\n try {\n const response = await client.executeCommand(\n operation.path,\n operation.method,\n packParameterValues(values, operation.operation.parameters ?? []),\n { Accept: RESULT_ACCEPT },\n );\n setResult(response);\n } catch (err) {\n setResult(null);\n setError(err);\n } finally {\n setIsExecuting(false);\n }\n }\n\n useEffect(() => {\n setHasAutoRun(false);\n setResult(null);\n setError(null);\n lastSubmittedSignature.current = \"\";\n }, [effectiveAutoRun, operationKey]);\n\n useEffect(() => {\n if (!effectiveAutoRun || !operation || hasAutoRun) return;\n // Auto-run a GET as long as every required parameter has a value. Optional\n // params (limit/offset, filter chips, etc.) get their defaults; the\n // sidebar's \"click → instant table\" flow depends on this not bailing just\n // because the operation declares any parameters at all.\n const missingRequired = parameters.filter((param) => {\n if (!param.required) return false;\n return (effectiveInitialValues[param.name] ?? \"\").trim() === \"\";\n });\n if (missingRequired.length > 0) return;\n\n setHasAutoRun(true);\n lastSubmittedSignature.current = JSON.stringify(\n pruneParameterValues(effectiveInitialValues),\n );\n void executeOperation(effectiveInitialValues);\n }, [\n effectiveAutoRun,\n effectiveInitialValues,\n hasAutoRun,\n operationKey,\n parameterSignature,\n ]);\n\n // GET re-runs on debounced filter/pagination changes once the initial\n // auto-run has fired; non-GETs keep their explicit-submit behavior.\n useEffect(() => {\n if (!isGet || !operation || !hasAutoRun) return;\n const merged = { ...debouncedValues, ...lockedPathValues };\n const missingRequired = parameters.filter((param) => {\n if (!param.required) return false;\n return (merged[param.name] ?? \"\").trim() === \"\";\n });\n if (missingRequired.length > 0) return;\n const signature = JSON.stringify(pruneParameterValues(merged));\n if (lastSubmittedSignature.current === signature) return;\n lastSubmittedSignature.current = signature;\n void executeOperation(merged);\n }, [\n isGet,\n hasAutoRun,\n debouncedValues,\n lockedPathValues,\n parameterSignature,\n ]);\n\n const backLink =\n backHref == null ? null : renderLink ? (\n renderLink({\n to: backHref,\n className: \"text-sm text-primary underline-offset-4 hover:underline\",\n children: backLabel,\n })\n ) : (\n <a\n href={backHref}\n className=\"text-sm text-primary underline-offset-4 hover:underline\"\n >\n {backLabel}\n </a>\n );\n\n if (isLoading) {\n return (\n <div className=\"text-sm text-muted-foreground\">Loading operation...</div>\n );\n }\n\n if (!operation) {\n return (\n <div className=\"space-y-4\">\n <div className=\"text-sm text-muted-foreground\">\n Unknown operation: <code>{operationId}</code>\n </div>\n {backLink}\n </div>\n );\n }\n\n const { path, method, operation: op } = operation;\n\n return (\n <div className={className ?? \"min-w-0 flex-1 space-y-6 p-6\"}>\n <div className=\"flex items-start justify-between gap-4\">\n <div className=\"min-w-0 flex-1\">\n {backLink}\n <div className=\"flex items-center gap-3\">\n <MethodBadge method={method} />\n <h1 className=\"truncate text-xl font-bold\">\n {op.summary || op.operationId || path}\n </h1>\n </div>\n <p className=\"mt-1 font-mono text-xs text-muted-foreground\">{path}</p>\n {op.operationId && op.summary && (\n <p className=\"mt-2 font-mono text-xs text-muted-foreground\">\n {op.operationId}\n </p>\n )}\n {op.description && op.description !== op.summary && (\n <p className=\"mt-1 text-sm text-muted-foreground\">\n {op.description}\n </p>\n )}\n </div>\n <div className=\"flex shrink-0 flex-col items-end gap-3\">\n {relatedOperations.length > 0 && (\n <div className=\"flex flex-wrap justify-end gap-2\">\n {relatedOperations.map((related) =>\n related.href ? (\n renderLink ? (\n renderLink({\n key: `${related.operation.method}:${related.operation.path}`,\n to: related.href,\n className:\n \"inline-flex h-8 items-center justify-center gap-2 rounded-md border border-input bg-background px-3 text-xs font-medium hover:bg-accent hover:text-accent-foreground\",\n children: related.label,\n })\n ) : (\n <a\n key={`${related.operation.method}:${related.operation.path}`}\n href={related.href}\n className=\"inline-flex h-8 items-center justify-center gap-2 rounded-md border border-input bg-background px-3 text-xs font-medium hover:bg-accent hover:text-accent-foreground\"\n >\n {related.label}\n </a>\n )\n ) : (\n <OperationActionDialog\n key={`${related.operation.method}:${related.operation.path}`}\n operation={related.operation}\n client={client}\n initialValues={lockedPathValues}\n label={related.label}\n defaultAccept={RESULT_ACCEPT}\n {...(onNavigate ? { onNavigateAction: onNavigate } : {})}\n />\n ),\n )}\n </div>\n )}\n </div>\n </div>\n\n {method.toUpperCase() !== \"GET\" && (\n <section className=\"space-y-3\">\n <div className=\"rounded-lg border p-4\">\n <CommandForm\n parameters={parameters}\n onExecute={(params) => executeOperation(params)}\n isPending={isExecuting}\n method={method}\n path={path}\n accept={RESULT_ACCEPT}\n initialValues={effectiveInitialValues}\n />\n </div>\n </section>\n )}\n\n {error ? (\n <InlineError title={`Failed to load ${path}`} error={error} />\n ) : isExecuting || result ? (\n <OperationResultView\n response={result}\n loading={isExecuting}\n loadingMessage=\"Loading execution results…\"\n ariaLabel=\"Response body\"\n detailOperation={detailOperation}\n {...(commandRuntime ? { commandRuntime } : {})}\n {...(isGet && effectiveAutoRun\n ? {\n filterConfig: {\n filters: formConfig.filters,\n ...(formConfig.timeRange\n ? { timeRange: formConfig.timeRange }\n : {}),\n },\n }\n : {})}\n {...(isGet && effectiveAutoRun && dataTablePagination\n ? { pagination: dataTablePagination }\n : {})}\n />\n ) : null}\n </div>\n );\n}\n\ntype RelatedOperation = {\n operation: ResolvedOperation;\n label: string;\n href?: string;\n};\n\nfunction findRelatedOperations(\n current: ResolvedOperation,\n operations: ResolvedOperation[],\n pathValues: Record<string, string>,\n): RelatedOperation[] {\n if (current.method.toUpperCase() !== \"GET\") return [];\n if (!pathTemplateSatisfied(current.path, pathValues)) return [];\n\n const basePath = current.path.replace(/\\/+$/, \"\");\n return operations\n .filter((candidate) => {\n if (candidate === current) return false;\n if (!candidate.path.startsWith(`${basePath}/`)) return false;\n if (!pathTemplateSatisfied(candidate.path, pathValues)) return false;\n const method = candidate.method.toUpperCase();\n return (\n method === \"GET\" ||\n method === \"POST\" ||\n method === \"PUT\" ||\n method === \"DELETE\"\n );\n })\n .map((related) => {\n const method = related.method.toUpperCase();\n const href =\n method === \"GET\"\n ? hrefForOperation(related, [], pathValues)\n : undefined;\n return {\n operation: related,\n label: operationLabel(related),\n ...(href ? { href } : {}),\n };\n })\n .filter(\n (related) =>\n related.operation.method.toUpperCase() !== \"GET\" || related.href,\n );\n}\n\nfunction findDetailOperation(\n current: ResolvedOperation,\n operations: ResolvedOperation[],\n) {\n const method = current.method.toUpperCase();\n const detailPath = `${current.path.replace(/\\/+$/, \"\")}/{id}`;\n return operations.find(\n (candidate) =>\n candidate.method.toUpperCase() === method &&\n candidate.path === detailPath &&\n candidate.operation.parameters?.some(\n (param) => param.in === \"path\" && param.name === \"id\" && param.required,\n ),\n );\n}\n\nfunction pathTemplateSatisfied(path: string, values: Record<string, string>) {\n return pathParamNames(path).every((name) => Boolean(values[name]));\n}\n\nfunction operationLabel(operation: ResolvedOperation): string {\n const actionName =\n operation.operation[\"x-clicky\"]?.actionName ||\n operation.path.split(\"/\").filter(Boolean).at(-1) ||\n operation.operation.operationId ||\n operation.method;\n return titleCase(actionName.replace(/[_-]+/g, \" \"));\n}\n\nfunction stripRunnerParams(values: ParameterValues): ParameterValues {\n const next: ParameterValues = {};\n for (const [key, value] of Object.entries(values)) {\n if (key === \"autoRun\" || key.startsWith(\"__\")) continue;\n next[key] = value;\n }\n return next;\n}\n\nfunction readQueryParameterValuesFromUrl(\n parameters: OpenAPIParameter[],\n): ParameterValues {\n if (typeof window === \"undefined\") return {};\n const queryParamNames = new Set(\n parameters.filter((param) => param.in === \"query\").map((p) => p.name),\n );\n if (queryParamNames.size === 0) return {};\n\n const values: ParameterValues = {};\n const search = new URLSearchParams(window.location.search);\n for (const name of queryParamNames) {\n const value = search.get(name);\n if (value != null && value !== \"\") {\n values[name] = value;\n }\n }\n return values;\n}\n\nfunction writeQueryParameterValuesToUrl(\n values: ParameterValues,\n parameters: OpenAPIParameter[],\n) {\n if (typeof window === \"undefined\") return;\n const queryParameters = parameters.filter((param) => param.in === \"query\");\n if (queryParameters.length === 0) return;\n\n const search = new URLSearchParams(window.location.search);\n for (const param of queryParameters) {\n const value = submitValue(param, values[param.name]);\n if (value == null) {\n search.delete(param.name);\n } else {\n search.set(param.name, value);\n }\n }\n\n const query = search.toString();\n const next = `${window.location.pathname}${query ? `?${query}` : \"\"}${window.location.hash}`;\n const current = `${window.location.pathname}${window.location.search}${window.location.hash}`;\n if (next !== current) {\n window.history.replaceState(window.history.state, \"\", next);\n }\n}\n"],"names":["values"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"OperationCommandPage.js","sources":["../../src/rpc/OperationCommandPage.tsx"],"sourcesContent":["import { useEffect, useMemo, useRef, useState } from \"react\";\nimport { useQuery } from \"@tanstack/react-query\";\nimport type { ClickyCommandRuntime } from \"../data/Clicky\";\nimport { MethodBadge } from \"../data/MethodBadge\";\nimport { CommandForm } from \"./CommandForm\";\nimport { pathParamNames, submitValue } from \"./command-form-utils\";\nimport type { RenderLink } from \"./EndpointList\";\nimport {\n buildInitialParameterValues,\n dataTablePaginationFromForm,\n packParameterValues,\n parametersToFormConfig,\n pruneParameterValues,\n titleCase,\n useDebouncedRecord,\n type ParameterValues,\n} from \"./formMetadata\";\nimport { InlineError } from \"./InlineError\";\nimport { OperationActionDialog } from \"./OperationActionDialog\";\nimport { OperationResultView } from \"./OperationResultView\";\nimport { hrefForOperation } from \"./rowNavigation\";\nimport type {\n ExecutionResponse,\n OpenAPIParameter,\n ResolvedOperation,\n} from \"./types\";\nimport { useOperationById, type OperationsApiClient } from \"./useOperations\";\n\n// All operation results are fetched as clicky documents; the in-result View\n// menu re-fetches other formats on demand via the response's requestUrl.\nconst RESULT_ACCEPT = \"application/clicky+json\";\n\nexport type OperationCommandPageProps = {\n client: OperationsApiClient;\n operationId?: string;\n operation?: ResolvedOperation;\n operations?: ResolvedOperation[];\n initialValues?: ParameterValues;\n autoRun?: boolean;\n backHref?: string;\n backLabel?: string;\n renderLink?: RenderLink;\n commandRuntime?: ClickyCommandRuntime;\n onNavigate?: (href: string) => void;\n onResult?: (\n response: ExecutionResponse,\n operation: ResolvedOperation,\n values: ParameterValues,\n ) => void;\n hideLockedPathFilters?: boolean;\n className?: string;\n};\n\nconst EMPTY_PARAMETER_VALUES: ParameterValues = {};\n\nexport function OperationCommandPage({\n client,\n operationId,\n operation: providedOperation,\n operations = providedOperation ? [providedOperation] : [],\n initialValues = EMPTY_PARAMETER_VALUES,\n autoRun,\n backHref,\n backLabel = \"Back\",\n renderLink,\n onNavigate,\n onResult,\n commandRuntime,\n hideLockedPathFilters = Boolean(providedOperation),\n className,\n}: OperationCommandPageProps) {\n const lookup = useOperationById(\n client,\n providedOperation ? undefined : operationId,\n );\n const operation = providedOperation ?? lookup.operation;\n const isLoading = providedOperation ? false : lookup.isLoading;\n const [isExecuting, setIsExecuting] = useState(false);\n const [result, setResult] = useState<ExecutionResponse | null>(null);\n const [error, setError] = useState<unknown>(null);\n const [hasAutoRun, setHasAutoRun] = useState(false);\n const parameters = operation?.operation.parameters ?? [];\n const isGet = (operation?.method ?? \"\").toUpperCase() === \"GET\";\n const effectiveAutoRun = operation ? (autoRun ?? isGet) : false;\n const parameterSignature = JSON.stringify(\n parameters.map((param) => ({\n name: param.name,\n in: param.in,\n required: param.required ?? false,\n default: param.schema?.default ?? null,\n })),\n );\n const operationKey = `${operation?.method ?? \"\"}:${operation?.path ?? \"\"}:${operation?.operation.operationId ?? \"\"}`;\n const effectiveInitialValues = useMemo(\n () =>\n operation\n ? buildInitialParameterValues(\n parameters,\n operation.method,\n {},\n {\n ...readQueryParameterValuesFromUrl(parameters),\n ...stripRunnerParams(initialValues),\n },\n )\n : stripRunnerParams(initialValues),\n [initialValues, operation?.method, parameterSignature],\n );\n const pathParameters = parameters.filter((param) => param.in === \"path\");\n const lockedPathValues = useMemo<ParameterValues>(() => {\n const values: ParameterValues = {};\n for (const param of pathParameters) {\n const value = effectiveInitialValues[param.name];\n if (typeof value === \"string\" && value.trim() !== \"\") {\n values[param.name] = value;\n }\n }\n return values;\n }, [effectiveInitialValues, pathParameters]);\n const detailOperation = useMemo(\n () => (operation ? findDetailOperation(operation, operations) : undefined),\n [operation, operations],\n );\n const relatedOperations = useMemo(\n () =>\n operation\n ? findRelatedOperations(operation, operations, lockedPathValues)\n : [],\n [lockedPathValues, operation, operations],\n );\n\n // GET-mode parameter state: filter values + pagination cursor are driven\n // by the page so they can flow natively into the result table's in-table\n // FilterBar and pagination footer (via OperationResultView's filterConfig).\n const [values, setValues] = useState<ParameterValues>(effectiveInitialValues);\n useEffect(() => {\n setValues(effectiveInitialValues);\n }, [effectiveInitialValues]);\n const debouncedValues = useDebouncedRecord(values, 250);\n\n useEffect(() => {\n if (!isGet || !operation) return;\n writeQueryParameterValuesToUrl(debouncedValues, parameters);\n }, [isGet, operationKey, debouncedValues, parameterSignature]);\n\n const lookupQuery = useQuery({\n queryKey: [\n \"operation-query-lookup\",\n operation?.method,\n operation?.path,\n debouncedValues,\n ],\n queryFn: async () => {\n if (!operation) return { filters: {} };\n return (\n (await client.lookupFilters?.(\n operation.path,\n operation.method,\n packParameterValues(debouncedValues, parameters),\n { Accept: \"application/json+clicky\" },\n )) ?? { filters: {} }\n );\n },\n enabled:\n isGet &&\n !!operation &&\n !!client.lookupFilters &&\n parameters.some((param) => param.in === \"query\"),\n staleTime: 30_000,\n retry: 0,\n });\n\n const formConfig = useMemo(() => {\n if (!isGet) return { filters: [] };\n return parametersToFormConfig(parameters, values, setValues, {\n lookup: lookupQuery.data,\n lockedValues: lockedPathValues,\n hideLocked: hideLockedPathFilters,\n });\n }, [\n isGet,\n parameters,\n values,\n lookupQuery.data,\n lockedPathValues,\n hideLockedPathFilters,\n ]);\n\n const dataTablePagination = useMemo(\n () => dataTablePaginationFromForm(formConfig.pagination, result),\n [formConfig.pagination, result],\n );\n\n // Ref tracking the last submitted parameter signature so the\n // auto-submit-on-debounced-change effect coordinates against the same\n // \"have I already fired this set of values\" check.\n const lastSubmittedSignature = useRef(\"\");\n\n async function executeOperation(values: ParameterValues) {\n if (!operation) return;\n\n setIsExecuting(true);\n setError(null);\n\n try {\n const response = await client.executeCommand(\n operation.path,\n operation.method,\n packParameterValues(values, operation.operation.parameters ?? []),\n { Accept: RESULT_ACCEPT },\n );\n setResult(response);\n onResult?.(response, operation, values);\n } catch (err) {\n setResult(null);\n setError(err);\n } finally {\n setIsExecuting(false);\n }\n }\n\n useEffect(() => {\n setHasAutoRun(false);\n setResult(null);\n setError(null);\n lastSubmittedSignature.current = \"\";\n }, [effectiveAutoRun, operationKey]);\n\n useEffect(() => {\n if (!effectiveAutoRun || !operation || hasAutoRun) return;\n // Auto-run a GET as long as every required parameter has a value. Optional\n // params (limit/offset, filter chips, etc.) get their defaults; the\n // sidebar's \"click → instant table\" flow depends on this not bailing just\n // because the operation declares any parameters at all.\n const missingRequired = parameters.filter((param) => {\n if (!param.required) return false;\n return (effectiveInitialValues[param.name] ?? \"\").trim() === \"\";\n });\n if (missingRequired.length > 0) return;\n\n setHasAutoRun(true);\n lastSubmittedSignature.current = JSON.stringify(\n pruneParameterValues(effectiveInitialValues),\n );\n void executeOperation(effectiveInitialValues);\n }, [\n effectiveAutoRun,\n effectiveInitialValues,\n hasAutoRun,\n operationKey,\n parameterSignature,\n ]);\n\n // GET re-runs on debounced filter/pagination changes once the initial\n // auto-run has fired; non-GETs keep their explicit-submit behavior.\n useEffect(() => {\n if (!isGet || !operation || !hasAutoRun) return;\n const merged = { ...debouncedValues, ...lockedPathValues };\n const missingRequired = parameters.filter((param) => {\n if (!param.required) return false;\n return (merged[param.name] ?? \"\").trim() === \"\";\n });\n if (missingRequired.length > 0) return;\n const signature = JSON.stringify(pruneParameterValues(merged));\n if (lastSubmittedSignature.current === signature) return;\n lastSubmittedSignature.current = signature;\n void executeOperation(merged);\n }, [\n isGet,\n hasAutoRun,\n debouncedValues,\n lockedPathValues,\n parameterSignature,\n ]);\n\n const backLink =\n backHref == null ? null : renderLink ? (\n renderLink({\n to: backHref,\n className: \"text-sm text-primary underline-offset-4 hover:underline\",\n children: backLabel,\n })\n ) : (\n <a\n href={backHref}\n className=\"text-sm text-primary underline-offset-4 hover:underline\"\n >\n {backLabel}\n </a>\n );\n\n if (isLoading) {\n return (\n <div className=\"text-sm text-muted-foreground\">Loading operation...</div>\n );\n }\n\n if (!operation) {\n return (\n <div className=\"space-y-4\">\n <div className=\"text-sm text-muted-foreground\">\n Unknown operation: <code>{operationId}</code>\n </div>\n {backLink}\n </div>\n );\n }\n\n const { path, method, operation: op } = operation;\n\n return (\n <div className={className ?? \"min-w-0 flex-1 space-y-6 p-6\"}>\n <div className=\"flex items-start justify-between gap-4\">\n <div className=\"min-w-0 flex-1\">\n {backLink}\n <div className=\"flex items-center gap-3\">\n <MethodBadge method={method} />\n <h1 className=\"truncate text-xl font-bold\">\n {op.summary || op.operationId || path}\n </h1>\n </div>\n <p className=\"mt-1 font-mono text-xs text-muted-foreground\">{path}</p>\n {op.operationId && op.summary && (\n <p className=\"mt-2 font-mono text-xs text-muted-foreground\">\n {op.operationId}\n </p>\n )}\n {op.description && op.description !== op.summary && (\n <p className=\"mt-1 text-sm text-muted-foreground\">\n {op.description}\n </p>\n )}\n </div>\n <div className=\"flex shrink-0 flex-col items-end gap-3\">\n {relatedOperations.length > 0 && (\n <div className=\"flex flex-wrap justify-end gap-2\">\n {relatedOperations.map((related) =>\n related.href ? (\n renderLink ? (\n renderLink({\n key: `${related.operation.method}:${related.operation.path}`,\n to: related.href,\n className:\n \"inline-flex h-8 items-center justify-center gap-2 rounded-md border border-input bg-background px-3 text-xs font-medium hover:bg-accent hover:text-accent-foreground\",\n children: related.label,\n })\n ) : (\n <a\n key={`${related.operation.method}:${related.operation.path}`}\n href={related.href}\n className=\"inline-flex h-8 items-center justify-center gap-2 rounded-md border border-input bg-background px-3 text-xs font-medium hover:bg-accent hover:text-accent-foreground\"\n >\n {related.label}\n </a>\n )\n ) : (\n <OperationActionDialog\n key={`${related.operation.method}:${related.operation.path}`}\n operation={related.operation}\n client={client}\n initialValues={lockedPathValues}\n label={related.label}\n defaultAccept={RESULT_ACCEPT}\n {...(onNavigate ? { onNavigateAction: onNavigate } : {})}\n />\n ),\n )}\n </div>\n )}\n </div>\n </div>\n\n {method.toUpperCase() !== \"GET\" && (\n <section className=\"space-y-3\">\n <div className=\"rounded-lg border p-4\">\n <CommandForm\n parameters={parameters}\n onExecute={(params) => executeOperation(params)}\n isPending={isExecuting}\n method={method}\n path={path}\n accept={RESULT_ACCEPT}\n initialValues={effectiveInitialValues}\n />\n </div>\n </section>\n )}\n\n {error ? (\n <InlineError title={`Failed to load ${path}`} error={error} />\n ) : isExecuting || result ? (\n <OperationResultView\n response={result}\n loading={isExecuting}\n loadingMessage=\"Loading execution results…\"\n ariaLabel=\"Response body\"\n detailOperation={detailOperation}\n {...(commandRuntime ? { commandRuntime } : {})}\n {...(isGet && effectiveAutoRun\n ? {\n filterConfig: {\n filters: formConfig.filters,\n ...(formConfig.timeRange\n ? { timeRange: formConfig.timeRange }\n : {}),\n },\n }\n : {})}\n {...(isGet && effectiveAutoRun && dataTablePagination\n ? { pagination: dataTablePagination }\n : {})}\n />\n ) : null}\n </div>\n );\n}\n\ntype RelatedOperation = {\n operation: ResolvedOperation;\n label: string;\n href?: string;\n};\n\nfunction findRelatedOperations(\n current: ResolvedOperation,\n operations: ResolvedOperation[],\n pathValues: Record<string, string>,\n): RelatedOperation[] {\n if (current.method.toUpperCase() !== \"GET\") return [];\n if (!pathTemplateSatisfied(current.path, pathValues)) return [];\n\n const basePath = current.path.replace(/\\/+$/, \"\");\n return operations\n .filter((candidate) => {\n if (candidate === current) return false;\n if (!candidate.path.startsWith(`${basePath}/`)) return false;\n if (!pathTemplateSatisfied(candidate.path, pathValues)) return false;\n const method = candidate.method.toUpperCase();\n return (\n method === \"GET\" ||\n method === \"POST\" ||\n method === \"PUT\" ||\n method === \"DELETE\"\n );\n })\n .map((related) => {\n const method = related.method.toUpperCase();\n const href =\n method === \"GET\"\n ? hrefForOperation(related, [], pathValues)\n : undefined;\n return {\n operation: related,\n label: operationLabel(related),\n ...(href ? { href } : {}),\n };\n })\n .filter(\n (related) =>\n related.operation.method.toUpperCase() !== \"GET\" || related.href,\n );\n}\n\nfunction findDetailOperation(\n current: ResolvedOperation,\n operations: ResolvedOperation[],\n) {\n const method = current.method.toUpperCase();\n const detailPath = `${current.path.replace(/\\/+$/, \"\")}/{id}`;\n return operations.find(\n (candidate) =>\n candidate.method.toUpperCase() === method &&\n candidate.path === detailPath &&\n candidate.operation.parameters?.some(\n (param) => param.in === \"path\" && param.name === \"id\" && param.required,\n ),\n );\n}\n\nfunction pathTemplateSatisfied(path: string, values: Record<string, string>) {\n return pathParamNames(path).every((name) => Boolean(values[name]));\n}\n\nfunction operationLabel(operation: ResolvedOperation): string {\n const actionName =\n operation.operation[\"x-clicky\"]?.actionName ||\n operation.path.split(\"/\").filter(Boolean).at(-1) ||\n operation.operation.operationId ||\n operation.method;\n return titleCase(actionName.replace(/[_-]+/g, \" \"));\n}\n\nfunction stripRunnerParams(values: ParameterValues): ParameterValues {\n const next: ParameterValues = {};\n for (const [key, value] of Object.entries(values)) {\n if (key === \"autoRun\" || key.startsWith(\"__\")) continue;\n next[key] = value;\n }\n return next;\n}\n\nfunction readQueryParameterValuesFromUrl(\n parameters: OpenAPIParameter[],\n): ParameterValues {\n if (typeof window === \"undefined\") return {};\n const queryParamNames = new Set(\n parameters.filter((param) => param.in === \"query\").map((p) => p.name),\n );\n if (queryParamNames.size === 0) return {};\n\n const values: ParameterValues = {};\n const search = new URLSearchParams(window.location.search);\n for (const name of queryParamNames) {\n const value = search.get(name);\n if (value != null && value !== \"\") {\n values[name] = value;\n }\n }\n return values;\n}\n\nfunction writeQueryParameterValuesToUrl(\n values: ParameterValues,\n parameters: OpenAPIParameter[],\n) {\n if (typeof window === \"undefined\") return;\n const queryParameters = parameters.filter((param) => param.in === \"query\");\n if (queryParameters.length === 0) return;\n\n const search = new URLSearchParams(window.location.search);\n for (const param of queryParameters) {\n const value = submitValue(param, values[param.name]);\n if (value == null) {\n search.delete(param.name);\n } else {\n search.set(param.name, value);\n }\n }\n\n const query = search.toString();\n const next = `${window.location.pathname}${query ? `?${query}` : \"\"}${window.location.hash}`;\n const current = `${window.location.pathname}${window.location.search}${window.location.hash}`;\n if (next !== current) {\n window.history.replaceState(window.history.state, \"\", next);\n }\n}\n"],"names":["values"],"mappings":"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"}
|
|
@@ -0,0 +1,448 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const jsxRuntime = require("react/jsx-runtime");
|
|
4
|
+
const react = require("react");
|
|
5
|
+
const reactQuery = require("@tanstack/react-query");
|
|
6
|
+
const button = require("../components/button.cjs");
|
|
7
|
+
const DropdownMenu = require("../overlay/DropdownMenu.cjs");
|
|
8
|
+
const Modal = require("../overlay/Modal.cjs");
|
|
9
|
+
const CommandOutput = require("./CommandOutput.cjs");
|
|
10
|
+
const formMetadata = require("./formMetadata.cjs");
|
|
11
|
+
const clickyMetadata = require("./clickyMetadata.cjs");
|
|
12
|
+
const rowNavigation = require("./rowNavigation.cjs");
|
|
13
|
+
const surfaceIconMap = require("./surfaceIconMap.cjs");
|
|
14
|
+
const useOperations = require("./useOperations.cjs");
|
|
15
|
+
const OperationEntityContextPicker_model = require("./OperationEntityContextPicker.model.cjs");
|
|
16
|
+
const UiTable = require("../icons/components/UiTable.cjs");
|
|
17
|
+
const UiAdd = require("../icons/components/UiAdd.cjs");
|
|
18
|
+
function OperationEntityContextPicker({
|
|
19
|
+
client,
|
|
20
|
+
items,
|
|
21
|
+
onAdd,
|
|
22
|
+
onAddMany,
|
|
23
|
+
surfaceFilter,
|
|
24
|
+
surfaceLabel,
|
|
25
|
+
surfaceGroup,
|
|
26
|
+
surfaceIcon,
|
|
27
|
+
surfaceColor,
|
|
28
|
+
surfaceGroupIcon,
|
|
29
|
+
surfaceGroupColor,
|
|
30
|
+
triggerLabel = "Add context"
|
|
31
|
+
}) {
|
|
32
|
+
const {
|
|
33
|
+
operations,
|
|
34
|
+
spec,
|
|
35
|
+
isLoading: operationsLoading
|
|
36
|
+
} = useOperations.useOperations(client);
|
|
37
|
+
const [open, setOpen] = react.useState(false);
|
|
38
|
+
const [surfaceKey, setSurfaceKey] = react.useState("");
|
|
39
|
+
const [filters, setFilters] = react.useState({});
|
|
40
|
+
const [selectedRows, setSelectedRows] = react.useState(
|
|
41
|
+
{}
|
|
42
|
+
);
|
|
43
|
+
const [attaching, setAttaching] = react.useState(false);
|
|
44
|
+
const [attachError, setAttachError] = react.useState("");
|
|
45
|
+
const surfaces = react.useMemo(() => {
|
|
46
|
+
return clickyMetadata.getClickySurfaces(spec).flatMap((surface) => {
|
|
47
|
+
const surfaceOperations = clickyMetadata.filterOperationsBySurface(
|
|
48
|
+
operations,
|
|
49
|
+
surface.key
|
|
50
|
+
);
|
|
51
|
+
const listOperation = clickyMetadata.findSurfaceListOperation(
|
|
52
|
+
surfaceOperations,
|
|
53
|
+
surface.key
|
|
54
|
+
);
|
|
55
|
+
if (!listOperation || listOperation.method.toUpperCase() !== "GET")
|
|
56
|
+
return [];
|
|
57
|
+
if (surfaceFilter && !surfaceFilter(surface, listOperation)) return [];
|
|
58
|
+
const detailOperation = clickyMetadata.findSurfaceDetailOperation(
|
|
59
|
+
surfaceOperations,
|
|
60
|
+
surface.key
|
|
61
|
+
);
|
|
62
|
+
return [
|
|
63
|
+
{
|
|
64
|
+
surface,
|
|
65
|
+
listOperation,
|
|
66
|
+
...detailOperation ? { detailOperation } : {}
|
|
67
|
+
}
|
|
68
|
+
];
|
|
69
|
+
}).sort((left, right) => {
|
|
70
|
+
const leftGroup = (surfaceGroup == null ? void 0 : surfaceGroup(left.surface, left.listOperation)) ?? left.surface.parent ?? "";
|
|
71
|
+
const rightGroup = (surfaceGroup == null ? void 0 : surfaceGroup(right.surface, right.listOperation)) ?? right.surface.parent ?? "";
|
|
72
|
+
return leftGroup.localeCompare(rightGroup) || left.surface.title.localeCompare(right.surface.title);
|
|
73
|
+
});
|
|
74
|
+
}, [operations, spec, surfaceFilter, surfaceGroup]);
|
|
75
|
+
react.useEffect(() => {
|
|
76
|
+
setFilters({});
|
|
77
|
+
setSelectedRows({});
|
|
78
|
+
setAttachError("");
|
|
79
|
+
}, [surfaceKey]);
|
|
80
|
+
const selected = surfaces.find((entry) => entry.surface.key === surfaceKey);
|
|
81
|
+
const parameters = (selected == null ? void 0 : selected.listOperation.operation.parameters) ?? [];
|
|
82
|
+
const debouncedFilters = formMetadata.useDebouncedRecord(filters, 250);
|
|
83
|
+
const packedFilters = react.useMemo(
|
|
84
|
+
() => formMetadata.packParameterValues(debouncedFilters, parameters),
|
|
85
|
+
[debouncedFilters, parameters]
|
|
86
|
+
);
|
|
87
|
+
const lookupQuery = reactQuery.useQuery({
|
|
88
|
+
queryKey: [
|
|
89
|
+
"entity-context-lookup",
|
|
90
|
+
selected == null ? void 0 : selected.listOperation.path,
|
|
91
|
+
packedFilters
|
|
92
|
+
],
|
|
93
|
+
queryFn: async () => {
|
|
94
|
+
var _a;
|
|
95
|
+
return await ((_a = client.lookupFilters) == null ? void 0 : _a.call(
|
|
96
|
+
client,
|
|
97
|
+
selected.listOperation.path,
|
|
98
|
+
selected.listOperation.method,
|
|
99
|
+
packedFilters,
|
|
100
|
+
{ Accept: "application/json+clicky" }
|
|
101
|
+
)) ?? { filters: {} };
|
|
102
|
+
},
|
|
103
|
+
enabled: open && !!selected && !!client.lookupFilters && parameters.some((parameter) => parameter.in === "query"),
|
|
104
|
+
staleTime: 3e4,
|
|
105
|
+
retry: 0
|
|
106
|
+
});
|
|
107
|
+
const listQuery = reactQuery.useQuery({
|
|
108
|
+
queryKey: [
|
|
109
|
+
"entity-context-list",
|
|
110
|
+
selected == null ? void 0 : selected.listOperation.path,
|
|
111
|
+
packedFilters
|
|
112
|
+
],
|
|
113
|
+
queryFn: () => client.executeCommand(
|
|
114
|
+
selected.listOperation.path,
|
|
115
|
+
selected.listOperation.method,
|
|
116
|
+
packedFilters,
|
|
117
|
+
{ Accept: "application/json+clicky" }
|
|
118
|
+
),
|
|
119
|
+
enabled: open && !!selected,
|
|
120
|
+
placeholderData: reactQuery.keepPreviousData,
|
|
121
|
+
staleTime: 3e4,
|
|
122
|
+
retry: 0
|
|
123
|
+
});
|
|
124
|
+
const filterConfig = react.useMemo(
|
|
125
|
+
() => formMetadata.parametersToFormConfig(parameters, filters, setFilters, {
|
|
126
|
+
includeLocations: ["query"],
|
|
127
|
+
lookup: lookupQuery.data
|
|
128
|
+
}),
|
|
129
|
+
[filters, lookupQuery.data, parameters]
|
|
130
|
+
);
|
|
131
|
+
const pagination = react.useMemo(
|
|
132
|
+
() => formMetadata.dataTablePaginationFromForm(filterConfig.pagination, listQuery.data),
|
|
133
|
+
[filterConfig.pagination, listQuery.data]
|
|
134
|
+
);
|
|
135
|
+
const existingIDs = react.useMemo(
|
|
136
|
+
() => new Set(items.map((item) => item.id)),
|
|
137
|
+
[items]
|
|
138
|
+
);
|
|
139
|
+
const markedListResponse = react.useMemo(
|
|
140
|
+
() => markAttachedRows(listQuery.data, selected == null ? void 0 : selected.surface.key, existingIDs),
|
|
141
|
+
[existingIDs, listQuery.data, selected == null ? void 0 : selected.surface.key]
|
|
142
|
+
);
|
|
143
|
+
const hydrateRow = react.useCallback(
|
|
144
|
+
async (row) => {
|
|
145
|
+
var _a, _b, _c;
|
|
146
|
+
if (!selected) throw new Error("Select an entity type first.");
|
|
147
|
+
const recordID = rowNavigation.getClickyRowId(row);
|
|
148
|
+
if (!recordID) {
|
|
149
|
+
throw new Error("This row does not expose a stable record ID.");
|
|
150
|
+
}
|
|
151
|
+
const contextID = OperationEntityContextPicker_model.entityContextItemID(selected.surface.key, recordID);
|
|
152
|
+
if (existingIDs.has(contextID)) {
|
|
153
|
+
throw new Error("This record is already attached.");
|
|
154
|
+
}
|
|
155
|
+
let record = OperationEntityContextPicker_model.clickyRowRecord(row);
|
|
156
|
+
if (selected.detailOperation) {
|
|
157
|
+
const detailMeta = clickyMetadata.getOperationClickyMeta(selected.detailOperation);
|
|
158
|
+
const idParam = (detailMeta == null ? void 0 : detailMeta.idParam) ?? ((_b = (_a = selected.detailOperation.operation.parameters) == null ? void 0 : _a.find(
|
|
159
|
+
(parameter) => parameter.in === "path"
|
|
160
|
+
)) == null ? void 0 : _b.name) ?? "id";
|
|
161
|
+
const detailParameterNames = new Set(
|
|
162
|
+
((_c = selected.detailOperation.operation.parameters) == null ? void 0 : _c.map(
|
|
163
|
+
(parameter) => parameter.name
|
|
164
|
+
)) ?? []
|
|
165
|
+
);
|
|
166
|
+
const detailParams = Object.fromEntries(
|
|
167
|
+
Object.entries(packedFilters).filter(
|
|
168
|
+
([key]) => detailParameterNames.has(key)
|
|
169
|
+
)
|
|
170
|
+
);
|
|
171
|
+
detailParams[idParam] = recordID;
|
|
172
|
+
const response = await client.executeCommand(
|
|
173
|
+
selected.detailOperation.path,
|
|
174
|
+
selected.detailOperation.method,
|
|
175
|
+
detailParams,
|
|
176
|
+
{ Accept: "application/json" }
|
|
177
|
+
);
|
|
178
|
+
record = response.parsed ?? parseResponseJSON(response) ?? record;
|
|
179
|
+
}
|
|
180
|
+
const contextItem = OperationEntityContextPicker_model.contextItemFromEntityRow(
|
|
181
|
+
selected.surface,
|
|
182
|
+
row,
|
|
183
|
+
record
|
|
184
|
+
);
|
|
185
|
+
if (!contextItem)
|
|
186
|
+
throw new Error("This row does not expose a stable record ID.");
|
|
187
|
+
return contextItem;
|
|
188
|
+
},
|
|
189
|
+
[client, existingIDs, packedFilters, selected]
|
|
190
|
+
);
|
|
191
|
+
const attachSelected = react.useCallback(async () => {
|
|
192
|
+
const rows = Object.values(selectedRows);
|
|
193
|
+
if (rows.length === 0) return;
|
|
194
|
+
setAttaching(true);
|
|
195
|
+
setAttachError("");
|
|
196
|
+
const results = await Promise.allSettled(rows.map(hydrateRow));
|
|
197
|
+
const added = results.flatMap(
|
|
198
|
+
(result) => result.status === "fulfilled" ? [result.value] : []
|
|
199
|
+
);
|
|
200
|
+
const failures = results.flatMap(
|
|
201
|
+
(result) => result.status === "rejected" ? [result.reason] : []
|
|
202
|
+
);
|
|
203
|
+
if (added.length > 0) {
|
|
204
|
+
if (onAddMany) onAddMany(added);
|
|
205
|
+
else added.forEach(onAdd);
|
|
206
|
+
}
|
|
207
|
+
setAttaching(false);
|
|
208
|
+
if (failures.length > 0) {
|
|
209
|
+
const first = failures[0];
|
|
210
|
+
setAttachError(
|
|
211
|
+
`${failures.length} record${failures.length === 1 ? "" : "s"} could not be attached: ${first instanceof Error ? first.message : String(first)}`
|
|
212
|
+
);
|
|
213
|
+
return;
|
|
214
|
+
}
|
|
215
|
+
setSelectedRows({});
|
|
216
|
+
setOpen(false);
|
|
217
|
+
}, [hydrateRow, onAdd, onAddMany, selectedRows]);
|
|
218
|
+
const menuItems = react.useMemo(() => {
|
|
219
|
+
var _a;
|
|
220
|
+
const groups = [];
|
|
221
|
+
const byGroup = /* @__PURE__ */ new Map();
|
|
222
|
+
for (const entry of surfaces) {
|
|
223
|
+
const group = (surfaceGroup == null ? void 0 : surfaceGroup(entry.surface, entry.listOperation)) ?? entry.surface.parent ?? "Other";
|
|
224
|
+
const label = (surfaceLabel == null ? void 0 : surfaceLabel(entry.surface, entry.listOperation)) ?? entry.surface.title;
|
|
225
|
+
const icon = (surfaceIcon == null ? void 0 : surfaceIcon(entry.surface, entry.listOperation)) ?? surfaceIconMap.resolveSurfaceIcon(entry.surface.icon) ?? UiTable.UiTable;
|
|
226
|
+
const iconColor = surfaceColor == null ? void 0 : surfaceColor(entry.surface, entry.listOperation);
|
|
227
|
+
const leaf = {
|
|
228
|
+
label,
|
|
229
|
+
title: label,
|
|
230
|
+
icon,
|
|
231
|
+
...iconColor ? { iconColor } : {},
|
|
232
|
+
onSelect: () => {
|
|
233
|
+
setSurfaceKey(entry.surface.key);
|
|
234
|
+
setOpen(true);
|
|
235
|
+
}
|
|
236
|
+
};
|
|
237
|
+
let bucket = byGroup.get(group);
|
|
238
|
+
if (!bucket) {
|
|
239
|
+
bucket = [];
|
|
240
|
+
byGroup.set(group, bucket);
|
|
241
|
+
groups.push({ group, leaves: bucket });
|
|
242
|
+
}
|
|
243
|
+
bucket.push(leaf);
|
|
244
|
+
}
|
|
245
|
+
if (groups.length <= 1) return ((_a = groups[0]) == null ? void 0 : _a.leaves) ?? [];
|
|
246
|
+
return groups.map(({ group, leaves }) => {
|
|
247
|
+
var _a2;
|
|
248
|
+
const groupColor = surfaceGroupColor == null ? void 0 : surfaceGroupColor(group);
|
|
249
|
+
const prefix = `${group} `;
|
|
250
|
+
const children = leaves.map(
|
|
251
|
+
(leaf) => typeof leaf.label === "string" && leaf.label.startsWith(prefix) ? { ...leaf, label: leaf.label.slice(prefix.length) } : leaf
|
|
252
|
+
);
|
|
253
|
+
return {
|
|
254
|
+
label: group,
|
|
255
|
+
title: group,
|
|
256
|
+
icon: (surfaceGroupIcon == null ? void 0 : surfaceGroupIcon(group)) ?? ((_a2 = leaves[0]) == null ? void 0 : _a2.icon) ?? UiTable.UiTable,
|
|
257
|
+
...groupColor ? { iconColor: groupColor } : {},
|
|
258
|
+
onSelect: () => {
|
|
259
|
+
},
|
|
260
|
+
children
|
|
261
|
+
};
|
|
262
|
+
});
|
|
263
|
+
}, [
|
|
264
|
+
surfaceColor,
|
|
265
|
+
surfaceGroup,
|
|
266
|
+
surfaceGroupColor,
|
|
267
|
+
surfaceGroupIcon,
|
|
268
|
+
surfaceIcon,
|
|
269
|
+
surfaceLabel,
|
|
270
|
+
surfaces
|
|
271
|
+
]);
|
|
272
|
+
const selectedCount = Object.keys(selectedRows).length;
|
|
273
|
+
const selectedLabel = selected ? (surfaceLabel == null ? void 0 : surfaceLabel(selected.surface, selected.listOperation)) ?? selected.surface.title : "records";
|
|
274
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
275
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
276
|
+
DropdownMenu.DropdownMenu,
|
|
277
|
+
{
|
|
278
|
+
label: triggerLabel,
|
|
279
|
+
icon: UiAdd.UiAdd,
|
|
280
|
+
variant: "ghost",
|
|
281
|
+
size: "sm",
|
|
282
|
+
align: "left",
|
|
283
|
+
menuLabel: "Context entity types",
|
|
284
|
+
menuClassName: "min-w-56",
|
|
285
|
+
items: menuItems.length > 0 ? menuItems : [
|
|
286
|
+
{
|
|
287
|
+
label: operationsLoading ? "Loading entity types…" : "No entity listings available",
|
|
288
|
+
disabled: true,
|
|
289
|
+
onSelect: () => {
|
|
290
|
+
}
|
|
291
|
+
}
|
|
292
|
+
]
|
|
293
|
+
}
|
|
294
|
+
),
|
|
295
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
296
|
+
Modal.Modal,
|
|
297
|
+
{
|
|
298
|
+
open,
|
|
299
|
+
onClose: () => setOpen(false),
|
|
300
|
+
title: `Add ${selectedLabel} context`,
|
|
301
|
+
size: "2xl",
|
|
302
|
+
expandable: true,
|
|
303
|
+
scrollBody: false,
|
|
304
|
+
footer: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between gap-3", children: [
|
|
305
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs text-muted-foreground", children: selectedCount === 0 ? "Select one or more records from the table." : `${selectedCount} record${selectedCount === 1 ? "" : "s"} selected` }),
|
|
306
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
|
|
307
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
308
|
+
button.Button,
|
|
309
|
+
{
|
|
310
|
+
type: "button",
|
|
311
|
+
variant: "outline",
|
|
312
|
+
onClick: () => setOpen(false),
|
|
313
|
+
disabled: attaching,
|
|
314
|
+
children: "Cancel"
|
|
315
|
+
}
|
|
316
|
+
),
|
|
317
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
318
|
+
button.Button,
|
|
319
|
+
{
|
|
320
|
+
type: "button",
|
|
321
|
+
onClick: () => void attachSelected(),
|
|
322
|
+
disabled: selectedCount === 0 || attaching,
|
|
323
|
+
children: attaching ? "Adding…" : selectedCount > 0 ? `Add ${selectedCount} record${selectedCount === 1 ? "" : "s"}` : "Add records"
|
|
324
|
+
}
|
|
325
|
+
)
|
|
326
|
+
] })
|
|
327
|
+
] }),
|
|
328
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex min-h-0 flex-1 flex-col gap-4", children: [
|
|
329
|
+
surfaces.length === 0 && !operationsLoading ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-muted-foreground", children: "No attachable entity surfaces are available." }) : null,
|
|
330
|
+
lookupQuery.error ? /* @__PURE__ */ jsxRuntime.jsx(PickerError, { error: lookupQuery.error, prefix: "Load filters" }) : null,
|
|
331
|
+
listQuery.error ? /* @__PURE__ */ jsxRuntime.jsx(PickerError, { error: listQuery.error, prefix: "Load records" }) : null,
|
|
332
|
+
attachError ? /* @__PURE__ */ jsxRuntime.jsx(PickerError, { error: attachError, prefix: "Attach record" }) : null,
|
|
333
|
+
attaching ? /* @__PURE__ */ jsxRuntime.jsx("div", { role: "status", className: "text-xs text-muted-foreground", children: "Loading full record details and adding context…" }) : null,
|
|
334
|
+
selected ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
335
|
+
CommandOutput.CommandOutput,
|
|
336
|
+
{
|
|
337
|
+
bare: true,
|
|
338
|
+
className: "mt-0 flex-1",
|
|
339
|
+
response: markedListResponse ?? null,
|
|
340
|
+
loading: listQuery.isLoading || listQuery.isFetching,
|
|
341
|
+
loadingMessage: "Loading records…",
|
|
342
|
+
emptyMessage: "No matching records.",
|
|
343
|
+
ariaLabel: "Context records",
|
|
344
|
+
rowSelection: {
|
|
345
|
+
selectedRowIds: Object.keys(selectedRows),
|
|
346
|
+
// Keep selections made on other pages: reconcile the table's
|
|
347
|
+
// next id set against the rows on the current page, falling back
|
|
348
|
+
// to the already-known row for ids from previously-viewed pages.
|
|
349
|
+
onSelectionChange: (nextIds, rows) => {
|
|
350
|
+
const rowByID = new Map(
|
|
351
|
+
rows.flatMap((row) => {
|
|
352
|
+
const id = rowNavigation.getClickyRowId(row);
|
|
353
|
+
return id ? [[id, row]] : [];
|
|
354
|
+
})
|
|
355
|
+
);
|
|
356
|
+
setSelectedRows(
|
|
357
|
+
(prev) => Object.fromEntries(
|
|
358
|
+
nextIds.flatMap((id) => {
|
|
359
|
+
const row = rowByID.get(id) ?? prev[id];
|
|
360
|
+
return row ? [[id, row]] : [];
|
|
361
|
+
})
|
|
362
|
+
)
|
|
363
|
+
);
|
|
364
|
+
},
|
|
365
|
+
getRowId: (row, index) => rowNavigation.getClickyRowId(row) ?? `context-row-${index}`,
|
|
366
|
+
isRowSelectable: (row) => {
|
|
367
|
+
const id = rowNavigation.getClickyRowId(row);
|
|
368
|
+
return !!id && !existingIDs.has(
|
|
369
|
+
OperationEntityContextPicker_model.entityContextItemID(selected.surface.key, id)
|
|
370
|
+
);
|
|
371
|
+
},
|
|
372
|
+
toggleOnRowClick: true
|
|
373
|
+
},
|
|
374
|
+
...filterConfig.search ? { search: filterConfig.search } : {},
|
|
375
|
+
...filterConfig.timeRange ? { timeRange: filterConfig.timeRange } : {},
|
|
376
|
+
...filterConfig.filters.length ? { externalFilters: filterConfig.filters } : {},
|
|
377
|
+
...pagination ? { pagination } : {}
|
|
378
|
+
}
|
|
379
|
+
) : null,
|
|
380
|
+
items.length ? /* @__PURE__ */ jsxRuntime.jsxs("p", { className: "text-xs text-muted-foreground", children: [
|
|
381
|
+
items.length,
|
|
382
|
+
" context ",
|
|
383
|
+
items.length === 1 ? "record" : "records",
|
|
384
|
+
" ",
|
|
385
|
+
"attached. Attached rows are disabled."
|
|
386
|
+
] }) : null
|
|
387
|
+
] })
|
|
388
|
+
}
|
|
389
|
+
)
|
|
390
|
+
] });
|
|
391
|
+
}
|
|
392
|
+
function parseResponseJSON(response) {
|
|
393
|
+
const text = response.stdout || response.output || "";
|
|
394
|
+
if (!text.trim()) return void 0;
|
|
395
|
+
try {
|
|
396
|
+
return JSON.parse(text);
|
|
397
|
+
} catch {
|
|
398
|
+
return void 0;
|
|
399
|
+
}
|
|
400
|
+
}
|
|
401
|
+
function markAttachedRows(response, surfaceKey, existingIDs) {
|
|
402
|
+
var _a;
|
|
403
|
+
if (!response || !surfaceKey || existingIDs.size === 0 || !response.parsed)
|
|
404
|
+
return response;
|
|
405
|
+
const parsed = response.parsed;
|
|
406
|
+
const node = parsed.version === 1 && parsed.node ? parsed.node : parsed;
|
|
407
|
+
if (node.kind !== "table" || !((_a = node.rows) == null ? void 0 : _a.length)) return response;
|
|
408
|
+
const tableNode = node;
|
|
409
|
+
const attached = tableNode.rows.map((row) => {
|
|
410
|
+
const id = rowNavigation.getClickyRowId(row);
|
|
411
|
+
return !!id && existingIDs.has(OperationEntityContextPicker_model.entityContextItemID(surfaceKey, id));
|
|
412
|
+
});
|
|
413
|
+
if (!attached.some(Boolean)) return response;
|
|
414
|
+
const markerColumn = {
|
|
415
|
+
name: "__chat_context",
|
|
416
|
+
label: "Context",
|
|
417
|
+
shrink: true
|
|
418
|
+
};
|
|
419
|
+
const markedNode = {
|
|
420
|
+
...tableNode,
|
|
421
|
+
kind: "table",
|
|
422
|
+
columns: [...tableNode.columns ?? [], markerColumn],
|
|
423
|
+
rows: tableNode.rows.map((row, index) => ({
|
|
424
|
+
...row,
|
|
425
|
+
cells: {
|
|
426
|
+
...row.cells,
|
|
427
|
+
__chat_context: attached[index] ? { kind: "badge", badgeLabel: "Attached" } : { kind: "text", text: "", plain: "" }
|
|
428
|
+
}
|
|
429
|
+
}))
|
|
430
|
+
};
|
|
431
|
+
return {
|
|
432
|
+
...response,
|
|
433
|
+
parsed: parsed.version === 1 ? { ...parsed, node: markedNode } : markedNode
|
|
434
|
+
};
|
|
435
|
+
}
|
|
436
|
+
function PickerError({ error, prefix }) {
|
|
437
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
438
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "rounded-md border border-destructive/40 bg-destructive/5 p-3 text-sm text-destructive", children: [
|
|
439
|
+
/* @__PURE__ */ jsxRuntime.jsxs("span", { className: "font-medium", children: [
|
|
440
|
+
prefix,
|
|
441
|
+
":"
|
|
442
|
+
] }),
|
|
443
|
+
" ",
|
|
444
|
+
message
|
|
445
|
+
] });
|
|
446
|
+
}
|
|
447
|
+
exports.OperationEntityContextPicker = OperationEntityContextPicker;
|
|
448
|
+
//# sourceMappingURL=OperationEntityContextPicker.cjs.map
|