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.
- package/dist/apis/FlowsFilesApi.d.ts +18 -4
- package/dist/apis/FlowsFilesApi.d.ts.map +1 -1
- package/dist/apis/FlowsFilesApi.js +41 -4
- package/dist/apis/FlowsFilesApi.js.map +1 -1
- package/dist/cli/donobu-cli.js +134 -34
- package/dist/cli/donobu-cli.js.map +1 -1
- package/dist/cli/playwright-json-to-html.js +10 -0
- package/dist/cli/playwright-json-to-html.js.map +1 -1
- package/dist/codegen/CodeGenerator.d.ts.map +1 -1
- package/dist/codegen/CodeGenerator.js +7 -14
- package/dist/codegen/CodeGenerator.js.map +1 -1
- package/dist/envVars.d.ts +2 -0
- package/dist/envVars.d.ts.map +1 -1
- package/dist/envVars.js +4 -0
- package/dist/envVars.js.map +1 -1
- package/dist/esm/apis/FlowsFilesApi.d.ts +18 -4
- package/dist/esm/apis/FlowsFilesApi.d.ts.map +1 -1
- package/dist/esm/apis/FlowsFilesApi.js +41 -4
- package/dist/esm/apis/FlowsFilesApi.js.map +1 -1
- package/dist/esm/cli/donobu-cli.js +134 -34
- package/dist/esm/cli/donobu-cli.js.map +1 -1
- package/dist/esm/cli/playwright-json-to-html.js +10 -0
- package/dist/esm/cli/playwright-json-to-html.js.map +1 -1
- package/dist/esm/codegen/CodeGenerator.d.ts.map +1 -1
- package/dist/esm/codegen/CodeGenerator.js +7 -14
- package/dist/esm/codegen/CodeGenerator.js.map +1 -1
- package/dist/esm/envVars.d.ts +2 -0
- package/dist/esm/envVars.d.ts.map +1 -1
- package/dist/esm/envVars.js +4 -0
- package/dist/esm/envVars.js.map +1 -1
- package/dist/esm/lib/ai/cache/assertCache.d.ts +58 -0
- package/dist/esm/lib/ai/cache/assertCache.d.ts.map +1 -0
- package/dist/esm/lib/ai/cache/assertCache.js +110 -0
- package/dist/esm/lib/ai/cache/assertCache.js.map +1 -0
- package/dist/esm/lib/ai/cache/cache.d.ts +16 -15
- package/dist/esm/lib/ai/cache/cache.d.ts.map +1 -1
- package/dist/esm/lib/ai/cache/cache.js +166 -71
- package/dist/esm/lib/ai/cache/cache.js.map +1 -1
- package/dist/esm/lib/page/DonobuExtendedPage.d.ts +10 -0
- package/dist/esm/lib/page/DonobuExtendedPage.d.ts.map +1 -1
- package/dist/esm/lib/page/extendPage.d.ts.map +1 -1
- package/dist/esm/lib/page/extendPage.js +86 -3
- package/dist/esm/lib/page/extendPage.js.map +1 -1
- package/dist/esm/managers/AdminApiController.d.ts.map +1 -1
- package/dist/esm/managers/AdminApiController.js +1 -0
- package/dist/esm/managers/AdminApiController.js.map +1 -1
- package/dist/esm/persistence/flows/FlowsPersistenceSqlite.d.ts +0 -1
- package/dist/esm/persistence/flows/FlowsPersistenceSqlite.d.ts.map +1 -1
- package/dist/esm/persistence/flows/FlowsPersistenceSqlite.js +1 -20
- package/dist/esm/persistence/flows/FlowsPersistenceSqlite.js.map +1 -1
- package/dist/esm/tools/AssertTool.d.ts.map +1 -1
- package/dist/esm/tools/AssertTool.js +62 -14
- package/dist/esm/tools/AssertTool.js.map +1 -1
- package/dist/esm/utils/MiscUtils.d.ts +4 -0
- package/dist/esm/utils/MiscUtils.d.ts.map +1 -1
- package/dist/esm/utils/MiscUtils.js +25 -0
- package/dist/esm/utils/MiscUtils.js.map +1 -1
- package/dist/lib/ai/cache/assertCache.d.ts +58 -0
- package/dist/lib/ai/cache/assertCache.d.ts.map +1 -0
- package/dist/lib/ai/cache/assertCache.js +110 -0
- package/dist/lib/ai/cache/assertCache.js.map +1 -0
- package/dist/lib/ai/cache/cache.d.ts +16 -15
- package/dist/lib/ai/cache/cache.d.ts.map +1 -1
- package/dist/lib/ai/cache/cache.js +166 -71
- package/dist/lib/ai/cache/cache.js.map +1 -1
- package/dist/lib/page/DonobuExtendedPage.d.ts +10 -0
- package/dist/lib/page/DonobuExtendedPage.d.ts.map +1 -1
- package/dist/lib/page/extendPage.d.ts.map +1 -1
- package/dist/lib/page/extendPage.js +86 -3
- package/dist/lib/page/extendPage.js.map +1 -1
- package/dist/managers/AdminApiController.d.ts.map +1 -1
- package/dist/managers/AdminApiController.js +1 -0
- package/dist/managers/AdminApiController.js.map +1 -1
- package/dist/persistence/flows/FlowsPersistenceSqlite.d.ts +0 -1
- package/dist/persistence/flows/FlowsPersistenceSqlite.d.ts.map +1 -1
- package/dist/persistence/flows/FlowsPersistenceSqlite.js +1 -20
- package/dist/persistence/flows/FlowsPersistenceSqlite.js.map +1 -1
- package/dist/tools/AssertTool.d.ts.map +1 -1
- package/dist/tools/AssertTool.js +62 -14
- package/dist/tools/AssertTool.js.map +1 -1
- package/dist/utils/MiscUtils.d.ts +4 -0
- package/dist/utils/MiscUtils.d.ts.map +1 -1
- package/dist/utils/MiscUtils.js +25 -0
- package/dist/utils/MiscUtils.js.map +1 -1
- 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":"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"}
|
|
@@ -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
|
-
|
|
72
|
-
|
|
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;
|
|
1
|
+
{"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../../../../src/lib/ai/cache/cache.ts"],"names":[],"mappings":"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"}
|