@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 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/rawlab-dev/vulcn/releases/tag/v0.1.0
90
+ [0.1.0]: https://github.com/vulcnize/vulcn/releases/tag/v0.1.0