@theholocron/holocron-plugin-checkly 2.0.0-alpha.1 → 5.0.0-alpha.141

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 CHANGED
@@ -40,7 +40,15 @@ holocron auth check checkly # verify — hits GET /v1/accounts
40
40
  `accountId` is required on every request (Checkly's `x-checkly-account`
41
41
  header) — it is not a secret, the same status as Vercel's `teamId`.
42
42
  `checks` is the list of API checks `holocron repo setup` ensures exist,
43
- each matched and upserted by exact `name`:
43
+ each matched and upserted by exact `name`. **`locations` is required** —
44
+ Checkly rejects a check with neither `locations` nor `privateLocations`
45
+ set (`400 "You have to set at least one location or privateLocation"`)
46
+ on any account with no account-level default configured, which includes
47
+ every free Hobby/trial account. **`shouldFail` is required whenever the
48
+ check's healthy response is itself an HTTP error status** — Checkly
49
+ classifies any response >= 400 as a platform-level failure before
50
+ assertions are evaluated at all; a custom assertion that matches the
51
+ "expected" error status does not override that on its own:
44
52
 
45
53
  ```ts
46
54
  monitoring: [
@@ -52,7 +60,24 @@ monitoring: [
52
60
  name: "Sentinel webhook uptime",
53
61
  url: "https://sentinel.theholocron.dev/api/webhook",
54
62
  method: "GET",
55
- assertions: [{ source: "status_code", comparison: "equals", target: "405" }],
63
+ locations: ["us-east-1"],
64
+ shouldFail: true, // 405 is the EXPECTED healthy response here
65
+ assertions: [
66
+ { source: "status_code", comparison: "equals", target: "405" },
67
+ { source: "body", comparison: "equals", target: "Method Not Allowed" },
68
+ ],
69
+ },
70
+ // body lets a check simulate a real request — here, a POST with no
71
+ // signature header, to prove signature verification is wired
72
+ // correctly end-to-end rather than just that the endpoint is reachable.
73
+ {
74
+ name: "Sentinel webhook signature verification",
75
+ url: "https://sentinel.theholocron.dev/api/webhook",
76
+ method: "POST",
77
+ locations: ["us-east-1"],
78
+ shouldFail: true, // 401 is the EXPECTED response to an unsigned POST
79
+ body: "{}",
80
+ assertions: [{ source: "status_code", comparison: "equals", target: "401" }],
56
81
  },
57
82
  ],
58
83
  },
package/dist/index.mjs CHANGED
@@ -29,9 +29,12 @@ function toChecklyPayload(input) {
29
29
  name: input.name,
30
30
  ...input.frequency !== void 0 ? { frequency: input.frequency } : {},
31
31
  ...input.activated !== void 0 ? { activated: input.activated } : {},
32
+ ...input.locations !== void 0 ? { locations: input.locations } : {},
33
+ ...input.shouldFail !== void 0 ? { shouldFail: input.shouldFail } : {},
32
34
  request: {
33
35
  url: input.url,
34
36
  method: input.method ?? "GET",
37
+ ...input.body !== void 0 ? { body: input.body } : {},
35
38
  assertions: (input.assertions ?? []).map((a) => ({
36
39
  source: SOURCE_MAP[a.source],
37
40
  comparison: COMPARISON_MAP[a.comparison],
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@theholocron/holocron-plugin-checkly",
3
- "version": "2.0.0-alpha.1",
3
+ "version": "5.0.0-alpha.141",
4
4
  "description": "Holocron plugin for Checkly. Implements the monitoring capability against Checkly's REST API, plus exports verifyToken + AUTH_HINT for `holocron auth`.",
5
5
  "keywords": [
6
6
  "checkly",
@@ -30,8 +30,8 @@
30
30
  "dist"
31
31
  ],
32
32
  "devDependencies": {
33
- "@theholocron/checkly-client": "^1.40.0",
34
- "@theholocron/http-client": "^1.40.0",
33
+ "@theholocron/checkly-client": "^1.42.0",
34
+ "@theholocron/http-client": "^1.42.0",
35
35
  "@theholocron/misc-utils": "^1.9.2",
36
36
  "@theholocron/tsconfig": "^8.7.1",
37
37
  "@types/node": "^26",
@@ -42,12 +42,12 @@
42
42
  "tsx": "4.23.12",
43
43
  "typescript": "^5.9.3",
44
44
  "vitest": "^4.1.11",
45
- "@theholocron/cli": "5.0.0-alpha.134"
45
+ "@theholocron/cli": "5.0.0-alpha.141"
46
46
  },
47
47
  "peerDependencies": {
48
- "@theholocron/checkly-client": "^1.40.0",
48
+ "@theholocron/checkly-client": "^1.42.0",
49
49
  "@theholocron/misc-utils": "^1.9.2",
50
- "@theholocron/cli": "5.0.0-alpha.134"
50
+ "@theholocron/cli": "5.0.0-alpha.141"
51
51
  },
52
52
  "engines": {
53
53
  "node": ">=22"