dashcam 1.0.1-beta.5 → 1.0.1-beta.6
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/BACKWARD_COMPATIBILITY.md +177 -0
- package/bin/dashcam.js +333 -139
- package/lib/logs/index.js +67 -11
- package/lib/recorder.js +20 -5
- package/lib/tracking/FileTracker.js +7 -0
- package/lib/tracking/LogsTracker.js +21 -7
- package/lib/uploader.js +6 -2
- package/package.json +4 -1
- package/test_workflow.sh +99 -25
- package/.github/workflows/build.yml +0 -103
- package/.github/workflows/release.yml +0 -107
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
# Backward Compatibility Summary
|
|
2
|
+
|
|
3
|
+
This document confirms that `dashcam-cli-minimal` now supports all commands and arguments documented in the README.md.
|
|
4
|
+
|
|
5
|
+
## ✅ Implemented Commands
|
|
6
|
+
|
|
7
|
+
### `auth <api-key>`
|
|
8
|
+
Authenticate the dashcam desktop using a team's apiKey.
|
|
9
|
+
```bash
|
|
10
|
+
dashcam auth <api-key>
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
### `create [options]`
|
|
14
|
+
Create a clip from current recording and output the resulting url or markdown. This stops the current recording and uploads it.
|
|
15
|
+
```bash
|
|
16
|
+
# Start instant replay in background
|
|
17
|
+
dashcam start
|
|
18
|
+
|
|
19
|
+
# Later, create a clip from the recording
|
|
20
|
+
dashcam create
|
|
21
|
+
dashcam create -t "My New Title"
|
|
22
|
+
dashcam create --md
|
|
23
|
+
dashcam create -k wef8we72h23012j
|
|
24
|
+
dashcam create -d "Description text"
|
|
25
|
+
cat README.md | dashcam create
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
Options:
|
|
29
|
+
- `-t, --title <string>` - Title of the replay
|
|
30
|
+
- `-d, --description [text]` - Replay markdown body (supports piped input)
|
|
31
|
+
- `--md` - Returns rich markdown image link
|
|
32
|
+
- `-k, --project <project>` - Project ID to publish to
|
|
33
|
+
|
|
34
|
+
**Note:** `create` stops the current recording and creates a clip. It's similar to `stop` but focused on outputting URLs/markdown for integration with other tools.
|
|
35
|
+
|
|
36
|
+
### `record [options]`
|
|
37
|
+
Start a recording terminal to be included in your dashcam video recording.
|
|
38
|
+
```bash
|
|
39
|
+
dashcam record
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
Options:
|
|
43
|
+
- `-t, --title <title>` - Title for the recording
|
|
44
|
+
- `-d, --description <description>` - Description for the recording
|
|
45
|
+
- `-p, --project <project>` - Project ID to upload to
|
|
46
|
+
- `-a, --audio` - Include audio
|
|
47
|
+
- `-f, --fps <fps>` - Frames per second
|
|
48
|
+
|
|
49
|
+
### `pipe`
|
|
50
|
+
Pipe command output to dashcam to be included in recorded video.
|
|
51
|
+
```bash
|
|
52
|
+
ping 1.1.1.1 | dashcam pipe
|
|
53
|
+
cat /var/log/system.log | dashcam pipe
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
### `track [options]`
|
|
57
|
+
Add a logs config to Dashcam.
|
|
58
|
+
|
|
59
|
+
**New Syntax (matches README):**
|
|
60
|
+
```bash
|
|
61
|
+
dashcam track --name=social --type=web --pattern="*facebook.com*" --pattern="*twitter.com*"
|
|
62
|
+
dashcam track --name=app-logs --type=application --pattern="/var/log/*.log"
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
**Old Syntax (still supported):**
|
|
66
|
+
```bash
|
|
67
|
+
dashcam track --web "*facebook.com*"
|
|
68
|
+
dashcam track --app "/var/log/app.log"
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
Options:
|
|
72
|
+
- `--name <name>` - Name for the tracking configuration (required with new syntax)
|
|
73
|
+
- `--type <type>` - Type: "application" or "web" (required with new syntax)
|
|
74
|
+
- `--pattern <pattern>` - Pattern to track (can use multiple times)
|
|
75
|
+
- `--web <pattern>` - Web URL pattern (deprecated, use --type=web --pattern)
|
|
76
|
+
- `--app <pattern>` - Application file pattern (deprecated, use --type=application --pattern)
|
|
77
|
+
|
|
78
|
+
### `start`
|
|
79
|
+
Start instant replay recording on dashcam.
|
|
80
|
+
```bash
|
|
81
|
+
dashcam start
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
### `stop`
|
|
85
|
+
Stop the current recording and upload.
|
|
86
|
+
```bash
|
|
87
|
+
dashcam stop
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
### `status`
|
|
91
|
+
Show current recording status.
|
|
92
|
+
```bash
|
|
93
|
+
dashcam status
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
## Examples from README
|
|
97
|
+
|
|
98
|
+
All examples from the README should now work:
|
|
99
|
+
|
|
100
|
+
### Basic usage
|
|
101
|
+
```bash
|
|
102
|
+
# Create a replay
|
|
103
|
+
dashcam create
|
|
104
|
+
# Returns: https://dashcam.io/replay/123?share=xyz
|
|
105
|
+
|
|
106
|
+
# With markdown output
|
|
107
|
+
dashcam create --md
|
|
108
|
+
|
|
109
|
+
# With title
|
|
110
|
+
dashcam create -t "My New Title"
|
|
111
|
+
|
|
112
|
+
# With project
|
|
113
|
+
dashcam create -k wef8we72h23012j
|
|
114
|
+
|
|
115
|
+
# Attach last 20 CLI commands
|
|
116
|
+
history -20 | dashcam create
|
|
117
|
+
|
|
118
|
+
# Attach a logfile
|
|
119
|
+
cat /var/log/system.log | dashcam create
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
### Tracking logs
|
|
123
|
+
```bash
|
|
124
|
+
# Track web URLs
|
|
125
|
+
dashcam track --name=social --type=web --pattern="*facebook.com*" --pattern="*twitter.com*"
|
|
126
|
+
|
|
127
|
+
# Track application files
|
|
128
|
+
dashcam track --name=app-logs --type=application --pattern="/var/log/*.log"
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
### Recording
|
|
132
|
+
```bash
|
|
133
|
+
# Start recording
|
|
134
|
+
dashcam record
|
|
135
|
+
|
|
136
|
+
# Pipe output into recording
|
|
137
|
+
ping 1.1.1.1 | dashcam pipe
|
|
138
|
+
|
|
139
|
+
# Stop recording
|
|
140
|
+
dashcam stop
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
### GitHub CLI integration
|
|
144
|
+
```bash
|
|
145
|
+
# Create GitHub issue with replay
|
|
146
|
+
gh issue create -w -t "Title" -b "`dashcam create --md`"
|
|
147
|
+
|
|
148
|
+
# With system logs
|
|
149
|
+
gh issue create -w -t "Title" -b "`cat /var/log/system.log | dashcam create --md`"
|
|
150
|
+
|
|
151
|
+
# Create PR with replay
|
|
152
|
+
gh pr create -w -t "Title" -b "`dashcam create --md`"
|
|
153
|
+
|
|
154
|
+
# Append to commit
|
|
155
|
+
git commit -am "`dashcam create`"
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
## Key Changes for Backward Compatibility
|
|
159
|
+
|
|
160
|
+
1. **Added `create` command** - Stops current recording and creates a clip with URL/markdown output
|
|
161
|
+
2. **Added `pipe` command** - Allows piping command output into recordings
|
|
162
|
+
3. **Added `start` command** - Simple way to start instant replay recording in background
|
|
163
|
+
4. **Updated `track` command** - Now supports both old syntax (--web, --app) and new syntax (--name, --type, --pattern)
|
|
164
|
+
5. **Updated descriptions** - Match README text exactly
|
|
165
|
+
6. **Updated `auth` parameter** - Changed from `<apiKey>` to `<api-key>` to match README
|
|
166
|
+
7. **Added `-k` alias** - For `--project` option in `create` command
|
|
167
|
+
8. **Shared implementation** - `create`, `record`, and `start` share common code to avoid duplication
|
|
168
|
+
|
|
169
|
+
## Migration Notes
|
|
170
|
+
|
|
171
|
+
- **`start`** - Starts instant replay recording in background (like desktop app's always-on recording)
|
|
172
|
+
- **`create`** - Stops the current recording and outputs URL/markdown (perfect for CI/CD, git hooks, GitHub CLI)
|
|
173
|
+
- **`record`** - Full-featured recording command with all options (terminal recording mode)
|
|
174
|
+
- **`stop`** - Similar to `create` but focused on stopping and uploading vs URL output
|
|
175
|
+
- Old `track` syntax still works for backward compatibility but new syntax is preferred
|
|
176
|
+
- All piped input examples from README are supported
|
|
177
|
+
- Can run just `dashcam` with options (defaults to `create` command)
|