pr-shepherd 1.1.2 → 1.2.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.
Files changed (49) hide show
  1. package/.claude-plugin/plugin.json +1 -1
  2. package/README.md +17 -17
  3. package/bin/classify/standard/coderabbit-notices.mjs +17 -1
  4. package/bin/classify/standard/codex-notices.mjs +5 -3
  5. package/bin/cli/iterate-instructions.mjs +3 -1
  6. package/bin/cli/iterate-lean.mjs +8 -1
  7. package/bin/cli/triage-formatter.mjs +5 -1
  8. package/bin/commands/check-annotations.d.mts +8 -0
  9. package/bin/commands/check-annotations.mjs +10 -0
  10. package/bin/commands/check.mjs +15 -11
  11. package/bin/commands/iterate/check-blocker-gate.d.mts +2 -0
  12. package/bin/commands/iterate/check-blocker-gate.mjs +3 -1
  13. package/bin/commands/iterate/check-instructions.d.mts +7 -1
  14. package/bin/commands/iterate/check-instructions.mjs +10 -3
  15. package/bin/commands/iterate/index.mjs +17 -7
  16. package/bin/commands/iterate/merge-plan.d.mts +2 -0
  17. package/bin/commands/iterate/merge-plan.mjs +5 -0
  18. package/bin/commands/iterate/merge-state.d.mts +10 -1
  19. package/bin/commands/iterate/merge-state.mjs +1 -1
  20. package/bin/commands/iterate/native-stack-rebase.d.mts +13 -2
  21. package/bin/commands/iterate/native-stack-rebase.mjs +23 -3
  22. package/bin/commands/iterate/queued-conflict-deferral.d.mts +15 -0
  23. package/bin/commands/iterate/queued-conflict-deferral.mjs +20 -0
  24. package/bin/commands/iterate/render.d.mts +2 -1
  25. package/bin/commands/iterate/render.mjs +18 -12
  26. package/bin/commands/iterate/rerun-command.d.mts +7 -0
  27. package/bin/commands/iterate/rerun-command.mjs +22 -0
  28. package/bin/commands/iterate/run.mjs +2 -1
  29. package/bin/commands/iterate/triage.d.mts +5 -1
  30. package/bin/commands/iterate/triage.mjs +32 -11
  31. package/bin/commands/poll-summary-explicit-instructions.mjs +3 -0
  32. package/bin/commands/poll-summary-instructions.mjs +1 -1
  33. package/bin/comments/resolve.d.mts +2 -0
  34. package/bin/comments/resolve.mjs +7 -0
  35. package/bin/comments/rest-review-mutations.d.mts +1 -0
  36. package/bin/comments/rest-review-mutations.mjs +3 -1
  37. package/bin/types/iterate.d.mts +2 -0
  38. package/bin/types/report.d.mts +2 -0
  39. package/package.json +2 -2
  40. package/plugins/pr-shepherd/.claude-plugin/icon.png +0 -0
  41. package/plugins/pr-shepherd/.claude-plugin/plugin.json +1 -1
  42. package/plugins/pr-shepherd/.codex-plugin/plugin.json +1 -1
  43. package/plugins/pr-shepherd/.codex.mcp.json +1 -1
  44. package/plugins/pr-shepherd/.mcp.json +1 -1
  45. package/plugins/pr-shepherd/package-lock.json +1278 -0
  46. package/plugins/pr-shepherd/package.json +9 -0
  47. package/plugins/pr-shepherd/skills/pr-shepherd/SKILL.md +5 -4
  48. package/plugins/pr-shepherd/skills/pr-shepherd/references/branch-update.md +1 -1
  49. package/plugins/pr-shepherd/skills/pr-shepherd/references/event-loop.md +1 -1
@@ -0,0 +1,1278 @@
1
+ {
2
+ "name": "pr-shepherd-plugin",
3
+ "lockfileVersion": 3,
4
+ "requires": true,
5
+ "packages": {
6
+ "": {
7
+ "name": "pr-shepherd-plugin",
8
+ "license": "MIT",
9
+ "dependencies": {
10
+ "pr-shepherd": "1.1.2"
11
+ }
12
+ },
13
+ "node_modules/@hono/node-server": {
14
+ "version": "2.1.5",
15
+ "resolved": "https://registry.npmjs.org/@hono/node-server/-/node-server-2.1.5.tgz",
16
+ "integrity": "sha512-MgP/I06GdvsilDspMk/qmRzpk8LOUStP6jFAbSRi40W09DhoyUn+Mj7eyKICPqeYKybOjVFLVIAQzvu1bfIa7Q==",
17
+ "license": "MIT",
18
+ "engines": {
19
+ "node": ">=20"
20
+ },
21
+ "peerDependencies": {
22
+ "hono": "^4 || ^5.0.0-0"
23
+ }
24
+ },
25
+ "node_modules/@modelcontextprotocol/sdk": {
26
+ "version": "1.32.2",
27
+ "resolved": "https://registry.npmjs.org/@modelcontextprotocol/sdk/-/sdk-1.32.2.tgz",
28
+ "integrity": "sha512-SWsVtH/0vULSQStoZ6xxH2K09Li8fXYTMC64ZeogCdpZ3XSi1eCPOByV1OpuJxuI3OcmHhosDWYyii07tpPsLw==",
29
+ "license": "MIT",
30
+ "dependencies": {
31
+ "@hono/node-server": "^1.19.9 || ^2.0.5",
32
+ "ajv": "^8.17.1",
33
+ "ajv-formats": "^3.0.1",
34
+ "content-type": "^1.0.5",
35
+ "cors": "^2.8.5",
36
+ "cross-spawn": "^7.0.5",
37
+ "eventsource": "^3.0.2",
38
+ "eventsource-parser": "^3.0.0",
39
+ "express": "^5.2.1",
40
+ "express-rate-limit": "^8.2.1",
41
+ "hono": "^4.11.4",
42
+ "jose": "^6.1.3",
43
+ "json-schema-typed": "^8.0.2",
44
+ "pkce-challenge": "^5.0.0",
45
+ "raw-body": "^3.0.0",
46
+ "zod": "^3.25 || ^4.0",
47
+ "zod-to-json-schema": "^3.25.1"
48
+ },
49
+ "engines": {
50
+ "node": ">=18"
51
+ },
52
+ "peerDependencies": {
53
+ "@cfworker/json-schema": "^4.1.1",
54
+ "zod": "^3.25 || ^4.0"
55
+ },
56
+ "peerDependenciesMeta": {
57
+ "@cfworker/json-schema": {
58
+ "optional": true
59
+ },
60
+ "zod": {
61
+ "optional": false
62
+ }
63
+ }
64
+ },
65
+ "node_modules/accepts": {
66
+ "version": "2.0.0",
67
+ "resolved": "https://registry.npmjs.org/accepts/-/accepts-2.0.0.tgz",
68
+ "integrity": "sha512-5cvg6CtKwfgdmVqY1WIiXKc3Q1bkRqGLi+2W/6ao+6Y7gu/RCwRuAhGEzh5B4KlszSuTLgZYuqFqo5bImjNKng==",
69
+ "license": "MIT",
70
+ "dependencies": {
71
+ "mime-types": "^3.0.0",
72
+ "negotiator": "^1.0.0"
73
+ },
74
+ "engines": {
75
+ "node": ">= 0.6"
76
+ }
77
+ },
78
+ "node_modules/ajv": {
79
+ "version": "8.20.0",
80
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.20.0.tgz",
81
+ "integrity": "sha512-Thbli+OlOj+iMPYFBVBfJ3OmCAnaSyNn4M1vz9T6Gka5Jt9ba/HIR56joy65tY6kx/FCF5VXNB819Y7/GUrBGA==",
82
+ "license": "MIT",
83
+ "dependencies": {
84
+ "fast-deep-equal": "^3.1.3",
85
+ "fast-uri": "^3.0.1",
86
+ "json-schema-traverse": "^1.0.0",
87
+ "require-from-string": "^2.0.2"
88
+ },
89
+ "funding": {
90
+ "type": "github",
91
+ "url": "https://github.com/sponsors/epoberezkin"
92
+ }
93
+ },
94
+ "node_modules/ajv-formats": {
95
+ "version": "3.0.1",
96
+ "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-3.0.1.tgz",
97
+ "integrity": "sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==",
98
+ "license": "MIT",
99
+ "dependencies": {
100
+ "ajv": "^8.0.0"
101
+ },
102
+ "peerDependencies": {
103
+ "ajv": "^8.0.0"
104
+ },
105
+ "peerDependenciesMeta": {
106
+ "ajv": {
107
+ "optional": true
108
+ }
109
+ }
110
+ },
111
+ "node_modules/body-parser": {
112
+ "version": "2.4.0",
113
+ "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-2.4.0.tgz",
114
+ "integrity": "sha512-Ifk1KcLrxaGt1occQagQNFNNOqRt1LFuehEnHHzB8Z6cRgIxRU1TBaiIsUiCdA+gy5PL7Y1IX31DNKkRmxtXjQ==",
115
+ "license": "MIT",
116
+ "dependencies": {
117
+ "bytes": "^3.1.2",
118
+ "content-type": "^2.1.0",
119
+ "debug": "^4.4.3",
120
+ "http-errors": "^2.0.1",
121
+ "iconv-lite": "^0.7.3",
122
+ "on-finished": "^2.4.1",
123
+ "qs": "^6.16.1",
124
+ "raw-body": "^3.0.2",
125
+ "type-is": "^2.1.0"
126
+ },
127
+ "engines": {
128
+ "node": ">=18"
129
+ },
130
+ "funding": {
131
+ "type": "opencollective",
132
+ "url": "https://opencollective.com/express"
133
+ }
134
+ },
135
+ "node_modules/body-parser/node_modules/content-type": {
136
+ "version": "2.1.0",
137
+ "resolved": "https://registry.npmjs.org/content-type/-/content-type-2.1.0.tgz",
138
+ "integrity": "sha512-mj7UPXE0jaqaOsukNZRUEfEi2AcL7C/vwmwcHV0O97eO1E1pxBZuyjlZrx5seTaNBg1U6+o35wpa35Qfcc+7ag==",
139
+ "license": "MIT",
140
+ "engines": {
141
+ "node": ">=18"
142
+ },
143
+ "funding": {
144
+ "type": "opencollective",
145
+ "url": "https://opencollective.com/express"
146
+ }
147
+ },
148
+ "node_modules/bytes": {
149
+ "version": "3.1.2",
150
+ "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz",
151
+ "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==",
152
+ "license": "MIT",
153
+ "engines": {
154
+ "node": ">= 0.8"
155
+ }
156
+ },
157
+ "node_modules/call-bind-apply-helpers": {
158
+ "version": "1.0.2",
159
+ "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz",
160
+ "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==",
161
+ "license": "MIT",
162
+ "dependencies": {
163
+ "es-errors": "^1.3.0",
164
+ "function-bind": "^1.1.2"
165
+ },
166
+ "engines": {
167
+ "node": ">= 0.4"
168
+ }
169
+ },
170
+ "node_modules/call-bound": {
171
+ "version": "1.0.4",
172
+ "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz",
173
+ "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==",
174
+ "license": "MIT",
175
+ "dependencies": {
176
+ "call-bind-apply-helpers": "^1.0.2",
177
+ "get-intrinsic": "^1.3.0"
178
+ },
179
+ "engines": {
180
+ "node": ">= 0.4"
181
+ },
182
+ "funding": {
183
+ "url": "https://github.com/sponsors/ljharb"
184
+ }
185
+ },
186
+ "node_modules/content-disposition": {
187
+ "version": "2.0.1",
188
+ "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-2.0.1.tgz",
189
+ "integrity": "sha512-e+H0ZXHSWYrENhQzw1LPuP4oF5MzVKmDU6d3hxlvaPEYLLg62MxtQNPRx4SYSuYJSBUgnQIG4HIN2tEtNv7Dog==",
190
+ "license": "MIT",
191
+ "engines": {
192
+ "node": ">=18"
193
+ },
194
+ "funding": {
195
+ "type": "opencollective",
196
+ "url": "https://opencollective.com/express"
197
+ }
198
+ },
199
+ "node_modules/content-type": {
200
+ "version": "1.0.5",
201
+ "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz",
202
+ "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==",
203
+ "license": "MIT",
204
+ "engines": {
205
+ "node": ">= 0.6"
206
+ }
207
+ },
208
+ "node_modules/cookie": {
209
+ "version": "0.7.2",
210
+ "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.2.tgz",
211
+ "integrity": "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==",
212
+ "license": "MIT",
213
+ "engines": {
214
+ "node": ">= 0.6"
215
+ }
216
+ },
217
+ "node_modules/cookie-signature": {
218
+ "version": "1.2.2",
219
+ "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.2.2.tgz",
220
+ "integrity": "sha512-D76uU73ulSXrD1UXF4KE2TMxVVwhsnCgfAyTg9k8P6KGZjlXKrOLe4dJQKI3Bxi5wjesZoFXJWElNWBjPZMbhg==",
221
+ "license": "MIT",
222
+ "engines": {
223
+ "node": ">=6.6.0"
224
+ }
225
+ },
226
+ "node_modules/cors": {
227
+ "version": "2.8.6",
228
+ "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.6.tgz",
229
+ "integrity": "sha512-tJtZBBHA6vjIAaF6EnIaq6laBBP9aq/Y3ouVJjEfoHbRBcHBAHYcMh/w8LDrk2PvIMMq8gmopa5D4V8RmbrxGw==",
230
+ "license": "MIT",
231
+ "dependencies": {
232
+ "object-assign": "^4",
233
+ "vary": "^1"
234
+ },
235
+ "engines": {
236
+ "node": ">= 0.10"
237
+ },
238
+ "funding": {
239
+ "type": "opencollective",
240
+ "url": "https://opencollective.com/express"
241
+ }
242
+ },
243
+ "node_modules/cross-spawn": {
244
+ "version": "7.0.6",
245
+ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz",
246
+ "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==",
247
+ "license": "MIT",
248
+ "dependencies": {
249
+ "path-key": "^3.1.0",
250
+ "shebang-command": "^2.0.0",
251
+ "which": "^2.0.1"
252
+ },
253
+ "engines": {
254
+ "node": ">= 8"
255
+ }
256
+ },
257
+ "node_modules/debug": {
258
+ "version": "4.4.3",
259
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz",
260
+ "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==",
261
+ "license": "MIT",
262
+ "dependencies": {
263
+ "ms": "^2.1.3"
264
+ },
265
+ "engines": {
266
+ "node": ">=6.0"
267
+ },
268
+ "peerDependenciesMeta": {
269
+ "supports-color": {
270
+ "optional": true
271
+ }
272
+ }
273
+ },
274
+ "node_modules/depd": {
275
+ "version": "2.0.0",
276
+ "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz",
277
+ "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==",
278
+ "license": "MIT",
279
+ "engines": {
280
+ "node": ">= 0.8"
281
+ }
282
+ },
283
+ "node_modules/dunder-proto": {
284
+ "version": "1.0.1",
285
+ "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz",
286
+ "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==",
287
+ "license": "MIT",
288
+ "dependencies": {
289
+ "call-bind-apply-helpers": "^1.0.1",
290
+ "es-errors": "^1.3.0",
291
+ "gopd": "^1.2.0"
292
+ },
293
+ "engines": {
294
+ "node": ">= 0.4"
295
+ }
296
+ },
297
+ "node_modules/ee-first": {
298
+ "version": "1.1.1",
299
+ "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
300
+ "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==",
301
+ "license": "MIT"
302
+ },
303
+ "node_modules/encodeurl": {
304
+ "version": "2.0.1",
305
+ "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.1.tgz",
306
+ "integrity": "sha512-Ev/hIyePLZtpL98x562lvPtenrUfGr0lfaf44HFZ+hDEwso7ccV9QAZrEVLg0hxNAzygaAFxy2dYaAKKM0G06A==",
307
+ "license": "MIT",
308
+ "engines": {
309
+ "node": ">= 0.8"
310
+ },
311
+ "funding": {
312
+ "type": "opencollective",
313
+ "url": "https://opencollective.com/express"
314
+ }
315
+ },
316
+ "node_modules/es-define-property": {
317
+ "version": "1.0.1",
318
+ "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz",
319
+ "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==",
320
+ "license": "MIT",
321
+ "engines": {
322
+ "node": ">= 0.4"
323
+ }
324
+ },
325
+ "node_modules/es-errors": {
326
+ "version": "1.3.0",
327
+ "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz",
328
+ "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==",
329
+ "license": "MIT",
330
+ "engines": {
331
+ "node": ">= 0.4"
332
+ }
333
+ },
334
+ "node_modules/es-object-atoms": {
335
+ "version": "1.1.2",
336
+ "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.2.tgz",
337
+ "integrity": "sha512-HWcBoN6NileqtSydK2FqHbS/LoDd2pqrnQHLyJzBj4kOp/ky2MWMN694xOfkK8/SnUsW2DH7EfyVlydKCsm1Zw==",
338
+ "license": "MIT",
339
+ "dependencies": {
340
+ "es-errors": "^1.3.0"
341
+ },
342
+ "engines": {
343
+ "node": ">= 0.4"
344
+ }
345
+ },
346
+ "node_modules/escape-html": {
347
+ "version": "1.0.3",
348
+ "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
349
+ "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==",
350
+ "license": "MIT"
351
+ },
352
+ "node_modules/etag": {
353
+ "version": "1.8.1",
354
+ "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
355
+ "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==",
356
+ "license": "MIT",
357
+ "engines": {
358
+ "node": ">= 0.6"
359
+ }
360
+ },
361
+ "node_modules/eventsource": {
362
+ "version": "3.0.7",
363
+ "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-3.0.7.tgz",
364
+ "integrity": "sha512-CRT1WTyuQoD771GW56XEZFQ/ZoSfWid1alKGDYMmkt2yl8UXrVR4pspqWNEcqKvVIzg6PAltWjxcSSPrboA4iA==",
365
+ "license": "MIT",
366
+ "dependencies": {
367
+ "eventsource-parser": "^3.0.1"
368
+ },
369
+ "engines": {
370
+ "node": ">=18.0.0"
371
+ }
372
+ },
373
+ "node_modules/eventsource-parser": {
374
+ "version": "3.1.1",
375
+ "resolved": "https://registry.npmjs.org/eventsource-parser/-/eventsource-parser-3.1.1.tgz",
376
+ "integrity": "sha512-EKN1vKAMcZ8MlYMpaNuxN6R9yakzH6uajHcHVTqWJzvu5pWw9DyhbP35HH8MVBQ+dZjAfDxk+A8NiR9KWaXiyQ==",
377
+ "license": "MIT",
378
+ "engines": {
379
+ "node": ">=18.0.0"
380
+ }
381
+ },
382
+ "node_modules/express": {
383
+ "version": "5.3.0",
384
+ "resolved": "https://registry.npmjs.org/express/-/express-5.3.0.tgz",
385
+ "integrity": "sha512-qCqy1xSoaugxOD4IVHb1ZWdkvCF2W3aE2okKouWj8VwJ+ztskSiXoBnCSJqfKT+cVPJhuJqe9YLbY425+Zh00g==",
386
+ "license": "MIT",
387
+ "dependencies": {
388
+ "accepts": "^2.0.0",
389
+ "body-parser": "^2.3.0",
390
+ "content-disposition": "^2.0.1",
391
+ "content-type": "^2.0.0",
392
+ "cookie": "^0.7.1",
393
+ "cookie-signature": "^1.2.1",
394
+ "debug": "^4.4.0",
395
+ "depd": "^2.0.0",
396
+ "encodeurl": "^2.0.0",
397
+ "escape-html": "^1.0.3",
398
+ "etag": "^1.8.1",
399
+ "finalhandler": "^2.1.0",
400
+ "fresh": "^2.0.0",
401
+ "http-errors": "^2.0.0",
402
+ "merge-descriptors": "^2.0.0",
403
+ "mime-types": "^3.0.0",
404
+ "on-finished": "^2.4.1",
405
+ "once": "^1.4.0",
406
+ "parseurl": "^1.3.3",
407
+ "proxy-addr": "^2.0.8",
408
+ "qs": "^6.16.0",
409
+ "range-parser": "^1.2.1",
410
+ "router": "^2.2.0",
411
+ "send": "^1.1.0",
412
+ "serve-static": "^2.2.0",
413
+ "statuses": "^2.0.1",
414
+ "type-is": "^2.1.0",
415
+ "vary": "^1.1.2"
416
+ },
417
+ "engines": {
418
+ "node": ">= 18"
419
+ },
420
+ "funding": {
421
+ "type": "opencollective",
422
+ "url": "https://opencollective.com/express"
423
+ }
424
+ },
425
+ "node_modules/express-rate-limit": {
426
+ "version": "8.7.1",
427
+ "resolved": "https://registry.npmjs.org/express-rate-limit/-/express-rate-limit-8.7.1.tgz",
428
+ "integrity": "sha512-2FXbqkygil3mZiXzEtM0IjE/UBmBNot0J1GEVrJT4JbrvwOSoEtqtO+wHbiMQELWe1eNvHoYRg2dkjOid+6JkA==",
429
+ "license": "MIT",
430
+ "dependencies": {
431
+ "debug": "^4.4.3",
432
+ "ip-address": "^10.2.0"
433
+ },
434
+ "engines": {
435
+ "node": ">= 16"
436
+ },
437
+ "funding": {
438
+ "url": "https://github.com/sponsors/express-rate-limit"
439
+ },
440
+ "peerDependencies": {
441
+ "express": ">= 4.11"
442
+ }
443
+ },
444
+ "node_modules/express/node_modules/content-type": {
445
+ "version": "2.1.0",
446
+ "resolved": "https://registry.npmjs.org/content-type/-/content-type-2.1.0.tgz",
447
+ "integrity": "sha512-mj7UPXE0jaqaOsukNZRUEfEi2AcL7C/vwmwcHV0O97eO1E1pxBZuyjlZrx5seTaNBg1U6+o35wpa35Qfcc+7ag==",
448
+ "license": "MIT",
449
+ "engines": {
450
+ "node": ">=18"
451
+ },
452
+ "funding": {
453
+ "type": "opencollective",
454
+ "url": "https://opencollective.com/express"
455
+ }
456
+ },
457
+ "node_modules/fast-deep-equal": {
458
+ "version": "3.1.3",
459
+ "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
460
+ "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
461
+ "license": "MIT"
462
+ },
463
+ "node_modules/fast-uri": {
464
+ "version": "3.1.9",
465
+ "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.9.tgz",
466
+ "integrity": "sha512-hS/0Wt3Ya043oKXs0sIxrMpKQITXhMLIrVAKKXi4gozGC9v7YRWVnXIZzjNPTO02M9BdxLCWqK1yRXgNziVyJQ==",
467
+ "funding": [
468
+ {
469
+ "type": "github",
470
+ "url": "https://github.com/sponsors/fastify"
471
+ },
472
+ {
473
+ "type": "opencollective",
474
+ "url": "https://opencollective.com/fastify"
475
+ }
476
+ ],
477
+ "license": "BSD-3-Clause"
478
+ },
479
+ "node_modules/finalhandler": {
480
+ "version": "2.1.1",
481
+ "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-2.1.1.tgz",
482
+ "integrity": "sha512-S8KoZgRZN+a5rNwqTxlZZePjT/4cnm0ROV70LedRHZ0p8u9fRID0hJUZQpkKLzro8LfmC8sx23bY6tVNxv8pQA==",
483
+ "license": "MIT",
484
+ "dependencies": {
485
+ "debug": "^4.4.0",
486
+ "encodeurl": "^2.0.0",
487
+ "escape-html": "^1.0.3",
488
+ "on-finished": "^2.4.1",
489
+ "parseurl": "^1.3.3",
490
+ "statuses": "^2.0.1"
491
+ },
492
+ "engines": {
493
+ "node": ">= 18.0.0"
494
+ },
495
+ "funding": {
496
+ "type": "opencollective",
497
+ "url": "https://opencollective.com/express"
498
+ }
499
+ },
500
+ "node_modules/forwarded": {
501
+ "version": "0.2.0",
502
+ "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz",
503
+ "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==",
504
+ "license": "MIT",
505
+ "engines": {
506
+ "node": ">= 0.6"
507
+ }
508
+ },
509
+ "node_modules/fresh": {
510
+ "version": "2.0.0",
511
+ "resolved": "https://registry.npmjs.org/fresh/-/fresh-2.0.0.tgz",
512
+ "integrity": "sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A==",
513
+ "license": "MIT",
514
+ "engines": {
515
+ "node": ">= 0.8"
516
+ }
517
+ },
518
+ "node_modules/function-bind": {
519
+ "version": "1.1.2",
520
+ "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz",
521
+ "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==",
522
+ "license": "MIT",
523
+ "funding": {
524
+ "url": "https://github.com/sponsors/ljharb"
525
+ }
526
+ },
527
+ "node_modules/get-intrinsic": {
528
+ "version": "1.3.0",
529
+ "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz",
530
+ "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==",
531
+ "license": "MIT",
532
+ "dependencies": {
533
+ "call-bind-apply-helpers": "^1.0.2",
534
+ "es-define-property": "^1.0.1",
535
+ "es-errors": "^1.3.0",
536
+ "es-object-atoms": "^1.1.1",
537
+ "function-bind": "^1.1.2",
538
+ "get-proto": "^1.0.1",
539
+ "gopd": "^1.2.0",
540
+ "has-symbols": "^1.1.0",
541
+ "hasown": "^2.0.2",
542
+ "math-intrinsics": "^1.1.0"
543
+ },
544
+ "engines": {
545
+ "node": ">= 0.4"
546
+ },
547
+ "funding": {
548
+ "url": "https://github.com/sponsors/ljharb"
549
+ }
550
+ },
551
+ "node_modules/get-proto": {
552
+ "version": "1.0.1",
553
+ "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz",
554
+ "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==",
555
+ "license": "MIT",
556
+ "dependencies": {
557
+ "dunder-proto": "^1.0.1",
558
+ "es-object-atoms": "^1.0.0"
559
+ },
560
+ "engines": {
561
+ "node": ">= 0.4"
562
+ }
563
+ },
564
+ "node_modules/gopd": {
565
+ "version": "1.2.0",
566
+ "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz",
567
+ "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==",
568
+ "license": "MIT",
569
+ "engines": {
570
+ "node": ">= 0.4"
571
+ },
572
+ "funding": {
573
+ "url": "https://github.com/sponsors/ljharb"
574
+ }
575
+ },
576
+ "node_modules/has-symbols": {
577
+ "version": "1.1.0",
578
+ "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz",
579
+ "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==",
580
+ "license": "MIT",
581
+ "engines": {
582
+ "node": ">= 0.4"
583
+ },
584
+ "funding": {
585
+ "url": "https://github.com/sponsors/ljharb"
586
+ }
587
+ },
588
+ "node_modules/hasown": {
589
+ "version": "2.0.4",
590
+ "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.4.tgz",
591
+ "integrity": "sha512-T2UbfbBEF32wiepXIsMlTW9+dDYC6wMh/t/vYA4tuOMKqWz/n3vr1NFSxQiyP+zk2mXsoMA/i/7qV6LKut1t1A==",
592
+ "license": "MIT",
593
+ "dependencies": {
594
+ "function-bind": "^1.1.2"
595
+ },
596
+ "engines": {
597
+ "node": ">= 0.4"
598
+ }
599
+ },
600
+ "node_modules/hono": {
601
+ "version": "4.13.14",
602
+ "resolved": "https://registry.npmjs.org/hono/-/hono-4.13.14.tgz",
603
+ "integrity": "sha512-yhRLQ21U6qa9Hsu2N7Qcbh8tE+WKEcoErjIo56LeSGiGXGp9sA7UpE86Ui9uexb61KakiGwuHMn2QdV7w6i6kQ==",
604
+ "license": "MIT",
605
+ "engines": {
606
+ "node": ">=16.9.0"
607
+ }
608
+ },
609
+ "node_modules/http-errors": {
610
+ "version": "2.0.1",
611
+ "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.1.tgz",
612
+ "integrity": "sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==",
613
+ "license": "MIT",
614
+ "dependencies": {
615
+ "depd": "~2.0.0",
616
+ "inherits": "~2.0.4",
617
+ "setprototypeof": "~1.2.0",
618
+ "statuses": "~2.0.2",
619
+ "toidentifier": "~1.0.1"
620
+ },
621
+ "engines": {
622
+ "node": ">= 0.8"
623
+ },
624
+ "funding": {
625
+ "type": "opencollective",
626
+ "url": "https://opencollective.com/express"
627
+ }
628
+ },
629
+ "node_modules/iconv-lite": {
630
+ "version": "0.7.3",
631
+ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.7.3.tgz",
632
+ "integrity": "sha512-IKXpvIzjnC9XTAUbVBcMfGS0EPaIXtW6v+zr+RRp+hqULEpo0owZax6wyRwPOJbWbzjYspQwusTsfVr0ifh4uQ==",
633
+ "license": "MIT",
634
+ "dependencies": {
635
+ "safer-buffer": ">= 2.1.2 < 3.0.0"
636
+ },
637
+ "engines": {
638
+ "node": ">=0.10.0"
639
+ },
640
+ "funding": {
641
+ "type": "opencollective",
642
+ "url": "https://opencollective.com/express"
643
+ }
644
+ },
645
+ "node_modules/inherits": {
646
+ "version": "2.0.4",
647
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
648
+ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
649
+ "license": "ISC"
650
+ },
651
+ "node_modules/ip-address": {
652
+ "version": "10.7.5",
653
+ "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-10.7.5.tgz",
654
+ "integrity": "sha512-t2v0rkILYv9WXmSL7TpAaU3HXgaFYOPUcH3QHgwQ++gpJuH3bqyMy4Fvt/DJCTKwzH3Cf+bAp5W/mFL39KPLzA==",
655
+ "license": "MIT",
656
+ "engines": {
657
+ "node": ">= 12"
658
+ }
659
+ },
660
+ "node_modules/ipaddr.js": {
661
+ "version": "1.9.1",
662
+ "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz",
663
+ "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==",
664
+ "license": "MIT",
665
+ "engines": {
666
+ "node": ">= 0.10"
667
+ }
668
+ },
669
+ "node_modules/is-promise": {
670
+ "version": "4.0.0",
671
+ "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-4.0.0.tgz",
672
+ "integrity": "sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==",
673
+ "license": "MIT"
674
+ },
675
+ "node_modules/isexe": {
676
+ "version": "2.0.0",
677
+ "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
678
+ "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
679
+ "license": "ISC"
680
+ },
681
+ "node_modules/jose": {
682
+ "version": "6.2.13",
683
+ "resolved": "https://registry.npmjs.org/jose/-/jose-6.2.13.tgz",
684
+ "integrity": "sha512-7TIg10ZE1x82YediN+lcrPNvGMKge9yFHQD+Qho/b8y2adfugU3AsvvHfxV0fzyFllT6l9xCjf4RWY9g/Z9PJQ==",
685
+ "license": "MIT",
686
+ "funding": {
687
+ "url": "https://github.com/sponsors/panva"
688
+ }
689
+ },
690
+ "node_modules/json-schema-traverse": {
691
+ "version": "1.0.0",
692
+ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
693
+ "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
694
+ "license": "MIT"
695
+ },
696
+ "node_modules/json-schema-typed": {
697
+ "version": "8.0.2",
698
+ "resolved": "https://registry.npmjs.org/json-schema-typed/-/json-schema-typed-8.0.2.tgz",
699
+ "integrity": "sha512-fQhoXdcvc3V28x7C7BMs4P5+kNlgUURe2jmUT1T//oBRMDrqy1QPelJimwZGo7Hg9VPV3EQV5Bnq4hbFy2vetA==",
700
+ "license": "BSD-2-Clause"
701
+ },
702
+ "node_modules/math-intrinsics": {
703
+ "version": "1.1.0",
704
+ "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz",
705
+ "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==",
706
+ "license": "MIT",
707
+ "engines": {
708
+ "node": ">= 0.4"
709
+ }
710
+ },
711
+ "node_modules/media-typer": {
712
+ "version": "1.1.1",
713
+ "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-1.1.1.tgz",
714
+ "integrity": "sha512-yz3xRaG20c6/BOzvYoDaGtPmGscs7YivItZEEqe6GbwNfHuxu9YNmvnEkMzKldAGY4/80pRcQRZSEnhquk9XuQ==",
715
+ "license": "MIT",
716
+ "engines": {
717
+ "node": ">= 0.8"
718
+ },
719
+ "funding": {
720
+ "type": "opencollective",
721
+ "url": "https://opencollective.com/express"
722
+ }
723
+ },
724
+ "node_modules/merge-descriptors": {
725
+ "version": "2.0.0",
726
+ "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-2.0.0.tgz",
727
+ "integrity": "sha512-Snk314V5ayFLhp3fkUREub6WtjBfPdCPY1Ln8/8munuLuiYhsABgBVWsozAG+MWMbVEvcdcpbi9R7ww22l9Q3g==",
728
+ "license": "MIT",
729
+ "engines": {
730
+ "node": ">=18"
731
+ },
732
+ "funding": {
733
+ "url": "https://github.com/sponsors/sindresorhus"
734
+ }
735
+ },
736
+ "node_modules/mime-db": {
737
+ "version": "1.54.0",
738
+ "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.54.0.tgz",
739
+ "integrity": "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==",
740
+ "license": "MIT",
741
+ "engines": {
742
+ "node": ">= 0.6"
743
+ }
744
+ },
745
+ "node_modules/mime-types": {
746
+ "version": "3.0.2",
747
+ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-3.0.2.tgz",
748
+ "integrity": "sha512-Lbgzdk0h4juoQ9fCKXW4by0UJqj+nOOrI9MJ1sSj4nI8aI2eo1qmvQEie4VD1glsS250n15LsWsYtCugiStS5A==",
749
+ "license": "MIT",
750
+ "dependencies": {
751
+ "mime-db": "^1.54.0"
752
+ },
753
+ "engines": {
754
+ "node": ">=18"
755
+ },
756
+ "funding": {
757
+ "type": "opencollective",
758
+ "url": "https://opencollective.com/express"
759
+ }
760
+ },
761
+ "node_modules/ms": {
762
+ "version": "2.1.3",
763
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
764
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
765
+ "license": "MIT"
766
+ },
767
+ "node_modules/negotiator": {
768
+ "version": "1.1.0",
769
+ "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-1.1.0.tgz",
770
+ "integrity": "sha512-NMPBRMJgiQHjbd8phG3Vebdx4kZ1H121rbl5IkMqeOsahptB9BKo/d7oJ3zTXqTgagn2bWlNSXkh0QUGM31RYg==",
771
+ "license": "MIT",
772
+ "dependencies": {
773
+ "content-type": "^2.1.0"
774
+ },
775
+ "engines": {
776
+ "node": ">=18"
777
+ },
778
+ "funding": {
779
+ "type": "opencollective",
780
+ "url": "https://opencollective.com/express"
781
+ }
782
+ },
783
+ "node_modules/negotiator/node_modules/content-type": {
784
+ "version": "2.1.0",
785
+ "resolved": "https://registry.npmjs.org/content-type/-/content-type-2.1.0.tgz",
786
+ "integrity": "sha512-mj7UPXE0jaqaOsukNZRUEfEi2AcL7C/vwmwcHV0O97eO1E1pxBZuyjlZrx5seTaNBg1U6+o35wpa35Qfcc+7ag==",
787
+ "license": "MIT",
788
+ "engines": {
789
+ "node": ">=18"
790
+ },
791
+ "funding": {
792
+ "type": "opencollective",
793
+ "url": "https://opencollective.com/express"
794
+ }
795
+ },
796
+ "node_modules/object-assign": {
797
+ "version": "4.1.1",
798
+ "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
799
+ "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==",
800
+ "license": "MIT",
801
+ "engines": {
802
+ "node": ">=0.10.0"
803
+ }
804
+ },
805
+ "node_modules/object-inspect": {
806
+ "version": "1.13.4",
807
+ "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz",
808
+ "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==",
809
+ "license": "MIT",
810
+ "engines": {
811
+ "node": ">= 0.4"
812
+ },
813
+ "funding": {
814
+ "url": "https://github.com/sponsors/ljharb"
815
+ }
816
+ },
817
+ "node_modules/on-finished": {
818
+ "version": "2.4.2",
819
+ "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.2.tgz",
820
+ "integrity": "sha512-ATWUv387i+nLD49EiDoOft5scf32Vsdz3ktrQJG9bi7jRFmaXTssvyvj1EmeKVVgvesbqUtvQQvaS2TpTukAZQ==",
821
+ "license": "MIT",
822
+ "dependencies": {
823
+ "ee-first": "1.1.1"
824
+ },
825
+ "engines": {
826
+ "node": ">= 0.8"
827
+ },
828
+ "funding": {
829
+ "type": "opencollective",
830
+ "url": "https://opencollective.com/express"
831
+ }
832
+ },
833
+ "node_modules/once": {
834
+ "version": "1.4.0",
835
+ "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
836
+ "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
837
+ "license": "ISC",
838
+ "dependencies": {
839
+ "wrappy": "1"
840
+ }
841
+ },
842
+ "node_modules/parseurl": {
843
+ "version": "1.3.3",
844
+ "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
845
+ "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==",
846
+ "license": "MIT",
847
+ "engines": {
848
+ "node": ">= 0.8"
849
+ }
850
+ },
851
+ "node_modules/path-key": {
852
+ "version": "3.1.1",
853
+ "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
854
+ "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
855
+ "license": "MIT",
856
+ "engines": {
857
+ "node": ">=8"
858
+ }
859
+ },
860
+ "node_modules/path-to-regexp": {
861
+ "version": "8.4.2",
862
+ "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-8.4.2.tgz",
863
+ "integrity": "sha512-qRcuIdP69NPm4qbACK+aDogI5CBDMi1jKe0ry5rSQJz8JVLsC7jV8XpiJjGRLLol3N+R5ihGYcrPLTno6pAdBA==",
864
+ "license": "MIT",
865
+ "funding": {
866
+ "type": "opencollective",
867
+ "url": "https://opencollective.com/express"
868
+ }
869
+ },
870
+ "node_modules/picomatch": {
871
+ "version": "4.0.7",
872
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.7.tgz",
873
+ "integrity": "sha512-qcJu88Q2IWqJsDD529JKMdwGm/dvInW4HvQnRwiH9JtihJvzGOscDtHE3x1pBKeUOTysQ8kVmLnJ2kJu7yhcGA==",
874
+ "license": "MIT",
875
+ "engines": {
876
+ "node": ">=12"
877
+ },
878
+ "funding": {
879
+ "url": "https://github.com/sponsors/jonschlinkert"
880
+ }
881
+ },
882
+ "node_modules/pkce-challenge": {
883
+ "version": "5.0.1",
884
+ "resolved": "https://registry.npmjs.org/pkce-challenge/-/pkce-challenge-5.0.1.tgz",
885
+ "integrity": "sha512-wQ0b/W4Fr01qtpHlqSqspcj3EhBvimsdh0KlHhH8HRZnMsEa0ea2fTULOXOS9ccQr3om+GcGRk4e+isrZWV8qQ==",
886
+ "license": "MIT",
887
+ "engines": {
888
+ "node": ">=16.20.0"
889
+ }
890
+ },
891
+ "node_modules/pr-shepherd": {
892
+ "version": "1.1.2",
893
+ "resolved": "https://registry.npmjs.org/pr-shepherd/-/pr-shepherd-1.1.2.tgz",
894
+ "integrity": "sha512-3UxX0r4kOkjxKteSRfM3QrE8Ty0FDA3qd8ZEjcikxc6lv8Eb/Y9td+HnmCtuSXBJjSb3MyC5s+83jk1MJty1bQ==",
895
+ "license": "MIT",
896
+ "dependencies": {
897
+ "@modelcontextprotocol/sdk": "^1.30.0",
898
+ "picomatch": "^4.0.4",
899
+ "undici": "^8.11.2",
900
+ "yaml": "^2.7.0",
901
+ "zod": "^4.4.3"
902
+ },
903
+ "bin": {
904
+ "pr-shepherd": "bin/index.mjs",
905
+ "pr-shepherd-mcp": "bin/mcp-stdio.mjs"
906
+ },
907
+ "engines": {
908
+ "node": ">=22.19.0"
909
+ }
910
+ },
911
+ "node_modules/proxy-addr": {
912
+ "version": "2.0.8",
913
+ "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.8.tgz",
914
+ "integrity": "sha512-5nnx0yGyVUcY6t9RnWcARWtwT9F1D8O9rt08htPvnd49W1IgZtmLkhu9WfMzQj1cFxjHIO6connUNVW5k7AVyQ==",
915
+ "license": "MIT",
916
+ "dependencies": {
917
+ "forwarded": "0.2.0",
918
+ "ipaddr.js": "1.9.1"
919
+ },
920
+ "engines": {
921
+ "node": ">= 0.10"
922
+ },
923
+ "funding": {
924
+ "type": "opencollective",
925
+ "url": "https://opencollective.com/express"
926
+ }
927
+ },
928
+ "node_modules/qs": {
929
+ "version": "6.17.1",
930
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.17.1.tgz",
931
+ "integrity": "sha512-jd3COkaKVgGUW+ZHyEHCG9bH7RoaaiWuMgzsIBjUMVjLAaWGWpoUAVwljVvBHxRu/2qEHnadLGZrkutYUBPQJA==",
932
+ "license": "BSD-3-Clause",
933
+ "dependencies": {
934
+ "es-define-property": "^1.0.1",
935
+ "side-channel": "^1.1.1"
936
+ },
937
+ "engines": {
938
+ "node": ">=0.6"
939
+ },
940
+ "funding": {
941
+ "url": "https://github.com/sponsors/ljharb"
942
+ }
943
+ },
944
+ "node_modules/range-parser": {
945
+ "version": "1.3.0",
946
+ "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.3.0.tgz",
947
+ "integrity": "sha512-hek2mFQpPuI4E1BBKrSto+BU3e3x4xuarsbiwr3+lf7p44juvFMV0XFWQAP3xUyqXA4RrXLIoaSUGbSt056ZMw==",
948
+ "license": "MIT",
949
+ "engines": {
950
+ "node": ">= 0.6"
951
+ },
952
+ "funding": {
953
+ "type": "opencollective",
954
+ "url": "https://opencollective.com/express"
955
+ }
956
+ },
957
+ "node_modules/raw-body": {
958
+ "version": "3.0.2",
959
+ "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-3.0.2.tgz",
960
+ "integrity": "sha512-K5zQjDllxWkf7Z5xJdV0/B0WTNqx6vxG70zJE4N0kBs4LovmEYWJzQGxC9bS9RAKu3bgM40lrd5zoLJ12MQ5BA==",
961
+ "license": "MIT",
962
+ "dependencies": {
963
+ "bytes": "~3.1.2",
964
+ "http-errors": "~2.0.1",
965
+ "iconv-lite": "~0.7.0",
966
+ "unpipe": "~1.0.0"
967
+ },
968
+ "engines": {
969
+ "node": ">= 0.10"
970
+ }
971
+ },
972
+ "node_modules/require-from-string": {
973
+ "version": "2.0.2",
974
+ "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz",
975
+ "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==",
976
+ "license": "MIT",
977
+ "engines": {
978
+ "node": ">=0.10.0"
979
+ }
980
+ },
981
+ "node_modules/router": {
982
+ "version": "2.2.0",
983
+ "resolved": "https://registry.npmjs.org/router/-/router-2.2.0.tgz",
984
+ "integrity": "sha512-nLTrUKm2UyiL7rlhapu/Zl45FwNgkZGaCpZbIHajDYgwlJCOzLSk+cIPAnsEqV955GjILJnKbdQC1nVPz+gAYQ==",
985
+ "license": "MIT",
986
+ "dependencies": {
987
+ "debug": "^4.4.0",
988
+ "depd": "^2.0.0",
989
+ "is-promise": "^4.0.0",
990
+ "parseurl": "^1.3.3",
991
+ "path-to-regexp": "^8.0.0"
992
+ },
993
+ "engines": {
994
+ "node": ">= 18"
995
+ }
996
+ },
997
+ "node_modules/safer-buffer": {
998
+ "version": "2.1.2",
999
+ "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
1000
+ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
1001
+ "license": "MIT"
1002
+ },
1003
+ "node_modules/send": {
1004
+ "version": "1.2.1",
1005
+ "resolved": "https://registry.npmjs.org/send/-/send-1.2.1.tgz",
1006
+ "integrity": "sha512-1gnZf7DFcoIcajTjTwjwuDjzuz4PPcY2StKPlsGAQ1+YH20IRVrBaXSWmdjowTJ6u8Rc01PoYOGHXfP1mYcZNQ==",
1007
+ "license": "MIT",
1008
+ "dependencies": {
1009
+ "debug": "^4.4.3",
1010
+ "encodeurl": "^2.0.0",
1011
+ "escape-html": "^1.0.3",
1012
+ "etag": "^1.8.1",
1013
+ "fresh": "^2.0.0",
1014
+ "http-errors": "^2.0.1",
1015
+ "mime-types": "^3.0.2",
1016
+ "ms": "^2.1.3",
1017
+ "on-finished": "^2.4.1",
1018
+ "range-parser": "^1.2.1",
1019
+ "statuses": "^2.0.2"
1020
+ },
1021
+ "engines": {
1022
+ "node": ">= 18"
1023
+ },
1024
+ "funding": {
1025
+ "type": "opencollective",
1026
+ "url": "https://opencollective.com/express"
1027
+ }
1028
+ },
1029
+ "node_modules/serve-static": {
1030
+ "version": "2.2.1",
1031
+ "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-2.2.1.tgz",
1032
+ "integrity": "sha512-xRXBn0pPqQTVQiC8wyQrKs2MOlX24zQ0POGaj0kultvoOCstBQM5yvOhAVSUwOMjQtTvsPWoNCHfPGwaaQJhTw==",
1033
+ "license": "MIT",
1034
+ "dependencies": {
1035
+ "encodeurl": "^2.0.0",
1036
+ "escape-html": "^1.0.3",
1037
+ "parseurl": "^1.3.3",
1038
+ "send": "^1.2.0"
1039
+ },
1040
+ "engines": {
1041
+ "node": ">= 18"
1042
+ },
1043
+ "funding": {
1044
+ "type": "opencollective",
1045
+ "url": "https://opencollective.com/express"
1046
+ }
1047
+ },
1048
+ "node_modules/setprototypeof": {
1049
+ "version": "1.2.0",
1050
+ "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz",
1051
+ "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==",
1052
+ "license": "ISC"
1053
+ },
1054
+ "node_modules/shebang-command": {
1055
+ "version": "2.0.0",
1056
+ "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
1057
+ "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
1058
+ "license": "MIT",
1059
+ "dependencies": {
1060
+ "shebang-regex": "^3.0.0"
1061
+ },
1062
+ "engines": {
1063
+ "node": ">=8"
1064
+ }
1065
+ },
1066
+ "node_modules/shebang-regex": {
1067
+ "version": "3.0.0",
1068
+ "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
1069
+ "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
1070
+ "license": "MIT",
1071
+ "engines": {
1072
+ "node": ">=8"
1073
+ }
1074
+ },
1075
+ "node_modules/side-channel": {
1076
+ "version": "1.1.1",
1077
+ "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.1.tgz",
1078
+ "integrity": "sha512-6x6dK6zJdpTzF4sQeNYxwtvBzf6Eg4GtlesS94HOvTudUeyK2WXAaIfmDgsyslYrRBeFIlsi54AYsFGUuhmvrQ==",
1079
+ "license": "MIT",
1080
+ "dependencies": {
1081
+ "es-errors": "^1.3.0",
1082
+ "object-inspect": "^1.13.4",
1083
+ "side-channel-list": "^1.0.1",
1084
+ "side-channel-map": "^1.0.1",
1085
+ "side-channel-weakmap": "^1.0.2"
1086
+ },
1087
+ "engines": {
1088
+ "node": ">= 0.4"
1089
+ },
1090
+ "funding": {
1091
+ "url": "https://github.com/sponsors/ljharb"
1092
+ }
1093
+ },
1094
+ "node_modules/side-channel-list": {
1095
+ "version": "1.0.1",
1096
+ "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.1.tgz",
1097
+ "integrity": "sha512-mjn/0bi/oUURjc5Xl7IaWi/OJJJumuoJFQJfDDyO46+hBWsfaVM65TBHq2eoZBhzl9EchxOijpkbRC8SVBQU0w==",
1098
+ "license": "MIT",
1099
+ "dependencies": {
1100
+ "es-errors": "^1.3.0",
1101
+ "object-inspect": "^1.13.4"
1102
+ },
1103
+ "engines": {
1104
+ "node": ">= 0.4"
1105
+ },
1106
+ "funding": {
1107
+ "url": "https://github.com/sponsors/ljharb"
1108
+ }
1109
+ },
1110
+ "node_modules/side-channel-map": {
1111
+ "version": "1.0.1",
1112
+ "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz",
1113
+ "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==",
1114
+ "license": "MIT",
1115
+ "dependencies": {
1116
+ "call-bound": "^1.0.2",
1117
+ "es-errors": "^1.3.0",
1118
+ "get-intrinsic": "^1.2.5",
1119
+ "object-inspect": "^1.13.3"
1120
+ },
1121
+ "engines": {
1122
+ "node": ">= 0.4"
1123
+ },
1124
+ "funding": {
1125
+ "url": "https://github.com/sponsors/ljharb"
1126
+ }
1127
+ },
1128
+ "node_modules/side-channel-weakmap": {
1129
+ "version": "1.0.2",
1130
+ "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz",
1131
+ "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==",
1132
+ "license": "MIT",
1133
+ "dependencies": {
1134
+ "call-bound": "^1.0.2",
1135
+ "es-errors": "^1.3.0",
1136
+ "get-intrinsic": "^1.2.5",
1137
+ "object-inspect": "^1.13.3",
1138
+ "side-channel-map": "^1.0.1"
1139
+ },
1140
+ "engines": {
1141
+ "node": ">= 0.4"
1142
+ },
1143
+ "funding": {
1144
+ "url": "https://github.com/sponsors/ljharb"
1145
+ }
1146
+ },
1147
+ "node_modules/statuses": {
1148
+ "version": "2.0.2",
1149
+ "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz",
1150
+ "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==",
1151
+ "license": "MIT",
1152
+ "engines": {
1153
+ "node": ">= 0.8"
1154
+ }
1155
+ },
1156
+ "node_modules/toidentifier": {
1157
+ "version": "1.0.1",
1158
+ "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz",
1159
+ "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==",
1160
+ "license": "MIT",
1161
+ "engines": {
1162
+ "node": ">=0.6"
1163
+ }
1164
+ },
1165
+ "node_modules/type-is": {
1166
+ "version": "2.1.0",
1167
+ "resolved": "https://registry.npmjs.org/type-is/-/type-is-2.1.0.tgz",
1168
+ "integrity": "sha512-faYHw0anBbc/kWF3zFTEnxSFOAGUX9GFbOBthvDdLsIlEoWOFOtS0zgCiQYwIskL9iGXZL3kAXD8OoZ4GmMATA==",
1169
+ "license": "MIT",
1170
+ "dependencies": {
1171
+ "content-type": "^2.0.0",
1172
+ "media-typer": "^1.1.0",
1173
+ "mime-types": "^3.0.0"
1174
+ },
1175
+ "engines": {
1176
+ "node": ">= 18"
1177
+ },
1178
+ "funding": {
1179
+ "type": "opencollective",
1180
+ "url": "https://opencollective.com/express"
1181
+ }
1182
+ },
1183
+ "node_modules/type-is/node_modules/content-type": {
1184
+ "version": "2.1.0",
1185
+ "resolved": "https://registry.npmjs.org/content-type/-/content-type-2.1.0.tgz",
1186
+ "integrity": "sha512-mj7UPXE0jaqaOsukNZRUEfEi2AcL7C/vwmwcHV0O97eO1E1pxBZuyjlZrx5seTaNBg1U6+o35wpa35Qfcc+7ag==",
1187
+ "license": "MIT",
1188
+ "engines": {
1189
+ "node": ">=18"
1190
+ },
1191
+ "funding": {
1192
+ "type": "opencollective",
1193
+ "url": "https://opencollective.com/express"
1194
+ }
1195
+ },
1196
+ "node_modules/undici": {
1197
+ "version": "8.12.3",
1198
+ "resolved": "https://registry.npmjs.org/undici/-/undici-8.12.3.tgz",
1199
+ "integrity": "sha512-+fdndUTwBP86cVjihTp21hZHo7d6oj1c/47XPA3lL8mM0XHs+C4EkcjmgRsFnFk2f/UONGDy9ItBItmXsLOQHw==",
1200
+ "license": "MIT",
1201
+ "engines": {
1202
+ "node": ">=22.19.0"
1203
+ }
1204
+ },
1205
+ "node_modules/unpipe": {
1206
+ "version": "1.0.0",
1207
+ "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
1208
+ "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==",
1209
+ "license": "MIT",
1210
+ "engines": {
1211
+ "node": ">= 0.8"
1212
+ }
1213
+ },
1214
+ "node_modules/vary": {
1215
+ "version": "1.1.2",
1216
+ "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
1217
+ "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==",
1218
+ "license": "MIT",
1219
+ "engines": {
1220
+ "node": ">= 0.8"
1221
+ }
1222
+ },
1223
+ "node_modules/which": {
1224
+ "version": "2.0.2",
1225
+ "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
1226
+ "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
1227
+ "license": "ISC",
1228
+ "dependencies": {
1229
+ "isexe": "^2.0.0"
1230
+ },
1231
+ "bin": {
1232
+ "node-which": "bin/node-which"
1233
+ },
1234
+ "engines": {
1235
+ "node": ">= 8"
1236
+ }
1237
+ },
1238
+ "node_modules/wrappy": {
1239
+ "version": "1.0.2",
1240
+ "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
1241
+ "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==",
1242
+ "license": "ISC"
1243
+ },
1244
+ "node_modules/yaml": {
1245
+ "version": "2.9.1",
1246
+ "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.9.1.tgz",
1247
+ "integrity": "sha512-3NxN8+78OdzbT7C/WjGsyfPAtJaN3FNDsWxv7Y7mcDsT/oOmgW8BpyQQFFBnvZE3j9Y2Sdz1ULFLezL7Eb2yFw==",
1248
+ "license": "ISC",
1249
+ "bin": {
1250
+ "yaml": "bin.mjs"
1251
+ },
1252
+ "engines": {
1253
+ "node": ">= 14.6"
1254
+ },
1255
+ "funding": {
1256
+ "url": "https://github.com/sponsors/eemeli"
1257
+ }
1258
+ },
1259
+ "node_modules/zod": {
1260
+ "version": "4.6.7",
1261
+ "resolved": "https://registry.npmjs.org/zod/-/zod-4.6.7.tgz",
1262
+ "integrity": "sha512-g8W2D2kU6a8untc053fX1uVBKzM7yqAxW/3zwk83+6RyF2+SKOuV+c0wBDhUwzV1PaGapmZH+rmcUzPf+3CGwg==",
1263
+ "license": "MIT",
1264
+ "funding": {
1265
+ "url": "https://github.com/sponsors/colinhacks"
1266
+ }
1267
+ },
1268
+ "node_modules/zod-to-json-schema": {
1269
+ "version": "3.25.2",
1270
+ "resolved": "https://registry.npmjs.org/zod-to-json-schema/-/zod-to-json-schema-3.25.2.tgz",
1271
+ "integrity": "sha512-O/PgfnpT1xKSDeQYSCfRI5Gy3hPf91mKVDuYLUHZJMiDFptvP41MSnWofm8dnCm0256ZNfZIM7DSzuSMAFnjHA==",
1272
+ "license": "ISC",
1273
+ "peerDependencies": {
1274
+ "zod": "^3.25.28 || ^4"
1275
+ }
1276
+ }
1277
+ }
1278
+ }