hazo_llm_api 1.0.1

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 (151) hide show
  1. package/README.md +536 -0
  2. package/dist/components/hazo_llm_prompt_config/hazo_llm_prompt_config.d.ts +16 -0
  3. package/dist/components/hazo_llm_prompt_config/hazo_llm_prompt_config.d.ts.map +1 -0
  4. package/dist/components/hazo_llm_prompt_config/hazo_llm_prompt_config.js +258 -0
  5. package/dist/components/hazo_llm_prompt_config/hazo_llm_prompt_config.js.map +1 -0
  6. package/dist/components/hazo_llm_prompt_config/index.d.ts +8 -0
  7. package/dist/components/hazo_llm_prompt_config/index.d.ts.map +1 -0
  8. package/dist/components/hazo_llm_prompt_config/index.js +7 -0
  9. package/dist/components/hazo_llm_prompt_config/index.js.map +1 -0
  10. package/dist/components/hazo_llm_prompt_config/types.d.ts +74 -0
  11. package/dist/components/hazo_llm_prompt_config/types.d.ts.map +1 -0
  12. package/dist/components/hazo_llm_prompt_config/types.js +8 -0
  13. package/dist/components/hazo_llm_prompt_config/types.js.map +1 -0
  14. package/dist/components/index.d.ts +7 -0
  15. package/dist/components/index.d.ts.map +1 -0
  16. package/dist/components/index.js +7 -0
  17. package/dist/components/index.js.map +1 -0
  18. package/dist/components/layout/index.d.ts +7 -0
  19. package/dist/components/layout/index.d.ts.map +1 -0
  20. package/dist/components/layout/index.js +7 -0
  21. package/dist/components/layout/index.js.map +1 -0
  22. package/dist/components/layout/layout.d.ts +21 -0
  23. package/dist/components/layout/layout.d.ts.map +1 -0
  24. package/dist/components/layout/layout.js +18 -0
  25. package/dist/components/layout/layout.js.map +1 -0
  26. package/dist/index.d.ts +11 -0
  27. package/dist/index.d.ts.map +1 -0
  28. package/dist/index.js +13 -0
  29. package/dist/index.js.map +1 -0
  30. package/dist/lib/config/config_parser.d.ts +131 -0
  31. package/dist/lib/config/config_parser.d.ts.map +1 -0
  32. package/dist/lib/config/config_parser.js +297 -0
  33. package/dist/lib/config/config_parser.js.map +1 -0
  34. package/dist/lib/config/index.d.ts +8 -0
  35. package/dist/lib/config/index.d.ts.map +1 -0
  36. package/dist/lib/config/index.js +22 -0
  37. package/dist/lib/config/index.js.map +1 -0
  38. package/dist/lib/config/provider_loader.d.ts +113 -0
  39. package/dist/lib/config/provider_loader.d.ts.map +1 -0
  40. package/dist/lib/config/provider_loader.js +169 -0
  41. package/dist/lib/config/provider_loader.js.map +1 -0
  42. package/dist/lib/database/index.d.ts +8 -0
  43. package/dist/lib/database/index.d.ts.map +1 -0
  44. package/dist/lib/database/index.js +8 -0
  45. package/dist/lib/database/index.js.map +1 -0
  46. package/dist/lib/database/init_database.d.ts +62 -0
  47. package/dist/lib/database/init_database.d.ts.map +1 -0
  48. package/dist/lib/database/init_database.js +436 -0
  49. package/dist/lib/database/init_database.js.map +1 -0
  50. package/dist/lib/database/utils.d.ts +50 -0
  51. package/dist/lib/database/utils.d.ts.map +1 -0
  52. package/dist/lib/database/utils.js +78 -0
  53. package/dist/lib/database/utils.js.map +1 -0
  54. package/dist/lib/index.d.ts +14 -0
  55. package/dist/lib/index.d.ts.map +1 -0
  56. package/dist/lib/index.js +17 -0
  57. package/dist/lib/index.js.map +1 -0
  58. package/dist/lib/llm_api/hazo_llm_image_image.d.ts +26 -0
  59. package/dist/lib/llm_api/hazo_llm_image_image.d.ts.map +1 -0
  60. package/dist/lib/llm_api/hazo_llm_image_image.js +92 -0
  61. package/dist/lib/llm_api/hazo_llm_image_image.js.map +1 -0
  62. package/dist/lib/llm_api/hazo_llm_image_image_text.d.ts +26 -0
  63. package/dist/lib/llm_api/hazo_llm_image_image_text.d.ts.map +1 -0
  64. package/dist/lib/llm_api/hazo_llm_image_image_text.js +220 -0
  65. package/dist/lib/llm_api/hazo_llm_image_image_text.js.map +1 -0
  66. package/dist/lib/llm_api/hazo_llm_image_text.d.ts +20 -0
  67. package/dist/lib/llm_api/hazo_llm_image_text.d.ts.map +1 -0
  68. package/dist/lib/llm_api/hazo_llm_image_text.js +76 -0
  69. package/dist/lib/llm_api/hazo_llm_image_text.js.map +1 -0
  70. package/dist/lib/llm_api/hazo_llm_text_image.d.ts +20 -0
  71. package/dist/lib/llm_api/hazo_llm_text_image.d.ts.map +1 -0
  72. package/dist/lib/llm_api/hazo_llm_text_image.js +67 -0
  73. package/dist/lib/llm_api/hazo_llm_text_image.js.map +1 -0
  74. package/dist/lib/llm_api/hazo_llm_text_image_text.d.ts +26 -0
  75. package/dist/lib/llm_api/hazo_llm_text_image_text.d.ts.map +1 -0
  76. package/dist/lib/llm_api/hazo_llm_text_image_text.js +152 -0
  77. package/dist/lib/llm_api/hazo_llm_text_image_text.js.map +1 -0
  78. package/dist/lib/llm_api/hazo_llm_text_text.d.ts +20 -0
  79. package/dist/lib/llm_api/hazo_llm_text_text.d.ts.map +1 -0
  80. package/dist/lib/llm_api/hazo_llm_text_text.js +89 -0
  81. package/dist/lib/llm_api/hazo_llm_text_text.js.map +1 -0
  82. package/dist/lib/llm_api/index.d.ts +99 -0
  83. package/dist/lib/llm_api/index.d.ts.map +1 -0
  84. package/dist/lib/llm_api/index.js +952 -0
  85. package/dist/lib/llm_api/index.js.map +1 -0
  86. package/dist/lib/llm_api/provider_helper.d.ts +107 -0
  87. package/dist/lib/llm_api/provider_helper.d.ts.map +1 -0
  88. package/dist/lib/llm_api/provider_helper.js +159 -0
  89. package/dist/lib/llm_api/provider_helper.js.map +1 -0
  90. package/dist/lib/llm_api/types.d.ts +352 -0
  91. package/dist/lib/llm_api/types.d.ts.map +1 -0
  92. package/dist/lib/llm_api/types.js +8 -0
  93. package/dist/lib/llm_api/types.js.map +1 -0
  94. package/dist/lib/prompts/get_prompt.d.ts +50 -0
  95. package/dist/lib/prompts/get_prompt.d.ts.map +1 -0
  96. package/dist/lib/prompts/get_prompt.js +232 -0
  97. package/dist/lib/prompts/get_prompt.js.map +1 -0
  98. package/dist/lib/prompts/index.d.ts +9 -0
  99. package/dist/lib/prompts/index.d.ts.map +1 -0
  100. package/dist/lib/prompts/index.js +9 -0
  101. package/dist/lib/prompts/index.js.map +1 -0
  102. package/dist/lib/prompts/prompt_cache.d.ts +151 -0
  103. package/dist/lib/prompts/prompt_cache.d.ts.map +1 -0
  104. package/dist/lib/prompts/prompt_cache.js +276 -0
  105. package/dist/lib/prompts/prompt_cache.js.map +1 -0
  106. package/dist/lib/prompts/substitute_variables.d.ts +38 -0
  107. package/dist/lib/prompts/substitute_variables.d.ts.map +1 -0
  108. package/dist/lib/prompts/substitute_variables.js +175 -0
  109. package/dist/lib/prompts/substitute_variables.js.map +1 -0
  110. package/dist/lib/providers/gemini/gemini_client.d.ts +25 -0
  111. package/dist/lib/providers/gemini/gemini_client.d.ts.map +1 -0
  112. package/dist/lib/providers/gemini/gemini_client.js +235 -0
  113. package/dist/lib/providers/gemini/gemini_client.js.map +1 -0
  114. package/dist/lib/providers/gemini/gemini_provider.d.ts +111 -0
  115. package/dist/lib/providers/gemini/gemini_provider.d.ts.map +1 -0
  116. package/dist/lib/providers/gemini/gemini_provider.js +431 -0
  117. package/dist/lib/providers/gemini/gemini_provider.js.map +1 -0
  118. package/dist/lib/providers/gemini/index.d.ts +8 -0
  119. package/dist/lib/providers/gemini/index.d.ts.map +1 -0
  120. package/dist/lib/providers/gemini/index.js +8 -0
  121. package/dist/lib/providers/gemini/index.js.map +1 -0
  122. package/dist/lib/providers/index.d.ts +8 -0
  123. package/dist/lib/providers/index.d.ts.map +1 -0
  124. package/dist/lib/providers/index.js +8 -0
  125. package/dist/lib/providers/index.js.map +1 -0
  126. package/dist/lib/providers/qwen/index.d.ts +8 -0
  127. package/dist/lib/providers/qwen/index.d.ts.map +1 -0
  128. package/dist/lib/providers/qwen/index.js +8 -0
  129. package/dist/lib/providers/qwen/index.js.map +1 -0
  130. package/dist/lib/providers/qwen/qwen_client.d.ts +154 -0
  131. package/dist/lib/providers/qwen/qwen_client.d.ts.map +1 -0
  132. package/dist/lib/providers/qwen/qwen_client.js +1002 -0
  133. package/dist/lib/providers/qwen/qwen_client.js.map +1 -0
  134. package/dist/lib/providers/qwen/qwen_provider.d.ts +139 -0
  135. package/dist/lib/providers/qwen/qwen_provider.d.ts.map +1 -0
  136. package/dist/lib/providers/qwen/qwen_provider.js +304 -0
  137. package/dist/lib/providers/qwen/qwen_provider.js.map +1 -0
  138. package/dist/lib/providers/registry.d.ts +66 -0
  139. package/dist/lib/providers/registry.d.ts.map +1 -0
  140. package/dist/lib/providers/registry.js +158 -0
  141. package/dist/lib/providers/registry.js.map +1 -0
  142. package/dist/lib/providers/types.d.ts +95 -0
  143. package/dist/lib/providers/types.d.ts.map +1 -0
  144. package/dist/lib/providers/types.js +19 -0
  145. package/dist/lib/providers/types.js.map +1 -0
  146. package/dist/server.d.ts +21 -0
  147. package/dist/server.d.ts.map +1 -0
  148. package/dist/server.js +32 -0
  149. package/dist/server.js.map +1 -0
  150. package/package.json +68 -0
  151. package/techdoc.md +857 -0
@@ -0,0 +1,258 @@
1
+ /**
2
+ * Hazo LLM Prompt Config Component
3
+ *
4
+ * A comprehensive UI component for managing LLM prompts in the prompts_library table.
5
+ * Features include:
6
+ * - Data table displaying all prompts
7
+ * - Add, Edit, and Delete functionality
8
+ * - Dialog-based form for prompt creation/editing
9
+ * - Multi-entry variable definitions with add/delete support
10
+ */
11
+ 'use client';
12
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
13
+ import { useState, useEffect, useCallback } from 'react';
14
+ import { Pencil, Trash2, Plus, CheckCircle, XCircle, Loader2, AlertCircle } from 'lucide-react';
15
+ // =============================================================================
16
+ // Helper Functions
17
+ // =============================================================================
18
+ /**
19
+ * Parse JSON string of variable definitions safely
20
+ */
21
+ function parse_variables(json_string) {
22
+ try {
23
+ const parsed = JSON.parse(json_string);
24
+ if (Array.isArray(parsed)) {
25
+ return parsed.map((item) => ({
26
+ name: item.name || '',
27
+ description: item.description || ''
28
+ }));
29
+ }
30
+ return [];
31
+ }
32
+ catch {
33
+ return [];
34
+ }
35
+ }
36
+ /**
37
+ * Stringify variable definitions to JSON
38
+ */
39
+ function stringify_variables(variables) {
40
+ return JSON.stringify(variables.filter(v => v.name.trim() !== ''));
41
+ }
42
+ /**
43
+ * Sanitize identifier input (lowercase, no special chars except underscore)
44
+ */
45
+ function sanitize_identifier(value) {
46
+ return value.toLowerCase().replace(/[^a-z0-9_]/g, '');
47
+ }
48
+ /**
49
+ * Create empty form data
50
+ */
51
+ function create_empty_form() {
52
+ return {
53
+ prompt_area: '',
54
+ prompt_key: '',
55
+ prompt_text: '',
56
+ prompt_variables: [],
57
+ prompt_notes: ''
58
+ };
59
+ }
60
+ /**
61
+ * Convert record to form data
62
+ */
63
+ function record_to_form(record) {
64
+ return {
65
+ prompt_area: record.prompt_area,
66
+ prompt_key: record.prompt_key,
67
+ prompt_text: record.prompt_text,
68
+ prompt_variables: parse_variables(record.prompt_variables),
69
+ prompt_notes: record.prompt_notes
70
+ };
71
+ }
72
+ function VariableEntry({ variable, index, on_change, on_delete }) {
73
+ return (_jsxs("div", { className: "cls_variable_entry flex gap-2 items-center", children: [_jsx("input", { type: "text", placeholder: "Variable name", value: variable.name, onChange: (e) => on_change(index, 'name', e.target.value), className: "cls_variable_name_input flex-1 px-3 py-2 text-sm border rounded-md bg-background" }), _jsx("input", { type: "text", placeholder: "Description", value: variable.description, onChange: (e) => on_change(index, 'description', e.target.value), className: "cls_variable_desc_input flex-1 px-3 py-2 text-sm border rounded-md bg-background" }), _jsx("button", { type: "button", onClick: () => on_delete(index), className: "cls_variable_delete_btn p-2 text-destructive hover:bg-destructive/10 rounded-md transition-colors", title: "Delete variable", children: _jsx(XCircle, { className: "h-4 w-4" }) })] }));
74
+ }
75
+ function VariablesEditor({ variables, on_variables_change }) {
76
+ const handle_add = () => {
77
+ on_variables_change([...variables, { name: '', description: '' }]);
78
+ };
79
+ const handle_change = (index, field, value) => {
80
+ let new_value = value;
81
+ if (field === 'name') {
82
+ new_value = sanitize_identifier(value);
83
+ }
84
+ const updated = [...variables];
85
+ updated[index] = { ...updated[index], [field]: new_value };
86
+ on_variables_change(updated);
87
+ };
88
+ const handle_delete = (index) => {
89
+ on_variables_change(variables.filter((_, i) => i !== index));
90
+ };
91
+ return (_jsxs("div", { className: "cls_variables_editor space-y-2", children: [_jsxs("div", { className: "cls_variables_header flex justify-between items-center", children: [_jsx("label", { className: "text-sm font-medium", children: "Prompt Variables" }), _jsxs("button", { type: "button", onClick: handle_add, className: "cls_add_variable_btn flex items-center gap-1 px-2 py-1 text-xs bg-primary text-primary-foreground rounded-md hover:bg-primary/90 transition-colors", children: [_jsx(Plus, { className: "h-3 w-3" }), "Add Variable"] })] }), variables.length === 0 ? (_jsx("p", { className: "cls_no_variables text-sm text-muted-foreground italic", children: "No variables defined. Click \"Add Variable\" to add one." })) : (_jsx("div", { className: "cls_variables_list space-y-2", children: variables.map((variable, index) => (_jsx(VariableEntry, { variable: variable, index: index, on_change: handle_change, on_delete: handle_delete }, index))) }))] }));
92
+ }
93
+ // =============================================================================
94
+ // Main Component
95
+ // =============================================================================
96
+ /**
97
+ * HazoLlmPromptConfig - Main prompt configuration management component
98
+ */
99
+ export function HazoLlmPromptConfig({ api_endpoint_list, api_endpoint_create, api_endpoint_update, api_endpoint_delete, on_change, class_name = '' }) {
100
+ // -------------------------------------------------------------------------
101
+ // State
102
+ // -------------------------------------------------------------------------
103
+ const [prompts, set_prompts] = useState([]);
104
+ const [loading, set_loading] = useState(true);
105
+ const [error, set_error] = useState(null);
106
+ // Dialog state
107
+ const [dialog_open, set_dialog_open] = useState(false);
108
+ const [edit_mode, set_edit_mode] = useState(false);
109
+ const [editing_uuid, set_editing_uuid] = useState(null);
110
+ const [form_data, set_form_data] = useState(create_empty_form());
111
+ const [saving, set_saving] = useState(false);
112
+ // Delete confirmation state
113
+ const [delete_dialog_open, set_delete_dialog_open] = useState(false);
114
+ const [deleting_uuid, set_deleting_uuid] = useState(null);
115
+ const [deleting, set_deleting] = useState(false);
116
+ // -------------------------------------------------------------------------
117
+ // Data Fetching
118
+ // -------------------------------------------------------------------------
119
+ const fetch_prompts = useCallback(async () => {
120
+ set_loading(true);
121
+ set_error(null);
122
+ try {
123
+ const response = await fetch(api_endpoint_list);
124
+ const result = await response.json();
125
+ if (result.success && result.data) {
126
+ set_prompts(result.data);
127
+ on_change?.(result.data);
128
+ }
129
+ else {
130
+ set_error(result.error || 'Failed to fetch prompts');
131
+ }
132
+ }
133
+ catch (err) {
134
+ set_error(err instanceof Error ? err.message : 'Failed to fetch prompts');
135
+ }
136
+ finally {
137
+ set_loading(false);
138
+ }
139
+ }, [api_endpoint_list, on_change]);
140
+ useEffect(() => {
141
+ fetch_prompts();
142
+ }, [fetch_prompts]);
143
+ // -------------------------------------------------------------------------
144
+ // Form Handlers
145
+ // -------------------------------------------------------------------------
146
+ const handle_open_add_dialog = () => {
147
+ set_form_data(create_empty_form());
148
+ set_edit_mode(false);
149
+ set_editing_uuid(null);
150
+ set_dialog_open(true);
151
+ };
152
+ const handle_open_edit_dialog = (record) => {
153
+ set_form_data(record_to_form(record));
154
+ set_edit_mode(true);
155
+ set_editing_uuid(record.uuid);
156
+ set_dialog_open(true);
157
+ };
158
+ const handle_close_dialog = () => {
159
+ set_dialog_open(false);
160
+ set_form_data(create_empty_form());
161
+ set_edit_mode(false);
162
+ set_editing_uuid(null);
163
+ };
164
+ const handle_form_change = (field, value) => {
165
+ if (field === 'prompt_area' || field === 'prompt_key') {
166
+ set_form_data(prev => ({ ...prev, [field]: sanitize_identifier(value) }));
167
+ }
168
+ else {
169
+ set_form_data(prev => ({ ...prev, [field]: value }));
170
+ }
171
+ };
172
+ const handle_save = async () => {
173
+ set_saving(true);
174
+ set_error(null);
175
+ try {
176
+ const payload = {
177
+ prompt_area: form_data.prompt_area,
178
+ prompt_key: form_data.prompt_key,
179
+ prompt_text: form_data.prompt_text,
180
+ prompt_variables: stringify_variables(form_data.prompt_variables),
181
+ prompt_notes: form_data.prompt_notes
182
+ };
183
+ const endpoint = edit_mode
184
+ ? `${api_endpoint_update}/${editing_uuid}`
185
+ : api_endpoint_create;
186
+ const method = edit_mode ? 'PUT' : 'POST';
187
+ const response = await fetch(endpoint, {
188
+ method,
189
+ headers: { 'Content-Type': 'application/json' },
190
+ body: JSON.stringify(payload)
191
+ });
192
+ const result = await response.json();
193
+ if (result.success) {
194
+ handle_close_dialog();
195
+ await fetch_prompts();
196
+ }
197
+ else {
198
+ set_error(result.error || 'Failed to save prompt');
199
+ }
200
+ }
201
+ catch (err) {
202
+ set_error(err instanceof Error ? err.message : 'Failed to save prompt');
203
+ }
204
+ finally {
205
+ set_saving(false);
206
+ }
207
+ };
208
+ // -------------------------------------------------------------------------
209
+ // Delete Handlers
210
+ // -------------------------------------------------------------------------
211
+ const handle_open_delete_dialog = (uuid) => {
212
+ set_deleting_uuid(uuid);
213
+ set_delete_dialog_open(true);
214
+ };
215
+ const handle_close_delete_dialog = () => {
216
+ set_delete_dialog_open(false);
217
+ set_deleting_uuid(null);
218
+ };
219
+ const handle_confirm_delete = async () => {
220
+ if (!deleting_uuid)
221
+ return;
222
+ set_deleting(true);
223
+ set_error(null);
224
+ try {
225
+ const response = await fetch(`${api_endpoint_delete}/${deleting_uuid}`, {
226
+ method: 'DELETE'
227
+ });
228
+ const result = await response.json();
229
+ if (result.success) {
230
+ handle_close_delete_dialog();
231
+ await fetch_prompts();
232
+ }
233
+ else {
234
+ set_error(result.error || 'Failed to delete prompt');
235
+ }
236
+ }
237
+ catch (err) {
238
+ set_error(err instanceof Error ? err.message : 'Failed to delete prompt');
239
+ }
240
+ finally {
241
+ set_deleting(false);
242
+ }
243
+ };
244
+ // -------------------------------------------------------------------------
245
+ // Render
246
+ // -------------------------------------------------------------------------
247
+ return (_jsxs("div", { className: `cls_hazo_llm_prompt_config ${class_name}`, children: [_jsxs("div", { className: "cls_prompt_config_card border rounded-lg shadow-sm bg-card text-card-foreground", children: [_jsxs("div", { className: "cls_prompt_config_header flex items-center justify-between p-4 border-b", children: [_jsxs("div", { children: [_jsx("h3", { className: "text-lg font-semibold", children: "Prompt Configuration" }), _jsx("p", { className: "text-sm text-muted-foreground", children: "Manage LLM prompts for your application" })] }), _jsxs("button", { onClick: handle_open_add_dialog, className: "cls_add_config_btn flex items-center gap-2 px-4 py-2 bg-primary text-primary-foreground rounded-md hover:bg-primary/90 transition-colors", children: [_jsx(Plus, { className: "h-4 w-4" }), "Add Config"] })] }), _jsxs("div", { className: "cls_prompt_config_content p-4", children: [error && (_jsxs("div", { className: "cls_error_alert flex items-center gap-2 p-3 mb-4 text-sm text-destructive bg-destructive/10 border border-destructive/20 rounded-md", children: [_jsx(AlertCircle, { className: "h-4 w-4" }), error] })), loading ? (_jsxs("div", { className: "cls_loading_state flex items-center justify-center p-8", children: [_jsx(Loader2, { className: "h-6 w-6 animate-spin text-muted-foreground" }), _jsx("span", { className: "ml-2 text-muted-foreground", children: "Loading prompts..." })] })) : prompts.length === 0 ? (
248
+ /* Empty State */
249
+ _jsxs("div", { className: "cls_empty_state text-center p-8 text-muted-foreground", children: [_jsx("p", { children: "No prompts configured yet." }), _jsx("p", { className: "text-sm", children: "Click \"Add Config\" to create your first prompt." })] })) : (
250
+ /* Data Table */
251
+ _jsx("div", { className: "cls_prompts_table_container overflow-x-auto", children: _jsxs("table", { className: "cls_prompts_table w-full border-collapse", children: [_jsx("thead", { children: _jsxs("tr", { className: "cls_table_header border-b", children: [_jsx("th", { className: "text-left p-3 font-medium text-muted-foreground", children: "Area" }), _jsx("th", { className: "text-left p-3 font-medium text-muted-foreground", children: "Key" }), _jsx("th", { className: "text-left p-3 font-medium text-muted-foreground", children: "Prompt Text" }), _jsx("th", { className: "text-left p-3 font-medium text-muted-foreground", children: "Variables" }), _jsx("th", { className: "text-left p-3 font-medium text-muted-foreground", children: "Notes" }), _jsx("th", { className: "text-left p-3 font-medium text-muted-foreground", children: "Created" }), _jsx("th", { className: "text-right p-3 font-medium text-muted-foreground", children: "Actions" })] }) }), _jsx("tbody", { children: prompts.map((prompt) => {
252
+ const variables = parse_variables(prompt.prompt_variables);
253
+ return (_jsxs("tr", { className: "cls_table_row border-b hover:bg-muted/50 transition-colors", children: [_jsx("td", { className: "p-3 text-sm break-words max-w-[150px]", children: prompt.prompt_area }), _jsx("td", { className: "p-3 text-sm font-mono break-words max-w-[150px]", children: prompt.prompt_key }), _jsxs("td", { className: "p-3 text-sm break-words min-w-[200px]", title: prompt.prompt_text, children: [prompt.prompt_text.substring(0, 200), prompt.prompt_text.length > 200 ? '...' : ''] }), _jsx("td", { className: "p-3 text-sm whitespace-nowrap", children: variables.length > 0 ? (_jsxs("span", { className: "cls_variable_count px-2 py-1 bg-muted rounded-full text-xs", children: [variables.length, " variable", variables.length !== 1 ? 's' : ''] })) : (_jsx("span", { className: "text-muted-foreground text-xs", children: "None" })) }), _jsx("td", { className: "p-3 text-sm break-words max-w-[150px]", title: prompt.prompt_notes, children: prompt.prompt_notes || '-' }), _jsx("td", { className: "p-3 text-sm text-muted-foreground whitespace-nowrap", children: new Date(prompt.created_at).toLocaleDateString() }), _jsx("td", { className: "p-3 whitespace-nowrap", children: _jsxs("div", { className: "cls_action_buttons flex justify-end gap-1", children: [_jsx("button", { onClick: () => handle_open_edit_dialog(prompt), className: "cls_edit_btn p-2 hover:bg-muted rounded-md transition-colors", title: "Edit prompt", children: _jsx(Pencil, { className: "h-4 w-4" }) }), _jsx("button", { onClick: () => handle_open_delete_dialog(prompt.uuid), className: "cls_delete_btn p-2 text-destructive hover:bg-destructive/10 rounded-md transition-colors", title: "Delete prompt", children: _jsx(Trash2, { className: "h-4 w-4" }) })] }) })] }, prompt.uuid));
254
+ }) })] }) }))] })] }), dialog_open && (_jsx("div", { className: "cls_dialog_overlay fixed inset-0 z-50 bg-black/80 flex items-center justify-center p-4", children: _jsxs("div", { className: "cls_dialog_content bg-background border rounded-lg shadow-lg w-full max-w-2xl max-h-[80vh] flex flex-col overflow-hidden", children: [_jsxs("div", { className: "cls_dialog_header p-4 border-b shrink-0", children: [_jsx("h2", { className: "text-lg font-semibold", children: edit_mode ? 'Edit Prompt' : 'Add New Prompt' }), _jsx("p", { className: "text-sm text-muted-foreground", children: edit_mode
255
+ ? 'Modify the prompt configuration below'
256
+ : 'Fill in the details to create a new prompt' })] }), _jsxs("div", { className: "cls_dialog_body p-4 space-y-4 flex-1 overflow-y-auto min-h-0 overscroll-contain", children: [_jsxs("div", { className: "cls_form_field space-y-2", children: [_jsx("label", { className: "text-sm font-medium", children: "Prompt Area" }), _jsx("input", { type: "text", value: form_data.prompt_area, onChange: (e) => handle_form_change('prompt_area', e.target.value), placeholder: "e.g., marketing, support, generation", className: "cls_prompt_area_input w-full px-3 py-2 border rounded-md bg-background" })] }), _jsxs("div", { className: "cls_form_field space-y-2", children: [_jsx("label", { className: "text-sm font-medium", children: "Prompt Key" }), _jsx("input", { type: "text", value: form_data.prompt_key, onChange: (e) => handle_form_change('prompt_key', e.target.value), placeholder: "e.g., greeting, summary, analysis", className: "cls_prompt_key_input w-full px-3 py-2 border rounded-md bg-background" })] }), _jsxs("div", { className: "cls_form_field space-y-2", children: [_jsx("label", { className: "text-sm font-medium", children: "Prompt Text" }), _jsx("textarea", { value: form_data.prompt_text, onChange: (e) => handle_form_change('prompt_text', e.target.value), placeholder: "Enter the prompt text. Use {{variable_name}} for substitution.", rows: 4, className: "cls_prompt_text_input w-full px-3 py-2 border rounded-md bg-background resize-y max-h-[150px]" })] }), _jsx(VariablesEditor, { variables: form_data.prompt_variables, on_variables_change: (vars) => handle_form_change('prompt_variables', vars) }), _jsxs("div", { className: "cls_form_field space-y-2", children: [_jsx("label", { className: "text-sm font-medium", children: "Notes" }), _jsx("textarea", { value: form_data.prompt_notes, onChange: (e) => handle_form_change('prompt_notes', e.target.value), placeholder: "Optional notes about this prompt...", rows: 2, className: "cls_prompt_notes_input w-full px-3 py-2 border rounded-md bg-background resize-y max-h-[100px]" })] }), edit_mode && editing_uuid && (_jsxs("div", { className: "cls_form_field space-y-2", children: [_jsx("label", { className: "text-sm font-medium text-muted-foreground", children: "UUID" }), _jsx("input", { type: "text", value: editing_uuid, readOnly: true, className: "cls_uuid_input w-full px-3 py-2 border rounded-md bg-muted text-muted-foreground cursor-not-allowed" })] }))] }), _jsxs("div", { className: "cls_dialog_footer flex justify-end gap-2 p-4 border-t shrink-0", children: [_jsxs("button", { onClick: handle_close_dialog, disabled: saving, className: "cls_cancel_btn flex items-center gap-2 px-4 py-2 border rounded-md hover:bg-muted transition-colors disabled:opacity-50", children: [_jsx(XCircle, { className: "h-4 w-4" }), "Cancel"] }), _jsxs("button", { onClick: handle_save, disabled: saving || !form_data.prompt_area || !form_data.prompt_key || !form_data.prompt_text, className: "cls_save_btn flex items-center gap-2 px-4 py-2 bg-primary text-primary-foreground rounded-md hover:bg-primary/90 transition-colors disabled:opacity-50", children: [saving ? (_jsx(Loader2, { className: "h-4 w-4 animate-spin" })) : (_jsx(CheckCircle, { className: "h-4 w-4" })), edit_mode ? 'Update' : 'Create'] })] })] }) })), delete_dialog_open && (_jsx("div", { className: "cls_delete_dialog_overlay fixed inset-0 z-50 bg-black/80 flex items-center justify-center", children: _jsxs("div", { className: "cls_delete_dialog_content bg-background border rounded-lg shadow-lg w-full max-w-md m-4", children: [_jsx("div", { className: "cls_delete_dialog_header p-4 border-b", children: _jsx("h2", { className: "text-lg font-semibold", children: "Confirm Delete" }) }), _jsx("div", { className: "cls_delete_dialog_body p-4", children: _jsx("p", { className: "text-sm text-muted-foreground", children: "Are you sure you want to delete this prompt? This action cannot be undone." }) }), _jsxs("div", { className: "cls_delete_dialog_footer flex justify-end gap-2 p-4 border-t", children: [_jsxs("button", { onClick: handle_close_delete_dialog, disabled: deleting, className: "cls_cancel_delete_btn flex items-center gap-2 px-4 py-2 border rounded-md hover:bg-muted transition-colors disabled:opacity-50", children: [_jsx(XCircle, { className: "h-4 w-4" }), "Cancel"] }), _jsxs("button", { onClick: handle_confirm_delete, disabled: deleting, className: "cls_confirm_delete_btn flex items-center gap-2 px-4 py-2 bg-destructive text-destructive-foreground rounded-md hover:bg-destructive/90 transition-colors disabled:opacity-50", children: [deleting ? (_jsx(Loader2, { className: "h-4 w-4 animate-spin" })) : (_jsx(Trash2, { className: "h-4 w-4" })), "Delete"] })] })] }) }))] }));
257
+ }
258
+ //# sourceMappingURL=hazo_llm_prompt_config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hazo_llm_prompt_config.js","sourceRoot":"","sources":["../../../src/components/hazo_llm_prompt_config/hazo_llm_prompt_config.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Hazo LLM Prompt Config Component Exports
3
+ *
4
+ * Export the prompt configuration UI component and its types
5
+ */
6
+ export { HazoLlmPromptConfig } from './hazo_llm_prompt_config.js';
7
+ export type { HazoLlmPromptConfigProps, PromptConfigRecord, PromptFormData, PromptVariableDefinition, ApiResponse } from './types.js';
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/hazo_llm_prompt_config/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,YAAY,EACV,wBAAwB,EACxB,kBAAkB,EAClB,cAAc,EACd,wBAAwB,EACxB,WAAW,EACZ,MAAM,YAAY,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Hazo LLM Prompt Config Component Exports
3
+ *
4
+ * Export the prompt configuration UI component and its types
5
+ */
6
+ export { HazoLlmPromptConfig } from './hazo_llm_prompt_config.js';
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/hazo_llm_prompt_config/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC"}
@@ -0,0 +1,74 @@
1
+ /**
2
+ * Hazo LLM Prompt Config Types
3
+ *
4
+ * TypeScript interfaces for the prompt configuration UI component.
5
+ * Defines the shape of prompt variables and component props.
6
+ */
7
+ /**
8
+ * Single variable definition for a prompt
9
+ * Each variable has a name (used in substitution) and description (for documentation)
10
+ */
11
+ export interface PromptVariableDefinition {
12
+ /** Variable name used in template substitution (e.g., "user_name") */
13
+ name: string;
14
+ /** Description of what this variable represents */
15
+ description: string;
16
+ }
17
+ /**
18
+ * Prompt record from the database
19
+ * Matches the prompts_library table schema
20
+ */
21
+ export interface PromptConfigRecord {
22
+ /** Unique identifier for the prompt */
23
+ uuid: string;
24
+ /** Area/category of the prompt */
25
+ prompt_area: string;
26
+ /** Key identifier for the prompt */
27
+ prompt_key: string;
28
+ /** The actual prompt text */
29
+ prompt_text: string;
30
+ /** JSON string of variable definitions */
31
+ prompt_variables: string;
32
+ /** Additional notes about the prompt */
33
+ prompt_notes: string;
34
+ /** Timestamp when the record was created */
35
+ created_at: string;
36
+ /** Timestamp when the record was last changed */
37
+ changed_by: string;
38
+ }
39
+ /**
40
+ * Form data for creating/editing a prompt
41
+ */
42
+ export interface PromptFormData {
43
+ prompt_area: string;
44
+ prompt_key: string;
45
+ prompt_text: string;
46
+ prompt_variables: PromptVariableDefinition[];
47
+ prompt_notes: string;
48
+ }
49
+ /**
50
+ * Props for the HazoLlmPromptConfig component
51
+ */
52
+ export interface HazoLlmPromptConfigProps {
53
+ /** API endpoint for fetching all prompts (GET) */
54
+ api_endpoint_list: string;
55
+ /** API endpoint for creating a prompt (POST) */
56
+ api_endpoint_create: string;
57
+ /** API endpoint for updating a prompt (PUT) - will append /{uuid} */
58
+ api_endpoint_update: string;
59
+ /** API endpoint for deleting a prompt (DELETE) - will append /{uuid} */
60
+ api_endpoint_delete: string;
61
+ /** Optional callback when prompt list changes */
62
+ on_change?: (prompts: PromptConfigRecord[]) => void;
63
+ /** Optional custom class name for the container */
64
+ class_name?: string;
65
+ }
66
+ /**
67
+ * Standard API response structure
68
+ */
69
+ export interface ApiResponse<T = unknown> {
70
+ success: boolean;
71
+ data?: T;
72
+ error?: string;
73
+ }
74
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/hazo_llm_prompt_config/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH;;;GAGG;AACH,MAAM,WAAW,wBAAwB;IACvC,sEAAsE;IACtE,IAAI,EAAE,MAAM,CAAC;IAEb,mDAAmD;IACnD,WAAW,EAAE,MAAM,CAAC;CACrB;AAMD;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC,uCAAuC;IACvC,IAAI,EAAE,MAAM,CAAC;IAEb,kCAAkC;IAClC,WAAW,EAAE,MAAM,CAAC;IAEpB,oCAAoC;IACpC,UAAU,EAAE,MAAM,CAAC;IAEnB,6BAA6B;IAC7B,WAAW,EAAE,MAAM,CAAC;IAEpB,0CAA0C;IAC1C,gBAAgB,EAAE,MAAM,CAAC;IAEzB,wCAAwC;IACxC,YAAY,EAAE,MAAM,CAAC;IAErB,4CAA4C;IAC5C,UAAU,EAAE,MAAM,CAAC;IAEnB,iDAAiD;IACjD,UAAU,EAAE,MAAM,CAAC;CACpB;AAMD;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,EAAE,wBAAwB,EAAE,CAAC;IAC7C,YAAY,EAAE,MAAM,CAAC;CACtB;AAMD;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,kDAAkD;IAClD,iBAAiB,EAAE,MAAM,CAAC;IAE1B,gDAAgD;IAChD,mBAAmB,EAAE,MAAM,CAAC;IAE5B,qEAAqE;IACrE,mBAAmB,EAAE,MAAM,CAAC;IAE5B,wEAAwE;IACxE,mBAAmB,EAAE,MAAM,CAAC;IAE5B,iDAAiD;IACjD,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,kBAAkB,EAAE,KAAK,IAAI,CAAC;IAEpD,mDAAmD;IACnD,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAMD;;GAEG;AACH,MAAM,WAAW,WAAW,CAAC,CAAC,GAAG,OAAO;IACtC,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,CAAC,CAAC;IACT,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Hazo LLM Prompt Config Types
3
+ *
4
+ * TypeScript interfaces for the prompt configuration UI component.
5
+ * Defines the shape of prompt variables and component props.
6
+ */
7
+ export {};
8
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/components/hazo_llm_prompt_config/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Components Exports
3
+ *
4
+ * Export all components from this package
5
+ */
6
+ export * from './layout/index.js';
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,mBAAmB,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Components Exports
3
+ *
4
+ * Export all components from this package
5
+ */
6
+ export * from './layout/index.js';
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,mBAAmB,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Layout Component Exports
3
+ *
4
+ * Export all layout-related components from this module
5
+ */
6
+ export { Layout } from './layout.js';
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/layout/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Layout Component Exports
3
+ *
4
+ * Export all layout-related components from this module
5
+ */
6
+ export { Layout } from './layout.js';
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/layout/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Layout Component
3
+ *
4
+ * Main layout component that provides a consistent structure
5
+ * for applications using the hazo_llm_api package
6
+ */
7
+ import React from 'react';
8
+ interface LayoutProps {
9
+ children: React.ReactNode;
10
+ sidebar?: React.ReactNode;
11
+ header?: React.ReactNode;
12
+ }
13
+ /**
14
+ * Layout component - provides a consistent page structure
15
+ * @param children - Main content to be displayed
16
+ * @param sidebar - Optional sidebar component
17
+ * @param header - Optional header component
18
+ */
19
+ export declare function Layout({ children, sidebar, header }: LayoutProps): import("react/jsx-runtime").JSX.Element;
20
+ export {};
21
+ //# sourceMappingURL=layout.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"layout.d.ts","sourceRoot":"","sources":["../../../src/components/layout/layout.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,UAAU,WAAW;IACnB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC1B;AAED;;;;;GAKG;AACH,wBAAgB,MAAM,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,WAAW,2CAoBhE"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Layout Component
3
+ *
4
+ * Main layout component that provides a consistent structure
5
+ * for applications using the hazo_llm_api package
6
+ */
7
+ 'use client';
8
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
9
+ /**
10
+ * Layout component - provides a consistent page structure
11
+ * @param children - Main content to be displayed
12
+ * @param sidebar - Optional sidebar component
13
+ * @param header - Optional header component
14
+ */
15
+ export function Layout({ children, sidebar, header }) {
16
+ return (_jsxs("div", { className: "cls_layout_container flex h-screen w-full", children: [sidebar && (_jsx("aside", { className: "cls_layout_sidebar", children: sidebar })), _jsxs("div", { className: "cls_layout_main flex flex-1 flex-col", children: [header && (_jsx("header", { className: "cls_layout_header", children: header })), _jsx("main", { className: "cls_layout_content flex-1 overflow-auto", children: children })] })] }));
17
+ }
18
+ //# sourceMappingURL=layout.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"layout.js","sourceRoot":"","sources":["../../../src/components/layout/layout.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,YAAY,CAAC;;AAUb;;;;;GAKG;AACH,MAAM,UAAU,MAAM,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAe;IAC/D,OAAO,CACL,eAAK,SAAS,EAAC,2CAA2C,aACvD,OAAO,IAAI,CACV,gBAAO,SAAS,EAAC,oBAAoB,YAClC,OAAO,GACF,CACT,EACD,eAAK,SAAS,EAAC,sCAAsC,aAClD,MAAM,IAAI,CACT,iBAAQ,SAAS,EAAC,mBAAmB,YAClC,MAAM,GACA,CACV,EACD,eAAM,SAAS,EAAC,yCAAyC,YACtD,QAAQ,GACJ,IACH,IACF,CACP,CAAC;AACJ,CAAC"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * hazo_llm_api Package Entry Point
3
+ *
4
+ * Main export file for the hazo_llm_api npm package.
5
+ *
6
+ * IMPORTANT: This file only exports CLIENT-SIDE safe components.
7
+ * For server-side LLM API functions, import from 'hazo_llm_api/server'
8
+ */
9
+ export * from './components/index.js';
10
+ export type { LLMApiConfig, LLMApiClient, CallLLMParams, LLMResponse, Logger, PromptVariable, PromptVariables, Base64Data, PromptTextMode, PromptRecord, } from './lib/llm_api/types.js';
11
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAKH,cAAc,uBAAuB,CAAC;AAKtC,YAAY,EACV,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,WAAW,EACX,MAAM,EACN,cAAc,EACd,eAAe,EACf,UAAU,EACV,cAAc,EACd,YAAY,GACb,MAAM,wBAAwB,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,13 @@
1
+ /**
2
+ * hazo_llm_api Package Entry Point
3
+ *
4
+ * Main export file for the hazo_llm_api npm package.
5
+ *
6
+ * IMPORTANT: This file only exports CLIENT-SIDE safe components.
7
+ * For server-side LLM API functions, import from 'hazo_llm_api/server'
8
+ */
9
+ // =============================================================================
10
+ // Component Exports (Client-side ONLY)
11
+ // =============================================================================
12
+ export * from './components/index.js';
13
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,gFAAgF;AAChF,uCAAuC;AACvC,gFAAgF;AAChF,cAAc,uBAAuB,CAAC"}