@vulcn/engine 0.1.0 → 0.3.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 +63 -1
- package/LICENSE +662 -21
- package/README.md +41 -175
- package/dist/index.cjs +841 -240
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +658 -55
- package/dist/index.d.ts +658 -55
- package/dist/index.js +821 -232
- package/dist/index.js.map +1 -1
- package/package.json +33 -16
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,67 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.3.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- 621502c: ## Driver-Based Architecture
|
|
8
|
+
|
|
9
|
+
Introduces a modular driver system that makes Vulcn extensible to different recording targets beyond web browsers.
|
|
10
|
+
|
|
11
|
+
### New Package: `@vulcn/driver-browser`
|
|
12
|
+
|
|
13
|
+
A new package that encapsulates all Playwright-based browser recording and replay functionality:
|
|
14
|
+
- **BrowserRecorder** - Records browser interactions (clicks, inputs, navigation)
|
|
15
|
+
- **BrowserRunner** - Replays sessions with payload injection and detection
|
|
16
|
+
- **Browser utilities** - Smart browser launching with system Chrome/Edge fallback
|
|
17
|
+
|
|
18
|
+
Step types: `browser.navigate`, `browser.click`, `browser.input`, `browser.keypress`, `browser.scroll`, `browser.wait`
|
|
19
|
+
|
|
20
|
+
### New in `@vulcn/engine`
|
|
21
|
+
|
|
22
|
+
#### DriverManager
|
|
23
|
+
|
|
24
|
+
New `DriverManager` class for loading and orchestrating drivers:
|
|
25
|
+
- `register(driver)` - Register a driver
|
|
26
|
+
- `load(nameOrPath)` - Load driver from npm or local file
|
|
27
|
+
- `startRecording(driverName, config)` - Start recording with a driver
|
|
28
|
+
- `execute(session, pluginManager)` - Execute session with payloads
|
|
29
|
+
- `getForSession(session)` - Get driver for a session
|
|
30
|
+
|
|
31
|
+
#### Driver Interfaces
|
|
32
|
+
|
|
33
|
+
New TypeScript interfaces for building custom drivers:
|
|
34
|
+
- `VulcnDriver` - Main driver definition
|
|
35
|
+
- `RecorderDriver` - Recording interface
|
|
36
|
+
- `RunnerDriver` - Replay/execution interface
|
|
37
|
+
- `RecordingHandle` - Handle for controlling active recordings
|
|
38
|
+
- `Session` - Generic session format with `driver` field
|
|
39
|
+
- `Step` - Generic step format with namespaced types
|
|
40
|
+
|
|
41
|
+
### Session Format Changes
|
|
42
|
+
|
|
43
|
+
Sessions now include a `driver` field to specify which driver handles them:
|
|
44
|
+
|
|
45
|
+
```yaml
|
|
46
|
+
name: My Session
|
|
47
|
+
driver: browser
|
|
48
|
+
driverConfig:
|
|
49
|
+
browser: chromium
|
|
50
|
+
startUrl: https://example.com
|
|
51
|
+
steps:
|
|
52
|
+
- type: browser.navigate
|
|
53
|
+
- type: browser.input
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
### Documentation
|
|
57
|
+
- New "Drivers" tab in docs with overview, browser driver reference, and custom driver guide
|
|
58
|
+
- Updated API reference with DriverManager documentation
|
|
59
|
+
- Simplified README pointing to docs.vulcn.dev
|
|
60
|
+
|
|
61
|
+
### Breaking Changes
|
|
62
|
+
|
|
63
|
+
None - existing code continues to work. Legacy `Recorder` and `Runner` exports are preserved but deprecated.
|
|
64
|
+
|
|
3
65
|
All notable changes to this project will be documented in this file.
|
|
4
66
|
|
|
5
67
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
@@ -25,4 +87,4 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
25
87
|
- `vulcn doctor` - Check browser availability
|
|
26
88
|
- `vulcn install` - Install Playwright browsers
|
|
27
89
|
|
|
28
|
-
[0.1.0]: https://github.com/
|
|
90
|
+
[0.1.0]: https://github.com/vulcnize/vulcn/releases/tag/v0.1.0
|