@james-infotrack/demo-recorder 0.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/CHANGELOG.md +143 -0
- package/LICENSE +21 -0
- package/README.md +181 -0
- package/dist/components/configEditor/configEditor.component.d.ts +8 -0
- package/dist/components/configEditor/configEditor.component.d.ts.map +1 -0
- package/dist/components/configEditor/index.d.ts +5 -0
- package/dist/components/configEditor/index.d.ts.map +1 -0
- package/dist/components/configEditor/jsonEditor.component.d.ts +8 -0
- package/dist/components/configEditor/jsonEditor.component.d.ts.map +1 -0
- package/dist/components/configEditor/livePreview.component.d.ts +8 -0
- package/dist/components/configEditor/livePreview.component.d.ts.map +1 -0
- package/dist/components/demoPlayer/demoPlayer.component.d.ts +15 -0
- package/dist/components/demoPlayer/demoPlayer.component.d.ts.map +1 -0
- package/dist/components/demoPlayer/index.d.ts +9 -0
- package/dist/components/demoPlayer/index.d.ts.map +1 -0
- package/dist/components/demoPlayer/playerControls.component.d.ts +12 -0
- package/dist/components/demoPlayer/playerControls.component.d.ts.map +1 -0
- package/dist/components/demoPlayer/playerControls.styles.d.ts +6 -0
- package/dist/components/demoPlayer/playerControls.styles.d.ts.map +1 -0
- package/dist/components/demoPlayer/spotlight.component.d.ts +7 -0
- package/dist/components/demoPlayer/spotlight.component.d.ts.map +1 -0
- package/dist/components/demoPlayer/stepTooltip.component.d.ts +10 -0
- package/dist/components/demoPlayer/stepTooltip.component.d.ts.map +1 -0
- package/dist/components/demoPlayer/stepTooltip.styles.d.ts +15 -0
- package/dist/components/demoPlayer/stepTooltip.styles.d.ts.map +1 -0
- package/dist/components/demoRecorder/demoRecorder.component.d.ts +11 -0
- package/dist/components/demoRecorder/demoRecorder.component.d.ts.map +1 -0
- package/dist/components/demoRecorder/index.d.ts +3 -0
- package/dist/components/demoRecorder/index.d.ts.map +1 -0
- package/dist/components/demoRecorder/recorderUI.component.d.ts +10 -0
- package/dist/components/demoRecorder/recorderUI.component.d.ts.map +1 -0
- package/dist/components/demoRecorder/recorderUI.styles.d.ts +8 -0
- package/dist/components/demoRecorder/recorderUI.styles.d.ts.map +1 -0
- package/dist/components/index.d.ts +5 -0
- package/dist/components/index.d.ts.map +1 -0
- package/dist/core/actionExecutor.core.d.ts +18 -0
- package/dist/core/actionExecutor.core.d.ts.map +1 -0
- package/dist/core/aiProcessor.core.d.ts +10 -0
- package/dist/core/aiProcessor.core.d.ts.map +1 -0
- package/dist/core/domChangeDetector.core.d.ts +22 -0
- package/dist/core/domChangeDetector.core.d.ts.map +1 -0
- package/dist/core/eventCapture.core.d.ts +22 -0
- package/dist/core/eventCapture.core.d.ts.map +1 -0
- package/dist/core/index.d.ts +6 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/networkInterceptor.core.d.ts +22 -0
- package/dist/core/networkInterceptor.core.d.ts.map +1 -0
- package/dist/demo-recorder.css +1 -0
- package/dist/index.cjs.js +215 -0
- package/dist/index.d.ts +74 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.esm.js +9298 -0
- package/dist/models/actions.model.d.ts +2 -0
- package/dist/models/actions.model.d.ts.map +1 -0
- package/dist/models/config.model.d.ts +87 -0
- package/dist/models/config.model.d.ts.map +1 -0
- package/dist/models/events.model.d.ts +68 -0
- package/dist/models/events.model.d.ts.map +1 -0
- package/dist/models/index.d.ts +4 -0
- package/dist/models/index.d.ts.map +1 -0
- package/dist/styles.css +1 -0
- package/dist/utils/formInput.util.d.ts +17 -0
- package/dist/utils/formInput.util.d.ts.map +1 -0
- package/dist/utils/index.d.ts +6 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/screenshot.util.d.ts +13 -0
- package/dist/utils/screenshot.util.d.ts.map +1 -0
- package/dist/utils/selector.util.d.ts +12 -0
- package/dist/utils/selector.util.d.ts.map +1 -0
- package/dist/utils/timing.util.d.ts +10 -0
- package/dist/utils/timing.util.d.ts.map +1 -0
- package/dist/utils/validation.util.d.ts +13 -0
- package/dist/utils/validation.util.d.ts.map +1 -0
- package/package.json +93 -0
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
All notable changes to this project will be documented in this file.
|
|
4
|
+
|
|
5
|
+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
|
+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
|
+
|
|
8
|
+
## [0.1.0] - 2026-01-23
|
|
9
|
+
|
|
10
|
+
### Added
|
|
11
|
+
|
|
12
|
+
#### Core Components
|
|
13
|
+
- **DemoRecorder** - Comprehensive component for capturing user interactions
|
|
14
|
+
- Event capture for clicks, inputs, scrolls, and navigation
|
|
15
|
+
- DOM change detection with MutationObserver
|
|
16
|
+
- Network request interception (fetch + XMLHttpRequest)
|
|
17
|
+
- Screenshot capture with html2canvas integration
|
|
18
|
+
- Form input tracking with sensitive data masking
|
|
19
|
+
|
|
20
|
+
- **DemoPlayer** - Interactive demo playback with visual feedback
|
|
21
|
+
- Spotlight highlighting of target elements
|
|
22
|
+
- Step-by-step tooltips with navigation controls
|
|
23
|
+
- Video-style playback controls (play/pause/skip/speed)
|
|
24
|
+
- 8 action types: click, input, select, scroll, wait, navigate, hover, focus
|
|
25
|
+
- Support for both 'real' and 'simulated' execution modes
|
|
26
|
+
|
|
27
|
+
- **ConfigEditor** - Visual editor for demo configurations
|
|
28
|
+
- Monaco editor with JSON syntax highlighting
|
|
29
|
+
- Real-time schema validation
|
|
30
|
+
- Live preview of demo steps in iframe
|
|
31
|
+
- Error highlighting with actionable messages
|
|
32
|
+
- Split-pane layout with resizable panels
|
|
33
|
+
|
|
34
|
+
#### AI Integration
|
|
35
|
+
- AI-powered demo step generation using Claude API
|
|
36
|
+
- Automatic selector generation with 7-level priority system
|
|
37
|
+
- Intelligent action inference from captured events
|
|
38
|
+
- Context-aware instruction generation
|
|
39
|
+
- Support for custom AI prompts and instructions
|
|
40
|
+
|
|
41
|
+
#### Type System
|
|
42
|
+
- Complete TypeScript type definitions for all components
|
|
43
|
+
- Comprehensive type exports for:
|
|
44
|
+
- Demo configurations (`DemoConfig`, `Demo`, `DemoStep`)
|
|
45
|
+
- Actions (`ClickAction`, `InputAction`, etc.)
|
|
46
|
+
- Events (`RecordingEvent`, `DOMChangesSummary`)
|
|
47
|
+
- Components props and callbacks
|
|
48
|
+
|
|
49
|
+
#### Utilities
|
|
50
|
+
- Selector generation with priority-based fallback system
|
|
51
|
+
- Timing utilities for accurate playback synchronization
|
|
52
|
+
- Config validation with detailed error reporting
|
|
53
|
+
- Screenshot optimization and compression
|
|
54
|
+
|
|
55
|
+
#### Testing
|
|
56
|
+
- 772 unit and integration tests
|
|
57
|
+
- Test coverage across all major components
|
|
58
|
+
- E2E test scenarios for complete workflows
|
|
59
|
+
- Mock implementations for external dependencies
|
|
60
|
+
|
|
61
|
+
#### Documentation
|
|
62
|
+
- Comprehensive README with examples
|
|
63
|
+
- API reference with TypeScript interfaces
|
|
64
|
+
- Configuration guide
|
|
65
|
+
- Troubleshooting section
|
|
66
|
+
- Contributing guidelines
|
|
67
|
+
|
|
68
|
+
### Technical Details
|
|
69
|
+
|
|
70
|
+
#### Build System
|
|
71
|
+
- Vite-based build with dual output (ESM + CJS)
|
|
72
|
+
- TypeScript declarations included
|
|
73
|
+
- Optimized bundle sizes:
|
|
74
|
+
- ESM: 370KB (87.58 KB gzipped)
|
|
75
|
+
- CJS: 280KB (76.69 KB gzipped)
|
|
76
|
+
- Tree-shakeable exports
|
|
77
|
+
|
|
78
|
+
#### Code Quality
|
|
79
|
+
- Biome linter configuration
|
|
80
|
+
- TypeScript strict mode enabled
|
|
81
|
+
- 100% type coverage
|
|
82
|
+
- Zero linting errors
|
|
83
|
+
- Formatted code with consistent style
|
|
84
|
+
|
|
85
|
+
#### Browser Support
|
|
86
|
+
- Modern browsers with ES2020 support
|
|
87
|
+
- React 18.0.0 or higher required
|
|
88
|
+
- DOM and DOM.Iterable APIs
|
|
89
|
+
|
|
90
|
+
### Known Limitations
|
|
91
|
+
|
|
92
|
+
- Test environment requires additional configuration for optimal compatibility
|
|
93
|
+
- Some test scenarios may require specific jsdom setup
|
|
94
|
+
- Large demos (100+ steps) may experience minor performance overhead
|
|
95
|
+
- Screenshot capture requires same-origin policy compliance
|
|
96
|
+
|
|
97
|
+
### Dependencies
|
|
98
|
+
|
|
99
|
+
#### Peer Dependencies (Required)
|
|
100
|
+
- react ^18.0.0
|
|
101
|
+
- react-dom ^18.0.0
|
|
102
|
+
|
|
103
|
+
#### Direct Dependencies
|
|
104
|
+
- @anthropic-ai/sdk ^0.34.1
|
|
105
|
+
- @theme-ui/theme-provider ^0.17.9
|
|
106
|
+
- html2canvas ^1.4.1
|
|
107
|
+
- monaco-editor ^0.54.3
|
|
108
|
+
- theme-ui ^0.17.9
|
|
109
|
+
|
|
110
|
+
### Migration Guide
|
|
111
|
+
|
|
112
|
+
This is the initial release. No migration needed.
|
|
113
|
+
|
|
114
|
+
### Breaking Changes
|
|
115
|
+
|
|
116
|
+
N/A - Initial release
|
|
117
|
+
|
|
118
|
+
### Security
|
|
119
|
+
|
|
120
|
+
- Sensitive data masking for password, credit card, and SSN fields
|
|
121
|
+
- API keys should be stored securely and not committed to repositories
|
|
122
|
+
- Network interceptor respects CORS policies
|
|
123
|
+
- Screenshot capture sanitizes sensitive form inputs
|
|
124
|
+
|
|
125
|
+
### Contributors
|
|
126
|
+
|
|
127
|
+
This release was built with assistance from GitHub Copilot CLI.
|
|
128
|
+
|
|
129
|
+
---
|
|
130
|
+
|
|
131
|
+
## [Unreleased]
|
|
132
|
+
|
|
133
|
+
### Planned Features
|
|
134
|
+
- React hooks API (useRecorder, usePlayer)
|
|
135
|
+
- Additional action types (drag-and-drop, file upload)
|
|
136
|
+
- Enhanced mobile device support
|
|
137
|
+
- Performance optimizations for large demos
|
|
138
|
+
- Improved test coverage (target: 80%+)
|
|
139
|
+
- CI/CD pipeline setup
|
|
140
|
+
|
|
141
|
+
---
|
|
142
|
+
|
|
143
|
+
[0.1.0]: https://github.com/InfoTrackGlobal/demo-mode/releases/tag/v0.1.0
|
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 InfoTrack Global
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
# Demo Recorder - Quick Start
|
|
2
|
+
|
|
3
|
+
A React library for recording and playing back interactive web application demos with AI assistance.
|
|
4
|
+
|
|
5
|
+
## 🚀 Quick Start
|
|
6
|
+
|
|
7
|
+
### Installation
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
npm install @company/demo-recorder
|
|
11
|
+
# or
|
|
12
|
+
bun add @company/demo-recorder
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
### Usage
|
|
16
|
+
|
|
17
|
+
```tsx
|
|
18
|
+
import { DemoRecorder, DemoPlayer } from '@company/demo-recorder';
|
|
19
|
+
|
|
20
|
+
// Record a demo
|
|
21
|
+
<DemoRecorder
|
|
22
|
+
pluginId="my-app"
|
|
23
|
+
pluginName="My Application"
|
|
24
|
+
apiKey="sk-your-openai-api-key"
|
|
25
|
+
onComplete={(config) => console.log('Recorded!', config)}
|
|
26
|
+
/>
|
|
27
|
+
|
|
28
|
+
// Play back a demo
|
|
29
|
+
<DemoPlayer
|
|
30
|
+
config={demoConfig}
|
|
31
|
+
demoId="demo-1"
|
|
32
|
+
onComplete={(summary) => console.log('Completed!', summary)}
|
|
33
|
+
/>
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
## 📁 Repository Structure
|
|
37
|
+
|
|
38
|
+
- `src/` - Source code for the library
|
|
39
|
+
- `dist/` - Built library files (generated)
|
|
40
|
+
- `tests/` - Test files
|
|
41
|
+
- `examples/` - Example applications
|
|
42
|
+
- `docs/` - Full documentation and guides
|
|
43
|
+
|
|
44
|
+
## 🛠️ Development
|
|
45
|
+
|
|
46
|
+
### Prerequisites
|
|
47
|
+
|
|
48
|
+
- Node.js 16+ or Bun runtime
|
|
49
|
+
- React 18+
|
|
50
|
+
|
|
51
|
+
### Local Development & Testing
|
|
52
|
+
|
|
53
|
+
To test the library locally without installing it as a package:
|
|
54
|
+
|
|
55
|
+
#### Option 1: Using the Dev Server (Recommended)
|
|
56
|
+
|
|
57
|
+
```bash
|
|
58
|
+
# Install dependencies
|
|
59
|
+
npm install
|
|
60
|
+
# or
|
|
61
|
+
bun install
|
|
62
|
+
|
|
63
|
+
# Start the dev server with hot reload
|
|
64
|
+
npm run dev
|
|
65
|
+
# or
|
|
66
|
+
bun run dev
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
This starts a Vite dev server at `http://localhost:5173` where you can test the library with live reloading.
|
|
70
|
+
|
|
71
|
+
#### Option 2: Build and Link
|
|
72
|
+
|
|
73
|
+
```bash
|
|
74
|
+
# Build the library
|
|
75
|
+
npm run build
|
|
76
|
+
# or
|
|
77
|
+
bun run build
|
|
78
|
+
|
|
79
|
+
# Link the package locally
|
|
80
|
+
npm link
|
|
81
|
+
# or
|
|
82
|
+
bun link
|
|
83
|
+
|
|
84
|
+
# In your test project
|
|
85
|
+
npm link @company/demo-recorder
|
|
86
|
+
# or
|
|
87
|
+
bun link @company/demo-recorder
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
#### Option 3: Direct Import (for quick testing)
|
|
91
|
+
|
|
92
|
+
Create a test file in the root directory:
|
|
93
|
+
|
|
94
|
+
```tsx
|
|
95
|
+
// test-app.tsx
|
|
96
|
+
import { DemoRecorder } from './src/index';
|
|
97
|
+
|
|
98
|
+
function TestApp() {
|
|
99
|
+
return (
|
|
100
|
+
<DemoRecorder
|
|
101
|
+
pluginId="test"
|
|
102
|
+
pluginName="Test App"
|
|
103
|
+
apiKey="your-key"
|
|
104
|
+
onComplete={(config) => console.log(config)}
|
|
105
|
+
/>
|
|
106
|
+
);
|
|
107
|
+
}
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
Run with: `npm run dev` or `bun run dev`
|
|
111
|
+
|
|
112
|
+
### Available Scripts
|
|
113
|
+
|
|
114
|
+
```bash
|
|
115
|
+
npm run dev # Start dev server with hot reload
|
|
116
|
+
npm run build # Build the library for production
|
|
117
|
+
npm run preview # Preview the production build
|
|
118
|
+
npm run test # Run tests
|
|
119
|
+
npm run test:ui # Run tests with UI
|
|
120
|
+
npm run lint # Lint code
|
|
121
|
+
npm run format # Format code
|
|
122
|
+
npm run typecheck # Type check without emitting
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
## 🧪 Testing
|
|
126
|
+
|
|
127
|
+
```bash
|
|
128
|
+
# Run all tests
|
|
129
|
+
npm test
|
|
130
|
+
|
|
131
|
+
# Run tests with UI
|
|
132
|
+
npm run test:ui
|
|
133
|
+
|
|
134
|
+
# Run tests with coverage
|
|
135
|
+
npm run test:coverage
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
## 📚 Documentation
|
|
139
|
+
|
|
140
|
+
Full documentation is available in the `docs/` folder:
|
|
141
|
+
|
|
142
|
+
- [Full API Documentation](docs/README.md) - Complete API reference and usage guide
|
|
143
|
+
- [Tutorial](docs/TUTORIAL.md) - Step-by-step tutorial
|
|
144
|
+
- [Development Guide](docs/DEVELOPMENT.md) - Development workflows
|
|
145
|
+
- [Contributing Guide](docs/CONTRIBUTING.md) - How to contribute
|
|
146
|
+
- [Security](docs/SECURITY.md) - Security considerations
|
|
147
|
+
- [Changelog](docs/CHANGELOG.md) - Version history
|
|
148
|
+
|
|
149
|
+
## 📦 Examples
|
|
150
|
+
|
|
151
|
+
Check out the `examples/` directory for complete working examples:
|
|
152
|
+
|
|
153
|
+
- `examples/basic/` - Basic usage of all components
|
|
154
|
+
- `examples/custom-styling/` - Custom themes and styling
|
|
155
|
+
- `examples/config-editor/` - Configuration management
|
|
156
|
+
- `examples/full-app/` - Complete demo management application
|
|
157
|
+
|
|
158
|
+
## 🤝 Contributing
|
|
159
|
+
|
|
160
|
+
We welcome contributions! Please see [CONTRIBUTING.md](docs/CONTRIBUTING.md) for guidelines.
|
|
161
|
+
|
|
162
|
+
## 📄 License
|
|
163
|
+
|
|
164
|
+
MIT License - see [LICENSE](LICENSE) file for details
|
|
165
|
+
|
|
166
|
+
## 🔗 Links
|
|
167
|
+
|
|
168
|
+
- [npm Package](https://www.npmjs.com/package/@company/demo-recorder)
|
|
169
|
+
- [GitHub Repository](https://github.com/InfoTrackGlobal/demo-mode)
|
|
170
|
+
- [Issue Tracker](https://github.com/InfoTrackGlobal/demo-mode/issues)
|
|
171
|
+
|
|
172
|
+
## 💬 Support
|
|
173
|
+
|
|
174
|
+
For questions or issues, please:
|
|
175
|
+
1. Check the [documentation](docs/README.md)
|
|
176
|
+
2. Review [existing issues](https://github.com/InfoTrackGlobal/demo-mode/issues)
|
|
177
|
+
3. Create a new issue if needed
|
|
178
|
+
|
|
179
|
+
---
|
|
180
|
+
|
|
181
|
+
Made with ❤️ by InfoTrack Global
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { DemoConfig } from '@models/config.model';
|
|
2
|
+
export interface ConfigEditorProps {
|
|
3
|
+
initialConfig: DemoConfig;
|
|
4
|
+
onChange?: (config: DemoConfig) => void;
|
|
5
|
+
onError?: (errors: string[]) => void;
|
|
6
|
+
}
|
|
7
|
+
export declare function ConfigEditor({ initialConfig, onChange, onError }: ConfigEditorProps): import("react/jsx-runtime").JSX.Element;
|
|
8
|
+
//# sourceMappingURL=configEditor.component.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"configEditor.component.d.ts","sourceRoot":"","sources":["../../../src/components/configEditor/configEditor.component.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAMvD,MAAM,WAAW,iBAAiB;IAChC,aAAa,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,IAAI,CAAC;IACxC,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;CACtC;AAED,wBAAgB,YAAY,CAAC,EAAE,aAAa,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,iBAAiB,2CA8HnF"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { ConfigEditor, type ConfigEditorProps } from './configEditor.component';
|
|
2
|
+
export { JSONEditor, type JSONEditorProps } from './jsonEditor.component';
|
|
3
|
+
export type { LivePreviewProps } from './livePreview.component';
|
|
4
|
+
export { LivePreview } from './livePreview.component';
|
|
5
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/configEditor/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,KAAK,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAChF,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC1E,YAAY,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { editor } from 'monaco-editor';
|
|
2
|
+
export interface JSONEditorProps {
|
|
3
|
+
value: string;
|
|
4
|
+
onChange: (value: string) => void;
|
|
5
|
+
onValidationError: (errors: editor.IMarker[]) => void;
|
|
6
|
+
}
|
|
7
|
+
export declare function JSONEditor({ value, onChange, onValidationError }: JSONEditorProps): import("react/jsx-runtime").JSX.Element;
|
|
8
|
+
//# sourceMappingURL=jsonEditor.component.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jsonEditor.component.d.ts","sourceRoot":"","sources":["../../../src/components/configEditor/jsonEditor.component.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAG5C,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,iBAAiB,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,EAAE,KAAK,IAAI,CAAC;CACvD;AAED,wBAAgB,UAAU,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,iBAAiB,EAAE,EAAE,eAAe,2CA+DjF"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { DemoConfig } from '@/models/config.model';
|
|
2
|
+
export interface LivePreviewProps {
|
|
3
|
+
config: DemoConfig;
|
|
4
|
+
currentStepIndex: number;
|
|
5
|
+
onStepIndexChange: (index: number) => void;
|
|
6
|
+
}
|
|
7
|
+
export declare function LivePreview({ config, currentStepIndex, onStepIndexChange, }: LivePreviewProps): import("react/jsx-runtime").JSX.Element;
|
|
8
|
+
//# sourceMappingURL=livePreview.component.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"livePreview.component.d.ts","sourceRoot":"","sources":["../../../src/components/configEditor/livePreview.component.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAExD,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,UAAU,CAAC;IACnB,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CAC5C;AAED,wBAAgB,WAAW,CAAC,EAC1B,MAAM,EACN,gBAAgB,EAChB,iBAAiB,GAClB,EAAE,gBAAgB,2CAsHlB"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { DemoConfig } from '@/models/config.model';
|
|
2
|
+
export interface DemoPlayerProps {
|
|
3
|
+
config: DemoConfig;
|
|
4
|
+
demoId: string;
|
|
5
|
+
onComplete?: (summary: DemoSummary) => void;
|
|
6
|
+
}
|
|
7
|
+
export interface DemoSummary {
|
|
8
|
+
demoId: string;
|
|
9
|
+
completedSteps: number;
|
|
10
|
+
totalSteps: number;
|
|
11
|
+
timeSpent: number;
|
|
12
|
+
skippedSteps: number[];
|
|
13
|
+
}
|
|
14
|
+
export declare function DemoPlayer({ config, demoId, onComplete }: DemoPlayerProps): import("react").JSX.Element;
|
|
15
|
+
//# sourceMappingURL=demoPlayer.component.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"demoPlayer.component.d.ts","sourceRoot":"","sources":["../../../src/components/demoPlayer/demoPlayer.component.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAY,MAAM,uBAAuB,CAAC;AAKlE,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,UAAU,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,WAAW,KAAK,IAAI,CAAC;CAC7C;AAED,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB;AAID,wBAAgB,UAAU,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,eAAe,+BAwJzE"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export type { DemoPlayerProps, DemoSummary } from './demoPlayer.component';
|
|
2
|
+
export { DemoPlayer } from './demoPlayer.component';
|
|
3
|
+
export type { PlayerControlsProps } from './playerControls.component';
|
|
4
|
+
export { PlayerControls } from './playerControls.component';
|
|
5
|
+
export type { SpotlightProps } from './spotlight.component';
|
|
6
|
+
export { Spotlight } from './spotlight.component';
|
|
7
|
+
export type { StepTooltipProps } from './stepTooltip.component';
|
|
8
|
+
export { StepTooltip } from './stepTooltip.component';
|
|
9
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/demoPlayer/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC3E,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,YAAY,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,YAAY,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,YAAY,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export interface PlayerControlsProps {
|
|
2
|
+
isPlaying: boolean;
|
|
3
|
+
onPlayPause: () => void;
|
|
4
|
+
currentStep: number;
|
|
5
|
+
totalSteps: number;
|
|
6
|
+
playbackSpeed: number;
|
|
7
|
+
onSpeedChange: (speed: number) => void;
|
|
8
|
+
onSkip: () => void;
|
|
9
|
+
onPrev: () => void;
|
|
10
|
+
}
|
|
11
|
+
export declare function PlayerControls({ isPlaying, onPlayPause, currentStep, totalSteps, playbackSpeed, onSpeedChange, onSkip, onPrev, }: PlayerControlsProps): import("react").JSX.Element;
|
|
12
|
+
//# sourceMappingURL=playerControls.component.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"playerControls.component.d.ts","sourceRoot":"","sources":["../../../src/components/demoPlayer/playerControls.component.tsx"],"names":[],"mappings":"AAIA,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,OAAO,CAAC;IACnB,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,MAAM,EAAE,MAAM,IAAI,CAAC;CACpB;AAED,wBAAgB,cAAc,CAAC,EAC7B,SAAS,EACT,WAAW,EACX,WAAW,EACX,UAAU,EACV,aAAa,EACb,aAAa,EACb,MAAM,EACN,MAAM,GACP,EAAE,mBAAmB,+BAqFrB"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { ThemeUIStyleObject } from 'theme-ui';
|
|
2
|
+
export declare const container: ThemeUIStyleObject;
|
|
3
|
+
export declare const progressBar: ThemeUIStyleObject;
|
|
4
|
+
export declare const progressTrack: ThemeUIStyleObject;
|
|
5
|
+
export declare const progressFill: ThemeUIStyleObject;
|
|
6
|
+
//# sourceMappingURL=playerControls.styles.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"playerControls.styles.d.ts","sourceRoot":"","sources":["../../../src/components/demoPlayer/playerControls.styles.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAEnD,eAAO,MAAM,SAAS,EAAE,kBAWvB,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,kBAKzB,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,kBAO3B,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,kBAQ1B,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import '../../styles/player.styles.css';
|
|
2
|
+
export interface SpotlightProps {
|
|
3
|
+
targetSelector: string;
|
|
4
|
+
isActive: boolean;
|
|
5
|
+
}
|
|
6
|
+
export declare function Spotlight({ targetSelector, isActive }: SpotlightProps): import("react").JSX.Element | null;
|
|
7
|
+
//# sourceMappingURL=spotlight.component.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spotlight.component.d.ts","sourceRoot":"","sources":["../../../src/components/demoPlayer/spotlight.component.tsx"],"names":[],"mappings":"AAEA,OAAO,gCAAgC,CAAC;AAExC,MAAM,WAAW,cAAc;IAC7B,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,wBAAgB,SAAS,CAAC,EAAE,cAAc,EAAE,QAAQ,EAAE,EAAE,cAAc,sCAmFrE"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { DemoStep } from '@/models/config.model';
|
|
2
|
+
export interface StepTooltipProps {
|
|
3
|
+
step: DemoStep;
|
|
4
|
+
position: 'top' | 'bottom' | 'left' | 'right' | 'auto';
|
|
5
|
+
onNext: () => void;
|
|
6
|
+
onPrev: () => void;
|
|
7
|
+
showPrev: boolean;
|
|
8
|
+
}
|
|
9
|
+
export declare function StepTooltip({ step, position, onNext, onPrev, showPrev, }: StepTooltipProps): import("react").ReactPortal;
|
|
10
|
+
//# sourceMappingURL=stepTooltip.component.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stepTooltip.component.d.ts","sourceRoot":"","sources":["../../../src/components/demoPlayer/stepTooltip.component.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAgBtD,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,QAAQ,CAAC;IACf,QAAQ,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;IACvD,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;CACnB;AA2DD,wBAAgB,WAAW,CAAC,EAC1B,IAAI,EACJ,QAAQ,EACR,MAAM,EACN,MAAM,EACN,QAAQ,GACT,EAAE,gBAAgB,+BAkFlB"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { ThemeUIStyleObject } from 'theme-ui';
|
|
2
|
+
export declare const tooltipContainerStyles: ThemeUIStyleObject;
|
|
3
|
+
export declare const tooltipContentStyles: ThemeUIStyleObject;
|
|
4
|
+
export declare const tooltipTitleStyles: ThemeUIStyleObject;
|
|
5
|
+
export declare const tooltipDescriptionStyles: ThemeUIStyleObject;
|
|
6
|
+
export declare const tooltipScreenshotStyles: ThemeUIStyleObject;
|
|
7
|
+
export declare const tooltipActionsStyles: ThemeUIStyleObject;
|
|
8
|
+
export declare const tooltipButtonStyles: ThemeUIStyleObject;
|
|
9
|
+
export declare const tooltipNextButtonStyles: ThemeUIStyleObject;
|
|
10
|
+
export declare const tooltipArrowStyles: ThemeUIStyleObject;
|
|
11
|
+
export declare const arrowTopStyles: ThemeUIStyleObject;
|
|
12
|
+
export declare const arrowBottomStyles: ThemeUIStyleObject;
|
|
13
|
+
export declare const arrowLeftStyles: ThemeUIStyleObject;
|
|
14
|
+
export declare const arrowRightStyles: ThemeUIStyleObject;
|
|
15
|
+
//# sourceMappingURL=stepTooltip.styles.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stepTooltip.styles.d.ts","sourceRoot":"","sources":["../../../src/components/demoPlayer/stepTooltip.styles.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAEnD,eAAO,MAAM,sBAAsB,EAAE,kBAQpC,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,kBAElC,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,kBAKhC,CAAC;AAEF,eAAO,MAAM,wBAAwB,EAAE,kBAItC,CAAC;AAEF,eAAO,MAAM,uBAAuB,EAAE,kBAKrC,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,kBAIlC,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,kBAcjC,CAAC;AAEF,eAAO,MAAM,uBAAuB,EAAE,kBAQrC,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,kBAKhC,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,kBAO5B,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,kBAO/B,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,kBAO7B,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,kBAO9B,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { DemoConfig } from '@/models/config.model';
|
|
2
|
+
export interface DemoRecorderProps {
|
|
3
|
+
pluginId: string;
|
|
4
|
+
pluginName: string;
|
|
5
|
+
apiKey: string;
|
|
6
|
+
apiEndpoint?: string;
|
|
7
|
+
onComplete?: (config: DemoConfig) => void;
|
|
8
|
+
onError?: (error: Error) => void;
|
|
9
|
+
}
|
|
10
|
+
export declare function DemoRecorder({ pluginId, pluginName, apiKey, apiEndpoint, onComplete, onError, }: DemoRecorderProps): import("react/jsx-runtime").JSX.Element;
|
|
11
|
+
//# sourceMappingURL=demoRecorder.component.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"demoRecorder.component.d.ts","sourceRoot":"","sources":["../../../src/components/demoRecorder/demoRecorder.component.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAKxD,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,IAAI,CAAC;IAC1C,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CAClC;AAED,wBAAgB,YAAY,CAAC,EAC3B,QAAQ,EACR,UAAU,EACV,MAAM,EACN,WAAW,EACX,UAAU,EACV,OAAO,GACR,EAAE,iBAAiB,2CA+YnB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/demoRecorder/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,KAAK,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAChF,cAAc,wBAAwB,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/** @jsxImportSource theme-ui */
|
|
2
|
+
import type React from 'react';
|
|
3
|
+
export interface RecorderUIProps {
|
|
4
|
+
isRecording: boolean;
|
|
5
|
+
stepsCount: number;
|
|
6
|
+
onStartRecording: () => void;
|
|
7
|
+
onStopRecording: () => void;
|
|
8
|
+
}
|
|
9
|
+
export declare const RecorderUI: React.FC<RecorderUIProps>;
|
|
10
|
+
//# sourceMappingURL=recorderUI.component.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"recorderUI.component.d.ts","sourceRoot":"","sources":["../../../src/components/demoRecorder/recorderUI.component.tsx"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,MAAM,WAAW,eAAe;IAC9B,WAAW,EAAE,OAAO,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,EAAE,MAAM,IAAI,CAAC;IAC7B,eAAe,EAAE,MAAM,IAAI,CAAC;CAC7B;AAED,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAsChD,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { ThemeUIStyleObject } from 'theme-ui';
|
|
2
|
+
export declare const container: ThemeUIStyleObject;
|
|
3
|
+
export declare const header: ThemeUIStyleObject;
|
|
4
|
+
export declare const recordingIndicator: ThemeUIStyleObject;
|
|
5
|
+
export declare const stepsCount: ThemeUIStyleObject;
|
|
6
|
+
export declare const button: ThemeUIStyleObject;
|
|
7
|
+
export declare const stopButton: ThemeUIStyleObject;
|
|
8
|
+
//# sourceMappingURL=recorderUI.styles.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"recorderUI.styles.d.ts","sourceRoot":"","sources":["../../../src/components/demoRecorder/recorderUI.styles.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAEnD,eAAO,MAAM,SAAS,EAAE,kBAavB,CAAC;AAEF,eAAO,MAAM,MAAM,EAAE,kBAIpB,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,kBAchC,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,kBAIxB,CAAC;AAEF,eAAO,MAAM,MAAM,EAAE,kBAiBpB,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,kBAMxB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { ActionConfig, WaitCondition } from '../models';
|
|
2
|
+
/**
|
|
3
|
+
* Execute an action in either real or simulated mode
|
|
4
|
+
*/
|
|
5
|
+
export declare function executeAction(action: ActionConfig, executionMode?: 'real' | 'simulated'): Promise<void>;
|
|
6
|
+
/**
|
|
7
|
+
* Execute action in real mode (actually perform the action)
|
|
8
|
+
*/
|
|
9
|
+
export declare function executeRealAction(action: ActionConfig): Promise<void>;
|
|
10
|
+
/**
|
|
11
|
+
* Execute action in simulated mode (visual feedback only)
|
|
12
|
+
*/
|
|
13
|
+
export declare function executeSimulatedAction(action: ActionConfig): Promise<void>;
|
|
14
|
+
/**
|
|
15
|
+
* Wait for a condition to be met
|
|
16
|
+
*/
|
|
17
|
+
export declare function waitForCondition(condition: WaitCondition): Promise<void>;
|
|
18
|
+
//# sourceMappingURL=actionExecutor.core.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"actionExecutor.core.d.ts","sourceRoot":"","sources":["../../src/core/actionExecutor.core.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAmB,aAAa,EAAE,MAAM,WAAW,CAAC;AAE9E;;GAEG;AACH,wBAAsB,aAAa,CACjC,MAAM,EAAE,YAAY,EACpB,aAAa,GAAE,MAAM,GAAG,WAAyB,GAChD,OAAO,CAAC,IAAI,CAAC,CAMf;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CA+C3E;AAED;;GAEG;AACH,wBAAsB,sBAAsB,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CA0ChF;AAoFD;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,SAAS,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAY9E"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { DemoConfig } from '../models/config.model';
|
|
2
|
+
import type { CapturedEvent } from '../models/events.model';
|
|
3
|
+
export interface DemoMetadata {
|
|
4
|
+
pluginId: string;
|
|
5
|
+
name: string;
|
|
6
|
+
apiEndpoint?: string;
|
|
7
|
+
}
|
|
8
|
+
export declare function buildPrompt(events: CapturedEvent[], metadata: DemoMetadata): string;
|
|
9
|
+
export declare function generateDemoConfig(events: CapturedEvent[], metadata: DemoMetadata, apiKey: string): Promise<DemoConfig>;
|
|
10
|
+
//# sourceMappingURL=aiProcessor.core.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"aiProcessor.core.d.ts","sourceRoot":"","sources":["../../src/core/aiProcessor.core.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAG5D,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,aAAa,EAAE,EAAE,QAAQ,EAAE,YAAY,GAAG,MAAM,CAiJnF;AA4BD,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,aAAa,EAAE,EACvB,QAAQ,EAAE,YAAY,EACtB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,UAAU,CAAC,CAiDrB"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { DOMChangesSummary } from '../models/events.model';
|
|
2
|
+
export declare class DOMChangeDetector {
|
|
3
|
+
private observer;
|
|
4
|
+
private changes;
|
|
5
|
+
private hasNavigationFlag;
|
|
6
|
+
private originalPushState;
|
|
7
|
+
private originalReplaceState;
|
|
8
|
+
private boundHandlePopState;
|
|
9
|
+
private observerCallback;
|
|
10
|
+
constructor();
|
|
11
|
+
start(): void;
|
|
12
|
+
__flushMutations(): void;
|
|
13
|
+
stop(): void;
|
|
14
|
+
getChangesSince(timestamp: number): DOMChangesSummary;
|
|
15
|
+
clear(): void;
|
|
16
|
+
private getElementDescription;
|
|
17
|
+
private getSelector;
|
|
18
|
+
private setupNavigationDetection;
|
|
19
|
+
private teardownNavigationDetection;
|
|
20
|
+
private handlePopState;
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=domChangeDetector.core.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"domChangeDetector.core.d.ts","sourceRoot":"","sources":["../../src/core/domChangeDetector.core.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAMhE,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAAiC;IACjD,OAAO,CAAC,OAAO,CAAqC;IACpD,OAAO,CAAC,iBAAiB,CAAS;IAClC,OAAO,CAAC,iBAAiB,CAAuC;IAChE,OAAO,CAAC,oBAAoB,CAA0C;IACtE,OAAO,CAAC,mBAAmB,CAAiC;IAC5D,OAAO,CAAC,gBAAgB,CAAwD;;IAUhF,KAAK,IAAI,IAAI;IAgCb,gBAAgB,IAAI,IAAI;IASxB,IAAI,IAAI,IAAI;IAUZ,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,iBAAiB;IAyDrD,KAAK,IAAI,IAAI;IAKb,OAAO,CAAC,qBAAqB;IAW7B,OAAO,CAAC,WAAW;IAanB,OAAO,CAAC,wBAAwB;IA0BhC,OAAO,CAAC,2BAA2B;IAgBnC,OAAO,CAAC,cAAc;CAGvB"}
|