@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.
Files changed (281) hide show
  1. package/.env.example +1 -1
  2. package/README.md +11 -2
  3. package/dist/omadaClient/client.d.ts +6 -1
  4. package/dist/omadaClient/client.js +12 -1
  5. package/dist/omadaClient/client.js.map +1 -1
  6. package/dist/omadaClient/diagnose.d.ts +68 -0
  7. package/dist/omadaClient/diagnose.js +164 -0
  8. package/dist/omadaClient/diagnose.js.map +1 -0
  9. package/dist/omadaClient/index.d.ts +6 -0
  10. package/dist/omadaClient/index.js +15 -0
  11. package/dist/omadaClient/index.js.map +1 -1
  12. package/dist/omadaClient/macGroups.d.ts +58 -0
  13. package/dist/omadaClient/macGroups.js +124 -0
  14. package/dist/omadaClient/macGroups.js.map +1 -0
  15. package/dist/tools/infra/actions.d.ts +1 -1
  16. package/dist/tools/infra/actions.js +1 -1
  17. package/dist/tools/omada/index.js +6 -0
  18. package/dist/tools/omada/index.js.map +1 -1
  19. package/dist/tools/omada/macGroups.d.ts +19 -0
  20. package/dist/tools/omada/macGroups.js +77 -0
  21. package/dist/tools/omada/macGroups.js.map +1 -0
  22. package/dist/tools/omada/namespace.js +8 -0
  23. package/dist/tools/omada/namespace.js.map +1 -1
  24. package/dist/version.d.ts +1 -1
  25. package/dist/version.js +1 -1
  26. package/package.json +5 -1
  27. package/.codex/review-rules.md +0 -16
  28. package/.dockerignore +0 -8
  29. package/.gitattributes +0 -30
  30. package/.github/workflows/ci.yml +0 -193
  31. package/AGENTS.md +0 -389
  32. package/Dockerfile +0 -50
  33. package/docker-compose.yml +0 -23
  34. package/docs/CHANGELOG.md +0 -341
  35. package/docs/COVERAGE.md +0 -219
  36. package/docs/QUICK_START.md +0 -240
  37. package/eslint.config.js +0 -33
  38. package/n8n/ai-agent-safety-monitor.json +0 -355
  39. package/openapi.json +0 -1259
  40. package/scripts/check-version-sync.mjs +0 -69
  41. package/scripts/generate-jwt.ts +0 -121
  42. package/src/config.ts +0 -440
  43. package/src/haClient/automations.ts +0 -261
  44. package/src/haClient/calendars.ts +0 -94
  45. package/src/haClient/config.ts +0 -52
  46. package/src/haClient/devices.ts +0 -653
  47. package/src/haClient/entities.ts +0 -128
  48. package/src/haClient/events.ts +0 -689
  49. package/src/haClient/history.ts +0 -73
  50. package/src/haClient/index.ts +0 -336
  51. package/src/haClient/request.ts +0 -142
  52. package/src/haClient/services.ts +0 -45
  53. package/src/haClient/states.ts +0 -60
  54. package/src/haClient/updates.ts +0 -58
  55. package/src/haClient/wsCommand.ts +0 -44
  56. package/src/index.ts +0 -164
  57. package/src/localAI/index.ts +0 -88
  58. package/src/localAI/prompts.ts +0 -50
  59. package/src/localAI/providers/base.ts +0 -120
  60. package/src/localAI/providers/ollama.ts +0 -78
  61. package/src/localAI/providers/openai.ts +0 -86
  62. package/src/localAI/types.ts +0 -67
  63. package/src/omadaClient/auth.ts +0 -178
  64. package/src/omadaClient/client.ts +0 -337
  65. package/src/omadaClient/device.ts +0 -118
  66. package/src/omadaClient/index.ts +0 -310
  67. package/src/omadaClient/network.ts +0 -284
  68. package/src/omadaClient/request.ts +0 -365
  69. package/src/omadaClient/security.ts +0 -51
  70. package/src/omadaClient/site.ts +0 -344
  71. package/src/ownerQuestions/service.ts +0 -536
  72. package/src/permissions/index.ts +0 -143
  73. package/src/resources/index.ts +0 -213
  74. package/src/server/auth.ts +0 -175
  75. package/src/server/chatFace.ts +0 -789
  76. package/src/server/chatSlice.ts +0 -57
  77. package/src/server/common.ts +0 -170
  78. package/src/server/eventSubscription.ts +0 -343
  79. package/src/server/http.ts +0 -626
  80. package/src/server/instructions.ts +0 -97
  81. package/src/server/rateLimiter.ts +0 -227
  82. package/src/server/stdio.ts +0 -41
  83. package/src/server/stream.ts +0 -205
  84. package/src/tools/ai/analyzeSensors.ts +0 -33
  85. package/src/tools/ai/index.ts +0 -20
  86. package/src/tools/common.ts +0 -442
  87. package/src/tools/homeassistant/askOwner.ts +0 -133
  88. package/src/tools/homeassistant/automationControls.ts +0 -66
  89. package/src/tools/homeassistant/calendar.ts +0 -97
  90. package/src/tools/homeassistant/callService.ts +0 -25
  91. package/src/tools/homeassistant/controlClimate.ts +0 -68
  92. package/src/tools/homeassistant/controlCover.ts +0 -48
  93. package/src/tools/homeassistant/controlFan.ts +0 -44
  94. package/src/tools/homeassistant/controlLight.ts +0 -38
  95. package/src/tools/homeassistant/controlMediaPlayer.ts +0 -50
  96. package/src/tools/homeassistant/createAutomation.ts +0 -35
  97. package/src/tools/homeassistant/deleteAutomation.ts +0 -24
  98. package/src/tools/homeassistant/entityAction.ts +0 -35
  99. package/src/tools/homeassistant/entityGuard.ts +0 -28
  100. package/src/tools/homeassistant/getAllSensors.ts +0 -46
  101. package/src/tools/homeassistant/getAutomationTrace.ts +0 -30
  102. package/src/tools/homeassistant/getDomainSummary.ts +0 -29
  103. package/src/tools/homeassistant/getEntitiesByDomain.ts +0 -56
  104. package/src/tools/homeassistant/getHistory.ts +0 -24
  105. package/src/tools/homeassistant/getState.ts +0 -24
  106. package/src/tools/homeassistant/getStates.ts +0 -46
  107. package/src/tools/homeassistant/getVersion.ts +0 -21
  108. package/src/tools/homeassistant/index.ts +0 -121
  109. package/src/tools/homeassistant/listAutomations.ts +0 -35
  110. package/src/tools/homeassistant/listEntities.ts +0 -44
  111. package/src/tools/homeassistant/listPersons.ts +0 -46
  112. package/src/tools/homeassistant/sceneAndScript.ts +0 -53
  113. package/src/tools/homeassistant/searchEntities.ts +0 -58
  114. package/src/tools/homeassistant/sendNotification.ts +0 -179
  115. package/src/tools/homeassistant/systemTools.ts +0 -52
  116. package/src/tools/homeassistant/triggerAutomation.ts +0 -24
  117. package/src/tools/index.ts +0 -78
  118. package/src/tools/infra/actions.ts +0 -95
  119. package/src/tools/infra/index.ts +0 -138
  120. package/src/tools/omada/blockClient.ts +0 -28
  121. package/src/tools/omada/cyclePoePort.ts +0 -32
  122. package/src/tools/omada/deleteClient.ts +0 -27
  123. package/src/tools/omada/disableClientRateLimit.ts +0 -23
  124. package/src/tools/omada/getClient.ts +0 -14
  125. package/src/tools/omada/getDevice.ts +0 -14
  126. package/src/tools/omada/getFirewallSetting.ts +0 -14
  127. package/src/tools/omada/getInternetInfo.ts +0 -14
  128. package/src/tools/omada/getLanNetworkList.ts +0 -14
  129. package/src/tools/omada/getLanProfileList.ts +0 -14
  130. package/src/tools/omada/getPortForwardingStatus.ts +0 -26
  131. package/src/tools/omada/getRateLimitProfiles.ts +0 -14
  132. package/src/tools/omada/getSiteNtpStatus.ts +0 -14
  133. package/src/tools/omada/getSsidDetail.ts +0 -22
  134. package/src/tools/omada/getSsidList.ts +0 -21
  135. package/src/tools/omada/getSwitchStackDetail.ts +0 -14
  136. package/src/tools/omada/getThreatList.ts +0 -42
  137. package/src/tools/omada/getWlanGroupList.ts +0 -14
  138. package/src/tools/omada/graph.ts +0 -187
  139. package/src/tools/omada/index.ts +0 -153
  140. package/src/tools/omada/listBlockedClients.ts +0 -17
  141. package/src/tools/omada/listClients.ts +0 -14
  142. package/src/tools/omada/listClientsActivity.ts +0 -25
  143. package/src/tools/omada/listClientsPastConnections.ts +0 -44
  144. package/src/tools/omada/listDevices.ts +0 -14
  145. package/src/tools/omada/listDevicesStats.ts +0 -41
  146. package/src/tools/omada/listMostActiveClients.ts +0 -14
  147. package/src/tools/omada/listSites.ts +0 -18
  148. package/src/tools/omada/namespace.ts +0 -1164
  149. package/src/tools/omada/searchDevices.ts +0 -20
  150. package/src/tools/omada/setClientRateLimit.ts +0 -26
  151. package/src/tools/omada/setClientRateLimitProfile.ts +0 -25
  152. package/src/tools/omada/setSiteNtpServers.ts +0 -36
  153. package/src/tools/omada/setSsidEnabled.ts +0 -38
  154. package/src/tools/omada/unblockClient.ts +0 -26
  155. package/src/tools/types.ts +0 -11
  156. package/src/tools/utils/pagination-schema.ts +0 -27
  157. package/src/types/ai/index.ts +0 -11
  158. package/src/types/ai/types.ts +0 -67
  159. package/src/types/homeassistant/automations.ts +0 -43
  160. package/src/types/homeassistant/calendars.ts +0 -26
  161. package/src/types/homeassistant/config.ts +0 -14
  162. package/src/types/homeassistant/entities.ts +0 -14
  163. package/src/types/homeassistant/errors.ts +0 -33
  164. package/src/types/homeassistant/haConfig.ts +0 -7
  165. package/src/types/homeassistant/history.ts +0 -13
  166. package/src/types/homeassistant/index.ts +0 -46
  167. package/src/types/homeassistant/request.ts +0 -6
  168. package/src/types/homeassistant/serviceCall.ts +0 -18
  169. package/src/types/homeassistant/states.ts +0 -58
  170. package/src/types/homeassistant/updates.ts +0 -28
  171. package/src/types/index.ts +0 -12
  172. package/src/types/omada/activeClientInfo.ts +0 -17
  173. package/src/types/omada/clientActivity.ts +0 -32
  174. package/src/types/omada/clientBlockStatus.ts +0 -11
  175. package/src/types/omada/clientPastConnection.ts +0 -82
  176. package/src/types/omada/index.ts +0 -14
  177. package/src/types/omada/omadaApiResponse.ts +0 -5
  178. package/src/types/omada/omadaClientInfo.ts +0 -11
  179. package/src/types/omada/omadaDeviceInfo.ts +0 -11
  180. package/src/types/omada/omadaDeviceStats.ts +0 -31
  181. package/src/types/omada/omadaSiteSummary.ts +0 -5
  182. package/src/types/omada/oswStackDetail.ts +0 -11
  183. package/src/types/omada/paginatedResult.ts +0 -6
  184. package/src/types/omada/rateLimitProfile.ts +0 -58
  185. package/src/types/omada/threatInfo.ts +0 -38
  186. package/src/types/omada/tokenResult.ts +0 -6
  187. package/src/types.ts +0 -2
  188. package/src/utils/config-validations.ts +0 -68
  189. package/src/utils/jwt.ts +0 -112
  190. package/src/utils/logger.ts +0 -121
  191. package/src/utils/plainText.ts +0 -48
  192. package/src/utils/redact.ts +0 -59
  193. package/src/utils/sanitizeError.ts +0 -18
  194. package/src/utils/tlsDispatcher.ts +0 -69
  195. package/src/version.ts +0 -5
  196. package/tests/bdd/automation-creation.spec.ts +0 -214
  197. package/tests/bdd/automation-management.spec.ts +0 -267
  198. package/tests/bdd/calendar.spec.ts +0 -190
  199. package/tests/bdd/configuration.spec.ts +0 -283
  200. package/tests/bdd/device-control.spec.ts +0 -344
  201. package/tests/bdd/entity-listing.spec.ts +0 -208
  202. package/tests/bdd/entity-search.spec.ts +0 -183
  203. package/tests/bdd/history-retrieval.spec.ts +0 -195
  204. package/tests/bdd/notifications.spec.ts +0 -238
  205. package/tests/bdd/service-calls.spec.ts +0 -144
  206. package/tests/bdd/state-retrieval.spec.ts +0 -204
  207. package/tests/bench/hotpaths.bench.ts +0 -68
  208. package/tests/config.test.ts +0 -355
  209. package/tests/features/automation-creation.feature +0 -36
  210. package/tests/features/automation-management.feature +0 -54
  211. package/tests/features/calendar.feature +0 -37
  212. package/tests/features/configuration.feature +0 -70
  213. package/tests/features/device-control.feature +0 -100
  214. package/tests/features/entity-listing.feature +0 -51
  215. package/tests/features/entity-search.feature +0 -44
  216. package/tests/features/history-retrieval.feature +0 -38
  217. package/tests/features/notifications.feature +0 -37
  218. package/tests/features/service-calls.feature +0 -35
  219. package/tests/features/state-retrieval.feature +0 -37
  220. package/tests/fixtures/openapi-default-slice.json +0 -290
  221. package/tests/haClient/automationTrace.test.ts +0 -59
  222. package/tests/haClient/automations.test.ts +0 -149
  223. package/tests/haClient/config.test.ts +0 -117
  224. package/tests/haClient/entities.test.ts +0 -188
  225. package/tests/haClient/events.test.ts +0 -455
  226. package/tests/haClient/eventsTls.test.ts +0 -52
  227. package/tests/haClient/history.test.ts +0 -228
  228. package/tests/haClient/index.test.ts +0 -243
  229. package/tests/haClient/request.test.ts +0 -217
  230. package/tests/haClient/services.test.ts +0 -120
  231. package/tests/haClient/states.test.ts +0 -119
  232. package/tests/haClient/updates.test.ts +0 -193
  233. package/tests/index.test.ts +0 -160
  234. package/tests/integration/homeassistant.test.ts +0 -144
  235. package/tests/integration/omada.test.ts +0 -167
  236. package/tests/integration/server.test.ts +0 -151
  237. package/tests/localAI/index.test.ts +0 -177
  238. package/tests/localAI/ollama.test.ts +0 -187
  239. package/tests/localAI/openai.test.ts +0 -257
  240. package/tests/omadaClient/actions.test.ts +0 -161
  241. package/tests/omadaClient/clientBlocks.test.ts +0 -170
  242. package/tests/omadaClient/ntp.test.ts +0 -381
  243. package/tests/omadaClient/site.test.ts +0 -37
  244. package/tests/ownerQuestions/service.test.ts +0 -499
  245. package/tests/ownerQuestions/tools.test.ts +0 -186
  246. package/tests/permissions/index.test.ts +0 -217
  247. package/tests/resources/index.test.ts +0 -288
  248. package/tests/scripts/generateJwt.test.ts +0 -44
  249. package/tests/security/accessControl.test.ts +0 -223
  250. package/tests/security/authentication.test.ts +0 -117
  251. package/tests/security/configuration.test.ts +0 -170
  252. package/tests/security/cryptoTransport.test.ts +0 -172
  253. package/tests/security/dependencies.test.ts +0 -152
  254. package/tests/security/injection.test.ts +0 -117
  255. package/tests/security/insecureDesign.test.ts +0 -121
  256. package/tests/security/logging.test.ts +0 -131
  257. package/tests/security/resourceConsumption.test.ts +0 -142
  258. package/tests/server/auth.test.ts +0 -249
  259. package/tests/server/chatFace.test.ts +0 -320
  260. package/tests/server/common.test.ts +0 -84
  261. package/tests/server/http.test.ts +0 -561
  262. package/tests/server/instructions.test.ts +0 -152
  263. package/tests/server/memoizeJsonSchema.test.ts +0 -71
  264. package/tests/server/stdio.test.ts +0 -99
  265. package/tests/server/stream.test.ts +0 -285
  266. package/tests/server/toolVisibility.http.test.ts +0 -111
  267. package/tests/server/toolVisibility.test.ts +0 -129
  268. package/tests/tools/ai/analyzeSensors.test.ts +0 -227
  269. package/tests/tools/common.test.ts +0 -123
  270. package/tests/tools/homeassistant/handlers.test.ts +0 -872
  271. package/tests/tools/infra/invokeAction.test.ts +0 -280
  272. package/tests/tools/omada/graph.test.ts +0 -385
  273. package/tests/tools/omada/handlers.test.ts +0 -897
  274. package/tests/tools/omada/namespace.test.ts +0 -483
  275. package/tests/tools/registry.test.ts +0 -168
  276. package/tests/utils/config-validations.test.ts +0 -352
  277. package/tests/utils/jwt.test.ts +0 -115
  278. package/tests/utils/logger.test.ts +0 -327
  279. package/tests/utils/redact.test.ts +0 -105
  280. package/tsconfig.json +0 -24
  281. 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=192.168.0.18:3000,mcp.example.com
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 (32)
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://192.168.0.1:8043`) |
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
- /** "4c:1d:96:8d:37:c7", "4C-1D-96-8D-37-C7" and "4c1d968d37c7" compare equal. */
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
- /** "4c:1d:96:8d:37:c7", "4C-1D-96-8D-37-C7" and "4c1d968d37c7" compare equal. */
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":"AAeA,OAAO,EAAE,aAAa,EAAuB,MAAM,cAAc,CAAC;AAGlE;;GAEG;AACH,MAAM,OAAO,gBAAgB;IAEJ;IACA;IACA;IAHrB,YACqB,OAAuB,EACvB,IAAoB,EACpB,SAAmC;QAFnC,YAAO,GAAP,OAAO,CAAgB;QACvB,SAAI,GAAJ,IAAI,CAAgB;QACpB,cAAS,GAAT,SAAS,CAA0B;IACrD,CAAC;IAEJ;;OAEG;IACI,KAAK,CAAC,WAAW,CAAC,MAAe;QACpC,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QACvD,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,cAAc,CAAkB,IAAI,CAAC,SAAS,CAAC,UAAU,kBAAkB,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC;IACtI,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,SAAS,CAAC,UAAkB,EAAE,MAAe;QACtD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAC/C,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,KAAK,UAAU,IAAI,MAAM,CAAC,EAAE,KAAK,UAAU,CAAC,CAAC;IAC3F,CAAC;IAED;;;;;;OAMG;IACI,KAAK,CAAC,qBAAqB,CAAC,MAAe;QAC9C,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QACvD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CACnC,IAAI,CAAC,SAAS,CAAC,UAAU,kBAAkB,CAAC,cAAc,CAAC,2BAA2B,CAAC,CAC1F,CAAC;QACF,OAAO,QAAQ,CAAC,MAAM,IAAI,EAAE,CAAC;IACjC,CAAC;IAED;;;;;;OAMG;IACI,KAAK,CAAC,mBAAmB,CAAC,UAAoC,EAAE;QACnE,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC/D,MAAM,MAAM,GAA4B,EAAE,CAAC;QAE3C,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAC9B,MAAM,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QACjC,CAAC;QACD,IAAI,OAAO,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;YAC5B,MAAM,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;QAC7B,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CACnC,IAAI,CAAC,SAAS,CAAC,UAAU,kBAAkB,CAAC,cAAc,CAAC,4BAA4B,CAAC,EACxF,MAAM,CACT,CAAC;QACF,OAAO,QAAQ,CAAC,MAAM,IAAI,EAAE,CAAC;IACjC,CAAC;IAED;;;;;;OAMG;IACI,KAAK,CAAC,0BAA0B,CAAC,OAA0C;QAC9E,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC/D,MAAM,MAAM,GAA4B;YACpC,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,QAAQ,EAAE,OAAO,CAAC,QAAQ;SAC7B,CAAC;QAEF,8BAA8B;QAC9B,IAAI,OAAO,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;YACrC,MAAM,CAAC,gBAAgB,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC;QACpD,CAAC;QAED,iCAAiC;QACjC,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YAClC,MAAM,CAAC,mBAAmB,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC5D,CAAC;QACD,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YAChC,MAAM,CAAC,iBAAiB,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACxD,CAAC;QACD,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAC9B,MAAM,CAAC,eAAe,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACpD,CAAC;QAED,gCAAgC;QAChC,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YAClC,MAAM,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QACzC,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CACnC,IAAI,CAAC,SAAS,CAAC,UAAU,kBAAkB,CAAC,cAAc,CAAC,0BAA0B,CAAC,EACtF,MAAM,CACT,CAAC;QAEF,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QACpD,OAAO,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;IAC7B,CAAC;IAED;;;;;;OAMG;IACI,KAAK,CAAC,oBAAoB,CAAC,MAAe;QAC7C,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QACvD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CACnC,IAAI,CAAC,SAAS,CAAC,UAAU,kBAAkB,CAAC,cAAc,CAAC,sBAAsB,CAAC,CACrF,CAAC;QACF,OAAO,QAAQ,CAAC,MAAM,IAAI,EAAE,CAAC;IACjC,CAAC;IAED;;;;;;;;;OASG;IACI,KAAK,CAAC,kBAAkB,CAAC,SAAiB,EAAE,SAAiB,EAAE,OAAe,EAAE,MAAe;QAClG,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QACvD,MAAM,WAAW,GAAiC;YAC9C,IAAI,EAAE,CAAC,EAAE,wBAAwB;YACjC,eAAe,EAAE;gBACb,MAAM,EAAE,IAAI;gBACZ,QAAQ,EAAE,IAAI;gBACd,OAAO,EAAE,OAAO;gBAChB,UAAU,EAAE,IAAI;gBAChB,SAAS,EAAE,SAAS;aACvB;SACJ,CAAC;QAEF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CACrC,IAAI,CAAC,SAAS,CAAC,UAAU,kBAAkB,CAAC,cAAc,CAAC,YAAY,kBAAkB,CAAC,SAAS,CAAC,YAAY,CAAC,EACjH,WAAW,CACd,CAAC;QACF,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IAChD,CAAC;IAED;;;;;;;;OAQG;IACI,KAAK,CAAC,yBAAyB,CAAC,SAAiB,EAAE,SAAiB,EAAE,MAAe;QACxF,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QACvD,MAAM,WAAW,GAAiC;YAC9C,IAAI,EAAE,CAAC,EAAE,6BAA6B;YACtC,kBAAkB,EAAE,SAAS;SAChC,CAAC;QAEF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CACrC,IAAI,CAAC,SAAS,CAAC,UAAU,kBAAkB,CAAC,cAAc,CAAC,YAAY,kBAAkB,CAAC,SAAS,CAAC,YAAY,CAAC,EACjH,WAAW,CACd,CAAC;QACF,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IAChD,CAAC;IAED;;;;;;;OAOG;IACI,KAAK,CAAC,sBAAsB,CAAC,SAAiB,EAAE,MAAe;QAClE,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAEvD,yFAAyF;QACzF,MAAM,WAAW,GAAiC;YAC9C,IAAI,EAAE,CAAC;YACP,eAAe,EAAE;gBACb,MAAM,EAAE,KAAK;gBACb,QAAQ,EAAE,KAAK;gBACf,OAAO,EAAE,CAAC;gBACV,UAAU,EAAE,KAAK;gBACjB,SAAS,EAAE,CAAC;aACf;SACJ,CAAC;QAEF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CACrC,IAAI,CAAC,SAAS,CAAC,UAAU,kBAAkB,CAAC,cAAc,CAAC,YAAY,kBAAkB,CAAC,SAAS,CAAC,YAAY,CAAC,EACjH,WAAW,CACd,CAAC;QACF,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IAChD,CAAC;IAED;;;;;;;OAOG;IACI,KAAK,CAAC,WAAW,CAAC,SAAiB,EAAE,MAAe;QACvD,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QACvD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CACpC,IAAI,CAAC,SAAS,CAAC,UAAU,kBAAkB,CAAC,cAAc,CAAC,YAAY,kBAAkB,CAAC,SAAS,CAAC,QAAQ,CAAC,CAChH,CAAC;QACF,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QACrC,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IACrE,CAAC;IAED;;;;;;OAMG;IACI,KAAK,CAAC,aAAa,CAAC,SAAiB,EAAE,MAAe;QACzD,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QACvD,IAAI,CAAC;YACD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CACpC,IAAI,CAAC,SAAS,CAAC,UAAU,kBAAkB,CAAC,cAAc,CAAC,YAAY,kBAAkB,CAAC,SAAS,CAAC,UAAU,CAAC,CAClH,CAAC;YACF,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;YACrC,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;QACtE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,wEAAwE;YACxE,IAAI,CAAC,CAAC,KAAK,YAAY,aAAa,CAAC,IAAI,KAAK,CAAC,SAAS,KAAK,qBAAqB,EAAE,CAAC;gBACjF,MAAM,KAAK,CAAC;YAChB,CAAC;QACL,CAAC;QACD,yEAAyE;QACzE,wEAAwE;QACxE,0EAA0E;QAC1E,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;QACpE,wEAAwE;QACxE,sCAAsC;QACtC,IAAI,KAAK,EAAE,KAAK,KAAK,KAAK,EAAE,CAAC;YACzB,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;QACtE,CAAC;QACD,MAAM,IAAI,KAAK,CACX,KAAK;YACD,CAAC,CAAC,8BAA8B,SAAS,6EAA6E;gBACpH,0GAA0G;YAC5G,CAAC,CAAC,0BAA0B,SAAS,mEAAmE;gBACtG,gHAAgH,CACzH,CAAC;IACN,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,gBAAgB,CAAC,MAAe;QACzC,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QACvD,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,cAAc,CACpC,IAAI,CAAC,SAAS,CAAC,UAAU,kBAAkB,CAAC,cAAc,CAAC,kBAAkB,CAAC,CACjF,CAAC;IACN,CAAC;IAED,gDAAgD;IACzC,KAAK,CAAC,kBAAkB,CAAC,MAAe;QAC3C,OAAO,CAAC,MAAM,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC;IAC3F,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,YAAY,CAAC,SAAiB,EAAE,MAAe;QACxD,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QACvD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAA4B;YACnE,MAAM,EAAE,QAAQ;YAChB,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,kBAAkB,CAAC,cAAc,CAAC,YAAY,kBAAkB,CAAC,SAAS,CAAC,EAAE,CAAC;SAC/G,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QACrC,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IACrE,CAAC;IAEO,KAAK,CAAC,eAAe,CAAC,SAAiB,EAAE,MAAc;QAC3D,MAAM,MAAM,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;QACvC,OAAO,CAAC,MAAM,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,MAAM,CAAC,CAAC;IACvG,CAAC;CACJ;AAED,sDAAsD;AACtD,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,KAAK,CAAC;AAa5C,iFAAiF;AACjF,MAAM,UAAU,YAAY,CAAC,GAAW;IACpC,OAAO,GAAG,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;AACxD,CAAC"}
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":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/omadaClient/index.ts"],"names":[],"mappings":"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"}
@@ -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
+ }