@cronicorn/mcp-server 1.12.2 → 1.12.4
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/dist/docs/self-hosting.md +45 -28
- package/dist/index.js +85 -76
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -14,35 +14,60 @@ mcp:
|
|
|
14
14
|
|
|
15
15
|
# Self-Hosting Guide
|
|
16
16
|
|
|
17
|
-
Run Cronicorn on your own infrastructure using Docker Compose.
|
|
17
|
+
Run Cronicorn on your own infrastructure using Docker Compose with built-in Traefik reverse proxy for automatic HTTPS.
|
|
18
18
|
|
|
19
19
|
## Quick Start
|
|
20
20
|
|
|
21
21
|
1. **Download the compose file**
|
|
22
22
|
|
|
23
|
-
Get [`docker-compose.yml`](https://github.com/weskerllc/cronicorn/blob/main/docker-compose.yml) from the repo. This file pulls pre-built images from our registry—no building required.
|
|
23
|
+
Get [`docker-compose.yml`](https://github.com/weskerllc/cronicorn/blob/main/docker-compose.yml) from the repo. This file pulls pre-built images from our registry—no building required. It includes Traefik for automatic HTTPS and routing.
|
|
24
24
|
|
|
25
25
|
2. **Create environment file**
|
|
26
26
|
|
|
27
|
-
Create a `.env` file in the same directory. See [`.env.example`](https://github.com/weskerllc/cronicorn/blob/main/.env.example) for all options.
|
|
28
|
-
|
|
27
|
+
Create a `.env` file in the same directory. See [`.env.example`](https://github.com/weskerllc/cronicorn/blob/main/.env.example) for all options.
|
|
28
|
+
|
|
29
|
+
**For local development** (no domain needed):
|
|
29
30
|
```bash
|
|
30
31
|
# Generate with: openssl rand -base64 32
|
|
31
32
|
BETTER_AUTH_SECRET=your-random-32-character-secret-here
|
|
33
|
+
|
|
34
|
+
# Optional: Use free .localhost domain (works without DNS)
|
|
35
|
+
DOMAIN=cronicorn.localhost
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
**For production** (with your own domain):
|
|
39
|
+
```bash
|
|
40
|
+
# Required
|
|
41
|
+
BETTER_AUTH_SECRET=your-random-32-character-secret-here
|
|
42
|
+
DOMAIN=yourdomain.com
|
|
43
|
+
LETSENCRYPT_EMAIL=admin@yourdomain.com
|
|
44
|
+
|
|
45
|
+
# Update URLs to use your domain
|
|
46
|
+
WEB_URL=https://yourdomain.com
|
|
47
|
+
API_URL=http://cronicorn-api:3333 # Keep internal
|
|
48
|
+
BETTER_AUTH_URL=https://yourdomain.com
|
|
49
|
+
BASE_URL=https://yourdomain.com
|
|
50
|
+
VITE_API_URL=https://yourdomain.com
|
|
32
51
|
```
|
|
33
52
|
|
|
34
|
-
|
|
53
|
+
3. **Point your domain to your server** (production only)
|
|
54
|
+
|
|
55
|
+
Add DNS A records:
|
|
56
|
+
- `yourdomain.com` → Your server IP
|
|
57
|
+
- `docs.yourdomain.com` → Your server IP
|
|
35
58
|
|
|
36
|
-
|
|
59
|
+
4. **Start services**
|
|
37
60
|
|
|
38
61
|
```bash
|
|
39
62
|
docker compose up -d
|
|
40
63
|
```
|
|
41
64
|
|
|
42
|
-
|
|
65
|
+
5. **Access the app**
|
|
43
66
|
|
|
44
|
-
- **
|
|
45
|
-
- **
|
|
67
|
+
- **Local**: http://localhost (or http://cronicorn.localhost if using DOMAIN)
|
|
68
|
+
- **Production**: https://yourdomain.com (Traefik handles HTTPS automatically)
|
|
69
|
+
- **Docs**: https://docs.yourdomain.com
|
|
70
|
+
- **API**: https://yourdomain.com/api/*
|
|
46
71
|
- **Login**: Use default admin credentials from `.env.example`
|
|
47
72
|
|
|
48
73
|
## Optional Features
|
|
@@ -69,28 +94,20 @@ AI_MODEL=gpt-4o-mini
|
|
|
69
94
|
|
|
70
95
|
See `.env.example` for required Stripe configuration.
|
|
71
96
|
|
|
72
|
-
##
|
|
97
|
+
## How It Works
|
|
73
98
|
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
VITE_API_URL=https://cronicorn.yourdomain.com # Used at build time for client-side requests
|
|
81
|
-
BASE_URL=https://cronicorn.yourdomain.com
|
|
82
|
-
|
|
83
|
-
# Internal URLs (Docker network, used by web SSR to call API)
|
|
84
|
-
API_URL=http://cronicorn-api:3333 # Keep this as internal Docker hostname
|
|
85
|
-
```
|
|
99
|
+
The included Traefik reverse proxy automatically:
|
|
100
|
+
- Routes `yourdomain.com/` to the web app
|
|
101
|
+
- Routes `yourdomain.com/api/*` to the API
|
|
102
|
+
- Routes `docs.yourdomain.com` to documentation
|
|
103
|
+
- Obtains and renews Let's Encrypt SSL certificates
|
|
104
|
+
- Redirects HTTP to HTTPS
|
|
86
105
|
|
|
87
|
-
**
|
|
88
|
-
- **Client-side** (browser):
|
|
89
|
-
- **Server-side** (SSR):
|
|
106
|
+
**Architecture**:
|
|
107
|
+
- **Client-side requests** (browser): `https://yourdomain.com/api/*` → Traefik → API container
|
|
108
|
+
- **Server-side requests** (SSR): `http://cronicorn-api:3333` → Direct internal Docker network call
|
|
90
109
|
|
|
91
|
-
|
|
92
|
-
- `yourdomain.com/` → Web container (port 5173)
|
|
93
|
-
- `yourdomain.com/api/*` → API container (port 3333)
|
|
110
|
+
No manual reverse proxy configuration needed!
|
|
94
111
|
|
|
95
112
|
## Useful Commands
|
|
96
113
|
|
package/dist/index.js
CHANGED
|
@@ -2370,11 +2370,11 @@ var require_luxon = __commonJS({
|
|
|
2370
2370
|
return [null, null];
|
|
2371
2371
|
}
|
|
2372
2372
|
function simpleParse(...keys) {
|
|
2373
|
-
return (
|
|
2373
|
+
return (match3, cursor) => {
|
|
2374
2374
|
const ret = {};
|
|
2375
2375
|
let i;
|
|
2376
2376
|
for (i = 0; i < keys.length; i++) {
|
|
2377
|
-
ret[keys[i]] = parseInteger(
|
|
2377
|
+
ret[keys[i]] = parseInteger(match3[cursor + i]);
|
|
2378
2378
|
}
|
|
2379
2379
|
return [ret, null, cursor + i];
|
|
2380
2380
|
};
|
|
@@ -2392,39 +2392,39 @@ var require_luxon = __commonJS({
|
|
|
2392
2392
|
var sqlYmdRegex = /(\d{4})-(\d\d)-(\d\d)/;
|
|
2393
2393
|
var sqlTimeRegex = RegExp(`${isoTimeBaseRegex.source} ?(?:${offsetRegex.source}|(${ianaRegex.source}))?`);
|
|
2394
2394
|
var sqlTimeExtensionRegex = RegExp(`(?: ${sqlTimeRegex.source})?`);
|
|
2395
|
-
function int(
|
|
2396
|
-
const m =
|
|
2395
|
+
function int(match3, pos, fallback) {
|
|
2396
|
+
const m = match3[pos];
|
|
2397
2397
|
return isUndefined(m) ? fallback : parseInteger(m);
|
|
2398
2398
|
}
|
|
2399
|
-
function extractISOYmd(
|
|
2399
|
+
function extractISOYmd(match3, cursor) {
|
|
2400
2400
|
const item = {
|
|
2401
|
-
year: int(
|
|
2402
|
-
month: int(
|
|
2403
|
-
day: int(
|
|
2401
|
+
year: int(match3, cursor),
|
|
2402
|
+
month: int(match3, cursor + 1, 1),
|
|
2403
|
+
day: int(match3, cursor + 2, 1)
|
|
2404
2404
|
};
|
|
2405
2405
|
return [item, null, cursor + 3];
|
|
2406
2406
|
}
|
|
2407
|
-
function extractISOTime(
|
|
2407
|
+
function extractISOTime(match3, cursor) {
|
|
2408
2408
|
const item = {
|
|
2409
|
-
hours: int(
|
|
2410
|
-
minutes: int(
|
|
2411
|
-
seconds: int(
|
|
2412
|
-
milliseconds: parseMillis(
|
|
2409
|
+
hours: int(match3, cursor, 0),
|
|
2410
|
+
minutes: int(match3, cursor + 1, 0),
|
|
2411
|
+
seconds: int(match3, cursor + 2, 0),
|
|
2412
|
+
milliseconds: parseMillis(match3[cursor + 3])
|
|
2413
2413
|
};
|
|
2414
2414
|
return [item, null, cursor + 4];
|
|
2415
2415
|
}
|
|
2416
|
-
function extractISOOffset(
|
|
2417
|
-
const local = !
|
|
2416
|
+
function extractISOOffset(match3, cursor) {
|
|
2417
|
+
const local = !match3[cursor] && !match3[cursor + 1], fullOffset = signedOffset(match3[cursor + 1], match3[cursor + 2]), zone = local ? null : FixedOffsetZone.instance(fullOffset);
|
|
2418
2418
|
return [{}, zone, cursor + 3];
|
|
2419
2419
|
}
|
|
2420
|
-
function extractIANAZone(
|
|
2421
|
-
const zone =
|
|
2420
|
+
function extractIANAZone(match3, cursor) {
|
|
2421
|
+
const zone = match3[cursor] ? IANAZone.create(match3[cursor]) : null;
|
|
2422
2422
|
return [{}, zone, cursor + 1];
|
|
2423
2423
|
}
|
|
2424
2424
|
var isoTimeOnly = RegExp(`^T?${isoTimeBaseRegex.source}$`);
|
|
2425
2425
|
var isoDuration = /^-?P(?:(?:(-?\d{1,20}(?:\.\d{1,20})?)Y)?(?:(-?\d{1,20}(?:\.\d{1,20})?)M)?(?:(-?\d{1,20}(?:\.\d{1,20})?)W)?(?:(-?\d{1,20}(?:\.\d{1,20})?)D)?(?:T(?:(-?\d{1,20}(?:\.\d{1,20})?)H)?(?:(-?\d{1,20}(?:\.\d{1,20})?)M)?(?:(-?\d{1,20})(?:[.,](-?\d{1,20}))?S)?)?)$/;
|
|
2426
|
-
function extractISODuration(
|
|
2427
|
-
const [s2, yearStr, monthStr, weekStr, dayStr, hourStr, minuteStr, secondStr, millisecondsStr] =
|
|
2426
|
+
function extractISODuration(match3) {
|
|
2427
|
+
const [s2, yearStr, monthStr, weekStr, dayStr, hourStr, minuteStr, secondStr, millisecondsStr] = match3;
|
|
2428
2428
|
const hasNegativePrefix = s2[0] === "-";
|
|
2429
2429
|
const negativeSeconds = secondStr && secondStr[0] === "-";
|
|
2430
2430
|
const maybeNegate = (num, force = false) => num !== void 0 && (force || num && hasNegativePrefix) ? -num : num;
|
|
@@ -2465,8 +2465,8 @@ var require_luxon = __commonJS({
|
|
|
2465
2465
|
return result;
|
|
2466
2466
|
}
|
|
2467
2467
|
var rfc2822 = /^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|(?:([+-]\d\d)(\d\d)))$/;
|
|
2468
|
-
function extractRFC2822(
|
|
2469
|
-
const [, weekdayStr, dayStr, monthStr, yearStr, hourStr, minuteStr, secondStr, obsOffset, milOffset, offHourStr, offMinuteStr] =
|
|
2468
|
+
function extractRFC2822(match3) {
|
|
2469
|
+
const [, weekdayStr, dayStr, monthStr, yearStr, hourStr, minuteStr, secondStr, obsOffset, milOffset, offHourStr, offMinuteStr] = match3, result = fromStrings(weekdayStr, yearStr, monthStr, dayStr, hourStr, minuteStr, secondStr);
|
|
2470
2470
|
let offset2;
|
|
2471
2471
|
if (obsOffset) {
|
|
2472
2472
|
offset2 = obsOffsets[obsOffset];
|
|
@@ -2483,12 +2483,12 @@ var require_luxon = __commonJS({
|
|
|
2483
2483
|
var rfc1123 = /^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), (\d\d) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) (\d{4}) (\d\d):(\d\d):(\d\d) GMT$/;
|
|
2484
2484
|
var rfc850 = /^(Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday), (\d\d)-(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)-(\d\d) (\d\d):(\d\d):(\d\d) GMT$/;
|
|
2485
2485
|
var ascii = /^(Mon|Tue|Wed|Thu|Fri|Sat|Sun) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) ( \d|\d\d) (\d\d):(\d\d):(\d\d) (\d{4})$/;
|
|
2486
|
-
function extractRFC1123Or850(
|
|
2487
|
-
const [, weekdayStr, dayStr, monthStr, yearStr, hourStr, minuteStr, secondStr] =
|
|
2486
|
+
function extractRFC1123Or850(match3) {
|
|
2487
|
+
const [, weekdayStr, dayStr, monthStr, yearStr, hourStr, minuteStr, secondStr] = match3, result = fromStrings(weekdayStr, yearStr, monthStr, dayStr, hourStr, minuteStr, secondStr);
|
|
2488
2488
|
return [result, FixedOffsetZone.utcInstance];
|
|
2489
2489
|
}
|
|
2490
|
-
function extractASCII(
|
|
2491
|
-
const [, weekdayStr, monthStr, dayStr, hourStr, minuteStr, secondStr, yearStr] =
|
|
2490
|
+
function extractASCII(match3) {
|
|
2491
|
+
const [, weekdayStr, monthStr, dayStr, hourStr, minuteStr, secondStr, yearStr] = match3, result = fromStrings(weekdayStr, yearStr, monthStr, dayStr, hourStr, minuteStr, secondStr);
|
|
2492
2492
|
return [result, FixedOffsetZone.utcInstance];
|
|
2493
2493
|
}
|
|
2494
2494
|
var isoYmdWithTimeExtensionRegex = combineRegexes(isoYmdRegex, isoTimeExtensionRegex);
|
|
@@ -4461,7 +4461,7 @@ var require_luxon = __commonJS({
|
|
|
4461
4461
|
const re = units.map((u) => u.regex).reduce((f, r) => `${f}(${r.source})`, "");
|
|
4462
4462
|
return [`^${re}$`, units];
|
|
4463
4463
|
}
|
|
4464
|
-
function
|
|
4464
|
+
function match2(input, regex, handlers) {
|
|
4465
4465
|
const matches = input.match(regex);
|
|
4466
4466
|
if (matches) {
|
|
4467
4467
|
const all = {};
|
|
@@ -4592,7 +4592,7 @@ var require_luxon = __commonJS({
|
|
|
4592
4592
|
invalidReason: this.invalidReason
|
|
4593
4593
|
};
|
|
4594
4594
|
} else {
|
|
4595
|
-
const [rawMatches, matches] =
|
|
4595
|
+
const [rawMatches, matches] = match2(input, this.regex, this.handlers), [result, zone, specificOffset] = matches ? dateTimeFromMatches(matches) : [null, null, void 0];
|
|
4596
4596
|
if (hasOwnProperty(matches, "a") && hasOwnProperty(matches, "H")) {
|
|
4597
4597
|
throw new ConflictingSpecificationError("Can't include meridiem when specifying 24-hour format");
|
|
4598
4598
|
}
|
|
@@ -7222,12 +7222,12 @@ var require_expression = __commonJS({
|
|
|
7222
7222
|
case "month":
|
|
7223
7223
|
case "dayOfWeek":
|
|
7224
7224
|
var aliases = CronExpression.aliases[field];
|
|
7225
|
-
value = value.replace(/[a-z]{3}/gi, function(
|
|
7226
|
-
|
|
7227
|
-
if (typeof aliases[
|
|
7228
|
-
return aliases[
|
|
7225
|
+
value = value.replace(/[a-z]{3}/gi, function(match2) {
|
|
7226
|
+
match2 = match2.toLowerCase();
|
|
7227
|
+
if (typeof aliases[match2] !== "undefined") {
|
|
7228
|
+
return aliases[match2];
|
|
7229
7229
|
} else {
|
|
7230
|
-
throw new Error('Validation error, cannot resolve alias "' +
|
|
7230
|
+
throw new Error('Validation error, cannot resolve alias "' + match2 + '"');
|
|
7231
7231
|
}
|
|
7232
7232
|
});
|
|
7233
7233
|
break;
|
|
@@ -7999,8 +7999,8 @@ async function defaultBrowserId() {
|
|
|
7999
7999
|
throw new Error("macOS only");
|
|
8000
8000
|
}
|
|
8001
8001
|
const { stdout } = await execFileAsync("defaults", ["read", "com.apple.LaunchServices/com.apple.launchservices.secure", "LSHandlers"]);
|
|
8002
|
-
const
|
|
8003
|
-
return
|
|
8002
|
+
const match2 = /LSHandlerRoleAll = "(?!-)(?<id>[^"]+?)";\s+?LSHandlerURLScheme = (?:http|https);/.exec(stdout);
|
|
8003
|
+
return match2?.groups.id ?? "com.apple.Safari";
|
|
8004
8004
|
}
|
|
8005
8005
|
|
|
8006
8006
|
// ../../node_modules/.pnpm/bundle-name@4.1.0/node_modules/bundle-name/index.js
|
|
@@ -8058,11 +8058,11 @@ async function defaultBrowser(_execFileAsync = execFileAsync3) {
|
|
|
8058
8058
|
"/v",
|
|
8059
8059
|
"ProgId"
|
|
8060
8060
|
]);
|
|
8061
|
-
const
|
|
8062
|
-
if (!
|
|
8061
|
+
const match2 = /ProgId\s*REG_SZ\s*(?<id>\S+)/.exec(stdout);
|
|
8062
|
+
if (!match2) {
|
|
8063
8063
|
throw new UnknownBrowserError(`Cannot find Windows browser in stdout: ${JSON.stringify(stdout)}`);
|
|
8064
8064
|
}
|
|
8065
|
-
const { id } =
|
|
8065
|
+
const { id } = match2.groups;
|
|
8066
8066
|
const browser = windowsBrowserProgIds[id];
|
|
8067
8067
|
if (!browser) {
|
|
8068
8068
|
throw new UnknownBrowserError(`Unknown browser ID: ${id}`);
|
|
@@ -13545,7 +13545,7 @@ var HealthSummaryResponseBaseSchema = external_exports.object({
|
|
|
13545
13545
|
// ../../packages/api-contracts/dist/jobs/schemas.js
|
|
13546
13546
|
init_esm_shims();
|
|
13547
13547
|
|
|
13548
|
-
// ../../node_modules/.pnpm/@hono+zod-openapi@0.19.10_hono@4.
|
|
13548
|
+
// ../../node_modules/.pnpm/@hono+zod-openapi@0.19.10_hono@4.10.6_zod@3.25.76/node_modules/@hono/zod-openapi/dist/index.js
|
|
13549
13549
|
init_esm_shims();
|
|
13550
13550
|
|
|
13551
13551
|
// ../../node_modules/.pnpm/@asteasolutions+zod-to-openapi@7.3.4_zod@3.25.76/node_modules/@asteasolutions/zod-to-openapi/dist/index.mjs
|
|
@@ -13633,32 +13633,32 @@ function extendZodWithOpenApi(zod) {
|
|
|
13633
13633
|
};
|
|
13634
13634
|
}
|
|
13635
13635
|
|
|
13636
|
-
// ../../node_modules/.pnpm/@hono+zod-validator@0.7.4_hono@4.
|
|
13636
|
+
// ../../node_modules/.pnpm/@hono+zod-validator@0.7.4_hono@4.10.6_zod@3.25.76/node_modules/@hono/zod-validator/dist/index.js
|
|
13637
13637
|
init_esm_shims();
|
|
13638
13638
|
|
|
13639
|
-
// ../../node_modules/.pnpm/hono@4.
|
|
13639
|
+
// ../../node_modules/.pnpm/hono@4.10.6/node_modules/hono/dist/validator/index.js
|
|
13640
13640
|
init_esm_shims();
|
|
13641
13641
|
|
|
13642
|
-
// ../../node_modules/.pnpm/hono@4.
|
|
13642
|
+
// ../../node_modules/.pnpm/hono@4.10.6/node_modules/hono/dist/validator/validator.js
|
|
13643
13643
|
init_esm_shims();
|
|
13644
13644
|
|
|
13645
|
-
// ../../node_modules/.pnpm/hono@4.
|
|
13645
|
+
// ../../node_modules/.pnpm/hono@4.10.6/node_modules/hono/dist/helper/cookie/index.js
|
|
13646
13646
|
init_esm_shims();
|
|
13647
13647
|
|
|
13648
|
-
// ../../node_modules/.pnpm/hono@4.
|
|
13648
|
+
// ../../node_modules/.pnpm/hono@4.10.6/node_modules/hono/dist/utils/cookie.js
|
|
13649
13649
|
init_esm_shims();
|
|
13650
13650
|
|
|
13651
|
-
// ../../node_modules/.pnpm/hono@4.
|
|
13651
|
+
// ../../node_modules/.pnpm/hono@4.10.6/node_modules/hono/dist/utils/url.js
|
|
13652
13652
|
init_esm_shims();
|
|
13653
13653
|
var tryDecode = (str, decoder) => {
|
|
13654
13654
|
try {
|
|
13655
13655
|
return decoder(str);
|
|
13656
13656
|
} catch {
|
|
13657
|
-
return str.replace(/(?:%[0-9A-Fa-f]{2})+/g, (
|
|
13657
|
+
return str.replace(/(?:%[0-9A-Fa-f]{2})+/g, (match2) => {
|
|
13658
13658
|
try {
|
|
13659
|
-
return decoder(
|
|
13659
|
+
return decoder(match2);
|
|
13660
13660
|
} catch {
|
|
13661
|
-
return
|
|
13661
|
+
return match2;
|
|
13662
13662
|
}
|
|
13663
13663
|
});
|
|
13664
13664
|
}
|
|
@@ -13675,9 +13675,12 @@ var _decodeURI = (value) => {
|
|
|
13675
13675
|
var _getQueryParam = (url, key, multiple) => {
|
|
13676
13676
|
let encoded;
|
|
13677
13677
|
if (!multiple && key && !/[%+]/.test(key)) {
|
|
13678
|
-
let keyIndex2 = url.indexOf(
|
|
13678
|
+
let keyIndex2 = url.indexOf("?", 8);
|
|
13679
13679
|
if (keyIndex2 === -1) {
|
|
13680
|
-
|
|
13680
|
+
return void 0;
|
|
13681
|
+
}
|
|
13682
|
+
if (!url.startsWith(key, keyIndex2 + 1)) {
|
|
13683
|
+
keyIndex2 = url.indexOf(`&${key}`, keyIndex2 + 1);
|
|
13681
13684
|
}
|
|
13682
13685
|
while (keyIndex2 !== -1) {
|
|
13683
13686
|
const trailingKeyCode = url.charCodeAt(keyIndex2 + key.length + 1);
|
|
@@ -13742,38 +13745,38 @@ var getQueryParams = (url, key) => {
|
|
|
13742
13745
|
};
|
|
13743
13746
|
var decodeURIComponent_ = decodeURIComponent;
|
|
13744
13747
|
|
|
13745
|
-
// ../../node_modules/.pnpm/hono@4.
|
|
13748
|
+
// ../../node_modules/.pnpm/hono@4.10.6/node_modules/hono/dist/http-exception.js
|
|
13746
13749
|
init_esm_shims();
|
|
13747
13750
|
|
|
13748
|
-
// ../../node_modules/.pnpm/hono@4.
|
|
13751
|
+
// ../../node_modules/.pnpm/hono@4.10.6/node_modules/hono/dist/utils/buffer.js
|
|
13749
13752
|
init_esm_shims();
|
|
13750
13753
|
|
|
13751
|
-
// ../../node_modules/.pnpm/hono@4.
|
|
13754
|
+
// ../../node_modules/.pnpm/hono@4.10.6/node_modules/hono/dist/utils/crypto.js
|
|
13752
13755
|
init_esm_shims();
|
|
13753
13756
|
|
|
13754
|
-
// ../../node_modules/.pnpm/hono@4.
|
|
13757
|
+
// ../../node_modules/.pnpm/hono@4.10.6/node_modules/hono/dist/index.js
|
|
13755
13758
|
init_esm_shims();
|
|
13756
13759
|
|
|
13757
|
-
// ../../node_modules/.pnpm/hono@4.
|
|
13760
|
+
// ../../node_modules/.pnpm/hono@4.10.6/node_modules/hono/dist/hono.js
|
|
13758
13761
|
init_esm_shims();
|
|
13759
13762
|
|
|
13760
|
-
// ../../node_modules/.pnpm/hono@4.
|
|
13763
|
+
// ../../node_modules/.pnpm/hono@4.10.6/node_modules/hono/dist/hono-base.js
|
|
13761
13764
|
init_esm_shims();
|
|
13762
13765
|
|
|
13763
|
-
// ../../node_modules/.pnpm/hono@4.
|
|
13766
|
+
// ../../node_modules/.pnpm/hono@4.10.6/node_modules/hono/dist/compose.js
|
|
13764
13767
|
init_esm_shims();
|
|
13765
13768
|
|
|
13766
|
-
// ../../node_modules/.pnpm/hono@4.
|
|
13769
|
+
// ../../node_modules/.pnpm/hono@4.10.6/node_modules/hono/dist/context.js
|
|
13767
13770
|
init_esm_shims();
|
|
13768
13771
|
|
|
13769
|
-
// ../../node_modules/.pnpm/hono@4.
|
|
13772
|
+
// ../../node_modules/.pnpm/hono@4.10.6/node_modules/hono/dist/request.js
|
|
13770
13773
|
init_esm_shims();
|
|
13771
13774
|
|
|
13772
|
-
// ../../node_modules/.pnpm/hono@4.
|
|
13775
|
+
// ../../node_modules/.pnpm/hono@4.10.6/node_modules/hono/dist/request/constants.js
|
|
13773
13776
|
init_esm_shims();
|
|
13774
13777
|
var GET_MATCH_RESULT = Symbol();
|
|
13775
13778
|
|
|
13776
|
-
// ../../node_modules/.pnpm/hono@4.
|
|
13779
|
+
// ../../node_modules/.pnpm/hono@4.10.6/node_modules/hono/dist/utils/body.js
|
|
13777
13780
|
init_esm_shims();
|
|
13778
13781
|
var parseBody = async (request, options = /* @__PURE__ */ Object.create(null)) => {
|
|
13779
13782
|
const { all = false, dot = false } = options;
|
|
@@ -13843,7 +13846,7 @@ var handleParsingNestedValues = (form, key, value) => {
|
|
|
13843
13846
|
});
|
|
13844
13847
|
};
|
|
13845
13848
|
|
|
13846
|
-
// ../../node_modules/.pnpm/hono@4.
|
|
13849
|
+
// ../../node_modules/.pnpm/hono@4.10.6/node_modules/hono/dist/request.js
|
|
13847
13850
|
var tryDecodeURIComponent = (str) => tryDecode(str, decodeURIComponent_);
|
|
13848
13851
|
var HonoRequest = class {
|
|
13849
13852
|
raw;
|
|
@@ -13864,14 +13867,14 @@ var HonoRequest = class {
|
|
|
13864
13867
|
#getDecodedParam(key) {
|
|
13865
13868
|
const paramKey = this.#matchResult[0][this.routeIndex][1][key];
|
|
13866
13869
|
const param = this.#getParamValue(paramKey);
|
|
13867
|
-
return param
|
|
13870
|
+
return param && /\%/.test(param) ? tryDecodeURIComponent(param) : param;
|
|
13868
13871
|
}
|
|
13869
13872
|
#getAllDecodedParams() {
|
|
13870
13873
|
const decoded = {};
|
|
13871
13874
|
const keys = Object.keys(this.#matchResult[0][this.routeIndex][1]);
|
|
13872
13875
|
for (const key of keys) {
|
|
13873
13876
|
const value = this.#getParamValue(this.#matchResult[0][this.routeIndex][1][key]);
|
|
13874
|
-
if (value
|
|
13877
|
+
if (value !== void 0) {
|
|
13875
13878
|
decoded[key] = /\%/.test(value) ? tryDecodeURIComponent(value) : value;
|
|
13876
13879
|
}
|
|
13877
13880
|
}
|
|
@@ -13954,45 +13957,51 @@ var HonoRequest = class {
|
|
|
13954
13957
|
}
|
|
13955
13958
|
};
|
|
13956
13959
|
|
|
13957
|
-
// ../../node_modules/.pnpm/hono@4.
|
|
13960
|
+
// ../../node_modules/.pnpm/hono@4.10.6/node_modules/hono/dist/utils/html.js
|
|
13958
13961
|
init_esm_shims();
|
|
13959
13962
|
|
|
13960
|
-
// ../../node_modules/.pnpm/hono@4.
|
|
13963
|
+
// ../../node_modules/.pnpm/hono@4.10.6/node_modules/hono/dist/router.js
|
|
13961
13964
|
init_esm_shims();
|
|
13962
13965
|
|
|
13963
|
-
// ../../node_modules/.pnpm/hono@4.
|
|
13966
|
+
// ../../node_modules/.pnpm/hono@4.10.6/node_modules/hono/dist/utils/constants.js
|
|
13964
13967
|
init_esm_shims();
|
|
13965
13968
|
|
|
13966
|
-
// ../../node_modules/.pnpm/hono@4.
|
|
13969
|
+
// ../../node_modules/.pnpm/hono@4.10.6/node_modules/hono/dist/router/reg-exp-router/index.js
|
|
13967
13970
|
init_esm_shims();
|
|
13968
13971
|
|
|
13969
|
-
// ../../node_modules/.pnpm/hono@4.
|
|
13972
|
+
// ../../node_modules/.pnpm/hono@4.10.6/node_modules/hono/dist/router/reg-exp-router/router.js
|
|
13970
13973
|
init_esm_shims();
|
|
13971
13974
|
|
|
13972
|
-
// ../../node_modules/.pnpm/hono@4.
|
|
13975
|
+
// ../../node_modules/.pnpm/hono@4.10.6/node_modules/hono/dist/router/reg-exp-router/matcher.js
|
|
13976
|
+
init_esm_shims();
|
|
13977
|
+
|
|
13978
|
+
// ../../node_modules/.pnpm/hono@4.10.6/node_modules/hono/dist/router/reg-exp-router/node.js
|
|
13973
13979
|
init_esm_shims();
|
|
13974
13980
|
var PATH_ERROR = Symbol();
|
|
13975
13981
|
var regExpMetaChars = new Set(".\\+*[^]$()");
|
|
13976
13982
|
|
|
13977
|
-
// ../../node_modules/.pnpm/hono@4.
|
|
13983
|
+
// ../../node_modules/.pnpm/hono@4.10.6/node_modules/hono/dist/router/reg-exp-router/trie.js
|
|
13984
|
+
init_esm_shims();
|
|
13985
|
+
|
|
13986
|
+
// ../../node_modules/.pnpm/hono@4.10.6/node_modules/hono/dist/router/reg-exp-router/prepared-router.js
|
|
13978
13987
|
init_esm_shims();
|
|
13979
13988
|
|
|
13980
|
-
// ../../node_modules/.pnpm/hono@4.
|
|
13989
|
+
// ../../node_modules/.pnpm/hono@4.10.6/node_modules/hono/dist/router/smart-router/index.js
|
|
13981
13990
|
init_esm_shims();
|
|
13982
13991
|
|
|
13983
|
-
// ../../node_modules/.pnpm/hono@4.
|
|
13992
|
+
// ../../node_modules/.pnpm/hono@4.10.6/node_modules/hono/dist/router/smart-router/router.js
|
|
13984
13993
|
init_esm_shims();
|
|
13985
13994
|
|
|
13986
|
-
// ../../node_modules/.pnpm/hono@4.
|
|
13995
|
+
// ../../node_modules/.pnpm/hono@4.10.6/node_modules/hono/dist/router/trie-router/index.js
|
|
13987
13996
|
init_esm_shims();
|
|
13988
13997
|
|
|
13989
|
-
// ../../node_modules/.pnpm/hono@4.
|
|
13998
|
+
// ../../node_modules/.pnpm/hono@4.10.6/node_modules/hono/dist/router/trie-router/router.js
|
|
13990
13999
|
init_esm_shims();
|
|
13991
14000
|
|
|
13992
|
-
// ../../node_modules/.pnpm/hono@4.
|
|
14001
|
+
// ../../node_modules/.pnpm/hono@4.10.6/node_modules/hono/dist/router/trie-router/node.js
|
|
13993
14002
|
init_esm_shims();
|
|
13994
14003
|
|
|
13995
|
-
// ../../node_modules/.pnpm/@hono+zod-openapi@0.19.10_hono@4.
|
|
14004
|
+
// ../../node_modules/.pnpm/@hono+zod-openapi@0.19.10_hono@4.10.6_zod@3.25.76/node_modules/@hono/zod-openapi/dist/index.js
|
|
13996
14005
|
extendZodWithOpenApi(external_exports);
|
|
13997
14006
|
|
|
13998
14007
|
// ../../packages/api-contracts/dist/jobs/schemas.js
|