Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
ac924a4
feat: extend cluster definitions for BasicZigbeeDevice support
RobinBol Jan 26, 2026
0277fd9
chore(doorLock): update apsLinkKey to apsSecurity in attributes
RobinBol Feb 4, 2026
3e79d14
feat(tests): add new tests for Color Control, Door Lock, Level Contro…
RobinBol Feb 4, 2026
68d6838
feat(doorLock): add response definitions and notification commands
RobinBol Feb 4, 2026
b579ebc
chore(docs): commit latest version of cluster specification
RobinBol Feb 9, 2026
cbaa5d9
feat(docs): add AGENTS.md for guidance on cluster implementation
RobinBol Feb 9, 2026
53af322
docs: update AGENTS.md to include decimal comments for hex IDs > 9
RobinBol Feb 9, 2026
2d58a05
docs: update AGENTS.md with multi-line definition examples
RobinBol Feb 9, 2026
26d55e5
chore: update specs based on AGENTS.md
RobinBol Feb 9, 2026
79991f9
docs: Update command ID formatting and comment placement in AGENTS.md
RobinBol Feb 9, 2026
873e654
docs: Update file header to reflect guidance for AI agents
RobinBol Feb 9, 2026
4adaa32
refactor(test): simplify tests with mockNode loopback pattern
RobinBol Feb 9, 2026
98c0d36
refactor(test): use Cluster.ID instead of hardcoded cluster IDs
RobinBol Feb 9, 2026
d47ef70
docs: add Conditional (M*) marker to AGENTS.md
RobinBol Feb 9, 2026
c054bbf
docs: add footnote format for Conditional markers in cluster attributes
RobinBol Feb 9, 2026
1c18033
feat(metering): add missing attribute sets and commands
RobinBol Feb 9, 2026
fa3c655
refactor(test): use Cluster.ID in MOCK_DEVICES presets
RobinBol Feb 9, 2026
632b499
feat(types): auto-generate TypeScript interfaces for all 46 clusters
RobinBol Jan 26, 2026
9040094
ci: add workflow to auto-generate TypeScript types
RobinBol Jan 26, 2026
006c0fb
docs: explain why Buffer command args are optional
RobinBol Jan 27, 2026
d7bcf6e
docs: add TypeScript types generation instructions to README
RobinBol Feb 9, 2026
6b501b2
refactor(types): simplify type generation script
RobinBol Feb 9, 2026
5b2a4f5
fix(types): improve type generation accuracy
RobinBol Feb 9, 2026
87e7fa2
refactor(types): remove redundant comments from ZCLNodeCluster interface
RobinBol Feb 9, 2026
e946db2
feat(types): add typed command responses and array element types
RobinBol Feb 10, 2026
299d48b
fix(types): make args optional when all properties are optional
RobinBol Feb 10, 2026
ce2825b
docs: add command direction rules and reusable bitmaps to AGENTS.md
RobinBol Feb 10, 2026
455e94c
chore(metering): remove advanced metering commands
RobinBol Feb 10, 2026
17c7344
Merge pull request #157 from athombv/feature/typed-cluster-interfaces
RobinBol Feb 16, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
63 changes: 63 additions & 0 deletions .github/workflows/generate-types.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
name: Generate TypeScript Types

on:
push:
branches:
- develop
paths:
- 'lib/clusters/**/*.js'
- 'scripts/generate-types.js'

jobs:
generate-types:
runs-on: ubuntu-latest

permissions:
contents: write

steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
ref: develop
token: ${{ secrets.GITHUB_TOKEN }}

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
cache: 'npm'

- name: Install dependencies
run: npm ci

- name: Generate TypeScript types
run: npm run generate-types

- name: Validate TypeScript types compile
run: npx tsc --noEmit index.d.ts

- name: Check for changes
id: check-changes
run: |
if git diff --quiet index.d.ts; then
echo "changed=false" >> $GITHUB_OUTPUT
echo "No changes to index.d.ts"
else
echo "changed=true" >> $GITHUB_OUTPUT
echo "index.d.ts has been updated"
git diff --stat index.d.ts
fi

- name: Commit and push changes
if: steps.check-changes.outputs.changed == 'true'
run: |
git config user.name "github-actions[bot]"
git config user.email "github-actions[bot]@users.noreply.github.com"
git add index.d.ts
git commit -m "chore(types): auto-generate TypeScript definitions

Updated by GitHub Actions after cluster changes.

[skip ci]"
git push origin develop
Loading