donobu 3.4.0 → 3.5.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/README.md +14 -15
- package/dist/apis/FlowsApi.d.ts.map +1 -1
- package/dist/apis/FlowsApi.js +1 -0
- package/dist/apis/FlowsApi.js.map +1 -1
- package/dist/assets/generated/version +1 -1
- package/dist/assets/openapi-schema.html +6 -0
- package/dist/assets/openapi-schema.yaml +4 -0
- package/dist/bindings/PageInteractionTracker.d.ts.map +1 -1
- package/dist/bindings/PageInteractionTracker.js +5 -4
- package/dist/bindings/PageInteractionTracker.js.map +1 -1
- package/dist/codegen/CodeGenerator.d.ts +35 -0
- package/dist/codegen/CodeGenerator.d.ts.map +1 -0
- package/dist/codegen/CodeGenerator.js +882 -0
- package/dist/codegen/CodeGenerator.js.map +1 -0
- package/dist/esm/apis/FlowsApi.d.ts.map +1 -1
- package/dist/esm/apis/FlowsApi.js +1 -0
- package/dist/esm/apis/FlowsApi.js.map +1 -1
- package/dist/esm/assets/generated/version +1 -1
- package/dist/esm/assets/openapi-schema.html +6 -0
- package/dist/esm/assets/openapi-schema.yaml +4 -0
- package/dist/esm/bindings/PageInteractionTracker.d.ts.map +1 -1
- package/dist/esm/bindings/PageInteractionTracker.js +5 -4
- package/dist/esm/bindings/PageInteractionTracker.js.map +1 -1
- package/dist/esm/codegen/CodeGenerator.d.ts +35 -0
- package/dist/esm/codegen/CodeGenerator.d.ts.map +1 -0
- package/dist/esm/codegen/CodeGenerator.js +882 -0
- package/dist/esm/codegen/CodeGenerator.js.map +1 -0
- package/dist/esm/init.js +0 -15
- package/dist/esm/init.js.map +1 -1
- package/dist/esm/lib/PageAi.d.ts +39 -14
- package/dist/esm/lib/PageAi.d.ts.map +1 -1
- package/dist/esm/lib/PageAi.js +50 -32
- package/dist/esm/lib/PageAi.js.map +1 -1
- package/dist/esm/lib/SmartSelector.d.ts +8 -0
- package/dist/esm/lib/SmartSelector.d.ts.map +1 -1
- package/dist/esm/lib/SmartSelector.js +2 -2
- package/dist/esm/lib/SmartSelector.js.map +1 -1
- package/dist/esm/lib/createDonobuExtendedPage.js +2 -2
- package/dist/esm/lib/createDonobuExtendedPage.js.map +1 -1
- package/dist/esm/lib/fixtures/gptClients.js +2 -2
- package/dist/esm/lib/fixtures/gptClients.js.map +1 -1
- package/dist/esm/lib/pageAi/cache.d.ts +19 -23
- package/dist/esm/lib/pageAi/cache.d.ts.map +1 -1
- package/dist/esm/lib/pageAi/cache.js +105 -44
- package/dist/esm/lib/pageAi/cache.js.map +1 -1
- package/dist/esm/lib/pageAi/cacheEntryBuilder.d.ts +1 -3
- package/dist/esm/lib/pageAi/cacheEntryBuilder.d.ts.map +1 -1
- package/dist/esm/lib/pageAi/cacheEntryBuilder.js +6 -1
- package/dist/esm/lib/pageAi/cacheEntryBuilder.js.map +1 -1
- package/dist/esm/lib/testExtension.d.ts.map +1 -1
- package/dist/esm/lib/testExtension.js +2 -1
- package/dist/esm/lib/testExtension.js.map +1 -1
- package/dist/esm/lib/utils/selfHealing.js +1 -0
- package/dist/esm/lib/utils/selfHealing.js.map +1 -1
- package/dist/esm/lib/utils/triageTestFailure.d.ts.map +1 -1
- package/dist/esm/lib/utils/triageTestFailure.js +3 -2
- package/dist/esm/lib/utils/triageTestFailure.js.map +1 -1
- package/dist/esm/main.d.ts +4 -14
- package/dist/esm/main.d.ts.map +1 -1
- package/dist/esm/main.js +50 -35
- 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/DonobuFlow.js +4 -4
- package/dist/esm/managers/DonobuFlow.js.map +1 -1
- package/dist/esm/managers/DonobuFlowsManager.d.ts +33 -3
- package/dist/esm/managers/DonobuFlowsManager.d.ts.map +1 -1
- package/dist/esm/managers/DonobuFlowsManager.js +91 -7
- package/dist/esm/managers/DonobuFlowsManager.js.map +1 -1
- package/dist/esm/managers/GptConfigsManager.js +2 -2
- package/dist/esm/managers/GptConfigsManager.js.map +1 -1
- package/dist/esm/managers/RequestContextHolder.d.ts +3 -2
- package/dist/esm/managers/RequestContextHolder.d.ts.map +1 -1
- package/dist/esm/managers/RequestContextHolder.js +6 -9
- package/dist/esm/managers/RequestContextHolder.js.map +1 -1
- package/dist/esm/managers/ToolManager.js +1 -1
- package/dist/esm/managers/ToolManager.js.map +1 -1
- package/dist/esm/models/CodeGenerationOptions.d.ts +4 -0
- package/dist/esm/models/CodeGenerationOptions.d.ts.map +1 -1
- package/dist/esm/models/CodeGenerationOptions.js +4 -0
- package/dist/esm/models/CodeGenerationOptions.js.map +1 -1
- package/dist/esm/persistence/flows/FlowsPersistence.d.ts +5 -1
- package/dist/esm/persistence/flows/FlowsPersistence.d.ts.map +1 -1
- package/dist/esm/persistence/flows/FlowsPersistenceAwsS3.d.ts +2 -1
- package/dist/esm/persistence/flows/FlowsPersistenceAwsS3.d.ts.map +1 -1
- package/dist/esm/persistence/flows/FlowsPersistenceAwsS3.js +50 -1
- package/dist/esm/persistence/flows/FlowsPersistenceAwsS3.js.map +1 -1
- package/dist/esm/persistence/flows/FlowsPersistenceFilesystem.d.ts +2 -1
- package/dist/esm/persistence/flows/FlowsPersistenceFilesystem.d.ts.map +1 -1
- package/dist/esm/persistence/flows/FlowsPersistenceFilesystem.js +31 -1
- package/dist/esm/persistence/flows/FlowsPersistenceFilesystem.js.map +1 -1
- package/dist/esm/persistence/flows/FlowsPersistenceGoogleCloudStorage.d.ts +2 -1
- package/dist/esm/persistence/flows/FlowsPersistenceGoogleCloudStorage.d.ts.map +1 -1
- package/dist/esm/persistence/flows/FlowsPersistenceGoogleCloudStorage.js +23 -1
- package/dist/esm/persistence/flows/FlowsPersistenceGoogleCloudStorage.js.map +1 -1
- package/dist/esm/persistence/flows/FlowsPersistenceSqlite.d.ts +2 -1
- package/dist/esm/persistence/flows/FlowsPersistenceSqlite.d.ts.map +1 -1
- package/dist/esm/persistence/flows/FlowsPersistenceSqlite.js +7 -1
- package/dist/esm/persistence/flows/FlowsPersistenceSqlite.js.map +1 -1
- package/dist/esm/persistence/flows/FlowsPersistenceSupabase.d.ts +2 -1
- package/dist/esm/persistence/flows/FlowsPersistenceSupabase.d.ts.map +1 -1
- package/dist/esm/persistence/flows/FlowsPersistenceSupabase.js +6 -1
- package/dist/esm/persistence/flows/FlowsPersistenceSupabase.js.map +1 -1
- package/dist/esm/persistence/flows/FlowsPersistenceVolatile.d.ts +2 -1
- package/dist/esm/persistence/flows/FlowsPersistenceVolatile.d.ts.map +1 -1
- package/dist/esm/persistence/flows/FlowsPersistenceVolatile.js +17 -1
- package/dist/esm/persistence/flows/FlowsPersistenceVolatile.js.map +1 -1
- package/dist/esm/utils/createTool.d.ts +2 -0
- package/dist/esm/utils/createTool.d.ts.map +1 -1
- package/dist/esm/utils/createTool.js +2 -0
- package/dist/esm/utils/createTool.js.map +1 -1
- package/dist/init.js +0 -15
- package/dist/init.js.map +1 -1
- package/dist/lib/PageAi.d.ts +39 -14
- package/dist/lib/PageAi.d.ts.map +1 -1
- package/dist/lib/PageAi.js +50 -32
- package/dist/lib/PageAi.js.map +1 -1
- package/dist/lib/SmartSelector.d.ts +8 -0
- package/dist/lib/SmartSelector.d.ts.map +1 -1
- package/dist/lib/SmartSelector.js +2 -2
- package/dist/lib/SmartSelector.js.map +1 -1
- package/dist/lib/createDonobuExtendedPage.js +2 -2
- package/dist/lib/createDonobuExtendedPage.js.map +1 -1
- package/dist/lib/fixtures/gptClients.js +2 -2
- package/dist/lib/fixtures/gptClients.js.map +1 -1
- package/dist/lib/pageAi/cache.d.ts +19 -23
- package/dist/lib/pageAi/cache.d.ts.map +1 -1
- package/dist/lib/pageAi/cache.js +105 -44
- package/dist/lib/pageAi/cache.js.map +1 -1
- package/dist/lib/pageAi/cacheEntryBuilder.d.ts +1 -3
- package/dist/lib/pageAi/cacheEntryBuilder.d.ts.map +1 -1
- package/dist/lib/pageAi/cacheEntryBuilder.js +6 -1
- package/dist/lib/pageAi/cacheEntryBuilder.js.map +1 -1
- package/dist/lib/testExtension.d.ts.map +1 -1
- package/dist/lib/testExtension.js +2 -1
- package/dist/lib/testExtension.js.map +1 -1
- package/dist/lib/utils/selfHealing.js +1 -0
- package/dist/lib/utils/selfHealing.js.map +1 -1
- package/dist/lib/utils/triageTestFailure.d.ts.map +1 -1
- package/dist/lib/utils/triageTestFailure.js +3 -2
- package/dist/lib/utils/triageTestFailure.js.map +1 -1
- package/dist/main.d.ts +4 -14
- package/dist/main.d.ts.map +1 -1
- package/dist/main.js +50 -35
- 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/DonobuFlow.js +4 -4
- package/dist/managers/DonobuFlow.js.map +1 -1
- package/dist/managers/DonobuFlowsManager.d.ts +33 -3
- package/dist/managers/DonobuFlowsManager.d.ts.map +1 -1
- package/dist/managers/DonobuFlowsManager.js +91 -7
- package/dist/managers/DonobuFlowsManager.js.map +1 -1
- package/dist/managers/GptConfigsManager.js +2 -2
- package/dist/managers/GptConfigsManager.js.map +1 -1
- package/dist/managers/RequestContextHolder.d.ts +3 -2
- package/dist/managers/RequestContextHolder.d.ts.map +1 -1
- package/dist/managers/RequestContextHolder.js +6 -9
- package/dist/managers/RequestContextHolder.js.map +1 -1
- package/dist/managers/ToolManager.js +1 -1
- package/dist/managers/ToolManager.js.map +1 -1
- package/dist/models/CodeGenerationOptions.d.ts +4 -0
- package/dist/models/CodeGenerationOptions.d.ts.map +1 -1
- package/dist/models/CodeGenerationOptions.js +4 -0
- package/dist/models/CodeGenerationOptions.js.map +1 -1
- package/dist/persistence/flows/FlowsPersistence.d.ts +5 -1
- package/dist/persistence/flows/FlowsPersistence.d.ts.map +1 -1
- package/dist/persistence/flows/FlowsPersistenceAwsS3.d.ts +2 -1
- package/dist/persistence/flows/FlowsPersistenceAwsS3.d.ts.map +1 -1
- package/dist/persistence/flows/FlowsPersistenceAwsS3.js +50 -1
- package/dist/persistence/flows/FlowsPersistenceAwsS3.js.map +1 -1
- package/dist/persistence/flows/FlowsPersistenceFilesystem.d.ts +2 -1
- package/dist/persistence/flows/FlowsPersistenceFilesystem.d.ts.map +1 -1
- package/dist/persistence/flows/FlowsPersistenceFilesystem.js +31 -1
- package/dist/persistence/flows/FlowsPersistenceFilesystem.js.map +1 -1
- package/dist/persistence/flows/FlowsPersistenceGoogleCloudStorage.d.ts +2 -1
- package/dist/persistence/flows/FlowsPersistenceGoogleCloudStorage.d.ts.map +1 -1
- package/dist/persistence/flows/FlowsPersistenceGoogleCloudStorage.js +23 -1
- package/dist/persistence/flows/FlowsPersistenceGoogleCloudStorage.js.map +1 -1
- package/dist/persistence/flows/FlowsPersistenceSqlite.d.ts +2 -1
- package/dist/persistence/flows/FlowsPersistenceSqlite.d.ts.map +1 -1
- package/dist/persistence/flows/FlowsPersistenceSqlite.js +7 -1
- package/dist/persistence/flows/FlowsPersistenceSqlite.js.map +1 -1
- package/dist/persistence/flows/FlowsPersistenceSupabase.d.ts +2 -1
- package/dist/persistence/flows/FlowsPersistenceSupabase.d.ts.map +1 -1
- package/dist/persistence/flows/FlowsPersistenceSupabase.js +6 -1
- package/dist/persistence/flows/FlowsPersistenceSupabase.js.map +1 -1
- package/dist/persistence/flows/FlowsPersistenceVolatile.d.ts +2 -1
- package/dist/persistence/flows/FlowsPersistenceVolatile.d.ts.map +1 -1
- package/dist/persistence/flows/FlowsPersistenceVolatile.js +17 -1
- package/dist/persistence/flows/FlowsPersistenceVolatile.js.map +1 -1
- package/dist/utils/createTool.d.ts +2 -0
- package/dist/utils/createTool.d.ts.map +1 -1
- package/dist/utils/createTool.js +2 -0
- package/dist/utils/createTool.js.map +1 -1
- package/package.json +4 -6
- package/dist/assets/icon.png +0 -0
- package/dist/esm/assets/icon.png +0 -0
- package/dist/esm/managers/CodeGenerator.d.ts +0 -116
- package/dist/esm/managers/CodeGenerator.d.ts.map +0 -1
- package/dist/esm/managers/CodeGenerator.js +0 -886
- package/dist/esm/managers/CodeGenerator.js.map +0 -1
- package/dist/managers/CodeGenerator.d.ts +0 -116
- package/dist/managers/CodeGenerator.d.ts.map +0 -1
- package/dist/managers/CodeGenerator.js +0 -886
- package/dist/managers/CodeGenerator.js.map +0 -1
package/README.md
CHANGED
|
@@ -5,7 +5,7 @@ Create, run, and heal AI-assisted Playwright flows with a single dependency. The
|
|
|
5
5
|
## Highlights
|
|
6
6
|
|
|
7
7
|
- **Typed Playwright fixture** - `import { test } from 'donobu'` to extend Playwright with `page.ai` helpers, smart selectors, and persistence.
|
|
8
|
-
- **Autonomous Page.AI** - run `page.ai
|
|
8
|
+
- **Autonomous Page.AI** - run `page.ai()` with optional Zod schemas, cached tool-call replays, custom tool allow-lists, and env-var controls.
|
|
9
9
|
- **Prebuilt tools** - call keyboard, mouse, accessibility, cookie, and analysis tools via friendly wrappers (`page.runAccessibilityTest`, etc).
|
|
10
10
|
- **Failure triage & auto-heal** - `npx donobu test --auto-heal` captures screenshots, GPT reasoning, structured treatment plans, and can re-run fixes automatically.
|
|
11
11
|
|
|
@@ -52,28 +52,27 @@ OPENAI_API_KEY=sk-*** npx donobu test
|
|
|
52
52
|
|
|
53
53
|
### Page.AI API Surface
|
|
54
54
|
|
|
55
|
-
| Method | Description
|
|
56
|
-
| ---------------------------------------- |
|
|
57
|
-
| `await page.ai
|
|
58
|
-
| `await page.ai.assert(assertion, opts?)` | AI assertion against DOM text, screenshot, title, and URL.
|
|
59
|
-
| `await page.ai.extract(schema, opts?)` | Produce JSON data shaped by a Zod schema using screenshot + history.
|
|
55
|
+
| Method | Description |
|
|
56
|
+
| ---------------------------------------- | -------------------------------------------------------------------- |
|
|
57
|
+
| `await page.ai(instruction, opts?)` | Launches an autonomous Donobu flow that can call browser tools. |
|
|
58
|
+
| `await page.ai.assert(assertion, opts?)` | AI assertion against DOM text, screenshot, title, and URL. |
|
|
59
|
+
| `await page.ai.extract(schema, opts?)` | Produce JSON data shaped by a Zod schema using screenshot + history. |
|
|
60
60
|
|
|
61
|
-
- Every invocation is cached
|
|
62
|
-
- Provide a custom LLM by passing `gptClient` (a Donobu `GptClient` or any `LanguageModel` supported by `ai`’s Vercel SDK).
|
|
63
|
-
- Use `envVars` to explicitly pass secret names the flow may read. Donobu also parses `$.env.SECRET_NAME` placeholders in the `objective` annotation to whitelist secrets.
|
|
61
|
+
- Every invocation of `page.ai()` is cached in `<spec directory>/cache-lock.js`. Run `npx donobu test --clear-ai-cache` to regenerate the cache.
|
|
64
62
|
|
|
65
63
|
## Page.AI Caching, Env Vars, and Secrets
|
|
66
64
|
|
|
67
|
-
- Per-spec cache: Page.AI cache entries are saved next to the spec (`
|
|
65
|
+
- Per-spec cache: Page.AI cache entries are saved next to the spec (`cache-lock.js`). Commit them to stabilise selectors or delete to regenerate.
|
|
68
66
|
- CLI toggles: `--clear-ai-cache` (or `DONOBU_PAGE_AI_CLEAR_CACHE=1`) clears cache before each `page.ai.act`.
|
|
69
|
-
-
|
|
67
|
+
- Allow specific env vars by explicitly referencing them by name in the `page.ai()` instruction or by passing them as options:
|
|
70
68
|
```ts
|
|
71
69
|
test('uses secret', async ({ page }, testInfo) => {
|
|
72
|
-
|
|
73
|
-
|
|
70
|
+
await page.ai('Log in using {{$.env.MY_SECRET}} credentials', {
|
|
71
|
+
envVars: ['SOME_OTHER_SECRET'],
|
|
72
|
+
});
|
|
74
73
|
});
|
|
75
74
|
```
|
|
76
|
-
|
|
75
|
+
In the above example, the `page.ai` agent will have access to the `MY_SECRET` and `SOME_OTHER_SECRET` env vars.
|
|
77
76
|
|
|
78
77
|
## CLI Usage
|
|
79
78
|
|
|
@@ -111,7 +110,7 @@ Additional runtime env vars:
|
|
|
111
110
|
|
|
112
111
|
| Env var | Purpose |
|
|
113
112
|
| ------------------------------------------------ | ---------------------------------------------------------------- |
|
|
114
|
-
| `DONOBU_PAGE_AI_CLEAR_CACHE` | Force cache invalidation for every `page.ai.
|
|
113
|
+
| `DONOBU_PAGE_AI_CLEAR_CACHE` | Force cache invalidation for every `page.ai()` call. |
|
|
115
114
|
| `BASE_WORKING_DIR` | Override the platform-specific Donobu data directory. |
|
|
116
115
|
| `BROWSERBASE_API_KEY` / `BROWSERBASE_PROJECT_ID` | Run flows inside BrowserBase sessions instead of local Chromium. |
|
|
117
116
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FlowsApi.d.ts","sourceRoot":"","sources":["../../src/apis/FlowsApi.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAGjD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAMzE;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,qBAAa,QAAQ;
|
|
1
|
+
{"version":3,"file":"FlowsApi.d.ts","sourceRoot":"","sources":["../../src/apis/FlowsApi.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAGjD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAMzE;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,qBAAa,QAAQ;IAOA,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IANtD,OAAO,CAAC,MAAM,CAAC,oBAAoB,CAIjC;gBAEkC,kBAAkB,EAAE,kBAAkB;IAE1E;;;;;;;;;;;;;;;;;;OAkBG;IACU,aAAa,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAWtE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAoCG;IACU,iBAAiB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAgB1E;;;;;;;;;;;;;;;OAeG;IACU,cAAc,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAYvE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAoCG;IACU,QAAQ,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAMjE;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACU,UAAU,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAOnE;;;;;;;;;;;;;;;;;;OAkBG;IACU,UAAU,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAUnE;;;;;;;;;;;;;;;OAeG;IACU,UAAU,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAMnE;;;;;;;;;;;;;;OAcG;IACU,eAAe,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAMxE;;;;;;;;;;;;;;;;;;;OAmBG;IACU,SAAS,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAWlE;;;;;;;;;;;;;;;;;;OAkBG;IACU,UAAU,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAWnE;;;;;;;;;;;;;;;;;;OAkBG;IACU,UAAU,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;CAKpE"}
|
package/dist/apis/FlowsApi.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FlowsApi.js","sourceRoot":"","sources":["../../src/apis/FlowsApi.ts"],"names":[],"mappings":";;;AACA,+BAA2B;AAI3B,2EAA8E;AAC9E,iEAAoE;AACpE,yDAAsE;AAEtE;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAa,QAAQ;
|
|
1
|
+
{"version":3,"file":"FlowsApi.js","sourceRoot":"","sources":["../../src/apis/FlowsApi.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
1448
|
|
@@ -17449,6 +17449,12 @@
|
|
|
17449
17449
|
'Delay in milliseconds between actions. Set to 0 to disable slow motion. Useful for debugging and demos.',
|
|
17450
17450
|
minimum: 0,
|
|
17451
17451
|
},
|
|
17452
|
+
playwrightScriptVariant: {
|
|
17453
|
+
type: 'string',
|
|
17454
|
+
description:
|
|
17455
|
+
'Select whether generated specs use the AI-driven `page.ai` replay (ai) or the classic tool-by-tool scripts (classic).',
|
|
17456
|
+
enum: ['ai', 'classic'],
|
|
17457
|
+
},
|
|
17452
17458
|
},
|
|
17453
17459
|
},
|
|
17454
17460
|
GptConfig: {
|
|
@@ -1356,6 +1356,10 @@ components:
|
|
|
1356
1356
|
type: 'number'
|
|
1357
1357
|
description: 'Delay in milliseconds between actions. Set to 0 to disable slow motion. Useful for debugging and demos.'
|
|
1358
1358
|
minimum: 0
|
|
1359
|
+
playwrightScriptVariant:
|
|
1360
|
+
type: 'string'
|
|
1361
|
+
description: 'Select whether generated specs use the AI-driven `page.ai` replay (ai) or the classic tool-by-tool scripts (classic).'
|
|
1362
|
+
enum: ['ai', 'classic']
|
|
1359
1363
|
GptConfig:
|
|
1360
1364
|
description: 'A resource structure that can be used to establish connectivity with a particular GPT platform and model. If there are an `apiKey`, and/or a `secretAccessKey` fields, they will be redacted before being returned through the API.'
|
|
1361
1365
|
oneOf:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PageInteractionTracker.d.ts","sourceRoot":"","sources":["../../src/bindings/PageInteractionTracker.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAC9D,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAE3B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"PageInteractionTracker.d.ts","sourceRoot":"","sources":["../../src/bindings/PageInteractionTracker.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAC9D,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAE3B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAezD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAEnE,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd,CAAC,sBAAsB,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;KAC3E;CACF;AAED;;GAEG;AACH,eAAO,MAAM,sBAAsB;;;;iBASjC,CAAC;AAEH;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE;;;;GAIG;AACH,qBAAa,sBAAuB,YAAW,oBAAoB;IA2C7C,OAAO,CAAC,QAAQ,CAAC,UAAU;IA1C/C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAEjC;IAGF,gBAAuB,IAAI,8BAA8B;WAErC,QAAQ,CAC1B,UAAU,EAAE,UAAU,EACtB,cAAc,EAAE,cAAc,GAC7B,OAAO,CAAC,sBAAsB,CAAC;IAgClC,OAAO;IAEA,IAAI,IAAI,MAAM;IAIrB;;;;;OAKG;IACU,IAAI,CACf,MAAM,EAAE;QAAE,OAAO,EAAE,cAAc,CAAC;QAAC,IAAI,EAAE,IAAI,CAAC;QAAC,KAAK,EAAE,KAAK,CAAA;KAAE,EAC7D,GAAG,IAAI,EAAE,OAAO,EAAE,GACjB,OAAO,CAAC,IAAI,CAAC;YAaF,uBAAuB;YAiBvB,WAAW;YA+BX,aAAa;YAiHb,sBAAsB;IAsBpC,OAAO,CAAC,6BAA6B;YAoCvB,kBAAkB;CAOjC"}
|
|
@@ -9,6 +9,7 @@ const v4_1 = require("zod/v4");
|
|
|
9
9
|
const ClickTool_1 = require("../tools/ClickTool");
|
|
10
10
|
const InputTextTool_1 = require("../tools/InputTextTool");
|
|
11
11
|
const PressKeyTool_1 = require("../tools/PressKeyTool");
|
|
12
|
+
const ReplayableInteraction_1 = require("../tools/ReplayableInteraction");
|
|
12
13
|
const Logger_1 = require("../utils/Logger");
|
|
13
14
|
const MiscUtils_1 = require("../utils/MiscUtils");
|
|
14
15
|
const PlaywrightUtils_1 = require("../utils/PlaywrightUtils");
|
|
@@ -107,7 +108,7 @@ class PageInteractionTracker {
|
|
|
107
108
|
completedAt: timestamp,
|
|
108
109
|
};
|
|
109
110
|
this.donobuFlow.invokedToolCalls.push(toolCall);
|
|
110
|
-
await this.donobuFlow.persistence.
|
|
111
|
+
await this.donobuFlow.persistence.setToolCall(this.donobuFlow.metadata.id, toolCall);
|
|
111
112
|
}
|
|
112
113
|
async handleKeyDown(source, event) {
|
|
113
114
|
const key = event.key;
|
|
@@ -168,7 +169,7 @@ class PageInteractionTracker {
|
|
|
168
169
|
// Phew!
|
|
169
170
|
if (rewrittenToolCall) {
|
|
170
171
|
this.donobuFlow.invokedToolCalls[this.donobuFlow.invokedToolCalls.length - 1] = rewrittenToolCall;
|
|
171
|
-
await this.donobuFlow.persistence.
|
|
172
|
+
await this.donobuFlow.persistence.setToolCall(this.donobuFlow.metadata.id, rewrittenToolCall);
|
|
172
173
|
return;
|
|
173
174
|
}
|
|
174
175
|
}
|
|
@@ -192,11 +193,11 @@ class PageInteractionTracker {
|
|
|
192
193
|
completedAt: timestamp,
|
|
193
194
|
};
|
|
194
195
|
this.donobuFlow.invokedToolCalls.push(toolCall);
|
|
195
|
-
await this.donobuFlow.persistence.
|
|
196
|
+
await this.donobuFlow.persistence.setToolCall(this.donobuFlow.metadata.id, toolCall);
|
|
196
197
|
}
|
|
197
198
|
}
|
|
198
199
|
async buildSelectorForReplay(source, event) {
|
|
199
|
-
const elementSelectors = event.selectors;
|
|
200
|
+
const elementSelectors = event.selectors.slice(0, ReplayableInteraction_1.ReplayableInteraction.MAX_SELECTOR_FAILOVERS);
|
|
200
201
|
const frameSelector = source.frame.url() === source.page.url()
|
|
201
202
|
? null
|
|
202
203
|
: (await PlaywrightUtils_1.PlaywrightUtils.generateSelectors(await source.frame.frameElement()))[0];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PageInteractionTracker.js","sourceRoot":"","sources":["../../src/bindings/PageInteractionTracker.ts"],"names":[],"mappings":";;;;;;AAAA,gDAAwB;AAExB,+BAA2B;AAK3B,kDAA+C;AAE/C,0DAAuD;AAEvD,wDAAqD;
|
|
1
|
+
{"version":3,"file":"PageInteractionTracker.js","sourceRoot":"","sources":["../../src/bindings/PageInteractionTracker.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import type { PageAiCacheContents } from '../lib/pageAi/cache';
|
|
2
|
+
import type { CodeGenerationOptions } from '../models/CodeGenerationOptions';
|
|
3
|
+
import type { FlowMetadata } from '../models/FlowMetadata';
|
|
4
|
+
import type { GptConfig } from '../models/GptConfig';
|
|
5
|
+
import type { ProposedToolCall } from '../models/ProposedToolCall';
|
|
6
|
+
export declare const CACHE_FILENAME = "cache-lock.js";
|
|
7
|
+
export interface ProjectFile {
|
|
8
|
+
path: string;
|
|
9
|
+
content: string;
|
|
10
|
+
}
|
|
11
|
+
export interface GeneratedProject {
|
|
12
|
+
files: ProjectFile[];
|
|
13
|
+
}
|
|
14
|
+
/** Creates a Node.js Microsoft Playwright script to replay the given flow. */
|
|
15
|
+
export declare function getFlowAsPlaywrightScript(flowMetadata: FlowMetadata, toolCalls: ProposedToolCall[]): Promise<string>;
|
|
16
|
+
/** Creates a Node.js Microsoft Playwright script to replay the given flow. */
|
|
17
|
+
export declare function getFlowAsAiPlaywrightScript(flowMetadata: FlowMetadata, toolCalls: ProposedToolCall[], options: CodeGenerationOptions): Promise<string>;
|
|
18
|
+
/**
|
|
19
|
+
* Generates a complete Playwright project structure with dependency management.
|
|
20
|
+
*/
|
|
21
|
+
export declare function generateProject(flowsWithToolCalls: Array<{
|
|
22
|
+
metadata: FlowMetadata;
|
|
23
|
+
toolCalls: ProposedToolCall[];
|
|
24
|
+
}>, gptConfig: GptConfig | undefined, options: CodeGenerationOptions): Promise<GeneratedProject>;
|
|
25
|
+
export declare function buildCacheContents(flowsWithToolCalls: Array<{
|
|
26
|
+
metadata: FlowMetadata;
|
|
27
|
+
toolCalls: ProposedToolCall[];
|
|
28
|
+
}>): PageAiCacheContents;
|
|
29
|
+
/**
|
|
30
|
+
* Maps a proposed Donobu tool call to valid NodeJS Playwright code that uses
|
|
31
|
+
* the `DonobuExtendedPage` extension.
|
|
32
|
+
*/
|
|
33
|
+
export declare function convertProposedToolCallToPlaywrightCode(proposedToolCall: ProposedToolCall): string;
|
|
34
|
+
export declare function prettifyCode(code: string): Promise<string>;
|
|
35
|
+
//# sourceMappingURL=CodeGenerator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CodeGenerator.d.ts","sourceRoot":"","sources":["../../src/codegen/CodeGenerator.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAO/D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AAE7E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAsCnE,eAAO,MAAM,cAAc,kBAAkB,CAAC;AAE9C,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,WAAW,EAAE,CAAC;CACtB;AAED,8EAA8E;AAC9E,wBAAsB,yBAAyB,CAC7C,YAAY,EAAE,YAAY,EAC1B,SAAS,EAAE,gBAAgB,EAAE,GAC5B,OAAO,CAAC,MAAM,CAAC,CAuGjB;AAED,8EAA8E;AAC9E,wBAAsB,2BAA2B,CAC/C,YAAY,EAAE,YAAY,EAC1B,SAAS,EAAE,gBAAgB,EAAE,EAC7B,OAAO,EAAE,qBAAqB,GAC7B,OAAO,CAAC,MAAM,CAAC,CA8HjB;AAED;;GAEG;AACH,wBAAsB,eAAe,CACnC,kBAAkB,EAAE,KAAK,CAAC;IACxB,QAAQ,EAAE,YAAY,CAAC;IACvB,SAAS,EAAE,gBAAgB,EAAE,CAAC;CAC/B,CAAC,EACF,SAAS,EAAE,SAAS,GAAG,SAAS,EAChC,OAAO,EAAE,qBAAqB,GAC7B,OAAO,CAAC,gBAAgB,CAAC,CAsD3B;AAoLD,wBAAgB,kBAAkB,CAChC,kBAAkB,EAAE,KAAK,CAAC;IACxB,QAAQ,EAAE,YAAY,CAAC;IACvB,SAAS,EAAE,gBAAgB,EAAE,CAAC;CAC/B,CAAC,GACD,mBAAmB,CAmCrB;AAqBD;;;GAGG;AACH,wBAAgB,uCAAuC,CACrD,gBAAgB,EAAE,gBAAgB,GACjC,MAAM,CA2KR;AAkOD,wBAAsB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAOhE"}
|