donobu 2.12.2 → 2.13.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 (89) hide show
  1. package/dist/assets/generated/version +1 -1
  2. package/dist/envVars.d.ts +26 -1
  3. package/dist/envVars.d.ts.map +1 -1
  4. package/dist/envVars.js +26 -1
  5. package/dist/envVars.js.map +1 -1
  6. package/dist/esm/assets/generated/version +1 -1
  7. package/dist/esm/envVars.d.ts +26 -1
  8. package/dist/esm/envVars.d.ts.map +1 -1
  9. package/dist/esm/envVars.js +26 -1
  10. package/dist/esm/envVars.js.map +1 -1
  11. package/dist/esm/managers/CodeGenerator.d.ts +0 -5
  12. package/dist/esm/managers/CodeGenerator.d.ts.map +1 -1
  13. package/dist/esm/managers/CodeGenerator.js +4 -48
  14. package/dist/esm/managers/CodeGenerator.js.map +1 -1
  15. package/dist/esm/managers/DonobuFlowsManager.d.ts +13 -0
  16. package/dist/esm/managers/DonobuFlowsManager.d.ts.map +1 -1
  17. package/dist/esm/managers/DonobuFlowsManager.js +85 -14
  18. package/dist/esm/managers/DonobuFlowsManager.js.map +1 -1
  19. package/dist/esm/managers/TemplateInterpolator.d.ts +19 -0
  20. package/dist/esm/managers/TemplateInterpolator.d.ts.map +1 -0
  21. package/dist/esm/managers/TemplateInterpolator.js +86 -0
  22. package/dist/esm/managers/TemplateInterpolator.js.map +1 -0
  23. package/dist/esm/managers/ToolManager.d.ts +17 -1
  24. package/dist/esm/managers/ToolManager.d.ts.map +1 -1
  25. package/dist/esm/managers/ToolManager.js +53 -43
  26. package/dist/esm/managers/ToolManager.js.map +1 -1
  27. package/dist/esm/models/GptConfig.d.ts +2 -2
  28. package/dist/esm/models/GptConfig.d.ts.map +1 -1
  29. package/dist/esm/models/ResolverContext.d.ts +7 -0
  30. package/dist/esm/models/ResolverContext.d.ts.map +1 -0
  31. package/dist/esm/models/ResolverContext.js +3 -0
  32. package/dist/esm/models/ResolverContext.js.map +1 -0
  33. package/dist/esm/models/ToolCall.d.ts +4 -3
  34. package/dist/esm/models/ToolCall.d.ts.map +1 -1
  35. package/dist/esm/models/ToolTemplateDataSource.d.ts +36 -0
  36. package/dist/esm/models/ToolTemplateDataSource.d.ts.map +1 -0
  37. package/dist/esm/models/ToolTemplateDataSource.js +3 -0
  38. package/dist/esm/models/ToolTemplateDataSource.js.map +1 -0
  39. package/dist/esm/persistence/FlowsPersistenceFactoryImpl.d.ts.map +1 -1
  40. package/dist/esm/persistence/FlowsPersistenceFactoryImpl.js +2 -2
  41. package/dist/esm/persistence/FlowsPersistenceFactoryImpl.js.map +1 -1
  42. package/dist/esm/playwrightTestExtensions.d.ts +15 -8
  43. package/dist/esm/playwrightTestExtensions.d.ts.map +1 -1
  44. package/dist/esm/playwrightTestExtensions.js +81 -37
  45. package/dist/esm/playwrightTestExtensions.js.map +1 -1
  46. package/dist/esm/utils/TemplateInterpolator.d.ts +29 -0
  47. package/dist/esm/utils/TemplateInterpolator.d.ts.map +1 -0
  48. package/dist/esm/utils/TemplateInterpolator.js +206 -0
  49. package/dist/esm/utils/TemplateInterpolator.js.map +1 -0
  50. package/dist/managers/CodeGenerator.d.ts +0 -5
  51. package/dist/managers/CodeGenerator.d.ts.map +1 -1
  52. package/dist/managers/CodeGenerator.js +4 -48
  53. package/dist/managers/CodeGenerator.js.map +1 -1
  54. package/dist/managers/DonobuFlowsManager.d.ts +13 -0
  55. package/dist/managers/DonobuFlowsManager.d.ts.map +1 -1
  56. package/dist/managers/DonobuFlowsManager.js +85 -14
  57. package/dist/managers/DonobuFlowsManager.js.map +1 -1
  58. package/dist/managers/TemplateInterpolator.d.ts +19 -0
  59. package/dist/managers/TemplateInterpolator.d.ts.map +1 -0
  60. package/dist/managers/TemplateInterpolator.js +86 -0
  61. package/dist/managers/TemplateInterpolator.js.map +1 -0
  62. package/dist/managers/ToolManager.d.ts +17 -1
  63. package/dist/managers/ToolManager.d.ts.map +1 -1
  64. package/dist/managers/ToolManager.js +53 -43
  65. package/dist/managers/ToolManager.js.map +1 -1
  66. package/dist/models/GptConfig.d.ts +2 -2
  67. package/dist/models/GptConfig.d.ts.map +1 -1
  68. package/dist/models/ResolverContext.d.ts +7 -0
  69. package/dist/models/ResolverContext.d.ts.map +1 -0
  70. package/dist/models/ResolverContext.js +3 -0
  71. package/dist/models/ResolverContext.js.map +1 -0
  72. package/dist/models/ToolCall.d.ts +4 -3
  73. package/dist/models/ToolCall.d.ts.map +1 -1
  74. package/dist/models/ToolTemplateDataSource.d.ts +36 -0
  75. package/dist/models/ToolTemplateDataSource.d.ts.map +1 -0
  76. package/dist/models/ToolTemplateDataSource.js +3 -0
  77. package/dist/models/ToolTemplateDataSource.js.map +1 -0
  78. package/dist/persistence/FlowsPersistenceFactoryImpl.d.ts.map +1 -1
  79. package/dist/persistence/FlowsPersistenceFactoryImpl.js +2 -2
  80. package/dist/persistence/FlowsPersistenceFactoryImpl.js.map +1 -1
  81. package/dist/playwrightTestExtensions.d.ts +15 -8
  82. package/dist/playwrightTestExtensions.d.ts.map +1 -1
  83. package/dist/playwrightTestExtensions.js +81 -37
  84. package/dist/playwrightTestExtensions.js.map +1 -1
  85. package/dist/utils/TemplateInterpolator.d.ts +29 -0
  86. package/dist/utils/TemplateInterpolator.d.ts.map +1 -0
  87. package/dist/utils/TemplateInterpolator.js +211 -0
  88. package/dist/utils/TemplateInterpolator.js.map +1 -0
  89. package/package.json +1 -1
@@ -1 +1 @@
1
- 1069
1
+ 1076
package/dist/envVars.d.ts CHANGED
@@ -27,18 +27,33 @@ export declare const ENV_VAR_NAMES: {
27
27
  * underlying models they map to (ex: "claude-3-7-sonnet-latest", etc).
28
28
  */
29
29
  readonly ANTHROPIC_API_KEY: "ANTHROPIC_API_KEY";
30
+ /**
31
+ * If specified, this will shade the default flow runner agent when running
32
+ * flows. If specified, ANTHROPIC_API_KEY must also be specified.
33
+ */
34
+ readonly ANTHROPIC_MODEL_NAME: "ANTHROPIC_MODEL_NAME";
30
35
  /**
31
36
  * Automatically create GPT configurations for Google Gemini using this API key.
32
37
  * For convenience, the created configuration names will reflect the
33
38
  * underlying models they map to (ex: "gemini-2.0-flash", etc).
34
39
  */
35
40
  readonly GOOGLE_GENERATIVE_AI_API_KEY: "GOOGLE_GENERATIVE_AI_API_KEY";
41
+ /**
42
+ * If specified, this will shade the default flow runner agent when running
43
+ * flows. If specified, GOOGLE_GENERATIVE_AI_API_KEY must also be specified.
44
+ */
45
+ readonly GOOGLE_GENERATIVE_AI_MODEL_NAME: "GOOGLE_GENERATIVE_AI_MODEL_NAME";
36
46
  /**
37
47
  * Automatically create GPT configurations for OpenAI using this API key.
38
48
  * For convenience, the created configuration names will reflect the
39
49
  * underlying models they map to (ex: "gpt-4o", etc).
40
50
  */
41
51
  readonly OPENAI_API_KEY: "OPENAI_API_KEY";
52
+ /**
53
+ * If specified, this will shade the default flow runner agent when running
54
+ * flows. If specified, OPENAI_API_KEY must also be specified.
55
+ */
56
+ readonly OPENAI_API_MODEL_NAME: "OPENAI_API_MODEL_NAME";
42
57
  /**
43
58
  * Automatically set the 'flow-runner' agent to use this GPT configuration by name.
44
59
  */
@@ -49,9 +64,19 @@ export declare const ENV_VAR_NAMES: {
49
64
  */
50
65
  readonly AWS_S3_BUCKET: "AWS_S3_BUCKET";
51
66
  /**
52
- * The AWS S3 region the corresponding AWS_S3_BUCKET lives in.
67
+ * The AWS S3 region the corresponding AWS_S3_BUCKET lives in. Fails over to
68
+ * the AWS_REGION environment variable if not specified.
53
69
  */
54
70
  readonly AWS_S3_REGION: "AWS_S3_REGION";
71
+ /**
72
+ * If specified, this will shade the default flow runner agent when running
73
+ * flows. If specified, AWS credentials must also be present.
74
+ */
75
+ readonly AWS_BEDROCK_MODEL_NAME: "AWS_BEDROCK_MODEL_NAME";
76
+ /**
77
+ * The AWS region to use for operations using the AWS SDK.
78
+ */
79
+ readonly AWS_REGION: "AWS_REGION";
55
80
  /**
56
81
  * The AWS access key ID to use for operations using the AWS SDK.
57
82
  */
@@ -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;;OAEG;;IAEH;;OAEG;;IAEH;;;;;OAKG;;IAEH;;;;OAIG;;IAEH;;;;OAIG;;IAEH;;;;OAIG;;IAEH;;OAEG;;IAEH;;;OAGG;;IAEH;;OAEG;;IAEH;;OAEG;;IAEH;;OAEG;;IAEH;;;OAGG;;IAEH;;;;;;OAMG;;IAEH;;;OAGG;;CAEK,CAAC"}
1
+ {"version":3,"file":"envVars.d.ts","sourceRoot":"","sources":["../src/envVars.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,aAAa;IACxB;;OAEG;;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;;CAEK,CAAC"}
package/dist/envVars.js CHANGED
@@ -30,18 +30,33 @@ exports.ENV_VAR_NAMES = {
30
30
  * underlying models they map to (ex: "claude-3-7-sonnet-latest", etc).
31
31
  */
32
32
  ANTHROPIC_API_KEY: 'ANTHROPIC_API_KEY',
33
+ /**
34
+ * If specified, this will shade the default flow runner agent when running
35
+ * flows. If specified, ANTHROPIC_API_KEY must also be specified.
36
+ */
37
+ ANTHROPIC_MODEL_NAME: 'ANTHROPIC_MODEL_NAME',
33
38
  /**
34
39
  * Automatically create GPT configurations for Google Gemini using this API key.
35
40
  * For convenience, the created configuration names will reflect the
36
41
  * underlying models they map to (ex: "gemini-2.0-flash", etc).
37
42
  */
38
43
  GOOGLE_GENERATIVE_AI_API_KEY: 'GOOGLE_GENERATIVE_AI_API_KEY',
44
+ /**
45
+ * If specified, this will shade the default flow runner agent when running
46
+ * flows. If specified, GOOGLE_GENERATIVE_AI_API_KEY must also be specified.
47
+ */
48
+ GOOGLE_GENERATIVE_AI_MODEL_NAME: 'GOOGLE_GENERATIVE_AI_MODEL_NAME',
39
49
  /**
40
50
  * Automatically create GPT configurations for OpenAI using this API key.
41
51
  * For convenience, the created configuration names will reflect the
42
52
  * underlying models they map to (ex: "gpt-4o", etc).
43
53
  */
44
54
  OPENAI_API_KEY: 'OPENAI_API_KEY',
55
+ /**
56
+ * If specified, this will shade the default flow runner agent when running
57
+ * flows. If specified, OPENAI_API_KEY must also be specified.
58
+ */
59
+ OPENAI_API_MODEL_NAME: 'OPENAI_API_MODEL_NAME',
45
60
  /**
46
61
  * Automatically set the 'flow-runner' agent to use this GPT configuration by name.
47
62
  */
@@ -52,9 +67,19 @@ exports.ENV_VAR_NAMES = {
52
67
  */
53
68
  AWS_S3_BUCKET: 'AWS_S3_BUCKET',
54
69
  /**
55
- * The AWS S3 region the corresponding AWS_S3_BUCKET lives in.
70
+ * The AWS S3 region the corresponding AWS_S3_BUCKET lives in. Fails over to
71
+ * the AWS_REGION environment variable if not specified.
56
72
  */
57
73
  AWS_S3_REGION: 'AWS_S3_REGION',
74
+ /**
75
+ * If specified, this will shade the default flow runner agent when running
76
+ * flows. If specified, AWS credentials must also be present.
77
+ */
78
+ AWS_BEDROCK_MODEL_NAME: 'AWS_BEDROCK_MODEL_NAME',
79
+ /**
80
+ * The AWS region to use for operations using the AWS SDK.
81
+ */
82
+ AWS_REGION: 'AWS_REGION',
58
83
  /**
59
84
  * The AWS access key ID to use for operations using the AWS SDK.
60
85
  */
@@ -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;;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;;;;OAIG;IACH,4BAA4B,EAAE,8BAA8B;IAC5D;;;;OAIG;IACH,cAAc,EAAE,gBAAgB;IAChC;;OAEG;IACH,mCAAmC,EAAE,qCAAqC;IAC1E;;;OAGG;IACH,aAAa,EAAE,eAAe;IAC9B;;OAEG;IACH,aAAa,EAAE,eAAe;IAC9B;;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;CAC1C,CAAC"}
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;;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;CAC1C,CAAC"}
@@ -1 +1 @@
1
- 1069
1
+ 1076
@@ -27,18 +27,33 @@ export declare const ENV_VAR_NAMES: {
27
27
  * underlying models they map to (ex: "claude-3-7-sonnet-latest", etc).
28
28
  */
29
29
  readonly ANTHROPIC_API_KEY: "ANTHROPIC_API_KEY";
30
+ /**
31
+ * If specified, this will shade the default flow runner agent when running
32
+ * flows. If specified, ANTHROPIC_API_KEY must also be specified.
33
+ */
34
+ readonly ANTHROPIC_MODEL_NAME: "ANTHROPIC_MODEL_NAME";
30
35
  /**
31
36
  * Automatically create GPT configurations for Google Gemini using this API key.
32
37
  * For convenience, the created configuration names will reflect the
33
38
  * underlying models they map to (ex: "gemini-2.0-flash", etc).
34
39
  */
35
40
  readonly GOOGLE_GENERATIVE_AI_API_KEY: "GOOGLE_GENERATIVE_AI_API_KEY";
41
+ /**
42
+ * If specified, this will shade the default flow runner agent when running
43
+ * flows. If specified, GOOGLE_GENERATIVE_AI_API_KEY must also be specified.
44
+ */
45
+ readonly GOOGLE_GENERATIVE_AI_MODEL_NAME: "GOOGLE_GENERATIVE_AI_MODEL_NAME";
36
46
  /**
37
47
  * Automatically create GPT configurations for OpenAI using this API key.
38
48
  * For convenience, the created configuration names will reflect the
39
49
  * underlying models they map to (ex: "gpt-4o", etc).
40
50
  */
41
51
  readonly OPENAI_API_KEY: "OPENAI_API_KEY";
52
+ /**
53
+ * If specified, this will shade the default flow runner agent when running
54
+ * flows. If specified, OPENAI_API_KEY must also be specified.
55
+ */
56
+ readonly OPENAI_API_MODEL_NAME: "OPENAI_API_MODEL_NAME";
42
57
  /**
43
58
  * Automatically set the 'flow-runner' agent to use this GPT configuration by name.
44
59
  */
@@ -49,9 +64,19 @@ export declare const ENV_VAR_NAMES: {
49
64
  */
50
65
  readonly AWS_S3_BUCKET: "AWS_S3_BUCKET";
51
66
  /**
52
- * The AWS S3 region the corresponding AWS_S3_BUCKET lives in.
67
+ * The AWS S3 region the corresponding AWS_S3_BUCKET lives in. Fails over to
68
+ * the AWS_REGION environment variable if not specified.
53
69
  */
54
70
  readonly AWS_S3_REGION: "AWS_S3_REGION";
71
+ /**
72
+ * If specified, this will shade the default flow runner agent when running
73
+ * flows. If specified, AWS credentials must also be present.
74
+ */
75
+ readonly AWS_BEDROCK_MODEL_NAME: "AWS_BEDROCK_MODEL_NAME";
76
+ /**
77
+ * The AWS region to use for operations using the AWS SDK.
78
+ */
79
+ readonly AWS_REGION: "AWS_REGION";
55
80
  /**
56
81
  * The AWS access key ID to use for operations using the AWS SDK.
57
82
  */
@@ -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;;OAEG;;IAEH;;OAEG;;IAEH;;;;;OAKG;;IAEH;;;;OAIG;;IAEH;;;;OAIG;;IAEH;;;;OAIG;;IAEH;;OAEG;;IAEH;;;OAGG;;IAEH;;OAEG;;IAEH;;OAEG;;IAEH;;OAEG;;IAEH;;;OAGG;;IAEH;;;;;;OAMG;;IAEH;;;OAGG;;CAEK,CAAC"}
1
+ {"version":3,"file":"envVars.d.ts","sourceRoot":"","sources":["../../src/envVars.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,aAAa;IACxB;;OAEG;;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;;CAEK,CAAC"}
@@ -30,18 +30,33 @@ exports.ENV_VAR_NAMES = {
30
30
  * underlying models they map to (ex: "claude-3-7-sonnet-latest", etc).
31
31
  */
32
32
  ANTHROPIC_API_KEY: 'ANTHROPIC_API_KEY',
33
+ /**
34
+ * If specified, this will shade the default flow runner agent when running
35
+ * flows. If specified, ANTHROPIC_API_KEY must also be specified.
36
+ */
37
+ ANTHROPIC_MODEL_NAME: 'ANTHROPIC_MODEL_NAME',
33
38
  /**
34
39
  * Automatically create GPT configurations for Google Gemini using this API key.
35
40
  * For convenience, the created configuration names will reflect the
36
41
  * underlying models they map to (ex: "gemini-2.0-flash", etc).
37
42
  */
38
43
  GOOGLE_GENERATIVE_AI_API_KEY: 'GOOGLE_GENERATIVE_AI_API_KEY',
44
+ /**
45
+ * If specified, this will shade the default flow runner agent when running
46
+ * flows. If specified, GOOGLE_GENERATIVE_AI_API_KEY must also be specified.
47
+ */
48
+ GOOGLE_GENERATIVE_AI_MODEL_NAME: 'GOOGLE_GENERATIVE_AI_MODEL_NAME',
39
49
  /**
40
50
  * Automatically create GPT configurations for OpenAI using this API key.
41
51
  * For convenience, the created configuration names will reflect the
42
52
  * underlying models they map to (ex: "gpt-4o", etc).
43
53
  */
44
54
  OPENAI_API_KEY: 'OPENAI_API_KEY',
55
+ /**
56
+ * If specified, this will shade the default flow runner agent when running
57
+ * flows. If specified, OPENAI_API_KEY must also be specified.
58
+ */
59
+ OPENAI_API_MODEL_NAME: 'OPENAI_API_MODEL_NAME',
45
60
  /**
46
61
  * Automatically set the 'flow-runner' agent to use this GPT configuration by name.
47
62
  */
@@ -52,9 +67,19 @@ exports.ENV_VAR_NAMES = {
52
67
  */
53
68
  AWS_S3_BUCKET: 'AWS_S3_BUCKET',
54
69
  /**
55
- * The AWS S3 region the corresponding AWS_S3_BUCKET lives in.
70
+ * The AWS S3 region the corresponding AWS_S3_BUCKET lives in. Fails over to
71
+ * the AWS_REGION environment variable if not specified.
56
72
  */
57
73
  AWS_S3_REGION: 'AWS_S3_REGION',
74
+ /**
75
+ * If specified, this will shade the default flow runner agent when running
76
+ * flows. If specified, AWS credentials must also be present.
77
+ */
78
+ AWS_BEDROCK_MODEL_NAME: 'AWS_BEDROCK_MODEL_NAME',
79
+ /**
80
+ * The AWS region to use for operations using the AWS SDK.
81
+ */
82
+ AWS_REGION: 'AWS_REGION',
58
83
  /**
59
84
  * The AWS access key ID to use for operations using the AWS SDK.
60
85
  */
@@ -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;;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;;;;OAIG;IACH,4BAA4B,EAAE,8BAA8B;IAC5D;;;;OAIG;IACH,cAAc,EAAE,gBAAgB;IAChC;;OAEG;IACH,mCAAmC,EAAE,qCAAqC;IAC1E;;;OAGG;IACH,aAAa,EAAE,eAAe;IAC9B;;OAEG;IACH,aAAa,EAAE,eAAe;IAC9B;;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;CAC1C,CAAC"}
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;;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;CAC1C,CAAC"}
@@ -1,11 +1,6 @@
1
1
  import { FlowMetadata } from '../models/FlowMetadata';
2
2
  import { ProposedToolCall } from '../models/ProposedToolCall';
3
- import { AgentsManager } from './AgentsManager';
4
- import { GptConfigsManager } from './GptConfigsManager';
5
3
  export declare class CodeGenerator {
6
- private readonly gptConfigsManager;
7
- private readonly agentsManager;
8
- constructor(gptConfigsManager: GptConfigsManager, agentsManager: AgentsManager);
9
4
  /** Creates a Node.js Microsoft Playwright script to replay the given flow. */
10
5
  getFlowAsPlaywrightScript(flowMetadata: FlowMetadata, toolCalls: ProposedToolCall<any>[]): Promise<string>;
11
6
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"CodeGenerator.d.ts","sourceRoot":"","sources":["../../../src/managers/CodeGenerator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAEtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAuB9D,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAGxD,qBAAa,aAAa;IAEtB,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,aAAa;gBADb,iBAAiB,EAAE,iBAAiB,EACpC,aAAa,EAAE,aAAa;IAG/C,8EAA8E;IACjE,yBAAyB,CACpC,YAAY,EAAE,YAAY,EAC1B,SAAS,EAAE,gBAAgB,CAAC,GAAG,CAAC,EAAE,GACjC,OAAO,CAAC,MAAM,CAAC;IAsIlB;;;OAGG;WACW,uCAAuC,CACnD,gBAAgB,EAAE,gBAAgB,CAAC,GAAG,CAAC,GACtC,MAAM;YAmEK,YAAY;IAY1B;;;;;;OAMG;IACH,OAAO,CAAC,0BAA0B;CASnC"}
1
+ {"version":3,"file":"CodeGenerator.d.ts","sourceRoot":"","sources":["../../../src/managers/CodeGenerator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAyB9D,qBAAa,aAAa;IACxB,8EAA8E;IACjE,yBAAyB,CACpC,YAAY,EAAE,YAAY,EAC1B,SAAS,EAAE,gBAAgB,CAAC,GAAG,CAAC,EAAE,GACjC,OAAO,CAAC,MAAM,CAAC;IA0FlB;;;OAGG;WACW,uCAAuC,CACnD,gBAAgB,EAAE,gBAAgB,CAAC,GAAG,CAAC,GACtC,MAAM;YAmEK,YAAY;IAY1B;;;;;;OAMG;IACH,OAAO,CAAC,0BAA0B;CASnC"}
@@ -25,10 +25,6 @@ const WaitTool_1 = require("../tools/WaitTool");
25
25
  const JsonUtils_1 = require("../utils/JsonUtils");
26
26
  const ToolManager_1 = require("./ToolManager");
27
27
  class CodeGenerator {
28
- constructor(gptConfigsManager, agentsManager) {
29
- this.gptConfigsManager = gptConfigsManager;
30
- this.agentsManager = agentsManager;
31
- }
32
28
  /** Creates a Node.js Microsoft Playwright script to replay the given flow. */
33
29
  async getFlowAsPlaywrightScript(flowMetadata, toolCalls) {
34
30
  // These tools are not supported in the generated script because they have
@@ -51,38 +47,11 @@ class CodeGenerator {
51
47
  .filter((tool) => {
52
48
  return tool?.requiresGpt;
53
49
  }).length > 0;
54
- let gptConfig = null;
55
- // Check if the flow metadata has a specific GPT config name.
56
- // If it does, try to get it from the GptConfigsManager.
57
- // If it doesn't, try to get the default GPT config from the AgentsManager.
58
- //
59
- // This is done so that we can generate code using the preferred GPT client.
60
- if (isGptClientRequired) {
61
- try {
62
- if (flowMetadata.gptConfigName) {
63
- gptConfig = await this.gptConfigsManager.get(flowMetadata.gptConfigName);
64
- }
65
- }
66
- catch (_error) {
67
- // This is expected if the config does not exist.
68
- }
69
- if (!gptConfig) {
70
- const gptConfigName = await this.agentsManager.get('flow-runner');
71
- if (gptConfigName) {
72
- try {
73
- gptConfig = await this.gptConfigsManager.get(gptConfigName);
74
- }
75
- catch (_error) {
76
- // This is expected if the config does not exist.
77
- }
78
- }
79
- }
80
- }
81
50
  const gptSetupNote = isGptClientRequired
82
51
  ? ` *
83
52
  * Also, since this test is using tools that require the usage of an LLM, be
84
53
  * sure to have an appropriate LLM API key available as an environment variable
85
- * (e.g. OPENAI_API_KEY, ANTHROPIC_API_KEY, etc).
54
+ * (e.g. OPENAI_API_KEY, ANTHROPIC_API_KEY, or GOOGLE_GENERATIVE_AI_API_KEY).
86
55
  `
87
56
  : ' ';
88
57
  const hasObjective = (flowMetadata.overallObjective?.trim().length ?? 0) > 0;
@@ -108,22 +77,9 @@ class CodeGenerator {
108
77
  const useStorageState = flowMetadata.browser && flowMetadata.browser.initialState
109
78
  ? `storageState: getBrowserStorageStateFixture(${JSON.stringify(flowMetadata.browser.initialState, null, 2)}),`
110
79
  : undefined;
111
- let useGptClientImport = undefined;
112
- let useGptClient = undefined;
113
- if (isGptClientRequired) {
114
- if (gptConfig && gptConfig.type === 'ANTHROPIC_AWS_BEDROCK') {
115
- useGptClientImport =
116
- "import { anthropicAwsBedrockClientFixture } from 'donobu';";
117
- useGptClient = `gptClient: anthropicAwsBedrockClientFixture('${gptConfig.modelName}', '${gptConfig.region}'),`;
118
- }
119
- else {
120
- useGptClientImport = "import { gptClientFixture } from 'donobu';";
121
- useGptClient = `gptClient: gptClientFixture(),`;
122
- }
123
- }
124
80
  let testExtension = '';
125
- if (useStorageState || useGptClient) {
126
- testExtension = `.extend({${useStorageState ?? ''}${useGptClient ?? ''}})`;
81
+ if (useStorageState) {
82
+ testExtension = `.extend({${useStorageState}})`;
127
83
  }
128
84
  const scriptedToolCalls = toolCalls
129
85
  .filter((toolCall) => !unsupportedToolsByName.has(toolCall.name))
@@ -143,7 +99,7 @@ testInfo.attach('extracted-object', { body: JSON.stringify(extractedObject), con
143
99
  * Also, be sure that Playwright's browsers are installed...
144
100
  * 'npx playwright install'
145
101
  ${gptSetupNote}*/
146
- import { test } from 'donobu';${useGptClientImport ? '\n' + useGptClientImport : ''}${useStorageState ? "\nimport { getBrowserStorageStateFixture } from 'donobu';" : ''}
102
+ import { test } from 'donobu';${useStorageState ? "\nimport { getBrowserStorageStateFixture } from 'donobu';" : ''}
147
103
 
148
104
  const testTitle = '${testName}';
149
105
  const testDetails = ${testDetails};
@@ -1 +1 @@
1
- {"version":3,"file":"CodeGenerator.js","sourceRoot":"","sources":["../../../src/managers/CodeGenerator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CodeGenerator.js","sourceRoot":"","sources":["../../../src/managers/CodeGenerator.ts"],"names":[],"mappings":"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"}
@@ -106,8 +106,21 @@ export declare class DonobuFlowsManager {
106
106
  private validateFlowParams;
107
107
  private setupAllowedTools;
108
108
  private prepareInitialToolCalls;
109
+ /**
110
+ * This method creates a temporary directory for the flow with the given ID,
111
+ * returning the path to the directory.
112
+ */
109
113
  private createTempDirectoryForFlow;
114
+ /**
115
+ * Searches the given directory for the largest video file and sets it as the
116
+ * flow's video. This should be called after the flow has completed.
117
+ */
118
+ private setFlowVideo;
110
119
  private runFlow;
120
+ /**
121
+ * Returns the largest video file in the given directory, or null if no
122
+ * video files are found.
123
+ */
111
124
  private findLargestVideo;
112
125
  private isLocallyRunning;
113
126
  private checkIfAnyToolsRequireGpt;
@@ -1 +1 @@
1
- {"version":3,"file":"DonobuFlowsManager.d.ts","sourceRoot":"","sources":["../../../src/managers/DonobuFlowsManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DonobuFlowsManager.d.ts","sourceRoot":"","sources":["../../../src/managers/DonobuFlowsManager.ts"],"names":[],"mappings":"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"}
@@ -63,6 +63,7 @@ const DonobuDeploymentEnvironment_1 = require("../models/DonobuDeploymentEnviron
63
63
  const Logger_1 = require("../utils/Logger");
64
64
  const CodeGenerator_1 = require("./CodeGenerator");
65
65
  const uuid_1 = require("uuid");
66
+ const envVars_1 = require("../envVars");
66
67
  class DonobuFlowsManager {
67
68
  constructor(deploymentEnvironment, gptConfigsManager, agentsManager, flowsPersistenceFactory) {
68
69
  this.deploymentEnvironment = deploymentEnvironment;
@@ -70,7 +71,7 @@ class DonobuFlowsManager {
70
71
  this.agentsManager = agentsManager;
71
72
  this.flowsPersistenceFactory = flowsPersistenceFactory;
72
73
  this.activeFlows = new Map();
73
- this.codeGenerator = new CodeGenerator_1.CodeGenerator(gptConfigsManager, agentsManager);
74
+ this.codeGenerator = new CodeGenerator_1.CodeGenerator();
74
75
  }
75
76
  /**
76
77
  * Create a flow with the given parameters and invoke its `DonobuFlow#run`
@@ -132,18 +133,18 @@ class DonobuFlowsManager {
132
133
  state: 'UNSTARTED',
133
134
  nextState: null,
134
135
  };
135
- const tempDirectoryForVideos = this.createTempDirectoryForFlow(flowMetadata.id);
136
+ const flowTempDir = this.createTempDirectoryForFlow(flowMetadata.id);
136
137
  const flowsPersistence = await this.flowsPersistenceFactory.createPersistenceLayer();
137
138
  const browserStorageState = flowParams.browser?.initialState
138
139
  ? await this.getBrowserStorageState(flowParams.browser.initialState)
139
140
  : undefined;
140
- const browserFramework = await BrowserFramework_1.BrowserFramework.create(browserConfig, tempDirectoryForVideos, browserStorageState);
141
+ const browserFramework = await BrowserFramework_1.BrowserFramework.create(browserConfig, flowTempDir, browserStorageState);
141
142
  try {
142
143
  const donobuFlow = new DonobuFlow_1.DonobuFlow(this, browserFramework, flowsPersistence, gptClientData.gptClient, toolManager, tooltipper, toolCallsOnStart, [], [], {
143
144
  current: null,
144
145
  }, flowMetadata);
145
146
  await flowsPersistence.saveMetadata(flowMetadata);
146
- const job = this.runFlow(donobuFlow, tempDirectoryForVideos, flowsPersistence);
147
+ const job = this.runFlow(donobuFlow, flowTempDir, flowsPersistence);
147
148
  const flowHandle = { donobuFlow, job };
148
149
  this.activeFlows.set(flowMetadata.id, flowHandle);
149
150
  return flowHandle;
@@ -424,6 +425,51 @@ class DonobuFlowsManager {
424
425
  Logger_1.appLogger.warn(`Failed to find GPT configuration: ${gptConfigName}, will default to the 'flow-runner' agent config (if it exists).`);
425
426
  }
426
427
  }
428
+ let gptConfigFromEnv = null;
429
+ if (process.env[envVars_1.ENV_VAR_NAMES.AWS_BEDROCK_MODEL_NAME]) {
430
+ gptConfigFromEnv = {
431
+ type: 'ANTHROPIC_AWS_BEDROCK',
432
+ modelName: process.env[envVars_1.ENV_VAR_NAMES.AWS_BEDROCK_MODEL_NAME],
433
+ };
434
+ }
435
+ else if (process.env[envVars_1.ENV_VAR_NAMES.ANTHROPIC_MODEL_NAME]) {
436
+ if (!process.env[envVars_1.ENV_VAR_NAMES.ANTHROPIC_API_KEY]) {
437
+ throw new InvalidParamValueException_1.InvalidParamValueException(envVars_1.ENV_VAR_NAMES.ANTHROPIC_API_KEY, undefined, `the ${envVars_1.ENV_VAR_NAMES.ANTHROPIC_MODEL_NAME} environment variable is set but the ${envVars_1.ENV_VAR_NAMES.ANTHROPIC_API_KEY} is not`);
438
+ }
439
+ gptConfigFromEnv = {
440
+ type: 'ANTHROPIC',
441
+ modelName: process.env[envVars_1.ENV_VAR_NAMES.ANTHROPIC_MODEL_NAME],
442
+ apiKey: process.env[envVars_1.ENV_VAR_NAMES.ANTHROPIC_API_KEY],
443
+ };
444
+ }
445
+ else if (process.env[envVars_1.ENV_VAR_NAMES.GOOGLE_GENERATIVE_AI_MODEL_NAME]) {
446
+ if (!process.env[envVars_1.ENV_VAR_NAMES.GOOGLE_GENERATIVE_AI_API_KEY]) {
447
+ throw new InvalidParamValueException_1.InvalidParamValueException(envVars_1.ENV_VAR_NAMES.GOOGLE_GENERATIVE_AI_API_KEY, undefined, `the ${envVars_1.ENV_VAR_NAMES.GOOGLE_GENERATIVE_AI_MODEL_NAME} environment variable is set but the ${envVars_1.ENV_VAR_NAMES.GOOGLE_GENERATIVE_AI_API_KEY} is not`);
448
+ }
449
+ gptConfigFromEnv = {
450
+ type: 'GOOGLE_GEMINI',
451
+ modelName: process.env[envVars_1.ENV_VAR_NAMES.GOOGLE_GENERATIVE_AI_MODEL_NAME],
452
+ apiKey: process.env[envVars_1.ENV_VAR_NAMES.GOOGLE_GENERATIVE_AI_API_KEY],
453
+ };
454
+ }
455
+ else if (process.env[envVars_1.ENV_VAR_NAMES.OPENAI_API_MODEL_NAME]) {
456
+ if (!process.env[envVars_1.ENV_VAR_NAMES.OPENAI_API_KEY]) {
457
+ throw new InvalidParamValueException_1.InvalidParamValueException(envVars_1.ENV_VAR_NAMES.OPENAI_API_KEY, undefined, `the ${envVars_1.ENV_VAR_NAMES.OPENAI_API_MODEL_NAME} environment variable is set but the ${envVars_1.ENV_VAR_NAMES.OPENAI_API_KEY} is not`);
458
+ }
459
+ gptConfigFromEnv = {
460
+ type: 'OPENAI',
461
+ modelName: process.env[envVars_1.ENV_VAR_NAMES.OPENAI_API_MODEL_NAME],
462
+ apiKey: process.env[envVars_1.ENV_VAR_NAMES.OPENAI_API_KEY],
463
+ };
464
+ }
465
+ if (gptConfigFromEnv) {
466
+ const gptClient = await GptClientFactory_1.GptClientFactory.createFromGptConfig(gptConfigFromEnv);
467
+ return {
468
+ gptConfigName: null,
469
+ agentName: null,
470
+ gptClient: gptClient,
471
+ };
472
+ }
427
473
  const defaultGptConfigName = await this.agentsManager.get('flow-runner');
428
474
  if (!defaultGptConfigName) {
429
475
  return {
@@ -432,8 +478,8 @@ class DonobuFlowsManager {
432
478
  gptClient: null,
433
479
  };
434
480
  }
435
- const gptConfig = await this.gptConfigsManager.get(defaultGptConfigName);
436
- const gptClient = await GptClientFactory_1.GptClientFactory.createFromGptConfig(gptConfig);
481
+ const defaultGptConfig = await this.gptConfigsManager.get(defaultGptConfigName);
482
+ const gptClient = await GptClientFactory_1.GptClientFactory.createFromGptConfig(defaultGptConfig);
437
483
  return {
438
484
  gptConfigName: defaultGptConfigName,
439
485
  agentName: 'flow-runner',
@@ -561,25 +607,50 @@ class DonobuFlowsManager {
561
607
  return [];
562
608
  }
563
609
  }
610
+ /**
611
+ * This method creates a temporary directory for the flow with the given ID,
612
+ * returning the path to the directory.
613
+ */
564
614
  createTempDirectoryForFlow(flowId) {
565
615
  const tempDir = path.join((0, os_1.tmpdir)(), flowId);
566
616
  fs.mkdirSync(tempDir);
567
617
  return tempDir;
568
618
  }
569
- async runFlow(donobuFlow, tempDirectoryForVideos, flowsPersistence) {
619
+ /**
620
+ * Searches the given directory for the largest video file and sets it as the
621
+ * flow's video. This should be called after the flow has completed.
622
+ */
623
+ async setFlowVideo(flowId, flowTempDir, flowsPersistence) {
624
+ const videoPath = this.findLargestVideo(flowTempDir);
625
+ if (videoPath) {
626
+ const videoBytes = fs.readFileSync(videoPath);
627
+ await flowsPersistence.setVideo(flowId, videoBytes);
628
+ }
629
+ }
630
+ async runFlow(donobuFlow, flowTempDir, flowsPersistence) {
570
631
  try {
571
632
  await donobuFlow.run();
572
- this.activeFlows.delete(donobuFlow.metadata.id);
573
- const videoPath = this.findLargestVideo(tempDirectoryForVideos);
574
- if (videoPath) {
575
- const videoBytes = fs.readFileSync(videoPath);
576
- await flowsPersistence.setVideo(donobuFlow.metadata.id, videoBytes);
577
- }
633
+ await this.setFlowVideo(donobuFlow.metadata.id, flowTempDir, flowsPersistence);
578
634
  }
579
635
  finally {
580
- fs.rmSync(tempDirectoryForVideos, { recursive: true, force: true });
636
+ try {
637
+ this.activeFlows.delete(donobuFlow.metadata.id);
638
+ }
639
+ catch (error) {
640
+ Logger_1.appLogger.error('Failed to delete active flow:', error);
641
+ }
642
+ try {
643
+ fs.rmSync(flowTempDir, { recursive: true, force: true });
644
+ }
645
+ catch (error) {
646
+ Logger_1.appLogger.error('Failed to remove temporary directory:', error);
647
+ }
581
648
  }
582
649
  }
650
+ /**
651
+ * Returns the largest video file in the given directory, or null if no
652
+ * video files are found.
653
+ */
583
654
  findLargestVideo(directory) {
584
655
  const files = fs
585
656
  .readdirSync(directory)