donobu 5.3.1 → 5.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (85) hide show
  1. package/dist/apis/FlowsFilesApi.d.ts +18 -4
  2. package/dist/apis/FlowsFilesApi.d.ts.map +1 -1
  3. package/dist/apis/FlowsFilesApi.js +41 -4
  4. package/dist/apis/FlowsFilesApi.js.map +1 -1
  5. package/dist/cli/donobu-cli.js +134 -34
  6. package/dist/cli/donobu-cli.js.map +1 -1
  7. package/dist/cli/playwright-json-to-html.js +10 -0
  8. package/dist/cli/playwright-json-to-html.js.map +1 -1
  9. package/dist/codegen/CodeGenerator.d.ts.map +1 -1
  10. package/dist/codegen/CodeGenerator.js +7 -14
  11. package/dist/codegen/CodeGenerator.js.map +1 -1
  12. package/dist/envVars.d.ts +2 -0
  13. package/dist/envVars.d.ts.map +1 -1
  14. package/dist/envVars.js +4 -0
  15. package/dist/envVars.js.map +1 -1
  16. package/dist/esm/apis/FlowsFilesApi.d.ts +18 -4
  17. package/dist/esm/apis/FlowsFilesApi.d.ts.map +1 -1
  18. package/dist/esm/apis/FlowsFilesApi.js +41 -4
  19. package/dist/esm/apis/FlowsFilesApi.js.map +1 -1
  20. package/dist/esm/cli/donobu-cli.js +134 -34
  21. package/dist/esm/cli/donobu-cli.js.map +1 -1
  22. package/dist/esm/cli/playwright-json-to-html.js +10 -0
  23. package/dist/esm/cli/playwright-json-to-html.js.map +1 -1
  24. package/dist/esm/codegen/CodeGenerator.d.ts.map +1 -1
  25. package/dist/esm/codegen/CodeGenerator.js +7 -14
  26. package/dist/esm/codegen/CodeGenerator.js.map +1 -1
  27. package/dist/esm/envVars.d.ts +2 -0
  28. package/dist/esm/envVars.d.ts.map +1 -1
  29. package/dist/esm/envVars.js +4 -0
  30. package/dist/esm/envVars.js.map +1 -1
  31. package/dist/esm/lib/ai/cache/assertCache.d.ts +58 -0
  32. package/dist/esm/lib/ai/cache/assertCache.d.ts.map +1 -0
  33. package/dist/esm/lib/ai/cache/assertCache.js +110 -0
  34. package/dist/esm/lib/ai/cache/assertCache.js.map +1 -0
  35. package/dist/esm/lib/ai/cache/cache.d.ts +16 -15
  36. package/dist/esm/lib/ai/cache/cache.d.ts.map +1 -1
  37. package/dist/esm/lib/ai/cache/cache.js +166 -71
  38. package/dist/esm/lib/ai/cache/cache.js.map +1 -1
  39. package/dist/esm/lib/page/DonobuExtendedPage.d.ts +10 -0
  40. package/dist/esm/lib/page/DonobuExtendedPage.d.ts.map +1 -1
  41. package/dist/esm/lib/page/extendPage.d.ts.map +1 -1
  42. package/dist/esm/lib/page/extendPage.js +86 -3
  43. package/dist/esm/lib/page/extendPage.js.map +1 -1
  44. package/dist/esm/managers/AdminApiController.d.ts.map +1 -1
  45. package/dist/esm/managers/AdminApiController.js +1 -0
  46. package/dist/esm/managers/AdminApiController.js.map +1 -1
  47. package/dist/esm/persistence/flows/FlowsPersistenceSqlite.d.ts +0 -1
  48. package/dist/esm/persistence/flows/FlowsPersistenceSqlite.d.ts.map +1 -1
  49. package/dist/esm/persistence/flows/FlowsPersistenceSqlite.js +1 -20
  50. package/dist/esm/persistence/flows/FlowsPersistenceSqlite.js.map +1 -1
  51. package/dist/esm/tools/AssertTool.d.ts.map +1 -1
  52. package/dist/esm/tools/AssertTool.js +62 -14
  53. package/dist/esm/tools/AssertTool.js.map +1 -1
  54. package/dist/esm/utils/MiscUtils.d.ts +4 -0
  55. package/dist/esm/utils/MiscUtils.d.ts.map +1 -1
  56. package/dist/esm/utils/MiscUtils.js +25 -0
  57. package/dist/esm/utils/MiscUtils.js.map +1 -1
  58. package/dist/lib/ai/cache/assertCache.d.ts +58 -0
  59. package/dist/lib/ai/cache/assertCache.d.ts.map +1 -0
  60. package/dist/lib/ai/cache/assertCache.js +110 -0
  61. package/dist/lib/ai/cache/assertCache.js.map +1 -0
  62. package/dist/lib/ai/cache/cache.d.ts +16 -15
  63. package/dist/lib/ai/cache/cache.d.ts.map +1 -1
  64. package/dist/lib/ai/cache/cache.js +166 -71
  65. package/dist/lib/ai/cache/cache.js.map +1 -1
  66. package/dist/lib/page/DonobuExtendedPage.d.ts +10 -0
  67. package/dist/lib/page/DonobuExtendedPage.d.ts.map +1 -1
  68. package/dist/lib/page/extendPage.d.ts.map +1 -1
  69. package/dist/lib/page/extendPage.js +86 -3
  70. package/dist/lib/page/extendPage.js.map +1 -1
  71. package/dist/managers/AdminApiController.d.ts.map +1 -1
  72. package/dist/managers/AdminApiController.js +1 -0
  73. package/dist/managers/AdminApiController.js.map +1 -1
  74. package/dist/persistence/flows/FlowsPersistenceSqlite.d.ts +0 -1
  75. package/dist/persistence/flows/FlowsPersistenceSqlite.d.ts.map +1 -1
  76. package/dist/persistence/flows/FlowsPersistenceSqlite.js +1 -20
  77. package/dist/persistence/flows/FlowsPersistenceSqlite.js.map +1 -1
  78. package/dist/tools/AssertTool.d.ts.map +1 -1
  79. package/dist/tools/AssertTool.js +62 -14
  80. package/dist/tools/AssertTool.js.map +1 -1
  81. package/dist/utils/MiscUtils.d.ts +4 -0
  82. package/dist/utils/MiscUtils.d.ts.map +1 -1
  83. package/dist/utils/MiscUtils.js +25 -0
  84. package/dist/utils/MiscUtils.js.map +1 -1
  85. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"MiscUtils.js","sourceRoot":"","sources":["../../../src/utils/MiscUtils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MiscUtils.js","sourceRoot":"","sources":["../../../src/utils/MiscUtils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,58 @@
1
+ import { z } from 'zod/v4';
2
+ import type { DonobuExtendedPage } from '../../page/DonobuExtendedPage';
3
+ /**
4
+ * A single structured assertion step returned by the AI. Each step maps
5
+ * deterministically to one Playwright `expect` call — no free-form code
6
+ * generation, no VM evaluation.
7
+ */
8
+ export declare const PlaywrightAssertionStepSchema: z.ZodObject<{
9
+ locator: z.ZodNullable<z.ZodEnum<{
10
+ text: "text";
11
+ role: "role";
12
+ }>>;
13
+ role: z.ZodNullable<z.ZodString>;
14
+ value: z.ZodString;
15
+ valueIsRegex: z.ZodBoolean;
16
+ assertion: z.ZodEnum<{
17
+ toBeVisible: "toBeVisible";
18
+ toBeHidden: "toBeHidden";
19
+ toBeEnabled: "toBeEnabled";
20
+ toBeDisabled: "toBeDisabled";
21
+ toHaveTitle: "toHaveTitle";
22
+ toHaveURL: "toHaveURL";
23
+ }>;
24
+ useFirst: z.ZodBoolean;
25
+ }, z.core.$strip>;
26
+ export type PlaywrightAssertionStep = z.infer<typeof PlaywrightAssertionStepSchema>;
27
+ export type AssertCacheExecutor = (context: {
28
+ page: DonobuExtendedPage;
29
+ }) => Promise<void>;
30
+ /**
31
+ * Builds an executor function from structured assertion steps.
32
+ * Each step maps to exactly one Playwright `expect` call — no string
33
+ * evaluation, no VM contexts.
34
+ */
35
+ export declare function buildAssertExecutor(steps: PlaywrightAssertionStep[]): AssertCacheExecutor;
36
+ /**
37
+ * Cache key for a single `page.ai.assert(...)` invocation.
38
+ * Keyed on page hostname + assertion text so that the same assertion
39
+ * on the same domain always resolves to the same cached entry.
40
+ */
41
+ export type AssertCacheKey = {
42
+ pageUrl: string;
43
+ assertion: string;
44
+ };
45
+ /**
46
+ * Serialised cache entry stored on disk. Contains structured assertion
47
+ * steps rather than raw code strings.
48
+ */
49
+ export type AssertCacheEntry = AssertCacheKey & {
50
+ steps: PlaywrightAssertionStep[];
51
+ };
52
+ /**
53
+ * Entry hydrated with an executable runner.
54
+ */
55
+ export type AssertCacheEntryWithRunner = AssertCacheEntry & {
56
+ run: AssertCacheExecutor;
57
+ };
58
+ //# sourceMappingURL=assertCache.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assertCache.d.ts","sourceRoot":"","sources":["../../../../src/lib/ai/cache/assertCache.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAE3B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAMxE;;;;GAIG;AACH,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;iBA0DxC,CAAC;AAEH,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAC3C,OAAO,6BAA6B,CACrC,CAAC;AAMF,MAAM,MAAM,mBAAmB,GAAG,CAAC,OAAO,EAAE;IAC1C,IAAI,EAAE,kBAAkB,CAAC;CAC1B,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AAEpB;;;;GAIG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,uBAAuB,EAAE,GAC/B,mBAAmB,CA6CrB;AAMD;;;;GAIG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,gBAAgB,GAAG,cAAc,GAAG;IAC9C,KAAK,EAAE,uBAAuB,EAAE,CAAC;CAClC,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,0BAA0B,GAAG,gBAAgB,GAAG;IAC1D,GAAG,EAAE,mBAAmB,CAAC;CAC1B,CAAC"}
@@ -0,0 +1,110 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PlaywrightAssertionStepSchema = void 0;
4
+ exports.buildAssertExecutor = buildAssertExecutor;
5
+ const test_1 = require("@playwright/test");
6
+ const v4_1 = require("zod/v4");
7
+ // ---------------------------------------------------------------------------
8
+ // Structured assertion step schema
9
+ // ---------------------------------------------------------------------------
10
+ /**
11
+ * A single structured assertion step returned by the AI. Each step maps
12
+ * deterministically to one Playwright `expect` call — no free-form code
13
+ * generation, no VM evaluation.
14
+ */
15
+ exports.PlaywrightAssertionStepSchema = v4_1.z.object({
16
+ /** How to locate the element. Set to `null` for page-level assertions (title, url). */
17
+ locator: v4_1.z
18
+ .enum(['role', 'text'])
19
+ .nullable()
20
+ .describe(`How to locate the target element on the page.
21
+ - 'role': Use page.getByRole(role, { name: value }) — best for semantic elements (headings, buttons, links, tabs, etc.)
22
+ - 'text': Use page.getByText(value) — best for checking text content visibility
23
+ - null: For page-level assertions (toHaveTitle, toHaveURL) where no element locator is needed`),
24
+ /** ARIA role name. Required when locator is 'role', otherwise null. */
25
+ role: v4_1.z
26
+ .string()
27
+ .nullable()
28
+ .describe(`The ARIA role to pass to page.getByRole(). Required when locator is 'role', null otherwise.
29
+ Common roles: 'heading', 'button', 'link', 'tab', 'tabpanel', 'dialog', 'navigation', 'textbox', 'checkbox', 'radio', 'combobox', 'menuitem'.`),
30
+ /** The text, name, title, URL, or regex pattern to match. */
31
+ value: v4_1.z.string().describe(`The value to match against. Its meaning depends on the locator and assertion:
32
+ - For locator='role': the accessible name passed to { name: value }
33
+ - For locator='text': the text content to find via page.getByText()
34
+ - For assertion='toHaveTitle': the expected page title
35
+ - For assertion='toHaveURL': the expected page URL or URL pattern`),
36
+ /** Whether 'value' should be interpreted as a regex pattern. */
37
+ valueIsRegex: v4_1.z
38
+ .boolean()
39
+ .describe('Set to true when value is a regex pattern (e.g. "Page \\d+ of \\d+"). The value will be passed to new RegExp().'),
40
+ /** The Playwright assertion to apply. */
41
+ assertion: v4_1.z
42
+ .enum([
43
+ 'toBeVisible',
44
+ 'toBeHidden',
45
+ 'toBeEnabled',
46
+ 'toBeDisabled',
47
+ 'toHaveTitle',
48
+ 'toHaveURL',
49
+ ])
50
+ .describe(`The Playwright assertion to apply:
51
+ - 'toBeVisible': expect(locator).toBeVisible() — element is present and visible
52
+ - 'toBeHidden': expect(locator).not.toBeVisible() — element is not visible (or absent)
53
+ - 'toBeEnabled': expect(locator).toBeEnabled() — interactive element is enabled
54
+ - 'toBeDisabled': expect(locator).toBeDisabled() — interactive element is disabled
55
+ - 'toHaveTitle': expect(page).toHaveTitle(value) — page title matches (set locator to null)
56
+ - 'toHaveURL': expect(page).toHaveURL(value) — page URL matches (set locator to null)`),
57
+ /** Whether to narrow to the first match via .first() when the locator might match multiple elements. */
58
+ useFirst: v4_1.z
59
+ .boolean()
60
+ .describe('Set to true to call .first() on the locator when the selector might match multiple elements.'),
61
+ });
62
+ /**
63
+ * Builds an executor function from structured assertion steps.
64
+ * Each step maps to exactly one Playwright `expect` call — no string
65
+ * evaluation, no VM contexts.
66
+ */
67
+ function buildAssertExecutor(steps) {
68
+ return async ({ page }) => {
69
+ for (const step of steps) {
70
+ const matcher = step.valueIsRegex
71
+ ? new RegExp(step.value)
72
+ : step.value;
73
+ // Page-level assertions (no element locator needed)
74
+ if (step.assertion === 'toHaveTitle') {
75
+ await (0, test_1.expect)(page).toHaveTitle(matcher);
76
+ continue;
77
+ }
78
+ if (step.assertion === 'toHaveURL') {
79
+ await (0, test_1.expect)(page).toHaveURL(matcher);
80
+ continue;
81
+ }
82
+ // Element-level assertions
83
+ let locator;
84
+ if (step.locator === 'role' && step.role) {
85
+ locator = page.getByRole(step.role, { name: matcher });
86
+ }
87
+ else {
88
+ locator = page.getByText(matcher);
89
+ }
90
+ if (step.useFirst) {
91
+ locator = locator.first();
92
+ }
93
+ switch (step.assertion) {
94
+ case 'toBeVisible':
95
+ await (0, test_1.expect)(locator).toBeVisible();
96
+ break;
97
+ case 'toBeHidden':
98
+ await (0, test_1.expect)(locator).not.toBeVisible();
99
+ break;
100
+ case 'toBeEnabled':
101
+ await (0, test_1.expect)(locator).toBeEnabled();
102
+ break;
103
+ case 'toBeDisabled':
104
+ await (0, test_1.expect)(locator).toBeDisabled();
105
+ break;
106
+ }
107
+ }
108
+ };
109
+ }
110
+ //# sourceMappingURL=assertCache.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assertCache.js","sourceRoot":"","sources":["../../../../src/lib/ai/cache/assertCache.ts"],"names":[],"mappings":";;;AA2FA,kDA+CC;AA1ID,2CAA0C;AAC1C,+BAA2B;AAI3B,8EAA8E;AAC9E,mCAAmC;AACnC,8EAA8E;AAE9E;;;;GAIG;AACU,QAAA,6BAA6B,GAAG,MAAC,CAAC,MAAM,CAAC;IACpD,uFAAuF;IACvF,OAAO,EAAE,MAAC;SACP,IAAI,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;SACtB,QAAQ,EAAE;SACV,QAAQ,CACP;;;8FAGwF,CACzF;IACH,uEAAuE;IACvE,IAAI,EAAE,MAAC;SACJ,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACP;8IACwI,CACzI;IACH,6DAA6D;IAC7D,KAAK,EAAE,MAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CACxB;;;;kEAI8D,CAC/D;IACD,gEAAgE;IAChE,YAAY,EAAE,MAAC;SACZ,OAAO,EAAE;SACT,QAAQ,CACP,iHAAiH,CAClH;IACH,yCAAyC;IACzC,SAAS,EAAE,MAAC;SACT,IAAI,CAAC;QACJ,aAAa;QACb,YAAY;QACZ,aAAa;QACb,cAAc;QACd,aAAa;QACb,WAAW;KACZ,CAAC;SACD,QAAQ,CACP;;;;;;sFAMgF,CACjF;IACH,wGAAwG;IACxG,QAAQ,EAAE,MAAC;SACR,OAAO,EAAE;SACT,QAAQ,CACP,8FAA8F,CAC/F;CACJ,CAAC,CAAC;AAcH;;;;GAIG;AACH,SAAgB,mBAAmB,CACjC,KAAgC;IAEhC,OAAO,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;QACxB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,OAAO,GAAoB,IAAI,CAAC,YAAY;gBAChD,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;gBACxB,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;YAEf,oDAAoD;YACpD,IAAI,IAAI,CAAC,SAAS,KAAK,aAAa,EAAE,CAAC;gBACrC,MAAM,IAAA,aAAM,EAAC,IAAI,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;gBACxC,SAAS;YACX,CAAC;YACD,IAAI,IAAI,CAAC,SAAS,KAAK,WAAW,EAAE,CAAC;gBACnC,MAAM,IAAA,aAAM,EAAC,IAAI,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;gBACtC,SAAS;YACX,CAAC;YAED,2BAA2B;YAC3B,IAAI,OAAO,CAAC;YACZ,IAAI,IAAI,CAAC,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;gBACzC,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAW,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;YAChE,CAAC;iBAAM,CAAC;gBACN,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YACpC,CAAC;YAED,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAClB,OAAO,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;YAC5B,CAAC;YAED,QAAQ,IAAI,CAAC,SAAS,EAAE,CAAC;gBACvB,KAAK,aAAa;oBAChB,MAAM,IAAA,aAAM,EAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;oBACpC,MAAM;gBACR,KAAK,YAAY;oBACf,MAAM,IAAA,aAAM,EAAC,OAAO,CAAC,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;oBACxC,MAAM;gBACR,KAAK,aAAa;oBAChB,MAAM,IAAA,aAAM,EAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;oBACpC,MAAM;gBACR,KAAK,cAAc;oBACjB,MAAM,IAAA,aAAM,EAAC,OAAO,CAAC,CAAC,YAAY,EAAE,CAAC;oBACrC,MAAM;YACV,CAAC;QACH,CAAC;IACH,CAAC,CAAC;AACJ,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import type { DonobuExtendedPage } from '../../page/DonobuExtendedPage';
2
+ import type { AssertCacheEntry, AssertCacheEntryWithRunner, AssertCacheKey } from './assertCache';
2
3
  /**
3
4
  * Cache key used to identify a unique `page.ai.act(...)` or `device.ai(...)` invocation.
4
5
  * Keep this structure aligned with the code generator so replayed runs remain deterministic.
@@ -34,6 +35,7 @@ export type PageAiCacheEntryWithRunner = PageAiCacheEntry & {
34
35
  */
35
36
  export type PageAiCacheContents = {
36
37
  caches: PageAiCacheEntry[];
38
+ assertions?: AssertCacheEntry[];
37
39
  };
38
40
  export type PageAiCacheExecutionContext = {
39
41
  page?: DonobuExtendedPage;
@@ -50,11 +52,17 @@ export interface PageAiCache {
50
52
  put(entry: PageAiCacheEntry): Promise<void>;
51
53
  delete(key: PageAiCacheKey): Promise<boolean>;
52
54
  snapshot(): Promise<PageAiCacheContents>;
55
+ getAssert(key: AssertCacheKey): Promise<AssertCacheEntryWithRunner | null>;
56
+ putAssert(entry: AssertCacheEntry): Promise<void>;
57
+ deleteAssert(key: AssertCacheKey): Promise<boolean>;
53
58
  }
54
- export declare const renderCacheModule: (entries: PageAiCacheEntry[]) => string;
59
+ export declare const renderCacheModule: (entries: PageAiCacheEntry[], assertions?: AssertCacheEntry[]) => string;
55
60
  /**
56
61
  * File-backed implementation used by the Playwright fixture. Protects reads and
57
62
  * writes with an OS-level lock so concurrent processes do not corrupt the file.
63
+ *
64
+ * Both page.ai flow caches and assertion caches live in the same file to avoid
65
+ * a separate file and lock for assertions.
58
66
  */
59
67
  export declare class FilePageAiCache implements PageAiCache {
60
68
  private readonly cacheFilepath;
@@ -62,22 +70,11 @@ export declare class FilePageAiCache implements PageAiCache {
62
70
  get(key: PageAiCacheKey): Promise<PageAiCacheEntryWithRunner | null>;
63
71
  put(entry: PageAiCacheEntry): Promise<void>;
64
72
  delete(key: PageAiCacheKey): Promise<boolean>;
65
- /**
66
- * Returns an in-memory snapshot of the cache content in the same shape used
67
- * on disk.
68
- */
69
73
  snapshot(): Promise<PageAiCacheContents>;
70
- /**
71
- * Lazily creates an empty cache file. Using the `'wx'` flag keeps the method
72
- * idempotent even when multiple processes start simultaneously.
73
- */
74
+ getAssert(key: AssertCacheKey): Promise<AssertCacheEntryWithRunner | null>;
75
+ putAssert(entry: AssertCacheEntry): Promise<void>;
76
+ deleteAssert(key: AssertCacheKey): Promise<boolean>;
74
77
  private ensureCacheFileExists;
75
- /**
76
- * Reads and evaluates the cache file without touching Node's module cache.
77
- * We re-run the file in a fresh CommonJS wrapper on every call so parallel
78
- * writers cannot serve stale data to parallel readers (a risk when relying
79
- * on dynamic import cache-busting tokens).
80
- */
81
78
  private loadCacheModule;
82
79
  private readCacheFile;
83
80
  private writeCacheFile;
@@ -90,10 +87,14 @@ export declare class FilePageAiCache implements PageAiCache {
90
87
  */
91
88
  export declare class InMemoryPageAiCache implements PageAiCache {
92
89
  private cache;
90
+ private assertions;
93
91
  constructor(initialContents?: PageAiCacheEntry[] | PageAiCacheContents);
94
92
  get(key: PageAiCacheKey): Promise<PageAiCacheEntryWithRunner | null>;
95
93
  put(entry: PageAiCacheEntry): Promise<void>;
96
94
  delete(key: PageAiCacheKey): Promise<boolean>;
97
95
  snapshot(): Promise<PageAiCacheContents>;
96
+ getAssert(key: AssertCacheKey): Promise<AssertCacheEntryWithRunner | null>;
97
+ putAssert(entry: AssertCacheEntry): Promise<void>;
98
+ deleteAssert(key: AssertCacheKey): Promise<boolean>;
98
99
  }
99
100
  //# sourceMappingURL=cache.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../../../../src/lib/ai/cache/cache.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAExE;;;;;;;GAOG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B,+FAA+F;IAC/F,UAAU,CAAC,EAAE,KAAK,GAAG,SAAS,GAAG,KAAK,CAAC;IACvC,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;IAC5B,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;CAC1B,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,cAAc,GAAG;IAC9C,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,0BAA0B,GAAG,gBAAgB,GAAG;IAC1D,GAAG,EAAE,mBAAmB,CAAC;CAC1B,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG;IAChC,MAAM,EAAE,gBAAgB,EAAE,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG;IACxC,IAAI,CAAC,EAAE,kBAAkB,CAAC;IAC1B,yFAAyF;IACzF,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG,CAChC,OAAO,EAAE,2BAA2B,KACjC,OAAO,CAAC,OAAO,CAAC,CAAC;AAEtB;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,GAAG,CAAC,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,0BAA0B,GAAG,IAAI,CAAC,CAAC;IACrE,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;AAkHD,eAAO,MAAM,iBAAiB,GAAI,SAAS,gBAAgB,EAAE,KAAG,MAU/D,CAAC;AAEF;;;GAGG;AACH,qBAAa,eAAgB,YAAW,WAAW;IAC9B,OAAO,CAAC,QAAQ,CAAC,aAAa;gBAAb,aAAa,EAAE,MAAM;IAE5C,GAAG,CACd,GAAG,EAAE,cAAc,GAClB,OAAO,CAAC,0BAA0B,GAAG,IAAI,CAAC;IAehC,GAAG,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAsB3C,MAAM,CAAC,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC;IA2B1D;;;OAGG;IACU,QAAQ,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAarD;;;OAGG;YACW,qBAAqB;IAgBnC;;;;;OAKG;YACW,eAAe;YA8Bf,aAAa;YAwDb,cAAc;YAUd,aAAa;CA8B5B;AAED;;;;GAIG;AACH,qBAAa,mBAAoB,YAAW,WAAW;IACrD,OAAO,CAAC,KAAK,CAA+B;gBAG1C,eAAe,GAAE,gBAAgB,EAAE,GAAG,mBAAwB;IASnD,GAAG,CACd,GAAG,EAAE,cAAc,GAClB,OAAO,CAAC,0BAA0B,GAAG,IAAI,CAAC;IAUhC,GAAG,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAiB3C,MAAM,CAAC,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC;IAmB7C,QAAQ,IAAI,OAAO,CAAC,mBAAmB,CAAC;CAKtD"}
1
+ {"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../../../../src/lib/ai/cache/cache.ts"],"names":[],"mappings":"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"}