donobu 2.46.1 → 2.46.4

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 (173) hide show
  1. package/dist/assets/generated/version +1 -1
  2. package/dist/envVars.d.ts +140 -57
  3. package/dist/envVars.d.ts.map +1 -1
  4. package/dist/envVars.js +42 -55
  5. package/dist/envVars.js.map +1 -1
  6. package/dist/esm/assets/generated/version +1 -1
  7. package/dist/esm/envVars.d.ts +140 -57
  8. package/dist/esm/envVars.d.ts.map +1 -1
  9. package/dist/esm/envVars.js +42 -55
  10. package/dist/esm/envVars.js.map +1 -1
  11. package/dist/esm/lib/DonobuExtendedPage.d.ts +12 -10
  12. package/dist/esm/lib/DonobuExtendedPage.d.ts.map +1 -1
  13. package/dist/esm/lib/PageAi.d.ts +103 -77
  14. package/dist/esm/lib/PageAi.d.ts.map +1 -1
  15. package/dist/esm/lib/PageAi.js +152 -272
  16. package/dist/esm/lib/PageAi.js.map +1 -1
  17. package/dist/esm/lib/fixtures/gptClients.d.ts +33 -5
  18. package/dist/esm/lib/fixtures/gptClients.d.ts.map +1 -1
  19. package/dist/esm/lib/fixtures/gptClients.js +38 -35
  20. package/dist/esm/lib/fixtures/gptClients.js.map +1 -1
  21. package/dist/esm/lib/originalGotoRegistry.d.ts +5 -0
  22. package/dist/esm/lib/originalGotoRegistry.d.ts.map +1 -0
  23. package/dist/esm/lib/originalGotoRegistry.js +30 -0
  24. package/dist/esm/lib/originalGotoRegistry.js.map +1 -0
  25. package/dist/esm/lib/pageAi/cache.d.ts +84 -0
  26. package/dist/esm/lib/pageAi/cache.d.ts.map +1 -0
  27. package/dist/esm/lib/pageAi/cache.js +207 -0
  28. package/dist/esm/lib/pageAi/cache.js.map +1 -0
  29. package/dist/esm/lib/pageAi/cacheEntryBuilder.d.ts +17 -0
  30. package/dist/esm/lib/pageAi/cacheEntryBuilder.d.ts.map +1 -0
  31. package/dist/esm/lib/pageAi/cacheEntryBuilder.js +25 -0
  32. package/dist/esm/lib/pageAi/cacheEntryBuilder.js.map +1 -0
  33. package/dist/esm/lib/testExtension.d.ts.map +1 -1
  34. package/dist/esm/lib/testExtension.js +288 -286
  35. package/dist/esm/lib/testExtension.js.map +1 -1
  36. package/dist/esm/lib/utils/donobuTestStack.d.ts +18 -1
  37. package/dist/esm/lib/utils/donobuTestStack.d.ts.map +1 -1
  38. package/dist/esm/lib/utils/donobuTestStack.js +3 -3
  39. package/dist/esm/lib/utils/donobuTestStack.js.map +1 -1
  40. package/dist/esm/lib/utils/selfHealing.js +2 -2
  41. package/dist/esm/lib/utils/selfHealing.js.map +1 -1
  42. package/dist/esm/main.d.ts.map +1 -1
  43. package/dist/esm/main.js +1 -9
  44. package/dist/esm/main.js.map +1 -1
  45. package/dist/esm/managers/AdminApiController.d.ts +3 -1
  46. package/dist/esm/managers/AdminApiController.d.ts.map +1 -1
  47. package/dist/esm/managers/AdminApiController.js +8 -13
  48. package/dist/esm/managers/AdminApiController.js.map +1 -1
  49. package/dist/esm/managers/AgentsManager.d.ts +3 -1
  50. package/dist/esm/managers/AgentsManager.d.ts.map +1 -1
  51. package/dist/esm/managers/AgentsManager.js +4 -5
  52. package/dist/esm/managers/AgentsManager.js.map +1 -1
  53. package/dist/esm/managers/CodeGenerator.d.ts +8 -0
  54. package/dist/esm/managers/CodeGenerator.d.ts.map +1 -1
  55. package/dist/esm/managers/CodeGenerator.js +104 -1
  56. package/dist/esm/managers/CodeGenerator.js.map +1 -1
  57. package/dist/esm/managers/DonobuFlowsManager.d.ts +4 -1
  58. package/dist/esm/managers/DonobuFlowsManager.d.ts.map +1 -1
  59. package/dist/esm/managers/DonobuFlowsManager.js +24 -25
  60. package/dist/esm/managers/DonobuFlowsManager.js.map +1 -1
  61. package/dist/esm/managers/DonobuStack.d.ts +18 -1
  62. package/dist/esm/managers/DonobuStack.d.ts.map +1 -1
  63. package/dist/esm/managers/DonobuStack.js +7 -6
  64. package/dist/esm/managers/DonobuStack.js.map +1 -1
  65. package/dist/esm/managers/GptConfigsManager.d.ts +3 -1
  66. package/dist/esm/managers/GptConfigsManager.d.ts.map +1 -1
  67. package/dist/esm/managers/GptConfigsManager.js +6 -7
  68. package/dist/esm/managers/GptConfigsManager.js.map +1 -1
  69. package/dist/esm/managers/InteractionVisualizer.d.ts.map +1 -1
  70. package/dist/esm/managers/InteractionVisualizer.js +25 -3
  71. package/dist/esm/managers/InteractionVisualizer.js.map +1 -1
  72. package/dist/esm/models/DonobuDeploymentEnvironment.d.ts +7 -5
  73. package/dist/esm/models/DonobuDeploymentEnvironment.d.ts.map +1 -1
  74. package/dist/esm/models/DonobuDeploymentEnvironment.js +7 -7
  75. package/dist/esm/models/DonobuDeploymentEnvironment.js.map +1 -1
  76. package/dist/esm/persistence/env/EnvPersistenceFactoryImpl.d.ts +5 -3
  77. package/dist/esm/persistence/env/EnvPersistenceFactoryImpl.d.ts.map +1 -1
  78. package/dist/esm/persistence/env/EnvPersistenceFactoryImpl.js +11 -15
  79. package/dist/esm/persistence/env/EnvPersistenceFactoryImpl.js.map +1 -1
  80. package/dist/esm/persistence/flows/FlowsPersistenceFactoryImpl.d.ts +6 -4
  81. package/dist/esm/persistence/flows/FlowsPersistenceFactoryImpl.d.ts.map +1 -1
  82. package/dist/esm/persistence/flows/FlowsPersistenceFactoryImpl.js +14 -19
  83. package/dist/esm/persistence/flows/FlowsPersistenceFactoryImpl.js.map +1 -1
  84. package/dist/esm/utils/BrowserUtils.d.ts +6 -1
  85. package/dist/esm/utils/BrowserUtils.d.ts.map +1 -1
  86. package/dist/esm/utils/BrowserUtils.js +19 -19
  87. package/dist/esm/utils/BrowserUtils.js.map +1 -1
  88. package/dist/esm/utils/MiscUtils.d.ts +5 -1
  89. package/dist/esm/utils/MiscUtils.d.ts.map +1 -1
  90. package/dist/esm/utils/MiscUtils.js +4 -4
  91. package/dist/esm/utils/MiscUtils.js.map +1 -1
  92. package/dist/lib/DonobuExtendedPage.d.ts +12 -10
  93. package/dist/lib/DonobuExtendedPage.d.ts.map +1 -1
  94. package/dist/lib/PageAi.d.ts +103 -77
  95. package/dist/lib/PageAi.d.ts.map +1 -1
  96. package/dist/lib/PageAi.js +152 -272
  97. package/dist/lib/PageAi.js.map +1 -1
  98. package/dist/lib/fixtures/gptClients.d.ts +33 -5
  99. package/dist/lib/fixtures/gptClients.d.ts.map +1 -1
  100. package/dist/lib/fixtures/gptClients.js +38 -35
  101. package/dist/lib/fixtures/gptClients.js.map +1 -1
  102. package/dist/lib/originalGotoRegistry.d.ts +5 -0
  103. package/dist/lib/originalGotoRegistry.d.ts.map +1 -0
  104. package/dist/lib/originalGotoRegistry.js +30 -0
  105. package/dist/lib/originalGotoRegistry.js.map +1 -0
  106. package/dist/lib/pageAi/cache.d.ts +84 -0
  107. package/dist/lib/pageAi/cache.d.ts.map +1 -0
  108. package/dist/lib/pageAi/cache.js +207 -0
  109. package/dist/lib/pageAi/cache.js.map +1 -0
  110. package/dist/lib/pageAi/cacheEntryBuilder.d.ts +17 -0
  111. package/dist/lib/pageAi/cacheEntryBuilder.d.ts.map +1 -0
  112. package/dist/lib/pageAi/cacheEntryBuilder.js +25 -0
  113. package/dist/lib/pageAi/cacheEntryBuilder.js.map +1 -0
  114. package/dist/lib/testExtension.d.ts.map +1 -1
  115. package/dist/lib/testExtension.js +288 -286
  116. package/dist/lib/testExtension.js.map +1 -1
  117. package/dist/lib/utils/donobuTestStack.d.ts +18 -1
  118. package/dist/lib/utils/donobuTestStack.d.ts.map +1 -1
  119. package/dist/lib/utils/donobuTestStack.js +3 -3
  120. package/dist/lib/utils/donobuTestStack.js.map +1 -1
  121. package/dist/lib/utils/selfHealing.js +2 -2
  122. package/dist/lib/utils/selfHealing.js.map +1 -1
  123. package/dist/main.d.ts.map +1 -1
  124. package/dist/main.js +1 -9
  125. package/dist/main.js.map +1 -1
  126. package/dist/managers/AdminApiController.d.ts +3 -1
  127. package/dist/managers/AdminApiController.d.ts.map +1 -1
  128. package/dist/managers/AdminApiController.js +8 -13
  129. package/dist/managers/AdminApiController.js.map +1 -1
  130. package/dist/managers/AgentsManager.d.ts +3 -1
  131. package/dist/managers/AgentsManager.d.ts.map +1 -1
  132. package/dist/managers/AgentsManager.js +4 -5
  133. package/dist/managers/AgentsManager.js.map +1 -1
  134. package/dist/managers/CodeGenerator.d.ts +8 -0
  135. package/dist/managers/CodeGenerator.d.ts.map +1 -1
  136. package/dist/managers/CodeGenerator.js +104 -1
  137. package/dist/managers/CodeGenerator.js.map +1 -1
  138. package/dist/managers/DonobuFlowsManager.d.ts +4 -1
  139. package/dist/managers/DonobuFlowsManager.d.ts.map +1 -1
  140. package/dist/managers/DonobuFlowsManager.js +24 -25
  141. package/dist/managers/DonobuFlowsManager.js.map +1 -1
  142. package/dist/managers/DonobuStack.d.ts +18 -1
  143. package/dist/managers/DonobuStack.d.ts.map +1 -1
  144. package/dist/managers/DonobuStack.js +7 -6
  145. package/dist/managers/DonobuStack.js.map +1 -1
  146. package/dist/managers/GptConfigsManager.d.ts +3 -1
  147. package/dist/managers/GptConfigsManager.d.ts.map +1 -1
  148. package/dist/managers/GptConfigsManager.js +6 -7
  149. package/dist/managers/GptConfigsManager.js.map +1 -1
  150. package/dist/managers/InteractionVisualizer.d.ts.map +1 -1
  151. package/dist/managers/InteractionVisualizer.js +25 -3
  152. package/dist/managers/InteractionVisualizer.js.map +1 -1
  153. package/dist/models/DonobuDeploymentEnvironment.d.ts +7 -5
  154. package/dist/models/DonobuDeploymentEnvironment.d.ts.map +1 -1
  155. package/dist/models/DonobuDeploymentEnvironment.js +7 -7
  156. package/dist/models/DonobuDeploymentEnvironment.js.map +1 -1
  157. package/dist/persistence/env/EnvPersistenceFactoryImpl.d.ts +5 -3
  158. package/dist/persistence/env/EnvPersistenceFactoryImpl.d.ts.map +1 -1
  159. package/dist/persistence/env/EnvPersistenceFactoryImpl.js +11 -15
  160. package/dist/persistence/env/EnvPersistenceFactoryImpl.js.map +1 -1
  161. package/dist/persistence/flows/FlowsPersistenceFactoryImpl.d.ts +6 -4
  162. package/dist/persistence/flows/FlowsPersistenceFactoryImpl.d.ts.map +1 -1
  163. package/dist/persistence/flows/FlowsPersistenceFactoryImpl.js +14 -19
  164. package/dist/persistence/flows/FlowsPersistenceFactoryImpl.js.map +1 -1
  165. package/dist/utils/BrowserUtils.d.ts +6 -1
  166. package/dist/utils/BrowserUtils.d.ts.map +1 -1
  167. package/dist/utils/BrowserUtils.js +19 -19
  168. package/dist/utils/BrowserUtils.js.map +1 -1
  169. package/dist/utils/MiscUtils.d.ts +5 -1
  170. package/dist/utils/MiscUtils.d.ts.map +1 -1
  171. package/dist/utils/MiscUtils.js +4 -4
  172. package/dist/utils/MiscUtils.js.map +1 -1
  173. package/package.json +2 -1
@@ -19,12 +19,6 @@ const donobuTestStack_1 = require("../utils/donobuTestStack");
19
19
  const GptConfig_1 = require("../../models/GptConfig");
20
20
  const InvalidParamValueException_1 = require("../../exceptions/InvalidParamValueException");
21
21
  const GptApiKeysNotSetupException_1 = require("../../exceptions/GptApiKeysNotSetupException");
22
- const DEFAULT_GPT_MODEL_FOR_PLATFORM = {
23
- ANTHROPIC: envVars_1.ENV.ANTHROPIC_MODEL_NAME || 'claude-3-5-sonnet-latest',
24
- ANTHROPIC_AWS_BEDROCK: envVars_1.ENV.AWS_BEDROCK_MODEL_NAME || undefined,
25
- GOOGLE_GEMINI: envVars_1.ENV.GOOGLE_GENERATIVE_AI_MODEL_NAME || 'gemini-2.5-flash',
26
- OPENAI: envVars_1.ENV.OPENAI_API_MODEL_NAME || 'gpt-4o',
27
- };
28
22
  let defaultGptClient = undefined;
29
23
  async function getOrCreateDefaultGptClient() {
30
24
  if (!defaultGptClient) {
@@ -59,20 +53,26 @@ async function getOrCreateDefaultGptClient() {
59
53
  * If the modelName is not specified, it will be defaulted according to the
60
54
  * DEFAULT_GPT_MODEL_FOR_PLATFORM mapping.
61
55
  */
62
- async function createGptClient(modelName) {
63
- const hasBase64Config = !!envVars_1.ENV.BASE64_GPT_CONFIG;
56
+ async function createGptClient(modelName, environ = envVars_1.env.pick('ANTHROPIC_API_KEY', 'ANTHROPIC_MODEL_NAME', 'AWS_ACCESS_KEY_ID', 'AWS_BEDROCK_MODEL_NAME', 'AWS_REGION', 'AWS_SECRET_ACCESS_KEY', 'AWS_S3_BUCKET', 'AWS_S3_REGION', 'BASE64_GPT_CONFIG', 'BROWSERBASE_API_KEY', 'BROWSERBASE_PROJECT_ID', 'DEFAULT_FLOW_RUNNER_GPT_CONFIG_NAME', 'GOOGLE_GENERATIVE_AI_API_KEY', 'GOOGLE_GENERATIVE_AI_MODEL_NAME', 'GOOGLE_CLOUD_STORAGE_BUCKET', 'OPENAI_API_KEY', 'OPENAI_API_MODEL_NAME', 'SUPABASE_JWT_SECRET_KEY')) {
57
+ const defaults = {
58
+ ANTHROPIC: environ.data.ANTHROPIC_MODEL_NAME || 'claude-3-5-sonnet-latest',
59
+ ANTHROPIC_AWS_BEDROCK: environ.data.AWS_BEDROCK_MODEL_NAME || undefined,
60
+ GOOGLE_GEMINI: environ.data.GOOGLE_GENERATIVE_AI_MODEL_NAME || 'gemini-2.5-flash',
61
+ OPENAI: environ.data.OPENAI_API_MODEL_NAME || 'gpt-4o',
62
+ };
63
+ const hasBase64Config = !!environ.data.BASE64_GPT_CONFIG;
64
64
  // Check which API keys are available
65
- const hasAwsCredentials = !!DEFAULT_GPT_MODEL_FOR_PLATFORM.ANTHROPIC_AWS_BEDROCK &&
66
- !!envVars_1.ENV.AWS_ACCESS_KEY_ID &&
67
- !!envVars_1.ENV.AWS_SECRET_ACCESS_KEY;
68
- const hasAnthropicKey = !!envVars_1.ENV.ANTHROPIC_API_KEY;
69
- const hasGoogleKey = !!envVars_1.ENV.GOOGLE_GENERATIVE_AI_API_KEY;
70
- const hasOpenAiKey = !!envVars_1.ENV.OPENAI_API_KEY;
65
+ const hasAwsCredentials = !!defaults.ANTHROPIC_AWS_BEDROCK &&
66
+ !!environ.data.AWS_ACCESS_KEY_ID &&
67
+ !!environ.data.AWS_SECRET_ACCESS_KEY;
68
+ const hasAnthropicKey = !!environ.data.ANTHROPIC_API_KEY;
69
+ const hasGoogleKey = !!environ.data.GOOGLE_GENERATIVE_AI_API_KEY;
70
+ const hasOpenAiKey = !!environ.data.OPENAI_API_KEY;
71
71
  // Priority order: Base64 Config, Anthropic AWS Bedrock, Anthropic, Google, OpenAI
72
72
  if (hasBase64Config) {
73
73
  let json;
74
74
  try {
75
- const base64decoded = Buffer.from(envVars_1.ENV.BASE64_GPT_CONFIG, 'base64').toString('utf-8');
75
+ const base64decoded = Buffer.from(environ.data.BASE64_GPT_CONFIG, 'base64').toString('utf-8');
76
76
  json = JSON.parse(base64decoded);
77
77
  }
78
78
  catch {
@@ -81,26 +81,26 @@ async function createGptClient(modelName) {
81
81
  return new GptClientFactory_1.GptClientFactoryImpl().createClient(GptConfig_1.GptConfigSchema.parse(json));
82
82
  }
83
83
  else if (hasAwsCredentials) {
84
- const model = modelName || DEFAULT_GPT_MODEL_FOR_PLATFORM.ANTHROPIC_AWS_BEDROCK;
85
- const region = envVars_1.ENV.AWS_REGION;
86
- const accessKeyId = envVars_1.ENV.AWS_ACCESS_KEY_ID;
87
- const secretAccessKey = envVars_1.ENV.AWS_SECRET_ACCESS_KEY;
84
+ const model = modelName || defaults.ANTHROPIC_AWS_BEDROCK;
85
+ const region = environ.data.AWS_REGION;
86
+ const accessKeyId = environ.data.AWS_ACCESS_KEY_ID;
87
+ const secretAccessKey = environ.data.AWS_SECRET_ACCESS_KEY;
88
88
  return anthropicAwsBedrockClient(model, region, accessKeyId, secretAccessKey);
89
89
  }
90
90
  else if (hasAnthropicKey) {
91
- const model = modelName || DEFAULT_GPT_MODEL_FOR_PLATFORM.ANTHROPIC;
91
+ const model = modelName || defaults.ANTHROPIC;
92
92
  return anthropicClient(model);
93
93
  }
94
94
  else if (hasGoogleKey) {
95
- const model = modelName || DEFAULT_GPT_MODEL_FOR_PLATFORM.GOOGLE_GEMINI;
95
+ const model = modelName || defaults.GOOGLE_GEMINI;
96
96
  return googleGeminiClient(model);
97
97
  }
98
98
  else if (hasOpenAiKey) {
99
- const model = modelName || DEFAULT_GPT_MODEL_FOR_PLATFORM.OPENAI;
99
+ const model = modelName || defaults.OPENAI;
100
100
  return openAiClient(model);
101
101
  }
102
102
  else {
103
- const donobu = await (0, donobuTestStack_1.getOrCreateDonobuStack)();
103
+ const donobu = await (0, donobuTestStack_1.getOrCreateDonobuStack)(environ);
104
104
  const defaultClient = (await donobu.flowsManager.createGptClient(null))
105
105
  .gptClient;
106
106
  if (defaultClient) {
@@ -112,8 +112,8 @@ async function createGptClient(modelName) {
112
112
  }
113
113
  }
114
114
  }
115
- async function anthropicClient(modelName, apiKey) {
116
- const divinedApiKey = apiKey || envVars_1.ENV.ANTHROPIC_API_KEY;
115
+ async function anthropicClient(modelName, apiKey, environ = envVars_1.env.pick('ANTHROPIC_API_KEY')) {
116
+ const divinedApiKey = apiKey || environ.data.ANTHROPIC_API_KEY;
117
117
  if (!divinedApiKey) {
118
118
  throw new Error('An API key is required to use the Anthropic API. Please provide one as an argument or set it using the ANTHROPIC_API_KEY environment variable.');
119
119
  }
@@ -129,11 +129,12 @@ function anthropicClientFixture(modelName, apiKey) {
129
129
  await use(client);
130
130
  };
131
131
  }
132
- async function anthropicAwsBedrockClient(modelName, region, accessKeyId, secretAccessKey) {
133
- const divinedAccessKeyId = accessKeyId || envVars_1.ENV.AWS_ACCESS_KEY_ID;
134
- const divinedSecretAccessKey = secretAccessKey || envVars_1.ENV.AWS_SECRET_ACCESS_KEY;
132
+ async function anthropicAwsBedrockClient(modelName, region, accessKeyId, secretAccessKey, environ = envVars_1.env.pick('AWS_ACCESS_KEY_ID', 'AWS_SECRET_ACCESS_KEY')) {
133
+ const divinedAccessKeyId = accessKeyId || environ.data.AWS_ACCESS_KEY_ID;
134
+ const divinedSecretAccessKey = secretAccessKey || environ.data.AWS_SECRET_ACCESS_KEY;
135
135
  if (!divinedAccessKeyId || !divinedSecretAccessKey) {
136
- throw new Error('AWS access key ID and secret access key are required to use the Anthropic AWS Bedrock API. Please provide them as arguments or set them using the AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY environment variables.');
136
+ throw new Error(`AWS access key ID and secret access key are required to use the Anthropic AWS Bedrock API.
137
+ Please provide them as arguments or set them using the ${environ.keys.AWS_ACCESS_KEY_ID} and ${environ.keys.AWS_SECRET_ACCESS_KEY} environment variables.`);
137
138
  }
138
139
  return new GptClientFactory_1.GptClientFactoryImpl().createClient({
139
140
  type: 'ANTHROPIC_AWS_BEDROCK',
@@ -149,10 +150,11 @@ function anthropicAwsBedrockClientFixture(modelName, region, accessKeyId, secret
149
150
  await use(client);
150
151
  };
151
152
  }
152
- async function googleGeminiClient(modelName, apiKey) {
153
- const divinedApiKey = apiKey || envVars_1.ENV.GOOGLE_GENERATIVE_AI_API_KEY;
153
+ async function googleGeminiClient(modelName, apiKey, environ = envVars_1.env.pick('GOOGLE_GENERATIVE_AI_API_KEY')) {
154
+ const divinedApiKey = apiKey || environ.data.GOOGLE_GENERATIVE_AI_API_KEY;
154
155
  if (!divinedApiKey) {
155
- throw new Error('An API key is required to use the Google Gemini API. Please provide one as an argument or set it using the GOOGLE_GENERATIVE_AI_API_KEY environment variable.');
156
+ throw new Error(`An API key is required to use the Google Gemini API.
157
+ Please provide one as an argument or set it using the ${environ.keys.GOOGLE_GENERATIVE_AI_API_KEY} environment variable.`);
156
158
  }
157
159
  return new GptClientFactory_1.GptClientFactoryImpl().createClient({
158
160
  type: 'GOOGLE_GEMINI',
@@ -166,10 +168,11 @@ function googleGeminiClientFixture(modelName, apiKey) {
166
168
  await use(client);
167
169
  };
168
170
  }
169
- async function openAiClient(modelName, apiKey) {
170
- const divinedApiKey = apiKey || envVars_1.ENV.OPENAI_API_KEY;
171
+ async function openAiClient(modelName, apiKey, environ = envVars_1.env.pick('OPENAI_API_KEY')) {
172
+ const divinedApiKey = apiKey || environ.data.OPENAI_API_KEY;
171
173
  if (!divinedApiKey) {
172
- throw new Error('An API key is required to use the OpenAI API. Please provide one as an argument or set it using the OPENAI_API_KEY environment variable.');
174
+ throw new Error(`An API key is required to use the OpenAI API.
175
+ Please provide one as an argument or set it using the ${environ.keys.OPENAI_API_KEY} environment variable.`);
173
176
  }
174
177
  return new GptClientFactory_1.GptClientFactoryImpl().createClient({
175
178
  type: 'OPENAI',
@@ -1 +1 @@
1
- {"version":3,"file":"gptClients.js","sourceRoot":"","sources":["../../../../src/lib/fixtures/gptClients.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gptClients.js","sourceRoot":"","sources":["../../../../src/lib/fixtures/gptClients.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import type { Page } from '@playwright/test';
2
+ export declare function registerOriginalGoto(page: Page, originalGoto: Page['goto']): void;
3
+ export declare function hasOriginalGoto(page: Page): boolean;
4
+ export declare function getOriginalGoto(page: Page): Page['goto'];
5
+ //# sourceMappingURL=originalGotoRegistry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"originalGotoRegistry.d.ts","sourceRoot":"","sources":["../../../src/lib/originalGotoRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAc7C,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,IAAI,EACV,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,GACzB,IAAI,CAEN;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAEnD;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAQxD"}
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.registerOriginalGoto = registerOriginalGoto;
4
+ exports.hasOriginalGoto = hasOriginalGoto;
5
+ exports.getOriginalGoto = getOriginalGoto;
6
+ /**
7
+ * Playwright creates a unique `goto` implementation for every page instance.
8
+ * Once Donobu decorates a page we override that method, so the original
9
+ * reference has to be stored somewhere page-specific. We can no longer stash
10
+ * it on `_dnb` because all decorated pages share the same `_dnb` object.
11
+ *
12
+ * This registry keeps the native implementation in a WeakMap keyed by page.
13
+ * Using a WeakMap ensures entries vanish automatically when a page is closed,
14
+ * preventing leaks while still letting us delegate back to the correct tab.
15
+ */
16
+ const originalGotoRegistry = new WeakMap();
17
+ function registerOriginalGoto(page, originalGoto) {
18
+ originalGotoRegistry.set(page, originalGoto);
19
+ }
20
+ function hasOriginalGoto(page) {
21
+ return originalGotoRegistry.has(page);
22
+ }
23
+ function getOriginalGoto(page) {
24
+ const originalGoto = originalGotoRegistry.get(page);
25
+ if (!originalGoto) {
26
+ throw new Error('Original goto not registered for the provided page.');
27
+ }
28
+ return originalGoto;
29
+ }
30
+ //# sourceMappingURL=originalGotoRegistry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"originalGotoRegistry.js","sourceRoot":"","sources":["../../../src/lib/originalGotoRegistry.ts"],"names":[],"mappings":";;AAcA,oDAKC;AAED,0CAEC;AAED,0CAQC;AA/BD;;;;;;;;;GASG;AACH,MAAM,oBAAoB,GAAG,IAAI,OAAO,EAAsB,CAAC;AAE/D,SAAgB,oBAAoB,CAClC,IAAU,EACV,YAA0B;IAE1B,oBAAoB,CAAC,GAAG,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;AAC/C,CAAC;AAED,SAAgB,eAAe,CAAC,IAAU;IACxC,OAAO,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACxC,CAAC;AAED,SAAgB,eAAe,CAAC,IAAU;IACxC,MAAM,YAAY,GAAG,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAEpD,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;IACzE,CAAC;IAED,OAAO,YAAY,CAAC;AACtB,CAAC"}
@@ -0,0 +1,84 @@
1
+ import { ProposedToolCall } from '../../models/ProposedToolCall';
2
+ /**
3
+ * Cache key used to identify a unique `page.ai` invocation. Keep this structure
4
+ * aligned with the code generator so replayed runs remain deterministic.
5
+ */
6
+ export type PageAiCacheKey = {
7
+ pageUrl: string;
8
+ instruction: string | null;
9
+ schema: Record<string, unknown> | null;
10
+ allowedTools: string[];
11
+ maxToolCalls: number | null;
12
+ };
13
+ /**
14
+ * Full payload persisted in the cache. Contains both the identifying key and
15
+ * the tool calls required to replay an autonomous flow deterministically.
16
+ */
17
+ export type PageAiCacheEntry = PageAiCacheKey & {
18
+ toolCallCache: ProposedToolCall[];
19
+ };
20
+ /**
21
+ * JSON structure stored on disk. We keep it deliberately simple so tooling
22
+ * (CodeGenerator, tests) can emit files without depending on application code.
23
+ */
24
+ export type PageAiCacheContents = {
25
+ caches: PageAiCacheEntry[];
26
+ };
27
+ /**
28
+ * Minimal interface for cache clients. Implementations can be file-backed,
29
+ * in-memory (useful for tests), or even remote services.
30
+ */
31
+ export interface PageAiCache {
32
+ get(key: PageAiCacheKey): Promise<ProposedToolCall[] | null>;
33
+ put(entry: PageAiCacheEntry): Promise<void>;
34
+ delete(key: PageAiCacheKey): Promise<boolean>;
35
+ snapshot(): Promise<PageAiCacheContents>;
36
+ }
37
+ /**
38
+ * File-backed implementation used by the Playwright fixture. Protects reads and
39
+ * writes with an OS-level lock so concurrent processes do not corrupt the file.
40
+ */
41
+ export declare class FilePageAiCache implements PageAiCache {
42
+ private readonly cacheFilepath;
43
+ constructor(cacheFilepath: string);
44
+ get(key: PageAiCacheKey): Promise<ProposedToolCall[] | null>;
45
+ put(entry: PageAiCacheEntry): Promise<void>;
46
+ delete(key: PageAiCacheKey): Promise<boolean>;
47
+ /**
48
+ * Returns an in-memory snapshot of the cache content in the same shape used
49
+ * on disk. This is handy for code generation scenarios where we want to emit
50
+ * a `donobu.json` file without touching the real cache.
51
+ */
52
+ snapshot(): Promise<PageAiCacheContents>;
53
+ /**
54
+ * Lazily creates an empty cache file. Using the `'wx'` flag keeps the method
55
+ * idempotent even when multiple processes start simultaneously.
56
+ */
57
+ private ensureCacheFileExists;
58
+ /**
59
+ * Determines whether two cache descriptors refer to the same invocation.
60
+ * `JSON.stringify` comparisons are sufficient here because the structures are
61
+ * small and deterministic.
62
+ */
63
+ private matchesKey;
64
+ /**
65
+ * Performs a structural equality check for key fields that are collections.
66
+ */
67
+ private areEqual;
68
+ /**
69
+ * Reads and normalises the cache file, self-healing the structure when the
70
+ * JSON is missing expected fields.
71
+ */
72
+ private readCacheFile;
73
+ /**
74
+ * Writes the provided cache array back to disk using the canonical JSON
75
+ * structure.
76
+ */
77
+ private writeCacheFile;
78
+ /**
79
+ * Helper that serialises access to the cache file. The callback operates on
80
+ * the current in-memory cache and can optionally return a new array to persist.
81
+ */
82
+ private withCacheLock;
83
+ }
84
+ //# sourceMappingURL=cache.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../../../../src/lib/pageAi/cache.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAEjE;;;GAGG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IACvC,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,gBAAgB,GAAG,cAAc,GAAG;IAC9C,aAAa,EAAE,gBAAgB,EAAE,CAAC;CACnC,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,mBAAmB,GAAG;IAChC,MAAM,EAAE,gBAAgB,EAAE,CAAC;CAC5B,CAAC;AAEF;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,GAAG,CAAC,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,gBAAgB,EAAE,GAAG,IAAI,CAAC,CAAC;IAC7D,GAAG,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5C,MAAM,CAAC,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9C,QAAQ,IAAI,OAAO,CAAC,mBAAmB,CAAC,CAAC;CAC1C;AAOD;;;GAGG;AACH,qBAAa,eAAgB,YAAW,WAAW;IAC9B,OAAO,CAAC,QAAQ,CAAC,aAAa;gBAAb,aAAa,EAAE,MAAM;IAE5C,GAAG,CAAC,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,gBAAgB,EAAE,GAAG,IAAI,CAAC;IAW5D,GAAG,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAmB3C,MAAM,CAAC,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC;IAyB1D;;;;OAIG;IACU,QAAQ,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAqBrD;;;OAGG;YACW,qBAAqB;IAiBnC;;;;OAIG;IACH,OAAO,CAAC,UAAU;IAUlB;;OAEG;IACH,OAAO,CAAC,QAAQ;IAOhB;;;OAGG;YACW,aAAa;IA8B3B;;;OAGG;YACW,cAAc;IAQ5B;;;OAGG;YACW,aAAa;CA0B5B"}
@@ -0,0 +1,207 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.FilePageAiCache = void 0;
40
+ const promises_1 = __importDefault(require("fs/promises"));
41
+ const LockFile = __importStar(require("proper-lockfile"));
42
+ /**
43
+ * File-backed implementation used by the Playwright fixture. Protects reads and
44
+ * writes with an OS-level lock so concurrent processes do not corrupt the file.
45
+ */
46
+ class FilePageAiCache {
47
+ constructor(cacheFilepath) {
48
+ this.cacheFilepath = cacheFilepath;
49
+ }
50
+ async get(key) {
51
+ return this.withCacheLock(async (cache) => {
52
+ const matchingEntry = cache.find((entry) => this.matchesKey(entry, key));
53
+ return {
54
+ cache,
55
+ result: matchingEntry?.toolCallCache ?? null,
56
+ };
57
+ });
58
+ }
59
+ async put(entry) {
60
+ await this.withCacheLock(async (cache) => {
61
+ const existingIndex = cache.findIndex((candidate) => this.matchesKey(candidate, entry));
62
+ const modifiedCache = existingIndex === -1 ? [...cache, entry] : [...cache];
63
+ if (existingIndex !== -1) {
64
+ modifiedCache[existingIndex] = entry;
65
+ }
66
+ return {
67
+ cache: modifiedCache,
68
+ result: undefined,
69
+ };
70
+ });
71
+ }
72
+ async delete(key) {
73
+ return this.withCacheLock(async (cache) => {
74
+ const targetIndex = cache.findIndex((entry) => this.matchesKey(entry, key));
75
+ if (targetIndex === -1) {
76
+ return {
77
+ cache,
78
+ result: false,
79
+ };
80
+ }
81
+ const modifiedCache = [
82
+ ...cache.slice(0, targetIndex),
83
+ ...cache.slice(targetIndex + 1),
84
+ ];
85
+ return {
86
+ cache: modifiedCache,
87
+ result: true,
88
+ };
89
+ });
90
+ }
91
+ /**
92
+ * Returns an in-memory snapshot of the cache content in the same shape used
93
+ * on disk. This is handy for code generation scenarios where we want to emit
94
+ * a `donobu.json` file without touching the real cache.
95
+ */
96
+ async snapshot() {
97
+ return this.withCacheLock(async (cache) => {
98
+ const clonedEntries = cache.map((entry) => ({
99
+ ...entry,
100
+ allowedTools: [...entry.allowedTools],
101
+ toolCallCache: JSON.parse(JSON.stringify(entry.toolCallCache)),
102
+ schema: entry.schema === null
103
+ ? null
104
+ : JSON.parse(JSON.stringify(entry.schema)),
105
+ }));
106
+ return {
107
+ cache,
108
+ result: {
109
+ caches: clonedEntries,
110
+ },
111
+ };
112
+ });
113
+ }
114
+ /**
115
+ * Lazily creates an empty cache file. Using the `'wx'` flag keeps the method
116
+ * idempotent even when multiple processes start simultaneously.
117
+ */
118
+ async ensureCacheFileExists() {
119
+ try {
120
+ await promises_1.default.writeFile(this.cacheFilepath, JSON.stringify({ caches: [] }, null, 2), {
121
+ encoding: 'utf-8',
122
+ flag: 'wx',
123
+ });
124
+ }
125
+ catch (error) {
126
+ if (error.code !== 'EEXIST') {
127
+ throw error;
128
+ }
129
+ }
130
+ }
131
+ /**
132
+ * Determines whether two cache descriptors refer to the same invocation.
133
+ * `JSON.stringify` comparisons are sufficient here because the structures are
134
+ * small and deterministic.
135
+ */
136
+ matchesKey(entry, key) {
137
+ return (entry.pageUrl === key.pageUrl &&
138
+ entry.instruction === key.instruction &&
139
+ this.areEqual(entry.schema, key.schema) &&
140
+ this.areEqual(entry.allowedTools, key.allowedTools) &&
141
+ entry.maxToolCalls === key.maxToolCalls);
142
+ }
143
+ /**
144
+ * Performs a structural equality check for key fields that are collections.
145
+ */
146
+ areEqual(left, right) {
147
+ return JSON.stringify(left) === JSON.stringify(right);
148
+ }
149
+ /**
150
+ * Reads and normalises the cache file, self-healing the structure when the
151
+ * JSON is missing expected fields.
152
+ */
153
+ async readCacheFile() {
154
+ try {
155
+ const raw = await promises_1.default.readFile(this.cacheFilepath, 'utf-8');
156
+ const parsed = JSON.parse(raw);
157
+ if (typeof parsed !== 'object' || parsed === null) {
158
+ throw new Error('Invalid cache file format: expected an object with a caches array.');
159
+ }
160
+ if (!Array.isArray(parsed.caches)) {
161
+ parsed.caches = [];
162
+ await promises_1.default.writeFile(this.cacheFilepath, JSON.stringify(parsed, null, 2), 'utf-8');
163
+ }
164
+ return parsed.caches;
165
+ }
166
+ catch (error) {
167
+ if (error.code === 'ENOENT') {
168
+ return [];
169
+ }
170
+ throw error;
171
+ }
172
+ }
173
+ /**
174
+ * Writes the provided cache array back to disk using the canonical JSON
175
+ * structure.
176
+ */
177
+ async writeCacheFile(cache) {
178
+ await promises_1.default.writeFile(this.cacheFilepath, JSON.stringify({ caches: cache }, null, 2), 'utf-8');
179
+ }
180
+ /**
181
+ * Helper that serialises access to the cache file. The callback operates on
182
+ * the current in-memory cache and can optionally return a new array to persist.
183
+ */
184
+ async withCacheLock(operation) {
185
+ await this.ensureCacheFileExists();
186
+ const release = await LockFile.lock(this.cacheFilepath, {
187
+ retries: {
188
+ retries: 5,
189
+ minTimeout: 100,
190
+ maxTimeout: 1000,
191
+ },
192
+ });
193
+ try {
194
+ const currentCache = await this.readCacheFile();
195
+ const { cache, result } = await operation(currentCache);
196
+ if (cache !== currentCache) {
197
+ await this.writeCacheFile(cache);
198
+ }
199
+ return result;
200
+ }
201
+ finally {
202
+ await release();
203
+ }
204
+ }
205
+ }
206
+ exports.FilePageAiCache = FilePageAiCache;
207
+ //# sourceMappingURL=cache.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cache.js","sourceRoot":"","sources":["../../../../src/lib/pageAi/cache.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import { FlowMetadata } from '../../models/FlowMetadata';
2
+ import { ProposedToolCall } from '../../models/ProposedToolCall';
3
+ import { PageAiCacheEntry } from './cache';
4
+ type CacheMetadata = Pick<FlowMetadata, 'overallObjective' | 'resultJsonSchema' | 'allowedTools' | 'maxToolCalls'>;
5
+ /**
6
+ * Utility for translating flow metadata into cache entries. By centralising the
7
+ * logic here, both the runtime (`PageAi`) and the code generator can build
8
+ * matching cache files without duplicating knowledge about the schema.
9
+ */
10
+ export declare class PageAiCacheEntryBuilder {
11
+ /**
12
+ * Produces a cache entry that mirrors the format persisted by the runtime.
13
+ */
14
+ static fromMetadata(pageUrl: string, metadata: CacheMetadata, toolCallCache: ProposedToolCall[]): PageAiCacheEntry;
15
+ }
16
+ export {};
17
+ //# sourceMappingURL=cacheEntryBuilder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cacheEntryBuilder.d.ts","sourceRoot":"","sources":["../../../../src/lib/pageAi/cacheEntryBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAE3C,KAAK,aAAa,GAAG,IAAI,CACvB,YAAY,EACZ,kBAAkB,GAAG,kBAAkB,GAAG,cAAc,GAAG,cAAc,CAC1E,CAAC;AAEF;;;;GAIG;AACH,qBAAa,uBAAuB;IAClC;;OAEG;WACW,YAAY,CACxB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,aAAa,EACvB,aAAa,EAAE,gBAAgB,EAAE,GAChC,gBAAgB;CAUpB"}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PageAiCacheEntryBuilder = void 0;
4
+ /**
5
+ * Utility for translating flow metadata into cache entries. By centralising the
6
+ * logic here, both the runtime (`PageAi`) and the code generator can build
7
+ * matching cache files without duplicating knowledge about the schema.
8
+ */
9
+ class PageAiCacheEntryBuilder {
10
+ /**
11
+ * Produces a cache entry that mirrors the format persisted by the runtime.
12
+ */
13
+ static fromMetadata(pageUrl, metadata, toolCallCache) {
14
+ return {
15
+ pageUrl,
16
+ instruction: metadata.overallObjective,
17
+ schema: metadata.resultJsonSchema,
18
+ allowedTools: metadata.allowedTools,
19
+ maxToolCalls: metadata.maxToolCalls,
20
+ toolCallCache,
21
+ };
22
+ }
23
+ }
24
+ exports.PageAiCacheEntryBuilder = PageAiCacheEntryBuilder;
25
+ //# sourceMappingURL=cacheEntryBuilder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cacheEntryBuilder.js","sourceRoot":"","sources":["../../../../src/lib/pageAi/cacheEntryBuilder.ts"],"names":[],"mappings":";;;AASA;;;;GAIG;AACH,MAAa,uBAAuB;IAClC;;OAEG;IACI,MAAM,CAAC,YAAY,CACxB,OAAe,EACf,QAAuB,EACvB,aAAiC;QAEjC,OAAO;YACL,OAAO;YACP,WAAW,EAAE,QAAQ,CAAC,gBAAgB;YACtC,MAAM,EAAE,QAAQ,CAAC,gBAAgB;YACjC,YAAY,EAAE,QAAQ,CAAC,YAAY;YACnC,YAAY,EAAE,QAAQ,CAAC,YAAY;YACnC,aAAa;SACd,CAAC;IACJ,CAAC;CACF;AAlBD,0DAkBC"}
@@ -1 +1 @@
1
- {"version":3,"file":"testExtension.d.ts","sourceRoot":"","sources":["../../../src/lib/testExtension.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAqDjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAUpE,cAAc,iBAAiB,CAAC;AAoBhC,eAAO,MAAM,IAAI;mBACA,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,CAAC;gBACrD,SAAS;UACf,kBAAkB;wGAkcxB,CAAC"}
1
+ {"version":3,"file":"testExtension.d.ts","sourceRoot":"","sources":["../../../src/lib/testExtension.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAmDjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAgBpE,cAAc,iBAAiB,CAAC;AAoBhC,eAAO,MAAM,IAAI;mBACA,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,CAAC;gBACrD,SAAS;UACf,kBAAkB;wGAwHxB,CAAC"}