@flanksource/clicky-ui 0.3.46 → 0.3.47
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 +11 -0
- package/dist/ai.cjs +13 -8
- package/dist/ai.cjs.map +1 -1
- package/dist/ai.js +7 -2
- package/dist/ai.js.map +1 -1
- package/dist/components/ErrorWrapper.cjs +2 -3
- package/dist/components/ErrorWrapper.cjs.map +1 -1
- package/dist/components/ErrorWrapper.d.ts.map +1 -1
- package/dist/components/ErrorWrapper.js +3 -4
- package/dist/components/ErrorWrapper.js.map +1 -1
- package/dist/data/Clicky.cjs +3 -0
- package/dist/data/Clicky.cjs.map +1 -1
- package/dist/data/Clicky.js +3 -0
- package/dist/data/Clicky.js.map +1 -1
- package/dist/data/FilterPill.cjs +15 -2
- package/dist/data/FilterPill.cjs.map +1 -1
- package/dist/data/FilterPill.d.ts +1 -1
- package/dist/data/FilterPill.d.ts.map +1 -1
- package/dist/data/FilterPill.js +15 -2
- package/dist/data/FilterPill.js.map +1 -1
- package/dist/data/LogViewer.cjs +27 -8
- package/dist/data/LogViewer.cjs.map +1 -1
- package/dist/data/LogViewer.d.ts +11 -3
- package/dist/data/LogViewer.d.ts.map +1 -1
- package/dist/data/LogViewer.js +27 -8
- package/dist/data/LogViewer.js.map +1 -1
- package/dist/data/Properties.cjs +2 -15
- package/dist/data/Properties.cjs.map +1 -1
- package/dist/data/Properties.d.ts +4 -0
- package/dist/data/Properties.d.ts.map +1 -1
- package/dist/data/Properties.js +2 -15
- package/dist/data/Properties.js.map +1 -1
- package/dist/data/PropertyValue.cjs +37 -0
- package/dist/data/PropertyValue.cjs.map +1 -0
- package/dist/data/PropertyValue.d.ts +6 -0
- package/dist/data/PropertyValue.d.ts.map +1 -0
- package/dist/data/PropertyValue.js +37 -0
- package/dist/data/PropertyValue.js.map +1 -0
- package/dist/data/Tree.cjs +4 -3
- 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 +4 -3
- package/dist/data/Tree.js.map +1 -1
- package/dist/data/ai/ChatFab.cjs +1 -1
- package/dist/data/ai/ChatFab.cjs.map +1 -1
- package/dist/data/ai/ChatFab.js +1 -1
- package/dist/data/ai/ChatFab.js.map +1 -1
- package/dist/data/ai/ChatWindow.cjs +106 -171
- package/dist/data/ai/ChatWindow.cjs.map +1 -1
- package/dist/data/ai/ChatWindow.d.ts +6 -2
- package/dist/data/ai/ChatWindow.d.ts.map +1 -1
- package/dist/data/ai/ChatWindow.header.cjs +104 -0
- package/dist/data/ai/ChatWindow.header.cjs.map +1 -0
- package/dist/data/ai/ChatWindow.header.d.ts +29 -0
- package/dist/data/ai/ChatWindow.header.d.ts.map +1 -0
- package/dist/data/ai/ChatWindow.header.js +104 -0
- package/dist/data/ai/ChatWindow.header.js.map +1 -0
- package/dist/data/ai/ChatWindow.js +107 -172
- package/dist/data/ai/ChatWindow.js.map +1 -1
- package/dist/data/ai/ChatWindow.placement.cjs +95 -0
- package/dist/data/ai/ChatWindow.placement.cjs.map +1 -0
- package/dist/data/ai/ChatWindow.placement.d.ts +32 -0
- package/dist/data/ai/ChatWindow.placement.d.ts.map +1 -0
- package/dist/data/ai/ChatWindow.placement.js +95 -0
- package/dist/data/ai/ChatWindow.placement.js.map +1 -0
- package/dist/data/ai/SessionChatComposer.cjs +3 -1
- package/dist/data/ai/SessionChatComposer.cjs.map +1 -1
- package/dist/data/ai/SessionChatComposer.d.ts +4 -1
- package/dist/data/ai/SessionChatComposer.d.ts.map +1 -1
- package/dist/data/ai/SessionChatComposer.js +3 -1
- package/dist/data/ai/SessionChatComposer.js.map +1 -1
- package/dist/data/ai/SessionInspector.cjs +68 -72
- package/dist/data/ai/SessionInspector.cjs.map +1 -1
- package/dist/data/ai/SessionInspector.composer-slot.cjs +8 -0
- package/dist/data/ai/SessionInspector.composer-slot.cjs.map +1 -0
- package/dist/data/ai/SessionInspector.composer-slot.d.ts +9 -0
- package/dist/data/ai/SessionInspector.composer-slot.d.ts.map +1 -0
- package/dist/data/ai/SessionInspector.composer-slot.js +8 -0
- package/dist/data/ai/SessionInspector.composer-slot.js.map +1 -0
- package/dist/data/ai/SessionInspector.d.ts +6 -1
- package/dist/data/ai/SessionInspector.d.ts.map +1 -1
- package/dist/data/ai/SessionInspector.js +69 -73
- package/dist/data/ai/SessionInspector.js.map +1 -1
- package/dist/data/ai/SessionInspector.legacy.cjs +41 -42
- package/dist/data/ai/SessionInspector.legacy.cjs.map +1 -1
- package/dist/data/ai/SessionInspector.legacy.d.ts.map +1 -1
- package/dist/data/ai/SessionInspector.legacy.js +41 -42
- package/dist/data/ai/SessionInspector.legacy.js.map +1 -1
- package/dist/data/ai/SessionInspector.remote-view.cjs +14 -9
- package/dist/data/ai/SessionInspector.remote-view.cjs.map +1 -1
- package/dist/data/ai/SessionInspector.remote-view.d.ts +6 -2
- package/dist/data/ai/SessionInspector.remote-view.d.ts.map +1 -1
- package/dist/data/ai/SessionInspector.remote-view.js +14 -9
- package/dist/data/ai/SessionInspector.remote-view.js.map +1 -1
- package/dist/data/ai/SessionInspector.remote.cjs +84 -16
- package/dist/data/ai/SessionInspector.remote.cjs.map +1 -1
- package/dist/data/ai/SessionInspector.remote.d.ts +42 -7
- package/dist/data/ai/SessionInspector.remote.d.ts.map +1 -1
- package/dist/data/ai/SessionInspector.remote.js +86 -18
- package/dist/data/ai/SessionInspector.remote.js.map +1 -1
- package/dist/data/ai/SessionInspector.transcript.cjs +5 -0
- package/dist/data/ai/SessionInspector.transcript.cjs.map +1 -1
- package/dist/data/ai/SessionInspector.transcript.d.ts.map +1 -1
- package/dist/data/ai/SessionInspector.transcript.js +5 -0
- package/dist/data/ai/SessionInspector.transcript.js.map +1 -1
- package/dist/data/ai/SessionTail.cjs +63 -0
- package/dist/data/ai/SessionTail.cjs.map +1 -0
- package/dist/data/ai/SessionTail.d.ts +14 -0
- package/dist/data/ai/SessionTail.d.ts.map +1 -0
- package/dist/data/ai/SessionTail.js +63 -0
- package/dist/data/ai/SessionTail.js.map +1 -0
- package/dist/data/ai/SessionViewer.cjs +10 -3
- package/dist/data/ai/SessionViewer.cjs.map +1 -1
- package/dist/data/ai/SessionViewer.d.ts +7 -1
- package/dist/data/ai/SessionViewer.d.ts.map +1 -1
- package/dist/data/ai/SessionViewer.js +10 -3
- package/dist/data/ai/SessionViewer.js.map +1 -1
- package/dist/data/ai/SessionViewer.unified.d.ts +14 -0
- package/dist/data/ai/SessionViewer.unified.d.ts.map +1 -1
- package/dist/data/ai/index.d.ts +4 -3
- package/dist/data/ai/index.d.ts.map +1 -1
- package/dist/data/ai/use-session-scroll.cjs +30 -6
- package/dist/data/ai/use-session-scroll.cjs.map +1 -1
- package/dist/data/ai/use-session-scroll.d.ts +7 -0
- package/dist/data/ai/use-session-scroll.d.ts.map +1 -1
- package/dist/data/ai/use-session-scroll.js +30 -6
- package/dist/data/ai/use-session-scroll.js.map +1 -1
- package/dist/data/chat/Chat.cjs +1 -1
- package/dist/data/chat/Chat.cjs.map +1 -1
- package/dist/data/chat/Chat.js +1 -1
- package/dist/data/chat/Chat.js.map +1 -1
- package/dist/data/chat/ChatRuntimeToolbar.cjs +4 -4
- package/dist/data/chat/ChatRuntimeToolbar.cjs.map +1 -1
- package/dist/data/chat/ChatRuntimeToolbar.d.ts.map +1 -1
- package/dist/data/chat/ChatRuntimeToolbar.js +4 -4
- package/dist/data/chat/ChatRuntimeToolbar.js.map +1 -1
- package/dist/data/chat/PromptInput.cjs +4 -2
- package/dist/data/chat/PromptInput.cjs.map +1 -1
- package/dist/data/chat/PromptInput.d.ts +5 -1
- package/dist/data/chat/PromptInput.d.ts.map +1 -1
- package/dist/data/chat/PromptInput.js +4 -2
- package/dist/data/chat/PromptInput.js.map +1 -1
- package/dist/data/diagnostics/ErrorDetails.cjs +13 -2
- package/dist/data/diagnostics/ErrorDetails.cjs.map +1 -1
- package/dist/data/diagnostics/ErrorDetails.d.ts +3 -1
- package/dist/data/diagnostics/ErrorDetails.d.ts.map +1 -1
- package/dist/data/diagnostics/ErrorDetails.js +14 -3
- package/dist/data/diagnostics/ErrorDetails.js.map +1 -1
- package/dist/data/diagnostics/FrameSourceWindow.cjs +3 -2
- package/dist/data/diagnostics/FrameSourceWindow.cjs.map +1 -1
- package/dist/data/diagnostics/FrameSourceWindow.d.ts.map +1 -1
- package/dist/data/diagnostics/FrameSourceWindow.js +3 -2
- package/dist/data/diagnostics/FrameSourceWindow.js.map +1 -1
- package/dist/data/diagnostics/error-diagnostics.cjs +5 -0
- package/dist/data/diagnostics/error-diagnostics.cjs.map +1 -1
- package/dist/data/diagnostics/error-diagnostics.d.ts +1 -0
- package/dist/data/diagnostics/error-diagnostics.d.ts.map +1 -1
- package/dist/data/diagnostics/error-diagnostics.js +6 -1
- package/dist/data/diagnostics/error-diagnostics.js.map +1 -1
- package/dist/data/har/HarPanel.cjs +3 -1
- package/dist/data/har/HarPanel.cjs.map +1 -1
- package/dist/data/har/HarPanel.d.ts +4 -1
- package/dist/data/har/HarPanel.d.ts.map +1 -1
- package/dist/data/har/HarPanel.js +3 -1
- package/dist/data/har/HarPanel.js.map +1 -1
- package/dist/data/test-runner/Expectation.cjs +57 -0
- package/dist/data/test-runner/Expectation.cjs.map +1 -0
- package/dist/data/test-runner/Expectation.d.ts +19 -0
- package/dist/data/test-runner/Expectation.d.ts.map +1 -0
- package/dist/data/test-runner/Expectation.js +57 -0
- package/dist/data/test-runner/Expectation.js.map +1 -0
- package/dist/data/test-runner/MarkIcons.cjs +38 -0
- package/dist/data/test-runner/MarkIcons.cjs.map +1 -0
- package/dist/data/test-runner/MarkIcons.d.ts +15 -0
- package/dist/data/test-runner/MarkIcons.d.ts.map +1 -0
- package/dist/data/test-runner/MarkIcons.js +38 -0
- package/dist/data/test-runner/MarkIcons.js.map +1 -0
- package/dist/data/test-runner/TestDetailPanel.cjs +74 -42
- package/dist/data/test-runner/TestDetailPanel.cjs.map +1 -1
- package/dist/data/test-runner/TestDetailPanel.d.ts.map +1 -1
- package/dist/data/test-runner/TestDetailPanel.js +76 -44
- package/dist/data/test-runner/TestDetailPanel.js.map +1 -1
- package/dist/data/test-runner/TestFailureDetail.cjs +23 -27
- package/dist/data/test-runner/TestFailureDetail.cjs.map +1 -1
- package/dist/data/test-runner/TestFailureDetail.d.ts +2 -2
- package/dist/data/test-runner/TestFailureDetail.d.ts.map +1 -1
- package/dist/data/test-runner/TestFailureDetail.js +23 -27
- package/dist/data/test-runner/TestFailureDetail.js.map +1 -1
- package/dist/data/test-runner/TestFilterBar.cjs +87 -93
- package/dist/data/test-runner/TestFilterBar.cjs.map +1 -1
- package/dist/data/test-runner/TestFilterBar.d.ts +3 -2
- package/dist/data/test-runner/TestFilterBar.d.ts.map +1 -1
- package/dist/data/test-runner/TestFilterBar.js +89 -95
- package/dist/data/test-runner/TestFilterBar.js.map +1 -1
- package/dist/data/test-runner/TestRunSummary.cjs +35 -21
- package/dist/data/test-runner/TestRunSummary.cjs.map +1 -1
- package/dist/data/test-runner/TestRunSummary.d.ts.map +1 -1
- package/dist/data/test-runner/TestRunSummary.js +35 -21
- package/dist/data/test-runner/TestRunSummary.js.map +1 -1
- package/dist/data/test-runner/TestRunner.cjs +52 -30
- package/dist/data/test-runner/TestRunner.cjs.map +1 -1
- package/dist/data/test-runner/TestRunner.d.ts +3 -2
- package/dist/data/test-runner/TestRunner.d.ts.map +1 -1
- package/dist/data/test-runner/TestRunner.js +52 -30
- package/dist/data/test-runner/TestRunner.js.map +1 -1
- package/dist/data/test-runner/TestTree.cjs +5 -2
- package/dist/data/test-runner/TestTree.cjs.map +1 -1
- package/dist/data/test-runner/TestTree.d.ts +5 -2
- package/dist/data/test-runner/TestTree.d.ts.map +1 -1
- package/dist/data/test-runner/TestTree.js +5 -2
- package/dist/data/test-runner/TestTree.js.map +1 -1
- package/dist/data/test-runner/TestTreeNode.cjs +27 -19
- package/dist/data/test-runner/TestTreeNode.cjs.map +1 -1
- package/dist/data/test-runner/TestTreeNode.d.ts.map +1 -1
- package/dist/data/test-runner/TestTreeNode.js +28 -20
- package/dist/data/test-runner/TestTreeNode.js.map +1 -1
- package/dist/data/test-runner/adapter.cjs +11 -0
- package/dist/data/test-runner/adapter.cjs.map +1 -1
- package/dist/data/test-runner/adapter.d.ts +18 -7
- package/dist/data/test-runner/adapter.d.ts.map +1 -1
- package/dist/data/test-runner/adapter.js +11 -0
- package/dist/data/test-runner/adapter.js.map +1 -1
- package/dist/data/test-runner/copy.cjs +114 -0
- package/dist/data/test-runner/copy.cjs.map +1 -0
- package/dist/data/test-runner/copy.d.ts +47 -0
- package/dist/data/test-runner/copy.d.ts.map +1 -0
- package/dist/data/test-runner/copy.js +114 -0
- package/dist/data/test-runner/copy.js.map +1 -0
- package/dist/data/test-runner/index.d.ts +5 -2
- package/dist/data/test-runner/index.d.ts.map +1 -1
- package/dist/data/test-runner/marks.cjs +143 -0
- package/dist/data/test-runner/marks.cjs.map +1 -0
- package/dist/data/test-runner/marks.d.ts +30 -0
- package/dist/data/test-runner/marks.d.ts.map +1 -0
- package/dist/data/test-runner/marks.js +143 -0
- package/dist/data/test-runner/marks.js.map +1 -0
- package/dist/data/test-runner/status.cjs +27 -44
- package/dist/data/test-runner/status.cjs.map +1 -1
- package/dist/data/test-runner/status.d.ts +12 -3
- package/dist/data/test-runner/status.d.ts.map +1 -1
- package/dist/data/test-runner/status.js +27 -44
- package/dist/data/test-runner/status.js.map +1 -1
- package/dist/data/verification/adapterViews.cjs +16 -41
- package/dist/data/verification/adapterViews.cjs.map +1 -1
- package/dist/data/verification/adapterViews.d.ts.map +1 -1
- package/dist/data/verification/adapterViews.js +16 -41
- package/dist/data/verification/adapterViews.js.map +1 -1
- package/dist/data/verification/adapters.cjs +115 -3
- package/dist/data/verification/adapters.cjs.map +1 -1
- package/dist/data/verification/adapters.d.ts.map +1 -1
- package/dist/data/verification/adapters.js +115 -3
- package/dist/data/verification/adapters.js.map +1 -1
- package/dist/data/verification/verifyReportTests.cjs.map +1 -1
- package/dist/data/verification/verifyReportTests.js.map +1 -1
- package/dist/data/version-info.cjs +3 -3
- package/dist/data/version-info.js +3 -3
- package/dist/data.cjs +44 -3
- package/dist/data.cjs.map +1 -1
- package/dist/data.d.ts +2 -0
- package/dist/data.d.ts.map +1 -1
- package/dist/data.js +45 -4
- package/dist/data.js.map +1 -1
- package/dist/icons/components/UiLogoEslint.cjs +10 -0
- package/dist/icons/components/UiLogoEslint.cjs.map +1 -0
- package/dist/icons/components/UiLogoEslint.d.ts +9 -0
- package/dist/icons/components/UiLogoEslint.d.ts.map +1 -0
- package/dist/icons/components/UiLogoEslint.js +10 -0
- package/dist/icons/components/UiLogoEslint.js.map +1 -0
- package/dist/icons/components/UiLogoGo.cjs +10 -0
- package/dist/icons/components/UiLogoGo.cjs.map +1 -0
- package/dist/icons/components/UiLogoGo.d.ts +9 -0
- package/dist/icons/components/UiLogoGo.d.ts.map +1 -0
- package/dist/icons/components/UiLogoGo.js +10 -0
- package/dist/icons/components/UiLogoGo.js.map +1 -0
- package/dist/icons/components/UiLogoJest.cjs +10 -0
- package/dist/icons/components/UiLogoJest.cjs.map +1 -0
- package/dist/icons/components/UiLogoJest.d.ts +9 -0
- package/dist/icons/components/UiLogoJest.d.ts.map +1 -0
- package/dist/icons/components/UiLogoJest.js +10 -0
- package/dist/icons/components/UiLogoJest.js.map +1 -0
- package/dist/icons/components/UiLogoMarkdown.cjs +10 -0
- package/dist/icons/components/UiLogoMarkdown.cjs.map +1 -0
- package/dist/icons/components/UiLogoMarkdown.d.ts +9 -0
- package/dist/icons/components/UiLogoMarkdown.d.ts.map +1 -0
- package/dist/icons/components/UiLogoMarkdown.js +10 -0
- package/dist/icons/components/UiLogoMarkdown.js.map +1 -0
- package/dist/icons/components/UiLogoOxc.cjs +10 -0
- package/dist/icons/components/UiLogoOxc.cjs.map +1 -0
- package/dist/icons/components/UiLogoOxc.d.ts +9 -0
- package/dist/icons/components/UiLogoOxc.d.ts.map +1 -0
- package/dist/icons/components/UiLogoOxc.js +10 -0
- package/dist/icons/components/UiLogoOxc.js.map +1 -0
- package/dist/icons/components/UiLogoPlaywright.cjs +10 -0
- package/dist/icons/components/UiLogoPlaywright.cjs.map +1 -0
- package/dist/icons/components/UiLogoPlaywright.d.ts +9 -0
- package/dist/icons/components/UiLogoPlaywright.d.ts.map +1 -0
- package/dist/icons/components/UiLogoPlaywright.js +10 -0
- package/dist/icons/components/UiLogoPlaywright.js.map +1 -0
- package/dist/icons/components/UiLogoPython.cjs +10 -0
- package/dist/icons/components/UiLogoPython.cjs.map +1 -0
- package/dist/icons/components/UiLogoPython.d.ts +9 -0
- package/dist/icons/components/UiLogoPython.d.ts.map +1 -0
- package/dist/icons/components/UiLogoPython.js +10 -0
- package/dist/icons/components/UiLogoPython.js.map +1 -0
- package/dist/icons/components/UiLogoReact.cjs +10 -0
- package/dist/icons/components/UiLogoReact.cjs.map +1 -0
- package/dist/icons/components/UiLogoReact.d.ts +9 -0
- package/dist/icons/components/UiLogoReact.d.ts.map +1 -0
- package/dist/icons/components/UiLogoReact.js +10 -0
- package/dist/icons/components/UiLogoReact.js.map +1 -0
- package/dist/icons/components/UiLogoRuff.cjs +10 -0
- package/dist/icons/components/UiLogoRuff.cjs.map +1 -0
- package/dist/icons/components/UiLogoRuff.d.ts +9 -0
- package/dist/icons/components/UiLogoRuff.d.ts.map +1 -0
- package/dist/icons/components/UiLogoRuff.js +10 -0
- package/dist/icons/components/UiLogoRuff.js.map +1 -0
- package/dist/icons/components/UiLogoTypescript.cjs +10 -0
- package/dist/icons/components/UiLogoTypescript.cjs.map +1 -0
- package/dist/icons/components/UiLogoTypescript.d.ts +9 -0
- package/dist/icons/components/UiLogoTypescript.d.ts.map +1 -0
- package/dist/icons/components/UiLogoTypescript.js +10 -0
- package/dist/icons/components/UiLogoTypescript.js.map +1 -0
- package/dist/icons/components/UiLogoVitest.cjs +10 -0
- package/dist/icons/components/UiLogoVitest.cjs.map +1 -0
- package/dist/icons/components/UiLogoVitest.d.ts +9 -0
- package/dist/icons/components/UiLogoVitest.d.ts.map +1 -0
- package/dist/icons/components/UiLogoVitest.js +10 -0
- package/dist/icons/components/UiLogoVitest.js.map +1 -0
- package/dist/icons/index.d.ts +11 -0
- package/dist/icons/index.d.ts.map +1 -1
- package/dist/icons/registry.cjs +22 -0
- package/dist/icons/registry.cjs.map +1 -1
- package/dist/icons/registry.d.ts.map +1 -1
- package/dist/icons/registry.js +22 -0
- package/dist/icons/registry.js.map +1 -1
- package/dist/icons.cjs +22 -0
- package/dist/icons.cjs.map +1 -1
- package/dist/icons.js +22 -0
- package/dist/icons.js.map +1 -1
- package/dist/index.cjs +44 -3
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +45 -4
- package/dist/index.js.map +1 -1
- package/dist/overlay/DropdownMenuSubmenu.cjs +4 -4
- package/dist/overlay/DropdownMenuSubmenu.cjs.map +1 -1
- package/dist/overlay/DropdownMenuSubmenu.js +4 -4
- package/dist/overlay/DropdownMenuSubmenu.js.map +1 -1
- package/dist/rpc/InlineError.cjs +12 -43
- package/dist/rpc/InlineError.cjs.map +1 -1
- package/dist/rpc/InlineError.d.ts.map +1 -1
- package/dist/rpc/InlineError.js +13 -44
- package/dist/rpc/InlineError.js.map +1 -1
- package/dist/rpc/OperationScheduleDialog.cjs +63 -10
- package/dist/rpc/OperationScheduleDialog.cjs.map +1 -1
- package/dist/rpc/OperationScheduleDialog.d.ts +4 -0
- package/dist/rpc/OperationScheduleDialog.d.ts.map +1 -1
- package/dist/rpc/OperationScheduleDialog.js +63 -10
- package/dist/rpc/OperationScheduleDialog.js.map +1 -1
- package/dist/rpc/OperationSchedules.cjs +12 -2
- package/dist/rpc/OperationSchedules.cjs.map +1 -1
- package/dist/rpc/OperationSchedules.d.ts.map +1 -1
- package/dist/rpc/OperationSchedules.js +12 -2
- package/dist/rpc/OperationSchedules.js.map +1 -1
- package/dist/rpc/operation-schedule-model.cjs +2 -0
- package/dist/rpc/operation-schedule-model.cjs.map +1 -1
- package/dist/rpc/operation-schedule-model.d.ts.map +1 -1
- package/dist/rpc/operation-schedule-model.js +2 -0
- package/dist/rpc/operation-schedule-model.js.map +1 -1
- package/dist/rpc/operation-schedule-types.d.ts +7 -1
- package/dist/rpc/operation-schedule-types.d.ts.map +1 -1
- package/dist/styles.css +1 -1
- package/package.json +1 -1
- package/dist/data/test-runner/frameworkIcon.cjs +0 -27
- package/dist/data/test-runner/frameworkIcon.cjs.map +0 -1
- package/dist/data/test-runner/frameworkIcon.d.ts +0 -3
- package/dist/data/test-runner/frameworkIcon.d.ts.map +0 -1
- package/dist/data/test-runner/frameworkIcon.js +0 -27
- package/dist/data/test-runner/frameworkIcon.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OperationSchedules.js","sources":["../../src/rpc/OperationSchedules.tsx"],"sourcesContent":["import { useState } from \"react\";\nimport { Button } from \"../components/button\";\nimport { Loading } from \"../components/loading\";\nimport { Modal } from \"../overlay/Modal\";\nimport {\n formatScheduleTimestamp,\n operationByID,\n operationLabel,\n} from \"./operation-schedule-model\";\nimport type { OperationSchedule } from \"./operation-schedule-types\";\nimport type { OperationSchedulesProps } from \"./operation-schedule-types\";\nimport { OperationScheduleDialog } from \"./OperationScheduleDialog\";\nimport { InlineError } from \"./InlineError\";\n\nexport function OperationSchedules(_props: OperationSchedulesProps) {\n const {\n operations,\n schedules,\n disabled,\n loading,\n onCreate,\n onUpdate,\n onDelete,\n onRunSaved,\n onRunDraft,\n cli,\n } = _props;\n const [dialogOpen, setDialogOpen] = useState(false);\n const [editing, setEditing] = useState<OperationSchedule>();\n const [confirmRun, setConfirmRun] = useState<OperationSchedule>();\n const [confirmDelete, setConfirmDelete] = useState<OperationSchedule>();\n const [pending, setPending] = useState<\"run\" | \"delete\">();\n const [error, setError] = useState<unknown>();\n\n const openAdd = () => {\n setEditing(undefined);\n setDialogOpen(true);\n };\n const openEdit = (schedule: OperationSchedule) => {\n setEditing(schedule);\n setDialogOpen(true);\n };\n\n const runSaved = async () => {\n if (!confirmRun) return;\n setPending(\"run\");\n setError(undefined);\n try {\n await onRunSaved(confirmRun.id);\n setConfirmRun(undefined);\n } catch (nextError) {\n setError(nextError);\n } finally {\n setPending(undefined);\n }\n };\n\n const deleteSaved = async () => {\n if (!confirmDelete) return;\n setPending(\"delete\");\n setError(undefined);\n try {\n await onDelete(confirmDelete.id);\n setConfirmDelete(undefined);\n } catch (nextError) {\n setError(nextError);\n } finally {\n setPending(undefined);\n }\n };\n\n if (loading) return <Loading variant=\"centered\" label=\"Loading schedules…\" />;\n\n return (\n <div className=\"space-y-3\">\n <div className=\"flex justify-end\">\n <Button type=\"button\" disabled={disabled} onClick={openAdd}>\n Add schedule\n </Button>\n </div>\n {error ? (\n <InlineError title=\"Schedule action failed\" error={error} />\n ) : null}\n {schedules.length === 0 ? (\n <div className=\"rounded-lg border border-dashed px-4 py-8 text-center text-sm text-muted-foreground\">\n No schedules yet. Add one to run an operation automatically.\n </div>\n ) : (\n <div\n role=\"list\"\n aria-label=\"Schedules\"\n className=\"divide-y rounded-lg border bg-card\"\n >\n {schedules.map((schedule) => {\n const operation = operationByID(operations, schedule.operationId);\n return (\n <div\n key={schedule.id}\n role=\"listitem\"\n className=\"grid gap-3 px-4 py-3 lg:grid-cols-[minmax(12rem,1.1fr)_minmax(12rem,1fr)_minmax(14rem,1fr)_auto] lg:items-center\"\n >\n <div className=\"min-w-0\">\n <div className=\"truncate font-semibold\">{schedule.name}</div>\n <div className=\"truncate text-xs text-muted-foreground\">\n {operationLabel(operation)}\n </div>\n </div>\n <div className=\"min-w-0 text-sm\">\n <code>{schedule.cron}</code>\n <div className=\"text-xs text-muted-foreground\">\n {schedule.timezone}\n </div>\n </div>\n <div className=\"text-xs text-muted-foreground\">\n <div>\n {schedule.enabled\n ? `Next: ${formatScheduleTimestamp(schedule.nextRun)}`\n : \"Paused\"}\n </div>\n {schedule.lastRun ? (\n <div>Last: {formatScheduleTimestamp(schedule.lastRun)}</div>\n ) : null}\n </div>\n <div className=\"flex flex-wrap justify-end gap-2\">\n <Button\n type=\"button\"\n size=\"sm\"\n variant=\"outline\"\n disabled={disabled}\n aria-label={`Run ${schedule.name} now`}\n onClick={() => setConfirmRun(schedule)}\n >\n Run now\n </Button>\n <Button\n type=\"button\"\n size=\"sm\"\n variant=\"outline\"\n disabled={disabled}\n onClick={() => openEdit(schedule)}\n >\n Edit\n </Button>\n <Button\n type=\"button\"\n size=\"sm\"\n variant=\"ghost\"\n disabled={disabled}\n onClick={() => setConfirmDelete(schedule)}\n >\n Delete\n </Button>\n </div>\n </div>\n );\n })}\n </div>\n )}\n <OperationScheduleDialog\n open={dialogOpen}\n operations={operations}\n {...(editing ? { schedule: editing } : {})}\n onClose={() => setDialogOpen(false)}\n onSave={(input) =>\n editing ? onUpdate(editing.id, input) : onCreate(input)\n }\n onRunNow={onRunDraft}\n {...(cli ? { cli } : {})}\n />\n <Modal\n open={Boolean(confirmRun)}\n onClose={() => setConfirmRun(undefined)}\n title={confirmRun ? `Run ${confirmRun.name} now?` : \"Run schedule now?\"}\n size=\"sm\"\n footer={\n <div className=\"flex w-full justify-end gap-2\">\n <Button\n type=\"button\"\n variant=\"outline\"\n onClick={() => setConfirmRun(undefined)}\n >\n Cancel\n </Button>\n <Button\n type=\"button\"\n loading={pending === \"run\"}\n onClick={runSaved}\n >\n Run now\n </Button>\n </div>\n }\n >\n <p className=\"text-sm text-muted-foreground\">\n The recurring schedule is unchanged.\n </p>\n </Modal>\n <Modal\n open={Boolean(confirmDelete)}\n onClose={() => setConfirmDelete(undefined)}\n title={\n confirmDelete ? `Delete ${confirmDelete.name}?` : \"Delete schedule?\"\n }\n size=\"sm\"\n footer={\n <div className=\"flex w-full justify-end gap-2\">\n <Button\n type=\"button\"\n variant=\"outline\"\n onClick={() => setConfirmDelete(undefined)}\n >\n Cancel\n </Button>\n <Button\n type=\"button\"\n variant=\"destructive\"\n loading={pending === \"delete\"}\n onClick={deleteSaved}\n >\n Delete schedule\n </Button>\n </div>\n }\n >\n <p className=\"text-sm text-muted-foreground\">\n This removes the recurring definition. Previous run history is\n retained.\n </p>\n </Modal>\n </div>\n );\n}\n"],"names":[],"mappings":";;;;;;;;AAcO,SAAS,mBAAmB,QAAiC;AAClE,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA,IACE;AACJ,QAAM,CAAC,YAAY,aAAa,IAAI,SAAS,KAAK;AAClD,QAAM,CAAC,SAAS,UAAU,IAAI,SAAA;AAC9B,QAAM,CAAC,YAAY,aAAa,IAAI,SAAA;AACpC,QAAM,CAAC,eAAe,gBAAgB,IAAI,SAAA;AAC1C,QAAM,CAAC,SAAS,UAAU,IAAI,SAAA;AAC9B,QAAM,CAAC,OAAO,QAAQ,IAAI,SAAA;AAE1B,QAAM,UAAU,MAAM;AACpB,eAAW,MAAS;AACpB,kBAAc,IAAI;AAAA,EACpB;AACA,QAAM,WAAW,CAAC,aAAgC;AAChD,eAAW,QAAQ;AACnB,kBAAc,IAAI;AAAA,EACpB;AAEA,QAAM,WAAW,YAAY;AAC3B,QAAI,CAAC,WAAY;AACjB,eAAW,KAAK;AAChB,aAAS,MAAS;AAClB,QAAI;AACF,YAAM,WAAW,WAAW,EAAE;AAC9B,oBAAc,MAAS;AAAA,IACzB,SAAS,WAAW;AAClB,eAAS,SAAS;AAAA,IACpB,UAAA;AACE,iBAAW,MAAS;AAAA,IACtB;AAAA,EACF;AAEA,QAAM,cAAc,YAAY;AAC9B,QAAI,CAAC,cAAe;AACpB,eAAW,QAAQ;AACnB,aAAS,MAAS;AAClB,QAAI;AACF,YAAM,SAAS,cAAc,EAAE;AAC/B,uBAAiB,MAAS;AAAA,IAC5B,SAAS,WAAW;AAClB,eAAS,SAAS;AAAA,IACpB,UAAA;AACE,iBAAW,MAAS;AAAA,IACtB;AAAA,EACF;AAEA,MAAI,QAAS,QAAO,oBAAC,WAAQ,SAAQ,YAAW,OAAM,sBAAqB;AAE3E,SACE,qBAAC,OAAA,EAAI,WAAU,aACb,UAAA;AAAA,IAAA,oBAAC,OAAA,EAAI,WAAU,oBACb,UAAA,oBAAC,QAAA,EAAO,MAAK,UAAS,UAAoB,SAAS,SAAS,UAAA,eAAA,CAE5D,GACF;AAAA,IACC,QACC,oBAAC,aAAA,EAAY,OAAM,0BAAyB,OAAc,IACxD;AAAA,IACH,UAAU,WAAW,IACpB,oBAAC,SAAI,WAAU,uFAAsF,0EAErG,IAEA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,MAAK;AAAA,QACL,cAAW;AAAA,QACX,WAAU;AAAA,QAET,UAAA,UAAU,IAAI,CAAC,aAAa;AAC3B,gBAAM,YAAY,cAAc,YAAY,SAAS,WAAW;AAChE,iBACE;AAAA,YAAC;AAAA,YAAA;AAAA,cAEC,MAAK;AAAA,cACL,WAAU;AAAA,cAEV,UAAA;AAAA,gBAAA,qBAAC,OAAA,EAAI,WAAU,WACb,UAAA;AAAA,kBAAA,oBAAC,OAAA,EAAI,WAAU,0BAA0B,UAAA,SAAS,MAAK;AAAA,sCACtD,OAAA,EAAI,WAAU,0CACZ,UAAA,eAAe,SAAS,EAAA,CAC3B;AAAA,gBAAA,GACF;AAAA,gBACA,qBAAC,OAAA,EAAI,WAAU,mBACb,UAAA;AAAA,kBAAA,oBAAC,QAAA,EAAM,mBAAS,KAAA,CAAK;AAAA,kBACrB,oBAAC,OAAA,EAAI,WAAU,iCACZ,mBAAS,SAAA,CACZ;AAAA,gBAAA,GACF;AAAA,gBACA,qBAAC,OAAA,EAAI,WAAU,iCACb,UAAA;AAAA,kBAAA,oBAAC,OAAA,EACE,mBAAS,UACN,SAAS,wBAAwB,SAAS,OAAO,CAAC,KAClD,SAAA,CACN;AAAA,kBACC,SAAS,UACR,qBAAC,OAAA,EAAI,UAAA;AAAA,oBAAA;AAAA,oBAAO,wBAAwB,SAAS,OAAO;AAAA,kBAAA,EAAA,CAAE,IACpD;AAAA,gBAAA,GACN;AAAA,gBACA,qBAAC,OAAA,EAAI,WAAU,oCACb,UAAA;AAAA,kBAAA;AAAA,oBAAC;AAAA,oBAAA;AAAA,sBACC,MAAK;AAAA,sBACL,MAAK;AAAA,sBACL,SAAQ;AAAA,sBACR;AAAA,sBACA,cAAY,OAAO,SAAS,IAAI;AAAA,sBAChC,SAAS,MAAM,cAAc,QAAQ;AAAA,sBACtC,UAAA;AAAA,oBAAA;AAAA,kBAAA;AAAA,kBAGD;AAAA,oBAAC;AAAA,oBAAA;AAAA,sBACC,MAAK;AAAA,sBACL,MAAK;AAAA,sBACL,SAAQ;AAAA,sBACR;AAAA,sBACA,SAAS,MAAM,SAAS,QAAQ;AAAA,sBACjC,UAAA;AAAA,oBAAA;AAAA,kBAAA;AAAA,kBAGD;AAAA,oBAAC;AAAA,oBAAA;AAAA,sBACC,MAAK;AAAA,sBACL,MAAK;AAAA,sBACL,SAAQ;AAAA,sBACR;AAAA,sBACA,SAAS,MAAM,iBAAiB,QAAQ;AAAA,sBACzC,UAAA;AAAA,oBAAA;AAAA,kBAAA;AAAA,gBAED,EAAA,CACF;AAAA,cAAA;AAAA,YAAA;AAAA,YAvDK,SAAS;AAAA,UAAA;AAAA,QA0DpB,CAAC;AAAA,MAAA;AAAA,IAAA;AAAA,IAGL;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,MAAM;AAAA,QACN;AAAA,QACC,GAAI,UAAU,EAAE,UAAU,QAAA,IAAY,CAAA;AAAA,QACvC,SAAS,MAAM,cAAc,KAAK;AAAA,QAClC,QAAQ,CAAC,UACP,UAAU,SAAS,QAAQ,IAAI,KAAK,IAAI,SAAS,KAAK;AAAA,QAExD,UAAU;AAAA,QACT,GAAI,MAAM,EAAE,QAAQ,CAAA;AAAA,MAAC;AAAA,IAAA;AAAA,IAExB;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,MAAM,QAAQ,UAAU;AAAA,QACxB,SAAS,MAAM,cAAc,MAAS;AAAA,QACtC,OAAO,aAAa,OAAO,WAAW,IAAI,UAAU;AAAA,QACpD,MAAK;AAAA,QACL,QACE,qBAAC,OAAA,EAAI,WAAU,iCACb,UAAA;AAAA,UAAA;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,MAAK;AAAA,cACL,SAAQ;AAAA,cACR,SAAS,MAAM,cAAc,MAAS;AAAA,cACvC,UAAA;AAAA,YAAA;AAAA,UAAA;AAAA,UAGD;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,MAAK;AAAA,cACL,SAAS,YAAY;AAAA,cACrB,SAAS;AAAA,cACV,UAAA;AAAA,YAAA;AAAA,UAAA;AAAA,QAED,GACF;AAAA,QAGF,UAAA,oBAAC,KAAA,EAAE,WAAU,iCAAgC,UAAA,uCAAA,CAE7C;AAAA,MAAA;AAAA,IAAA;AAAA,IAEF;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,MAAM,QAAQ,aAAa;AAAA,QAC3B,SAAS,MAAM,iBAAiB,MAAS;AAAA,QACzC,OACE,gBAAgB,UAAU,cAAc,IAAI,MAAM;AAAA,QAEpD,MAAK;AAAA,QACL,QACE,qBAAC,OAAA,EAAI,WAAU,iCACb,UAAA;AAAA,UAAA;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,MAAK;AAAA,cACL,SAAQ;AAAA,cACR,SAAS,MAAM,iBAAiB,MAAS;AAAA,cAC1C,UAAA;AAAA,YAAA;AAAA,UAAA;AAAA,UAGD;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,MAAK;AAAA,cACL,SAAQ;AAAA,cACR,SAAS,YAAY;AAAA,cACrB,SAAS;AAAA,cACV,UAAA;AAAA,YAAA;AAAA,UAAA;AAAA,QAED,GACF;AAAA,QAGF,UAAA,oBAAC,KAAA,EAAE,WAAU,iCAAgC,UAAA,2EAAA,CAG7C;AAAA,MAAA;AAAA,IAAA;AAAA,EACF,GACF;AAEJ;"}
|
|
1
|
+
{"version":3,"file":"OperationSchedules.js","sources":["../../src/rpc/OperationSchedules.tsx"],"sourcesContent":["import { useState } from \"react\";\nimport { Button } from \"../components/button\";\nimport { Loading } from \"../components/loading\";\nimport { Modal } from \"../overlay/Modal\";\nimport {\n formatScheduleTimestamp,\n operationByID,\n operationLabel,\n} from \"./operation-schedule-model\";\nimport type { OperationSchedule } from \"./operation-schedule-types\";\nimport type { OperationSchedulesProps } from \"./operation-schedule-types\";\nimport { OperationScheduleDialog } from \"./OperationScheduleDialog\";\nimport { InlineError } from \"./InlineError\";\n\nexport function OperationSchedules(_props: OperationSchedulesProps) {\n const {\n operations,\n schedules,\n disabled,\n loading,\n onCreate,\n onUpdate,\n onDelete,\n onRunSaved,\n onRunDraft,\n cli,\n targetOptions,\n defaultTargets,\n targetLabel,\n } = _props;\n const [dialogOpen, setDialogOpen] = useState(false);\n const [editing, setEditing] = useState<OperationSchedule>();\n const [confirmRun, setConfirmRun] = useState<OperationSchedule>();\n const [confirmDelete, setConfirmDelete] = useState<OperationSchedule>();\n const [pending, setPending] = useState<\"run\" | \"delete\">();\n const [error, setError] = useState<unknown>();\n\n const openAdd = () => {\n setEditing(undefined);\n setDialogOpen(true);\n };\n const openEdit = (schedule: OperationSchedule) => {\n setEditing(schedule);\n setDialogOpen(true);\n };\n\n const runSaved = async () => {\n if (!confirmRun) return;\n setPending(\"run\");\n setError(undefined);\n try {\n await onRunSaved(confirmRun.id);\n setConfirmRun(undefined);\n } catch (nextError) {\n setError(nextError);\n } finally {\n setPending(undefined);\n }\n };\n\n const deleteSaved = async () => {\n if (!confirmDelete) return;\n setPending(\"delete\");\n setError(undefined);\n try {\n await onDelete(confirmDelete.id);\n setConfirmDelete(undefined);\n } catch (nextError) {\n setError(nextError);\n } finally {\n setPending(undefined);\n }\n };\n\n if (loading) return <Loading variant=\"centered\" label=\"Loading schedules…\" />;\n\n return (\n <div className=\"space-y-3\">\n <div className=\"flex justify-end\">\n <Button type=\"button\" disabled={disabled} onClick={openAdd}>\n Add schedule\n </Button>\n </div>\n {error ? (\n <InlineError title=\"Schedule action failed\" error={error} />\n ) : null}\n {schedules.length === 0 ? (\n <div className=\"rounded-lg border border-dashed px-4 py-8 text-center text-sm text-muted-foreground\">\n No schedules yet. Add one to run an operation automatically.\n </div>\n ) : (\n <div\n role=\"list\"\n aria-label=\"Schedules\"\n className=\"divide-y rounded-lg border bg-card\"\n >\n {schedules.map((schedule) => {\n const operation = operationByID(operations, schedule.operationId);\n return (\n <div\n key={schedule.id}\n role=\"listitem\"\n className=\"grid gap-3 px-4 py-3 lg:grid-cols-[minmax(12rem,1.1fr)_minmax(12rem,1fr)_minmax(14rem,1fr)_auto] lg:items-center\"\n >\n <div className=\"min-w-0\">\n <div className=\"truncate font-semibold\">{schedule.name}</div>\n <div className=\"text-xs text-muted-foreground\">{schedule.targets.join(\", \")}</div>\n <div className=\"truncate text-xs text-muted-foreground\">\n {operationLabel(operation)}\n </div>\n </div>\n <div className=\"min-w-0 text-sm\">\n <code>{schedule.cron}</code>\n <div className=\"text-xs text-muted-foreground\">\n {schedule.timezone}\n </div>\n </div>\n <div className=\"text-xs text-muted-foreground\">\n <div>\n {schedule.enabled\n ? `Next: ${formatScheduleTimestamp(schedule.nextRun)}`\n : \"Paused\"}\n </div>\n {schedule.lastRun ? (\n <div>Last: {formatScheduleTimestamp(schedule.lastRun)}</div>\n ) : null}\n </div>\n <div className=\"flex flex-wrap justify-end gap-2\">\n <Button\n type=\"button\"\n size=\"sm\"\n variant=\"outline\"\n disabled={disabled}\n aria-label={`Run ${schedule.name} now`}\n onClick={() => setConfirmRun(schedule)}\n >\n Run now\n </Button>\n <Button\n type=\"button\"\n size=\"sm\"\n variant=\"outline\"\n disabled={disabled}\n onClick={() => openEdit(schedule)}\n >\n Edit\n </Button>\n <Button\n type=\"button\"\n size=\"sm\"\n variant=\"ghost\"\n disabled={disabled}\n onClick={() => setConfirmDelete(schedule)}\n >\n Delete\n </Button>\n </div>\n </div>\n );\n })}\n </div>\n )}\n <OperationScheduleDialog\n open={dialogOpen}\n operations={operations}\n targetOptions={targetOptions}\n {...(defaultTargets ? { defaultTargets } : {})}\n {...(targetLabel ? { targetLabel } : {})}\n {...(editing ? { schedule: editing } : {})}\n onClose={() => setDialogOpen(false)}\n onSave={(input) =>\n editing ? onUpdate(editing.id, input) : onCreate(input)\n }\n onRunNow={onRunDraft}\n {...(cli ? { cli } : {})}\n />\n <Modal\n open={Boolean(confirmRun)}\n onClose={() => setConfirmRun(undefined)}\n title={confirmRun ? `Run ${confirmRun.name} now?` : \"Run schedule now?\"}\n size=\"sm\"\n footer={\n <div className=\"flex w-full justify-end gap-2\">\n <Button\n type=\"button\"\n variant=\"outline\"\n onClick={() => setConfirmRun(undefined)}\n >\n Cancel\n </Button>\n <Button\n type=\"button\"\n loading={pending === \"run\"}\n onClick={runSaved}\n >\n Run now\n </Button>\n </div>\n }\n >\n <p className=\"text-sm text-muted-foreground\">\n The recurring schedule is unchanged.\n {confirmRun ? ` Targets: ${confirmRun.targets.join(\", \")}.` : \"\"}\n </p>\n </Modal>\n <Modal\n open={Boolean(confirmDelete)}\n onClose={() => setConfirmDelete(undefined)}\n title={\n confirmDelete ? `Delete ${confirmDelete.name}?` : \"Delete schedule?\"\n }\n size=\"sm\"\n footer={\n <div className=\"flex w-full justify-end gap-2\">\n <Button\n type=\"button\"\n variant=\"outline\"\n onClick={() => setConfirmDelete(undefined)}\n >\n Cancel\n </Button>\n <Button\n type=\"button\"\n variant=\"destructive\"\n loading={pending === \"delete\"}\n onClick={deleteSaved}\n >\n Delete schedule\n </Button>\n </div>\n }\n >\n <p className=\"text-sm text-muted-foreground\">\n This removes the recurring definition. Previous run history is\n retained.\n </p>\n </Modal>\n </div>\n );\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -25,6 +25,7 @@ function newOperationScheduleInput() {
|
|
|
25
25
|
return {
|
|
26
26
|
name: "",
|
|
27
27
|
operationId: "",
|
|
28
|
+
targets: [],
|
|
28
29
|
args: {},
|
|
29
30
|
cron: scheduleTypes.DEFAULT_CRON,
|
|
30
31
|
timezone: Intl.DateTimeFormat().resolvedOptions().timeZone || "UTC",
|
|
@@ -35,6 +36,7 @@ function scheduleToInput(schedule) {
|
|
|
35
36
|
return {
|
|
36
37
|
name: schedule.name,
|
|
37
38
|
operationId: schedule.operationId,
|
|
39
|
+
targets: [...schedule.targets],
|
|
38
40
|
args: schedule.args,
|
|
39
41
|
cron: schedule.cron,
|
|
40
42
|
timezone: schedule.timezone,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"operation-schedule-model.cjs","sources":["../../src/rpc/operation-schedule-model.ts"],"sourcesContent":["import type { JsonSchemaObject } from \"../components/json-schema-form-types\";\nimport { DEFAULT_CRON } from \"../components/schedule-types\";\nimport type { OperationSchedule, OperationScheduleInput } from \"./operation-schedule-types\";\nimport type { ResolvedOperation } from \"./types\";\n\nexport function schedulableOperations(\n operations: readonly ResolvedOperation[],\n): ResolvedOperation[] {\n return operations.filter(\n ({ operation }) => Boolean(operation.operationId && operation[\"x-clicky\"]?.schedule),\n );\n}\n\nexport function operationLabel(operation: ResolvedOperation | undefined): string {\n return operation?.operation.summary ?? operation?.operation.operationId ?? \"Unknown operation\";\n}\n\nexport function operationByID(\n operations: readonly ResolvedOperation[],\n operationID: string,\n): ResolvedOperation | undefined {\n return operations.find(({ operation }) => operation.operationId === operationID);\n}\n\nexport function operationInputSchema(\n operation: ResolvedOperation | undefined,\n): JsonSchemaObject | undefined {\n const schema = operation?.operation.requestBody?.content?.[\"application/json\"]?.schema;\n if (!schema || schema.type !== \"object\") return undefined;\n return schema as JsonSchemaObject;\n}\n\nexport function newOperationScheduleInput(): OperationScheduleInput {\n return {\n name: \"\",\n operationId: \"\",\n args: {},\n cron: DEFAULT_CRON,\n timezone: Intl.DateTimeFormat().resolvedOptions().timeZone || \"UTC\",\n enabled: true,\n };\n}\n\nexport function scheduleToInput(schedule: OperationSchedule): OperationScheduleInput {\n return {\n name: schedule.name,\n operationId: schedule.operationId,\n args: schedule.args,\n cron: schedule.cron,\n timezone: schedule.timezone,\n enabled: schedule.enabled,\n };\n}\n\nexport function formatScheduleTimestamp(value: string | undefined): string {\n if (!value) return \"Never\";\n const timestamp = new Date(value);\n return Number.isNaN(timestamp.getTime()) ? value : timestamp.toLocaleString();\n}\n"],"names":["DEFAULT_CRON"],"mappings":";;;AAKO,SAAS,sBACd,YACqB;AACrB,SAAO,WAAW;AAAA,IAChB,CAAC,EAAE,UAAA,MAAU;;AAAM,qBAAQ,UAAU,iBAAe,eAAU,UAAU,MAApB,mBAAuB,SAAQ;AAAA;AAAA,EAAA;AAEvF;AAEO,SAAS,eAAe,WAAkD;AAC/E,UAAO,uCAAW,UAAU,aAAW,uCAAW,UAAU,gBAAe;AAC7E;AAEO,SAAS,cACd,YACA,aAC+B;AAC/B,SAAO,WAAW,KAAK,CAAC,EAAE,gBAAgB,UAAU,gBAAgB,WAAW;AACjF;AAEO,SAAS,qBACd,WAC8B;;AAC9B,QAAM,UAAS,wDAAW,UAAU,gBAArB,mBAAkC,YAAlC,mBAA4C,wBAA5C,mBAAiE;AAChF,MAAI,CAAC,UAAU,OAAO,SAAS,SAAU,QAAO;AAChD,SAAO;AACT;AAEO,SAAS,4BAAoD;AAClE,SAAO;AAAA,IACL,MAAM;AAAA,IACN,aAAa;AAAA,IACb,MAAM,CAAA;AAAA,IACN,MAAMA,cAAAA;AAAAA,IACN,UAAU,KAAK,eAAA,EAAiB,gBAAA,EAAkB,YAAY;AAAA,IAC9D,SAAS;AAAA,EAAA;AAEb;AAEO,SAAS,gBAAgB,UAAqD;AACnF,SAAO;AAAA,IACL,MAAM,SAAS;AAAA,IACf,aAAa,SAAS;AAAA,IACtB,MAAM,SAAS;AAAA,IACf,MAAM,SAAS;AAAA,IACf,UAAU,SAAS;AAAA,IACnB,SAAS,SAAS;AAAA,EAAA;AAEtB;AAEO,SAAS,wBAAwB,OAAmC;AACzE,MAAI,CAAC,MAAO,QAAO;AACnB,QAAM,YAAY,IAAI,KAAK,KAAK;AAChC,SAAO,OAAO,MAAM,UAAU,QAAA,CAAS,IAAI,QAAQ,UAAU,eAAA;AAC/D;;;;;;;;"}
|
|
1
|
+
{"version":3,"file":"operation-schedule-model.cjs","sources":["../../src/rpc/operation-schedule-model.ts"],"sourcesContent":["import type { JsonSchemaObject } from \"../components/json-schema-form-types\";\nimport { DEFAULT_CRON } from \"../components/schedule-types\";\nimport type { OperationSchedule, OperationScheduleInput } from \"./operation-schedule-types\";\nimport type { ResolvedOperation } from \"./types\";\n\nexport function schedulableOperations(\n operations: readonly ResolvedOperation[],\n): ResolvedOperation[] {\n return operations.filter(\n ({ operation }) => Boolean(operation.operationId && operation[\"x-clicky\"]?.schedule),\n );\n}\n\nexport function operationLabel(operation: ResolvedOperation | undefined): string {\n return operation?.operation.summary ?? operation?.operation.operationId ?? \"Unknown operation\";\n}\n\nexport function operationByID(\n operations: readonly ResolvedOperation[],\n operationID: string,\n): ResolvedOperation | undefined {\n return operations.find(({ operation }) => operation.operationId === operationID);\n}\n\nexport function operationInputSchema(\n operation: ResolvedOperation | undefined,\n): JsonSchemaObject | undefined {\n const schema = operation?.operation.requestBody?.content?.[\"application/json\"]?.schema;\n if (!schema || schema.type !== \"object\") return undefined;\n return schema as JsonSchemaObject;\n}\n\nexport function newOperationScheduleInput(): OperationScheduleInput {\n return {\n name: \"\",\n operationId: \"\",\n targets: [],\n args: {},\n cron: DEFAULT_CRON,\n timezone: Intl.DateTimeFormat().resolvedOptions().timeZone || \"UTC\",\n enabled: true,\n };\n}\n\nexport function scheduleToInput(schedule: OperationSchedule): OperationScheduleInput {\n return {\n name: schedule.name,\n operationId: schedule.operationId,\n targets: [...schedule.targets],\n args: schedule.args,\n cron: schedule.cron,\n timezone: schedule.timezone,\n enabled: schedule.enabled,\n };\n}\n\nexport function formatScheduleTimestamp(value: string | undefined): string {\n if (!value) return \"Never\";\n const timestamp = new Date(value);\n return Number.isNaN(timestamp.getTime()) ? value : timestamp.toLocaleString();\n}\n"],"names":["DEFAULT_CRON"],"mappings":";;;AAKO,SAAS,sBACd,YACqB;AACrB,SAAO,WAAW;AAAA,IAChB,CAAC,EAAE,UAAA,MAAU;;AAAM,qBAAQ,UAAU,iBAAe,eAAU,UAAU,MAApB,mBAAuB,SAAQ;AAAA;AAAA,EAAA;AAEvF;AAEO,SAAS,eAAe,WAAkD;AAC/E,UAAO,uCAAW,UAAU,aAAW,uCAAW,UAAU,gBAAe;AAC7E;AAEO,SAAS,cACd,YACA,aAC+B;AAC/B,SAAO,WAAW,KAAK,CAAC,EAAE,gBAAgB,UAAU,gBAAgB,WAAW;AACjF;AAEO,SAAS,qBACd,WAC8B;;AAC9B,QAAM,UAAS,wDAAW,UAAU,gBAArB,mBAAkC,YAAlC,mBAA4C,wBAA5C,mBAAiE;AAChF,MAAI,CAAC,UAAU,OAAO,SAAS,SAAU,QAAO;AAChD,SAAO;AACT;AAEO,SAAS,4BAAoD;AAClE,SAAO;AAAA,IACL,MAAM;AAAA,IACN,aAAa;AAAA,IACb,SAAS,CAAA;AAAA,IACT,MAAM,CAAA;AAAA,IACN,MAAMA,cAAAA;AAAAA,IACN,UAAU,KAAK,eAAA,EAAiB,gBAAA,EAAkB,YAAY;AAAA,IAC9D,SAAS;AAAA,EAAA;AAEb;AAEO,SAAS,gBAAgB,UAAqD;AACnF,SAAO;AAAA,IACL,MAAM,SAAS;AAAA,IACf,aAAa,SAAS;AAAA,IACtB,SAAS,CAAC,GAAG,SAAS,OAAO;AAAA,IAC7B,MAAM,SAAS;AAAA,IACf,MAAM,SAAS;AAAA,IACf,UAAU,SAAS;AAAA,IACnB,SAAS,SAAS;AAAA,EAAA;AAEtB;AAEO,SAAS,wBAAwB,OAAmC;AACzE,MAAI,CAAC,MAAO,QAAO;AACnB,QAAM,YAAY,IAAI,KAAK,KAAK;AAChC,SAAO,OAAO,MAAM,UAAU,QAAA,CAAS,IAAI,QAAQ,UAAU,eAAA;AAC/D;;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"operation-schedule-model.d.ts","sourceRoot":"","sources":["../../src/rpc/operation-schedule-model.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AAE7E,OAAO,KAAK,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AAC5F,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAEjD,wBAAgB,qBAAqB,CACnC,UAAU,EAAE,SAAS,iBAAiB,EAAE,GACvC,iBAAiB,EAAE,CAIrB;AAED,wBAAgB,cAAc,CAAC,SAAS,EAAE,iBAAiB,GAAG,SAAS,GAAG,MAAM,CAE/E;AAED,wBAAgB,aAAa,CAC3B,UAAU,EAAE,SAAS,iBAAiB,EAAE,EACxC,WAAW,EAAE,MAAM,GAClB,iBAAiB,GAAG,SAAS,CAE/B;AAED,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,iBAAiB,GAAG,SAAS,GACvC,gBAAgB,GAAG,SAAS,CAI9B;AAED,wBAAgB,yBAAyB,IAAI,sBAAsB,
|
|
1
|
+
{"version":3,"file":"operation-schedule-model.d.ts","sourceRoot":"","sources":["../../src/rpc/operation-schedule-model.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AAE7E,OAAO,KAAK,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AAC5F,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAEjD,wBAAgB,qBAAqB,CACnC,UAAU,EAAE,SAAS,iBAAiB,EAAE,GACvC,iBAAiB,EAAE,CAIrB;AAED,wBAAgB,cAAc,CAAC,SAAS,EAAE,iBAAiB,GAAG,SAAS,GAAG,MAAM,CAE/E;AAED,wBAAgB,aAAa,CAC3B,UAAU,EAAE,SAAS,iBAAiB,EAAE,EACxC,WAAW,EAAE,MAAM,GAClB,iBAAiB,GAAG,SAAS,CAE/B;AAED,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,iBAAiB,GAAG,SAAS,GACvC,gBAAgB,GAAG,SAAS,CAI9B;AAED,wBAAgB,yBAAyB,IAAI,sBAAsB,CAUlE;AAED,wBAAgB,eAAe,CAAC,QAAQ,EAAE,iBAAiB,GAAG,sBAAsB,CAUnF;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAIzE"}
|
|
@@ -23,6 +23,7 @@ function newOperationScheduleInput() {
|
|
|
23
23
|
return {
|
|
24
24
|
name: "",
|
|
25
25
|
operationId: "",
|
|
26
|
+
targets: [],
|
|
26
27
|
args: {},
|
|
27
28
|
cron: DEFAULT_CRON,
|
|
28
29
|
timezone: Intl.DateTimeFormat().resolvedOptions().timeZone || "UTC",
|
|
@@ -33,6 +34,7 @@ function scheduleToInput(schedule) {
|
|
|
33
34
|
return {
|
|
34
35
|
name: schedule.name,
|
|
35
36
|
operationId: schedule.operationId,
|
|
37
|
+
targets: [...schedule.targets],
|
|
36
38
|
args: schedule.args,
|
|
37
39
|
cron: schedule.cron,
|
|
38
40
|
timezone: schedule.timezone,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"operation-schedule-model.js","sources":["../../src/rpc/operation-schedule-model.ts"],"sourcesContent":["import type { JsonSchemaObject } from \"../components/json-schema-form-types\";\nimport { DEFAULT_CRON } from \"../components/schedule-types\";\nimport type { OperationSchedule, OperationScheduleInput } from \"./operation-schedule-types\";\nimport type { ResolvedOperation } from \"./types\";\n\nexport function schedulableOperations(\n operations: readonly ResolvedOperation[],\n): ResolvedOperation[] {\n return operations.filter(\n ({ operation }) => Boolean(operation.operationId && operation[\"x-clicky\"]?.schedule),\n );\n}\n\nexport function operationLabel(operation: ResolvedOperation | undefined): string {\n return operation?.operation.summary ?? operation?.operation.operationId ?? \"Unknown operation\";\n}\n\nexport function operationByID(\n operations: readonly ResolvedOperation[],\n operationID: string,\n): ResolvedOperation | undefined {\n return operations.find(({ operation }) => operation.operationId === operationID);\n}\n\nexport function operationInputSchema(\n operation: ResolvedOperation | undefined,\n): JsonSchemaObject | undefined {\n const schema = operation?.operation.requestBody?.content?.[\"application/json\"]?.schema;\n if (!schema || schema.type !== \"object\") return undefined;\n return schema as JsonSchemaObject;\n}\n\nexport function newOperationScheduleInput(): OperationScheduleInput {\n return {\n name: \"\",\n operationId: \"\",\n args: {},\n cron: DEFAULT_CRON,\n timezone: Intl.DateTimeFormat().resolvedOptions().timeZone || \"UTC\",\n enabled: true,\n };\n}\n\nexport function scheduleToInput(schedule: OperationSchedule): OperationScheduleInput {\n return {\n name: schedule.name,\n operationId: schedule.operationId,\n args: schedule.args,\n cron: schedule.cron,\n timezone: schedule.timezone,\n enabled: schedule.enabled,\n };\n}\n\nexport function formatScheduleTimestamp(value: string | undefined): string {\n if (!value) return \"Never\";\n const timestamp = new Date(value);\n return Number.isNaN(timestamp.getTime()) ? value : timestamp.toLocaleString();\n}\n"],"names":[],"mappings":";AAKO,SAAS,sBACd,YACqB;AACrB,SAAO,WAAW;AAAA,IAChB,CAAC,EAAE,UAAA,MAAU;;AAAM,qBAAQ,UAAU,iBAAe,eAAU,UAAU,MAApB,mBAAuB,SAAQ;AAAA;AAAA,EAAA;AAEvF;AAEO,SAAS,eAAe,WAAkD;AAC/E,UAAO,uCAAW,UAAU,aAAW,uCAAW,UAAU,gBAAe;AAC7E;AAEO,SAAS,cACd,YACA,aAC+B;AAC/B,SAAO,WAAW,KAAK,CAAC,EAAE,gBAAgB,UAAU,gBAAgB,WAAW;AACjF;AAEO,SAAS,qBACd,WAC8B;;AAC9B,QAAM,UAAS,wDAAW,UAAU,gBAArB,mBAAkC,YAAlC,mBAA4C,wBAA5C,mBAAiE;AAChF,MAAI,CAAC,UAAU,OAAO,SAAS,SAAU,QAAO;AAChD,SAAO;AACT;AAEO,SAAS,4BAAoD;AAClE,SAAO;AAAA,IACL,MAAM;AAAA,IACN,aAAa;AAAA,IACb,MAAM,CAAA;AAAA,IACN,MAAM;AAAA,IACN,UAAU,KAAK,eAAA,EAAiB,gBAAA,EAAkB,YAAY;AAAA,IAC9D,SAAS;AAAA,EAAA;AAEb;AAEO,SAAS,gBAAgB,UAAqD;AACnF,SAAO;AAAA,IACL,MAAM,SAAS;AAAA,IACf,aAAa,SAAS;AAAA,IACtB,MAAM,SAAS;AAAA,IACf,MAAM,SAAS;AAAA,IACf,UAAU,SAAS;AAAA,IACnB,SAAS,SAAS;AAAA,EAAA;AAEtB;AAEO,SAAS,wBAAwB,OAAmC;AACzE,MAAI,CAAC,MAAO,QAAO;AACnB,QAAM,YAAY,IAAI,KAAK,KAAK;AAChC,SAAO,OAAO,MAAM,UAAU,QAAA,CAAS,IAAI,QAAQ,UAAU,eAAA;AAC/D;"}
|
|
1
|
+
{"version":3,"file":"operation-schedule-model.js","sources":["../../src/rpc/operation-schedule-model.ts"],"sourcesContent":["import type { JsonSchemaObject } from \"../components/json-schema-form-types\";\nimport { DEFAULT_CRON } from \"../components/schedule-types\";\nimport type { OperationSchedule, OperationScheduleInput } from \"./operation-schedule-types\";\nimport type { ResolvedOperation } from \"./types\";\n\nexport function schedulableOperations(\n operations: readonly ResolvedOperation[],\n): ResolvedOperation[] {\n return operations.filter(\n ({ operation }) => Boolean(operation.operationId && operation[\"x-clicky\"]?.schedule),\n );\n}\n\nexport function operationLabel(operation: ResolvedOperation | undefined): string {\n return operation?.operation.summary ?? operation?.operation.operationId ?? \"Unknown operation\";\n}\n\nexport function operationByID(\n operations: readonly ResolvedOperation[],\n operationID: string,\n): ResolvedOperation | undefined {\n return operations.find(({ operation }) => operation.operationId === operationID);\n}\n\nexport function operationInputSchema(\n operation: ResolvedOperation | undefined,\n): JsonSchemaObject | undefined {\n const schema = operation?.operation.requestBody?.content?.[\"application/json\"]?.schema;\n if (!schema || schema.type !== \"object\") return undefined;\n return schema as JsonSchemaObject;\n}\n\nexport function newOperationScheduleInput(): OperationScheduleInput {\n return {\n name: \"\",\n operationId: \"\",\n targets: [],\n args: {},\n cron: DEFAULT_CRON,\n timezone: Intl.DateTimeFormat().resolvedOptions().timeZone || \"UTC\",\n enabled: true,\n };\n}\n\nexport function scheduleToInput(schedule: OperationSchedule): OperationScheduleInput {\n return {\n name: schedule.name,\n operationId: schedule.operationId,\n targets: [...schedule.targets],\n args: schedule.args,\n cron: schedule.cron,\n timezone: schedule.timezone,\n enabled: schedule.enabled,\n };\n}\n\nexport function formatScheduleTimestamp(value: string | undefined): string {\n if (!value) return \"Never\";\n const timestamp = new Date(value);\n return Number.isNaN(timestamp.getTime()) ? value : timestamp.toLocaleString();\n}\n"],"names":[],"mappings":";AAKO,SAAS,sBACd,YACqB;AACrB,SAAO,WAAW;AAAA,IAChB,CAAC,EAAE,UAAA,MAAU;;AAAM,qBAAQ,UAAU,iBAAe,eAAU,UAAU,MAApB,mBAAuB,SAAQ;AAAA;AAAA,EAAA;AAEvF;AAEO,SAAS,eAAe,WAAkD;AAC/E,UAAO,uCAAW,UAAU,aAAW,uCAAW,UAAU,gBAAe;AAC7E;AAEO,SAAS,cACd,YACA,aAC+B;AAC/B,SAAO,WAAW,KAAK,CAAC,EAAE,gBAAgB,UAAU,gBAAgB,WAAW;AACjF;AAEO,SAAS,qBACd,WAC8B;;AAC9B,QAAM,UAAS,wDAAW,UAAU,gBAArB,mBAAkC,YAAlC,mBAA4C,wBAA5C,mBAAiE;AAChF,MAAI,CAAC,UAAU,OAAO,SAAS,SAAU,QAAO;AAChD,SAAO;AACT;AAEO,SAAS,4BAAoD;AAClE,SAAO;AAAA,IACL,MAAM;AAAA,IACN,aAAa;AAAA,IACb,SAAS,CAAA;AAAA,IACT,MAAM,CAAA;AAAA,IACN,MAAM;AAAA,IACN,UAAU,KAAK,eAAA,EAAiB,gBAAA,EAAkB,YAAY;AAAA,IAC9D,SAAS;AAAA,EAAA;AAEb;AAEO,SAAS,gBAAgB,UAAqD;AACnF,SAAO;AAAA,IACL,MAAM,SAAS;AAAA,IACf,aAAa,SAAS;AAAA,IACtB,SAAS,CAAC,GAAG,SAAS,OAAO;AAAA,IAC7B,MAAM,SAAS;AAAA,IACf,MAAM,SAAS;AAAA,IACf,UAAU,SAAS;AAAA,IACnB,SAAS,SAAS;AAAA,EAAA;AAEtB;AAEO,SAAS,wBAAwB,OAAmC;AACzE,MAAI,CAAC,MAAO,QAAO;AACnB,QAAM,YAAY,IAAI,KAAK,KAAK;AAChC,SAAO,OAAO,MAAM,UAAU,QAAA,CAAS,IAAI,QAAQ,UAAU,eAAA;AAC/D;"}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import { ResolvedOperation } from './types.js';
|
|
2
|
+
import { ComboboxOption } from '../components/combobox-types.js';
|
|
2
3
|
export interface OperationSchedule {
|
|
3
4
|
id: string;
|
|
4
5
|
name: string;
|
|
5
6
|
operationId: string;
|
|
7
|
+
targets: string[];
|
|
6
8
|
args: Record<string, unknown>;
|
|
7
9
|
cron: string;
|
|
8
10
|
timezone: string;
|
|
@@ -11,14 +13,18 @@ export interface OperationSchedule {
|
|
|
11
13
|
nextRun?: string;
|
|
12
14
|
}
|
|
13
15
|
export type OperationScheduleInput = Omit<OperationSchedule, "id" | "lastRun" | "nextRun">;
|
|
14
|
-
export type OperationScheduleRunInput = Pick<OperationScheduleInput, "operationId" | "args">;
|
|
16
|
+
export type OperationScheduleRunInput = Pick<OperationScheduleInput, "operationId" | "args" | "targets">;
|
|
15
17
|
export interface OperationScheduleCLI {
|
|
16
18
|
executable: string;
|
|
17
19
|
globalFlags?: Record<string, unknown>;
|
|
20
|
+
targetFlag?: string;
|
|
18
21
|
}
|
|
19
22
|
export interface OperationSchedulesProps {
|
|
20
23
|
operations: readonly ResolvedOperation[];
|
|
21
24
|
schedules: readonly OperationSchedule[];
|
|
25
|
+
targetOptions: ComboboxOption[];
|
|
26
|
+
defaultTargets?: string[];
|
|
27
|
+
targetLabel?: string;
|
|
22
28
|
disabled?: boolean;
|
|
23
29
|
loading?: boolean;
|
|
24
30
|
cli?: OperationScheduleCLI;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"operation-schedule-types.d.ts","sourceRoot":"","sources":["../../src/rpc/operation-schedule-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"operation-schedule-types.d.ts","sourceRoot":"","sources":["../../src/rpc/operation-schedule-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AACjD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAEnE,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,MAAM,sBAAsB,GAAG,IAAI,CACvC,iBAAiB,EACjB,IAAI,GAAG,SAAS,GAAG,SAAS,CAC7B,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG,IAAI,CAC1C,sBAAsB,EACtB,aAAa,GAAG,MAAM,GAAG,SAAS,CACnC,CAAC;AAEF,MAAM,WAAW,oBAAoB;IACnC,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtC,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,uBAAuB;IACtC,UAAU,EAAE,SAAS,iBAAiB,EAAE,CAAC;IACzC,SAAS,EAAE,SAAS,iBAAiB,EAAE,CAAC;IACxC,aAAa,EAAE,cAAc,EAAE,CAAC;IAChC,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,GAAG,CAAC,EAAE,oBAAoB,CAAC;IAC3B,QAAQ,EAAE,CAAC,KAAK,EAAE,sBAAsB,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9D,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,sBAAsB,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAC1E,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAC3C,UAAU,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAC7C,UAAU,EAAE,CAAC,KAAK,EAAE,yBAAyB,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CACpE"}
|