@coffeerunhobby/mcp-ha-connect 2.3.1 → 2.4.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/README.md +14 -1
- package/dist/omadaClient/accessControl.d.ts +290 -0
- package/dist/omadaClient/accessControl.js +511 -0
- package/dist/omadaClient/accessControl.js.map +1 -0
- package/dist/omadaClient/index.d.ts +3 -0
- package/dist/omadaClient/index.js +4 -0
- package/dist/omadaClient/index.js.map +1 -1
- package/dist/omadaClient/macGroups.d.ts +1 -1
- package/dist/omadaClient/macGroups.js +3 -17
- package/dist/omadaClient/macGroups.js.map +1 -1
- package/dist/omadaClient/request.d.ts +2 -1
- package/dist/omadaClient/request.js +3 -2
- package/dist/omadaClient/request.js.map +1 -1
- package/dist/omadaClient/serialize.d.ts +13 -0
- package/dist/omadaClient/serialize.js +29 -0
- package/dist/omadaClient/serialize.js.map +1 -0
- package/dist/omadaClient/timeRange.d.ts +41 -0
- package/dist/omadaClient/timeRange.js +109 -0
- package/dist/omadaClient/timeRange.js.map +1 -0
- package/dist/tools/omada/accessControl.d.ts +151 -0
- package/dist/tools/omada/accessControl.js +158 -0
- package/dist/tools/omada/accessControl.js.map +1 -0
- package/dist/tools/omada/index.js +3 -0
- package/dist/tools/omada/index.js.map +1 -1
- 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 +1 -1
|
@@ -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,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;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/omadaClient/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -34,7 +34,7 @@ export interface MacGroupChange {
|
|
|
34
34
|
* list), so adding, renaming or removing one entry is a read-modify-write. The
|
|
35
35
|
* group is re-read just before the write and the change is refused if anything
|
|
36
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
|
|
37
|
+
* made through this server are serialized per site, so two concurrent
|
|
38
38
|
* calls cannot both pass that check and overwrite each other.
|
|
39
39
|
*
|
|
40
40
|
* Accepted limit: Omada offers no conditional update, so an outside edit to the
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { formatMac, normalizeMac } from './client.js';
|
|
2
|
+
import { accessControlLockKey, serialize } from './serialize.js';
|
|
2
3
|
/** Omada group profile type for MAC groups (0 IP, 1 IP-port, 2 MAC, 3 IPv6, 4 IPv6-port). */
|
|
3
4
|
export const MAC_GROUP_TYPE = 2;
|
|
4
5
|
/**
|
|
@@ -6,7 +7,7 @@ export const MAC_GROUP_TYPE = 2;
|
|
|
6
7
|
* list), so adding, renaming or removing one entry is a read-modify-write. The
|
|
7
8
|
* group is re-read just before the write and the change is refused if anything
|
|
8
9
|
* else in it moved in the meantime (an outside writer, e.g. the web UI). Changes
|
|
9
|
-
* made through this server are serialized per site
|
|
10
|
+
* made through this server are serialized per site, so two concurrent
|
|
10
11
|
* calls cannot both pass that check and overwrite each other.
|
|
11
12
|
*
|
|
12
13
|
* Accepted limit: Omada offers no conditional update, so an outside edit to the
|
|
@@ -70,7 +71,7 @@ export class MacGroupOperations {
|
|
|
70
71
|
const resolvedSiteId = this.site.resolveSiteId(siteId);
|
|
71
72
|
// Resolve once to find the lock key; everything after runs under the lock.
|
|
72
73
|
const groupId = this.resolveGroup(await this.listMacGroups(resolvedSiteId), group).groupId;
|
|
73
|
-
return await serialize(
|
|
74
|
+
return await serialize(accessControlLockKey(resolvedSiteId), () => this.modifyLocked(resolvedSiteId, groupId, mac, change));
|
|
74
75
|
}
|
|
75
76
|
async modifyLocked(resolvedSiteId, groupId, mac, change) {
|
|
76
77
|
const target = this.resolveGroup(await this.listMacGroups(resolvedSiteId), groupId);
|
|
@@ -102,21 +103,6 @@ export class MacGroupOperations {
|
|
|
102
103
|
return result;
|
|
103
104
|
}
|
|
104
105
|
}
|
|
105
|
-
const locks = new Map();
|
|
106
|
-
/** Run `task` after every earlier task with the same key has settled. */
|
|
107
|
-
async function serialize(key, task) {
|
|
108
|
-
const previous = locks.get(key) ?? Promise.resolve();
|
|
109
|
-
const run = previous.then(task, task);
|
|
110
|
-
const settled = run.then(() => undefined, () => undefined);
|
|
111
|
-
locks.set(key, settled);
|
|
112
|
-
try {
|
|
113
|
-
return await run;
|
|
114
|
-
}
|
|
115
|
-
finally {
|
|
116
|
-
if (locks.get(key) === settled)
|
|
117
|
-
locks.delete(key);
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
106
|
/** Comparable form of an entry list (order, names and normalized MACs). */
|
|
121
107
|
function entryKey(entries) {
|
|
122
108
|
return entries.map((e) => [normalizeMac(e.macAddress), e.name]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"macGroups.js","sourceRoot":"","sources":["../../src/omadaClient/macGroups.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"macGroups.js","sourceRoot":"","sources":["../../src/omadaClient/macGroups.ts"],"names":[],"mappings":"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"}
|
|
@@ -48,7 +48,8 @@ export declare class RequestHandler {
|
|
|
48
48
|
*/
|
|
49
49
|
request<T>(config: RequestOptions, retry?: boolean): Promise<T>;
|
|
50
50
|
/**
|
|
51
|
-
* Fetch all pages of a paginated API endpoint.
|
|
51
|
+
* Fetch all pages of a paginated API endpoint. `params.pageSize` overrides the
|
|
52
|
+
* default for endpoints with a lower limit (the switch ACL list rejects 200).
|
|
52
53
|
*/
|
|
53
54
|
fetchPaginated<T>(path: string, params?: Record<string, unknown>): Promise<T[]>;
|
|
54
55
|
/**
|
|
@@ -170,7 +170,8 @@ export class RequestHandler {
|
|
|
170
170
|
}
|
|
171
171
|
}
|
|
172
172
|
/**
|
|
173
|
-
* Fetch all pages of a paginated API endpoint.
|
|
173
|
+
* Fetch all pages of a paginated API endpoint. `params.pageSize` overrides the
|
|
174
|
+
* default for endpoints with a lower limit (the switch ACL list rejects 200).
|
|
174
175
|
*/
|
|
175
176
|
async fetchPaginated(path, params = {}) {
|
|
176
177
|
const records = [];
|
|
@@ -179,9 +180,9 @@ export class RequestHandler {
|
|
|
179
180
|
// Fetch sequential pages because OpenAPI requires explicit pagination parameters.
|
|
180
181
|
do {
|
|
181
182
|
const response = await this.get(path, {
|
|
183
|
+
pageSize: DEFAULT_PAGE_SIZE,
|
|
182
184
|
...params,
|
|
183
185
|
page,
|
|
184
|
-
pageSize: DEFAULT_PAGE_SIZE,
|
|
185
186
|
});
|
|
186
187
|
const result = this.ensureSuccess(response);
|
|
187
188
|
const pageData = result.data ?? [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request.js","sourceRoot":"","sources":["../../src/omadaClient/request.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"request.js","sourceRoot":"","sources":["../../src/omadaClient/request.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Per-key serialization for read-modify-write changes on the controller. Omada
|
|
3
|
+
* replaces whole objects on update, so two changes to the same object made
|
|
4
|
+
* through this server must not interleave.
|
|
5
|
+
*/
|
|
6
|
+
/** Run `task` after every earlier task with the same key has settled. */
|
|
7
|
+
export declare function serialize<T>(key: string, task: () => Promise<T>): Promise<T>;
|
|
8
|
+
/**
|
|
9
|
+
* Lock key for every change to a site's access control objects: MAC group entries,
|
|
10
|
+
* groups, time ranges, DHCP reservations, gateway ACL rules and SSID MAC filters.
|
|
11
|
+
* They reference each other, so one lock per site keeps every check-then-write whole.
|
|
12
|
+
*/
|
|
13
|
+
export declare function accessControlLockKey(siteId: string): string;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Per-key serialization for read-modify-write changes on the controller. Omada
|
|
3
|
+
* replaces whole objects on update, so two changes to the same object made
|
|
4
|
+
* through this server must not interleave.
|
|
5
|
+
*/
|
|
6
|
+
const locks = new Map();
|
|
7
|
+
/** Run `task` after every earlier task with the same key has settled. */
|
|
8
|
+
export async function serialize(key, task) {
|
|
9
|
+
const previous = locks.get(key) ?? Promise.resolve();
|
|
10
|
+
const run = previous.then(task, task);
|
|
11
|
+
const settled = run.then(() => undefined, () => undefined);
|
|
12
|
+
locks.set(key, settled);
|
|
13
|
+
try {
|
|
14
|
+
return await run;
|
|
15
|
+
}
|
|
16
|
+
finally {
|
|
17
|
+
if (locks.get(key) === settled)
|
|
18
|
+
locks.delete(key);
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Lock key for every change to a site's access control objects: MAC group entries,
|
|
23
|
+
* groups, time ranges, DHCP reservations, gateway ACL rules and SSID MAC filters.
|
|
24
|
+
* They reference each other, so one lock per site keeps every check-then-write whole.
|
|
25
|
+
*/
|
|
26
|
+
export function accessControlLockKey(siteId) {
|
|
27
|
+
return `${siteId}/access-control`;
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=serialize.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"serialize.js","sourceRoot":"","sources":["../../src/omadaClient/serialize.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,KAAK,GAAG,IAAI,GAAG,EAA4B,CAAC;AAElD,yEAAyE;AACzE,MAAM,CAAC,KAAK,UAAU,SAAS,CAAI,GAAW,EAAE,IAAsB;IAClE,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IACrD,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACtC,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,CACpB,GAAG,EAAE,CAAC,SAAS,EACf,GAAG,EAAE,CAAC,SAAS,CAClB,CAAC;IACF,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IACxB,IAAI,CAAC;QACD,OAAO,MAAM,GAAG,CAAC;IACrB,CAAC;YAAS,CAAC;QACP,IAAI,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,OAAO;YAAE,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACtD,CAAC;AACL,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAAC,MAAc;IAC/C,OAAO,GAAG,MAAM,iBAAiB,CAAC;AACtC,CAAC"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Time-range profiles in a readable form. Omada stores a schedule as a day mode
|
|
3
|
+
* plus a list of {dayType, startTimeH/M, endTimeH/M} entries in 15-minute steps;
|
|
4
|
+
* tools take and return windows like {days: ['mon', 'tue'], start: '14:30', end: '19:00'}.
|
|
5
|
+
*/
|
|
6
|
+
export declare const DAYS: readonly ["mon", "tue", "wed", "thu", "fri", "sat", "sun"];
|
|
7
|
+
export type Day = (typeof DAYS)[number];
|
|
8
|
+
export interface TimeWindow {
|
|
9
|
+
days: Day[];
|
|
10
|
+
/** "HH:MM", minutes 00/15/30/45 */
|
|
11
|
+
start: string;
|
|
12
|
+
/** "HH:MM", minutes 00/15/30/45; "24:00" is the end of the day */
|
|
13
|
+
end: string;
|
|
14
|
+
}
|
|
15
|
+
export interface TimeRangeEntry {
|
|
16
|
+
dayType: number;
|
|
17
|
+
startTimeH: number;
|
|
18
|
+
startTimeM: number;
|
|
19
|
+
endTimeH: number;
|
|
20
|
+
endTimeM: number;
|
|
21
|
+
}
|
|
22
|
+
export interface TimeRangeBody {
|
|
23
|
+
name: string;
|
|
24
|
+
dayMode: number;
|
|
25
|
+
customDayMode?: Record<'dayMon' | 'dayTue' | 'dayWed' | 'dayThu' | 'dayFri' | 'daySat' | 'daySun', boolean>;
|
|
26
|
+
timeList: TimeRangeEntry[];
|
|
27
|
+
}
|
|
28
|
+
/** "14:30" -> 870. Only quarter hours, 00:00 to 24:00. */
|
|
29
|
+
export declare function parseTime(value: string): number;
|
|
30
|
+
export declare function formatTime(minutes: number): string;
|
|
31
|
+
/**
|
|
32
|
+
* Build the Omada body. With `invert`, the windows are the times to leave free
|
|
33
|
+
* and the profile covers every other time of the week (e.g. a curfew rule that
|
|
34
|
+
* should be active outside the allowed hours).
|
|
35
|
+
*/
|
|
36
|
+
export declare function buildTimeRange(name: string, windows: TimeWindow[], invert?: boolean): TimeRangeBody;
|
|
37
|
+
/** Readable windows of a stored profile, e.g. ["mon 00:00-14:30", ...]. */
|
|
38
|
+
export declare function describeTimeRange(profile: {
|
|
39
|
+
dayMode?: number;
|
|
40
|
+
timeList?: TimeRangeEntry[];
|
|
41
|
+
}): string[];
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Time-range profiles in a readable form. Omada stores a schedule as a day mode
|
|
3
|
+
* plus a list of {dayType, startTimeH/M, endTimeH/M} entries in 15-minute steps;
|
|
4
|
+
* tools take and return windows like {days: ['mon', 'tue'], start: '14:30', end: '19:00'}.
|
|
5
|
+
*/
|
|
6
|
+
export const DAYS = ['mon', 'tue', 'wed', 'thu', 'fri', 'sat', 'sun'];
|
|
7
|
+
/** Omada day modes: 0 every day, 1 weekdays, 2 weekend, 3 custom (per-day entries). */
|
|
8
|
+
const DAY_MODE_CUSTOM = 3;
|
|
9
|
+
const DAY_KEYS = ['dayMon', 'dayTue', 'dayWed', 'dayThu', 'dayFri', 'daySat', 'daySun'];
|
|
10
|
+
const DAY_END = 24 * 60;
|
|
11
|
+
/** "14:30" -> 870. Only quarter hours, 00:00 to 24:00. */
|
|
12
|
+
export function parseTime(value) {
|
|
13
|
+
const match = /^(\d{1,2}):(\d{2})$/.exec(value.trim());
|
|
14
|
+
if (!match)
|
|
15
|
+
throw new Error(`Time '${value}' must look like HH:MM`);
|
|
16
|
+
const minutes = Number(match[1]) * 60 + Number(match[2]);
|
|
17
|
+
if (Number(match[2]) % 15 !== 0 || Number(match[2]) > 45) {
|
|
18
|
+
throw new Error(`Time '${value}': Omada schedules use quarter hours (minutes 00, 15, 30 or 45)`);
|
|
19
|
+
}
|
|
20
|
+
if (minutes > DAY_END)
|
|
21
|
+
throw new Error(`Time '${value}' is past 24:00`);
|
|
22
|
+
return minutes;
|
|
23
|
+
}
|
|
24
|
+
export function formatTime(minutes) {
|
|
25
|
+
return `${String(Math.floor(minutes / 60)).padStart(2, '0')}:${String(minutes % 60).padStart(2, '0')}`;
|
|
26
|
+
}
|
|
27
|
+
/** Per-day sorted, merged [start, end) intervals in minutes. */
|
|
28
|
+
function intervalsByDay(windows) {
|
|
29
|
+
if (windows.length === 0)
|
|
30
|
+
throw new Error('At least one time window is required');
|
|
31
|
+
const byDay = new Map();
|
|
32
|
+
for (const w of windows) {
|
|
33
|
+
const start = parseTime(w.start);
|
|
34
|
+
const end = parseTime(w.end);
|
|
35
|
+
if (end <= start)
|
|
36
|
+
throw new Error(`Window ${w.start}-${w.end}: the end must be after the start (split windows that cross midnight)`);
|
|
37
|
+
if (w.days.length === 0)
|
|
38
|
+
throw new Error(`Window ${w.start}-${w.end} has no days`);
|
|
39
|
+
for (const day of w.days) {
|
|
40
|
+
const index = DAYS.indexOf(day);
|
|
41
|
+
if (index < 0)
|
|
42
|
+
throw new Error(`Unknown day '${day}'; use ${DAYS.join(', ')}`);
|
|
43
|
+
byDay.set(index + 1, [...(byDay.get(index + 1) ?? []), [start, end]]);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
for (const [day, list] of byDay) {
|
|
47
|
+
list.sort((a, b) => a[0] - b[0]);
|
|
48
|
+
const merged = [];
|
|
49
|
+
for (const [s, e] of list) {
|
|
50
|
+
const last = merged[merged.length - 1];
|
|
51
|
+
if (last && s <= last[1])
|
|
52
|
+
last[1] = Math.max(last[1], e);
|
|
53
|
+
else
|
|
54
|
+
merged.push([s, e]);
|
|
55
|
+
}
|
|
56
|
+
byDay.set(day, merged);
|
|
57
|
+
}
|
|
58
|
+
return byDay;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Build the Omada body. With `invert`, the windows are the times to leave free
|
|
62
|
+
* and the profile covers every other time of the week (e.g. a curfew rule that
|
|
63
|
+
* should be active outside the allowed hours).
|
|
64
|
+
*/
|
|
65
|
+
export function buildTimeRange(name, windows, invert = false) {
|
|
66
|
+
const given = intervalsByDay(windows);
|
|
67
|
+
const covered = new Map();
|
|
68
|
+
for (let day = 1; day <= 7; day++) {
|
|
69
|
+
const list = given.get(day) ?? [];
|
|
70
|
+
if (!invert) {
|
|
71
|
+
if (list.length)
|
|
72
|
+
covered.set(day, list);
|
|
73
|
+
continue;
|
|
74
|
+
}
|
|
75
|
+
const gaps = [];
|
|
76
|
+
let cursor = 0;
|
|
77
|
+
for (const [s, e] of list) {
|
|
78
|
+
if (s > cursor)
|
|
79
|
+
gaps.push([cursor, s]);
|
|
80
|
+
cursor = Math.max(cursor, e);
|
|
81
|
+
}
|
|
82
|
+
if (cursor < DAY_END)
|
|
83
|
+
gaps.push([cursor, DAY_END]);
|
|
84
|
+
if (gaps.length)
|
|
85
|
+
covered.set(day, gaps);
|
|
86
|
+
}
|
|
87
|
+
if (covered.size === 0)
|
|
88
|
+
throw new Error('The schedule covers no time at all (the windows leave every day free)');
|
|
89
|
+
const timeList = [];
|
|
90
|
+
for (const [day, list] of [...covered.entries()].sort((a, b) => a[0] - b[0])) {
|
|
91
|
+
for (const [s, e] of list) {
|
|
92
|
+
timeList.push({ dayType: day, startTimeH: Math.floor(s / 60), startTimeM: s % 60, endTimeH: Math.floor(e / 60), endTimeM: e % 60 });
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
const customDayMode = Object.fromEntries(DAY_KEYS.map((key, i) => [key, covered.has(i + 1)]));
|
|
96
|
+
return { name, dayMode: DAY_MODE_CUSTOM, customDayMode, timeList };
|
|
97
|
+
}
|
|
98
|
+
/** Readable windows of a stored profile, e.g. ["mon 00:00-14:30", ...]. */
|
|
99
|
+
export function describeTimeRange(profile) {
|
|
100
|
+
// Only the custom mode reads dayType as a weekday; the other modes name their days.
|
|
101
|
+
const label = (dayType) => {
|
|
102
|
+
const mode = profile.dayMode ?? 0;
|
|
103
|
+
if (mode !== DAY_MODE_CUSTOM)
|
|
104
|
+
return ['every day', 'weekdays', 'weekend'][mode] ?? `dayMode ${mode}`;
|
|
105
|
+
return dayType >= 1 && dayType <= 7 ? DAYS[dayType - 1] : `dayType ${dayType}`;
|
|
106
|
+
};
|
|
107
|
+
return (profile.timeList ?? []).map((t) => `${label(t.dayType)} ${formatTime(t.startTimeH * 60 + t.startTimeM)}-${formatTime(t.endTimeH * 60 + t.endTimeM)}`);
|
|
108
|
+
}
|
|
109
|
+
//# sourceMappingURL=timeRange.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"timeRange.js","sourceRoot":"","sources":["../../src/omadaClient/timeRange.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
import type { McpServer } from '@modelcontextprotocol/server';
|
|
2
|
+
import { z } from 'zod';
|
|
3
|
+
import type { OmadaClient } from '../../omadaClient/index.js';
|
|
4
|
+
export declare const createTimeRangeSchema: z.ZodObject<{
|
|
5
|
+
name: z.ZodString;
|
|
6
|
+
windows: z.ZodArray<z.ZodObject<{
|
|
7
|
+
days: z.ZodArray<z.ZodEnum<{
|
|
8
|
+
mon: "mon";
|
|
9
|
+
tue: "tue";
|
|
10
|
+
wed: "wed";
|
|
11
|
+
thu: "thu";
|
|
12
|
+
fri: "fri";
|
|
13
|
+
sat: "sat";
|
|
14
|
+
sun: "sun";
|
|
15
|
+
}>>;
|
|
16
|
+
start: z.ZodString;
|
|
17
|
+
end: z.ZodString;
|
|
18
|
+
}, z.core.$strip>>;
|
|
19
|
+
invertWindows: z.ZodOptional<z.ZodBoolean>;
|
|
20
|
+
siteId: z.ZodOptional<z.ZodString>;
|
|
21
|
+
}, z.core.$strip>;
|
|
22
|
+
export declare const updateTimeRangeSchema: z.ZodObject<{
|
|
23
|
+
profile: z.ZodString;
|
|
24
|
+
windows: z.ZodArray<z.ZodObject<{
|
|
25
|
+
days: z.ZodArray<z.ZodEnum<{
|
|
26
|
+
mon: "mon";
|
|
27
|
+
tue: "tue";
|
|
28
|
+
wed: "wed";
|
|
29
|
+
thu: "thu";
|
|
30
|
+
fri: "fri";
|
|
31
|
+
sat: "sat";
|
|
32
|
+
sun: "sun";
|
|
33
|
+
}>>;
|
|
34
|
+
start: z.ZodString;
|
|
35
|
+
end: z.ZodString;
|
|
36
|
+
}, z.core.$strip>>;
|
|
37
|
+
invertWindows: z.ZodOptional<z.ZodBoolean>;
|
|
38
|
+
name: z.ZodOptional<z.ZodString>;
|
|
39
|
+
siteId: z.ZodOptional<z.ZodString>;
|
|
40
|
+
}, z.core.$strip>;
|
|
41
|
+
export declare const deleteTimeRangeSchema: z.ZodObject<{
|
|
42
|
+
profile: z.ZodString;
|
|
43
|
+
siteId: z.ZodOptional<z.ZodString>;
|
|
44
|
+
}, z.core.$strip>;
|
|
45
|
+
export declare const createGroupSchema: z.ZodObject<{
|
|
46
|
+
name: z.ZodString;
|
|
47
|
+
type: z.ZodEnum<{
|
|
48
|
+
mac: "mac";
|
|
49
|
+
ip: "ip";
|
|
50
|
+
}>;
|
|
51
|
+
ips: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
52
|
+
macs: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
53
|
+
mac: z.ZodString;
|
|
54
|
+
name: z.ZodString;
|
|
55
|
+
}, z.core.$strip>>>;
|
|
56
|
+
siteId: z.ZodOptional<z.ZodString>;
|
|
57
|
+
}, z.core.$strip>;
|
|
58
|
+
export declare const deleteGroupSchema: z.ZodObject<{
|
|
59
|
+
group: z.ZodString;
|
|
60
|
+
type: z.ZodEnum<{
|
|
61
|
+
mac: "mac";
|
|
62
|
+
ip: "ip";
|
|
63
|
+
}>;
|
|
64
|
+
siteId: z.ZodOptional<z.ZodString>;
|
|
65
|
+
}, z.core.$strip>;
|
|
66
|
+
export declare const setDhcpReservationSchema: z.ZodObject<{
|
|
67
|
+
clientMac: z.ZodString;
|
|
68
|
+
ip: z.ZodString;
|
|
69
|
+
description: z.ZodOptional<z.ZodString>;
|
|
70
|
+
siteId: z.ZodOptional<z.ZodString>;
|
|
71
|
+
}, z.core.$strip>;
|
|
72
|
+
export declare const removeDhcpReservationSchema: z.ZodObject<{
|
|
73
|
+
clientMac: z.ZodString;
|
|
74
|
+
siteId: z.ZodOptional<z.ZodString>;
|
|
75
|
+
}, z.core.$strip>;
|
|
76
|
+
export declare const createGatewayAclSchema: z.ZodObject<{
|
|
77
|
+
description: z.ZodString;
|
|
78
|
+
policy: z.ZodEnum<{
|
|
79
|
+
allow: "allow";
|
|
80
|
+
deny: "deny";
|
|
81
|
+
}>;
|
|
82
|
+
source: z.ZodObject<{
|
|
83
|
+
type: z.ZodEnum<{
|
|
84
|
+
ssid: "ssid";
|
|
85
|
+
network: "network";
|
|
86
|
+
ipGroup: "ipGroup";
|
|
87
|
+
}>;
|
|
88
|
+
ids: z.ZodArray<z.ZodString>;
|
|
89
|
+
}, z.core.$strip>;
|
|
90
|
+
destination: z.ZodOptional<z.ZodObject<{
|
|
91
|
+
type: z.ZodEnum<{
|
|
92
|
+
network: "network";
|
|
93
|
+
ipGroup: "ipGroup";
|
|
94
|
+
}>;
|
|
95
|
+
ids: z.ZodArray<z.ZodString>;
|
|
96
|
+
}, z.core.$strip>>;
|
|
97
|
+
protocols: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
|
|
98
|
+
timeRange: z.ZodOptional<z.ZodString>;
|
|
99
|
+
enabled: z.ZodOptional<z.ZodBoolean>;
|
|
100
|
+
siteId: z.ZodOptional<z.ZodString>;
|
|
101
|
+
}, z.core.$strip>;
|
|
102
|
+
export declare const updateGatewayAclSchema: z.ZodObject<{
|
|
103
|
+
acl: z.ZodString;
|
|
104
|
+
description: z.ZodOptional<z.ZodString>;
|
|
105
|
+
policy: z.ZodOptional<z.ZodEnum<{
|
|
106
|
+
allow: "allow";
|
|
107
|
+
deny: "deny";
|
|
108
|
+
}>>;
|
|
109
|
+
source: z.ZodOptional<z.ZodObject<{
|
|
110
|
+
type: z.ZodEnum<{
|
|
111
|
+
ssid: "ssid";
|
|
112
|
+
network: "network";
|
|
113
|
+
ipGroup: "ipGroup";
|
|
114
|
+
}>;
|
|
115
|
+
ids: z.ZodArray<z.ZodString>;
|
|
116
|
+
}, z.core.$strip>>;
|
|
117
|
+
destination: z.ZodOptional<z.ZodObject<{
|
|
118
|
+
type: z.ZodEnum<{
|
|
119
|
+
network: "network";
|
|
120
|
+
ipGroup: "ipGroup";
|
|
121
|
+
}>;
|
|
122
|
+
ids: z.ZodArray<z.ZodString>;
|
|
123
|
+
}, z.core.$strip>>;
|
|
124
|
+
protocols: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
|
|
125
|
+
timeRange: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
126
|
+
enabled: z.ZodOptional<z.ZodBoolean>;
|
|
127
|
+
siteId: z.ZodOptional<z.ZodString>;
|
|
128
|
+
}, z.core.$strip>;
|
|
129
|
+
export declare const deleteGatewayAclSchema: z.ZodObject<{
|
|
130
|
+
acl: z.ZodString;
|
|
131
|
+
siteId: z.ZodOptional<z.ZodString>;
|
|
132
|
+
}, z.core.$strip>;
|
|
133
|
+
export declare const moveGatewayAclSchema: z.ZodObject<{
|
|
134
|
+
acl: z.ZodString;
|
|
135
|
+
position: z.ZodNumber;
|
|
136
|
+
siteId: z.ZodOptional<z.ZodString>;
|
|
137
|
+
}, z.core.$strip>;
|
|
138
|
+
export declare const setSsidMacFilterSchema: z.ZodObject<{
|
|
139
|
+
ssid: z.ZodString;
|
|
140
|
+
enabled: z.ZodBoolean;
|
|
141
|
+
policy: z.ZodOptional<z.ZodEnum<{
|
|
142
|
+
allow: "allow";
|
|
143
|
+
deny: "deny";
|
|
144
|
+
}>>;
|
|
145
|
+
group: z.ZodOptional<z.ZodString>;
|
|
146
|
+
dryRun: z.ZodOptional<z.ZodBoolean>;
|
|
147
|
+
allowLockout: z.ZodOptional<z.ZodBoolean>;
|
|
148
|
+
siteId: z.ZodOptional<z.ZodString>;
|
|
149
|
+
}, z.core.$strip>;
|
|
150
|
+
/** Controller-side access control tools: schedules, groups, reservations, gateway ACLs, SSID MAC filter. */
|
|
151
|
+
export declare function registerOmadaAccessControlTools(server: McpServer, client: OmadaClient, mode?: 'eager' | 'graph'): number;
|