@davidfuchs/mcp-uptime-kuma 0.7.0 → 0.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,26 @@
1
+ import { z } from 'zod';
2
+ /**
3
+ * Docker host (docker daemon connection) configuration schema
4
+ * Used by monitors of type "docker" to specify which daemon to query.
5
+ */
6
+ export declare const DockerHostSchema: z.ZodObject<{
7
+ id: z.ZodOptional<z.ZodNumber>;
8
+ userID: z.ZodOptional<z.ZodNumber>;
9
+ name: z.ZodOptional<z.ZodString>;
10
+ dockerType: z.ZodOptional<z.ZodEnum<["socket", "tcp"]>>;
11
+ dockerDaemon: z.ZodOptional<z.ZodString>;
12
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
13
+ id: z.ZodOptional<z.ZodNumber>;
14
+ userID: z.ZodOptional<z.ZodNumber>;
15
+ name: z.ZodOptional<z.ZodString>;
16
+ dockerType: z.ZodOptional<z.ZodEnum<["socket", "tcp"]>>;
17
+ dockerDaemon: z.ZodOptional<z.ZodString>;
18
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
19
+ id: z.ZodOptional<z.ZodNumber>;
20
+ userID: z.ZodOptional<z.ZodNumber>;
21
+ name: z.ZodOptional<z.ZodString>;
22
+ dockerType: z.ZodOptional<z.ZodEnum<["socket", "tcp"]>>;
23
+ dockerDaemon: z.ZodOptional<z.ZodString>;
24
+ }, z.ZodTypeAny, "passthrough">>;
25
+ export type DockerHost = z.infer<typeof DockerHostSchema>;
26
+ //# sourceMappingURL=docker-host.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"docker-host.d.ts","sourceRoot":"","sources":["../../src/types/docker-host.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;GAGG;AACH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;gCAMb,CAAC;AAEjB,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC"}
@@ -0,0 +1,13 @@
1
+ import { z } from 'zod';
2
+ /**
3
+ * Docker host (docker daemon connection) configuration schema
4
+ * Used by monitors of type "docker" to specify which daemon to query.
5
+ */
6
+ export const DockerHostSchema = z.object({
7
+ id: z.number().optional().describe('Docker host ID (assigned by server)'),
8
+ userID: z.number().optional().describe('Owner user ID (set by server)'),
9
+ name: z.string().optional().describe('Human-readable name for this docker host'),
10
+ dockerType: z.enum(['socket', 'tcp']).optional().describe('Connection type: "socket" for a unix socket path, "tcp" for an HTTP/HTTPS URL'),
11
+ dockerDaemon: z.string().optional().describe('Unix socket path (e.g. /var/run/docker.sock) when dockerType=socket, or TCP URL (e.g. http://docker-proxy:2375) when dockerType=tcp'),
12
+ }).passthrough();
13
+ //# sourceMappingURL=docker-host.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"docker-host.js","sourceRoot":"","sources":["../../src/types/docker-host.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;GAGG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qCAAqC,CAAC;IACzE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;IACvE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0CAA0C,CAAC;IAChF,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+EAA+E,CAAC;IAC1I,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qIAAqI,CAAC;CACpL,CAAC,CAAC,WAAW,EAAE,CAAC"}
@@ -17,37 +17,37 @@ export declare const HeartbeatSchema: z.ZodObject<{
17
17
  monitorID: z.ZodOptional<z.ZodNumber>;
18
18
  localDateTime: z.ZodOptional<z.ZodString>;
19
19
  timezone: z.ZodOptional<z.ZodString>;
20
- }, "strip", z.ZodTypeAny, {
21
- status: number;
22
- msg: string;
23
- time: string;
24
- important: boolean;
25
- monitor_id?: number | undefined;
26
- id?: number | undefined;
27
- ping?: number | null | undefined;
28
- monitorID?: number | undefined;
29
- duration?: number | undefined;
30
- down_count?: number | undefined;
31
- retries?: number | undefined;
32
- end_time?: string | undefined;
33
- localDateTime?: string | undefined;
34
- timezone?: string | undefined;
35
- }, {
36
- status: number;
37
- msg: string;
38
- time: string;
39
- important: number | boolean;
40
- monitor_id?: number | undefined;
41
- id?: number | undefined;
42
- ping?: number | null | undefined;
43
- monitorID?: number | undefined;
44
- duration?: number | undefined;
45
- down_count?: number | undefined;
46
- retries?: number | undefined;
47
- end_time?: string | undefined;
48
- localDateTime?: string | undefined;
49
- timezone?: string | undefined;
50
- }>;
20
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
21
+ status: z.ZodNumber;
22
+ time: z.ZodString;
23
+ msg: z.ZodString;
24
+ important: z.ZodEffects<z.ZodUnion<[z.ZodBoolean, z.ZodNumber]>, boolean, number | boolean>;
25
+ id: z.ZodOptional<z.ZodNumber>;
26
+ monitor_id: z.ZodOptional<z.ZodNumber>;
27
+ ping: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
28
+ duration: z.ZodOptional<z.ZodNumber>;
29
+ down_count: z.ZodOptional<z.ZodNumber>;
30
+ retries: z.ZodOptional<z.ZodNumber>;
31
+ end_time: z.ZodOptional<z.ZodString>;
32
+ monitorID: z.ZodOptional<z.ZodNumber>;
33
+ localDateTime: z.ZodOptional<z.ZodString>;
34
+ timezone: z.ZodOptional<z.ZodString>;
35
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
36
+ status: z.ZodNumber;
37
+ time: z.ZodString;
38
+ msg: z.ZodString;
39
+ important: z.ZodEffects<z.ZodUnion<[z.ZodBoolean, z.ZodNumber]>, boolean, number | boolean>;
40
+ id: z.ZodOptional<z.ZodNumber>;
41
+ monitor_id: z.ZodOptional<z.ZodNumber>;
42
+ ping: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
43
+ duration: z.ZodOptional<z.ZodNumber>;
44
+ down_count: z.ZodOptional<z.ZodNumber>;
45
+ retries: z.ZodOptional<z.ZodNumber>;
46
+ end_time: z.ZodOptional<z.ZodString>;
47
+ monitorID: z.ZodOptional<z.ZodNumber>;
48
+ localDateTime: z.ZodOptional<z.ZodString>;
49
+ timezone: z.ZodOptional<z.ZodString>;
50
+ }, z.ZodTypeAny, "passthrough">>;
51
51
  /**
52
52
  * Heartbeat type inferred from the Zod schema
53
53
  */
@@ -1 +1 @@
1
- {"version":3,"file":"heartbeat.d.ts","sourceRoot":"","sources":["../../src/types/heartbeat.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;GAEG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiB1B,CAAC;AAEH;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAExD;;;;GAIG;AACH,MAAM,MAAM,aAAa,CAAC,CAAC,SAAS,OAAO,GAAG,IAAI,IAAI,CAAC,SAAS,IAAI,GAChE;IAAE,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,EAAE,CAAA;CAAE,GACpC;IAAE,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAAA;CAAE,CAAC"}
1
+ {"version":3,"file":"heartbeat.d.ts","sourceRoot":"","sources":["../../src/types/heartbeat.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;GAEG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gCAiBZ,CAAC;AAEjB;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAExD;;;;GAIG;AACH,MAAM,MAAM,aAAa,CAAC,CAAC,SAAS,OAAO,GAAG,IAAI,IAAI,CAAC,SAAS,IAAI,GAChE;IAAE,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,EAAE,CAAA;CAAE,GACpC;IAAE,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAAA;CAAE,CAAC"}
@@ -19,5 +19,5 @@ export const HeartbeatSchema = z.object({
19
19
  monitorID: z.number().optional().describe('Monitor ID (camelCase)'),
20
20
  localDateTime: z.string().optional().describe('Local formatted time'),
21
21
  timezone: z.string().optional().describe('Server timezone'),
22
- });
22
+ }).passthrough();
23
23
  //# sourceMappingURL=heartbeat.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"heartbeat.js","sourceRoot":"","sources":["../../src/types/heartbeat.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC,kBAAkB;IAClB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;IAC5D,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC;IACtC,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC;IAC1C,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,oBAAoB,CAAC;IAC3G,kBAAkB;IAClB,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC;IAClD,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC;IACxD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oBAAoB,CAAC;IACrE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;IACpE,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC;IACpE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC;IACzD,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC;IAC1D,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC;IACnE,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC;IACrE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC;CAC5D,CAAC,CAAC"}
1
+ {"version":3,"file":"heartbeat.js","sourceRoot":"","sources":["../../src/types/heartbeat.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC,kBAAkB;IAClB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;IAC5D,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC;IACtC,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC;IAC1C,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,oBAAoB,CAAC;IAC3G,kBAAkB;IAClB,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC;IAClD,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC;IACxD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oBAAoB,CAAC;IACrE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;IACpE,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC;IACpE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC;IACzD,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC;IAC1D,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC;IACnE,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC;IACrE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC;CAC5D,CAAC,CAAC,WAAW,EAAE,CAAC"}
@@ -13,4 +13,5 @@ export * from './monitor-types.js';
13
13
  export * from './notification.js';
14
14
  export * from './maintenance.js';
15
15
  export * from './status-page.js';
16
+ export * from './docker-host.js';
16
17
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,cAAc,aAAa,CAAC;AAG5B,cAAc,eAAe,CAAC;AAG9B,cAAc,gBAAgB,CAAC;AAG/B,cAAc,gBAAgB,CAAC;AAG/B,cAAc,WAAW,CAAC;AAG1B,cAAc,mBAAmB,CAAC;AAGlC,cAAc,yBAAyB,CAAC;AAGxC,cAAc,mBAAmB,CAAC;AAGlC,cAAc,oBAAoB,CAAC;AAGnC,cAAc,mBAAmB,CAAC;AAGlC,cAAc,kBAAkB,CAAC;AAGjC,cAAc,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,cAAc,aAAa,CAAC;AAG5B,cAAc,eAAe,CAAC;AAG9B,cAAc,gBAAgB,CAAC;AAG/B,cAAc,gBAAgB,CAAC;AAG/B,cAAc,WAAW,CAAC;AAG1B,cAAc,mBAAmB,CAAC;AAGlC,cAAc,yBAAyB,CAAC;AAGxC,cAAc,mBAAmB,CAAC;AAGlC,cAAc,oBAAoB,CAAC;AAGnC,cAAc,mBAAmB,CAAC;AAGlC,cAAc,kBAAkB,CAAC;AAGjC,cAAc,kBAAkB,CAAC;AAGjC,cAAc,kBAAkB,CAAC"}
@@ -25,4 +25,6 @@ export * from './notification.js';
25
25
  export * from './maintenance.js';
26
26
  // Status page schemas
27
27
  export * from './status-page.js';
28
+ // Docker host schemas
29
+ export * from './docker-host.js';
28
30
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,gBAAgB;AAChB,cAAc,aAAa,CAAC;AAE5B,WAAW;AACX,cAAc,eAAe,CAAC;AAE9B,8DAA8D;AAC9D,cAAc,gBAAgB,CAAC;AAE/B,aAAa;AACb,cAAc,gBAAgB,CAAC;AAE/B,OAAO;AACP,cAAc,WAAW,CAAC;AAE1B,2CAA2C;AAC3C,cAAc,mBAAmB,CAAC;AAElC,qBAAqB;AACrB,cAAc,yBAAyB,CAAC;AAExC,2DAA2D;AAC3D,cAAc,mBAAmB,CAAC;AAElC,iKAAiK;AACjK,cAAc,oBAAoB,CAAC;AAEnC,uBAAuB;AACvB,cAAc,mBAAmB,CAAC;AAElC,6BAA6B;AAC7B,cAAc,kBAAkB,CAAC;AAEjC,sBAAsB;AACtB,cAAc,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,gBAAgB;AAChB,cAAc,aAAa,CAAC;AAE5B,WAAW;AACX,cAAc,eAAe,CAAC;AAE9B,8DAA8D;AAC9D,cAAc,gBAAgB,CAAC;AAE/B,aAAa;AACb,cAAc,gBAAgB,CAAC;AAE/B,OAAO;AACP,cAAc,WAAW,CAAC;AAE1B,2CAA2C;AAC3C,cAAc,mBAAmB,CAAC;AAElC,qBAAqB;AACrB,cAAc,yBAAyB,CAAC;AAExC,2DAA2D;AAC3D,cAAc,mBAAmB,CAAC;AAElC,iKAAiK;AACjK,cAAc,oBAAoB,CAAC;AAEnC,uBAAuB;AACvB,cAAc,mBAAmB,CAAC;AAElC,6BAA6B;AAC7B,cAAc,kBAAkB,CAAC;AAEjC,sBAAsB;AACtB,cAAc,kBAAkB,CAAC;AAEjC,sBAAsB;AACtB,cAAc,kBAAkB,CAAC"}
@@ -9,17 +9,17 @@ export declare const MaintenanceSchema: z.ZodObject<{
9
9
  strategy: z.ZodOptional<z.ZodEnum<["single", "recurring-interval", "recurring-weekday", "recurring-day-of-month", "manual"]>>;
10
10
  active: z.ZodOptional<z.ZodBoolean>;
11
11
  timezone: z.ZodOptional<z.ZodString>;
12
- dateRange: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
12
+ dateRange: z.ZodOptional<z.ZodArray<z.ZodNullable<z.ZodString>, "many">>;
13
13
  timeRange: z.ZodOptional<z.ZodArray<z.ZodObject<{
14
14
  hours: z.ZodNumber;
15
15
  minutes: z.ZodNumber;
16
- }, "strip", z.ZodTypeAny, {
17
- hours: number;
18
- minutes: number;
19
- }, {
20
- hours: number;
21
- minutes: number;
22
- }>, "many">>;
16
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
17
+ hours: z.ZodNumber;
18
+ minutes: z.ZodNumber;
19
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
20
+ hours: z.ZodNumber;
21
+ minutes: z.ZodNumber;
22
+ }, z.ZodTypeAny, "passthrough">>, "many">>;
23
23
  weekdays: z.ZodOptional<z.ZodArray<z.ZodNumber, "many">>;
24
24
  daysOfMonth: z.ZodOptional<z.ZodArray<z.ZodNumber, "many">>;
25
25
  intervalDay: z.ZodOptional<z.ZodNumber>;
@@ -30,17 +30,17 @@ export declare const MaintenanceSchema: z.ZodObject<{
30
30
  strategy: z.ZodOptional<z.ZodEnum<["single", "recurring-interval", "recurring-weekday", "recurring-day-of-month", "manual"]>>;
31
31
  active: z.ZodOptional<z.ZodBoolean>;
32
32
  timezone: z.ZodOptional<z.ZodString>;
33
- dateRange: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
33
+ dateRange: z.ZodOptional<z.ZodArray<z.ZodNullable<z.ZodString>, "many">>;
34
34
  timeRange: z.ZodOptional<z.ZodArray<z.ZodObject<{
35
35
  hours: z.ZodNumber;
36
36
  minutes: z.ZodNumber;
37
- }, "strip", z.ZodTypeAny, {
38
- hours: number;
39
- minutes: number;
40
- }, {
41
- hours: number;
42
- minutes: number;
43
- }>, "many">>;
37
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
38
+ hours: z.ZodNumber;
39
+ minutes: z.ZodNumber;
40
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
41
+ hours: z.ZodNumber;
42
+ minutes: z.ZodNumber;
43
+ }, z.ZodTypeAny, "passthrough">>, "many">>;
44
44
  weekdays: z.ZodOptional<z.ZodArray<z.ZodNumber, "many">>;
45
45
  daysOfMonth: z.ZodOptional<z.ZodArray<z.ZodNumber, "many">>;
46
46
  intervalDay: z.ZodOptional<z.ZodNumber>;
@@ -51,17 +51,17 @@ export declare const MaintenanceSchema: z.ZodObject<{
51
51
  strategy: z.ZodOptional<z.ZodEnum<["single", "recurring-interval", "recurring-weekday", "recurring-day-of-month", "manual"]>>;
52
52
  active: z.ZodOptional<z.ZodBoolean>;
53
53
  timezone: z.ZodOptional<z.ZodString>;
54
- dateRange: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
54
+ dateRange: z.ZodOptional<z.ZodArray<z.ZodNullable<z.ZodString>, "many">>;
55
55
  timeRange: z.ZodOptional<z.ZodArray<z.ZodObject<{
56
56
  hours: z.ZodNumber;
57
57
  minutes: z.ZodNumber;
58
- }, "strip", z.ZodTypeAny, {
59
- hours: number;
60
- minutes: number;
61
- }, {
62
- hours: number;
63
- minutes: number;
64
- }>, "many">>;
58
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
59
+ hours: z.ZodNumber;
60
+ minutes: z.ZodNumber;
61
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
62
+ hours: z.ZodNumber;
63
+ minutes: z.ZodNumber;
64
+ }, z.ZodTypeAny, "passthrough">>, "many">>;
65
65
  weekdays: z.ZodOptional<z.ZodArray<z.ZodNumber, "many">>;
66
66
  daysOfMonth: z.ZodOptional<z.ZodArray<z.ZodNumber, "many">>;
67
67
  intervalDay: z.ZodOptional<z.ZodNumber>;
@@ -10,11 +10,11 @@ export const MaintenanceSchema = z.object({
10
10
  .describe('Scheduling strategy'),
11
11
  active: z.boolean().optional().describe('Whether the maintenance window is active'),
12
12
  timezone: z.string().optional().describe('Timezone for the maintenance window'),
13
- dateRange: z.array(z.string()).optional().describe('Date range [startDate, endDate] in ISO format'),
13
+ dateRange: z.array(z.string().nullable()).optional().describe('Date range [startDate, endDate] in ISO format, null for recurring windows'),
14
14
  timeRange: z.array(z.object({
15
15
  hours: z.number(),
16
16
  minutes: z.number(),
17
- })).optional().describe('Time range within the day'),
17
+ }).passthrough()).optional().describe('Time range within the day'),
18
18
  weekdays: z.array(z.number()).optional().describe('Days of week (0=Sunday, 6=Saturday)'),
19
19
  daysOfMonth: z.array(z.number()).optional().describe('Days of month (1-31)'),
20
20
  intervalDay: z.number().optional().describe('Interval in days for recurring-interval strategy'),
@@ -1 +1 @@
1
- {"version":3,"file":"maintenance.js","sourceRoot":"","sources":["../../src/types/maintenance.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qCAAqC,CAAC;IACzE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iCAAiC,CAAC;IAC7D,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;IAC7E,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE;SACnH,QAAQ,CAAC,qBAAqB,CAAC;IAClC,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0CAA0C,CAAC;IACnF,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qCAAqC,CAAC;IAC/E,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+CAA+C,CAAC;IACnG,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;QAC1B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;QACjB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;KACpB,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2BAA2B,CAAC;IACpD,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qCAAqC,CAAC;IACxF,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC;IAC5E,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kDAAkD,CAAC;CAChG,CAAC,CAAC,WAAW,EAAE,CAAC"}
1
+ {"version":3,"file":"maintenance.js","sourceRoot":"","sources":["../../src/types/maintenance.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qCAAqC,CAAC;IACzE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iCAAiC,CAAC;IAC7D,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;IAC7E,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE;SACnH,QAAQ,CAAC,qBAAqB,CAAC;IAClC,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0CAA0C,CAAC;IACnF,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qCAAqC,CAAC;IAC/E,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2EAA2E,CAAC;IAC1I,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;QAC1B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;QACjB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;KACpB,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2BAA2B,CAAC;IAClE,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qCAAqC,CAAC;IACxF,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC;IAC5E,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kDAAkD,CAAC;CAChG,CAAC,CAAC,WAAW,EAAE,CAAC"}
@@ -6,41 +6,41 @@ export declare const StatusPageSchema: z.ZodObject<{
6
6
  id: z.ZodOptional<z.ZodNumber>;
7
7
  slug: z.ZodString;
8
8
  title: z.ZodString;
9
- description: z.ZodOptional<z.ZodString>;
10
- theme: z.ZodOptional<z.ZodString>;
9
+ description: z.ZodNullable<z.ZodOptional<z.ZodString>>;
10
+ theme: z.ZodNullable<z.ZodOptional<z.ZodString>>;
11
11
  published: z.ZodOptional<z.ZodBoolean>;
12
12
  showTags: z.ZodOptional<z.ZodBoolean>;
13
13
  domainNameList: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
14
- customCSS: z.ZodOptional<z.ZodString>;
14
+ customCSS: z.ZodNullable<z.ZodOptional<z.ZodString>>;
15
15
  footerText: z.ZodNullable<z.ZodOptional<z.ZodString>>;
16
16
  showPoweredBy: z.ZodOptional<z.ZodBoolean>;
17
- icon: z.ZodOptional<z.ZodString>;
17
+ icon: z.ZodNullable<z.ZodOptional<z.ZodString>>;
18
18
  }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
19
19
  id: z.ZodOptional<z.ZodNumber>;
20
20
  slug: z.ZodString;
21
21
  title: z.ZodString;
22
- description: z.ZodOptional<z.ZodString>;
23
- theme: z.ZodOptional<z.ZodString>;
22
+ description: z.ZodNullable<z.ZodOptional<z.ZodString>>;
23
+ theme: z.ZodNullable<z.ZodOptional<z.ZodString>>;
24
24
  published: z.ZodOptional<z.ZodBoolean>;
25
25
  showTags: z.ZodOptional<z.ZodBoolean>;
26
26
  domainNameList: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
27
- customCSS: z.ZodOptional<z.ZodString>;
27
+ customCSS: z.ZodNullable<z.ZodOptional<z.ZodString>>;
28
28
  footerText: z.ZodNullable<z.ZodOptional<z.ZodString>>;
29
29
  showPoweredBy: z.ZodOptional<z.ZodBoolean>;
30
- icon: z.ZodOptional<z.ZodString>;
30
+ icon: z.ZodNullable<z.ZodOptional<z.ZodString>>;
31
31
  }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
32
32
  id: z.ZodOptional<z.ZodNumber>;
33
33
  slug: z.ZodString;
34
34
  title: z.ZodString;
35
- description: z.ZodOptional<z.ZodString>;
36
- theme: z.ZodOptional<z.ZodString>;
35
+ description: z.ZodNullable<z.ZodOptional<z.ZodString>>;
36
+ theme: z.ZodNullable<z.ZodOptional<z.ZodString>>;
37
37
  published: z.ZodOptional<z.ZodBoolean>;
38
38
  showTags: z.ZodOptional<z.ZodBoolean>;
39
39
  domainNameList: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
40
- customCSS: z.ZodOptional<z.ZodString>;
40
+ customCSS: z.ZodNullable<z.ZodOptional<z.ZodString>>;
41
41
  footerText: z.ZodNullable<z.ZodOptional<z.ZodString>>;
42
42
  showPoweredBy: z.ZodOptional<z.ZodBoolean>;
43
- icon: z.ZodOptional<z.ZodString>;
43
+ icon: z.ZodNullable<z.ZodOptional<z.ZodString>>;
44
44
  }, z.ZodTypeAny, "passthrough">>;
45
45
  export type StatusPage = z.infer<typeof StatusPageSchema>;
46
46
  //# sourceMappingURL=status-page.d.ts.map
@@ -6,14 +6,14 @@ export const StatusPageSchema = z.object({
6
6
  id: z.number().optional().describe('Status page ID'),
7
7
  slug: z.string().describe('URL slug for the status page'),
8
8
  title: z.string().describe('Title of the status page'),
9
- description: z.string().optional().describe('Description shown on the status page'),
10
- theme: z.string().optional().describe('Theme (light or dark)'),
9
+ description: z.string().optional().nullable().describe('Description shown on the status page'),
10
+ theme: z.string().optional().nullable().describe('Theme (light or dark)'),
11
11
  published: z.boolean().optional().describe('Whether the status page is publicly accessible'),
12
12
  showTags: z.boolean().optional().describe('Whether to show tags on the status page'),
13
13
  domainNameList: z.array(z.string()).optional().describe('Custom domain names for this status page'),
14
- customCSS: z.string().optional().describe('Custom CSS for the status page'),
14
+ customCSS: z.string().optional().nullable().describe('Custom CSS for the status page'),
15
15
  footerText: z.string().optional().nullable().describe('Footer text'),
16
16
  showPoweredBy: z.boolean().optional().describe('Whether to show Uptime Kuma branding'),
17
- icon: z.string().optional().describe('Icon URL or path'),
17
+ icon: z.string().optional().nullable().describe('Icon URL or path'),
18
18
  }).passthrough();
19
19
  //# sourceMappingURL=status-page.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"status-page.js","sourceRoot":"","sources":["../../src/types/status-page.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC;IACpD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;IACzD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;IACtD,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sCAAsC,CAAC;IACnF,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;IAC9D,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gDAAgD,CAAC;IAC5F,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yCAAyC,CAAC;IACpF,cAAc,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0CAA0C,CAAC;IACnG,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;IAC3E,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC;IACpE,aAAa,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sCAAsC,CAAC;IACtF,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC;CACzD,CAAC,CAAC,WAAW,EAAE,CAAC"}
1
+ {"version":3,"file":"status-page.js","sourceRoot":"","sources":["../../src/types/status-page.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC;IACpD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;IACzD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;IACtD,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sCAAsC,CAAC;IAC9F,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;IACzE,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gDAAgD,CAAC;IAC5F,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yCAAyC,CAAC;IACpF,cAAc,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0CAA0C,CAAC;IACnG,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;IACtF,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC;IACpE,aAAa,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sCAAsC,CAAC;IACtF,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC;CACpE,CAAC,CAAC,WAAW,EAAE,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { Socket } from 'socket.io-client';
2
2
  import type { LoggingLevel } from '@modelcontextprotocol/sdk/types.js';
3
- import type { MonitorBaseWithExtendedData, MonitorWithExtendedData, ApiResponse, LoginResponse, MonitorList, MonitorSummary, Heartbeat, GetSettingsResponse, Notification, Maintenance, StatusPage } from './types/index.js';
3
+ import type { MonitorBaseWithExtendedData, MonitorWithExtendedData, ApiResponse, LoginResponse, MonitorList, MonitorSummary, Heartbeat, GetSettingsResponse, Notification, Maintenance, StatusPage, DockerHost } from './types/index.js';
4
4
  /**
5
5
  * Uptime Kuma Socket.io API Client
6
6
  */
@@ -15,6 +15,7 @@ export declare class UptimeKumaClient {
15
15
  private tagListCache;
16
16
  private maintenanceListCache;
17
17
  private statusPageListCache;
18
+ private dockerHostListCache;
18
19
  private server?;
19
20
  private shouldLog;
20
21
  private loginCredentials;
@@ -148,8 +149,11 @@ export declare class UptimeKumaClient {
148
149
  private setupTagListListeners;
149
150
  private setupMaintenanceListListeners;
150
151
  private setupStatusPageListListeners;
152
+ private setupDockerHostListListeners;
151
153
  /**
152
- * Create a new monitor
154
+ * Create a new monitor. If `tags` are supplied, they are applied after
155
+ * creation using the separate `addMonitorTag` socket event — the `add`
156
+ * socket handler does not process tags.
153
157
  *
154
158
  * @param monitorData - Monitor configuration (type-specific fields should be included)
155
159
  * @returns Promise resolving to the API response with the new monitorID
@@ -158,7 +162,11 @@ export declare class UptimeKumaClient {
158
162
  monitorID?: number;
159
163
  }>;
160
164
  /**
161
- * Update an existing monitor
165
+ * Update an existing monitor. If `tags` are supplied, they are reconciled
166
+ * against the monitor's current tag set using `addMonitorTag` /
167
+ * `deleteMonitorTag` — the `editMonitor` socket handler does not process
168
+ * tags. Tags whose name is not yet in the catalog are auto-created via
169
+ * `addTag` before binding.
162
170
  *
163
171
  * @param monitorData - Monitor configuration including the id field
164
172
  * @returns Promise resolving to the API response
@@ -166,6 +174,26 @@ export declare class UptimeKumaClient {
166
174
  updateMonitor(monitorData: Record<string, unknown>): Promise<ApiResponse & {
167
175
  monitorID?: number;
168
176
  }>;
177
+ /**
178
+ * Fetch the tag catalog synchronously from the server. Uptime Kuma does
179
+ * not push `tagList` events — it only responds to the `getTags` request —
180
+ * so relying on the push-populated cache returns stale (often empty) data.
181
+ * This method also refreshes `tagListCache` so subsequent cache reads work.
182
+ */
183
+ private fetchTagList;
184
+ /**
185
+ * Bind a tag to a monitor (socket: `addMonitorTag`).
186
+ */
187
+ private addMonitorTag;
188
+ /**
189
+ * Unbind a tag from a monitor (socket: `deleteMonitorTag`).
190
+ */
191
+ private deleteMonitorTag;
192
+ /**
193
+ * Reconcile a monitor's tags against the desired list. Auto-creates any
194
+ * tag name that isn't yet in the catalog. Tag identity is `(name, value)`.
195
+ */
196
+ private reconcileMonitorTags;
169
197
  /**
170
198
  * Delete a monitor
171
199
  *
@@ -194,6 +222,36 @@ export declare class UptimeKumaClient {
194
222
  * @returns Promise resolving to the API response
195
223
  */
196
224
  deleteNotification(notificationID: number): Promise<ApiResponse>;
225
+ /**
226
+ * Get the cached docker host list
227
+ */
228
+ getDockerHostList(): DockerHost[];
229
+ /**
230
+ * Add or update a docker host
231
+ *
232
+ * @param dockerHost - Docker host configuration (name, dockerType, dockerDaemon)
233
+ * @param dockerHostID - If provided, updates existing; otherwise creates new
234
+ * @returns Promise resolving to the API response with the docker host id
235
+ */
236
+ addDockerHost(dockerHost: Record<string, unknown>, dockerHostID?: number): Promise<ApiResponse & {
237
+ id?: number;
238
+ }>;
239
+ /**
240
+ * Delete a docker host. Any monitors referencing it will have their docker_host
241
+ * field cleared by Uptime Kuma.
242
+ *
243
+ * @param dockerHostID - The ID of the docker host to delete
244
+ * @returns Promise resolving to the API response
245
+ */
246
+ deleteDockerHost(dockerHostID: number): Promise<ApiResponse>;
247
+ /**
248
+ * Test connectivity to a docker host without persisting it. Returns a friendly
249
+ * message containing the number of containers when reachable.
250
+ *
251
+ * @param dockerHost - Docker host configuration to test (name, dockerType, dockerDaemon)
252
+ * @returns Promise resolving to the API response
253
+ */
254
+ testDockerHost(dockerHost: Record<string, unknown>): Promise<ApiResponse>;
197
255
  /**
198
256
  * Get the cached tag list
199
257
  */
@@ -240,6 +298,48 @@ export declare class UptimeKumaClient {
240
298
  * Get the cached status page list
241
299
  */
242
300
  getStatusPageList(): StatusPage[];
301
+ /**
302
+ * Get full details of a single status page, including publicGroupList with monitors
303
+ * and any active incidents. Uses the public HTTP API (`/api/status-page/{slug}`),
304
+ * which returns the same data the status page UI renders — richer than the
305
+ * socket `getStatusPage` event, which only returns config.
306
+ *
307
+ * @param slug - The status page slug
308
+ * @returns Promise resolving to the status page config, groups, and incidents
309
+ */
310
+ getStatusPage(slug: string): Promise<ApiResponse & {
311
+ config?: StatusPage;
312
+ publicGroupList?: unknown[];
313
+ incidents?: unknown[];
314
+ }>;
315
+ /**
316
+ * Create a new (empty) status page with the given title and slug
317
+ *
318
+ * Note: This creates a blank status page. Use updateStatusPage afterwards to
319
+ * set description, theme, groups, monitors, etc.
320
+ *
321
+ * @param title - Display title of the status page
322
+ * @param slug - URL slug (lowercase letters, digits, and dashes only)
323
+ * @returns Promise resolving to the API response
324
+ */
325
+ createStatusPage(title: string, slug: string): Promise<ApiResponse>;
326
+ /**
327
+ * Update an existing status page's config and group/monitor list
328
+ *
329
+ * @param slug - The status page slug (immutable identifier)
330
+ * @param config - Status page configuration (title, description, theme, published, etc.)
331
+ * @param publicGroupList - Ordered groups, each with a name, weight, and monitorList `[{id}]`
332
+ * @param imgDataUrl - Optional icon as data URL (pass empty string to keep existing)
333
+ * @returns Promise resolving to the API response
334
+ */
335
+ updateStatusPage(slug: string, config: Record<string, unknown>, publicGroupList?: Array<Record<string, unknown>>, imgDataUrl?: string): Promise<ApiResponse>;
336
+ /**
337
+ * Delete a status page
338
+ *
339
+ * @param slug - The status page slug
340
+ * @returns Promise resolving to the API response
341
+ */
342
+ deleteStatusPage(slug: string): Promise<ApiResponse>;
243
343
  /**
244
344
  * Get the socket instance (for advanced usage)
245
345
  */
@@ -1 +1 @@
1
- {"version":3,"file":"uptime-kuma-client.d.ts","sourceRoot":"","sources":["../src/uptime-kuma-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"uptime-kuma-client.d.ts","sourceRoot":"","sources":["../src/uptime-kuma-client.ts"],"names":[],"mappings":"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"}