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 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.2.0] - 2026-01-02
5
+ ## [0.3.0] - 2026-01-04
6
6
 
7
7
  ### Release Summary
8
8
 
9
- #### PR #39: Release v0.1.13: Documentation updates and example improvements
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 remaining code review recommendations
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
- - chore: Bump version to 0.2.0 and add CHANGELOG
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.13...v0.2.0)
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-02 09:30:09 CST*
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
@@ -1,6 +1,6 @@
1
1
  # EEN API Toolkit - AI Reference
2
2
 
3
- > **Version:** 0.2.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 auth to complete and redirect to app
88
- await page.waitForURL('**/', { timeout: TIMEOUTS.AUTH_COMPLETE })
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
- await page.waitForURL('**/')
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.17",
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.17",
9
+ "version": "0.0.18",
10
10
  "dependencies": {
11
11
  "een-api-toolkit": "file:../..",
12
12
  "pinia": "^3.0.4",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "een-api-toolkit-example",
3
- "version": "0.0.17",
3
+ "version": "0.0.18",
4
4
  "private": true,
5
5
  "type": "module",
6
6
  "scripts": {
@@ -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.2.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",