flowstudio 0.0.31 → 0.0.33

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.
Files changed (50) hide show
  1. package/README.md +6 -6
  2. package/dist/ai_creator.js +1 -9
  3. package/dist/ai_creator.js.map +1 -1
  4. package/dist/api_calls.js +5 -6
  5. package/dist/api_calls.js.map +1 -1
  6. package/dist/app_settings.js +3 -2
  7. package/dist/app_settings.js.map +1 -1
  8. package/dist/channels.d.ts +16 -0
  9. package/dist/channels.js +133 -0
  10. package/dist/channels.js.map +1 -0
  11. package/dist/components/mention_input/index.js +1 -1
  12. package/dist/constants.js +7 -5
  13. package/dist/constants.js.map +1 -1
  14. package/dist/context.js +1 -1
  15. package/dist/context.js.map +1 -1
  16. package/dist/globals.css +19 -8
  17. package/dist/home.d.ts +1 -1
  18. package/dist/home.js +55 -27
  19. package/dist/home.js.map +1 -1
  20. package/dist/index.d.ts +17 -1
  21. package/dist/index.js +29 -11
  22. package/dist/index.js.map +1 -1
  23. package/dist/new_project.js +52 -29
  24. package/dist/new_project.js.map +1 -1
  25. package/dist/node.js +8 -13
  26. package/dist/node.js.map +1 -1
  27. package/dist/providers/index.d.ts +4 -0
  28. package/dist/providers/index.js +97 -0
  29. package/dist/providers/index.js.map +1 -0
  30. package/dist/secrets.js +3 -2
  31. package/dist/secrets.js.map +1 -1
  32. package/dist/simulator.js +182 -62
  33. package/dist/simulator.js.map +1 -1
  34. package/dist/studio_pane.js +118 -80
  35. package/dist/studio_pane.js.map +1 -1
  36. package/dist/styles/globals.css +2 -2
  37. package/dist/styles.css +1 -1
  38. package/dist/top_left_panel.d.ts +1 -1
  39. package/dist/top_left_panel.js +2 -2
  40. package/dist/top_left_panel.js.map +1 -1
  41. package/dist/top_right_panel.js +1 -1
  42. package/dist/top_right_panel.js.map +1 -1
  43. package/dist/triggers.js +129 -87
  44. package/dist/triggers.js.map +1 -1
  45. package/dist/zustand/store.d.ts +92 -0
  46. package/dist/zustand/store.js +4 -0
  47. package/dist/zustand/store.js.map +1 -1
  48. package/package.json +4 -3
  49. package/src/globals.css +19 -8
  50. package/src/styles/globals.css +2 -2
package/dist/triggers.js CHANGED
@@ -1,7 +1,7 @@
1
1
  'use client';
2
2
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
3
3
  import { Button } from "@osanim/shared";
4
- import { Alert, AlertDescription } from "@osanim/shared";
4
+ import { Alert, AlertDescription, AlertTitle } from "@osanim/shared";
5
5
  import { Card } from "@osanim/shared";
6
6
  import { Popover, PopoverContent, PopoverTrigger } from "@osanim/shared";
7
7
  import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "@osanim/shared";
@@ -9,7 +9,6 @@ import { Separator } from "@osanim/shared";
9
9
  import { Spinner } from "@osanim/shared";
10
10
  import { Input } from "@osanim/shared";
11
11
  import * as Collapsible from '@radix-ui/react-collapsible';
12
- import { FaChevronDown } from "react-icons/fa";
13
12
  import { useEffect, useState } from "react";
14
13
  import * as Zod from "zod";
15
14
  import { zodResolver } from "@hookform/resolvers/zod";
@@ -18,99 +17,146 @@ import { FaArrowRight } from "react-icons/fa6";
18
17
  import flow_constants from "./constants";
19
18
  import { Form, FormControl, FormField, FormItem, FormLabel, FormMessage } from "@osanim/shared";
20
19
  import { toast } from "./lib/toast";
21
- import { Copy, Plus, Trash } from "lucide-react";
20
+ import { ChevronDown, Copy, Plus, Trash, Zap } from "lucide-react";
21
+ import { CHANNEL_ADAPTERS } from "./channels";
22
+ const triggerSchema = Zod.object({
23
+ name: Zod.string().min(1, 'required'),
24
+ type: Zod.string().min(1, 'required'),
25
+ provider: Zod.string().optional(),
26
+ }).loose().superRefine((data, ctx) => {
27
+ if (data.type === 'ussd' && !data.provider) {
28
+ ctx.addIssue({ code: 'custom', message: 'required', path: ['provider'] });
29
+ }
30
+ });
31
+ async function createProviderForType(api_key, name, type, formData) {
32
+ const adapter = CHANNEL_ADAPTERS[type];
33
+ if (!adapter)
34
+ return null;
35
+ const credentials = {};
36
+ adapter.credentials.forEach(({ key }) => { if (formData[key])
37
+ credentials[key] = formData[key]; });
38
+ const res = await fetch(`${flow_constants.BACKEND_ENDPOINT}/providers`, {
39
+ method: 'POST',
40
+ headers: { 'X-API-KEY': api_key, 'Content-Type': 'application/json' },
41
+ body: JSON.stringify({ name, type, credentials, active: true }),
42
+ });
43
+ if (!res.ok)
44
+ throw new Error('Failed to create provider');
45
+ const data = await res.json();
46
+ return data.identifier;
47
+ }
22
48
  export default function Triggers({ api_key, project, providers, provider, triggers, triggersRefetch }) {
23
49
  var _a;
24
50
  const [open, setOpen] = useState(false);
25
- const formSchema = Zod.object({
26
- name: Zod.string().min(1, 'required'),
27
- type: Zod.string().min(1, 'required'),
28
- provider: Zod.string().min(1, 'required')
29
- });
30
51
  const form = useForm({
31
- resolver: zodResolver(formSchema),
32
- defaultValues: {
33
- name: '',
34
- type: '',
35
- provider: ''
36
- }
52
+ resolver: zodResolver(triggerSchema),
53
+ defaultValues: { name: '', type: 'ussd', provider: '' },
37
54
  });
38
55
  const onSubmit = async (data) => {
39
56
  try {
40
- const post_data = JSON.stringify({
41
- project: project === null || project === void 0 ? void 0 : project.identifier,
42
- name: data.name,
43
- type: data.type,
44
- provider: data.provider
45
- });
57
+ let providerId = data.provider;
58
+ if (data.type !== 'ussd') {
59
+ providerId = await createProviderForType(api_key, data.name, data.type, data);
60
+ if (!providerId)
61
+ return;
62
+ }
46
63
  const response = await fetch(`${flow_constants.BACKEND_ENDPOINT}/triggers`, {
47
- method: "POST",
48
- headers: {
49
- "X-API-KEY": `${api_key}`,
50
- "Content-Type": "application/json",
51
- },
52
- body: post_data,
64
+ method: 'POST',
65
+ headers: { 'X-API-KEY': api_key, 'Content-Type': 'application/json' },
66
+ body: JSON.stringify({ project: project === null || project === void 0 ? void 0 : project.identifier, name: data.name, type: data.type, provider: providerId }),
53
67
  });
54
- if (await response.ok) {
68
+ if (response.ok) {
55
69
  triggersRefetch();
56
70
  form.reset();
57
71
  setOpen(false);
58
- toast.success("Trigger Created Successfully");
72
+ toast.success('Trigger Created Successfully');
59
73
  }
60
74
  else {
61
- toast.error("Failed to create trigger");
75
+ toast.error('Failed to create trigger');
62
76
  }
63
77
  }
64
78
  catch (e) {
65
- console.log(e);
79
+ toast.error((e === null || e === void 0 ? void 0 : e.message) || 'Failed to create trigger');
66
80
  }
67
81
  };
68
82
  useEffect(() => {
69
- if (provider) {
83
+ if (provider)
70
84
  form.setValue('provider', provider === null || provider === void 0 ? void 0 : provider.identifier);
71
- }
72
85
  }, [provider]);
73
- return (_jsxs("div", { className: "flex flex-col gap-3 mt-1", children: [_jsx(Alert, { variant: 'default', className: "rounded-sm", children: _jsx(AlertDescription, { className: "text-xs text-muted-foreground", children: "Triggers are the sources that initiate and serve as entry point into your app." }) }), _jsxs("div", { className: "flex justify-between items-center", children: [_jsx("h3", { className: "text-sm font-bold", children: "Triggers" }), _jsxs(Popover, { open: open, onOpenChange: setOpen, children: [_jsx(PopoverTrigger, { asChild: true, children: _jsxs(Button, { size: "xs", className: "text-xs", children: [_jsx(Plus, { className: "" }), " Trigger"] }) }), _jsx(PopoverContent, { className: "max-w-md", align: "end", children: _jsx("div", { className: "flex flex-col gap-3", children: _jsx(Form, { ...form, children: _jsx("form", { onSubmit: form.handleSubmit(onSubmit), noValidate: true, children: _jsxs("div", { className: "flex flex-col gap-4", children: [_jsx(TriggerFormFields, { form: form, providers: providers }), _jsxs("div", { className: "flex justify-end gap-3", children: [_jsx(Button, { type: "button", variant: "ghost", size: "sm", onClick: () => setOpen(false), children: "Cancel" }), _jsxs(Button, { type: "submit", size: "sm", disabled: form.formState.isSubmitting, children: [_jsx(Spinner, { loading: form.formState.isSubmitting }), " ", form.formState.isSubmitting ? 'Creating' : 'Create'] })] })] }) }) }) }) })] })] }), (_a = triggers === null || triggers === void 0 ? void 0 : triggers.results) === null || _a === void 0 ? void 0 : _a.map((val, ind) => (_jsx(Trigger, { api_key: api_key, trigger: val, refetch: triggersRefetch, providers: providers, provider: provider }, ind)))] }));
86
+ return (_jsxs("div", { className: "flex flex-col gap-3 mt-1", children: [_jsxs(Alert, { variant: "default", className: "rounded-sm", children: [_jsx(Zap, { className: "h-4 w-4" }), _jsx(AlertTitle, { className: "text-sm", children: "Source Triggers" }), _jsx(AlertDescription, { className: "text-xs text-muted-foreground", children: "Triggers are the entry points into your app. Each trigger has a unique URL you paste into your provider's webhook settings to start a flow session." })] }), _jsxs("div", { className: "flex justify-between items-center", children: [_jsx("h3", { className: "text-sm font-bold", children: "Triggers" }), _jsxs(Popover, { open: open, onOpenChange: setOpen, children: [_jsx(PopoverTrigger, { asChild: true, children: _jsxs(Button, { size: "xs", className: "text-xs", children: [_jsx(Plus, {}), " Trigger"] }) }), _jsx(PopoverContent, { className: "max-w-md", align: "end", children: _jsx("div", { className: "flex flex-col gap-3", children: _jsx(Form, { ...form, children: _jsx("form", { onSubmit: form.handleSubmit(onSubmit), noValidate: true, children: _jsxs("div", { className: "flex flex-col gap-4", children: [_jsx(TriggerFormFields, { form: form, providers: providers, provider: provider }), _jsxs("div", { className: "flex justify-end gap-3", children: [_jsx(Button, { type: "button", variant: "ghost", size: "sm", onClick: () => setOpen(false), children: "Cancel" }), _jsxs(Button, { type: "submit", size: "sm", disabled: form.formState.isSubmitting, children: [_jsx(Spinner, { loading: form.formState.isSubmitting }), form.formState.isSubmitting ? 'Creating' : 'Create'] })] })] }) }) }) }) })] })] }), (_a = triggers === null || triggers === void 0 ? void 0 : triggers.results) === null || _a === void 0 ? void 0 : _a.map((val, ind) => (_jsx(Trigger, { api_key: api_key, trigger: val, refetch: triggersRefetch, providers: providers, provider: provider }, ind)))] }));
74
87
  }
75
88
  export function Trigger({ api_key, trigger, refetch, providers, provider }) {
76
- var _a, _b, _c, _d, _e, _f;
77
- const [open, setOpen] = useState(false);
89
+ var _a, _b, _c, _d;
78
90
  const [deleting, setDeleting] = useState(false);
79
91
  const [isCopied, setIsCopied] = useState(false);
92
+ const [isRegistering, setIsRegistering] = useState(false);
80
93
  const engineEndpoint = `${flow_constants.ENGINE_ENDPOINT}/${trigger === null || trigger === void 0 ? void 0 : trigger.identifier}`;
81
- // const providerWebsite = `${flow_constants.ENGINE_ENDPOINT}/${trigger?.identifier}`
82
- const formSchema = Zod.object({
83
- name: Zod.string().min(1, 'required'),
84
- type: Zod.string().min(1, 'required'),
85
- provider: Zod.string().min(1, 'required')
86
- });
87
94
  const form = useForm({
88
- resolver: zodResolver(formSchema),
89
- defaultValues: trigger
95
+ resolver: zodResolver(triggerSchema),
96
+ defaultValues: {
97
+ ...trigger,
98
+ ...(((_a = trigger === null || trigger === void 0 ? void 0 : trigger.provider_data) === null || _a === void 0 ? void 0 : _a.credentials) || {}),
99
+ },
90
100
  });
101
+ const watchedType = form.watch('type') || (trigger === null || trigger === void 0 ? void 0 : trigger.type);
102
+ const adapter = CHANNEL_ADAPTERS[watchedType];
103
+ const ussdProvider = watchedType === 'ussd'
104
+ ? (_b = providers === null || providers === void 0 ? void 0 : providers.results) === null || _b === void 0 ? void 0 : _b.find((p) => p.identifier === form.watch('provider'))
105
+ : null;
106
+ const dashboardUrl = (ussdProvider === null || ussdProvider === void 0 ? void 0 : ussdProvider.webhook_section) || (adapter === null || adapter === void 0 ? void 0 : adapter.dashboardUrl);
107
+ const hasStep2 = (adapter === null || adapter === void 0 ? void 0 : adapter.canAutoRegister) || !!dashboardUrl;
108
+ const registerWebhook = async () => {
109
+ if (!(adapter === null || adapter === void 0 ? void 0 : adapter.registerWebhook))
110
+ return;
111
+ const credentials = {};
112
+ adapter.credentials.forEach(({ key }) => {
113
+ const val = form.getValues(key);
114
+ if (val)
115
+ credentials[key] = val;
116
+ });
117
+ try {
118
+ setIsRegistering(true);
119
+ await adapter.registerWebhook(credentials, engineEndpoint);
120
+ toast.success(`Webhook registered with ${adapter.label}`);
121
+ }
122
+ catch (e) {
123
+ toast.error((e === null || e === void 0 ? void 0 : e.message) || 'Failed to register webhook');
124
+ }
125
+ finally {
126
+ setIsRegistering(false);
127
+ }
128
+ };
91
129
  const onSubmit = async (data) => {
92
130
  try {
93
- const post_data = JSON.stringify({
94
- project: trigger === null || trigger === void 0 ? void 0 : trigger.project,
95
- name: data.name,
96
- type: data.type,
97
- provider: data.provider
98
- });
131
+ if (data.type !== 'ussd' && (trigger === null || trigger === void 0 ? void 0 : trigger.provider)) {
132
+ const a = CHANNEL_ADAPTERS[data.type];
133
+ if (a) {
134
+ const credentials = {};
135
+ a.credentials.forEach(({ key }) => { if (data[key])
136
+ credentials[key] = data[key]; });
137
+ await fetch(`${flow_constants.BACKEND_ENDPOINT}/providers/${trigger.provider}`, {
138
+ method: 'PATCH',
139
+ headers: { 'X-API-KEY': api_key, 'Content-Type': 'application/json' },
140
+ body: JSON.stringify({ credentials }),
141
+ });
142
+ }
143
+ }
99
144
  const response = await fetch(`${flow_constants.BACKEND_ENDPOINT}/triggers/${trigger === null || trigger === void 0 ? void 0 : trigger.identifier}`, {
100
- method: "PATCH",
101
- headers: {
102
- "X-API-KEY": `${api_key}`,
103
- "Content-Type": "application/json",
104
- },
105
- body: post_data,
145
+ method: 'PATCH',
146
+ headers: { 'X-API-KEY': api_key, 'Content-Type': 'application/json' },
147
+ body: JSON.stringify({
148
+ project: trigger === null || trigger === void 0 ? void 0 : trigger.project,
149
+ name: data.name,
150
+ type: data.type,
151
+ provider: data.provider || (trigger === null || trigger === void 0 ? void 0 : trigger.provider),
152
+ }),
106
153
  });
107
- if (await response.ok) {
154
+ if (response.ok) {
108
155
  refetch();
109
- // reset();
110
- toast.success("Trigger Updated Successfully");
156
+ toast.success('Trigger Updated Successfully');
111
157
  }
112
158
  else {
113
- toast.error("Failed to update trigger");
159
+ toast.error('Failed to update trigger');
114
160
  }
115
161
  }
116
162
  catch (e) {
@@ -118,60 +164,56 @@ export function Trigger({ api_key, trigger, refetch, providers, provider }) {
118
164
  }
119
165
  };
120
166
  useEffect(() => {
167
+ var _a;
121
168
  if (trigger) {
122
- form.reset(trigger);
169
+ form.reset({ ...trigger, ...(((_a = trigger === null || trigger === void 0 ? void 0 : trigger.provider_data) === null || _a === void 0 ? void 0 : _a.credentials) || {}) });
123
170
  }
124
171
  }, [trigger]);
125
172
  useEffect(() => {
126
- if (provider) {
173
+ if (provider)
127
174
  form.setValue('provider', provider === null || provider === void 0 ? void 0 : provider.identifier);
128
- }
129
175
  }, [provider]);
130
- async function copyTextToClipboard() {
176
+ const copyTextToClipboard = async () => {
131
177
  try {
132
178
  await navigator.clipboard.writeText(engineEndpoint);
133
179
  setIsCopied(true);
134
- setTimeout(() => setIsCopied(false), 2000); // Reset after 2 seconds
135
- toast.info("Trigger URL Copied");
180
+ setTimeout(() => setIsCopied(false), 2000);
181
+ toast.info('Trigger URL Copied');
136
182
  }
137
- catch (err) {
138
- console.error('Failed to copy text: ', err);
183
+ catch {
184
+ console.error('Failed to copy');
139
185
  }
140
- }
186
+ };
141
187
  const deleteTrigger = async (identifier) => {
142
188
  try {
143
189
  setDeleting(true);
144
- const post_data = null;
145
190
  const response = await fetch(`${flow_constants.BACKEND_ENDPOINT}/triggers/${identifier}`, {
146
- method: 'DELETE', headers: {
147
- "X-API-KEY": `${api_key}`,
148
- "Content-Type": "application/json",
149
- }
191
+ method: 'DELETE',
192
+ headers: { 'X-API-KEY': api_key, 'Content-Type': 'application/json' },
150
193
  });
151
- // const data = await response.json()
152
- if (await response.ok) {
194
+ if (response.ok) {
153
195
  refetch();
154
- toast.success("Trigger Deleted Successfully");
196
+ toast.success('Trigger Deleted Successfully');
155
197
  }
156
198
  else {
157
- toast.error("Failed to delete trigger");
199
+ toast.error('Failed to delete trigger');
158
200
  }
159
- setDeleting(false);
160
- refetch();
161
- setDeleting(false);
162
201
  }
163
202
  catch (e) {
164
203
  console.log('Trigger Error: ' + e);
204
+ }
205
+ finally {
165
206
  setDeleting(false);
166
207
  }
167
208
  };
168
- return (_jsx(_Fragment, { children: _jsx(Card, { className: "p-0 rounded-md", children: _jsx(Collapsible.Root, { defaultOpen: false, children: _jsxs("div", { className: "flex flex-col", children: [_jsx(Collapsible.Trigger, { className: "bg-transparent border-none p-0", children: _jsxs("div", { className: "flex justify-between items-center p-2 bg-muted/50", children: [_jsx("span", { className: "font-bold text-muted-foreground text-sm", children: form.watch('name') }), _jsx(FaChevronDown, { className: "text-muted-foreground" })] }) }), _jsx(Collapsible.Content, { children: _jsx(Form, { ...form, children: _jsx("form", { onSubmit: form.handleSubmit(onSubmit), noValidate: true, children: _jsxs("div", { className: "flex flex-col gap-3", children: [_jsx(Separator, {}), _jsx("div", { className: "px-3 flex flex-col gap-4", children: _jsx(TriggerFormFields, { form: form, providers: providers }) }), _jsx(Separator, {}), ((_b = (_a = providers === null || providers === void 0 ? void 0 : providers.results) === null || _a === void 0 ? void 0 : _a.filter((provider) => provider.identifier === form.watch('provider') && provider.webhook_section)) === null || _b === void 0 ? void 0 : _b.length) > 0 && (_jsxs("div", { className: "flex gap-3 items-center", children: [_jsx(Separator, { className: "flex-1" }), _jsx("span", { className: "text-xs text-muted-foreground whitespace-nowrap", children: "Step 1" }), _jsx(Separator, { className: "flex-[4]" })] })), _jsx("div", { className: "flex flex-col px-3", children: _jsxs("div", { className: "flex justify-between items-center gap-3", children: [_jsxs("div", { className: "flex flex-col", children: [_jsx("span", { className: "text-sm font-bold", children: "Copy the Link:" }), _jsx("span", { className: "text-xs text-muted-foreground", children: engineEndpoint })] }), _jsxs(Button, { size: "sm", className: "text-xs", type: "button", variant: "secondary", onClick: () => copyTextToClipboard(), children: [_jsx(Copy, {}), " ", isCopied ? 'Copied!' : 'Copy'] })] }) }), ((_d = (_c = providers === null || providers === void 0 ? void 0 : providers.results) === null || _c === void 0 ? void 0 : _c.filter((provider) => provider.identifier === form.watch('provider') && provider.webhook_section)) === null || _d === void 0 ? void 0 : _d.length) > 0 && (_jsxs("div", { className: "flex gap-3 items-center", children: [_jsx(Separator, { className: "flex-1" }), _jsx("span", { className: "text-xs text-muted-foreground whitespace-nowrap", children: "Step 2" }), _jsx(Separator, { className: "flex-[4]" })] })), ((_f = (_e = providers === null || providers === void 0 ? void 0 : providers.results) === null || _e === void 0 ? void 0 : _e.filter((provider) => provider.identifier === form.watch('provider') && provider.webhook_section)) === null || _f === void 0 ? void 0 : _f.length) > 0 && (_jsxs("div", { className: "flex justify-between items-center gap-3 px-3", children: [_jsxs("div", { className: "flex flex-col", children: [_jsx("span", { className: "text-sm font-bold", children: "Paste the Link:" }), _jsx("span", { className: "text-xs text-muted-foreground", children: "Paste the link below into your provider's webhook section" })] }), _jsxs(Button, { size: "xs", className: "text-xs", variant: "outline", onClick: () => { var _a, _b; return window.open(`${(_b = (_a = providers === null || providers === void 0 ? void 0 : providers.results) === null || _a === void 0 ? void 0 : _a.find((provider) => provider.identifier === form.watch('provider'))) === null || _b === void 0 ? void 0 : _b.webhook_section}`, '_blank'); }, children: ["Go to Provider ", _jsx(FaArrowRight, { className: "ml-2 h-3 w-3" })] })] })), _jsx(Separator, {}), _jsxs("div", { className: "flex justify-end gap-3 px-3 pb-3", children: [_jsxs(Button, { type: "submit", size: "xs", className: "text-xs", disabled: form.formState.isSubmitting, children: [_jsx(Spinner, { loading: form.formState.isSubmitting }), " ", form.formState.isSubmitting ? 'Saving' : 'Save'] }), _jsxs(Popover, { children: [_jsx(PopoverTrigger, { asChild: true, children: _jsx(Button, { "aria-label": 'Delete Trigger', variant: "destructive", size: "xs", className: "text-xs", children: _jsx(Trash, {}) }) }), _jsxs(PopoverContent, { align: "end", className: "max-w-[250px]", children: [_jsx("p", { className: "text-xs text-muted-foreground", children: "Are you sure you want to Delete this Trigger" }), _jsx(Separator, { className: "my-3" }), _jsxs("div", { className: "flex justify-end gap-3 mt-3", children: [_jsx(PopoverTrigger, { asChild: true, children: _jsx(Button, { variant: "ghost", size: "xs", children: "Cancel" }) }), _jsxs(Button, { variant: "destructive", type: "button", size: "xs", disabled: deleting, onClick: () => { deleteTrigger(trigger === null || trigger === void 0 ? void 0 : trigger.identifier); }, children: [_jsx(Spinner, { loading: deleting }), " ", deleting ? 'Deleting' : 'Delete'] })] })] })] })] })] }) }) }) })] }) }) }) }));
209
+ return (_jsx(Card, { className: "p-0 rounded-md", children: _jsx(Collapsible.Root, { defaultOpen: false, children: _jsxs("div", { className: "flex flex-col", children: [_jsx(Collapsible.Trigger, { className: "bg-transparent border-none p-0", children: _jsxs("div", { className: "flex justify-between items-center p-2 bg-muted/50", children: [_jsxs("div", { className: "flex items-center gap-2", children: [_jsx("span", { className: "text-muted-foreground text-sm", children: form.watch('name') }), (trigger === null || trigger === void 0 ? void 0 : trigger.type) && (_jsx("span", { className: "text-[10px] border rounded px-1.5 py-0.5 text-muted-foreground uppercase tracking-wide", children: trigger.type }))] }), _jsx(ChevronDown, { className: "h-4 w-4 text-muted-foreground" })] }) }), _jsx(Collapsible.Content, { children: _jsx(Form, { ...form, children: _jsx("form", { onSubmit: form.handleSubmit(onSubmit), noValidate: true, children: _jsxs("div", { className: "flex flex-col gap-3", children: [_jsx(Separator, {}), _jsx("div", { className: "px-3 flex flex-col gap-4", children: _jsx(TriggerFormFields, { form: form, providers: providers, provider: provider }) }), _jsx(Separator, {}), hasStep2 && (_jsxs("div", { className: "flex gap-3 items-center", children: [_jsx(Separator, { className: "flex-1" }), _jsx("span", { className: "text-xs text-muted-foreground whitespace-nowrap", children: "Step 1" }), _jsx(Separator, { className: "flex-4" })] })), _jsx("div", { className: "flex flex-col px-3", children: _jsxs("div", { className: "flex justify-between items-center gap-3", children: [_jsxs("div", { className: "flex flex-col", children: [_jsx("span", { className: "text-sm", children: "Copy the Link:" }), _jsx("span", { className: "text-xs text-muted-foreground", children: engineEndpoint })] }), _jsxs(Button, { size: "sm", className: "text-xs", type: "button", variant: "secondary", onClick: copyTextToClipboard, children: [_jsx(Copy, {}), " ", isCopied ? 'Copied!' : 'Copy'] })] }) }), hasStep2 && (_jsxs(_Fragment, { children: [_jsxs("div", { className: "flex gap-3 items-center", children: [_jsx(Separator, { className: "flex-1" }), _jsx("span", { className: "text-xs text-muted-foreground whitespace-nowrap", children: "Step 2" }), _jsx(Separator, { className: "flex-4" })] }), _jsxs("div", { className: "flex justify-between items-center gap-3 px-3", children: [_jsxs("div", { className: "flex flex-col", children: [_jsxs("span", { className: "text-sm", children: [(_c = adapter === null || adapter === void 0 ? void 0 : adapter.step2Label) !== null && _c !== void 0 ? _c : 'Configure Webhook', ":"] }), _jsx("span", { className: "text-xs text-muted-foreground", children: (_d = adapter === null || adapter === void 0 ? void 0 : adapter.step2Description) !== null && _d !== void 0 ? _d : "Paste the link into your provider's webhook section" })] }), (adapter === null || adapter === void 0 ? void 0 : adapter.canAutoRegister) ? (_jsxs(Button, { size: "xs", className: "text-xs", variant: "outline", type: "button", disabled: isRegistering, onClick: registerWebhook, children: [_jsx(Spinner, { loading: isRegistering }), isRegistering ? 'Registering...' : _jsxs(_Fragment, { children: [_jsx("span", { children: "Register" }), _jsx(FaArrowRight, { className: "ml-1 h-3 w-3" })] })] })) : (_jsxs(Button, { size: "xs", className: "text-xs", variant: "outline", type: "button", onClick: () => window.open(dashboardUrl, '_blank'), children: ["Go to Dashboard ", _jsx(FaArrowRight, { className: "ml-1 h-3 w-3" })] }))] })] })), _jsx(Separator, {}), _jsxs("div", { className: "flex justify-end gap-3 px-3 pb-3", children: [_jsxs(Button, { type: "submit", size: "xs", className: "text-xs", disabled: form.formState.isSubmitting, children: [_jsx(Spinner, { loading: form.formState.isSubmitting }), form.formState.isSubmitting ? 'Saving' : 'Save'] }), _jsxs(Popover, { children: [_jsx(PopoverTrigger, { asChild: true, children: _jsx(Button, { "aria-label": "Delete Trigger", variant: "destructive", size: "xs", className: "text-xs", children: _jsx(Trash, {}) }) }), _jsxs(PopoverContent, { align: "end", className: "max-w-[250px]", children: [_jsx("p", { className: "text-xs text-muted-foreground", children: "Are you sure you want to delete this trigger?" }), _jsx(Separator, { className: "my-3" }), _jsxs("div", { className: "flex justify-end gap-3 mt-3", children: [_jsx(PopoverTrigger, { asChild: true, children: _jsx(Button, { variant: "ghost", size: "xs", children: "Cancel" }) }), _jsxs(Button, { variant: "destructive", type: "button", size: "xs", disabled: deleting, onClick: () => deleteTrigger(trigger === null || trigger === void 0 ? void 0 : trigger.identifier), children: [_jsx(Spinner, { loading: deleting }), " ", deleting ? 'Deleting' : 'Delete'] })] })] })] })] })] }) }) }) })] }) }) }));
169
210
  }
170
- // Reusable form fields component for both create and edit
171
- function TriggerFormFields({ form, providers }) {
172
- return (_jsxs(_Fragment, { children: [_jsx(FormField, { control: form.control, name: "name", render: ({ field }) => (_jsxs(FormItem, { className: "flex-1", children: [_jsxs("div", { className: "flex justify-between items-center", children: [_jsx(FormLabel, { children: 'Trigger Name' }), _jsx(FormMessage, {})] }), _jsx(FormControl, { children: _jsx(Input, { placeholder: 'Trigger Name', className: "text-sm text-muted-foreground", autoComplete: "off", "aria-label": "Trigger Name", ...field }) })] })) }), _jsxs("div", { className: "w-full flex justify-between items-center gap-3", children: [_jsx(FormField, { control: form.control, name: "type", render: ({ field }) => (_jsxs(FormItem, { children: [_jsx(FormLabel, { children: "Type" }), _jsx(FormControl, { children: _jsxs(Select, { ...field, children: [_jsx(SelectTrigger, { size: "sm", className: "text-xs w-full text-muted-foreground", children: _jsx(SelectValue, { placeholder: "Select Type" }) }), _jsxs(SelectContent, { children: [_jsx(SelectItem, { value: "ussd", children: "USSD" }), _jsx(SelectItem, { value: "ivr", children: "IVR" }), _jsx(SelectItem, { value: "sms", children: "SMS" }), _jsx(SelectItem, { value: "email", children: "Email" }), _jsx(SelectItem, { value: "whatsapp", children: "Whatsapp" }), _jsx(SelectItem, { value: "facebook", children: "Facebook" }), _jsx(SelectItem, { value: "messenger", children: "Messenger" })] })] }) }), _jsx(FormMessage, {})] })) }), _jsx(FormField, { control: form.control, name: "provider", render: ({ field }) => {
173
- var _a;
174
- return (_jsxs(FormItem, { children: [_jsx(FormLabel, { children: "Provider" }), _jsx(FormControl, { children: _jsxs(Select, { ...field, children: [_jsx(SelectTrigger, { size: 'sm', className: "text-xs w-full text-muted-foreground", children: _jsx(SelectValue, { placeholder: "Select Provider" }) }), _jsx(SelectContent, { children: (_a = providers === null || providers === void 0 ? void 0 : providers.results) === null || _a === void 0 ? void 0 : _a.sort((a, b) => a === null || a === void 0 ? void 0 : a.name.localeCompare(b === null || b === void 0 ? void 0 : b.name)).map((provider, index) => (_jsx(SelectItem, { value: (provider === null || provider === void 0 ? void 0 : provider.identifier) || index, children: provider.name }, index))) })] }) }), _jsx(FormMessage, {})] }));
175
- } })] })] }));
211
+ function TriggerFormFields({ form, providers, provider }) {
212
+ const selectedType = form.watch('type');
213
+ const adapter = CHANNEL_ADAPTERS[selectedType];
214
+ return (_jsxs(_Fragment, { children: [_jsx(FormField, { control: form.control, name: "name", render: ({ field }) => (_jsxs(FormItem, { children: [_jsxs("div", { className: "flex justify-between items-center", children: [_jsx(FormLabel, { children: "Trigger Name" }), _jsx(FormMessage, {})] }), _jsx(FormControl, { children: _jsx(Input, { placeholder: "Trigger Name", className: "text-sm text-muted-foreground", autoComplete: "off", ...field }) })] })) }), !(provider === null || provider === void 0 ? void 0 : provider.identifier) && (_jsxs(_Fragment, { children: [_jsxs("div", { className: "flex gap-3", children: [_jsx(FormField, { control: form.control, name: "type", render: ({ field }) => (_jsxs(FormItem, { className: "flex-1", children: [_jsx(FormLabel, { children: "Channel" }), _jsx(FormControl, { children: _jsxs(Select, { onValueChange: field.onChange, value: field.value, children: [_jsx(SelectTrigger, { size: "sm", className: "text-xs w-full text-muted-foreground", children: _jsx(SelectValue, { placeholder: "Select Channel" }) }), _jsxs(SelectContent, { children: [_jsx(SelectItem, { value: "ussd", children: "USSD" }), _jsx(SelectItem, { value: "telegram", children: "Telegram" }), _jsx(SelectItem, { value: "whatsapp", children: "WhatsApp" }), _jsx(SelectItem, { value: "instagram", children: "Instagram" }), _jsx(SelectItem, { value: "slack", children: "Slack" }), _jsx(SelectItem, { value: "teams", children: "Microsoft Teams" }), _jsx(SelectItem, { value: "discord", children: "Discord" }), _jsx(SelectItem, { value: "line", children: "Line" }), _jsx(SelectItem, { value: "viber", children: "Viber" })] })] }) }), _jsx(FormMessage, {})] })) }), selectedType === 'ussd' && (_jsx(FormField, { control: form.control, name: "provider", render: ({ field }) => {
215
+ var _a, _b, _c;
216
+ return (_jsxs(FormItem, { className: "flex-1", children: [_jsx(FormLabel, { children: "Provider" }), _jsx(FormControl, { children: _jsxs(Select, { onValueChange: field.onChange, value: field.value, children: [_jsx(SelectTrigger, { size: "sm", className: "text-xs w-full text-muted-foreground", children: _jsx(SelectValue, { placeholder: "Select Provider" }) }), _jsx(SelectContent, { children: (_c = (_b = (_a = providers === null || providers === void 0 ? void 0 : providers.results) === null || _a === void 0 ? void 0 : _a.filter((p) => p.type === 'ussd')) === null || _b === void 0 ? void 0 : _b.sort((a, b) => a.name.localeCompare(b.name))) === null || _c === void 0 ? void 0 : _c.map((p) => (_jsx(SelectItem, { value: p.identifier, children: p.name }, p.identifier))) })] }) }), _jsx(FormMessage, {})] }));
217
+ } }))] }), adapter === null || adapter === void 0 ? void 0 : adapter.credentials.map(({ key, label, placeholder }) => (_jsx(FormField, { control: form.control, name: key, render: ({ field }) => (_jsxs(FormItem, { children: [_jsxs("div", { className: "flex justify-between items-center", children: [_jsx(FormLabel, { children: label }), _jsx(FormMessage, {})] }), _jsx(FormControl, { children: _jsx(Input, { className: "text-xs font-mono text-muted-foreground", placeholder: placeholder, autoComplete: "off", ...field }) })] })) }, key)))] }))] }));
176
218
  }
177
219
  //# sourceMappingURL=triggers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"triggers.js","sourceRoot":"","sources":["../src/triggers.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"triggers.js","sourceRoot":"","sources":["../src/triggers.tsx"],"names":[],"mappings":"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"}