@coffeerunhobby/mcp-ha-connect 2.2.1 → 2.3.1
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/.env.example +1 -1
- package/README.md +11 -2
- package/dist/omadaClient/client.d.ts +6 -1
- package/dist/omadaClient/client.js +12 -1
- package/dist/omadaClient/client.js.map +1 -1
- package/dist/omadaClient/diagnose.d.ts +68 -0
- package/dist/omadaClient/diagnose.js +164 -0
- package/dist/omadaClient/diagnose.js.map +1 -0
- package/dist/omadaClient/index.d.ts +6 -0
- package/dist/omadaClient/index.js +15 -0
- package/dist/omadaClient/index.js.map +1 -1
- package/dist/omadaClient/macGroups.d.ts +58 -0
- package/dist/omadaClient/macGroups.js +124 -0
- package/dist/omadaClient/macGroups.js.map +1 -0
- package/dist/tools/infra/actions.d.ts +1 -1
- package/dist/tools/infra/actions.js +1 -1
- package/dist/tools/omada/index.js +6 -0
- package/dist/tools/omada/index.js.map +1 -1
- package/dist/tools/omada/macGroups.d.ts +19 -0
- package/dist/tools/omada/macGroups.js +77 -0
- package/dist/tools/omada/macGroups.js.map +1 -0
- package/dist/tools/omada/namespace.js +8 -0
- package/dist/tools/omada/namespace.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +5 -1
- package/.codex/review-rules.md +0 -16
- package/.dockerignore +0 -8
- package/.gitattributes +0 -30
- package/.github/workflows/ci.yml +0 -193
- package/AGENTS.md +0 -389
- package/Dockerfile +0 -50
- package/docker-compose.yml +0 -23
- package/docs/CHANGELOG.md +0 -341
- package/docs/COVERAGE.md +0 -219
- package/docs/QUICK_START.md +0 -240
- package/eslint.config.js +0 -33
- package/n8n/ai-agent-safety-monitor.json +0 -355
- package/openapi.json +0 -1259
- package/scripts/check-version-sync.mjs +0 -69
- package/scripts/generate-jwt.ts +0 -121
- package/src/config.ts +0 -440
- package/src/haClient/automations.ts +0 -261
- package/src/haClient/calendars.ts +0 -94
- package/src/haClient/config.ts +0 -52
- package/src/haClient/devices.ts +0 -653
- package/src/haClient/entities.ts +0 -128
- package/src/haClient/events.ts +0 -689
- package/src/haClient/history.ts +0 -73
- package/src/haClient/index.ts +0 -336
- package/src/haClient/request.ts +0 -142
- package/src/haClient/services.ts +0 -45
- package/src/haClient/states.ts +0 -60
- package/src/haClient/updates.ts +0 -58
- package/src/haClient/wsCommand.ts +0 -44
- package/src/index.ts +0 -164
- package/src/localAI/index.ts +0 -88
- package/src/localAI/prompts.ts +0 -50
- package/src/localAI/providers/base.ts +0 -120
- package/src/localAI/providers/ollama.ts +0 -78
- package/src/localAI/providers/openai.ts +0 -86
- package/src/localAI/types.ts +0 -67
- package/src/omadaClient/auth.ts +0 -178
- package/src/omadaClient/client.ts +0 -337
- package/src/omadaClient/device.ts +0 -118
- package/src/omadaClient/index.ts +0 -310
- package/src/omadaClient/network.ts +0 -284
- package/src/omadaClient/request.ts +0 -365
- package/src/omadaClient/security.ts +0 -51
- package/src/omadaClient/site.ts +0 -344
- package/src/ownerQuestions/service.ts +0 -536
- package/src/permissions/index.ts +0 -143
- package/src/resources/index.ts +0 -213
- package/src/server/auth.ts +0 -175
- package/src/server/chatFace.ts +0 -789
- package/src/server/chatSlice.ts +0 -57
- package/src/server/common.ts +0 -170
- package/src/server/eventSubscription.ts +0 -343
- package/src/server/http.ts +0 -626
- package/src/server/instructions.ts +0 -97
- package/src/server/rateLimiter.ts +0 -227
- package/src/server/stdio.ts +0 -41
- package/src/server/stream.ts +0 -205
- package/src/tools/ai/analyzeSensors.ts +0 -33
- package/src/tools/ai/index.ts +0 -20
- package/src/tools/common.ts +0 -442
- package/src/tools/homeassistant/askOwner.ts +0 -133
- package/src/tools/homeassistant/automationControls.ts +0 -66
- package/src/tools/homeassistant/calendar.ts +0 -97
- package/src/tools/homeassistant/callService.ts +0 -25
- package/src/tools/homeassistant/controlClimate.ts +0 -68
- package/src/tools/homeassistant/controlCover.ts +0 -48
- package/src/tools/homeassistant/controlFan.ts +0 -44
- package/src/tools/homeassistant/controlLight.ts +0 -38
- package/src/tools/homeassistant/controlMediaPlayer.ts +0 -50
- package/src/tools/homeassistant/createAutomation.ts +0 -35
- package/src/tools/homeassistant/deleteAutomation.ts +0 -24
- package/src/tools/homeassistant/entityAction.ts +0 -35
- package/src/tools/homeassistant/entityGuard.ts +0 -28
- package/src/tools/homeassistant/getAllSensors.ts +0 -46
- package/src/tools/homeassistant/getAutomationTrace.ts +0 -30
- package/src/tools/homeassistant/getDomainSummary.ts +0 -29
- package/src/tools/homeassistant/getEntitiesByDomain.ts +0 -56
- package/src/tools/homeassistant/getHistory.ts +0 -24
- package/src/tools/homeassistant/getState.ts +0 -24
- package/src/tools/homeassistant/getStates.ts +0 -46
- package/src/tools/homeassistant/getVersion.ts +0 -21
- package/src/tools/homeassistant/index.ts +0 -121
- package/src/tools/homeassistant/listAutomations.ts +0 -35
- package/src/tools/homeassistant/listEntities.ts +0 -44
- package/src/tools/homeassistant/listPersons.ts +0 -46
- package/src/tools/homeassistant/sceneAndScript.ts +0 -53
- package/src/tools/homeassistant/searchEntities.ts +0 -58
- package/src/tools/homeassistant/sendNotification.ts +0 -179
- package/src/tools/homeassistant/systemTools.ts +0 -52
- package/src/tools/homeassistant/triggerAutomation.ts +0 -24
- package/src/tools/index.ts +0 -78
- package/src/tools/infra/actions.ts +0 -95
- package/src/tools/infra/index.ts +0 -138
- package/src/tools/omada/blockClient.ts +0 -28
- package/src/tools/omada/cyclePoePort.ts +0 -32
- package/src/tools/omada/deleteClient.ts +0 -27
- package/src/tools/omada/disableClientRateLimit.ts +0 -23
- package/src/tools/omada/getClient.ts +0 -14
- package/src/tools/omada/getDevice.ts +0 -14
- package/src/tools/omada/getFirewallSetting.ts +0 -14
- package/src/tools/omada/getInternetInfo.ts +0 -14
- package/src/tools/omada/getLanNetworkList.ts +0 -14
- package/src/tools/omada/getLanProfileList.ts +0 -14
- package/src/tools/omada/getPortForwardingStatus.ts +0 -26
- package/src/tools/omada/getRateLimitProfiles.ts +0 -14
- package/src/tools/omada/getSiteNtpStatus.ts +0 -14
- package/src/tools/omada/getSsidDetail.ts +0 -22
- package/src/tools/omada/getSsidList.ts +0 -21
- package/src/tools/omada/getSwitchStackDetail.ts +0 -14
- package/src/tools/omada/getThreatList.ts +0 -42
- package/src/tools/omada/getWlanGroupList.ts +0 -14
- package/src/tools/omada/graph.ts +0 -187
- package/src/tools/omada/index.ts +0 -153
- package/src/tools/omada/listBlockedClients.ts +0 -17
- package/src/tools/omada/listClients.ts +0 -14
- package/src/tools/omada/listClientsActivity.ts +0 -25
- package/src/tools/omada/listClientsPastConnections.ts +0 -44
- package/src/tools/omada/listDevices.ts +0 -14
- package/src/tools/omada/listDevicesStats.ts +0 -41
- package/src/tools/omada/listMostActiveClients.ts +0 -14
- package/src/tools/omada/listSites.ts +0 -18
- package/src/tools/omada/namespace.ts +0 -1164
- package/src/tools/omada/searchDevices.ts +0 -20
- package/src/tools/omada/setClientRateLimit.ts +0 -26
- package/src/tools/omada/setClientRateLimitProfile.ts +0 -25
- package/src/tools/omada/setSiteNtpServers.ts +0 -36
- package/src/tools/omada/setSsidEnabled.ts +0 -38
- package/src/tools/omada/unblockClient.ts +0 -26
- package/src/tools/types.ts +0 -11
- package/src/tools/utils/pagination-schema.ts +0 -27
- package/src/types/ai/index.ts +0 -11
- package/src/types/ai/types.ts +0 -67
- package/src/types/homeassistant/automations.ts +0 -43
- package/src/types/homeassistant/calendars.ts +0 -26
- package/src/types/homeassistant/config.ts +0 -14
- package/src/types/homeassistant/entities.ts +0 -14
- package/src/types/homeassistant/errors.ts +0 -33
- package/src/types/homeassistant/haConfig.ts +0 -7
- package/src/types/homeassistant/history.ts +0 -13
- package/src/types/homeassistant/index.ts +0 -46
- package/src/types/homeassistant/request.ts +0 -6
- package/src/types/homeassistant/serviceCall.ts +0 -18
- package/src/types/homeassistant/states.ts +0 -58
- package/src/types/homeassistant/updates.ts +0 -28
- package/src/types/index.ts +0 -12
- package/src/types/omada/activeClientInfo.ts +0 -17
- package/src/types/omada/clientActivity.ts +0 -32
- package/src/types/omada/clientBlockStatus.ts +0 -11
- package/src/types/omada/clientPastConnection.ts +0 -82
- package/src/types/omada/index.ts +0 -14
- package/src/types/omada/omadaApiResponse.ts +0 -5
- package/src/types/omada/omadaClientInfo.ts +0 -11
- package/src/types/omada/omadaDeviceInfo.ts +0 -11
- package/src/types/omada/omadaDeviceStats.ts +0 -31
- package/src/types/omada/omadaSiteSummary.ts +0 -5
- package/src/types/omada/oswStackDetail.ts +0 -11
- package/src/types/omada/paginatedResult.ts +0 -6
- package/src/types/omada/rateLimitProfile.ts +0 -58
- package/src/types/omada/threatInfo.ts +0 -38
- package/src/types/omada/tokenResult.ts +0 -6
- package/src/types.ts +0 -2
- package/src/utils/config-validations.ts +0 -68
- package/src/utils/jwt.ts +0 -112
- package/src/utils/logger.ts +0 -121
- package/src/utils/plainText.ts +0 -48
- package/src/utils/redact.ts +0 -59
- package/src/utils/sanitizeError.ts +0 -18
- package/src/utils/tlsDispatcher.ts +0 -69
- package/src/version.ts +0 -5
- package/tests/bdd/automation-creation.spec.ts +0 -214
- package/tests/bdd/automation-management.spec.ts +0 -267
- package/tests/bdd/calendar.spec.ts +0 -190
- package/tests/bdd/configuration.spec.ts +0 -283
- package/tests/bdd/device-control.spec.ts +0 -344
- package/tests/bdd/entity-listing.spec.ts +0 -208
- package/tests/bdd/entity-search.spec.ts +0 -183
- package/tests/bdd/history-retrieval.spec.ts +0 -195
- package/tests/bdd/notifications.spec.ts +0 -238
- package/tests/bdd/service-calls.spec.ts +0 -144
- package/tests/bdd/state-retrieval.spec.ts +0 -204
- package/tests/bench/hotpaths.bench.ts +0 -68
- package/tests/config.test.ts +0 -355
- package/tests/features/automation-creation.feature +0 -36
- package/tests/features/automation-management.feature +0 -54
- package/tests/features/calendar.feature +0 -37
- package/tests/features/configuration.feature +0 -70
- package/tests/features/device-control.feature +0 -100
- package/tests/features/entity-listing.feature +0 -51
- package/tests/features/entity-search.feature +0 -44
- package/tests/features/history-retrieval.feature +0 -38
- package/tests/features/notifications.feature +0 -37
- package/tests/features/service-calls.feature +0 -35
- package/tests/features/state-retrieval.feature +0 -37
- package/tests/fixtures/openapi-default-slice.json +0 -290
- package/tests/haClient/automationTrace.test.ts +0 -59
- package/tests/haClient/automations.test.ts +0 -149
- package/tests/haClient/config.test.ts +0 -117
- package/tests/haClient/entities.test.ts +0 -188
- package/tests/haClient/events.test.ts +0 -455
- package/tests/haClient/eventsTls.test.ts +0 -52
- package/tests/haClient/history.test.ts +0 -228
- package/tests/haClient/index.test.ts +0 -243
- package/tests/haClient/request.test.ts +0 -217
- package/tests/haClient/services.test.ts +0 -120
- package/tests/haClient/states.test.ts +0 -119
- package/tests/haClient/updates.test.ts +0 -193
- package/tests/index.test.ts +0 -160
- package/tests/integration/homeassistant.test.ts +0 -144
- package/tests/integration/omada.test.ts +0 -167
- package/tests/integration/server.test.ts +0 -151
- package/tests/localAI/index.test.ts +0 -177
- package/tests/localAI/ollama.test.ts +0 -187
- package/tests/localAI/openai.test.ts +0 -257
- package/tests/omadaClient/actions.test.ts +0 -161
- package/tests/omadaClient/clientBlocks.test.ts +0 -170
- package/tests/omadaClient/ntp.test.ts +0 -381
- package/tests/omadaClient/site.test.ts +0 -37
- package/tests/ownerQuestions/service.test.ts +0 -499
- package/tests/ownerQuestions/tools.test.ts +0 -186
- package/tests/permissions/index.test.ts +0 -217
- package/tests/resources/index.test.ts +0 -288
- package/tests/scripts/generateJwt.test.ts +0 -44
- package/tests/security/accessControl.test.ts +0 -223
- package/tests/security/authentication.test.ts +0 -117
- package/tests/security/configuration.test.ts +0 -170
- package/tests/security/cryptoTransport.test.ts +0 -172
- package/tests/security/dependencies.test.ts +0 -152
- package/tests/security/injection.test.ts +0 -117
- package/tests/security/insecureDesign.test.ts +0 -121
- package/tests/security/logging.test.ts +0 -131
- package/tests/security/resourceConsumption.test.ts +0 -142
- package/tests/server/auth.test.ts +0 -249
- package/tests/server/chatFace.test.ts +0 -320
- package/tests/server/common.test.ts +0 -84
- package/tests/server/http.test.ts +0 -561
- package/tests/server/instructions.test.ts +0 -152
- package/tests/server/memoizeJsonSchema.test.ts +0 -71
- package/tests/server/stdio.test.ts +0 -99
- package/tests/server/stream.test.ts +0 -285
- package/tests/server/toolVisibility.http.test.ts +0 -111
- package/tests/server/toolVisibility.test.ts +0 -129
- package/tests/tools/ai/analyzeSensors.test.ts +0 -227
- package/tests/tools/common.test.ts +0 -123
- package/tests/tools/homeassistant/handlers.test.ts +0 -872
- package/tests/tools/infra/invokeAction.test.ts +0 -280
- package/tests/tools/omada/graph.test.ts +0 -385
- package/tests/tools/omada/handlers.test.ts +0 -897
- package/tests/tools/omada/namespace.test.ts +0 -483
- package/tests/tools/registry.test.ts +0 -168
- package/tests/utils/config-validations.test.ts +0 -352
- package/tests/utils/jwt.test.ts +0 -115
- package/tests/utils/logger.test.ts +0 -327
- package/tests/utils/redact.test.ts +0 -105
- package/tsconfig.json +0 -24
- package/vitest.config.ts +0 -38
package/.env.example
CHANGED
|
@@ -117,7 +117,7 @@ MCP_HTTP_ALLOWED_ORIGINS=127.0.0.1,localhost,http://mcpserver.10.0.0.18.nip.io:3
|
|
|
117
117
|
# usually different addresses. Loopback/bind host:port is always added for you.
|
|
118
118
|
# Any Host header not listed here is rejected with 403.
|
|
119
119
|
# Example (LAN IP + public domain):
|
|
120
|
-
# MCP_HTTP_ALLOWED_HOSTS=
|
|
120
|
+
# MCP_HTTP_ALLOWED_HOSTS=10.0.0.18:3000,mcp.example.com
|
|
121
121
|
|
|
122
122
|
# -----------------------------------------------------------------------------
|
|
123
123
|
# Rate Limiting (only when MCP_SERVER_USE_HTTP=true)
|
package/README.md
CHANGED
|
@@ -160,7 +160,7 @@ Known limit: cancellations and answers are kept in memory. After a restart, some
|
|
|
160
160
|
| `listCalendars` | List all calendar entities |
|
|
161
161
|
| `getCalendarEvents` | Get events from one or all calendars |
|
|
162
162
|
|
|
163
|
-
### Omada Network Tools (
|
|
163
|
+
### Omada Network Tools (36)
|
|
164
164
|
|
|
165
165
|
#### Site Tools
|
|
166
166
|
|
|
@@ -208,6 +208,15 @@ Known limit: cancellations and answers are kept in memory. After a restart, some
|
|
|
208
208
|
| `omada_cyclePoePort` | Power-cycle PoE switch ports (remote-reboots APs/cameras) |
|
|
209
209
|
| `omada_setSsidEnabled` | Turn an SSID (e.g. guest WiFi) on or off by name |
|
|
210
210
|
|
|
211
|
+
#### Client Diagnosis and MAC Groups
|
|
212
|
+
|
|
213
|
+
| Tool | Description |
|
|
214
|
+
|------|-------------|
|
|
215
|
+
| `omada_diagnoseClient` | Explain why a device (by MAC) can't get on: block state, MAC groups and the SSID allow/deny lists using them, site MAC filter, IP-MAC binding, DHCP reservation, and for ADMIN callers the audit log (detects an orphaned block). Read-only |
|
|
216
|
+
| `omada_listMacGroups` | List MAC groups with their entries and which SSIDs use them as allow or deny lists (graph mode: `omada_read /profiles/mac-groups`) |
|
|
217
|
+
| `omada_setMacGroupEntry` | Add a MAC to a MAC group, or rename its entry (needs `CONFIGURE`) |
|
|
218
|
+
| `omada_removeMacGroupEntry` | Remove a MAC from a MAC group (needs `CONFIGURE`) |
|
|
219
|
+
|
|
211
220
|
#### Security Tools
|
|
212
221
|
|
|
213
222
|
| Tool | Description |
|
|
@@ -417,7 +426,7 @@ Clients only see the tools they may use: `tools/list` is filtered by the caller'
|
|
|
417
426
|
| Variable | Default | Description |
|
|
418
427
|
|----------|---------|-------------|
|
|
419
428
|
| `OMADA_PLUGIN_ENABLED` | `false` | Enable Omada plugin |
|
|
420
|
-
| `OMADA_BASE_URL` | - | Omada controller URL (e.g., `https://
|
|
429
|
+
| `OMADA_BASE_URL` | - | Omada controller URL (e.g., `https://10.0.0.1:8043`) |
|
|
421
430
|
| `OMADA_CLIENT_ID` | - | OAuth2 client ID from Omada controller |
|
|
422
431
|
| `OMADA_CLIENT_SECRET` | - | OAuth2 client secret from Omada controller |
|
|
423
432
|
| `OMADA_OMADAC_ID` | - | Omada controller ID |
|
|
@@ -127,5 +127,10 @@ export interface KnownClient {
|
|
|
127
127
|
block?: boolean;
|
|
128
128
|
[field: string]: unknown;
|
|
129
129
|
}
|
|
130
|
-
/**
|
|
130
|
+
/**
|
|
131
|
+
* A complete MAC in Omada's format (AA-BB-CC-DD-EE-FF). Anything that is not
|
|
132
|
+
* exactly 12 hex digits is refused, so a write never runs with a partial MAC.
|
|
133
|
+
*/
|
|
134
|
+
export declare function formatMac(mac: string): string;
|
|
135
|
+
/** "02:1a:2b:3c:4d:5e", "02-1A-2B-3C-4D-5E" and "021a2b3c4d5e" compare equal. */
|
|
131
136
|
export declare function normalizeMac(mac: string): string;
|
|
@@ -252,7 +252,18 @@ export class ClientOperations {
|
|
|
252
252
|
}
|
|
253
253
|
/** Omada error code: "This client does not exist." */
|
|
254
254
|
export const CLIENT_DOES_NOT_EXIST = -41004;
|
|
255
|
-
/**
|
|
255
|
+
/**
|
|
256
|
+
* A complete MAC in Omada's format (AA-BB-CC-DD-EE-FF). Anything that is not
|
|
257
|
+
* exactly 12 hex digits is refused, so a write never runs with a partial MAC.
|
|
258
|
+
*/
|
|
259
|
+
export function formatMac(mac) {
|
|
260
|
+
const hex = normalizeMac(mac);
|
|
261
|
+
if (!/^[0-9A-F]{12}$/.test(hex)) {
|
|
262
|
+
throw new Error(`'${mac}' is not a complete MAC address (expected 12 hex digits, e.g. 02-1A-2B-3C-4D-5E)`);
|
|
263
|
+
}
|
|
264
|
+
return hex.match(/../g).join('-');
|
|
265
|
+
}
|
|
266
|
+
/** "02:1a:2b:3c:4d:5e", "02-1A-2B-3C-4D-5E" and "021a2b3c4d5e" compare equal. */
|
|
256
267
|
export function normalizeMac(mac) {
|
|
257
268
|
return mac.replace(/[^0-9a-f]/gi, '').toUpperCase();
|
|
258
269
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/omadaClient/client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/omadaClient/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* One-call diagnosis of why a client (by MAC) cannot get onto the network,
|
|
3
|
+
* across everything Omada's Open API exposes: active and known clients, block
|
|
4
|
+
* state, MAC group membership and the SSID allow/deny lists using those groups,
|
|
5
|
+
* the site MAC filter, IP-MAC binding, DHCP reservations and (for ADMIN callers)
|
|
6
|
+
* the audit log. Read-only.
|
|
7
|
+
*
|
|
8
|
+
* One known blind spot motivates the audit check: a block can survive in a
|
|
9
|
+
* per-device config entry (site backup: clientSetting.clientConfigs, blockEnable
|
|
10
|
+
* true) after the client record is gone. No API endpoint shows it; the trace it
|
|
11
|
+
* leaves is "<MAC> failed to block/unblock/delete" in the audit log.
|
|
12
|
+
*/
|
|
13
|
+
import type { OmadaClient } from './index.js';
|
|
14
|
+
import type { MacGroup } from './macGroups.js';
|
|
15
|
+
export type FindingLevel = 'blocks' | 'warning' | 'info';
|
|
16
|
+
export interface Finding {
|
|
17
|
+
level: FindingLevel;
|
|
18
|
+
message: string;
|
|
19
|
+
}
|
|
20
|
+
export interface SsidFilterView {
|
|
21
|
+
ssid: string;
|
|
22
|
+
ssidId: string;
|
|
23
|
+
wlanId: string;
|
|
24
|
+
macFilterEnabled: boolean;
|
|
25
|
+
policy?: 'allow' | 'deny';
|
|
26
|
+
group?: string;
|
|
27
|
+
groupId?: string;
|
|
28
|
+
containsMac?: boolean;
|
|
29
|
+
}
|
|
30
|
+
export interface ClientDiagnosis {
|
|
31
|
+
mac: string;
|
|
32
|
+
active?: {
|
|
33
|
+
name?: string;
|
|
34
|
+
ip?: string;
|
|
35
|
+
ssid?: string;
|
|
36
|
+
wireless?: boolean;
|
|
37
|
+
blocked?: boolean;
|
|
38
|
+
};
|
|
39
|
+
known?: {
|
|
40
|
+
name?: string;
|
|
41
|
+
block?: boolean;
|
|
42
|
+
lastSeen?: string;
|
|
43
|
+
};
|
|
44
|
+
macGroups: Array<{
|
|
45
|
+
group: string;
|
|
46
|
+
groupId: string;
|
|
47
|
+
entryName: string;
|
|
48
|
+
}>;
|
|
49
|
+
ssidFilters: SsidFilterView[];
|
|
50
|
+
siteMacFilter?: {
|
|
51
|
+
inAllowList: boolean;
|
|
52
|
+
inDenyList: boolean;
|
|
53
|
+
};
|
|
54
|
+
ipMacBinding: boolean;
|
|
55
|
+
dhcpReservation: boolean;
|
|
56
|
+
auditEntries?: string[];
|
|
57
|
+
unavailable: string[];
|
|
58
|
+
verdict: Finding[];
|
|
59
|
+
}
|
|
60
|
+
export declare function diagnoseClient(client: OmadaClient, clientMac: string, options?: {
|
|
61
|
+
siteId?: string;
|
|
62
|
+
includeAudit?: boolean;
|
|
63
|
+
}): Promise<ClientDiagnosis>;
|
|
64
|
+
/**
|
|
65
|
+
* Each SSID with its MAC filter setting (allow/deny list and the MAC group it
|
|
66
|
+
* uses). With `same`, also whether that group contains a given MAC.
|
|
67
|
+
*/
|
|
68
|
+
export declare function listSsidMacFilters(client: OmadaClient, groups: MacGroup[], siteId?: string, attempt?: <T>(what: string, read: () => Promise<T>) => Promise<T | undefined>, same?: (value: unknown) => boolean): Promise<SsidFilterView[]>;
|
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* One-call diagnosis of why a client (by MAC) cannot get onto the network,
|
|
3
|
+
* across everything Omada's Open API exposes: active and known clients, block
|
|
4
|
+
* state, MAC group membership and the SSID allow/deny lists using those groups,
|
|
5
|
+
* the site MAC filter, IP-MAC binding, DHCP reservations and (for ADMIN callers)
|
|
6
|
+
* the audit log. Read-only.
|
|
7
|
+
*
|
|
8
|
+
* One known blind spot motivates the audit check: a block can survive in a
|
|
9
|
+
* per-device config entry (site backup: clientSetting.clientConfigs, blockEnable
|
|
10
|
+
* true) after the client record is gone. No API endpoint shows it; the trace it
|
|
11
|
+
* leaves is "<MAC> failed to block/unblock/delete" in the audit log.
|
|
12
|
+
*/
|
|
13
|
+
import { formatMac, normalizeMac } from './client.js';
|
|
14
|
+
import { OmadaApiError } from './request.js';
|
|
15
|
+
import { logger } from '../utils/logger.js';
|
|
16
|
+
const ORPHAN_AUDIT = /failed to (block|unblock|delete)/i;
|
|
17
|
+
export async function diagnoseClient(client, clientMac, options = {}) {
|
|
18
|
+
const mac = formatMac(clientMac);
|
|
19
|
+
const hex = normalizeMac(mac);
|
|
20
|
+
const same = (value) => typeof value === 'string' && normalizeMac(value) === hex;
|
|
21
|
+
const { siteId } = options;
|
|
22
|
+
const unavailable = [];
|
|
23
|
+
const attempt = async (what, read) => {
|
|
24
|
+
try {
|
|
25
|
+
return await read();
|
|
26
|
+
}
|
|
27
|
+
catch (error) {
|
|
28
|
+
// Only the source and Omada's errorCode, in the response and in the log:
|
|
29
|
+
// the error text can carry internal hostnames, tokens or auth headers.
|
|
30
|
+
const errorCode = error instanceof OmadaApiError ? error.errorCode : undefined;
|
|
31
|
+
logger.warn('omada_diagnoseClient: source unavailable', { source: what, errorCode, errorType: error instanceof Error ? error.name : typeof error });
|
|
32
|
+
const code = errorCode !== undefined ? ` (Omada errorCode ${errorCode})` : '';
|
|
33
|
+
unavailable.push(`${what}: read failed${code}`);
|
|
34
|
+
return undefined;
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
const rows = (value) => {
|
|
38
|
+
const list = Array.isArray(value) ? value : value?.data;
|
|
39
|
+
return Array.isArray(list) ? list : [];
|
|
40
|
+
};
|
|
41
|
+
const page = (pathTemplate, query) => client.readResource({ pathTemplate, siteId, paginated: true, page: 1, pageSize: 1000, query });
|
|
42
|
+
const result = { mac, macGroups: [], ssidFilters: [], ipMacBinding: false, dhcpReservation: false, unavailable, verdict: [] };
|
|
43
|
+
const active = (await attempt('active clients', () => client.listClients(siteId)))?.find((c) => same(c.mac));
|
|
44
|
+
if (active) {
|
|
45
|
+
result.active = {
|
|
46
|
+
name: active.name,
|
|
47
|
+
ip: active.ip,
|
|
48
|
+
ssid: active.ssid,
|
|
49
|
+
wireless: active.wireless,
|
|
50
|
+
blocked: (active.blocked ?? active.block),
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
const known = (await attempt('known clients', () => client.listKnownClients(siteId)))?.find((c) => same(c.mac));
|
|
54
|
+
if (known) {
|
|
55
|
+
result.known = {
|
|
56
|
+
name: known.name,
|
|
57
|
+
block: known.block,
|
|
58
|
+
lastSeen: typeof known.lastSeen === 'number' ? new Date(known.lastSeen).toISOString() : undefined,
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
const groups = (await attempt('MAC groups', () => client.listMacGroups(siteId))) ?? [];
|
|
62
|
+
for (const group of groups) {
|
|
63
|
+
const entry = (group.macAddressList ?? []).find((e) => same(e.macAddress));
|
|
64
|
+
if (entry)
|
|
65
|
+
result.macGroups.push({ group: group.name, groupId: group.groupId, entryName: entry.name });
|
|
66
|
+
}
|
|
67
|
+
result.ssidFilters = await listSsidMacFilters(client, groups, siteId, attempt, same);
|
|
68
|
+
const allow = rows(await attempt('site MAC filter (allow)', () => page('/sites/{siteId}/mac-filters/allow')));
|
|
69
|
+
const deny = rows(await attempt('site MAC filter (deny)', () => page('/sites/{siteId}/mac-filters/deny')));
|
|
70
|
+
const inList = (list) => list.some((r) => Object.values(r).some(same));
|
|
71
|
+
result.siteMacFilter = { inAllowList: inList(allow), inDenyList: inList(deny) };
|
|
72
|
+
result.ipMacBinding = inList(rows(await attempt('IP-MAC binding', () => page('/sites/{siteId}/ip-mac-binds'))));
|
|
73
|
+
result.dhcpReservation = inList(rows(await attempt('DHCP reservations', () => page('/sites/{siteId}/setting/service/dhcp'))));
|
|
74
|
+
if (options.includeAudit) {
|
|
75
|
+
const terms = [mac, ...(result.known?.name ? [result.known.name] : []), ...(result.active?.name ? [result.active.name] : [])];
|
|
76
|
+
const lines = new Map();
|
|
77
|
+
for (const searchKey of [...new Set(terms)]) {
|
|
78
|
+
for (const entry of rows(await attempt(`audit log (${searchKey})`, () => page('/sites/{siteId}/audit-logs', { searchKey })))) {
|
|
79
|
+
if (typeof entry.time === 'number' && typeof entry.content === 'string')
|
|
80
|
+
lines.set(entry.time, entry.content);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
result.auditEntries = [...lines.entries()]
|
|
84
|
+
.sort((a, b) => b[0] - a[0])
|
|
85
|
+
.slice(0, 20)
|
|
86
|
+
.map(([time, content]) => `${new Date(time).toISOString()} ${content}`);
|
|
87
|
+
}
|
|
88
|
+
result.verdict = verdict(result, options.includeAudit === true);
|
|
89
|
+
return result;
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Each SSID with its MAC filter setting (allow/deny list and the MAC group it
|
|
93
|
+
* uses). With `same`, also whether that group contains a given MAC.
|
|
94
|
+
*/
|
|
95
|
+
export async function listSsidMacFilters(client, groups, siteId, attempt = async (_what, read) => await read(), same) {
|
|
96
|
+
const rows = (value) => {
|
|
97
|
+
const list = Array.isArray(value) ? value : value?.data;
|
|
98
|
+
return Array.isArray(list) ? list : [];
|
|
99
|
+
};
|
|
100
|
+
const views = [];
|
|
101
|
+
for (const wlan of rows(await attempt('WLAN groups', () => client.getWlanGroupList(siteId)))) {
|
|
102
|
+
const wlanId = String(wlan.wlanId ?? '');
|
|
103
|
+
if (!wlanId)
|
|
104
|
+
continue;
|
|
105
|
+
for (const ssid of rows(await attempt(`SSIDs of WLAN ${wlanId}`, () => client.getSsidList(wlanId, siteId)))) {
|
|
106
|
+
const ssidId = String(ssid.ssidId ?? ssid.id ?? '');
|
|
107
|
+
if (!ssidId)
|
|
108
|
+
continue;
|
|
109
|
+
const detail = (await attempt(`SSID ${String(ssid.name ?? ssidId)}`, () => client.getSsidDetail(wlanId, ssidId, siteId)));
|
|
110
|
+
const filter = detail?.macFilter;
|
|
111
|
+
const view = { ssid: String(detail?.name ?? ssid.name ?? ssidId), ssidId, wlanId, macFilterEnabled: filter?.macFilterEnable === true };
|
|
112
|
+
if (filter?.macFilterEnable) {
|
|
113
|
+
view.policy = filter.policy === 1 ? 'allow' : 'deny';
|
|
114
|
+
const group = groups.find((g) => g.groupId === filter.macFilterId);
|
|
115
|
+
view.group = group?.name ?? filter.macFilterId;
|
|
116
|
+
view.groupId = filter.macFilterId;
|
|
117
|
+
if (same)
|
|
118
|
+
view.containsMac = group ? (group.macAddressList ?? []).some((e) => same(e.macAddress)) : undefined;
|
|
119
|
+
}
|
|
120
|
+
views.push(view);
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
return views;
|
|
124
|
+
}
|
|
125
|
+
function verdict(d, auditChecked) {
|
|
126
|
+
const findings = [];
|
|
127
|
+
if (d.active?.blocked || d.known?.block) {
|
|
128
|
+
findings.push({ level: 'blocks', message: 'Blocked in Omada. Use omada_unblockClient.' });
|
|
129
|
+
}
|
|
130
|
+
for (const s of d.ssidFilters.filter((f) => f.macFilterEnabled)) {
|
|
131
|
+
if (s.policy === 'allow' && s.containsMac === false) {
|
|
132
|
+
findings.push({ level: 'blocks', message: `Not on the allow list '${s.group}' of SSID ${s.ssid}: it cannot join that SSID. Add it with omada_setMacGroupEntry.` });
|
|
133
|
+
}
|
|
134
|
+
else if (s.policy === 'deny' && s.containsMac === true) {
|
|
135
|
+
findings.push({ level: 'blocks', message: `On the deny list '${s.group}' of SSID ${s.ssid}. Remove it with omada_removeMacGroupEntry.` });
|
|
136
|
+
}
|
|
137
|
+
else if (s.containsMac === undefined) {
|
|
138
|
+
findings.push({ level: 'warning', message: `SSID ${s.ssid} filters by MAC group ${s.group}, which could not be read.` });
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
if (d.siteMacFilter?.inDenyList) {
|
|
142
|
+
findings.push({ level: 'warning', message: 'Listed in the site MAC filter deny list (applies if the site MAC filter is enabled).' });
|
|
143
|
+
}
|
|
144
|
+
const orphanTrace = (d.auditEntries ?? []).some((line) => ORPHAN_AUDIT.test(line) && line.toUpperCase().includes(d.mac));
|
|
145
|
+
if (!d.active && !d.known && orphanTrace) {
|
|
146
|
+
findings.push({
|
|
147
|
+
level: 'blocks',
|
|
148
|
+
message: 'Orphaned block suspected: Omada has no record of this client, but its audit log shows failed block/unblock/delete by MAC. ' +
|
|
149
|
+
'The block lives in a per-device config entry (site backup: clientSetting.clientConfigs with blockEnable true) that no API exposes. ' +
|
|
150
|
+
'Proven fix: Site Backup, remove that entry from the backup, Site Restore.',
|
|
151
|
+
});
|
|
152
|
+
}
|
|
153
|
+
if (!d.active && !d.known && !auditChecked) {
|
|
154
|
+
findings.push({ level: 'info', message: 'Omada has no record of this client. The audit log was not checked (needs ADMIN), so an orphaned block cannot be ruled out.' });
|
|
155
|
+
}
|
|
156
|
+
if (findings.length === 0) {
|
|
157
|
+
findings.push({ level: 'info', message: d.active ? 'Connected; nothing in Omada restricts it.' : 'Nothing that Omada exposes restricts this client.' });
|
|
158
|
+
}
|
|
159
|
+
if (d.unavailable.length > 0) {
|
|
160
|
+
findings.push({ level: 'info', message: `Some sources could not be read (${d.unavailable.length}); see "unavailable".` });
|
|
161
|
+
}
|
|
162
|
+
return findings;
|
|
163
|
+
}
|
|
164
|
+
//# sourceMappingURL=diagnose.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"diagnose.js","sourceRoot":"","sources":["../../src/omadaClient/diagnose.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,7 @@ import type { ActiveClientInfo, ClientActivity, ClientBlockStatus, ClientPastCon
|
|
|
2
2
|
import { type KnownClient } from './client.js';
|
|
3
3
|
import { type SsidEnableResult } from './network.js';
|
|
4
4
|
import { type RequestOptions } from './request.js';
|
|
5
|
+
import { type MacGroup, type MacGroupChange } from './macGroups.js';
|
|
5
6
|
import { type SiteNtpChangeResult } from './site.js';
|
|
6
7
|
export interface OmadaClientOptions {
|
|
7
8
|
baseUrl: string;
|
|
@@ -24,6 +25,7 @@ export declare class OmadaClient {
|
|
|
24
25
|
private readonly clientOps;
|
|
25
26
|
private readonly securityOps;
|
|
26
27
|
private readonly networkOps;
|
|
28
|
+
private readonly macGroupOps;
|
|
27
29
|
private readonly omadacId;
|
|
28
30
|
constructor(options: OmadaClientOptions);
|
|
29
31
|
listSites(): Promise<OmadaSiteSummary[]>;
|
|
@@ -49,6 +51,10 @@ export declare class OmadaClient {
|
|
|
49
51
|
disableClientRateLimit(clientMac: string, siteId?: string): Promise<ClientRateLimitSetting>;
|
|
50
52
|
blockClient(clientMac: string, siteId?: string): Promise<ClientBlockStatus>;
|
|
51
53
|
unblockClient(clientMac: string, siteId?: string): Promise<ClientBlockStatus>;
|
|
54
|
+
listKnownClients(siteId?: string): Promise<KnownClient[]>;
|
|
55
|
+
listMacGroups(siteId?: string): Promise<MacGroup[]>;
|
|
56
|
+
setMacGroupEntry(group: string, clientMac: string, name: string, siteId?: string): Promise<MacGroupChange>;
|
|
57
|
+
removeMacGroupEntry(group: string, clientMac: string, siteId?: string): Promise<MacGroupChange>;
|
|
52
58
|
listBlockedClients(siteId?: string): Promise<KnownClient[]>;
|
|
53
59
|
deleteClient(clientMac: string, siteId?: string): Promise<{
|
|
54
60
|
mac: string;
|
|
@@ -4,6 +4,7 @@ import { DeviceOperations } from './device.js';
|
|
|
4
4
|
import { NetworkOperations } from './network.js';
|
|
5
5
|
import { RequestHandler } from './request.js';
|
|
6
6
|
import { SecurityOperations } from './security.js';
|
|
7
|
+
import { MacGroupOperations } from './macGroups.js';
|
|
7
8
|
import { SiteOperations } from './site.js';
|
|
8
9
|
/**
|
|
9
10
|
* Main client for interacting with the TP-Link Omada API.
|
|
@@ -17,6 +18,7 @@ export class OmadaClient {
|
|
|
17
18
|
clientOps;
|
|
18
19
|
securityOps;
|
|
19
20
|
networkOps;
|
|
21
|
+
macGroupOps;
|
|
20
22
|
omadacId;
|
|
21
23
|
constructor(options) {
|
|
22
24
|
this.omadacId = options.omadacId;
|
|
@@ -40,6 +42,7 @@ export class OmadaClient {
|
|
|
40
42
|
this.clientOps = new ClientOperations(this.request, this.siteOps, this.buildOmadaPath.bind(this));
|
|
41
43
|
this.securityOps = new SecurityOperations(this.request, this.buildOmadaPath.bind(this));
|
|
42
44
|
this.networkOps = new NetworkOperations(this.request, this.siteOps, this.buildOmadaPath.bind(this));
|
|
45
|
+
this.macGroupOps = new MacGroupOperations(this.request, this.siteOps, this.buildOmadaPath.bind(this));
|
|
43
46
|
}
|
|
44
47
|
// Site operations
|
|
45
48
|
async listSites() {
|
|
@@ -103,6 +106,18 @@ export class OmadaClient {
|
|
|
103
106
|
async unblockClient(clientMac, siteId) {
|
|
104
107
|
return await this.clientOps.unblockClient(clientMac, siteId);
|
|
105
108
|
}
|
|
109
|
+
async listKnownClients(siteId) {
|
|
110
|
+
return await this.clientOps.listKnownClients(siteId);
|
|
111
|
+
}
|
|
112
|
+
async listMacGroups(siteId) {
|
|
113
|
+
return await this.macGroupOps.listMacGroups(siteId);
|
|
114
|
+
}
|
|
115
|
+
async setMacGroupEntry(group, clientMac, name, siteId) {
|
|
116
|
+
return await this.macGroupOps.setMacGroupEntry(group, clientMac, name, siteId);
|
|
117
|
+
}
|
|
118
|
+
async removeMacGroupEntry(group, clientMac, siteId) {
|
|
119
|
+
return await this.macGroupOps.removeMacGroupEntry(group, clientMac, siteId);
|
|
120
|
+
}
|
|
106
121
|
async listBlockedClients(siteId) {
|
|
107
122
|
return await this.clientOps.listBlockedClients(siteId);
|
|
108
123
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/omadaClient/index.ts"],"names":[],"mappings":"AAqBA,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,gBAAgB,EAAoB,MAAM,aAAa,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAyB,MAAM,cAAc,CAAC;AACxE,OAAO,EAAE,cAAc,EAAuB,MAAM,cAAc,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,cAAc,EAA4B,MAAM,WAAW,CAAC;AAYrE;;;GAGG;AACH,MAAM,OAAO,WAAW;IACH,IAAI,CAAc;IAElB,OAAO,CAAiB;IAExB,OAAO,CAAiB;IAExB,SAAS,CAAmB;IAE5B,SAAS,CAAmB;IAE5B,WAAW,CAAqB;IAEhC,UAAU,CAAoB;IAE9B,QAAQ,CAAS;IAElC,YAAY,OAA2B;QACnC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QAEjC,MAAM,OAAO,GAAG,OAAO,CAAC,cAAc,IAAI,KAAK,CAAC;QAEhD,+BAA+B;QAC/B,IAAI,CAAC,IAAI,GAAG,IAAI,WAAW,CAAC;YACxB,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,OAAO;YACP,SAAS,EAAE,OAAO,CAAC,SAAS;SAC/B,CAAC,CAAC;QAEH,IAAI,CAAC,OAAO,GAAG,IAAI,cAAc,CAC7B;YACI,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,OAAO;YACP,SAAS,EAAE,OAAO,CAAC,SAAS;SAC/B,EACD,IAAI,CAAC,IAAI,CACZ,CAAC;QAEF,IAAI,CAAC,OAAO,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;QAChG,IAAI,CAAC,SAAS,GAAG,IAAI,gBAAgB,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAClG,IAAI,CAAC,SAAS,GAAG,IAAI,gBAAgB,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAClG,IAAI,CAAC,WAAW,GAAG,IAAI,kBAAkB,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACxF,IAAI,CAAC,UAAU,GAAG,IAAI,iBAAiB,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/omadaClient/index.ts"],"names":[],"mappings":"AAqBA,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,gBAAgB,EAAoB,MAAM,aAAa,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAyB,MAAM,cAAc,CAAC;AACxE,OAAO,EAAE,cAAc,EAAuB,MAAM,cAAc,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAsC,MAAM,gBAAgB,CAAC;AACxF,OAAO,EAAE,cAAc,EAA4B,MAAM,WAAW,CAAC;AAYrE;;;GAGG;AACH,MAAM,OAAO,WAAW;IACH,IAAI,CAAc;IAElB,OAAO,CAAiB;IAExB,OAAO,CAAiB;IAExB,SAAS,CAAmB;IAE5B,SAAS,CAAmB;IAE5B,WAAW,CAAqB;IAEhC,UAAU,CAAoB;IAE9B,WAAW,CAAqB;IAEhC,QAAQ,CAAS;IAElC,YAAY,OAA2B;QACnC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QAEjC,MAAM,OAAO,GAAG,OAAO,CAAC,cAAc,IAAI,KAAK,CAAC;QAEhD,+BAA+B;QAC/B,IAAI,CAAC,IAAI,GAAG,IAAI,WAAW,CAAC;YACxB,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,OAAO;YACP,SAAS,EAAE,OAAO,CAAC,SAAS;SAC/B,CAAC,CAAC;QAEH,IAAI,CAAC,OAAO,GAAG,IAAI,cAAc,CAC7B;YACI,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,OAAO;YACP,SAAS,EAAE,OAAO,CAAC,SAAS;SAC/B,EACD,IAAI,CAAC,IAAI,CACZ,CAAC;QAEF,IAAI,CAAC,OAAO,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;QAChG,IAAI,CAAC,SAAS,GAAG,IAAI,gBAAgB,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAClG,IAAI,CAAC,SAAS,GAAG,IAAI,gBAAgB,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAClG,IAAI,CAAC,WAAW,GAAG,IAAI,kBAAkB,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACxF,IAAI,CAAC,UAAU,GAAG,IAAI,iBAAiB,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACpG,IAAI,CAAC,WAAW,GAAG,IAAI,kBAAkB,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC1G,CAAC;IAED,kBAAkB;IACX,KAAK,CAAC,SAAS;QAClB,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;IAC1C,CAAC;IAEM,KAAK,CAAC,gBAAgB,CAAC,MAAe;QACzC,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;IACvD,CAAC;IAEM,KAAK,CAAC,iBAAiB,CAC1B,OAAiB,EACjB,UAAoE,EAAE;QAEtE,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAClE,CAAC;IAED,oBAAoB;IACb,KAAK,CAAC,WAAW,CAAC,MAAe;QACpC,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IACpD,CAAC;IAEM,KAAK,CAAC,SAAS,CAAC,UAAkB,EAAE,MAAe;QACtD,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IAC9D,CAAC;IAEM,KAAK,CAAC,oBAAoB,CAAC,OAAe,EAAE,MAAe;QAC9D,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,oBAAoB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACtE,CAAC;IAEM,KAAK,CAAC,aAAa,CAAC,SAAiB;QACxC,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;IACzD,CAAC;IAEM,KAAK,CAAC,gBAAgB,CAAC,OAA8B;QACxD,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAC1D,CAAC;IAED,oBAAoB;IACb,KAAK,CAAC,WAAW,CAAC,MAAe;QACpC,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IACpD,CAAC;IAEM,KAAK,CAAC,SAAS,CAAC,UAAkB,EAAE,MAAe;QACtD,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IAC9D,CAAC;IAEM,KAAK,CAAC,qBAAqB,CAAC,MAAe;QAC9C,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;IAC9D,CAAC;IAEM,KAAK,CAAC,mBAAmB,CAAC,OAAkC;QAC/D,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAC7D,CAAC;IAEM,KAAK,CAAC,0BAA0B,CAAC,OAA0C;QAC9E,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,0BAA0B,CAAC,OAAO,CAAC,CAAC;IACpE,CAAC;IAED,wBAAwB;IACjB,KAAK,CAAC,oBAAoB,CAAC,MAAe;QAC7C,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;IAC7D,CAAC;IAEM,KAAK,CAAC,kBAAkB,CAAC,SAAiB,EAAE,SAAiB,EAAE,OAAe,EAAE,MAAe;QAClG,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IAC1F,CAAC;IAEM,KAAK,CAAC,yBAAyB,CAAC,SAAiB,EAAE,SAAiB,EAAE,MAAe;QACxF,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,yBAAyB,CAAC,SAAS,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IACxF,CAAC;IAEM,KAAK,CAAC,sBAAsB,CAAC,SAAiB,EAAE,MAAe;QAClE,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,sBAAsB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAC1E,CAAC;IAED,0BAA0B;IACnB,KAAK,CAAC,WAAW,CAAC,SAAiB,EAAE,MAAe;QACvD,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAC/D,CAAC;IAEM,KAAK,CAAC,aAAa,CAAC,SAAiB,EAAE,MAAe;QACzD,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IACjE,CAAC;IAEM,KAAK,CAAC,gBAAgB,CAAC,MAAe;QACzC,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;IACzD,CAAC;IAEM,KAAK,CAAC,aAAa,CAAC,MAAe;QACtC,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IACxD,CAAC;IAEM,KAAK,CAAC,gBAAgB,CAAC,KAAa,EAAE,SAAiB,EAAE,IAAY,EAAE,MAAe;QACzF,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IACnF,CAAC;IAEM,KAAK,CAAC,mBAAmB,CAAC,KAAa,EAAE,SAAiB,EAAE,MAAe;QAC9E,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IAChF,CAAC;IAEM,KAAK,CAAC,kBAAkB,CAAC,MAAe;QAC3C,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;IAC3D,CAAC;IAEM,KAAK,CAAC,YAAY,CAAC,SAAiB,EAAE,MAAe;QACxD,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAChE,CAAC;IAED,sBAAsB;IACf,KAAK,CAAC,aAAa,CAAC,OAA6B;QACpD,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IACzD,CAAC;IAED,qBAAqB;IACd,KAAK,CAAC,eAAe,CAAC,MAAe;QACxC,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;IACzD,CAAC;IAEM,KAAK,CAAC,uBAAuB,CAAC,IAAqB,EAAE,MAAe,EAAE,IAAI,GAAG,CAAC,EAAE,QAAQ,GAAG,EAAE;QAChG,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,uBAAuB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;IACvF,CAAC;IAEM,KAAK,CAAC,iBAAiB,CAAC,MAAe;QAC1C,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAC3D,CAAC;IAEM,KAAK,CAAC,iBAAiB,CAAC,MAAe;QAC1C,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAC3D,CAAC;IAEM,KAAK,CAAC,gBAAgB,CAAC,MAAe;QACzC,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAC1D,CAAC;IAEM,KAAK,CAAC,WAAW,CAAC,MAAc,EAAE,MAAe;QACpD,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7D,CAAC;IAEM,KAAK,CAAC,aAAa,CAAC,MAAc,EAAE,MAAc,EAAE,MAAe;QACtE,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACvE,CAAC;IAEM,KAAK,CAAC,kBAAkB,CAAC,MAAe;QAC3C,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;IAC5D,CAAC;IAED,mFAAmF;IAC5E,KAAK,CAAC,aAAa,CAAC,SAAiB,EAAE,KAAe,EAAE,MAAe;QAC1E,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,SAAS,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IACxE,CAAC;IAED,qFAAqF;IAC9E,KAAK,CAAC,cAAc,CAAC,IAAY,EAAE,OAAgB,EAAE,MAAe;QACvE,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IACvE,CAAC;IAED,mBAAmB;IACZ,KAAK,CAAC,OAAO,CAAc,MAAsB;QACpD,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAI,MAAM,CAAC,CAAC;IACjD,CAAC;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACI,KAAK,CAAC,YAAY,CAAC,OASzB;QACG,MAAM,EACF,YAAY,EACZ,UAAU,GAAG,IAAI,EACjB,SAAS,GAAG,KAAK,EACjB,MAAM,EACN,UAAU,GAAG,EAAE,EACf,KAAK,GAAG,EAAE,EACV,IAAI,EACJ,QAAQ,GACX,GAAG,OAAO,CAAC;QAEZ,MAAM,aAAa,GAA2B,EAAE,GAAG,UAAU,EAAE,CAAC;QAChE,IAAI,UAAU,IAAI,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;YAClD,aAAa,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAC9D,CAAC;QAED,MAAM,YAAY,GAAG,YAAY,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,MAAM,EAAE,GAAW,EAAE,EAAE;YAC5E,MAAM,KAAK,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;YACjC,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,EAAE,EAAE,CAAC;gBACtC,MAAM,IAAI,KAAK,CAAC,oCAAoC,GAAG,mBAAmB,YAAY,GAAG,CAAC,CAAC;YAC/F,CAAC;YACD,OAAO,kBAAkB,CAAC,KAAK,CAAC,CAAC;QACrC,CAAC,CAAC,CAAC;QAEH,MAAM,cAAc,GAA4B,EAAE,GAAG,KAAK,EAAE,CAAC;QAC7D,IAAI,SAAS,EAAE,CAAC;YACZ,cAAc,CAAC,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC;YAChC,cAAc,CAAC,QAAQ,GAAG,QAAQ,IAAI,EAAE,CAAC;QAC7C,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;QACnD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAA4B,QAAQ,EAAE,cAAc,CAAC,CAAC;QAC7F,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IAChD,CAAC;IAED;;;;OAIG;IACK,cAAc,CAAC,YAAoB,EAAE,OAAO,GAAG,IAAI;QACvD,MAAM,UAAU,GAAG,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,YAAY,EAAE,CAAC;QACpF,OAAO,YAAY,OAAO,IAAI,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,UAAU,EAAE,CAAC;IACnF,CAAC;CACJ"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import type { RequestHandler } from './request.js';
|
|
2
|
+
import type { SiteOperations } from './site.js';
|
|
3
|
+
/** Omada group profile type for MAC groups (0 IP, 1 IP-port, 2 MAC, 3 IPv6, 4 IPv6-port). */
|
|
4
|
+
export declare const MAC_GROUP_TYPE = 2;
|
|
5
|
+
export interface MacGroupEntry {
|
|
6
|
+
ruleId?: number;
|
|
7
|
+
name: string;
|
|
8
|
+
macAddress: string;
|
|
9
|
+
}
|
|
10
|
+
/** A MAC group profile (Settings > Profiles > Groups > MAC Group), usable as an SSID allow or deny list. */
|
|
11
|
+
export interface MacGroup {
|
|
12
|
+
groupId: string;
|
|
13
|
+
name: string;
|
|
14
|
+
type: number;
|
|
15
|
+
count?: number;
|
|
16
|
+
buildIn?: boolean;
|
|
17
|
+
macAddressList?: MacGroupEntry[];
|
|
18
|
+
[field: string]: unknown;
|
|
19
|
+
}
|
|
20
|
+
export interface MacGroupChange {
|
|
21
|
+
group: {
|
|
22
|
+
groupId: string;
|
|
23
|
+
name: string;
|
|
24
|
+
};
|
|
25
|
+
mac: string;
|
|
26
|
+
action: 'added' | 'renamed' | 'unchanged' | 'removed' | 'not-present';
|
|
27
|
+
entries: {
|
|
28
|
+
before: number;
|
|
29
|
+
after: number;
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* MAC group profiles. Omada modifies a group as a whole (PATCH replaces the entry
|
|
34
|
+
* list), so adding, renaming or removing one entry is a read-modify-write. The
|
|
35
|
+
* group is re-read just before the write and the change is refused if anything
|
|
36
|
+
* else in it moved in the meantime (an outside writer, e.g. the web UI). Changes
|
|
37
|
+
* made through this server are serialized per site and group, so two concurrent
|
|
38
|
+
* calls cannot both pass that check and overwrite each other.
|
|
39
|
+
*
|
|
40
|
+
* Accepted limit: Omada offers no conditional update, so an outside edit to the
|
|
41
|
+
* same group landing between that last read and the PATCH is overwritten.
|
|
42
|
+
*/
|
|
43
|
+
export declare class MacGroupOperations {
|
|
44
|
+
private readonly request;
|
|
45
|
+
private readonly site;
|
|
46
|
+
private readonly buildPath;
|
|
47
|
+
constructor(request: RequestHandler, site: SiteOperations, buildPath: (path: string) => string);
|
|
48
|
+
/** OperationId: getGroupProfileListByType (type 2 = MAC group) */
|
|
49
|
+
listMacGroups(siteId?: string): Promise<MacGroup[]>;
|
|
50
|
+
/** Add an entry, or rename it if the MAC is already in the group. */
|
|
51
|
+
setMacGroupEntry(group: string, clientMac: string, name: string, siteId?: string): Promise<MacGroupChange>;
|
|
52
|
+
/** Remove the entry for a MAC from the group. */
|
|
53
|
+
removeMacGroupEntry(group: string, clientMac: string, siteId?: string): Promise<MacGroupChange>;
|
|
54
|
+
/** Find a MAC group by id or (case-insensitive) name. */
|
|
55
|
+
resolveGroup(groups: MacGroup[], group: string): MacGroup;
|
|
56
|
+
private modify;
|
|
57
|
+
private modifyLocked;
|
|
58
|
+
}
|