@traisetech/autopilot 2.2.0 → 2.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 +53 -31
- package/package.json +2 -2
- package/src/commands/leaderboard.js +8 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,36 +1,58 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
-
## [2.
|
|
4
|
-
|
|
5
|
-
### Added
|
|
6
|
-
- **
|
|
7
|
-
-
|
|
8
|
-
-
|
|
9
|
-
- **
|
|
10
|
-
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
- **
|
|
17
|
-
-
|
|
18
|
-
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
- **
|
|
32
|
-
-
|
|
33
|
-
|
|
3
|
+
## [2.3.0] - 2026-02-18
|
|
4
|
+
|
|
5
|
+
### Added
|
|
6
|
+
- **Production-Ready Leaderboard**:
|
|
7
|
+
- Implemented secure Row-Level Security (RLS) policies for anonymized stat synchronization.
|
|
8
|
+
- Enhanced API response to include real-time global ranking.
|
|
9
|
+
- **Searchable Documentation**:
|
|
10
|
+
- Added full-text search capability to the documentation portal using a pre-built static index.
|
|
11
|
+
|
|
12
|
+
### Improved
|
|
13
|
+
- **Error Diagnostics**:
|
|
14
|
+
- CLI now provides detailed feedback for server-side errors during sync (no more generic 500 errors).
|
|
15
|
+
- Synchronous environment validation for Supabase credentials on the server.
|
|
16
|
+
- **AI Reliability**:
|
|
17
|
+
- Improved Grok API error parsing for rate limits and invalid tokens.
|
|
18
|
+
- Optimized fetch timeouts for better responsiveness in low-bandwidth environments.
|
|
19
|
+
|
|
20
|
+
### Fixed
|
|
21
|
+
- **CLI Stability**:
|
|
22
|
+
- Fixed sync failures caused by rigid database permission checks.
|
|
23
|
+
- Resolved potential crashes when parsing malformed `autopilot.log` entries.
|
|
24
|
+
|
|
25
|
+
## [2.2.0] - 2026-02-14
|
|
26
|
+
|
|
27
|
+
### Added
|
|
28
|
+
- **Automatic Leaderboard Sync**:
|
|
29
|
+
- Watcher auto-syncs stats after commit or push.
|
|
30
|
+
- Uses site API with anonymized ID and metrics only.
|
|
31
|
+
- **Durable Backend Storage**:
|
|
32
|
+
- Website API backed by Supabase for persistent leaderboard and event telemetry.
|
|
33
|
+
- **Events API**:
|
|
34
|
+
- CLI emits `push_success` events with commit hash and identity.
|
|
35
|
+
- Website ingests and stores normalized payloads.
|
|
36
|
+
|
|
37
|
+
### Improved
|
|
38
|
+
- **Config Consistency**:
|
|
39
|
+
- Standardized `blockedBranches` with backward-compat mapping.
|
|
40
|
+
- **AI Network Resilience**:
|
|
41
|
+
- Added request timeouts to Gemini/Grok; doctor validates connectivity.
|
|
42
|
+
- **Programmatic Imports**:
|
|
43
|
+
- Fixed command imports wiring in `src/index.js`.
|
|
44
|
+
|
|
45
|
+
### Docs/Website
|
|
46
|
+
- **OG Image & Favicon**:
|
|
47
|
+
- Added `public/og-image.svg` and `public/favicon.svg`.
|
|
48
|
+
- Corrected manifest path to `/manifest.webmanifest`.
|
|
49
|
+
- **Foreground Watcher Wording**:
|
|
50
|
+
- Updated homepage and commands to reflect foreground behavior.
|
|
51
|
+
|
|
52
|
+
### Tests
|
|
53
|
+
- **Grok Test Coverage**:
|
|
54
|
+
- Added parity tests mirroring Gemini scenarios.
|
|
55
|
+
|
|
34
56
|
All notable changes to this project will be documented in this file.
|
|
35
57
|
This project follows [Semantic Versioning](https://semver.org).
|
|
36
58
|
|
package/package.json
CHANGED
|
@@ -94,7 +94,14 @@ async function syncLeaderboard(apiUrl, options) {
|
|
|
94
94
|
});
|
|
95
95
|
|
|
96
96
|
if (!response.ok) {
|
|
97
|
-
|
|
97
|
+
let errorDetail = '';
|
|
98
|
+
try {
|
|
99
|
+
const errJson = await response.json();
|
|
100
|
+
errorDetail = errJson.details || errJson.error || '';
|
|
101
|
+
} catch (e) {
|
|
102
|
+
// Not a JSON error
|
|
103
|
+
}
|
|
104
|
+
throw new Error(`Server responded with ${response.status}${errorDetail ? ': ' + errorDetail : ''}`);
|
|
98
105
|
}
|
|
99
106
|
|
|
100
107
|
const data = await response.json();
|