@flanksource/clicky-ui 0.3.15 → 0.3.17
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 +10 -0
- package/dist/ai.cjs +33 -4
- package/dist/ai.cjs.map +1 -1
- package/dist/ai.js +31 -2
- package/dist/ai.js.map +1 -1
- package/dist/chat.cjs +6 -0
- package/dist/chat.cjs.map +1 -1
- package/dist/chat.js +7 -1
- package/dist/chat.js.map +1 -1
- package/dist/components/Combobox.cjs +92 -170
- package/dist/components/Combobox.cjs.map +1 -1
- package/dist/components/Combobox.d.ts +2 -111
- package/dist/components/Combobox.d.ts.map +1 -1
- package/dist/components/Combobox.js +95 -173
- package/dist/components/Combobox.js.map +1 -1
- package/dist/components/ComboboxActions.cjs +70 -0
- package/dist/components/ComboboxActions.cjs.map +1 -0
- package/dist/components/ComboboxActions.d.ts +8 -0
- package/dist/components/ComboboxActions.d.ts.map +1 -0
- package/dist/components/ComboboxActions.js +70 -0
- package/dist/components/ComboboxActions.js.map +1 -0
- package/dist/components/ComboboxMenu.cjs +160 -0
- package/dist/components/ComboboxMenu.cjs.map +1 -0
- package/dist/components/ComboboxMenu.d.ts +22 -0
- package/dist/components/ComboboxMenu.d.ts.map +1 -0
- package/dist/components/ComboboxMenu.js +160 -0
- package/dist/components/ComboboxMenu.js.map +1 -0
- package/dist/components/EndpointSelector.cjs +407 -0
- package/dist/components/EndpointSelector.cjs.map +1 -0
- package/dist/components/EndpointSelector.d.ts +3 -0
- package/dist/components/EndpointSelector.d.ts.map +1 -0
- package/dist/components/EndpointSelector.js +407 -0
- package/dist/components/EndpointSelector.js.map +1 -0
- package/dist/components/EndpointSelector.model.d.ts +52 -0
- package/dist/components/EndpointSelector.model.d.ts.map +1 -0
- package/dist/components/FilterBar.cjs +12 -0
- package/dist/components/FilterBar.cjs.map +1 -1
- package/dist/components/FilterBar.d.ts +4 -0
- package/dist/components/FilterBar.d.ts.map +1 -1
- package/dist/components/FilterBar.js +12 -0
- package/dist/components/FilterBar.js.map +1 -1
- package/dist/components/InputField.cjs +11 -12
- package/dist/components/InputField.cjs.map +1 -1
- package/dist/components/InputField.d.ts +7 -0
- package/dist/components/InputField.d.ts.map +1 -1
- package/dist/components/InputField.js +12 -13
- package/dist/components/InputField.js.map +1 -1
- package/dist/components/JsonSchemaForm.cjs +22 -16
- package/dist/components/JsonSchemaForm.cjs.map +1 -1
- package/dist/components/JsonSchemaForm.d.ts +1 -1
- package/dist/components/JsonSchemaForm.d.ts.map +1 -1
- package/dist/components/JsonSchemaForm.js +22 -16
- package/dist/components/JsonSchemaForm.js.map +1 -1
- package/dist/components/MultiSelect.cjs +3 -3
- package/dist/components/MultiSelect.cjs.map +1 -1
- package/dist/components/MultiSelect.d.ts.map +1 -1
- package/dist/components/MultiSelect.js +3 -3
- package/dist/components/MultiSelect.js.map +1 -1
- package/dist/components/SecretKeySelector.cjs +150 -77
- package/dist/components/SecretKeySelector.cjs.map +1 -1
- package/dist/components/SecretKeySelector.d.ts.map +1 -1
- package/dist/components/SecretKeySelector.js +151 -78
- package/dist/components/SecretKeySelector.js.map +1 -1
- package/dist/components/WorkloadPicker.cjs +2 -1
- package/dist/components/WorkloadPicker.cjs.map +1 -1
- package/dist/components/WorkloadPicker.d.ts +6 -1
- package/dist/components/WorkloadPicker.d.ts.map +1 -1
- package/dist/components/WorkloadPicker.js +2 -1
- package/dist/components/WorkloadPicker.js.map +1 -1
- package/dist/components/combobox-types.d.ts +107 -0
- package/dist/components/combobox-types.d.ts.map +1 -0
- package/dist/components/combobox-utils.cjs +21 -0
- package/dist/components/combobox-utils.cjs.map +1 -0
- package/dist/components/combobox-utils.d.ts +15 -0
- package/dist/components/combobox-utils.d.ts.map +1 -0
- package/dist/components/combobox-utils.js +21 -0
- package/dist/components/combobox-utils.js.map +1 -0
- package/dist/components/endpoint-port.cjs +12 -0
- package/dist/components/endpoint-port.cjs.map +1 -0
- package/dist/components/endpoint-port.d.ts +4 -0
- package/dist/components/endpoint-port.d.ts.map +1 -0
- package/dist/components/endpoint-port.js +12 -0
- package/dist/components/endpoint-port.js.map +1 -0
- package/dist/components/json-schema-form-array.cjs +12 -23
- package/dist/components/json-schema-form-array.cjs.map +1 -1
- package/dist/components/json-schema-form-array.d.ts +1 -1
- package/dist/components/json-schema-form-array.d.ts.map +1 -1
- package/dist/components/json-schema-form-array.js +12 -23
- package/dist/components/json-schema-form-array.js.map +1 -1
- package/dist/components/json-schema-form-discriminator.cjs +6 -2
- package/dist/components/json-schema-form-discriminator.cjs.map +1 -1
- package/dist/components/json-schema-form-discriminator.d.ts.map +1 -1
- package/dist/components/json-schema-form-discriminator.js +6 -2
- package/dist/components/json-schema-form-discriminator.js.map +1 -1
- package/dist/components/json-schema-form-error-display.cjs +50 -0
- package/dist/components/json-schema-form-error-display.cjs.map +1 -0
- package/dist/components/json-schema-form-error-display.d.ts +12 -0
- package/dist/components/json-schema-form-error-display.d.ts.map +1 -0
- package/dist/components/json-schema-form-error-display.js +50 -0
- package/dist/components/json-schema-form-error-display.js.map +1 -0
- package/dist/components/json-schema-form-error-types.d.ts +26 -0
- package/dist/components/json-schema-form-error-types.d.ts.map +1 -0
- package/dist/components/json-schema-form-errors.cjs +169 -0
- package/dist/components/json-schema-form-errors.cjs.map +1 -0
- package/dist/components/json-schema-form-errors.d.ts +14 -0
- package/dist/components/json-schema-form-errors.d.ts.map +1 -0
- package/dist/components/json-schema-form-errors.js +169 -0
- package/dist/components/json-schema-form-errors.js.map +1 -0
- package/dist/components/json-schema-form-object.cjs +12 -2
- 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 +12 -2
- package/dist/components/json-schema-form-object.js.map +1 -1
- package/dist/components/json-schema-form-refs.cjs +84 -19
- package/dist/components/json-schema-form-refs.cjs.map +1 -1
- package/dist/components/json-schema-form-refs.d.ts.map +1 -1
- package/dist/components/json-schema-form-refs.js +84 -19
- package/dist/components/json-schema-form-refs.js.map +1 -1
- package/dist/components/json-schema-form-render.cjs +33 -10
- 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 +34 -11
- package/dist/components/json-schema-form-render.js.map +1 -1
- package/dist/components/json-schema-form-resolve.cjs +16 -4
- 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 +17 -5
- package/dist/components/json-schema-form-resolve.js.map +1 -1
- package/dist/components/json-schema-form-types.d.ts +4 -3
- package/dist/components/json-schema-form-types.d.ts.map +1 -1
- package/dist/components.cjs +13 -0
- package/dist/components.cjs.map +1 -1
- package/dist/components.d.ts +8 -1
- package/dist/components.d.ts.map +1 -1
- package/dist/components.js +15 -2
- package/dist/components.js.map +1 -1
- package/dist/data/DataTable.cjs +205 -14
- package/dist/data/DataTable.cjs.map +1 -1
- package/dist/data/DataTable.d.ts +41 -0
- package/dist/data/DataTable.d.ts.map +1 -1
- package/dist/data/DataTable.grouping.cjs +21 -0
- package/dist/data/DataTable.grouping.cjs.map +1 -0
- package/dist/data/DataTable.grouping.d.ts +26 -0
- package/dist/data/DataTable.grouping.d.ts.map +1 -0
- package/dist/data/DataTable.grouping.js +21 -0
- package/dist/data/DataTable.grouping.js.map +1 -0
- package/dist/data/DataTable.js +205 -14
- package/dist/data/DataTable.js.map +1 -1
- package/dist/data/Markdown.cjs +45 -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 +45 -1
- package/dist/data/Markdown.js.map +1 -1
- package/dist/data/MarkdownEditor.cjs +4 -3
- package/dist/data/MarkdownEditor.cjs.map +1 -1
- package/dist/data/MarkdownEditor.d.ts +6 -2
- package/dist/data/MarkdownEditor.d.ts.map +1 -1
- package/dist/data/MarkdownEditor.js +4 -3
- package/dist/data/MarkdownEditor.js.map +1 -1
- package/dist/data/ServerTimingBadge.cjs +64 -0
- package/dist/data/ServerTimingBadge.cjs.map +1 -0
- package/dist/data/ServerTimingBadge.d.ts +9 -0
- package/dist/data/ServerTimingBadge.d.ts.map +1 -0
- package/dist/data/ServerTimingBadge.js +64 -0
- package/dist/data/ServerTimingBadge.js.map +1 -0
- package/dist/data/StatStrip.cjs +99 -0
- package/dist/data/StatStrip.cjs.map +1 -0
- package/dist/data/StatStrip.d.ts +41 -0
- package/dist/data/StatStrip.d.ts.map +1 -0
- package/dist/data/StatStrip.js +99 -0
- package/dist/data/StatStrip.js.map +1 -0
- package/dist/data/TaskManager.cjs +20 -1
- package/dist/data/TaskManager.cjs.map +1 -1
- package/dist/data/TaskManager.d.ts +3 -1
- package/dist/data/TaskManager.d.ts.map +1 -1
- package/dist/data/TaskManager.js +20 -1
- package/dist/data/TaskManager.js.map +1 -1
- package/dist/data/TaskManagerButton.cjs +49 -0
- package/dist/data/TaskManagerButton.cjs.map +1 -0
- package/dist/data/TaskManagerButton.d.ts +8 -0
- package/dist/data/TaskManagerButton.d.ts.map +1 -0
- package/dist/data/TaskManagerButton.js +49 -0
- package/dist/data/TaskManagerButton.js.map +1 -0
- package/dist/data/TaskProcessDetails.cjs +113 -0
- package/dist/data/TaskProcessDetails.cjs.map +1 -0
- package/dist/data/TaskProcessDetails.d.ts +6 -0
- package/dist/data/TaskProcessDetails.d.ts.map +1 -0
- package/dist/data/TaskProcessDetails.js +113 -0
- package/dist/data/TaskProcessDetails.js.map +1 -0
- package/dist/data/TaskProgress.cjs +106 -19
- package/dist/data/TaskProgress.cjs.map +1 -1
- package/dist/data/TaskProgress.d.ts +4 -2
- package/dist/data/TaskProgress.d.ts.map +1 -1
- package/dist/data/TaskProgress.js +107 -20
- package/dist/data/TaskProgress.js.map +1 -1
- package/dist/data/TaskSnapshot.cjs.map +1 -1
- package/dist/data/TaskSnapshot.d.ts +43 -0
- package/dist/data/TaskSnapshot.d.ts.map +1 -1
- package/dist/data/TaskSnapshot.js.map +1 -1
- package/dist/data/Tree.cjs +91 -82
- package/dist/data/Tree.cjs.map +1 -1
- package/dist/data/Tree.d.ts +3 -1
- package/dist/data/Tree.d.ts.map +1 -1
- package/dist/data/Tree.js +91 -82
- package/dist/data/Tree.js.map +1 -1
- package/dist/data/TreeNode.cjs +3 -0
- package/dist/data/TreeNode.cjs.map +1 -1
- package/dist/data/TreeNode.d.ts +2 -1
- package/dist/data/TreeNode.d.ts.map +1 -1
- package/dist/data/TreeNode.js +3 -0
- package/dist/data/TreeNode.js.map +1 -1
- package/dist/data/ai/ChatWindow.cjs +18 -141
- package/dist/data/ai/ChatWindow.cjs.map +1 -1
- package/dist/data/ai/ChatWindow.d.ts +2 -40
- package/dist/data/ai/ChatWindow.d.ts.map +1 -1
- package/dist/data/ai/ChatWindow.js +15 -138
- package/dist/data/ai/ChatWindow.js.map +1 -1
- package/dist/data/ai/ChatWindow.models.cjs +11 -0
- package/dist/data/ai/ChatWindow.models.cjs.map +1 -0
- package/dist/data/ai/ChatWindow.models.d.ts +3 -0
- package/dist/data/ai/ChatWindow.models.d.ts.map +1 -0
- package/dist/data/ai/ChatWindow.models.js +11 -0
- package/dist/data/ai/ChatWindow.models.js.map +1 -0
- package/dist/data/ai/ChatWindow.preferences.cjs +57 -0
- package/dist/data/ai/ChatWindow.preferences.cjs.map +1 -0
- package/dist/data/ai/ChatWindow.preferences.d.ts +13 -0
- package/dist/data/ai/ChatWindow.preferences.d.ts.map +1 -0
- package/dist/data/ai/ChatWindow.preferences.js +57 -0
- package/dist/data/ai/ChatWindow.preferences.js.map +1 -0
- package/dist/data/ai/ChatWindow.thread-status.cjs +14 -0
- package/dist/data/ai/ChatWindow.thread-status.cjs.map +1 -0
- package/dist/data/ai/ChatWindow.thread-status.d.ts +5 -0
- package/dist/data/ai/ChatWindow.thread-status.d.ts.map +1 -0
- package/dist/data/ai/ChatWindow.thread-status.js +14 -0
- package/dist/data/ai/ChatWindow.thread-status.js.map +1 -0
- package/dist/data/ai/ChatWindow.thread.cjs +68 -0
- package/dist/data/ai/ChatWindow.thread.cjs.map +1 -0
- package/dist/data/ai/ChatWindow.thread.d.ts +16 -0
- package/dist/data/ai/ChatWindow.thread.d.ts.map +1 -0
- package/dist/data/ai/ChatWindow.thread.js +68 -0
- package/dist/data/ai/ChatWindow.thread.js.map +1 -0
- package/dist/data/ai/ChatWindow.tool-catalog.cjs +99 -0
- package/dist/data/ai/ChatWindow.tool-catalog.cjs.map +1 -0
- package/dist/data/ai/ChatWindow.tool-catalog.d.ts +3 -0
- package/dist/data/ai/ChatWindow.tool-catalog.d.ts.map +1 -0
- package/dist/data/ai/ChatWindow.tool-catalog.js +99 -0
- package/dist/data/ai/ChatWindow.tool-catalog.js.map +1 -0
- package/dist/data/ai/ChatWindow.types.d.ts +41 -0
- package/dist/data/ai/ChatWindow.types.d.ts.map +1 -0
- package/dist/data/ai/ContextBadges.cjs +76 -46
- package/dist/data/ai/ContextBadges.cjs.map +1 -1
- package/dist/data/ai/ContextBadges.d.ts.map +1 -1
- package/dist/data/ai/ContextBadges.js +77 -47
- package/dist/data/ai/ContextBadges.js.map +1 -1
- package/dist/data/ai/PromptPicker/PromptPicker.cjs +151 -32
- package/dist/data/ai/PromptPicker/PromptPicker.cjs.map +1 -1
- package/dist/data/ai/PromptPicker/PromptPicker.d.ts +7 -4
- package/dist/data/ai/PromptPicker/PromptPicker.d.ts.map +1 -1
- package/dist/data/ai/PromptPicker/PromptPicker.js +152 -33
- package/dist/data/ai/PromptPicker/PromptPicker.js.map +1 -1
- package/dist/data/ai/PromptPicker/PromptSourceRepair.cjs +133 -0
- package/dist/data/ai/PromptPicker/PromptSourceRepair.cjs.map +1 -0
- package/dist/data/ai/PromptPicker/PromptSourceRepair.d.ts +11 -0
- package/dist/data/ai/PromptPicker/PromptSourceRepair.d.ts.map +1 -0
- package/dist/data/ai/PromptPicker/PromptSourceRepair.js +133 -0
- package/dist/data/ai/PromptPicker/PromptSourceRepair.js.map +1 -0
- package/dist/data/ai/PromptPicker/index.d.ts +2 -1
- package/dist/data/ai/PromptPicker/index.d.ts.map +1 -1
- package/dist/data/ai/PromptPicker/types.cjs +7 -0
- package/dist/data/ai/PromptPicker/types.cjs.map +1 -0
- package/dist/data/ai/PromptPicker/types.d.ts +18 -2
- package/dist/data/ai/PromptPicker/types.d.ts.map +1 -1
- package/dist/data/ai/PromptPicker/types.js +7 -0
- package/dist/data/ai/PromptPicker/types.js.map +1 -0
- package/dist/data/ai/PromptRunEditor/index.cjs +171 -91
- package/dist/data/ai/PromptRunEditor/index.cjs.map +1 -1
- package/dist/data/ai/PromptRunEditor/index.d.ts +9 -9
- package/dist/data/ai/PromptRunEditor/index.d.ts.map +1 -1
- package/dist/data/ai/PromptRunEditor/index.js +175 -95
- package/dist/data/ai/PromptRunEditor/index.js.map +1 -1
- package/dist/data/ai/PromptRunEditor/model.cjs +47 -0
- package/dist/data/ai/PromptRunEditor/model.cjs.map +1 -0
- package/dist/data/ai/PromptRunEditor/model.d.ts +17 -0
- package/dist/data/ai/PromptRunEditor/model.d.ts.map +1 -0
- package/dist/data/ai/PromptRunEditor/model.js +47 -0
- package/dist/data/ai/PromptRunEditor/model.js.map +1 -0
- package/dist/data/ai/RuntimeBar.cjs +408 -0
- package/dist/data/ai/RuntimeBar.cjs.map +1 -0
- package/dist/data/ai/RuntimeBar.d.ts +20 -0
- package/dist/data/ai/RuntimeBar.d.ts.map +1 -0
- package/dist/data/ai/RuntimeBar.js +408 -0
- package/dist/data/ai/RuntimeBar.js.map +1 -0
- package/dist/data/ai/RuntimeBar.model.cjs +14 -0
- package/dist/data/ai/RuntimeBar.model.cjs.map +1 -0
- package/dist/data/ai/RuntimeBar.model.d.ts +10 -0
- package/dist/data/ai/RuntimeBar.model.d.ts.map +1 -0
- package/dist/data/ai/RuntimeBar.model.js +14 -0
- package/dist/data/ai/RuntimeBar.model.js.map +1 -0
- package/dist/data/ai/RuntimeBarCombo.cjs +359 -0
- package/dist/data/ai/RuntimeBarCombo.cjs.map +1 -0
- package/dist/data/ai/RuntimeBarCombo.d.ts +22 -0
- package/dist/data/ai/RuntimeBarCombo.d.ts.map +1 -0
- package/dist/data/ai/RuntimeBarCombo.js +359 -0
- package/dist/data/ai/RuntimeBarCombo.js.map +1 -0
- package/dist/data/ai/SessionChatComposer.cjs +56 -0
- package/dist/data/ai/SessionChatComposer.cjs.map +1 -0
- package/dist/data/ai/SessionChatComposer.d.ts +24 -0
- package/dist/data/ai/SessionChatComposer.d.ts.map +1 -0
- package/dist/data/ai/SessionChatComposer.js +56 -0
- package/dist/data/ai/SessionChatComposer.js.map +1 -0
- package/dist/data/ai/SessionInspector.cjs +222 -382
- package/dist/data/ai/SessionInspector.cjs.map +1 -1
- package/dist/data/ai/SessionInspector.collection-types.d.ts +55 -0
- package/dist/data/ai/SessionInspector.collection-types.d.ts.map +1 -0
- package/dist/data/ai/SessionInspector.collection.cjs +377 -0
- package/dist/data/ai/SessionInspector.collection.cjs.map +1 -0
- package/dist/data/ai/SessionInspector.collection.d.ts +15 -0
- package/dist/data/ai/SessionInspector.collection.d.ts.map +1 -0
- package/dist/data/ai/SessionInspector.collection.js +377 -0
- package/dist/data/ai/SessionInspector.collection.js.map +1 -0
- package/dist/data/ai/SessionInspector.d.ts +9 -4
- package/dist/data/ai/SessionInspector.d.ts.map +1 -1
- package/dist/data/ai/SessionInspector.files.cjs +162 -0
- package/dist/data/ai/SessionInspector.files.cjs.map +1 -0
- package/dist/data/ai/SessionInspector.files.d.ts +5 -0
- package/dist/data/ai/SessionInspector.files.d.ts.map +1 -0
- package/dist/data/ai/SessionInspector.files.js +162 -0
- package/dist/data/ai/SessionInspector.files.js.map +1 -0
- package/dist/data/ai/SessionInspector.hierarchy-state.cjs +148 -0
- package/dist/data/ai/SessionInspector.hierarchy-state.cjs.map +1 -0
- package/dist/data/ai/SessionInspector.hierarchy-state.d.ts +15 -0
- package/dist/data/ai/SessionInspector.hierarchy-state.d.ts.map +1 -0
- package/dist/data/ai/SessionInspector.hierarchy-state.js +148 -0
- package/dist/data/ai/SessionInspector.hierarchy-state.js.map +1 -0
- package/dist/data/ai/SessionInspector.hierarchy.cjs +256 -0
- package/dist/data/ai/SessionInspector.hierarchy.cjs.map +1 -0
- package/dist/data/ai/SessionInspector.hierarchy.d.ts +9 -0
- package/dist/data/ai/SessionInspector.hierarchy.d.ts.map +1 -0
- package/dist/data/ai/SessionInspector.hierarchy.js +256 -0
- package/dist/data/ai/SessionInspector.hierarchy.js.map +1 -0
- package/dist/data/ai/SessionInspector.js +224 -384
- package/dist/data/ai/SessionInspector.js.map +1 -1
- package/dist/data/ai/SessionInspector.model.cjs +125 -0
- package/dist/data/ai/SessionInspector.model.cjs.map +1 -0
- package/dist/data/ai/SessionInspector.model.d.ts +14 -0
- package/dist/data/ai/SessionInspector.model.d.ts.map +1 -0
- package/dist/data/ai/SessionInspector.model.js +125 -0
- package/dist/data/ai/SessionInspector.model.js.map +1 -0
- package/dist/data/ai/SessionInspector.panels.cjs +265 -0
- package/dist/data/ai/SessionInspector.panels.cjs.map +1 -0
- package/dist/data/ai/SessionInspector.panels.d.ts +10 -0
- package/dist/data/ai/SessionInspector.panels.d.ts.map +1 -0
- package/dist/data/ai/SessionInspector.panels.js +265 -0
- package/dist/data/ai/SessionInspector.panels.js.map +1 -0
- package/dist/data/ai/SessionInspector.plan.cjs +77 -0
- package/dist/data/ai/SessionInspector.plan.cjs.map +1 -0
- package/dist/data/ai/SessionInspector.plan.d.ts +6 -0
- package/dist/data/ai/SessionInspector.plan.d.ts.map +1 -0
- package/dist/data/ai/SessionInspector.plan.js +77 -0
- package/dist/data/ai/SessionInspector.plan.js.map +1 -0
- package/dist/data/ai/SessionInspector.summary.cjs +182 -0
- package/dist/data/ai/SessionInspector.summary.cjs.map +1 -0
- package/dist/data/ai/SessionInspector.summary.d.ts +8 -0
- package/dist/data/ai/SessionInspector.summary.d.ts.map +1 -0
- package/dist/data/ai/SessionInspector.summary.js +182 -0
- package/dist/data/ai/SessionInspector.summary.js.map +1 -0
- package/dist/data/ai/SessionInspector.transcript.cjs +94 -0
- package/dist/data/ai/SessionInspector.transcript.cjs.map +1 -0
- package/dist/data/ai/SessionInspector.transcript.d.ts +7 -0
- package/dist/data/ai/SessionInspector.transcript.d.ts.map +1 -0
- package/dist/data/ai/SessionInspector.transcript.js +94 -0
- package/dist/data/ai/SessionInspector.transcript.js.map +1 -0
- package/dist/data/ai/SessionInspector.turns.d.ts +11 -0
- package/dist/data/ai/SessionInspector.turns.d.ts.map +1 -0
- package/dist/data/ai/SessionViewer.cjs +86 -121
- package/dist/data/ai/SessionViewer.cjs.map +1 -1
- package/dist/data/ai/SessionViewer.d.ts +8 -1
- package/dist/data/ai/SessionViewer.d.ts.map +1 -1
- package/dist/data/ai/SessionViewer.fixtures.d.ts +2 -0
- package/dist/data/ai/SessionViewer.fixtures.d.ts.map +1 -1
- package/dist/data/ai/SessionViewer.header.cjs +118 -0
- package/dist/data/ai/SessionViewer.header.cjs.map +1 -0
- package/dist/data/ai/SessionViewer.header.d.ts +11 -0
- package/dist/data/ai/SessionViewer.header.d.ts.map +1 -0
- package/dist/data/ai/SessionViewer.header.js +118 -0
- package/dist/data/ai/SessionViewer.header.js.map +1 -0
- package/dist/data/ai/SessionViewer.js +87 -122
- package/dist/data/ai/SessionViewer.js.map +1 -1
- package/dist/data/ai/SessionViewer.model.cjs +111 -39
- package/dist/data/ai/SessionViewer.model.cjs.map +1 -1
- package/dist/data/ai/SessionViewer.model.d.ts +6 -0
- package/dist/data/ai/SessionViewer.model.d.ts.map +1 -1
- package/dist/data/ai/SessionViewer.model.js +111 -39
- package/dist/data/ai/SessionViewer.model.js.map +1 -1
- package/dist/data/ai/SessionViewer.row-metadata.cjs +132 -0
- package/dist/data/ai/SessionViewer.row-metadata.cjs.map +1 -0
- package/dist/data/ai/SessionViewer.row-metadata.d.ts +14 -0
- package/dist/data/ai/SessionViewer.row-metadata.d.ts.map +1 -0
- package/dist/data/ai/SessionViewer.row-metadata.js +132 -0
- package/dist/data/ai/SessionViewer.row-metadata.js.map +1 -0
- package/dist/data/ai/SessionViewer.row-time.cjs +15 -0
- package/dist/data/ai/SessionViewer.row-time.cjs.map +1 -0
- package/dist/data/ai/SessionViewer.row-time.d.ts +3 -0
- package/dist/data/ai/SessionViewer.row-time.d.ts.map +1 -0
- package/dist/data/ai/SessionViewer.row-time.js +15 -0
- package/dist/data/ai/SessionViewer.row-time.js.map +1 -0
- package/dist/data/ai/SessionViewer.rows.cjs +37 -424
- package/dist/data/ai/SessionViewer.rows.cjs.map +1 -1
- package/dist/data/ai/SessionViewer.rows.d.ts +5 -2
- package/dist/data/ai/SessionViewer.rows.d.ts.map +1 -1
- package/dist/data/ai/SessionViewer.rows.js +31 -418
- package/dist/data/ai/SessionViewer.rows.js.map +1 -1
- package/dist/data/ai/SessionViewer.tool-details.cjs +65 -0
- package/dist/data/ai/SessionViewer.tool-details.cjs.map +1 -0
- package/dist/data/ai/SessionViewer.tool-details.d.ts +20 -0
- package/dist/data/ai/SessionViewer.tool-details.d.ts.map +1 -0
- package/dist/data/ai/SessionViewer.tool-details.js +65 -0
- package/dist/data/ai/SessionViewer.tool-details.js.map +1 -0
- package/dist/data/ai/SessionViewer.tool-row.cjs +404 -0
- package/dist/data/ai/SessionViewer.tool-row.cjs.map +1 -0
- package/dist/data/ai/SessionViewer.tool-row.d.ts +12 -0
- package/dist/data/ai/SessionViewer.tool-row.d.ts.map +1 -0
- package/dist/data/ai/SessionViewer.tool-row.js +404 -0
- package/dist/data/ai/SessionViewer.tool-row.js.map +1 -0
- package/dist/data/ai/SessionViewer.unified.d.ts +11 -2
- package/dist/data/ai/SessionViewer.unified.d.ts.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/CommitSection.cjs +44 -26
- package/dist/data/ai/SpecRuntimeEditor/CommitSection.cjs.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/CommitSection.d.ts.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/CommitSection.js +47 -29
- package/dist/data/ai/SpecRuntimeEditor/CommitSection.js.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/ModelSection.cjs +45 -153
- package/dist/data/ai/SpecRuntimeEditor/ModelSection.cjs.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/ModelSection.d.ts.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/ModelSection.js +51 -159
- package/dist/data/ai/SpecRuntimeEditor/ModelSection.js.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/PromptSection.cjs +0 -1
- package/dist/data/ai/SpecRuntimeEditor/PromptSection.cjs.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/PromptSection.d.ts.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/PromptSection.js +0 -1
- package/dist/data/ai/SpecRuntimeEditor/PromptSection.js.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/WorkspaceSection.cjs +0 -5
- package/dist/data/ai/SpecRuntimeEditor/WorkspaceSection.cjs.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/WorkspaceSection.d.ts.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/WorkspaceSection.js +0 -5
- package/dist/data/ai/SpecRuntimeEditor/WorkspaceSection.js.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/fields.js +1 -1
- package/dist/data/ai/SpecRuntimeEditor/summaries.cjs.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/summaries.d.ts.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/summaries.js.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/update.cjs +19 -6
- package/dist/data/ai/SpecRuntimeEditor/update.cjs.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/update.d.ts +5 -2
- package/dist/data/ai/SpecRuntimeEditor/update.d.ts.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/update.js +19 -6
- package/dist/data/ai/SpecRuntimeEditor/update.js.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor.model.cjs +67 -10
- package/dist/data/ai/SpecRuntimeEditor.model.cjs.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor.model.d.ts +31 -4
- package/dist/data/ai/SpecRuntimeEditor.model.d.ts.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor.model.js +67 -10
- package/dist/data/ai/SpecRuntimeEditor.model.js.map +1 -1
- package/dist/data/ai/ThreadPicker.cjs.map +1 -1
- package/dist/data/ai/ThreadPicker.d.ts +2 -0
- package/dist/data/ai/ThreadPicker.d.ts.map +1 -1
- package/dist/data/ai/ThreadPicker.js.map +1 -1
- package/dist/data/ai/ToolPreferences.cjs +2 -1
- package/dist/data/ai/ToolPreferences.cjs.map +1 -1
- package/dist/data/ai/ToolPreferences.d.ts.map +1 -1
- package/dist/data/ai/ToolPreferences.js +2 -1
- package/dist/data/ai/ToolPreferences.js.map +1 -1
- package/dist/data/ai/agent-action-icons.cjs +7 -10
- package/dist/data/ai/agent-action-icons.cjs.map +1 -1
- package/dist/data/ai/agent-action-icons.d.ts +1 -2
- package/dist/data/ai/agent-action-icons.d.ts.map +1 -1
- package/dist/data/ai/agent-action-icons.js +8 -11
- package/dist/data/ai/agent-action-icons.js.map +1 -1
- package/dist/data/ai/context.cjs.map +1 -1
- package/dist/data/ai/context.d.ts +4 -0
- package/dist/data/ai/context.d.ts.map +1 -1
- package/dist/data/ai/context.js.map +1 -1
- package/dist/data/ai/examples/sessions/claude-complete.cjs +513 -0
- package/dist/data/ai/examples/sessions/claude-complete.cjs.map +1 -0
- package/dist/data/ai/examples/sessions/claude-complete.d.ts +3 -0
- package/dist/data/ai/examples/sessions/claude-complete.d.ts.map +1 -0
- package/dist/data/ai/examples/sessions/claude-complete.js +513 -0
- package/dist/data/ai/examples/sessions/claude-complete.js.map +1 -0
- package/dist/data/ai/examples/sessions/claude.cjs +252 -0
- package/dist/data/ai/examples/sessions/claude.cjs.map +1 -0
- package/dist/data/ai/examples/sessions/claude.d.ts +3 -0
- package/dist/data/ai/examples/sessions/claude.d.ts.map +1 -0
- package/dist/data/ai/examples/sessions/claude.js +252 -0
- package/dist/data/ai/examples/sessions/claude.js.map +1 -0
- package/dist/data/ai/examples/sessions/codex-complete.cjs +394 -0
- package/dist/data/ai/examples/sessions/codex-complete.cjs.map +1 -0
- package/dist/data/ai/examples/sessions/codex-complete.d.ts +3 -0
- package/dist/data/ai/examples/sessions/codex-complete.d.ts.map +1 -0
- package/dist/data/ai/examples/sessions/codex-complete.js +394 -0
- package/dist/data/ai/examples/sessions/codex-complete.js.map +1 -0
- package/dist/data/ai/examples/sessions/codex.cjs +236 -0
- package/dist/data/ai/examples/sessions/codex.cjs.map +1 -0
- package/dist/data/ai/examples/sessions/codex.d.ts +3 -0
- package/dist/data/ai/examples/sessions/codex.d.ts.map +1 -0
- package/dist/data/ai/examples/sessions/codex.js +236 -0
- package/dist/data/ai/examples/sessions/codex.js.map +1 -0
- package/dist/data/ai/examples/sessions/index.cjs +21 -0
- package/dist/data/ai/examples/sessions/index.cjs.map +1 -0
- package/dist/data/ai/examples/sessions/index.d.ts +10 -0
- package/dist/data/ai/examples/sessions/index.d.ts.map +1 -0
- package/dist/data/ai/examples/sessions/index.js +21 -0
- package/dist/data/ai/examples/sessions/index.js.map +1 -0
- package/dist/data/ai/index.d.ts +9 -3
- package/dist/data/ai/index.d.ts.map +1 -1
- package/dist/data/ai/model-capabilities.cjs +12 -1
- package/dist/data/ai/model-capabilities.cjs.map +1 -1
- package/dist/data/ai/model-capabilities.d.ts +2 -6
- package/dist/data/ai/model-capabilities.d.ts.map +1 -1
- package/dist/data/ai/model-capabilities.js +12 -1
- package/dist/data/ai/model-capabilities.js.map +1 -1
- package/dist/data/ai/runtime-mode.cjs +72 -1
- package/dist/data/ai/runtime-mode.cjs.map +1 -1
- package/dist/data/ai/runtime-mode.d.ts +28 -0
- package/dist/data/ai/runtime-mode.d.ts.map +1 -1
- package/dist/data/ai/runtime-mode.js +73 -2
- package/dist/data/ai/runtime-mode.js.map +1 -1
- package/dist/data/cells/EntityCell.cjs +64 -0
- package/dist/data/cells/EntityCell.cjs.map +1 -0
- package/dist/data/cells/EntityCell.d.ts +27 -0
- package/dist/data/cells/EntityCell.d.ts.map +1 -0
- package/dist/data/cells/EntityCell.js +64 -0
- package/dist/data/cells/EntityCell.js.map +1 -0
- package/dist/data/chat/Attachment.cjs +53 -13
- package/dist/data/chat/Attachment.cjs.map +1 -1
- package/dist/data/chat/Attachment.d.ts +9 -3
- package/dist/data/chat/Attachment.d.ts.map +1 -1
- package/dist/data/chat/Attachment.js +54 -14
- package/dist/data/chat/Attachment.js.map +1 -1
- package/dist/data/chat/Chat.cjs +113 -36
- package/dist/data/chat/Chat.cjs.map +1 -1
- package/dist/data/chat/Chat.d.ts +11 -4
- package/dist/data/chat/Chat.d.ts.map +1 -1
- package/dist/data/chat/Chat.js +111 -34
- package/dist/data/chat/Chat.js.map +1 -1
- package/dist/data/chat/ContextMeter.cjs +240 -66
- package/dist/data/chat/ContextMeter.cjs.map +1 -1
- package/dist/data/chat/ContextMeter.d.ts +11 -3
- package/dist/data/chat/ContextMeter.d.ts.map +1 -1
- package/dist/data/chat/ContextMeter.js +241 -67
- package/dist/data/chat/ContextMeter.js.map +1 -1
- package/dist/data/chat/Conversation.cjs +55 -3
- package/dist/data/chat/Conversation.cjs.map +1 -1
- package/dist/data/chat/Conversation.d.ts +5 -1
- package/dist/data/chat/Conversation.d.ts.map +1 -1
- package/dist/data/chat/Conversation.js +55 -3
- package/dist/data/chat/Conversation.js.map +1 -1
- package/dist/data/chat/ModelSelector.cjs +8 -10
- package/dist/data/chat/ModelSelector.cjs.map +1 -1
- package/dist/data/chat/ModelSelector.d.ts.map +1 -1
- package/dist/data/chat/ModelSelector.js +9 -11
- package/dist/data/chat/ModelSelector.js.map +1 -1
- package/dist/data/chat/PromptInput.cjs +56 -5
- package/dist/data/chat/PromptInput.cjs.map +1 -1
- package/dist/data/chat/PromptInput.d.ts +10 -1
- package/dist/data/chat/PromptInput.d.ts.map +1 -1
- package/dist/data/chat/PromptInput.js +57 -6
- package/dist/data/chat/PromptInput.js.map +1 -1
- package/dist/data/chat/approval.cjs +21 -0
- package/dist/data/chat/approval.cjs.map +1 -0
- package/dist/data/chat/approval.d.ts +11 -0
- package/dist/data/chat/approval.d.ts.map +1 -0
- package/dist/data/chat/approval.js +21 -0
- package/dist/data/chat/approval.js.map +1 -0
- package/dist/data/chat/attachment-upload.cjs +33 -0
- package/dist/data/chat/attachment-upload.cjs.map +1 -0
- package/dist/data/chat/attachment-upload.d.ts +21 -0
- package/dist/data/chat/attachment-upload.d.ts.map +1 -0
- package/dist/data/chat/attachment-upload.js +33 -0
- package/dist/data/chat/attachment-upload.js.map +1 -0
- package/dist/data/chat/effort-icons.cjs +36 -6
- package/dist/data/chat/effort-icons.cjs.map +1 -1
- package/dist/data/chat/effort-icons.d.ts +6 -3
- package/dist/data/chat/effort-icons.d.ts.map +1 -1
- package/dist/data/chat/effort-icons.js +37 -7
- package/dist/data/chat/effort-icons.js.map +1 -1
- package/dist/data/chat/index.d.ts +3 -1
- package/dist/data/chat/index.d.ts.map +1 -1
- package/dist/data/chat/models.cjs +8 -0
- package/dist/data/chat/models.cjs.map +1 -0
- package/dist/data/chat/models.d.ts +11 -0
- package/dist/data/chat/models.d.ts.map +1 -0
- package/dist/data/chat/models.js +8 -0
- package/dist/data/chat/models.js.map +1 -0
- package/dist/data/chat/provider-icons.cjs +49 -16
- package/dist/data/chat/provider-icons.cjs.map +1 -1
- package/dist/data/chat/provider-icons.d.ts +2 -0
- package/dist/data/chat/provider-icons.d.ts.map +1 -1
- package/dist/data/chat/provider-icons.js +50 -17
- package/dist/data/chat/provider-icons.js.map +1 -1
- package/dist/data/chat/types.cjs.map +1 -1
- package/dist/data/chat/types.d.ts +21 -0
- package/dist/data/chat/types.d.ts.map +1 -1
- package/dist/data/chat/types.js.map +1 -1
- package/dist/data/examples/markdown-preview-mock.cjs +45 -0
- package/dist/data/examples/markdown-preview-mock.cjs.map +1 -0
- package/dist/data/examples/markdown-preview-mock.d.ts +23 -0
- package/dist/data/examples/markdown-preview-mock.d.ts.map +1 -0
- package/dist/data/examples/markdown-preview-mock.js +45 -0
- package/dist/data/examples/markdown-preview-mock.js.map +1 -0
- package/dist/data/examples/markdown-syntax.cjs +36 -0
- package/dist/data/examples/markdown-syntax.cjs.map +1 -0
- package/dist/data/examples/markdown-syntax.d.ts +12 -0
- package/dist/data/examples/markdown-syntax.d.ts.map +1 -0
- package/dist/data/examples/markdown-syntax.js +36 -0
- package/dist/data/examples/markdown-syntax.js.map +1 -0
- package/dist/data/examples/markdown-syntax.md.cjs +4 -0
- package/dist/data/examples/markdown-syntax.md.cjs.map +1 -0
- package/dist/data/examples/markdown-syntax.md.js +5 -0
- package/dist/data/examples/markdown-syntax.md.js.map +1 -0
- package/dist/data/server-timing.cjs +120 -0
- package/dist/data/server-timing.cjs.map +1 -0
- package/dist/data/server-timing.d.ts +11 -0
- package/dist/data/server-timing.d.ts.map +1 -0
- package/dist/data/server-timing.js +120 -0
- package/dist/data/server-timing.js.map +1 -0
- package/dist/data/task-process-details.cjs +48 -0
- package/dist/data/task-process-details.cjs.map +1 -0
- package/dist/data/task-process-details.d.ts +5 -0
- package/dist/data/task-process-details.d.ts.map +1 -0
- package/dist/data/task-process-details.js +48 -0
- package/dist/data/task-process-details.js.map +1 -0
- package/dist/data/version-info.cjs +3 -3
- package/dist/data/version-info.js +3 -3
- package/dist/data.cjs +37 -0
- package/dist/data.cjs.map +1 -1
- package/dist/data.d.ts +9 -1
- package/dist/data.d.ts.map +1 -1
- package/dist/data.js +37 -0
- package/dist/data.js.map +1 -1
- package/dist/hooks/use-hotkey.cjs +98 -0
- package/dist/hooks/use-hotkey.cjs.map +1 -0
- package/dist/hooks/use-hotkey.d.ts +42 -0
- package/dist/hooks/use-hotkey.d.ts.map +1 -0
- package/dist/hooks/use-hotkey.js +98 -0
- package/dist/hooks/use-hotkey.js.map +1 -0
- package/dist/hooks/use-task-run.cjs +23 -1
- package/dist/hooks/use-task-run.cjs.map +1 -1
- package/dist/hooks/use-task-run.d.ts.map +1 -1
- package/dist/hooks/use-task-run.js +23 -1
- package/dist/hooks/use-task-run.js.map +1 -1
- package/dist/hooks.cjs +4 -0
- package/dist/hooks.cjs.map +1 -1
- package/dist/hooks.d.ts +1 -0
- package/dist/hooks.d.ts.map +1 -1
- package/dist/hooks.js +4 -0
- package/dist/hooks.js.map +1 -1
- package/dist/icons/components/UiBank.cjs +15 -0
- package/dist/icons/components/UiBank.cjs.map +1 -0
- package/dist/icons/components/UiBank.d.ts +15 -0
- package/dist/icons/components/UiBank.d.ts.map +1 -0
- package/dist/icons/components/UiBank.js +15 -0
- package/dist/icons/components/UiBank.js.map +1 -0
- package/dist/icons/components/UiChartOfAccounts.cjs +15 -0
- package/dist/icons/components/UiChartOfAccounts.cjs.map +1 -0
- package/dist/icons/components/UiChartOfAccounts.d.ts +15 -0
- package/dist/icons/components/UiChartOfAccounts.d.ts.map +1 -0
- package/dist/icons/components/UiChartOfAccounts.js +15 -0
- package/dist/icons/components/UiChartOfAccounts.js.map +1 -0
- package/dist/icons/components/UiCloudUpload.cjs +15 -0
- package/dist/icons/components/UiCloudUpload.cjs.map +1 -0
- package/dist/icons/components/UiCloudUpload.d.ts +15 -0
- package/dist/icons/components/UiCloudUpload.d.ts.map +1 -0
- package/dist/icons/components/UiCloudUpload.js +15 -0
- package/dist/icons/components/UiCloudUpload.js.map +1 -0
- package/dist/icons/components/UiLedger.cjs +15 -0
- package/dist/icons/components/UiLedger.cjs.map +1 -0
- package/dist/icons/components/UiLedger.d.ts +15 -0
- package/dist/icons/components/UiLedger.d.ts.map +1 -0
- package/dist/icons/components/UiLedger.js +15 -0
- package/dist/icons/components/UiLedger.js.map +1 -0
- package/dist/icons/components/UiReceipt.cjs +15 -0
- package/dist/icons/components/UiReceipt.cjs.map +1 -0
- package/dist/icons/components/UiReceipt.d.ts +15 -0
- package/dist/icons/components/UiReceipt.d.ts.map +1 -0
- package/dist/icons/components/UiReceipt.js +15 -0
- package/dist/icons/components/UiReceipt.js.map +1 -0
- package/dist/icons/index.d.ts +10 -0
- package/dist/icons/index.d.ts.map +1 -1
- package/dist/icons.cjs +15 -0
- package/dist/icons.cjs.map +1 -1
- package/dist/icons.js +15 -0
- package/dist/icons.js.map +1 -1
- package/dist/index.cjs +54 -0
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +56 -2
- package/dist/index.js.map +1 -1
- package/dist/layout/AppShell.cjs +270 -238
- package/dist/layout/AppShell.cjs.map +1 -1
- package/dist/layout/AppShell.d.ts +9 -0
- package/dist/layout/AppShell.d.ts.map +1 -1
- package/dist/layout/AppShell.debug.cjs +53 -0
- package/dist/layout/AppShell.debug.cjs.map +1 -0
- package/dist/layout/AppShell.debug.d.ts +6 -0
- package/dist/layout/AppShell.debug.d.ts.map +1 -0
- package/dist/layout/AppShell.debug.js +53 -0
- package/dist/layout/AppShell.debug.js.map +1 -0
- package/dist/layout/AppShell.js +269 -237
- package/dist/layout/AppShell.js.map +1 -1
- package/dist/layout/AppShell.nav.cjs +90 -0
- package/dist/layout/AppShell.nav.cjs.map +1 -0
- package/dist/layout/AppShell.nav.d.ts +7 -0
- package/dist/layout/AppShell.nav.d.ts.map +1 -0
- package/dist/layout/AppShell.nav.js +90 -0
- package/dist/layout/AppShell.nav.js.map +1 -0
- package/dist/layout/AppSidebar.cjs +35 -5
- package/dist/layout/AppSidebar.cjs.map +1 -1
- package/dist/layout/AppSidebar.d.ts +4 -1
- package/dist/layout/AppSidebar.d.ts.map +1 -1
- package/dist/layout/AppSidebar.js +35 -5
- package/dist/layout/AppSidebar.js.map +1 -1
- package/dist/layout/Panel.cjs +25 -41
- package/dist/layout/Panel.cjs.map +1 -1
- package/dist/layout/Panel.d.ts +2 -1
- package/dist/layout/Panel.d.ts.map +1 -1
- package/dist/layout/Panel.js +26 -42
- package/dist/layout/Panel.js.map +1 -1
- package/dist/layout/PanelFrame.cjs +56 -0
- package/dist/layout/PanelFrame.cjs.map +1 -0
- package/dist/layout/PanelFrame.d.ts +15 -0
- package/dist/layout/PanelFrame.d.ts.map +1 -0
- package/dist/layout/PanelFrame.js +56 -0
- package/dist/layout/PanelFrame.js.map +1 -0
- package/dist/layout/Section.cjs +51 -41
- package/dist/layout/Section.cjs.map +1 -1
- package/dist/layout/Section.d.ts +3 -2
- package/dist/layout/Section.d.ts.map +1 -1
- package/dist/layout/Section.js +51 -41
- package/dist/layout/Section.js.map +1 -1
- package/dist/layout/content-width.cjs +8 -0
- package/dist/layout/content-width.cjs.map +1 -0
- package/dist/layout/content-width.d.ts +3 -0
- package/dist/layout/content-width.d.ts.map +1 -0
- package/dist/layout/content-width.js +8 -0
- package/dist/layout/content-width.js.map +1 -0
- package/dist/overlay/CommandPalette.cjs +207 -0
- package/dist/overlay/CommandPalette.cjs.map +1 -0
- package/dist/overlay/CommandPalette.d.ts +71 -0
- package/dist/overlay/CommandPalette.d.ts.map +1 -0
- package/dist/overlay/CommandPalette.js +207 -0
- package/dist/overlay/CommandPalette.js.map +1 -0
- package/dist/overlay/CommandPalette.model.cjs +70 -0
- package/dist/overlay/CommandPalette.model.cjs.map +1 -0
- package/dist/overlay/CommandPalette.model.d.ts +71 -0
- package/dist/overlay/CommandPalette.model.d.ts.map +1 -0
- package/dist/overlay/CommandPalette.model.js +70 -0
- package/dist/overlay/CommandPalette.model.js.map +1 -0
- package/dist/overlay/CommandPaletteList.cjs +88 -0
- package/dist/overlay/CommandPaletteList.cjs.map +1 -0
- package/dist/overlay/CommandPaletteList.d.ts +23 -0
- package/dist/overlay/CommandPaletteList.d.ts.map +1 -0
- package/dist/overlay/CommandPaletteList.js +88 -0
- package/dist/overlay/CommandPaletteList.js.map +1 -0
- package/dist/overlay/CommandPaletteTrigger.cjs +36 -0
- package/dist/overlay/CommandPaletteTrigger.cjs.map +1 -0
- package/dist/overlay/CommandPaletteTrigger.d.ts +22 -0
- package/dist/overlay/CommandPaletteTrigger.d.ts.map +1 -0
- package/dist/overlay/CommandPaletteTrigger.js +36 -0
- package/dist/overlay/CommandPaletteTrigger.js.map +1 -0
- package/dist/overlay/HoverCard.cjs.map +1 -1
- package/dist/overlay/HoverCard.d.ts +2 -2
- package/dist/overlay/HoverCard.d.ts.map +1 -1
- package/dist/overlay/HoverCard.js.map +1 -1
- package/dist/overlay/Modal.cjs +12 -5
- package/dist/overlay/Modal.cjs.map +1 -1
- package/dist/overlay/Modal.d.ts.map +1 -1
- package/dist/overlay/Modal.js +12 -5
- package/dist/overlay/Modal.js.map +1 -1
- package/dist/overlay/modalStack.js +1 -1
- package/dist/overlay/zIndex.cjs +2 -0
- package/dist/overlay/zIndex.cjs.map +1 -1
- package/dist/overlay/zIndex.js +2 -0
- package/dist/overlay/zIndex.js.map +1 -1
- package/dist/rpc/EntityExplorerApp.cjs +6 -0
- package/dist/rpc/EntityExplorerApp.cjs.map +1 -1
- package/dist/rpc/EntityExplorerApp.d.ts.map +1 -1
- package/dist/rpc/EntityExplorerApp.js +6 -0
- package/dist/rpc/EntityExplorerApp.js.map +1 -1
- package/dist/rpc/OperationCatalog.cjs +45 -71
- package/dist/rpc/OperationCatalog.cjs.map +1 -1
- package/dist/rpc/OperationCatalog.d.ts +12 -2
- package/dist/rpc/OperationCatalog.d.ts.map +1 -1
- package/dist/rpc/OperationCatalog.js +46 -72
- package/dist/rpc/OperationCatalog.js.map +1 -1
- package/dist/rpc/OperationResultView.cjs +42 -0
- package/dist/rpc/OperationResultView.cjs.map +1 -1
- package/dist/rpc/OperationResultView.d.ts +2 -1
- package/dist/rpc/OperationResultView.d.ts.map +1 -1
- package/dist/rpc/OperationResultView.js +42 -0
- package/dist/rpc/OperationResultView.js.map +1 -1
- package/dist/rpc/clickyMetadata.cjs +2 -1
- package/dist/rpc/clickyMetadata.cjs.map +1 -1
- package/dist/rpc/clickyMetadata.d.ts.map +1 -1
- package/dist/rpc/clickyMetadata.js +2 -1
- package/dist/rpc/clickyMetadata.js.map +1 -1
- package/dist/rpc/rpc-story-fixtures/orders.fixture.d.ts.map +1 -1
- package/dist/rpc/rpc-story-fixtures/services.fixture.d.ts.map +1 -1
- package/dist/rpc/rpc-story-fixtures/surface-fixture.d.ts +25 -2
- package/dist/rpc/rpc-story-fixtures/surface-fixture.d.ts.map +1 -1
- package/dist/rpc/rpc-story-fixtures/widgets.fixture.d.ts.map +1 -1
- package/dist/rpc/rpc-story.fixtures.d.ts +2 -1
- package/dist/rpc/rpc-story.fixtures.d.ts.map +1 -1
- package/dist/rpc/types.cjs.map +1 -1
- package/dist/rpc/types.d.ts +1 -0
- package/dist/rpc/types.d.ts.map +1 -1
- package/dist/rpc/types.js.map +1 -1
- package/dist/styles.css +1 -1
- package/dist/tailwind-preset.cjs +15 -0
- package/dist/tailwind-preset.cjs.map +1 -1
- package/dist/tailwind-preset.d.ts.map +1 -1
- package/dist/tailwind-preset.js +15 -0
- package/dist/tailwind-preset.js.map +1 -1
- package/package.json +2 -2
|
@@ -1,8 +1,21 @@
|
|
|
1
1
|
import { jsx } from "react/jsx-runtime";
|
|
2
|
+
import { DataTable } from "../data/DataTable.js";
|
|
3
|
+
import { cn } from "../lib/utils.js";
|
|
2
4
|
import { ExecutionResult } from "./ExecutionResult.js";
|
|
3
5
|
import { useRowDetailNavigation } from "./rowNavigation.js";
|
|
6
|
+
const ERROR_RESULT_COLUMNS = [
|
|
7
|
+
{
|
|
8
|
+
key: "error",
|
|
9
|
+
label: "Error",
|
|
10
|
+
grow: true,
|
|
11
|
+
sortable: false,
|
|
12
|
+
resizable: false,
|
|
13
|
+
hideable: false
|
|
14
|
+
}
|
|
15
|
+
];
|
|
4
16
|
function OperationResultView({
|
|
5
17
|
response,
|
|
18
|
+
error,
|
|
6
19
|
loading,
|
|
7
20
|
loadingMessage,
|
|
8
21
|
emptyMessage,
|
|
@@ -16,6 +29,35 @@ function OperationResultView({
|
|
|
16
29
|
}) {
|
|
17
30
|
const rowNav = useRowDetailNavigation(detailOperation);
|
|
18
31
|
const filters = filterConfig == null ? void 0 : filterConfig.filters;
|
|
32
|
+
if (error != null) {
|
|
33
|
+
return /* @__PURE__ */ jsx(
|
|
34
|
+
"div",
|
|
35
|
+
{
|
|
36
|
+
role: ariaLabel ? "region" : void 0,
|
|
37
|
+
"aria-label": ariaLabel,
|
|
38
|
+
className: cn("mt-3 flex min-h-0 flex-col", className),
|
|
39
|
+
children: /* @__PURE__ */ jsx(
|
|
40
|
+
DataTable,
|
|
41
|
+
{
|
|
42
|
+
data: [],
|
|
43
|
+
columns: ERROR_RESULT_COLUMNS,
|
|
44
|
+
error,
|
|
45
|
+
className: "h-full",
|
|
46
|
+
showGlobalFilter: false,
|
|
47
|
+
showDensityControl: false,
|
|
48
|
+
hideableColumns: false,
|
|
49
|
+
resizableColumns: false,
|
|
50
|
+
persistColumnWidths: false,
|
|
51
|
+
persistColumnVisibility: false,
|
|
52
|
+
persistDensity: false,
|
|
53
|
+
...filters && filters.length > 0 ? { externalFilters: filters } : {},
|
|
54
|
+
...(filterConfig == null ? void 0 : filterConfig.search) ? { externalSearch: filterConfig.search } : {},
|
|
55
|
+
...(filterConfig == null ? void 0 : filterConfig.timeRange) ? { externalTimeRange: filterConfig.timeRange } : {}
|
|
56
|
+
}
|
|
57
|
+
)
|
|
58
|
+
}
|
|
59
|
+
);
|
|
60
|
+
}
|
|
19
61
|
return /* @__PURE__ */ jsx(
|
|
20
62
|
ExecutionResult,
|
|
21
63
|
{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OperationResultView.js","sources":["../../src/rpc/OperationResultView.tsx"],"sourcesContent":["import type { ReactNode } from \"react\";\nimport type {\n FilterBarFilter,\n FilterBarRangeProps,\n FilterBarSearchProps,\n} from \"../components/FilterBar\";\nimport type
|
|
1
|
+
{"version":3,"file":"OperationResultView.js","sources":["../../src/rpc/OperationResultView.tsx"],"sourcesContent":["import type { ReactNode } from \"react\";\nimport type {\n FilterBarFilter,\n FilterBarRangeProps,\n FilterBarSearchProps,\n} from \"../components/FilterBar\";\nimport {\n DataTable,\n type DataTableColumn,\n type DataTablePagination,\n} from \"../data/DataTable\";\nimport type {\n ClickyCommandRuntime,\n ClickyDownloadOptions,\n} from \"../data/Clicky\";\nimport { cn } from \"../lib/utils\";\nimport { ExecutionResult } from \"./ExecutionResult\";\nimport { useRowDetailNavigation } from \"./rowNavigation\";\nimport type { ExecutionResponse, ResolvedOperation } from \"./types\";\n\n// ResultRenderContext is handed to a host-supplied resultRenderer so it can\n// replace the default result surface for selected entities (e.g. render a\n// LogsTable for trace/log profiles). `defaultView` is the standard\n// OperationResultView element; return it unchanged to keep the default.\nexport type ResultRenderContext = {\n surfaceKey?: string;\n response: ExecutionResponse | null;\n defaultView: ReactNode;\n};\n\n// ResultRenderer lets the host app swap the result presentation per surface. It\n// receives the current surface key, the raw response, and the default view, and\n// returns whatever node should render in its place.\nexport type ResultRenderer = (ctx: ResultRenderContext) => ReactNode;\n\n// In-table filter inputs for the result table — mirrors what\n// parametersToFormConfig produces, surfaced through the DataTable's own\n// FilterBar so the filter UI renders identically on every result surface.\nexport type OperationResultFilterConfig = {\n filters?: FilterBarFilter[];\n search?: FilterBarSearchProps;\n timeRange?: FilterBarRangeProps;\n};\n\nexport type OperationResultViewProps = {\n response: ExecutionResponse | null;\n error?: ReactNode;\n loading?: boolean;\n loadingMessage?: string;\n emptyMessage?: string;\n ariaLabel?: string;\n className?: string;\n commandRuntime?: ClickyCommandRuntime;\n // When set, rows navigate to the entity detail page (/<surface>/<id>).\n detailOperation?: ResolvedOperation | undefined;\n filterConfig?: OperationResultFilterConfig;\n pagination?: DataTablePagination;\n download?: ClickyDownloadOptions;\n};\n\ntype ErrorResultRow = {\n error: string;\n};\n\nconst ERROR_RESULT_COLUMNS: DataTableColumn<ErrorResultRow>[] = [\n {\n key: \"error\",\n label: \"Error\",\n grow: true,\n sortable: false,\n resizable: false,\n hideable: false,\n },\n];\n\n// OperationResultView is the single result surface rendered by both the entity\n// list catalog and the operation runner. It renders the clicky result table\n// with its in-table FilterBar, the View/Download menu (automatic via the\n// response's requestUrl), pagination, and row→detail navigation — so the\n// surface looks and behaves identically wherever a result is shown.\nexport function OperationResultView({\n response,\n error,\n loading,\n loadingMessage,\n emptyMessage,\n ariaLabel,\n className,\n commandRuntime,\n detailOperation,\n filterConfig,\n pagination,\n download,\n}: OperationResultViewProps) {\n const rowNav = useRowDetailNavigation(detailOperation);\n const filters = filterConfig?.filters;\n\n if (error != null) {\n return (\n <div\n role={ariaLabel ? \"region\" : undefined}\n aria-label={ariaLabel}\n className={cn(\"mt-3 flex min-h-0 flex-col\", className)}\n >\n <DataTable<ErrorResultRow>\n data={[]}\n columns={ERROR_RESULT_COLUMNS}\n error={error}\n className=\"h-full\"\n showGlobalFilter={false}\n showDensityControl={false}\n hideableColumns={false}\n resizableColumns={false}\n persistColumnWidths={false}\n persistColumnVisibility={false}\n persistDensity={false}\n {...(filters && filters.length > 0\n ? { externalFilters: filters }\n : {})}\n {...(filterConfig?.search\n ? { externalSearch: filterConfig.search }\n : {})}\n {...(filterConfig?.timeRange\n ? { externalTimeRange: filterConfig.timeRange }\n : {})}\n />\n </div>\n );\n }\n\n return (\n <ExecutionResult\n response={response}\n {...(loading !== undefined ? { loading } : {})}\n {...(loadingMessage ? { loadingMessage } : {})}\n {...(emptyMessage ? { emptyMessage } : {})}\n {...(ariaLabel ? { ariaLabel } : {})}\n {...(className ? { className } : {})}\n {...(commandRuntime ? { commandRuntime } : {})}\n {...(detailOperation\n ? {\n getTableRowHref: rowNav.getRowHref,\n onTableRowClick: rowNav.onRowClick,\n isTableRowClickable: rowNav.isRowClickable,\n }\n : {})}\n {...(filters && filters.length > 0 ? { externalFilters: filters } : {})}\n {...(filterConfig?.search ? { search: filterConfig.search } : {})}\n {...(filterConfig?.timeRange\n ? { timeRange: filterConfig.timeRange }\n : {})}\n {...(pagination ? { pagination } : {})}\n {...(download ? { download } : {})}\n />\n );\n}\n"],"names":[],"mappings":";;;;;AAgEA,MAAM,uBAA0D;AAAA,EAC9D;AAAA,IACE,KAAK;AAAA,IACL,OAAO;AAAA,IACP,MAAM;AAAA,IACN,UAAU;AAAA,IACV,WAAW;AAAA,IACX,UAAU;AAAA,EAAA;AAEd;AAOO,SAAS,oBAAoB;AAAA,EAClC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAA6B;AAC3B,QAAM,SAAS,uBAAuB,eAAe;AACrD,QAAM,UAAU,6CAAc;AAE9B,MAAI,SAAS,MAAM;AACjB,WACE;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,MAAM,YAAY,WAAW;AAAA,QAC7B,cAAY;AAAA,QACZ,WAAW,GAAG,8BAA8B,SAAS;AAAA,QAErD,UAAA;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,MAAM,CAAA;AAAA,YACN,SAAS;AAAA,YACT;AAAA,YACA,WAAU;AAAA,YACV,kBAAkB;AAAA,YAClB,oBAAoB;AAAA,YACpB,iBAAiB;AAAA,YACjB,kBAAkB;AAAA,YAClB,qBAAqB;AAAA,YACrB,yBAAyB;AAAA,YACzB,gBAAgB;AAAA,YACf,GAAI,WAAW,QAAQ,SAAS,IAC7B,EAAE,iBAAiB,QAAA,IACnB,CAAA;AAAA,YACH,IAAI,6CAAc,UACf,EAAE,gBAAgB,aAAa,OAAA,IAC/B,CAAA;AAAA,YACH,IAAI,6CAAc,aACf,EAAE,mBAAmB,aAAa,UAAA,IAClC,CAAA;AAAA,UAAC;AAAA,QAAA;AAAA,MACP;AAAA,IAAA;AAAA,EAGN;AAEA,SACE;AAAA,IAAC;AAAA,IAAA;AAAA,MACC;AAAA,MACC,GAAI,YAAY,SAAY,EAAE,QAAA,IAAY,CAAA;AAAA,MAC1C,GAAI,iBAAiB,EAAE,eAAA,IAAmB,CAAA;AAAA,MAC1C,GAAI,eAAe,EAAE,aAAA,IAAiB,CAAA;AAAA,MACtC,GAAI,YAAY,EAAE,UAAA,IAAc,CAAA;AAAA,MAChC,GAAI,YAAY,EAAE,UAAA,IAAc,CAAA;AAAA,MAChC,GAAI,iBAAiB,EAAE,eAAA,IAAmB,CAAA;AAAA,MAC1C,GAAI,kBACD;AAAA,QACE,iBAAiB,OAAO;AAAA,QACxB,iBAAiB,OAAO;AAAA,QACxB,qBAAqB,OAAO;AAAA,MAAA,IAE9B,CAAA;AAAA,MACH,GAAI,WAAW,QAAQ,SAAS,IAAI,EAAE,iBAAiB,QAAA,IAAY,CAAA;AAAA,MACnE,IAAI,6CAAc,UAAS,EAAE,QAAQ,aAAa,OAAA,IAAW,CAAA;AAAA,MAC7D,IAAI,6CAAc,aACf,EAAE,WAAW,aAAa,UAAA,IAC1B,CAAA;AAAA,MACH,GAAI,aAAa,EAAE,WAAA,IAAe,CAAA;AAAA,MAClC,GAAI,WAAW,EAAE,aAAa,CAAA;AAAA,IAAC;AAAA,EAAA;AAGtC;"}
|
|
@@ -64,7 +64,8 @@ function makeSurfaceDefinition(surface) {
|
|
|
64
64
|
return {
|
|
65
65
|
key: surface.key,
|
|
66
66
|
title: surface.title,
|
|
67
|
-
description: surface.description || `Manage ${surface.title.toLowerCase()} resources
|
|
67
|
+
description: surface.description || `Manage ${surface.title.toLowerCase()} resources.`,
|
|
68
|
+
...surface.icon ? { icon: surface.icon } : {}
|
|
68
69
|
};
|
|
69
70
|
}
|
|
70
71
|
exports.filterOperationsBySurface = filterOperationsBySurface;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clickyMetadata.cjs","sources":["../../src/rpc/clickyMetadata.ts"],"sourcesContent":["import type {\n ClickyOperationMeta,\n ClickySpecMeta,\n ClickySurface,\n DomainDefinition,\n OpenAPISpec,\n ResolvedOperation,\n} from \"./types\";\n\nexport function getClickySpecMeta(spec: OpenAPISpec | undefined): ClickySpecMeta | undefined {\n return spec?.[\"x-clicky\"];\n}\n\nexport function getClickySurfaces(spec: OpenAPISpec | undefined): ClickySurface[] {\n return getClickySpecMeta(spec)?.surfaces ?? [];\n}\n\nexport function getOperationClickyMeta(\n operation: Pick<ResolvedOperation, \"operation\">,\n): ClickyOperationMeta | undefined {\n return operation.operation[\"x-clicky\"];\n}\n\nexport function filterOperationsBySurface(\n operations: ResolvedOperation[],\n surfaceKey: string | undefined,\n): ResolvedOperation[] {\n if (!surfaceKey) return [];\n return operations.filter(\n (operation) => getOperationClickyMeta(operation)?.surface === surfaceKey,\n );\n}\n\nexport function findSurfaceOperation(\n operations: ResolvedOperation[],\n surfaceKey: string | undefined,\n predicate: (meta: ClickyOperationMeta) => boolean,\n): ResolvedOperation | undefined {\n return filterOperationsBySurface(operations, surfaceKey).find((operation) => {\n const meta = getOperationClickyMeta(operation);\n return meta != null && predicate(meta);\n });\n}\n\nexport function findSurfaceListOperation(\n operations: ResolvedOperation[],\n surfaceKey: string | undefined,\n): ResolvedOperation | undefined {\n return findSurfaceOperation(\n operations,\n surfaceKey,\n (meta) => meta.verb === \"list\" && meta.scope === \"collection\",\n );\n}\n\nexport function findSurfaceDetailOperation(\n operations: ResolvedOperation[],\n surfaceKey: string | undefined,\n): ResolvedOperation | undefined {\n return findSurfaceOperation(\n operations,\n surfaceKey,\n (meta) => meta.verb === \"get\" && meta.scope === \"entity\",\n );\n}\n\nexport function findSurfaceCollectionActions(\n operations: ResolvedOperation[],\n surfaceKey: string | undefined,\n): ResolvedOperation[] {\n return filterOperationsBySurface(operations, surfaceKey).filter((operation) => {\n const meta = getOperationClickyMeta(operation);\n return meta != null && meta.scope === \"collection\" && meta.verb !== \"list\";\n });\n}\n\n// surfaceActionLabel prefers the short clicky actionName/verb (capitalized) over\n// the OpenAPI summary, which is often a full sentence. Without surface metadata\n// (a non-surface operation) it falls back to the summary, then the\n// operationId/path, so a button always has a label.\nexport function surfaceActionLabel(operation: ResolvedOperation): string {\n const meta = getOperationClickyMeta(operation);\n const short = meta?.actionName?.trim() || meta?.verb?.trim();\n if (short && short !== \"action\") {\n return short.charAt(0).toUpperCase() + short.slice(1);\n }\n return operation.operation.summary || operation.operation.operationId || operation.path;\n}\n\nexport function findSurfaceEntityActions(\n operations: ResolvedOperation[],\n surfaceKey: string | undefined,\n): ResolvedOperation[] {\n return filterOperationsBySurface(operations, surfaceKey).filter((operation) => {\n const meta = getOperationClickyMeta(operation);\n return meta != null && meta.scope === \"entity\" && meta.verb !== \"get\";\n });\n}\n\nexport function makeSurfaceDefinition(surface: ClickySurface): DomainDefinition {\n return {\n key: surface.key,\n title: surface.title,\n description: surface.description || `Manage ${surface.title.toLowerCase()} resources.`,\n };\n}\n"],"names":[],"mappings":";;AASO,SAAS,kBAAkB,MAA2D;AAC3F,SAAO,6BAAO;AAChB;AAEO,SAAS,kBAAkB,MAAgD;;AAChF,WAAO,uBAAkB,IAAI,MAAtB,mBAAyB,aAAY,CAAA;AAC9C;AAEO,SAAS,uBACd,WACiC;AACjC,SAAO,UAAU,UAAU,UAAU;AACvC;AAEO,SAAS,0BACd,YACA,YACqB;AACrB,MAAI,CAAC,WAAY,QAAO,CAAA;AACxB,SAAO,WAAW;AAAA,IAChB,CAAC,cAAA;;AAAc,2CAAuB,SAAS,MAAhC,mBAAmC,aAAY;AAAA;AAAA,EAAA;AAElE;AAEO,SAAS,qBACd,YACA,YACA,WAC+B;AAC/B,SAAO,0BAA0B,YAAY,UAAU,EAAE,KAAK,CAAC,cAAc;AAC3E,UAAM,OAAO,uBAAuB,SAAS;AAC7C,WAAO,QAAQ,QAAQ,UAAU,IAAI;AAAA,EACvC,CAAC;AACH;AAEO,SAAS,yBACd,YACA,YAC+B;AAC/B,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA,CAAC,SAAS,KAAK,SAAS,UAAU,KAAK,UAAU;AAAA,EAAA;AAErD;AAEO,SAAS,2BACd,YACA,YAC+B;AAC/B,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA,CAAC,SAAS,KAAK,SAAS,SAAS,KAAK,UAAU;AAAA,EAAA;AAEpD;AAEO,SAAS,6BACd,YACA,YACqB;AACrB,SAAO,0BAA0B,YAAY,UAAU,EAAE,OAAO,CAAC,cAAc;AAC7E,UAAM,OAAO,uBAAuB,SAAS;AAC7C,WAAO,QAAQ,QAAQ,KAAK,UAAU,gBAAgB,KAAK,SAAS;AAAA,EACtE,CAAC;AACH;AAMO,SAAS,mBAAmB,WAAsC;;AACvE,QAAM,OAAO,uBAAuB,SAAS;AAC7C,QAAM,UAAQ,kCAAM,eAAN,mBAAkB,aAAU,kCAAM,SAAN,mBAAY;AACtD,MAAI,SAAS,UAAU,UAAU;AAC/B,WAAO,MAAM,OAAO,CAAC,EAAE,gBAAgB,MAAM,MAAM,CAAC;AAAA,EACtD;AACA,SAAO,UAAU,UAAU,WAAW,UAAU,UAAU,eAAe,UAAU;AACrF;AAEO,SAAS,yBACd,YACA,YACqB;AACrB,SAAO,0BAA0B,YAAY,UAAU,EAAE,OAAO,CAAC,cAAc;AAC7E,UAAM,OAAO,uBAAuB,SAAS;AAC7C,WAAO,QAAQ,QAAQ,KAAK,UAAU,YAAY,KAAK,SAAS;AAAA,EAClE,CAAC;AACH;AAEO,SAAS,sBAAsB,SAA0C;AAC9E,SAAO;AAAA,IACL,KAAK,QAAQ;AAAA,IACb,OAAO,QAAQ;AAAA,IACf,aAAa,QAAQ,eAAe,UAAU,QAAQ,MAAM,aAAa;AAAA,
|
|
1
|
+
{"version":3,"file":"clickyMetadata.cjs","sources":["../../src/rpc/clickyMetadata.ts"],"sourcesContent":["import type {\n ClickyOperationMeta,\n ClickySpecMeta,\n ClickySurface,\n DomainDefinition,\n OpenAPISpec,\n ResolvedOperation,\n} from \"./types\";\n\nexport function getClickySpecMeta(spec: OpenAPISpec | undefined): ClickySpecMeta | undefined {\n return spec?.[\"x-clicky\"];\n}\n\nexport function getClickySurfaces(spec: OpenAPISpec | undefined): ClickySurface[] {\n return getClickySpecMeta(spec)?.surfaces ?? [];\n}\n\nexport function getOperationClickyMeta(\n operation: Pick<ResolvedOperation, \"operation\">,\n): ClickyOperationMeta | undefined {\n return operation.operation[\"x-clicky\"];\n}\n\nexport function filterOperationsBySurface(\n operations: ResolvedOperation[],\n surfaceKey: string | undefined,\n): ResolvedOperation[] {\n if (!surfaceKey) return [];\n return operations.filter(\n (operation) => getOperationClickyMeta(operation)?.surface === surfaceKey,\n );\n}\n\nexport function findSurfaceOperation(\n operations: ResolvedOperation[],\n surfaceKey: string | undefined,\n predicate: (meta: ClickyOperationMeta) => boolean,\n): ResolvedOperation | undefined {\n return filterOperationsBySurface(operations, surfaceKey).find((operation) => {\n const meta = getOperationClickyMeta(operation);\n return meta != null && predicate(meta);\n });\n}\n\nexport function findSurfaceListOperation(\n operations: ResolvedOperation[],\n surfaceKey: string | undefined,\n): ResolvedOperation | undefined {\n return findSurfaceOperation(\n operations,\n surfaceKey,\n (meta) => meta.verb === \"list\" && meta.scope === \"collection\",\n );\n}\n\nexport function findSurfaceDetailOperation(\n operations: ResolvedOperation[],\n surfaceKey: string | undefined,\n): ResolvedOperation | undefined {\n return findSurfaceOperation(\n operations,\n surfaceKey,\n (meta) => meta.verb === \"get\" && meta.scope === \"entity\",\n );\n}\n\nexport function findSurfaceCollectionActions(\n operations: ResolvedOperation[],\n surfaceKey: string | undefined,\n): ResolvedOperation[] {\n return filterOperationsBySurface(operations, surfaceKey).filter((operation) => {\n const meta = getOperationClickyMeta(operation);\n return meta != null && meta.scope === \"collection\" && meta.verb !== \"list\";\n });\n}\n\n// surfaceActionLabel prefers the short clicky actionName/verb (capitalized) over\n// the OpenAPI summary, which is often a full sentence. Without surface metadata\n// (a non-surface operation) it falls back to the summary, then the\n// operationId/path, so a button always has a label.\nexport function surfaceActionLabel(operation: ResolvedOperation): string {\n const meta = getOperationClickyMeta(operation);\n const short = meta?.actionName?.trim() || meta?.verb?.trim();\n if (short && short !== \"action\") {\n return short.charAt(0).toUpperCase() + short.slice(1);\n }\n return operation.operation.summary || operation.operation.operationId || operation.path;\n}\n\nexport function findSurfaceEntityActions(\n operations: ResolvedOperation[],\n surfaceKey: string | undefined,\n): ResolvedOperation[] {\n return filterOperationsBySurface(operations, surfaceKey).filter((operation) => {\n const meta = getOperationClickyMeta(operation);\n return meta != null && meta.scope === \"entity\" && meta.verb !== \"get\";\n });\n}\n\nexport function makeSurfaceDefinition(surface: ClickySurface): DomainDefinition {\n return {\n key: surface.key,\n title: surface.title,\n description: surface.description || `Manage ${surface.title.toLowerCase()} resources.`,\n ...(surface.icon ? { icon: surface.icon } : {}),\n };\n}\n"],"names":[],"mappings":";;AASO,SAAS,kBAAkB,MAA2D;AAC3F,SAAO,6BAAO;AAChB;AAEO,SAAS,kBAAkB,MAAgD;;AAChF,WAAO,uBAAkB,IAAI,MAAtB,mBAAyB,aAAY,CAAA;AAC9C;AAEO,SAAS,uBACd,WACiC;AACjC,SAAO,UAAU,UAAU,UAAU;AACvC;AAEO,SAAS,0BACd,YACA,YACqB;AACrB,MAAI,CAAC,WAAY,QAAO,CAAA;AACxB,SAAO,WAAW;AAAA,IAChB,CAAC,cAAA;;AAAc,2CAAuB,SAAS,MAAhC,mBAAmC,aAAY;AAAA;AAAA,EAAA;AAElE;AAEO,SAAS,qBACd,YACA,YACA,WAC+B;AAC/B,SAAO,0BAA0B,YAAY,UAAU,EAAE,KAAK,CAAC,cAAc;AAC3E,UAAM,OAAO,uBAAuB,SAAS;AAC7C,WAAO,QAAQ,QAAQ,UAAU,IAAI;AAAA,EACvC,CAAC;AACH;AAEO,SAAS,yBACd,YACA,YAC+B;AAC/B,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA,CAAC,SAAS,KAAK,SAAS,UAAU,KAAK,UAAU;AAAA,EAAA;AAErD;AAEO,SAAS,2BACd,YACA,YAC+B;AAC/B,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA,CAAC,SAAS,KAAK,SAAS,SAAS,KAAK,UAAU;AAAA,EAAA;AAEpD;AAEO,SAAS,6BACd,YACA,YACqB;AACrB,SAAO,0BAA0B,YAAY,UAAU,EAAE,OAAO,CAAC,cAAc;AAC7E,UAAM,OAAO,uBAAuB,SAAS;AAC7C,WAAO,QAAQ,QAAQ,KAAK,UAAU,gBAAgB,KAAK,SAAS;AAAA,EACtE,CAAC;AACH;AAMO,SAAS,mBAAmB,WAAsC;;AACvE,QAAM,OAAO,uBAAuB,SAAS;AAC7C,QAAM,UAAQ,kCAAM,eAAN,mBAAkB,aAAU,kCAAM,SAAN,mBAAY;AACtD,MAAI,SAAS,UAAU,UAAU;AAC/B,WAAO,MAAM,OAAO,CAAC,EAAE,gBAAgB,MAAM,MAAM,CAAC;AAAA,EACtD;AACA,SAAO,UAAU,UAAU,WAAW,UAAU,UAAU,eAAe,UAAU;AACrF;AAEO,SAAS,yBACd,YACA,YACqB;AACrB,SAAO,0BAA0B,YAAY,UAAU,EAAE,OAAO,CAAC,cAAc;AAC7E,UAAM,OAAO,uBAAuB,SAAS;AAC7C,WAAO,QAAQ,QAAQ,KAAK,UAAU,YAAY,KAAK,SAAS;AAAA,EAClE,CAAC;AACH;AAEO,SAAS,sBAAsB,SAA0C;AAC9E,SAAO;AAAA,IACL,KAAK,QAAQ;AAAA,IACb,OAAO,QAAQ;AAAA,IACf,aAAa,QAAQ,eAAe,UAAU,QAAQ,MAAM,aAAa;AAAA,IACzE,GAAI,QAAQ,OAAO,EAAE,MAAM,QAAQ,KAAA,IAAS,CAAA;AAAA,EAAC;AAEjD;;;;;;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clickyMetadata.d.ts","sourceRoot":"","sources":["../../src/rpc/clickyMetadata.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EACnB,cAAc,EACd,aAAa,EACb,gBAAgB,EAChB,WAAW,EACX,iBAAiB,EAClB,MAAM,SAAS,CAAC;AAEjB,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,WAAW,GAAG,SAAS,GAAG,cAAc,GAAG,SAAS,CAE3F;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,WAAW,GAAG,SAAS,GAAG,aAAa,EAAE,CAEhF;AAED,wBAAgB,sBAAsB,CACpC,SAAS,EAAE,IAAI,CAAC,iBAAiB,EAAE,WAAW,CAAC,GAC9C,mBAAmB,GAAG,SAAS,CAEjC;AAED,wBAAgB,yBAAyB,CACvC,UAAU,EAAE,iBAAiB,EAAE,EAC/B,UAAU,EAAE,MAAM,GAAG,SAAS,GAC7B,iBAAiB,EAAE,CAKrB;AAED,wBAAgB,oBAAoB,CAClC,UAAU,EAAE,iBAAiB,EAAE,EAC/B,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,SAAS,EAAE,CAAC,IAAI,EAAE,mBAAmB,KAAK,OAAO,GAChD,iBAAiB,GAAG,SAAS,CAK/B;AAED,wBAAgB,wBAAwB,CACtC,UAAU,EAAE,iBAAiB,EAAE,EAC/B,UAAU,EAAE,MAAM,GAAG,SAAS,GAC7B,iBAAiB,GAAG,SAAS,CAM/B;AAED,wBAAgB,0BAA0B,CACxC,UAAU,EAAE,iBAAiB,EAAE,EAC/B,UAAU,EAAE,MAAM,GAAG,SAAS,GAC7B,iBAAiB,GAAG,SAAS,CAM/B;AAED,wBAAgB,4BAA4B,CAC1C,UAAU,EAAE,iBAAiB,EAAE,EAC/B,UAAU,EAAE,MAAM,GAAG,SAAS,GAC7B,iBAAiB,EAAE,CAKrB;AAMD,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,iBAAiB,GAAG,MAAM,CAOvE;AAED,wBAAgB,wBAAwB,CACtC,UAAU,EAAE,iBAAiB,EAAE,EAC/B,UAAU,EAAE,MAAM,GAAG,SAAS,GAC7B,iBAAiB,EAAE,CAKrB;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,aAAa,GAAG,gBAAgB,
|
|
1
|
+
{"version":3,"file":"clickyMetadata.d.ts","sourceRoot":"","sources":["../../src/rpc/clickyMetadata.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EACnB,cAAc,EACd,aAAa,EACb,gBAAgB,EAChB,WAAW,EACX,iBAAiB,EAClB,MAAM,SAAS,CAAC;AAEjB,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,WAAW,GAAG,SAAS,GAAG,cAAc,GAAG,SAAS,CAE3F;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,WAAW,GAAG,SAAS,GAAG,aAAa,EAAE,CAEhF;AAED,wBAAgB,sBAAsB,CACpC,SAAS,EAAE,IAAI,CAAC,iBAAiB,EAAE,WAAW,CAAC,GAC9C,mBAAmB,GAAG,SAAS,CAEjC;AAED,wBAAgB,yBAAyB,CACvC,UAAU,EAAE,iBAAiB,EAAE,EAC/B,UAAU,EAAE,MAAM,GAAG,SAAS,GAC7B,iBAAiB,EAAE,CAKrB;AAED,wBAAgB,oBAAoB,CAClC,UAAU,EAAE,iBAAiB,EAAE,EAC/B,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,SAAS,EAAE,CAAC,IAAI,EAAE,mBAAmB,KAAK,OAAO,GAChD,iBAAiB,GAAG,SAAS,CAK/B;AAED,wBAAgB,wBAAwB,CACtC,UAAU,EAAE,iBAAiB,EAAE,EAC/B,UAAU,EAAE,MAAM,GAAG,SAAS,GAC7B,iBAAiB,GAAG,SAAS,CAM/B;AAED,wBAAgB,0BAA0B,CACxC,UAAU,EAAE,iBAAiB,EAAE,EAC/B,UAAU,EAAE,MAAM,GAAG,SAAS,GAC7B,iBAAiB,GAAG,SAAS,CAM/B;AAED,wBAAgB,4BAA4B,CAC1C,UAAU,EAAE,iBAAiB,EAAE,EAC/B,UAAU,EAAE,MAAM,GAAG,SAAS,GAC7B,iBAAiB,EAAE,CAKrB;AAMD,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,iBAAiB,GAAG,MAAM,CAOvE;AAED,wBAAgB,wBAAwB,CACtC,UAAU,EAAE,iBAAiB,EAAE,EAC/B,UAAU,EAAE,MAAM,GAAG,SAAS,GAC7B,iBAAiB,EAAE,CAKrB;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,aAAa,GAAG,gBAAgB,CAO9E"}
|
|
@@ -62,7 +62,8 @@ function makeSurfaceDefinition(surface) {
|
|
|
62
62
|
return {
|
|
63
63
|
key: surface.key,
|
|
64
64
|
title: surface.title,
|
|
65
|
-
description: surface.description || `Manage ${surface.title.toLowerCase()} resources
|
|
65
|
+
description: surface.description || `Manage ${surface.title.toLowerCase()} resources.`,
|
|
66
|
+
...surface.icon ? { icon: surface.icon } : {}
|
|
66
67
|
};
|
|
67
68
|
}
|
|
68
69
|
export {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clickyMetadata.js","sources":["../../src/rpc/clickyMetadata.ts"],"sourcesContent":["import type {\n ClickyOperationMeta,\n ClickySpecMeta,\n ClickySurface,\n DomainDefinition,\n OpenAPISpec,\n ResolvedOperation,\n} from \"./types\";\n\nexport function getClickySpecMeta(spec: OpenAPISpec | undefined): ClickySpecMeta | undefined {\n return spec?.[\"x-clicky\"];\n}\n\nexport function getClickySurfaces(spec: OpenAPISpec | undefined): ClickySurface[] {\n return getClickySpecMeta(spec)?.surfaces ?? [];\n}\n\nexport function getOperationClickyMeta(\n operation: Pick<ResolvedOperation, \"operation\">,\n): ClickyOperationMeta | undefined {\n return operation.operation[\"x-clicky\"];\n}\n\nexport function filterOperationsBySurface(\n operations: ResolvedOperation[],\n surfaceKey: string | undefined,\n): ResolvedOperation[] {\n if (!surfaceKey) return [];\n return operations.filter(\n (operation) => getOperationClickyMeta(operation)?.surface === surfaceKey,\n );\n}\n\nexport function findSurfaceOperation(\n operations: ResolvedOperation[],\n surfaceKey: string | undefined,\n predicate: (meta: ClickyOperationMeta) => boolean,\n): ResolvedOperation | undefined {\n return filterOperationsBySurface(operations, surfaceKey).find((operation) => {\n const meta = getOperationClickyMeta(operation);\n return meta != null && predicate(meta);\n });\n}\n\nexport function findSurfaceListOperation(\n operations: ResolvedOperation[],\n surfaceKey: string | undefined,\n): ResolvedOperation | undefined {\n return findSurfaceOperation(\n operations,\n surfaceKey,\n (meta) => meta.verb === \"list\" && meta.scope === \"collection\",\n );\n}\n\nexport function findSurfaceDetailOperation(\n operations: ResolvedOperation[],\n surfaceKey: string | undefined,\n): ResolvedOperation | undefined {\n return findSurfaceOperation(\n operations,\n surfaceKey,\n (meta) => meta.verb === \"get\" && meta.scope === \"entity\",\n );\n}\n\nexport function findSurfaceCollectionActions(\n operations: ResolvedOperation[],\n surfaceKey: string | undefined,\n): ResolvedOperation[] {\n return filterOperationsBySurface(operations, surfaceKey).filter((operation) => {\n const meta = getOperationClickyMeta(operation);\n return meta != null && meta.scope === \"collection\" && meta.verb !== \"list\";\n });\n}\n\n// surfaceActionLabel prefers the short clicky actionName/verb (capitalized) over\n// the OpenAPI summary, which is often a full sentence. Without surface metadata\n// (a non-surface operation) it falls back to the summary, then the\n// operationId/path, so a button always has a label.\nexport function surfaceActionLabel(operation: ResolvedOperation): string {\n const meta = getOperationClickyMeta(operation);\n const short = meta?.actionName?.trim() || meta?.verb?.trim();\n if (short && short !== \"action\") {\n return short.charAt(0).toUpperCase() + short.slice(1);\n }\n return operation.operation.summary || operation.operation.operationId || operation.path;\n}\n\nexport function findSurfaceEntityActions(\n operations: ResolvedOperation[],\n surfaceKey: string | undefined,\n): ResolvedOperation[] {\n return filterOperationsBySurface(operations, surfaceKey).filter((operation) => {\n const meta = getOperationClickyMeta(operation);\n return meta != null && meta.scope === \"entity\" && meta.verb !== \"get\";\n });\n}\n\nexport function makeSurfaceDefinition(surface: ClickySurface): DomainDefinition {\n return {\n key: surface.key,\n title: surface.title,\n description: surface.description || `Manage ${surface.title.toLowerCase()} resources.`,\n };\n}\n"],"names":[],"mappings":"AASO,SAAS,kBAAkB,MAA2D;AAC3F,SAAO,6BAAO;AAChB;AAEO,SAAS,kBAAkB,MAAgD;AAJ3E;AAKL,WAAO,uBAAkB,IAAI,MAAtB,mBAAyB,aAAY,CAAA;AAC9C;AAEO,SAAS,uBACd,WACiC;AACjC,SAAO,UAAU,UAAU,UAAU;AACvC;AAEO,SAAS,0BACd,YACA,YACqB;AACrB,MAAI,CAAC,WAAY,QAAO,CAAA;AACxB,SAAO,WAAW;AAAA,IAChB,CAAC,cAAA;AApBE;AAoBY,2CAAuB,SAAS,MAAhC,mBAAmC,aAAY;AAAA;AAAA,EAAA;AAElE;AAEO,SAAS,qBACd,YACA,YACA,WAC+B;AAC/B,SAAO,0BAA0B,YAAY,UAAU,EAAE,KAAK,CAAC,cAAc;AAC3E,UAAM,OAAO,uBAAuB,SAAS;AAC7C,WAAO,QAAQ,QAAQ,UAAU,IAAI;AAAA,EACvC,CAAC;AACH;AAEO,SAAS,yBACd,YACA,YAC+B;AAC/B,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA,CAAC,SAAS,KAAK,SAAS,UAAU,KAAK,UAAU;AAAA,EAAA;AAErD;AAEO,SAAS,2BACd,YACA,YAC+B;AAC/B,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA,CAAC,SAAS,KAAK,SAAS,SAAS,KAAK,UAAU;AAAA,EAAA;AAEpD;AAEO,SAAS,6BACd,YACA,YACqB;AACrB,SAAO,0BAA0B,YAAY,UAAU,EAAE,OAAO,CAAC,cAAc;AAC7E,UAAM,OAAO,uBAAuB,SAAS;AAC7C,WAAO,QAAQ,QAAQ,KAAK,UAAU,gBAAgB,KAAK,SAAS;AAAA,EACtE,CAAC;AACH;AAMO,SAAS,mBAAmB,WAAsC;AAvElE;AAwEL,QAAM,OAAO,uBAAuB,SAAS;AAC7C,QAAM,UAAQ,kCAAM,eAAN,mBAAkB,aAAU,kCAAM,SAAN,mBAAY;AACtD,MAAI,SAAS,UAAU,UAAU;AAC/B,WAAO,MAAM,OAAO,CAAC,EAAE,gBAAgB,MAAM,MAAM,CAAC;AAAA,EACtD;AACA,SAAO,UAAU,UAAU,WAAW,UAAU,UAAU,eAAe,UAAU;AACrF;AAEO,SAAS,yBACd,YACA,YACqB;AACrB,SAAO,0BAA0B,YAAY,UAAU,EAAE,OAAO,CAAC,cAAc;AAC7E,UAAM,OAAO,uBAAuB,SAAS;AAC7C,WAAO,QAAQ,QAAQ,KAAK,UAAU,YAAY,KAAK,SAAS;AAAA,EAClE,CAAC;AACH;AAEO,SAAS,sBAAsB,SAA0C;AAC9E,SAAO;AAAA,IACL,KAAK,QAAQ;AAAA,IACb,OAAO,QAAQ;AAAA,IACf,aAAa,QAAQ,eAAe,UAAU,QAAQ,MAAM,aAAa;AAAA,
|
|
1
|
+
{"version":3,"file":"clickyMetadata.js","sources":["../../src/rpc/clickyMetadata.ts"],"sourcesContent":["import type {\n ClickyOperationMeta,\n ClickySpecMeta,\n ClickySurface,\n DomainDefinition,\n OpenAPISpec,\n ResolvedOperation,\n} from \"./types\";\n\nexport function getClickySpecMeta(spec: OpenAPISpec | undefined): ClickySpecMeta | undefined {\n return spec?.[\"x-clicky\"];\n}\n\nexport function getClickySurfaces(spec: OpenAPISpec | undefined): ClickySurface[] {\n return getClickySpecMeta(spec)?.surfaces ?? [];\n}\n\nexport function getOperationClickyMeta(\n operation: Pick<ResolvedOperation, \"operation\">,\n): ClickyOperationMeta | undefined {\n return operation.operation[\"x-clicky\"];\n}\n\nexport function filterOperationsBySurface(\n operations: ResolvedOperation[],\n surfaceKey: string | undefined,\n): ResolvedOperation[] {\n if (!surfaceKey) return [];\n return operations.filter(\n (operation) => getOperationClickyMeta(operation)?.surface === surfaceKey,\n );\n}\n\nexport function findSurfaceOperation(\n operations: ResolvedOperation[],\n surfaceKey: string | undefined,\n predicate: (meta: ClickyOperationMeta) => boolean,\n): ResolvedOperation | undefined {\n return filterOperationsBySurface(operations, surfaceKey).find((operation) => {\n const meta = getOperationClickyMeta(operation);\n return meta != null && predicate(meta);\n });\n}\n\nexport function findSurfaceListOperation(\n operations: ResolvedOperation[],\n surfaceKey: string | undefined,\n): ResolvedOperation | undefined {\n return findSurfaceOperation(\n operations,\n surfaceKey,\n (meta) => meta.verb === \"list\" && meta.scope === \"collection\",\n );\n}\n\nexport function findSurfaceDetailOperation(\n operations: ResolvedOperation[],\n surfaceKey: string | undefined,\n): ResolvedOperation | undefined {\n return findSurfaceOperation(\n operations,\n surfaceKey,\n (meta) => meta.verb === \"get\" && meta.scope === \"entity\",\n );\n}\n\nexport function findSurfaceCollectionActions(\n operations: ResolvedOperation[],\n surfaceKey: string | undefined,\n): ResolvedOperation[] {\n return filterOperationsBySurface(operations, surfaceKey).filter((operation) => {\n const meta = getOperationClickyMeta(operation);\n return meta != null && meta.scope === \"collection\" && meta.verb !== \"list\";\n });\n}\n\n// surfaceActionLabel prefers the short clicky actionName/verb (capitalized) over\n// the OpenAPI summary, which is often a full sentence. Without surface metadata\n// (a non-surface operation) it falls back to the summary, then the\n// operationId/path, so a button always has a label.\nexport function surfaceActionLabel(operation: ResolvedOperation): string {\n const meta = getOperationClickyMeta(operation);\n const short = meta?.actionName?.trim() || meta?.verb?.trim();\n if (short && short !== \"action\") {\n return short.charAt(0).toUpperCase() + short.slice(1);\n }\n return operation.operation.summary || operation.operation.operationId || operation.path;\n}\n\nexport function findSurfaceEntityActions(\n operations: ResolvedOperation[],\n surfaceKey: string | undefined,\n): ResolvedOperation[] {\n return filterOperationsBySurface(operations, surfaceKey).filter((operation) => {\n const meta = getOperationClickyMeta(operation);\n return meta != null && meta.scope === \"entity\" && meta.verb !== \"get\";\n });\n}\n\nexport function makeSurfaceDefinition(surface: ClickySurface): DomainDefinition {\n return {\n key: surface.key,\n title: surface.title,\n description: surface.description || `Manage ${surface.title.toLowerCase()} resources.`,\n ...(surface.icon ? { icon: surface.icon } : {}),\n };\n}\n"],"names":[],"mappings":"AASO,SAAS,kBAAkB,MAA2D;AAC3F,SAAO,6BAAO;AAChB;AAEO,SAAS,kBAAkB,MAAgD;AAJ3E;AAKL,WAAO,uBAAkB,IAAI,MAAtB,mBAAyB,aAAY,CAAA;AAC9C;AAEO,SAAS,uBACd,WACiC;AACjC,SAAO,UAAU,UAAU,UAAU;AACvC;AAEO,SAAS,0BACd,YACA,YACqB;AACrB,MAAI,CAAC,WAAY,QAAO,CAAA;AACxB,SAAO,WAAW;AAAA,IAChB,CAAC,cAAA;AApBE;AAoBY,2CAAuB,SAAS,MAAhC,mBAAmC,aAAY;AAAA;AAAA,EAAA;AAElE;AAEO,SAAS,qBACd,YACA,YACA,WAC+B;AAC/B,SAAO,0BAA0B,YAAY,UAAU,EAAE,KAAK,CAAC,cAAc;AAC3E,UAAM,OAAO,uBAAuB,SAAS;AAC7C,WAAO,QAAQ,QAAQ,UAAU,IAAI;AAAA,EACvC,CAAC;AACH;AAEO,SAAS,yBACd,YACA,YAC+B;AAC/B,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA,CAAC,SAAS,KAAK,SAAS,UAAU,KAAK,UAAU;AAAA,EAAA;AAErD;AAEO,SAAS,2BACd,YACA,YAC+B;AAC/B,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA,CAAC,SAAS,KAAK,SAAS,SAAS,KAAK,UAAU;AAAA,EAAA;AAEpD;AAEO,SAAS,6BACd,YACA,YACqB;AACrB,SAAO,0BAA0B,YAAY,UAAU,EAAE,OAAO,CAAC,cAAc;AAC7E,UAAM,OAAO,uBAAuB,SAAS;AAC7C,WAAO,QAAQ,QAAQ,KAAK,UAAU,gBAAgB,KAAK,SAAS;AAAA,EACtE,CAAC;AACH;AAMO,SAAS,mBAAmB,WAAsC;AAvElE;AAwEL,QAAM,OAAO,uBAAuB,SAAS;AAC7C,QAAM,UAAQ,kCAAM,eAAN,mBAAkB,aAAU,kCAAM,SAAN,mBAAY;AACtD,MAAI,SAAS,UAAU,UAAU;AAC/B,WAAO,MAAM,OAAO,CAAC,EAAE,gBAAgB,MAAM,MAAM,CAAC;AAAA,EACtD;AACA,SAAO,UAAU,UAAU,WAAW,UAAU,UAAU,eAAe,UAAU;AACrF;AAEO,SAAS,yBACd,YACA,YACqB;AACrB,SAAO,0BAA0B,YAAY,UAAU,EAAE,OAAO,CAAC,cAAc;AAC7E,UAAM,OAAO,uBAAuB,SAAS;AAC7C,WAAO,QAAQ,QAAQ,KAAK,UAAU,YAAY,KAAK,SAAS;AAAA,EAClE,CAAC;AACH;AAEO,SAAS,sBAAsB,SAA0C;AAC9E,SAAO;AAAA,IACL,KAAK,QAAQ;AAAA,IACb,OAAO,QAAQ;AAAA,IACf,aAAa,QAAQ,eAAe,UAAU,QAAQ,MAAM,aAAa;AAAA,IACzE,GAAI,QAAQ,OAAO,EAAE,MAAM,QAAQ,KAAA,IAAS,CAAA;AAAA,EAAC;AAEjD;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"orders.fixture.d.ts","sourceRoot":"","sources":["../../../src/rpc/rpc-story-fixtures/orders.fixture.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"orders.fixture.d.ts","sourceRoot":"","sources":["../../../src/rpc/rpc-story-fixtures/orders.fixture.ts"],"names":[],"mappings":"AAQA,OAAO,EAUL,KAAK,cAAc,EACpB,MAAM,mBAAmB,CAAC;AAgI3B,eAAO,MAAM,cAAc,EAAE,cAY5B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"services.fixture.d.ts","sourceRoot":"","sources":["../../../src/rpc/rpc-story-fixtures/services.fixture.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"services.fixture.d.ts","sourceRoot":"","sources":["../../../src/rpc/rpc-story-fixtures/services.fixture.ts"],"names":[],"mappings":"AAQA,OAAO,EASL,KAAK,cAAc,EACpB,MAAM,mBAAmB,CAAC;AA0H3B,eAAO,MAAM,gBAAgB,EAAE,cAY9B,CAAC"}
|
|
@@ -1,14 +1,37 @@
|
|
|
1
1
|
import { ClickyColumn, ClickyField, ClickyNode, ClickyRow, ClickyStyle } from '../../data/Clicky';
|
|
2
2
|
import { ClickySurface, ExecutionResponse, OpenAPIOperation } from '../types';
|
|
3
|
+
/** Page size used when an operation declares no `limit` value. Mirrors the
|
|
4
|
+
* `dataTablePaginationFromForm` fallback so the footer and the fake backend
|
|
5
|
+
* agree on the first page. */
|
|
6
|
+
export declare const DEFAULT_PAGE_LIMIT = 25;
|
|
3
7
|
export type SurfaceFixture = {
|
|
4
8
|
surface: ClickySurface;
|
|
5
9
|
/** Spec paths contributed by this surface; merged into SAMPLE_SPEC.paths. */
|
|
6
10
|
paths: Record<string, Record<string, OpenAPIOperation>>;
|
|
7
|
-
/**
|
|
8
|
-
|
|
11
|
+
/** Columns of the collection list table. */
|
|
12
|
+
listColumns: ClickyColumn[];
|
|
13
|
+
/**
|
|
14
|
+
* The full server-side row set. The fake client slices this per the request's
|
|
15
|
+
* `limit`/`offset` rather than returning it whole, so stories exercise the
|
|
16
|
+
* same remote-pagination path as a real clicky-rpc backend.
|
|
17
|
+
*/
|
|
18
|
+
listRows: ClickyRow[];
|
|
9
19
|
/** Per-entity-id detail responses (Clicky `map` documents). */
|
|
10
20
|
detailById: Record<string, ExecutionResponse>;
|
|
11
21
|
};
|
|
22
|
+
/**
|
|
23
|
+
* Builds the Clicky list document for a single page plus the pagination
|
|
24
|
+
* envelope. A real backend reports these as `X-Total-Count` / `X-Page-Limit` /
|
|
25
|
+
* `X-Page-Offset` headers, which `createOperationsApiClient` parses into
|
|
26
|
+
* `ExecutionResponse.pagination`; the fake client sets the field directly.
|
|
27
|
+
*/
|
|
28
|
+
export declare function listPage(fixture: Pick<SurfaceFixture, "listColumns" | "listRows">, limit: number, offset: number): ExecutionResponse;
|
|
29
|
+
/** Cyclic pick that satisfies `noUncheckedIndexedAccess`; throws on an empty list
|
|
30
|
+
* rather than returning a silent placeholder. */
|
|
31
|
+
export declare function pick<T>(values: readonly T[], index: number): T;
|
|
32
|
+
/** Deterministic ISO timestamp `steps` slots after a fixed base — fixtures must
|
|
33
|
+
* never depend on the wall clock or a story would re-render differently. */
|
|
34
|
+
export declare function fixtureTimestamp(steps: number): string;
|
|
12
35
|
export declare function text(value: string, style?: ClickyStyle): ClickyNode;
|
|
13
36
|
/** Monospace text — for ids, amounts, versions. */
|
|
14
37
|
export declare function mono(value: string): ClickyNode;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"surface-fixture.d.ts","sourceRoot":"","sources":["../../../src/rpc/rpc-story-fixtures/surface-fixture.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACvG,OAAO,KAAK,EAAE,aAAa,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAEnF,MAAM,MAAM,cAAc,GAAG;IAC3B,OAAO,EAAE,aAAa,CAAC;IACvB,6EAA6E;IAC7E,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC;IACxD,
|
|
1
|
+
{"version":3,"file":"surface-fixture.d.ts","sourceRoot":"","sources":["../../../src/rpc/rpc-story-fixtures/surface-fixture.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACvG,OAAO,KAAK,EAAE,aAAa,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAEnF;;+BAE+B;AAC/B,eAAO,MAAM,kBAAkB,KAAK,CAAC;AAErC,MAAM,MAAM,cAAc,GAAG;IAC3B,OAAO,EAAE,aAAa,CAAC;IACvB,6EAA6E;IAC7E,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC;IACxD,4CAA4C;IAC5C,WAAW,EAAE,YAAY,EAAE,CAAC;IAC5B;;;;OAIG;IACH,QAAQ,EAAE,SAAS,EAAE,CAAC;IACtB,+DAA+D;IAC/D,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;CAC/C,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,QAAQ,CACtB,OAAO,EAAE,IAAI,CAAC,cAAc,EAAE,aAAa,GAAG,UAAU,CAAC,EACzD,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,GACb,iBAAiB,CAQnB;AAED;kDACkD;AAClD,wBAAgB,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,CAAC,CAI9D;AAED;6EAC6E;AAC7E,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAGtD;AAED,wBAAgB,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,WAAW,GAAG,UAAU,CAEnE;AAED,mDAAmD;AACnD,wBAAgB,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,CAE9C;AAeD,0FAA0F;AAC1F,wBAAgB,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,CAGhD;AAED,wBAAgB,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,UAAU,CAE7E;AAED,gEAAgE;AAChE,wBAAgB,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,UAAU,CAK9D;AAKD,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,UAAU,CASrF;AAED,wBAAgB,KAAK,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,UAAU,CAE5E;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,UAAU,GAAG,iBAAiB,CAO7D;AAED,wBAAgB,SAAS,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG,iBAAiB,CAElE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"widgets.fixture.d.ts","sourceRoot":"","sources":["../../../src/rpc/rpc-story-fixtures/widgets.fixture.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"widgets.fixture.d.ts","sourceRoot":"","sources":["../../../src/rpc/rpc-story-fixtures/widgets.fixture.ts"],"names":[],"mappings":"AAQA,OAAO,EASL,KAAK,cAAc,EACpB,MAAM,mBAAmB,CAAC;AAoI3B,eAAO,MAAM,eAAe,EAAE,cAY7B,CAAC"}
|
|
@@ -7,7 +7,8 @@ export declare const FAKE_CLIENT: OperationsApiClient;
|
|
|
7
7
|
/** The spec's operations flattened to the ResolvedOperation list components use. */
|
|
8
8
|
export declare const SAMPLE_OPERATIONS: ResolvedOperation[];
|
|
9
9
|
/** Widgets list/detail responses — kept as named exports for the focused stories
|
|
10
|
-
* (CommandOutput, OperationEntityPage) that render a single document.
|
|
10
|
+
* (CommandOutput, OperationEntityPage) that render a single document. The list
|
|
11
|
+
* export is the first page, matching what an unparameterised request returns. */
|
|
11
12
|
export declare const SAMPLE_LIST_RESPONSE: ExecutionResponse;
|
|
12
13
|
export declare const SAMPLE_DETAIL_RESPONSE: ExecutionResponse;
|
|
13
14
|
export declare const WIDGET_DEFINITION: DomainDefinition;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rpc-story.fixtures.d.ts","sourceRoot":"","sources":["../../src/rpc/rpc-story.fixtures.ts"],"names":[],"mappings":"AASA,OAAO,EAAiB,KAAK,YAAY,EAAE,MAAM,OAAO,CAAC;AACzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"rpc-story.fixtures.d.ts","sourceRoot":"","sources":["../../src/rpc/rpc-story.fixtures.ts"],"names":[],"mappings":"AASA,OAAO,EAAiB,KAAK,YAAY,EAAE,MAAM,OAAO,CAAC;AACzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAYnG,eAAO,MAAM,WAAW,EAAE,WAKzB,CAAC;AAsBF,eAAO,MAAM,WAAW,EAAE,mBAgCzB,CAAC;AAEF,oFAAoF;AACpF,eAAO,MAAM,iBAAiB,EAAE,iBAAiB,EAGhD,CAAC;AAEF;;kFAEkF;AAClF,eAAO,MAAM,oBAAoB,EAAE,iBAIlC,CAAC;AAGF,eAAO,MAAM,sBAAsB,EAAE,iBAAgC,CAAC;AAEtE,eAAO,MAAM,iBAAiB,EAAE,gBAM/B,CAAC;AAEF,6EAA6E;AAC7E,wBAAgB,UAAU,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,cAAc,GAAG,YAAY,CAE3F"}
|
package/dist/rpc/types.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.cjs","sources":["../../src/rpc/types.ts"],"sourcesContent":["import type { ClickyNode } from \"../data/Clicky\";\nimport type { TimeRangePresetGroup } from \"../components/TimeRange\";\n\nexport interface ExecutionRequest {\n args?: string[];\n flags?: Record<string, string>;\n}\n\nexport interface ExecutionPagination {\n total?: number;\n limit?: number;\n offset?: number;\n}\n\nexport interface ExecutionResponse {\n success: boolean;\n message?: string;\n output?: string;\n stdout?: string;\n stderr?: string;\n exit_code: number;\n error?: string;\n cli?: string;\n input?: ExecutionRequest;\n contentType?: string;\n requestUrl?: string;\n responseHeaders?: Record<string, string>;\n pagination?: ExecutionPagination;\n blob?: Blob;\n parsed?: unknown;\n}\n\nexport interface OpenAPISchema {\n type?: string;\n format?: string;\n default?: unknown;\n enum?: unknown[];\n description?: string;\n properties?: Record<string, OpenAPISchema>;\n items?: OpenAPISchema;\n oneOf?: OpenAPISchema[];\n additionalProperties?: OpenAPISchema | boolean;\n nullable?: boolean;\n}\n\n// ClickyParameterRole tells the UI which widget owns a parameter:\n// \"search\" — render as the FilterBar's dedicated search input\n// \"filter\" — render as a FilterBar chip on the DataTable\n// \"limit\" — feed into DataTable pagination's pageSize\n// \"offset\" — feed into DataTable pagination's page (or skip)\n// \"time-from\" — left edge of a time-range picker\n// \"time-to\" — right edge of a time-range picker\n// Set server-side by clicky's converter (see paramRole in clicky/rpc/openapi.go).\nexport type ClickyParameterRole =\n | \"search\"\n | \"filter\"\n | \"limit\"\n | \"offset\"\n | \"time-from\"\n | \"time-to\";\n\nexport interface ClickyParameterMeta {\n role?: ClickyParameterRole;\n}\n\nexport interface OpenAPIParameter {\n name: string;\n in: \"query\" | \"path\" | \"header\";\n description?: string;\n required?: boolean;\n schema?: OpenAPISchema;\n /** Hint text shown inside the empty input. Distinct from `description`,\n * which is help text and must NOT be used as a placeholder. */\n placeholder?: string;\n \"x-clicky\"?: ClickyParameterMeta;\n /** Vendor-extension placeholder, set server-side by clicky's converter.\n * Takes precedence over `placeholder` when both are present. */\n \"x-clicky-placeholder\"?: string;\n}\n\n/** Resolves the input placeholder for a parameter, drawing ONLY from explicit\n * placeholder fields — never from `description` (help text). Returns undefined\n * when no placeholder is declared so callers can apply their own fallback. */\nexport function parameterPlaceholder(\n param: OpenAPIParameter,\n): string | undefined {\n return param[\"x-clicky-placeholder\"] ?? param.placeholder;\n}\n\nexport interface OpenAPIOperation {\n tags?: string[];\n summary?: string;\n description?: string;\n operationId?: string;\n parameters?: OpenAPIParameter[];\n requestBody?: {\n content?: Record<string, { schema?: OpenAPISchema }>;\n };\n responses: Record<string, unknown>;\n \"x-clicky\"?: ClickyOperationMeta;\n}\n\nexport interface OpenAPISpec {\n openapi: string;\n info: { title: string; description?: string; version: string };\n paths: Record<string, Record<string, OpenAPIOperation>>;\n tags?: Array<{ name: string; description?: string }>;\n \"x-clicky\"?: ClickySpecMeta;\n}\n\nexport interface ResolvedOperation {\n path: string;\n method: string;\n operation: OpenAPIOperation;\n}\n\nexport interface DomainDefinition {\n key: string;\n title: string;\n description: string;\n emptyTitle?: string;\n emptyDescription?: string;\n}\n\nexport interface ClickySpecMeta {\n surfaces?: ClickySurface[];\n}\n\nexport interface ClickySurface {\n key: string;\n entity: string;\n title: string;\n parent?: string;\n admin?: boolean;\n description?: string;\n /** Opaque icon name emitted by the backend (x-clicky-icon), resolved to a glyph in the UI. */\n icon?: string;\n}\n\nexport interface ClickyOperationMeta {\n command?: string;\n surface?: string;\n verb: \"list\" | \"get\" | \"create\" | \"update\" | \"delete\" | \"action\";\n scope: \"collection\" | \"entity\";\n actionName?: string;\n idParam?: string;\n supportsLookup?: boolean;\n supportsFilterMode?: boolean;\n group?: string;\n toolHints?: ClickyToolHints;\n export?: ClickyExportMeta;\n}\n\nexport interface ClickyExportMeta {\n formats?: string[];\n scopes?: Array<\"page\" | \"all\">;\n allRowsMode?: \"streaming\" | \"buffered\";\n formatMaxRows?: Record<string, number>;\n}\n\nexport interface ClickyToolHints {\n title?: string;\n readOnlyHint?: boolean;\n destructiveHint?: boolean;\n idempotentHint?: boolean;\n openWorldHint?: boolean;\n icon?: string;\n group?: string;\n parent?: string;\n defaultPermission?: \"on\" | \"ask\" | \"off\" | \"auto\";\n strict?: boolean;\n}\n\nexport type OperationLookupFilterType =\n | \"bool\"\n | \"number\"\n | \"date\"\n | \"from\"\n | \"to\"\n | \"multi-filter\";\n\nexport interface OperationLookupFilter {\n label?: string;\n options?: Record<string, ClickyNode>;\n selected?: Record<string, ClickyNode>;\n multi?: boolean;\n type?: OperationLookupFilterType;\n /** True when `options` is only the head of a larger set (server-side capped). */\n truncated?: boolean;\n /** True distinct count behind a truncated option set; drives \"… and N more\". */\n total?: number;\n presets?: Array<\n { label: string; from: string; to: string } | TimeRangePresetGroup\n >;\n timeEnabled?: boolean;\n timeZone?: string;\n timeZones?: string[];\n}\n\nexport interface OperationLookupResponse {\n filters: Record<string, OperationLookupFilter>;\n}\n\nexport function isPositionalParam(p: OpenAPIParameter): boolean {\n return (\n p.name === \"args\" ||\n p.description?.toLowerCase().includes(\"positional argument\") === true\n );\n}\n"],"names":[],"mappings":";;AAmFO,SAAS,qBACd,OACoB;AACpB,SAAO,MAAM,sBAAsB,KAAK,MAAM;AAChD;
|
|
1
|
+
{"version":3,"file":"types.cjs","sources":["../../src/rpc/types.ts"],"sourcesContent":["import type { ClickyNode } from \"../data/Clicky\";\nimport type { TimeRangePresetGroup } from \"../components/TimeRange\";\n\nexport interface ExecutionRequest {\n args?: string[];\n flags?: Record<string, string>;\n}\n\nexport interface ExecutionPagination {\n total?: number;\n limit?: number;\n offset?: number;\n}\n\nexport interface ExecutionResponse {\n success: boolean;\n message?: string;\n output?: string;\n stdout?: string;\n stderr?: string;\n exit_code: number;\n error?: string;\n cli?: string;\n input?: ExecutionRequest;\n contentType?: string;\n requestUrl?: string;\n responseHeaders?: Record<string, string>;\n pagination?: ExecutionPagination;\n blob?: Blob;\n parsed?: unknown;\n}\n\nexport interface OpenAPISchema {\n type?: string;\n format?: string;\n default?: unknown;\n enum?: unknown[];\n description?: string;\n properties?: Record<string, OpenAPISchema>;\n items?: OpenAPISchema;\n oneOf?: OpenAPISchema[];\n additionalProperties?: OpenAPISchema | boolean;\n nullable?: boolean;\n}\n\n// ClickyParameterRole tells the UI which widget owns a parameter:\n// \"search\" — render as the FilterBar's dedicated search input\n// \"filter\" — render as a FilterBar chip on the DataTable\n// \"limit\" — feed into DataTable pagination's pageSize\n// \"offset\" — feed into DataTable pagination's page (or skip)\n// \"time-from\" — left edge of a time-range picker\n// \"time-to\" — right edge of a time-range picker\n// Set server-side by clicky's converter (see paramRole in clicky/rpc/openapi.go).\nexport type ClickyParameterRole =\n | \"search\"\n | \"filter\"\n | \"limit\"\n | \"offset\"\n | \"time-from\"\n | \"time-to\";\n\nexport interface ClickyParameterMeta {\n role?: ClickyParameterRole;\n}\n\nexport interface OpenAPIParameter {\n name: string;\n in: \"query\" | \"path\" | \"header\";\n description?: string;\n required?: boolean;\n schema?: OpenAPISchema;\n /** Hint text shown inside the empty input. Distinct from `description`,\n * which is help text and must NOT be used as a placeholder. */\n placeholder?: string;\n \"x-clicky\"?: ClickyParameterMeta;\n /** Vendor-extension placeholder, set server-side by clicky's converter.\n * Takes precedence over `placeholder` when both are present. */\n \"x-clicky-placeholder\"?: string;\n}\n\n/** Resolves the input placeholder for a parameter, drawing ONLY from explicit\n * placeholder fields — never from `description` (help text). Returns undefined\n * when no placeholder is declared so callers can apply their own fallback. */\nexport function parameterPlaceholder(\n param: OpenAPIParameter,\n): string | undefined {\n return param[\"x-clicky-placeholder\"] ?? param.placeholder;\n}\n\nexport interface OpenAPIOperation {\n tags?: string[];\n summary?: string;\n description?: string;\n operationId?: string;\n parameters?: OpenAPIParameter[];\n requestBody?: {\n content?: Record<string, { schema?: OpenAPISchema }>;\n };\n responses: Record<string, unknown>;\n \"x-clicky\"?: ClickyOperationMeta;\n}\n\nexport interface OpenAPISpec {\n openapi: string;\n info: { title: string; description?: string; version: string };\n paths: Record<string, Record<string, OpenAPIOperation>>;\n tags?: Array<{ name: string; description?: string }>;\n \"x-clicky\"?: ClickySpecMeta;\n}\n\nexport interface ResolvedOperation {\n path: string;\n method: string;\n operation: OpenAPIOperation;\n}\n\nexport interface DomainDefinition {\n key: string;\n title: string;\n description: string;\n icon?: string;\n emptyTitle?: string;\n emptyDescription?: string;\n}\n\nexport interface ClickySpecMeta {\n surfaces?: ClickySurface[];\n}\n\nexport interface ClickySurface {\n key: string;\n entity: string;\n title: string;\n parent?: string;\n admin?: boolean;\n description?: string;\n /** Opaque icon name emitted by the backend (x-clicky-icon), resolved to a glyph in the UI. */\n icon?: string;\n}\n\nexport interface ClickyOperationMeta {\n command?: string;\n surface?: string;\n verb: \"list\" | \"get\" | \"create\" | \"update\" | \"delete\" | \"action\";\n scope: \"collection\" | \"entity\";\n actionName?: string;\n idParam?: string;\n supportsLookup?: boolean;\n supportsFilterMode?: boolean;\n group?: string;\n toolHints?: ClickyToolHints;\n export?: ClickyExportMeta;\n}\n\nexport interface ClickyExportMeta {\n formats?: string[];\n scopes?: Array<\"page\" | \"all\">;\n allRowsMode?: \"streaming\" | \"buffered\";\n formatMaxRows?: Record<string, number>;\n}\n\nexport interface ClickyToolHints {\n title?: string;\n readOnlyHint?: boolean;\n destructiveHint?: boolean;\n idempotentHint?: boolean;\n openWorldHint?: boolean;\n icon?: string;\n group?: string;\n parent?: string;\n defaultPermission?: \"on\" | \"ask\" | \"off\" | \"auto\";\n strict?: boolean;\n}\n\nexport type OperationLookupFilterType =\n | \"bool\"\n | \"number\"\n | \"date\"\n | \"from\"\n | \"to\"\n | \"multi-filter\";\n\nexport interface OperationLookupFilter {\n label?: string;\n options?: Record<string, ClickyNode>;\n selected?: Record<string, ClickyNode>;\n multi?: boolean;\n type?: OperationLookupFilterType;\n /** True when `options` is only the head of a larger set (server-side capped). */\n truncated?: boolean;\n /** True distinct count behind a truncated option set; drives \"… and N more\". */\n total?: number;\n presets?: Array<\n { label: string; from: string; to: string } | TimeRangePresetGroup\n >;\n timeEnabled?: boolean;\n timeZone?: string;\n timeZones?: string[];\n}\n\nexport interface OperationLookupResponse {\n filters: Record<string, OperationLookupFilter>;\n}\n\nexport function isPositionalParam(p: OpenAPIParameter): boolean {\n return (\n p.name === \"args\" ||\n p.description?.toLowerCase().includes(\"positional argument\") === true\n );\n}\n"],"names":[],"mappings":";;AAmFO,SAAS,qBACd,OACoB;AACpB,SAAO,MAAM,sBAAsB,KAAK,MAAM;AAChD;AAqHO,SAAS,kBAAkB,GAA8B;;AAC9D,SACE,EAAE,SAAS,YACX,OAAE,gBAAF,mBAAe,cAAc,SAAS,4BAA2B;AAErE;;;"}
|
package/dist/rpc/types.d.ts
CHANGED
package/dist/rpc/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/rpc/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/rpc/types.ts"],"names":[],"mappings":"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"}
|
package/dist/rpc/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sources":["../../src/rpc/types.ts"],"sourcesContent":["import type { ClickyNode } from \"../data/Clicky\";\nimport type { TimeRangePresetGroup } from \"../components/TimeRange\";\n\nexport interface ExecutionRequest {\n args?: string[];\n flags?: Record<string, string>;\n}\n\nexport interface ExecutionPagination {\n total?: number;\n limit?: number;\n offset?: number;\n}\n\nexport interface ExecutionResponse {\n success: boolean;\n message?: string;\n output?: string;\n stdout?: string;\n stderr?: string;\n exit_code: number;\n error?: string;\n cli?: string;\n input?: ExecutionRequest;\n contentType?: string;\n requestUrl?: string;\n responseHeaders?: Record<string, string>;\n pagination?: ExecutionPagination;\n blob?: Blob;\n parsed?: unknown;\n}\n\nexport interface OpenAPISchema {\n type?: string;\n format?: string;\n default?: unknown;\n enum?: unknown[];\n description?: string;\n properties?: Record<string, OpenAPISchema>;\n items?: OpenAPISchema;\n oneOf?: OpenAPISchema[];\n additionalProperties?: OpenAPISchema | boolean;\n nullable?: boolean;\n}\n\n// ClickyParameterRole tells the UI which widget owns a parameter:\n// \"search\" — render as the FilterBar's dedicated search input\n// \"filter\" — render as a FilterBar chip on the DataTable\n// \"limit\" — feed into DataTable pagination's pageSize\n// \"offset\" — feed into DataTable pagination's page (or skip)\n// \"time-from\" — left edge of a time-range picker\n// \"time-to\" — right edge of a time-range picker\n// Set server-side by clicky's converter (see paramRole in clicky/rpc/openapi.go).\nexport type ClickyParameterRole =\n | \"search\"\n | \"filter\"\n | \"limit\"\n | \"offset\"\n | \"time-from\"\n | \"time-to\";\n\nexport interface ClickyParameterMeta {\n role?: ClickyParameterRole;\n}\n\nexport interface OpenAPIParameter {\n name: string;\n in: \"query\" | \"path\" | \"header\";\n description?: string;\n required?: boolean;\n schema?: OpenAPISchema;\n /** Hint text shown inside the empty input. Distinct from `description`,\n * which is help text and must NOT be used as a placeholder. */\n placeholder?: string;\n \"x-clicky\"?: ClickyParameterMeta;\n /** Vendor-extension placeholder, set server-side by clicky's converter.\n * Takes precedence over `placeholder` when both are present. */\n \"x-clicky-placeholder\"?: string;\n}\n\n/** Resolves the input placeholder for a parameter, drawing ONLY from explicit\n * placeholder fields — never from `description` (help text). Returns undefined\n * when no placeholder is declared so callers can apply their own fallback. */\nexport function parameterPlaceholder(\n param: OpenAPIParameter,\n): string | undefined {\n return param[\"x-clicky-placeholder\"] ?? param.placeholder;\n}\n\nexport interface OpenAPIOperation {\n tags?: string[];\n summary?: string;\n description?: string;\n operationId?: string;\n parameters?: OpenAPIParameter[];\n requestBody?: {\n content?: Record<string, { schema?: OpenAPISchema }>;\n };\n responses: Record<string, unknown>;\n \"x-clicky\"?: ClickyOperationMeta;\n}\n\nexport interface OpenAPISpec {\n openapi: string;\n info: { title: string; description?: string; version: string };\n paths: Record<string, Record<string, OpenAPIOperation>>;\n tags?: Array<{ name: string; description?: string }>;\n \"x-clicky\"?: ClickySpecMeta;\n}\n\nexport interface ResolvedOperation {\n path: string;\n method: string;\n operation: OpenAPIOperation;\n}\n\nexport interface DomainDefinition {\n key: string;\n title: string;\n description: string;\n emptyTitle?: string;\n emptyDescription?: string;\n}\n\nexport interface ClickySpecMeta {\n surfaces?: ClickySurface[];\n}\n\nexport interface ClickySurface {\n key: string;\n entity: string;\n title: string;\n parent?: string;\n admin?: boolean;\n description?: string;\n /** Opaque icon name emitted by the backend (x-clicky-icon), resolved to a glyph in the UI. */\n icon?: string;\n}\n\nexport interface ClickyOperationMeta {\n command?: string;\n surface?: string;\n verb: \"list\" | \"get\" | \"create\" | \"update\" | \"delete\" | \"action\";\n scope: \"collection\" | \"entity\";\n actionName?: string;\n idParam?: string;\n supportsLookup?: boolean;\n supportsFilterMode?: boolean;\n group?: string;\n toolHints?: ClickyToolHints;\n export?: ClickyExportMeta;\n}\n\nexport interface ClickyExportMeta {\n formats?: string[];\n scopes?: Array<\"page\" | \"all\">;\n allRowsMode?: \"streaming\" | \"buffered\";\n formatMaxRows?: Record<string, number>;\n}\n\nexport interface ClickyToolHints {\n title?: string;\n readOnlyHint?: boolean;\n destructiveHint?: boolean;\n idempotentHint?: boolean;\n openWorldHint?: boolean;\n icon?: string;\n group?: string;\n parent?: string;\n defaultPermission?: \"on\" | \"ask\" | \"off\" | \"auto\";\n strict?: boolean;\n}\n\nexport type OperationLookupFilterType =\n | \"bool\"\n | \"number\"\n | \"date\"\n | \"from\"\n | \"to\"\n | \"multi-filter\";\n\nexport interface OperationLookupFilter {\n label?: string;\n options?: Record<string, ClickyNode>;\n selected?: Record<string, ClickyNode>;\n multi?: boolean;\n type?: OperationLookupFilterType;\n /** True when `options` is only the head of a larger set (server-side capped). */\n truncated?: boolean;\n /** True distinct count behind a truncated option set; drives \"… and N more\". */\n total?: number;\n presets?: Array<\n { label: string; from: string; to: string } | TimeRangePresetGroup\n >;\n timeEnabled?: boolean;\n timeZone?: string;\n timeZones?: string[];\n}\n\nexport interface OperationLookupResponse {\n filters: Record<string, OperationLookupFilter>;\n}\n\nexport function isPositionalParam(p: OpenAPIParameter): boolean {\n return (\n p.name === \"args\" ||\n p.description?.toLowerCase().includes(\"positional argument\") === true\n );\n}\n"],"names":[],"mappings":"AAmFO,SAAS,qBACd,OACoB;AACpB,SAAO,MAAM,sBAAsB,KAAK,MAAM;AAChD;
|
|
1
|
+
{"version":3,"file":"types.js","sources":["../../src/rpc/types.ts"],"sourcesContent":["import type { ClickyNode } from \"../data/Clicky\";\nimport type { TimeRangePresetGroup } from \"../components/TimeRange\";\n\nexport interface ExecutionRequest {\n args?: string[];\n flags?: Record<string, string>;\n}\n\nexport interface ExecutionPagination {\n total?: number;\n limit?: number;\n offset?: number;\n}\n\nexport interface ExecutionResponse {\n success: boolean;\n message?: string;\n output?: string;\n stdout?: string;\n stderr?: string;\n exit_code: number;\n error?: string;\n cli?: string;\n input?: ExecutionRequest;\n contentType?: string;\n requestUrl?: string;\n responseHeaders?: Record<string, string>;\n pagination?: ExecutionPagination;\n blob?: Blob;\n parsed?: unknown;\n}\n\nexport interface OpenAPISchema {\n type?: string;\n format?: string;\n default?: unknown;\n enum?: unknown[];\n description?: string;\n properties?: Record<string, OpenAPISchema>;\n items?: OpenAPISchema;\n oneOf?: OpenAPISchema[];\n additionalProperties?: OpenAPISchema | boolean;\n nullable?: boolean;\n}\n\n// ClickyParameterRole tells the UI which widget owns a parameter:\n// \"search\" — render as the FilterBar's dedicated search input\n// \"filter\" — render as a FilterBar chip on the DataTable\n// \"limit\" — feed into DataTable pagination's pageSize\n// \"offset\" — feed into DataTable pagination's page (or skip)\n// \"time-from\" — left edge of a time-range picker\n// \"time-to\" — right edge of a time-range picker\n// Set server-side by clicky's converter (see paramRole in clicky/rpc/openapi.go).\nexport type ClickyParameterRole =\n | \"search\"\n | \"filter\"\n | \"limit\"\n | \"offset\"\n | \"time-from\"\n | \"time-to\";\n\nexport interface ClickyParameterMeta {\n role?: ClickyParameterRole;\n}\n\nexport interface OpenAPIParameter {\n name: string;\n in: \"query\" | \"path\" | \"header\";\n description?: string;\n required?: boolean;\n schema?: OpenAPISchema;\n /** Hint text shown inside the empty input. Distinct from `description`,\n * which is help text and must NOT be used as a placeholder. */\n placeholder?: string;\n \"x-clicky\"?: ClickyParameterMeta;\n /** Vendor-extension placeholder, set server-side by clicky's converter.\n * Takes precedence over `placeholder` when both are present. */\n \"x-clicky-placeholder\"?: string;\n}\n\n/** Resolves the input placeholder for a parameter, drawing ONLY from explicit\n * placeholder fields — never from `description` (help text). Returns undefined\n * when no placeholder is declared so callers can apply their own fallback. */\nexport function parameterPlaceholder(\n param: OpenAPIParameter,\n): string | undefined {\n return param[\"x-clicky-placeholder\"] ?? param.placeholder;\n}\n\nexport interface OpenAPIOperation {\n tags?: string[];\n summary?: string;\n description?: string;\n operationId?: string;\n parameters?: OpenAPIParameter[];\n requestBody?: {\n content?: Record<string, { schema?: OpenAPISchema }>;\n };\n responses: Record<string, unknown>;\n \"x-clicky\"?: ClickyOperationMeta;\n}\n\nexport interface OpenAPISpec {\n openapi: string;\n info: { title: string; description?: string; version: string };\n paths: Record<string, Record<string, OpenAPIOperation>>;\n tags?: Array<{ name: string; description?: string }>;\n \"x-clicky\"?: ClickySpecMeta;\n}\n\nexport interface ResolvedOperation {\n path: string;\n method: string;\n operation: OpenAPIOperation;\n}\n\nexport interface DomainDefinition {\n key: string;\n title: string;\n description: string;\n icon?: string;\n emptyTitle?: string;\n emptyDescription?: string;\n}\n\nexport interface ClickySpecMeta {\n surfaces?: ClickySurface[];\n}\n\nexport interface ClickySurface {\n key: string;\n entity: string;\n title: string;\n parent?: string;\n admin?: boolean;\n description?: string;\n /** Opaque icon name emitted by the backend (x-clicky-icon), resolved to a glyph in the UI. */\n icon?: string;\n}\n\nexport interface ClickyOperationMeta {\n command?: string;\n surface?: string;\n verb: \"list\" | \"get\" | \"create\" | \"update\" | \"delete\" | \"action\";\n scope: \"collection\" | \"entity\";\n actionName?: string;\n idParam?: string;\n supportsLookup?: boolean;\n supportsFilterMode?: boolean;\n group?: string;\n toolHints?: ClickyToolHints;\n export?: ClickyExportMeta;\n}\n\nexport interface ClickyExportMeta {\n formats?: string[];\n scopes?: Array<\"page\" | \"all\">;\n allRowsMode?: \"streaming\" | \"buffered\";\n formatMaxRows?: Record<string, number>;\n}\n\nexport interface ClickyToolHints {\n title?: string;\n readOnlyHint?: boolean;\n destructiveHint?: boolean;\n idempotentHint?: boolean;\n openWorldHint?: boolean;\n icon?: string;\n group?: string;\n parent?: string;\n defaultPermission?: \"on\" | \"ask\" | \"off\" | \"auto\";\n strict?: boolean;\n}\n\nexport type OperationLookupFilterType =\n | \"bool\"\n | \"number\"\n | \"date\"\n | \"from\"\n | \"to\"\n | \"multi-filter\";\n\nexport interface OperationLookupFilter {\n label?: string;\n options?: Record<string, ClickyNode>;\n selected?: Record<string, ClickyNode>;\n multi?: boolean;\n type?: OperationLookupFilterType;\n /** True when `options` is only the head of a larger set (server-side capped). */\n truncated?: boolean;\n /** True distinct count behind a truncated option set; drives \"… and N more\". */\n total?: number;\n presets?: Array<\n { label: string; from: string; to: string } | TimeRangePresetGroup\n >;\n timeEnabled?: boolean;\n timeZone?: string;\n timeZones?: string[];\n}\n\nexport interface OperationLookupResponse {\n filters: Record<string, OperationLookupFilter>;\n}\n\nexport function isPositionalParam(p: OpenAPIParameter): boolean {\n return (\n p.name === \"args\" ||\n p.description?.toLowerCase().includes(\"positional argument\") === true\n );\n}\n"],"names":[],"mappings":"AAmFO,SAAS,qBACd,OACoB;AACpB,SAAO,MAAM,sBAAsB,KAAK,MAAM;AAChD;AAqHO,SAAS,kBAAkB,GAA8B;AAzHzD;AA0HL,SACE,EAAE,SAAS,YACX,OAAE,gBAAF,mBAAe,cAAc,SAAS,4BAA2B;AAErE;"}
|