donobu 2.37.4 → 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 (207) 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/clients/GptClientFactory.d.ts +19 -2
  18. package/dist/clients/GptClientFactory.d.ts.map +1 -1
  19. package/dist/clients/GptClientFactory.js +8 -4
  20. package/dist/clients/GptClientFactory.js.map +1 -1
  21. package/dist/envVars.d.ts +29 -1
  22. package/dist/envVars.d.ts.map +1 -1
  23. package/dist/envVars.js +78 -2
  24. package/dist/envVars.js.map +1 -1
  25. package/dist/esm/apis/AskAiApi.d.ts +3 -1
  26. package/dist/esm/apis/AskAiApi.d.ts.map +1 -1
  27. package/dist/esm/apis/AskAiApi.js +3 -3
  28. package/dist/esm/apis/AskAiApi.js.map +1 -1
  29. package/dist/esm/apis/GptConfigsApi.d.ts +5 -0
  30. package/dist/esm/apis/GptConfigsApi.d.ts.map +1 -1
  31. package/dist/esm/apis/GptConfigsApi.js +13 -7
  32. package/dist/esm/apis/GptConfigsApi.js.map +1 -1
  33. package/dist/esm/apis/SchemaApi.d.ts +17 -0
  34. package/dist/esm/apis/SchemaApi.d.ts.map +1 -0
  35. package/dist/esm/apis/SchemaApi.js +33 -0
  36. package/dist/esm/apis/SchemaApi.js.map +1 -0
  37. package/dist/esm/assets/generated/version +1 -1
  38. package/dist/esm/assets/icon.png +0 -0
  39. package/dist/esm/assets/openapi-schema.html +18603 -0
  40. package/dist/esm/assets/openapi-schema.yaml +1483 -0
  41. package/dist/esm/clients/GptClientFactory.d.ts +19 -2
  42. package/dist/esm/clients/GptClientFactory.d.ts.map +1 -1
  43. package/dist/esm/clients/GptClientFactory.js +8 -4
  44. package/dist/esm/clients/GptClientFactory.js.map +1 -1
  45. package/dist/esm/envVars.d.ts +29 -1
  46. package/dist/esm/envVars.d.ts.map +1 -1
  47. package/dist/esm/envVars.js +78 -2
  48. package/dist/esm/envVars.js.map +1 -1
  49. package/dist/esm/exceptions/DonobuException.d.ts.map +1 -1
  50. package/dist/esm/exceptions/DonobuException.js +1 -3
  51. package/dist/esm/exceptions/DonobuException.js.map +1 -1
  52. package/dist/esm/lib/DonobuExtendedPage.d.ts +1 -1
  53. package/dist/esm/lib/DonobuExtendedPage.d.ts.map +1 -1
  54. package/dist/esm/lib/fixtures/gptClients.d.ts.map +1 -1
  55. package/dist/esm/lib/fixtures/gptClients.js +24 -26
  56. package/dist/esm/lib/fixtures/gptClients.js.map +1 -1
  57. package/dist/esm/lib/testExtension.d.ts.map +1 -1
  58. package/dist/esm/lib/testExtension.js +3 -2
  59. package/dist/esm/lib/testExtension.js.map +1 -1
  60. package/dist/esm/main.d.ts.map +1 -1
  61. package/dist/esm/main.js +1 -1
  62. package/dist/esm/main.js.map +1 -1
  63. package/dist/esm/managers/AdminApiController.d.ts +6 -0
  64. package/dist/esm/managers/AdminApiController.d.ts.map +1 -1
  65. package/dist/esm/managers/AdminApiController.js +27 -1
  66. package/dist/esm/managers/AdminApiController.js.map +1 -1
  67. package/dist/esm/managers/AgentsManager.js +1 -1
  68. package/dist/esm/managers/AgentsManager.js.map +1 -1
  69. package/dist/esm/managers/DonobuFlow.d.ts.map +1 -1
  70. package/dist/esm/managers/DonobuFlow.js +16 -9
  71. package/dist/esm/managers/DonobuFlow.js.map +1 -1
  72. package/dist/esm/managers/DonobuFlowsManager.d.ts +3 -7
  73. package/dist/esm/managers/DonobuFlowsManager.d.ts.map +1 -1
  74. package/dist/esm/managers/DonobuFlowsManager.js +59 -67
  75. package/dist/esm/managers/DonobuFlowsManager.js.map +1 -1
  76. package/dist/esm/managers/DonobuStack.d.ts +2 -0
  77. package/dist/esm/managers/DonobuStack.d.ts.map +1 -1
  78. package/dist/esm/managers/DonobuStack.js +5 -2
  79. package/dist/esm/managers/DonobuStack.js.map +1 -1
  80. package/dist/esm/managers/EnvDataManager.d.ts +5 -5
  81. package/dist/esm/managers/EnvDataManager.d.ts.map +1 -1
  82. package/dist/esm/managers/EnvDataManager.js +19 -26
  83. package/dist/esm/managers/EnvDataManager.js.map +1 -1
  84. package/dist/esm/managers/FlowDependencyAnalyzer.d.ts.map +1 -1
  85. package/dist/esm/managers/FlowDependencyAnalyzer.js +0 -1
  86. package/dist/esm/managers/FlowDependencyAnalyzer.js.map +1 -1
  87. package/dist/esm/managers/GptConfigsManager.d.ts +3 -1
  88. package/dist/esm/managers/GptConfigsManager.d.ts.map +1 -1
  89. package/dist/esm/managers/GptConfigsManager.js +10 -12
  90. package/dist/esm/managers/GptConfigsManager.js.map +1 -1
  91. package/dist/esm/managers/InteractionVisualizer.d.ts +25 -0
  92. package/dist/esm/managers/InteractionVisualizer.d.ts.map +1 -1
  93. package/dist/esm/managers/InteractionVisualizer.js +108 -50
  94. package/dist/esm/managers/InteractionVisualizer.js.map +1 -1
  95. package/dist/esm/managers/PluginLoader.d.ts +24 -1
  96. package/dist/esm/managers/PluginLoader.d.ts.map +1 -1
  97. package/dist/esm/managers/PluginLoader.js +62 -38
  98. package/dist/esm/managers/PluginLoader.js.map +1 -1
  99. package/dist/esm/managers/ToolManager.d.ts +1 -0
  100. package/dist/esm/managers/ToolManager.d.ts.map +1 -1
  101. package/dist/esm/managers/ToolManager.js +4 -1
  102. package/dist/esm/managers/ToolManager.js.map +1 -1
  103. package/dist/esm/models/CreateDonobuFlow.d.ts +1 -0
  104. package/dist/esm/models/CreateDonobuFlow.d.ts.map +1 -1
  105. package/dist/esm/models/CreateDonobuFlow.js +1 -0
  106. package/dist/esm/models/CreateDonobuFlow.js.map +1 -1
  107. package/dist/esm/models/FlowMetadata.d.ts +1 -0
  108. package/dist/esm/models/FlowMetadata.d.ts.map +1 -1
  109. package/dist/esm/models/FlowMetadata.js +5 -0
  110. package/dist/esm/models/FlowMetadata.js.map +1 -1
  111. package/dist/esm/persistence/env/EnvPersistenceFactoryImpl.d.ts +2 -1
  112. package/dist/esm/persistence/env/EnvPersistenceFactoryImpl.d.ts.map +1 -1
  113. package/dist/esm/persistence/env/EnvPersistenceFactoryImpl.js +6 -5
  114. package/dist/esm/persistence/env/EnvPersistenceFactoryImpl.js.map +1 -1
  115. package/dist/esm/persistence/flows/FlowsPersistenceFactoryImpl.d.ts.map +1 -1
  116. package/dist/esm/persistence/flows/FlowsPersistenceFactoryImpl.js +4 -4
  117. package/dist/esm/persistence/flows/FlowsPersistenceFactoryImpl.js.map +1 -1
  118. package/dist/esm/tools/DetectBrokenLinksTool.js +1 -1
  119. package/dist/esm/tools/DetectBrokenLinksTool.js.map +1 -1
  120. package/dist/esm/tools/TriggerDonobuFlowTool.d.ts +2 -0
  121. package/dist/esm/tools/TriggerDonobuFlowTool.d.ts.map +1 -1
  122. package/dist/esm/utils/BrowserUtils.d.ts +17 -18
  123. package/dist/esm/utils/BrowserUtils.d.ts.map +1 -1
  124. package/dist/esm/utils/BrowserUtils.js +43 -40
  125. package/dist/esm/utils/BrowserUtils.js.map +1 -1
  126. package/dist/esm/utils/MiscUtils.js +1 -1
  127. package/dist/esm/utils/MiscUtils.js.map +1 -1
  128. package/dist/exceptions/DonobuException.d.ts.map +1 -1
  129. package/dist/exceptions/DonobuException.js +1 -3
  130. package/dist/exceptions/DonobuException.js.map +1 -1
  131. package/dist/lib/DonobuExtendedPage.d.ts +1 -1
  132. package/dist/lib/DonobuExtendedPage.d.ts.map +1 -1
  133. package/dist/lib/fixtures/gptClients.d.ts.map +1 -1
  134. package/dist/lib/fixtures/gptClients.js +24 -26
  135. package/dist/lib/fixtures/gptClients.js.map +1 -1
  136. package/dist/lib/testExtension.d.ts.map +1 -1
  137. package/dist/lib/testExtension.js +3 -2
  138. package/dist/lib/testExtension.js.map +1 -1
  139. package/dist/main.d.ts.map +1 -1
  140. package/dist/main.js +1 -1
  141. package/dist/main.js.map +1 -1
  142. package/dist/managers/AdminApiController.d.ts +6 -0
  143. package/dist/managers/AdminApiController.d.ts.map +1 -1
  144. package/dist/managers/AdminApiController.js +27 -1
  145. package/dist/managers/AdminApiController.js.map +1 -1
  146. package/dist/managers/AgentsManager.js +1 -1
  147. package/dist/managers/AgentsManager.js.map +1 -1
  148. package/dist/managers/DonobuFlow.d.ts.map +1 -1
  149. package/dist/managers/DonobuFlow.js +16 -9
  150. package/dist/managers/DonobuFlow.js.map +1 -1
  151. package/dist/managers/DonobuFlowsManager.d.ts +3 -7
  152. package/dist/managers/DonobuFlowsManager.d.ts.map +1 -1
  153. package/dist/managers/DonobuFlowsManager.js +59 -67
  154. package/dist/managers/DonobuFlowsManager.js.map +1 -1
  155. package/dist/managers/DonobuStack.d.ts +2 -0
  156. package/dist/managers/DonobuStack.d.ts.map +1 -1
  157. package/dist/managers/DonobuStack.js +5 -2
  158. package/dist/managers/DonobuStack.js.map +1 -1
  159. package/dist/managers/EnvDataManager.d.ts +5 -5
  160. package/dist/managers/EnvDataManager.d.ts.map +1 -1
  161. package/dist/managers/EnvDataManager.js +19 -26
  162. package/dist/managers/EnvDataManager.js.map +1 -1
  163. package/dist/managers/FlowDependencyAnalyzer.d.ts.map +1 -1
  164. package/dist/managers/FlowDependencyAnalyzer.js +0 -1
  165. package/dist/managers/FlowDependencyAnalyzer.js.map +1 -1
  166. package/dist/managers/GptConfigsManager.d.ts +3 -1
  167. package/dist/managers/GptConfigsManager.d.ts.map +1 -1
  168. package/dist/managers/GptConfigsManager.js +10 -12
  169. package/dist/managers/GptConfigsManager.js.map +1 -1
  170. package/dist/managers/InteractionVisualizer.d.ts +25 -0
  171. package/dist/managers/InteractionVisualizer.d.ts.map +1 -1
  172. package/dist/managers/InteractionVisualizer.js +108 -50
  173. package/dist/managers/InteractionVisualizer.js.map +1 -1
  174. package/dist/managers/PluginLoader.d.ts +24 -1
  175. package/dist/managers/PluginLoader.d.ts.map +1 -1
  176. package/dist/managers/PluginLoader.js +62 -38
  177. package/dist/managers/PluginLoader.js.map +1 -1
  178. package/dist/managers/ToolManager.d.ts +1 -0
  179. package/dist/managers/ToolManager.d.ts.map +1 -1
  180. package/dist/managers/ToolManager.js +4 -1
  181. package/dist/managers/ToolManager.js.map +1 -1
  182. package/dist/models/CreateDonobuFlow.d.ts +1 -0
  183. package/dist/models/CreateDonobuFlow.d.ts.map +1 -1
  184. package/dist/models/CreateDonobuFlow.js +1 -0
  185. package/dist/models/CreateDonobuFlow.js.map +1 -1
  186. package/dist/models/FlowMetadata.d.ts +1 -0
  187. package/dist/models/FlowMetadata.d.ts.map +1 -1
  188. package/dist/models/FlowMetadata.js +5 -0
  189. package/dist/models/FlowMetadata.js.map +1 -1
  190. package/dist/persistence/env/EnvPersistenceFactoryImpl.d.ts +2 -1
  191. package/dist/persistence/env/EnvPersistenceFactoryImpl.d.ts.map +1 -1
  192. package/dist/persistence/env/EnvPersistenceFactoryImpl.js +6 -5
  193. package/dist/persistence/env/EnvPersistenceFactoryImpl.js.map +1 -1
  194. package/dist/persistence/flows/FlowsPersistenceFactoryImpl.d.ts.map +1 -1
  195. package/dist/persistence/flows/FlowsPersistenceFactoryImpl.js +4 -4
  196. package/dist/persistence/flows/FlowsPersistenceFactoryImpl.js.map +1 -1
  197. package/dist/tools/DetectBrokenLinksTool.js +1 -1
  198. package/dist/tools/DetectBrokenLinksTool.js.map +1 -1
  199. package/dist/tools/TriggerDonobuFlowTool.d.ts +2 -0
  200. package/dist/tools/TriggerDonobuFlowTool.d.ts.map +1 -1
  201. package/dist/utils/BrowserUtils.d.ts +17 -18
  202. package/dist/utils/BrowserUtils.d.ts.map +1 -1
  203. package/dist/utils/BrowserUtils.js +43 -40
  204. package/dist/utils/BrowserUtils.js.map +1 -1
  205. package/dist/utils/MiscUtils.js +1 -1
  206. package/dist/utils/MiscUtils.js.map +1 -1
  207. package/package.json +16 -16
@@ -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":"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"}
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
- 1363
1
+ 1377
Binary file