@flanksource/clicky-ui 0.3.29 → 0.3.31
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ai.cjs +48 -3
- package/dist/ai.cjs.map +1 -1
- package/dist/ai.js +46 -1
- package/dist/ai.js.map +1 -1
- package/dist/comments/CommentCard.cjs +110 -262
- package/dist/comments/CommentCard.cjs.map +1 -1
- package/dist/comments/CommentCard.d.ts +3 -1
- package/dist/comments/CommentCard.d.ts.map +1 -1
- package/dist/comments/CommentCard.js +105 -257
- package/dist/comments/CommentCard.js.map +1 -1
- package/dist/comments/CommentCardParts.cjs +95 -0
- package/dist/comments/CommentCardParts.cjs.map +1 -0
- package/dist/comments/CommentCardParts.d.ts +17 -0
- package/dist/comments/CommentCardParts.d.ts.map +1 -0
- package/dist/comments/CommentCardParts.js +95 -0
- package/dist/comments/CommentCardParts.js.map +1 -0
- package/dist/comments/CommentSidePanel.cjs +14 -7
- package/dist/comments/CommentSidePanel.cjs.map +1 -1
- package/dist/comments/CommentSidePanel.d.ts +3 -1
- package/dist/comments/CommentSidePanel.d.ts.map +1 -1
- package/dist/comments/CommentSidePanel.js +14 -7
- package/dist/comments/CommentSidePanel.js.map +1 -1
- package/dist/comments/CommentThread.cjs +2 -0
- package/dist/comments/CommentThread.cjs.map +1 -1
- package/dist/comments/CommentThread.d.ts +2 -1
- package/dist/comments/CommentThread.d.ts.map +1 -1
- package/dist/comments/CommentThread.js +2 -0
- package/dist/comments/CommentThread.js.map +1 -1
- package/dist/comments/CommentThreadList.cjs +50 -34
- package/dist/comments/CommentThreadList.cjs.map +1 -1
- package/dist/comments/CommentThreadList.d.ts +3 -1
- package/dist/comments/CommentThreadList.d.ts.map +1 -1
- package/dist/comments/CommentThreadList.js +50 -34
- package/dist/comments/CommentThreadList.js.map +1 -1
- package/dist/components/ComboboxMenu.cjs +4 -1
- package/dist/components/ComboboxMenu.cjs.map +1 -1
- package/dist/components/ComboboxMenu.d.ts.map +1 -1
- package/dist/components/ComboboxMenu.js +5 -2
- package/dist/components/ComboboxMenu.js.map +1 -1
- package/dist/components/ComboboxTags.cjs +5 -1
- package/dist/components/ComboboxTags.cjs.map +1 -1
- package/dist/components/ComboboxTags.d.ts.map +1 -1
- package/dist/components/ComboboxTags.js +6 -2
- package/dist/components/ComboboxTags.js.map +1 -1
- package/dist/components/ConnectionLoggingPolicy.cjs +24 -35
- package/dist/components/ConnectionLoggingPolicy.cjs.map +1 -1
- package/dist/components/ConnectionLoggingPolicy.d.ts.map +1 -1
- package/dist/components/ConnectionLoggingPolicy.js +24 -35
- package/dist/components/ConnectionLoggingPolicy.js.map +1 -1
- package/dist/components/DateField.d.ts +1 -1
- package/dist/components/DatePicker.d.ts +1 -1
- package/dist/components/DateTimePicker.d.ts +1 -1
- package/dist/components/MultiSelect.cjs.map +1 -1
- package/dist/components/MultiSelect.d.ts +7 -0
- package/dist/components/MultiSelect.d.ts.map +1 -1
- package/dist/components/MultiSelect.js.map +1 -1
- package/dist/components/filter-bar-multi.cjs +10 -1
- package/dist/components/filter-bar-multi.cjs.map +1 -1
- package/dist/components/filter-bar-multi.d.ts.map +1 -1
- package/dist/components/filter-bar-multi.js +11 -2
- package/dist/components/filter-bar-multi.js.map +1 -1
- package/dist/components/mdx-editor-callout-model.d.ts +1 -1
- package/dist/data/MarkdownEditor.model.d.ts +1 -1
- package/dist/data/ai/ChatWindow.catalogs.cjs +11 -5
- package/dist/data/ai/ChatWindow.catalogs.cjs.map +1 -1
- package/dist/data/ai/ChatWindow.catalogs.d.ts +2 -1
- package/dist/data/ai/ChatWindow.catalogs.d.ts.map +1 -1
- package/dist/data/ai/ChatWindow.catalogs.js +11 -5
- package/dist/data/ai/ChatWindow.catalogs.js.map +1 -1
- package/dist/data/ai/ChatWindow.cjs +1 -0
- package/dist/data/ai/ChatWindow.cjs.map +1 -1
- package/dist/data/ai/ChatWindow.d.ts.map +1 -1
- package/dist/data/ai/ChatWindow.js +1 -0
- package/dist/data/ai/ChatWindow.js.map +1 -1
- package/dist/data/ai/PromptRunEditor/VariablesField.cjs +79 -0
- package/dist/data/ai/PromptRunEditor/VariablesField.cjs.map +1 -0
- package/dist/data/ai/PromptRunEditor/VariablesField.d.ts +8 -0
- package/dist/data/ai/PromptRunEditor/VariablesField.d.ts.map +1 -0
- package/dist/data/ai/PromptRunEditor/VariablesField.js +79 -0
- package/dist/data/ai/PromptRunEditor/VariablesField.js.map +1 -0
- package/dist/data/ai/PromptRunEditor/index.cjs +61 -69
- package/dist/data/ai/PromptRunEditor/index.cjs.map +1 -1
- package/dist/data/ai/PromptRunEditor/index.d.ts +11 -1
- package/dist/data/ai/PromptRunEditor/index.d.ts.map +1 -1
- package/dist/data/ai/PromptRunEditor/index.js +61 -69
- package/dist/data/ai/PromptRunEditor/index.js.map +1 -1
- package/dist/data/ai/PromptRunEditor/model.cjs.map +1 -1
- package/dist/data/ai/PromptRunEditor/model.d.ts +2 -0
- package/dist/data/ai/PromptRunEditor/model.d.ts.map +1 -1
- package/dist/data/ai/PromptRunEditor/model.js.map +1 -1
- package/dist/data/ai/SessionViewer.model.cjs +23 -8
- package/dist/data/ai/SessionViewer.model.cjs.map +1 -1
- package/dist/data/ai/SessionViewer.model.d.ts +8 -0
- package/dist/data/ai/SessionViewer.model.d.ts.map +1 -1
- package/dist/data/ai/SessionViewer.model.js +23 -8
- package/dist/data/ai/SessionViewer.model.js.map +1 -1
- package/dist/data/ai/SessionViewer.rows.cjs +9 -1
- package/dist/data/ai/SessionViewer.rows.cjs.map +1 -1
- package/dist/data/ai/SessionViewer.rows.js +9 -1
- package/dist/data/ai/SessionViewer.rows.js.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/ModelSection.cjs +4 -3
- package/dist/data/ai/SpecRuntimeEditor/ModelSection.cjs.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/ModelSection.d.ts.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/ModelSection.js +2 -1
- package/dist/data/ai/SpecRuntimeEditor/ModelSection.js.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/PermissionModeField.cjs +2 -2
- package/dist/data/ai/SpecRuntimeEditor/PermissionModeField.cjs.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/PermissionModeField.js +1 -1
- package/dist/data/ai/SpecRuntimeEditor/VerifySection.cjs +24 -2
- package/dist/data/ai/SpecRuntimeEditor/VerifySection.cjs.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/VerifySection.d.ts.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/VerifySection.js +25 -3
- package/dist/data/ai/SpecRuntimeEditor/VerifySection.js.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/index.cjs +4 -3
- package/dist/data/ai/SpecRuntimeEditor/index.cjs.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/index.d.ts.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/index.js +2 -1
- package/dist/data/ai/SpecRuntimeEditor/index.js.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/summaries.cjs.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/summaries.d.ts.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/summaries.js.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor.model.cjs +4 -0
- package/dist/data/ai/SpecRuntimeEditor.model.cjs.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor.model.d.ts +4 -0
- package/dist/data/ai/SpecRuntimeEditor.model.d.ts.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor.model.js +4 -0
- package/dist/data/ai/SpecRuntimeEditor.model.js.map +1 -1
- package/dist/data/ai/index.d.ts +3 -2
- package/dist/data/ai/index.d.ts.map +1 -1
- package/dist/data/ai/runtime-profile.cjs.map +1 -1
- package/dist/data/ai/runtime-profile.d.ts +9 -7
- package/dist/data/ai/runtime-profile.d.ts.map +1 -1
- package/dist/data/ai/runtime-profile.js.map +1 -1
- package/dist/data/ai/runtime-profiles/OrderedPresetSelect.cjs +111 -0
- package/dist/data/ai/runtime-profiles/OrderedPresetSelect.cjs.map +1 -0
- package/dist/data/ai/runtime-profiles/OrderedPresetSelect.d.ts +7 -0
- package/dist/data/ai/runtime-profiles/OrderedPresetSelect.d.ts.map +1 -0
- package/dist/data/ai/runtime-profiles/OrderedPresetSelect.js +111 -0
- package/dist/data/ai/runtime-profiles/OrderedPresetSelect.js.map +1 -0
- package/dist/data/ai/runtime-profiles/PermissionStrategiesEditor.cjs +313 -0
- package/dist/data/ai/runtime-profiles/PermissionStrategiesEditor.cjs.map +1 -0
- package/dist/data/ai/runtime-profiles/PermissionStrategiesEditor.d.ts +8 -0
- package/dist/data/ai/runtime-profiles/PermissionStrategiesEditor.d.ts.map +1 -0
- package/dist/data/ai/runtime-profiles/PermissionStrategiesEditor.js +313 -0
- package/dist/data/ai/runtime-profiles/PermissionStrategiesEditor.js.map +1 -0
- package/dist/data/ai/runtime-profiles/PermissionStrategyConditionRow.cjs +98 -0
- package/dist/data/ai/runtime-profiles/PermissionStrategyConditionRow.cjs.map +1 -0
- package/dist/data/ai/runtime-profiles/PermissionStrategyConditionRow.d.ts +11 -0
- package/dist/data/ai/runtime-profiles/PermissionStrategyConditionRow.d.ts.map +1 -0
- package/dist/data/ai/runtime-profiles/PermissionStrategyConditionRow.js +98 -0
- package/dist/data/ai/runtime-profiles/PermissionStrategyConditionRow.js.map +1 -0
- package/dist/data/ai/runtime-profiles/PresetSpecEditor.cjs +35 -0
- package/dist/data/ai/runtime-profiles/PresetSpecEditor.cjs.map +1 -0
- package/dist/data/ai/runtime-profiles/PresetSpecEditor.d.ts +11 -0
- package/dist/data/ai/runtime-profiles/PresetSpecEditor.d.ts.map +1 -0
- package/dist/data/ai/runtime-profiles/PresetSpecEditor.js +35 -0
- package/dist/data/ai/runtime-profiles/PresetSpecEditor.js.map +1 -0
- package/dist/data/ai/runtime-profiles/PresetWorkspace.cjs +179 -0
- package/dist/data/ai/runtime-profiles/PresetWorkspace.cjs.map +1 -0
- package/dist/data/ai/runtime-profiles/PresetWorkspace.d.ts +22 -0
- package/dist/data/ai/runtime-profiles/PresetWorkspace.d.ts.map +1 -0
- package/dist/data/ai/runtime-profiles/PresetWorkspace.js +179 -0
- package/dist/data/ai/runtime-profiles/PresetWorkspace.js.map +1 -0
- package/dist/data/ai/runtime-profiles/ProfileSpecEditor.cjs +57 -0
- package/dist/data/ai/runtime-profiles/ProfileSpecEditor.cjs.map +1 -0
- package/dist/data/ai/runtime-profiles/ProfileSpecEditor.d.ts +18 -0
- package/dist/data/ai/runtime-profiles/ProfileSpecEditor.d.ts.map +1 -0
- package/dist/data/ai/runtime-profiles/ProfileSpecEditor.js +57 -0
- package/dist/data/ai/runtime-profiles/ProfileSpecEditor.js.map +1 -0
- package/dist/data/ai/runtime-profiles/ProfileWorkspace.cjs +135 -0
- package/dist/data/ai/runtime-profiles/ProfileWorkspace.cjs.map +1 -0
- package/dist/data/ai/runtime-profiles/ProfileWorkspace.d.ts +23 -0
- package/dist/data/ai/runtime-profiles/ProfileWorkspace.d.ts.map +1 -0
- package/dist/data/ai/runtime-profiles/ProfileWorkspace.js +135 -0
- package/dist/data/ai/runtime-profiles/ProfileWorkspace.js.map +1 -0
- package/dist/data/ai/runtime-profiles/ResolutionInspector.cjs +85 -0
- package/dist/data/ai/runtime-profiles/ResolutionInspector.cjs.map +1 -0
- package/dist/data/ai/runtime-profiles/ResolutionInspector.d.ts +7 -0
- package/dist/data/ai/runtime-profiles/ResolutionInspector.d.ts.map +1 -0
- package/dist/data/ai/runtime-profiles/ResolutionInspector.js +85 -0
- package/dist/data/ai/runtime-profiles/ResolutionInspector.js.map +1 -0
- package/dist/data/ai/runtime-profiles/ResolutionTrace.cjs +42 -0
- package/dist/data/ai/runtime-profiles/ResolutionTrace.cjs.map +1 -0
- package/dist/data/ai/runtime-profiles/ResolutionTrace.d.ts +6 -0
- package/dist/data/ai/runtime-profiles/ResolutionTrace.d.ts.map +1 -0
- package/dist/data/ai/runtime-profiles/ResolutionTrace.js +42 -0
- package/dist/data/ai/runtime-profiles/ResolutionTrace.js.map +1 -0
- package/dist/data/ai/runtime-profiles/RuntimeLibraryList.cjs +93 -0
- package/dist/data/ai/runtime-profiles/RuntimeLibraryList.cjs.map +1 -0
- package/dist/data/ai/runtime-profiles/RuntimeLibraryList.d.ts +18 -0
- package/dist/data/ai/runtime-profiles/RuntimeLibraryList.d.ts.map +1 -0
- package/dist/data/ai/runtime-profiles/RuntimeLibraryList.js +93 -0
- package/dist/data/ai/runtime-profiles/RuntimeLibraryList.js.map +1 -0
- package/dist/data/ai/runtime-profiles/RuntimePersistenceBar.cjs +44 -0
- package/dist/data/ai/runtime-profiles/RuntimePersistenceBar.cjs.map +1 -0
- package/dist/data/ai/runtime-profiles/RuntimePersistenceBar.d.ts +6 -0
- package/dist/data/ai/runtime-profiles/RuntimePersistenceBar.d.ts.map +1 -0
- package/dist/data/ai/runtime-profiles/RuntimePersistenceBar.js +44 -0
- package/dist/data/ai/runtime-profiles/RuntimePersistenceBar.js.map +1 -0
- package/dist/data/ai/runtime-profiles/RuntimeProfilePicker.cjs +198 -0
- package/dist/data/ai/runtime-profiles/RuntimeProfilePicker.cjs.map +1 -0
- package/dist/data/ai/runtime-profiles/RuntimeProfilePicker.d.ts +12 -0
- package/dist/data/ai/runtime-profiles/RuntimeProfilePicker.d.ts.map +1 -0
- package/dist/data/ai/runtime-profiles/RuntimeProfilePicker.js +198 -0
- package/dist/data/ai/runtime-profiles/RuntimeProfilePicker.js.map +1 -0
- package/dist/data/ai/runtime-profiles/RuntimeProfilePicker.model.cjs +97 -0
- package/dist/data/ai/runtime-profiles/RuntimeProfilePicker.model.cjs.map +1 -0
- package/dist/data/ai/runtime-profiles/RuntimeProfilePicker.model.d.ts +26 -0
- package/dist/data/ai/runtime-profiles/RuntimeProfilePicker.model.d.ts.map +1 -0
- package/dist/data/ai/runtime-profiles/RuntimeProfilePicker.model.js +97 -0
- package/dist/data/ai/runtime-profiles/RuntimeProfilePicker.model.js.map +1 -0
- package/dist/data/ai/runtime-profiles/RuntimeProfilesWorkspace.cjs +143 -0
- package/dist/data/ai/runtime-profiles/RuntimeProfilesWorkspace.cjs.map +1 -0
- package/dist/data/ai/runtime-profiles/RuntimeProfilesWorkspace.d.ts +25 -0
- package/dist/data/ai/runtime-profiles/RuntimeProfilesWorkspace.d.ts.map +1 -0
- package/dist/data/ai/runtime-profiles/RuntimeProfilesWorkspace.js +143 -0
- package/dist/data/ai/runtime-profiles/RuntimeProfilesWorkspace.js.map +1 -0
- package/dist/data/ai/runtime-profiles/RuntimeStatusNotice.cjs +41 -0
- package/dist/data/ai/runtime-profiles/RuntimeStatusNotice.cjs.map +1 -0
- package/dist/data/ai/runtime-profiles/RuntimeStatusNotice.d.ts +8 -0
- package/dist/data/ai/runtime-profiles/RuntimeStatusNotice.d.ts.map +1 -0
- package/dist/data/ai/runtime-profiles/RuntimeStatusNotice.js +41 -0
- package/dist/data/ai/runtime-profiles/RuntimeStatusNotice.js.map +1 -0
- package/dist/data/ai/runtime-profiles/index.d.ts +20 -0
- package/dist/data/ai/runtime-profiles/index.d.ts.map +1 -0
- package/dist/data/ai/runtime-profiles/types.d.ts +50 -0
- package/dist/data/ai/runtime-profiles/types.d.ts.map +1 -0
- package/dist/data/ai/runtime-profiles/use-permission-catalog.cjs +37 -0
- package/dist/data/ai/runtime-profiles/use-permission-catalog.cjs.map +1 -0
- package/dist/data/ai/runtime-profiles/use-permission-catalog.d.ts +5 -0
- package/dist/data/ai/runtime-profiles/use-permission-catalog.d.ts.map +1 -0
- package/dist/data/ai/runtime-profiles/use-permission-catalog.js +37 -0
- package/dist/data/ai/runtime-profiles/use-permission-catalog.js.map +1 -0
- package/dist/data/ai/runtime-profiles/use-resolution.cjs +43 -0
- package/dist/data/ai/runtime-profiles/use-resolution.cjs.map +1 -0
- package/dist/data/ai/runtime-profiles/use-resolution.d.ts +4 -0
- package/dist/data/ai/runtime-profiles/use-resolution.d.ts.map +1 -0
- package/dist/data/ai/runtime-profiles/use-resolution.js +43 -0
- package/dist/data/ai/runtime-profiles/use-resolution.js.map +1 -0
- package/dist/data/ai/runtime-profiles/use-runtime-families.cjs +38 -0
- package/dist/data/ai/runtime-profiles/use-runtime-families.cjs.map +1 -0
- package/dist/data/ai/runtime-profiles/use-runtime-families.d.ts +3 -0
- package/dist/data/ai/runtime-profiles/use-runtime-families.d.ts.map +1 -0
- package/dist/data/ai/runtime-profiles/use-runtime-families.js +38 -0
- package/dist/data/ai/runtime-profiles/use-runtime-families.js.map +1 -0
- package/dist/data/ai/runtime-profiles/use-runtime-profile-picker.cjs +107 -0
- package/dist/data/ai/runtime-profiles/use-runtime-profile-picker.cjs.map +1 -0
- package/dist/data/ai/runtime-profiles/use-runtime-profile-picker.d.ts +35 -0
- package/dist/data/ai/runtime-profiles/use-runtime-profile-picker.d.ts.map +1 -0
- package/dist/data/ai/runtime-profiles/use-runtime-profile-picker.js +107 -0
- package/dist/data/ai/runtime-profiles/use-runtime-profile-picker.js.map +1 -0
- package/dist/data/ai/use-session-scroll.cjs.map +1 -1
- package/dist/data/ai/use-session-scroll.d.ts +2 -2
- package/dist/data/ai/use-session-scroll.d.ts.map +1 -1
- package/dist/data/ai/use-session-scroll.js.map +1 -1
- package/dist/data/badge-variants.d.ts +1 -1
- package/dist/data/runtime/RuntimeBar.cjs +3 -2
- package/dist/data/runtime/RuntimeBar.cjs.map +1 -1
- package/dist/data/runtime/RuntimeBar.d.ts.map +1 -1
- package/dist/data/runtime/RuntimeBar.js +3 -2
- package/dist/data/runtime/RuntimeBar.js.map +1 -1
- package/dist/data/runtime/runtime-field-support.cjs +3 -3
- package/dist/data/runtime/runtime-field-support.cjs.map +1 -1
- package/dist/data/runtime/runtime-field-support.js +1 -1
- package/dist/data/runtime/runtime-mode.cjs +14 -47
- package/dist/data/runtime/runtime-mode.cjs.map +1 -1
- package/dist/data/runtime/runtime-mode.d.ts +5 -7
- package/dist/data/runtime/runtime-mode.d.ts.map +1 -1
- package/dist/data/runtime/runtime-mode.js +7 -39
- package/dist/data/runtime/runtime-mode.js.map +1 -1
- package/dist/data/test-runner/TestRunner.cjs +6 -4
- package/dist/data/test-runner/TestRunner.cjs.map +1 -1
- package/dist/data/test-runner/TestRunner.d.ts +10 -1
- package/dist/data/test-runner/TestRunner.d.ts.map +1 -1
- package/dist/data/test-runner/TestRunner.js +6 -4
- package/dist/data/test-runner/TestRunner.js.map +1 -1
- package/dist/data/verification/VerificationResults.cjs +99 -0
- package/dist/data/verification/VerificationResults.cjs.map +1 -0
- package/dist/data/verification/VerificationResults.d.ts +27 -0
- package/dist/data/verification/VerificationResults.d.ts.map +1 -0
- package/dist/data/verification/VerificationResults.js +99 -0
- package/dist/data/verification/VerificationResults.js.map +1 -0
- package/dist/data/verification/adapterViews.cjs +116 -0
- package/dist/data/verification/adapterViews.cjs.map +1 -0
- package/dist/data/verification/adapterViews.d.ts +13 -0
- package/dist/data/verification/adapterViews.d.ts.map +1 -0
- package/dist/data/verification/adapterViews.js +116 -0
- package/dist/data/verification/adapterViews.js.map +1 -0
- package/dist/data/verification/adapters.cjs +26 -0
- package/dist/data/verification/adapters.cjs.map +1 -0
- package/dist/data/verification/adapters.d.ts +6 -0
- package/dist/data/verification/adapters.d.ts.map +1 -0
- package/dist/data/verification/adapters.js +26 -0
- package/dist/data/verification/adapters.js.map +1 -0
- package/dist/data/verification/index.d.ts +5 -0
- package/dist/data/verification/index.d.ts.map +1 -0
- package/dist/data/verification/verify-report.cjs +58 -0
- package/dist/data/verification/verify-report.cjs.map +1 -0
- package/dist/data/verification/verify-report.d.ts +96 -0
- package/dist/data/verification/verify-report.d.ts.map +1 -0
- package/dist/data/verification/verify-report.js +58 -0
- package/dist/data/verification/verify-report.js.map +1 -0
- package/dist/data/verification/verifyReportTests.cjs +83 -0
- package/dist/data/verification/verifyReportTests.cjs.map +1 -0
- package/dist/data/verification/verifyReportTests.d.ts +13 -0
- package/dist/data/verification/verifyReportTests.d.ts.map +1 -0
- package/dist/data/verification/verifyReportTests.js +83 -0
- package/dist/data/verification/verifyReportTests.js.map +1 -0
- package/dist/data/version-info.cjs +3 -3
- package/dist/data/version-info.js +3 -3
- package/dist/data.cjs +10 -0
- package/dist/data.cjs.map +1 -1
- package/dist/data.d.ts +1 -0
- package/dist/data.d.ts.map +1 -1
- package/dist/data.js +10 -0
- package/dist/data.js.map +1 -1
- package/dist/index.cjs +62 -0
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +62 -0
- package/dist/index.js.map +1 -1
- package/dist/lib/permission-strategies.cjs +155 -0
- package/dist/lib/permission-strategies.cjs.map +1 -0
- package/dist/lib/permission-strategies.d.ts +35 -0
- package/dist/lib/permission-strategies.d.ts.map +1 -0
- package/dist/lib/permission-strategies.js +155 -0
- package/dist/lib/permission-strategies.js.map +1 -0
- package/dist/lib/runtime-family.cjs +51 -0
- package/dist/lib/runtime-family.cjs.map +1 -0
- package/dist/lib/runtime-family.d.ts +25 -0
- package/dist/lib/runtime-family.d.ts.map +1 -0
- package/dist/lib/runtime-family.js +51 -0
- package/dist/lib/runtime-family.js.map +1 -0
- package/dist/lib/runtime-profile-model.cjs +129 -0
- package/dist/lib/runtime-profile-model.cjs.map +1 -0
- package/dist/lib/runtime-profile-model.d.ts +30 -0
- package/dist/lib/runtime-profile-model.d.ts.map +1 -0
- package/dist/lib/runtime-profile-model.js +129 -0
- package/dist/lib/runtime-profile-model.js.map +1 -0
- package/dist/styles.css +1 -1
- package/dist/utils.cjs +52 -0
- package/dist/utils.cjs.map +1 -1
- package/dist/utils.d.ts +5 -0
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +53 -1
- package/dist/utils.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProfileSpecEditor.js","sources":["../../../../src/data/ai/runtime-profiles/ProfileSpecEditor.tsx"],"sourcesContent":["import type { SpecRuntimeFamily } from \"../../runtime/runtime-mode\";\nimport type { RuntimePreset } from \"../runtime-profile\";\nimport { SpecRuntimeEditor } from \"../SpecRuntimeEditor\";\nimport type {\n SpecRuntimeSandboxCatalog,\n SpecRuntimeSecretSelectorConfig,\n SpecSectionId,\n} from \"../SpecRuntimeEditor/types\";\nimport type {\n AISpecRuntimePermissionCatalog,\n AISpecRuntimeSpec,\n} from \"../SpecRuntimeEditor.model\";\nimport { OrderedPresetSelect } from \"./OrderedPresetSelect\";\n\nconst PROFILE_SECTIONS: readonly SpecSectionId[] = [\n \"model\",\n \"prompt\",\n \"workspace\",\n \"sandbox\",\n \"permissions\",\n \"environment\",\n \"verify\",\n \"commit\",\n];\n\nexport function ProfileSpecEditor({\n value,\n presets,\n selectedPresetIds,\n permissionCatalog,\n families,\n effectiveMode,\n effectiveModel,\n sandboxCatalog,\n secretSelector,\n onChange,\n onPresetsChange,\n}: {\n value: AISpecRuntimeSpec;\n presets: RuntimePreset[];\n selectedPresetIds: string[];\n permissionCatalog?: AISpecRuntimePermissionCatalog | undefined;\n families: SpecRuntimeFamily[];\n effectiveMode?: string | undefined;\n effectiveModel?: string | undefined;\n sandboxCatalog?: SpecRuntimeSandboxCatalog | undefined;\n secretSelector?: SpecRuntimeSecretSelectorConfig | undefined;\n onChange: (value: AISpecRuntimeSpec) => void;\n onPresetsChange: (value: string[]) => void;\n}) {\n return (\n <div className=\"space-y-density-3\">\n <OrderedPresetSelect\n presets={presets}\n value={selectedPresetIds}\n onChange={onPresetsChange}\n />\n <SpecRuntimeEditor\n value={value}\n onChange={onChange}\n {...(permissionCatalog ? { permissionCatalog } : {})}\n families={families}\n effectiveMode={effectiveMode}\n effectiveModel={effectiveModel}\n {...(sandboxCatalog ? { sandboxCatalog } : {})}\n {...(secretSelector ? { secretSelector } : {})}\n sections={PROFILE_SECTIONS}\n defaultCollapsedSections={PROFILE_SECTIONS}\n showHeader={false}\n />\n </div>\n );\n}\n"],"names":[],"mappings":";;;AAcA,MAAM,mBAA6C;AAAA,EACjD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAEO,SAAS,kBAAkB;AAAA,EAChC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAYG;AACD,SACE,qBAAC,OAAA,EAAI,WAAU,qBACb,UAAA;AAAA,IAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC;AAAA,QACA,OAAO;AAAA,QACP,UAAU;AAAA,MAAA;AAAA,IAAA;AAAA,IAEZ;AAAA,MAAC;AAAA,MAAA;AAAA,QACC;AAAA,QACA;AAAA,QACC,GAAI,oBAAoB,EAAE,kBAAA,IAAsB,CAAA;AAAA,QACjD;AAAA,QACA;AAAA,QACA;AAAA,QACC,GAAI,iBAAiB,EAAE,eAAA,IAAmB,CAAA;AAAA,QAC1C,GAAI,iBAAiB,EAAE,eAAA,IAAmB,CAAA;AAAA,QAC3C,UAAU;AAAA,QACV,0BAA0B;AAAA,QAC1B,YAAY;AAAA,MAAA;AAAA,IAAA;AAAA,EACd,GACF;AAEJ;"}
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const jsxRuntime = require("react/jsx-runtime");
|
|
4
|
+
const react = require("react");
|
|
5
|
+
const Field = require("../../../components/Field.cjs");
|
|
6
|
+
const InputField = require("../../../components/InputField.cjs");
|
|
7
|
+
const runtimeProfileModel = require("../../../lib/runtime-profile-model.cjs");
|
|
8
|
+
const ProfileSpecEditor = require("./ProfileSpecEditor.cjs");
|
|
9
|
+
const ResolutionInspector = require("./ResolutionInspector.cjs");
|
|
10
|
+
const RuntimeLibraryList = require("./RuntimeLibraryList.cjs");
|
|
11
|
+
const EMPTY_PROFILE = {
|
|
12
|
+
id: "empty",
|
|
13
|
+
name: "Empty profile",
|
|
14
|
+
spec: {},
|
|
15
|
+
presets: []
|
|
16
|
+
};
|
|
17
|
+
function ProfileWorkspace({
|
|
18
|
+
presets,
|
|
19
|
+
profiles,
|
|
20
|
+
selectedId,
|
|
21
|
+
resolution,
|
|
22
|
+
effectiveRuntime,
|
|
23
|
+
permissionCatalog,
|
|
24
|
+
families,
|
|
25
|
+
sandboxCatalog,
|
|
26
|
+
secretSelector,
|
|
27
|
+
recordMeta,
|
|
28
|
+
onSelect,
|
|
29
|
+
onCreate,
|
|
30
|
+
onDuplicate,
|
|
31
|
+
onDelete,
|
|
32
|
+
onChange
|
|
33
|
+
}) {
|
|
34
|
+
const profile = profiles.find((item) => item.id === selectedId);
|
|
35
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid min-h-0 items-start gap-4 xl:grid-cols-[14rem_minmax(30rem,0.9fr)_minmax(36rem,1.1fr)]", children: [
|
|
36
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
37
|
+
RuntimeLibraryList.RuntimeLibraryList,
|
|
38
|
+
{
|
|
39
|
+
title: "Profiles",
|
|
40
|
+
items: profiles.map((item) => ({
|
|
41
|
+
...item,
|
|
42
|
+
...recordMeta ? { meta: recordMeta(item.id) } : {}
|
|
43
|
+
})),
|
|
44
|
+
selectedId,
|
|
45
|
+
onSelect,
|
|
46
|
+
onCreate,
|
|
47
|
+
onDuplicate,
|
|
48
|
+
onDelete
|
|
49
|
+
}
|
|
50
|
+
),
|
|
51
|
+
profile ? /* @__PURE__ */ jsxRuntime.jsxs("section", { className: "min-w-0 rounded-lg border border-border bg-card", children: [
|
|
52
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
53
|
+
ProfileHeader,
|
|
54
|
+
{
|
|
55
|
+
profile,
|
|
56
|
+
profiles,
|
|
57
|
+
onChange
|
|
58
|
+
}
|
|
59
|
+
),
|
|
60
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "p-4", children: [
|
|
61
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "mb-4 rounded-md border border-violet-500/30 bg-violet-500/5 p-3 text-xs text-muted-foreground", children: "Presets contribute reusable global behavior and permissions. This profile spec applies after its selected surface presets and owns task prompt, checkout location, environment, verification, and commit behavior." }),
|
|
62
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
63
|
+
ProfileSpecEditor.ProfileSpecEditor,
|
|
64
|
+
{
|
|
65
|
+
value: profile.spec,
|
|
66
|
+
presets,
|
|
67
|
+
selectedPresetIds: profile.presets,
|
|
68
|
+
permissionCatalog,
|
|
69
|
+
families,
|
|
70
|
+
effectiveMode: effectiveRuntime.mode,
|
|
71
|
+
effectiveModel: effectiveRuntime.model,
|
|
72
|
+
sandboxCatalog,
|
|
73
|
+
secretSelector,
|
|
74
|
+
onPresetsChange: (next) => onChange({ ...profile, presets: next }),
|
|
75
|
+
onChange: (spec) => onChange({ ...profile, spec })
|
|
76
|
+
}
|
|
77
|
+
)
|
|
78
|
+
] })
|
|
79
|
+
] }) : /* @__PURE__ */ jsxRuntime.jsx("p", { className: "rounded-lg border border-dashed border-border p-8 text-sm text-muted-foreground", children: "Create a profile to begin." }),
|
|
80
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
81
|
+
ResolutionInspector.ResolutionInspector,
|
|
82
|
+
{
|
|
83
|
+
request: { profile: profile ?? EMPTY_PROFILE, presets },
|
|
84
|
+
state: resolution
|
|
85
|
+
}
|
|
86
|
+
)
|
|
87
|
+
] });
|
|
88
|
+
}
|
|
89
|
+
function ProfileHeader({
|
|
90
|
+
profile,
|
|
91
|
+
profiles,
|
|
92
|
+
onChange
|
|
93
|
+
}) {
|
|
94
|
+
const nameId = react.useId();
|
|
95
|
+
const descriptionId = react.useId();
|
|
96
|
+
const nameTaken = !runtimeProfileModel.uniqueName(profile.name, profile.id, profiles);
|
|
97
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-3 border-b border-border p-4", children: [
|
|
98
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
99
|
+
Field.Field,
|
|
100
|
+
{
|
|
101
|
+
label: "Profile name",
|
|
102
|
+
htmlFor: nameId,
|
|
103
|
+
labelClassName: "text-xs",
|
|
104
|
+
error: nameTaken ? "A unique profile name is required." : void 0,
|
|
105
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
106
|
+
InputField.InputField,
|
|
107
|
+
{
|
|
108
|
+
id: nameId,
|
|
109
|
+
value: profile.name,
|
|
110
|
+
invalid: nameTaken,
|
|
111
|
+
onChange: (name) => onChange({ ...profile, name })
|
|
112
|
+
}
|
|
113
|
+
)
|
|
114
|
+
}
|
|
115
|
+
),
|
|
116
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
117
|
+
Field.Field,
|
|
118
|
+
{
|
|
119
|
+
label: "Description",
|
|
120
|
+
htmlFor: descriptionId,
|
|
121
|
+
labelClassName: "text-xs",
|
|
122
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
123
|
+
InputField.InputField,
|
|
124
|
+
{
|
|
125
|
+
id: descriptionId,
|
|
126
|
+
value: profile.description ?? "",
|
|
127
|
+
onChange: (description) => onChange({ ...profile, description })
|
|
128
|
+
}
|
|
129
|
+
)
|
|
130
|
+
}
|
|
131
|
+
)
|
|
132
|
+
] });
|
|
133
|
+
}
|
|
134
|
+
exports.ProfileWorkspace = ProfileWorkspace;
|
|
135
|
+
//# sourceMappingURL=ProfileWorkspace.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProfileWorkspace.cjs","sources":["../../../../src/data/ai/runtime-profiles/ProfileWorkspace.tsx"],"sourcesContent":["import { useId } from \"react\";\nimport { Field } from \"../../../components/Field\";\nimport { InputField } from \"../../../components/InputField\";\nimport type { SpecRuntimeFamily } from \"../../runtime/runtime-mode\";\nimport type { RuntimePreset, RuntimeProfile } from \"../runtime-profile\";\nimport type {\n SpecRuntimeSandboxCatalog,\n SpecRuntimeSecretSelectorConfig,\n} from \"../SpecRuntimeEditor/types\";\nimport type {\n AISpecRuntimePermissionCatalog,\n AISpecRuntimeSpec,\n} from \"../SpecRuntimeEditor.model\";\nimport { uniqueName } from \"../../../lib/runtime-profile-model\";\nimport { ProfileSpecEditor } from \"./ProfileSpecEditor\";\nimport { ResolutionInspector } from \"./ResolutionInspector\";\nimport { RuntimeLibraryList } from \"./RuntimeLibraryList\";\nimport type { RuntimeProfileResolutionState, RuntimeRecordMeta } from \"./types\";\n\nconst EMPTY_PROFILE: RuntimeProfile = {\n id: \"empty\",\n name: \"Empty profile\",\n spec: {},\n presets: [],\n};\n\nexport function ProfileWorkspace({\n presets,\n profiles,\n selectedId,\n resolution,\n effectiveRuntime,\n permissionCatalog,\n families,\n sandboxCatalog,\n secretSelector,\n recordMeta,\n onSelect,\n onCreate,\n onDuplicate,\n onDelete,\n onChange,\n}: {\n presets: RuntimePreset[];\n profiles: RuntimeProfile[];\n selectedId: string | undefined;\n resolution: RuntimeProfileResolutionState;\n effectiveRuntime: Pick<AISpecRuntimeSpec, \"model\" | \"mode\">;\n permissionCatalog?: AISpecRuntimePermissionCatalog | undefined;\n families: SpecRuntimeFamily[];\n sandboxCatalog?: SpecRuntimeSandboxCatalog | undefined;\n secretSelector?: SpecRuntimeSecretSelectorConfig | undefined;\n recordMeta?: ((id: string) => RuntimeRecordMeta) | undefined;\n onSelect: (id: string) => void;\n onCreate: () => void;\n onDuplicate: (id: string) => void;\n onDelete: (id: string) => void;\n onChange: (profile: RuntimeProfile) => void;\n}) {\n const profile = profiles.find((item) => item.id === selectedId);\n\n return (\n <div className=\"grid min-h-0 items-start gap-4 xl:grid-cols-[14rem_minmax(30rem,0.9fr)_minmax(36rem,1.1fr)]\">\n <RuntimeLibraryList\n title=\"Profiles\"\n items={profiles.map((item) => ({\n ...item,\n ...(recordMeta ? { meta: recordMeta(item.id) } : {}),\n }))}\n selectedId={selectedId}\n onSelect={onSelect}\n onCreate={onCreate}\n onDuplicate={onDuplicate}\n onDelete={onDelete}\n />\n {profile ? (\n <section className=\"min-w-0 rounded-lg border border-border bg-card\">\n <ProfileHeader\n profile={profile}\n profiles={profiles}\n onChange={onChange}\n />\n <div className=\"p-4\">\n <div className=\"mb-4 rounded-md border border-violet-500/30 bg-violet-500/5 p-3 text-xs text-muted-foreground\">\n Presets contribute reusable global behavior and permissions. This\n profile spec applies after its selected surface presets and owns\n task prompt, checkout location, environment, verification, and\n commit behavior.\n </div>\n <ProfileSpecEditor\n value={profile.spec}\n presets={presets}\n selectedPresetIds={profile.presets}\n permissionCatalog={permissionCatalog}\n families={families}\n effectiveMode={effectiveRuntime.mode}\n effectiveModel={effectiveRuntime.model}\n sandboxCatalog={sandboxCatalog}\n secretSelector={secretSelector}\n onPresetsChange={(next) =>\n onChange({ ...profile, presets: next })\n }\n onChange={(spec) => onChange({ ...profile, spec })}\n />\n </div>\n </section>\n ) : (\n <p className=\"rounded-lg border border-dashed border-border p-8 text-sm text-muted-foreground\">\n Create a profile to begin.\n </p>\n )}\n <ResolutionInspector\n request={{ profile: profile ?? EMPTY_PROFILE, presets }}\n state={resolution}\n />\n </div>\n );\n}\n\nfunction ProfileHeader({\n profile,\n profiles,\n onChange,\n}: {\n profile: RuntimeProfile;\n profiles: RuntimeProfile[];\n onChange: (profile: RuntimeProfile) => void;\n}) {\n const nameId = useId();\n const descriptionId = useId();\n const nameTaken = !uniqueName(profile.name, profile.id, profiles);\n return (\n <div className=\"space-y-3 border-b border-border p-4\">\n <Field\n label=\"Profile name\"\n htmlFor={nameId}\n labelClassName=\"text-xs\"\n error={nameTaken ? \"A unique profile name is required.\" : undefined}\n >\n <InputField\n id={nameId}\n value={profile.name}\n invalid={nameTaken}\n onChange={(name) => onChange({ ...profile, name })}\n />\n </Field>\n <Field\n label=\"Description\"\n htmlFor={descriptionId}\n labelClassName=\"text-xs\"\n >\n <InputField\n id={descriptionId}\n value={profile.description ?? \"\"}\n onChange={(description) => onChange({ ...profile, description })}\n />\n </Field>\n </div>\n );\n}\n"],"names":["jsxs","jsx","RuntimeLibraryList","ProfileSpecEditor","ResolutionInspector","useId","uniqueName","Field","InputField"],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { SpecRuntimeFamily } from '../../runtime/runtime-mode';
|
|
2
|
+
import { RuntimePreset, RuntimeProfile } from '../runtime-profile';
|
|
3
|
+
import { SpecRuntimeSandboxCatalog, SpecRuntimeSecretSelectorConfig } from '../SpecRuntimeEditor/types';
|
|
4
|
+
import { AISpecRuntimePermissionCatalog, AISpecRuntimeSpec } from '../SpecRuntimeEditor.model';
|
|
5
|
+
import { RuntimeProfileResolutionState, RuntimeRecordMeta } from './types';
|
|
6
|
+
export declare function ProfileWorkspace({ presets, profiles, selectedId, resolution, effectiveRuntime, permissionCatalog, families, sandboxCatalog, secretSelector, recordMeta, onSelect, onCreate, onDuplicate, onDelete, onChange, }: {
|
|
7
|
+
presets: RuntimePreset[];
|
|
8
|
+
profiles: RuntimeProfile[];
|
|
9
|
+
selectedId: string | undefined;
|
|
10
|
+
resolution: RuntimeProfileResolutionState;
|
|
11
|
+
effectiveRuntime: Pick<AISpecRuntimeSpec, "model" | "mode">;
|
|
12
|
+
permissionCatalog?: AISpecRuntimePermissionCatalog | undefined;
|
|
13
|
+
families: SpecRuntimeFamily[];
|
|
14
|
+
sandboxCatalog?: SpecRuntimeSandboxCatalog | undefined;
|
|
15
|
+
secretSelector?: SpecRuntimeSecretSelectorConfig | undefined;
|
|
16
|
+
recordMeta?: ((id: string) => RuntimeRecordMeta) | undefined;
|
|
17
|
+
onSelect: (id: string) => void;
|
|
18
|
+
onCreate: () => void;
|
|
19
|
+
onDuplicate: (id: string) => void;
|
|
20
|
+
onDelete: (id: string) => void;
|
|
21
|
+
onChange: (profile: RuntimeProfile) => void;
|
|
22
|
+
}): import("react").JSX.Element;
|
|
23
|
+
//# sourceMappingURL=ProfileWorkspace.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProfileWorkspace.d.ts","sourceRoot":"","sources":["../../../../src/data/ai/runtime-profiles/ProfileWorkspace.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACxE,OAAO,KAAK,EACV,yBAAyB,EACzB,+BAA+B,EAChC,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EACV,8BAA8B,EAC9B,iBAAiB,EAClB,MAAM,4BAA4B,CAAC;AAKpC,OAAO,KAAK,EAAE,6BAA6B,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAShF,wBAAgB,gBAAgB,CAAC,EAC/B,OAAO,EACP,QAAQ,EACR,UAAU,EACV,UAAU,EACV,gBAAgB,EAChB,iBAAiB,EACjB,QAAQ,EACR,cAAc,EACd,cAAc,EACd,UAAU,EACV,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,QAAQ,EACR,QAAQ,GACT,EAAE;IACD,OAAO,EAAE,aAAa,EAAE,CAAC;IACzB,QAAQ,EAAE,cAAc,EAAE,CAAC;IAC3B,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,UAAU,EAAE,6BAA6B,CAAC;IAC1C,gBAAgB,EAAE,IAAI,CAAC,iBAAiB,EAAE,OAAO,GAAG,MAAM,CAAC,CAAC;IAC5D,iBAAiB,CAAC,EAAE,8BAA8B,GAAG,SAAS,CAAC;IAC/D,QAAQ,EAAE,iBAAiB,EAAE,CAAC;IAC9B,cAAc,CAAC,EAAE,yBAAyB,GAAG,SAAS,CAAC;IACvD,cAAc,CAAC,EAAE,+BAA+B,GAAG,SAAS,CAAC;IAC7D,UAAU,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,MAAM,KAAK,iBAAiB,CAAC,GAAG,SAAS,CAAC;IAC7D,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,WAAW,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B,QAAQ,EAAE,CAAC,OAAO,EAAE,cAAc,KAAK,IAAI,CAAC;CAC7C,+BA2DA"}
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
import { jsxs, jsx } from "react/jsx-runtime";
|
|
2
|
+
import { useId } from "react";
|
|
3
|
+
import { Field } from "../../../components/Field.js";
|
|
4
|
+
import { InputField } from "../../../components/InputField.js";
|
|
5
|
+
import { uniqueName } from "../../../lib/runtime-profile-model.js";
|
|
6
|
+
import { ProfileSpecEditor } from "./ProfileSpecEditor.js";
|
|
7
|
+
import { ResolutionInspector } from "./ResolutionInspector.js";
|
|
8
|
+
import { RuntimeLibraryList } from "./RuntimeLibraryList.js";
|
|
9
|
+
const EMPTY_PROFILE = {
|
|
10
|
+
id: "empty",
|
|
11
|
+
name: "Empty profile",
|
|
12
|
+
spec: {},
|
|
13
|
+
presets: []
|
|
14
|
+
};
|
|
15
|
+
function ProfileWorkspace({
|
|
16
|
+
presets,
|
|
17
|
+
profiles,
|
|
18
|
+
selectedId,
|
|
19
|
+
resolution,
|
|
20
|
+
effectiveRuntime,
|
|
21
|
+
permissionCatalog,
|
|
22
|
+
families,
|
|
23
|
+
sandboxCatalog,
|
|
24
|
+
secretSelector,
|
|
25
|
+
recordMeta,
|
|
26
|
+
onSelect,
|
|
27
|
+
onCreate,
|
|
28
|
+
onDuplicate,
|
|
29
|
+
onDelete,
|
|
30
|
+
onChange
|
|
31
|
+
}) {
|
|
32
|
+
const profile = profiles.find((item) => item.id === selectedId);
|
|
33
|
+
return /* @__PURE__ */ jsxs("div", { className: "grid min-h-0 items-start gap-4 xl:grid-cols-[14rem_minmax(30rem,0.9fr)_minmax(36rem,1.1fr)]", children: [
|
|
34
|
+
/* @__PURE__ */ jsx(
|
|
35
|
+
RuntimeLibraryList,
|
|
36
|
+
{
|
|
37
|
+
title: "Profiles",
|
|
38
|
+
items: profiles.map((item) => ({
|
|
39
|
+
...item,
|
|
40
|
+
...recordMeta ? { meta: recordMeta(item.id) } : {}
|
|
41
|
+
})),
|
|
42
|
+
selectedId,
|
|
43
|
+
onSelect,
|
|
44
|
+
onCreate,
|
|
45
|
+
onDuplicate,
|
|
46
|
+
onDelete
|
|
47
|
+
}
|
|
48
|
+
),
|
|
49
|
+
profile ? /* @__PURE__ */ jsxs("section", { className: "min-w-0 rounded-lg border border-border bg-card", children: [
|
|
50
|
+
/* @__PURE__ */ jsx(
|
|
51
|
+
ProfileHeader,
|
|
52
|
+
{
|
|
53
|
+
profile,
|
|
54
|
+
profiles,
|
|
55
|
+
onChange
|
|
56
|
+
}
|
|
57
|
+
),
|
|
58
|
+
/* @__PURE__ */ jsxs("div", { className: "p-4", children: [
|
|
59
|
+
/* @__PURE__ */ jsx("div", { className: "mb-4 rounded-md border border-violet-500/30 bg-violet-500/5 p-3 text-xs text-muted-foreground", children: "Presets contribute reusable global behavior and permissions. This profile spec applies after its selected surface presets and owns task prompt, checkout location, environment, verification, and commit behavior." }),
|
|
60
|
+
/* @__PURE__ */ jsx(
|
|
61
|
+
ProfileSpecEditor,
|
|
62
|
+
{
|
|
63
|
+
value: profile.spec,
|
|
64
|
+
presets,
|
|
65
|
+
selectedPresetIds: profile.presets,
|
|
66
|
+
permissionCatalog,
|
|
67
|
+
families,
|
|
68
|
+
effectiveMode: effectiveRuntime.mode,
|
|
69
|
+
effectiveModel: effectiveRuntime.model,
|
|
70
|
+
sandboxCatalog,
|
|
71
|
+
secretSelector,
|
|
72
|
+
onPresetsChange: (next) => onChange({ ...profile, presets: next }),
|
|
73
|
+
onChange: (spec) => onChange({ ...profile, spec })
|
|
74
|
+
}
|
|
75
|
+
)
|
|
76
|
+
] })
|
|
77
|
+
] }) : /* @__PURE__ */ jsx("p", { className: "rounded-lg border border-dashed border-border p-8 text-sm text-muted-foreground", children: "Create a profile to begin." }),
|
|
78
|
+
/* @__PURE__ */ jsx(
|
|
79
|
+
ResolutionInspector,
|
|
80
|
+
{
|
|
81
|
+
request: { profile: profile ?? EMPTY_PROFILE, presets },
|
|
82
|
+
state: resolution
|
|
83
|
+
}
|
|
84
|
+
)
|
|
85
|
+
] });
|
|
86
|
+
}
|
|
87
|
+
function ProfileHeader({
|
|
88
|
+
profile,
|
|
89
|
+
profiles,
|
|
90
|
+
onChange
|
|
91
|
+
}) {
|
|
92
|
+
const nameId = useId();
|
|
93
|
+
const descriptionId = useId();
|
|
94
|
+
const nameTaken = !uniqueName(profile.name, profile.id, profiles);
|
|
95
|
+
return /* @__PURE__ */ jsxs("div", { className: "space-y-3 border-b border-border p-4", children: [
|
|
96
|
+
/* @__PURE__ */ jsx(
|
|
97
|
+
Field,
|
|
98
|
+
{
|
|
99
|
+
label: "Profile name",
|
|
100
|
+
htmlFor: nameId,
|
|
101
|
+
labelClassName: "text-xs",
|
|
102
|
+
error: nameTaken ? "A unique profile name is required." : void 0,
|
|
103
|
+
children: /* @__PURE__ */ jsx(
|
|
104
|
+
InputField,
|
|
105
|
+
{
|
|
106
|
+
id: nameId,
|
|
107
|
+
value: profile.name,
|
|
108
|
+
invalid: nameTaken,
|
|
109
|
+
onChange: (name) => onChange({ ...profile, name })
|
|
110
|
+
}
|
|
111
|
+
)
|
|
112
|
+
}
|
|
113
|
+
),
|
|
114
|
+
/* @__PURE__ */ jsx(
|
|
115
|
+
Field,
|
|
116
|
+
{
|
|
117
|
+
label: "Description",
|
|
118
|
+
htmlFor: descriptionId,
|
|
119
|
+
labelClassName: "text-xs",
|
|
120
|
+
children: /* @__PURE__ */ jsx(
|
|
121
|
+
InputField,
|
|
122
|
+
{
|
|
123
|
+
id: descriptionId,
|
|
124
|
+
value: profile.description ?? "",
|
|
125
|
+
onChange: (description) => onChange({ ...profile, description })
|
|
126
|
+
}
|
|
127
|
+
)
|
|
128
|
+
}
|
|
129
|
+
)
|
|
130
|
+
] });
|
|
131
|
+
}
|
|
132
|
+
export {
|
|
133
|
+
ProfileWorkspace
|
|
134
|
+
};
|
|
135
|
+
//# sourceMappingURL=ProfileWorkspace.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProfileWorkspace.js","sources":["../../../../src/data/ai/runtime-profiles/ProfileWorkspace.tsx"],"sourcesContent":["import { useId } from \"react\";\nimport { Field } from \"../../../components/Field\";\nimport { InputField } from \"../../../components/InputField\";\nimport type { SpecRuntimeFamily } from \"../../runtime/runtime-mode\";\nimport type { RuntimePreset, RuntimeProfile } from \"../runtime-profile\";\nimport type {\n SpecRuntimeSandboxCatalog,\n SpecRuntimeSecretSelectorConfig,\n} from \"../SpecRuntimeEditor/types\";\nimport type {\n AISpecRuntimePermissionCatalog,\n AISpecRuntimeSpec,\n} from \"../SpecRuntimeEditor.model\";\nimport { uniqueName } from \"../../../lib/runtime-profile-model\";\nimport { ProfileSpecEditor } from \"./ProfileSpecEditor\";\nimport { ResolutionInspector } from \"./ResolutionInspector\";\nimport { RuntimeLibraryList } from \"./RuntimeLibraryList\";\nimport type { RuntimeProfileResolutionState, RuntimeRecordMeta } from \"./types\";\n\nconst EMPTY_PROFILE: RuntimeProfile = {\n id: \"empty\",\n name: \"Empty profile\",\n spec: {},\n presets: [],\n};\n\nexport function ProfileWorkspace({\n presets,\n profiles,\n selectedId,\n resolution,\n effectiveRuntime,\n permissionCatalog,\n families,\n sandboxCatalog,\n secretSelector,\n recordMeta,\n onSelect,\n onCreate,\n onDuplicate,\n onDelete,\n onChange,\n}: {\n presets: RuntimePreset[];\n profiles: RuntimeProfile[];\n selectedId: string | undefined;\n resolution: RuntimeProfileResolutionState;\n effectiveRuntime: Pick<AISpecRuntimeSpec, \"model\" | \"mode\">;\n permissionCatalog?: AISpecRuntimePermissionCatalog | undefined;\n families: SpecRuntimeFamily[];\n sandboxCatalog?: SpecRuntimeSandboxCatalog | undefined;\n secretSelector?: SpecRuntimeSecretSelectorConfig | undefined;\n recordMeta?: ((id: string) => RuntimeRecordMeta) | undefined;\n onSelect: (id: string) => void;\n onCreate: () => void;\n onDuplicate: (id: string) => void;\n onDelete: (id: string) => void;\n onChange: (profile: RuntimeProfile) => void;\n}) {\n const profile = profiles.find((item) => item.id === selectedId);\n\n return (\n <div className=\"grid min-h-0 items-start gap-4 xl:grid-cols-[14rem_minmax(30rem,0.9fr)_minmax(36rem,1.1fr)]\">\n <RuntimeLibraryList\n title=\"Profiles\"\n items={profiles.map((item) => ({\n ...item,\n ...(recordMeta ? { meta: recordMeta(item.id) } : {}),\n }))}\n selectedId={selectedId}\n onSelect={onSelect}\n onCreate={onCreate}\n onDuplicate={onDuplicate}\n onDelete={onDelete}\n />\n {profile ? (\n <section className=\"min-w-0 rounded-lg border border-border bg-card\">\n <ProfileHeader\n profile={profile}\n profiles={profiles}\n onChange={onChange}\n />\n <div className=\"p-4\">\n <div className=\"mb-4 rounded-md border border-violet-500/30 bg-violet-500/5 p-3 text-xs text-muted-foreground\">\n Presets contribute reusable global behavior and permissions. This\n profile spec applies after its selected surface presets and owns\n task prompt, checkout location, environment, verification, and\n commit behavior.\n </div>\n <ProfileSpecEditor\n value={profile.spec}\n presets={presets}\n selectedPresetIds={profile.presets}\n permissionCatalog={permissionCatalog}\n families={families}\n effectiveMode={effectiveRuntime.mode}\n effectiveModel={effectiveRuntime.model}\n sandboxCatalog={sandboxCatalog}\n secretSelector={secretSelector}\n onPresetsChange={(next) =>\n onChange({ ...profile, presets: next })\n }\n onChange={(spec) => onChange({ ...profile, spec })}\n />\n </div>\n </section>\n ) : (\n <p className=\"rounded-lg border border-dashed border-border p-8 text-sm text-muted-foreground\">\n Create a profile to begin.\n </p>\n )}\n <ResolutionInspector\n request={{ profile: profile ?? EMPTY_PROFILE, presets }}\n state={resolution}\n />\n </div>\n );\n}\n\nfunction ProfileHeader({\n profile,\n profiles,\n onChange,\n}: {\n profile: RuntimeProfile;\n profiles: RuntimeProfile[];\n onChange: (profile: RuntimeProfile) => void;\n}) {\n const nameId = useId();\n const descriptionId = useId();\n const nameTaken = !uniqueName(profile.name, profile.id, profiles);\n return (\n <div className=\"space-y-3 border-b border-border p-4\">\n <Field\n label=\"Profile name\"\n htmlFor={nameId}\n labelClassName=\"text-xs\"\n error={nameTaken ? \"A unique profile name is required.\" : undefined}\n >\n <InputField\n id={nameId}\n value={profile.name}\n invalid={nameTaken}\n onChange={(name) => onChange({ ...profile, name })}\n />\n </Field>\n <Field\n label=\"Description\"\n htmlFor={descriptionId}\n labelClassName=\"text-xs\"\n >\n <InputField\n id={descriptionId}\n value={profile.description ?? \"\"}\n onChange={(description) => onChange({ ...profile, description })}\n />\n </Field>\n </div>\n );\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const jsxRuntime = require("react/jsx-runtime");
|
|
4
|
+
const react = require("react");
|
|
5
|
+
const Tabs = require("../../../layout/Tabs.cjs");
|
|
6
|
+
const CodeBlock = require("../../CodeBlock.cjs");
|
|
7
|
+
const ToolSchemaBrowser = require("../ToolSchemaBrowser.cjs");
|
|
8
|
+
const ResolutionTrace = require("./ResolutionTrace.cjs");
|
|
9
|
+
const TABS = [
|
|
10
|
+
{ id: "settings", label: "Settings" },
|
|
11
|
+
{ id: "permissions", label: "Permissions" },
|
|
12
|
+
{ id: "request", label: "Request" }
|
|
13
|
+
];
|
|
14
|
+
function ResolutionInspector({
|
|
15
|
+
request,
|
|
16
|
+
state
|
|
17
|
+
}) {
|
|
18
|
+
const [tab, setTab] = react.useState("settings");
|
|
19
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("aside", { className: "min-h-0 min-w-0 rounded-lg border border-border bg-card", children: [
|
|
20
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2 border-b border-border px-3 py-2", children: [
|
|
21
|
+
/* @__PURE__ */ jsxRuntime.jsx("h2", { className: "flex-1 text-sm font-semibold", children: "Resolved by runtime server" }),
|
|
22
|
+
/* @__PURE__ */ jsxRuntime.jsx(StatusLabel, { status: state.status })
|
|
23
|
+
] }),
|
|
24
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
25
|
+
Tabs.Tabs,
|
|
26
|
+
{
|
|
27
|
+
tabs: TABS,
|
|
28
|
+
value: tab,
|
|
29
|
+
onChange: (next) => setTab(next),
|
|
30
|
+
className: "px-2"
|
|
31
|
+
}
|
|
32
|
+
),
|
|
33
|
+
state.status === "error" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
34
|
+
"div",
|
|
35
|
+
{
|
|
36
|
+
role: "alert",
|
|
37
|
+
className: "m-4 rounded-md border border-destructive/40 bg-destructive/5 p-3 text-sm text-destructive",
|
|
38
|
+
children: state.error
|
|
39
|
+
}
|
|
40
|
+
) : tab === "request" ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "p-3", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
41
|
+
CodeBlock.CodeBlock,
|
|
42
|
+
{
|
|
43
|
+
language: "json",
|
|
44
|
+
source: JSON.stringify(request, null, 2),
|
|
45
|
+
copyable: true
|
|
46
|
+
}
|
|
47
|
+
) }) : state.status === "loading" || !state.result ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "p-6 text-sm text-muted-foreground", children: "Waiting for an authoritative response." }) : tab === "permissions" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
48
|
+
ToolSchemaBrowser.ToolSchemaBrowser,
|
|
49
|
+
{
|
|
50
|
+
tools: state.result.tools,
|
|
51
|
+
value: state.result.permissions,
|
|
52
|
+
className: "h-[42rem] rounded-none border-0"
|
|
53
|
+
}
|
|
54
|
+
) : /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4 p-3", children: [
|
|
55
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
56
|
+
/* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mb-2 text-xs font-semibold uppercase tracking-wide text-muted-foreground", children: "Effective spec" }),
|
|
57
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
58
|
+
CodeBlock.CodeBlock,
|
|
59
|
+
{
|
|
60
|
+
language: "json",
|
|
61
|
+
source: JSON.stringify(state.result.resolved.spec, null, 2),
|
|
62
|
+
copyable: true
|
|
63
|
+
}
|
|
64
|
+
)
|
|
65
|
+
] }),
|
|
66
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
67
|
+
/* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mb-2 text-xs font-semibold uppercase tracking-wide text-muted-foreground", children: "Server order" }),
|
|
68
|
+
/* @__PURE__ */ jsxRuntime.jsx(ResolutionTrace.ResolutionTrace, { trace: state.result.resolved.trace })
|
|
69
|
+
] })
|
|
70
|
+
] })
|
|
71
|
+
] });
|
|
72
|
+
}
|
|
73
|
+
function StatusLabel({
|
|
74
|
+
status
|
|
75
|
+
}) {
|
|
76
|
+
if (status === "resolved") {
|
|
77
|
+
return /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs font-medium text-emerald-600", children: "Resolved" });
|
|
78
|
+
}
|
|
79
|
+
if (status === "error") {
|
|
80
|
+
return /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs font-medium text-destructive", children: "Failed" });
|
|
81
|
+
}
|
|
82
|
+
return /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs font-medium text-muted-foreground", children: "Resolving…" });
|
|
83
|
+
}
|
|
84
|
+
exports.ResolutionInspector = ResolutionInspector;
|
|
85
|
+
//# sourceMappingURL=ResolutionInspector.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ResolutionInspector.cjs","sources":["../../../../src/data/ai/runtime-profiles/ResolutionInspector.tsx"],"sourcesContent":["import { useState } from \"react\";\nimport { Tabs } from \"../../../layout/Tabs\";\nimport { CodeBlock } from \"../../CodeBlock\";\nimport type { RuntimeProfileResolveRequest } from \"../runtime-profile\";\nimport { ToolSchemaBrowser } from \"../ToolSchemaBrowser\";\nimport { ResolutionTrace } from \"./ResolutionTrace\";\nimport type { RuntimeProfileResolutionState } from \"./types\";\n\ntype InspectorTab = \"settings\" | \"permissions\" | \"request\";\n\nconst TABS: Array<{ id: InspectorTab; label: string }> = [\n { id: \"settings\", label: \"Settings\" },\n { id: \"permissions\", label: \"Permissions\" },\n { id: \"request\", label: \"Request\" },\n];\n\nexport function ResolutionInspector({\n request,\n state,\n}: {\n request: RuntimeProfileResolveRequest;\n state: RuntimeProfileResolutionState;\n}) {\n const [tab, setTab] = useState<InspectorTab>(\"settings\");\n return (\n <aside className=\"min-h-0 min-w-0 rounded-lg border border-border bg-card\">\n <div className=\"flex items-center gap-2 border-b border-border px-3 py-2\">\n <h2 className=\"flex-1 text-sm font-semibold\">\n Resolved by runtime server\n </h2>\n <StatusLabel status={state.status} />\n </div>\n <Tabs\n tabs={TABS}\n value={tab}\n onChange={(next) => setTab(next as InspectorTab)}\n className=\"px-2\"\n />\n {state.status === \"error\" ? (\n <div\n role=\"alert\"\n className=\"m-4 rounded-md border border-destructive/40 bg-destructive/5 p-3 text-sm text-destructive\"\n >\n {state.error}\n </div>\n ) : tab === \"request\" ? (\n <div className=\"p-3\">\n <CodeBlock\n language=\"json\"\n source={JSON.stringify(request, null, 2)}\n copyable\n />\n </div>\n ) : state.status === \"loading\" || !state.result ? (\n <p className=\"p-6 text-sm text-muted-foreground\">\n Waiting for an authoritative response.\n </p>\n ) : tab === \"permissions\" ? (\n <ToolSchemaBrowser\n tools={state.result.tools}\n value={state.result.permissions}\n className=\"h-[42rem] rounded-none border-0\"\n />\n ) : (\n <div className=\"space-y-4 p-3\">\n <div>\n <h3 className=\"mb-2 text-xs font-semibold uppercase tracking-wide text-muted-foreground\">\n Effective spec\n </h3>\n <CodeBlock\n language=\"json\"\n source={JSON.stringify(state.result.resolved.spec, null, 2)}\n copyable\n />\n </div>\n <div>\n <h3 className=\"mb-2 text-xs font-semibold uppercase tracking-wide text-muted-foreground\">\n Server order\n </h3>\n <ResolutionTrace trace={state.result.resolved.trace} />\n </div>\n </div>\n )}\n </aside>\n );\n}\n\nfunction StatusLabel({\n status,\n}: {\n status: RuntimeProfileResolutionState[\"status\"];\n}) {\n if (status === \"resolved\") {\n return (\n <span className=\"text-xs font-medium text-emerald-600\">Resolved</span>\n );\n }\n if (status === \"error\") {\n return <span className=\"text-xs font-medium text-destructive\">Failed</span>;\n }\n return (\n <span className=\"text-xs font-medium text-muted-foreground\">Resolving…</span>\n );\n}\n"],"names":["useState","jsxs","jsx","Tabs","CodeBlock","ToolSchemaBrowser","ResolutionTrace"],"mappings":";;;;;;;;AAUA,MAAM,OAAmD;AAAA,EACvD,EAAE,IAAI,YAAY,OAAO,WAAA;AAAA,EACzB,EAAE,IAAI,eAAe,OAAO,cAAA;AAAA,EAC5B,EAAE,IAAI,WAAW,OAAO,UAAA;AAC1B;AAEO,SAAS,oBAAoB;AAAA,EAClC;AAAA,EACA;AACF,GAGG;AACD,QAAM,CAAC,KAAK,MAAM,IAAIA,MAAAA,SAAuB,UAAU;AACvD,SACEC,2BAAAA,KAAC,SAAA,EAAM,WAAU,2DACf,UAAA;AAAA,IAAAA,2BAAAA,KAAC,OAAA,EAAI,WAAU,4DACb,UAAA;AAAA,MAAAC,2BAAAA,IAAC,MAAA,EAAG,WAAU,gCAA+B,UAAA,8BAE7C;AAAA,MACAA,2BAAAA,IAAC,aAAA,EAAY,QAAQ,MAAM,OAAA,CAAQ;AAAA,IAAA,GACrC;AAAA,IACAA,2BAAAA;AAAAA,MAACC,KAAAA;AAAAA,MAAA;AAAA,QACC,MAAM;AAAA,QACN,OAAO;AAAA,QACP,UAAU,CAAC,SAAS,OAAO,IAAoB;AAAA,QAC/C,WAAU;AAAA,MAAA;AAAA,IAAA;AAAA,IAEX,MAAM,WAAW,UAChBD,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,MAAK;AAAA,QACL,WAAU;AAAA,QAET,UAAA,MAAM;AAAA,MAAA;AAAA,IAAA,IAEP,QAAQ,YACVA,+BAAC,OAAA,EAAI,WAAU,OACb,UAAAA,2BAAAA;AAAAA,MAACE,UAAAA;AAAAA,MAAA;AAAA,QACC,UAAS;AAAA,QACT,QAAQ,KAAK,UAAU,SAAS,MAAM,CAAC;AAAA,QACvC,UAAQ;AAAA,MAAA;AAAA,IAAA,EACV,CACF,IACE,MAAM,WAAW,aAAa,CAAC,MAAM,SACvCF,2BAAAA,IAAC,OAAE,WAAU,qCAAoC,UAAA,yCAAA,CAEjD,IACE,QAAQ,gBACVA,2BAAAA;AAAAA,MAACG,kBAAAA;AAAAA,MAAA;AAAA,QACC,OAAO,MAAM,OAAO;AAAA,QACpB,OAAO,MAAM,OAAO;AAAA,QACpB,WAAU;AAAA,MAAA;AAAA,IAAA,IAGZJ,2BAAAA,KAAC,OAAA,EAAI,WAAU,iBACb,UAAA;AAAA,MAAAA,gCAAC,OAAA,EACC,UAAA;AAAA,QAAAC,2BAAAA,IAAC,MAAA,EAAG,WAAU,4EAA2E,UAAA,kBAEzF;AAAA,QACAA,2BAAAA;AAAAA,UAACE,UAAAA;AAAAA,UAAA;AAAA,YACC,UAAS;AAAA,YACT,QAAQ,KAAK,UAAU,MAAM,OAAO,SAAS,MAAM,MAAM,CAAC;AAAA,YAC1D,UAAQ;AAAA,UAAA;AAAA,QAAA;AAAA,MACV,GACF;AAAA,sCACC,OAAA,EACC,UAAA;AAAA,QAAAF,2BAAAA,IAAC,MAAA,EAAG,WAAU,4EAA2E,UAAA,gBAEzF;AAAA,uCACCI,gBAAAA,iBAAA,EAAgB,OAAO,MAAM,OAAO,SAAS,MAAA,CAAO;AAAA,MAAA,EAAA,CACvD;AAAA,IAAA,EAAA,CACF;AAAA,EAAA,GAEJ;AAEJ;AAEA,SAAS,YAAY;AAAA,EACnB;AACF,GAEG;AACD,MAAI,WAAW,YAAY;AACzB,WACEJ,2BAAAA,IAAC,QAAA,EAAK,WAAU,wCAAuC,UAAA,YAAQ;AAAA,EAEnE;AACA,MAAI,WAAW,SAAS;AACtB,WAAOA,2BAAAA,IAAC,QAAA,EAAK,WAAU,wCAAuC,UAAA,UAAM;AAAA,EACtE;AACA,SACEA,2BAAAA,IAAC,QAAA,EAAK,WAAU,6CAA4C,UAAA,cAAU;AAE1E;;"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { RuntimeProfileResolveRequest } from '../runtime-profile';
|
|
2
|
+
import { RuntimeProfileResolutionState } from './types';
|
|
3
|
+
export declare function ResolutionInspector({ request, state, }: {
|
|
4
|
+
request: RuntimeProfileResolveRequest;
|
|
5
|
+
state: RuntimeProfileResolutionState;
|
|
6
|
+
}): import("react").JSX.Element;
|
|
7
|
+
//# sourceMappingURL=ResolutionInspector.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ResolutionInspector.d.ts","sourceRoot":"","sources":["../../../../src/data/ai/runtime-profiles/ResolutionInspector.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,oBAAoB,CAAC;AAGvE,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,SAAS,CAAC;AAU7D,wBAAgB,mBAAmB,CAAC,EAClC,OAAO,EACP,KAAK,GACN,EAAE;IACD,OAAO,EAAE,4BAA4B,CAAC;IACtC,KAAK,EAAE,6BAA6B,CAAC;CACtC,+BA+DA"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { jsxs, jsx } from "react/jsx-runtime";
|
|
2
|
+
import { useState } from "react";
|
|
3
|
+
import { Tabs } from "../../../layout/Tabs.js";
|
|
4
|
+
import { CodeBlock } from "../../CodeBlock.js";
|
|
5
|
+
import { ToolSchemaBrowser } from "../ToolSchemaBrowser.js";
|
|
6
|
+
import { ResolutionTrace } from "./ResolutionTrace.js";
|
|
7
|
+
const TABS = [
|
|
8
|
+
{ id: "settings", label: "Settings" },
|
|
9
|
+
{ id: "permissions", label: "Permissions" },
|
|
10
|
+
{ id: "request", label: "Request" }
|
|
11
|
+
];
|
|
12
|
+
function ResolutionInspector({
|
|
13
|
+
request,
|
|
14
|
+
state
|
|
15
|
+
}) {
|
|
16
|
+
const [tab, setTab] = useState("settings");
|
|
17
|
+
return /* @__PURE__ */ jsxs("aside", { className: "min-h-0 min-w-0 rounded-lg border border-border bg-card", children: [
|
|
18
|
+
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2 border-b border-border px-3 py-2", children: [
|
|
19
|
+
/* @__PURE__ */ jsx("h2", { className: "flex-1 text-sm font-semibold", children: "Resolved by runtime server" }),
|
|
20
|
+
/* @__PURE__ */ jsx(StatusLabel, { status: state.status })
|
|
21
|
+
] }),
|
|
22
|
+
/* @__PURE__ */ jsx(
|
|
23
|
+
Tabs,
|
|
24
|
+
{
|
|
25
|
+
tabs: TABS,
|
|
26
|
+
value: tab,
|
|
27
|
+
onChange: (next) => setTab(next),
|
|
28
|
+
className: "px-2"
|
|
29
|
+
}
|
|
30
|
+
),
|
|
31
|
+
state.status === "error" ? /* @__PURE__ */ jsx(
|
|
32
|
+
"div",
|
|
33
|
+
{
|
|
34
|
+
role: "alert",
|
|
35
|
+
className: "m-4 rounded-md border border-destructive/40 bg-destructive/5 p-3 text-sm text-destructive",
|
|
36
|
+
children: state.error
|
|
37
|
+
}
|
|
38
|
+
) : tab === "request" ? /* @__PURE__ */ jsx("div", { className: "p-3", children: /* @__PURE__ */ jsx(
|
|
39
|
+
CodeBlock,
|
|
40
|
+
{
|
|
41
|
+
language: "json",
|
|
42
|
+
source: JSON.stringify(request, null, 2),
|
|
43
|
+
copyable: true
|
|
44
|
+
}
|
|
45
|
+
) }) : state.status === "loading" || !state.result ? /* @__PURE__ */ jsx("p", { className: "p-6 text-sm text-muted-foreground", children: "Waiting for an authoritative response." }) : tab === "permissions" ? /* @__PURE__ */ jsx(
|
|
46
|
+
ToolSchemaBrowser,
|
|
47
|
+
{
|
|
48
|
+
tools: state.result.tools,
|
|
49
|
+
value: state.result.permissions,
|
|
50
|
+
className: "h-[42rem] rounded-none border-0"
|
|
51
|
+
}
|
|
52
|
+
) : /* @__PURE__ */ jsxs("div", { className: "space-y-4 p-3", children: [
|
|
53
|
+
/* @__PURE__ */ jsxs("div", { children: [
|
|
54
|
+
/* @__PURE__ */ jsx("h3", { className: "mb-2 text-xs font-semibold uppercase tracking-wide text-muted-foreground", children: "Effective spec" }),
|
|
55
|
+
/* @__PURE__ */ jsx(
|
|
56
|
+
CodeBlock,
|
|
57
|
+
{
|
|
58
|
+
language: "json",
|
|
59
|
+
source: JSON.stringify(state.result.resolved.spec, null, 2),
|
|
60
|
+
copyable: true
|
|
61
|
+
}
|
|
62
|
+
)
|
|
63
|
+
] }),
|
|
64
|
+
/* @__PURE__ */ jsxs("div", { children: [
|
|
65
|
+
/* @__PURE__ */ jsx("h3", { className: "mb-2 text-xs font-semibold uppercase tracking-wide text-muted-foreground", children: "Server order" }),
|
|
66
|
+
/* @__PURE__ */ jsx(ResolutionTrace, { trace: state.result.resolved.trace })
|
|
67
|
+
] })
|
|
68
|
+
] })
|
|
69
|
+
] });
|
|
70
|
+
}
|
|
71
|
+
function StatusLabel({
|
|
72
|
+
status
|
|
73
|
+
}) {
|
|
74
|
+
if (status === "resolved") {
|
|
75
|
+
return /* @__PURE__ */ jsx("span", { className: "text-xs font-medium text-emerald-600", children: "Resolved" });
|
|
76
|
+
}
|
|
77
|
+
if (status === "error") {
|
|
78
|
+
return /* @__PURE__ */ jsx("span", { className: "text-xs font-medium text-destructive", children: "Failed" });
|
|
79
|
+
}
|
|
80
|
+
return /* @__PURE__ */ jsx("span", { className: "text-xs font-medium text-muted-foreground", children: "Resolving…" });
|
|
81
|
+
}
|
|
82
|
+
export {
|
|
83
|
+
ResolutionInspector
|
|
84
|
+
};
|
|
85
|
+
//# sourceMappingURL=ResolutionInspector.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ResolutionInspector.js","sources":["../../../../src/data/ai/runtime-profiles/ResolutionInspector.tsx"],"sourcesContent":["import { useState } from \"react\";\nimport { Tabs } from \"../../../layout/Tabs\";\nimport { CodeBlock } from \"../../CodeBlock\";\nimport type { RuntimeProfileResolveRequest } from \"../runtime-profile\";\nimport { ToolSchemaBrowser } from \"../ToolSchemaBrowser\";\nimport { ResolutionTrace } from \"./ResolutionTrace\";\nimport type { RuntimeProfileResolutionState } from \"./types\";\n\ntype InspectorTab = \"settings\" | \"permissions\" | \"request\";\n\nconst TABS: Array<{ id: InspectorTab; label: string }> = [\n { id: \"settings\", label: \"Settings\" },\n { id: \"permissions\", label: \"Permissions\" },\n { id: \"request\", label: \"Request\" },\n];\n\nexport function ResolutionInspector({\n request,\n state,\n}: {\n request: RuntimeProfileResolveRequest;\n state: RuntimeProfileResolutionState;\n}) {\n const [tab, setTab] = useState<InspectorTab>(\"settings\");\n return (\n <aside className=\"min-h-0 min-w-0 rounded-lg border border-border bg-card\">\n <div className=\"flex items-center gap-2 border-b border-border px-3 py-2\">\n <h2 className=\"flex-1 text-sm font-semibold\">\n Resolved by runtime server\n </h2>\n <StatusLabel status={state.status} />\n </div>\n <Tabs\n tabs={TABS}\n value={tab}\n onChange={(next) => setTab(next as InspectorTab)}\n className=\"px-2\"\n />\n {state.status === \"error\" ? (\n <div\n role=\"alert\"\n className=\"m-4 rounded-md border border-destructive/40 bg-destructive/5 p-3 text-sm text-destructive\"\n >\n {state.error}\n </div>\n ) : tab === \"request\" ? (\n <div className=\"p-3\">\n <CodeBlock\n language=\"json\"\n source={JSON.stringify(request, null, 2)}\n copyable\n />\n </div>\n ) : state.status === \"loading\" || !state.result ? (\n <p className=\"p-6 text-sm text-muted-foreground\">\n Waiting for an authoritative response.\n </p>\n ) : tab === \"permissions\" ? (\n <ToolSchemaBrowser\n tools={state.result.tools}\n value={state.result.permissions}\n className=\"h-[42rem] rounded-none border-0\"\n />\n ) : (\n <div className=\"space-y-4 p-3\">\n <div>\n <h3 className=\"mb-2 text-xs font-semibold uppercase tracking-wide text-muted-foreground\">\n Effective spec\n </h3>\n <CodeBlock\n language=\"json\"\n source={JSON.stringify(state.result.resolved.spec, null, 2)}\n copyable\n />\n </div>\n <div>\n <h3 className=\"mb-2 text-xs font-semibold uppercase tracking-wide text-muted-foreground\">\n Server order\n </h3>\n <ResolutionTrace trace={state.result.resolved.trace} />\n </div>\n </div>\n )}\n </aside>\n );\n}\n\nfunction StatusLabel({\n status,\n}: {\n status: RuntimeProfileResolutionState[\"status\"];\n}) {\n if (status === \"resolved\") {\n return (\n <span className=\"text-xs font-medium text-emerald-600\">Resolved</span>\n );\n }\n if (status === \"error\") {\n return <span className=\"text-xs font-medium text-destructive\">Failed</span>;\n }\n return (\n <span className=\"text-xs font-medium text-muted-foreground\">Resolving…</span>\n );\n}\n"],"names":[],"mappings":";;;;;;AAUA,MAAM,OAAmD;AAAA,EACvD,EAAE,IAAI,YAAY,OAAO,WAAA;AAAA,EACzB,EAAE,IAAI,eAAe,OAAO,cAAA;AAAA,EAC5B,EAAE,IAAI,WAAW,OAAO,UAAA;AAC1B;AAEO,SAAS,oBAAoB;AAAA,EAClC;AAAA,EACA;AACF,GAGG;AACD,QAAM,CAAC,KAAK,MAAM,IAAI,SAAuB,UAAU;AACvD,SACE,qBAAC,SAAA,EAAM,WAAU,2DACf,UAAA;AAAA,IAAA,qBAAC,OAAA,EAAI,WAAU,4DACb,UAAA;AAAA,MAAA,oBAAC,MAAA,EAAG,WAAU,gCAA+B,UAAA,8BAE7C;AAAA,MACA,oBAAC,aAAA,EAAY,QAAQ,MAAM,OAAA,CAAQ;AAAA,IAAA,GACrC;AAAA,IACA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,MAAM;AAAA,QACN,OAAO;AAAA,QACP,UAAU,CAAC,SAAS,OAAO,IAAoB;AAAA,QAC/C,WAAU;AAAA,MAAA;AAAA,IAAA;AAAA,IAEX,MAAM,WAAW,UAChB;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,MAAK;AAAA,QACL,WAAU;AAAA,QAET,UAAA,MAAM;AAAA,MAAA;AAAA,IAAA,IAEP,QAAQ,YACV,oBAAC,OAAA,EAAI,WAAU,OACb,UAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,UAAS;AAAA,QACT,QAAQ,KAAK,UAAU,SAAS,MAAM,CAAC;AAAA,QACvC,UAAQ;AAAA,MAAA;AAAA,IAAA,EACV,CACF,IACE,MAAM,WAAW,aAAa,CAAC,MAAM,SACvC,oBAAC,OAAE,WAAU,qCAAoC,UAAA,yCAAA,CAEjD,IACE,QAAQ,gBACV;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,OAAO,MAAM,OAAO;AAAA,QACpB,OAAO,MAAM,OAAO;AAAA,QACpB,WAAU;AAAA,MAAA;AAAA,IAAA,IAGZ,qBAAC,OAAA,EAAI,WAAU,iBACb,UAAA;AAAA,MAAA,qBAAC,OAAA,EACC,UAAA;AAAA,QAAA,oBAAC,MAAA,EAAG,WAAU,4EAA2E,UAAA,kBAEzF;AAAA,QACA;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,UAAS;AAAA,YACT,QAAQ,KAAK,UAAU,MAAM,OAAO,SAAS,MAAM,MAAM,CAAC;AAAA,YAC1D,UAAQ;AAAA,UAAA;AAAA,QAAA;AAAA,MACV,GACF;AAAA,2BACC,OAAA,EACC,UAAA;AAAA,QAAA,oBAAC,MAAA,EAAG,WAAU,4EAA2E,UAAA,gBAEzF;AAAA,4BACC,iBAAA,EAAgB,OAAO,MAAM,OAAO,SAAS,MAAA,CAAO;AAAA,MAAA,EAAA,CACvD;AAAA,IAAA,EAAA,CACF;AAAA,EAAA,GAEJ;AAEJ;AAEA,SAAS,YAAY;AAAA,EACnB;AACF,GAEG;AACD,MAAI,WAAW,YAAY;AACzB,WACE,oBAAC,QAAA,EAAK,WAAU,wCAAuC,UAAA,YAAQ;AAAA,EAEnE;AACA,MAAI,WAAW,SAAS;AACtB,WAAO,oBAAC,QAAA,EAAK,WAAU,wCAAuC,UAAA,UAAM;AAAA,EACtE;AACA,SACE,oBAAC,QAAA,EAAK,WAAU,6CAA4C,UAAA,cAAU;AAE1E;"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const jsxRuntime = require("react/jsx-runtime");
|
|
4
|
+
const utils = require("../../../lib/utils.cjs");
|
|
5
|
+
const SOURCE_BADGE = {
|
|
6
|
+
preset: "bg-sky-500/10 text-sky-600 dark:text-sky-300",
|
|
7
|
+
profile: "bg-violet-500/10 text-violet-600 dark:text-violet-300",
|
|
8
|
+
prompt: "bg-muted text-muted-foreground",
|
|
9
|
+
request: "bg-muted text-muted-foreground"
|
|
10
|
+
};
|
|
11
|
+
function ResolutionTrace({
|
|
12
|
+
trace,
|
|
13
|
+
className
|
|
14
|
+
}) {
|
|
15
|
+
if (trace.length === 0) {
|
|
16
|
+
return /* @__PURE__ */ jsxRuntime.jsx("p", { className: utils.cn("text-xs text-muted-foreground", className), children: "No layers resolved yet." });
|
|
17
|
+
}
|
|
18
|
+
return /* @__PURE__ */ jsxRuntime.jsx("ol", { "aria-label": "Resolution order", className: utils.cn("space-y-1 text-sm", className), children: trace.map((layer, index) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
19
|
+
"li",
|
|
20
|
+
{
|
|
21
|
+
className: "flex items-center gap-2 rounded bg-muted/40 px-2 py-1.5",
|
|
22
|
+
children: [
|
|
23
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "w-5 text-right font-mono text-xs text-muted-foreground", children: index + 1 }),
|
|
24
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "min-w-0 flex-1 truncate", children: layer.name }),
|
|
25
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
26
|
+
"span",
|
|
27
|
+
{
|
|
28
|
+
className: utils.cn(
|
|
29
|
+
"rounded px-1.5 py-0.5 text-[10px] font-semibold uppercase",
|
|
30
|
+
SOURCE_BADGE[layer.source]
|
|
31
|
+
),
|
|
32
|
+
children: layer.source
|
|
33
|
+
}
|
|
34
|
+
),
|
|
35
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs capitalize text-muted-foreground", children: layer.scope })
|
|
36
|
+
]
|
|
37
|
+
},
|
|
38
|
+
layer.id ?? `${layer.source}:${layer.name}`
|
|
39
|
+
)) });
|
|
40
|
+
}
|
|
41
|
+
exports.ResolutionTrace = ResolutionTrace;
|
|
42
|
+
//# sourceMappingURL=ResolutionTrace.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ResolutionTrace.cjs","sources":["../../../../src/data/ai/runtime-profiles/ResolutionTrace.tsx"],"sourcesContent":["import { cn } from \"../../../lib/utils\";\nimport type {\n RuntimeResolutionLayer,\n RuntimeResolutionLayerSource,\n} from \"../runtime-profile\";\n\nconst SOURCE_BADGE: Record<RuntimeResolutionLayerSource, string> = {\n preset: \"bg-sky-500/10 text-sky-600 dark:text-sky-300\",\n profile: \"bg-violet-500/10 text-violet-600 dark:text-violet-300\",\n prompt: \"bg-muted text-muted-foreground\",\n request: \"bg-muted text-muted-foreground\",\n};\n\nexport function ResolutionTrace({\n trace,\n className,\n}: {\n trace: RuntimeResolutionLayer[];\n className?: string | undefined;\n}) {\n if (trace.length === 0) {\n return (\n <p className={cn(\"text-xs text-muted-foreground\", className)}>\n No layers resolved yet.\n </p>\n );\n }\n return (\n <ol aria-label=\"Resolution order\" className={cn(\"space-y-1 text-sm\", className)}>\n {trace.map((layer, index) => (\n <li\n key={layer.id ?? `${layer.source}:${layer.name}`}\n className=\"flex items-center gap-2 rounded bg-muted/40 px-2 py-1.5\"\n >\n <span className=\"w-5 text-right font-mono text-xs text-muted-foreground\">\n {index + 1}\n </span>\n <span className=\"min-w-0 flex-1 truncate\">{layer.name}</span>\n <span\n className={cn(\n \"rounded px-1.5 py-0.5 text-[10px] font-semibold uppercase\",\n SOURCE_BADGE[layer.source],\n )}\n >\n {layer.source}\n </span>\n <span className=\"text-xs capitalize text-muted-foreground\">\n {layer.scope}\n </span>\n </li>\n ))}\n </ol>\n );\n}\n"],"names":["cn","jsx","jsxs"],"mappings":";;;;AAMA,MAAM,eAA6D;AAAA,EACjE,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,SAAS;AACX;AAEO,SAAS,gBAAgB;AAAA,EAC9B;AAAA,EACA;AACF,GAGG;AACD,MAAI,MAAM,WAAW,GAAG;AACtB,0CACG,KAAA,EAAE,WAAWA,MAAAA,GAAG,iCAAiC,SAAS,GAAG,UAAA,2BAE9D;AAAA,EAEJ;AACA,SACEC,2BAAAA,IAAC,MAAA,EAAG,cAAW,oBAAmB,WAAWD,SAAG,qBAAqB,SAAS,GAC3E,UAAA,MAAM,IAAI,CAAC,OAAO,UACjBE,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MAEC,WAAU;AAAA,MAEV,UAAA;AAAA,QAAAD,2BAAAA,IAAC,QAAA,EAAK,WAAU,0DACb,UAAA,QAAQ,GACX;AAAA,QACAA,2BAAAA,IAAC,QAAA,EAAK,WAAU,2BAA2B,gBAAM,MAAK;AAAA,QACtDA,2BAAAA;AAAAA,UAAC;AAAA,UAAA;AAAA,YACC,WAAWD,MAAAA;AAAAA,cACT;AAAA,cACA,aAAa,MAAM,MAAM;AAAA,YAAA;AAAA,YAG1B,UAAA,MAAM;AAAA,UAAA;AAAA,QAAA;AAAA,QAETC,2BAAAA,IAAC,QAAA,EAAK,WAAU,4CACb,gBAAM,MAAA,CACT;AAAA,MAAA;AAAA,IAAA;AAAA,IAjBK,MAAM,MAAM,GAAG,MAAM,MAAM,IAAI,MAAM,IAAI;AAAA,EAAA,CAmBjD,GACH;AAEJ;;"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { RuntimeResolutionLayer } from '../runtime-profile';
|
|
2
|
+
export declare function ResolutionTrace({ trace, className, }: {
|
|
3
|
+
trace: RuntimeResolutionLayer[];
|
|
4
|
+
className?: string | undefined;
|
|
5
|
+
}): import("react").JSX.Element;
|
|
6
|
+
//# sourceMappingURL=ResolutionTrace.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ResolutionTrace.d.ts","sourceRoot":"","sources":["../../../../src/data/ai/runtime-profiles/ResolutionTrace.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,sBAAsB,EAEvB,MAAM,oBAAoB,CAAC;AAS5B,wBAAgB,eAAe,CAAC,EAC9B,KAAK,EACL,SAAS,GACV,EAAE;IACD,KAAK,EAAE,sBAAsB,EAAE,CAAC;IAChC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAChC,+BAkCA"}
|