@flanksource/clicky-ui 0.3.27 → 0.3.28
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 +14 -0
- package/dist/ai.cjs +52 -6
- package/dist/ai.cjs.map +1 -1
- package/dist/ai.js +53 -7
- package/dist/ai.js.map +1 -1
- package/dist/comments/CommentCard.cjs +24 -39
- package/dist/comments/CommentCard.cjs.map +1 -1
- package/dist/comments/CommentCard.d.ts +9 -2
- package/dist/comments/CommentCard.d.ts.map +1 -1
- package/dist/comments/CommentCard.js +24 -39
- package/dist/comments/CommentCard.js.map +1 -1
- package/dist/comments/CommentProvider.cjs +4 -3
- package/dist/comments/CommentProvider.cjs.map +1 -1
- package/dist/comments/CommentProvider.d.ts +6 -1
- package/dist/comments/CommentProvider.d.ts.map +1 -1
- package/dist/comments/CommentProvider.js +4 -3
- package/dist/comments/CommentProvider.js.map +1 -1
- package/dist/comments/CommentSidePanel.cjs +65 -52
- package/dist/comments/CommentSidePanel.cjs.map +1 -1
- package/dist/comments/CommentSidePanel.d.ts.map +1 -1
- package/dist/comments/CommentSidePanel.js +67 -54
- package/dist/comments/CommentSidePanel.js.map +1 -1
- package/dist/comments/CommentThread.cjs +2 -2
- package/dist/comments/CommentThread.cjs.map +1 -1
- package/dist/comments/CommentThread.d.ts +3 -3
- package/dist/comments/CommentThread.d.ts.map +1 -1
- package/dist/comments/CommentThread.js +2 -2
- package/dist/comments/CommentThread.js.map +1 -1
- package/dist/comments/CommentThreadList.cjs +85 -37
- package/dist/comments/CommentThreadList.cjs.map +1 -1
- package/dist/comments/CommentThreadList.d.ts +3 -3
- package/dist/comments/CommentThreadList.d.ts.map +1 -1
- package/dist/comments/CommentThreadList.js +86 -38
- package/dist/comments/CommentThreadList.js.map +1 -1
- package/dist/comments/comment-utils.cjs +26 -0
- package/dist/comments/comment-utils.cjs.map +1 -1
- package/dist/comments/comment-utils.d.ts +11 -0
- package/dist/comments/comment-utils.d.ts.map +1 -1
- package/dist/comments/comment-utils.js +26 -0
- package/dist/comments/comment-utils.js.map +1 -1
- package/dist/comments.cjs +2 -0
- package/dist/comments.cjs.map +1 -1
- package/dist/comments.js +3 -1
- package/dist/components/AccordionList.cjs +3 -0
- package/dist/components/AccordionList.cjs.map +1 -1
- package/dist/components/AccordionList.d.ts +3 -1
- package/dist/components/AccordionList.d.ts.map +1 -1
- package/dist/components/AccordionList.js +3 -0
- package/dist/components/AccordionList.js.map +1 -1
- package/dist/components/CopyButton.cjs +35 -0
- package/dist/components/CopyButton.cjs.map +1 -0
- package/dist/components/CopyButton.d.ts +20 -0
- package/dist/components/CopyButton.d.ts.map +1 -0
- package/dist/components/CopyButton.js +35 -0
- package/dist/components/CopyButton.js.map +1 -0
- package/dist/components/FilterBar.cjs +29 -6
- package/dist/components/FilterBar.cjs.map +1 -1
- package/dist/components/FilterBar.d.ts +10 -1
- package/dist/components/FilterBar.d.ts.map +1 -1
- package/dist/components/FilterBar.js +29 -6
- package/dist/components/FilterBar.js.map +1 -1
- package/dist/components/ListMenu.cjs +4 -1
- package/dist/components/ListMenu.cjs.map +1 -1
- package/dist/components/ListMenu.d.ts +5 -1
- package/dist/components/ListMenu.d.ts.map +1 -1
- package/dist/components/ListMenu.js +4 -1
- package/dist/components/ListMenu.js.map +1 -1
- package/dist/components/SegmentedControl.cjs +4 -2
- package/dist/components/SegmentedControl.cjs.map +1 -1
- package/dist/components/SegmentedControl.d.ts +4 -0
- package/dist/components/SegmentedControl.d.ts.map +1 -1
- package/dist/components/SegmentedControl.js +4 -2
- package/dist/components/SegmentedControl.js.map +1 -1
- package/dist/components/clipboard.cjs +60 -0
- package/dist/components/clipboard.cjs.map +1 -0
- package/dist/components/clipboard.d.ts +13 -0
- package/dist/components/clipboard.d.ts.map +1 -0
- package/dist/components/clipboard.js +60 -0
- package/dist/components/clipboard.js.map +1 -0
- package/dist/components/json-schema-form-array.cjs +15 -1
- package/dist/components/json-schema-form-array.cjs.map +1 -1
- package/dist/components/json-schema-form-array.d.ts.map +1 -1
- package/dist/components/json-schema-form-array.js +15 -1
- package/dist/components/json-schema-form-array.js.map +1 -1
- package/dist/components/json-schema-form-list-array.cjs +113 -0
- package/dist/components/json-schema-form-list-array.cjs.map +1 -0
- package/dist/components/json-schema-form-list-array.d.ts +7 -0
- package/dist/components/json-schema-form-list-array.d.ts.map +1 -0
- package/dist/components/json-schema-form-list-array.js +113 -0
- package/dist/components/json-schema-form-list-array.js.map +1 -0
- package/dist/components/json-schema-form-resolve.cjs +1 -1
- package/dist/components/json-schema-form-resolve.cjs.map +1 -1
- package/dist/components/json-schema-form-resolve.d.ts.map +1 -1
- package/dist/components/json-schema-form-resolve.js +1 -1
- package/dist/components/json-schema-form-resolve.js.map +1 -1
- package/dist/components/json-schema-form-types.d.ts +1 -1
- package/dist/components/json-schema-form-types.d.ts.map +1 -1
- package/dist/components.cjs +5 -0
- package/dist/components.cjs.map +1 -1
- package/dist/components.d.ts +2 -0
- package/dist/components.d.ts.map +1 -1
- package/dist/components.js +5 -0
- package/dist/components.js.map +1 -1
- package/dist/data/Clicky.cjs +4 -1
- package/dist/data/Clicky.cjs.map +1 -1
- package/dist/data/Clicky.js +4 -1
- package/dist/data/Clicky.js.map +1 -1
- package/dist/data/DataTable.cjs +202 -40
- package/dist/data/DataTable.cjs.map +1 -1
- package/dist/data/DataTable.d.ts +163 -3
- package/dist/data/DataTable.d.ts.map +1 -1
- package/dist/data/DataTable.js +202 -40
- package/dist/data/DataTable.js.map +1 -1
- package/dist/data/FixtureEditor/FixtureFrontmatterDialog.cjs +1 -1
- package/dist/data/FixtureEditor/FixtureFrontmatterDialog.cjs.map +1 -1
- package/dist/data/FixtureEditor/FixtureFrontmatterDialog.js +1 -1
- package/dist/data/FixtureEditor/FixtureFrontmatterDialog.js.map +1 -1
- package/dist/data/FixtureEditor/fixture-frontmatter.cjs +8 -10
- package/dist/data/FixtureEditor/fixture-frontmatter.cjs.map +1 -1
- package/dist/data/FixtureEditor/fixture-frontmatter.d.ts.map +1 -1
- package/dist/data/FixtureEditor/fixture-frontmatter.js +8 -10
- package/dist/data/FixtureEditor/fixture-frontmatter.js.map +1 -1
- package/dist/data/SelectionActionBar.cjs +242 -0
- package/dist/data/SelectionActionBar.cjs.map +1 -0
- package/dist/data/SelectionActionBar.d.ts +28 -0
- package/dist/data/SelectionActionBar.d.ts.map +1 -0
- package/dist/data/SelectionActionBar.js +242 -0
- package/dist/data/SelectionActionBar.js.map +1 -0
- package/dist/data/TaskManager.cjs +34 -12
- package/dist/data/TaskManager.cjs.map +1 -1
- package/dist/data/TaskManager.d.ts.map +1 -1
- package/dist/data/TaskManager.js +34 -12
- package/dist/data/TaskManager.js.map +1 -1
- package/dist/data/TaskManagerButton.cjs +11 -7
- package/dist/data/TaskManagerButton.cjs.map +1 -1
- package/dist/data/TaskManagerButton.d.ts.map +1 -1
- package/dist/data/TaskManagerButton.js +11 -7
- package/dist/data/TaskManagerButton.js.map +1 -1
- package/dist/data/TaskProgress.cjs +55 -11
- package/dist/data/TaskProgress.cjs.map +1 -1
- package/dist/data/TaskProgress.d.ts.map +1 -1
- package/dist/data/TaskProgress.js +53 -9
- package/dist/data/TaskProgress.js.map +1 -1
- package/dist/data/ai/ChatWindow.cjs +2 -4
- package/dist/data/ai/ChatWindow.cjs.map +1 -1
- package/dist/data/ai/ChatWindow.d.ts.map +1 -1
- package/dist/data/ai/ChatWindow.js +2 -4
- package/dist/data/ai/ChatWindow.js.map +1 -1
- package/dist/data/ai/ChatWindow.runtime.cjs +1 -2
- package/dist/data/ai/ChatWindow.runtime.cjs.map +1 -1
- package/dist/data/ai/ChatWindow.runtime.d.ts.map +1 -1
- package/dist/data/ai/ChatWindow.runtime.js +1 -2
- package/dist/data/ai/ChatWindow.runtime.js.map +1 -1
- package/dist/data/ai/PromptCatalog/PromptCatalogTable.cjs +262 -0
- package/dist/data/ai/PromptCatalog/PromptCatalogTable.cjs.map +1 -0
- package/dist/data/ai/PromptCatalog/PromptCatalogTable.d.ts +16 -0
- package/dist/data/ai/PromptCatalog/PromptCatalogTable.d.ts.map +1 -0
- package/dist/data/ai/PromptCatalog/PromptCatalogTable.js +262 -0
- package/dist/data/ai/PromptCatalog/PromptCatalogTable.js.map +1 -0
- package/dist/data/ai/PromptCatalog/PromptLayerStrip.cjs +77 -0
- package/dist/data/ai/PromptCatalog/PromptLayerStrip.cjs.map +1 -0
- package/dist/data/ai/PromptCatalog/PromptLayerStrip.d.ts +8 -0
- package/dist/data/ai/PromptCatalog/PromptLayerStrip.d.ts.map +1 -0
- package/dist/data/ai/PromptCatalog/PromptLayerStrip.js +77 -0
- package/dist/data/ai/PromptCatalog/PromptLayerStrip.js.map +1 -0
- package/dist/data/ai/PromptCatalog/PromptPage.cjs +332 -0
- package/dist/data/ai/PromptCatalog/PromptPage.cjs.map +1 -0
- package/dist/data/ai/PromptCatalog/PromptPage.d.ts +17 -0
- package/dist/data/ai/PromptCatalog/PromptPage.d.ts.map +1 -0
- package/dist/data/ai/PromptCatalog/PromptPage.js +332 -0
- package/dist/data/ai/PromptCatalog/PromptPage.js.map +1 -0
- package/dist/data/ai/PromptCatalog/PromptPageEditor.cjs +102 -0
- package/dist/data/ai/PromptCatalog/PromptPageEditor.cjs.map +1 -0
- package/dist/data/ai/PromptCatalog/PromptPageEditor.d.ts +16 -0
- package/dist/data/ai/PromptCatalog/PromptPageEditor.d.ts.map +1 -0
- package/dist/data/ai/PromptCatalog/PromptPageEditor.js +102 -0
- package/dist/data/ai/PromptCatalog/PromptPageEditor.js.map +1 -0
- package/dist/data/ai/PromptCatalog/PromptPageHeader.cjs +102 -0
- package/dist/data/ai/PromptCatalog/PromptPageHeader.cjs.map +1 -0
- package/dist/data/ai/PromptCatalog/PromptPageHeader.d.ts +10 -0
- package/dist/data/ai/PromptCatalog/PromptPageHeader.d.ts.map +1 -0
- package/dist/data/ai/PromptCatalog/PromptPageHeader.js +102 -0
- package/dist/data/ai/PromptCatalog/PromptPageHeader.js.map +1 -0
- package/dist/data/ai/PromptCatalog/PromptPagePreview.cjs +90 -0
- package/dist/data/ai/PromptCatalog/PromptPagePreview.cjs.map +1 -0
- package/dist/data/ai/PromptCatalog/PromptPagePreview.d.ts +8 -0
- package/dist/data/ai/PromptCatalog/PromptPagePreview.d.ts.map +1 -0
- package/dist/data/ai/PromptCatalog/PromptPagePreview.js +90 -0
- package/dist/data/ai/PromptCatalog/PromptPagePreview.js.map +1 -0
- package/dist/data/ai/PromptCatalog/PromptPageSaveBar.cjs +168 -0
- package/dist/data/ai/PromptCatalog/PromptPageSaveBar.cjs.map +1 -0
- package/dist/data/ai/PromptCatalog/PromptPageSaveBar.d.ts +17 -0
- package/dist/data/ai/PromptCatalog/PromptPageSaveBar.d.ts.map +1 -0
- package/dist/data/ai/PromptCatalog/PromptPageSaveBar.js +168 -0
- package/dist/data/ai/PromptCatalog/PromptPageSaveBar.js.map +1 -0
- package/dist/data/ai/PromptCatalog/PromptSourceBadge.cjs +36 -0
- package/dist/data/ai/PromptCatalog/PromptSourceBadge.cjs.map +1 -0
- package/dist/data/ai/PromptCatalog/PromptSourceBadge.d.ts +7 -0
- package/dist/data/ai/PromptCatalog/PromptSourceBadge.d.ts.map +1 -0
- package/dist/data/ai/PromptCatalog/PromptSourceBadge.js +36 -0
- package/dist/data/ai/PromptCatalog/PromptSourceBadge.js.map +1 -0
- package/dist/data/ai/PromptCatalog/index.d.ts +9 -0
- package/dist/data/ai/PromptCatalog/index.d.ts.map +1 -0
- package/dist/data/ai/PromptCatalog/prompt-catalog-model.cjs +137 -0
- package/dist/data/ai/PromptCatalog/prompt-catalog-model.cjs.map +1 -0
- package/dist/data/ai/PromptCatalog/prompt-catalog-model.d.ts +28 -0
- package/dist/data/ai/PromptCatalog/prompt-catalog-model.d.ts.map +1 -0
- package/dist/data/ai/PromptCatalog/prompt-catalog-model.js +137 -0
- package/dist/data/ai/PromptCatalog/prompt-catalog-model.js.map +1 -0
- package/dist/data/ai/PromptCatalog/prompt-page-model.cjs +114 -0
- package/dist/data/ai/PromptCatalog/prompt-page-model.cjs.map +1 -0
- package/dist/data/ai/PromptCatalog/prompt-page-model.d.ts +45 -0
- package/dist/data/ai/PromptCatalog/prompt-page-model.d.ts.map +1 -0
- package/dist/data/ai/PromptCatalog/prompt-page-model.js +114 -0
- package/dist/data/ai/PromptCatalog/prompt-page-model.js.map +1 -0
- package/dist/data/ai/PromptCatalog/types.d.ts +70 -0
- package/dist/data/ai/PromptCatalog/types.d.ts.map +1 -0
- package/dist/data/ai/PromptPicker/PromptPicker.cjs +9 -12
- package/dist/data/ai/PromptPicker/PromptPicker.cjs.map +1 -1
- package/dist/data/ai/PromptPicker/PromptPicker.js +9 -12
- package/dist/data/ai/PromptPicker/PromptPicker.js.map +1 -1
- package/dist/data/ai/PromptPicker/index.d.ts +1 -1
- package/dist/data/ai/PromptPicker/index.d.ts.map +1 -1
- package/dist/data/ai/PromptPicker/types.cjs.map +1 -1
- package/dist/data/ai/PromptPicker/types.d.ts +9 -0
- package/dist/data/ai/PromptPicker/types.d.ts.map +1 -1
- package/dist/data/ai/PromptPicker/types.js.map +1 -1
- package/dist/data/ai/PromptRunEditor/index.cjs +2 -2
- package/dist/data/ai/PromptRunEditor/index.cjs.map +1 -1
- package/dist/data/ai/PromptRunEditor/index.js +3 -3
- package/dist/data/ai/PromptRunEditor/index.js.map +1 -1
- package/dist/data/ai/PromptRunEditor/model.cjs +0 -1
- package/dist/data/ai/PromptRunEditor/model.cjs.map +1 -1
- package/dist/data/ai/PromptRunEditor/model.d.ts +1 -1
- package/dist/data/ai/PromptRunEditor/model.d.ts.map +1 -1
- package/dist/data/ai/PromptRunEditor/model.js +0 -1
- package/dist/data/ai/PromptRunEditor/model.js.map +1 -1
- package/dist/data/ai/RuntimeModePicker.cjs +15 -6
- package/dist/data/ai/RuntimeModePicker.cjs.map +1 -1
- package/dist/data/ai/RuntimeModePicker.d.ts.map +1 -1
- package/dist/data/ai/RuntimeModePicker.js +17 -8
- package/dist/data/ai/RuntimeModePicker.js.map +1 -1
- package/dist/data/ai/SessionInspector.collection-types.d.ts +1 -1
- package/dist/data/ai/SessionInspector.collection-types.d.ts.map +1 -1
- package/dist/data/ai/SessionInspector.collection.cjs +3 -3
- package/dist/data/ai/SessionInspector.collection.cjs.map +1 -1
- package/dist/data/ai/SessionInspector.collection.js +3 -3
- package/dist/data/ai/SessionInspector.collection.js.map +1 -1
- package/dist/data/ai/SessionInspector.hierarchy.cjs +1 -1
- package/dist/data/ai/SessionInspector.hierarchy.cjs.map +1 -1
- package/dist/data/ai/SessionInspector.hierarchy.js +1 -1
- package/dist/data/ai/SessionInspector.hierarchy.js.map +1 -1
- package/dist/data/ai/SessionInspector.model.cjs +3 -3
- package/dist/data/ai/SessionInspector.model.cjs.map +1 -1
- package/dist/data/ai/SessionInspector.model.d.ts +1 -1
- package/dist/data/ai/SessionInspector.model.d.ts.map +1 -1
- package/dist/data/ai/SessionInspector.model.js +3 -3
- package/dist/data/ai/SessionInspector.model.js.map +1 -1
- package/dist/data/ai/SessionInspector.panels.cjs +1 -1
- package/dist/data/ai/SessionInspector.panels.cjs.map +1 -1
- package/dist/data/ai/SessionInspector.panels.js +1 -1
- package/dist/data/ai/SessionInspector.panels.js.map +1 -1
- package/dist/data/ai/SessionInspector.summary.cjs +3 -3
- package/dist/data/ai/SessionInspector.summary.cjs.map +1 -1
- package/dist/data/ai/SessionInspector.summary.js +3 -3
- package/dist/data/ai/SessionInspector.summary.js.map +1 -1
- package/dist/data/ai/SessionViewer.fixtures.d.ts.map +1 -1
- package/dist/data/ai/SessionViewer.unified.d.ts +3 -2
- package/dist/data/ai/SessionViewer.unified.d.ts.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/CommitSection.cjs +18 -30
- 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 +19 -31
- package/dist/data/ai/SpecRuntimeEditor/CommitSection.js.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/EnvironmentSection.cjs +71 -86
- package/dist/data/ai/SpecRuntimeEditor/EnvironmentSection.cjs.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/EnvironmentSection.d.ts.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/EnvironmentSection.js +72 -87
- package/dist/data/ai/SpecRuntimeEditor/EnvironmentSection.js.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/ModelContextAdvanced.cjs +99 -0
- package/dist/data/ai/SpecRuntimeEditor/ModelContextAdvanced.cjs.map +1 -0
- package/dist/data/ai/SpecRuntimeEditor/ModelContextAdvanced.d.ts +13 -0
- package/dist/data/ai/SpecRuntimeEditor/ModelContextAdvanced.d.ts.map +1 -0
- package/dist/data/ai/SpecRuntimeEditor/ModelContextAdvanced.js +99 -0
- package/dist/data/ai/SpecRuntimeEditor/ModelContextAdvanced.js.map +1 -0
- package/dist/data/ai/SpecRuntimeEditor/ModelSection.cjs +34 -23
- package/dist/data/ai/SpecRuntimeEditor/ModelSection.cjs.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/ModelSection.d.ts +6 -2
- package/dist/data/ai/SpecRuntimeEditor/ModelSection.d.ts.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/ModelSection.js +35 -24
- package/dist/data/ai/SpecRuntimeEditor/ModelSection.js.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/PermissionModeField.cjs +114 -0
- package/dist/data/ai/SpecRuntimeEditor/PermissionModeField.cjs.map +1 -0
- package/dist/data/ai/SpecRuntimeEditor/PermissionModeField.d.ts +10 -0
- package/dist/data/ai/SpecRuntimeEditor/PermissionModeField.d.ts.map +1 -0
- package/dist/data/ai/SpecRuntimeEditor/PermissionModeField.js +114 -0
- package/dist/data/ai/SpecRuntimeEditor/PermissionModeField.js.map +1 -0
- package/dist/data/ai/SpecRuntimeEditor/PermissionPolicyList.cjs +160 -0
- package/dist/data/ai/SpecRuntimeEditor/PermissionPolicyList.cjs.map +1 -0
- package/dist/data/ai/SpecRuntimeEditor/PermissionPolicyList.d.ts +9 -0
- package/dist/data/ai/SpecRuntimeEditor/PermissionPolicyList.d.ts.map +1 -0
- package/dist/data/ai/SpecRuntimeEditor/PermissionPolicyList.js +160 -0
- package/dist/data/ai/SpecRuntimeEditor/PermissionPolicyList.js.map +1 -0
- package/dist/data/ai/SpecRuntimeEditor/PermissionsSection.cjs +27 -241
- package/dist/data/ai/SpecRuntimeEditor/PermissionsSection.cjs.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/PermissionsSection.d.ts +5 -6
- package/dist/data/ai/SpecRuntimeEditor/PermissionsSection.d.ts.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/PermissionsSection.js +25 -239
- package/dist/data/ai/SpecRuntimeEditor/PermissionsSection.js.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/PromptSection.cjs +21 -8
- package/dist/data/ai/SpecRuntimeEditor/PromptSection.cjs.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/PromptSection.d.ts +4 -1
- package/dist/data/ai/SpecRuntimeEditor/PromptSection.d.ts.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/PromptSection.js +22 -9
- package/dist/data/ai/SpecRuntimeEditor/PromptSection.js.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/SandboxSection.cjs +207 -164
- package/dist/data/ai/SpecRuntimeEditor/SandboxSection.cjs.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/SandboxSection.d.ts +4 -3
- package/dist/data/ai/SpecRuntimeEditor/SandboxSection.d.ts.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/SandboxSection.js +210 -167
- package/dist/data/ai/SpecRuntimeEditor/SandboxSection.js.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/SectionCard.cjs +15 -15
- package/dist/data/ai/SpecRuntimeEditor/SectionCard.cjs.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/SectionCard.d.ts.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/SectionCard.js +15 -15
- package/dist/data/ai/SpecRuntimeEditor/SectionCard.js.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/WorkspaceSection.cjs +120 -42
- package/dist/data/ai/SpecRuntimeEditor/WorkspaceSection.cjs.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/WorkspaceSection.d.ts +4 -1
- package/dist/data/ai/SpecRuntimeEditor/WorkspaceSection.d.ts.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/WorkspaceSection.js +123 -45
- package/dist/data/ai/SpecRuntimeEditor/WorkspaceSection.js.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/env-model.cjs.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/env-model.d.ts.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/env-model.js.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/index.cjs +136 -48
- package/dist/data/ai/SpecRuntimeEditor/index.cjs.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/index.d.ts +13 -3
- package/dist/data/ai/SpecRuntimeEditor/index.d.ts.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/index.js +137 -49
- package/dist/data/ai/SpecRuntimeEditor/index.js.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/permission-mode-visuals.cjs +93 -0
- package/dist/data/ai/SpecRuntimeEditor/permission-mode-visuals.cjs.map +1 -0
- package/dist/data/ai/SpecRuntimeEditor/permission-mode-visuals.d.ts +6 -0
- package/dist/data/ai/SpecRuntimeEditor/permission-mode-visuals.d.ts.map +1 -0
- package/dist/data/ai/SpecRuntimeEditor/permission-mode-visuals.js +93 -0
- package/dist/data/ai/SpecRuntimeEditor/permission-mode-visuals.js.map +1 -0
- package/dist/data/ai/SpecRuntimeEditor/permission-preset-storage.cjs +35 -0
- package/dist/data/ai/SpecRuntimeEditor/permission-preset-storage.cjs.map +1 -0
- package/dist/data/ai/SpecRuntimeEditor/permission-preset-storage.d.ts +5 -0
- package/dist/data/ai/SpecRuntimeEditor/permission-preset-storage.d.ts.map +1 -0
- package/dist/data/ai/SpecRuntimeEditor/permission-preset-storage.js +35 -0
- package/dist/data/ai/SpecRuntimeEditor/permission-preset-storage.js.map +1 -0
- package/dist/data/ai/SpecRuntimeEditor/presets.cjs +2 -9
- package/dist/data/ai/SpecRuntimeEditor/presets.cjs.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/presets.d.ts +1 -2
- package/dist/data/ai/SpecRuntimeEditor/presets.d.ts.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/presets.js +2 -9
- package/dist/data/ai/SpecRuntimeEditor/presets.js.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/summaries.cjs.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/summaries.d.ts +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/types.cjs +2 -7
- package/dist/data/ai/SpecRuntimeEditor/types.cjs.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/types.d.ts +0 -1
- package/dist/data/ai/SpecRuntimeEditor/types.d.ts.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/types.js +3 -8
- package/dist/data/ai/SpecRuntimeEditor/types.js.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/update.cjs +43 -33
- package/dist/data/ai/SpecRuntimeEditor/update.cjs.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/update.d.ts +7 -13
- package/dist/data/ai/SpecRuntimeEditor/update.d.ts.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/update.js +43 -33
- package/dist/data/ai/SpecRuntimeEditor/update.js.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor.model.cjs +33 -49
- package/dist/data/ai/SpecRuntimeEditor.model.cjs.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor.model.d.ts +52 -29
- package/dist/data/ai/SpecRuntimeEditor.model.d.ts.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor.model.js +33 -48
- package/dist/data/ai/SpecRuntimeEditor.model.js.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor.sandbox-model.cjs +276 -0
- package/dist/data/ai/SpecRuntimeEditor.sandbox-model.cjs.map +1 -0
- package/dist/data/ai/SpecRuntimeEditor.sandbox-model.d.ts +58 -0
- package/dist/data/ai/SpecRuntimeEditor.sandbox-model.d.ts.map +1 -0
- package/dist/data/ai/SpecRuntimeEditor.sandbox-model.js +276 -0
- package/dist/data/ai/SpecRuntimeEditor.sandbox-model.js.map +1 -0
- package/dist/data/ai/ThreadPicker.cjs +55 -42
- package/dist/data/ai/ThreadPicker.cjs.map +1 -1
- package/dist/data/ai/ThreadPicker.d.ts.map +1 -1
- package/dist/data/ai/ThreadPicker.js +56 -43
- package/dist/data/ai/ThreadPicker.js.map +1 -1
- package/dist/data/ai/ToolPreferences.cjs +9 -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 +9 -1
- package/dist/data/ai/ToolPreferences.js.map +1 -1
- package/dist/data/ai/ToolSchemaBrowser.cjs +41 -487
- package/dist/data/ai/ToolSchemaBrowser.cjs.map +1 -1
- package/dist/data/ai/ToolSchemaBrowser.d.ts +7 -2
- package/dist/data/ai/ToolSchemaBrowser.d.ts.map +1 -1
- package/dist/data/ai/ToolSchemaBrowser.detail.cjs +238 -0
- package/dist/data/ai/ToolSchemaBrowser.detail.cjs.map +1 -0
- package/dist/data/ai/ToolSchemaBrowser.detail.d.ts +8 -0
- package/dist/data/ai/ToolSchemaBrowser.detail.d.ts.map +1 -0
- package/dist/data/ai/ToolSchemaBrowser.detail.js +238 -0
- package/dist/data/ai/ToolSchemaBrowser.detail.js.map +1 -0
- package/dist/data/ai/ToolSchemaBrowser.directory-header.cjs +57 -0
- package/dist/data/ai/ToolSchemaBrowser.directory-header.cjs.map +1 -0
- package/dist/data/ai/ToolSchemaBrowser.directory-header.d.ts +9 -0
- package/dist/data/ai/ToolSchemaBrowser.directory-header.d.ts.map +1 -0
- package/dist/data/ai/ToolSchemaBrowser.directory-header.js +57 -0
- package/dist/data/ai/ToolSchemaBrowser.directory-header.js.map +1 -0
- package/dist/data/ai/ToolSchemaBrowser.js +42 -488
- package/dist/data/ai/ToolSchemaBrowser.js.map +1 -1
- package/dist/data/ai/ToolSchemaBrowser.model.cjs +130 -0
- package/dist/data/ai/ToolSchemaBrowser.model.cjs.map +1 -0
- package/dist/data/ai/ToolSchemaBrowser.model.d.ts +35 -0
- package/dist/data/ai/ToolSchemaBrowser.model.d.ts.map +1 -0
- package/dist/data/ai/ToolSchemaBrowser.model.js +130 -0
- package/dist/data/ai/ToolSchemaBrowser.model.js.map +1 -0
- package/dist/data/ai/ToolSchemaBrowser.selection-toolbar.cjs +57 -0
- package/dist/data/ai/ToolSchemaBrowser.selection-toolbar.cjs.map +1 -0
- package/dist/data/ai/ToolSchemaBrowser.selection-toolbar.d.ts +7 -0
- package/dist/data/ai/ToolSchemaBrowser.selection-toolbar.d.ts.map +1 -0
- package/dist/data/ai/ToolSchemaBrowser.selection-toolbar.js +57 -0
- package/dist/data/ai/ToolSchemaBrowser.selection-toolbar.js.map +1 -0
- package/dist/data/ai/ToolSchemaBrowser.sidebar.cjs +389 -0
- package/dist/data/ai/ToolSchemaBrowser.sidebar.cjs.map +1 -0
- package/dist/data/ai/ToolSchemaBrowser.sidebar.d.ts +23 -0
- package/dist/data/ai/ToolSchemaBrowser.sidebar.d.ts.map +1 -0
- package/dist/data/ai/ToolSchemaBrowser.sidebar.js +389 -0
- package/dist/data/ai/ToolSchemaBrowser.sidebar.js.map +1 -0
- package/dist/data/ai/agent-action-icons.cjs +14 -6
- package/dist/data/ai/agent-action-icons.cjs.map +1 -1
- package/dist/data/ai/agent-action-icons.d.ts.map +1 -1
- package/dist/data/ai/agent-action-icons.js +14 -6
- package/dist/data/ai/agent-action-icons.js.map +1 -1
- package/dist/data/ai/examples/sessions/claude-complete.cjs +17 -9
- package/dist/data/ai/examples/sessions/claude-complete.cjs.map +1 -1
- package/dist/data/ai/examples/sessions/claude-complete.d.ts.map +1 -1
- package/dist/data/ai/examples/sessions/claude-complete.js +17 -9
- package/dist/data/ai/examples/sessions/claude-complete.js.map +1 -1
- package/dist/data/ai/examples/sessions/claude.cjs +7 -4
- package/dist/data/ai/examples/sessions/claude.cjs.map +1 -1
- package/dist/data/ai/examples/sessions/claude.d.ts.map +1 -1
- package/dist/data/ai/examples/sessions/claude.js +7 -4
- package/dist/data/ai/examples/sessions/claude.js.map +1 -1
- package/dist/data/ai/examples/sessions/codex-complete.cjs +17 -10
- package/dist/data/ai/examples/sessions/codex-complete.cjs.map +1 -1
- package/dist/data/ai/examples/sessions/codex-complete.d.ts.map +1 -1
- package/dist/data/ai/examples/sessions/codex-complete.js +17 -10
- package/dist/data/ai/examples/sessions/codex-complete.js.map +1 -1
- package/dist/data/ai/examples/sessions/codex.cjs +7 -4
- package/dist/data/ai/examples/sessions/codex.cjs.map +1 -1
- package/dist/data/ai/examples/sessions/codex.d.ts.map +1 -1
- package/dist/data/ai/examples/sessions/codex.js +7 -4
- package/dist/data/ai/examples/sessions/codex.js.map +1 -1
- package/dist/data/ai/index.d.ts +6 -3
- package/dist/data/ai/index.d.ts.map +1 -1
- package/dist/data/ai/runtime-profile.cjs +93 -0
- package/dist/data/ai/runtime-profile.cjs.map +1 -0
- package/dist/data/ai/runtime-profile.d.ts +73 -0
- package/dist/data/ai/runtime-profile.d.ts.map +1 -0
- package/dist/data/ai/runtime-profile.js +93 -0
- package/dist/data/ai/runtime-profile.js.map +1 -0
- package/dist/data/ai/sandbox-kind-meta.cjs +38 -4
- package/dist/data/ai/sandbox-kind-meta.cjs.map +1 -1
- package/dist/data/ai/sandbox-kind-meta.d.ts +3 -0
- package/dist/data/ai/sandbox-kind-meta.d.ts.map +1 -1
- package/dist/data/ai/sandbox-kind-meta.js +38 -4
- package/dist/data/ai/sandbox-kind-meta.js.map +1 -1
- package/dist/data/chat/Chat.cjs +13 -3
- package/dist/data/chat/Chat.cjs.map +1 -1
- package/dist/data/chat/Chat.d.ts.map +1 -1
- package/dist/data/chat/Chat.fixtures.cjs +3 -3
- package/dist/data/chat/Chat.fixtures.cjs.map +1 -1
- package/dist/data/chat/Chat.fixtures.js +3 -3
- package/dist/data/chat/Chat.fixtures.js.map +1 -1
- package/dist/data/chat/Chat.js +14 -4
- package/dist/data/chat/Chat.js.map +1 -1
- package/dist/data/chat/Chat.runtime.cjs +4 -9
- package/dist/data/chat/Chat.runtime.cjs.map +1 -1
- package/dist/data/chat/Chat.runtime.d.ts.map +1 -1
- package/dist/data/chat/Chat.runtime.js +4 -9
- package/dist/data/chat/Chat.runtime.js.map +1 -1
- package/dist/data/chat/ChatRuntimeToolbar.cjs +5 -5
- package/dist/data/chat/ChatRuntimeToolbar.cjs.map +1 -1
- package/dist/data/chat/ChatRuntimeToolbar.js +5 -5
- package/dist/data/chat/ChatRuntimeToolbar.js.map +1 -1
- package/dist/data/chat/ContextMeter.cjs +3 -3
- package/dist/data/chat/ContextMeter.cjs.map +1 -1
- package/dist/data/chat/ContextMeter.d.ts +3 -3
- package/dist/data/chat/ContextMeter.d.ts.map +1 -1
- package/dist/data/chat/ContextMeter.js +3 -3
- package/dist/data/chat/ContextMeter.js.map +1 -1
- package/dist/data/chat/approval.cjs.map +1 -1
- package/dist/data/chat/approval.d.ts +21 -1
- package/dist/data/chat/approval.d.ts.map +1 -1
- package/dist/data/chat/approval.js.map +1 -1
- package/dist/data/chat/clickyOperationsToTools.cjs +5 -0
- package/dist/data/chat/clickyOperationsToTools.cjs.map +1 -1
- package/dist/data/chat/clickyOperationsToTools.d.ts.map +1 -1
- package/dist/data/chat/clickyOperationsToTools.js +5 -0
- package/dist/data/chat/clickyOperationsToTools.js.map +1 -1
- package/dist/data/chat/types.cjs.map +1 -1
- package/dist/data/chat/types.d.ts +7 -5
- package/dist/data/chat/types.d.ts.map +1 -1
- package/dist/data/chat/types.js.map +1 -1
- package/dist/data/chat/usage-snapshot.cjs +21 -1
- package/dist/data/chat/usage-snapshot.cjs.map +1 -1
- package/dist/data/chat/usage-snapshot.d.ts +2 -0
- package/dist/data/chat/usage-snapshot.d.ts.map +1 -1
- package/dist/data/chat/usage-snapshot.js +22 -2
- package/dist/data/chat/usage-snapshot.js.map +1 -1
- package/dist/data/runtime/RuntimeBar.cjs +29 -16
- package/dist/data/runtime/RuntimeBar.cjs.map +1 -1
- package/dist/data/runtime/RuntimeBar.d.ts +10 -2
- package/dist/data/runtime/RuntimeBar.d.ts.map +1 -1
- package/dist/data/runtime/RuntimeBar.js +31 -18
- package/dist/data/runtime/RuntimeBar.js.map +1 -1
- package/dist/data/runtime/RuntimeBar.model.cjs +10 -20
- package/dist/data/runtime/RuntimeBar.model.cjs.map +1 -1
- package/dist/data/runtime/RuntimeBar.model.d.ts +2 -2
- package/dist/data/runtime/RuntimeBar.model.d.ts.map +1 -1
- package/dist/data/runtime/RuntimeBar.model.js +11 -21
- package/dist/data/runtime/RuntimeBar.model.js.map +1 -1
- package/dist/data/runtime/RuntimeBarCombo.cjs +11 -6
- package/dist/data/runtime/RuntimeBarCombo.cjs.map +1 -1
- package/dist/data/runtime/RuntimeBarCombo.d.ts +3 -1
- package/dist/data/runtime/RuntimeBarCombo.d.ts.map +1 -1
- package/dist/data/runtime/RuntimeBarCombo.js +11 -6
- package/dist/data/runtime/RuntimeBarCombo.js.map +1 -1
- package/dist/data/runtime/RuntimeBarSegments.cjs +7 -5
- package/dist/data/runtime/RuntimeBarSegments.cjs.map +1 -1
- package/dist/data/runtime/RuntimeBarSegments.d.ts +4 -2
- package/dist/data/runtime/RuntimeBarSegments.d.ts.map +1 -1
- package/dist/data/runtime/RuntimeBarSegments.js +7 -5
- package/dist/data/runtime/RuntimeBarSegments.js.map +1 -1
- package/dist/data/runtime/model-capabilities.cjs +0 -3
- package/dist/data/runtime/model-capabilities.cjs.map +1 -1
- package/dist/data/runtime/model-capabilities.d.ts +0 -1
- package/dist/data/runtime/model-capabilities.d.ts.map +1 -1
- package/dist/data/runtime/model-capabilities.js +0 -3
- package/dist/data/runtime/model-capabilities.js.map +1 -1
- package/dist/data/runtime/provider-status.cjs +1 -1
- package/dist/data/runtime/provider-status.cjs.map +1 -1
- package/dist/data/runtime/provider-status.js +1 -1
- package/dist/data/runtime/provider-status.js.map +1 -1
- package/dist/data/runtime/runtime-field-support.cjs +63 -0
- package/dist/data/runtime/runtime-field-support.cjs.map +1 -0
- package/dist/data/runtime/runtime-field-support.d.ts +13 -0
- package/dist/data/runtime/runtime-field-support.d.ts.map +1 -0
- package/dist/data/runtime/runtime-field-support.js +63 -0
- package/dist/data/runtime/runtime-field-support.js.map +1 -0
- package/dist/data/runtime/runtime-mode.cjs +158 -116
- package/dist/data/runtime/runtime-mode.cjs.map +1 -1
- package/dist/data/runtime/runtime-mode.d.ts +57 -19
- package/dist/data/runtime/runtime-mode.d.ts.map +1 -1
- package/dist/data/runtime/runtime-mode.js +158 -116
- package/dist/data/runtime/runtime-mode.js.map +1 -1
- package/dist/data/selectionActionSplit.cjs +33 -0
- package/dist/data/selectionActionSplit.cjs.map +1 -0
- package/dist/data/selectionActionSplit.d.ts +36 -0
- package/dist/data/selectionActionSplit.d.ts.map +1 -0
- package/dist/data/selectionActionSplit.js +33 -0
- package/dist/data/selectionActionSplit.js.map +1 -0
- package/dist/data/task-copy.cjs +76 -0
- package/dist/data/task-copy.cjs.map +1 -0
- package/dist/data/task-copy.d.ts +12 -0
- package/dist/data/task-copy.d.ts.map +1 -0
- package/dist/data/task-copy.js +76 -0
- package/dist/data/task-copy.js.map +1 -0
- package/dist/data/version-info.cjs +3 -3
- package/dist/data/version-info.js +3 -3
- package/dist/data.cjs +34 -0
- package/dist/data.cjs.map +1 -1
- package/dist/data.d.ts +4 -1
- package/dist/data.d.ts.map +1 -1
- package/dist/data.js +34 -0
- package/dist/data.js.map +1 -1
- package/dist/hooks/use-task-run.cjs +24 -17
- package/dist/hooks/use-task-run.cjs.map +1 -1
- package/dist/hooks/use-task-run.d.ts +3 -1
- package/dist/hooks/use-task-run.d.ts.map +1 -1
- package/dist/hooks/use-task-run.js +25 -18
- package/dist/hooks/use-task-run.js.map +1 -1
- package/dist/icons/components/UiCalendarCheck.cjs +15 -0
- package/dist/icons/components/UiCalendarCheck.cjs.map +1 -0
- package/dist/icons/components/UiCalendarCheck.d.ts +15 -0
- package/dist/icons/components/UiCalendarCheck.d.ts.map +1 -0
- package/dist/icons/components/UiCalendarCheck.js +15 -0
- package/dist/icons/components/UiCalendarCheck.js.map +1 -0
- package/dist/icons/components/UiChartLineUp.cjs +15 -0
- package/dist/icons/components/UiChartLineUp.cjs.map +1 -0
- package/dist/icons/components/UiChartLineUp.d.ts +15 -0
- package/dist/icons/components/UiChartLineUp.d.ts.map +1 -0
- package/dist/icons/components/UiChartLineUp.js +15 -0
- package/dist/icons/components/UiChartLineUp.js.map +1 -0
- package/dist/icons/components/UiClockCountdown.cjs +15 -0
- package/dist/icons/components/UiClockCountdown.cjs.map +1 -0
- package/dist/icons/components/UiClockCountdown.d.ts +15 -0
- package/dist/icons/components/UiClockCountdown.d.ts.map +1 -0
- package/dist/icons/components/UiClockCountdown.js +15 -0
- package/dist/icons/components/UiClockCountdown.js.map +1 -0
- package/dist/icons/components/UiFactory.cjs +15 -0
- package/dist/icons/components/UiFactory.cjs.map +1 -0
- package/dist/icons/components/UiFactory.d.ts +15 -0
- package/dist/icons/components/UiFactory.d.ts.map +1 -0
- package/dist/icons/components/UiFactory.js +15 -0
- package/dist/icons/components/UiFactory.js.map +1 -0
- package/dist/icons/components/UiHandCoins.cjs +15 -0
- package/dist/icons/components/UiHandCoins.cjs.map +1 -0
- package/dist/icons/components/UiHandCoins.d.ts +15 -0
- package/dist/icons/components/UiHandCoins.d.ts.map +1 -0
- package/dist/icons/components/UiHandCoins.js +15 -0
- package/dist/icons/components/UiHandCoins.js.map +1 -0
- package/dist/icons/components/UiInvoice.cjs +15 -0
- package/dist/icons/components/UiInvoice.cjs.map +1 -0
- package/dist/icons/components/UiInvoice.d.ts +15 -0
- package/dist/icons/components/UiInvoice.d.ts.map +1 -0
- package/dist/icons/components/UiInvoice.js +15 -0
- package/dist/icons/components/UiInvoice.js.map +1 -0
- package/dist/icons/components/UiTax.cjs +15 -0
- package/dist/icons/components/UiTax.cjs.map +1 -0
- package/dist/icons/components/UiTax.d.ts +15 -0
- package/dist/icons/components/UiTax.d.ts.map +1 -0
- package/dist/icons/components/UiTax.js +15 -0
- package/dist/icons/components/UiTax.js.map +1 -0
- package/dist/icons/index.d.ts +14 -0
- package/dist/icons/index.d.ts.map +1 -1
- package/dist/icons/registry.cjs +14 -0
- package/dist/icons/registry.cjs.map +1 -1
- package/dist/icons/registry.d.ts.map +1 -1
- package/dist/icons/registry.js +14 -0
- package/dist/icons/registry.js.map +1 -1
- package/dist/icons.cjs +21 -0
- package/dist/icons.cjs.map +1 -1
- package/dist/icons.js +21 -0
- package/dist/icons.js.map +1 -1
- package/dist/index.cjs +43 -0
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +44 -1
- package/dist/index.js.map +1 -1
- package/dist/layout/AppShell.cjs +17 -3
- package/dist/layout/AppShell.cjs.map +1 -1
- package/dist/layout/AppShell.d.ts.map +1 -1
- package/dist/layout/AppShell.js +17 -3
- package/dist/layout/AppShell.js.map +1 -1
- package/dist/overlay/DropdownMenu.cjs +46 -35
- package/dist/overlay/DropdownMenu.cjs.map +1 -1
- package/dist/overlay/DropdownMenu.js +46 -35
- package/dist/overlay/DropdownMenu.js.map +1 -1
- package/dist/rpc/FilterForm.cjs +26 -11
- package/dist/rpc/FilterForm.cjs.map +1 -1
- package/dist/rpc/FilterForm.d.ts +4 -1
- package/dist/rpc/FilterForm.d.ts.map +1 -1
- package/dist/rpc/FilterForm.js +26 -11
- package/dist/rpc/FilterForm.js.map +1 -1
- package/dist/rpc/FilterFormFields.cjs +3 -2
- package/dist/rpc/FilterFormFields.cjs.map +1 -1
- package/dist/rpc/FilterFormFields.d.ts +2 -1
- package/dist/rpc/FilterFormFields.d.ts.map +1 -1
- package/dist/rpc/FilterFormFields.js +3 -2
- package/dist/rpc/FilterFormFields.js.map +1 -1
- package/dist/rpc/OperationActionBar.cjs +67 -15
- package/dist/rpc/OperationActionBar.cjs.map +1 -1
- package/dist/rpc/OperationActionBar.d.ts +11 -3
- package/dist/rpc/OperationActionBar.d.ts.map +1 -1
- package/dist/rpc/OperationActionBar.js +68 -16
- package/dist/rpc/OperationActionBar.js.map +1 -1
- package/dist/rpc/OperationCatalog.cjs +69 -76
- package/dist/rpc/OperationCatalog.cjs.map +1 -1
- package/dist/rpc/OperationCatalog.d.ts +3 -1
- package/dist/rpc/OperationCatalog.d.ts.map +1 -1
- package/dist/rpc/OperationCatalog.js +69 -76
- package/dist/rpc/OperationCatalog.js.map +1 -1
- package/dist/rpc/OperationCatalogActions.cjs +69 -0
- package/dist/rpc/OperationCatalogActions.cjs.map +1 -0
- package/dist/rpc/OperationCatalogActions.d.ts +17 -0
- package/dist/rpc/OperationCatalogActions.d.ts.map +1 -0
- package/dist/rpc/OperationCatalogActions.js +69 -0
- package/dist/rpc/OperationCatalogActions.js.map +1 -0
- package/dist/rpc/OperationEntityContextPicker.cjs +129 -116
- package/dist/rpc/OperationEntityContextPicker.cjs.map +1 -1
- package/dist/rpc/OperationEntityContextPicker.d.ts +18 -1
- package/dist/rpc/OperationEntityContextPicker.d.ts.map +1 -1
- package/dist/rpc/OperationEntityContextPicker.js +130 -117
- package/dist/rpc/OperationEntityContextPicker.js.map +1 -1
- package/dist/rpc/OperationResultView.cjs +7 -4
- package/dist/rpc/OperationResultView.cjs.map +1 -1
- package/dist/rpc/OperationResultView.d.ts +4 -2
- package/dist/rpc/OperationResultView.d.ts.map +1 -1
- package/dist/rpc/OperationResultView.js +7 -4
- package/dist/rpc/OperationResultView.js.map +1 -1
- package/dist/rpc/operationCatalogUrl.cjs +28 -0
- package/dist/rpc/operationCatalogUrl.cjs.map +1 -0
- package/dist/rpc/operationCatalogUrl.d.ts +3 -0
- package/dist/rpc/operationCatalogUrl.d.ts.map +1 -0
- package/dist/rpc/operationCatalogUrl.js +28 -0
- package/dist/rpc/operationCatalogUrl.js.map +1 -0
- package/dist/rpc/rowNavigation.cjs +4 -3
- package/dist/rpc/rowNavigation.cjs.map +1 -1
- package/dist/rpc/rowNavigation.d.ts +1 -1
- package/dist/rpc/rowNavigation.d.ts.map +1 -1
- package/dist/rpc/rowNavigation.js +4 -3
- package/dist/rpc/rowNavigation.js.map +1 -1
- package/dist/rpc/types.cjs.map +1 -1
- package/dist/rpc/types.d.ts +2 -2
- package/dist/rpc/types.d.ts.map +1 -1
- package/dist/rpc/types.js.map +1 -1
- package/dist/rpc.cjs +2 -0
- package/dist/rpc.cjs.map +1 -1
- package/dist/rpc.d.ts +2 -1
- package/dist/rpc.d.ts.map +1 -1
- package/dist/rpc.js +2 -0
- package/dist/rpc.js.map +1 -1
- package/dist/runtime-profile.cjs +7 -0
- package/dist/runtime-profile.cjs.map +1 -0
- package/dist/runtime-profile.d.ts +2 -0
- package/dist/runtime-profile.d.ts.map +1 -0
- package/dist/runtime-profile.js +7 -0
- package/dist/runtime-profile.js.map +1 -0
- package/dist/styles.css +1 -1
- package/package.json +6 -1
|
@@ -5,6 +5,7 @@ import { CLIArgsSection } from "./CLIArgsSection.js";
|
|
|
5
5
|
import { CommitSection } from "./CommitSection.js";
|
|
6
6
|
import { EnvironmentSection, EnvironmentAdvanced } from "./EnvironmentSection.js";
|
|
7
7
|
import { Footer } from "./Footer.js";
|
|
8
|
+
import { ModelContextAdvanced } from "./ModelContextAdvanced.js";
|
|
8
9
|
import { ModelSection, ModelAdvanced } from "./ModelSection.js";
|
|
9
10
|
import { PermissionsSection, PermissionsAdvanced } from "./PermissionsSection.js";
|
|
10
11
|
import { PromptSection, PromptAdvanced } from "./PromptSection.js";
|
|
@@ -15,12 +16,14 @@ import { VerifySection } from "./VerifySection.js";
|
|
|
15
16
|
import { WorkspaceSection } from "./WorkspaceSection.js";
|
|
16
17
|
import { buildPermissionCatalog, specPermissionEntries, withAddedPermission, withPermissionEntries } from "./permissions-model.js";
|
|
17
18
|
import { summarizeTarget } from "./summaries.js";
|
|
18
|
-
import { SPEC_RUNTIME_SECTIONS
|
|
19
|
+
import { SPEC_RUNTIME_SECTIONS } from "./types.js";
|
|
20
|
+
import { SPEC_RUNTIME_FAMILIES, familyForModel, runtimeModeFromModel, firstMode, runtimeModelError, runtimeModeError, modeOptionFor } from "../../runtime/runtime-mode.js";
|
|
21
|
+
import { runtimeFieldSupport, SUPPORT_ALL_RUNTIME_FIELDS, runtimeSchemaPropertyAtPath, runtimeFieldSection } from "../../runtime/runtime-field-support.js";
|
|
19
22
|
import { useScrollSpy } from "./use-scrollspy.js";
|
|
20
23
|
const ADVANCED_HINTS = {
|
|
21
|
-
model: "fallbacks, session, caching",
|
|
24
|
+
model: "fallbacks, session, caching, memory, skills",
|
|
22
25
|
prompt: "schema",
|
|
23
|
-
permissions: "
|
|
26
|
+
permissions: "tools, MCP, plugins",
|
|
24
27
|
environment: "dotenv files"
|
|
25
28
|
};
|
|
26
29
|
function SpecRuntimeEditor({
|
|
@@ -28,6 +31,8 @@ function SpecRuntimeEditor({
|
|
|
28
31
|
onChange,
|
|
29
32
|
models = [],
|
|
30
33
|
families,
|
|
34
|
+
effectiveMode,
|
|
35
|
+
effectiveModel,
|
|
31
36
|
tools = [],
|
|
32
37
|
permissionCatalog,
|
|
33
38
|
secretSelector,
|
|
@@ -35,32 +40,73 @@ function SpecRuntimeEditor({
|
|
|
35
40
|
sandboxCatalog,
|
|
36
41
|
sandboxCreate,
|
|
37
42
|
sections: sectionFilter,
|
|
43
|
+
promptVariant = "runtime",
|
|
44
|
+
readOnly = false,
|
|
38
45
|
className,
|
|
39
46
|
title = "Runtime Spec",
|
|
40
47
|
eyebrow = "Agent configuration",
|
|
41
48
|
showHeader = true,
|
|
42
49
|
beforeSections,
|
|
43
50
|
defaultCollapsedSections,
|
|
51
|
+
variant = "run",
|
|
44
52
|
onSave,
|
|
45
53
|
onCancel,
|
|
46
54
|
saveLabel = "Save & run",
|
|
47
55
|
footerStatus = "Ready to run"
|
|
48
56
|
}) {
|
|
57
|
+
var _a;
|
|
49
58
|
const idPrefix = useId();
|
|
59
|
+
const commitChange = readOnly ? () => void 0 : onChange;
|
|
50
60
|
const catalog = useMemo(
|
|
51
61
|
() => buildPermissionCatalog(permissionCatalog, tools),
|
|
52
62
|
[permissionCatalog, tools]
|
|
53
63
|
);
|
|
64
|
+
const runtimeFamilies = (families == null ? void 0 : families.length) ? families : SPEC_RUNTIME_FAMILIES;
|
|
65
|
+
const selectedFamily = familyForModel(
|
|
66
|
+
runtimeFamilies,
|
|
67
|
+
models,
|
|
68
|
+
value.model || effectiveModel
|
|
69
|
+
);
|
|
70
|
+
const specMode = runtimeModeFromModel(value.model) || ((_a = value.mode) == null ? void 0 : _a.trim()) || (effectiveMode == null ? void 0 : effectiveMode.trim()) || firstMode(runtimeFamilies[0] ?? SPEC_RUNTIME_FAMILIES[0]).id;
|
|
71
|
+
const runtimeError = runtimeModelError(value.model || effectiveModel) ?? runtimeModeError(runtimeFamilies, specMode, selectedFamily == null ? void 0 : selectedFamily.id);
|
|
72
|
+
const selectedRuntime = runtimeError ? void 0 : modeOptionFor(runtimeFamilies, specMode, selectedFamily == null ? void 0 : selectedFamily.id);
|
|
73
|
+
const supports = selectedRuntime ? runtimeFieldSupport(runtimeFamilies, specMode, selectedFamily == null ? void 0 : selectedFamily.id) : SUPPORT_ALL_RUNTIME_FIELDS;
|
|
74
|
+
const runtimeSchema = selectedRuntime == null ? void 0 : selectedRuntime.schema;
|
|
75
|
+
const hasSandboxSection = runtimeSchema != null && runtimeSchemaPropertyAtPath(runtimeSchema, "sandbox.mode") != null;
|
|
54
76
|
const entries = useMemo(
|
|
55
77
|
() => specPermissionEntries(value, catalog),
|
|
56
78
|
[value, catalog]
|
|
57
79
|
);
|
|
58
|
-
const
|
|
59
|
-
|
|
80
|
+
const skillsSection = selectedRuntime ? runtimeFieldSection(
|
|
81
|
+
runtimeFamilies,
|
|
82
|
+
specMode,
|
|
83
|
+
"permissions.skills",
|
|
84
|
+
selectedFamily == null ? void 0 : selectedFamily.id
|
|
85
|
+
) ?? "model" : "model";
|
|
86
|
+
const modelSkillEntries = entries.filter(
|
|
87
|
+
(entry) => entry.domain === "skills" && skillsSection === "model" && supports("permissions.skills")
|
|
88
|
+
);
|
|
89
|
+
const permissionEntries = entries.filter(
|
|
90
|
+
(entry) => (entry.domain !== "skills" || skillsSection === "permissions") && supports(`permissions.${entry.domain}`)
|
|
91
|
+
);
|
|
92
|
+
const hasPermissionSection = skillsSection === "permissions" && supports("permissions.skills") || ["tools", "mcp", "plugins"].some(
|
|
93
|
+
(domain) => supports(`permissions.${domain}`)
|
|
94
|
+
);
|
|
95
|
+
const requestedSections = useMemo(
|
|
96
|
+
() => sectionFilter ? sectionFilter.map((id) => {
|
|
97
|
+
const section = SPEC_RUNTIME_SECTIONS.find(
|
|
98
|
+
(candidate) => candidate.id === id
|
|
99
|
+
);
|
|
100
|
+
if (!section)
|
|
101
|
+
throw new Error(
|
|
102
|
+
`unknown runtime editor section ${JSON.stringify(id)}`
|
|
103
|
+
);
|
|
104
|
+
return section;
|
|
105
|
+
}) : SPEC_RUNTIME_SECTIONS,
|
|
60
106
|
[sectionFilter]
|
|
61
107
|
);
|
|
62
|
-
const sections =
|
|
63
|
-
(section) => (section.id !== "cli" || cliOptions) && (section.id !== "sandbox" ||
|
|
108
|
+
const sections = requestedSections.filter(
|
|
109
|
+
(section) => (section.id !== "cli" || cliOptions && supports("cliArgs")) && (section.id !== "sandbox" || hasSandboxSection) && (section.id !== "permissions" || hasPermissionSection)
|
|
64
110
|
);
|
|
65
111
|
const collapsedSections = useMemo(
|
|
66
112
|
() => new Set(defaultCollapsedSections ?? []),
|
|
@@ -70,10 +116,10 @@ function SpecRuntimeEditor({
|
|
|
70
116
|
const { sectionRef } = useScrollSpy(
|
|
71
117
|
sections.map((section) => domId(section.id))
|
|
72
118
|
);
|
|
73
|
-
const applyEntries = (applied, mode) =>
|
|
119
|
+
const applyEntries = (applied, mode) => commitChange(withPermissionEntries(value, applied, mode));
|
|
74
120
|
const addEntry = (domain, id) => {
|
|
75
121
|
const next = withAddedPermission(value, domain, id);
|
|
76
|
-
if (next)
|
|
122
|
+
if (next) commitChange(next);
|
|
77
123
|
};
|
|
78
124
|
const sectionBody = (id) => {
|
|
79
125
|
switch (id) {
|
|
@@ -82,50 +128,61 @@ function SpecRuntimeEditor({
|
|
|
82
128
|
ModelSection,
|
|
83
129
|
{
|
|
84
130
|
value,
|
|
85
|
-
onChange,
|
|
131
|
+
onChange: commitChange,
|
|
86
132
|
models,
|
|
87
|
-
|
|
133
|
+
effectiveMode,
|
|
134
|
+
effectiveModel,
|
|
135
|
+
families: runtimeFamilies
|
|
88
136
|
}
|
|
89
137
|
);
|
|
90
138
|
case "prompt":
|
|
91
|
-
return /* @__PURE__ */ jsx(
|
|
139
|
+
return /* @__PURE__ */ jsx(
|
|
140
|
+
PromptSection,
|
|
141
|
+
{
|
|
142
|
+
value,
|
|
143
|
+
onChange: commitChange,
|
|
144
|
+
supports,
|
|
145
|
+
variant: promptVariant
|
|
146
|
+
}
|
|
147
|
+
);
|
|
92
148
|
case "workspace":
|
|
93
149
|
return /* @__PURE__ */ jsx(
|
|
94
150
|
WorkspaceSection,
|
|
95
151
|
{
|
|
96
152
|
value,
|
|
97
|
-
onChange,
|
|
98
|
-
secretSelector
|
|
153
|
+
onChange: commitChange,
|
|
154
|
+
secretSelector,
|
|
155
|
+
variant,
|
|
156
|
+
supports
|
|
99
157
|
}
|
|
100
158
|
);
|
|
101
159
|
case "sandbox":
|
|
102
|
-
return
|
|
160
|
+
return runtimeSchema ? /* @__PURE__ */ jsx(
|
|
103
161
|
SandboxSection,
|
|
104
162
|
{
|
|
105
163
|
value,
|
|
106
|
-
onChange,
|
|
107
|
-
|
|
108
|
-
...
|
|
164
|
+
onChange: commitChange,
|
|
165
|
+
schema: runtimeSchema,
|
|
166
|
+
...sandboxCatalog ? { catalog: sandboxCatalog } : {},
|
|
167
|
+
families: runtimeFamilies,
|
|
109
168
|
...sandboxCreate ? { createConfig: sandboxCreate } : {}
|
|
110
169
|
}
|
|
111
170
|
) : null;
|
|
112
171
|
case "permissions":
|
|
113
|
-
return /* @__PURE__ */ jsx(
|
|
172
|
+
return supports("permissions") ? /* @__PURE__ */ jsx(
|
|
114
173
|
PermissionsSection,
|
|
115
174
|
{
|
|
116
175
|
value,
|
|
117
|
-
onChange,
|
|
118
|
-
entries
|
|
119
|
-
onApplyEntries: applyEntries,
|
|
120
|
-
onAddEntry: addEntry
|
|
176
|
+
onChange: commitChange,
|
|
177
|
+
entries: permissionEntries
|
|
121
178
|
}
|
|
122
|
-
);
|
|
179
|
+
) : null;
|
|
123
180
|
case "environment":
|
|
124
181
|
return /* @__PURE__ */ jsx(
|
|
125
182
|
EnvironmentSection,
|
|
126
183
|
{
|
|
127
184
|
value,
|
|
128
|
-
onChange,
|
|
185
|
+
onChange: commitChange,
|
|
129
186
|
secretSelector
|
|
130
187
|
}
|
|
131
188
|
);
|
|
@@ -134,20 +191,20 @@ function SpecRuntimeEditor({
|
|
|
134
191
|
VerifySection,
|
|
135
192
|
{
|
|
136
193
|
value,
|
|
137
|
-
onChange,
|
|
194
|
+
onChange: commitChange,
|
|
138
195
|
models,
|
|
139
|
-
|
|
196
|
+
families: runtimeFamilies,
|
|
140
197
|
...secretSelector ? { secretSelector } : {}
|
|
141
198
|
}
|
|
142
199
|
);
|
|
143
200
|
case "commit":
|
|
144
|
-
return /* @__PURE__ */ jsx(CommitSection, { value, onChange });
|
|
201
|
+
return /* @__PURE__ */ jsx(CommitSection, { value, onChange: commitChange });
|
|
145
202
|
case "cli":
|
|
146
203
|
return cliOptions ? /* @__PURE__ */ jsx(
|
|
147
204
|
CLIArgsSection,
|
|
148
205
|
{
|
|
149
206
|
value,
|
|
150
|
-
onChange,
|
|
207
|
+
onChange: commitChange,
|
|
151
208
|
cliOptions
|
|
152
209
|
}
|
|
153
210
|
) : null;
|
|
@@ -156,34 +213,50 @@ function SpecRuntimeEditor({
|
|
|
156
213
|
const sectionAdvanced = (id) => {
|
|
157
214
|
switch (id) {
|
|
158
215
|
case "model":
|
|
159
|
-
return /* @__PURE__ */
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
216
|
+
return /* @__PURE__ */ jsxs("div", { className: "grid gap-density-3", children: [
|
|
217
|
+
/* @__PURE__ */ jsx(
|
|
218
|
+
ModelAdvanced,
|
|
219
|
+
{
|
|
220
|
+
value,
|
|
221
|
+
onChange: commitChange,
|
|
222
|
+
models,
|
|
223
|
+
supports,
|
|
224
|
+
families: runtimeFamilies
|
|
225
|
+
}
|
|
226
|
+
),
|
|
227
|
+
/* @__PURE__ */ jsx(
|
|
228
|
+
ModelContextAdvanced,
|
|
229
|
+
{
|
|
230
|
+
value,
|
|
231
|
+
onChange: commitChange,
|
|
232
|
+
entries: modelSkillEntries,
|
|
233
|
+
onApplyEntries: applyEntries,
|
|
234
|
+
onAddEntry: addEntry,
|
|
235
|
+
showSkills: skillsSection === "model",
|
|
236
|
+
supports
|
|
237
|
+
}
|
|
238
|
+
)
|
|
239
|
+
] });
|
|
168
240
|
case "prompt":
|
|
169
|
-
return /* @__PURE__ */ jsx(PromptAdvanced, { value, onChange });
|
|
241
|
+
return supports("prompt.schema") ? /* @__PURE__ */ jsx(PromptAdvanced, { value, onChange: commitChange }) : void 0;
|
|
170
242
|
case "permissions":
|
|
171
243
|
return /* @__PURE__ */ jsx(
|
|
172
244
|
PermissionsAdvanced,
|
|
173
245
|
{
|
|
174
|
-
|
|
175
|
-
onChange,
|
|
176
|
-
entries,
|
|
246
|
+
entries: permissionEntries,
|
|
177
247
|
onApplyEntries: applyEntries,
|
|
178
|
-
onAddEntry: addEntry
|
|
248
|
+
onAddEntry: addEntry,
|
|
249
|
+
includeSkills: skillsSection === "permissions",
|
|
250
|
+
supports
|
|
179
251
|
}
|
|
180
252
|
);
|
|
181
253
|
case "environment":
|
|
182
|
-
return /* @__PURE__ */ jsx(EnvironmentAdvanced, { value, onChange });
|
|
254
|
+
return variant === "run" ? /* @__PURE__ */ jsx(EnvironmentAdvanced, { value, onChange: commitChange }) : void 0;
|
|
183
255
|
default:
|
|
184
256
|
return void 0;
|
|
185
257
|
}
|
|
186
258
|
};
|
|
259
|
+
const valueControls = (content) => readOnly && content ? /* @__PURE__ */ jsx("fieldset", { disabled: true, className: "m-0 min-w-0 border-0 p-0", children: content }) : content;
|
|
187
260
|
return /* @__PURE__ */ jsxs("div", { className: cn("@container", className), children: [
|
|
188
261
|
/* @__PURE__ */ jsxs("div", { className: "mx-auto max-w-[820px] px-density-4 py-density-4", children: [
|
|
189
262
|
showHeader && /* @__PURE__ */ jsx(
|
|
@@ -194,18 +267,32 @@ function SpecRuntimeEditor({
|
|
|
194
267
|
target: summarizeTarget(value)
|
|
195
268
|
}
|
|
196
269
|
),
|
|
270
|
+
runtimeError ? /* @__PURE__ */ jsxs(
|
|
271
|
+
"div",
|
|
272
|
+
{
|
|
273
|
+
role: "alert",
|
|
274
|
+
className: "mb-density-3 rounded-md border border-destructive/40 bg-destructive/10 px-density-3 py-density-2 text-sm text-destructive",
|
|
275
|
+
children: [
|
|
276
|
+
runtimeError,
|
|
277
|
+
" Select a valid mode below or switch to Raw to repair the prompt source."
|
|
278
|
+
]
|
|
279
|
+
}
|
|
280
|
+
) : null,
|
|
197
281
|
beforeSections,
|
|
198
|
-
sections.map((section) => /* @__PURE__ */ jsx(
|
|
282
|
+
sections.map((section, index) => /* @__PURE__ */ jsx(
|
|
199
283
|
SectionCard,
|
|
200
284
|
{
|
|
201
|
-
meta: section
|
|
202
|
-
|
|
285
|
+
meta: section.id === "prompt" && promptVariant === "document" ? {
|
|
286
|
+
...section,
|
|
287
|
+
hint: "The .prompt document body and its explicit system fields."
|
|
288
|
+
} : section,
|
|
289
|
+
number: String(index + 1).padStart(2, "0"),
|
|
203
290
|
domId: domId(section.id),
|
|
204
291
|
sectionRef: sectionRef(domId(section.id)),
|
|
205
|
-
advanced: sectionAdvanced(section.id),
|
|
292
|
+
advanced: valueControls(sectionAdvanced(section.id)),
|
|
206
293
|
advancedHint: ADVANCED_HINTS[section.id],
|
|
207
294
|
defaultCollapsed: collapsedSections.has(section.id),
|
|
208
|
-
children: sectionBody(section.id)
|
|
295
|
+
children: valueControls(sectionBody(section.id))
|
|
209
296
|
},
|
|
210
297
|
section.id
|
|
211
298
|
))
|
|
@@ -222,6 +309,7 @@ function SpecRuntimeEditor({
|
|
|
222
309
|
] });
|
|
223
310
|
}
|
|
224
311
|
export {
|
|
312
|
+
SPEC_RUNTIME_FAMILIES,
|
|
225
313
|
SpecRuntimeEditor
|
|
226
314
|
};
|
|
227
315
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../src/data/ai/SpecRuntimeEditor/index.tsx"],"sourcesContent":["import { useId, useMemo, type ReactNode } from \"react\";\nimport { cn } from \"../../../lib/utils\";\nimport type { ChatModel, ToolMeta } from \"../../chat/types\";\nimport type {\n AISpecRuntimePermissionCatalog,\n AISpecRuntimeValue,\n} from \"../SpecRuntimeEditor.model\";\nimport type { SpecRuntimeSandboxCreateConfig } from \"../SandboxCreateWizard.model\";\nimport { CLIArgsSection, type SpecRuntimeCLIOptions } from \"./CLIArgsSection\";\nimport { CommitSection } from \"./CommitSection\";\nimport { EnvironmentAdvanced, EnvironmentSection } from \"./EnvironmentSection\";\nimport { Footer } from \"./Footer\";\nimport { ModelAdvanced, ModelSection } from \"./ModelSection\";\nimport { PermissionsAdvanced, PermissionsSection } from \"./PermissionsSection\";\nimport { PromptAdvanced, PromptSection } from \"./PromptSection\";\nimport { Rail } from \"./Rail\";\nimport { SandboxSection } from \"./SandboxSection\";\nimport { SectionCard } from \"./SectionCard\";\nimport { VerifySection } from \"./VerifySection\";\nimport { WorkspaceSection } from \"./WorkspaceSection\";\nimport {\n buildPermissionCatalog,\n specPermissionEntries,\n withAddedPermission,\n withPermissionEntries,\n} from \"./permissions-model\";\nimport { summarizeTarget } from \"./summaries\";\nimport {\n SPEC_RUNTIME_SECTIONS,\n sectionNumber,\n type SpecRuntimeSandboxCatalog,\n type SpecRuntimeSecretSelectorConfig,\n type SpecSectionId,\n} from \"./types\";\nimport type { SpecRuntimeFamily } from \"../../runtime/runtime-mode\";\nimport { useScrollSpy } from \"./use-scrollspy\";\n\nexport type { AISpecRuntimeValue } from \"../SpecRuntimeEditor.model\";\nexport type {\n SpecRuntimeSandboxAgent,\n SpecRuntimeSandboxBackend,\n SpecRuntimeSandboxCatalog,\n SpecRuntimeSandboxKind,\n SpecRuntimeSecretSelectorConfig,\n} from \"./types\";\nexport type { SpecRuntimeCLIOptions } from \"./CLIArgsSection\";\nexport {\n SPEC_RUNTIME_FAMILIES,\n type SpecRuntimeFamily,\n type SpecRuntimeModeOption,\n} from \"../../runtime/runtime-mode\";\n\nexport type SpecRuntimeEditorProps = {\n value: AISpecRuntimeValue;\n onChange: (value: AISpecRuntimeValue) => void;\n models?: ChatModel[] | undefined;\n /** Provider families for the two-axis Family → Mode picker in the model section. */\n families?: SpecRuntimeFamily[] | undefined;\n tools?: ToolMeta[] | undefined;\n permissionCatalog?: AISpecRuntimePermissionCatalog | undefined;\n secretSelector?: SpecRuntimeSecretSelectorConfig | undefined;\n /** Schema for the backend's extra CLI args; enables the CLI flags section. */\n cliOptions?: SpecRuntimeCLIOptions | undefined;\n /** Sandbox adapter catalog; enables the Sandbox section. */\n sandboxCatalog?: SpecRuntimeSandboxCatalog | undefined;\n /** Host-owned sandbox creation and credential-reference adapter. */\n sandboxCreate?: SpecRuntimeSandboxCreateConfig | undefined;\n /** Optional section allow-list for embedded editors that only need part of the runtime spec. */\n sections?: readonly SpecSectionId[] | undefined;\n className?: string | undefined;\n title?: ReactNode | undefined;\n eyebrow?: ReactNode | undefined;\n /** Hide the editor rail when a host modal already supplies the context. */\n showHeader?: boolean | undefined;\n /** Content rendered before the first section inside the editor column. */\n beforeSections?: ReactNode | undefined;\n /** Sections that should start collapsed in embedded contexts. */\n defaultCollapsedSections?: readonly SpecSectionId[] | undefined;\n /** Renders the sticky footer's save action when set. */\n onSave?: (() => void) | undefined;\n /** Renders the sticky footer's cancel action when set. */\n onCancel?: (() => void) | undefined;\n saveLabel?: string | undefined;\n footerStatus?: ReactNode | undefined;\n};\n\nconst ADVANCED_HINTS: Partial<Record<SpecSectionId, string>> = {\n model: \"fallbacks, session, caching\",\n prompt: \"schema\",\n permissions: \"full permission tree\",\n environment: \"dotenv files\",\n};\n\n// Full-page runtime spec editor (design \"Runtime Spec Editor v2\"): a live\n// summary rail with scrollspy nav, preset quick-starts, and stacked numbered\n// sections. Container-responsive so it works embedded in a modal or standalone.\nexport function SpecRuntimeEditor({\n value,\n onChange,\n models = [],\n families,\n tools = [],\n permissionCatalog,\n secretSelector,\n cliOptions,\n sandboxCatalog,\n sandboxCreate,\n sections: sectionFilter,\n className,\n title = \"Runtime Spec\",\n eyebrow = \"Agent configuration\",\n showHeader = true,\n beforeSections,\n defaultCollapsedSections,\n onSave,\n onCancel,\n saveLabel = \"Save & run\",\n footerStatus = \"Ready to run\",\n}: SpecRuntimeEditorProps) {\n const idPrefix = useId();\n const catalog = useMemo(\n () => buildPermissionCatalog(permissionCatalog, tools),\n [permissionCatalog, tools],\n );\n const entries = useMemo(\n () => specPermissionEntries(value, catalog),\n [value, catalog],\n );\n\n const allowedSections = useMemo(\n () => (sectionFilter ? new Set(sectionFilter) : undefined),\n [sectionFilter],\n );\n // \"cli\" and \"sandbox\" describe host-supplied catalogs; without one there is\n // nothing to choose from, so the section is omitted rather than rendered empty.\n const sections = SPEC_RUNTIME_SECTIONS.filter(\n (section) =>\n (section.id !== \"cli\" || cliOptions) &&\n (section.id !== \"sandbox\" || sandboxCatalog) &&\n (allowedSections == null || allowedSections.has(section.id)),\n );\n const collapsedSections = useMemo(\n () => new Set(defaultCollapsedSections ?? []),\n [defaultCollapsedSections],\n );\n const domId = (id: SpecSectionId) => `${idPrefix}-${id}`;\n const { sectionRef } = useScrollSpy(\n sections.map((section) => domId(section.id)),\n );\n\n const applyEntries = (\n applied: Parameters<typeof withPermissionEntries>[1],\n mode: Parameters<typeof withPermissionEntries>[2],\n ) => onChange(withPermissionEntries(value, applied, mode));\n const addEntry = (\n domain: Parameters<typeof withAddedPermission>[1],\n id: string,\n ) => {\n const next = withAddedPermission(value, domain, id);\n if (next) onChange(next);\n };\n\n const sectionBody = (id: SpecSectionId): ReactNode => {\n switch (id) {\n case \"model\":\n return (\n <ModelSection\n value={value}\n onChange={onChange}\n models={models}\n {...(families ? { families } : {})}\n />\n );\n case \"prompt\":\n return <PromptSection value={value} onChange={onChange} />;\n case \"workspace\":\n return (\n <WorkspaceSection\n value={value}\n onChange={onChange}\n secretSelector={secretSelector}\n />\n );\n case \"sandbox\":\n return sandboxCatalog ? (\n <SandboxSection\n value={value}\n onChange={onChange}\n catalog={sandboxCatalog}\n {...(families ? { families } : {})}\n {...(sandboxCreate ? { createConfig: sandboxCreate } : {})}\n />\n ) : null;\n case \"permissions\":\n return (\n <PermissionsSection\n value={value}\n onChange={onChange}\n entries={entries}\n onApplyEntries={applyEntries}\n onAddEntry={addEntry}\n />\n );\n case \"environment\":\n return (\n <EnvironmentSection\n value={value}\n onChange={onChange}\n secretSelector={secretSelector}\n />\n );\n case \"verify\":\n return (\n <VerifySection\n value={value}\n onChange={onChange}\n models={models}\n {...(families ? { families } : {})}\n {...(secretSelector ? { secretSelector } : {})}\n />\n );\n case \"commit\":\n return <CommitSection value={value} onChange={onChange} />;\n case \"cli\":\n return cliOptions ? (\n <CLIArgsSection\n value={value}\n onChange={onChange}\n cliOptions={cliOptions}\n />\n ) : null;\n }\n };\n\n const sectionAdvanced = (id: SpecSectionId): ReactNode => {\n switch (id) {\n case \"model\":\n return (\n <ModelAdvanced\n value={value}\n onChange={onChange}\n models={models}\n {...(families ? { families } : {})}\n />\n );\n case \"prompt\":\n return <PromptAdvanced value={value} onChange={onChange} />;\n case \"permissions\":\n return (\n <PermissionsAdvanced\n value={value}\n onChange={onChange}\n entries={entries}\n onApplyEntries={applyEntries}\n onAddEntry={addEntry}\n />\n );\n case \"environment\":\n return <EnvironmentAdvanced value={value} onChange={onChange} />;\n default:\n return undefined;\n }\n };\n\n return (\n <div className={cn(\"@container\", className)}>\n <div className=\"mx-auto max-w-[820px] px-density-4 py-density-4\">\n {showHeader && (\n <Rail\n eyebrow={eyebrow}\n title={title}\n target={summarizeTarget(value)}\n />\n )}\n {beforeSections}\n {sections.map((section) => (\n <SectionCard\n key={section.id}\n meta={section}\n number={sectionNumber(section.id)}\n domId={domId(section.id)}\n sectionRef={sectionRef(domId(section.id))}\n advanced={sectionAdvanced(section.id)}\n advancedHint={ADVANCED_HINTS[section.id]}\n defaultCollapsed={collapsedSections.has(section.id)}\n >\n {sectionBody(section.id)}\n </SectionCard>\n ))}\n </div>\n {(onSave || onCancel) && (\n <Footer\n status={footerStatus}\n saveLabel={saveLabel}\n onSave={onSave}\n onCancel={onCancel}\n />\n )}\n </div>\n );\n}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../src/data/ai/SpecRuntimeEditor/index.tsx"],"sourcesContent":["import { useId, useMemo, type ReactNode } from \"react\";\nimport { cn } from \"../../../lib/utils\";\nimport type { ChatModel, ToolMeta } from \"../../chat/types\";\nimport type {\n AISpecRuntimePermissionCatalog,\n AISpecRuntimeValue,\n} from \"../SpecRuntimeEditor.model\";\nimport type { SpecRuntimeSandboxCreateConfig } from \"../SandboxCreateWizard.model\";\nimport { CLIArgsSection, type SpecRuntimeCLIOptions } from \"./CLIArgsSection\";\nimport { CommitSection } from \"./CommitSection\";\nimport { EnvironmentAdvanced, EnvironmentSection } from \"./EnvironmentSection\";\nimport { Footer } from \"./Footer\";\nimport { ModelContextAdvanced } from \"./ModelContextAdvanced\";\nimport { ModelAdvanced, ModelSection } from \"./ModelSection\";\nimport { PermissionsAdvanced, PermissionsSection } from \"./PermissionsSection\";\nimport { PromptAdvanced, PromptSection } from \"./PromptSection\";\nimport { Rail } from \"./Rail\";\nimport { SandboxSection } from \"./SandboxSection\";\nimport { SectionCard } from \"./SectionCard\";\nimport { VerifySection } from \"./VerifySection\";\nimport { WorkspaceSection } from \"./WorkspaceSection\";\nimport {\n buildPermissionCatalog,\n specPermissionEntries,\n withAddedPermission,\n withPermissionEntries,\n} from \"./permissions-model\";\nimport { summarizeTarget } from \"./summaries\";\nimport {\n SPEC_RUNTIME_SECTIONS,\n type SpecRuntimeSandboxCatalog,\n type SpecRuntimeSecretSelectorConfig,\n type SpecSectionId,\n} from \"./types\";\nimport {\n SPEC_RUNTIME_FAMILIES,\n familyForModel,\n firstMode,\n runtimeModeError,\n runtimeModeFromModel,\n runtimeModelError,\n modeOptionFor,\n type SpecRuntimeFamily,\n} from \"../../runtime/runtime-mode\";\nimport {\n runtimeFieldSection,\n runtimeFieldSupport,\n runtimeSchemaPropertyAtPath,\n SUPPORT_ALL_RUNTIME_FIELDS,\n} from \"../../runtime/runtime-field-support\";\nimport { useScrollSpy } from \"./use-scrollspy\";\n\nexport type { AISpecRuntimeValue } from \"../SpecRuntimeEditor.model\";\nexport type {\n SpecRuntimeSandboxAgent,\n SpecRuntimeSandboxBackend,\n SpecRuntimeSandboxCatalog,\n SpecRuntimeSandboxKind,\n SpecRuntimeSecretSelectorConfig,\n} from \"./types\";\nexport type { SpecRuntimeCLIOptions } from \"./CLIArgsSection\";\nexport {\n SPEC_RUNTIME_FAMILIES,\n type SpecRuntimeFamily,\n type SpecRuntimeModeOption,\n} from \"../../runtime/runtime-mode\";\n\nexport type SpecRuntimeEditorProps = {\n value: AISpecRuntimeValue;\n onChange: (value: AISpecRuntimeValue) => void;\n models?: ChatModel[] | undefined;\n /** Provider families for the two-axis Family → Mode picker in the model section. */\n families?: SpecRuntimeFamily[] | undefined;\n /** Resolved mode used to validate posture when this editable layer inherits it. */\n effectiveMode?: string | undefined;\n /** Resolved model used to identify the inherited provider family. */\n effectiveModel?: string | undefined;\n tools?: ToolMeta[] | undefined;\n permissionCatalog?: AISpecRuntimePermissionCatalog | undefined;\n secretSelector?: SpecRuntimeSecretSelectorConfig | undefined;\n /** Schema for the runtime's extra CLI args; enables the CLI flags section. */\n cliOptions?: SpecRuntimeCLIOptions | undefined;\n /** Sandbox adapter catalog; enables the Sandbox section. */\n sandboxCatalog?: SpecRuntimeSandboxCatalog | undefined;\n /** Host-owned sandbox creation and credential-reference adapter. */\n sandboxCreate?: SpecRuntimeSandboxCreateConfig | undefined;\n /** Optional ordered section selection for embedded editors that only need part of the runtime spec. */\n sections?: readonly SpecSectionId[] | undefined;\n /** Presents prompt.user as a complete .prompt document body. */\n promptVariant?: \"runtime\" | \"document\" | undefined;\n /** Disables value controls while preserving section navigation and disclosures. */\n readOnly?: boolean | undefined;\n className?: string | undefined;\n title?: ReactNode | undefined;\n eyebrow?: ReactNode | undefined;\n /** Hide the editor rail when a host modal already supplies the context. */\n showHeader?: boolean | undefined;\n /** Content rendered before the first section inside the editor column. */\n beforeSections?: ReactNode | undefined;\n /** Sections that should start collapsed in embedded contexts. */\n defaultCollapsedSections?: readonly SpecSectionId[] | undefined;\n /** Restrict task-owned fields when editing a reusable preset fragment. */\n variant?: \"run\" | \"preset\" | undefined;\n /** Renders the sticky footer's save action when set. */\n onSave?: (() => void) | undefined;\n /** Renders the sticky footer's cancel action when set. */\n onCancel?: (() => void) | undefined;\n saveLabel?: string | undefined;\n footerStatus?: ReactNode | undefined;\n};\n\nconst ADVANCED_HINTS: Partial<Record<SpecSectionId, string>> = {\n model: \"fallbacks, session, caching, memory, skills\",\n prompt: \"schema\",\n permissions: \"tools, MCP, plugins\",\n environment: \"dotenv files\",\n};\n\n// Full-page runtime spec editor (design \"Runtime Spec Editor v2\"): a live\n// summary rail with scrollspy nav, preset quick-starts, and stacked numbered\n// sections. Container-responsive so it works embedded in a modal or standalone.\nexport function SpecRuntimeEditor({\n value,\n onChange,\n models = [],\n families,\n effectiveMode,\n effectiveModel,\n tools = [],\n permissionCatalog,\n secretSelector,\n cliOptions,\n sandboxCatalog,\n sandboxCreate,\n sections: sectionFilter,\n promptVariant = \"runtime\",\n readOnly = false,\n className,\n title = \"Runtime Spec\",\n eyebrow = \"Agent configuration\",\n showHeader = true,\n beforeSections,\n defaultCollapsedSections,\n variant = \"run\",\n onSave,\n onCancel,\n saveLabel = \"Save & run\",\n footerStatus = \"Ready to run\",\n}: SpecRuntimeEditorProps) {\n const idPrefix = useId();\n const commitChange: (next: AISpecRuntimeValue) => void = readOnly\n ? () => undefined\n : onChange;\n const catalog = useMemo(\n () => buildPermissionCatalog(permissionCatalog, tools),\n [permissionCatalog, tools],\n );\n const runtimeFamilies = families?.length ? families : SPEC_RUNTIME_FAMILIES;\n const selectedFamily = familyForModel(\n runtimeFamilies,\n models,\n value.model || effectiveModel,\n );\n const specMode =\n runtimeModeFromModel(value.model) ||\n value.mode?.trim() ||\n effectiveMode?.trim() ||\n firstMode(runtimeFamilies[0] ?? SPEC_RUNTIME_FAMILIES[0]!).id;\n const runtimeError =\n runtimeModelError(value.model || effectiveModel) ??\n runtimeModeError(runtimeFamilies, specMode, selectedFamily?.id);\n const selectedRuntime = runtimeError\n ? undefined\n : modeOptionFor(runtimeFamilies, specMode, selectedFamily?.id);\n const supports = selectedRuntime\n ? runtimeFieldSupport(runtimeFamilies, specMode, selectedFamily?.id)\n : SUPPORT_ALL_RUNTIME_FIELDS;\n const runtimeSchema = selectedRuntime?.schema;\n const hasSandboxSection =\n runtimeSchema != null &&\n runtimeSchemaPropertyAtPath(runtimeSchema, \"sandbox.mode\") != null;\n const entries = useMemo(\n () => specPermissionEntries(value, catalog),\n [value, catalog],\n );\n const skillsSection = selectedRuntime\n ? (runtimeFieldSection(\n runtimeFamilies,\n specMode,\n \"permissions.skills\",\n selectedFamily?.id,\n ) ?? \"model\")\n : \"model\";\n const modelSkillEntries = entries.filter(\n (entry) =>\n entry.domain === \"skills\" &&\n skillsSection === \"model\" &&\n supports(\"permissions.skills\"),\n );\n const permissionEntries = entries.filter(\n (entry) =>\n (entry.domain !== \"skills\" || skillsSection === \"permissions\") &&\n supports(`permissions.${entry.domain}`),\n );\n const hasPermissionSection =\n (skillsSection === \"permissions\" && supports(\"permissions.skills\")) ||\n ([\"tools\", \"mcp\", \"plugins\"] as const).some((domain) =>\n supports(`permissions.${domain}`),\n );\n\n const requestedSections = useMemo(\n () =>\n sectionFilter\n ? sectionFilter.map((id) => {\n const section = SPEC_RUNTIME_SECTIONS.find(\n (candidate) => candidate.id === id,\n );\n if (!section)\n throw new Error(\n `unknown runtime editor section ${JSON.stringify(id)}`,\n );\n return section;\n })\n : SPEC_RUNTIME_SECTIONS,\n [sectionFilter],\n );\n // Sandbox modes come from the selected runtime schema. The adapter catalog is\n // optional metadata for configured Docker and Git Agent backends.\n const sections = requestedSections.filter(\n (section) =>\n (section.id !== \"cli\" || (cliOptions && supports(\"cliArgs\"))) &&\n (section.id !== \"sandbox\" || hasSandboxSection) &&\n (section.id !== \"permissions\" || hasPermissionSection),\n );\n const collapsedSections = useMemo(\n () => new Set(defaultCollapsedSections ?? []),\n [defaultCollapsedSections],\n );\n const domId = (id: SpecSectionId) => `${idPrefix}-${id}`;\n const { sectionRef } = useScrollSpy(\n sections.map((section) => domId(section.id)),\n );\n\n const applyEntries = (\n applied: Parameters<typeof withPermissionEntries>[1],\n mode: Parameters<typeof withPermissionEntries>[2],\n ) => commitChange(withPermissionEntries(value, applied, mode));\n const addEntry = (\n domain: Parameters<typeof withAddedPermission>[1],\n id: string,\n ) => {\n const next = withAddedPermission(value, domain, id);\n if (next) commitChange(next);\n };\n\n const sectionBody = (id: SpecSectionId): ReactNode => {\n switch (id) {\n case \"model\":\n return (\n <ModelSection\n value={value}\n onChange={commitChange}\n models={models}\n effectiveMode={effectiveMode}\n effectiveModel={effectiveModel}\n families={runtimeFamilies}\n />\n );\n case \"prompt\":\n return (\n <PromptSection\n value={value}\n onChange={commitChange}\n supports={supports}\n variant={promptVariant}\n />\n );\n case \"workspace\":\n return (\n <WorkspaceSection\n value={value}\n onChange={commitChange}\n secretSelector={secretSelector}\n variant={variant}\n supports={supports}\n />\n );\n case \"sandbox\":\n return runtimeSchema ? (\n <SandboxSection\n value={value}\n onChange={commitChange}\n schema={runtimeSchema}\n {...(sandboxCatalog ? { catalog: sandboxCatalog } : {})}\n families={runtimeFamilies}\n {...(sandboxCreate ? { createConfig: sandboxCreate } : {})}\n />\n ) : null;\n case \"permissions\":\n return supports(\"permissions\") ? (\n <PermissionsSection\n value={value}\n onChange={commitChange}\n entries={permissionEntries}\n />\n ) : null;\n case \"environment\":\n return (\n <EnvironmentSection\n value={value}\n onChange={commitChange}\n secretSelector={secretSelector}\n />\n );\n case \"verify\":\n return (\n <VerifySection\n value={value}\n onChange={commitChange}\n models={models}\n families={runtimeFamilies}\n {...(secretSelector ? { secretSelector } : {})}\n />\n );\n case \"commit\":\n return <CommitSection value={value} onChange={commitChange} />;\n case \"cli\":\n return cliOptions ? (\n <CLIArgsSection\n value={value}\n onChange={commitChange}\n cliOptions={cliOptions}\n />\n ) : null;\n }\n };\n\n const sectionAdvanced = (id: SpecSectionId): ReactNode => {\n switch (id) {\n case \"model\":\n return (\n <div className=\"grid gap-density-3\">\n <ModelAdvanced\n value={value}\n onChange={commitChange}\n models={models}\n supports={supports}\n families={runtimeFamilies}\n />\n <ModelContextAdvanced\n value={value}\n onChange={commitChange}\n entries={modelSkillEntries}\n onApplyEntries={applyEntries}\n onAddEntry={addEntry}\n showSkills={skillsSection === \"model\"}\n supports={supports}\n />\n </div>\n );\n case \"prompt\":\n return supports(\"prompt.schema\") ? (\n <PromptAdvanced value={value} onChange={commitChange} />\n ) : undefined;\n case \"permissions\":\n return (\n <PermissionsAdvanced\n entries={permissionEntries}\n onApplyEntries={applyEntries}\n onAddEntry={addEntry}\n includeSkills={skillsSection === \"permissions\"}\n supports={supports}\n />\n );\n case \"environment\":\n return variant === \"run\" ? (\n <EnvironmentAdvanced value={value} onChange={commitChange} />\n ) : undefined;\n default:\n return undefined;\n }\n };\n\n const valueControls = (content: ReactNode) =>\n readOnly && content ? (\n <fieldset disabled className=\"m-0 min-w-0 border-0 p-0\">\n {content}\n </fieldset>\n ) : (\n content\n );\n\n return (\n <div className={cn(\"@container\", className)}>\n <div className=\"mx-auto max-w-[820px] px-density-4 py-density-4\">\n {showHeader && (\n <Rail\n eyebrow={eyebrow}\n title={title}\n target={summarizeTarget(value)}\n />\n )}\n {runtimeError ? (\n <div\n role=\"alert\"\n className=\"mb-density-3 rounded-md border border-destructive/40 bg-destructive/10 px-density-3 py-density-2 text-sm text-destructive\"\n >\n {runtimeError} Select a valid mode below or switch to Raw to\n repair the prompt source.\n </div>\n ) : null}\n {beforeSections}\n {sections.map((section, index) => (\n <SectionCard\n key={section.id}\n meta={\n section.id === \"prompt\" && promptVariant === \"document\"\n ? {\n ...section,\n hint: \"The .prompt document body and its explicit system fields.\",\n }\n : section\n }\n number={String(index + 1).padStart(2, \"0\")}\n domId={domId(section.id)}\n sectionRef={sectionRef(domId(section.id))}\n advanced={valueControls(sectionAdvanced(section.id))}\n advancedHint={ADVANCED_HINTS[section.id]}\n defaultCollapsed={collapsedSections.has(section.id)}\n >\n {valueControls(sectionBody(section.id))}\n </SectionCard>\n ))}\n </div>\n {(onSave || onCancel) && (\n <Footer\n status={footerStatus}\n saveLabel={saveLabel}\n onSave={onSave}\n onCancel={onCancel}\n />\n )}\n </div>\n );\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const agentActionIcons = require("../agent-action-icons.cjs");
|
|
4
|
+
const SpecRuntimeEditor_sandboxModel = require("../SpecRuntimeEditor.sandbox-model.cjs");
|
|
5
|
+
const UiPauseCircle = require("../../../icons/components/UiPauseCircle.cjs");
|
|
6
|
+
const UiShieldSlash = require("../../../icons/components/UiShieldSlash.cjs");
|
|
7
|
+
const UiPencilSimpleLine = require("../../../icons/components/UiPencilSimpleLine.cjs");
|
|
8
|
+
const UiHandPalm = require("../../../icons/components/UiHandPalm.cjs");
|
|
9
|
+
const UiLockOpen = require("../../../icons/components/UiLockOpen.cjs");
|
|
10
|
+
const UiLock = require("../../../icons/components/UiLock.cjs");
|
|
11
|
+
const CODEX_PERMISSION_MODES = {
|
|
12
|
+
default: { icon: UiLock.UiLock, tone: "slate", label: "Read only" },
|
|
13
|
+
acceptEdits: {
|
|
14
|
+
icon: UiHandPalm.UiHandPalm,
|
|
15
|
+
tone: "sky",
|
|
16
|
+
label: "Ask for approval"
|
|
17
|
+
},
|
|
18
|
+
auto: { icon: UiHandPalm.UiHandPalm, tone: "sky", label: "Ask for approval" },
|
|
19
|
+
bypassPermissions: {
|
|
20
|
+
icon: UiLockOpen.UiLockOpen,
|
|
21
|
+
tone: "rose",
|
|
22
|
+
label: "Full access"
|
|
23
|
+
},
|
|
24
|
+
dontAsk: { icon: UiShieldSlash.UiShieldSlash, tone: "rose", label: "Don't ask" },
|
|
25
|
+
plan: { icon: UiPauseCircle.UiPauseCircle, tone: "teal", label: "Plan" }
|
|
26
|
+
};
|
|
27
|
+
const GEMINI_PERMISSION_MODES = {
|
|
28
|
+
default: { icon: UiHandPalm.UiHandPalm, tone: "indigo", label: "Manual" },
|
|
29
|
+
acceptEdits: {
|
|
30
|
+
icon: UiPencilSimpleLine.UiPencilSimpleLine,
|
|
31
|
+
tone: "amber",
|
|
32
|
+
label: "Auto edit"
|
|
33
|
+
},
|
|
34
|
+
auto: { icon: UiPencilSimpleLine.UiPencilSimpleLine, tone: "amber", label: "Auto edit" },
|
|
35
|
+
bypassPermissions: { icon: UiShieldSlash.UiShieldSlash, tone: "rose", label: "YOLO" },
|
|
36
|
+
dontAsk: { icon: UiShieldSlash.UiShieldSlash, tone: "rose", label: "YOLO" },
|
|
37
|
+
plan: { icon: UiPauseCircle.UiPauseCircle, tone: "emerald", label: "Plan" }
|
|
38
|
+
};
|
|
39
|
+
const PROVIDER_VISUALS = {
|
|
40
|
+
claude: agentActionIcons.PERMISSION_MODE_ICONS,
|
|
41
|
+
codex: CODEX_PERMISSION_MODES,
|
|
42
|
+
gemini: GEMINI_PERMISSION_MODES
|
|
43
|
+
};
|
|
44
|
+
const PROVIDER_ALIASES = {
|
|
45
|
+
codex: [["acceptEdits", "auto"]],
|
|
46
|
+
gemini: [
|
|
47
|
+
["acceptEdits", "auto"],
|
|
48
|
+
["bypassPermissions", "dontAsk"]
|
|
49
|
+
]
|
|
50
|
+
};
|
|
51
|
+
function permissionModeVisual(family, mode) {
|
|
52
|
+
var _a;
|
|
53
|
+
return ((_a = PROVIDER_VISUALS[family ?? ""]) == null ? void 0 : _a[mode]) ?? agentActionIcons.PERMISSION_MODE_ICONS[mode];
|
|
54
|
+
}
|
|
55
|
+
function collapsePermissionModeAliases(family, available, current, support) {
|
|
56
|
+
const hidden = /* @__PURE__ */ new Set();
|
|
57
|
+
for (const pair of PROVIDER_ALIASES[family ?? ""] ?? []) {
|
|
58
|
+
if (!pair.every((mode) => available.includes(mode))) continue;
|
|
59
|
+
if (!equivalentEnforcement(support[pair[0]], support[pair[1]])) continue;
|
|
60
|
+
const keep = aliasRepresentative(pair, current, support);
|
|
61
|
+
hidden.add(pair[0] === keep ? pair[1] : pair[0]);
|
|
62
|
+
}
|
|
63
|
+
return SpecRuntimeEditor_sandboxModel.SPEC_PERMISSION_MODES.filter(
|
|
64
|
+
(mode) => available.includes(mode) && !hidden.has(mode)
|
|
65
|
+
);
|
|
66
|
+
}
|
|
67
|
+
function aliasRepresentative(pair, current, support) {
|
|
68
|
+
var _a, _b;
|
|
69
|
+
if (current && pair.includes(current)) return current;
|
|
70
|
+
const [left, right] = pair;
|
|
71
|
+
if (((_a = support[right]) == null ? void 0 : _a.kind) === "native" && ((_b = support[left]) == null ? void 0 : _b.kind) !== "native") {
|
|
72
|
+
return right;
|
|
73
|
+
}
|
|
74
|
+
return left;
|
|
75
|
+
}
|
|
76
|
+
const ENFORCEMENT_EFFECT_KEYS = ["flag", "sandbox", "approval"];
|
|
77
|
+
function equivalentEnforcement(left, right) {
|
|
78
|
+
const publishesEnforcement = ENFORCEMENT_EFFECT_KEYS.some(
|
|
79
|
+
(key) => {
|
|
80
|
+
var _a, _b;
|
|
81
|
+
return ((_a = left == null ? void 0 : left.effects) == null ? void 0 : _a[key]) !== void 0 || ((_b = right == null ? void 0 : right.effects) == null ? void 0 : _b[key]) !== void 0;
|
|
82
|
+
}
|
|
83
|
+
);
|
|
84
|
+
return publishesEnforcement && ENFORCEMENT_EFFECT_KEYS.every(
|
|
85
|
+
(key) => {
|
|
86
|
+
var _a, _b;
|
|
87
|
+
return ((_a = left == null ? void 0 : left.effects) == null ? void 0 : _a[key]) === ((_b = right == null ? void 0 : right.effects) == null ? void 0 : _b[key]);
|
|
88
|
+
}
|
|
89
|
+
);
|
|
90
|
+
}
|
|
91
|
+
exports.collapsePermissionModeAliases = collapsePermissionModeAliases;
|
|
92
|
+
exports.permissionModeVisual = permissionModeVisual;
|
|
93
|
+
//# sourceMappingURL=permission-mode-visuals.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"permission-mode-visuals.cjs","sources":["../../../../src/data/ai/SpecRuntimeEditor/permission-mode-visuals.ts"],"sourcesContent":["import type { AgentActionMeta } from \"../agent-action-icons\";\nimport { PERMISSION_MODE_ICONS } from \"../agent-action-icons\";\nimport {\n SPEC_PERMISSION_MODES,\n type SpecPermissionMode,\n} from \"../SpecRuntimeEditor.model\";\nimport type { RuntimePermissionSupport } from \"../../runtime/runtime-mode\";\nimport {\n UiHandPalm,\n UiLock,\n UiLockOpen,\n UiPauseCircle,\n UiPencilSimpleLine,\n UiShieldSlash,\n} from \"../../../icons\";\n\ntype PermissionModeVisuals = Record<SpecPermissionMode, AgentActionMeta>;\ntype AliasPair = readonly [SpecPermissionMode, SpecPermissionMode];\n\nconst CODEX_PERMISSION_MODES: PermissionModeVisuals = {\n default: { icon: UiLock, tone: \"slate\", label: \"Read only\" },\n acceptEdits: {\n icon: UiHandPalm,\n tone: \"sky\",\n label: \"Ask for approval\",\n },\n auto: { icon: UiHandPalm, tone: \"sky\", label: \"Ask for approval\" },\n bypassPermissions: {\n icon: UiLockOpen,\n tone: \"rose\",\n label: \"Full access\",\n },\n dontAsk: { icon: UiShieldSlash, tone: \"rose\", label: \"Don't ask\" },\n plan: { icon: UiPauseCircle, tone: \"teal\", label: \"Plan\" },\n};\n\nconst GEMINI_PERMISSION_MODES: PermissionModeVisuals = {\n default: { icon: UiHandPalm, tone: \"indigo\", label: \"Manual\" },\n acceptEdits: {\n icon: UiPencilSimpleLine,\n tone: \"amber\",\n label: \"Auto edit\",\n },\n auto: { icon: UiPencilSimpleLine, tone: \"amber\", label: \"Auto edit\" },\n bypassPermissions: { icon: UiShieldSlash, tone: \"rose\", label: \"YOLO\" },\n dontAsk: { icon: UiShieldSlash, tone: \"rose\", label: \"YOLO\" },\n plan: { icon: UiPauseCircle, tone: \"emerald\", label: \"Plan\" },\n};\n\nconst PROVIDER_VISUALS: Partial<Record<string, PermissionModeVisuals>> = {\n claude: PERMISSION_MODE_ICONS,\n codex: CODEX_PERMISSION_MODES,\n gemini: GEMINI_PERMISSION_MODES,\n};\n\nconst PROVIDER_ALIASES: Partial<Record<string, AliasPair[]>> = {\n codex: [[\"acceptEdits\", \"auto\"]],\n gemini: [\n [\"acceptEdits\", \"auto\"],\n [\"bypassPermissions\", \"dontAsk\"],\n ],\n};\n\nexport function permissionModeVisual(\n family: string | undefined,\n mode: SpecPermissionMode,\n): AgentActionMeta {\n return PROVIDER_VISUALS[family ?? \"\"]?.[mode] ?? PERMISSION_MODE_ICONS[mode];\n}\n\nexport function collapsePermissionModeAliases(\n family: string | undefined,\n available: SpecPermissionMode[],\n current: SpecPermissionMode | undefined,\n support: Record<string, RuntimePermissionSupport>,\n): SpecPermissionMode[] {\n const hidden = new Set<SpecPermissionMode>();\n for (const pair of PROVIDER_ALIASES[family ?? \"\"] ?? []) {\n if (!pair.every((mode) => available.includes(mode))) continue;\n if (!equivalentEnforcement(support[pair[0]], support[pair[1]])) continue;\n const keep = aliasRepresentative(pair, current, support);\n hidden.add(pair[0] === keep ? pair[1] : pair[0]);\n }\n return SPEC_PERMISSION_MODES.filter(\n (mode) => available.includes(mode) && !hidden.has(mode),\n );\n}\n\nfunction aliasRepresentative(\n pair: AliasPair,\n current: SpecPermissionMode | undefined,\n support: Record<string, RuntimePermissionSupport>,\n): SpecPermissionMode {\n if (current && pair.includes(current)) return current;\n const [left, right] = pair;\n if (support[right]?.kind === \"native\" && support[left]?.kind !== \"native\") {\n return right;\n }\n return left;\n}\n\nconst ENFORCEMENT_EFFECT_KEYS = [\"flag\", \"sandbox\", \"approval\"] as const;\n\nfunction equivalentEnforcement(\n left: RuntimePermissionSupport | undefined,\n right: RuntimePermissionSupport | undefined,\n): boolean {\n const publishesEnforcement = ENFORCEMENT_EFFECT_KEYS.some(\n (key) =>\n left?.effects?.[key] !== undefined || right?.effects?.[key] !== undefined,\n );\n return (\n publishesEnforcement &&\n ENFORCEMENT_EFFECT_KEYS.every(\n (key) => left?.effects?.[key] === right?.effects?.[key],\n )\n );\n}\n"],"names":["UiLock","UiHandPalm","UiLockOpen","UiShieldSlash","UiPauseCircle","UiPencilSimpleLine","PERMISSION_MODE_ICONS","SPEC_PERMISSION_MODES"],"mappings":";;;;;;;;;;AAmBA,MAAM,yBAAgD;AAAA,EACpD,SAAS,EAAE,MAAMA,OAAAA,QAAQ,MAAM,SAAS,OAAO,YAAA;AAAA,EAC/C,aAAa;AAAA,IACX,MAAMC,WAAAA;AAAAA,IACN,MAAM;AAAA,IACN,OAAO;AAAA,EAAA;AAAA,EAET,MAAM,EAAE,MAAMA,WAAAA,YAAY,MAAM,OAAO,OAAO,mBAAA;AAAA,EAC9C,mBAAmB;AAAA,IACjB,MAAMC,WAAAA;AAAAA,IACN,MAAM;AAAA,IACN,OAAO;AAAA,EAAA;AAAA,EAET,SAAS,EAAE,MAAMC,cAAAA,eAAe,MAAM,QAAQ,OAAO,YAAA;AAAA,EACrD,MAAM,EAAE,MAAMC,cAAAA,eAAe,MAAM,QAAQ,OAAO,OAAA;AACpD;AAEA,MAAM,0BAAiD;AAAA,EACrD,SAAS,EAAE,MAAMH,WAAAA,YAAY,MAAM,UAAU,OAAO,SAAA;AAAA,EACpD,aAAa;AAAA,IACX,MAAMI,mBAAAA;AAAAA,IACN,MAAM;AAAA,IACN,OAAO;AAAA,EAAA;AAAA,EAET,MAAM,EAAE,MAAMA,mBAAAA,oBAAoB,MAAM,SAAS,OAAO,YAAA;AAAA,EACxD,mBAAmB,EAAE,MAAMF,cAAAA,eAAe,MAAM,QAAQ,OAAO,OAAA;AAAA,EAC/D,SAAS,EAAE,MAAMA,cAAAA,eAAe,MAAM,QAAQ,OAAO,OAAA;AAAA,EACrD,MAAM,EAAE,MAAMC,cAAAA,eAAe,MAAM,WAAW,OAAO,OAAA;AACvD;AAEA,MAAM,mBAAmE;AAAA,EACvE,QAAQE,iBAAAA;AAAAA,EACR,OAAO;AAAA,EACP,QAAQ;AACV;AAEA,MAAM,mBAAyD;AAAA,EAC7D,OAAO,CAAC,CAAC,eAAe,MAAM,CAAC;AAAA,EAC/B,QAAQ;AAAA,IACN,CAAC,eAAe,MAAM;AAAA,IACtB,CAAC,qBAAqB,SAAS;AAAA,EAAA;AAEnC;AAEO,SAAS,qBACd,QACA,MACiB;;AACjB,WAAO,sBAAiB,UAAU,EAAE,MAA7B,mBAAiC,UAASA,iBAAAA,sBAAsB,IAAI;AAC7E;AAEO,SAAS,8BACd,QACA,WACA,SACA,SACsB;AACtB,QAAM,6BAAa,IAAA;AACnB,aAAW,QAAQ,iBAAiB,UAAU,EAAE,KAAK,CAAA,GAAI;AACvD,QAAI,CAAC,KAAK,MAAM,CAAC,SAAS,UAAU,SAAS,IAAI,CAAC,EAAG;AACrD,QAAI,CAAC,sBAAsB,QAAQ,KAAK,CAAC,CAAC,GAAG,QAAQ,KAAK,CAAC,CAAC,CAAC,EAAG;AAChE,UAAM,OAAO,oBAAoB,MAAM,SAAS,OAAO;AACvD,WAAO,IAAI,KAAK,CAAC,MAAM,OAAO,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC;AAAA,EACjD;AACA,SAAOC,+BAAAA,sBAAsB;AAAA,IAC3B,CAAC,SAAS,UAAU,SAAS,IAAI,KAAK,CAAC,OAAO,IAAI,IAAI;AAAA,EAAA;AAE1D;AAEA,SAAS,oBACP,MACA,SACA,SACoB;;AACpB,MAAI,WAAW,KAAK,SAAS,OAAO,EAAG,QAAO;AAC9C,QAAM,CAAC,MAAM,KAAK,IAAI;AACtB,QAAI,aAAQ,KAAK,MAAb,mBAAgB,UAAS,cAAY,aAAQ,IAAI,MAAZ,mBAAe,UAAS,UAAU;AACzE,WAAO;AAAA,EACT;AACA,SAAO;AACT;AAEA,MAAM,0BAA0B,CAAC,QAAQ,WAAW,UAAU;AAE9D,SAAS,sBACP,MACA,OACS;AACT,QAAM,uBAAuB,wBAAwB;AAAA,IACnD,CAAC,QAAA;;AACC,iDAAM,YAAN,mBAAgB,UAAS,YAAa,oCAAO,YAAP,mBAAiB,UAAS;AAAA;AAAA,EAAA;AAEpE,SACE,wBACA,wBAAwB;AAAA,IACtB,CAAC;;AAAQ,iDAAM,YAAN,mBAAgB,YAAS,oCAAO,YAAP,mBAAiB;AAAA;AAAA,EAAG;AAG5D;;;"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { AgentActionMeta } from '../agent-action-icons';
|
|
2
|
+
import { SpecPermissionMode } from '../SpecRuntimeEditor.model';
|
|
3
|
+
import { RuntimePermissionSupport } from '../../runtime/runtime-mode';
|
|
4
|
+
export declare function permissionModeVisual(family: string | undefined, mode: SpecPermissionMode): AgentActionMeta;
|
|
5
|
+
export declare function collapsePermissionModeAliases(family: string | undefined, available: SpecPermissionMode[], current: SpecPermissionMode | undefined, support: Record<string, RuntimePermissionSupport>): SpecPermissionMode[];
|
|
6
|
+
//# sourceMappingURL=permission-mode-visuals.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"permission-mode-visuals.d.ts","sourceRoot":"","sources":["../../../../src/data/ai/SpecRuntimeEditor/permission-mode-visuals.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAE7D,OAAO,EAEL,KAAK,kBAAkB,EACxB,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAyD3E,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,IAAI,EAAE,kBAAkB,GACvB,eAAe,CAEjB;AAED,wBAAgB,6BAA6B,CAC3C,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,SAAS,EAAE,kBAAkB,EAAE,EAC/B,OAAO,EAAE,kBAAkB,GAAG,SAAS,EACvC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,wBAAwB,CAAC,GAChD,kBAAkB,EAAE,CAWtB"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import { PERMISSION_MODE_ICONS } from "../agent-action-icons.js";
|
|
2
|
+
import { SPEC_PERMISSION_MODES } from "../SpecRuntimeEditor.sandbox-model.js";
|
|
3
|
+
import { UiPauseCircle } from "../../../icons/components/UiPauseCircle.js";
|
|
4
|
+
import { UiShieldSlash } from "../../../icons/components/UiShieldSlash.js";
|
|
5
|
+
import { UiPencilSimpleLine } from "../../../icons/components/UiPencilSimpleLine.js";
|
|
6
|
+
import { UiHandPalm } from "../../../icons/components/UiHandPalm.js";
|
|
7
|
+
import { UiLockOpen } from "../../../icons/components/UiLockOpen.js";
|
|
8
|
+
import { UiLock } from "../../../icons/components/UiLock.js";
|
|
9
|
+
const CODEX_PERMISSION_MODES = {
|
|
10
|
+
default: { icon: UiLock, tone: "slate", label: "Read only" },
|
|
11
|
+
acceptEdits: {
|
|
12
|
+
icon: UiHandPalm,
|
|
13
|
+
tone: "sky",
|
|
14
|
+
label: "Ask for approval"
|
|
15
|
+
},
|
|
16
|
+
auto: { icon: UiHandPalm, tone: "sky", label: "Ask for approval" },
|
|
17
|
+
bypassPermissions: {
|
|
18
|
+
icon: UiLockOpen,
|
|
19
|
+
tone: "rose",
|
|
20
|
+
label: "Full access"
|
|
21
|
+
},
|
|
22
|
+
dontAsk: { icon: UiShieldSlash, tone: "rose", label: "Don't ask" },
|
|
23
|
+
plan: { icon: UiPauseCircle, tone: "teal", label: "Plan" }
|
|
24
|
+
};
|
|
25
|
+
const GEMINI_PERMISSION_MODES = {
|
|
26
|
+
default: { icon: UiHandPalm, tone: "indigo", label: "Manual" },
|
|
27
|
+
acceptEdits: {
|
|
28
|
+
icon: UiPencilSimpleLine,
|
|
29
|
+
tone: "amber",
|
|
30
|
+
label: "Auto edit"
|
|
31
|
+
},
|
|
32
|
+
auto: { icon: UiPencilSimpleLine, tone: "amber", label: "Auto edit" },
|
|
33
|
+
bypassPermissions: { icon: UiShieldSlash, tone: "rose", label: "YOLO" },
|
|
34
|
+
dontAsk: { icon: UiShieldSlash, tone: "rose", label: "YOLO" },
|
|
35
|
+
plan: { icon: UiPauseCircle, tone: "emerald", label: "Plan" }
|
|
36
|
+
};
|
|
37
|
+
const PROVIDER_VISUALS = {
|
|
38
|
+
claude: PERMISSION_MODE_ICONS,
|
|
39
|
+
codex: CODEX_PERMISSION_MODES,
|
|
40
|
+
gemini: GEMINI_PERMISSION_MODES
|
|
41
|
+
};
|
|
42
|
+
const PROVIDER_ALIASES = {
|
|
43
|
+
codex: [["acceptEdits", "auto"]],
|
|
44
|
+
gemini: [
|
|
45
|
+
["acceptEdits", "auto"],
|
|
46
|
+
["bypassPermissions", "dontAsk"]
|
|
47
|
+
]
|
|
48
|
+
};
|
|
49
|
+
function permissionModeVisual(family, mode) {
|
|
50
|
+
var _a;
|
|
51
|
+
return ((_a = PROVIDER_VISUALS[family ?? ""]) == null ? void 0 : _a[mode]) ?? PERMISSION_MODE_ICONS[mode];
|
|
52
|
+
}
|
|
53
|
+
function collapsePermissionModeAliases(family, available, current, support) {
|
|
54
|
+
const hidden = /* @__PURE__ */ new Set();
|
|
55
|
+
for (const pair of PROVIDER_ALIASES[family ?? ""] ?? []) {
|
|
56
|
+
if (!pair.every((mode) => available.includes(mode))) continue;
|
|
57
|
+
if (!equivalentEnforcement(support[pair[0]], support[pair[1]])) continue;
|
|
58
|
+
const keep = aliasRepresentative(pair, current, support);
|
|
59
|
+
hidden.add(pair[0] === keep ? pair[1] : pair[0]);
|
|
60
|
+
}
|
|
61
|
+
return SPEC_PERMISSION_MODES.filter(
|
|
62
|
+
(mode) => available.includes(mode) && !hidden.has(mode)
|
|
63
|
+
);
|
|
64
|
+
}
|
|
65
|
+
function aliasRepresentative(pair, current, support) {
|
|
66
|
+
var _a, _b;
|
|
67
|
+
if (current && pair.includes(current)) return current;
|
|
68
|
+
const [left, right] = pair;
|
|
69
|
+
if (((_a = support[right]) == null ? void 0 : _a.kind) === "native" && ((_b = support[left]) == null ? void 0 : _b.kind) !== "native") {
|
|
70
|
+
return right;
|
|
71
|
+
}
|
|
72
|
+
return left;
|
|
73
|
+
}
|
|
74
|
+
const ENFORCEMENT_EFFECT_KEYS = ["flag", "sandbox", "approval"];
|
|
75
|
+
function equivalentEnforcement(left, right) {
|
|
76
|
+
const publishesEnforcement = ENFORCEMENT_EFFECT_KEYS.some(
|
|
77
|
+
(key) => {
|
|
78
|
+
var _a, _b;
|
|
79
|
+
return ((_a = left == null ? void 0 : left.effects) == null ? void 0 : _a[key]) !== void 0 || ((_b = right == null ? void 0 : right.effects) == null ? void 0 : _b[key]) !== void 0;
|
|
80
|
+
}
|
|
81
|
+
);
|
|
82
|
+
return publishesEnforcement && ENFORCEMENT_EFFECT_KEYS.every(
|
|
83
|
+
(key) => {
|
|
84
|
+
var _a, _b;
|
|
85
|
+
return ((_a = left == null ? void 0 : left.effects) == null ? void 0 : _a[key]) === ((_b = right == null ? void 0 : right.effects) == null ? void 0 : _b[key]);
|
|
86
|
+
}
|
|
87
|
+
);
|
|
88
|
+
}
|
|
89
|
+
export {
|
|
90
|
+
collapsePermissionModeAliases,
|
|
91
|
+
permissionModeVisual
|
|
92
|
+
};
|
|
93
|
+
//# sourceMappingURL=permission-mode-visuals.js.map
|