flowstudio 0.0.30 → 0.0.32

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 (193) hide show
  1. package/README.md +3 -3
  2. package/dist/ai_creator.d.ts +1 -1
  3. package/dist/ai_creator.js +24 -128
  4. package/dist/ai_creator.js.map +1 -1
  5. package/dist/api_calls.d.ts +2 -0
  6. package/dist/api_calls.js +147 -0
  7. package/dist/api_calls.js.map +1 -0
  8. package/dist/app_analytics.d.ts +1 -1
  9. package/dist/app_analytics.js +75 -69
  10. package/dist/app_analytics.js.map +1 -1
  11. package/dist/app_details.d.ts +1 -1
  12. package/dist/app_details.js +25 -24
  13. package/dist/app_details.js.map +1 -1
  14. package/dist/app_layout.d.ts +2 -2
  15. package/dist/app_layout.js +4 -4
  16. package/dist/app_layout.js.map +1 -1
  17. package/dist/app_settings.d.ts +1 -1
  18. package/dist/app_settings.js +76 -8
  19. package/dist/app_settings.js.map +1 -1
  20. package/dist/bottom_left_panel.d.ts +1 -0
  21. package/dist/bottom_left_panel.js +8 -0
  22. package/dist/bottom_left_panel.js.map +1 -0
  23. package/dist/code.d.ts +1 -1
  24. package/dist/code.js +6 -2
  25. package/dist/code.js.map +1 -1
  26. package/dist/components/ftable.d.ts +13 -0
  27. package/dist/components/ftable.js +65 -0
  28. package/dist/components/ftable.js.map +1 -0
  29. package/dist/components/gsheet/index.d.ts +1 -0
  30. package/dist/components/gsheet/index.js +21 -0
  31. package/dist/components/gsheet/index.js.map +1 -0
  32. package/dist/components/mention_input/index.d.ts +18 -1
  33. package/dist/components/mention_input/index.js +203 -111
  34. package/dist/components/mention_input/index.js.map +1 -1
  35. package/dist/components/paginator_table.d.ts +1 -1
  36. package/dist/components/paginator_table.js +2 -2
  37. package/dist/components/paginator_table.js.map +1 -1
  38. package/dist/components/sheet/index.d.ts +1 -1
  39. package/dist/components/sheet/index.js +4 -2
  40. package/dist/components/sheet/index.js.map +1 -1
  41. package/dist/components/ui/alert.d.ts +8 -0
  42. package/dist/components/ui/alert.js +23 -0
  43. package/dist/components/ui/alert.js.map +1 -0
  44. package/dist/components/ui/badge.d.ts +9 -0
  45. package/dist/components/ui/badge.js +21 -0
  46. package/dist/components/ui/badge.js.map +1 -0
  47. package/dist/components/ui/button.d.ts +11 -0
  48. package/dist/components/ui/button.js +35 -0
  49. package/dist/components/ui/button.js.map +1 -0
  50. package/dist/components/ui/card.d.ts +8 -0
  51. package/dist/components/ui/card.js +17 -0
  52. package/dist/components/ui/card.js.map +1 -0
  53. package/dist/components/ui/dialog.d.ts +19 -0
  54. package/dist/components/ui/dialog.js +33 -0
  55. package/dist/components/ui/dialog.js.map +1 -0
  56. package/dist/components/ui/dropdown-menu.d.ts +27 -0
  57. package/dist/components/ui/dropdown-menu.js +46 -0
  58. package/dist/components/ui/dropdown-menu.js.map +1 -0
  59. package/dist/components/ui/form.d.ts +24 -0
  60. package/dist/components/ui/form.js +61 -0
  61. package/dist/components/ui/form.js.map +1 -0
  62. package/dist/components/ui/input-group.d.ts +16 -0
  63. package/dist/components/ui/input-group.js +65 -0
  64. package/dist/components/ui/input-group.js.map +1 -0
  65. package/dist/components/ui/input.d.ts +5 -0
  66. package/dist/components/ui/input.js +9 -0
  67. package/dist/components/ui/input.js.map +1 -0
  68. package/dist/components/ui/label.d.ts +5 -0
  69. package/dist/components/ui/label.js +10 -0
  70. package/dist/components/ui/label.js.map +1 -0
  71. package/dist/components/ui/popover.d.ts +7 -0
  72. package/dist/components/ui/popover.js +23 -0
  73. package/dist/components/ui/popover.js.map +1 -0
  74. package/dist/components/ui/scroll-area.d.ts +5 -0
  75. package/dist/components/ui/scroll-area.js +12 -0
  76. package/dist/components/ui/scroll-area.js.map +1 -0
  77. package/dist/components/ui/select.d.ts +13 -0
  78. package/dist/components/ui/select.js +37 -0
  79. package/dist/components/ui/select.js.map +1 -0
  80. package/dist/components/ui/separator.d.ts +4 -0
  81. package/dist/components/ui/separator.js +8 -0
  82. package/dist/components/ui/separator.js.map +1 -0
  83. package/dist/components/ui/sheet.d.ts +13 -0
  84. package/dist/components/ui/sheet.js +93 -0
  85. package/dist/components/ui/sheet.js.map +1 -0
  86. package/dist/components/ui/skeleton.d.ts +2 -0
  87. package/dist/components/ui/skeleton.js +7 -0
  88. package/dist/components/ui/skeleton.js.map +1 -0
  89. package/dist/components/ui/sonner.d.ts +3 -0
  90. package/dist/components/ui/sonner.js +42 -0
  91. package/dist/components/ui/sonner.js.map +1 -0
  92. package/dist/components/ui/spinner.d.ts +7 -0
  93. package/dist/components/ui/spinner.js +17 -0
  94. package/dist/components/ui/spinner.js.map +1 -0
  95. package/dist/components/ui/switch.d.ts +4 -0
  96. package/dist/components/ui/switch.js +8 -0
  97. package/dist/components/ui/switch.js.map +1 -0
  98. package/dist/components/ui/table.d.ts +10 -0
  99. package/dist/components/ui/table.js +21 -0
  100. package/dist/components/ui/table.js.map +1 -0
  101. package/dist/components/ui/tabs.d.ts +7 -0
  102. package/dist/components/ui/tabs.js +13 -0
  103. package/dist/components/ui/tabs.js.map +1 -0
  104. package/dist/components/ui/textarea.d.ts +5 -0
  105. package/dist/components/ui/textarea.js +9 -0
  106. package/dist/components/ui/textarea.js.map +1 -0
  107. package/dist/components/ui/tooltip.d.ts +7 -0
  108. package/dist/components/ui/tooltip.js +11 -0
  109. package/dist/components/ui/tooltip.js.map +1 -0
  110. package/dist/constants.js +5 -4
  111. package/dist/constants.js.map +1 -1
  112. package/dist/context.d.ts +1 -1
  113. package/dist/context.js +2 -2
  114. package/dist/context.js.map +1 -1
  115. package/dist/envs.d.ts +2 -2
  116. package/dist/envs.js +2 -150
  117. package/dist/envs.js.map +1 -1
  118. package/dist/functions.d.ts +2 -5
  119. package/dist/functions.js +2 -210
  120. package/dist/functions.js.map +1 -1
  121. package/dist/globals.css +264 -0
  122. package/dist/home.d.ts +1 -1
  123. package/dist/home.js +64 -26
  124. package/dist/home.js.map +1 -1
  125. package/dist/index.d.ts +19 -3
  126. package/dist/index.js +81 -22
  127. package/dist/index.js.map +1 -1
  128. package/dist/lib/pane-context.d.ts +10 -0
  129. package/dist/lib/pane-context.js +21 -0
  130. package/dist/lib/pane-context.js.map +1 -0
  131. package/dist/lib/toast.d.ts +12 -0
  132. package/dist/lib/toast.js +36 -0
  133. package/dist/lib/toast.js.map +1 -0
  134. package/dist/lib/utils.d.ts +2 -0
  135. package/dist/lib/utils.js +6 -0
  136. package/dist/lib/utils.js.map +1 -0
  137. package/dist/new_project.d.ts +1 -1
  138. package/dist/new_project.js +60 -41
  139. package/dist/new_project.js.map +1 -1
  140. package/dist/node.d.ts +2 -2
  141. package/dist/node.js +152 -39
  142. package/dist/node.js.map +1 -1
  143. package/dist/project_widget.d.ts +2 -1
  144. package/dist/project_widget.js +6 -2
  145. package/dist/project_widget.js.map +1 -1
  146. package/dist/secrets.d.ts +2 -0
  147. package/dist/secrets.js +130 -0
  148. package/dist/secrets.js.map +1 -0
  149. package/dist/simulator.d.ts +1 -1
  150. package/dist/simulator.js +184 -63
  151. package/dist/simulator.js.map +1 -1
  152. package/dist/studio_pane.d.ts +1 -1
  153. package/dist/studio_pane.js +319 -56
  154. package/dist/studio_pane.js.map +1 -1
  155. package/dist/studio_pane_old.d.ts +1 -1
  156. package/dist/studio_pane_old.js +2 -3
  157. package/dist/studio_pane_old.js.map +1 -1
  158. package/dist/studio_pane_old_new.d.ts +1 -1
  159. package/dist/studio_pane_old_new.js +2 -3
  160. package/dist/studio_pane_old_new.js.map +1 -1
  161. package/dist/styles/globals.css +59 -0
  162. package/dist/styles.css +2 -0
  163. package/dist/top_center_panel.d.ts +1 -1
  164. package/dist/top_center_panel.js +4 -3
  165. package/dist/top_center_panel.js.map +1 -1
  166. package/dist/top_left_panel.d.ts +1 -1
  167. package/dist/top_left_panel.js +7 -41
  168. package/dist/top_left_panel.js.map +1 -1
  169. package/dist/top_right_panel.d.ts +1 -1
  170. package/dist/top_right_panel.js +12 -13
  171. package/dist/top_right_panel.js.map +1 -1
  172. package/dist/triggers.d.ts +2 -2
  173. package/dist/triggers.js +56 -37
  174. package/dist/triggers.js.map +1 -1
  175. package/dist/zustand/store.d.ts +411 -3
  176. package/dist/zustand/store.js +4 -0
  177. package/dist/zustand/store.js.map +1 -1
  178. package/package.json +54 -26
  179. package/src/globals.css +264 -0
  180. package/src/styles/globals.css +59 -0
  181. package/dist/components/combo_box/index.d.ts +0 -2
  182. package/dist/components/combo_box/index.js +0 -150
  183. package/dist/components/combo_box/index.js.map +0 -1
  184. package/dist/components/combo_box/style.css +0 -10
  185. package/dist/components/date_picker/index.d.ts +0 -1
  186. package/dist/components/date_picker/index.js +0 -46
  187. package/dist/components/date_picker/index.js.map +0 -1
  188. package/dist/components/date_picker/style.css +0 -204
  189. package/dist/components/gtable.d.ts +0 -15
  190. package/dist/components/gtable.js +0 -122
  191. package/dist/components/gtable.js.map +0 -1
  192. package/src/components/combo_box/style.css +0 -10
  193. package/src/components/date_picker/style.css +0 -204
package/README.md CHANGED
@@ -1,11 +1,11 @@
1
1
  <div align="center">
2
- <a href="https://flowstudio.vercel.app">
2
+ <a href="https://flowappstudio.com">
3
3
  <picture>
4
4
  <source media="(prefers-color-scheme: dark)" srcset="https://github.com/godfrednanaowusu/flowstudio/blob/main/www/public/logo.png">
5
5
  <img alt="Flow Studio logo" src="https://github.com/godfrednanaowusu/flowstudio/blob/main/www/public/logo.png" height="128">
6
6
  </picture>
7
7
  </a>
8
- <h1>Flow Studio</h1>
8
+ <h1>Flow App Studio</h1>
9
9
  <h3>Work in Progress</h3>
10
10
 
11
11
  [![Bundle Size](https://img.shields.io/bundlephobia/minzip/flowstudio?logo=npm&style=for-the-badge)](https://npmjs.com/package/flowstudio)
@@ -25,7 +25,7 @@ Built on a microservices architecture, the platform effortlessly scales to handl
25
25
 
26
26
  ## Documentation
27
27
 
28
- Visit [https://flowstudio-docs.vercel.app/docs](https://flowstudio-docs.vercel.app/docs) to view the full documentation.
28
+ Visit [https://docs.flowappstudio.comdocs](https://docs.flowappstudio.comdocs) to view the full documentation.
29
29
 
30
30
  ## Contributing
31
31
 
@@ -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,36 @@
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";
3
+ import { useState } from "react";
4
4
  import { useForm } from "react-hook-form";
5
- import * as Form from "@radix-ui/react-form";
6
- import { useMemo, useState } from "react";
5
+ import { yupResolver } from "@hookform/resolvers/yup";
7
6
  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';
7
+ import { Popover, PopoverContent, PopoverTrigger, } from "@osanim/shared";
8
+ import { Tooltip, TooltipContent, TooltipTrigger, } from "@osanim/shared";
9
+ import { Button } from "@osanim/shared";
12
10
  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('');
11
+ const [messages, setMessages] = useState([]);
19
12
  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')
13
+ const schema = Yup.object().shape({
14
+ query: Yup.string().required(),
49
15
  });
50
- const { register: registerInput, handleSubmit: handleFormSubmit, getValues: getUssdValues, setValue: setUssdValue, setFocus, reset: resetForm, formState: { errors, isSubmitting }, } = useForm({
51
- resolver: yupResolver(ussdFormSchema),
52
- defaultValues: {}
16
+ const { register, handleSubmit, reset, formState: { errors, isSubmitting }, } = useForm({
17
+ resolver: yupResolver(schema),
53
18
  });
54
- const handleSubmit = async (data) => {
19
+ const handleSend = async (data) => {
20
+ const userMessage = { role: "user", content: data.query };
21
+ setMessages((prev) => [...prev, userMessage]);
55
22
  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 {
23
+ // 👉 Call your existing AI logic here
24
+ // const flow = await generateFlowFromDescription(data.query)
25
+ setTimeout(() => {
26
+ setMessages((prev) => [
27
+ ...prev,
28
+ { role: "ai", content: "Generated flow successfully 🚀" },
29
+ ]);
63
30
  setIsGenerating(false);
64
- }
31
+ }, 1000);
32
+ reset();
65
33
  };
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 })] }) })] }) })] }));
34
+ 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-[250px] p-0 overflow-hidden", children: _jsxs("div", { className: "flex flex-col items-center justify-center gap-3 h-[220px] px-6 text-center", children: [_jsx("p", { className: "text-[15px] font-semibold uppercase tracking-widest text-muted-foreground", children: "Coming Soon" }), _jsx("p", { className: "text-xs text-muted-foreground leading-relaxed", children: "Tell AI how you want your business logic changed and it will update your flow automatically." })] }) })] }));
139
35
  }
140
36
  //# 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":"AAAA,YAAY,CAAA;;AAEZ,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAEhC,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AACrD,OAAO,KAAK,GAAG,MAAM,KAAK,CAAA;AAE1B,OAAO,EACL,OAAO,EACP,cAAc,EACd,cAAc,GACf,MAAM,gBAAgB,CAAA;AACvB,OAAO,EACL,OAAO,EACP,cAAc,EACd,cAAc,GACf,MAAM,gBAAgB,CAAA;AACvB,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAYvC,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,EAAE,SAAS,EAAO;IAClD,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAQ,EAAE,CAAC,CAAA;IACnD,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IAEvD,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC;QAChC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KAC/B,CAAC,CAAA;IAEF,MAAM,EACJ,QAAQ,EACR,YAAY,EACZ,KAAK,EACL,SAAS,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,GACpC,GAAG,OAAO,CAAC;QACV,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC;KAC9B,CAAC,CAAA;IAEF,MAAM,UAAU,GAAG,KAAK,EAAE,IAAS,EAAE,EAAE;QACrC,MAAM,WAAW,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK,EAAE,CAAA;QAEzD,WAAW,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,WAAW,CAAC,CAAC,CAAA;QAC7C,eAAe,CAAC,IAAI,CAAC,CAAA;QAErB,sCAAsC;QACtC,6DAA6D;QAE7D,UAAU,CAAC,GAAG,EAAE;YACd,WAAW,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;gBACpB,GAAG,IAAI;gBACP,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,gCAAgC,EAAE;aAC1D,CAAC,CAAA;YACF,eAAe,CAAC,KAAK,CAAC,CAAA;QACxB,CAAC,EAAE,IAAI,CAAC,CAAA;QAER,KAAK,EAAE,CAAA;IACT,CAAC,CAAA;IAED,OAAO,CACL,MAAC,OAAO,eACN,MAAC,OAAO,eACN,KAAC,cAAc,IAAC,OAAO,kBACrB,KAAC,cAAc,IAAC,OAAO,kBACrB,KAAC,MAAM,IAAC,IAAI,EAAC,IAAI,EAAC,OAAO,EAAC,WAAW,EAAC,SAAS,EAAC,SAAS,6BAEhD,GACM,GACF,EACjB,KAAC,cAAc,IAAC,IAAI,EAAC,OAAO,wBAEX,IACT,EAEV,KAAC,cAAc,IACb,IAAI,EAAC,KAAK,EACV,KAAK,EAAC,OAAO,EACb,SAAS,EAAC,+BAA+B,YAEzC,eAAK,SAAS,EAAC,4EAA4E,aACzF,YAAG,SAAS,EAAC,2EAA2E,4BAAgB,EACxG,YAAG,SAAS,EAAC,+CAA+C,6GAExD,IACA,GAuFS,IACT,CACX,CAAA;AACH,CAAC"}
@@ -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,147 @@
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, AlertTitle } 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 { useEffect, useState } from "react";
12
+ import * as Zod from "zod";
13
+ import { zodResolver } from "@hookform/resolvers/zod";
14
+ import { useForm } from "react-hook-form";
15
+ import { Form, FormControl, FormField, FormItem, FormLabel, FormMessage } from "@osanim/shared";
16
+ import { BsTrash } from "react-icons/bs";
17
+ import flow_constants from "./constants";
18
+ import { toast } from "./lib/toast";
19
+ import { ChevronDown, Globe, Plus } from "lucide-react";
20
+ import { useReactFlow } from "@xyflow/react";
21
+ import MentionTextarea from "./components/mention_input";
22
+ const isValidJson = (value) => {
23
+ if (!value)
24
+ return true;
25
+ try {
26
+ JSON.parse(value);
27
+ return true;
28
+ }
29
+ catch {
30
+ return false;
31
+ }
32
+ };
33
+ const formSchema = Zod.object({
34
+ name: Zod.string().min(1, 'required'),
35
+ api: Zod.string().refine(isValidJson, { message: 'Must be valid JSON' }),
36
+ call_type: Zod.enum(['fetch', 'action']).default('fetch'),
37
+ });
38
+ export default function APICalls({ api_key, project, functions, functionsRefetch, envs }) {
39
+ var _a;
40
+ const [open, setOpen] = useState(false);
41
+ const { getNodes } = useReactFlow();
42
+ const form = useForm({
43
+ resolver: zodResolver(formSchema),
44
+ defaultValues: { name: '', api: '', call_type: 'fetch' }
45
+ });
46
+ const onSubmit = async (data) => {
47
+ try {
48
+ const api_name = (data.name || '').trim().toLowerCase().replace(/\s+/g, '_').replace(/[^a-z0-9_]/g, '');
49
+ form.setValue('name', api_name);
50
+ const response = await fetch(`${flow_constants.BACKEND_ENDPOINT}/api-calls`, {
51
+ method: 'POST',
52
+ headers: { 'X-API-KEY': `${api_key}`, 'Content-Type': 'application/json' },
53
+ body: JSON.stringify({
54
+ project: project === null || project === void 0 ? void 0 : project.identifier,
55
+ name: api_name,
56
+ api: data.api ? JSON.parse(data.api) : {},
57
+ call_type: data.call_type || 'fetch',
58
+ }),
59
+ });
60
+ if (response.ok) {
61
+ functionsRefetch();
62
+ form.reset();
63
+ setOpen(false);
64
+ toast.success('API Call Created Successfully');
65
+ }
66
+ else {
67
+ toast.error('Failed to create API call');
68
+ }
69
+ }
70
+ catch (e) {
71
+ console.log(e);
72
+ }
73
+ };
74
+ return (_jsxs("div", { className: "flex flex-col gap-3 mt-1", children: [_jsxs(Alert, { variant: "default", className: "rounded-sm", children: [_jsx(Globe, { className: "h-4 w-4" }), _jsx(AlertTitle, { className: "text-sm", children: "API Calls" }), _jsx(AlertDescription, { className: "text-xs text-muted-foreground", children: "Create reusable API calls to fetch data or perform actions in your flow. Reference them in node responses using the @ mention." })] }), _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)))] }));
75
+ }
76
+ export function APICallItem({ api_key, project, item, refetch, allFunctions, envs }) {
77
+ const [deleting, setDeleting] = useState(false);
78
+ const { getNodes } = useReactFlow();
79
+ const form = useForm({
80
+ resolver: zodResolver(formSchema),
81
+ defaultValues: { name: '', api: '', call_type: 'fetch' }
82
+ });
83
+ const onSubmit = async (data) => {
84
+ try {
85
+ const api_name = (data.name || '').trim().toLowerCase().replace(/\s+/g, '_').replace(/[^a-z0-9_]/g, '');
86
+ form.setValue('name', api_name);
87
+ const response = await fetch(`${flow_constants.BACKEND_ENDPOINT}/api-calls/${item === null || item === void 0 ? void 0 : item.identifier}`, {
88
+ method: 'PATCH',
89
+ headers: { 'X-API-KEY': `${api_key}`, 'Content-Type': 'application/json' },
90
+ body: JSON.stringify({
91
+ project: item === null || item === void 0 ? void 0 : item.project,
92
+ name: api_name,
93
+ api: data.api ? JSON.parse(data.api) : {},
94
+ call_type: data.call_type || 'fetch',
95
+ }),
96
+ });
97
+ if (response.ok) {
98
+ refetch();
99
+ toast.success('API Call Updated Successfully');
100
+ }
101
+ else {
102
+ toast.error('Failed to update API call');
103
+ }
104
+ }
105
+ catch (e) {
106
+ console.log(e);
107
+ }
108
+ };
109
+ useEffect(() => {
110
+ if (item) {
111
+ form.reset({
112
+ name: item.name,
113
+ api: item.api ? JSON.stringify(item.api, null, 2) : '',
114
+ call_type: item.call_type || 'fetch',
115
+ });
116
+ }
117
+ }, [item]);
118
+ const deleteItem = async (identifier) => {
119
+ try {
120
+ setDeleting(true);
121
+ const response = await fetch(`${flow_constants.BACKEND_ENDPOINT}/api-calls/${identifier}`, {
122
+ method: 'DELETE',
123
+ headers: { 'X-API-KEY': `${api_key}`, 'Content-Type': 'application/json' },
124
+ });
125
+ if (response.ok) {
126
+ refetch();
127
+ toast.success('API Call Deleted Successfully');
128
+ }
129
+ else {
130
+ toast.error('Failed to delete API call');
131
+ }
132
+ setDeleting(false);
133
+ }
134
+ catch (e) {
135
+ console.log('API Call Error: ' + e);
136
+ setDeleting(false);
137
+ }
138
+ };
139
+ 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: "text-sm text-muted-foreground", children: form.watch('name') }), _jsx(ChevronDown, { className: "h-4 w-4 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: "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 API Call", variant: "destructive", size: "xs", className: "text-xs", 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: "xs", children: "Cancel" }) }), _jsxs(Button, { variant: "destructive", type: "button", size: "xs", disabled: deleting, onClick: () => { deleteItem(item === null || item === void 0 ? void 0 : item.identifier); }, children: [_jsx(Spinner, { loading: deleting }), " ", deleting ? 'Deleting' : 'Delete'] })] })] })] })] })] })] }) })] }) }) }) }) }));
140
+ }
141
+ function APICallFormFields({ form, nodes = [], apiCalls = [], secrets = [] }) {
142
+ const callType = form.watch('call_type') || 'fetch';
143
+ 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'
144
+ ? 'Executes and auto-advances (e.g. SMS, email)'
145
+ : '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-xs text-muted-foreground min-h-[160px] font-mono", value: field.value, onChange: field.onChange, nodes: nodes, apiCalls: apiCalls, secrets: secrets, style: { fontSize: 10 } }) })] })) })] }));
146
+ }
147
+ //# 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;