een-api-toolkit 0.3.69 → 0.3.78

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
@@ -2,72 +2,94 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file.
4
4
 
5
- ## [0.3.69] - 2026-02-10
5
+ ## [0.3.78] - 2026-02-12
6
6
 
7
7
  ### Release Summary
8
8
 
9
- #### PR #92: Release v0.3.66 - GitHub Issues Resolution & vue-feeds Fix
10
- ## Release v0.3.66
9
+ #### PR #102: Release v0.3.69: CI improvements and dependency management
10
+ ## Summary
11
+ - Dynamic E2E test matrix discovery (auto-detects example apps with `playwright.config.ts`)
12
+ - Added missing `vue-jobs` to CI E2E testing
13
+ - Dependabot configuration for automated dependency updates
14
+ - Pinned GitHub Actions to immutable commit SHAs for supply chain security
11
15
 
12
- This PR merges develop into production with GitHub issue resolutions, automation improvements, and critical bug fixes.
16
+ ## Commits
17
+ - `474e9bb` ci: Dynamically discover example apps for E2E matrix
18
+ - `ad3f318` fix: pin GitHub Actions to immutable commit SHAs
19
+ - `cc706d8` chore: add Dependabot configuration for automated dependency updates
20
+ - `24a385b` Merge PR #95 (workflow SHA pinning security fix)
13
21
 
14
- ### Summary
22
+ ## Test Results
23
+ - **Lint**: Passed (0 errors, 1 warning)
24
+ - **Unit tests**: 619/619 passed
25
+ - **Build**: Successful
26
+ - **E2E tests**: 11/11 example apps passed (1 transient OAuth timeout on vue-users, passed on rerun)
15
27
 
16
- - Resolved all 7 open GitHub issues
17
- - Automated event data schemas documentation generation
18
- - Fixed vue-feeds navigation reactivity issue
19
- - Added camera utility functions
20
- - Improved accessibility with aria-labels
28
+ ## Security Review
29
+ Changes are CI/infrastructure only (workflow files, dependabot config). No source code changes. No security vulnerabilities.
21
30
 
22
- ### Changes
31
+ ## Version
32
+ `v0.3.69`
23
33
 
24
- **Closed Issues:**
25
- - ✅ #84 - Added aria-label to JSON viewer button for screen reader accessibility
26
- - ✅ #70 - Implemented getCameraStatusString() utility function
27
- - ✅ #71 - Implemented isStatusObject() TypeScript type guard
28
- - ✅ #87 - Documented auto-generated vs manually maintained files
29
- - ✅ #89 - Fully automated event data schemas documentation generation
30
- - ❌ #85 - Closed as won't-do (JSON viewer E2E tests)
31
- - ❌ #76 - Closed as won't-do (datetime persistence test timezone)
34
+ #### PR #106: Release v0.3.70: Fix Dependabot TypeScript minor version ignore
35
+ ## Summary
32
36
 
33
- **New Features:**
34
- - `src/utils/camera.ts` - Camera status utility functions with full JSDoc
35
- - `scripts/generate-event-data-schemas-doc.ts` - Auto-generates AI-EVENT-DATA-SCHEMAS.md from TypeScript source
36
- - CLAUDE.md documentation section explaining auto-generated vs manual files
37
+ - Re-add `semver-minor` ignore for TypeScript in Dependabot config to prevent unwanted 5.8→5.9 bump PRs
38
+ - Dependabot modifies `package.json` directly, bypassing the `~5.8.x` constraint must be blocked at the Dependabot level
39
+ - Addresses review feedback from PR #102 and closes Dependabot PR #104
40
+ - Documentation updates: fix inaccuracies in CLAUDE.md and README.md, regenerate API docs
41
+ - Remove misleading auto-merge comment, add CodeQL and SHA pinning guidance to CLAUDE.md
37
42
 
38
- **Bug Fixes:**
39
- - Fixed vue-feeds navigation not appearing after OAuth login (computed property for reactivity)
40
- - Updated all example app READMEs with accurate function lists
43
+ ## Changes
41
44
 
42
- ### Test Results
45
+ - `.github/dependabot.yml` - Re-add semver-minor to TypeScript ignore, clarify comments
46
+ - `.github/workflows/validate-pr.yml` - Add validation to discover-examples job
47
+ - `.github/workflows/claude-code-review.yml` - Update SHA version comment to v1.0.48
48
+ - `CLAUDE.md` - Fix 7 documentation inaccuracies, add SHA pinning guidance
49
+ - `README.md` - Add vue-automations and vue-jobs to examples table
50
+ - `docs/` - Regenerated API docs and AI reference docs
43
51
 
44
- **✅ Passed (8 of 11 apps - 148 tests):**
45
- - vue-alerts-metrics: 20 tests
46
- - vue-automations: 24 tests
47
- - vue-bridges: 13 tests
48
- - vue-event-subscriptions: 15 tests
49
- - vue-events: 16 tests
50
- - **vue-feeds: 12 tests** ✅ (Main fix verified)
51
- - vue-jobs: 34 tests
52
- - vue-users: 14 tests
52
+ ## Test Results
53
53
 
54
- **Note:** 3 apps failed due to OAuth rate limiting (vue-cameras) and test config issues (vue-layouts, vue-media) - not related to code changes.
54
+ - **Lint**: Passed (0 errors, 1 warning)
55
+ - **Unit tests**: 619/619 passed
56
+ - **Build**: Successful
57
+ - **E2E tests**: 11/11 example apps passed
55
58
 
56
- ### Security Review
59
+ ## Security Review
57
60
 
58
- Security review completed - No vulnerabilities found
59
- - All file operations use safe path handling
60
- - No command injection risks
61
- - Regex patterns safe from ReDoS
62
- - Vue components follow framework security best practices
61
+ No source code changes infrastructure and documentation only. No security concerns.
63
62
 
64
- ### Version
63
+ ## Version
65
64
 
66
- v0.3.66 (auto-incremented from 0.3.64 via Husky pre-commit hooks)
65
+ v0.3.70
67
66
 
68
- ---
67
+ #### PR #108: Release v0.3.76: Hostname validation security hardening
68
+ ## Summary
69
+ - **Security Fix**: Validate hostname against EEN domain allowlist to prevent token exfiltration via malicious base URL injection
70
+ - **Hardening**: Fail-secure on tampered storage - clears all auth data when poisoned hostname/port detected
71
+ - **Validation**: Port validation (1-65535 range), protocol bypass prevention, subdomain spoofing protection
72
+ - **Tests**: Comprehensive hostname validation test suite for auth store (46 new tests)
73
+ - **Robustness**: Added `isAllowedEenHostname` utility with falsy guard, console.warn for rejected hostnames, `@internal` JSDoc tag on `ALLOWED_DOMAINS`
74
+
75
+ ## Commits
76
+ - fix: Validate hostname against EEN domain allowlist to prevent token exfiltration
77
+ - test: Add hostname validation tests for auth store security fix
78
+ - docs: Add @internal JSDoc tag to ALLOWED_DOMAINS constant
79
+ - fix: Use console.warn for rejected hostname validation messages
80
+ - fix: Add falsy guard to isAllowedEenHostname for robustness
81
+ - fix: harden hostname/port validation and fail-secure on tampered storage
82
+
83
+ ## Test Results
84
+ - **Lint**: Passed (1 warning - pre-existing)
85
+ - **Unit Tests**: 639 passed (23 test files)
86
+ - **Build**: Successful (ESM + CJS)
87
+ - **E2E Tests**: All 11 example apps passed
88
+
89
+ ## Version
90
+ `0.3.76`
69
91
 
70
- Co-Authored-By: Claude Sonnet 4.5 (1M context) <noreply@anthropic.com>
92
+ 🤖 Generated with [Claude Code](https://claude.com/claude-code)
71
93
 
72
94
  #### PR #94: Release v0.3.69: SSRF protection fix with test coverage
73
95
  ## Summary
@@ -95,12 +117,22 @@ The only source code change is the SSRF protection in `src/media/service.ts` whi
95
117
  ### Detailed Changes
96
118
 
97
119
  #### Bug Fixes
98
- - fix: Update media tests for SSRF domain validation and add coverage
99
- - Fix AUTH_BYPASS vulnerability in initMediaSession()
120
+ - fix: Repair broken JSDoc comment in hostname.ts
121
+ - fix: Address code review concerns for PR #108
122
+ - fix: harden hostname/port validation and fail-secure on tampered storage
123
+ - fix: Add falsy guard to isAllowedEenHostname for robustness
124
+ - fix: Use console.warn for rejected hostname validation messages
125
+ - fix: Validate hostname against EEN domain allowlist to prevent token exfiltration
126
+ - fix: Re-add semver-minor ignore for TypeScript in Dependabot
127
+
128
+ #### Other Changes
129
+ - Update src/utils/hostname.ts
130
+ - docs: Add @internal JSDoc tag to ALLOWED_DOMAINS constant
131
+ - test: Add hostname validation tests for auth store security fix
100
132
 
101
133
  ### Links
102
134
  - [npm package](https://www.npmjs.com/package/een-api-toolkit)
103
- - [Full Changelog](https://github.com/klaushofrichter/een-api-toolkit/compare/v0.3.67...v0.3.69)
135
+ - [Full Changelog](https://github.com/klaushofrichter/een-api-toolkit/compare/v0.3.70...v0.3.78)
104
136
 
105
137
  ---
106
- *Released: 2026-02-10 17:09:15 CST*
138
+ *Released: 2026-02-12 20:28:23 CST*
package/README.md CHANGED
@@ -215,6 +215,8 @@ The `examples/` directory contains complete Vue 3 applications demonstrating too
215
215
  | **[vue-events](./examples/vue-events/)** | Event listing with bounding box overlays | `listEvents()`, `listEventTypes()`, `listEventFieldValues()`, `getRecordedImage()` |
216
216
  | **[vue-alerts-metrics](./examples/vue-alerts-metrics/)** | Event metrics, alerts, and notifications dashboard | `getEventMetrics()`, `listAlerts()`, `listAlertTypes()`, `listNotifications()` |
217
217
  | **[vue-event-subscriptions](./examples/vue-event-subscriptions/)** | Real-time event streaming with SSE | `listEventSubscriptions()`, `createEventSubscription()`, `deleteEventSubscription()`, `connectToEventSubscription()` |
218
+ | **[vue-automations](./examples/vue-automations/)** | Automation rules and alert actions | `listEventAlertConditionRules()`, `listAlertConditionRules()`, `listAlertActionRules()`, `listAlertActions()` |
219
+ | **[vue-jobs](./examples/vue-jobs/)** | Job management, exports, and file downloads | `listJobs()`, `getJob()`, `createExportJob()`, `listFiles()`, `downloadFile()` |
218
220
 
219
221
  Each example includes:
220
222
  - Complete OAuth authentication flow