@flanksource/clicky-ui 0.3.29 → 0.3.30
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/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/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/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/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/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/version-info.cjs +3 -3
- package/dist/data/version-info.js +3 -3
- package/dist/index.cjs +52 -0
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +52 -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,11 @@
|
|
|
1
|
+
import { SpecRuntimeFamily } from '../../runtime/runtime-mode';
|
|
2
|
+
import { RuntimePresetSpec } from '../runtime-profile';
|
|
3
|
+
import { SpecRuntimeSandboxCatalog, SpecRuntimeSecretSelectorConfig } from '../SpecRuntimeEditor/types';
|
|
4
|
+
export declare function PresetSpecEditor({ value, families, sandboxCatalog, secretSelector, onChange, }: {
|
|
5
|
+
value: RuntimePresetSpec;
|
|
6
|
+
families: SpecRuntimeFamily[];
|
|
7
|
+
sandboxCatalog?: SpecRuntimeSandboxCatalog | undefined;
|
|
8
|
+
secretSelector?: SpecRuntimeSecretSelectorConfig | undefined;
|
|
9
|
+
onChange: (value: RuntimePresetSpec) => void;
|
|
10
|
+
}): import("react").JSX.Element;
|
|
11
|
+
//# sourceMappingURL=PresetSpecEditor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PresetSpecEditor.d.ts","sourceRoot":"","sources":["../../../../src/data/ai/runtime-profiles/PresetSpecEditor.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,EAEL,KAAK,iBAAiB,EACvB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,KAAK,EACV,yBAAyB,EACzB,+BAA+B,EAEhC,MAAM,4BAA4B,CAAC;AASpC,wBAAgB,gBAAgB,CAAC,EAC/B,KAAK,EACL,QAAQ,EACR,cAAc,EACd,cAAc,EACd,QAAQ,GACT,EAAE;IACD,KAAK,EAAE,iBAAiB,CAAC;IACzB,QAAQ,EAAE,iBAAiB,EAAE,CAAC;IAC9B,cAAc,CAAC,EAAE,yBAAyB,GAAG,SAAS,CAAC;IACvD,cAAc,CAAC,EAAE,+BAA+B,GAAG,SAAS,CAAC;IAC7D,QAAQ,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAC;CAC9C,+BAcA"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { jsx } from "react/jsx-runtime";
|
|
2
|
+
import { projectRuntimePresetSpec } from "../runtime-profile.js";
|
|
3
|
+
import { SpecRuntimeEditor } from "../SpecRuntimeEditor/index.js";
|
|
4
|
+
const PRESET_SECTIONS = [
|
|
5
|
+
"model",
|
|
6
|
+
"workspace",
|
|
7
|
+
"sandbox",
|
|
8
|
+
"environment"
|
|
9
|
+
];
|
|
10
|
+
function PresetSpecEditor({
|
|
11
|
+
value,
|
|
12
|
+
families,
|
|
13
|
+
sandboxCatalog,
|
|
14
|
+
secretSelector,
|
|
15
|
+
onChange
|
|
16
|
+
}) {
|
|
17
|
+
return /* @__PURE__ */ jsx(
|
|
18
|
+
SpecRuntimeEditor,
|
|
19
|
+
{
|
|
20
|
+
value,
|
|
21
|
+
onChange: (spec) => onChange(projectRuntimePresetSpec(spec)),
|
|
22
|
+
families,
|
|
23
|
+
...sandboxCatalog ? { sandboxCatalog } : {},
|
|
24
|
+
...secretSelector ? { secretSelector } : {},
|
|
25
|
+
sections: PRESET_SECTIONS,
|
|
26
|
+
defaultCollapsedSections: PRESET_SECTIONS,
|
|
27
|
+
variant: "preset",
|
|
28
|
+
showHeader: false
|
|
29
|
+
}
|
|
30
|
+
);
|
|
31
|
+
}
|
|
32
|
+
export {
|
|
33
|
+
PresetSpecEditor
|
|
34
|
+
};
|
|
35
|
+
//# sourceMappingURL=PresetSpecEditor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PresetSpecEditor.js","sources":["../../../../src/data/ai/runtime-profiles/PresetSpecEditor.tsx"],"sourcesContent":["import type { SpecRuntimeFamily } from \"../../runtime/runtime-mode\";\nimport {\n projectRuntimePresetSpec,\n type RuntimePresetSpec,\n} from \"../runtime-profile\";\nimport { SpecRuntimeEditor } from \"../SpecRuntimeEditor\";\nimport type {\n SpecRuntimeSandboxCatalog,\n SpecRuntimeSecretSelectorConfig,\n SpecSectionId,\n} from \"../SpecRuntimeEditor/types\";\n\nconst PRESET_SECTIONS: readonly SpecSectionId[] = [\n \"model\",\n \"workspace\",\n \"sandbox\",\n \"environment\",\n];\n\nexport function PresetSpecEditor({\n value,\n families,\n sandboxCatalog,\n secretSelector,\n onChange,\n}: {\n value: RuntimePresetSpec;\n families: SpecRuntimeFamily[];\n sandboxCatalog?: SpecRuntimeSandboxCatalog | undefined;\n secretSelector?: SpecRuntimeSecretSelectorConfig | undefined;\n onChange: (value: RuntimePresetSpec) => void;\n}) {\n return (\n <SpecRuntimeEditor\n value={value}\n onChange={(spec) => onChange(projectRuntimePresetSpec(spec))}\n families={families}\n {...(sandboxCatalog ? { sandboxCatalog } : {})}\n {...(secretSelector ? { secretSelector } : {})}\n sections={PRESET_SECTIONS}\n defaultCollapsedSections={PRESET_SECTIONS}\n variant=\"preset\"\n showHeader={false}\n />\n );\n}\n"],"names":[],"mappings":";;;AAYA,MAAM,kBAA4C;AAAA,EAChD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAEO,SAAS,iBAAiB;AAAA,EAC/B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAMG;AACD,SACE;AAAA,IAAC;AAAA,IAAA;AAAA,MACC;AAAA,MACA,UAAU,CAAC,SAAS,SAAS,yBAAyB,IAAI,CAAC;AAAA,MAC3D;AAAA,MACC,GAAI,iBAAiB,EAAE,eAAA,IAAmB,CAAA;AAAA,MAC1C,GAAI,iBAAiB,EAAE,eAAA,IAAmB,CAAA;AAAA,MAC3C,UAAU;AAAA,MACV,0BAA0B;AAAA,MAC1B,SAAQ;AAAA,MACR,YAAY;AAAA,IAAA;AAAA,EAAA;AAGlB;"}
|
|
@@ -0,0 +1,179 @@
|
|
|
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 select = require("../../../components/select.cjs");
|
|
8
|
+
const Tabs = require("../../../layout/Tabs.cjs");
|
|
9
|
+
const runtimeProfile = require("../runtime-profile.cjs");
|
|
10
|
+
const ToolPreferences_model = require("../ToolPreferences.model.cjs");
|
|
11
|
+
const ToolSchemaBrowser = require("../ToolSchemaBrowser.cjs");
|
|
12
|
+
const runtimeProfileModel = require("../../../lib/runtime-profile-model.cjs");
|
|
13
|
+
const PermissionStrategiesEditor = require("./PermissionStrategiesEditor.cjs");
|
|
14
|
+
const PresetSpecEditor = require("./PresetSpecEditor.cjs");
|
|
15
|
+
const RuntimeLibraryList = require("./RuntimeLibraryList.cjs");
|
|
16
|
+
const PRESET_TABS = [
|
|
17
|
+
{ id: "behavior", label: "Behavior" },
|
|
18
|
+
{ id: "permissions", label: "Permissions" }
|
|
19
|
+
];
|
|
20
|
+
function PresetWorkspace({
|
|
21
|
+
presets,
|
|
22
|
+
profiles,
|
|
23
|
+
selectedId,
|
|
24
|
+
tools,
|
|
25
|
+
effectivePermissions,
|
|
26
|
+
families,
|
|
27
|
+
sandboxCatalog,
|
|
28
|
+
secretSelector,
|
|
29
|
+
recordMeta,
|
|
30
|
+
onSelect,
|
|
31
|
+
onCreate,
|
|
32
|
+
onDuplicate,
|
|
33
|
+
onDelete,
|
|
34
|
+
onChange
|
|
35
|
+
}) {
|
|
36
|
+
const [tab, setTab] = react.useState("behavior");
|
|
37
|
+
const preset = presets.find((item) => item.id === selectedId);
|
|
38
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid min-h-0 items-start gap-4 xl:grid-cols-[16rem_minmax(0,1fr)]", children: [
|
|
39
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
40
|
+
RuntimeLibraryList.RuntimeLibraryList,
|
|
41
|
+
{
|
|
42
|
+
title: "Presets",
|
|
43
|
+
items: presets.map((item) => ({
|
|
44
|
+
...item,
|
|
45
|
+
...recordMeta ? { meta: recordMeta(item.id) } : {}
|
|
46
|
+
})),
|
|
47
|
+
selectedId,
|
|
48
|
+
onSelect,
|
|
49
|
+
onCreate,
|
|
50
|
+
onDuplicate,
|
|
51
|
+
onDelete,
|
|
52
|
+
deleteReason: (id) => {
|
|
53
|
+
const target = presets.find((item) => item.id === id);
|
|
54
|
+
const names = target ? runtimeProfileModel.referencedBy(target, profiles) : [];
|
|
55
|
+
return names.length > 0 ? `Used by ${names.join(", ")}` : void 0;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
),
|
|
59
|
+
preset ? /* @__PURE__ */ jsxRuntime.jsxs("section", { className: "min-w-0 rounded-lg border border-border bg-card", children: [
|
|
60
|
+
/* @__PURE__ */ jsxRuntime.jsx(PresetHeader, { preset, presets, onChange }),
|
|
61
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
62
|
+
Tabs.Tabs,
|
|
63
|
+
{
|
|
64
|
+
tabs: PRESET_TABS,
|
|
65
|
+
value: tab,
|
|
66
|
+
onChange: (next) => setTab(next),
|
|
67
|
+
className: "px-2"
|
|
68
|
+
}
|
|
69
|
+
),
|
|
70
|
+
tab === "behavior" ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "p-4", children: [
|
|
71
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "mb-4 rounded-md border border-sky-500/30 bg-sky-500/5 p-3 text-xs text-muted-foreground", children: "Presets contain reusable global behavior, sandbox, permissions, environment references, and checkout behavior. Runtime catalog availability belongs to Captain's Whoami configuration; prompt, verification, and checkout location belong to a profile run spec." }),
|
|
72
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
73
|
+
PresetSpecEditor.PresetSpecEditor,
|
|
74
|
+
{
|
|
75
|
+
value: preset.spec,
|
|
76
|
+
families,
|
|
77
|
+
sandboxCatalog,
|
|
78
|
+
secretSelector,
|
|
79
|
+
onChange: (spec) => onChange({ ...preset, spec })
|
|
80
|
+
}
|
|
81
|
+
)
|
|
82
|
+
] }) : /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4 p-4", children: [
|
|
83
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
84
|
+
PermissionStrategiesEditor.PermissionStrategiesEditor,
|
|
85
|
+
{
|
|
86
|
+
value: preset.spec.toolPolicy ?? [],
|
|
87
|
+
tools,
|
|
88
|
+
onChange: (toolPolicy) => onChange({ ...preset, spec: { ...preset.spec, toolPolicy } })
|
|
89
|
+
}
|
|
90
|
+
),
|
|
91
|
+
tools.length > 0 ? /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
92
|
+
/* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mb-2 text-sm font-semibold", children: "Tool catalog" }),
|
|
93
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
94
|
+
ToolSchemaBrowser.ToolSchemaBrowser,
|
|
95
|
+
{
|
|
96
|
+
tools,
|
|
97
|
+
value: effectivePermissions,
|
|
98
|
+
onRule: (rule) => onChange({
|
|
99
|
+
...preset,
|
|
100
|
+
spec: {
|
|
101
|
+
...preset.spec,
|
|
102
|
+
toolPolicy: ToolPreferences_model.withUserRule(
|
|
103
|
+
preset.spec.toolPolicy ?? [],
|
|
104
|
+
rule
|
|
105
|
+
)
|
|
106
|
+
}
|
|
107
|
+
}),
|
|
108
|
+
className: "h-[36rem]"
|
|
109
|
+
}
|
|
110
|
+
)
|
|
111
|
+
] }) : /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-muted-foreground", children: "Waiting for the Gavel Clicky operation catalog." })
|
|
112
|
+
] })
|
|
113
|
+
] }) : /* @__PURE__ */ jsxRuntime.jsx("p", { className: "rounded-lg border border-dashed border-border p-8 text-sm text-muted-foreground", children: "Create a preset to begin." })
|
|
114
|
+
] });
|
|
115
|
+
}
|
|
116
|
+
function PresetHeader({
|
|
117
|
+
preset,
|
|
118
|
+
presets,
|
|
119
|
+
onChange
|
|
120
|
+
}) {
|
|
121
|
+
const nameId = react.useId();
|
|
122
|
+
const scopeId = react.useId();
|
|
123
|
+
const descriptionId = react.useId();
|
|
124
|
+
const nameTaken = !runtimeProfileModel.uniqueName(preset.name, preset.id, presets);
|
|
125
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid gap-3 border-b border-border p-4 lg:grid-cols-[minmax(0,1fr)_12rem]", children: [
|
|
126
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
127
|
+
Field.Field,
|
|
128
|
+
{
|
|
129
|
+
label: "Preset name",
|
|
130
|
+
htmlFor: nameId,
|
|
131
|
+
labelClassName: "text-xs",
|
|
132
|
+
error: nameTaken ? "A unique preset name is required." : void 0,
|
|
133
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
134
|
+
InputField.InputField,
|
|
135
|
+
{
|
|
136
|
+
id: nameId,
|
|
137
|
+
value: preset.name,
|
|
138
|
+
invalid: nameTaken,
|
|
139
|
+
onChange: (name) => onChange({ ...preset, name })
|
|
140
|
+
}
|
|
141
|
+
)
|
|
142
|
+
}
|
|
143
|
+
),
|
|
144
|
+
/* @__PURE__ */ jsxRuntime.jsx(Field.Field, { label: "Scope", htmlFor: scopeId, labelClassName: "text-xs", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
145
|
+
select.Select,
|
|
146
|
+
{
|
|
147
|
+
id: scopeId,
|
|
148
|
+
value: preset.scope,
|
|
149
|
+
onChange: (event) => onChange({
|
|
150
|
+
...preset,
|
|
151
|
+
scope: event.target.value
|
|
152
|
+
}),
|
|
153
|
+
options: runtimeProfile.RUNTIME_PROFILE_SCOPES.map((scope) => ({
|
|
154
|
+
value: scope,
|
|
155
|
+
label: scope
|
|
156
|
+
}))
|
|
157
|
+
}
|
|
158
|
+
) }),
|
|
159
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
160
|
+
Field.Field,
|
|
161
|
+
{
|
|
162
|
+
label: "Description",
|
|
163
|
+
htmlFor: descriptionId,
|
|
164
|
+
labelClassName: "text-xs",
|
|
165
|
+
className: "lg:col-span-2",
|
|
166
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
167
|
+
InputField.InputField,
|
|
168
|
+
{
|
|
169
|
+
id: descriptionId,
|
|
170
|
+
value: preset.description ?? "",
|
|
171
|
+
onChange: (description) => onChange({ ...preset, description })
|
|
172
|
+
}
|
|
173
|
+
)
|
|
174
|
+
}
|
|
175
|
+
)
|
|
176
|
+
] });
|
|
177
|
+
}
|
|
178
|
+
exports.PresetWorkspace = PresetWorkspace;
|
|
179
|
+
//# sourceMappingURL=PresetWorkspace.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PresetWorkspace.cjs","sources":["../../../../src/data/ai/runtime-profiles/PresetWorkspace.tsx"],"sourcesContent":["import { useId, useState } from \"react\";\nimport { Field } from \"../../../components/Field\";\nimport { InputField } from \"../../../components/InputField\";\nimport { Select } from \"../../../components/select\";\nimport { Tabs } from \"../../../layout/Tabs\";\nimport type { PermissionRule } from \"../../chat/tool-policy\";\nimport type { ToolMeta, ToolPolicy } from \"../../chat/types\";\nimport type { SpecRuntimeFamily } from \"../../runtime/runtime-mode\";\nimport {\n RUNTIME_PROFILE_SCOPES,\n type RuntimePreset,\n type RuntimeProfile,\n type RuntimeProfileScope,\n} from \"../runtime-profile\";\nimport type {\n SpecRuntimeSandboxCatalog,\n SpecRuntimeSecretSelectorConfig,\n} from \"../SpecRuntimeEditor/types\";\nimport { withUserRule } from \"../ToolPreferences.model\";\nimport { ToolSchemaBrowser } from \"../ToolSchemaBrowser\";\nimport { referencedBy, uniqueName } from \"../../../lib/runtime-profile-model\";\nimport { PermissionStrategiesEditor } from \"./PermissionStrategiesEditor\";\nimport { PresetSpecEditor } from \"./PresetSpecEditor\";\nimport { RuntimeLibraryList } from \"./RuntimeLibraryList\";\nimport type { RuntimeRecordMeta } from \"./types\";\n\ntype PresetTab = \"behavior\" | \"permissions\";\n\nconst PRESET_TABS: Array<{ id: PresetTab; label: string }> = [\n { id: \"behavior\", label: \"Behavior\" },\n { id: \"permissions\", label: \"Permissions\" },\n];\n\nexport function PresetWorkspace({\n presets,\n profiles,\n selectedId,\n tools,\n effectivePermissions,\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 tools: ToolMeta[];\n effectivePermissions: Record<string, ToolPolicy>;\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: (preset: RuntimePreset) => void;\n}) {\n const [tab, setTab] = useState<PresetTab>(\"behavior\");\n const preset = presets.find((item) => item.id === selectedId);\n\n return (\n <div className=\"grid min-h-0 items-start gap-4 xl:grid-cols-[16rem_minmax(0,1fr)]\">\n <RuntimeLibraryList\n title=\"Presets\"\n items={presets.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 deleteReason={(id) => {\n const target = presets.find((item) => item.id === id);\n const names = target ? referencedBy(target, profiles) : [];\n return names.length > 0 ? `Used by ${names.join(\", \")}` : undefined;\n }}\n />\n {preset ? (\n <section className=\"min-w-0 rounded-lg border border-border bg-card\">\n <PresetHeader preset={preset} presets={presets} onChange={onChange} />\n <Tabs\n tabs={PRESET_TABS}\n value={tab}\n onChange={(next) => setTab(next as PresetTab)}\n className=\"px-2\"\n />\n {tab === \"behavior\" ? (\n <div className=\"p-4\">\n <div className=\"mb-4 rounded-md border border-sky-500/30 bg-sky-500/5 p-3 text-xs text-muted-foreground\">\n Presets contain reusable global behavior, sandbox, permissions,\n environment references, and checkout behavior. Runtime catalog\n availability belongs to Captain's Whoami configuration;\n prompt, verification, and checkout location belong to a profile\n run spec.\n </div>\n <PresetSpecEditor\n value={preset.spec}\n families={families}\n sandboxCatalog={sandboxCatalog}\n secretSelector={secretSelector}\n onChange={(spec) => onChange({ ...preset, spec })}\n />\n </div>\n ) : (\n <div className=\"space-y-4 p-4\">\n <PermissionStrategiesEditor\n value={preset.spec.toolPolicy ?? []}\n tools={tools}\n onChange={(toolPolicy) =>\n onChange({ ...preset, spec: { ...preset.spec, toolPolicy } })\n }\n />\n {tools.length > 0 ? (\n <div>\n <h3 className=\"mb-2 text-sm font-semibold\">Tool catalog</h3>\n <ToolSchemaBrowser\n tools={tools}\n value={effectivePermissions}\n onRule={(rule: PermissionRule) =>\n onChange({\n ...preset,\n spec: {\n ...preset.spec,\n toolPolicy: withUserRule(\n preset.spec.toolPolicy ?? [],\n rule,\n ),\n },\n })\n }\n className=\"h-[36rem]\"\n />\n </div>\n ) : (\n <p className=\"text-sm text-muted-foreground\">\n Waiting for the Gavel Clicky operation catalog.\n </p>\n )}\n </div>\n )}\n </section>\n ) : (\n <p className=\"rounded-lg border border-dashed border-border p-8 text-sm text-muted-foreground\">\n Create a preset to begin.\n </p>\n )}\n </div>\n );\n}\n\nfunction PresetHeader({\n preset,\n presets,\n onChange,\n}: {\n preset: RuntimePreset;\n presets: RuntimePreset[];\n onChange: (preset: RuntimePreset) => void;\n}) {\n const nameId = useId();\n const scopeId = useId();\n const descriptionId = useId();\n const nameTaken = !uniqueName(preset.name, preset.id, presets);\n return (\n <div className=\"grid gap-3 border-b border-border p-4 lg:grid-cols-[minmax(0,1fr)_12rem]\">\n <Field\n label=\"Preset name\"\n htmlFor={nameId}\n labelClassName=\"text-xs\"\n error={nameTaken ? \"A unique preset name is required.\" : undefined}\n >\n <InputField\n id={nameId}\n value={preset.name}\n invalid={nameTaken}\n onChange={(name) => onChange({ ...preset, name })}\n />\n </Field>\n <Field label=\"Scope\" htmlFor={scopeId} labelClassName=\"text-xs\">\n <Select\n id={scopeId}\n value={preset.scope}\n onChange={(event) =>\n onChange({\n ...preset,\n scope: event.target.value as RuntimeProfileScope,\n })\n }\n options={RUNTIME_PROFILE_SCOPES.map((scope) => ({\n value: scope,\n label: scope,\n }))}\n />\n </Field>\n <Field\n label=\"Description\"\n htmlFor={descriptionId}\n labelClassName=\"text-xs\"\n className=\"lg:col-span-2\"\n >\n <InputField\n id={descriptionId}\n value={preset.description ?? \"\"}\n onChange={(description) => onChange({ ...preset, description })}\n />\n </Field>\n </div>\n );\n}\n"],"names":["useState","jsxs","jsx","RuntimeLibraryList","referencedBy","Tabs","PresetSpecEditor","PermissionStrategiesEditor","ToolSchemaBrowser","withUserRule","useId","uniqueName","Field","InputField","Select","RUNTIME_PROFILE_SCOPES"],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { ToolMeta, ToolPolicy } from '../../chat/types';
|
|
2
|
+
import { SpecRuntimeFamily } from '../../runtime/runtime-mode';
|
|
3
|
+
import { RuntimePreset, RuntimeProfile } from '../runtime-profile';
|
|
4
|
+
import { SpecRuntimeSandboxCatalog, SpecRuntimeSecretSelectorConfig } from '../SpecRuntimeEditor/types';
|
|
5
|
+
import { RuntimeRecordMeta } from './types';
|
|
6
|
+
export declare function PresetWorkspace({ presets, profiles, selectedId, tools, effectivePermissions, families, sandboxCatalog, secretSelector, recordMeta, onSelect, onCreate, onDuplicate, onDelete, onChange, }: {
|
|
7
|
+
presets: RuntimePreset[];
|
|
8
|
+
profiles: RuntimeProfile[];
|
|
9
|
+
selectedId: string | undefined;
|
|
10
|
+
tools: ToolMeta[];
|
|
11
|
+
effectivePermissions: Record<string, ToolPolicy>;
|
|
12
|
+
families: SpecRuntimeFamily[];
|
|
13
|
+
sandboxCatalog?: SpecRuntimeSandboxCatalog | undefined;
|
|
14
|
+
secretSelector?: SpecRuntimeSecretSelectorConfig | undefined;
|
|
15
|
+
recordMeta?: ((id: string) => RuntimeRecordMeta) | undefined;
|
|
16
|
+
onSelect: (id: string) => void;
|
|
17
|
+
onCreate: () => void;
|
|
18
|
+
onDuplicate: (id: string) => void;
|
|
19
|
+
onDelete: (id: string) => void;
|
|
20
|
+
onChange: (preset: RuntimePreset) => void;
|
|
21
|
+
}): import("react").JSX.Element;
|
|
22
|
+
//# sourceMappingURL=PresetWorkspace.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PresetWorkspace.d.ts","sourceRoot":"","sources":["../../../../src/data/ai/runtime-profiles/PresetWorkspace.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,EAEL,KAAK,aAAa,EAClB,KAAK,cAAc,EAEpB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EACV,yBAAyB,EACzB,+BAA+B,EAChC,MAAM,4BAA4B,CAAC;AAOpC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AASjD,wBAAgB,eAAe,CAAC,EAC9B,OAAO,EACP,QAAQ,EACR,UAAU,EACV,KAAK,EACL,oBAAoB,EACpB,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,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACjD,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,MAAM,EAAE,aAAa,KAAK,IAAI,CAAC;CAC3C,+BA8FA"}
|
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
import { jsxs, jsx } from "react/jsx-runtime";
|
|
2
|
+
import { useState, useId } from "react";
|
|
3
|
+
import { Field } from "../../../components/Field.js";
|
|
4
|
+
import { InputField } from "../../../components/InputField.js";
|
|
5
|
+
import { Select } from "../../../components/select.js";
|
|
6
|
+
import { Tabs } from "../../../layout/Tabs.js";
|
|
7
|
+
import { RUNTIME_PROFILE_SCOPES } from "../runtime-profile.js";
|
|
8
|
+
import { withUserRule } from "../ToolPreferences.model.js";
|
|
9
|
+
import { ToolSchemaBrowser } from "../ToolSchemaBrowser.js";
|
|
10
|
+
import { referencedBy, uniqueName } from "../../../lib/runtime-profile-model.js";
|
|
11
|
+
import { PermissionStrategiesEditor } from "./PermissionStrategiesEditor.js";
|
|
12
|
+
import { PresetSpecEditor } from "./PresetSpecEditor.js";
|
|
13
|
+
import { RuntimeLibraryList } from "./RuntimeLibraryList.js";
|
|
14
|
+
const PRESET_TABS = [
|
|
15
|
+
{ id: "behavior", label: "Behavior" },
|
|
16
|
+
{ id: "permissions", label: "Permissions" }
|
|
17
|
+
];
|
|
18
|
+
function PresetWorkspace({
|
|
19
|
+
presets,
|
|
20
|
+
profiles,
|
|
21
|
+
selectedId,
|
|
22
|
+
tools,
|
|
23
|
+
effectivePermissions,
|
|
24
|
+
families,
|
|
25
|
+
sandboxCatalog,
|
|
26
|
+
secretSelector,
|
|
27
|
+
recordMeta,
|
|
28
|
+
onSelect,
|
|
29
|
+
onCreate,
|
|
30
|
+
onDuplicate,
|
|
31
|
+
onDelete,
|
|
32
|
+
onChange
|
|
33
|
+
}) {
|
|
34
|
+
const [tab, setTab] = useState("behavior");
|
|
35
|
+
const preset = presets.find((item) => item.id === selectedId);
|
|
36
|
+
return /* @__PURE__ */ jsxs("div", { className: "grid min-h-0 items-start gap-4 xl:grid-cols-[16rem_minmax(0,1fr)]", children: [
|
|
37
|
+
/* @__PURE__ */ jsx(
|
|
38
|
+
RuntimeLibraryList,
|
|
39
|
+
{
|
|
40
|
+
title: "Presets",
|
|
41
|
+
items: presets.map((item) => ({
|
|
42
|
+
...item,
|
|
43
|
+
...recordMeta ? { meta: recordMeta(item.id) } : {}
|
|
44
|
+
})),
|
|
45
|
+
selectedId,
|
|
46
|
+
onSelect,
|
|
47
|
+
onCreate,
|
|
48
|
+
onDuplicate,
|
|
49
|
+
onDelete,
|
|
50
|
+
deleteReason: (id) => {
|
|
51
|
+
const target = presets.find((item) => item.id === id);
|
|
52
|
+
const names = target ? referencedBy(target, profiles) : [];
|
|
53
|
+
return names.length > 0 ? `Used by ${names.join(", ")}` : void 0;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
),
|
|
57
|
+
preset ? /* @__PURE__ */ jsxs("section", { className: "min-w-0 rounded-lg border border-border bg-card", children: [
|
|
58
|
+
/* @__PURE__ */ jsx(PresetHeader, { preset, presets, onChange }),
|
|
59
|
+
/* @__PURE__ */ jsx(
|
|
60
|
+
Tabs,
|
|
61
|
+
{
|
|
62
|
+
tabs: PRESET_TABS,
|
|
63
|
+
value: tab,
|
|
64
|
+
onChange: (next) => setTab(next),
|
|
65
|
+
className: "px-2"
|
|
66
|
+
}
|
|
67
|
+
),
|
|
68
|
+
tab === "behavior" ? /* @__PURE__ */ jsxs("div", { className: "p-4", children: [
|
|
69
|
+
/* @__PURE__ */ jsx("div", { className: "mb-4 rounded-md border border-sky-500/30 bg-sky-500/5 p-3 text-xs text-muted-foreground", children: "Presets contain reusable global behavior, sandbox, permissions, environment references, and checkout behavior. Runtime catalog availability belongs to Captain's Whoami configuration; prompt, verification, and checkout location belong to a profile run spec." }),
|
|
70
|
+
/* @__PURE__ */ jsx(
|
|
71
|
+
PresetSpecEditor,
|
|
72
|
+
{
|
|
73
|
+
value: preset.spec,
|
|
74
|
+
families,
|
|
75
|
+
sandboxCatalog,
|
|
76
|
+
secretSelector,
|
|
77
|
+
onChange: (spec) => onChange({ ...preset, spec })
|
|
78
|
+
}
|
|
79
|
+
)
|
|
80
|
+
] }) : /* @__PURE__ */ jsxs("div", { className: "space-y-4 p-4", children: [
|
|
81
|
+
/* @__PURE__ */ jsx(
|
|
82
|
+
PermissionStrategiesEditor,
|
|
83
|
+
{
|
|
84
|
+
value: preset.spec.toolPolicy ?? [],
|
|
85
|
+
tools,
|
|
86
|
+
onChange: (toolPolicy) => onChange({ ...preset, spec: { ...preset.spec, toolPolicy } })
|
|
87
|
+
}
|
|
88
|
+
),
|
|
89
|
+
tools.length > 0 ? /* @__PURE__ */ jsxs("div", { children: [
|
|
90
|
+
/* @__PURE__ */ jsx("h3", { className: "mb-2 text-sm font-semibold", children: "Tool catalog" }),
|
|
91
|
+
/* @__PURE__ */ jsx(
|
|
92
|
+
ToolSchemaBrowser,
|
|
93
|
+
{
|
|
94
|
+
tools,
|
|
95
|
+
value: effectivePermissions,
|
|
96
|
+
onRule: (rule) => onChange({
|
|
97
|
+
...preset,
|
|
98
|
+
spec: {
|
|
99
|
+
...preset.spec,
|
|
100
|
+
toolPolicy: withUserRule(
|
|
101
|
+
preset.spec.toolPolicy ?? [],
|
|
102
|
+
rule
|
|
103
|
+
)
|
|
104
|
+
}
|
|
105
|
+
}),
|
|
106
|
+
className: "h-[36rem]"
|
|
107
|
+
}
|
|
108
|
+
)
|
|
109
|
+
] }) : /* @__PURE__ */ jsx("p", { className: "text-sm text-muted-foreground", children: "Waiting for the Gavel Clicky operation catalog." })
|
|
110
|
+
] })
|
|
111
|
+
] }) : /* @__PURE__ */ jsx("p", { className: "rounded-lg border border-dashed border-border p-8 text-sm text-muted-foreground", children: "Create a preset to begin." })
|
|
112
|
+
] });
|
|
113
|
+
}
|
|
114
|
+
function PresetHeader({
|
|
115
|
+
preset,
|
|
116
|
+
presets,
|
|
117
|
+
onChange
|
|
118
|
+
}) {
|
|
119
|
+
const nameId = useId();
|
|
120
|
+
const scopeId = useId();
|
|
121
|
+
const descriptionId = useId();
|
|
122
|
+
const nameTaken = !uniqueName(preset.name, preset.id, presets);
|
|
123
|
+
return /* @__PURE__ */ jsxs("div", { className: "grid gap-3 border-b border-border p-4 lg:grid-cols-[minmax(0,1fr)_12rem]", children: [
|
|
124
|
+
/* @__PURE__ */ jsx(
|
|
125
|
+
Field,
|
|
126
|
+
{
|
|
127
|
+
label: "Preset name",
|
|
128
|
+
htmlFor: nameId,
|
|
129
|
+
labelClassName: "text-xs",
|
|
130
|
+
error: nameTaken ? "A unique preset name is required." : void 0,
|
|
131
|
+
children: /* @__PURE__ */ jsx(
|
|
132
|
+
InputField,
|
|
133
|
+
{
|
|
134
|
+
id: nameId,
|
|
135
|
+
value: preset.name,
|
|
136
|
+
invalid: nameTaken,
|
|
137
|
+
onChange: (name) => onChange({ ...preset, name })
|
|
138
|
+
}
|
|
139
|
+
)
|
|
140
|
+
}
|
|
141
|
+
),
|
|
142
|
+
/* @__PURE__ */ jsx(Field, { label: "Scope", htmlFor: scopeId, labelClassName: "text-xs", children: /* @__PURE__ */ jsx(
|
|
143
|
+
Select,
|
|
144
|
+
{
|
|
145
|
+
id: scopeId,
|
|
146
|
+
value: preset.scope,
|
|
147
|
+
onChange: (event) => onChange({
|
|
148
|
+
...preset,
|
|
149
|
+
scope: event.target.value
|
|
150
|
+
}),
|
|
151
|
+
options: RUNTIME_PROFILE_SCOPES.map((scope) => ({
|
|
152
|
+
value: scope,
|
|
153
|
+
label: scope
|
|
154
|
+
}))
|
|
155
|
+
}
|
|
156
|
+
) }),
|
|
157
|
+
/* @__PURE__ */ jsx(
|
|
158
|
+
Field,
|
|
159
|
+
{
|
|
160
|
+
label: "Description",
|
|
161
|
+
htmlFor: descriptionId,
|
|
162
|
+
labelClassName: "text-xs",
|
|
163
|
+
className: "lg:col-span-2",
|
|
164
|
+
children: /* @__PURE__ */ jsx(
|
|
165
|
+
InputField,
|
|
166
|
+
{
|
|
167
|
+
id: descriptionId,
|
|
168
|
+
value: preset.description ?? "",
|
|
169
|
+
onChange: (description) => onChange({ ...preset, description })
|
|
170
|
+
}
|
|
171
|
+
)
|
|
172
|
+
}
|
|
173
|
+
)
|
|
174
|
+
] });
|
|
175
|
+
}
|
|
176
|
+
export {
|
|
177
|
+
PresetWorkspace
|
|
178
|
+
};
|
|
179
|
+
//# sourceMappingURL=PresetWorkspace.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PresetWorkspace.js","sources":["../../../../src/data/ai/runtime-profiles/PresetWorkspace.tsx"],"sourcesContent":["import { useId, useState } from \"react\";\nimport { Field } from \"../../../components/Field\";\nimport { InputField } from \"../../../components/InputField\";\nimport { Select } from \"../../../components/select\";\nimport { Tabs } from \"../../../layout/Tabs\";\nimport type { PermissionRule } from \"../../chat/tool-policy\";\nimport type { ToolMeta, ToolPolicy } from \"../../chat/types\";\nimport type { SpecRuntimeFamily } from \"../../runtime/runtime-mode\";\nimport {\n RUNTIME_PROFILE_SCOPES,\n type RuntimePreset,\n type RuntimeProfile,\n type RuntimeProfileScope,\n} from \"../runtime-profile\";\nimport type {\n SpecRuntimeSandboxCatalog,\n SpecRuntimeSecretSelectorConfig,\n} from \"../SpecRuntimeEditor/types\";\nimport { withUserRule } from \"../ToolPreferences.model\";\nimport { ToolSchemaBrowser } from \"../ToolSchemaBrowser\";\nimport { referencedBy, uniqueName } from \"../../../lib/runtime-profile-model\";\nimport { PermissionStrategiesEditor } from \"./PermissionStrategiesEditor\";\nimport { PresetSpecEditor } from \"./PresetSpecEditor\";\nimport { RuntimeLibraryList } from \"./RuntimeLibraryList\";\nimport type { RuntimeRecordMeta } from \"./types\";\n\ntype PresetTab = \"behavior\" | \"permissions\";\n\nconst PRESET_TABS: Array<{ id: PresetTab; label: string }> = [\n { id: \"behavior\", label: \"Behavior\" },\n { id: \"permissions\", label: \"Permissions\" },\n];\n\nexport function PresetWorkspace({\n presets,\n profiles,\n selectedId,\n tools,\n effectivePermissions,\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 tools: ToolMeta[];\n effectivePermissions: Record<string, ToolPolicy>;\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: (preset: RuntimePreset) => void;\n}) {\n const [tab, setTab] = useState<PresetTab>(\"behavior\");\n const preset = presets.find((item) => item.id === selectedId);\n\n return (\n <div className=\"grid min-h-0 items-start gap-4 xl:grid-cols-[16rem_minmax(0,1fr)]\">\n <RuntimeLibraryList\n title=\"Presets\"\n items={presets.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 deleteReason={(id) => {\n const target = presets.find((item) => item.id === id);\n const names = target ? referencedBy(target, profiles) : [];\n return names.length > 0 ? `Used by ${names.join(\", \")}` : undefined;\n }}\n />\n {preset ? (\n <section className=\"min-w-0 rounded-lg border border-border bg-card\">\n <PresetHeader preset={preset} presets={presets} onChange={onChange} />\n <Tabs\n tabs={PRESET_TABS}\n value={tab}\n onChange={(next) => setTab(next as PresetTab)}\n className=\"px-2\"\n />\n {tab === \"behavior\" ? (\n <div className=\"p-4\">\n <div className=\"mb-4 rounded-md border border-sky-500/30 bg-sky-500/5 p-3 text-xs text-muted-foreground\">\n Presets contain reusable global behavior, sandbox, permissions,\n environment references, and checkout behavior. Runtime catalog\n availability belongs to Captain's Whoami configuration;\n prompt, verification, and checkout location belong to a profile\n run spec.\n </div>\n <PresetSpecEditor\n value={preset.spec}\n families={families}\n sandboxCatalog={sandboxCatalog}\n secretSelector={secretSelector}\n onChange={(spec) => onChange({ ...preset, spec })}\n />\n </div>\n ) : (\n <div className=\"space-y-4 p-4\">\n <PermissionStrategiesEditor\n value={preset.spec.toolPolicy ?? []}\n tools={tools}\n onChange={(toolPolicy) =>\n onChange({ ...preset, spec: { ...preset.spec, toolPolicy } })\n }\n />\n {tools.length > 0 ? (\n <div>\n <h3 className=\"mb-2 text-sm font-semibold\">Tool catalog</h3>\n <ToolSchemaBrowser\n tools={tools}\n value={effectivePermissions}\n onRule={(rule: PermissionRule) =>\n onChange({\n ...preset,\n spec: {\n ...preset.spec,\n toolPolicy: withUserRule(\n preset.spec.toolPolicy ?? [],\n rule,\n ),\n },\n })\n }\n className=\"h-[36rem]\"\n />\n </div>\n ) : (\n <p className=\"text-sm text-muted-foreground\">\n Waiting for the Gavel Clicky operation catalog.\n </p>\n )}\n </div>\n )}\n </section>\n ) : (\n <p className=\"rounded-lg border border-dashed border-border p-8 text-sm text-muted-foreground\">\n Create a preset to begin.\n </p>\n )}\n </div>\n );\n}\n\nfunction PresetHeader({\n preset,\n presets,\n onChange,\n}: {\n preset: RuntimePreset;\n presets: RuntimePreset[];\n onChange: (preset: RuntimePreset) => void;\n}) {\n const nameId = useId();\n const scopeId = useId();\n const descriptionId = useId();\n const nameTaken = !uniqueName(preset.name, preset.id, presets);\n return (\n <div className=\"grid gap-3 border-b border-border p-4 lg:grid-cols-[minmax(0,1fr)_12rem]\">\n <Field\n label=\"Preset name\"\n htmlFor={nameId}\n labelClassName=\"text-xs\"\n error={nameTaken ? \"A unique preset name is required.\" : undefined}\n >\n <InputField\n id={nameId}\n value={preset.name}\n invalid={nameTaken}\n onChange={(name) => onChange({ ...preset, name })}\n />\n </Field>\n <Field label=\"Scope\" htmlFor={scopeId} labelClassName=\"text-xs\">\n <Select\n id={scopeId}\n value={preset.scope}\n onChange={(event) =>\n onChange({\n ...preset,\n scope: event.target.value as RuntimeProfileScope,\n })\n }\n options={RUNTIME_PROFILE_SCOPES.map((scope) => ({\n value: scope,\n label: scope,\n }))}\n />\n </Field>\n <Field\n label=\"Description\"\n htmlFor={descriptionId}\n labelClassName=\"text-xs\"\n className=\"lg:col-span-2\"\n >\n <InputField\n id={descriptionId}\n value={preset.description ?? \"\"}\n onChange={(description) => onChange({ ...preset, description })}\n />\n </Field>\n </div>\n );\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const jsxRuntime = require("react/jsx-runtime");
|
|
4
|
+
const index = require("../SpecRuntimeEditor/index.cjs");
|
|
5
|
+
const OrderedPresetSelect = require("./OrderedPresetSelect.cjs");
|
|
6
|
+
const PROFILE_SECTIONS = [
|
|
7
|
+
"model",
|
|
8
|
+
"prompt",
|
|
9
|
+
"workspace",
|
|
10
|
+
"sandbox",
|
|
11
|
+
"permissions",
|
|
12
|
+
"environment",
|
|
13
|
+
"verify",
|
|
14
|
+
"commit"
|
|
15
|
+
];
|
|
16
|
+
function ProfileSpecEditor({
|
|
17
|
+
value,
|
|
18
|
+
presets,
|
|
19
|
+
selectedPresetIds,
|
|
20
|
+
permissionCatalog,
|
|
21
|
+
families,
|
|
22
|
+
effectiveMode,
|
|
23
|
+
effectiveModel,
|
|
24
|
+
sandboxCatalog,
|
|
25
|
+
secretSelector,
|
|
26
|
+
onChange,
|
|
27
|
+
onPresetsChange
|
|
28
|
+
}) {
|
|
29
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-density-3", children: [
|
|
30
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
31
|
+
OrderedPresetSelect.OrderedPresetSelect,
|
|
32
|
+
{
|
|
33
|
+
presets,
|
|
34
|
+
value: selectedPresetIds,
|
|
35
|
+
onChange: onPresetsChange
|
|
36
|
+
}
|
|
37
|
+
),
|
|
38
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
39
|
+
index.SpecRuntimeEditor,
|
|
40
|
+
{
|
|
41
|
+
value,
|
|
42
|
+
onChange,
|
|
43
|
+
...permissionCatalog ? { permissionCatalog } : {},
|
|
44
|
+
families,
|
|
45
|
+
effectiveMode,
|
|
46
|
+
effectiveModel,
|
|
47
|
+
...sandboxCatalog ? { sandboxCatalog } : {},
|
|
48
|
+
...secretSelector ? { secretSelector } : {},
|
|
49
|
+
sections: PROFILE_SECTIONS,
|
|
50
|
+
defaultCollapsedSections: PROFILE_SECTIONS,
|
|
51
|
+
showHeader: false
|
|
52
|
+
}
|
|
53
|
+
)
|
|
54
|
+
] });
|
|
55
|
+
}
|
|
56
|
+
exports.ProfileSpecEditor = ProfileSpecEditor;
|
|
57
|
+
//# sourceMappingURL=ProfileSpecEditor.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProfileSpecEditor.cjs","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":["jsxs","jsx","OrderedPresetSelect","SpecRuntimeEditor"],"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,SACEA,2BAAAA,KAAC,OAAA,EAAI,WAAU,qBACb,UAAA;AAAA,IAAAC,2BAAAA;AAAAA,MAACC,oBAAAA;AAAAA,MAAA;AAAA,QACC;AAAA,QACA,OAAO;AAAA,QACP,UAAU;AAAA,MAAA;AAAA,IAAA;AAAA,IAEZD,2BAAAA;AAAAA,MAACE,MAAAA;AAAAA,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,18 @@
|
|
|
1
|
+
import { SpecRuntimeFamily } from '../../runtime/runtime-mode';
|
|
2
|
+
import { RuntimePreset } from '../runtime-profile';
|
|
3
|
+
import { SpecRuntimeSandboxCatalog, SpecRuntimeSecretSelectorConfig } from '../SpecRuntimeEditor/types';
|
|
4
|
+
import { AISpecRuntimePermissionCatalog, AISpecRuntimeSpec } from '../SpecRuntimeEditor.model';
|
|
5
|
+
export declare function ProfileSpecEditor({ value, presets, selectedPresetIds, permissionCatalog, families, effectiveMode, effectiveModel, sandboxCatalog, secretSelector, onChange, onPresetsChange, }: {
|
|
6
|
+
value: AISpecRuntimeSpec;
|
|
7
|
+
presets: RuntimePreset[];
|
|
8
|
+
selectedPresetIds: string[];
|
|
9
|
+
permissionCatalog?: AISpecRuntimePermissionCatalog | undefined;
|
|
10
|
+
families: SpecRuntimeFamily[];
|
|
11
|
+
effectiveMode?: string | undefined;
|
|
12
|
+
effectiveModel?: string | undefined;
|
|
13
|
+
sandboxCatalog?: SpecRuntimeSandboxCatalog | undefined;
|
|
14
|
+
secretSelector?: SpecRuntimeSecretSelectorConfig | undefined;
|
|
15
|
+
onChange: (value: AISpecRuntimeSpec) => void;
|
|
16
|
+
onPresetsChange: (value: string[]) => void;
|
|
17
|
+
}): import("react").JSX.Element;
|
|
18
|
+
//# sourceMappingURL=ProfileSpecEditor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProfileSpecEditor.d.ts","sourceRoot":"","sources":["../../../../src/data/ai/runtime-profiles/ProfileSpecEditor.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAExD,OAAO,KAAK,EACV,yBAAyB,EACzB,+BAA+B,EAEhC,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EACV,8BAA8B,EAC9B,iBAAiB,EAClB,MAAM,4BAA4B,CAAC;AAcpC,wBAAgB,iBAAiB,CAAC,EAChC,KAAK,EACL,OAAO,EACP,iBAAiB,EACjB,iBAAiB,EACjB,QAAQ,EACR,aAAa,EACb,cAAc,EACd,cAAc,EACd,cAAc,EACd,QAAQ,EACR,eAAe,GAChB,EAAE;IACD,KAAK,EAAE,iBAAiB,CAAC;IACzB,OAAO,EAAE,aAAa,EAAE,CAAC;IACzB,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,iBAAiB,CAAC,EAAE,8BAA8B,GAAG,SAAS,CAAC;IAC/D,QAAQ,EAAE,iBAAiB,EAAE,CAAC;IAC9B,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,cAAc,CAAC,EAAE,yBAAyB,GAAG,SAAS,CAAC;IACvD,cAAc,CAAC,EAAE,+BAA+B,GAAG,SAAS,CAAC;IAC7D,QAAQ,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAC7C,eAAe,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;CAC5C,+BAuBA"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { jsxs, jsx } from "react/jsx-runtime";
|
|
2
|
+
import { SpecRuntimeEditor } from "../SpecRuntimeEditor/index.js";
|
|
3
|
+
import { OrderedPresetSelect } from "./OrderedPresetSelect.js";
|
|
4
|
+
const PROFILE_SECTIONS = [
|
|
5
|
+
"model",
|
|
6
|
+
"prompt",
|
|
7
|
+
"workspace",
|
|
8
|
+
"sandbox",
|
|
9
|
+
"permissions",
|
|
10
|
+
"environment",
|
|
11
|
+
"verify",
|
|
12
|
+
"commit"
|
|
13
|
+
];
|
|
14
|
+
function ProfileSpecEditor({
|
|
15
|
+
value,
|
|
16
|
+
presets,
|
|
17
|
+
selectedPresetIds,
|
|
18
|
+
permissionCatalog,
|
|
19
|
+
families,
|
|
20
|
+
effectiveMode,
|
|
21
|
+
effectiveModel,
|
|
22
|
+
sandboxCatalog,
|
|
23
|
+
secretSelector,
|
|
24
|
+
onChange,
|
|
25
|
+
onPresetsChange
|
|
26
|
+
}) {
|
|
27
|
+
return /* @__PURE__ */ jsxs("div", { className: "space-y-density-3", children: [
|
|
28
|
+
/* @__PURE__ */ jsx(
|
|
29
|
+
OrderedPresetSelect,
|
|
30
|
+
{
|
|
31
|
+
presets,
|
|
32
|
+
value: selectedPresetIds,
|
|
33
|
+
onChange: onPresetsChange
|
|
34
|
+
}
|
|
35
|
+
),
|
|
36
|
+
/* @__PURE__ */ jsx(
|
|
37
|
+
SpecRuntimeEditor,
|
|
38
|
+
{
|
|
39
|
+
value,
|
|
40
|
+
onChange,
|
|
41
|
+
...permissionCatalog ? { permissionCatalog } : {},
|
|
42
|
+
families,
|
|
43
|
+
effectiveMode,
|
|
44
|
+
effectiveModel,
|
|
45
|
+
...sandboxCatalog ? { sandboxCatalog } : {},
|
|
46
|
+
...secretSelector ? { secretSelector } : {},
|
|
47
|
+
sections: PROFILE_SECTIONS,
|
|
48
|
+
defaultCollapsedSections: PROFILE_SECTIONS,
|
|
49
|
+
showHeader: false
|
|
50
|
+
}
|
|
51
|
+
)
|
|
52
|
+
] });
|
|
53
|
+
}
|
|
54
|
+
export {
|
|
55
|
+
ProfileSpecEditor
|
|
56
|
+
};
|
|
57
|
+
//# sourceMappingURL=ProfileSpecEditor.js.map
|