donobu 1.0.0 → 2.1.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.
- package/dist/apis/SpecialFlowsApi.d.ts +5 -2
- package/dist/apis/SpecialFlowsApi.js +46 -25
- package/dist/apis/SpecialFlowsApi.js.map +1 -1
- package/dist/assets/control-panel.js +16 -1
- package/dist/assets/generated/parameter-schemas.json +340 -94
- package/dist/assets/generated/version +1 -1
- package/dist/clients/AnthropicGptClient.js +1 -1
- package/dist/clients/AnthropicGptClient.js.map +1 -1
- package/dist/clients/GoogleGptClient.js +1 -1
- package/dist/clients/GoogleGptClient.js.map +1 -1
- package/dist/clients/OpenAiGptClient.js +1 -1
- package/dist/clients/OpenAiGptClient.js.map +1 -1
- package/dist/clients/VercelAiGptClient.d.ts +26 -0
- package/dist/clients/VercelAiGptClient.js +231 -0
- package/dist/clients/VercelAiGptClient.js.map +1 -0
- package/dist/envVars.d.ts +76 -0
- package/dist/envVars.js +80 -0
- package/dist/envVars.js.map +1 -0
- package/dist/esm/apis/SpecialFlowsApi.d.ts +5 -2
- package/dist/esm/apis/SpecialFlowsApi.js +46 -25
- package/dist/esm/apis/SpecialFlowsApi.js.map +1 -1
- package/dist/esm/assets/control-panel.js +16 -1
- package/dist/esm/assets/generated/parameter-schemas.json +340 -94
- package/dist/esm/assets/generated/version +1 -1
- package/dist/esm/clients/AnthropicGptClient.js +1 -1
- package/dist/esm/clients/AnthropicGptClient.js.map +1 -1
- package/dist/esm/clients/GoogleGptClient.js +1 -1
- package/dist/esm/clients/GoogleGptClient.js.map +1 -1
- package/dist/esm/clients/OpenAiGptClient.js +1 -1
- package/dist/esm/clients/OpenAiGptClient.js.map +1 -1
- package/dist/esm/clients/VercelAiGptClient.d.ts +26 -0
- package/dist/esm/clients/VercelAiGptClient.js +231 -0
- package/dist/esm/clients/VercelAiGptClient.js.map +1 -0
- package/dist/esm/envVars.d.ts +76 -0
- package/dist/esm/envVars.js +80 -0
- package/dist/esm/envVars.js.map +1 -0
- package/dist/esm/main.js +2 -2
- package/dist/esm/main.js.map +1 -1
- package/dist/esm/managers/AdminApiController.js +1 -1
- package/dist/esm/managers/AdminApiController.js.map +1 -1
- package/dist/esm/managers/AgentsManager.js +2 -1
- package/dist/esm/managers/AgentsManager.js.map +1 -1
- package/dist/esm/managers/CodeGenerator.d.ts +17 -0
- package/dist/esm/managers/CodeGenerator.js +258 -0
- package/dist/esm/managers/CodeGenerator.js.map +1 -0
- package/dist/esm/managers/DonobuFlow.d.ts +4 -4
- package/dist/esm/managers/DonobuFlow.js +73 -71
- package/dist/esm/managers/DonobuFlow.js.map +1 -1
- package/dist/esm/managers/DonobuFlowsManager.d.ts +3 -6
- package/dist/esm/managers/DonobuFlowsManager.js +38 -175
- package/dist/esm/managers/DonobuFlowsManager.js.map +1 -1
- package/dist/esm/managers/GptConfigsManager.d.ts +1 -1
- package/dist/esm/managers/GptConfigsManager.js +45 -25
- package/dist/esm/managers/GptConfigsManager.js.map +1 -1
- package/dist/esm/managers/ToolManager.d.ts +0 -5
- package/dist/esm/managers/ToolManager.js +3 -68
- package/dist/esm/managers/ToolManager.js.map +1 -1
- package/dist/esm/models/BrowserConfig.d.ts +65 -0
- package/dist/esm/models/BrowserConfig.js +4 -0
- package/dist/esm/models/BrowserConfig.js.map +1 -0
- package/dist/esm/models/BrowserFramework.d.ts +31 -4
- package/dist/esm/models/BrowserFramework.js +125 -7
- package/dist/esm/models/BrowserFramework.js.map +1 -1
- package/dist/esm/models/BrowserStateFlowReference.js +1 -0
- package/dist/esm/models/BrowserStateFlowReference.js.map +1 -1
- package/dist/esm/models/CreateDonobuFlow.d.ts +2 -27
- package/dist/esm/models/FlowMetadata.d.ts +6 -19
- package/dist/esm/models/FlowMetadata.js +1 -0
- package/dist/esm/models/FlowMetadata.js.map +1 -1
- package/dist/esm/models/GptConfig.d.ts +6 -1
- package/dist/esm/persistence/DonobuSqliteDb.js +75 -0
- package/dist/esm/persistence/DonobuSqliteDb.js.map +1 -1
- package/dist/esm/persistence/FlowsPersistenceFactoryImpl.d.ts +0 -4
- package/dist/esm/persistence/FlowsPersistenceFactoryImpl.js +5 -8
- package/dist/esm/persistence/FlowsPersistenceFactoryImpl.js.map +1 -1
- package/dist/esm/test.d.ts +12 -8
- package/dist/esm/test.js +52 -39
- package/dist/esm/test.js.map +1 -1
- package/dist/esm/tools/AssertPageTextTool.d.ts +19 -0
- package/dist/esm/tools/AssertPageTextTool.js +42 -0
- package/dist/esm/tools/AssertPageTextTool.js.map +1 -0
- package/dist/esm/tools/AssertTextVisibility.d.ts +19 -0
- package/dist/esm/tools/AssertTextVisibility.js +32 -0
- package/dist/esm/tools/AssertTextVisibility.js.map +1 -0
- package/dist/esm/tools/ExtractPublicFacebookEntityDataTool.js +33 -16
- package/dist/esm/tools/ExtractPublicFacebookEntityDataTool.js.map +1 -1
- package/dist/esm/utils/MiscUtils.js +2 -1
- package/dist/esm/utils/MiscUtils.js.map +1 -1
- package/dist/esm/utils/PlaywrightUtils.js +1 -2
- package/dist/esm/utils/PlaywrightUtils.js.map +1 -1
- package/dist/main.js +2 -2
- package/dist/main.js.map +1 -1
- package/dist/managers/AdminApiController.js +1 -1
- package/dist/managers/AdminApiController.js.map +1 -1
- package/dist/managers/AgentsManager.js +2 -1
- package/dist/managers/AgentsManager.js.map +1 -1
- package/dist/managers/CodeGenerator.d.ts +17 -0
- package/dist/managers/CodeGenerator.js +258 -0
- package/dist/managers/CodeGenerator.js.map +1 -0
- package/dist/managers/DonobuFlow.d.ts +4 -4
- package/dist/managers/DonobuFlow.js +73 -71
- package/dist/managers/DonobuFlow.js.map +1 -1
- package/dist/managers/DonobuFlowsManager.d.ts +3 -6
- package/dist/managers/DonobuFlowsManager.js +38 -175
- package/dist/managers/DonobuFlowsManager.js.map +1 -1
- package/dist/managers/GptConfigsManager.d.ts +1 -1
- package/dist/managers/GptConfigsManager.js +45 -25
- package/dist/managers/GptConfigsManager.js.map +1 -1
- package/dist/managers/ToolManager.d.ts +0 -5
- package/dist/managers/ToolManager.js +3 -68
- package/dist/managers/ToolManager.js.map +1 -1
- package/dist/models/BrowserConfig.d.ts +65 -0
- package/dist/models/BrowserConfig.js +4 -0
- package/dist/models/BrowserConfig.js.map +1 -0
- package/dist/models/BrowserFramework.d.ts +31 -4
- package/dist/models/BrowserFramework.js +125 -7
- package/dist/models/BrowserFramework.js.map +1 -1
- package/dist/models/BrowserStateFlowReference.js +1 -0
- package/dist/models/BrowserStateFlowReference.js.map +1 -1
- package/dist/models/CreateDonobuFlow.d.ts +2 -27
- package/dist/models/FlowMetadata.d.ts +6 -19
- package/dist/models/FlowMetadata.js +1 -0
- package/dist/models/FlowMetadata.js.map +1 -1
- package/dist/models/GptConfig.d.ts +6 -1
- package/dist/persistence/DonobuSqliteDb.js +75 -0
- package/dist/persistence/DonobuSqliteDb.js.map +1 -1
- package/dist/persistence/FlowsPersistenceFactoryImpl.d.ts +0 -4
- package/dist/persistence/FlowsPersistenceFactoryImpl.js +5 -8
- package/dist/persistence/FlowsPersistenceFactoryImpl.js.map +1 -1
- package/dist/test.d.ts +12 -8
- package/dist/test.js +52 -39
- package/dist/test.js.map +1 -1
- package/dist/tools/AssertPageTextTool.d.ts +19 -0
- package/dist/tools/AssertPageTextTool.js +42 -0
- package/dist/tools/AssertPageTextTool.js.map +1 -0
- package/dist/tools/AssertTextVisibility.d.ts +19 -0
- package/dist/tools/AssertTextVisibility.js +32 -0
- package/dist/tools/AssertTextVisibility.js.map +1 -0
- package/dist/tools/ExtractPublicFacebookEntityDataTool.js +33 -16
- package/dist/tools/ExtractPublicFacebookEntityDataTool.js.map +1 -1
- package/dist/utils/MiscUtils.js +2 -1
- package/dist/utils/MiscUtils.js.map +1 -1
- package/dist/utils/PlaywrightUtils.js +1 -2
- package/dist/utils/PlaywrightUtils.js.map +1 -1
- package/package.json +7 -5
|
@@ -88,6 +88,81 @@ CREATE TABLE IF NOT EXISTS gpt_configs (
|
|
|
88
88
|
);`);
|
|
89
89
|
},
|
|
90
90
|
},
|
|
91
|
+
{
|
|
92
|
+
// Update the flow JSON metadata schema.
|
|
93
|
+
version: 4,
|
|
94
|
+
up: (db) => {
|
|
95
|
+
// For each row in the flow_metadata table...
|
|
96
|
+
// 1. Load the metadata field.
|
|
97
|
+
// 2. Parse it as JSON data.
|
|
98
|
+
// 3. Update the JSON data such that...
|
|
99
|
+
// a. There is a new field called "browser" that is an object.
|
|
100
|
+
// b. The "initialBrowserState" field is moved to the "browser" object as "initialState".
|
|
101
|
+
// c. The "persistBrowserState" field is moved to the "browser" object as "persistState".
|
|
102
|
+
// d. There is a field in all "browser" objects called "using" that is an object.
|
|
103
|
+
// e. If there is a non-null "remoteBrowserInstanceUrl" field, then...
|
|
104
|
+
// i. The "remoteBrowserInstanceUrl" field is moved to the "using" object as "url".
|
|
105
|
+
// ii. The "type" field in the "using" object is set to "remoteInstance".
|
|
106
|
+
// f. If the "remoteBrowserInstanceUrl" field is null, then...
|
|
107
|
+
// i. The "deviceName" field is moved to the "using" object. If "deviceName" is null,
|
|
108
|
+
// then it is defaulted to "Desktop Chromium".
|
|
109
|
+
// ii. The "headless" field is moved to the "using" object.
|
|
110
|
+
// iii. The "type" field in the "using" object is set to "device".
|
|
111
|
+
// g. The original top-level "initialBrowserState" field is removed.
|
|
112
|
+
// h. The original top-level "persistBrowserState" field is removed.
|
|
113
|
+
// i. The original top-level "remoteBrowserInstanceUrl" field is removed.
|
|
114
|
+
// j. The original top-level "deviceName" field is removed.
|
|
115
|
+
// k. The original top-level "headless" field is removed.
|
|
116
|
+
// 4. Save the JSON data back to the metadata field.
|
|
117
|
+
// Get all rows from the flow_metadata table.
|
|
118
|
+
const flows = db
|
|
119
|
+
.prepare('SELECT id, metadata FROM flow_metadata')
|
|
120
|
+
.all();
|
|
121
|
+
// Prepare the update statement.
|
|
122
|
+
const updateStmt = db.prepare('UPDATE flow_metadata SET metadata = ? WHERE id = ?');
|
|
123
|
+
// Process each flow's metadata.
|
|
124
|
+
for (const flow of flows) {
|
|
125
|
+
try {
|
|
126
|
+
// Parse the metadata JSON.
|
|
127
|
+
const metadata = JSON.parse(flow.metadata);
|
|
128
|
+
// Create the new browser object structure.
|
|
129
|
+
metadata.browser = {
|
|
130
|
+
initialState: metadata.initialBrowserState || null,
|
|
131
|
+
persistState: metadata.persistBrowserState || false,
|
|
132
|
+
using: {},
|
|
133
|
+
};
|
|
134
|
+
// Determine the browser type and populate the 'using' object.
|
|
135
|
+
if (metadata.remoteBrowserInstanceUrl) {
|
|
136
|
+
// Remote browser instance configuration.
|
|
137
|
+
metadata.browser.using = {
|
|
138
|
+
type: 'remoteInstance',
|
|
139
|
+
url: metadata.remoteBrowserInstanceUrl,
|
|
140
|
+
};
|
|
141
|
+
}
|
|
142
|
+
else {
|
|
143
|
+
// Local device configuration.
|
|
144
|
+
metadata.browser.using = {
|
|
145
|
+
type: 'device',
|
|
146
|
+
deviceName: metadata.deviceName || 'Desktop Chromium',
|
|
147
|
+
headless: metadata.headless !== undefined ? metadata.headless : false,
|
|
148
|
+
};
|
|
149
|
+
}
|
|
150
|
+
// Remove the old fields.
|
|
151
|
+
delete metadata.initialBrowserState;
|
|
152
|
+
delete metadata.persistBrowserState;
|
|
153
|
+
delete metadata.remoteBrowserInstanceUrl;
|
|
154
|
+
delete metadata.deviceName;
|
|
155
|
+
delete metadata.headless;
|
|
156
|
+
// Update the database with the modified metadata.
|
|
157
|
+
updateStmt.run(JSON.stringify(metadata), flow.id);
|
|
158
|
+
}
|
|
159
|
+
catch (error) {
|
|
160
|
+
console.error(`Error updating metadata for flow ${flow.id}:`, error);
|
|
161
|
+
// Continue processing other flows even if one fails.
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
},
|
|
165
|
+
},
|
|
91
166
|
];
|
|
92
167
|
/**
|
|
93
168
|
* Create the SQL schema migrations table that can be used to manage table
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DonobuSqliteDb.js","sourceRoot":"","sources":["../../src/persistence/DonobuSqliteDb.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"DonobuSqliteDb.js","sourceRoot":"","sources":["../../src/persistence/DonobuSqliteDb.ts"],"names":[],"mappings":";;;;;AA8RS,0DAAuB;AAAE,8DAAyB;AA9R3D,gDAAwB;AACxB,4CAAoB;AACpB,oEAAsC;AACtC,kDAA+C;AAE/C,IAAI,QAAQ,GAA6B,IAAI,CAAC;AAO9C;;;;;;;;;GASG;AACH,MAAM,UAAU,GAAgB;IAC9B;QACE,wCAAwC;QACxC,OAAO,EAAE,CAAC;QACV,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE;YACT,EAAE,CAAC,IAAI,CAAC;;;;;;;8BAOgB,CAAC,CAAC;QAC5B,CAAC;KACF;IACD;QACE,OAAO,EAAE,CAAC;QACV,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE;YACT,yCAAyC;YACzC,EAAE,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0BAmCY,CAAC,CAAC;QACxB,CAAC;KACF;IACD;QACE,+BAA+B;QAC/B,OAAO,EAAE,CAAC;QACV,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE;YACT,EAAE,CAAC,IAAI,CAAC;;;;GAIX,CAAC,CAAC;QACD,CAAC;KACF;IACD;QACE,wCAAwC;QACxC,OAAO,EAAE,CAAC;QACV,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE;YACT,6CAA6C;YAC7C,8BAA8B;YAC9B,4BAA4B;YAC5B,uCAAuC;YACvC,iEAAiE;YACjE,4FAA4F;YAC5F,4FAA4F;YAC5F,oFAAoF;YACpF,yEAAyE;YACzE,yFAAyF;YACzF,+EAA+E;YAC/E,iEAAiE;YACjE,2FAA2F;YAC3F,uDAAuD;YACvD,iEAAiE;YACjE,wEAAwE;YACxE,uEAAuE;YACvE,uEAAuE;YACvE,4EAA4E;YAC5E,8DAA8D;YAC9D,4DAA4D;YAC5D,oDAAoD;YAEpD,6CAA6C;YAC7C,MAAM,KAAK,GAAG,EAAE;iBACb,OAAO,CAAC,wCAAwC,CAAC;iBACjD,GAAG,EAAwC,CAAC;YAE/C,gCAAgC;YAChC,MAAM,UAAU,GAAG,EAAE,CAAC,OAAO,CAC3B,oDAAoD,CACrD,CAAC;YAEF,gCAAgC;YAChC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,IAAI,CAAC;oBACH,2BAA2B;oBAC3B,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBAE3C,2CAA2C;oBAC3C,QAAQ,CAAC,OAAO,GAAG;wBACjB,YAAY,EAAE,QAAQ,CAAC,mBAAmB,IAAI,IAAI;wBAClD,YAAY,EAAE,QAAQ,CAAC,mBAAmB,IAAI,KAAK;wBACnD,KAAK,EAAE,EAAE;qBACV,CAAC;oBAEF,8DAA8D;oBAC9D,IAAI,QAAQ,CAAC,wBAAwB,EAAE,CAAC;wBACtC,yCAAyC;wBACzC,QAAQ,CAAC,OAAO,CAAC,KAAK,GAAG;4BACvB,IAAI,EAAE,gBAAgB;4BACtB,GAAG,EAAE,QAAQ,CAAC,wBAAwB;yBACvC,CAAC;oBACJ,CAAC;yBAAM,CAAC;wBACN,8BAA8B;wBAC9B,QAAQ,CAAC,OAAO,CAAC,KAAK,GAAG;4BACvB,IAAI,EAAE,QAAQ;4BACd,UAAU,EAAE,QAAQ,CAAC,UAAU,IAAI,kBAAkB;4BACrD,QAAQ,EACN,QAAQ,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK;yBAC9D,CAAC;oBACJ,CAAC;oBAED,yBAAyB;oBACzB,OAAO,QAAQ,CAAC,mBAAmB,CAAC;oBACpC,OAAO,QAAQ,CAAC,mBAAmB,CAAC;oBACpC,OAAO,QAAQ,CAAC,wBAAwB,CAAC;oBACzC,OAAO,QAAQ,CAAC,UAAU,CAAC;oBAC3B,OAAO,QAAQ,CAAC,QAAQ,CAAC;oBAEzB,kDAAkD;oBAClD,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;gBACpD,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO,CAAC,KAAK,CAAC,oCAAoC,IAAI,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;oBACrE,qDAAqD;gBACvD,CAAC;YACH,CAAC;QACH,CAAC;KACF;CACF,CAAC;AAEF;;;GAGG;AACH,SAAS,mBAAmB,CAAC,EAAqB;IAChD,EAAE,CAAC,IAAI,CAAC;;;;;GAKP,CAAC,CAAC;AACL,CAAC;AAED,SAAS,eAAe,CAAC,EAAqB;IAC5C,4EAA4E;IAC5E,SAAS;IACT,MAAM,aAAa,GAAG,IAAI,GAAG,EAAkB,CAAC;IAChD,MAAM,iBAAiB,GAAa,EAAE,CAAC;IAEvC,qCAAqC;IACrC,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,MAAM,KAAK,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QAC9D,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAE5C,mEAAmE;QACnE,IAAI,KAAK,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;YAChE,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;IAED,0CAA0C;IAC1C,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CACb,4CAA4C,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;YAC1E,mDAAmD,CACtD,CAAC;IACJ,CAAC;IAED,uBAAuB;IACvB,MAAM,qBAAqB,GAAG,EAAE,CAAC,OAAO,CACtC,+DAA+D,CAChE,CAAC;IACF,MAAM,MAAM,GAAG,qBAAqB,CAAC,GAAG,EAEvC,CAAC;IACF,MAAM,cAAc,GAAG,MAAM,CAAC,eAAe,IAAI,CAAC,CAAC;IAEnD,2CAA2C;IAC3C,MAAM,iBAAiB,GAAG,UAAU;SACjC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,GAAG,cAAc,CAAC;SACzC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC;IAEzC,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACjC,MAAM,WAAW,GAAG,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE;YACtC,KAAK,MAAM,SAAS,IAAI,iBAAiB,EAAE,CAAC;gBAC1C,OAAO,CAAC,GAAG,CAAC,sBAAsB,SAAS,CAAC,OAAO,KAAK,CAAC,CAAC;gBAC1D,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;gBACjB,oBAAoB;gBACpB,MAAM,mBAAmB,GAAG,EAAE,CAAC,OAAO,CACpC,mEAAmE,CACpE,CAAC;gBACF,mBAAmB,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;YACvE,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,WAAW,EAAE,CAAC;IAChB,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,SAAS,uBAAuB;IAC9B,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,MAAM,WAAW,GAAG,qBAAS,CAAC,oBAAoB,EAAE,CAAC;IAErD,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAChC,YAAE,CAAC,SAAS,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACjD,CAAC;IAED,MAAM,UAAU,GAAG,cAAI,CAAC,IAAI,CAC1B,qBAAS,CAAC,oBAAoB,EAAE,EAChC,iBAAiB,CAClB,CAAC;IACF,uBAAuB;IACvB,MAAM,cAAc,GAAG,IAAI,wBAAQ,CAAC,UAAU,CAAsB,CAAC;IACrE,iCAAiC;IACjC,cAAc,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;IAC5C,cAAc,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;IAC3C,iBAAiB;IACjB,mBAAmB,CAAC,cAAc,CAAC,CAAC;IACpC,eAAe,CAAC,cAAc,CAAC,CAAC;IAChC,iCAAiC;IACjC,QAAQ,GAAG,cAAc,CAAC;IAC1B,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;GAEG;AACH,SAAS,yBAAyB;IAChC,IAAI,QAAQ,EAAE,CAAC;QACb,QAAQ,CAAC,KAAK,EAAE,CAAC;QACjB,QAAQ,GAAG,IAAI,CAAC;IAClB,CAAC;AACH,CAAC"}
|
|
@@ -14,10 +14,6 @@ export declare class FlowsPersistenceFactoryImpl implements FlowsPersistenceFact
|
|
|
14
14
|
private readonly googleCloudStorageBucket;
|
|
15
15
|
private readonly supabaseJwtSecretKey;
|
|
16
16
|
private readonly requestContextHolder;
|
|
17
|
-
private static readonly AWS_S3_BUCKET_KEY;
|
|
18
|
-
private static readonly AWS_S3_REGION_KEY;
|
|
19
|
-
private static readonly GOOGLE_CLOUD_STORAGE_BUCKET_ENV;
|
|
20
|
-
private static readonly SUPABASE_JWT_SECRET_KEY_ENV;
|
|
21
17
|
/**
|
|
22
18
|
* Creates an instance.
|
|
23
19
|
*
|
|
@@ -17,6 +17,7 @@ const FlowsPersistenceSqlite_1 = require("./FlowsPersistenceSqlite");
|
|
|
17
17
|
const Logger_1 = require("../utils/Logger");
|
|
18
18
|
const MiscUtils_1 = require("../utils/MiscUtils");
|
|
19
19
|
const DonobuSqliteDb_1 = require("./DonobuSqliteDb");
|
|
20
|
+
const envVars_1 = require("../envVars");
|
|
20
21
|
/**
|
|
21
22
|
* A factory class for creating new FlowsPersistence instances. The type of persistence
|
|
22
23
|
* objects created varies depending on this factory's constructor arguments and the current API
|
|
@@ -29,10 +30,6 @@ class FlowsPersistenceFactoryImpl {
|
|
|
29
30
|
googleCloudStorageBucket;
|
|
30
31
|
supabaseJwtSecretKey;
|
|
31
32
|
requestContextHolder;
|
|
32
|
-
static AWS_S3_BUCKET_KEY = 'AWS_S3_BUCKET';
|
|
33
|
-
static AWS_S3_REGION_KEY = 'AWS_S3_REGION';
|
|
34
|
-
static GOOGLE_CLOUD_STORAGE_BUCKET_ENV = 'GOOGLE_CLOUD_STORAGE_BUCKET';
|
|
35
|
-
static SUPABASE_JWT_SECRET_KEY_ENV = 'SUPABASE_JWT_SECRET_KEY';
|
|
36
33
|
/**
|
|
37
34
|
* Creates an instance.
|
|
38
35
|
*
|
|
@@ -72,10 +69,10 @@ class FlowsPersistenceFactoryImpl {
|
|
|
72
69
|
if (deploymentEnvironment === DonobuDeploymentEnvironment_1.DonobuDeploymentEnvironment.LOCAL) {
|
|
73
70
|
await FlowsPersistenceFactoryImpl.migrateToSqlite();
|
|
74
71
|
}
|
|
75
|
-
const awsS3Bucket = process.env[
|
|
76
|
-
const awsS3Region = process.env[
|
|
77
|
-
const googleCloudStorageBucket = process.env[
|
|
78
|
-
const supabaseJwtSecretKey = process.env[
|
|
72
|
+
const awsS3Bucket = process.env[envVars_1.ENV_VAR_NAMES.AWS_S3_BUCKET];
|
|
73
|
+
const awsS3Region = process.env[envVars_1.ENV_VAR_NAMES.AWS_S3_REGION];
|
|
74
|
+
const googleCloudStorageBucket = process.env[envVars_1.ENV_VAR_NAMES.GOOGLE_CLOUD_STORAGE_BUCKET];
|
|
75
|
+
const supabaseJwtSecretKey = process.env[envVars_1.ENV_VAR_NAMES.SUPABASE_JWT_SECRET_KEY];
|
|
79
76
|
return new FlowsPersistenceFactoryImpl(deploymentEnvironment, awsS3Bucket ? awsS3Bucket : null, awsS3Region ? awsS3Region : null, googleCloudStorageBucket ? googleCloudStorageBucket : null, supabaseJwtSecretKey ? supabaseJwtSecretKey : null, requestContextHolder);
|
|
80
77
|
}
|
|
81
78
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FlowsPersistenceFactoryImpl.js","sourceRoot":"","sources":["../../src/persistence/FlowsPersistenceFactoryImpl.ts"],"names":[],"mappings":";;;;;;AAAA,2DAA6B;AAC7B,gDAAwB;AACxB,qGAAkG;AAElG,6FAA0F;AAC1F,6EAA0E;AAC1E,yEAAsE;AACtE,8DAA2D;AAE3D,uFAAoF;AAEpF,mEAAgE;AAChE,qEAAkE;AAClE,4CAAyC;AACzC,kDAA+C;AAC/C,qDAA2D;
|
|
1
|
+
{"version":3,"file":"FlowsPersistenceFactoryImpl.js","sourceRoot":"","sources":["../../src/persistence/FlowsPersistenceFactoryImpl.ts"],"names":[],"mappings":"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"}
|
package/dist/test.d.ts
CHANGED
|
@@ -19,12 +19,15 @@ import { SelectorBasedPressKeyToolParameters } from './tools/PressKeyTool';
|
|
|
19
19
|
import { ScrollPageToolCoreParameters } from './tools/ScrollPageTool';
|
|
20
20
|
import { SelectorBasedHoverOverElementToolParameters } from './tools/HoverOverElementTool';
|
|
21
21
|
import { SelectorBasedClickToolParameters } from './tools/ClickTool';
|
|
22
|
+
import { LanguageModel } from 'ai';
|
|
23
|
+
import { AssertPageTextToolCoreParameters } from './tools/AssertPageTextTool';
|
|
22
24
|
/**
|
|
23
25
|
* Extends the Page object with additional test-related methods.
|
|
24
26
|
*/
|
|
25
27
|
interface DonobuExtendedPage extends Page {
|
|
26
28
|
run(toolName: string, toolParams?: any): Promise<ToolCallResult>;
|
|
27
29
|
analyzePageText(params: AnalyzePageTextToolCoreParameters): Promise<ToolCallResult>;
|
|
30
|
+
assertPageText(params: AssertPageTextToolCoreParameters): Promise<ToolCallResult>;
|
|
28
31
|
chooseSelectOption(params: SelectorBasedChooseSelectOptionToolParameters): Promise<ToolCallResult>;
|
|
29
32
|
clickElement(params: SelectorBasedClickToolParameters): Promise<ToolCallResult>;
|
|
30
33
|
createCookieReport(): Promise<ToolCallResult>;
|
|
@@ -50,14 +53,15 @@ type DonobuParams = {
|
|
|
50
53
|
};
|
|
51
54
|
export declare function getBrowserStorageState(flowIdOrName: BrowserStateFlowReference): Promise<BrowserStorageState>;
|
|
52
55
|
export declare function getBrowserStorageStateFixture(flowIdOrName: BrowserStateFlowReference): TestFixture<BrowserStorageState, any>;
|
|
53
|
-
export declare function
|
|
54
|
-
export declare function
|
|
55
|
-
export declare function
|
|
56
|
-
export declare function
|
|
57
|
-
export declare function
|
|
58
|
-
export declare function
|
|
59
|
-
export declare function
|
|
60
|
-
export declare function
|
|
56
|
+
export declare function anthropicClient(modelName: string, apiKey?: string): Promise<GptClient>;
|
|
57
|
+
export declare function anthropicClientFixture(modelName: string, apiKey?: string): TestFixture<GptClient, any>;
|
|
58
|
+
export declare function anthropicAwsBedrockClient(modelName: string, region: string, accessKeyId?: string, secretAccessKey?: string): Promise<GptClient>;
|
|
59
|
+
export declare function anthropicAwsBedrockClientFixture(modelName: string, region: string, accessKeyId?: string, secretAccessKey?: string): TestFixture<GptClient, any>;
|
|
60
|
+
export declare function googleGeminiClient(modelName: string, apiKey?: string): Promise<GptClient>;
|
|
61
|
+
export declare function googleGeminiClientFixture(modelName: string, apiKey?: string): TestFixture<GptClient, any>;
|
|
62
|
+
export declare function openAiClient(modelName: string, apiKey?: string): Promise<GptClient>;
|
|
63
|
+
export declare function openAiClientFixture(modelName: string, apiKey?: string): TestFixture<GptClient, any>;
|
|
64
|
+
export declare function vercelAiClientFixture(model: LanguageModel): TestFixture<GptClient, any>;
|
|
61
65
|
export declare const test: import("@playwright/test").TestType<import("@playwright/test").PlaywrightTestArgs & import("@playwright/test").PlaywrightTestOptions & {
|
|
62
66
|
storageState?: BrowserStorageState | Promise<BrowserStorageState>;
|
|
63
67
|
gptClient?: GptClient;
|
package/dist/test.js
CHANGED
|
@@ -6,14 +6,15 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
exports.test = void 0;
|
|
7
7
|
exports.getBrowserStorageState = getBrowserStorageState;
|
|
8
8
|
exports.getBrowserStorageStateFixture = getBrowserStorageStateFixture;
|
|
9
|
-
exports.
|
|
10
|
-
exports.
|
|
11
|
-
exports.
|
|
12
|
-
exports.
|
|
13
|
-
exports.
|
|
14
|
-
exports.
|
|
15
|
-
exports.
|
|
16
|
-
exports.
|
|
9
|
+
exports.anthropicClient = anthropicClient;
|
|
10
|
+
exports.anthropicClientFixture = anthropicClientFixture;
|
|
11
|
+
exports.anthropicAwsBedrockClient = anthropicAwsBedrockClient;
|
|
12
|
+
exports.anthropicAwsBedrockClientFixture = anthropicAwsBedrockClientFixture;
|
|
13
|
+
exports.googleGeminiClient = googleGeminiClient;
|
|
14
|
+
exports.googleGeminiClientFixture = googleGeminiClientFixture;
|
|
15
|
+
exports.openAiClient = openAiClient;
|
|
16
|
+
exports.openAiClientFixture = openAiClientFixture;
|
|
17
|
+
exports.vercelAiClientFixture = vercelAiClientFixture;
|
|
17
18
|
/**
|
|
18
19
|
* This code extends the Playwright Page object and test fixture with
|
|
19
20
|
* test-related Donobu methods.
|
|
@@ -35,6 +36,7 @@ const GptConfigsPersistenceSqlite_1 = require("./persistence/GptConfigsPersisten
|
|
|
35
36
|
const DonobuSqliteDb_1 = require("./persistence/DonobuSqliteDb");
|
|
36
37
|
const AgentsPersistenceSqlite_1 = require("./persistence/AgentsPersistenceSqlite");
|
|
37
38
|
const GptClientFactory_1 = require("./clients/GptClientFactory");
|
|
39
|
+
const VercelAiGptClient_1 = require("./clients/VercelAiGptClient");
|
|
38
40
|
async function setupDonobu() {
|
|
39
41
|
const donobuVersion = MiscUtils_1.MiscUtils.DONOBU_VERSION;
|
|
40
42
|
const deploymentEnvironment = DonobuDeploymentEnvironment_1.DonobuDeploymentEnvironment.LOCAL;
|
|
@@ -45,7 +47,7 @@ async function setupDonobu() {
|
|
|
45
47
|
const agentsManager = await AgentsManager_1.AgentsManager.create(agentsPersistence, gptConfigsManager);
|
|
46
48
|
const flowsPersistenceFactory = await FlowsPersistenceFactoryImpl_1.FlowsPersistenceFactoryImpl.fromEnvironment(DonobuDeploymentEnvironment_1.DonobuDeploymentEnvironment.LOCAL, new RequestContextHolder_1.RequestContextHolder());
|
|
47
49
|
const toolManager = new ToolManager_1.ToolManager(ToolManager_1.ToolManager.ALL_TOOLS);
|
|
48
|
-
const flowsManager = new DonobuFlowsManager_1.DonobuFlowsManager(deploymentEnvironment, gptConfigsManager, agentsManager, flowsPersistenceFactory
|
|
50
|
+
const flowsManager = new DonobuFlowsManager_1.DonobuFlowsManager(deploymentEnvironment, gptConfigsManager, agentsManager, flowsPersistenceFactory);
|
|
49
51
|
const persistenceLayer = await flowsPersistenceFactory.createPersistenceLayer();
|
|
50
52
|
return {
|
|
51
53
|
donobuVersion,
|
|
@@ -65,7 +67,7 @@ function getBrowserStorageStateFixture(flowIdOrName) {
|
|
|
65
67
|
await use(storage);
|
|
66
68
|
};
|
|
67
69
|
}
|
|
68
|
-
async function
|
|
70
|
+
async function anthropicClient(modelName, apiKey) {
|
|
69
71
|
const divinedApiKey = apiKey || process.env.ANTHROPIC_API_KEY;
|
|
70
72
|
if (!divinedApiKey) {
|
|
71
73
|
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.');
|
|
@@ -76,13 +78,33 @@ async function getAnthropicClient(modelName, apiKey) {
|
|
|
76
78
|
modelName: modelName,
|
|
77
79
|
});
|
|
78
80
|
}
|
|
79
|
-
function
|
|
81
|
+
function anthropicClientFixture(modelName, apiKey) {
|
|
80
82
|
return async ({}, use) => {
|
|
81
|
-
const client = await
|
|
83
|
+
const client = await anthropicClient(modelName, apiKey);
|
|
82
84
|
await use(client);
|
|
83
85
|
};
|
|
84
86
|
}
|
|
85
|
-
async function
|
|
87
|
+
async function anthropicAwsBedrockClient(modelName, region, accessKeyId, secretAccessKey) {
|
|
88
|
+
const divinedAccessKeyId = accessKeyId || process.env.AWS_ACCESS_KEY_ID;
|
|
89
|
+
const divinedSecretAccessKey = secretAccessKey || process.env.AWS_SECRET_ACCESS_KEY;
|
|
90
|
+
if (!divinedAccessKeyId || !divinedSecretAccessKey) {
|
|
91
|
+
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.');
|
|
92
|
+
}
|
|
93
|
+
return GptClientFactory_1.GptClientFactory.createFromGptConfig({
|
|
94
|
+
type: 'ANTHROPIC_AWS_BEDROCK',
|
|
95
|
+
region: region,
|
|
96
|
+
modelName: modelName,
|
|
97
|
+
accessKeyId: divinedAccessKeyId,
|
|
98
|
+
secretAccessKey: divinedSecretAccessKey,
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
function anthropicAwsBedrockClientFixture(modelName, region, accessKeyId, secretAccessKey) {
|
|
102
|
+
return async ({}, use) => {
|
|
103
|
+
const client = await anthropicAwsBedrockClient(modelName, region, accessKeyId, secretAccessKey);
|
|
104
|
+
await use(client);
|
|
105
|
+
};
|
|
106
|
+
}
|
|
107
|
+
async function googleGeminiClient(modelName, apiKey) {
|
|
86
108
|
const divinedApiKey = apiKey || process.env.GOOGLE_GENERATIVE_AI_API_KEY;
|
|
87
109
|
if (!divinedApiKey) {
|
|
88
110
|
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.');
|
|
@@ -93,13 +115,13 @@ async function getGoogleGeminiClient(modelName, apiKey) {
|
|
|
93
115
|
modelName: modelName,
|
|
94
116
|
});
|
|
95
117
|
}
|
|
96
|
-
function
|
|
118
|
+
function googleGeminiClientFixture(modelName, apiKey) {
|
|
97
119
|
return async ({}, use) => {
|
|
98
|
-
const client = await
|
|
120
|
+
const client = await googleGeminiClient(modelName, apiKey);
|
|
99
121
|
await use(client);
|
|
100
122
|
};
|
|
101
123
|
}
|
|
102
|
-
async function
|
|
124
|
+
async function openAiClient(modelName, apiKey) {
|
|
103
125
|
const divinedApiKey = apiKey || process.env.OPENAI_API_KEY;
|
|
104
126
|
if (!divinedApiKey) {
|
|
105
127
|
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.');
|
|
@@ -110,29 +132,15 @@ async function getOpenAiClient(modelName, apiKey) {
|
|
|
110
132
|
modelName: modelName,
|
|
111
133
|
});
|
|
112
134
|
}
|
|
113
|
-
function
|
|
135
|
+
function openAiClientFixture(modelName, apiKey) {
|
|
114
136
|
return async ({}, use) => {
|
|
115
|
-
const client = await
|
|
137
|
+
const client = await openAiClient(modelName, apiKey);
|
|
116
138
|
await use(client);
|
|
117
139
|
};
|
|
118
140
|
}
|
|
119
|
-
|
|
120
|
-
const divinedAccessKeyId = accessKeyId || process.env.AWS_ACCESS_KEY_ID;
|
|
121
|
-
const divinedSecretAccessKey = secretAccessKey || process.env.AWS_SECRET_ACCESS_KEY;
|
|
122
|
-
if (!divinedAccessKeyId || !divinedSecretAccessKey) {
|
|
123
|
-
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.');
|
|
124
|
-
}
|
|
125
|
-
return GptClientFactory_1.GptClientFactory.createFromGptConfig({
|
|
126
|
-
type: 'ANTHROPIC_AWS_BEDROCK',
|
|
127
|
-
region: region,
|
|
128
|
-
modelName: modelName,
|
|
129
|
-
accessKeyId: divinedAccessKeyId,
|
|
130
|
-
secretAccessKey: divinedSecretAccessKey,
|
|
131
|
-
});
|
|
132
|
-
}
|
|
133
|
-
function getAnthropicAwsBedrockClientFixture(modelName, region, accessKeyId, secretAccessKey) {
|
|
141
|
+
function vercelAiClientFixture(model) {
|
|
134
142
|
return async ({}, use) => {
|
|
135
|
-
const client =
|
|
143
|
+
const client = new VercelAiGptClient_1.VercelAiGptClient(model);
|
|
136
144
|
await use(client);
|
|
137
145
|
};
|
|
138
146
|
}
|
|
@@ -167,18 +175,20 @@ exports.test = test_1.test.extend({
|
|
|
167
175
|
id: crypto_1.default.randomUUID(),
|
|
168
176
|
name: testInfo.title,
|
|
169
177
|
createdWithDonobuVersion: donobu.donobuVersion,
|
|
170
|
-
|
|
171
|
-
|
|
178
|
+
browser: {
|
|
179
|
+
using: {
|
|
180
|
+
type: 'device',
|
|
181
|
+
deviceName: 'Desktop Chromium',
|
|
182
|
+
headless: true,
|
|
183
|
+
},
|
|
184
|
+
},
|
|
172
185
|
gptConfigName: null,
|
|
173
186
|
hasGptConfigNameOverride: false,
|
|
174
187
|
customTools: null,
|
|
175
188
|
defaultToolTipDurationMilliseconds: 0,
|
|
176
189
|
runMode: FlowMetadata_1.RunMode.DETERMINISTIC,
|
|
177
190
|
isControlPanelEnabled: false,
|
|
178
|
-
deviceName: null,
|
|
179
|
-
remoteBrowserInstanceUrl: null,
|
|
180
191
|
callbackUrl: null,
|
|
181
|
-
headless: true,
|
|
182
192
|
targetWebsite: 'https://example.com',
|
|
183
193
|
overallObjective: null,
|
|
184
194
|
allowedTools: [],
|
|
@@ -233,6 +243,9 @@ exports.test = test_1.test.extend({
|
|
|
233
243
|
page.analyzePageText = async (params) => {
|
|
234
244
|
return page.run('analyzePageText', params);
|
|
235
245
|
};
|
|
246
|
+
page.assertPageText = async (params) => {
|
|
247
|
+
return page.run('assertPageText', params);
|
|
248
|
+
};
|
|
236
249
|
page.chooseSelectOption = async (params) => {
|
|
237
250
|
return page.run('chooseSelectOption', params);
|
|
238
251
|
};
|
package/dist/test.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test.js","sourceRoot":"","sources":["../src/test.ts"],"names":[],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"test.js","sourceRoot":"","sources":["../src/test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { Tool } from './Tool';
|
|
2
|
+
import { ToolCallContext } from '../models/ToolCallContext';
|
|
3
|
+
import { ToolCallResult } from '../models/ToolCallResult';
|
|
4
|
+
import { BaseToolGptParameters } from '../models/BaseToolGptParameters';
|
|
5
|
+
export interface AssertPageTextToolCoreParameters {
|
|
6
|
+
/**
|
|
7
|
+
* The text to check visibility for in the current page.
|
|
8
|
+
*/
|
|
9
|
+
text: string;
|
|
10
|
+
}
|
|
11
|
+
interface AssertPageTextToolGptParameters extends BaseToolGptParameters, AssertPageTextToolCoreParameters {
|
|
12
|
+
}
|
|
13
|
+
export declare class AssertPageTextTool extends Tool<AssertPageTextToolCoreParameters, AssertPageTextToolGptParameters> {
|
|
14
|
+
static readonly NAME = "assertPageText";
|
|
15
|
+
constructor();
|
|
16
|
+
call(context: ToolCallContext, parameters: AssertPageTextToolCoreParameters): Promise<ToolCallResult>;
|
|
17
|
+
callFromGpt(context: ToolCallContext, parameters: AssertPageTextToolGptParameters): Promise<ToolCallResult>;
|
|
18
|
+
}
|
|
19
|
+
export {};
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AssertPageTextTool = void 0;
|
|
4
|
+
const Tool_1 = require("./Tool");
|
|
5
|
+
const ToolCallResult_1 = require("../models/ToolCallResult");
|
|
6
|
+
class AssertPageTextTool extends Tool_1.Tool {
|
|
7
|
+
static NAME = 'assertPageText';
|
|
8
|
+
constructor() {
|
|
9
|
+
super(AssertPageTextTool.NAME, 'This method will test that the given text is visible in the current page.', 'AssertPageTextToolCoreParameters', 'AssertPageTextToolGptParameters', true);
|
|
10
|
+
}
|
|
11
|
+
async call(context, parameters) {
|
|
12
|
+
const locator = context.page.getByText(parameters.text);
|
|
13
|
+
const count = await locator.count();
|
|
14
|
+
const elementWasFoundWithText = count > 0;
|
|
15
|
+
for (let i = 0; i < count; ++i) {
|
|
16
|
+
const element = locator.nth(i);
|
|
17
|
+
await element.scrollIntoViewIfNeeded();
|
|
18
|
+
if (await element.isVisible()) {
|
|
19
|
+
return ToolCallResult_1.ToolCallResult.successful();
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
if (elementWasFoundWithText) {
|
|
23
|
+
return {
|
|
24
|
+
isSuccessful: false,
|
|
25
|
+
forLlm: `The text "${parameters.text}" was found in the page, but its containing element was not visible.`,
|
|
26
|
+
metadata: null,
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
return {
|
|
31
|
+
isSuccessful: false,
|
|
32
|
+
forLlm: `Failed to find the text "${parameters.text}" anywhere in the page.`,
|
|
33
|
+
metadata: null,
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
async callFromGpt(context, parameters) {
|
|
38
|
+
return this.call(context, parameters);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
exports.AssertPageTextTool = AssertPageTextTool;
|
|
42
|
+
//# sourceMappingURL=AssertPageTextTool.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AssertPageTextTool.js","sourceRoot":"","sources":["../../src/tools/AssertPageTextTool.ts"],"names":[],"mappings":";;;AAAA,iCAA8B;AAE9B,6DAA0D;AAc1D,MAAa,kBAAmB,SAAQ,WAGvC;IACQ,MAAM,CAAU,IAAI,GAAG,gBAAgB,CAAC;IAE/C;QACE,KAAK,CACH,kBAAkB,CAAC,IAAI,EACvB,2EAA2E,EAC3E,kCAAkC,EAClC,iCAAiC,EACjC,IAAI,CACL,CAAC;IACJ,CAAC;IAEe,KAAK,CAAC,IAAI,CACxB,OAAwB,EACxB,UAA4C;QAE5C,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACxD,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;QACpC,MAAM,uBAAuB,GAAG,KAAK,GAAG,CAAC,CAAC;QAE1C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC;YAC/B,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAC/B,MAAM,OAAO,CAAC,sBAAsB,EAAE,CAAC;YAEvC,IAAI,MAAM,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC;gBAC9B,OAAO,+BAAc,CAAC,UAAU,EAAE,CAAC;YACrC,CAAC;QACH,CAAC;QAED,IAAI,uBAAuB,EAAE,CAAC;YAC5B,OAAO;gBACL,YAAY,EAAE,KAAK;gBACnB,MAAM,EAAE,aAAa,UAAU,CAAC,IAAI,sEAAsE;gBAC1G,QAAQ,EAAE,IAAI;aACf,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,OAAO;gBACL,YAAY,EAAE,KAAK;gBACnB,MAAM,EAAE,4BAA4B,UAAU,CAAC,IAAI,yBAAyB;gBAC5E,QAAQ,EAAE,IAAI;aACf,CAAC;QACJ,CAAC;IACH,CAAC;IAEe,KAAK,CAAC,WAAW,CAC/B,OAAwB,EACxB,UAA2C;QAE3C,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IACxC,CAAC;;AArDH,gDAsDC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { Tool } from './Tool';
|
|
2
|
+
import { ToolCallContext } from '../models/ToolCallContext';
|
|
3
|
+
import { ToolCallResult } from '../models/ToolCallResult';
|
|
4
|
+
import { BaseToolGptParameters } from '../models/BaseToolGptParameters';
|
|
5
|
+
export interface AssertTextVisibilityToolCoreParameters {
|
|
6
|
+
/**
|
|
7
|
+
* The text to check visibility for in the current page.
|
|
8
|
+
*/
|
|
9
|
+
text: string;
|
|
10
|
+
}
|
|
11
|
+
interface AssertTextVisibilityToolGptParameters extends BaseToolGptParameters, AssertTextVisibilityToolCoreParameters {
|
|
12
|
+
}
|
|
13
|
+
export declare class AssertTextVisibilityTool extends Tool<AssertTextVisibilityToolCoreParameters, AssertTextVisibilityToolGptParameters> {
|
|
14
|
+
static readonly NAME = "assertTextVisibility";
|
|
15
|
+
constructor();
|
|
16
|
+
call(context: ToolCallContext, parameters: AssertTextVisibilityToolCoreParameters): Promise<ToolCallResult>;
|
|
17
|
+
callFromGpt(context: ToolCallContext, parameters: AssertTextVisibilityToolGptParameters): Promise<ToolCallResult>;
|
|
18
|
+
}
|
|
19
|
+
export {};
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AssertTextVisibilityTool = void 0;
|
|
4
|
+
const Tool_1 = require("./Tool");
|
|
5
|
+
const ToolCallResult_1 = require("../models/ToolCallResult");
|
|
6
|
+
class AssertTextVisibilityTool extends Tool_1.Tool {
|
|
7
|
+
static NAME = 'assertTextVisibility';
|
|
8
|
+
constructor() {
|
|
9
|
+
super(AssertTextVisibilityTool.NAME, 'This method will test that the given text is visible in the current page.', 'AssertTextVisibilityToolCoreParameters', 'AssertTextVisibilityToolGptParameters', true);
|
|
10
|
+
}
|
|
11
|
+
async call(context, parameters) {
|
|
12
|
+
const locator = context.page.getByText(parameters.text);
|
|
13
|
+
const count = await locator.count();
|
|
14
|
+
for (let i = 0; i < count; ++i) {
|
|
15
|
+
const element = locator.nth(i);
|
|
16
|
+
await element.scrollIntoViewIfNeeded();
|
|
17
|
+
if (await element.isVisible()) {
|
|
18
|
+
return ToolCallResult_1.ToolCallResult.successful();
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
return {
|
|
22
|
+
isSuccessful: false,
|
|
23
|
+
forLlm: `Failed to find the text: "${parameters.text}"`,
|
|
24
|
+
metadata: null,
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
async callFromGpt(context, parameters) {
|
|
28
|
+
return this.call(context, parameters);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
exports.AssertTextVisibilityTool = AssertTextVisibilityTool;
|
|
32
|
+
//# sourceMappingURL=AssertTextVisibility.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AssertTextVisibility.js","sourceRoot":"","sources":["../../src/tools/AssertTextVisibility.ts"],"names":[],"mappings":";;;AAAA,iCAA8B;AAE9B,6DAA0D;AAc1D,MAAa,wBAAyB,SAAQ,WAG7C;IACQ,MAAM,CAAU,IAAI,GAAG,sBAAsB,CAAC;IAErD;QACE,KAAK,CACH,wBAAwB,CAAC,IAAI,EAC7B,2EAA2E,EAC3E,wCAAwC,EACxC,uCAAuC,EACvC,IAAI,CACL,CAAC;IACJ,CAAC;IAEe,KAAK,CAAC,IAAI,CACxB,OAAwB,EACxB,UAAkD;QAElD,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACxD,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;QAEpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC;YAC/B,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAC/B,MAAM,OAAO,CAAC,sBAAsB,EAAE,CAAC;YAEvC,IAAI,MAAM,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC;gBAC9B,OAAO,+BAAc,CAAC,UAAU,EAAE,CAAC;YACrC,CAAC;QACH,CAAC;QAED,OAAO;YACL,YAAY,EAAE,KAAK;YACnB,MAAM,EAAE,6BAA6B,UAAU,CAAC,IAAI,GAAG;YACvD,QAAQ,EAAE,IAAI;SACf,CAAC;IACJ,CAAC;IAEe,KAAK,CAAC,WAAW,CAC/B,OAAwB,EACxB,UAAiD;QAEjD,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IACxC,CAAC;;AA5CH,4DA6CC"}
|