@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 +27 -2
- package/dist/index.mjs +3 -0
- package/package.json +6 -6
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
|
-
|
|
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": "
|
|
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.
|
|
34
|
-
"@theholocron/http-client": "^1.
|
|
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.
|
|
45
|
+
"@theholocron/cli": "5.0.0-alpha.141"
|
|
46
46
|
},
|
|
47
47
|
"peerDependencies": {
|
|
48
|
-
"@theholocron/checkly-client": "^1.
|
|
48
|
+
"@theholocron/checkly-client": "^1.42.0",
|
|
49
49
|
"@theholocron/misc-utils": "^1.9.2",
|
|
50
|
-
"@theholocron/cli": "5.0.0-alpha.
|
|
50
|
+
"@theholocron/cli": "5.0.0-alpha.141"
|
|
51
51
|
},
|
|
52
52
|
"engines": {
|
|
53
53
|
"node": ">=22"
|