hazo_llm_api 1.0.3 → 1.0.5

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 (62) hide show
  1. package/README.md +4 -4
  2. package/dist/lib/config/config_parser.d.ts +1 -1
  3. package/dist/lib/config/config_parser.js +5 -5
  4. package/dist/lib/config/config_parser.js.map +1 -1
  5. package/dist/lib/config/provider_loader.js +1 -1
  6. package/dist/lib/config/provider_loader.js.map +1 -1
  7. package/dist/lib/database/init_database.d.ts.map +1 -1
  8. package/dist/lib/database/init_database.js +72 -5
  9. package/dist/lib/database/init_database.js.map +1 -1
  10. package/dist/lib/database/utils.d.ts +9 -6
  11. package/dist/lib/database/utils.d.ts.map +1 -1
  12. package/dist/lib/database/utils.js +14 -5
  13. package/dist/lib/database/utils.js.map +1 -1
  14. package/dist/lib/llm_api/chain_helpers.d.ts +117 -0
  15. package/dist/lib/llm_api/chain_helpers.d.ts.map +1 -0
  16. package/dist/lib/llm_api/chain_helpers.js +445 -0
  17. package/dist/lib/llm_api/chain_helpers.js.map +1 -0
  18. package/dist/lib/llm_api/hazo_llm_prompt_chain.d.ts +20 -0
  19. package/dist/lib/llm_api/hazo_llm_prompt_chain.d.ts.map +1 -0
  20. package/dist/lib/llm_api/hazo_llm_prompt_chain.js +368 -0
  21. package/dist/lib/llm_api/hazo_llm_prompt_chain.js.map +1 -0
  22. package/dist/lib/llm_api/index.d.ts +34 -2
  23. package/dist/lib/llm_api/index.d.ts.map +1 -1
  24. package/dist/lib/llm_api/index.js +57 -5
  25. package/dist/lib/llm_api/index.js.map +1 -1
  26. package/dist/lib/llm_api/provider_helper.js +1 -1
  27. package/dist/lib/llm_api/provider_helper.js.map +1 -1
  28. package/dist/lib/llm_api/types.d.ts +143 -1
  29. package/dist/lib/llm_api/types.d.ts.map +1 -1
  30. package/dist/lib/llm_api/types.js.map +1 -1
  31. package/dist/lib/prompts/get_prompt.d.ts +27 -1
  32. package/dist/lib/prompts/get_prompt.d.ts.map +1 -1
  33. package/dist/lib/prompts/get_prompt.js +112 -2
  34. package/dist/lib/prompts/get_prompt.js.map +1 -1
  35. package/dist/lib/prompts/index.d.ts +1 -1
  36. package/dist/lib/prompts/index.d.ts.map +1 -1
  37. package/dist/lib/prompts/index.js +1 -1
  38. package/dist/lib/prompts/index.js.map +1 -1
  39. package/dist/lib/prompts/substitute_variables.d.ts +2 -2
  40. package/dist/lib/prompts/substitute_variables.d.ts.map +1 -1
  41. package/dist/lib/prompts/substitute_variables.js +10 -14
  42. package/dist/lib/prompts/substitute_variables.js.map +1 -1
  43. package/dist/lib/providers/qwen/qwen_provider.js +1 -1
  44. package/dist/lib/providers/qwen/qwen_provider.js.map +1 -1
  45. package/dist/server.d.ts +4 -3
  46. package/dist/server.d.ts.map +1 -1
  47. package/dist/server.js +3 -2
  48. package/dist/server.js.map +1 -1
  49. package/package.json +12 -1
  50. package/techdoc.md +2 -2
  51. package/dist/components/hazo_llm_prompt_config/hazo_llm_prompt_config.d.ts +0 -16
  52. package/dist/components/hazo_llm_prompt_config/hazo_llm_prompt_config.d.ts.map +0 -1
  53. package/dist/components/hazo_llm_prompt_config/hazo_llm_prompt_config.js +0 -258
  54. package/dist/components/hazo_llm_prompt_config/hazo_llm_prompt_config.js.map +0 -1
  55. package/dist/components/hazo_llm_prompt_config/index.d.ts +0 -8
  56. package/dist/components/hazo_llm_prompt_config/index.d.ts.map +0 -1
  57. package/dist/components/hazo_llm_prompt_config/index.js +0 -7
  58. package/dist/components/hazo_llm_prompt_config/index.js.map +0 -1
  59. package/dist/components/hazo_llm_prompt_config/types.d.ts +0 -74
  60. package/dist/components/hazo_llm_prompt_config/types.d.ts.map +0 -1
  61. package/dist/components/hazo_llm_prompt_config/types.js +0 -8
  62. package/dist/components/hazo_llm_prompt_config/types.js.map +0 -1
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * Export all prompt-related functions from this module
5
5
  */
6
- export { get_prompt_by_area_and_key, get_prompt_text, get_prompts_by_area, get_prompt_by_uuid, get_all_prompts, } from './get_prompt.js';
6
+ export { get_prompt_by_area_and_key, get_prompt_by_area_key_and_locals, get_prompt_text, get_prompts_by_area, get_prompt_by_uuid, get_all_prompts, } from './get_prompt.js';
7
7
  export { substitute_variables, parse_prompt_variables, validate_variables, } from './substitute_variables.js';
8
8
  export { PromptCache, get_prompt_cache, configure_prompt_cache, clear_prompt_cache, } from './prompt_cache.js';
9
9
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/prompts/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,0BAA0B,EAC1B,eAAe,EACf,mBAAmB,EACnB,kBAAkB,EAClB,eAAe,GAChB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,oBAAoB,EACpB,sBAAsB,EACtB,kBAAkB,GACnB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EACL,WAAW,EAGX,gBAAgB,EAChB,sBAAsB,EACtB,kBAAkB,GACnB,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/prompts/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,0BAA0B,EAC1B,iCAAiC,EACjC,eAAe,EACf,mBAAmB,EACnB,kBAAkB,EAClB,eAAe,GAEhB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,oBAAoB,EACpB,sBAAsB,EACtB,kBAAkB,GACnB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EACL,WAAW,EAGX,gBAAgB,EAChB,sBAAsB,EACtB,kBAAkB,GACnB,MAAM,mBAAmB,CAAC"}
@@ -2,13 +2,13 @@
2
2
  * Variable Substitution Module
3
3
  *
4
4
  * Functions to replace variables in prompt text.
5
- * Variables are prefixed with $ (e.g., $location, $name).
5
+ * Variables use double curly brace syntax: {{variable_name}}
6
6
  * Values come from the prompt_variables JSON array.
7
7
  */
8
8
  import type { Logger, PromptVariables } from '../llm_api/types.js';
9
9
  /**
10
10
  * Substitute variables in prompt text with values from prompt_variables
11
- * Variables are identified by $ prefix (e.g., $location becomes "Tokyo")
11
+ * Variables are identified by double curly braces (e.g., {{location}} becomes "Tokyo")
12
12
  *
13
13
  * @param prompt_text - The prompt text containing variables to replace
14
14
  * @param prompt_variables - Array of key-value objects with variable values
@@ -1 +1 @@
1
- {"version":3,"file":"substitute_variables.d.ts","sourceRoot":"","sources":["../../../src/lib/prompts/substitute_variables.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAMnE;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAClC,WAAW,EAAE,MAAM,EACnB,gBAAgB,EAAE,eAAe,GAAG,SAAS,EAC7C,MAAM,EAAE,MAAM,GACb,MAAM,CAgER;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CACpC,WAAW,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,EACtC,MAAM,EAAE,MAAM,GACb,eAAe,CAuCjB;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAChC,WAAW,EAAE,MAAM,EACnB,gBAAgB,EAAE,eAAe,GAAG,SAAS,EAC7C,MAAM,EAAE,MAAM,GACb;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,iBAAiB,EAAE,MAAM,EAAE,CAAA;CAAE,CAuDjD"}
1
+ {"version":3,"file":"substitute_variables.d.ts","sourceRoot":"","sources":["../../../src/lib/prompts/substitute_variables.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAMnE;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAClC,WAAW,EAAE,MAAM,EACnB,gBAAgB,EAAE,eAAe,GAAG,SAAS,EAC7C,MAAM,EAAE,MAAM,GACb,MAAM,CA8DR;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CACpC,WAAW,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,EACtC,MAAM,EAAE,MAAM,GACb,eAAe,CAuCjB;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAChC,WAAW,EAAE,MAAM,EACnB,gBAAgB,EAAE,eAAe,GAAG,SAAS,EAC7C,MAAM,EAAE,MAAM,GACb;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,iBAAiB,EAAE,MAAM,EAAE,CAAA;CAAE,CAqDjD"}
@@ -2,7 +2,7 @@
2
2
  * Variable Substitution Module
3
3
  *
4
4
  * Functions to replace variables in prompt text.
5
- * Variables are prefixed with $ (e.g., $location, $name).
5
+ * Variables use double curly brace syntax: {{variable_name}}
6
6
  * Values come from the prompt_variables JSON array.
7
7
  */
8
8
  // =============================================================================
@@ -10,7 +10,7 @@
10
10
  // =============================================================================
11
11
  /**
12
12
  * Substitute variables in prompt text with values from prompt_variables
13
- * Variables are identified by $ prefix (e.g., $location becomes "Tokyo")
13
+ * Variables are identified by double curly braces (e.g., {{location}} becomes "Tokyo")
14
14
  *
15
15
  * @param prompt_text - The prompt text containing variables to replace
16
16
  * @param prompt_variables - Array of key-value objects with variable values
@@ -34,8 +34,8 @@ export function substitute_variables(prompt_text, prompt_variables, logger) {
34
34
  all_variables[key] = value;
35
35
  }
36
36
  }
37
- // Find all $variable patterns in the text
38
- const variable_pattern = /\$([a-zA-Z_][a-zA-Z0-9_]*)/g;
37
+ // Find all {{variable}} patterns in the text
38
+ const variable_pattern = /\{\{([a-zA-Z_][a-zA-Z0-9_]*)\}\}/g;
39
39
  const found_variables = [];
40
40
  let match;
41
41
  while ((match = variable_pattern.exec(prompt_text)) !== null) {
@@ -46,26 +46,24 @@ export function substitute_variables(prompt_text, prompt_variables, logger) {
46
46
  }
47
47
  // Substitute each found variable
48
48
  for (const var_name of found_variables) {
49
- const var_pattern = new RegExp(`\\$${var_name}\\b`, 'g');
49
+ const var_pattern = new RegExp(`\\{\\{${var_name}\\}\\}`, 'g');
50
50
  if (var_name in all_variables) {
51
51
  const value = all_variables[var_name];
52
52
  result_text = result_text.replace(var_pattern, value);
53
- substitutions_made[`$${var_name}`] = value;
53
+ substitutions_made[`{{${var_name}}}`] = value;
54
54
  }
55
55
  else {
56
56
  missing_variables.push(var_name);
57
- logger.warn(`Variable not found in prompt_variables: $${var_name}`, {
57
+ logger.warn(`Variable not found in prompt_variables: {{${var_name}}}`, {
58
58
  file: file_name,
59
- line: 75,
60
59
  data: { variable: var_name, available_variables: Object.keys(all_variables) },
61
60
  });
62
61
  }
63
62
  }
64
63
  // Log variable substitution with before and after in one message
65
64
  if (Object.keys(substitutions_made).length > 0) {
66
- logger.debug('Variable substitution', {
65
+ logger.info('Variable substitution', {
67
66
  file: file_name,
68
- line: 83,
69
67
  data: {
70
68
  before: prompt_text,
71
69
  after: result_text,
@@ -126,8 +124,8 @@ export function parse_prompt_variables(json_string, logger) {
126
124
  */
127
125
  export function validate_variables(prompt_text, prompt_variables, logger) {
128
126
  const file_name = 'substitute_variables.ts';
129
- // Find all variables in the prompt text
130
- const variable_pattern = /\$([a-zA-Z_][a-zA-Z0-9_]*)/g;
127
+ // Find all {{variable}} patterns in the prompt text
128
+ const variable_pattern = /\{\{([a-zA-Z_][a-zA-Z0-9_]*)\}\}/g;
131
129
  const found_variables = [];
132
130
  let match;
133
131
  while ((match = variable_pattern.exec(prompt_text)) !== null) {
@@ -140,7 +138,6 @@ export function validate_variables(prompt_text, prompt_variables, logger) {
140
138
  if (found_variables.length === 0) {
141
139
  logger.debug('No variables found in prompt text', {
142
140
  file: file_name,
143
- line: 180,
144
141
  });
145
142
  return { valid: true, missing_variables: [] };
146
143
  }
@@ -163,7 +160,6 @@ export function validate_variables(prompt_text, prompt_variables, logger) {
163
160
  const valid = missing_variables.length === 0;
164
161
  logger.debug('Variable validation completed', {
165
162
  file: file_name,
166
- line: 206,
167
163
  data: {
168
164
  valid,
169
165
  found_variables,
@@ -1 +1 @@
1
- {"version":3,"file":"substitute_variables.js","sourceRoot":"","sources":["../../../src/lib/prompts/substitute_variables.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"substitute_variables.js","sourceRoot":"","sources":["../../../src/lib/prompts/substitute_variables.ts"],"names":[],"mappings":"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"}
@@ -97,7 +97,7 @@ export class QwenProvider {
97
97
  };
98
98
  const config_key = config_key_map[service_type] || 'model';
99
99
  throw new Error(`Model not configured for service: ${service_type}. ` +
100
- `Please set ${config_key} in the [llm_qwen] section of hazo_llm_api_config.ini. ` +
100
+ `Please set ${config_key} in the [llm_qwen] section of config/hazo_llm_api_config.ini. ` +
101
101
  `Example: ${config_key}=qwen-max`);
102
102
  }
103
103
  return model;
@@ -1 +1 @@
1
- {"version":3,"file":"qwen_provider.js","sourceRoot":"","sources":["../../../../src/lib/providers/qwen/qwen_provider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"qwen_provider.js","sourceRoot":"","sources":["../../../../src/lib/providers/qwen/qwen_provider.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAgBH,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EACL,aAAa,EACb,mBAAmB,EACnB,wBAAwB,EACxB,mBAAmB,EACnB,gBAAgB,EAChB,sBAAsB,GAGvB,MAAM,kBAAkB,CAAC;AAwD1B,gFAAgF;AAChF,sBAAsB;AACtB,gFAAgF;AAEhF;;;GAGG;AACH,MAAM,OAAO,YAAY;IAkBvB;;;OAGG;IACH,YAAY,MAA0B;QArBrB,SAAI,GAAG,MAAM,CAAC;QAsB7B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;QAC9B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,gBAAgB,EAAE,CAAC;QACpD,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,eAAe,CAAC;QAC9C,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,CAAC;QAChD,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,CAAC;QAChD,IAAI,CAAC,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,CAAC;QAClD,IAAI,CAAC,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,CAAC;QAClD,IAAI,CAAC,kBAAkB,GAAG,MAAM,CAAC,kBAAkB,CAAC;QACpD,IAAI,CAAC,kBAAkB,GAAG,MAAM,CAAC,kBAAkB,CAAC;QACpD,IAAI,CAAC,mBAAmB,GAAG,MAAM,CAAC,mBAAmB,CAAC;QACtD,IAAI,CAAC,kBAAkB,GAAG,MAAM,CAAC,kBAAkB,CAAC;QACpD,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;QACtC,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;QACxC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QAE5B,+DAA+D;QAC/D,IAAI,MAAM,CAAC,YAAY,IAAI,MAAM,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1D,IAAI,CAAC,YAAY,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QACnD,CAAC;aAAM,CAAC;YACN,2GAA2G;YAC3G,IAAI,CAAC,YAAY,GAAG,IAAI,GAAG,CAAC;gBAC1B,aAAa,CAAC,SAAS;gBACvB,aAAa,CAAC,UAAU;aACzB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,QAAQ;QACN,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED;;;OAGG;IACH,gBAAgB;QACd,OAAO,IAAI,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,gBAAgB;IACrD,CAAC;IAED;;;;OAIG;IACH,qBAAqB,CAAC,YAAyB;QAC7C,QAAQ,YAAY,EAAE,CAAC;YACrB,KAAK,aAAa,CAAC,SAAS;gBAC1B,OAAO,IAAI,CAAC,eAAe,CAAC;YAC9B,KAAK,aAAa,CAAC,UAAU;gBAC3B,OAAO,IAAI,CAAC,gBAAgB,CAAC;YAC/B,KAAK,aAAa,CAAC,UAAU;gBAC3B,OAAO,IAAI,CAAC,gBAAgB,CAAC;YAC/B,KAAK,aAAa,CAAC,WAAW;gBAC5B,OAAO,IAAI,CAAC,iBAAiB,CAAC;YAChC;gBACE,OAAO,SAAS,CAAC;QACrB,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACK,kBAAkB,CAAC,YAAyB;QAClD,MAAM,KAAK,GAAG,IAAI,CAAC,qBAAqB,CAAC,YAAY,CAAC,CAAC;QACvD,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,gEAAgE;YAChE,MAAM,cAAc,GAAgC;gBAClD,CAAC,aAAa,CAAC,SAAS,CAAC,EAAE,iBAAiB;gBAC5C,CAAC,aAAa,CAAC,UAAU,CAAC,EAAE,kBAAkB;gBAC9C,CAAC,aAAa,CAAC,UAAU,CAAC,EAAE,kBAAkB;gBAC9C,CAAC,aAAa,CAAC,WAAW,CAAC,EAAE,mBAAmB;aACjD,CAAC;YACF,MAAM,UAAU,GAAG,cAAc,CAAC,YAAY,CAAC,IAAI,OAAO,CAAC;YAC3D,MAAM,IAAI,KAAK,CACb,qCAAqC,YAAY,IAAI;gBACrD,cAAc,UAAU,gEAAgE;gBACxF,YAAY,UAAU,WAAW,CAClC,CAAC;QACJ,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;OAIG;IACK,uBAAuB,CAAC,YAAyB;QACvD,QAAQ,YAAY,EAAE,CAAC;YACrB,KAAK,aAAa,CAAC,SAAS;gBAC1B,OAAO,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,OAAO,CAAC;YAChD,KAAK,aAAa,CAAC,UAAU;gBAC3B,OAAO,IAAI,CAAC,kBAAkB,IAAI,IAAI,CAAC,OAAO,CAAC;YACjD,KAAK,aAAa,CAAC,UAAU;gBAC3B,OAAO,IAAI,CAAC,kBAAkB,IAAI,sBAAsB,EAAE,CAAC;YAC7D,KAAK,aAAa,CAAC,WAAW;gBAC5B,OAAO,IAAI,CAAC,mBAAmB,IAAI,IAAI,CAAC,OAAO,CAAC;YAClD;gBACE,OAAO,IAAI,CAAC,OAAO,CAAC;QACxB,CAAC;IACH,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,SAAS,CAAC,MAAsB,EAAE,MAAc;QACpD,MAAM,SAAS,GAAG,kBAAkB,CAAC;QAErC,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;YAC/D,MAAM,QAAQ,GAAG,mBAAmB,CAClC,MAAM,CAAC,MAAM,EACb,IAAI,CAAC,kBAAkB,CACxB,CAAC;YAEF,MAAM,CAAC,KAAK,CAAC,0BAA0B,EAAE;gBACvC,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,GAAG;gBACT,IAAI,EAAE;oBACJ,KAAK;oBACL,aAAa,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM;iBACpC;aACF,CAAC,CAAC;YAEH,MAAM,OAAO,GAAG,IAAI,CAAC,uBAAuB,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;YACtE,OAAO,MAAM,aAAa,CACxB,OAAO,EACP,IAAI,CAAC,OAAO,EACZ,KAAK,EACL,QAAQ,EACR,MAAM,EACN,IAAI,CAAC,WAAW,CACjB,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,aAAa,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC7E,MAAM,CAAC,KAAK,CAAC,yBAAyB,EAAE;gBACtC,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,GAAG;gBACT,IAAI,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE;aAC/B,CAAC,CAAC;YACH,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC;QAClD,CAAC;IACH,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,UAAU,CAAC,MAAuB,EAAE,MAAc;QACtD,MAAM,SAAS,GAAG,kBAAkB,CAAC;QAErC,IAAI,CAAC;YACH,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC;gBACjD,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,4CAA4C;iBACpD,CAAC;YACJ,CAAC;YAED,MAAM,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;YAChE,MAAM,UAAU,GAAiB,CAAC;oBAChC,SAAS,EAAE,MAAM,CAAC,eAAe;oBACjC,IAAI,EAAE,MAAM,CAAC,SAAS;iBACvB,CAAC,CAAC;YAEH,MAAM,QAAQ,GAAG,mBAAmB,CAClC,MAAM,CAAC,MAAM,EACb,IAAI,CAAC,kBAAkB,EACvB,UAAU,CACX,CAAC;YAEF,MAAM,CAAC,KAAK,CAAC,2BAA2B,EAAE;gBACxC,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,GAAG;gBACT,IAAI,EAAE;oBACJ,KAAK;oBACL,aAAa,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM;oBACnC,eAAe,EAAE,MAAM,CAAC,eAAe;iBACxC;aACF,CAAC,CAAC;YAEH,MAAM,OAAO,GAAG,IAAI,CAAC,uBAAuB,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;YACvE,OAAO,MAAM,aAAa,CACxB,OAAO,EACP,IAAI,CAAC,OAAO,EACZ,KAAK,EACL,QAAQ,EACR,MAAM,EACN,IAAI,CAAC,YAAY,CAClB,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,aAAa,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC7E,MAAM,CAAC,KAAK,CAAC,0BAA0B,EAAE;gBACvC,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,GAAG;gBACT,IAAI,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE;aAC/B,CAAC,CAAC;YACH,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC;QAClD,CAAC;IACH,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,UAAU,CAAC,MAAuB,EAAE,MAAc;QACtD,MAAM,SAAS,GAAG,kBAAkB,CAAC;QAErC,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;YAChE,MAAM,OAAO,GAAG,IAAI,CAAC,uBAAuB,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;YAEvE,MAAM,CAAC,KAAK,CAAC,2BAA2B,EAAE;gBACxC,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,GAAG;gBACT,IAAI,EAAE;oBACJ,KAAK;oBACL,OAAO;oBACP,aAAa,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM;iBACpC;aACF,CAAC,CAAC;YAEH,OAAO,MAAM,mBAAmB,CAC9B,OAAO,EACP,IAAI,CAAC,OAAO,EACZ,KAAK,EACL,MAAM,CAAC,MAAM,EACb,MAAM,EACN,IAAI,CAAC,YAAY,CAClB,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,aAAa,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC7E,MAAM,CAAC,KAAK,CAAC,0BAA0B,EAAE;gBACvC,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,GAAG;gBACT,IAAI,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE;aAC/B,CAAC,CAAC;YACH,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC;QAClD,CAAC;IACH,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,WAAW,CAAC,MAAwB,EAAE,MAAc;QACxD,MAAM,SAAS,GAAG,kBAAkB,CAAC;QAErC,IAAI,CAAC;YACH,mEAAmE;YACnE,MAAM,YAAY,GAAiB,EAAE,CAAC;YAEtC,IAAI,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC9C,4CAA4C;gBAC5C,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC7B,MAAM,CAAC,IAAI,CAAC,2DAA2D,EAAE;wBACvE,IAAI,EAAE,SAAS;wBACf,IAAI,EAAE,GAAG;wBACT,IAAI,EAAE,EAAE,cAAc,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE;qBAC/C,CAAC,CAAC;oBACH,YAAY,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBAClD,CAAC;qBAAM,CAAC;oBACN,YAAY,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;gBACtC,CAAC;YACH,CAAC;iBAAM,IAAI,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,eAAe,EAAE,CAAC;gBACtD,YAAY,CAAC,IAAI,CAAC;oBAChB,IAAI,EAAE,MAAM,CAAC,SAAS;oBACtB,SAAS,EAAE,MAAM,CAAC,eAAe;iBAClC,CAAC,CAAC;YACL,CAAC;YAED,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC9B,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,gCAAgC;iBACxC,CAAC;YACJ,CAAC;YAED,MAAM,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;YACjE,MAAM,OAAO,GAAG,IAAI,CAAC,uBAAuB,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;YAExE,MAAM,CAAC,KAAK,CAAC,4BAA4B,EAAE;gBACzC,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,GAAG;gBACT,IAAI,EAAE;oBACJ,KAAK;oBACL,OAAO;oBACP,aAAa,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM;oBACnC,WAAW,EAAE,YAAY,CAAC,MAAM;oBAChC,gBAAgB,EAAE,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC;iBACzD;aACF,CAAC,CAAC;YAEH,OAAO,MAAM,wBAAwB,CACnC,OAAO,EACP,IAAI,CAAC,OAAO,EACZ,KAAK,EACL,MAAM,CAAC,MAAM,EACb,YAAY,EACZ,MAAM,EACN,IAAI,CAAC,YAAY,CAClB,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,aAAa,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC7E,MAAM,CAAC,KAAK,CAAC,2BAA2B,EAAE;gBACxC,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,GAAG;gBACT,IAAI,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE;aAC/B,CAAC,CAAC;YACH,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC;QAClD,CAAC;IACH,CAAC;CACF"}
package/dist/server.d.ts CHANGED
@@ -12,15 +12,16 @@
12
12
  * - hazo_llm_text_image: Text input → Image output
13
13
  * - hazo_llm_image_image: Image input → Image output
14
14
  * - hazo_llm_text_image_text: Text → Image → Text (chained)
15
+ * - hazo_llm_prompt_chain: Chain multiple prompts with dynamic value resolution
15
16
  */
16
- export { initialize_llm_api, hazo_llm_text_text, hazo_llm_image_text, hazo_llm_text_image, hazo_llm_image_image, hazo_llm_text_image_text, hazo_llm_image_image_text, hazo_llm_text_text_stream, hazo_llm_image_text_stream, is_initialized, get_current_config, default_logger, get_logger, set_logger, get_hooks, set_hooks, } from './lib/llm_api/index.js';
17
+ export { initialize_llm_api, hazo_llm_text_text, hazo_llm_image_text, hazo_llm_text_image, hazo_llm_image_image, hazo_llm_text_image_text, hazo_llm_image_image_text, hazo_llm_prompt_chain, hazo_llm_text_text_stream, hazo_llm_image_text_stream, is_initialized, get_current_config, default_logger, get_logger, set_logger, get_hooks, set_hooks, } from './lib/llm_api/index.js';
17
18
  export { initialize_database, get_database, close_database, insert_prompt, update_prompt, delete_prompt, get_default_sqlite_path, expand_path, resolve_sqlite_path, } from './lib/database/index.js';
18
- export { get_prompt_by_area_and_key, get_prompt_text, get_prompts_by_area, get_prompt_by_uuid, get_all_prompts, substitute_variables, parse_prompt_variables, validate_variables, } from './lib/prompts/index.js';
19
+ export { get_prompt_by_area_and_key, get_prompt_by_area_key_and_locals, get_prompt_text, get_prompts_by_area, get_prompt_by_uuid, get_all_prompts, substitute_variables, parse_prompt_variables, validate_variables, type LocalFilterOptions, } from './lib/prompts/index.js';
19
20
  export { call_gemini_api, get_gemini_api_url, } from './lib/providers/index.js';
20
21
  export { LLM_PROVIDERS, SERVICE_TYPES } from './lib/providers/types.js';
21
22
  export type { ProviderName, ServiceType } from './lib/providers/types.js';
22
23
  export { LLM_ERROR_CODES } from './lib/llm_api/types.js';
23
24
  export { build_error_response } from './lib/llm_api/provider_helper.js';
24
25
  export type { LLMErrorCode, LLMError } from './lib/llm_api/types.js';
25
- export type { LLMApiConfig, LLMApiClient, LLMResponse, TextTextParams, ImageTextParams, TextImageParams, ImageImageParams, TextImageTextParams, ImageImageTextParams, ChainImage, Logger, PromptVariable, PromptVariables, Base64Data, PromptTextMode, PromptRecord, CallLLMParams, LLMHooks, LLMRequestContext, LLMResponseContext, LLMErrorContext, BeforeRequestHook, AfterResponseHook, OnErrorHook, LLMStreamChunk, LLMStreamResponse, } from './lib/llm_api/types.js';
26
+ export type { LLMApiConfig, LLMApiClient, LLMResponse, TextTextParams, ImageTextParams, TextImageParams, ImageImageParams, TextImageTextParams, ImageImageTextParams, ChainImage, Logger, PromptVariable, PromptVariables, Base64Data, PromptTextMode, PromptRecord, CallLLMParams, LLMHooks, LLMRequestContext, LLMResponseContext, LLMErrorContext, BeforeRequestHook, AfterResponseHook, OnErrorHook, LLMStreamChunk, LLMStreamResponse, ChainMatchType, ChainFieldDefinition, ChainVariableDefinition, ChainCallDefinition, ChainCallResult, PromptChainParams, PromptChainResponse, } from './lib/llm_api/types.js';
26
27
  //# sourceMappingURL=server.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAKH,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,EACpB,wBAAwB,EACxB,yBAAyB,EAEzB,yBAAyB,EACzB,0BAA0B,EAC1B,cAAc,EACd,kBAAkB,EAElB,cAAc,EACd,UAAU,EACV,UAAU,EAEV,SAAS,EACT,SAAS,GACV,MAAM,wBAAwB,CAAC;AAKhC,OAAO,EACL,mBAAmB,EACnB,YAAY,EACZ,cAAc,EACd,aAAa,EACb,aAAa,EACb,aAAa,EAEb,uBAAuB,EACvB,WAAW,EACX,mBAAmB,GACpB,MAAM,yBAAyB,CAAC;AAKjC,OAAO,EACL,0BAA0B,EAC1B,eAAe,EACf,mBAAmB,EACnB,kBAAkB,EAClB,eAAe,EACf,oBAAoB,EACpB,sBAAsB,EACtB,kBAAkB,GACnB,MAAM,wBAAwB,CAAC;AAKhC,OAAO,EACL,eAAe,EACf,kBAAkB,GACnB,MAAM,0BAA0B,CAAC;AAKlC,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACxE,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAK1E,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AACxE,YAAY,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAKrE,YAAY,EACV,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,cAAc,EACd,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,mBAAmB,EACnB,oBAAoB,EACpB,UAAU,EACV,MAAM,EACN,cAAc,EACd,eAAe,EACf,UAAU,EACV,cAAc,EACd,YAAY,EACZ,aAAa,EAEb,QAAQ,EACR,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,iBAAiB,EACjB,iBAAiB,EACjB,WAAW,EAEX,cAAc,EACd,iBAAiB,GAClB,MAAM,wBAAwB,CAAC"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAKH,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,EACpB,wBAAwB,EACxB,yBAAyB,EACzB,qBAAqB,EAErB,yBAAyB,EACzB,0BAA0B,EAC1B,cAAc,EACd,kBAAkB,EAElB,cAAc,EACd,UAAU,EACV,UAAU,EAEV,SAAS,EACT,SAAS,GACV,MAAM,wBAAwB,CAAC;AAKhC,OAAO,EACL,mBAAmB,EACnB,YAAY,EACZ,cAAc,EACd,aAAa,EACb,aAAa,EACb,aAAa,EAEb,uBAAuB,EACvB,WAAW,EACX,mBAAmB,GACpB,MAAM,yBAAyB,CAAC;AAKjC,OAAO,EACL,0BAA0B,EAC1B,iCAAiC,EACjC,eAAe,EACf,mBAAmB,EACnB,kBAAkB,EAClB,eAAe,EACf,oBAAoB,EACpB,sBAAsB,EACtB,kBAAkB,EAClB,KAAK,kBAAkB,GACxB,MAAM,wBAAwB,CAAC;AAKhC,OAAO,EACL,eAAe,EACf,kBAAkB,GACnB,MAAM,0BAA0B,CAAC;AAKlC,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACxE,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAK1E,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AACxE,YAAY,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAKrE,YAAY,EACV,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,cAAc,EACd,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,mBAAmB,EACnB,oBAAoB,EACpB,UAAU,EACV,MAAM,EACN,cAAc,EACd,eAAe,EACf,UAAU,EACV,cAAc,EACd,YAAY,EACZ,aAAa,EAEb,QAAQ,EACR,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,iBAAiB,EACjB,iBAAiB,EACjB,WAAW,EAEX,cAAc,EACd,iBAAiB,EAEjB,cAAc,EACd,oBAAoB,EACpB,uBAAuB,EACvB,mBAAmB,EACnB,eAAe,EACf,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,wBAAwB,CAAC"}
package/dist/server.js CHANGED
@@ -12,11 +12,12 @@
12
12
  * - hazo_llm_text_image: Text input → Image output
13
13
  * - hazo_llm_image_image: Image input → Image output
14
14
  * - hazo_llm_text_image_text: Text → Image → Text (chained)
15
+ * - hazo_llm_prompt_chain: Chain multiple prompts with dynamic value resolution
15
16
  */
16
17
  // =============================================================================
17
18
  // LLM API Exports (Server-side ONLY)
18
19
  // =============================================================================
19
- export { initialize_llm_api, hazo_llm_text_text, hazo_llm_image_text, hazo_llm_text_image, hazo_llm_image_image, hazo_llm_text_image_text, hazo_llm_image_image_text,
20
+ export { initialize_llm_api, hazo_llm_text_text, hazo_llm_image_text, hazo_llm_text_image, hazo_llm_image_image, hazo_llm_text_image_text, hazo_llm_image_image_text, hazo_llm_prompt_chain,
20
21
  // Streaming functions
21
22
  hazo_llm_text_text_stream, hazo_llm_image_text_stream, is_initialized, get_current_config,
22
23
  // Logger utilities
@@ -32,7 +33,7 @@ get_default_sqlite_path, expand_path, resolve_sqlite_path, } from './lib/databas
32
33
  // =============================================================================
33
34
  // Prompt Utility Exports (Server-side ONLY)
34
35
  // =============================================================================
35
- export { get_prompt_by_area_and_key, get_prompt_text, get_prompts_by_area, get_prompt_by_uuid, get_all_prompts, substitute_variables, parse_prompt_variables, validate_variables, } from './lib/prompts/index.js';
36
+ export { get_prompt_by_area_and_key, get_prompt_by_area_key_and_locals, get_prompt_text, get_prompts_by_area, get_prompt_by_uuid, get_all_prompts, substitute_variables, parse_prompt_variables, validate_variables, } from './lib/prompts/index.js';
36
37
  // =============================================================================
37
38
  // Provider Exports (Server-side ONLY)
38
39
  // =============================================================================
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,gFAAgF;AAChF,qCAAqC;AACrC,gFAAgF;AAChF,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,EACpB,wBAAwB,EACxB,yBAAyB;AACzB,sBAAsB;AACtB,yBAAyB,EACzB,0BAA0B,EAC1B,cAAc,EACd,kBAAkB;AAClB,mBAAmB;AACnB,cAAc,EACd,UAAU,EACV,UAAU;AACV,kBAAkB;AAClB,SAAS,EACT,SAAS,GACV,MAAM,wBAAwB,CAAC;AAEhC,gFAAgF;AAChF,sCAAsC;AACtC,gFAAgF;AAChF,OAAO,EACL,mBAAmB,EACnB,YAAY,EACZ,cAAc,EACd,aAAa,EACb,aAAa,EACb,aAAa;AACb,eAAe;AACf,uBAAuB,EACvB,WAAW,EACX,mBAAmB,GACpB,MAAM,yBAAyB,CAAC;AAEjC,gFAAgF;AAChF,4CAA4C;AAC5C,gFAAgF;AAChF,OAAO,EACL,0BAA0B,EAC1B,eAAe,EACf,mBAAmB,EACnB,kBAAkB,EAClB,eAAe,EACf,oBAAoB,EACpB,sBAAsB,EACtB,kBAAkB,GACnB,MAAM,wBAAwB,CAAC;AAEhC,gFAAgF;AAChF,sCAAsC;AACtC,gFAAgF;AAChF,OAAO,EACL,eAAe,EACf,kBAAkB,GACnB,MAAM,0BAA0B,CAAC;AAElC,gFAAgF;AAChF,gDAAgD;AAChD,gFAAgF;AAChF,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAGxE,gFAAgF;AAChF,yBAAyB;AACzB,gFAAgF;AAChF,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,gFAAgF;AAChF,qCAAqC;AACrC,gFAAgF;AAChF,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,EACpB,wBAAwB,EACxB,yBAAyB,EACzB,qBAAqB;AACrB,sBAAsB;AACtB,yBAAyB,EACzB,0BAA0B,EAC1B,cAAc,EACd,kBAAkB;AAClB,mBAAmB;AACnB,cAAc,EACd,UAAU,EACV,UAAU;AACV,kBAAkB;AAClB,SAAS,EACT,SAAS,GACV,MAAM,wBAAwB,CAAC;AAEhC,gFAAgF;AAChF,sCAAsC;AACtC,gFAAgF;AAChF,OAAO,EACL,mBAAmB,EACnB,YAAY,EACZ,cAAc,EACd,aAAa,EACb,aAAa,EACb,aAAa;AACb,eAAe;AACf,uBAAuB,EACvB,WAAW,EACX,mBAAmB,GACpB,MAAM,yBAAyB,CAAC;AAEjC,gFAAgF;AAChF,4CAA4C;AAC5C,gFAAgF;AAChF,OAAO,EACL,0BAA0B,EAC1B,iCAAiC,EACjC,eAAe,EACf,mBAAmB,EACnB,kBAAkB,EAClB,eAAe,EACf,oBAAoB,EACpB,sBAAsB,EACtB,kBAAkB,GAEnB,MAAM,wBAAwB,CAAC;AAEhC,gFAAgF;AAChF,sCAAsC;AACtC,gFAAgF;AAChF,OAAO,EACL,eAAe,EACf,kBAAkB,GACnB,MAAM,0BAA0B,CAAC;AAElC,gFAAgF;AAChF,gDAAgD;AAChD,gFAAgF;AAChF,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAGxE,gFAAgF;AAChF,yBAAyB;AACzB,gFAAgF;AAChF,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hazo_llm_api",
3
- "version": "1.0.3",
3
+ "version": "1.0.5",
4
4
  "description": "Wrapper to call different LLMs and includes prompt management",
5
5
  "keywords": [
6
6
  "LLM",
@@ -53,10 +53,21 @@
53
53
  "ini": "^6.0.0",
54
54
  "sql.js": "^1.10.0"
55
55
  },
56
+ "engines": {
57
+ "node": ">=18.0.0"
58
+ },
56
59
  "peerDependencies": {
57
60
  "react": "^18.0.0",
58
61
  "react-dom": "^18.0.0"
59
62
  },
63
+ "peerDependenciesMeta": {
64
+ "react": {
65
+ "optional": true
66
+ },
67
+ "react-dom": {
68
+ "optional": true
69
+ }
70
+ },
60
71
  "devDependencies": {
61
72
  "@types/ini": "^4.1.1",
62
73
  "@types/node": "^20.0.0",
package/techdoc.md CHANGED
@@ -180,7 +180,7 @@ TailwindCSS with Shadcn/UI theming:
180
180
 
181
181
  ### Configuration File
182
182
 
183
- **File**: `hazo_llm_api_config.ini`
183
+ **File**: `config/hazo_llm_api_config.ini`
184
184
 
185
185
  **Format**: INI format with sections
186
186
 
@@ -375,7 +375,7 @@ import { Layout } from 'hazo_llm_api';
375
375
 
376
376
  ## Logging
377
377
 
378
- Logging configuration is stored in `hazo_llm_api_config.ini`:
378
+ Logging configuration is stored in `config/hazo_llm_api_config.ini`:
379
379
 
380
380
  ```ini
381
381
  [logging]
@@ -1,16 +0,0 @@
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
- import type { HazoLlmPromptConfigProps } from './types.js';
12
- /**
13
- * HazoLlmPromptConfig - Main prompt configuration management component
14
- */
15
- export declare function HazoLlmPromptConfig({ api_endpoint_list, api_endpoint_create, api_endpoint_update, api_endpoint_delete, on_change, class_name }: HazoLlmPromptConfigProps): import("react/jsx-runtime").JSX.Element;
16
- //# sourceMappingURL=hazo_llm_prompt_config.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"hazo_llm_prompt_config.d.ts","sourceRoot":"","sources":["../../../src/components/hazo_llm_prompt_config/hazo_llm_prompt_config.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAcH,OAAO,KAAK,EACV,wBAAwB,EAKzB,MAAM,YAAY,CAAC;AA+KpB;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,EAClC,iBAAiB,EACjB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,SAAS,EACT,UAAe,EAChB,EAAE,wBAAwB,2CA+a1B"}
@@ -1,258 +0,0 @@
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