@hasna/uptime 0.1.8 → 0.1.10
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/CHANGELOG.md +25 -3
- package/README.md +4 -4
- package/SECURITY.md +4 -2
- package/dist/api.js +104 -47
- package/dist/checks.d.ts +2 -1
- package/dist/checks.d.ts.map +1 -1
- package/dist/checks.js +2 -1
- package/dist/cli/index.js +125 -68
- package/dist/cloud-plan.d.ts +6 -6
- package/dist/cloud-plan.d.ts.map +1 -1
- package/dist/cloud-plan.js +17 -17
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +121 -64
- package/dist/mcp/index.js +92 -37
- package/dist/service.d.ts +33 -9
- package/dist/service.d.ts.map +1 -1
- package/dist/service.js +92 -37
- package/dist/store.d.ts +13 -3
- package/dist/store.d.ts.map +1 -1
- package/dist/store.js +78 -25
- package/dist/types.d.ts +3 -0
- package/dist/types.d.ts.map +1 -1
- package/docs/aws-deployment-runbook.md +229 -14
- package/infra/aws/README.md +12 -1
- package/infra/aws/main.tf +44 -5
- package/infra/aws/terraform.tfvars.example +9 -1
- package/infra/aws/variables.tf +48 -1
- package/package.json +1 -1
package/dist/mcp/index.js
CHANGED
|
@@ -15136,7 +15136,7 @@ var REQUIRED_TABLES = [
|
|
|
15136
15136
|
];
|
|
15137
15137
|
var PROBE_TABLES = new Set(["probe_identities", "probe_check_jobs", "probe_submissions"]);
|
|
15138
15138
|
var REPORT_AUDIT_TABLES = new Set(["report_schedules", "report_runs", "audit_events"]);
|
|
15139
|
-
var CURRENT_SCHEMA_VERSION = "
|
|
15139
|
+
var CURRENT_SCHEMA_VERSION = "4";
|
|
15140
15140
|
|
|
15141
15141
|
class StaleCheckResultError extends Error {
|
|
15142
15142
|
constructor(message) {
|
|
@@ -15197,7 +15197,8 @@ class UptimeStore {
|
|
|
15197
15197
|
this.db.run(`
|
|
15198
15198
|
CREATE TABLE IF NOT EXISTS monitors (
|
|
15199
15199
|
id TEXT PRIMARY KEY,
|
|
15200
|
-
|
|
15200
|
+
workspace_id TEXT NOT NULL DEFAULT 'local',
|
|
15201
|
+
name TEXT NOT NULL,
|
|
15201
15202
|
kind TEXT NOT NULL CHECK (kind IN ('http', 'tcp', 'browser_page')),
|
|
15202
15203
|
url TEXT,
|
|
15203
15204
|
host TEXT,
|
|
@@ -15212,9 +15213,11 @@ class UptimeStore {
|
|
|
15212
15213
|
last_checked_at TEXT,
|
|
15213
15214
|
revision INTEGER NOT NULL DEFAULT 1,
|
|
15214
15215
|
created_at TEXT NOT NULL,
|
|
15215
|
-
updated_at TEXT NOT NULL
|
|
15216
|
+
updated_at TEXT NOT NULL,
|
|
15217
|
+
UNIQUE (workspace_id, name)
|
|
15216
15218
|
)
|
|
15217
15219
|
`);
|
|
15220
|
+
this.ensureColumn("monitors", "workspace_id", "TEXT NOT NULL DEFAULT 'local'");
|
|
15218
15221
|
this.ensureColumn("monitors", "revision", "INTEGER NOT NULL DEFAULT 1");
|
|
15219
15222
|
this.ensureMonitorKindAllowsBrowserPage();
|
|
15220
15223
|
this.db.run(`
|
|
@@ -15364,6 +15367,7 @@ class UptimeStore {
|
|
|
15364
15367
|
`);
|
|
15365
15368
|
this.db.query("INSERT OR REPLACE INTO schema_migrations (key, value, updated_at) VALUES ('schema_version', ?, ?)").run(CURRENT_SCHEMA_VERSION, new Date().toISOString());
|
|
15366
15369
|
this.db.run("CREATE INDEX IF NOT EXISTS idx_results_monitor_time ON check_results(monitor_id, checked_at DESC)");
|
|
15370
|
+
this.db.run("CREATE INDEX IF NOT EXISTS idx_monitors_workspace_enabled_name ON monitors(workspace_id, enabled, name)");
|
|
15367
15371
|
this.db.run("CREATE INDEX IF NOT EXISTS idx_incidents_monitor_status ON incidents(monitor_id, status)");
|
|
15368
15372
|
this.db.run("CREATE INDEX IF NOT EXISTS idx_check_leases_until ON check_leases(leased_until)");
|
|
15369
15373
|
this.db.run("CREATE INDEX IF NOT EXISTS idx_monitor_provenance_monitor ON monitor_provenance(monitor_id)");
|
|
@@ -15425,8 +15429,10 @@ class UptimeStore {
|
|
|
15425
15429
|
if (this.mode === "hosted")
|
|
15426
15430
|
assertHostedTargetAllowed(normalized);
|
|
15427
15431
|
const now = new Date().toISOString();
|
|
15432
|
+
const workspaceId = normalizeWorkspaceId(options.workspaceId ?? input.workspaceId ?? "local");
|
|
15428
15433
|
const monitor = {
|
|
15429
15434
|
id: newId("mon"),
|
|
15435
|
+
workspaceId,
|
|
15430
15436
|
name: normalized.name,
|
|
15431
15437
|
kind: normalized.kind,
|
|
15432
15438
|
url: normalized.url ?? null,
|
|
@@ -15445,22 +15451,33 @@ class UptimeStore {
|
|
|
15445
15451
|
updatedAt: now
|
|
15446
15452
|
};
|
|
15447
15453
|
this.db.query(`INSERT INTO monitors (
|
|
15448
|
-
id, name, kind, url, host, port, method, expected_status,
|
|
15454
|
+
id, workspace_id, name, kind, url, host, port, method, expected_status,
|
|
15449
15455
|
interval_seconds, timeout_ms, retry_count, enabled, status,
|
|
15450
15456
|
last_checked_at, revision, created_at, updated_at
|
|
15451
|
-
) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`).run(monitor.id, monitor.name, monitor.kind, monitor.url, monitor.host, monitor.port, monitor.method, monitor.expectedStatus, monitor.intervalSeconds, monitor.timeoutMs, monitor.retryCount, monitor.enabled ? 1 : 0, monitor.status, monitor.lastCheckedAt, monitor.revision, monitor.createdAt, monitor.updatedAt);
|
|
15457
|
+
) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`).run(monitor.id, monitor.workspaceId, monitor.name, monitor.kind, monitor.url, monitor.host, monitor.port, monitor.method, monitor.expectedStatus, monitor.intervalSeconds, monitor.timeoutMs, monitor.retryCount, monitor.enabled ? 1 : 0, monitor.status, monitor.lastCheckedAt, monitor.revision, monitor.createdAt, monitor.updatedAt);
|
|
15452
15458
|
return monitor;
|
|
15453
15459
|
}
|
|
15454
15460
|
listMonitors(options = {}) {
|
|
15455
|
-
const
|
|
15461
|
+
const workspaceId = options.workspaceId ? normalizeWorkspaceId(options.workspaceId) : undefined;
|
|
15462
|
+
const clauses = [];
|
|
15463
|
+
const args = [];
|
|
15464
|
+
if (workspaceId) {
|
|
15465
|
+
clauses.push("workspace_id = ?");
|
|
15466
|
+
args.push(workspaceId);
|
|
15467
|
+
}
|
|
15468
|
+
if (!options.includeDisabled)
|
|
15469
|
+
clauses.push("enabled = 1");
|
|
15470
|
+
const where = clauses.length ? `WHERE ${clauses.join(" AND ")}` : "";
|
|
15471
|
+
const rows = this.db.query(`SELECT * FROM monitors ${where} ORDER BY name ASC`).all(...args);
|
|
15456
15472
|
return rows.map(monitorFromRow);
|
|
15457
15473
|
}
|
|
15458
|
-
getMonitor(idOrName) {
|
|
15459
|
-
const
|
|
15474
|
+
getMonitor(idOrName, options = {}) {
|
|
15475
|
+
const workspaceId = options.workspaceId ? normalizeWorkspaceId(options.workspaceId) : undefined;
|
|
15476
|
+
const row = this.db.query(`SELECT * FROM monitors WHERE (id = ? OR name = ?)${workspaceId ? " AND workspace_id = ?" : ""}`).get(...workspaceId ? [idOrName, idOrName, workspaceId] : [idOrName, idOrName]);
|
|
15460
15477
|
return row ? monitorFromRow(row) : null;
|
|
15461
15478
|
}
|
|
15462
15479
|
updateMonitor(idOrName, input, options = {}) {
|
|
15463
|
-
const current = this.getMonitor(idOrName);
|
|
15480
|
+
const current = this.getMonitor(idOrName, { workspaceId: options.workspaceId });
|
|
15464
15481
|
if (!current)
|
|
15465
15482
|
throw new Error(`Monitor not found: ${idOrName}`);
|
|
15466
15483
|
if (this.mode === "hosted") {
|
|
@@ -15484,10 +15501,10 @@ class UptimeStore {
|
|
|
15484
15501
|
if (definitionChanged(current, next)) {
|
|
15485
15502
|
this.closeOpenIncident(current.id, updatedAt);
|
|
15486
15503
|
}
|
|
15487
|
-
return this.getMonitor(current.id);
|
|
15504
|
+
return this.getMonitor(current.id, { workspaceId: options.workspaceId });
|
|
15488
15505
|
}
|
|
15489
|
-
deleteMonitor(idOrName) {
|
|
15490
|
-
const current = this.getMonitor(idOrName);
|
|
15506
|
+
deleteMonitor(idOrName, options = {}) {
|
|
15507
|
+
const current = this.getMonitor(idOrName, { workspaceId: options.workspaceId });
|
|
15491
15508
|
if (!current)
|
|
15492
15509
|
return false;
|
|
15493
15510
|
this.db.query("DELETE FROM monitors WHERE id = ?").run(current.id);
|
|
@@ -15864,7 +15881,20 @@ class UptimeStore {
|
|
|
15864
15881
|
}
|
|
15865
15882
|
listResults(options = {}) {
|
|
15866
15883
|
const limit = clampLimit(options.limit ?? 50);
|
|
15867
|
-
const
|
|
15884
|
+
const workspaceId = options.workspaceId ? normalizeWorkspaceId(options.workspaceId) : undefined;
|
|
15885
|
+
const clauses = [];
|
|
15886
|
+
const args = [];
|
|
15887
|
+
if (options.monitorId) {
|
|
15888
|
+
clauses.push("check_results.monitor_id = ?");
|
|
15889
|
+
args.push(options.monitorId);
|
|
15890
|
+
}
|
|
15891
|
+
if (workspaceId) {
|
|
15892
|
+
clauses.push("monitors.workspace_id = ?");
|
|
15893
|
+
args.push(workspaceId);
|
|
15894
|
+
}
|
|
15895
|
+
const where = clauses.length ? `WHERE ${clauses.join(" AND ")}` : "";
|
|
15896
|
+
args.push(limit);
|
|
15897
|
+
const rows = this.db.query(`SELECT check_results.* FROM check_results JOIN monitors ON monitors.id = check_results.monitor_id ${where} ORDER BY checked_at DESC LIMIT ?`).all(...args);
|
|
15868
15898
|
return rows.map(checkResultFromRow);
|
|
15869
15899
|
}
|
|
15870
15900
|
getProvenance(source, sourceId) {
|
|
@@ -15907,24 +15937,28 @@ class UptimeStore {
|
|
|
15907
15937
|
const clauses = [];
|
|
15908
15938
|
const args = [];
|
|
15909
15939
|
if (options.status) {
|
|
15910
|
-
clauses.push("status = ?");
|
|
15940
|
+
clauses.push("incidents.status = ?");
|
|
15911
15941
|
args.push(options.status);
|
|
15912
15942
|
}
|
|
15913
15943
|
if (options.monitorId) {
|
|
15914
|
-
clauses.push("monitor_id = ?");
|
|
15944
|
+
clauses.push("incidents.monitor_id = ?");
|
|
15915
15945
|
args.push(options.monitorId);
|
|
15916
15946
|
}
|
|
15947
|
+
if (options.workspaceId) {
|
|
15948
|
+
clauses.push("monitors.workspace_id = ?");
|
|
15949
|
+
args.push(normalizeWorkspaceId(options.workspaceId));
|
|
15950
|
+
}
|
|
15917
15951
|
const where = clauses.length ? `WHERE ${clauses.join(" AND ")}` : "";
|
|
15918
15952
|
args.push(clampLimit(options.limit ?? 50));
|
|
15919
|
-
const rows = this.db.query(`SELECT
|
|
15953
|
+
const rows = this.db.query(`SELECT incidents.* FROM incidents JOIN monitors ON monitors.id = incidents.monitor_id ${where} ORDER BY opened_at DESC LIMIT ?`).all(...args);
|
|
15920
15954
|
return rows.map(incidentFromRow);
|
|
15921
15955
|
}
|
|
15922
15956
|
getOpenIncident(monitorId) {
|
|
15923
15957
|
const row = this.db.query("SELECT * FROM incidents WHERE monitor_id = ? AND status = 'open' ORDER BY opened_at DESC LIMIT 1").get(monitorId);
|
|
15924
15958
|
return row ? incidentFromRow(row) : null;
|
|
15925
15959
|
}
|
|
15926
|
-
summary() {
|
|
15927
|
-
const monitors = this.listMonitors({ includeDisabled: true });
|
|
15960
|
+
summary(options = {}) {
|
|
15961
|
+
const monitors = this.listMonitors({ includeDisabled: true, workspaceId: options.workspaceId });
|
|
15928
15962
|
const summaries = monitors.map((monitor) => this.monitorSummary(monitor));
|
|
15929
15963
|
return {
|
|
15930
15964
|
generatedAt: new Date().toISOString(),
|
|
@@ -15936,11 +15970,15 @@ class UptimeStore {
|
|
|
15936
15970
|
down: monitors.filter((m) => m.status === "down").length,
|
|
15937
15971
|
paused: monitors.filter((m) => !m.enabled || m.status === "paused").length,
|
|
15938
15972
|
unknown: monitors.filter((m) => m.status === "unknown").length,
|
|
15939
|
-
openIncidents: this.countOpenIncidents()
|
|
15973
|
+
openIncidents: this.countOpenIncidents(options.workspaceId)
|
|
15940
15974
|
}
|
|
15941
15975
|
};
|
|
15942
15976
|
}
|
|
15943
|
-
countOpenIncidents() {
|
|
15977
|
+
countOpenIncidents(workspaceId) {
|
|
15978
|
+
if (workspaceId) {
|
|
15979
|
+
const row2 = this.db.query("SELECT COUNT(*) AS count FROM incidents JOIN monitors ON monitors.id = incidents.monitor_id WHERE incidents.status = 'open' AND monitors.workspace_id = ?").get(normalizeWorkspaceId(workspaceId));
|
|
15980
|
+
return Number(row2?.count ?? 0);
|
|
15981
|
+
}
|
|
15944
15982
|
const row = this.db.query("SELECT COUNT(*) AS count FROM incidents WHERE status = 'open'").get();
|
|
15945
15983
|
return Number(row?.count ?? 0);
|
|
15946
15984
|
}
|
|
@@ -16004,7 +16042,9 @@ class UptimeStore {
|
|
|
16004
16042
|
}
|
|
16005
16043
|
ensureMonitorKindAllowsBrowserPage() {
|
|
16006
16044
|
const row = this.db.query("SELECT sql FROM sqlite_master WHERE type = 'table' AND name = 'monitors'").get();
|
|
16007
|
-
|
|
16045
|
+
const needsBrowserPage = !row?.sql?.includes("browser_page");
|
|
16046
|
+
const needsWorkspaceUnique = Boolean(row?.sql?.includes("name TEXT NOT NULL UNIQUE"));
|
|
16047
|
+
if (!row?.sql || !needsBrowserPage && !needsWorkspaceUnique)
|
|
16008
16048
|
return;
|
|
16009
16049
|
this.db.run("PRAGMA foreign_keys = OFF");
|
|
16010
16050
|
this.db.run("PRAGMA legacy_alter_table = ON");
|
|
@@ -16014,7 +16054,8 @@ class UptimeStore {
|
|
|
16014
16054
|
this.db.run(`
|
|
16015
16055
|
CREATE TABLE monitors (
|
|
16016
16056
|
id TEXT PRIMARY KEY,
|
|
16017
|
-
|
|
16057
|
+
workspace_id TEXT NOT NULL DEFAULT 'local',
|
|
16058
|
+
name TEXT NOT NULL,
|
|
16018
16059
|
kind TEXT NOT NULL CHECK (kind IN ('http', 'tcp', 'browser_page')),
|
|
16019
16060
|
url TEXT,
|
|
16020
16061
|
host TEXT,
|
|
@@ -16029,17 +16070,18 @@ class UptimeStore {
|
|
|
16029
16070
|
last_checked_at TEXT,
|
|
16030
16071
|
revision INTEGER NOT NULL DEFAULT 1,
|
|
16031
16072
|
created_at TEXT NOT NULL,
|
|
16032
|
-
updated_at TEXT NOT NULL
|
|
16073
|
+
updated_at TEXT NOT NULL,
|
|
16074
|
+
UNIQUE (workspace_id, name)
|
|
16033
16075
|
)
|
|
16034
16076
|
`);
|
|
16035
16077
|
this.db.run(`
|
|
16036
16078
|
INSERT INTO monitors (
|
|
16037
|
-
id, name, kind, url, host, port, method, expected_status,
|
|
16079
|
+
id, workspace_id, name, kind, url, host, port, method, expected_status,
|
|
16038
16080
|
interval_seconds, timeout_ms, retry_count, enabled, status,
|
|
16039
16081
|
last_checked_at, revision, created_at, updated_at
|
|
16040
16082
|
)
|
|
16041
16083
|
SELECT
|
|
16042
|
-
id, name, kind, url, host, port, method, expected_status,
|
|
16084
|
+
id, workspace_id, name, kind, url, host, port, method, expected_status,
|
|
16043
16085
|
interval_seconds, timeout_ms, retry_count, enabled, status,
|
|
16044
16086
|
last_checked_at, revision, created_at, updated_at
|
|
16045
16087
|
FROM monitors_old_kind
|
|
@@ -16239,6 +16281,16 @@ function rejectControlCharacters2(value, label) {
|
|
|
16239
16281
|
throw new Error(`${label} must not contain control characters`);
|
|
16240
16282
|
}
|
|
16241
16283
|
}
|
|
16284
|
+
function normalizeWorkspaceId(value) {
|
|
16285
|
+
const normalized = value.trim();
|
|
16286
|
+
if (!normalized)
|
|
16287
|
+
throw new Error("Workspace id is required");
|
|
16288
|
+
rejectControlCharacters2(normalized, "Workspace id");
|
|
16289
|
+
if (!/^[A-Za-z0-9][A-Za-z0-9_.:-]{0,127}$/.test(normalized)) {
|
|
16290
|
+
throw new Error("Workspace id contains unsupported characters");
|
|
16291
|
+
}
|
|
16292
|
+
return normalized;
|
|
16293
|
+
}
|
|
16242
16294
|
function normalizeScheduleSlot(value) {
|
|
16243
16295
|
const slot = value.trim();
|
|
16244
16296
|
if (!slot)
|
|
@@ -16425,6 +16477,7 @@ function assertIsoTimestamp(value, label) {
|
|
|
16425
16477
|
function monitorFromRow(row) {
|
|
16426
16478
|
return {
|
|
16427
16479
|
id: row.id,
|
|
16480
|
+
workspaceId: row.workspace_id ?? "local",
|
|
16428
16481
|
name: row.name,
|
|
16429
16482
|
kind: row.kind,
|
|
16430
16483
|
url: row.url,
|
|
@@ -16905,20 +16958,20 @@ class UptimeService {
|
|
|
16905
16958
|
close() {
|
|
16906
16959
|
this.store.close();
|
|
16907
16960
|
}
|
|
16908
|
-
createMonitor(input) {
|
|
16909
|
-
return this.store.createMonitor(input);
|
|
16961
|
+
createMonitor(input, options = {}) {
|
|
16962
|
+
return this.store.createMonitor(input, options);
|
|
16910
16963
|
}
|
|
16911
|
-
updateMonitor(idOrName, input) {
|
|
16912
|
-
return this.store.updateMonitor(idOrName, input);
|
|
16964
|
+
updateMonitor(idOrName, input, options = {}) {
|
|
16965
|
+
return this.store.updateMonitor(idOrName, input, options);
|
|
16913
16966
|
}
|
|
16914
|
-
deleteMonitor(idOrName) {
|
|
16915
|
-
return this.store.deleteMonitor(idOrName);
|
|
16967
|
+
deleteMonitor(idOrName, options = {}) {
|
|
16968
|
+
return this.store.deleteMonitor(idOrName, options);
|
|
16916
16969
|
}
|
|
16917
16970
|
listMonitors(options = {}) {
|
|
16918
16971
|
return this.store.listMonitors(options);
|
|
16919
16972
|
}
|
|
16920
|
-
getMonitor(idOrName) {
|
|
16921
|
-
return this.store.getMonitor(idOrName);
|
|
16973
|
+
getMonitor(idOrName, options = {}) {
|
|
16974
|
+
return this.store.getMonitor(idOrName, options);
|
|
16922
16975
|
}
|
|
16923
16976
|
listResults(options = {}) {
|
|
16924
16977
|
return this.store.listResults(options);
|
|
@@ -16926,8 +16979,8 @@ class UptimeService {
|
|
|
16926
16979
|
listIncidents(options = {}) {
|
|
16927
16980
|
return this.store.listIncidents(options);
|
|
16928
16981
|
}
|
|
16929
|
-
summary() {
|
|
16930
|
-
return this.store.summary();
|
|
16982
|
+
summary(options = {}) {
|
|
16983
|
+
return this.store.summary(options);
|
|
16931
16984
|
}
|
|
16932
16985
|
createProbe(input) {
|
|
16933
16986
|
const store = this.probeStore();
|
|
@@ -16983,7 +17036,8 @@ class UptimeService {
|
|
|
16983
17036
|
return this.store.verifyBackup(backupPath);
|
|
16984
17037
|
}
|
|
16985
17038
|
buildReport(options = {}) {
|
|
16986
|
-
|
|
17039
|
+
const { workspaceId, ...reportOptions } = options;
|
|
17040
|
+
return buildUptimeReport(this.summary({ workspaceId }), reportOptions);
|
|
16987
17041
|
}
|
|
16988
17042
|
async sendReport(options = {}) {
|
|
16989
17043
|
if (this.store.mode === "hosted" && (options.email || options.sms || options.logs)) {
|
|
@@ -17307,6 +17361,7 @@ class UptimeService {
|
|
|
17307
17361
|
throw new Error("Probe job fencing token is invalid");
|
|
17308
17362
|
if (!job.leaseExpiresAt || job.leaseExpiresAt <= new Date().toISOString())
|
|
17309
17363
|
throw new Error("Probe job lease expired");
|
|
17364
|
+
const evidence = input.evidence ? normalizeBrowserEvidence(monitor.url ?? monitor.host ?? "https://example.invalid", input.evidence) : null;
|
|
17310
17365
|
const result = this.store.recordCheckResult({
|
|
17311
17366
|
monitorId: monitor.id,
|
|
17312
17367
|
checkedAt: input.checkedAt,
|
|
@@ -17314,7 +17369,7 @@ class UptimeService {
|
|
|
17314
17369
|
latencyMs: input.latencyMs,
|
|
17315
17370
|
statusCode: input.statusCode ?? null,
|
|
17316
17371
|
error: input.error ?? null,
|
|
17317
|
-
evidence
|
|
17372
|
+
evidence,
|
|
17318
17373
|
attemptCount: input.attemptCount ?? 1,
|
|
17319
17374
|
expectedMonitorRevision: input.monitorRevision
|
|
17320
17375
|
});
|
package/dist/service.d.ts
CHANGED
|
@@ -13,23 +13,33 @@ export interface UptimeStoreLike {
|
|
|
13
13
|
close(): void;
|
|
14
14
|
createMonitor(input: ImportedMonitorInput, options?: {
|
|
15
15
|
allowBrowserPage?: boolean;
|
|
16
|
+
workspaceId?: string;
|
|
16
17
|
}): Monitor;
|
|
17
18
|
updateMonitor(idOrName: string, input: ImportedUpdateMonitorInput, options?: {
|
|
18
19
|
allowBrowserPage?: boolean;
|
|
20
|
+
workspaceId?: string;
|
|
19
21
|
}): Monitor;
|
|
20
|
-
deleteMonitor(idOrName: string
|
|
22
|
+
deleteMonitor(idOrName: string, options?: {
|
|
23
|
+
workspaceId?: string;
|
|
24
|
+
}): boolean;
|
|
21
25
|
listMonitors(options?: {
|
|
22
26
|
includeDisabled?: boolean;
|
|
27
|
+
workspaceId?: string;
|
|
23
28
|
}): Monitor[];
|
|
24
|
-
getMonitor(idOrName: string
|
|
29
|
+
getMonitor(idOrName: string, options?: {
|
|
30
|
+
workspaceId?: string;
|
|
31
|
+
}): Monitor | null;
|
|
25
32
|
getCheckResult?(id: string): CheckResult | null;
|
|
26
33
|
listResults(options?: ListResultsOptions): CheckResult[];
|
|
27
34
|
listIncidents(options?: {
|
|
28
35
|
status?: "open" | "closed";
|
|
29
36
|
monitorId?: string;
|
|
37
|
+
workspaceId?: string;
|
|
30
38
|
limit?: number;
|
|
31
39
|
}): Incident[];
|
|
32
|
-
summary(
|
|
40
|
+
summary(options?: {
|
|
41
|
+
workspaceId?: string;
|
|
42
|
+
}): UptimeSummary;
|
|
33
43
|
backup(destinationPath?: string): UptimeBackup;
|
|
34
44
|
verifyBackup(backupPath: string): UptimeBackupCheck;
|
|
35
45
|
acquireCheckLease(monitorId: string, owner: string, ttlMs: number): boolean;
|
|
@@ -110,20 +120,32 @@ export declare class UptimeService {
|
|
|
110
120
|
private readonly inFlightReportSchedules;
|
|
111
121
|
constructor(options?: UptimeServiceOptions);
|
|
112
122
|
close(): void;
|
|
113
|
-
createMonitor(input: CreateMonitorInput
|
|
114
|
-
|
|
115
|
-
|
|
123
|
+
createMonitor(input: CreateMonitorInput, options?: {
|
|
124
|
+
workspaceId?: string;
|
|
125
|
+
}): Monitor;
|
|
126
|
+
updateMonitor(idOrName: string, input: UpdateMonitorInput, options?: {
|
|
127
|
+
workspaceId?: string;
|
|
128
|
+
}): Monitor;
|
|
129
|
+
deleteMonitor(idOrName: string, options?: {
|
|
130
|
+
workspaceId?: string;
|
|
131
|
+
}): boolean;
|
|
116
132
|
listMonitors(options?: {
|
|
117
133
|
includeDisabled?: boolean;
|
|
134
|
+
workspaceId?: string;
|
|
118
135
|
}): Monitor[];
|
|
119
|
-
getMonitor(idOrName: string
|
|
136
|
+
getMonitor(idOrName: string, options?: {
|
|
137
|
+
workspaceId?: string;
|
|
138
|
+
}): Monitor | null;
|
|
120
139
|
listResults(options?: ListResultsOptions): CheckResult[];
|
|
121
140
|
listIncidents(options?: {
|
|
122
141
|
status?: "open" | "closed";
|
|
123
142
|
monitorId?: string;
|
|
143
|
+
workspaceId?: string;
|
|
124
144
|
limit?: number;
|
|
125
145
|
}): Incident[];
|
|
126
|
-
summary(
|
|
146
|
+
summary(options?: {
|
|
147
|
+
workspaceId?: string;
|
|
148
|
+
}): UptimeSummary;
|
|
127
149
|
createProbe(input: CreateProbeInput): CreateProbeResult;
|
|
128
150
|
listProbes(options?: {
|
|
129
151
|
includeDisabled?: boolean;
|
|
@@ -153,7 +175,9 @@ export declare class UptimeService {
|
|
|
153
175
|
rollbackImport(batchId: string): ImportRollbackResult;
|
|
154
176
|
backup(destinationPath?: string): UptimeBackup;
|
|
155
177
|
verifyBackup(backupPath: string): UptimeBackupCheck;
|
|
156
|
-
buildReport(options?: BuildUptimeReportOptions
|
|
178
|
+
buildReport(options?: BuildUptimeReportOptions & {
|
|
179
|
+
workspaceId?: string;
|
|
180
|
+
}): UptimeReport;
|
|
157
181
|
sendReport(options?: SendUptimeReportOptions): Promise<UptimeReportDelivery[]>;
|
|
158
182
|
createReportSchedule(input: CreateReportScheduleInput): ReportSchedule;
|
|
159
183
|
listReportSchedules(options?: {
|
package/dist/service.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"AAEA,OAAO,EAA8C,KAAK,iBAAiB,EAAE,KAAK,aAAa,EAAE,KAAK,aAAa,EAAE,KAAK,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAErK,OAAO,EAAsC,KAAK,iBAAiB,EAAE,KAAK,oBAAoB,EAAE,KAAK,iBAAiB,EAAE,KAAK,4BAA4B,EAAE,KAAK,YAAY,EAAE,KAAK,iBAAiB,EAAE,KAAK,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAClP,OAAO,EAAuC,KAAK,wBAAwB,EAAE,KAAK,uBAAuB,EAAE,KAAK,YAAY,EAAE,KAAK,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAC7K,OAAO,KAAK,EACV,UAAU,EACV,kBAAkB,EAClB,WAAW,EACX,yBAAyB,EACzB,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,QAAQ,EACR,oBAAoB,EACpB,0BAA0B,EAC1B,sBAAsB,EACtB,qBAAqB,EACrB,kBAAkB,EAClB,OAAO,EACP,aAAa,EACb,aAAa,EACb,qBAAqB,EACrB,sBAAsB,EACtB,qBAAqB,EACrB,oBAAoB,EACpB,SAAS,EACT,cAAc,EACd,eAAe,EACf,kBAAkB,EAClB,yBAAyB,EACzB,aAAa,EACd,MAAM,YAAY,CAAC;AAKpB,MAAM,WAAW,oBAAqB,SAAQ,kBAAkB;IAC9D,KAAK,CAAC,EAAE,eAAe,CAAC;IACxB,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,kBAAkB,CAAC,CAAC;CACjE;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,OAAO,GAAG,QAAQ,CAAC;IAClC,QAAQ,CAAC,QAAQ,EAAE,cAAc,GAAG,qBAAqB,GAAG,mBAAmB,CAAC;IAChF,KAAK,IAAI,IAAI,CAAC;IACd,aAAa,CAAC,KAAK,EAAE,oBAAoB,EAAE,OAAO,CAAC,EAAE;QAAE,gBAAgB,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"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"}
|