donobu 2.37.3 → 2.38.0

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 (209) hide show
  1. package/dist/apis/AskAiApi.d.ts +3 -1
  2. package/dist/apis/AskAiApi.d.ts.map +1 -1
  3. package/dist/apis/AskAiApi.js +3 -3
  4. package/dist/apis/AskAiApi.js.map +1 -1
  5. package/dist/apis/GptConfigsApi.d.ts +5 -0
  6. package/dist/apis/GptConfigsApi.d.ts.map +1 -1
  7. package/dist/apis/GptConfigsApi.js +13 -7
  8. package/dist/apis/GptConfigsApi.js.map +1 -1
  9. package/dist/apis/SchemaApi.d.ts +17 -0
  10. package/dist/apis/SchemaApi.d.ts.map +1 -0
  11. package/dist/apis/SchemaApi.js +33 -0
  12. package/dist/apis/SchemaApi.js.map +1 -0
  13. package/dist/assets/generated/version +1 -1
  14. package/dist/assets/icon.png +0 -0
  15. package/dist/assets/openapi-schema.html +18603 -0
  16. package/dist/assets/openapi-schema.yaml +1483 -0
  17. package/dist/assets/smart-selector-generator.js +22 -3
  18. package/dist/clients/GptClientFactory.d.ts +19 -2
  19. package/dist/clients/GptClientFactory.d.ts.map +1 -1
  20. package/dist/clients/GptClientFactory.js +8 -4
  21. package/dist/clients/GptClientFactory.js.map +1 -1
  22. package/dist/envVars.d.ts +29 -1
  23. package/dist/envVars.d.ts.map +1 -1
  24. package/dist/envVars.js +78 -2
  25. package/dist/envVars.js.map +1 -1
  26. package/dist/esm/apis/AskAiApi.d.ts +3 -1
  27. package/dist/esm/apis/AskAiApi.d.ts.map +1 -1
  28. package/dist/esm/apis/AskAiApi.js +3 -3
  29. package/dist/esm/apis/AskAiApi.js.map +1 -1
  30. package/dist/esm/apis/GptConfigsApi.d.ts +5 -0
  31. package/dist/esm/apis/GptConfigsApi.d.ts.map +1 -1
  32. package/dist/esm/apis/GptConfigsApi.js +13 -7
  33. package/dist/esm/apis/GptConfigsApi.js.map +1 -1
  34. package/dist/esm/apis/SchemaApi.d.ts +17 -0
  35. package/dist/esm/apis/SchemaApi.d.ts.map +1 -0
  36. package/dist/esm/apis/SchemaApi.js +33 -0
  37. package/dist/esm/apis/SchemaApi.js.map +1 -0
  38. package/dist/esm/assets/generated/version +1 -1
  39. package/dist/esm/assets/icon.png +0 -0
  40. package/dist/esm/assets/openapi-schema.html +18603 -0
  41. package/dist/esm/assets/openapi-schema.yaml +1483 -0
  42. package/dist/esm/assets/smart-selector-generator.js +22 -3
  43. package/dist/esm/clients/GptClientFactory.d.ts +19 -2
  44. package/dist/esm/clients/GptClientFactory.d.ts.map +1 -1
  45. package/dist/esm/clients/GptClientFactory.js +8 -4
  46. package/dist/esm/clients/GptClientFactory.js.map +1 -1
  47. package/dist/esm/envVars.d.ts +29 -1
  48. package/dist/esm/envVars.d.ts.map +1 -1
  49. package/dist/esm/envVars.js +78 -2
  50. package/dist/esm/envVars.js.map +1 -1
  51. package/dist/esm/exceptions/DonobuException.d.ts.map +1 -1
  52. package/dist/esm/exceptions/DonobuException.js +1 -3
  53. package/dist/esm/exceptions/DonobuException.js.map +1 -1
  54. package/dist/esm/lib/DonobuExtendedPage.d.ts +1 -1
  55. package/dist/esm/lib/DonobuExtendedPage.d.ts.map +1 -1
  56. package/dist/esm/lib/fixtures/gptClients.d.ts.map +1 -1
  57. package/dist/esm/lib/fixtures/gptClients.js +24 -26
  58. package/dist/esm/lib/fixtures/gptClients.js.map +1 -1
  59. package/dist/esm/lib/testExtension.d.ts.map +1 -1
  60. package/dist/esm/lib/testExtension.js +3 -2
  61. package/dist/esm/lib/testExtension.js.map +1 -1
  62. package/dist/esm/main.d.ts.map +1 -1
  63. package/dist/esm/main.js +1 -1
  64. package/dist/esm/main.js.map +1 -1
  65. package/dist/esm/managers/AdminApiController.d.ts +6 -0
  66. package/dist/esm/managers/AdminApiController.d.ts.map +1 -1
  67. package/dist/esm/managers/AdminApiController.js +27 -1
  68. package/dist/esm/managers/AdminApiController.js.map +1 -1
  69. package/dist/esm/managers/AgentsManager.js +1 -1
  70. package/dist/esm/managers/AgentsManager.js.map +1 -1
  71. package/dist/esm/managers/DonobuFlow.d.ts.map +1 -1
  72. package/dist/esm/managers/DonobuFlow.js +16 -9
  73. package/dist/esm/managers/DonobuFlow.js.map +1 -1
  74. package/dist/esm/managers/DonobuFlowsManager.d.ts +3 -7
  75. package/dist/esm/managers/DonobuFlowsManager.d.ts.map +1 -1
  76. package/dist/esm/managers/DonobuFlowsManager.js +59 -67
  77. package/dist/esm/managers/DonobuFlowsManager.js.map +1 -1
  78. package/dist/esm/managers/DonobuStack.d.ts +2 -0
  79. package/dist/esm/managers/DonobuStack.d.ts.map +1 -1
  80. package/dist/esm/managers/DonobuStack.js +5 -2
  81. package/dist/esm/managers/DonobuStack.js.map +1 -1
  82. package/dist/esm/managers/EnvDataManager.d.ts +5 -5
  83. package/dist/esm/managers/EnvDataManager.d.ts.map +1 -1
  84. package/dist/esm/managers/EnvDataManager.js +19 -26
  85. package/dist/esm/managers/EnvDataManager.js.map +1 -1
  86. package/dist/esm/managers/FlowDependencyAnalyzer.d.ts.map +1 -1
  87. package/dist/esm/managers/FlowDependencyAnalyzer.js +0 -1
  88. package/dist/esm/managers/FlowDependencyAnalyzer.js.map +1 -1
  89. package/dist/esm/managers/GptConfigsManager.d.ts +3 -1
  90. package/dist/esm/managers/GptConfigsManager.d.ts.map +1 -1
  91. package/dist/esm/managers/GptConfigsManager.js +10 -12
  92. package/dist/esm/managers/GptConfigsManager.js.map +1 -1
  93. package/dist/esm/managers/InteractionVisualizer.d.ts +25 -0
  94. package/dist/esm/managers/InteractionVisualizer.d.ts.map +1 -1
  95. package/dist/esm/managers/InteractionVisualizer.js +108 -50
  96. package/dist/esm/managers/InteractionVisualizer.js.map +1 -1
  97. package/dist/esm/managers/PluginLoader.d.ts +24 -1
  98. package/dist/esm/managers/PluginLoader.d.ts.map +1 -1
  99. package/dist/esm/managers/PluginLoader.js +62 -38
  100. package/dist/esm/managers/PluginLoader.js.map +1 -1
  101. package/dist/esm/managers/ToolManager.d.ts +1 -0
  102. package/dist/esm/managers/ToolManager.d.ts.map +1 -1
  103. package/dist/esm/managers/ToolManager.js +4 -1
  104. package/dist/esm/managers/ToolManager.js.map +1 -1
  105. package/dist/esm/models/CreateDonobuFlow.d.ts +1 -0
  106. package/dist/esm/models/CreateDonobuFlow.d.ts.map +1 -1
  107. package/dist/esm/models/CreateDonobuFlow.js +1 -0
  108. package/dist/esm/models/CreateDonobuFlow.js.map +1 -1
  109. package/dist/esm/models/FlowMetadata.d.ts +1 -0
  110. package/dist/esm/models/FlowMetadata.d.ts.map +1 -1
  111. package/dist/esm/models/FlowMetadata.js +5 -0
  112. package/dist/esm/models/FlowMetadata.js.map +1 -1
  113. package/dist/esm/persistence/env/EnvPersistenceFactoryImpl.d.ts +2 -1
  114. package/dist/esm/persistence/env/EnvPersistenceFactoryImpl.d.ts.map +1 -1
  115. package/dist/esm/persistence/env/EnvPersistenceFactoryImpl.js +6 -5
  116. package/dist/esm/persistence/env/EnvPersistenceFactoryImpl.js.map +1 -1
  117. package/dist/esm/persistence/flows/FlowsPersistenceFactoryImpl.d.ts.map +1 -1
  118. package/dist/esm/persistence/flows/FlowsPersistenceFactoryImpl.js +4 -4
  119. package/dist/esm/persistence/flows/FlowsPersistenceFactoryImpl.js.map +1 -1
  120. package/dist/esm/tools/DetectBrokenLinksTool.js +1 -1
  121. package/dist/esm/tools/DetectBrokenLinksTool.js.map +1 -1
  122. package/dist/esm/tools/TriggerDonobuFlowTool.d.ts +2 -0
  123. package/dist/esm/tools/TriggerDonobuFlowTool.d.ts.map +1 -1
  124. package/dist/esm/utils/BrowserUtils.d.ts +17 -18
  125. package/dist/esm/utils/BrowserUtils.d.ts.map +1 -1
  126. package/dist/esm/utils/BrowserUtils.js +43 -40
  127. package/dist/esm/utils/BrowserUtils.js.map +1 -1
  128. package/dist/esm/utils/MiscUtils.js +1 -1
  129. package/dist/esm/utils/MiscUtils.js.map +1 -1
  130. package/dist/exceptions/DonobuException.d.ts.map +1 -1
  131. package/dist/exceptions/DonobuException.js +1 -3
  132. package/dist/exceptions/DonobuException.js.map +1 -1
  133. package/dist/lib/DonobuExtendedPage.d.ts +1 -1
  134. package/dist/lib/DonobuExtendedPage.d.ts.map +1 -1
  135. package/dist/lib/fixtures/gptClients.d.ts.map +1 -1
  136. package/dist/lib/fixtures/gptClients.js +24 -26
  137. package/dist/lib/fixtures/gptClients.js.map +1 -1
  138. package/dist/lib/testExtension.d.ts.map +1 -1
  139. package/dist/lib/testExtension.js +3 -2
  140. package/dist/lib/testExtension.js.map +1 -1
  141. package/dist/main.d.ts.map +1 -1
  142. package/dist/main.js +1 -1
  143. package/dist/main.js.map +1 -1
  144. package/dist/managers/AdminApiController.d.ts +6 -0
  145. package/dist/managers/AdminApiController.d.ts.map +1 -1
  146. package/dist/managers/AdminApiController.js +27 -1
  147. package/dist/managers/AdminApiController.js.map +1 -1
  148. package/dist/managers/AgentsManager.js +1 -1
  149. package/dist/managers/AgentsManager.js.map +1 -1
  150. package/dist/managers/DonobuFlow.d.ts.map +1 -1
  151. package/dist/managers/DonobuFlow.js +16 -9
  152. package/dist/managers/DonobuFlow.js.map +1 -1
  153. package/dist/managers/DonobuFlowsManager.d.ts +3 -7
  154. package/dist/managers/DonobuFlowsManager.d.ts.map +1 -1
  155. package/dist/managers/DonobuFlowsManager.js +59 -67
  156. package/dist/managers/DonobuFlowsManager.js.map +1 -1
  157. package/dist/managers/DonobuStack.d.ts +2 -0
  158. package/dist/managers/DonobuStack.d.ts.map +1 -1
  159. package/dist/managers/DonobuStack.js +5 -2
  160. package/dist/managers/DonobuStack.js.map +1 -1
  161. package/dist/managers/EnvDataManager.d.ts +5 -5
  162. package/dist/managers/EnvDataManager.d.ts.map +1 -1
  163. package/dist/managers/EnvDataManager.js +19 -26
  164. package/dist/managers/EnvDataManager.js.map +1 -1
  165. package/dist/managers/FlowDependencyAnalyzer.d.ts.map +1 -1
  166. package/dist/managers/FlowDependencyAnalyzer.js +0 -1
  167. package/dist/managers/FlowDependencyAnalyzer.js.map +1 -1
  168. package/dist/managers/GptConfigsManager.d.ts +3 -1
  169. package/dist/managers/GptConfigsManager.d.ts.map +1 -1
  170. package/dist/managers/GptConfigsManager.js +10 -12
  171. package/dist/managers/GptConfigsManager.js.map +1 -1
  172. package/dist/managers/InteractionVisualizer.d.ts +25 -0
  173. package/dist/managers/InteractionVisualizer.d.ts.map +1 -1
  174. package/dist/managers/InteractionVisualizer.js +108 -50
  175. package/dist/managers/InteractionVisualizer.js.map +1 -1
  176. package/dist/managers/PluginLoader.d.ts +24 -1
  177. package/dist/managers/PluginLoader.d.ts.map +1 -1
  178. package/dist/managers/PluginLoader.js +62 -38
  179. package/dist/managers/PluginLoader.js.map +1 -1
  180. package/dist/managers/ToolManager.d.ts +1 -0
  181. package/dist/managers/ToolManager.d.ts.map +1 -1
  182. package/dist/managers/ToolManager.js +4 -1
  183. package/dist/managers/ToolManager.js.map +1 -1
  184. package/dist/models/CreateDonobuFlow.d.ts +1 -0
  185. package/dist/models/CreateDonobuFlow.d.ts.map +1 -1
  186. package/dist/models/CreateDonobuFlow.js +1 -0
  187. package/dist/models/CreateDonobuFlow.js.map +1 -1
  188. package/dist/models/FlowMetadata.d.ts +1 -0
  189. package/dist/models/FlowMetadata.d.ts.map +1 -1
  190. package/dist/models/FlowMetadata.js +5 -0
  191. package/dist/models/FlowMetadata.js.map +1 -1
  192. package/dist/persistence/env/EnvPersistenceFactoryImpl.d.ts +2 -1
  193. package/dist/persistence/env/EnvPersistenceFactoryImpl.d.ts.map +1 -1
  194. package/dist/persistence/env/EnvPersistenceFactoryImpl.js +6 -5
  195. package/dist/persistence/env/EnvPersistenceFactoryImpl.js.map +1 -1
  196. package/dist/persistence/flows/FlowsPersistenceFactoryImpl.d.ts.map +1 -1
  197. package/dist/persistence/flows/FlowsPersistenceFactoryImpl.js +4 -4
  198. package/dist/persistence/flows/FlowsPersistenceFactoryImpl.js.map +1 -1
  199. package/dist/tools/DetectBrokenLinksTool.js +1 -1
  200. package/dist/tools/DetectBrokenLinksTool.js.map +1 -1
  201. package/dist/tools/TriggerDonobuFlowTool.d.ts +2 -0
  202. package/dist/tools/TriggerDonobuFlowTool.d.ts.map +1 -1
  203. package/dist/utils/BrowserUtils.d.ts +17 -18
  204. package/dist/utils/BrowserUtils.d.ts.map +1 -1
  205. package/dist/utils/BrowserUtils.js +43 -40
  206. package/dist/utils/BrowserUtils.js.map +1 -1
  207. package/dist/utils/MiscUtils.js +1 -1
  208. package/dist/utils/MiscUtils.js.map +1 -1
  209. package/package.json +16 -16
@@ -182,7 +182,15 @@
182
182
  };
183
183
 
184
184
  // Semantic HTML5 elements that are likely to be unique and stable.
185
- const LANDMARK_TAGS = ['header', 'nav', 'main', 'footer', 'form'];
185
+ const LANDMARK_TAGS = [
186
+ 'html',
187
+ 'body',
188
+ 'header',
189
+ 'nav',
190
+ 'main',
191
+ 'footer',
192
+ 'form',
193
+ ];
186
194
 
187
195
  /**
188
196
  * Safely escapes text for use in XPath expressions.
@@ -740,8 +748,19 @@
740
748
  cur = p;
741
749
  }
742
750
 
743
- if (segs.length) {
744
- // Lowest priority
751
+ if (segs.length === 0) {
752
+ const rootDoc = getDocumentForScope(this.root);
753
+
754
+ if (this.el === rootDoc?.documentElement) {
755
+ this.push('html', 1);
756
+ return;
757
+ }
758
+
759
+ if (this.el === rootDoc?.body) {
760
+ this.push('body', 1);
761
+ return;
762
+ }
763
+ } else {
745
764
  this.push(segs.join(' > '), 1);
746
765
  }
747
766
  }
@@ -1,6 +1,23 @@
1
1
  import { GptClient } from './GptClient';
2
2
  import { GptConfig } from '../models/GptConfig';
3
- export declare class GptClientFactory {
4
- static createFromGptConfig(config: GptConfig): Promise<GptClient>;
3
+ /**
4
+ * Interface for creating GPT clients from configuration objects.
5
+ * This allows for dependency injection and easier testing.
6
+ */
7
+ export interface GptClientFactory {
8
+ /**
9
+ * Creates and validates a GPT client from the given configuration.
10
+ * @param config The GPT configuration to create a client from
11
+ * @returns A validated GPT client instance
12
+ * @throws Error if the configuration is invalid or the client cannot be created
13
+ */
14
+ createClient(config: GptConfig): Promise<GptClient>;
15
+ }
16
+ /**
17
+ * Default implementation of GptClientFactory that creates GPT clients
18
+ * based on configuration and validates them by performing a ping.
19
+ */
20
+ export declare class GptClientFactoryImpl implements GptClientFactory {
21
+ createClient(config: GptConfig): Promise<GptClient>;
5
22
  }
6
23
  //# sourceMappingURL=GptClientFactory.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"GptClientFactory.d.ts","sourceRoot":"","sources":["../../src/clients/GptClientFactory.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAIhD,qBAAa,gBAAgB;WACP,mBAAmB,CACrC,MAAM,EAAE,SAAS,GAChB,OAAO,CAAC,SAAS,CAAC;CAgCtB"}
1
+ {"version":3,"file":"GptClientFactory.d.ts","sourceRoot":"","sources":["../../src/clients/GptClientFactory.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAIhD;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;;;OAKG;IACH,YAAY,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;CACrD;AAED;;;GAGG;AACH,qBAAa,oBAAqB,YAAW,gBAAgB;IAC9C,YAAY,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;CAgCjE"}
@@ -1,14 +1,18 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.GptClientFactory = void 0;
3
+ exports.GptClientFactoryImpl = void 0;
4
4
  const InvalidParamValueException_1 = require("../exceptions/InvalidParamValueException");
5
5
  const AnthropicGptClient_1 = require("./AnthropicGptClient");
6
6
  const GoogleGenerativeAiGptClient_1 = require("./GoogleGenerativeAiGptClient");
7
7
  const OpenAiGptClient_1 = require("./OpenAiGptClient");
8
8
  const AnthropicAwsBedrockGptClient_1 = require("./AnthropicAwsBedrockGptClient");
9
9
  const GoogleVertexGptClient_1 = require("./GoogleVertexGptClient");
10
- class GptClientFactory {
11
- static async createFromGptConfig(config) {
10
+ /**
11
+ * Default implementation of GptClientFactory that creates GPT clients
12
+ * based on configuration and validates them by performing a ping.
13
+ */
14
+ class GptClientFactoryImpl {
15
+ async createClient(config) {
12
16
  let client;
13
17
  switch (config.type) {
14
18
  case 'ANTHROPIC':
@@ -39,5 +43,5 @@ class GptClientFactory {
39
43
  return client;
40
44
  }
41
45
  }
42
- exports.GptClientFactory = GptClientFactory;
46
+ exports.GptClientFactoryImpl = GptClientFactoryImpl;
43
47
  //# sourceMappingURL=GptClientFactory.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"GptClientFactory.js","sourceRoot":"","sources":["../../src/clients/GptClientFactory.ts"],"names":[],"mappings":";;;AAAA,yFAAsF;AACtF,6DAA0D;AAC1D,+EAA4E;AAC5E,uDAAoD;AAGpD,iFAA8E;AAC9E,mEAAgE;AAEhE,MAAa,gBAAgB;IACpB,MAAM,CAAC,KAAK,CAAC,mBAAmB,CACrC,MAAiB;QAEjB,IAAI,MAAiB,CAAC;QAEtB,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;YACpB,KAAK,WAAW;gBACd,MAAM,GAAG,IAAI,uCAAkB,CAAC,MAAM,CAAC,CAAC;gBACxC,MAAM;YACR,KAAK,eAAe;gBAClB,MAAM,GAAG,IAAI,yDAA2B,CAAC,MAAM,CAAC,CAAC;gBACjD,MAAM;YACR,KAAK,eAAe;gBAClB,MAAM,GAAG,IAAI,6CAAqB,CAAC,MAAM,CAAC,CAAC;gBAC3C,MAAM;YACR,KAAK,QAAQ;gBACX,MAAM,GAAG,IAAI,iCAAe,CAAC,MAAM,CAAC,CAAC;gBACrC,MAAM;YACR,KAAK,uBAAuB;gBAC1B,MAAM,GAAG,IAAI,2DAA4B,CAAC,MAAM,CAAC,CAAC;gBAClD,MAAM;YACR,KAAK,cAAc,CAAC;YACpB,iBAAiB;YACjB,KAAK,aAAa,CAAC;YACnB,iBAAiB;YACjB,KAAK,oBAAoB,CAAC;YAC1B,iBAAiB;YACjB;gBACE,MAAM,IAAI,uDAA0B,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;QAC9D,CAAC;QAED,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;QACpB,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AAnCD,4CAmCC"}
1
+ {"version":3,"file":"GptClientFactory.js","sourceRoot":"","sources":["../../src/clients/GptClientFactory.ts"],"names":[],"mappings":";;;AAAA,yFAAsF;AACtF,6DAA0D;AAC1D,+EAA4E;AAC5E,uDAAoD;AAGpD,iFAA8E;AAC9E,mEAAgE;AAgBhE;;;GAGG;AACH,MAAa,oBAAoB;IACxB,KAAK,CAAC,YAAY,CAAC,MAAiB;QACzC,IAAI,MAAiB,CAAC;QAEtB,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;YACpB,KAAK,WAAW;gBACd,MAAM,GAAG,IAAI,uCAAkB,CAAC,MAAM,CAAC,CAAC;gBACxC,MAAM;YACR,KAAK,eAAe;gBAClB,MAAM,GAAG,IAAI,yDAA2B,CAAC,MAAM,CAAC,CAAC;gBACjD,MAAM;YACR,KAAK,eAAe;gBAClB,MAAM,GAAG,IAAI,6CAAqB,CAAC,MAAM,CAAC,CAAC;gBAC3C,MAAM;YACR,KAAK,QAAQ;gBACX,MAAM,GAAG,IAAI,iCAAe,CAAC,MAAM,CAAC,CAAC;gBACrC,MAAM;YACR,KAAK,uBAAuB;gBAC1B,MAAM,GAAG,IAAI,2DAA4B,CAAC,MAAM,CAAC,CAAC;gBAClD,MAAM;YACR,KAAK,cAAc,CAAC;YACpB,iBAAiB;YACjB,KAAK,aAAa,CAAC;YACnB,iBAAiB;YACjB,KAAK,oBAAoB,CAAC;YAC1B,iBAAiB;YACjB;gBACE,MAAM,IAAI,uDAA0B,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;QAC9D,CAAC;QAED,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;QACpB,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AAjCD,oDAiCC"}
package/dist/envVars.d.ts CHANGED
@@ -1,5 +1,7 @@
1
1
  /**
2
- * This is the set of environment variable names that Donobu may use.
2
+ * This is the set of environment variable (for the process) names that Donobu may use.
3
+ * This should not be confused with the user-defined API-based environment variables
4
+ * that may be used in a flow.
3
5
  */
4
6
  export declare const ENV_VAR_NAMES: {
5
7
  /**
@@ -124,4 +126,30 @@ export declare const ENV_VAR_NAMES: {
124
126
  */
125
127
  readonly PROXY_PASSWORD: "PROXY_PASSWORD";
126
128
  };
129
+ export declare const ENV: {
130
+ readonly BASE_WORKING_DIR: string | undefined;
131
+ readonly BASE64_GPT_CONFIG: string | undefined;
132
+ readonly BROWSERBASE_API_KEY: string | undefined;
133
+ readonly BROWSERBASE_PROJECT_ID: string | undefined;
134
+ readonly DONOBU_DEPLOYMENT_ENVIRONMENT: string | undefined;
135
+ readonly ANTHROPIC_API_KEY: string | undefined;
136
+ readonly ANTHROPIC_MODEL_NAME: string | undefined;
137
+ readonly GOOGLE_GENERATIVE_AI_API_KEY: string | undefined;
138
+ readonly GOOGLE_GENERATIVE_AI_MODEL_NAME: string | undefined;
139
+ readonly OPENAI_API_KEY: string | undefined;
140
+ readonly OPENAI_API_MODEL_NAME: string | undefined;
141
+ readonly DEFAULT_FLOW_RUNNER_GPT_CONFIG_NAME: string | undefined;
142
+ readonly AWS_S3_BUCKET: string | undefined;
143
+ readonly AWS_S3_REGION: string | undefined;
144
+ readonly AWS_BEDROCK_MODEL_NAME: string | undefined;
145
+ readonly AWS_REGION: string | undefined;
146
+ readonly AWS_ACCESS_KEY_ID: string | undefined;
147
+ readonly AWS_SECRET_ACCESS_KEY: string | undefined;
148
+ readonly GOOGLE_CLOUD_STORAGE_BUCKET: string | undefined;
149
+ readonly SUPABASE_JWT_SECRET_KEY: string | undefined;
150
+ readonly SELF_HEAL_TESTS_ENABLED: string | undefined;
151
+ readonly PROXY_SERVER: string | undefined;
152
+ readonly PROXY_USERNAME: string | undefined;
153
+ readonly PROXY_PASSWORD: string | undefined;
154
+ };
127
155
  //# sourceMappingURL=envVars.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"envVars.d.ts","sourceRoot":"","sources":["../src/envVars.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,aAAa;IACxB;;OAEG;;IAEH;;;OAGG;;IAEH;;OAEG;;IAEH;;OAEG;;IAEH;;;;;OAKG;;IAEH;;;;OAIG;;IAEH;;;OAGG;;IAEH;;;;OAIG;;IAEH;;;OAGG;;IAEH;;;;OAIG;;IAEH;;;OAGG;;IAEH;;OAEG;;IAEH;;;OAGG;;IAEH;;;OAGG;;IAEH;;;OAGG;;IAEH;;OAEG;;IAEH;;OAEG;;IAEH;;OAEG;;IAEH;;;OAGG;;IAEH;;;;;;OAMG;;IAEH;;;OAGG;;IAEH;;;OAGG;;IAEH;;;OAGG;;IAEH;;;OAGG;;CAEK,CAAC"}
1
+ {"version":3,"file":"envVars.d.ts","sourceRoot":"","sources":["../src/envVars.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,eAAO,MAAM,aAAa;IACxB;;OAEG;;IAEH;;;OAGG;;IAEH;;OAEG;;IAEH;;OAEG;;IAEH;;;;;OAKG;;IAEH;;;;OAIG;;IAEH;;;OAGG;;IAEH;;;;OAIG;;IAEH;;;OAGG;;IAEH;;;;OAIG;;IAEH;;;OAGG;;IAEH;;OAEG;;IAEH;;;OAGG;;IAEH;;;OAGG;;IAEH;;;OAGG;;IAEH;;OAEG;;IAEH;;OAEG;;IAEH;;OAEG;;IAEH;;;OAGG;;IAEH;;;;;;OAMG;;IAEH;;;OAGG;;IAEH;;;OAGG;;IAEH;;;OAGG;;IAEH;;;OAGG;;CAEK,CAAC;AAEX,eAAO,MAAM,GAAG;+BACU,MAAM,GAAG,SAAS;gCAIjB,MAAM,GAAG,SAAS;kCAIhB,MAAM,GAAG,SAAS;qCAIf,MAAM,GAAG,SAAS;4CAIX,MAAM,GAAG,SAAS;gCAI9B,MAAM,GAAG,SAAS;mCAIf,MAAM,GAAG,SAAS;2CAIV,MAAM,GAAG,SAAS;8CAIf,MAAM,GAAG,SAAS;6BAInC,MAAM,GAAG,SAAS;oCAIX,MAAM,GAAG,SAAS;kDAIJ,MAAM,GAAG,SAAS;4BAIxC,MAAM,GAAG,SAAS;4BAIlB,MAAM,GAAG,SAAS;qCAIT,MAAM,GAAG,SAAS;yBAI9B,MAAM,GAAG,SAAS;gCAIX,MAAM,GAAG,SAAS;oCAId,MAAM,GAAG,SAAS;0CAIZ,MAAM,GAAG,SAAS;sCAItB,MAAM,GAAG,SAAS;sCAIlB,MAAM,GAAG,SAAS;2BAI7B,MAAM,GAAG,SAAS;6BAIhB,MAAM,GAAG,SAAS;6BAIlB,MAAM,GAAG,SAAS;CAGhC,CAAC"}
package/dist/envVars.js CHANGED
@@ -1,8 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ENV_VAR_NAMES = void 0;
3
+ exports.ENV = exports.ENV_VAR_NAMES = void 0;
4
4
  /**
5
- * This is the set of environment variable names that Donobu may use.
5
+ * This is the set of environment variable (for the process) names that Donobu may use.
6
+ * This should not be confused with the user-defined API-based environment variables
7
+ * that may be used in a flow.
6
8
  */
7
9
  exports.ENV_VAR_NAMES = {
8
10
  /**
@@ -127,4 +129,78 @@ exports.ENV_VAR_NAMES = {
127
129
  */
128
130
  PROXY_PASSWORD: 'PROXY_PASSWORD',
129
131
  };
132
+ exports.ENV = {
133
+ get BASE_WORKING_DIR() {
134
+ return process.env[exports.ENV_VAR_NAMES.BASE_WORKING_DIR];
135
+ },
136
+ get BASE64_GPT_CONFIG() {
137
+ return process.env[exports.ENV_VAR_NAMES.BASE64_GPT_CONFIG];
138
+ },
139
+ get BROWSERBASE_API_KEY() {
140
+ return process.env[exports.ENV_VAR_NAMES.BROWSERBASE_API_KEY];
141
+ },
142
+ get BROWSERBASE_PROJECT_ID() {
143
+ return process.env[exports.ENV_VAR_NAMES.BROWSERBASE_PROJECT_ID];
144
+ },
145
+ get DONOBU_DEPLOYMENT_ENVIRONMENT() {
146
+ return process.env[exports.ENV_VAR_NAMES.DONOBU_DEPLOYMENT_ENVIRONMENT];
147
+ },
148
+ get ANTHROPIC_API_KEY() {
149
+ return process.env[exports.ENV_VAR_NAMES.ANTHROPIC_API_KEY];
150
+ },
151
+ get ANTHROPIC_MODEL_NAME() {
152
+ return process.env[exports.ENV_VAR_NAMES.ANTHROPIC_MODEL_NAME];
153
+ },
154
+ get GOOGLE_GENERATIVE_AI_API_KEY() {
155
+ return process.env[exports.ENV_VAR_NAMES.GOOGLE_GENERATIVE_AI_API_KEY];
156
+ },
157
+ get GOOGLE_GENERATIVE_AI_MODEL_NAME() {
158
+ return process.env[exports.ENV_VAR_NAMES.GOOGLE_GENERATIVE_AI_MODEL_NAME];
159
+ },
160
+ get OPENAI_API_KEY() {
161
+ return process.env[exports.ENV_VAR_NAMES.OPENAI_API_KEY];
162
+ },
163
+ get OPENAI_API_MODEL_NAME() {
164
+ return process.env[exports.ENV_VAR_NAMES.OPENAI_API_MODEL_NAME];
165
+ },
166
+ get DEFAULT_FLOW_RUNNER_GPT_CONFIG_NAME() {
167
+ return process.env[exports.ENV_VAR_NAMES.DEFAULT_FLOW_RUNNER_GPT_CONFIG_NAME];
168
+ },
169
+ get AWS_S3_BUCKET() {
170
+ return process.env[exports.ENV_VAR_NAMES.AWS_S3_BUCKET];
171
+ },
172
+ get AWS_S3_REGION() {
173
+ return process.env[exports.ENV_VAR_NAMES.AWS_S3_REGION];
174
+ },
175
+ get AWS_BEDROCK_MODEL_NAME() {
176
+ return process.env[exports.ENV_VAR_NAMES.AWS_BEDROCK_MODEL_NAME];
177
+ },
178
+ get AWS_REGION() {
179
+ return process.env[exports.ENV_VAR_NAMES.AWS_REGION];
180
+ },
181
+ get AWS_ACCESS_KEY_ID() {
182
+ return process.env[exports.ENV_VAR_NAMES.AWS_ACCESS_KEY_ID];
183
+ },
184
+ get AWS_SECRET_ACCESS_KEY() {
185
+ return process.env[exports.ENV_VAR_NAMES.AWS_SECRET_ACCESS_KEY];
186
+ },
187
+ get GOOGLE_CLOUD_STORAGE_BUCKET() {
188
+ return process.env[exports.ENV_VAR_NAMES.GOOGLE_CLOUD_STORAGE_BUCKET];
189
+ },
190
+ get SUPABASE_JWT_SECRET_KEY() {
191
+ return process.env[exports.ENV_VAR_NAMES.SUPABASE_JWT_SECRET_KEY];
192
+ },
193
+ get SELF_HEAL_TESTS_ENABLED() {
194
+ return process.env[exports.ENV_VAR_NAMES.SELF_HEAL_TESTS_ENABLED];
195
+ },
196
+ get PROXY_SERVER() {
197
+ return process.env[exports.ENV_VAR_NAMES.PROXY_SERVER];
198
+ },
199
+ get PROXY_USERNAME() {
200
+ return process.env[exports.ENV_VAR_NAMES.PROXY_USERNAME];
201
+ },
202
+ get PROXY_PASSWORD() {
203
+ return process.env[exports.ENV_VAR_NAMES.PROXY_PASSWORD];
204
+ },
205
+ };
130
206
  //# sourceMappingURL=envVars.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"envVars.js","sourceRoot":"","sources":["../src/envVars.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACU,QAAA,aAAa,GAAG;IAC3B;;OAEG;IACH,gBAAgB,EAAE,kBAAkB;IACpC;;;OAGG;IACH,iBAAiB,EAAE,mBAAmB;IACtC;;OAEG;IACH,mBAAmB,EAAE,qBAAqB;IAC1C;;OAEG;IACH,sBAAsB,EAAE,wBAAwB;IAChD;;;;;OAKG;IACH,6BAA6B,EAAE,+BAA+B;IAC9D;;;;OAIG;IACH,iBAAiB,EAAE,mBAAmB;IACtC;;;OAGG;IACH,oBAAoB,EAAE,sBAAsB;IAC5C;;;;OAIG;IACH,4BAA4B,EAAE,8BAA8B;IAC5D;;;OAGG;IACH,+BAA+B,EAAE,iCAAiC;IAClE;;;;OAIG;IACH,cAAc,EAAE,gBAAgB;IAChC;;;OAGG;IACH,qBAAqB,EAAE,uBAAuB;IAC9C;;OAEG;IACH,mCAAmC,EAAE,qCAAqC;IAC1E;;;OAGG;IACH,aAAa,EAAE,eAAe;IAC9B;;;OAGG;IACH,aAAa,EAAE,eAAe;IAC9B;;;OAGG;IACH,sBAAsB,EAAE,wBAAwB;IAChD;;OAEG;IACH,UAAU,EAAE,YAAY;IACxB;;OAEG;IACH,iBAAiB,EAAE,mBAAmB;IACtC;;OAEG;IACH,qBAAqB,EAAE,uBAAuB;IAC9C;;;OAGG;IACH,2BAA2B,EAAE,6BAA6B;IAC1D;;;;;;OAMG;IACH,uBAAuB,EAAE,yBAAyB;IAClD;;;OAGG;IACH,uBAAuB,EAAE,yBAAyB;IAClD;;;OAGG;IACH,YAAY,EAAE,cAAc;IAC5B;;;OAGG;IACH,cAAc,EAAE,gBAAgB;IAChC;;;OAGG;IACH,cAAc,EAAE,gBAAgB;CACxB,CAAC"}
1
+ {"version":3,"file":"envVars.js","sourceRoot":"","sources":["../src/envVars.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,15 @@
1
1
  import { Request, Response } from 'express';
2
2
  import { GptConfigsManager } from '../managers/GptConfigsManager';
3
3
  import { AgentsManager } from '../managers/AgentsManager';
4
+ import { GptClientFactory } from '../clients/GptClientFactory';
4
5
  /**
5
6
  * This API is a lightweight wrapper for a GPT client.
6
7
  */
7
8
  export declare class AskAiApi {
9
+ private readonly gptClientFactory;
8
10
  private readonly gptConfigsManager;
9
11
  private readonly agentsManager;
10
- constructor(gptConfigsManager: GptConfigsManager, agentsManager: AgentsManager);
12
+ constructor(gptClientFactory: GptClientFactory, gptConfigsManager: GptConfigsManager, agentsManager: AgentsManager);
11
13
  ask(req: Request, res: Response): Promise<void>;
12
14
  /**
13
15
  * If specified, attempts to load the given GPT config by name, otherwise,
@@ -1 +1 @@
1
- {"version":3,"file":"AskAiApi.d.ts","sourceRoot":"","sources":["../../../src/apis/AskAiApi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAElE,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAQ1D;;GAEG;AACH,qBAAa,QAAQ;IAEjB,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,aAAa;gBADb,iBAAiB,EAAE,iBAAiB,EACpC,aAAa,EAAE,aAAa;IAGlC,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAwC5D;;;OAGG;YACW,gBAAgB;CAe/B"}
1
+ {"version":3,"file":"AskAiApi.d.ts","sourceRoot":"","sources":["../../../src/apis/AskAiApi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAElE,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAE1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAM/D;;GAEG;AACH,qBAAa,QAAQ;IAEjB,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,aAAa;gBAFb,gBAAgB,EAAE,gBAAgB,EAClC,iBAAiB,EAAE,iBAAiB,EACpC,aAAa,EAAE,aAAa;IAGlC,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAwC5D;;;OAGG;YACW,gBAAgB;CAe/B"}
@@ -2,14 +2,14 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.AskAiApi = void 0;
4
4
  const GptApiKeysNotSetupException_1 = require("../exceptions/GptApiKeysNotSetupException");
5
- const GptClientFactory_1 = require("../clients/GptClientFactory");
6
5
  const JsonSchemaUtils_1 = require("../utils/JsonSchemaUtils");
7
6
  const v4_1 = require("zod/v4");
8
7
  /**
9
8
  * This API is a lightweight wrapper for a GPT client.
10
9
  */
11
10
  class AskAiApi {
12
- constructor(gptConfigsManager, agentsManager) {
11
+ constructor(gptClientFactory, gptConfigsManager, agentsManager) {
12
+ this.gptClientFactory = gptClientFactory;
13
13
  this.gptConfigsManager = gptConfigsManager;
14
14
  this.agentsManager = agentsManager;
15
15
  }
@@ -30,7 +30,7 @@ class AskAiApi {
30
30
  })
31
31
  .parse(req.body);
32
32
  const gptConfig = await this.resolveGptConfig(parsedBody.gptConfigNameOverride);
33
- const gptClient = await GptClientFactory_1.GptClientFactory.createFromGptConfig(gptConfig);
33
+ const gptClient = await this.gptClientFactory.createClient(gptConfig);
34
34
  const gptRequestMessages = [
35
35
  {
36
36
  type: 'user',
@@ -1 +1 @@
1
- {"version":3,"file":"AskAiApi.js","sourceRoot":"","sources":["../../../src/apis/AskAiApi.ts"],"names":[],"mappings":";;;AAIA,2FAAwF;AACxF,kEAA+D;AAE/D,8DAA2D;AAC3D,+BAA2B;AAG3B;;GAEG;AACH,MAAa,QAAQ;IACnB,YACmB,iBAAoC,EACpC,aAA4B;QAD5B,sBAAiB,GAAjB,iBAAiB,CAAmB;QACpC,kBAAa,GAAb,aAAa,CAAe;IAC5C,CAAC;IAEG,KAAK,CAAC,GAAG,CAAC,GAAY,EAAE,GAAa;QAC1C,MAAM,UAAU,GAAG,MAAC;aACjB,MAAM,CAAC;YACN;;eAEG;YACH,MAAM,EAAE,MAAC,CAAC,MAAM,EAAE;YAClB;;;gBAGI;YACJ,qBAAqB,EAAE,MAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;YAC5C,mEAAmE;YACnE,gBAAgB,EAAE,MAAC,CAAC,MAAM,EAAyB,CAAC,QAAQ,EAAE;SAC/D,CAAC;aACD,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACnB,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAC3C,UAAU,CAAC,qBAAqB,CACjC,CAAC;QACF,MAAM,SAAS,GAAG,MAAM,mCAAgB,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;QACxE,MAAM,kBAAkB,GAAG;YACzB;gBACE,IAAI,EAAE,MAAM;gBACZ,KAAK,EAAE;oBACL;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,UAAU,CAAC,MAAM;qBACxB;iBACF;aACoB;SACxB,CAAC;QACF,MAAM,QAAQ,GAAG,UAAU,CAAC,gBAAgB;YAC1C,CAAC,CAAC,MAAM,SAAS,CAAC,mBAAmB,CACjC,kBAAkB,EAClB,IAAA,iCAAe,EAAC,UAAU,CAAC,gBAAgB,CAAqB,CACjE;YACH,CAAC,CAAC,MAAM,SAAS,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC;QACnD,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACrB,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,gBAAgB,CAC5B,qBAA8B;QAE9B,IAAI,qBAAqB,EAAE,CAAC;YAC1B,OAAO,MAAM,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;QACjE,CAAC;aAAM,CAAC;YACN,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;YAElE,IAAI,CAAC,aAAa,EAAE,CAAC;gBACnB,MAAM,IAAI,yDAA2B,EAAE,CAAC;YAC1C,CAAC;YAED,OAAO,MAAM,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;CACF;AAjED,4BAiEC"}
1
+ {"version":3,"file":"AskAiApi.js","sourceRoot":"","sources":["../../../src/apis/AskAiApi.ts"],"names":[],"mappings":";;;AAIA,2FAAwF;AAGxF,8DAA2D;AAC3D,+BAA2B;AAG3B;;GAEG;AACH,MAAa,QAAQ;IACnB,YACmB,gBAAkC,EAClC,iBAAoC,EACpC,aAA4B;QAF5B,qBAAgB,GAAhB,gBAAgB,CAAkB;QAClC,sBAAiB,GAAjB,iBAAiB,CAAmB;QACpC,kBAAa,GAAb,aAAa,CAAe;IAC5C,CAAC;IAEG,KAAK,CAAC,GAAG,CAAC,GAAY,EAAE,GAAa;QAC1C,MAAM,UAAU,GAAG,MAAC;aACjB,MAAM,CAAC;YACN;;eAEG;YACH,MAAM,EAAE,MAAC,CAAC,MAAM,EAAE;YAClB;;;gBAGI;YACJ,qBAAqB,EAAE,MAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;YAC5C,mEAAmE;YACnE,gBAAgB,EAAE,MAAC,CAAC,MAAM,EAAyB,CAAC,QAAQ,EAAE;SAC/D,CAAC;aACD,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACnB,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAC3C,UAAU,CAAC,qBAAqB,CACjC,CAAC;QACF,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;QACtE,MAAM,kBAAkB,GAAG;YACzB;gBACE,IAAI,EAAE,MAAM;gBACZ,KAAK,EAAE;oBACL;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,UAAU,CAAC,MAAM;qBACxB;iBACF;aACoB;SACxB,CAAC;QACF,MAAM,QAAQ,GAAG,UAAU,CAAC,gBAAgB;YAC1C,CAAC,CAAC,MAAM,SAAS,CAAC,mBAAmB,CACjC,kBAAkB,EAClB,IAAA,iCAAe,EAAC,UAAU,CAAC,gBAAgB,CAAqB,CACjE;YACH,CAAC,CAAC,MAAM,SAAS,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC;QACnD,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACrB,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,gBAAgB,CAC5B,qBAA8B;QAE9B,IAAI,qBAAqB,EAAE,CAAC;YAC1B,OAAO,MAAM,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;QACjE,CAAC;aAAM,CAAC;YACN,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;YAElE,IAAI,CAAC,aAAa,EAAE,CAAC;gBACnB,MAAM,IAAI,yDAA2B,EAAE,CAAC;YAC1C,CAAC;YAED,OAAO,MAAM,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;CACF;AAlED,4BAkEC"}
@@ -23,6 +23,11 @@ import { AgentsManager } from '../managers/AgentsManager';
23
23
  export declare class GptConfigsApi {
24
24
  private readonly gptConfigsManager;
25
25
  private readonly agentsManager;
26
+ /**
27
+ * Zod schema for validating GPT config names from URL parameters.
28
+ * Ensures names are non-empty strings with reasonable length constraints.
29
+ */
30
+ private static readonly GPT_CONFIG_NAME_SCHEMA;
26
31
  /**
27
32
  * Field names that contain sensitive data and should be redacted in API responses.
28
33
  * These fields are automatically replaced with asterisks to prevent credential exposure.
@@ -1 +1 @@
1
- {"version":3,"file":"GptConfigsApi.d.ts","sourceRoot":"","sources":["../../../src/apis/GptConfigsApi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAElE,OAAO,EAAE,SAAS,EAAmB,MAAM,qBAAqB,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAG1D;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,aAAa;IAatB,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,aAAa;IAbhC;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,oBAAoB,CAK1C;gBAGiB,iBAAiB,EAAE,iBAAiB,EACpC,aAAa,EAAE,aAAa;IAG/C;;;;;;;;;;;;;;;;;OAiBG;IACU,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAgB5D;;;;;;OAMG;IACU,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ5D;;;;;;;OAOG;IACU,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAWhE;;;;;;;;;;OAUG;IACU,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IA6B/D;;;OAGG;WACW,mBAAmB,CAAC,MAAM,EAAE,SAAS,GAAG,SAAS;CAYhE"}
1
+ {"version":3,"file":"GptConfigsApi.d.ts","sourceRoot":"","sources":["../../../src/apis/GptConfigsApi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAE5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,SAAS,EAAmB,MAAM,qBAAqB,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAG1D;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,aAAa;IA0BtB,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,aAAa;IA1BhC;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,sBAAsB,CAO1C;IAEJ;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,oBAAoB,CAK1C;gBAGiB,iBAAiB,EAAE,iBAAiB,EACpC,aAAa,EAAE,aAAa;IAG/C;;;;;;;;;;;;;;;;;OAiBG;IACU,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAY5D;;;;;;OAMG;IACU,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ5D;;;;;;;OAOG;IACU,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAWhE;;;;;;;;;;OAUG;IACU,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IA8B/D;;;OAGG;WACW,mBAAmB,CAAC,MAAM,EAAE,SAAS,GAAG,SAAS;CAYhE"}
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.GptConfigsApi = void 0;
4
- const GptConfigNotFoundException_1 = require("../exceptions/GptConfigNotFoundException");
4
+ const v4_1 = require("zod/v4");
5
5
  const GptConfig_1 = require("../models/GptConfig");
6
6
  const Logger_1 = require("../utils/Logger");
7
7
  /**
@@ -46,11 +46,8 @@ class GptConfigsApi {
46
46
  * - Original credentials are securely stored but never returned
47
47
  */
48
48
  async set(req, res) {
49
- const name = req.params.name;
49
+ const name = GptConfigsApi.GPT_CONFIG_NAME_SCHEMA.parse(req.params.name);
50
50
  const parsedBody = GptConfig_1.GptConfigSchema.parse(req.body);
51
- if (!name) {
52
- throw new GptConfigNotFoundException_1.GptConfigNotFoundException(name);
53
- }
54
51
  await this.gptConfigsManager.set(name, parsedBody);
55
52
  // Trigger auto-assignment of flow-runner if no configuration is currently assigned
56
53
  await this.agentsManager.triggerAutoAssignment();
@@ -101,7 +98,7 @@ class GptConfigsApi {
101
98
  try {
102
99
  // If this GPT config is associated with an agent, delete its reference.
103
100
  const agentNameToConfigNameMap = await this.agentsManager.getAll();
104
- agentNameToConfigNameMap.forEach(async (configName, agentName) => {
101
+ for (const [agentName, configName] of agentNameToConfigNameMap) {
105
102
  if (configName === name) {
106
103
  try {
107
104
  await this.agentsManager.set(agentName, null);
@@ -110,7 +107,7 @@ class GptConfigsApi {
110
107
  Logger_1.appLogger.warn(`Failed to unset Donobu ${agentName} agent configuration from '${name}'`, error);
111
108
  }
112
109
  }
113
- });
110
+ }
114
111
  }
115
112
  catch (error) {
116
113
  Logger_1.appLogger.warn(`Failed to unset Donobu agent configurations from '${name}'`, error);
@@ -133,6 +130,15 @@ class GptConfigsApi {
133
130
  }
134
131
  }
135
132
  exports.GptConfigsApi = GptConfigsApi;
133
+ /**
134
+ * Zod schema for validating GPT config names from URL parameters.
135
+ * Ensures names are non-empty strings with reasonable length constraints.
136
+ */
137
+ GptConfigsApi.GPT_CONFIG_NAME_SCHEMA = v4_1.z
138
+ .string()
139
+ .min(1, 'GPT config name cannot be empty')
140
+ .max(100, 'GPT config name cannot exceed 100 characters')
141
+ .regex(/^[a-zA-Z0-9_\s-]+$/, 'GPT config name can only contain alphanumeric characters, spaces, underscores, and hyphens');
136
142
  /**
137
143
  * Field names that contain sensitive data and should be redacted in API responses.
138
144
  * These fields are automatically replaced with asterisks to prevent credential exposure.
@@ -1 +1 @@
1
- {"version":3,"file":"GptConfigsApi.js","sourceRoot":"","sources":["../../../src/apis/GptConfigsApi.ts"],"names":[],"mappings":";;;AAEA,yFAAsF;AACtF,mDAAiE;AAEjE,4CAA4C;AAE5C;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAa,aAAa;IAYxB,YACmB,iBAAoC,EACpC,aAA4B;QAD5B,sBAAiB,GAAjB,iBAAiB,CAAmB;QACpC,kBAAa,GAAb,aAAa,CAAe;IAC5C,CAAC;IAEJ;;;;;;;;;;;;;;;;;OAiBG;IACI,KAAK,CAAC,GAAG,CAAC,GAAY,EAAE,GAAa;QAC1C,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC;QAC7B,MAAM,UAAU,GAAG,2BAAe,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAEnD,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,uDAA0B,CAAC,IAAI,CAAC,CAAC;QAC7C,CAAC;QAED,MAAM,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAEnD,mFAAmF;QACnF,MAAM,IAAI,CAAC,aAAa,CAAC,qBAAqB,EAAE,CAAC;QAEjD,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC,CAAC;IAC1D,CAAC;IAED;;;;;;OAMG;IACI,KAAK,CAAC,GAAG,CAAC,GAAY,EAAE,GAAa;QAC1C,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC;QAC7B,MAAM,MAAM,GAAG,aAAa,CAAC,mBAAmB,CAC9C,MAAM,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,CACvC,CAAC;QACF,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACnB,CAAC;IAED;;;;;;;OAOG;IACI,KAAK,CAAC,MAAM,CAAC,IAAa,EAAE,GAAa;QAC9C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC;QACtD,MAAM,eAAe,GAAG,IAAI,GAAG,CAC7B,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC;YAClD,GAAG;YACH,aAAa,CAAC,mBAAmB,CAAC,KAAK,CAAC;SACzC,CAAC,CACH,CAAC;QACF,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC,CAAC;IAChD,CAAC;IAED;;;;;;;;;;OAUG;IACI,KAAK,CAAC,MAAM,CAAC,GAAY,EAAE,GAAa;QAC7C,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC;QAC7B,MAAM,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAE1C,IAAI,CAAC;YACH,wEAAwE;YACxE,MAAM,wBAAwB,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC;YACnE,wBAAwB,CAAC,OAAO,CAAC,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,EAAE;gBAC/D,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;oBACxB,IAAI,CAAC;wBACH,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;oBAChD,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,kBAAS,CAAC,IAAI,CACZ,0BAA0B,SAAS,8BAA8B,IAAI,GAAG,EACxE,KAAK,CACN,CAAC;oBACJ,CAAC;gBACH,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,kBAAS,CAAC,IAAI,CACZ,qDAAqD,IAAI,GAAG,EAC5D,KAAK,CACN,CAAC;QACJ,CAAC;QAED,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,CAAC;IAED;;;OAGG;IACI,MAAM,CAAC,mBAAmB,CAAC,MAAiB;QACjD,MAAM,UAAU,GAAG,EAAE,GAAG,MAAM,EAAE,CAAC;QAEjC,KAAK,MAAM,iBAAiB,IAAI,aAAa,CAAC,oBAAoB,EAAE,CAAC;YACnE,IAAI,iBAAiB,IAAI,UAAU,EAAE,CAAC;gBACpC,wDAAwD;gBACvD,UAAkB,CAAC,iBAAiB,CAAC,GAAG,kBAAkB,CAAC;YAC9D,CAAC;QACH,CAAC;QAED,OAAO,UAAU,CAAC;IACpB,CAAC;;AA5IH,sCA6IC;AA5IC;;;GAGG;AACqB,kCAAoB,GAAG;IAC7C,QAAQ;IACR,aAAa;IACb,KAAK;IACL,iBAAiB;CAClB,CAAC"}
1
+ {"version":3,"file":"GptConfigsApi.js","sourceRoot":"","sources":["../../../src/apis/GptConfigsApi.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import { Request, Response } from 'express';
2
+ /**
3
+ * API endpoints for serving OpenAPI schema documentation.
4
+ */
5
+ export declare class SchemaApi {
6
+ readonly yamlSchema: string;
7
+ readonly htmlSchema: string;
8
+ private static DEFAULT_YAML_SCHEMA;
9
+ private static DEFAULT_HTML_SCHEMA;
10
+ constructor(yamlSchema?: string, htmlSchema?: string);
11
+ /**
12
+ * Serves the OpenAPI schema in YAML or HTML format based on Accept header.
13
+ * Defaults to YAML if no specific format is requested.
14
+ */
15
+ getSchema(req: Request, res: Response): Promise<void>;
16
+ }
17
+ //# sourceMappingURL=SchemaApi.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SchemaApi.d.ts","sourceRoot":"","sources":["../../../src/apis/SchemaApi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAG5C;;GAEG;AACH,qBAAa,SAAS;aASF,UAAU,EAAE,MAAM;aAClB,UAAU,EAAE,MAAM;IATpC,OAAO,CAAC,MAAM,CAAC,mBAAmB,CAEhC;IACF,OAAO,CAAC,MAAM,CAAC,mBAAmB,CAEhC;gBAGgB,UAAU,GAAE,MAAsC,EAClD,UAAU,GAAE,MAAsC;IAGpE;;;OAGG;IACU,SAAS,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;CAYnE"}
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SchemaApi = void 0;
4
+ const MiscUtils_1 = require("../utils/MiscUtils");
5
+ /**
6
+ * API endpoints for serving OpenAPI schema documentation.
7
+ */
8
+ class SchemaApi {
9
+ constructor(yamlSchema = SchemaApi.DEFAULT_YAML_SCHEMA, htmlSchema = SchemaApi.DEFAULT_HTML_SCHEMA) {
10
+ this.yamlSchema = yamlSchema;
11
+ this.htmlSchema = htmlSchema;
12
+ }
13
+ /**
14
+ * Serves the OpenAPI schema in YAML or HTML format based on Accept header.
15
+ * Defaults to YAML if no specific format is requested.
16
+ */
17
+ async getSchema(req, res) {
18
+ const acceptHeader = req.headers.accept || '';
19
+ const prefersHtml = acceptHeader.includes('text/html');
20
+ if (prefersHtml) {
21
+ res.setHeader('Content-Type', 'text/html; charset=utf-8');
22
+ res.send(this.htmlSchema);
23
+ }
24
+ else {
25
+ res.setHeader('Content-Type', 'application/yaml; charset=utf-8');
26
+ res.send(this.yamlSchema);
27
+ }
28
+ }
29
+ }
30
+ exports.SchemaApi = SchemaApi;
31
+ SchemaApi.DEFAULT_YAML_SCHEMA = MiscUtils_1.MiscUtils.getResourceFileAsString('openapi-schema.yaml');
32
+ SchemaApi.DEFAULT_HTML_SCHEMA = MiscUtils_1.MiscUtils.getResourceFileAsString('openapi-schema.html');
33
+ //# sourceMappingURL=SchemaApi.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SchemaApi.js","sourceRoot":"","sources":["../../../src/apis/SchemaApi.ts"],"names":[],"mappings":";;;AACA,kDAA+C;AAE/C;;GAEG;AACH,MAAa,SAAS;IAQpB,YACkB,aAAqB,SAAS,CAAC,mBAAmB,EAClD,aAAqB,SAAS,CAAC,mBAAmB;QADlD,eAAU,GAAV,UAAU,CAAwC;QAClD,eAAU,GAAV,UAAU,CAAwC;IACjE,CAAC;IAEJ;;;OAGG;IACI,KAAK,CAAC,SAAS,CAAC,GAAY,EAAE,GAAa;QAChD,MAAM,YAAY,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC;QAC9C,MAAM,WAAW,GAAG,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAEvD,IAAI,WAAW,EAAE,CAAC;YAChB,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,0BAA0B,CAAC,CAAC;YAC1D,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC5B,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,iCAAiC,CAAC,CAAC;YACjE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;;AA5BH,8BA6BC;AA5BgB,6BAAmB,GAAG,qBAAS,CAAC,uBAAuB,CACpE,qBAAqB,CACtB,CAAC;AACa,6BAAmB,GAAG,qBAAS,CAAC,uBAAuB,CACpE,qBAAqB,CACtB,CAAC"}
@@ -1 +1 @@
1
- 1362
1
+ 1377
Binary file