flowstudio 0.0.29 → 0.0.31

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (190) hide show
  1. package/dist/ai_creator.d.ts +1 -1
  2. package/dist/ai_creator.js +32 -128
  3. package/dist/ai_creator.js.map +1 -1
  4. package/dist/api_calls.d.ts +2 -0
  5. package/dist/api_calls.js +148 -0
  6. package/dist/api_calls.js.map +1 -0
  7. package/dist/app_analytics.d.ts +1 -1
  8. package/dist/app_analytics.js +75 -69
  9. package/dist/app_analytics.js.map +1 -1
  10. package/dist/app_details.d.ts +1 -1
  11. package/dist/app_details.js +25 -24
  12. package/dist/app_details.js.map +1 -1
  13. package/dist/app_layout.d.ts +2 -2
  14. package/dist/app_layout.js +4 -4
  15. package/dist/app_layout.js.map +1 -1
  16. package/dist/app_settings.d.ts +1 -1
  17. package/dist/app_settings.js +74 -7
  18. package/dist/app_settings.js.map +1 -1
  19. package/dist/bottom_left_panel.d.ts +1 -0
  20. package/dist/bottom_left_panel.js +8 -0
  21. package/dist/bottom_left_panel.js.map +1 -0
  22. package/dist/code.d.ts +1 -1
  23. package/dist/code.js +6 -2
  24. package/dist/code.js.map +1 -1
  25. package/dist/components/ftable.d.ts +13 -0
  26. package/dist/components/ftable.js +65 -0
  27. package/dist/components/ftable.js.map +1 -0
  28. package/dist/components/gsheet/index.d.ts +1 -0
  29. package/dist/components/gsheet/index.js +21 -0
  30. package/dist/components/gsheet/index.js.map +1 -0
  31. package/dist/components/mention_input/index.d.ts +18 -1
  32. package/dist/components/mention_input/index.js +203 -111
  33. package/dist/components/mention_input/index.js.map +1 -1
  34. package/dist/components/paginator_table.d.ts +1 -1
  35. package/dist/components/paginator_table.js +2 -2
  36. package/dist/components/paginator_table.js.map +1 -1
  37. package/dist/components/sheet/index.d.ts +1 -1
  38. package/dist/components/sheet/index.js +4 -2
  39. package/dist/components/sheet/index.js.map +1 -1
  40. package/dist/components/ui/alert.d.ts +8 -0
  41. package/dist/components/ui/alert.js +23 -0
  42. package/dist/components/ui/alert.js.map +1 -0
  43. package/dist/components/ui/badge.d.ts +9 -0
  44. package/dist/components/ui/badge.js +21 -0
  45. package/dist/components/ui/badge.js.map +1 -0
  46. package/dist/components/ui/button.d.ts +11 -0
  47. package/dist/components/ui/button.js +35 -0
  48. package/dist/components/ui/button.js.map +1 -0
  49. package/dist/components/ui/card.d.ts +8 -0
  50. package/dist/components/ui/card.js +17 -0
  51. package/dist/components/ui/card.js.map +1 -0
  52. package/dist/components/ui/dialog.d.ts +19 -0
  53. package/dist/components/ui/dialog.js +33 -0
  54. package/dist/components/ui/dialog.js.map +1 -0
  55. package/dist/components/ui/dropdown-menu.d.ts +27 -0
  56. package/dist/components/ui/dropdown-menu.js +46 -0
  57. package/dist/components/ui/dropdown-menu.js.map +1 -0
  58. package/dist/components/ui/form.d.ts +24 -0
  59. package/dist/components/ui/form.js +61 -0
  60. package/dist/components/ui/form.js.map +1 -0
  61. package/dist/components/ui/input-group.d.ts +16 -0
  62. package/dist/components/ui/input-group.js +65 -0
  63. package/dist/components/ui/input-group.js.map +1 -0
  64. package/dist/components/ui/input.d.ts +5 -0
  65. package/dist/components/ui/input.js +9 -0
  66. package/dist/components/ui/input.js.map +1 -0
  67. package/dist/components/ui/label.d.ts +5 -0
  68. package/dist/components/ui/label.js +10 -0
  69. package/dist/components/ui/label.js.map +1 -0
  70. package/dist/components/ui/popover.d.ts +7 -0
  71. package/dist/components/ui/popover.js +23 -0
  72. package/dist/components/ui/popover.js.map +1 -0
  73. package/dist/components/ui/scroll-area.d.ts +5 -0
  74. package/dist/components/ui/scroll-area.js +12 -0
  75. package/dist/components/ui/scroll-area.js.map +1 -0
  76. package/dist/components/ui/select.d.ts +13 -0
  77. package/dist/components/ui/select.js +37 -0
  78. package/dist/components/ui/select.js.map +1 -0
  79. package/dist/components/ui/separator.d.ts +4 -0
  80. package/dist/components/ui/separator.js +8 -0
  81. package/dist/components/ui/separator.js.map +1 -0
  82. package/dist/components/ui/sheet.d.ts +13 -0
  83. package/dist/components/ui/sheet.js +93 -0
  84. package/dist/components/ui/sheet.js.map +1 -0
  85. package/dist/components/ui/skeleton.d.ts +2 -0
  86. package/dist/components/ui/skeleton.js +7 -0
  87. package/dist/components/ui/skeleton.js.map +1 -0
  88. package/dist/components/ui/sonner.d.ts +3 -0
  89. package/dist/components/ui/sonner.js +42 -0
  90. package/dist/components/ui/sonner.js.map +1 -0
  91. package/dist/components/ui/spinner.d.ts +7 -0
  92. package/dist/components/ui/spinner.js +17 -0
  93. package/dist/components/ui/spinner.js.map +1 -0
  94. package/dist/components/ui/switch.d.ts +4 -0
  95. package/dist/components/ui/switch.js +8 -0
  96. package/dist/components/ui/switch.js.map +1 -0
  97. package/dist/components/ui/table.d.ts +10 -0
  98. package/dist/components/ui/table.js +21 -0
  99. package/dist/components/ui/table.js.map +1 -0
  100. package/dist/components/ui/tabs.d.ts +7 -0
  101. package/dist/components/ui/tabs.js +13 -0
  102. package/dist/components/ui/tabs.js.map +1 -0
  103. package/dist/components/ui/textarea.d.ts +5 -0
  104. package/dist/components/ui/textarea.js +9 -0
  105. package/dist/components/ui/textarea.js.map +1 -0
  106. package/dist/components/ui/tooltip.d.ts +7 -0
  107. package/dist/components/ui/tooltip.js +11 -0
  108. package/dist/components/ui/tooltip.js.map +1 -0
  109. package/dist/constants.js +2 -2
  110. package/dist/constants.js.map +1 -1
  111. package/dist/context.d.ts +1 -1
  112. package/dist/context.js +2 -2
  113. package/dist/context.js.map +1 -1
  114. package/dist/envs.d.ts +2 -2
  115. package/dist/envs.js +2 -150
  116. package/dist/envs.js.map +1 -1
  117. package/dist/functions.d.ts +2 -5
  118. package/dist/functions.js +2 -210
  119. package/dist/functions.js.map +1 -1
  120. package/dist/globals.css +253 -0
  121. package/dist/home.d.ts +1 -1
  122. package/dist/home.js +24 -14
  123. package/dist/home.js.map +1 -1
  124. package/dist/index.d.ts +2 -2
  125. package/dist/index.js +57 -16
  126. package/dist/index.js.map +1 -1
  127. package/dist/lib/pane-context.d.ts +10 -0
  128. package/dist/lib/pane-context.js +21 -0
  129. package/dist/lib/pane-context.js.map +1 -0
  130. package/dist/lib/toast.d.ts +12 -0
  131. package/dist/lib/toast.js +36 -0
  132. package/dist/lib/toast.js.map +1 -0
  133. package/dist/lib/utils.d.ts +2 -0
  134. package/dist/lib/utils.js +6 -0
  135. package/dist/lib/utils.js.map +1 -0
  136. package/dist/new_project.d.ts +1 -1
  137. package/dist/new_project.js +60 -41
  138. package/dist/new_project.js.map +1 -1
  139. package/dist/node.d.ts +2 -2
  140. package/dist/node.js +157 -39
  141. package/dist/node.js.map +1 -1
  142. package/dist/project_widget.d.ts +2 -1
  143. package/dist/project_widget.js +6 -2
  144. package/dist/project_widget.js.map +1 -1
  145. package/dist/secrets.d.ts +2 -0
  146. package/dist/secrets.js +129 -0
  147. package/dist/secrets.js.map +1 -0
  148. package/dist/simulator.d.ts +1 -1
  149. package/dist/simulator.js +36 -33
  150. package/dist/simulator.js.map +1 -1
  151. package/dist/studio_pane.d.ts +1 -1
  152. package/dist/studio_pane.js +281 -56
  153. package/dist/studio_pane.js.map +1 -1
  154. package/dist/studio_pane_old.d.ts +1 -1
  155. package/dist/studio_pane_old.js +2 -3
  156. package/dist/studio_pane_old.js.map +1 -1
  157. package/dist/studio_pane_old_new.d.ts +1 -1
  158. package/dist/studio_pane_old_new.js +2 -3
  159. package/dist/studio_pane_old_new.js.map +1 -1
  160. package/dist/styles/globals.css +59 -0
  161. package/dist/styles.css +2 -0
  162. package/dist/top_center_panel.d.ts +1 -1
  163. package/dist/top_center_panel.js +4 -3
  164. package/dist/top_center_panel.js.map +1 -1
  165. package/dist/top_left_panel.d.ts +1 -1
  166. package/dist/top_left_panel.js +7 -41
  167. package/dist/top_left_panel.js.map +1 -1
  168. package/dist/top_right_panel.d.ts +1 -1
  169. package/dist/top_right_panel.js +12 -13
  170. package/dist/top_right_panel.js.map +1 -1
  171. package/dist/triggers.d.ts +2 -2
  172. package/dist/triggers.js +57 -37
  173. package/dist/triggers.js.map +1 -1
  174. package/dist/zustand/store.d.ts +319 -3
  175. package/package.json +51 -24
  176. package/src/globals.css +253 -0
  177. package/src/styles/globals.css +59 -0
  178. package/dist/components/combo_box/index.d.ts +0 -2
  179. package/dist/components/combo_box/index.js +0 -150
  180. package/dist/components/combo_box/index.js.map +0 -1
  181. package/dist/components/combo_box/style.css +0 -10
  182. package/dist/components/date_picker/index.d.ts +0 -1
  183. package/dist/components/date_picker/index.js +0 -46
  184. package/dist/components/date_picker/index.js.map +0 -1
  185. package/dist/components/date_picker/style.css +0 -204
  186. package/dist/components/gtable.d.ts +0 -15
  187. package/dist/components/gtable.js +0 -122
  188. package/dist/components/gtable.js.map +0 -1
  189. package/src/components/combo_box/style.css +0 -10
  190. package/src/components/date_picker/style.css +0 -204
@@ -1 +1 @@
1
- export default function AICreator({ projectId }: any): import("react/jsx-runtime").JSX.Element;
1
+ export default function AICreator({ projectId }: any): import("react").JSX.Element;
@@ -1,140 +1,44 @@
1
+ "use client";
1
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { yupResolver } from "@hookform/resolvers/yup";
3
- import { Button, Card, Flex, TextField, Text, Spinner, Popover, Tooltip } from "@radix-ui/themes";
4
- import { useForm } from "react-hook-form";
3
+ import { useState } from "react";
5
4
  import * as Form from "@radix-ui/react-form";
6
- import { useMemo, useState } from "react";
5
+ import { useForm } from "react-hook-form";
6
+ import { yupResolver } from "@hookform/resolvers/yup";
7
7
  import * as Yup from "yup";
8
- import parse from 'html-react-parser';
9
- import { SendHorizonalIcon } from "lucide-react";
10
- import { useReactFlow } from "@xyflow/react";
11
- import GNode from './node';
8
+ import { Popover, PopoverContent, PopoverTrigger, } from "@osanim/shared";
9
+ import { Tooltip, TooltipContent, TooltipTrigger, } from "@osanim/shared";
10
+ import { Button } from "@osanim/shared";
11
+ import { Input } from "@osanim/shared";
12
+ import { ScrollArea } from "@osanim/shared";
13
+ import { SendHorizonalIcon, Plus, Mic, MessageSquare, } from "lucide-react";
12
14
  export default function AICreator({ projectId }) {
13
- var _a, _b;
14
- const [deploymentType, setDeploymentType] = useState('draft');
15
- const [userType, setUserType] = useState('normal');
16
- const [flowMessage, setFlowMessage] = useState('');
17
- const [refreshing, setRefreshing] = useState(false);
18
- // const [description, setDescription] = useState('');
15
+ const [messages, setMessages] = useState([]);
19
16
  const [isGenerating, setIsGenerating] = useState(false);
20
- const { setEdges, setNodes } = useReactFlow();
21
- const nodeTypes = useMemo(() => ({ gNode: GNode }), []);
22
- // const aiEndpoint = ``
23
- // const NODE_TYPES = ''
24
- const AI_API_KEY = '';
25
- async function generateFlowFromDescription(description) {
26
- const prompt = `
27
- Convert this flow description into nodes and edges:
28
- "${description}"
29
-
30
- Available node types: ${JSON.stringify(nodeTypes)}
31
- Respond with JSON format: {nodes: [], edges: []}
32
- `;
33
- const response = await fetch('https://api.openai.com/v1/chat/completions', {
34
- method: 'POST',
35
- headers: {
36
- 'Content-Type': 'application/json',
37
- 'Authorization': `Bearer ${AI_API_KEY}`
38
- },
39
- body: JSON.stringify({
40
- model: "gpt-4",
41
- messages: [{ role: "user", content: prompt }],
42
- temperature: 0.7
43
- })
44
- });
45
- return parseAIResponse(await response.json());
46
- }
47
- const ussdFormSchema = Yup.object().shape({
48
- query: Yup.string().required('required')
17
+ const schema = Yup.object().shape({
18
+ query: Yup.string().required(),
49
19
  });
50
- const { register: registerInput, handleSubmit: handleFormSubmit, getValues: getUssdValues, setValue: setUssdValue, setFocus, reset: resetForm, formState: { errors, isSubmitting }, } = useForm({
51
- resolver: yupResolver(ussdFormSchema),
52
- defaultValues: {}
20
+ const { register, handleSubmit, reset, formState: { errors, isSubmitting }, } = useForm({
21
+ resolver: yupResolver(schema),
53
22
  });
54
- const handleSubmit = async (data) => {
23
+ const handleSend = async (data) => {
24
+ const userMessage = { role: "user", content: data.query };
25
+ setMessages((prev) => [...prev, userMessage]);
55
26
  setIsGenerating(true);
56
- try {
57
- const flow = await generateFlowFromDescription(data.query);
58
- // Update your ReactFlow instance with the new nodes/edges
59
- setNodes(flow.nodes);
60
- setEdges(flow.edges);
61
- }
62
- finally {
27
+ // 👉 Call your existing AI logic here
28
+ // const flow = await generateFlowFromDescription(data.query)
29
+ setTimeout(() => {
30
+ setMessages((prev) => [
31
+ ...prev,
32
+ { role: "ai", content: "Generated flow successfully 🚀" },
33
+ ]);
63
34
  setIsGenerating(false);
64
- }
35
+ }, 1000);
36
+ reset();
65
37
  };
66
- function parseAIResponse(apiResponse, existingNodes = []) {
67
- var _a, _b;
68
- try {
69
- const content = (_b = (_a = apiResponse.choices[0]) === null || _a === void 0 ? void 0 : _a.message) === null || _b === void 0 ? void 0 : _b.content;
70
- if (!content)
71
- throw new Error('Empty AI response');
72
- const parsed = JSON.parse(content);
73
- // Validate nodes
74
- if (!Array.isArray(parsed.nodes)) {
75
- throw new Error('Nodes must be an array');
76
- }
77
- // Calculate positions to avoid overlap
78
- const existingXPositions = existingNodes.map((n) => n.position.x);
79
- const maxX = existingXPositions.length > 0 ? Math.max(...existingXPositions) : 0;
80
- const startX = maxX + 200; // Start new nodes to the right
81
- // Process nodes
82
- const nodes = parsed.nodes.map((node, index) => {
83
- if (!node.id)
84
- throw new Error('Node missing ID');
85
- return {
86
- id: String(node.id),
87
- type: validateNodeType(node.type), // Ensure type is valid
88
- data: {
89
- label: node.label || `Step ${index + 1}`,
90
- ...(node.data || {}) // Preserve additional data
91
- },
92
- position: node.position || {
93
- x: startX + (index * 200),
94
- y: (index % 3) * 100 // Stagger vertically
95
- },
96
- ...(node.style && { style: node.style })
97
- };
98
- });
99
- // Process edges
100
- const edges = (parsed.edges || []).map((edge, index) => {
101
- if (!edge.source || !edge.target) {
102
- throw new Error('Edge missing source or target');
103
- }
104
- return {
105
- id: edge.id || `edge-${edge.source}-${edge.target}-${index}`,
106
- source: String(edge.source),
107
- target: String(edge.target),
108
- label: edge.label || '',
109
- type: edge.type || 'default',
110
- ...(edge.animated && { animated: true })
111
- };
112
- });
113
- return { nodes, edges };
114
- }
115
- catch (error) {
116
- console.log('AI Response Parsing Error:', error);
117
- // Fallback UI that shows the error to the user
118
- return {
119
- nodes: [{
120
- id: 'error-node',
121
- type: 'error',
122
- data: {
123
- label: 'Error Generating Flow',
124
- error: error === null || error === void 0 ? void 0 : error.message
125
- },
126
- position: { x: 0, y: 0 }
127
- }],
128
- edges: [],
129
- error: error.message
130
- };
131
- }
132
- }
133
- // Helper function to validate node types
134
- function validateNodeType(type) {
135
- const validTypes = ['input', 'output', 'default', 'custom']; // Add your types
136
- return validTypes.includes(type) ? type : 'default';
137
- }
138
- return (_jsxs(Popover.Root, { children: [_jsx(Tooltip, { content: 'AI Mode - Coming Soon', side: 'right', children: _jsx(Popover.Trigger, { children: _jsx(Button, { disabled: true, size: '1', highContrast: true, children: "AI" }) }) }), _jsx(Popover.Content, { side: 'right', sideOffset: 10, children: _jsxs(Flex, { direction: 'column', gap: '3', children: [_jsx(Flex, { justify: 'between', children: _jsx(Text, { weight: 'bold', children: "AI App Designer" }) }), _jsx(Card, { style: { height: 'auto', minHeight: '200px', width: '100%', maxWidth: '300px' }, children: _jsx(Text, { wrap: 'wrap', color: 'gray', size: '1', children: parse(flowMessage) || 'No message' }) }), _jsx(Form.Root, { onSubmit: handleFormSubmit(handleSubmit), noValidate: true, children: _jsxs(Form.Field, { name: 'query', serverInvalid: errors.query != null, children: [_jsx(TextField.Root, { type: "text", ...registerInput('query'), id: "query", autoComplete: "off", placeholder: 'Ask AI anything', autoFocus: true, children: _jsx(TextField.Slot, { side: 'right', pr: '1', children: _jsxs(Button, { size: '1', highContrast: true, disabled: true, type: "submit", children: [_jsx(Spinner, { loading: isSubmitting }), !isSubmitting && _jsx(SendHorizonalIcon, { size: '15' })] }) }) }), ((_a = errors.query) === null || _a === void 0 ? void 0 : _a.message) && _jsx(Form.Message, { children: (_b = errors.query) === null || _b === void 0 ? void 0 : _b.message })] }) })] }) })] }));
38
+ return (_jsxs(Popover, { children: [_jsxs(Tooltip, { children: [_jsx(TooltipTrigger, { asChild: true, children: _jsx(PopoverTrigger, { asChild: true, children: _jsx(Button, { size: "xs", variant: "secondary", className: "text-xs", children: "AI Prompting" }) }) }), _jsx(TooltipContent, { side: "right", children: "AI Mode" })] }), _jsx(PopoverContent, { side: "top", align: "start", className: "w-[380px] p-0 overflow-hidden", children: _jsxs("div", { className: "flex flex-col h-[500px]", children: [_jsx("div", { className: "p-3 border-b font-semibold", children: "AI App Designer" }), _jsxs(ScrollArea, { className: "flex-1 p-3 space-y-3", children: [messages.length === 0 && (_jsx("p", { className: "text-xs text-muted-foreground", children: "Ask AI to generate your USSD flow..." })), messages.map((msg, i) => (_jsx("div", { className: `flex ${msg.role === "user"
39
+ ? "justify-end"
40
+ : "justify-start"}`, children: _jsx("div", { className: `max-w-[75%] rounded-xl px-3 py-2 text-sm ${msg.role === "user"
41
+ ? "bg-primary text-white"
42
+ : "bg-muted"}`, children: msg.content }) }, i)))] }), _jsx("div", { className: "p-2 border-t", children: _jsxs(Form.Root, { onSubmit: handleSubmit(handleSend), children: [_jsx("div", { className: "p-[1.5px] rounded-2xl bg-gradient-to-r from-pink-500 via-purple-500 to-blue-500", children: _jsxs("div", { className: "relative rounded-2xl bg-[#1f1f1f] text-white", children: [_jsx(Input, { ...register("query"), placeholder: "Ask AI to create a USSD flow...", className: "bg-transparent border-none outline-0 text-white placeholder:text-gray-400 pr-24 h-12" }), _jsx("div", { className: "absolute left-2 top-1/2 -translate-y-1/2", children: _jsx(Button, { size: "icon", variant: "ghost", children: _jsx(Plus, { size: 16 }) }) }), _jsxs("div", { className: "absolute right-2 top-1/2 -translate-y-1/2 flex items-center gap-1", children: [_jsx(Button, { size: "icon", variant: "ghost", children: _jsx(MessageSquare, { size: 16 }) }), _jsx(Button, { size: "icon", variant: "ghost", children: _jsx(Mic, { size: 10 }) }), _jsx(Button, { size: "sm", type: "submit", disabled: isSubmitting, className: "rounded-full", children: _jsx(SendHorizonalIcon, { size: 10 }) })] })] }) }), errors.query && (_jsx("p", { className: "text-xs text-red-500 mt-1", children: errors.query.message }))] }) })] }) })] }));
139
43
  }
140
44
  //# sourceMappingURL=ai_creator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ai_creator.js","sourceRoot":"","sources":["../src/ai_creator.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ai_creator.js","sourceRoot":"","sources":["../src/ai_creator.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export default function APICalls({ api_key, project, functions, functionsRefetch, envs }: any): import("react").JSX.Element;
2
+ export declare function APICallItem({ api_key, project, item, refetch, allFunctions, envs }: any): import("react").JSX.Element;
@@ -0,0 +1,148 @@
1
+ 'use client';
2
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
3
+ import { Button, Tabs, TabsList, TabsTrigger } from "@osanim/shared";
4
+ import { Alert, AlertDescription } from "@osanim/shared";
5
+ import { Card } from "@osanim/shared";
6
+ import { Popover, PopoverContent, PopoverTrigger, PopoverClose } from "@osanim/shared";
7
+ import { Separator } from "@osanim/shared";
8
+ import { Spinner } from "@osanim/shared";
9
+ import { Input } from "@osanim/shared";
10
+ import * as Collapsible from '@radix-ui/react-collapsible';
11
+ import { FaChevronDown } from "react-icons/fa";
12
+ import { useEffect, useState } from "react";
13
+ import * as Zod from "zod";
14
+ import { zodResolver } from "@hookform/resolvers/zod";
15
+ import { useForm } from "react-hook-form";
16
+ import { Form, FormControl, FormField, FormItem, FormLabel, FormMessage } from "@osanim/shared";
17
+ import { BsTrash } from "react-icons/bs";
18
+ import flow_constants from "./constants";
19
+ import { toast } from "./lib/toast";
20
+ import { Plus } from "lucide-react";
21
+ import { useReactFlow } from "@xyflow/react";
22
+ import MentionTextarea from "./components/mention_input";
23
+ const isValidJson = (value) => {
24
+ if (!value)
25
+ return true;
26
+ try {
27
+ JSON.parse(value);
28
+ return true;
29
+ }
30
+ catch {
31
+ return false;
32
+ }
33
+ };
34
+ const formSchema = Zod.object({
35
+ name: Zod.string().min(1, 'required'),
36
+ api: Zod.string().refine(isValidJson, { message: 'Must be valid JSON' }),
37
+ call_type: Zod.enum(['fetch', 'action']).default('fetch'),
38
+ });
39
+ export default function APICalls({ api_key, project, functions, functionsRefetch, envs }) {
40
+ var _a;
41
+ const [open, setOpen] = useState(false);
42
+ const { getNodes } = useReactFlow();
43
+ const form = useForm({
44
+ resolver: zodResolver(formSchema),
45
+ defaultValues: { name: '', api: '', call_type: 'fetch' }
46
+ });
47
+ const onSubmit = async (data) => {
48
+ try {
49
+ const api_name = (data.name || '').trim().toLowerCase().replace(/\s+/g, '_').replace(/[^a-z0-9_]/g, '');
50
+ form.setValue('name', api_name);
51
+ const response = await fetch(`${flow_constants.BACKEND_ENDPOINT}/api-calls`, {
52
+ method: 'POST',
53
+ headers: { 'X-API-KEY': `${api_key}`, 'Content-Type': 'application/json' },
54
+ body: JSON.stringify({
55
+ project: project === null || project === void 0 ? void 0 : project.identifier,
56
+ name: api_name,
57
+ api: data.api ? JSON.parse(data.api) : {},
58
+ call_type: data.call_type || 'fetch',
59
+ }),
60
+ });
61
+ if (response.ok) {
62
+ functionsRefetch();
63
+ form.reset();
64
+ setOpen(false);
65
+ toast.success('API Call Created Successfully');
66
+ }
67
+ else {
68
+ toast.error('Failed to create API call');
69
+ }
70
+ }
71
+ catch (e) {
72
+ console.log(e);
73
+ }
74
+ };
75
+ 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: "Create API calls to use in your flow. Each call has a name and a JSON configuration." }) }), _jsxs("div", { className: "flex justify-between items-center", children: [_jsx("span", { className: "text-sm font-bold", children: "API Calls" }), _jsxs(Popover, { open: open, onOpenChange: setOpen, children: [_jsx(PopoverTrigger, { asChild: true, children: _jsxs(Button, { size: "xs", className: "text-xs", children: [_jsx(Plus, {}), " API Call"] }) }), _jsx(PopoverContent, { align: "end", className: "w-[400px]", children: _jsx("div", { className: "flex flex-col gap-3", children: _jsx(Form, { ...form, children: _jsx("form", { onSubmit: form.handleSubmit(onSubmit), children: _jsxs("div", { className: "flex flex-col gap-4", children: [_jsx(APICallFormFields, { form: form, nodes: getNodes(), apiCalls: (functions === null || functions === void 0 ? void 0 : functions.results) || [], secrets: (envs === null || envs === void 0 ? void 0 : envs.results) || [] }), _jsxs("div", { className: "flex justify-end gap-3", children: [_jsx(PopoverClose, { asChild: true, children: _jsx(Button, { type: "button", variant: "ghost", size: "sm", children: "Cancel" }) }), _jsxs(Button, { type: "submit", disabled: form.formState.isSubmitting, size: "sm", children: [_jsx(Spinner, { loading: form.formState.isSubmitting }), form.formState.isSubmitting ? 'Creating' : 'Create'] })] })] }) }) }) }) })] })] }), (_a = functions === null || functions === void 0 ? void 0 : functions.results) === null || _a === void 0 ? void 0 : _a.map((val, ind) => (_jsx(APICallItem, { api_key: api_key, project: project, item: val, refetch: functionsRefetch, allFunctions: functions === null || functions === void 0 ? void 0 : functions.results, envs: envs }, ind)))] }));
76
+ }
77
+ export function APICallItem({ api_key, project, item, refetch, allFunctions, envs }) {
78
+ const [deleting, setDeleting] = useState(false);
79
+ const { getNodes } = useReactFlow();
80
+ const form = useForm({
81
+ resolver: zodResolver(formSchema),
82
+ defaultValues: { name: '', api: '', call_type: 'fetch' }
83
+ });
84
+ const onSubmit = async (data) => {
85
+ try {
86
+ const api_name = (data.name || '').trim().toLowerCase().replace(/\s+/g, '_').replace(/[^a-z0-9_]/g, '');
87
+ form.setValue('name', api_name);
88
+ const response = await fetch(`${flow_constants.BACKEND_ENDPOINT}/api-calls/${item === null || item === void 0 ? void 0 : item.identifier}`, {
89
+ method: 'PATCH',
90
+ headers: { 'X-API-KEY': `${api_key}`, 'Content-Type': 'application/json' },
91
+ body: JSON.stringify({
92
+ project: item === null || item === void 0 ? void 0 : item.project,
93
+ name: api_name,
94
+ api: data.api ? JSON.parse(data.api) : {},
95
+ call_type: data.call_type || 'fetch',
96
+ }),
97
+ });
98
+ if (response.ok) {
99
+ refetch();
100
+ toast.success('API Call Updated Successfully');
101
+ }
102
+ else {
103
+ toast.error('Failed to update API call');
104
+ }
105
+ }
106
+ catch (e) {
107
+ console.log(e);
108
+ }
109
+ };
110
+ useEffect(() => {
111
+ if (item) {
112
+ form.reset({
113
+ name: item.name,
114
+ api: item.api ? JSON.stringify(item.api, null, 2) : '',
115
+ call_type: item.call_type || 'fetch',
116
+ });
117
+ }
118
+ }, [item]);
119
+ const deleteItem = async (identifier) => {
120
+ try {
121
+ setDeleting(true);
122
+ const response = await fetch(`${flow_constants.BACKEND_ENDPOINT}/api-calls/${identifier}`, {
123
+ method: 'DELETE',
124
+ headers: { 'X-API-KEY': `${api_key}`, 'Content-Type': 'application/json' },
125
+ });
126
+ if (response.ok) {
127
+ refetch();
128
+ toast.success('API Call Deleted Successfully');
129
+ }
130
+ else {
131
+ toast.error('Failed to delete API call');
132
+ }
133
+ setDeleting(false);
134
+ }
135
+ catch (e) {
136
+ console.log('API Call Error: ' + e);
137
+ setDeleting(false);
138
+ }
139
+ };
140
+ return (_jsx(Card, { className: "p-0 rounded-md", children: _jsx(Form, { ...form, children: _jsx("form", { onSubmit: form.handleSubmit(onSubmit), noValidate: true, children: _jsx(Collapsible.Root, { defaultOpen: false, children: _jsxs("div", { className: "flex flex-col", children: [_jsx(Collapsible.Trigger, { style: { backgroundColor: 'transparent', border: 'none', padding: 0 }, children: _jsxs("div", { className: "flex justify-between items-center p-2 bg-accent/50", children: [_jsx("span", { className: "font-bold text-muted-foreground", children: form.watch('name') }), _jsx(FaChevronDown, { className: "text-muted-foreground" })] }) }), _jsx(Collapsible.Content, { children: _jsxs("div", { className: "flex flex-col gap-3", children: [_jsx(Separator, {}), _jsxs("div", { className: "flex flex-col gap-3 px-3 pb-3", children: [_jsx(APICallFormFields, { form: form, nodes: getNodes(), apiCalls: allFunctions || [], secrets: (envs === null || envs === void 0 ? void 0 : envs.results) || [] }), _jsxs("div", { className: "flex justify-end gap-3", children: [_jsxs(Button, { type: "submit", size: "sm", 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 API Call", variant: "destructive", size: "sm", children: _jsx(BsTrash, {}) }) }), _jsxs(PopoverContent, { align: "end", className: "w-[250px]", children: [_jsx("p", { className: "text-xs text-muted-foreground", children: "Are you sure you want to delete this API Call?" }), _jsx(Separator, { className: "my-3" }), _jsxs("div", { className: "flex justify-end gap-3 mt-3", children: [_jsx(PopoverClose, { asChild: true, children: _jsx(Button, { variant: "ghost", size: "sm", children: "Cancel" }) }), _jsxs(Button, { variant: "destructive", type: "button", size: "sm", disabled: deleting, onClick: () => { deleteItem(item === null || item === void 0 ? void 0 : item.identifier); }, children: [_jsx(Spinner, { loading: deleting }), " ", deleting ? 'Deleting' : 'Delete'] })] })] })] })] })] })] }) })] }) }) }) }) }));
141
+ }
142
+ function APICallFormFields({ form, nodes = [], apiCalls = [], secrets = [] }) {
143
+ const callType = form.watch('call_type') || 'fetch';
144
+ return (_jsxs(_Fragment, { children: [_jsx(FormField, { control: form.control, name: "call_type", render: ({ field }) => (_jsxs(FormItem, { children: [_jsxs("div", { className: "flex justify-between items-center", children: [_jsx(FormLabel, { className: "text-xs", children: "Type" }), _jsx(FormControl, { children: _jsx(Tabs, { value: callType, onValueChange: field.onChange, children: _jsxs(TabsList, { className: "h-6 p-0.5", children: [_jsx(TabsTrigger, { value: "fetch", className: "h-5 px-2 text-xs", children: "Fetch" }), _jsx(TabsTrigger, { value: "action", className: "h-5 px-2 text-xs", children: "Action" })] }) }) })] }), _jsx("p", { className: "text-[10px] text-muted-foreground text-right", children: callType === 'action'
145
+ ? 'Executes and auto-advances (e.g. SMS, email)'
146
+ : 'Returns a list for the user to select from' })] })) }), _jsx(FormField, { control: form.control, name: "name", render: ({ field }) => (_jsxs(FormItem, { children: [_jsxs("div", { className: "flex justify-between items-center", children: [_jsx(FormLabel, { children: "Name" }), _jsx(FormMessage, {})] }), _jsx(FormControl, { children: _jsx(Input, { placeholder: "e.g. product_name, unit_cost", className: "text-sm text-muted-foreground", autoComplete: "off", "aria-label": "API Call Name", onChange: (e) => field.onChange(e.target.value.toLowerCase().replace(/\s+/g, '_')), value: field.value }) })] })) }), _jsx(FormField, { control: form.control, name: "api", render: ({ field }) => (_jsxs(FormItem, { children: [_jsxs("div", { className: "flex justify-between items-center", children: [_jsx(FormLabel, { children: "API (JSON)" }), _jsx(FormMessage, {})] }), _jsx(FormControl, { children: _jsx(MentionTextarea, { placeholder: '{"url": "https://api.example.com", "method": "POST"}', className: "text-sm text-muted-foreground min-h-[160px] font-mono", value: field.value, onChange: field.onChange, nodes: nodes, apiCalls: apiCalls, secrets: secrets }) })] })) })] }));
147
+ }
148
+ //# sourceMappingURL=api_calls.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api_calls.js","sourceRoot":"","sources":["../src/api_calls.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- export default function AppAnalytics({ api_key, project }: any): import("react/jsx-runtime").JSX.Element;
1
+ export default function AppAnalytics({ api_key, project }: any): import("react").JSX.Element;