donobu 3.19.3 → 3.20.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 (161) hide show
  1. package/dist/apis/ToolsApi.d.ts.map +1 -1
  2. package/dist/apis/ToolsApi.js +0 -4
  3. package/dist/apis/ToolsApi.js.map +1 -1
  4. package/dist/cli/install-donobu-plugin.js +1 -1
  5. package/dist/cli/install-donobu-plugin.js.map +1 -1
  6. package/dist/envVars.d.ts +2 -8
  7. package/dist/envVars.d.ts.map +1 -1
  8. package/dist/envVars.js +5 -5
  9. package/dist/envVars.js.map +1 -1
  10. package/dist/esm/apis/ToolsApi.d.ts.map +1 -1
  11. package/dist/esm/apis/ToolsApi.js +0 -4
  12. package/dist/esm/apis/ToolsApi.js.map +1 -1
  13. package/dist/esm/cli/install-donobu-plugin.js +1 -1
  14. package/dist/esm/cli/install-donobu-plugin.js.map +1 -1
  15. package/dist/esm/envVars.d.ts +2 -8
  16. package/dist/esm/envVars.d.ts.map +1 -1
  17. package/dist/esm/envVars.js +5 -5
  18. package/dist/esm/envVars.js.map +1 -1
  19. package/dist/esm/lib/page/extendPage.d.ts.map +1 -1
  20. package/dist/esm/lib/page/extendPage.js +2 -2
  21. package/dist/esm/lib/page/extendPage.js.map +1 -1
  22. package/dist/esm/lib/test/testExtension.js +2 -2
  23. package/dist/esm/lib/test/testExtension.js.map +1 -1
  24. package/dist/esm/lib/test/utils/donobuTestStack.d.ts.map +1 -1
  25. package/dist/esm/lib/test/utils/donobuTestStack.js +1 -1
  26. package/dist/esm/lib/test/utils/donobuTestStack.js.map +1 -1
  27. package/dist/esm/lib/test/utils/selfHealing.d.ts.map +1 -1
  28. package/dist/esm/lib/test/utils/selfHealing.js +0 -2
  29. package/dist/esm/lib/test/utils/selfHealing.js.map +1 -1
  30. package/dist/esm/main.d.ts +9 -1
  31. package/dist/esm/main.d.ts.map +1 -1
  32. package/dist/esm/main.js +14 -4
  33. package/dist/esm/main.js.map +1 -1
  34. package/dist/esm/managers/AdminApiController.d.ts +1 -1
  35. package/dist/esm/managers/AdminApiController.d.ts.map +1 -1
  36. package/dist/esm/managers/AdminApiController.js.map +1 -1
  37. package/dist/esm/managers/DonobuFlowsManager.d.ts.map +1 -1
  38. package/dist/esm/managers/DonobuFlowsManager.js +2 -2
  39. package/dist/esm/managers/DonobuFlowsManager.js.map +1 -1
  40. package/dist/esm/managers/DonobuStack.d.ts +2 -16
  41. package/dist/esm/managers/DonobuStack.d.ts.map +1 -1
  42. package/dist/esm/managers/DonobuStack.js +1 -1
  43. package/dist/esm/managers/DonobuStack.js.map +1 -1
  44. package/dist/esm/managers/PluginLoader.d.ts +9 -4
  45. package/dist/esm/managers/PluginLoader.d.ts.map +1 -1
  46. package/dist/esm/managers/PluginLoader.js +24 -9
  47. package/dist/esm/managers/PluginLoader.js.map +1 -1
  48. package/dist/esm/managers/ToolManager.d.ts +5 -0
  49. package/dist/esm/managers/ToolManager.d.ts.map +1 -1
  50. package/dist/esm/managers/ToolManager.js +9 -5
  51. package/dist/esm/managers/ToolManager.js.map +1 -1
  52. package/dist/esm/persistence/PersistencePlugin.d.ts +29 -0
  53. package/dist/esm/persistence/PersistencePlugin.d.ts.map +1 -0
  54. package/dist/esm/persistence/PersistencePlugin.js +21 -0
  55. package/dist/esm/persistence/PersistencePlugin.js.map +1 -0
  56. package/dist/esm/persistence/env/EnvPersistenceRegistry.d.ts +1 -1
  57. package/dist/esm/persistence/env/EnvPersistenceRegistry.d.ts.map +1 -1
  58. package/dist/esm/persistence/env/EnvPersistenceRegistry.js +11 -15
  59. package/dist/esm/persistence/env/EnvPersistenceRegistry.js.map +1 -1
  60. package/dist/esm/persistence/flows/FlowsPersistenceRegistry.d.ts +1 -1
  61. package/dist/esm/persistence/flows/FlowsPersistenceRegistry.d.ts.map +1 -1
  62. package/dist/esm/persistence/flows/FlowsPersistenceRegistry.js +11 -15
  63. package/dist/esm/persistence/flows/FlowsPersistenceRegistry.js.map +1 -1
  64. package/dist/esm/utils/MiscUtils.js +2 -2
  65. package/dist/esm/utils/MiscUtils.js.map +1 -1
  66. package/dist/lib/page/extendPage.d.ts.map +1 -1
  67. package/dist/lib/page/extendPage.js +2 -2
  68. package/dist/lib/page/extendPage.js.map +1 -1
  69. package/dist/lib/test/testExtension.js +2 -2
  70. package/dist/lib/test/testExtension.js.map +1 -1
  71. package/dist/lib/test/utils/donobuTestStack.d.ts.map +1 -1
  72. package/dist/lib/test/utils/donobuTestStack.js +1 -1
  73. package/dist/lib/test/utils/donobuTestStack.js.map +1 -1
  74. package/dist/lib/test/utils/selfHealing.d.ts.map +1 -1
  75. package/dist/lib/test/utils/selfHealing.js +0 -2
  76. package/dist/lib/test/utils/selfHealing.js.map +1 -1
  77. package/dist/main.d.ts +9 -1
  78. package/dist/main.d.ts.map +1 -1
  79. package/dist/main.js +14 -4
  80. package/dist/main.js.map +1 -1
  81. package/dist/managers/AdminApiController.d.ts +1 -1
  82. package/dist/managers/AdminApiController.d.ts.map +1 -1
  83. package/dist/managers/AdminApiController.js.map +1 -1
  84. package/dist/managers/DonobuFlowsManager.d.ts.map +1 -1
  85. package/dist/managers/DonobuFlowsManager.js +2 -2
  86. package/dist/managers/DonobuFlowsManager.js.map +1 -1
  87. package/dist/managers/DonobuStack.d.ts +2 -16
  88. package/dist/managers/DonobuStack.d.ts.map +1 -1
  89. package/dist/managers/DonobuStack.js +1 -1
  90. package/dist/managers/DonobuStack.js.map +1 -1
  91. package/dist/managers/PluginLoader.d.ts +9 -4
  92. package/dist/managers/PluginLoader.d.ts.map +1 -1
  93. package/dist/managers/PluginLoader.js +24 -9
  94. package/dist/managers/PluginLoader.js.map +1 -1
  95. package/dist/managers/ToolManager.d.ts +5 -0
  96. package/dist/managers/ToolManager.d.ts.map +1 -1
  97. package/dist/managers/ToolManager.js +9 -5
  98. package/dist/managers/ToolManager.js.map +1 -1
  99. package/dist/persistence/PersistencePlugin.d.ts +29 -0
  100. package/dist/persistence/PersistencePlugin.d.ts.map +1 -0
  101. package/dist/persistence/PersistencePlugin.js +21 -0
  102. package/dist/persistence/PersistencePlugin.js.map +1 -0
  103. package/dist/persistence/env/EnvPersistenceRegistry.d.ts +1 -1
  104. package/dist/persistence/env/EnvPersistenceRegistry.d.ts.map +1 -1
  105. package/dist/persistence/env/EnvPersistenceRegistry.js +11 -15
  106. package/dist/persistence/env/EnvPersistenceRegistry.js.map +1 -1
  107. package/dist/persistence/flows/FlowsPersistenceRegistry.d.ts +1 -1
  108. package/dist/persistence/flows/FlowsPersistenceRegistry.d.ts.map +1 -1
  109. package/dist/persistence/flows/FlowsPersistenceRegistry.js +11 -15
  110. package/dist/persistence/flows/FlowsPersistenceRegistry.js.map +1 -1
  111. package/dist/utils/MiscUtils.js +2 -2
  112. package/dist/utils/MiscUtils.js.map +1 -1
  113. package/package.json +2 -7
  114. package/dist/esm/persistence/env/EnvPersistenceAwsS3.d.ts +0 -31
  115. package/dist/esm/persistence/env/EnvPersistenceAwsS3.d.ts.map +0 -1
  116. package/dist/esm/persistence/env/EnvPersistenceAwsS3.js +0 -117
  117. package/dist/esm/persistence/env/EnvPersistenceAwsS3.js.map +0 -1
  118. package/dist/esm/persistence/env/EnvPersistenceGoogleCloudStorage.d.ts +0 -30
  119. package/dist/esm/persistence/env/EnvPersistenceGoogleCloudStorage.d.ts.map +0 -1
  120. package/dist/esm/persistence/env/EnvPersistenceGoogleCloudStorage.js +0 -131
  121. package/dist/esm/persistence/env/EnvPersistenceGoogleCloudStorage.js.map +0 -1
  122. package/dist/esm/persistence/flows/FlowsPersistenceAwsS3.d.ts +0 -71
  123. package/dist/esm/persistence/flows/FlowsPersistenceAwsS3.d.ts.map +0 -1
  124. package/dist/esm/persistence/flows/FlowsPersistenceAwsS3.js +0 -487
  125. package/dist/esm/persistence/flows/FlowsPersistenceAwsS3.js.map +0 -1
  126. package/dist/esm/persistence/flows/FlowsPersistenceGoogleCloudStorage.d.ts +0 -71
  127. package/dist/esm/persistence/flows/FlowsPersistenceGoogleCloudStorage.d.ts.map +0 -1
  128. package/dist/esm/persistence/flows/FlowsPersistenceGoogleCloudStorage.js +0 -444
  129. package/dist/esm/persistence/flows/FlowsPersistenceGoogleCloudStorage.js.map +0 -1
  130. package/dist/esm/tools/SolveCaptcha.d.ts +0 -19
  131. package/dist/esm/tools/SolveCaptcha.d.ts.map +0 -1
  132. package/dist/esm/tools/SolveCaptcha.js +0 -36
  133. package/dist/esm/tools/SolveCaptcha.js.map +0 -1
  134. package/dist/esm/tools/SolveMfaChallenge.d.ts +0 -45
  135. package/dist/esm/tools/SolveMfaChallenge.d.ts.map +0 -1
  136. package/dist/esm/tools/SolveMfaChallenge.js +0 -214
  137. package/dist/esm/tools/SolveMfaChallenge.js.map +0 -1
  138. package/dist/persistence/env/EnvPersistenceAwsS3.d.ts +0 -31
  139. package/dist/persistence/env/EnvPersistenceAwsS3.d.ts.map +0 -1
  140. package/dist/persistence/env/EnvPersistenceAwsS3.js +0 -117
  141. package/dist/persistence/env/EnvPersistenceAwsS3.js.map +0 -1
  142. package/dist/persistence/env/EnvPersistenceGoogleCloudStorage.d.ts +0 -30
  143. package/dist/persistence/env/EnvPersistenceGoogleCloudStorage.d.ts.map +0 -1
  144. package/dist/persistence/env/EnvPersistenceGoogleCloudStorage.js +0 -131
  145. package/dist/persistence/env/EnvPersistenceGoogleCloudStorage.js.map +0 -1
  146. package/dist/persistence/flows/FlowsPersistenceAwsS3.d.ts +0 -71
  147. package/dist/persistence/flows/FlowsPersistenceAwsS3.d.ts.map +0 -1
  148. package/dist/persistence/flows/FlowsPersistenceAwsS3.js +0 -487
  149. package/dist/persistence/flows/FlowsPersistenceAwsS3.js.map +0 -1
  150. package/dist/persistence/flows/FlowsPersistenceGoogleCloudStorage.d.ts +0 -71
  151. package/dist/persistence/flows/FlowsPersistenceGoogleCloudStorage.d.ts.map +0 -1
  152. package/dist/persistence/flows/FlowsPersistenceGoogleCloudStorage.js +0 -444
  153. package/dist/persistence/flows/FlowsPersistenceGoogleCloudStorage.js.map +0 -1
  154. package/dist/tools/SolveCaptcha.d.ts +0 -19
  155. package/dist/tools/SolveCaptcha.d.ts.map +0 -1
  156. package/dist/tools/SolveCaptcha.js +0 -36
  157. package/dist/tools/SolveCaptcha.js.map +0 -1
  158. package/dist/tools/SolveMfaChallenge.d.ts +0 -45
  159. package/dist/tools/SolveMfaChallenge.d.ts.map +0 -1
  160. package/dist/tools/SolveMfaChallenge.js +0 -214
  161. package/dist/tools/SolveMfaChallenge.js.map +0 -1
@@ -23,7 +23,7 @@ export declare class EnvPersistenceRegistryImpl implements EnvPersistenceRegistr
23
23
  * Creates an instance by reading environment variables and eagerly constructing
24
24
  * all applicable persistence layers.
25
25
  */
26
- static fromEnvironment(envPersistenceVolatile: EnvPersistenceVolatile | null, environ: EnvPick<typeof env, 'AWS_S3_BUCKET' | 'AWS_S3_REGION' | 'AWS_REGION' | 'GOOGLE_CLOUD_STORAGE_BUCKET' | 'PERSISTENCE_PRIORITY'>): Promise<EnvPersistenceRegistryImpl>;
26
+ static fromEnvironment(envPersistenceVolatile: EnvPersistenceVolatile | null, environ: EnvPick<typeof env, 'PERSISTENCE_PRIORITY'>): Promise<EnvPersistenceRegistryImpl>;
27
27
  /** Returns all persistence layers. Note that the returned list may be empty! */
28
28
  getAll(): Promise<EnvPersistence[]>;
29
29
  }
@@ -1 +1 @@
1
- {"version":3,"file":"EnvPersistenceRegistry.d.ts","sourceRoot":"","sources":["../../../src/persistence/env/EnvPersistenceRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAE1C,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AAEzC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAIvD,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAElE,MAAM,WAAW,sBAAsB;IACrC,gGAAgG;IAChG,MAAM,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC;CACrC;AAED;;;;;;GAMG;AACH,qBAAa,0BAA2B,YAAW,sBAAsB;IAIpD,OAAO,CAAC,QAAQ,CAAC,MAAM;IAH1C;;OAEG;gBACiC,MAAM,EAAE,cAAc,EAAE;IAE5D;;;OAGG;WACiB,eAAe,CACjC,sBAAsB,EAAE,sBAAsB,GAAG,IAAI,EACrD,OAAO,EAAE,OAAO,CACd,OAAO,GAAG,EACR,eAAe,GACf,eAAe,GACf,YAAY,GACZ,6BAA6B,GAC7B,sBAAsB,CACzB,GACA,OAAO,CAAC,0BAA0B,CAAC;IAqCtC,gFAAgF;IACnE,MAAM,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;CAGjD"}
1
+ {"version":3,"file":"EnvPersistenceRegistry.d.ts","sourceRoot":"","sources":["../../../src/persistence/env/EnvPersistenceRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAE1C,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AAGzC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEvD,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAElE,MAAM,WAAW,sBAAsB;IACrC,gGAAgG;IAChG,MAAM,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC;CACrC;AAED;;;;;;GAMG;AACH,qBAAa,0BAA2B,YAAW,sBAAsB;IAIpD,OAAO,CAAC,QAAQ,CAAC,MAAM;IAH1C;;OAEG;gBACiC,MAAM,EAAE,cAAc,EAAE;IAE5D;;;OAGG;WACiB,eAAe,CACjC,sBAAsB,EAAE,sBAAsB,GAAG,IAAI,EACrD,OAAO,EAAE,OAAO,CAAC,OAAO,GAAG,EAAE,sBAAsB,CAAC,GACnD,OAAO,CAAC,0BAA0B,CAAC;IA6BtC,gFAAgF;IACnE,MAAM,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;CAGjD"}
@@ -2,8 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.EnvPersistenceRegistryImpl = void 0;
4
4
  const DonobuSqliteDb_1 = require("../DonobuSqliteDb");
5
- const EnvPersistenceAwsS3_1 = require("./EnvPersistenceAwsS3");
6
- const EnvPersistenceGoogleCloudStorage_1 = require("./EnvPersistenceGoogleCloudStorage");
5
+ const PersistencePlugin_1 = require("../PersistencePlugin");
7
6
  const EnvPersistenceSqlite_1 = require("./EnvPersistenceSqlite");
8
7
  const EnvPersistenceVolatile_1 = require("./EnvPersistenceVolatile");
9
8
  /**
@@ -25,28 +24,25 @@ class EnvPersistenceRegistryImpl {
25
24
  * all applicable persistence layers.
26
25
  */
27
26
  static async fromEnvironment(envPersistenceVolatile, environ) {
28
- const awsS3Bucket = environ.data.AWS_S3_BUCKET;
29
- const awsS3Region = environ.data.AWS_S3_REGION || environ.data.AWS_REGION;
30
- const googleCloudStorageBucket = environ.data.GOOGLE_CLOUD_STORAGE_BUCKET;
31
27
  const layers = [];
32
28
  for (const key of environ.data.PERSISTENCE_PRIORITY) {
33
29
  switch (key) {
34
- case 'S3':
35
- if (awsS3Bucket && awsS3Region) {
36
- layers.push(new EnvPersistenceAwsS3_1.EnvPersistenceAwsS3(awsS3Bucket, awsS3Region));
37
- }
38
- break;
39
- case 'GCS':
40
- if (googleCloudStorageBucket) {
41
- layers.push(await EnvPersistenceGoogleCloudStorage_1.EnvPersistenceGoogleCloudStorage.create(googleCloudStorageBucket));
42
- }
43
- break;
44
30
  case 'LOCAL':
45
31
  layers.push(await EnvPersistenceSqlite_1.EnvPersistenceSqlite.create(await (0, DonobuSqliteDb_1.getDonobuSqliteDatabase)()));
46
32
  break;
47
33
  case 'RAM':
48
34
  layers.push(envPersistenceVolatile ?? new EnvPersistenceVolatile_1.EnvPersistenceVolatile());
49
35
  break;
36
+ default: {
37
+ const plugin = (0, PersistencePlugin_1.getPersistencePlugin)(key);
38
+ if (plugin) {
39
+ const impl = await plugin.createEnvPersistence();
40
+ if (impl) {
41
+ layers.push(impl);
42
+ }
43
+ }
44
+ break;
45
+ }
50
46
  }
51
47
  }
52
48
  return new EnvPersistenceRegistryImpl(layers);
@@ -1 +1 @@
1
- {"version":3,"file":"EnvPersistenceRegistry.js","sourceRoot":"","sources":["../../../src/persistence/env/EnvPersistenceRegistry.ts"],"names":[],"mappings":";;;AAGA,sDAA4D;AAE5D,+DAA4D;AAC5D,yFAAsF;AACtF,iEAA8D;AAC9D,qEAAkE;AAOlE;;;;;;GAMG;AACH,MAAa,0BAA0B;IACrC;;OAEG;IACH,YAAoC,MAAwB;QAAxB,WAAM,GAAN,MAAM,CAAkB;IAAG,CAAC;IAEhE;;;OAGG;IACI,MAAM,CAAC,KAAK,CAAC,eAAe,CACjC,sBAAqD,EACrD,OAOC;QAED,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC;QAC/C,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC;QAC1E,MAAM,wBAAwB,GAAG,OAAO,CAAC,IAAI,CAAC,2BAA2B,CAAC;QAE1E,MAAM,MAAM,GAAqB,EAAE,CAAC;QAEpC,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC;YACpD,QAAQ,GAAG,EAAE,CAAC;gBACZ,KAAK,IAAI;oBACP,IAAI,WAAW,IAAI,WAAW,EAAE,CAAC;wBAC/B,MAAM,CAAC,IAAI,CAAC,IAAI,yCAAmB,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC;oBACjE,CAAC;oBACD,MAAM;gBACR,KAAK,KAAK;oBACR,IAAI,wBAAwB,EAAE,CAAC;wBAC7B,MAAM,CAAC,IAAI,CACT,MAAM,mEAAgC,CAAC,MAAM,CAC3C,wBAAwB,CACzB,CACF,CAAC;oBACJ,CAAC;oBACD,MAAM;gBACR,KAAK,OAAO;oBACV,MAAM,CAAC,IAAI,CACT,MAAM,2CAAoB,CAAC,MAAM,CAAC,MAAM,IAAA,wCAAuB,GAAE,CAAC,CACnE,CAAC;oBACF,MAAM;gBACR,KAAK,KAAK;oBACR,MAAM,CAAC,IAAI,CAAC,sBAAsB,IAAI,IAAI,+CAAsB,EAAE,CAAC,CAAC;oBACpE,MAAM;YACV,CAAC;QACH,CAAC;QAED,OAAO,IAAI,0BAA0B,CAAC,MAAM,CAAC,CAAC;IAChD,CAAC;IAED,gFAAgF;IACzE,KAAK,CAAC,MAAM;QACjB,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;CACF;AA7DD,gEA6DC"}
1
+ {"version":3,"file":"EnvPersistenceRegistry.js","sourceRoot":"","sources":["../../../src/persistence/env/EnvPersistenceRegistry.ts"],"names":[],"mappings":";;;AAGA,sDAA4D;AAC5D,4DAA4D;AAE5D,iEAA8D;AAC9D,qEAAkE;AAOlE;;;;;;GAMG;AACH,MAAa,0BAA0B;IACrC;;OAEG;IACH,YAAoC,MAAwB;QAAxB,WAAM,GAAN,MAAM,CAAkB;IAAG,CAAC;IAEhE;;;OAGG;IACI,MAAM,CAAC,KAAK,CAAC,eAAe,CACjC,sBAAqD,EACrD,OAAoD;QAEpD,MAAM,MAAM,GAAqB,EAAE,CAAC;QAEpC,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC;YACpD,QAAQ,GAAG,EAAE,CAAC;gBACZ,KAAK,OAAO;oBACV,MAAM,CAAC,IAAI,CACT,MAAM,2CAAoB,CAAC,MAAM,CAAC,MAAM,IAAA,wCAAuB,GAAE,CAAC,CACnE,CAAC;oBACF,MAAM;gBACR,KAAK,KAAK;oBACR,MAAM,CAAC,IAAI,CAAC,sBAAsB,IAAI,IAAI,+CAAsB,EAAE,CAAC,CAAC;oBACpE,MAAM;gBACR,OAAO,CAAC,CAAC,CAAC;oBACR,MAAM,MAAM,GAAG,IAAA,wCAAoB,EAAC,GAAG,CAAC,CAAC;oBACzC,IAAI,MAAM,EAAE,CAAC;wBACX,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,oBAAoB,EAAE,CAAC;wBACjD,IAAI,IAAI,EAAE,CAAC;4BACT,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBACpB,CAAC;oBACH,CAAC;oBACD,MAAM;gBACR,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,IAAI,0BAA0B,CAAC,MAAM,CAAC,CAAC;IAChD,CAAC;IAED,gFAAgF;IACzE,KAAK,CAAC,MAAM;QACjB,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;CACF;AA9CD,gEA8CC"}
@@ -23,7 +23,7 @@ export declare class FlowsPersistenceRegistryImpl implements FlowsPersistenceReg
23
23
  * Creates an instance by reading environment variables and eagerly constructing
24
24
  * all applicable persistence layers.
25
25
  */
26
- static fromEnvironment(environ: EnvPick<typeof env, 'AWS_S3_BUCKET' | 'AWS_S3_REGION' | 'AWS_REGION' | 'GOOGLE_CLOUD_STORAGE_BUCKET' | 'DONOBU_API_BASE_URL' | 'DONOBU_API_KEY' | 'PERSISTENCE_PRIORITY'>): Promise<FlowsPersistenceRegistryImpl>;
26
+ static fromEnvironment(environ: EnvPick<typeof env, 'DONOBU_API_BASE_URL' | 'DONOBU_API_KEY' | 'PERSISTENCE_PRIORITY'>): Promise<FlowsPersistenceRegistryImpl>;
27
27
  /**
28
28
  * Returns the primary persistence layer.
29
29
  */
@@ -1 +1 @@
1
- {"version":3,"file":"FlowsPersistenceRegistry.d.ts","sourceRoot":"","sources":["../../../src/persistence/flows/FlowsPersistenceRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAE1C,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AAEzC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAO3D,MAAM,WAAW,wBAAwB;IACvC;;OAEG;IACH,GAAG,IAAI,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAEjC,kFAAkF;IAClF,MAAM,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAAC;CACvC;AAED;;;GAGG;AACH,qBAAa,4BAA6B,YAAW,wBAAwB;IAIxD,OAAO,CAAC,QAAQ,CAAC,MAAM;IAH1C;;OAEG;gBACiC,MAAM,EAAE,gBAAgB,EAAE;IAM9D;;;OAGG;WACiB,eAAe,CACjC,OAAO,EAAE,OAAO,CACd,OAAO,GAAG,EACR,eAAe,GACf,eAAe,GACf,YAAY,GACZ,6BAA6B,GAC7B,qBAAqB,GACrB,gBAAgB,GAChB,sBAAsB,CACzB,GACA,OAAO,CAAC,4BAA4B,CAAC;IA+CxC;;OAEG;IACU,GAAG,IAAI,OAAO,CAAC,gBAAgB,CAAC;IAI7C,kEAAkE;IACrD,MAAM,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;CAGnD"}
1
+ {"version":3,"file":"FlowsPersistenceRegistry.d.ts","sourceRoot":"","sources":["../../../src/persistence/flows/FlowsPersistenceRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAE1C,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AAGzC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAK3D,MAAM,WAAW,wBAAwB;IACvC;;OAEG;IACH,GAAG,IAAI,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAEjC,kFAAkF;IAClF,MAAM,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAAC;CACvC;AAED;;;GAGG;AACH,qBAAa,4BAA6B,YAAW,wBAAwB;IAIxD,OAAO,CAAC,QAAQ,CAAC,MAAM;IAH1C;;OAEG;gBACiC,MAAM,EAAE,gBAAgB,EAAE;IAM9D;;;OAGG;WACiB,eAAe,CACjC,OAAO,EAAE,OAAO,CACd,OAAO,GAAG,EACV,qBAAqB,GAAG,gBAAgB,GAAG,sBAAsB,CAClE,GACA,OAAO,CAAC,4BAA4B,CAAC;IAwCxC;;OAEG;IACU,GAAG,IAAI,OAAO,CAAC,gBAAgB,CAAC;IAI7C,kEAAkE;IACrD,MAAM,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;CAGnD"}
@@ -2,9 +2,8 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.FlowsPersistenceRegistryImpl = void 0;
4
4
  const DonobuSqliteDb_1 = require("../DonobuSqliteDb");
5
- const FlowsPersistenceAwsS3_1 = require("./FlowsPersistenceAwsS3");
5
+ const PersistencePlugin_1 = require("../PersistencePlugin");
6
6
  const FlowsPersistenceDonobuApi_1 = require("./FlowsPersistenceDonobuApi");
7
- const FlowsPersistenceGoogleCloudStorage_1 = require("./FlowsPersistenceGoogleCloudStorage");
8
7
  const FlowsPersistenceSqlite_1 = require("./FlowsPersistenceSqlite");
9
8
  const FlowsPersistenceVolatile_1 = require("./FlowsPersistenceVolatile");
10
9
  /**
@@ -26,9 +25,6 @@ class FlowsPersistenceRegistryImpl {
26
25
  * all applicable persistence layers.
27
26
  */
28
27
  static async fromEnvironment(environ) {
29
- const awsS3Bucket = environ.data.AWS_S3_BUCKET;
30
- const awsS3Region = environ.data.AWS_S3_REGION || environ.data.AWS_REGION;
31
- const googleCloudStorageBucket = environ.data.GOOGLE_CLOUD_STORAGE_BUCKET;
32
28
  const donobuApiBaseUrl = environ.data.DONOBU_API_BASE_URL;
33
29
  const donobuApiKey = environ.data.DONOBU_API_KEY;
34
30
  const layers = [];
@@ -39,22 +35,22 @@ class FlowsPersistenceRegistryImpl {
39
35
  layers.push(new FlowsPersistenceDonobuApi_1.FlowsPersistenceDonobuApi(donobuApiBaseUrl, donobuApiKey));
40
36
  }
41
37
  break;
42
- case 'S3':
43
- if (awsS3Bucket && awsS3Region) {
44
- layers.push(new FlowsPersistenceAwsS3_1.FlowsPersistenceAwsS3(awsS3Bucket, awsS3Region));
45
- }
46
- break;
47
- case 'GCS':
48
- if (googleCloudStorageBucket) {
49
- layers.push(await FlowsPersistenceGoogleCloudStorage_1.FlowsPersistenceGoogleCloudStorage.create(googleCloudStorageBucket));
50
- }
51
- break;
52
38
  case 'LOCAL':
53
39
  layers.push(await FlowsPersistenceSqlite_1.FlowsPersistenceSqlite.create(await (0, DonobuSqliteDb_1.getDonobuSqliteDatabase)()));
54
40
  break;
55
41
  case 'RAM':
56
42
  layers.push(new FlowsPersistenceVolatile_1.FlowsPersistenceVolatile());
57
43
  break;
44
+ default: {
45
+ const plugin = (0, PersistencePlugin_1.getPersistencePlugin)(key);
46
+ if (plugin) {
47
+ const impl = await plugin.createFlowsPersistence();
48
+ if (impl) {
49
+ layers.push(impl);
50
+ }
51
+ }
52
+ break;
53
+ }
58
54
  }
59
55
  }
60
56
  return new FlowsPersistenceRegistryImpl(layers);
@@ -1 +1 @@
1
- {"version":3,"file":"FlowsPersistenceRegistry.js","sourceRoot":"","sources":["../../../src/persistence/flows/FlowsPersistenceRegistry.ts"],"names":[],"mappings":";;;AAGA,sDAA4D;AAE5D,mEAAgE;AAChE,2EAAwE;AACxE,6FAA0F;AAC1F,qEAAkE;AAClE,yEAAsE;AAYtE;;;GAGG;AACH,MAAa,4BAA4B;IACvC;;OAEG;IACH,YAAoC,MAA0B;QAA1B,WAAM,GAAN,MAAM,CAAoB;QAC5D,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;QACzE,CAAC;IACH,CAAC;IAED;;;OAGG;IACI,MAAM,CAAC,KAAK,CAAC,eAAe,CACjC,OASC;QAED,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC;QAC/C,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC;QAC1E,MAAM,wBAAwB,GAAG,OAAO,CAAC,IAAI,CAAC,2BAA2B,CAAC;QAC1E,MAAM,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,mBAAmB,CAAC;QAC1D,MAAM,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC;QACjD,MAAM,MAAM,GAAuB,EAAE,CAAC;QAEtC,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC;YACpD,QAAQ,GAAG,EAAE,CAAC;gBACZ,KAAK,QAAQ;oBACX,IAAI,YAAY,IAAI,gBAAgB,EAAE,CAAC;wBACrC,MAAM,CAAC,IAAI,CACT,IAAI,qDAAyB,CAAC,gBAAgB,EAAE,YAAY,CAAC,CAC9D,CAAC;oBACJ,CAAC;oBACD,MAAM;gBACR,KAAK,IAAI;oBACP,IAAI,WAAW,IAAI,WAAW,EAAE,CAAC;wBAC/B,MAAM,CAAC,IAAI,CAAC,IAAI,6CAAqB,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC;oBACnE,CAAC;oBACD,MAAM;gBACR,KAAK,KAAK;oBACR,IAAI,wBAAwB,EAAE,CAAC;wBAC7B,MAAM,CAAC,IAAI,CACT,MAAM,uEAAkC,CAAC,MAAM,CAC7C,wBAAwB,CACzB,CACF,CAAC;oBACJ,CAAC;oBACD,MAAM;gBACR,KAAK,OAAO;oBACV,MAAM,CAAC,IAAI,CACT,MAAM,+CAAsB,CAAC,MAAM,CACjC,MAAM,IAAA,wCAAuB,GAAE,CAChC,CACF,CAAC;oBACF,MAAM;gBACR,KAAK,KAAK;oBACR,MAAM,CAAC,IAAI,CAAC,IAAI,mDAAwB,EAAE,CAAC,CAAC;oBAC5C,MAAM;YACV,CAAC;QACH,CAAC;QAED,OAAO,IAAI,4BAA4B,CAAC,MAAM,CAAC,CAAC;IAClD,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,GAAG;QACd,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACxB,CAAC;IAED,kEAAkE;IAC3D,KAAK,CAAC,MAAM;QACjB,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;CACF;AAnFD,oEAmFC"}
1
+ {"version":3,"file":"FlowsPersistenceRegistry.js","sourceRoot":"","sources":["../../../src/persistence/flows/FlowsPersistenceRegistry.ts"],"names":[],"mappings":";;;AAGA,sDAA4D;AAC5D,4DAA4D;AAE5D,2EAAwE;AACxE,qEAAkE;AAClE,yEAAsE;AAYtE;;;GAGG;AACH,MAAa,4BAA4B;IACvC;;OAEG;IACH,YAAoC,MAA0B;QAA1B,WAAM,GAAN,MAAM,CAAoB;QAC5D,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;QACzE,CAAC;IACH,CAAC;IAED;;;OAGG;IACI,MAAM,CAAC,KAAK,CAAC,eAAe,CACjC,OAGC;QAED,MAAM,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,mBAAmB,CAAC;QAC1D,MAAM,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC;QACjD,MAAM,MAAM,GAAuB,EAAE,CAAC;QAEtC,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC;YACpD,QAAQ,GAAG,EAAE,CAAC;gBACZ,KAAK,QAAQ;oBACX,IAAI,YAAY,IAAI,gBAAgB,EAAE,CAAC;wBACrC,MAAM,CAAC,IAAI,CACT,IAAI,qDAAyB,CAAC,gBAAgB,EAAE,YAAY,CAAC,CAC9D,CAAC;oBACJ,CAAC;oBACD,MAAM;gBACR,KAAK,OAAO;oBACV,MAAM,CAAC,IAAI,CACT,MAAM,+CAAsB,CAAC,MAAM,CACjC,MAAM,IAAA,wCAAuB,GAAE,CAChC,CACF,CAAC;oBACF,MAAM;gBACR,KAAK,KAAK;oBACR,MAAM,CAAC,IAAI,CAAC,IAAI,mDAAwB,EAAE,CAAC,CAAC;oBAC5C,MAAM;gBACR,OAAO,CAAC,CAAC,CAAC;oBACR,MAAM,MAAM,GAAG,IAAA,wCAAoB,EAAC,GAAG,CAAC,CAAC;oBACzC,IAAI,MAAM,EAAE,CAAC;wBACX,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,sBAAsB,EAAE,CAAC;wBACnD,IAAI,IAAI,EAAE,CAAC;4BACT,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBACpB,CAAC;oBACH,CAAC;oBACD,MAAM;gBACR,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,IAAI,4BAA4B,CAAC,MAAM,CAAC,CAAC;IAClD,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,GAAG;QACd,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACxB,CAAC;IAED,kEAAkE;IAC3D,KAAK,CAAC,MAAM;QACjB,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;CACF;AAtED,oEAsEC"}
@@ -4,10 +4,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.MiscUtils = void 0;
7
+ const crypto_1 = require("crypto");
7
8
  const fs_1 = require("fs");
8
9
  const os_1 = require("os");
9
10
  const path_1 = require("path");
10
- const uuid_1 = require("uuid");
11
11
  const v4_1 = __importDefault(require("zod/v4"));
12
12
  const envVars_1 = require("../envVars");
13
13
  class MiscUtils {
@@ -197,7 +197,7 @@ class MiscUtils {
197
197
  * @returns A string representing a unique tool call ID.
198
198
  */
199
199
  static createAdHocToolCallId() {
200
- return `adhoc_${(0, uuid_1.v4)().replace(/-/g, '')}`;
200
+ return `adhoc_${(0, crypto_1.randomUUID)().replace(/-/g, '')}`;
201
201
  }
202
202
  /**
203
203
  * Merges adjacent user messages (some LLMs like Gemini's or Anthropic's require this).
@@ -1 +1 @@
1
- {"version":3,"file":"MiscUtils.js","sourceRoot":"","sources":["../../src/utils/MiscUtils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MiscUtils.js","sourceRoot":"","sources":["../../src/utils/MiscUtils.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "donobu",
3
- "version": "3.19.3",
3
+ "version": "3.20.0",
4
4
  "description": "Create browser automations with an LLM agent and replay them as Playwright scripts.",
5
5
  "main": "dist/main.js",
6
6
  "module": "dist/esm/main.js",
@@ -57,7 +57,6 @@
57
57
  "@types/js-yaml": "^4.0.9",
58
58
  "@types/node": "^22.10.5",
59
59
  "@types/proper-lockfile": "^4.1.4",
60
- "@types/uuid": "^10.0.0",
61
60
  "@typescript-eslint/eslint-plugin": "^8.56.1",
62
61
  "@typescript-eslint/parser": "^8.56.1",
63
62
  "@vitest/coverage-v8": "^4.0.17",
@@ -74,16 +73,12 @@
74
73
  "@ai-sdk/amazon-bedrock": "^4.0.18",
75
74
  "@ai-sdk/google": "^3.0.9",
76
75
  "@ai-sdk/google-vertex": "^4.0.16",
77
- "@aws-sdk/client-s3": "^3.1000.0",
78
76
  "@axe-core/playwright": "^4.11.0",
79
- "@google-cloud/storage": "^7.18.0",
80
- "@googleapis/gmail": "^16.1.1",
81
77
  "ai": "^6.0.37",
82
- "better-sqlite3": "^12.2.0",
78
+ "better-sqlite3": "^12.6.2",
83
79
  "commander": "^13.0.0",
84
80
  "env-struct": "^1.3.2",
85
81
  "express": "^5.2.1",
86
- "google-auth-library": "^10.5.0",
87
82
  "prettier": "^3.8.0",
88
83
  "proper-lockfile": "^4.1.2",
89
84
  "slugify": "^1.6.6",
@@ -1,31 +0,0 @@
1
- import type { EnvPersistence } from './EnvPersistence';
2
- /**
3
- * A persistence implementation that uses AWS S3.
4
- * Ensure AWS credentials are properly configured in your environment,
5
- * or provide them directly in the constructor.
6
- */
7
- export declare class EnvPersistenceAwsS3 implements EnvPersistence {
8
- private static readonly ENVIRONMENT_DATA_PREFIX;
9
- private readonly s3Client;
10
- private readonly bucketName;
11
- /**
12
- * Creates a new instance of the AWS S3 persistence layer.
13
- *
14
- * @param bucketName The name of the S3 bucket to use for storage
15
- * @param region AWS region (defaults to 'us-east-1')
16
- * @param credentials Optional AWS credentials (if not provided, will use environment variables)
17
- */
18
- constructor(bucketName: string, region: string, credentials?: {
19
- accessKeyId: string;
20
- secretAccessKey: string;
21
- });
22
- setEnvironmentDatum(key: string, value: string): Promise<void>;
23
- deleteEnvironmentDatum(key: string): Promise<void>;
24
- getEnvironmentDatum(key: string): Promise<string | undefined>;
25
- getEnvironmentData(): Promise<Record<string, string>>;
26
- /**
27
- * Utility method to stream S3 object data to a Buffer
28
- */
29
- private streamToBuffer;
30
- }
31
- //# sourceMappingURL=EnvPersistenceAwsS3.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"EnvPersistenceAwsS3.d.ts","sourceRoot":"","sources":["../../../../src/persistence/env/EnvPersistenceAwsS3.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEvD;;;;GAIG;AACH,qBAAa,mBAAoB,YAAW,cAAc;IACxD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,uBAAuB,CAAkB;IAEjE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAW;IACpC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IAEpC;;;;;;OAMG;gBAED,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EACd,WAAW,CAAC,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,eAAe,EAAE,MAAM,CAAA;KAAE;IASnD,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAiB9D,sBAAsB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAuBlD,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAqB7D,kBAAkB,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAmDlE;;OAEG;YACW,cAAc;CAQ7B"}
@@ -1,117 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.EnvPersistenceAwsS3 = void 0;
4
- const client_s3_1 = require("@aws-sdk/client-s3");
5
- const Logger_1 = require("../../utils/Logger");
6
- /**
7
- * A persistence implementation that uses AWS S3.
8
- * Ensure AWS credentials are properly configured in your environment,
9
- * or provide them directly in the constructor.
10
- */
11
- class EnvPersistenceAwsS3 {
12
- /**
13
- * Creates a new instance of the AWS S3 persistence layer.
14
- *
15
- * @param bucketName The name of the S3 bucket to use for storage
16
- * @param region AWS region (defaults to 'us-east-1')
17
- * @param credentials Optional AWS credentials (if not provided, will use environment variables)
18
- */
19
- constructor(bucketName, region, credentials) {
20
- this.bucketName = bucketName;
21
- this.s3Client = new client_s3_1.S3Client({
22
- region,
23
- credentials,
24
- });
25
- }
26
- async setEnvironmentDatum(key, value) {
27
- if (!key) {
28
- throw new Error('Key cannot be empty');
29
- }
30
- const objectKey = `${EnvPersistenceAwsS3.ENVIRONMENT_DATA_PREFIX}${encodeURIComponent(key)}`;
31
- await this.s3Client.send(new client_s3_1.PutObjectCommand({
32
- Bucket: this.bucketName,
33
- Key: objectKey,
34
- Body: value,
35
- ContentType: 'text/plain',
36
- }));
37
- }
38
- async deleteEnvironmentDatum(key) {
39
- if (!key) {
40
- return; // No-op if key is empty
41
- }
42
- const objectKey = `${EnvPersistenceAwsS3.ENVIRONMENT_DATA_PREFIX}${encodeURIComponent(key)}`;
43
- try {
44
- await this.s3Client.send(new client_s3_1.DeleteObjectCommand({
45
- Bucket: this.bucketName,
46
- Key: objectKey,
47
- }));
48
- }
49
- catch (error) {
50
- // Ignore errors if the object doesn't exist
51
- Logger_1.appLogger.warn(`Failed to delete environment data for key: ${key}`, error);
52
- }
53
- }
54
- async getEnvironmentDatum(key) {
55
- if (!key) {
56
- return undefined;
57
- }
58
- const objectKey = `${EnvPersistenceAwsS3.ENVIRONMENT_DATA_PREFIX}${encodeURIComponent(key)}`;
59
- const response = await this.s3Client.send(new client_s3_1.GetObjectCommand({
60
- Bucket: this.bucketName,
61
- Key: objectKey,
62
- }));
63
- if (!response.Body) {
64
- return undefined;
65
- }
66
- const data = await this.streamToBuffer(response.Body);
67
- return data.toString('utf-8');
68
- }
69
- async getEnvironmentData() {
70
- const result = {};
71
- // List all objects with the environment prefix
72
- const response = await this.s3Client.send(new client_s3_1.ListObjectsV2Command({
73
- Bucket: this.bucketName,
74
- Prefix: EnvPersistenceAwsS3.ENVIRONMENT_DATA_PREFIX,
75
- }));
76
- if (!response.Contents || response.Contents.length === 0) {
77
- return result;
78
- }
79
- // Process each object
80
- for (const object of response.Contents) {
81
- if (object.Key) {
82
- try {
83
- // Extract the key from the object path
84
- const encodedKey = object.Key.substring(EnvPersistenceAwsS3.ENVIRONMENT_DATA_PREFIX.length);
85
- const key = decodeURIComponent(encodedKey);
86
- // Get the object content
87
- const getResponse = await this.s3Client.send(new client_s3_1.GetObjectCommand({
88
- Bucket: this.bucketName,
89
- Key: object.Key,
90
- }));
91
- if (getResponse.Body) {
92
- const data = await this.streamToBuffer(getResponse.Body);
93
- result[key] = data.toString('utf-8');
94
- }
95
- }
96
- catch (error) {
97
- Logger_1.appLogger.warn(`Failed to get environment data for key: ${object.Key}`, error);
98
- }
99
- }
100
- }
101
- return result;
102
- }
103
- /**
104
- * Utility method to stream S3 object data to a Buffer
105
- */
106
- async streamToBuffer(stream) {
107
- return new Promise((resolve, reject) => {
108
- const chunks = [];
109
- stream.on('data', (chunk) => chunks.push(Buffer.from(chunk)));
110
- stream.on('error', reject);
111
- stream.on('end', () => resolve(Buffer.concat(chunks)));
112
- });
113
- }
114
- }
115
- exports.EnvPersistenceAwsS3 = EnvPersistenceAwsS3;
116
- EnvPersistenceAwsS3.ENVIRONMENT_DATA_PREFIX = 'environment/';
117
- //# sourceMappingURL=EnvPersistenceAwsS3.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"EnvPersistenceAwsS3.js","sourceRoot":"","sources":["../../../../src/persistence/env/EnvPersistenceAwsS3.ts"],"names":[],"mappings":";;;AAAA,kDAM4B;AAG5B,+CAA+C;AAG/C;;;;GAIG;AACH,MAAa,mBAAmB;IAM9B;;;;;;OAMG;IACH,YACE,UAAkB,EAClB,MAAc,EACd,WAA8D;QAE9D,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,QAAQ,GAAG,IAAI,oBAAQ,CAAC;YAC3B,MAAM;YACN,WAAW;SACZ,CAAC,CAAC;IACL,CAAC;IAEM,KAAK,CAAC,mBAAmB,CAAC,GAAW,EAAE,KAAa;QACzD,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;QACzC,CAAC;QAED,MAAM,SAAS,GAAG,GAAG,mBAAmB,CAAC,uBAAuB,GAAG,kBAAkB,CAAC,GAAG,CAAC,EAAE,CAAC;QAE7F,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CACtB,IAAI,4BAAgB,CAAC;YACnB,MAAM,EAAE,IAAI,CAAC,UAAU;YACvB,GAAG,EAAE,SAAS;YACd,IAAI,EAAE,KAAK;YACX,WAAW,EAAE,YAAY;SAC1B,CAAC,CACH,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,sBAAsB,CAAC,GAAW;QAC7C,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,OAAO,CAAC,wBAAwB;QAClC,CAAC;QAED,MAAM,SAAS,GAAG,GAAG,mBAAmB,CAAC,uBAAuB,GAAG,kBAAkB,CAAC,GAAG,CAAC,EAAE,CAAC;QAE7F,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CACtB,IAAI,+BAAmB,CAAC;gBACtB,MAAM,EAAE,IAAI,CAAC,UAAU;gBACvB,GAAG,EAAE,SAAS;aACf,CAAC,CACH,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,4CAA4C;YAC5C,kBAAS,CAAC,IAAI,CACZ,8CAA8C,GAAG,EAAE,EACnD,KAAK,CACN,CAAC;QACJ,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,mBAAmB,CAAC,GAAW;QAC1C,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,SAAS,GAAG,GAAG,mBAAmB,CAAC,uBAAuB,GAAG,kBAAkB,CAAC,GAAG,CAAC,EAAE,CAAC;QAC7F,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CACvC,IAAI,4BAAgB,CAAC;YACnB,MAAM,EAAE,IAAI,CAAC,UAAU;YACvB,GAAG,EAAE,SAAS;SACf,CAAC,CACH,CAAC;QAEF,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YACnB,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAgB,CAAC,CAAC;QAClE,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAChC,CAAC;IAEM,KAAK,CAAC,kBAAkB;QAC7B,MAAM,MAAM,GAA2B,EAAE,CAAC;QAE1C,+CAA+C;QAC/C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CACvC,IAAI,gCAAoB,CAAC;YACvB,MAAM,EAAE,IAAI,CAAC,UAAU;YACvB,MAAM,EAAE,mBAAmB,CAAC,uBAAuB;SACpD,CAAC,CACH,CAAC;QAEF,IAAI,CAAC,QAAQ,CAAC,QAAQ,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzD,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,sBAAsB;QACtB,KAAK,MAAM,MAAM,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;YACvC,IAAI,MAAM,CAAC,GAAG,EAAE,CAAC;gBACf,IAAI,CAAC;oBACH,uCAAuC;oBACvC,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,SAAS,CACrC,mBAAmB,CAAC,uBAAuB,CAAC,MAAM,CACnD,CAAC;oBACF,MAAM,GAAG,GAAG,kBAAkB,CAAC,UAAU,CAAC,CAAC;oBAE3C,yBAAyB;oBACzB,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAC1C,IAAI,4BAAgB,CAAC;wBACnB,MAAM,EAAE,IAAI,CAAC,UAAU;wBACvB,GAAG,EAAE,MAAM,CAAC,GAAG;qBAChB,CAAC,CACH,CAAC;oBAEF,IAAI,WAAW,CAAC,IAAI,EAAE,CAAC;wBACrB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,cAAc,CACpC,WAAW,CAAC,IAAgB,CAC7B,CAAC;wBACF,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;oBACvC,CAAC;gBACH,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,kBAAS,CAAC,IAAI,CACZ,2CAA2C,MAAM,CAAC,GAAG,EAAE,EACvD,KAAK,CACN,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,cAAc,CAAC,MAAgB;QAC3C,OAAO,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC7C,MAAM,MAAM,GAAa,EAAE,CAAC;YAC5B,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC9D,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YAC3B,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACzD,CAAC,CAAC,CAAC;IACL,CAAC;;AAnJH,kDAoJC;AAnJyB,2CAAuB,GAAG,cAAc,CAAC"}
@@ -1,30 +0,0 @@
1
- import type { EnvPersistence } from './EnvPersistence';
2
- /**
3
- * A persistence implementation that uses Google Cloud Storage.
4
- *
5
- * If you are running locally, be sure to have the Google Cloud CLI installed
6
- * so that you can authenticate using `gcloud auth application-default login`
7
- * before running Donobu.
8
- *
9
- * If Donobu is being run in the Google cloud, be sure that the service account
10
- * in which it is being run has permissions to read and write the Google Cloud
11
- * Storage bucket specified as a constructor argument.
12
- */
13
- export declare class EnvPersistenceGoogleCloudStorage implements EnvPersistence {
14
- private readonly bucket;
15
- private static readonly ENVIRONMENT_DATA_PREFIX;
16
- /**
17
- * Dynamically imports the Google Cloud Storage library.
18
- * This helps to delay loading the library until it's actually needed.
19
- */
20
- private static importGoogleCloudStorage;
21
- static create(bucketName: string): Promise<EnvPersistenceGoogleCloudStorage>;
22
- private constructor();
23
- setEnvironmentDatum(key: string, value: string): Promise<void>;
24
- deleteEnvironmentDatum(key: string): Promise<void>;
25
- getEnvironmentDatum(key: string): Promise<string | undefined>;
26
- getEnvironmentData(): Promise<Record<string, string>>;
27
- private uploadString;
28
- private downloadString;
29
- }
30
- //# sourceMappingURL=EnvPersistenceGoogleCloudStorage.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"EnvPersistenceGoogleCloudStorage.d.ts","sourceRoot":"","sources":["../../../../src/persistence/env/EnvPersistenceGoogleCloudStorage.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AASvD;;;;;;;;;;GAUG;AACH,qBAAa,gCAAiC,YAAW,cAAc;IA6CjD,OAAO,CAAC,QAAQ,CAAC,MAAM;IA5C3C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,uBAAuB,CAAkB;IAEjE;;;OAGG;mBACkB,wBAAwB;WAezB,MAAM,CACxB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,gCAAgC,CAAC;IAqB5C,OAAO;IAEM,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAS9D,sBAAsB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAsBlD,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAS7D,kBAAkB,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YA+BpD,YAAY;YAYZ,cAAc;CAW7B"}
@@ -1,131 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.EnvPersistenceGoogleCloudStorage = void 0;
4
- const Logger_1 = require("../../utils/Logger");
5
- /**
6
- * A persistence implementation that uses Google Cloud Storage.
7
- *
8
- * If you are running locally, be sure to have the Google Cloud CLI installed
9
- * so that you can authenticate using `gcloud auth application-default login`
10
- * before running Donobu.
11
- *
12
- * If Donobu is being run in the Google cloud, be sure that the service account
13
- * in which it is being run has permissions to read and write the Google Cloud
14
- * Storage bucket specified as a constructor argument.
15
- */
16
- class EnvPersistenceGoogleCloudStorage {
17
- /**
18
- * Dynamically imports the Google Cloud Storage library.
19
- * This helps to delay loading the library until it's actually needed.
20
- */
21
- static async importGoogleCloudStorage() {
22
- try {
23
- // Dynamic import to delay loading until needed
24
- const module = await import('@google-cloud/storage');
25
- return {
26
- Storage: module.Storage,
27
- };
28
- }
29
- catch (error) {
30
- Logger_1.appLogger.error('Failed to import Google Cloud Storage', error);
31
- throw new Error('Failed to import Google Cloud Storage library');
32
- }
33
- }
34
- static async create(bucketName) {
35
- // Only import the Google Cloud Storage library when creating an instance
36
- const { Storage } = await EnvPersistenceGoogleCloudStorage.importGoogleCloudStorage();
37
- const storage = new Storage();
38
- const bucket = storage.bucket(bucketName);
39
- return bucket
40
- .exists()
41
- .then(([exists]) => {
42
- if (!exists) {
43
- throw new Error(`Bucket ${bucketName} does not exist.`);
44
- }
45
- else {
46
- return bucket;
47
- }
48
- })
49
- .then((bucket) => {
50
- return new EnvPersistenceGoogleCloudStorage(bucket);
51
- });
52
- }
53
- constructor(bucket) {
54
- this.bucket = bucket;
55
- }
56
- async setEnvironmentDatum(key, value) {
57
- if (!key) {
58
- throw new Error('Key cannot be empty');
59
- }
60
- const objectName = `${EnvPersistenceGoogleCloudStorage.ENVIRONMENT_DATA_PREFIX}${encodeURIComponent(key)}`;
61
- await this.uploadString(objectName, value, 'text/plain');
62
- }
63
- async deleteEnvironmentDatum(key) {
64
- if (!key) {
65
- return; // No-op if key is empty
66
- }
67
- const objectName = `${EnvPersistenceGoogleCloudStorage.ENVIRONMENT_DATA_PREFIX}${encodeURIComponent(key)}`;
68
- const file = this.bucket.file(objectName);
69
- try {
70
- const [exists] = await file.exists();
71
- if (exists) {
72
- await file.delete();
73
- }
74
- }
75
- catch (error) {
76
- // Ignore errors if the object doesn't exist
77
- Logger_1.appLogger.warn(`Failed to delete environment data for key: ${key}`, error);
78
- }
79
- }
80
- async getEnvironmentDatum(key) {
81
- if (!key) {
82
- return undefined;
83
- }
84
- const objectName = `${EnvPersistenceGoogleCloudStorage.ENVIRONMENT_DATA_PREFIX}${encodeURIComponent(key)}`;
85
- return (await this.downloadString(objectName)) ?? undefined;
86
- }
87
- async getEnvironmentData() {
88
- const result = {};
89
- try {
90
- const prefix = EnvPersistenceGoogleCloudStorage.ENVIRONMENT_DATA_PREFIX;
91
- const [files] = await this.bucket.getFiles({ prefix });
92
- // Process each file
93
- for (const file of files) {
94
- try {
95
- // Extract the key from the file path
96
- const encodedKey = file.name.substring(prefix.length);
97
- const key = decodeURIComponent(encodedKey);
98
- // Get the file content
99
- const [content] = await file.download();
100
- result[key] = content.toString('utf-8');
101
- }
102
- catch (error) {
103
- Logger_1.appLogger.warn(`Failed to get environment data for key: ${file.name}`, error);
104
- }
105
- }
106
- }
107
- catch (error) {
108
- Logger_1.appLogger.error('Failed to list environment data files', error);
109
- }
110
- return result;
111
- }
112
- async uploadString(objectName, data, contentType) {
113
- const file = this.bucket.file(objectName);
114
- await file.save(data, {
115
- contentType,
116
- metadata: { contentType },
117
- });
118
- }
119
- async downloadString(objectName) {
120
- const file = this.bucket.file(objectName);
121
- const [exists] = await file.exists();
122
- if (!exists) {
123
- return null;
124
- }
125
- const [content] = await file.download();
126
- return content.toString();
127
- }
128
- }
129
- exports.EnvPersistenceGoogleCloudStorage = EnvPersistenceGoogleCloudStorage;
130
- EnvPersistenceGoogleCloudStorage.ENVIRONMENT_DATA_PREFIX = 'environment/';
131
- //# sourceMappingURL=EnvPersistenceGoogleCloudStorage.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"EnvPersistenceGoogleCloudStorage.js","sourceRoot":"","sources":["../../../../src/persistence/env/EnvPersistenceGoogleCloudStorage.ts"],"names":[],"mappings":"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"}