een-api-toolkit 0.2.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 +9 -43
- package/README.md +1 -0
- package/docs/AI-CONTEXT.md +6 -1
- package/examples/vue-users/e2e/auth.spec.ts +7 -4
- package/examples/vue-users/package-lock.json +2 -2
- package/examples/vue-users/package.json +1 -1
- package/examples/vue-users/playwright.config.ts +1 -1
- package/package.json +3 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,60 +2,26 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
|
|
5
|
-
## [0.
|
|
5
|
+
## [0.3.0] - 2026-01-04
|
|
6
6
|
|
|
7
7
|
### Release Summary
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
## Summary
|
|
11
|
-
|
|
12
|
-
This release includes documentation improvements and developer experience enhancements:
|
|
13
|
-
|
|
14
|
-
- **Example README files**: Added comprehensive README.md files with screenshots for all 5 example applications (vue-bridges, vue-cameras, vue-feeds, vue-media, vue-users)
|
|
15
|
-
- **Faster dev server startup**: Replaced slow `npx kill-port` (10-15 seconds) with native `lsof` command for instant port cleanup
|
|
16
|
-
- **Documentation fixes**: Fixed vue-users README to use functions instead of removed composables, updated docs/README.md to reference all example apps
|
|
17
|
-
|
|
18
|
-
## Commits included
|
|
19
|
-
|
|
20
|
-
- 9050e88 docs: Update README.md to reference all example apps
|
|
21
|
-
- 105051e docs: Fix vue-users README to use functions instead of composables
|
|
22
|
-
- 8d11c7a chore: Replace npx kill-port with faster native lsof command
|
|
23
|
-
- 741ca61 docs: Add README files and screenshots to example applications
|
|
24
|
-
- f4aa78b Merge pull request #38 from klaushofrichter/develop
|
|
25
|
-
- 6f3b0bf fix: Address code review feedback from PR #38
|
|
26
|
-
- 0432d7a feat: Add Media Session API and live video streaming to vue-feeds
|
|
27
|
-
|
|
28
|
-
## Test Results
|
|
29
|
-
|
|
30
|
-
- ✅ Lint: Passed (1 expected warning for unused vars in test files)
|
|
31
|
-
- ✅ Unit tests: 164 passed
|
|
32
|
-
- ✅ Build: Succeeded
|
|
33
|
-
|
|
34
|
-
## Version
|
|
35
|
-
|
|
36
|
-
**0.1.13**
|
|
37
|
-
|
|
38
|
-
🤖 Generated with [Claude Code](https://claude.com/claude-code)
|
|
39
|
-
|
|
9
|
+
No PR descriptions available for this release.
|
|
40
10
|
|
|
41
11
|
### Detailed Changes
|
|
42
12
|
|
|
13
|
+
#### Features
|
|
14
|
+
- feat: Add Marp presentation generation infrastructure
|
|
15
|
+
|
|
43
16
|
#### Bug Fixes
|
|
44
|
-
- fix: Address
|
|
45
|
-
- fix: Address code review feedback for PR #40
|
|
46
|
-
- fix: Address code review feedback - macOS note, xargs safety, and skill fix
|
|
17
|
+
- fix: Address code review feedback for presentation infrastructure
|
|
47
18
|
|
|
48
19
|
#### Other Changes
|
|
49
|
-
-
|
|
50
|
-
- chore: Update dependencies and fix E2E tests
|
|
51
|
-
- docs: Update README.md to reference all example apps
|
|
52
|
-
- docs: Fix vue-users README to use functions instead of composables
|
|
53
|
-
- chore: Replace npx kill-port with faster native lsof command
|
|
54
|
-
- docs: Add README files and screenshots to example applications
|
|
20
|
+
- docs: Regenerate documentation for version 0.3.0
|
|
55
21
|
|
|
56
22
|
### Links
|
|
57
23
|
- [npm package](https://www.npmjs.com/package/een-api-toolkit)
|
|
58
|
-
- [Full Changelog](https://github.com/klaushofrichter/een-api-toolkit/compare/v0.1
|
|
24
|
+
- [Full Changelog](https://github.com/klaushofrichter/een-api-toolkit/compare/v0.2.1...v0.3.0)
|
|
59
25
|
|
|
60
26
|
---
|
|
61
|
-
*Released: 2026-01-
|
|
27
|
+
*Released: 2026-01-04 11:50:05 CST*
|
package/README.md
CHANGED
|
@@ -241,6 +241,7 @@ npm run test:e2e:ui
|
|
|
241
241
|
|
|
242
242
|
- [EEN Developer Portal](https://developer.eagleeyenetworks.com/)
|
|
243
243
|
- [EEN API v3.0 Documentation](https://developer.eagleeyenetworks.com/reference/using-the-api)
|
|
244
|
+
- [EEN OAuth Application Management](https://developer.eagleeyenetworks.com/page/my-application)
|
|
244
245
|
- [een-oauth-proxy](https://github.com/klaushofrichter/een-oauth-proxy) - OAuth proxy server
|
|
245
246
|
|
|
246
247
|
## License
|
package/docs/AI-CONTEXT.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# EEN API Toolkit - AI Reference
|
|
2
2
|
|
|
3
|
-
> **Version:** 0.
|
|
3
|
+
> **Version:** 0.3.0
|
|
4
4
|
>
|
|
5
5
|
> This file is optimized for AI assistants. It contains all API signatures,
|
|
6
6
|
> types, and usage patterns in a single, parseable document.
|
|
@@ -8,6 +8,11 @@
|
|
|
8
8
|
> For the full EEN API documentation, see the
|
|
9
9
|
> [Eagle Eye Networks Developer Portal](https://developer.eagleeyenetworks.com).
|
|
10
10
|
|
|
11
|
+
> **Working Examples:** The installed package includes complete Vue 3 example applications
|
|
12
|
+
> at `./node_modules/een-api-toolkit/examples/`. These demonstrate OAuth authentication,
|
|
13
|
+
> user management, camera listing, live/recorded media, and video feeds. For Live Main
|
|
14
|
+
> Video streaming, see `./node_modules/een-api-toolkit/examples/vue-feeds/src/views/Feeds.vue`.
|
|
15
|
+
|
|
11
16
|
---
|
|
12
17
|
|
|
13
18
|
## Prerequisites & Installation (READ FIRST)
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { test, expect, Page } from '@playwright/test'
|
|
2
|
+
import { baseURL } from '../playwright.config'
|
|
2
3
|
|
|
3
4
|
/**
|
|
4
5
|
* E2E tests for the Vue Users Example
|
|
@@ -84,8 +85,9 @@ async function performLogin(page: Page, username: string, password: string): Pro
|
|
|
84
85
|
// Click sign in - use OR selector for robustness
|
|
85
86
|
await page.locator('#next, button:has-text("Sign in")').first().click()
|
|
86
87
|
|
|
87
|
-
// Wait for
|
|
88
|
-
|
|
88
|
+
// Wait for redirect back to the app using configured baseURL
|
|
89
|
+
const baseURLPattern = new RegExp(baseURL.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'))
|
|
90
|
+
await page.waitForURL(baseURLPattern, { timeout: TIMEOUTS.AUTH_COMPLETE })
|
|
89
91
|
}
|
|
90
92
|
|
|
91
93
|
/**
|
|
@@ -217,8 +219,9 @@ test.describe('Vue Users Example', () => {
|
|
|
217
219
|
// Click logout
|
|
218
220
|
await page.click('[data-testid="nav-logout"]')
|
|
219
221
|
|
|
220
|
-
// Should show not authenticated
|
|
221
|
-
|
|
222
|
+
// Should show not authenticated - wait for redirect to app baseURL
|
|
223
|
+
const baseURLPattern = new RegExp(baseURL.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'))
|
|
224
|
+
await page.waitForURL(baseURLPattern)
|
|
222
225
|
await expect(page.locator('[data-testid="not-authenticated"]')).toBeVisible({ timeout: TIMEOUTS.UI_UPDATE })
|
|
223
226
|
await expect(page.locator('[data-testid="nav-login"]')).toBeVisible()
|
|
224
227
|
})
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "een-api-toolkit-example",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.18",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "een-api-toolkit-example",
|
|
9
|
-
"version": "0.0.
|
|
9
|
+
"version": "0.0.18",
|
|
10
10
|
"dependencies": {
|
|
11
11
|
"een-api-toolkit": "file:../..",
|
|
12
12
|
"pinia": "^3.0.4",
|
|
@@ -14,7 +14,7 @@ const redirectUri = process.env.VITE_REDIRECT_URI || 'http://127.0.0.1:3333'
|
|
|
14
14
|
if (!redirectUri.startsWith('http://127.0.0.1:') && !redirectUri.startsWith('http://localhost:')) {
|
|
15
15
|
throw new Error('VITE_REDIRECT_URI must use localhost or 127.0.0.1 for security')
|
|
16
16
|
}
|
|
17
|
-
const baseURL = redirectUri
|
|
17
|
+
export const baseURL = redirectUri
|
|
18
18
|
|
|
19
19
|
export default defineConfig({
|
|
20
20
|
testDir: './e2e',
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "een-api-toolkit",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.0",
|
|
4
4
|
"description": "EEN Video platform API v3.0 library for Vue 3",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.cjs",
|
|
@@ -35,6 +35,7 @@
|
|
|
35
35
|
"docs:ai-context": "npx tsx scripts/generate-ai-context.ts",
|
|
36
36
|
"verify-package": "./scripts/verify-package.sh",
|
|
37
37
|
"prepublishOnly": "npm run build && npm run docs",
|
|
38
|
+
"build:presentation": "node scripts/generate-presentation.cjs && npx @marp-team/marp-cli PRESENTATION.md -o PRESENTATION.html",
|
|
38
39
|
"prepare": "husky"
|
|
39
40
|
},
|
|
40
41
|
"peerDependencies": {
|
|
@@ -42,6 +43,7 @@
|
|
|
42
43
|
"vue": "^3.3.0"
|
|
43
44
|
},
|
|
44
45
|
"devDependencies": {
|
|
46
|
+
"@marp-team/marp-cli": "^4.2.3",
|
|
45
47
|
"@playwright/test": "^1.57.0",
|
|
46
48
|
"@types/node": "^25.0.3",
|
|
47
49
|
"@typescript-eslint/eslint-plugin": "^8.51.0",
|