screenci 0.0.68 → 0.0.70
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 +45 -122
- package/dist/cli.d.ts +3 -18
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +117 -158
- package/dist/cli.js.map +1 -1
- package/dist/docs/manifest.d.ts +66 -35
- package/dist/docs/manifest.d.ts.map +1 -1
- package/dist/docs/manifest.js +22 -11
- package/dist/docs/manifest.js.map +1 -1
- package/dist/docs/video-sources/cli.screenci.d.ts +2 -0
- package/dist/docs/video-sources/cli.screenci.d.ts.map +1 -0
- package/dist/docs/video-sources/{cli.video.js → cli.screenci.js} +1 -1
- package/dist/docs/video-sources/cli.screenci.js.map +1 -0
- package/dist/docs/video-sources/installation.screenci.d.ts +2 -0
- package/dist/docs/video-sources/installation.screenci.d.ts.map +1 -0
- package/dist/docs/video-sources/{installation.video.js → installation.screenci.js} +1 -1
- package/dist/docs/video-sources/installation.screenci.js.map +1 -0
- package/dist/docs/video-sources/landing.screenci.d.ts +2 -0
- package/dist/docs/video-sources/landing.screenci.d.ts.map +1 -0
- package/dist/docs/video-sources/{landing.video.js → landing.screenci.js} +1 -1
- package/dist/docs/video-sources/landing.screenci.js.map +1 -0
- package/dist/docs/video-sources/locator-highlight-animated.screenci.d.ts +2 -0
- package/dist/docs/video-sources/locator-highlight-animated.screenci.d.ts.map +1 -0
- package/dist/docs/video-sources/locator-highlight-animated.screenci.js +53 -0
- package/dist/docs/video-sources/locator-highlight-animated.screenci.js.map +1 -0
- package/dist/docs/video-sources/locator-highlight-still.screenci.d.ts +2 -0
- package/dist/docs/video-sources/locator-highlight-still.screenci.d.ts.map +1 -0
- package/dist/docs/video-sources/locator-highlight-still.screenci.js +24 -0
- package/dist/docs/video-sources/locator-highlight-still.screenci.js.map +1 -0
- package/dist/docs/video-sources/product-pitch.screenci.d.ts +2 -0
- package/dist/docs/video-sources/product-pitch.screenci.d.ts.map +1 -0
- package/dist/docs/video-sources/product-pitch.screenci.js +136 -0
- package/dist/docs/video-sources/product-pitch.screenci.js.map +1 -0
- package/dist/docs/video-sources/public-urls.screenci.d.ts +2 -0
- package/dist/docs/video-sources/public-urls.screenci.d.ts.map +1 -0
- package/dist/docs/video-sources/public-urls.screenci.js +34 -0
- package/dist/docs/video-sources/public-urls.screenci.js.map +1 -0
- package/dist/docs/video-sources/studio.screenci.d.ts +2 -0
- package/dist/docs/video-sources/studio.screenci.d.ts.map +1 -0
- package/dist/docs/video-sources/studio.screenci.js +57 -0
- package/dist/docs/video-sources/studio.screenci.js.map +1 -0
- package/dist/docs/videos.d.ts +36 -15
- package/dist/docs/videos.d.ts.map +1 -1
- package/dist/docs/videos.js +27 -2
- package/dist/docs/videos.js.map +1 -1
- package/dist/e2e/htmlRasterizer.e2e.d.ts +2 -0
- package/dist/e2e/htmlRasterizer.e2e.d.ts.map +1 -0
- package/dist/e2e/htmlRasterizer.e2e.js +107 -0
- package/dist/e2e/htmlRasterizer.e2e.js.map +1 -0
- package/dist/e2e/screenshot.e2e.d.ts +2 -0
- package/dist/e2e/screenshot.e2e.d.ts.map +1 -0
- package/dist/e2e/screenshot.e2e.js +73 -0
- package/dist/e2e/screenshot.e2e.js.map +1 -0
- package/dist/index.d.ts +10 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -2
- package/dist/index.js.map +1 -1
- package/dist/src/asset.d.ts +245 -53
- package/dist/src/asset.d.ts.map +1 -1
- package/dist/src/asset.js +718 -77
- package/dist/src/asset.js.map +1 -1
- package/dist/src/audio.d.ts +127 -0
- package/dist/src/audio.d.ts.map +1 -0
- package/dist/src/audio.js +207 -0
- package/dist/src/audio.js.map +1 -0
- package/dist/src/config.d.ts.map +1 -1
- package/dist/src/config.js +9 -3
- package/dist/src/config.js.map +1 -1
- package/dist/src/contextOptions.d.ts +48 -0
- package/dist/src/contextOptions.d.ts.map +1 -0
- package/dist/src/contextOptions.js +71 -0
- package/dist/src/contextOptions.js.map +1 -0
- package/dist/src/crop.d.ts +93 -0
- package/dist/src/crop.d.ts.map +1 -0
- package/dist/src/crop.js +133 -0
- package/dist/src/crop.js.map +1 -0
- package/dist/src/cue.d.ts +17 -4
- package/dist/src/cue.d.ts.map +1 -1
- package/dist/src/cue.js +31 -3
- package/dist/src/cue.js.map +1 -1
- package/dist/src/defaults.d.ts +13 -1
- package/dist/src/defaults.d.ts.map +1 -1
- package/dist/src/defaults.js +13 -0
- package/dist/src/defaults.js.map +1 -1
- package/dist/src/dimensions.d.ts +6 -0
- package/dist/src/dimensions.d.ts.map +1 -1
- package/dist/src/dimensions.js +15 -0
- package/dist/src/dimensions.js.map +1 -1
- package/dist/src/events.d.ts +283 -13
- package/dist/src/events.d.ts.map +1 -1
- package/dist/src/events.js +134 -5
- package/dist/src/events.js.map +1 -1
- package/dist/src/htmlRasterizer.d.ts +153 -0
- package/dist/src/htmlRasterizer.d.ts.map +1 -0
- package/dist/src/htmlRasterizer.js +386 -0
- package/dist/src/htmlRasterizer.js.map +1 -0
- package/dist/src/init.d.ts +17 -0
- package/dist/src/init.d.ts.map +1 -1
- package/dist/src/init.js +131 -11
- package/dist/src/init.js.map +1 -1
- package/dist/src/linkSession.d.ts +36 -0
- package/dist/src/linkSession.d.ts.map +1 -0
- package/dist/src/linkSession.js +122 -0
- package/dist/src/linkSession.js.map +1 -0
- package/dist/src/overlayFlush.d.ts +18 -0
- package/dist/src/overlayFlush.d.ts.map +1 -0
- package/dist/src/overlayFlush.js +56 -0
- package/dist/src/overlayFlush.js.map +1 -0
- package/dist/src/overlayRect.d.ts +69 -0
- package/dist/src/overlayRect.d.ts.map +1 -0
- package/dist/src/overlayRect.js +55 -0
- package/dist/src/overlayRect.js.map +1 -0
- package/dist/src/performance.d.ts +1 -3
- package/dist/src/performance.d.ts.map +1 -1
- package/dist/src/performance.js +0 -12
- package/dist/src/performance.js.map +1 -1
- package/dist/src/recording.d.ts +3 -2
- package/dist/src/recording.d.ts.map +1 -1
- package/dist/src/recordingData.d.ts +22 -2
- package/dist/src/recordingData.d.ts.map +1 -1
- package/dist/src/runtimeContext.d.ts +57 -1
- package/dist/src/runtimeContext.d.ts.map +1 -1
- package/dist/src/runtimeContext.js +40 -0
- package/dist/src/runtimeContext.js.map +1 -1
- package/dist/src/screenshot.d.ts +105 -0
- package/dist/src/screenshot.d.ts.map +1 -0
- package/dist/src/screenshot.js +188 -0
- package/dist/src/screenshot.js.map +1 -0
- package/dist/src/stillCapture.d.ts +68 -0
- package/dist/src/stillCapture.d.ts.map +1 -0
- package/dist/src/stillCapture.js +119 -0
- package/dist/src/stillCapture.js.map +1 -0
- package/dist/src/studio.d.ts +8 -11
- package/dist/src/studio.d.ts.map +1 -1
- package/dist/src/studio.js +2 -25
- package/dist/src/studio.js.map +1 -1
- package/dist/src/types.d.ts +125 -15
- package/dist/src/types.d.ts.map +1 -1
- package/dist/src/types.js.map +1 -1
- package/dist/src/video.d.ts +54 -1
- package/dist/src/video.d.ts.map +1 -1
- package/dist/src/video.js +190 -42
- package/dist/src/video.js.map +1 -1
- package/dist/src/voices.d.ts +22 -9
- package/dist/src/voices.d.ts.map +1 -1
- package/dist/src/voices.js +6 -24
- package/dist/src/voices.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +16 -2
- package/skills/screenci/SKILL.md +37 -15
- package/skills/screenci/references/init.md +3 -1
- package/skills/screenci/references/record.md +8 -3
- package/dist/docs/video-sources/cli.video.d.ts +0 -2
- package/dist/docs/video-sources/cli.video.d.ts.map +0 -1
- package/dist/docs/video-sources/cli.video.js.map +0 -1
- package/dist/docs/video-sources/installation.video.d.ts +0 -2
- package/dist/docs/video-sources/installation.video.d.ts.map +0 -1
- package/dist/docs/video-sources/installation.video.js.map +0 -1
- package/dist/docs/video-sources/landing.video.d.ts +0 -2
- package/dist/docs/video-sources/landing.video.d.ts.map +0 -1
- package/dist/docs/video-sources/landing.video.js.map +0 -1
package/README.md
CHANGED
|
@@ -3,53 +3,45 @@
|
|
|
3
3
|
Your UI changed. Your demo videos didn't. screenci fixes that.
|
|
4
4
|
|
|
5
5
|
Record product walkthroughs as code. When the UI ships, run
|
|
6
|
-
`npx screenci record` and your videos regenerate.
|
|
6
|
+
`npx screenci record` and your videos regenerate. You keep the Playwright
|
|
7
|
+
mental model, but the output is a maintainable product video instead of a
|
|
8
|
+
test report.
|
|
7
9
|
|
|
8
|
-
|
|
9
|
-
product video instead of a test report.
|
|
10
|
+
Learn more at [screenci.com](https://screenci.com).
|
|
10
11
|
|
|
11
|
-
##
|
|
12
|
+
## Get started
|
|
12
13
|
|
|
13
14
|
```bash
|
|
14
15
|
npm init screenci@latest
|
|
16
|
+
# or
|
|
15
17
|
pnpm create screenci
|
|
16
18
|
```
|
|
17
19
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
`npm init screenci@latest -- --yes --package-manager pnpm`.
|
|
24
|
-
|
|
25
|
-
```text
|
|
26
|
-
screenci/
|
|
27
|
-
screenci.config.ts
|
|
28
|
-
package.json
|
|
29
|
-
package-lock.json # or pnpm-lock.yaml / yarn.lock
|
|
30
|
-
.gitignore
|
|
31
|
-
videos/
|
|
32
|
-
example.video.ts
|
|
33
|
-
.github/workflows/screenci.yaml # at the repo root, scoped to screenci/
|
|
34
|
-
```
|
|
20
|
+
This scaffolds a self-contained `screenci/` directory with its own
|
|
21
|
+
dependencies and installs Chromium. The directory is isolated from the
|
|
22
|
+
surrounding workspace, which keeps installation reliable inside monorepos.
|
|
23
|
+
|
|
24
|
+
Then write a video, run it locally, and record the final output:
|
|
35
25
|
|
|
36
|
-
|
|
37
|
-
|
|
26
|
+
```bash
|
|
27
|
+
npx screenci test # author the video
|
|
28
|
+
npx screenci record # render and upload the final video
|
|
29
|
+
```
|
|
38
30
|
|
|
39
|
-
|
|
31
|
+
Full docs:
|
|
40
32
|
|
|
41
|
-
- Getting started
|
|
42
|
-
- Writing scripts
|
|
43
|
-
- CLI reference
|
|
33
|
+
- [Getting started](https://screenci.com/docs)
|
|
34
|
+
- [Writing scripts](https://screenci.com/docs/write-video-scripts)
|
|
35
|
+
- [CLI reference](https://screenci.com/docs/reference/cli)
|
|
44
36
|
|
|
45
37
|
## Write a video
|
|
46
38
|
|
|
47
|
-
Video scripts are Playwright-style files with a `.
|
|
39
|
+
Video scripts are Playwright-style files with a `.screenci.ts` extension. If you
|
|
48
40
|
already know Playwright locators, navigation, and waiting, you already know
|
|
49
41
|
most of the automation layer.
|
|
50
42
|
|
|
51
43
|
```ts
|
|
52
|
-
// videos/onboarding.
|
|
44
|
+
// videos/onboarding.screenci.ts
|
|
53
45
|
import { hide, speed, time, video } from 'screenci'
|
|
54
46
|
|
|
55
47
|
video('Onboarding flow', async ({ page }) => {
|
|
@@ -70,101 +62,32 @@ video('Onboarding flow', async ({ page }) => {
|
|
|
70
62
|
```
|
|
71
63
|
|
|
72
64
|
Each `video()` call becomes one output video. The title becomes the filename
|
|
73
|
-
and the remote video identity.
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
cursor movement and visible typing layered on top of normal Playwright
|
|
77
|
-
behavior.
|
|
65
|
+
and the remote video identity. Inside `video()`, `page` is a `ScreenCIPage`: a
|
|
66
|
+
Playwright `Page` with animated cursor movement and visible typing layered on
|
|
67
|
+
top of normal Playwright behavior.
|
|
78
68
|
|
|
79
69
|
`hide()` removes setup entirely. `speed()` and `time()` keep a section visible
|
|
80
|
-
but remap its rendered duration.
|
|
81
|
-
playback speed.
|
|
82
|
-
|
|
83
|
-
## Run locally
|
|
84
|
-
|
|
85
|
-
```bash
|
|
86
|
-
npx screenci test
|
|
87
|
-
npx screenci test --ui
|
|
88
|
-
```
|
|
89
|
-
|
|
90
|
-
Use `test` for the normal authoring loop. It runs the video scripts through
|
|
91
|
-
Playwright without starting the final recording and upload path.
|
|
92
|
-
|
|
93
|
-
## Record the final output
|
|
94
|
-
|
|
95
|
-
```bash
|
|
96
|
-
npx screenci record
|
|
97
|
-
```
|
|
98
|
-
|
|
99
|
-
On the first run without `SCREENCI_SECRET` in an interactive terminal, `record`
|
|
100
|
-
prints a one-time ScreenCI link, waits for you to finish sign-in in the browser,
|
|
101
|
-
saves the secret into the project env file, and then continues. In a
|
|
102
|
-
non-interactive session (no terminal, or `SCREENCI_NONINTERACTIVE=1`) `record`
|
|
103
|
-
does not wait: it prints the sign-in link and exits, so you can open the link,
|
|
104
|
-
sign in, choose a plan, and rerun `record`, which then detects the completed
|
|
105
|
-
session and continues. Set `SCREENCI_SECRET` ahead of time to skip sign-in
|
|
106
|
-
entirely. Pending auth state is cached in `.screenci/link-session.json`, so
|
|
107
|
-
rerunning `record` reuses the same link until it expires or completes. Recorded
|
|
108
|
-
artifacts still live in `.screenci/<video-name>/`.
|
|
109
|
-
|
|
110
|
-
## Configure
|
|
111
|
-
|
|
112
|
-
```ts
|
|
113
|
-
// screenci.config.ts
|
|
114
|
-
import { defineConfig } from 'screenci'
|
|
115
|
-
|
|
116
|
-
export default defineConfig({
|
|
117
|
-
projectName: 'my-project',
|
|
118
|
-
envFile: '.env',
|
|
119
|
-
videoDir: './videos',
|
|
120
|
-
use: {
|
|
121
|
-
baseURL: 'https://app.example.com',
|
|
122
|
-
recordOptions: {
|
|
123
|
-
aspectRatio: '16:9',
|
|
124
|
-
quality: '1080p',
|
|
125
|
-
fps: 60,
|
|
126
|
-
},
|
|
127
|
-
trace: 'retain-on-failure',
|
|
128
|
-
},
|
|
129
|
-
projects: [{ name: 'chromium' }],
|
|
130
|
-
})
|
|
131
|
-
```
|
|
132
|
-
|
|
133
|
-
ScreenCI manages `testDir`, `testMatch`, and `retries` for you. Most other
|
|
134
|
-
Playwright config still passes through.
|
|
135
|
-
|
|
136
|
-
If you keep local runtime secrets in an env file, point `envFile` at it or use
|
|
137
|
-
the project `.env`. ScreenCI loads that file automatically for CLI commands.
|
|
138
|
-
That is also the right place for BYOK-style secrets such as
|
|
139
|
-
`ELEVENLABS_API_KEY`. ScreenCI does not store raw API keys from your env file.
|
|
70
|
+
but remap its rendered duration.
|
|
140
71
|
|
|
141
72
|
## Authoring helpers
|
|
142
73
|
|
|
143
|
-
| Export | What it does
|
|
144
|
-
| ----------------- |
|
|
145
|
-
| `defineConfig` | Wraps Playwright config with ScreenCI defaults
|
|
146
|
-
| `video` | Declares a video recording test
|
|
147
|
-
| `createNarration` | Creates typed narration controllers
|
|
148
|
-
| `hide` | Cuts setup or cleanup out of the visible recording
|
|
149
|
-
| `autoZoom` | Smooth camera follow for an interaction block
|
|
150
|
-
| `zoomTo` | Manual camera framing for a locator or point
|
|
151
|
-
| `resetZoom` | Returns from manual framing to the full viewport
|
|
152
|
-
| `
|
|
153
|
-
| `voices` | Available voice constants such as `voices.Ava`
|
|
154
|
-
| `modelTypes` | Narration model constants
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
```
|
|
164
|
-
|
|
165
|
-
When `SCREENCI_SECRET` is configured, `screenci record` uploads the output to
|
|
166
|
-
ScreenCI for rendering, narration generation, and hosted delivery.
|
|
167
|
-
|
|
168
|
-
For narration authoring, keep cues short and usually one sentence at a time.
|
|
169
|
-
That makes overlap timing easier to manage and should reduce TTS regeneration
|
|
170
|
-
cost when only one line changes.
|
|
74
|
+
| Export | What it does |
|
|
75
|
+
| ----------------- | -------------------------------------------------------- |
|
|
76
|
+
| `defineConfig` | Wraps Playwright config with ScreenCI defaults |
|
|
77
|
+
| `video` | Declares a video recording test |
|
|
78
|
+
| `createNarration` | Creates typed narration controllers |
|
|
79
|
+
| `hide` | Cuts setup or cleanup out of the visible recording |
|
|
80
|
+
| `autoZoom` | Smooth camera follow for an interaction block |
|
|
81
|
+
| `zoomTo` | Manual camera framing for a locator or point |
|
|
82
|
+
| `resetZoom` | Returns from manual framing to the full viewport |
|
|
83
|
+
| `createOverlays` | Inserts timed media overlays into the recording timeline |
|
|
84
|
+
| `voices` | Available voice constants such as `voices.Ava` |
|
|
85
|
+
| `modelTypes` | Narration model constants |
|
|
86
|
+
|
|
87
|
+
See the [docs](https://screenci.com/docs) for configuration, narration,
|
|
88
|
+
camera, and CI setup.
|
|
89
|
+
|
|
90
|
+
## Community
|
|
91
|
+
|
|
92
|
+
Questions, ideas, or want to show off your videos? Join us on
|
|
93
|
+
[Discord](https://discord.gg/DyjSRFzeBc).
|
package/dist/cli.d.ts
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import type { RecordingCustomVoiceRef, RecordingData } from './src/events.js';
|
|
2
2
|
import type { VoiceKey } from './src/voices.js';
|
|
3
3
|
import type { RecordUploadPolicy } from './src/types.js';
|
|
4
|
+
import { getCliLinkSessionApiUrl, getDevBackendUrl, getDevFrontendUrl } from './src/linkSession.js';
|
|
5
|
+
export { getCliLinkSessionApiUrl, getDevBackendUrl, getDevFrontendUrl };
|
|
4
6
|
type PlaywrightListReportSuite = {
|
|
5
7
|
title?: string;
|
|
6
8
|
specs?: Array<{
|
|
@@ -31,29 +33,16 @@ type PreparedUploadAsset = {
|
|
|
31
33
|
fileBuffer?: Buffer;
|
|
32
34
|
contentType?: string;
|
|
33
35
|
};
|
|
34
|
-
export type StudioAppliedChange = {
|
|
35
|
-
kind?: string;
|
|
36
|
-
label?: string;
|
|
37
|
-
cue?: string;
|
|
38
|
-
language?: string;
|
|
39
|
-
from?: string;
|
|
40
|
-
to?: string;
|
|
41
|
-
};
|
|
42
36
|
export type UploadStudioInfo = {
|
|
43
37
|
held: true;
|
|
44
38
|
} | {
|
|
45
|
-
|
|
39
|
+
applied: true;
|
|
46
40
|
};
|
|
47
41
|
export type StudioUploadNotice = {
|
|
48
42
|
videoName: string;
|
|
49
43
|
videoId: string | null;
|
|
50
44
|
studio: UploadStudioInfo;
|
|
51
45
|
};
|
|
52
|
-
/**
|
|
53
|
-
* One-line summary of Studio overrides for CLI output, e.g.
|
|
54
|
-
* `recording.size (1 → 0.8), narration "intro" (en)`.
|
|
55
|
-
*/
|
|
56
|
-
export declare function formatStudioChangeSummary(changes: StudioAppliedChange[]): string;
|
|
57
46
|
export declare function formatStudioUrl(appUrl: string, projectId: string, videoId: string): string;
|
|
58
47
|
type OrgPlan = 'free' | 'starter' | 'business';
|
|
59
48
|
export declare function withUploadRetry<T>(fn: () => Promise<T>, signal: AbortSignal | undefined, maxAttempts?: number): Promise<T>;
|
|
@@ -76,9 +65,6 @@ export declare function uploadRecordings(screenciDir: string, projectName: strin
|
|
|
76
65
|
studioNotices: StudioUploadNotice[];
|
|
77
66
|
plan: OrgPlan | null;
|
|
78
67
|
}>;
|
|
79
|
-
export declare function getDevBackendUrl(): string;
|
|
80
|
-
export declare function getDevFrontendUrl(): string;
|
|
81
|
-
export declare function getCliLinkSessionApiUrl(): string;
|
|
82
68
|
export declare function extractConfigStringLiteral(configSource: string, property: 'projectName' | 'envFile'): string | undefined;
|
|
83
69
|
export declare function extractRecordUploadPolicyLiteral(configSource: string): RecordUploadPolicy | undefined;
|
|
84
70
|
export declare function extractMockRecordLiteral(configSource: string): boolean | undefined;
|
|
@@ -89,5 +75,4 @@ export declare function ensureScreenciSecret(resolvedConfigPath?: string, opts?:
|
|
|
89
75
|
}): Promise<string | undefined>;
|
|
90
76
|
export declare function main(): Promise<void>;
|
|
91
77
|
export declare function logCliError(error: unknown): void;
|
|
92
|
-
export {};
|
|
93
78
|
//# sourceMappingURL=cli.d.ts.map
|
package/dist/cli.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../cli.ts"],"names":[],"mappings":"AAwBA,OAAO,KAAK,EACV,uBAAuB,EACvB,aAAa,EAEd,MAAM,iBAAiB,CAAA;AAMxB,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAC/C,OAAO,KAAK,EAAE,kBAAkB,EAAkB,MAAM,gBAAgB,CAAA;
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../cli.ts"],"names":[],"mappings":"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"}
|