@datatechsolutions/ui 3.7.2 → 3.7.4
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/astrlabe/index.js +108 -108
- package/dist/astrlabe/index.mjs +4 -4
- package/dist/astrlabe/workflow-canvas.js +4 -4
- package/dist/astrlabe/workflow-canvas.mjs +3 -3
- package/dist/{chunk-34XRH2FX.mjs → chunk-4HP7XS5I.mjs} +4 -4
- package/dist/{chunk-34XRH2FX.mjs.map → chunk-4HP7XS5I.mjs.map} +1 -1
- package/dist/{chunk-JGK2VFCX.js → chunk-7WIWDSF6.js} +36 -36
- package/dist/{chunk-JGK2VFCX.js.map → chunk-7WIWDSF6.js.map} +1 -1
- package/dist/{chunk-UDYEUTJC.js → chunk-BEUPW5WS.js} +28 -28
- package/dist/{chunk-UDYEUTJC.js.map → chunk-BEUPW5WS.js.map} +1 -1
- package/dist/{chunk-CYAAL3BY.mjs → chunk-CTCO2YI5.mjs} +3 -3
- package/dist/{chunk-CYAAL3BY.mjs.map → chunk-CTCO2YI5.mjs.map} +1 -1
- package/dist/{chunk-NVQVZ4U4.mjs → chunk-DCBRGVD3.mjs} +3 -3
- package/dist/{chunk-NVQVZ4U4.mjs.map → chunk-DCBRGVD3.mjs.map} +1 -1
- package/dist/{chunk-CVZXZK2X.js → chunk-DWIBK7GV.js} +25 -25
- package/dist/{chunk-CVZXZK2X.js.map → chunk-DWIBK7GV.js.map} +1 -1
- package/dist/{chunk-C4AJWDFB.mjs → chunk-EIZM2EQA.mjs} +4 -4
- package/dist/{chunk-C4AJWDFB.mjs.map → chunk-EIZM2EQA.mjs.map} +1 -1
- package/dist/{chunk-BBLBSDPN.js → chunk-FIB2CFJK.js} +11 -9
- package/dist/chunk-FIB2CFJK.js.map +1 -0
- package/dist/{chunk-2OPBUVTQ.mjs → chunk-GAN7AKZ2.mjs} +3 -3
- package/dist/{chunk-2OPBUVTQ.mjs.map → chunk-GAN7AKZ2.mjs.map} +1 -1
- package/dist/{chunk-R4EKPXX3.js → chunk-GD6FHRHV.js} +6 -3
- package/dist/chunk-GD6FHRHV.js.map +1 -0
- package/dist/{chunk-DXLATMGD.mjs → chunk-IKH5IRDK.mjs} +3 -3
- package/dist/{chunk-DXLATMGD.mjs.map → chunk-IKH5IRDK.mjs.map} +1 -1
- package/dist/{chunk-TJEZL72T.mjs → chunk-IKHWYYZC.mjs} +3 -3
- package/dist/{chunk-TJEZL72T.mjs.map → chunk-IKHWYYZC.mjs.map} +1 -1
- package/dist/{chunk-FUHNEP3Y.js → chunk-IYDGO7RW.js} +135 -135
- package/dist/{chunk-FUHNEP3Y.js.map → chunk-IYDGO7RW.js.map} +1 -1
- package/dist/{chunk-CBFK4W4C.mjs → chunk-JUDQX6MP.mjs} +5 -3
- package/dist/chunk-JUDQX6MP.mjs.map +1 -0
- package/dist/{chunk-3JZGRXSG.js → chunk-KI4UPW4Z.js} +4 -4
- package/dist/{chunk-3JZGRXSG.js.map → chunk-KI4UPW4Z.js.map} +1 -1
- package/dist/{chunk-JLECJI7S.js → chunk-MFAVWJWE.js} +10 -10
- package/dist/{chunk-JLECJI7S.js.map → chunk-MFAVWJWE.js.map} +1 -1
- package/dist/{chunk-4JRMXHPU.mjs → chunk-MGZTZELL.mjs} +3 -3
- package/dist/{chunk-4JRMXHPU.mjs.map → chunk-MGZTZELL.mjs.map} +1 -1
- package/dist/{chunk-37JQVQJS.mjs → chunk-MRLEINJN.mjs} +7 -7
- package/dist/{chunk-37JQVQJS.mjs.map → chunk-MRLEINJN.mjs.map} +1 -1
- package/dist/{chunk-VZIUQE7B.mjs → chunk-N5365CGD.mjs} +3 -3
- package/dist/{chunk-VZIUQE7B.mjs.map → chunk-N5365CGD.mjs.map} +1 -1
- package/dist/{chunk-NJ6HH4QP.mjs → chunk-P7GVXI7Y.mjs} +3 -3
- package/dist/{chunk-NJ6HH4QP.mjs.map → chunk-P7GVXI7Y.mjs.map} +1 -1
- package/dist/{chunk-RWYG7QHP.js → chunk-QL2JYRBN.js} +68 -68
- package/dist/{chunk-RWYG7QHP.js.map → chunk-QL2JYRBN.js.map} +1 -1
- package/dist/{chunk-7YK4WXHO.js → chunk-R2RPRRB4.js} +55 -55
- package/dist/{chunk-7YK4WXHO.js.map → chunk-R2RPRRB4.js.map} +1 -1
- package/dist/{chunk-QF6WL7XU.js → chunk-RBB5YGWH.js} +4 -4
- package/dist/{chunk-QF6WL7XU.js.map → chunk-RBB5YGWH.js.map} +1 -1
- package/dist/{chunk-VCAVH2VM.js → chunk-SUU7XPRX.js} +34 -34
- package/dist/{chunk-VCAVH2VM.js.map → chunk-SUU7XPRX.js.map} +1 -1
- package/dist/{chunk-RZ3NDH5S.js → chunk-VDO6MDQW.js} +13 -13
- package/dist/{chunk-RZ3NDH5S.js.map → chunk-VDO6MDQW.js.map} +1 -1
- package/dist/{chunk-VDLMWOQM.js → chunk-XT76DMP5.js} +35 -35
- package/dist/{chunk-VDLMWOQM.js.map → chunk-XT76DMP5.js.map} +1 -1
- package/dist/{chunk-ZYRL3WER.mjs → chunk-YNHQ36UU.mjs} +3 -3
- package/dist/{chunk-ZYRL3WER.mjs.map → chunk-YNHQ36UU.mjs.map} +1 -1
- package/dist/{chunk-5LCWQKGQ.mjs → chunk-Z3BMHKKH.mjs} +6 -3
- package/dist/chunk-Z3BMHKKH.mjs.map +1 -0
- package/dist/{chunk-JHN2OUWG.js → chunk-ZF7RJNPD.js} +45 -45
- package/dist/{chunk-JHN2OUWG.js.map → chunk-ZF7RJNPD.js.map} +1 -1
- package/dist/{chunk-YRXDETBK.mjs → chunk-ZWLMKOHZ.mjs} +6 -6
- package/dist/{chunk-YRXDETBK.mjs.map → chunk-ZWLMKOHZ.mjs.map} +1 -1
- package/dist/index.js +665 -665
- package/dist/index.mjs +2 -2
- package/dist/platform/admin/index.js +10 -10
- package/dist/platform/admin/index.mjs +4 -4
- package/dist/platform/agents-workspace.js +7 -7
- package/dist/platform/agents-workspace.mjs +6 -6
- package/dist/platform/app-shell.js +4 -4
- package/dist/platform/app-shell.mjs +3 -3
- package/dist/platform/auth/index.js +22 -22
- package/dist/platform/auth/index.mjs +4 -4
- package/dist/platform/billing/index.js +4 -4
- package/dist/platform/billing/index.mjs +3 -3
- package/dist/platform/impersonation/index.js +4 -4
- package/dist/platform/impersonation/index.mjs +3 -3
- package/dist/platform/index.js +86 -86
- package/dist/platform/index.mjs +18 -18
- package/dist/platform/pages/index.js +416 -254
- package/dist/platform/pages/index.js.map +1 -1
- package/dist/platform/pages/index.mjs +193 -31
- package/dist/platform/pages/index.mjs.map +1 -1
- package/dist/platform/settings/index.js +7 -7
- package/dist/platform/settings/index.mjs +6 -6
- package/dist/platform/workflow-canvas-shell.js +5 -5
- package/dist/platform/workflow-canvas-shell.mjs +4 -4
- package/package.json +1 -1
- package/dist/astrlabe/contracts.d.mts +0 -517
- package/dist/astrlabe/contracts.d.ts +0 -517
- package/dist/astrlabe/graph-node.d.mts +0 -28
- package/dist/astrlabe/graph-node.d.ts +0 -28
- package/dist/astrlabe/index.d.mts +0 -743
- package/dist/astrlabe/index.d.ts +0 -743
- package/dist/astrlabe/utils.d.mts +0 -60
- package/dist/astrlabe/utils.d.ts +0 -60
- package/dist/astrlabe/workflow-canvas.d.mts +0 -6
- package/dist/astrlabe/workflow-canvas.d.ts +0 -6
- package/dist/astrlabe/workflow-preview-canvas.d.mts +0 -10
- package/dist/astrlabe/workflow-preview-canvas.d.ts +0 -10
- package/dist/billing-panel-DsHhhJqG.d.mts +0 -18
- package/dist/billing-panel-DsHhhJqG.d.ts +0 -18
- package/dist/brand/index.d.mts +0 -71
- package/dist/brand/index.d.ts +0 -71
- package/dist/chunk-5LCWQKGQ.mjs.map +0 -1
- package/dist/chunk-BBLBSDPN.js.map +0 -1
- package/dist/chunk-CBFK4W4C.mjs.map +0 -1
- package/dist/chunk-R4EKPXX3.js.map +0 -1
- package/dist/dynamic-island-confirm-BKsZkAEP.d.mts +0 -17
- package/dist/dynamic-island-confirm-BKsZkAEP.d.ts +0 -17
- package/dist/index-BNRGVAS5.d.mts +0 -222
- package/dist/index-BoebbJ44.d.mts +0 -49
- package/dist/index-BoebbJ44.d.ts +0 -49
- package/dist/index-CnCY-b5V.d.ts +0 -222
- package/dist/index.d.mts +0 -5310
- package/dist/index.d.ts +0 -5310
- package/dist/layout-engine-YZcVr20M.d.mts +0 -19
- package/dist/layout-engine-YZcVr20M.d.ts +0 -19
- package/dist/lib/i18n-context.d.mts +0 -36
- package/dist/lib/i18n-context.d.ts +0 -36
- package/dist/lib/router-context.d.mts +0 -35
- package/dist/lib/router-context.d.ts +0 -35
- package/dist/navigation-BiWVffAN.d.mts +0 -49
- package/dist/navigation-BiWVffAN.d.ts +0 -49
- package/dist/platform/admin/index.d.mts +0 -17
- package/dist/platform/admin/index.d.ts +0 -17
- package/dist/platform/agents-workspace.d.mts +0 -19
- package/dist/platform/agents-workspace.d.ts +0 -19
- package/dist/platform/app-shell.d.mts +0 -58
- package/dist/platform/app-shell.d.ts +0 -58
- package/dist/platform/auth/index.d.mts +0 -73
- package/dist/platform/auth/index.d.ts +0 -73
- package/dist/platform/billing/index.d.mts +0 -29
- package/dist/platform/billing/index.d.ts +0 -29
- package/dist/platform/impersonation/index.d.mts +0 -19
- package/dist/platform/impersonation/index.d.ts +0 -19
- package/dist/platform/index.d.mts +0 -188
- package/dist/platform/index.d.ts +0 -188
- package/dist/platform/pages/index.d.mts +0 -526
- package/dist/platform/pages/index.d.ts +0 -526
- package/dist/platform/rbac.d.mts +0 -42
- package/dist/platform/rbac.d.ts +0 -42
- package/dist/platform/settings/index.d.mts +0 -31
- package/dist/platform/settings/index.d.ts +0 -31
- package/dist/platform/telemetry/index.d.mts +0 -51
- package/dist/platform/telemetry/index.d.ts +0 -51
- package/dist/platform/utils/index.d.mts +0 -32
- package/dist/platform/utils/index.d.ts +0 -32
- package/dist/platform/windsock-admin-client.d.mts +0 -57
- package/dist/platform/windsock-admin-client.d.ts +0 -57
- package/dist/platform/workflow-api-client.d.mts +0 -6
- package/dist/platform/workflow-api-client.d.ts +0 -6
- package/dist/platform/workflow-canvas-shell.d.mts +0 -18
- package/dist/platform/workflow-canvas-shell.d.ts +0 -18
- package/dist/rule-form-BYJzyork.d.mts +0 -128
- package/dist/rule-form-BYJzyork.d.ts +0 -128
- package/dist/workflow-api-client-CpFl3WcG.d.mts +0 -468
- package/dist/workflow-api-client-uLICOanv.d.ts +0 -468
- package/dist/workflow-canvas--qaYKuMm.d.ts +0 -113
- package/dist/workflow-canvas-B80fmD_n.d.mts +0 -113
- package/dist/workflow-store-o17I6L6A.d.ts +0 -79
- package/dist/workflow-store-ppVHdMZi.d.mts +0 -79
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { adaptWorkflowGraphToUi, formatDurationMs } from '../../chunk-UQXVCVAN.mjs';
|
|
3
|
-
import { WorkflowWorkspace } from '../../chunk-
|
|
4
|
-
export { RolesPageView, UsersPageView } from '../../chunk-
|
|
5
|
-
import { DatasourceModal, findCategory, DIALECT_CATEGORIES } from '../../chunk-
|
|
6
|
-
export { DIALECT_CATEGORIES, DatasourceFormModal, DatasourceModal, findCategory, findDialect } from '../../chunk-
|
|
7
|
-
import { defaultRuleForm, RuleForm, ExecutionTimelinePanel } from '../../chunk-
|
|
3
|
+
import { WorkflowWorkspace } from '../../chunk-4HP7XS5I.mjs';
|
|
4
|
+
export { RolesPageView, UsersPageView } from '../../chunk-4HP7XS5I.mjs';
|
|
5
|
+
import { DatasourceModal, findCategory, DIALECT_CATEGORIES } from '../../chunk-DCBRGVD3.mjs';
|
|
6
|
+
export { DIALECT_CATEGORIES, DatasourceFormModal, DatasourceModal, findCategory, findDialect } from '../../chunk-DCBRGVD3.mjs';
|
|
7
|
+
import { defaultRuleForm, RuleForm, ExecutionTimelinePanel } from '../../chunk-EIZM2EQA.mjs';
|
|
8
8
|
import '../../chunk-JB6RNAD2.mjs';
|
|
9
9
|
import '../../chunk-LEXBTVGM.mjs';
|
|
10
|
-
import '../../chunk-
|
|
11
|
-
import { HeroSection, PageLoadingState, PageEmptyState, SearchBar, EntityCard, ManagementPageLayout, CreateActionButton, GlassModal, FormGrid, FormSelect, FormInput, FormTextarea, SectionHeader, Text, Form, FormActionsRow, Table, TableHead, TableRow, TableHeader, TableBody, TableCell, InlineForm, CopyableId, ListCard, ListCardItem, Avatar, SectionCard, Tabs, TabsList, TabsTrigger, TabsContent } from '../../chunk-
|
|
12
|
-
import '../../chunk-7VJ7CMMT.mjs';
|
|
10
|
+
import '../../chunk-N5365CGD.mjs';
|
|
11
|
+
import { HeroSection, PageLoadingState, PageEmptyState, SearchBar, EntityCard, ManagementPageLayout, CreateActionButton, GlassModal, FormGrid, FormSelect, FormInput, FormTextarea, SectionHeader, Text, Form, FormActionsRow, Table, TableHead, TableRow, TableHeader, TableBody, TableCell, InlineForm, CopyableId, ListCard, ListCardItem, Avatar, SectionCard, Tabs, TabsList, TabsTrigger, TabsContent } from '../../chunk-Z3BMHKKH.mjs';
|
|
13
12
|
import '../../chunk-RHRJXK5R.mjs';
|
|
14
13
|
import '../../chunk-3AY5HIQ6.mjs';
|
|
14
|
+
import '../../chunk-7VJ7CMMT.mjs';
|
|
15
15
|
import '../../chunk-PLTLRL2V.mjs';
|
|
16
16
|
import { Badge, Button } from '../../chunk-WR55H7DH.mjs';
|
|
17
17
|
import '../../chunk-D2JF6C3E.mjs';
|
|
@@ -2769,6 +2769,15 @@ function ModelTab({
|
|
|
2769
2769
|
}
|
|
2770
2770
|
);
|
|
2771
2771
|
}
|
|
2772
|
+
var AGENT_PRESETS = [
|
|
2773
|
+
{ id: "sales", emoji: "\u{1F4BC}", name: "Sales Specialist", role: "Lead qualification & CRM", systemPrompt: "You are a sales assistant. Help qualify leads, manage CRM entries, and schedule follow-ups. Always be professional and proactive.", temperature: 0.7, maxTokens: 2048, accent: "from-emerald-500 to-teal-600" },
|
|
2774
|
+
{ id: "support", emoji: "\u{1F3A7}", name: "Customer Support", role: "Ticket resolution & escalation", systemPrompt: "You are a customer support agent. Resolve tickets, answer questions, and escalate complex issues. Prioritize customer satisfaction.", temperature: 0.3, maxTokens: 2048, accent: "from-sky-500 to-indigo-600" },
|
|
2775
|
+
{ id: "finance", emoji: "\u{1F4CA}", name: "Financial Analyst", role: "Revenue, margins, reports", systemPrompt: "You are a financial analyst. Analyze revenue, calculate margins, generate performance reports, and identify trends. Use data-driven insights for recommendations.", temperature: 0.4, maxTokens: 4096, accent: "from-amber-500 to-orange-600" },
|
|
2776
|
+
{ id: "security", emoji: "\u{1F6E1}\uFE0F", name: "Security Analyst", role: "Threat monitoring & compliance", systemPrompt: "You are a security analyst. Monitor for threats, audit data access, ensure compliance with privacy regulations, and manage incident response.", temperature: 0.3, maxTokens: 2048, accent: "from-rose-500 to-red-600" },
|
|
2777
|
+
{ id: "data", emoji: "\u{1F52C}", name: "Data Analyst", role: "Pattern detection & cleaning", systemPrompt: "You are a data analyst. Process raw data inputs, identify patterns, clean datasets, and prepare structured analysis for downstream agents.", temperature: 0.5, maxTokens: 4096, accent: "from-violet-500 to-purple-600" },
|
|
2778
|
+
{ id: "custom", emoji: "\u2728", name: "", role: "", systemPrompt: "", temperature: 0.2, maxTokens: 2048, accent: "from-slate-500 to-slate-700" }
|
|
2779
|
+
];
|
|
2780
|
+
var EMOJI_PALETTE = ["\u{1F4BC}", "\u{1F3A7}", "\u{1F4CA}", "\u{1F6E1}\uFE0F", "\u{1F52C}", "\u2728", "\u{1F916}", "\u26A1", "\u{1F3AF}", "\u{1F680}", "\u{1F9E0}", "\u{1F9BE}", "\u{1F4E1}", "\u{1F52E}", "\u{1F310}", "\u{1F5C2}\uFE0F"];
|
|
2772
2781
|
function CreateAgentDialog({
|
|
2773
2782
|
labels,
|
|
2774
2783
|
models,
|
|
@@ -2776,47 +2785,200 @@ function CreateAgentDialog({
|
|
|
2776
2785
|
onSubmit
|
|
2777
2786
|
}) {
|
|
2778
2787
|
const modelOptions = models.map((m) => ({ value: m.id, label: `${m.name} (${m.provider})` }));
|
|
2788
|
+
const [presetId, setPresetId] = useState("custom");
|
|
2789
|
+
const [emoji, setEmoji] = useState("\u2728");
|
|
2790
|
+
const [name, setName] = useState("");
|
|
2791
|
+
const [role, setRole] = useState("");
|
|
2792
|
+
const [systemPrompt, setSystemPrompt] = useState("");
|
|
2793
|
+
const [temperature, setTemperature] = useState(0.2);
|
|
2794
|
+
const [maxTokens, setMaxTokens] = useState(2048);
|
|
2795
|
+
const [modelId, setModelId] = useState(modelOptions[0]?.value ?? "");
|
|
2796
|
+
const activePreset = AGENT_PRESETS.find((p) => p.id === presetId) ?? AGENT_PRESETS[AGENT_PRESETS.length - 1];
|
|
2797
|
+
function applyPreset(preset) {
|
|
2798
|
+
setPresetId(preset.id);
|
|
2799
|
+
setEmoji(preset.emoji);
|
|
2800
|
+
if (preset.id !== "custom") {
|
|
2801
|
+
setName(preset.name);
|
|
2802
|
+
setRole(preset.role);
|
|
2803
|
+
setSystemPrompt(preset.systemPrompt);
|
|
2804
|
+
setTemperature(preset.temperature);
|
|
2805
|
+
setMaxTokens(preset.maxTokens);
|
|
2806
|
+
}
|
|
2807
|
+
}
|
|
2779
2808
|
return /* @__PURE__ */ jsx(
|
|
2780
2809
|
GlassModal,
|
|
2781
2810
|
{
|
|
2782
2811
|
open: true,
|
|
2783
2812
|
onClose,
|
|
2784
2813
|
title: labels.createAgentTitle,
|
|
2785
|
-
|
|
2814
|
+
label: labels.createAgentEyebrow ?? "NEW AGENT",
|
|
2815
|
+
icon: /* @__PURE__ */ jsx(
|
|
2816
|
+
"div",
|
|
2817
|
+
{
|
|
2818
|
+
className: `flex h-full w-full items-center justify-center rounded-lg bg-gradient-to-br ${activePreset.accent} text-lg shadow-sm`,
|
|
2819
|
+
"aria-hidden": "true",
|
|
2820
|
+
children: emoji
|
|
2821
|
+
}
|
|
2822
|
+
),
|
|
2823
|
+
maxWidth: "2xl",
|
|
2824
|
+
gradient: activePreset.accent,
|
|
2786
2825
|
showFormFooter: true,
|
|
2787
2826
|
submitLabel: labels.save,
|
|
2788
2827
|
onSubmit: async (event) => {
|
|
2789
|
-
|
|
2828
|
+
event.preventDefault();
|
|
2790
2829
|
await onSubmit({
|
|
2791
|
-
name:
|
|
2792
|
-
modelId
|
|
2793
|
-
systemPrompt
|
|
2794
|
-
maxTokens
|
|
2795
|
-
temperature
|
|
2830
|
+
name: name.trim() || activePreset.name || "Untitled Agent",
|
|
2831
|
+
modelId,
|
|
2832
|
+
systemPrompt,
|
|
2833
|
+
maxTokens,
|
|
2834
|
+
temperature
|
|
2796
2835
|
});
|
|
2797
2836
|
},
|
|
2798
|
-
children: /* @__PURE__ */ jsxs(
|
|
2799
|
-
/* @__PURE__ */ jsx(FormInput, { name: "name", label: labels.name, required: true }),
|
|
2837
|
+
children: /* @__PURE__ */ jsxs("div", { className: "space-y-5", children: [
|
|
2800
2838
|
/* @__PURE__ */ jsx(
|
|
2801
|
-
|
|
2839
|
+
SectionCard,
|
|
2840
|
+
{
|
|
2841
|
+
variant: "glass",
|
|
2842
|
+
padded: false,
|
|
2843
|
+
header: {
|
|
2844
|
+
title: labels.presetTitle ?? "Start from a template",
|
|
2845
|
+
subtitle: labels.presetSubtitle ?? "Pick a role or build a custom agent"
|
|
2846
|
+
},
|
|
2847
|
+
children: /* @__PURE__ */ jsx("div", { className: "grid grid-cols-2 gap-2 px-4 pb-4 sm:grid-cols-3", children: AGENT_PRESETS.map((preset) => {
|
|
2848
|
+
const selected = preset.id === presetId;
|
|
2849
|
+
return /* @__PURE__ */ jsxs(
|
|
2850
|
+
"button",
|
|
2851
|
+
{
|
|
2852
|
+
type: "button",
|
|
2853
|
+
onClick: () => applyPreset(preset),
|
|
2854
|
+
className: [
|
|
2855
|
+
"liquid-surface group flex items-center gap-3 rounded-xl px-3 py-2.5 text-left transition-all",
|
|
2856
|
+
selected ? "ring-2 ring-indigo-500/70 ring-offset-1 ring-offset-transparent" : "hover:border-indigo-400/40 focus-visible:ring-2 focus-visible:ring-indigo-500/70 focus-visible:ring-offset-1"
|
|
2857
|
+
].join(" "),
|
|
2858
|
+
children: [
|
|
2859
|
+
/* @__PURE__ */ jsx(
|
|
2860
|
+
"span",
|
|
2861
|
+
{
|
|
2862
|
+
"aria-hidden": "true",
|
|
2863
|
+
className: `flex h-9 w-9 shrink-0 items-center justify-center rounded-lg bg-gradient-to-br ${preset.accent} text-base shadow-sm`,
|
|
2864
|
+
children: preset.emoji
|
|
2865
|
+
}
|
|
2866
|
+
),
|
|
2867
|
+
/* @__PURE__ */ jsxs("span", { className: "min-w-0 flex-1", children: [
|
|
2868
|
+
/* @__PURE__ */ jsx("span", { className: "block truncate text-sm font-semibold text-slate-900 dark:text-white", children: preset.id === "custom" ? labels.presetCustom ?? "Custom" : preset.name }),
|
|
2869
|
+
/* @__PURE__ */ jsx("span", { className: "block truncate text-xs text-slate-500 dark:text-slate-400", children: preset.role || (labels.presetCustomHint ?? "Start from scratch") })
|
|
2870
|
+
] })
|
|
2871
|
+
]
|
|
2872
|
+
},
|
|
2873
|
+
preset.id
|
|
2874
|
+
);
|
|
2875
|
+
}) })
|
|
2876
|
+
}
|
|
2877
|
+
),
|
|
2878
|
+
/* @__PURE__ */ jsx(
|
|
2879
|
+
SectionCard,
|
|
2802
2880
|
{
|
|
2803
|
-
|
|
2804
|
-
|
|
2805
|
-
|
|
2806
|
-
|
|
2881
|
+
variant: "glass",
|
|
2882
|
+
header: {
|
|
2883
|
+
title: labels.identitySection ?? "Identity",
|
|
2884
|
+
subtitle: labels.identitySubtitle ?? "How your agent shows up across workflows"
|
|
2885
|
+
},
|
|
2886
|
+
children: /* @__PURE__ */ jsxs("div", { className: "space-y-4", children: [
|
|
2887
|
+
/* @__PURE__ */ jsxs("div", { children: [
|
|
2888
|
+
/* @__PURE__ */ jsx("span", { className: "mb-2 block text-xs font-semibold uppercase tracking-wider text-slate-600 dark:text-slate-400", children: labels.avatarLabel ?? "Avatar" }),
|
|
2889
|
+
/* @__PURE__ */ jsx("div", { className: "flex flex-wrap gap-1.5", children: EMOJI_PALETTE.map((e) => /* @__PURE__ */ jsx(
|
|
2890
|
+
"button",
|
|
2891
|
+
{
|
|
2892
|
+
type: "button",
|
|
2893
|
+
onClick: () => setEmoji(e),
|
|
2894
|
+
"aria-pressed": emoji === e,
|
|
2895
|
+
className: [
|
|
2896
|
+
"flex h-9 w-9 items-center justify-center rounded-lg text-base transition-all",
|
|
2897
|
+
emoji === e ? `bg-gradient-to-br ${activePreset.accent} shadow-sm ring-2 ring-indigo-500/70 ring-offset-1 ring-offset-transparent` : "liquid-surface hover:border-indigo-400/40 focus-visible:ring-2 focus-visible:ring-indigo-500/70 focus-visible:ring-offset-1"
|
|
2898
|
+
].join(" "),
|
|
2899
|
+
children: e
|
|
2900
|
+
},
|
|
2901
|
+
e
|
|
2902
|
+
)) })
|
|
2903
|
+
] }),
|
|
2904
|
+
/* @__PURE__ */ jsxs(FormGrid, { children: [
|
|
2905
|
+
/* @__PURE__ */ jsx(
|
|
2906
|
+
FormInput,
|
|
2907
|
+
{
|
|
2908
|
+
label: labels.name,
|
|
2909
|
+
value: name,
|
|
2910
|
+
onChange: (event) => setName(event.target.value),
|
|
2911
|
+
required: true,
|
|
2912
|
+
placeholder: labels.namePlaceholder ?? "Sales Specialist"
|
|
2913
|
+
}
|
|
2914
|
+
),
|
|
2915
|
+
/* @__PURE__ */ jsx(
|
|
2916
|
+
FormInput,
|
|
2917
|
+
{
|
|
2918
|
+
label: labels.role,
|
|
2919
|
+
value: role,
|
|
2920
|
+
onChange: (event) => setRole(event.target.value),
|
|
2921
|
+
placeholder: labels.rolePlaceholder
|
|
2922
|
+
}
|
|
2923
|
+
)
|
|
2924
|
+
] })
|
|
2925
|
+
] })
|
|
2807
2926
|
}
|
|
2808
2927
|
),
|
|
2809
|
-
/* @__PURE__ */ jsx(FormInput, { name: "maxTokens", label: labels.maxTokens, type: "number", defaultValue: "2048" }),
|
|
2810
2928
|
/* @__PURE__ */ jsx(
|
|
2811
|
-
|
|
2929
|
+
SectionCard,
|
|
2812
2930
|
{
|
|
2813
|
-
|
|
2814
|
-
|
|
2815
|
-
|
|
2816
|
-
|
|
2817
|
-
|
|
2818
|
-
|
|
2819
|
-
|
|
2931
|
+
variant: "glass",
|
|
2932
|
+
header: {
|
|
2933
|
+
title: labels.behaviorSection ?? "Behavior",
|
|
2934
|
+
subtitle: labels.behaviorSubtitle ?? "System prompt shapes how the agent thinks"
|
|
2935
|
+
},
|
|
2936
|
+
children: /* @__PURE__ */ jsxs("div", { className: "space-y-4", children: [
|
|
2937
|
+
/* @__PURE__ */ jsx(
|
|
2938
|
+
FormTextarea,
|
|
2939
|
+
{
|
|
2940
|
+
label: labels.promptSystemPrompt ?? "System prompt",
|
|
2941
|
+
value: systemPrompt,
|
|
2942
|
+
onChange: (event) => setSystemPrompt(event.target.value),
|
|
2943
|
+
rows: 5,
|
|
2944
|
+
placeholder: labels.promptPlaceholder ?? "You are a helpful assistant\u2026"
|
|
2945
|
+
}
|
|
2946
|
+
),
|
|
2947
|
+
/* @__PURE__ */ jsxs(FormGrid, { children: [
|
|
2948
|
+
/* @__PURE__ */ jsx(
|
|
2949
|
+
FormSelect,
|
|
2950
|
+
{
|
|
2951
|
+
label: labels.model,
|
|
2952
|
+
value: modelId,
|
|
2953
|
+
onChange: (event) => setModelId(event.target.value),
|
|
2954
|
+
options: modelOptions.length > 0 ? modelOptions : [{ value: "", label: labels.modelEmpty }]
|
|
2955
|
+
}
|
|
2956
|
+
),
|
|
2957
|
+
/* @__PURE__ */ jsx(
|
|
2958
|
+
FormInput,
|
|
2959
|
+
{
|
|
2960
|
+
label: labels.maxTokens,
|
|
2961
|
+
type: "number",
|
|
2962
|
+
value: String(maxTokens),
|
|
2963
|
+
onChange: (event) => setMaxTokens(Number(event.target.value) || 0),
|
|
2964
|
+
min: 1,
|
|
2965
|
+
max: 32e3
|
|
2966
|
+
}
|
|
2967
|
+
),
|
|
2968
|
+
/* @__PURE__ */ jsx(
|
|
2969
|
+
FormInput,
|
|
2970
|
+
{
|
|
2971
|
+
label: `${labels.temperature} (${temperature.toFixed(2)})`,
|
|
2972
|
+
type: "number",
|
|
2973
|
+
value: String(temperature),
|
|
2974
|
+
onChange: (event) => setTemperature(Number(event.target.value) || 0),
|
|
2975
|
+
step: 0.1,
|
|
2976
|
+
min: 0,
|
|
2977
|
+
max: 2
|
|
2978
|
+
}
|
|
2979
|
+
)
|
|
2980
|
+
] })
|
|
2981
|
+
] })
|
|
2820
2982
|
}
|
|
2821
2983
|
)
|
|
2822
2984
|
] })
|