@adyen/bento-mcp 0.1.0 → 0.1.2
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 +20 -0
- package/README.md +11 -66
- package/dist/assets/components/action-bar/action-bar.stories.ts +1 -1
- package/dist/assets/components/action-bar/action-bar.vue +1 -1
- package/dist/assets/components/ai-tag/ai-tag.docs.mdx +75 -0
- package/dist/assets/components/ai-tag/ai-tag.stories.ts +1 -0
- package/dist/assets/components/ai-tag/ai-tag.vue +1 -0
- package/dist/assets/components/anchor-scroller/anchor-scroller.docs.mdx +55 -0
- package/dist/assets/components/anchor-scroller/anchor-scroller.stories.ts +1 -0
- package/dist/assets/components/anchor-scroller/anchor-scroller.vue +1 -0
- package/dist/assets/components/anchor-scroller/components/anchor-scroller-list/anchor-scroller-list.vue +1 -0
- package/dist/assets/components/card/card.docs.mdx +3 -3
- package/dist/assets/components/data-grid/components/data-grid-cell-actions/data-grid-cell-actions.vue +1 -1
- package/dist/assets/components/data-grid/components/data-grid-tag-with-text-cell/data-grid-tag-with-text-cell.docs.mdx +35 -0
- package/dist/assets/components/data-grid/components/data-grid-tag-with-text-cell/data-grid-tag-with-text-cell.stories.ts +1 -0
- package/dist/assets/components/data-grid/components/data-grid-tag-with-text-cell/data-grid-tag-with-text-cell.vue +1 -0
- package/dist/assets/components/data-grid/data-grid.docs.mdx +29 -9
- package/dist/assets/components/data-grid/data-grid.stories.ts +1 -1
- package/dist/assets/components/data-grid/data-grid.vue +1 -1
- package/dist/assets/components/date-picker/date-picker.vue +1 -1
- package/dist/assets/components/date-range-picker/components/date-range-picker-calendar/date-range-picker-calendar.vue +1 -1
- package/dist/assets/components/date-range-picker/date-range-picker.vue +1 -1
- package/dist/assets/components/draggable-handle/draggable-handle.docs.mdx +61 -0
- package/dist/assets/components/draggable-handle/draggable-handle.stories.ts +1 -0
- package/dist/assets/components/draggable-handle/draggable-handle.vue +1 -0
- package/dist/assets/components/dropdown/components/dropdown-base-textbox/dropdown-base-textbox.vue +1 -1
- package/dist/assets/components/dropdown/components/dropdown-default-textbox/dropdown-default-textbox.vue +1 -1
- package/dist/assets/components/dropdown/components/dropdown-small-textbox/dropdown-small-textbox.vue +1 -1
- package/dist/assets/components/dropdown/dropdown.docs.mdx +3 -3
- package/dist/assets/components/dropdown/dropdown.vue +1 -1
- package/dist/assets/components/file-uploader/components/file-uploader-file-card/file-uploader-file-card.vue +1 -1
- package/dist/assets/components/file-uploader/file-uploader.vue +1 -1
- package/dist/assets/components/filter-bar/components/date-range-filter/date-range-filter.vue +1 -1
- package/dist/assets/components/filter-bar/filter-bar.docs.mdx +1 -1
- package/dist/assets/components/form-layout/components/form-layout-title/form-layout-title.vue +1 -1
- package/dist/assets/components/form-layout/form-layout.docs.mdx +2 -2
- package/dist/assets/components/inspector/inspector.docs.mdx +2 -2
- package/dist/assets/components/internal/copy/copy.docs.mdx +2 -2
- package/dist/assets/components/internal/dialog-page/dialog-page.vue +1 -1
- package/dist/assets/components/internal/fixed-scroller/fixed-scroller.vue +1 -1
- package/dist/assets/components/internal/listbox/components/listbox-multi-select/components/listbox-multi-select-options/listbox-multi-select-options.vue +1 -1
- package/dist/assets/components/layout/layout.docs.mdx +8 -8
- package/dist/assets/components/layout/layout.vue +1 -1
- package/dist/assets/components/modal/components/base-modal/base-modal.vue +1 -1
- package/dist/assets/components/modal/modal.docs.mdx +4 -4
- package/dist/assets/components/modal-fullscreen/modal-fullscreen.docs.mdx +5 -5
- package/dist/assets/components/modal-fullscreen/modal-fullscreen.vue +1 -1
- package/dist/assets/components/secondary-nav/components/secondary-nav-item/secondary-nav-item.vue +1 -1
- package/dist/assets/components/sidepanel/sidepanel.docs.mdx +27 -27
- package/dist/assets/components/sidepanel/sidepanel.vue +1 -1
- package/dist/assets/components/stepper/stepper.docs.mdx +8 -1
- package/dist/assets/components/stepper/stepper.stories.ts +1 -1
- package/dist/assets/components/summary-grid/summary-grid.docs.mdx +1 -1
- package/dist/assets/components/tabs/tabs.docs.mdx +1 -1
- package/dist/assets/components/toast/toast.docs.mdx +10 -10
- package/dist/assets/index.ts +1 -1
- package/dist/main.js +501 -427
- package/package.json +5 -4
package/dist/main.js
CHANGED
|
@@ -3099,92 +3099,62 @@ var require_data = __commonJS({
|
|
|
3099
3099
|
}
|
|
3100
3100
|
});
|
|
3101
3101
|
|
|
3102
|
-
// node_modules/.pnpm/fast-uri@3.0
|
|
3103
|
-
var require_scopedChars = __commonJS({
|
|
3104
|
-
"node_modules/.pnpm/fast-uri@3.0.6/node_modules/fast-uri/lib/scopedChars.js"(exports, module) {
|
|
3105
|
-
"use strict";
|
|
3106
|
-
var HEX = {
|
|
3107
|
-
0: 0,
|
|
3108
|
-
1: 1,
|
|
3109
|
-
2: 2,
|
|
3110
|
-
3: 3,
|
|
3111
|
-
4: 4,
|
|
3112
|
-
5: 5,
|
|
3113
|
-
6: 6,
|
|
3114
|
-
7: 7,
|
|
3115
|
-
8: 8,
|
|
3116
|
-
9: 9,
|
|
3117
|
-
a: 10,
|
|
3118
|
-
A: 10,
|
|
3119
|
-
b: 11,
|
|
3120
|
-
B: 11,
|
|
3121
|
-
c: 12,
|
|
3122
|
-
C: 12,
|
|
3123
|
-
d: 13,
|
|
3124
|
-
D: 13,
|
|
3125
|
-
e: 14,
|
|
3126
|
-
E: 14,
|
|
3127
|
-
f: 15,
|
|
3128
|
-
F: 15
|
|
3129
|
-
};
|
|
3130
|
-
module.exports = {
|
|
3131
|
-
HEX
|
|
3132
|
-
};
|
|
3133
|
-
}
|
|
3134
|
-
});
|
|
3135
|
-
|
|
3136
|
-
// node_modules/.pnpm/fast-uri@3.0.6/node_modules/fast-uri/lib/utils.js
|
|
3102
|
+
// node_modules/.pnpm/fast-uri@3.1.0/node_modules/fast-uri/lib/utils.js
|
|
3137
3103
|
var require_utils = __commonJS({
|
|
3138
|
-
"node_modules/.pnpm/fast-uri@3.0
|
|
3104
|
+
"node_modules/.pnpm/fast-uri@3.1.0/node_modules/fast-uri/lib/utils.js"(exports, module) {
|
|
3139
3105
|
"use strict";
|
|
3140
|
-
var
|
|
3141
|
-
var
|
|
3142
|
-
function
|
|
3143
|
-
if (findToken(host, ".") < 3) {
|
|
3144
|
-
return { host, isIPV4: false };
|
|
3145
|
-
}
|
|
3146
|
-
const matches = host.match(IPV4_REG) || [];
|
|
3147
|
-
const [address] = matches;
|
|
3148
|
-
if (address) {
|
|
3149
|
-
return { host: stripLeadingZeros(address, "."), isIPV4: true };
|
|
3150
|
-
} else {
|
|
3151
|
-
return { host, isIPV4: false };
|
|
3152
|
-
}
|
|
3153
|
-
}
|
|
3154
|
-
function stringArrayToHexStripped(input, keepZero = false) {
|
|
3106
|
+
var isUUID = RegExp.prototype.test.bind(/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu);
|
|
3107
|
+
var isIPv4 = RegExp.prototype.test.bind(/^(?:(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)$/u);
|
|
3108
|
+
function stringArrayToHexStripped(input) {
|
|
3155
3109
|
let acc = "";
|
|
3156
|
-
let
|
|
3157
|
-
|
|
3158
|
-
|
|
3159
|
-
|
|
3160
|
-
if (
|
|
3110
|
+
let code = 0;
|
|
3111
|
+
let i = 0;
|
|
3112
|
+
for (i = 0; i < input.length; i++) {
|
|
3113
|
+
code = input[i].charCodeAt(0);
|
|
3114
|
+
if (code === 48) {
|
|
3115
|
+
continue;
|
|
3116
|
+
}
|
|
3117
|
+
if (!(code >= 48 && code <= 57 || code >= 65 && code <= 70 || code >= 97 && code <= 102)) {
|
|
3118
|
+
return "";
|
|
3119
|
+
}
|
|
3120
|
+
acc += input[i];
|
|
3121
|
+
break;
|
|
3122
|
+
}
|
|
3123
|
+
for (i += 1; i < input.length; i++) {
|
|
3124
|
+
code = input[i].charCodeAt(0);
|
|
3125
|
+
if (!(code >= 48 && code <= 57 || code >= 65 && code <= 70 || code >= 97 && code <= 102)) {
|
|
3126
|
+
return "";
|
|
3127
|
+
}
|
|
3128
|
+
acc += input[i];
|
|
3161
3129
|
}
|
|
3162
|
-
if (keepZero && acc.length === 0) acc = "0";
|
|
3163
3130
|
return acc;
|
|
3164
3131
|
}
|
|
3132
|
+
var nonSimpleDomain = RegExp.prototype.test.bind(/[^!"$&'()*+,\-.;=_`a-z{}~]/u);
|
|
3133
|
+
function consumeIsZone(buffer) {
|
|
3134
|
+
buffer.length = 0;
|
|
3135
|
+
return true;
|
|
3136
|
+
}
|
|
3137
|
+
function consumeHextets(buffer, address, output) {
|
|
3138
|
+
if (buffer.length) {
|
|
3139
|
+
const hex3 = stringArrayToHexStripped(buffer);
|
|
3140
|
+
if (hex3 !== "") {
|
|
3141
|
+
address.push(hex3);
|
|
3142
|
+
} else {
|
|
3143
|
+
output.error = true;
|
|
3144
|
+
return false;
|
|
3145
|
+
}
|
|
3146
|
+
buffer.length = 0;
|
|
3147
|
+
}
|
|
3148
|
+
return true;
|
|
3149
|
+
}
|
|
3165
3150
|
function getIPV6(input) {
|
|
3166
3151
|
let tokenCount = 0;
|
|
3167
3152
|
const output = { error: false, address: "", zone: "" };
|
|
3168
3153
|
const address = [];
|
|
3169
3154
|
const buffer = [];
|
|
3170
|
-
let isZone = false;
|
|
3171
3155
|
let endipv6Encountered = false;
|
|
3172
3156
|
let endIpv6 = false;
|
|
3173
|
-
|
|
3174
|
-
if (buffer.length) {
|
|
3175
|
-
if (isZone === false) {
|
|
3176
|
-
const hex3 = stringArrayToHexStripped(buffer);
|
|
3177
|
-
if (hex3 !== void 0) {
|
|
3178
|
-
address.push(hex3);
|
|
3179
|
-
} else {
|
|
3180
|
-
output.error = true;
|
|
3181
|
-
return false;
|
|
3182
|
-
}
|
|
3183
|
-
}
|
|
3184
|
-
buffer.length = 0;
|
|
3185
|
-
}
|
|
3186
|
-
return true;
|
|
3187
|
-
}
|
|
3157
|
+
let consume = consumeHextets;
|
|
3188
3158
|
for (let i = 0; i < input.length; i++) {
|
|
3189
3159
|
const cursor = input[i];
|
|
3190
3160
|
if (cursor === "[" || cursor === "]") {
|
|
@@ -3194,31 +3164,30 @@ var require_utils = __commonJS({
|
|
|
3194
3164
|
if (endipv6Encountered === true) {
|
|
3195
3165
|
endIpv6 = true;
|
|
3196
3166
|
}
|
|
3197
|
-
if (!consume()) {
|
|
3167
|
+
if (!consume(buffer, address, output)) {
|
|
3198
3168
|
break;
|
|
3199
3169
|
}
|
|
3200
|
-
tokenCount
|
|
3201
|
-
address.push(":");
|
|
3202
|
-
if (tokenCount > 7) {
|
|
3170
|
+
if (++tokenCount > 7) {
|
|
3203
3171
|
output.error = true;
|
|
3204
3172
|
break;
|
|
3205
3173
|
}
|
|
3206
|
-
if (i
|
|
3174
|
+
if (i > 0 && input[i - 1] === ":") {
|
|
3207
3175
|
endipv6Encountered = true;
|
|
3208
3176
|
}
|
|
3177
|
+
address.push(":");
|
|
3209
3178
|
continue;
|
|
3210
3179
|
} else if (cursor === "%") {
|
|
3211
|
-
if (!consume()) {
|
|
3180
|
+
if (!consume(buffer, address, output)) {
|
|
3212
3181
|
break;
|
|
3213
3182
|
}
|
|
3214
|
-
|
|
3183
|
+
consume = consumeIsZone;
|
|
3215
3184
|
} else {
|
|
3216
3185
|
buffer.push(cursor);
|
|
3217
3186
|
continue;
|
|
3218
3187
|
}
|
|
3219
3188
|
}
|
|
3220
3189
|
if (buffer.length) {
|
|
3221
|
-
if (
|
|
3190
|
+
if (consume === consumeIsZone) {
|
|
3222
3191
|
output.zone = buffer.join("");
|
|
3223
3192
|
} else if (endIpv6) {
|
|
3224
3193
|
address.push(buffer.join(""));
|
|
@@ -3241,33 +3210,11 @@ var require_utils = __commonJS({
|
|
|
3241
3210
|
newHost += "%" + ipv63.zone;
|
|
3242
3211
|
escapedHost += "%25" + ipv63.zone;
|
|
3243
3212
|
}
|
|
3244
|
-
return { host: newHost,
|
|
3213
|
+
return { host: newHost, isIPV6: true, escapedHost };
|
|
3245
3214
|
} else {
|
|
3246
3215
|
return { host, isIPV6: false };
|
|
3247
3216
|
}
|
|
3248
3217
|
}
|
|
3249
|
-
function stripLeadingZeros(str, token) {
|
|
3250
|
-
let out = "";
|
|
3251
|
-
let skip = true;
|
|
3252
|
-
const l = str.length;
|
|
3253
|
-
for (let i = 0; i < l; i++) {
|
|
3254
|
-
const c = str[i];
|
|
3255
|
-
if (c === "0" && skip) {
|
|
3256
|
-
if (i + 1 <= l && str[i + 1] === token || i + 1 === l) {
|
|
3257
|
-
out += c;
|
|
3258
|
-
skip = false;
|
|
3259
|
-
}
|
|
3260
|
-
} else {
|
|
3261
|
-
if (c === token) {
|
|
3262
|
-
skip = true;
|
|
3263
|
-
} else {
|
|
3264
|
-
skip = false;
|
|
3265
|
-
}
|
|
3266
|
-
out += c;
|
|
3267
|
-
}
|
|
3268
|
-
}
|
|
3269
|
-
return out;
|
|
3270
|
-
}
|
|
3271
3218
|
function findToken(str, token) {
|
|
3272
3219
|
let ind = 0;
|
|
3273
3220
|
for (let i = 0; i < str.length; i++) {
|
|
@@ -3275,261 +3222,373 @@ var require_utils = __commonJS({
|
|
|
3275
3222
|
}
|
|
3276
3223
|
return ind;
|
|
3277
3224
|
}
|
|
3278
|
-
|
|
3279
|
-
|
|
3280
|
-
var RDS3 = /^\/\.\.(?:\/|$)/u;
|
|
3281
|
-
var RDS5 = /^\/?(?:.|\n)*?(?=\/|$)/u;
|
|
3282
|
-
function removeDotSegments(input) {
|
|
3225
|
+
function removeDotSegments(path) {
|
|
3226
|
+
let input = path;
|
|
3283
3227
|
const output = [];
|
|
3284
|
-
|
|
3285
|
-
|
|
3286
|
-
|
|
3287
|
-
|
|
3288
|
-
input
|
|
3289
|
-
|
|
3290
|
-
|
|
3291
|
-
|
|
3292
|
-
|
|
3293
|
-
input = "";
|
|
3294
|
-
} else {
|
|
3295
|
-
const im = input.match(RDS5);
|
|
3296
|
-
if (im) {
|
|
3297
|
-
const s = im[0];
|
|
3298
|
-
input = input.slice(s.length);
|
|
3299
|
-
output.push(s);
|
|
3228
|
+
let nextSlash = -1;
|
|
3229
|
+
let len = 0;
|
|
3230
|
+
while (len = input.length) {
|
|
3231
|
+
if (len === 1) {
|
|
3232
|
+
if (input === ".") {
|
|
3233
|
+
break;
|
|
3234
|
+
} else if (input === "/") {
|
|
3235
|
+
output.push("/");
|
|
3236
|
+
break;
|
|
3300
3237
|
} else {
|
|
3301
|
-
|
|
3238
|
+
output.push(input);
|
|
3239
|
+
break;
|
|
3240
|
+
}
|
|
3241
|
+
} else if (len === 2) {
|
|
3242
|
+
if (input[0] === ".") {
|
|
3243
|
+
if (input[1] === ".") {
|
|
3244
|
+
break;
|
|
3245
|
+
} else if (input[1] === "/") {
|
|
3246
|
+
input = input.slice(2);
|
|
3247
|
+
continue;
|
|
3248
|
+
}
|
|
3249
|
+
} else if (input[0] === "/") {
|
|
3250
|
+
if (input[1] === "." || input[1] === "/") {
|
|
3251
|
+
output.push("/");
|
|
3252
|
+
break;
|
|
3253
|
+
}
|
|
3254
|
+
}
|
|
3255
|
+
} else if (len === 3) {
|
|
3256
|
+
if (input === "/..") {
|
|
3257
|
+
if (output.length !== 0) {
|
|
3258
|
+
output.pop();
|
|
3259
|
+
}
|
|
3260
|
+
output.push("/");
|
|
3261
|
+
break;
|
|
3262
|
+
}
|
|
3263
|
+
}
|
|
3264
|
+
if (input[0] === ".") {
|
|
3265
|
+
if (input[1] === ".") {
|
|
3266
|
+
if (input[2] === "/") {
|
|
3267
|
+
input = input.slice(3);
|
|
3268
|
+
continue;
|
|
3269
|
+
}
|
|
3270
|
+
} else if (input[1] === "/") {
|
|
3271
|
+
input = input.slice(2);
|
|
3272
|
+
continue;
|
|
3273
|
+
}
|
|
3274
|
+
} else if (input[0] === "/") {
|
|
3275
|
+
if (input[1] === ".") {
|
|
3276
|
+
if (input[2] === "/") {
|
|
3277
|
+
input = input.slice(2);
|
|
3278
|
+
continue;
|
|
3279
|
+
} else if (input[2] === ".") {
|
|
3280
|
+
if (input[3] === "/") {
|
|
3281
|
+
input = input.slice(3);
|
|
3282
|
+
if (output.length !== 0) {
|
|
3283
|
+
output.pop();
|
|
3284
|
+
}
|
|
3285
|
+
continue;
|
|
3286
|
+
}
|
|
3287
|
+
}
|
|
3302
3288
|
}
|
|
3303
3289
|
}
|
|
3290
|
+
if ((nextSlash = input.indexOf("/", 1)) === -1) {
|
|
3291
|
+
output.push(input);
|
|
3292
|
+
break;
|
|
3293
|
+
} else {
|
|
3294
|
+
output.push(input.slice(0, nextSlash));
|
|
3295
|
+
input = input.slice(nextSlash);
|
|
3296
|
+
}
|
|
3304
3297
|
}
|
|
3305
3298
|
return output.join("");
|
|
3306
3299
|
}
|
|
3307
|
-
function normalizeComponentEncoding(
|
|
3300
|
+
function normalizeComponentEncoding(component, esc2) {
|
|
3308
3301
|
const func = esc2 !== true ? escape : unescape;
|
|
3309
|
-
if (
|
|
3310
|
-
|
|
3302
|
+
if (component.scheme !== void 0) {
|
|
3303
|
+
component.scheme = func(component.scheme);
|
|
3311
3304
|
}
|
|
3312
|
-
if (
|
|
3313
|
-
|
|
3305
|
+
if (component.userinfo !== void 0) {
|
|
3306
|
+
component.userinfo = func(component.userinfo);
|
|
3314
3307
|
}
|
|
3315
|
-
if (
|
|
3316
|
-
|
|
3308
|
+
if (component.host !== void 0) {
|
|
3309
|
+
component.host = func(component.host);
|
|
3317
3310
|
}
|
|
3318
|
-
if (
|
|
3319
|
-
|
|
3311
|
+
if (component.path !== void 0) {
|
|
3312
|
+
component.path = func(component.path);
|
|
3320
3313
|
}
|
|
3321
|
-
if (
|
|
3322
|
-
|
|
3314
|
+
if (component.query !== void 0) {
|
|
3315
|
+
component.query = func(component.query);
|
|
3323
3316
|
}
|
|
3324
|
-
if (
|
|
3325
|
-
|
|
3317
|
+
if (component.fragment !== void 0) {
|
|
3318
|
+
component.fragment = func(component.fragment);
|
|
3326
3319
|
}
|
|
3327
|
-
return
|
|
3320
|
+
return component;
|
|
3328
3321
|
}
|
|
3329
|
-
function recomposeAuthority(
|
|
3322
|
+
function recomposeAuthority(component) {
|
|
3330
3323
|
const uriTokens = [];
|
|
3331
|
-
if (
|
|
3332
|
-
uriTokens.push(
|
|
3324
|
+
if (component.userinfo !== void 0) {
|
|
3325
|
+
uriTokens.push(component.userinfo);
|
|
3333
3326
|
uriTokens.push("@");
|
|
3334
3327
|
}
|
|
3335
|
-
if (
|
|
3336
|
-
let host = unescape(
|
|
3337
|
-
|
|
3338
|
-
|
|
3339
|
-
host = ipV4res.host;
|
|
3340
|
-
} else {
|
|
3341
|
-
const ipV6res = normalizeIPv6(ipV4res.host);
|
|
3328
|
+
if (component.host !== void 0) {
|
|
3329
|
+
let host = unescape(component.host);
|
|
3330
|
+
if (!isIPv4(host)) {
|
|
3331
|
+
const ipV6res = normalizeIPv6(host);
|
|
3342
3332
|
if (ipV6res.isIPV6 === true) {
|
|
3343
3333
|
host = `[${ipV6res.escapedHost}]`;
|
|
3344
3334
|
} else {
|
|
3345
|
-
host =
|
|
3335
|
+
host = component.host;
|
|
3346
3336
|
}
|
|
3347
3337
|
}
|
|
3348
3338
|
uriTokens.push(host);
|
|
3349
3339
|
}
|
|
3350
|
-
if (typeof
|
|
3340
|
+
if (typeof component.port === "number" || typeof component.port === "string") {
|
|
3351
3341
|
uriTokens.push(":");
|
|
3352
|
-
uriTokens.push(String(
|
|
3342
|
+
uriTokens.push(String(component.port));
|
|
3353
3343
|
}
|
|
3354
3344
|
return uriTokens.length ? uriTokens.join("") : void 0;
|
|
3355
3345
|
}
|
|
3356
3346
|
module.exports = {
|
|
3347
|
+
nonSimpleDomain,
|
|
3357
3348
|
recomposeAuthority,
|
|
3358
3349
|
normalizeComponentEncoding,
|
|
3359
3350
|
removeDotSegments,
|
|
3360
|
-
|
|
3351
|
+
isIPv4,
|
|
3352
|
+
isUUID,
|
|
3361
3353
|
normalizeIPv6,
|
|
3362
3354
|
stringArrayToHexStripped
|
|
3363
3355
|
};
|
|
3364
3356
|
}
|
|
3365
3357
|
});
|
|
3366
3358
|
|
|
3367
|
-
// node_modules/.pnpm/fast-uri@3.0
|
|
3359
|
+
// node_modules/.pnpm/fast-uri@3.1.0/node_modules/fast-uri/lib/schemes.js
|
|
3368
3360
|
var require_schemes = __commonJS({
|
|
3369
|
-
"node_modules/.pnpm/fast-uri@3.0
|
|
3361
|
+
"node_modules/.pnpm/fast-uri@3.1.0/node_modules/fast-uri/lib/schemes.js"(exports, module) {
|
|
3370
3362
|
"use strict";
|
|
3371
|
-
var
|
|
3363
|
+
var { isUUID } = require_utils();
|
|
3372
3364
|
var URN_REG = /([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-.:;=@]|%[\da-f]{2})+)/iu;
|
|
3373
|
-
|
|
3374
|
-
|
|
3365
|
+
var supportedSchemeNames = (
|
|
3366
|
+
/** @type {const} */
|
|
3367
|
+
[
|
|
3368
|
+
"http",
|
|
3369
|
+
"https",
|
|
3370
|
+
"ws",
|
|
3371
|
+
"wss",
|
|
3372
|
+
"urn",
|
|
3373
|
+
"urn:uuid"
|
|
3374
|
+
]
|
|
3375
|
+
);
|
|
3376
|
+
function isValidSchemeName(name) {
|
|
3377
|
+
return supportedSchemeNames.indexOf(
|
|
3378
|
+
/** @type {*} */
|
|
3379
|
+
name
|
|
3380
|
+
) !== -1;
|
|
3381
|
+
}
|
|
3382
|
+
function wsIsSecure(wsComponent) {
|
|
3383
|
+
if (wsComponent.secure === true) {
|
|
3384
|
+
return true;
|
|
3385
|
+
} else if (wsComponent.secure === false) {
|
|
3386
|
+
return false;
|
|
3387
|
+
} else if (wsComponent.scheme) {
|
|
3388
|
+
return wsComponent.scheme.length === 3 && (wsComponent.scheme[0] === "w" || wsComponent.scheme[0] === "W") && (wsComponent.scheme[1] === "s" || wsComponent.scheme[1] === "S") && (wsComponent.scheme[2] === "s" || wsComponent.scheme[2] === "S");
|
|
3389
|
+
} else {
|
|
3390
|
+
return false;
|
|
3391
|
+
}
|
|
3375
3392
|
}
|
|
3376
|
-
function httpParse(
|
|
3377
|
-
if (!
|
|
3378
|
-
|
|
3393
|
+
function httpParse(component) {
|
|
3394
|
+
if (!component.host) {
|
|
3395
|
+
component.error = component.error || "HTTP URIs must have a host.";
|
|
3379
3396
|
}
|
|
3380
|
-
return
|
|
3397
|
+
return component;
|
|
3381
3398
|
}
|
|
3382
|
-
function httpSerialize(
|
|
3383
|
-
const secure = String(
|
|
3384
|
-
if (
|
|
3385
|
-
|
|
3399
|
+
function httpSerialize(component) {
|
|
3400
|
+
const secure = String(component.scheme).toLowerCase() === "https";
|
|
3401
|
+
if (component.port === (secure ? 443 : 80) || component.port === "") {
|
|
3402
|
+
component.port = void 0;
|
|
3386
3403
|
}
|
|
3387
|
-
if (!
|
|
3388
|
-
|
|
3404
|
+
if (!component.path) {
|
|
3405
|
+
component.path = "/";
|
|
3389
3406
|
}
|
|
3390
|
-
return
|
|
3407
|
+
return component;
|
|
3391
3408
|
}
|
|
3392
|
-
function wsParse(
|
|
3393
|
-
|
|
3394
|
-
|
|
3395
|
-
|
|
3396
|
-
|
|
3397
|
-
return
|
|
3409
|
+
function wsParse(wsComponent) {
|
|
3410
|
+
wsComponent.secure = wsIsSecure(wsComponent);
|
|
3411
|
+
wsComponent.resourceName = (wsComponent.path || "/") + (wsComponent.query ? "?" + wsComponent.query : "");
|
|
3412
|
+
wsComponent.path = void 0;
|
|
3413
|
+
wsComponent.query = void 0;
|
|
3414
|
+
return wsComponent;
|
|
3398
3415
|
}
|
|
3399
|
-
function wsSerialize(
|
|
3400
|
-
if (
|
|
3401
|
-
|
|
3416
|
+
function wsSerialize(wsComponent) {
|
|
3417
|
+
if (wsComponent.port === (wsIsSecure(wsComponent) ? 443 : 80) || wsComponent.port === "") {
|
|
3418
|
+
wsComponent.port = void 0;
|
|
3402
3419
|
}
|
|
3403
|
-
if (typeof
|
|
3404
|
-
|
|
3405
|
-
|
|
3420
|
+
if (typeof wsComponent.secure === "boolean") {
|
|
3421
|
+
wsComponent.scheme = wsComponent.secure ? "wss" : "ws";
|
|
3422
|
+
wsComponent.secure = void 0;
|
|
3406
3423
|
}
|
|
3407
|
-
if (
|
|
3408
|
-
const [path, query] =
|
|
3409
|
-
|
|
3410
|
-
|
|
3411
|
-
|
|
3424
|
+
if (wsComponent.resourceName) {
|
|
3425
|
+
const [path, query] = wsComponent.resourceName.split("?");
|
|
3426
|
+
wsComponent.path = path && path !== "/" ? path : void 0;
|
|
3427
|
+
wsComponent.query = query;
|
|
3428
|
+
wsComponent.resourceName = void 0;
|
|
3412
3429
|
}
|
|
3413
|
-
|
|
3414
|
-
return
|
|
3430
|
+
wsComponent.fragment = void 0;
|
|
3431
|
+
return wsComponent;
|
|
3415
3432
|
}
|
|
3416
|
-
function urnParse(
|
|
3417
|
-
if (!
|
|
3418
|
-
|
|
3419
|
-
return
|
|
3433
|
+
function urnParse(urnComponent, options) {
|
|
3434
|
+
if (!urnComponent.path) {
|
|
3435
|
+
urnComponent.error = "URN can not be parsed";
|
|
3436
|
+
return urnComponent;
|
|
3420
3437
|
}
|
|
3421
|
-
const matches =
|
|
3438
|
+
const matches = urnComponent.path.match(URN_REG);
|
|
3422
3439
|
if (matches) {
|
|
3423
|
-
const scheme = options.scheme ||
|
|
3424
|
-
|
|
3425
|
-
|
|
3426
|
-
const urnScheme = `${scheme}:${options.nid ||
|
|
3427
|
-
const schemeHandler =
|
|
3428
|
-
|
|
3440
|
+
const scheme = options.scheme || urnComponent.scheme || "urn";
|
|
3441
|
+
urnComponent.nid = matches[1].toLowerCase();
|
|
3442
|
+
urnComponent.nss = matches[2];
|
|
3443
|
+
const urnScheme = `${scheme}:${options.nid || urnComponent.nid}`;
|
|
3444
|
+
const schemeHandler = getSchemeHandler(urnScheme);
|
|
3445
|
+
urnComponent.path = void 0;
|
|
3429
3446
|
if (schemeHandler) {
|
|
3430
|
-
|
|
3447
|
+
urnComponent = schemeHandler.parse(urnComponent, options);
|
|
3431
3448
|
}
|
|
3432
3449
|
} else {
|
|
3433
|
-
|
|
3450
|
+
urnComponent.error = urnComponent.error || "URN can not be parsed.";
|
|
3434
3451
|
}
|
|
3435
|
-
return
|
|
3452
|
+
return urnComponent;
|
|
3436
3453
|
}
|
|
3437
|
-
function urnSerialize(
|
|
3438
|
-
|
|
3439
|
-
|
|
3454
|
+
function urnSerialize(urnComponent, options) {
|
|
3455
|
+
if (urnComponent.nid === void 0) {
|
|
3456
|
+
throw new Error("URN without nid cannot be serialized");
|
|
3457
|
+
}
|
|
3458
|
+
const scheme = options.scheme || urnComponent.scheme || "urn";
|
|
3459
|
+
const nid = urnComponent.nid.toLowerCase();
|
|
3440
3460
|
const urnScheme = `${scheme}:${options.nid || nid}`;
|
|
3441
|
-
const schemeHandler =
|
|
3461
|
+
const schemeHandler = getSchemeHandler(urnScheme);
|
|
3442
3462
|
if (schemeHandler) {
|
|
3443
|
-
|
|
3463
|
+
urnComponent = schemeHandler.serialize(urnComponent, options);
|
|
3444
3464
|
}
|
|
3445
|
-
const
|
|
3446
|
-
const nss =
|
|
3447
|
-
|
|
3465
|
+
const uriComponent = urnComponent;
|
|
3466
|
+
const nss = urnComponent.nss;
|
|
3467
|
+
uriComponent.path = `${nid || options.nid}:${nss}`;
|
|
3448
3468
|
options.skipEscape = true;
|
|
3449
|
-
return
|
|
3450
|
-
}
|
|
3451
|
-
function urnuuidParse(
|
|
3452
|
-
const
|
|
3453
|
-
|
|
3454
|
-
|
|
3455
|
-
if (!options.tolerant && (!
|
|
3456
|
-
|
|
3457
|
-
}
|
|
3458
|
-
return
|
|
3459
|
-
}
|
|
3460
|
-
function urnuuidSerialize(
|
|
3461
|
-
const
|
|
3462
|
-
|
|
3463
|
-
return
|
|
3464
|
-
}
|
|
3465
|
-
var http =
|
|
3466
|
-
|
|
3467
|
-
|
|
3468
|
-
|
|
3469
|
-
|
|
3470
|
-
|
|
3471
|
-
|
|
3472
|
-
|
|
3473
|
-
|
|
3474
|
-
|
|
3475
|
-
|
|
3476
|
-
|
|
3477
|
-
|
|
3478
|
-
|
|
3479
|
-
|
|
3480
|
-
|
|
3481
|
-
|
|
3482
|
-
|
|
3483
|
-
var
|
|
3484
|
-
|
|
3485
|
-
|
|
3486
|
-
|
|
3487
|
-
|
|
3488
|
-
|
|
3489
|
-
|
|
3490
|
-
|
|
3491
|
-
|
|
3492
|
-
|
|
3493
|
-
|
|
3494
|
-
|
|
3495
|
-
|
|
3496
|
-
|
|
3497
|
-
|
|
3498
|
-
|
|
3499
|
-
|
|
3500
|
-
|
|
3501
|
-
var
|
|
3502
|
-
|
|
3503
|
-
|
|
3504
|
-
|
|
3505
|
-
|
|
3506
|
-
|
|
3507
|
-
|
|
3469
|
+
return uriComponent;
|
|
3470
|
+
}
|
|
3471
|
+
function urnuuidParse(urnComponent, options) {
|
|
3472
|
+
const uuidComponent = urnComponent;
|
|
3473
|
+
uuidComponent.uuid = uuidComponent.nss;
|
|
3474
|
+
uuidComponent.nss = void 0;
|
|
3475
|
+
if (!options.tolerant && (!uuidComponent.uuid || !isUUID(uuidComponent.uuid))) {
|
|
3476
|
+
uuidComponent.error = uuidComponent.error || "UUID is not valid.";
|
|
3477
|
+
}
|
|
3478
|
+
return uuidComponent;
|
|
3479
|
+
}
|
|
3480
|
+
function urnuuidSerialize(uuidComponent) {
|
|
3481
|
+
const urnComponent = uuidComponent;
|
|
3482
|
+
urnComponent.nss = (uuidComponent.uuid || "").toLowerCase();
|
|
3483
|
+
return urnComponent;
|
|
3484
|
+
}
|
|
3485
|
+
var http = (
|
|
3486
|
+
/** @type {SchemeHandler} */
|
|
3487
|
+
{
|
|
3488
|
+
scheme: "http",
|
|
3489
|
+
domainHost: true,
|
|
3490
|
+
parse: httpParse,
|
|
3491
|
+
serialize: httpSerialize
|
|
3492
|
+
}
|
|
3493
|
+
);
|
|
3494
|
+
var https = (
|
|
3495
|
+
/** @type {SchemeHandler} */
|
|
3496
|
+
{
|
|
3497
|
+
scheme: "https",
|
|
3498
|
+
domainHost: http.domainHost,
|
|
3499
|
+
parse: httpParse,
|
|
3500
|
+
serialize: httpSerialize
|
|
3501
|
+
}
|
|
3502
|
+
);
|
|
3503
|
+
var ws = (
|
|
3504
|
+
/** @type {SchemeHandler} */
|
|
3505
|
+
{
|
|
3506
|
+
scheme: "ws",
|
|
3507
|
+
domainHost: true,
|
|
3508
|
+
parse: wsParse,
|
|
3509
|
+
serialize: wsSerialize
|
|
3510
|
+
}
|
|
3511
|
+
);
|
|
3512
|
+
var wss = (
|
|
3513
|
+
/** @type {SchemeHandler} */
|
|
3514
|
+
{
|
|
3515
|
+
scheme: "wss",
|
|
3516
|
+
domainHost: ws.domainHost,
|
|
3517
|
+
parse: ws.parse,
|
|
3518
|
+
serialize: ws.serialize
|
|
3519
|
+
}
|
|
3520
|
+
);
|
|
3521
|
+
var urn = (
|
|
3522
|
+
/** @type {SchemeHandler} */
|
|
3523
|
+
{
|
|
3524
|
+
scheme: "urn",
|
|
3525
|
+
parse: urnParse,
|
|
3526
|
+
serialize: urnSerialize,
|
|
3527
|
+
skipNormalize: true
|
|
3528
|
+
}
|
|
3529
|
+
);
|
|
3530
|
+
var urnuuid = (
|
|
3531
|
+
/** @type {SchemeHandler} */
|
|
3532
|
+
{
|
|
3533
|
+
scheme: "urn:uuid",
|
|
3534
|
+
parse: urnuuidParse,
|
|
3535
|
+
serialize: urnuuidSerialize,
|
|
3536
|
+
skipNormalize: true
|
|
3537
|
+
}
|
|
3538
|
+
);
|
|
3539
|
+
var SCHEMES = (
|
|
3540
|
+
/** @type {Record<SchemeName, SchemeHandler>} */
|
|
3541
|
+
{
|
|
3542
|
+
http,
|
|
3543
|
+
https,
|
|
3544
|
+
ws,
|
|
3545
|
+
wss,
|
|
3546
|
+
urn,
|
|
3547
|
+
"urn:uuid": urnuuid
|
|
3548
|
+
}
|
|
3549
|
+
);
|
|
3550
|
+
Object.setPrototypeOf(SCHEMES, null);
|
|
3551
|
+
function getSchemeHandler(scheme) {
|
|
3552
|
+
return scheme && (SCHEMES[
|
|
3553
|
+
/** @type {SchemeName} */
|
|
3554
|
+
scheme
|
|
3555
|
+
] || SCHEMES[
|
|
3556
|
+
/** @type {SchemeName} */
|
|
3557
|
+
scheme.toLowerCase()
|
|
3558
|
+
]) || void 0;
|
|
3559
|
+
}
|
|
3560
|
+
module.exports = {
|
|
3561
|
+
wsIsSecure,
|
|
3562
|
+
SCHEMES,
|
|
3563
|
+
isValidSchemeName,
|
|
3564
|
+
getSchemeHandler
|
|
3508
3565
|
};
|
|
3509
|
-
module.exports = SCHEMES;
|
|
3510
3566
|
}
|
|
3511
3567
|
});
|
|
3512
3568
|
|
|
3513
|
-
// node_modules/.pnpm/fast-uri@3.0
|
|
3569
|
+
// node_modules/.pnpm/fast-uri@3.1.0/node_modules/fast-uri/index.js
|
|
3514
3570
|
var require_fast_uri = __commonJS({
|
|
3515
|
-
"node_modules/.pnpm/fast-uri@3.0
|
|
3571
|
+
"node_modules/.pnpm/fast-uri@3.1.0/node_modules/fast-uri/index.js"(exports, module) {
|
|
3516
3572
|
"use strict";
|
|
3517
|
-
var { normalizeIPv6,
|
|
3518
|
-
var SCHEMES = require_schemes();
|
|
3573
|
+
var { normalizeIPv6, removeDotSegments, recomposeAuthority, normalizeComponentEncoding, isIPv4, nonSimpleDomain } = require_utils();
|
|
3574
|
+
var { SCHEMES, getSchemeHandler } = require_schemes();
|
|
3519
3575
|
function normalize(uri, options) {
|
|
3520
3576
|
if (typeof uri === "string") {
|
|
3521
|
-
uri =
|
|
3577
|
+
uri = /** @type {T} */
|
|
3578
|
+
serialize(parse3(uri, options), options);
|
|
3522
3579
|
} else if (typeof uri === "object") {
|
|
3523
|
-
uri =
|
|
3580
|
+
uri = /** @type {T} */
|
|
3581
|
+
parse3(serialize(uri, options), options);
|
|
3524
3582
|
}
|
|
3525
3583
|
return uri;
|
|
3526
3584
|
}
|
|
3527
3585
|
function resolve2(baseURI, relativeURI, options) {
|
|
3528
|
-
const schemelessOptions = Object.assign({ scheme: "null" }, options);
|
|
3529
|
-
const resolved =
|
|
3530
|
-
|
|
3586
|
+
const schemelessOptions = options ? Object.assign({ scheme: "null" }, options) : { scheme: "null" };
|
|
3587
|
+
const resolved = resolveComponent(parse3(baseURI, schemelessOptions), parse3(relativeURI, schemelessOptions), schemelessOptions, true);
|
|
3588
|
+
schemelessOptions.skipEscape = true;
|
|
3589
|
+
return serialize(resolved, schemelessOptions);
|
|
3531
3590
|
}
|
|
3532
|
-
function
|
|
3591
|
+
function resolveComponent(base, relative, options, skipNormalization) {
|
|
3533
3592
|
const target = {};
|
|
3534
3593
|
if (!skipNormalization) {
|
|
3535
3594
|
base = parse3(serialize(base, options), options);
|
|
@@ -3559,7 +3618,7 @@ var require_fast_uri = __commonJS({
|
|
|
3559
3618
|
target.query = base.query;
|
|
3560
3619
|
}
|
|
3561
3620
|
} else {
|
|
3562
|
-
if (relative.path
|
|
3621
|
+
if (relative.path[0] === "/") {
|
|
3563
3622
|
target.path = removeDotSegments(relative.path);
|
|
3564
3623
|
} else {
|
|
3565
3624
|
if ((base.userinfo !== void 0 || base.host !== void 0 || base.port !== void 0) && !base.path) {
|
|
@@ -3598,7 +3657,7 @@ var require_fast_uri = __commonJS({
|
|
|
3598
3657
|
return uriA.toLowerCase() === uriB.toLowerCase();
|
|
3599
3658
|
}
|
|
3600
3659
|
function serialize(cmpts, opts) {
|
|
3601
|
-
const
|
|
3660
|
+
const component = {
|
|
3602
3661
|
host: cmpts.host,
|
|
3603
3662
|
scheme: cmpts.scheme,
|
|
3604
3663
|
userinfo: cmpts.userinfo,
|
|
@@ -3616,60 +3675,49 @@ var require_fast_uri = __commonJS({
|
|
|
3616
3675
|
};
|
|
3617
3676
|
const options = Object.assign({}, opts);
|
|
3618
3677
|
const uriTokens = [];
|
|
3619
|
-
const schemeHandler =
|
|
3620
|
-
if (schemeHandler && schemeHandler.serialize) schemeHandler.serialize(
|
|
3621
|
-
if (
|
|
3678
|
+
const schemeHandler = getSchemeHandler(options.scheme || component.scheme);
|
|
3679
|
+
if (schemeHandler && schemeHandler.serialize) schemeHandler.serialize(component, options);
|
|
3680
|
+
if (component.path !== void 0) {
|
|
3622
3681
|
if (!options.skipEscape) {
|
|
3623
|
-
|
|
3624
|
-
if (
|
|
3625
|
-
|
|
3682
|
+
component.path = escape(component.path);
|
|
3683
|
+
if (component.scheme !== void 0) {
|
|
3684
|
+
component.path = component.path.split("%3A").join(":");
|
|
3626
3685
|
}
|
|
3627
3686
|
} else {
|
|
3628
|
-
|
|
3687
|
+
component.path = unescape(component.path);
|
|
3629
3688
|
}
|
|
3630
3689
|
}
|
|
3631
|
-
if (options.reference !== "suffix" &&
|
|
3632
|
-
uriTokens.push(
|
|
3690
|
+
if (options.reference !== "suffix" && component.scheme) {
|
|
3691
|
+
uriTokens.push(component.scheme, ":");
|
|
3633
3692
|
}
|
|
3634
|
-
const authority = recomposeAuthority(
|
|
3693
|
+
const authority = recomposeAuthority(component);
|
|
3635
3694
|
if (authority !== void 0) {
|
|
3636
3695
|
if (options.reference !== "suffix") {
|
|
3637
3696
|
uriTokens.push("//");
|
|
3638
3697
|
}
|
|
3639
3698
|
uriTokens.push(authority);
|
|
3640
|
-
if (
|
|
3699
|
+
if (component.path && component.path[0] !== "/") {
|
|
3641
3700
|
uriTokens.push("/");
|
|
3642
3701
|
}
|
|
3643
3702
|
}
|
|
3644
|
-
if (
|
|
3645
|
-
let s =
|
|
3703
|
+
if (component.path !== void 0) {
|
|
3704
|
+
let s = component.path;
|
|
3646
3705
|
if (!options.absolutePath && (!schemeHandler || !schemeHandler.absolutePath)) {
|
|
3647
3706
|
s = removeDotSegments(s);
|
|
3648
3707
|
}
|
|
3649
|
-
if (authority === void 0) {
|
|
3650
|
-
s =
|
|
3708
|
+
if (authority === void 0 && s[0] === "/" && s[1] === "/") {
|
|
3709
|
+
s = "/%2F" + s.slice(2);
|
|
3651
3710
|
}
|
|
3652
3711
|
uriTokens.push(s);
|
|
3653
3712
|
}
|
|
3654
|
-
if (
|
|
3655
|
-
uriTokens.push("?",
|
|
3713
|
+
if (component.query !== void 0) {
|
|
3714
|
+
uriTokens.push("?", component.query);
|
|
3656
3715
|
}
|
|
3657
|
-
if (
|
|
3658
|
-
uriTokens.push("#",
|
|
3716
|
+
if (component.fragment !== void 0) {
|
|
3717
|
+
uriTokens.push("#", component.fragment);
|
|
3659
3718
|
}
|
|
3660
3719
|
return uriTokens.join("");
|
|
3661
3720
|
}
|
|
3662
|
-
var hexLookUp = Array.from({ length: 127 }, (_v, k) => /[^!"$&'()*+,\-.;=_`a-z{}~]/u.test(String.fromCharCode(k)));
|
|
3663
|
-
function nonSimpleDomain(value) {
|
|
3664
|
-
let code = 0;
|
|
3665
|
-
for (let i = 0, len = value.length; i < len; ++i) {
|
|
3666
|
-
code = value.charCodeAt(i);
|
|
3667
|
-
if (code > 126 || hexLookUp[code]) {
|
|
3668
|
-
return true;
|
|
3669
|
-
}
|
|
3670
|
-
}
|
|
3671
|
-
return false;
|
|
3672
|
-
}
|
|
3673
3721
|
var URI_PARSE = /^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\d*))?))?([^#?]*)(?:\?([^#]*))?(?:#((?:.|[\n\r])*))?/u;
|
|
3674
3722
|
function parse3(uri, opts) {
|
|
3675
3723
|
const options = Object.assign({}, opts);
|
|
@@ -3682,9 +3730,14 @@ var require_fast_uri = __commonJS({
|
|
|
3682
3730
|
query: void 0,
|
|
3683
3731
|
fragment: void 0
|
|
3684
3732
|
};
|
|
3685
|
-
const gotEncoding = uri.indexOf("%") !== -1;
|
|
3686
3733
|
let isIP = false;
|
|
3687
|
-
if (options.reference === "suffix")
|
|
3734
|
+
if (options.reference === "suffix") {
|
|
3735
|
+
if (options.scheme) {
|
|
3736
|
+
uri = options.scheme + ":" + uri;
|
|
3737
|
+
} else {
|
|
3738
|
+
uri = "//" + uri;
|
|
3739
|
+
}
|
|
3740
|
+
}
|
|
3688
3741
|
const matches = uri.match(URI_PARSE);
|
|
3689
3742
|
if (matches) {
|
|
3690
3743
|
parsed.scheme = matches[1];
|
|
@@ -3698,13 +3751,12 @@ var require_fast_uri = __commonJS({
|
|
|
3698
3751
|
parsed.port = matches[5];
|
|
3699
3752
|
}
|
|
3700
3753
|
if (parsed.host) {
|
|
3701
|
-
const ipv4result =
|
|
3702
|
-
if (ipv4result
|
|
3703
|
-
const ipv6result = normalizeIPv6(
|
|
3754
|
+
const ipv4result = isIPv4(parsed.host);
|
|
3755
|
+
if (ipv4result === false) {
|
|
3756
|
+
const ipv6result = normalizeIPv6(parsed.host);
|
|
3704
3757
|
parsed.host = ipv6result.host.toLowerCase();
|
|
3705
3758
|
isIP = ipv6result.isIPV6;
|
|
3706
3759
|
} else {
|
|
3707
|
-
parsed.host = ipv4result.host;
|
|
3708
3760
|
isIP = true;
|
|
3709
3761
|
}
|
|
3710
3762
|
}
|
|
@@ -3720,7 +3772,7 @@ var require_fast_uri = __commonJS({
|
|
|
3720
3772
|
if (options.reference && options.reference !== "suffix" && options.reference !== parsed.reference) {
|
|
3721
3773
|
parsed.error = parsed.error || "URI is not a " + options.reference + " reference.";
|
|
3722
3774
|
}
|
|
3723
|
-
const schemeHandler =
|
|
3775
|
+
const schemeHandler = getSchemeHandler(options.scheme || parsed.scheme);
|
|
3724
3776
|
if (!options.unicodeSupport && (!schemeHandler || !schemeHandler.unicodeSupport)) {
|
|
3725
3777
|
if (parsed.host && (options.domainHost || schemeHandler && schemeHandler.domainHost) && isIP === false && nonSimpleDomain(parsed.host)) {
|
|
3726
3778
|
try {
|
|
@@ -3731,11 +3783,13 @@ var require_fast_uri = __commonJS({
|
|
|
3731
3783
|
}
|
|
3732
3784
|
}
|
|
3733
3785
|
if (!schemeHandler || schemeHandler && !schemeHandler.skipNormalize) {
|
|
3734
|
-
if (
|
|
3735
|
-
parsed.scheme
|
|
3736
|
-
|
|
3737
|
-
|
|
3738
|
-
parsed.host
|
|
3786
|
+
if (uri.indexOf("%") !== -1) {
|
|
3787
|
+
if (parsed.scheme !== void 0) {
|
|
3788
|
+
parsed.scheme = unescape(parsed.scheme);
|
|
3789
|
+
}
|
|
3790
|
+
if (parsed.host !== void 0) {
|
|
3791
|
+
parsed.host = unescape(parsed.host);
|
|
3792
|
+
}
|
|
3739
3793
|
}
|
|
3740
3794
|
if (parsed.path) {
|
|
3741
3795
|
parsed.path = escape(unescape(parsed.path));
|
|
@@ -3756,7 +3810,7 @@ var require_fast_uri = __commonJS({
|
|
|
3756
3810
|
SCHEMES,
|
|
3757
3811
|
normalize,
|
|
3758
3812
|
resolve: resolve2,
|
|
3759
|
-
|
|
3813
|
+
resolveComponent,
|
|
3760
3814
|
equal,
|
|
3761
3815
|
serialize,
|
|
3762
3816
|
parse: parse3
|
|
@@ -22277,7 +22331,7 @@ function object(shape, params) {
|
|
|
22277
22331
|
return new ZodMiniObject(def);
|
|
22278
22332
|
}
|
|
22279
22333
|
|
|
22280
|
-
// node_modules/.pnpm/@modelcontextprotocol+sdk@1.
|
|
22334
|
+
// node_modules/.pnpm/@modelcontextprotocol+sdk@1.26.0_zod@4.3.6/node_modules/@modelcontextprotocol/sdk/dist/esm/server/zod-compat.js
|
|
22281
22335
|
function isZ4Schema(s) {
|
|
22282
22336
|
const schema = s;
|
|
22283
22337
|
return !!schema._zod;
|
|
@@ -24567,7 +24621,7 @@ function date4(params) {
|
|
|
24567
24621
|
// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/classic/external.js
|
|
24568
24622
|
config(en_default2());
|
|
24569
24623
|
|
|
24570
|
-
// node_modules/.pnpm/@modelcontextprotocol+sdk@1.
|
|
24624
|
+
// node_modules/.pnpm/@modelcontextprotocol+sdk@1.26.0_zod@4.3.6/node_modules/@modelcontextprotocol/sdk/dist/esm/types.js
|
|
24571
24625
|
var LATEST_PROTOCOL_VERSION = "2025-11-25";
|
|
24572
24626
|
var SUPPORTED_PROTOCOL_VERSIONS = [LATEST_PROTOCOL_VERSION, "2025-06-18", "2025-03-26", "2024-11-05", "2024-10-07"];
|
|
24573
24627
|
var RELATED_TASK_META_KEY = "io.modelcontextprotocol/related-task";
|
|
@@ -26085,7 +26139,7 @@ var UrlElicitationRequiredError = class extends McpError {
|
|
|
26085
26139
|
}
|
|
26086
26140
|
};
|
|
26087
26141
|
|
|
26088
|
-
// node_modules/.pnpm/@modelcontextprotocol+sdk@1.
|
|
26142
|
+
// node_modules/.pnpm/@modelcontextprotocol+sdk@1.26.0_zod@4.3.6/node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/interfaces.js
|
|
26089
26143
|
function isTerminal(status) {
|
|
26090
26144
|
return status === "completed" || status === "failed" || status === "cancelled";
|
|
26091
26145
|
}
|
|
@@ -27374,7 +27428,7 @@ var zodToJsonSchema = (schema, options) => {
|
|
|
27374
27428
|
return combined;
|
|
27375
27429
|
};
|
|
27376
27430
|
|
|
27377
|
-
// node_modules/.pnpm/@modelcontextprotocol+sdk@1.
|
|
27431
|
+
// node_modules/.pnpm/@modelcontextprotocol+sdk@1.26.0_zod@4.3.6/node_modules/@modelcontextprotocol/sdk/dist/esm/server/zod-json-schema-compat.js
|
|
27378
27432
|
function mapMiniTarget(t) {
|
|
27379
27433
|
if (!t)
|
|
27380
27434
|
return "draft-7";
|
|
@@ -27416,7 +27470,7 @@ function parseWithCompat(schema, data) {
|
|
|
27416
27470
|
return result.data;
|
|
27417
27471
|
}
|
|
27418
27472
|
|
|
27419
|
-
// node_modules/.pnpm/@modelcontextprotocol+sdk@1.
|
|
27473
|
+
// node_modules/.pnpm/@modelcontextprotocol+sdk@1.26.0_zod@4.3.6/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/protocol.js
|
|
27420
27474
|
var DEFAULT_REQUEST_TIMEOUT_MSEC = 6e4;
|
|
27421
27475
|
var Protocol = class {
|
|
27422
27476
|
constructor(_options) {
|
|
@@ -27593,6 +27647,9 @@ var Protocol = class {
|
|
|
27593
27647
|
* The Protocol object assumes ownership of the Transport, replacing any callbacks that have already been set, and expects that it is the only user of the Transport instance going forward.
|
|
27594
27648
|
*/
|
|
27595
27649
|
async connect(transport) {
|
|
27650
|
+
if (this._transport) {
|
|
27651
|
+
throw new Error("Already connected to a transport. Call close() before connecting to a new transport, or use a separate Protocol instance per connection.");
|
|
27652
|
+
}
|
|
27596
27653
|
this._transport = transport;
|
|
27597
27654
|
const _onclose = this.transport?.onclose;
|
|
27598
27655
|
this._transport.onclose = () => {
|
|
@@ -27625,6 +27682,10 @@ var Protocol = class {
|
|
|
27625
27682
|
this._progressHandlers.clear();
|
|
27626
27683
|
this._taskProgressTokens.clear();
|
|
27627
27684
|
this._pendingDebouncedNotifications.clear();
|
|
27685
|
+
for (const controller of this._requestHandlerAbortControllers.values()) {
|
|
27686
|
+
controller.abort();
|
|
27687
|
+
}
|
|
27688
|
+
this._requestHandlerAbortControllers.clear();
|
|
27628
27689
|
const error48 = McpError.fromError(ErrorCode.ConnectionClosed, "Connection closed");
|
|
27629
27690
|
this._transport = void 0;
|
|
27630
27691
|
this.onclose?.();
|
|
@@ -27675,6 +27736,8 @@ var Protocol = class {
|
|
|
27675
27736
|
sessionId: capturedTransport?.sessionId,
|
|
27676
27737
|
_meta: request.params?._meta,
|
|
27677
27738
|
sendNotification: async (notification) => {
|
|
27739
|
+
if (abortController.signal.aborted)
|
|
27740
|
+
return;
|
|
27678
27741
|
const notificationOptions = { relatedRequestId: request.id };
|
|
27679
27742
|
if (relatedTaskId) {
|
|
27680
27743
|
notificationOptions.relatedTask = { taskId: relatedTaskId };
|
|
@@ -27682,6 +27745,9 @@ var Protocol = class {
|
|
|
27682
27745
|
await this.notification(notification, notificationOptions);
|
|
27683
27746
|
},
|
|
27684
27747
|
sendRequest: async (r, resultSchema, options) => {
|
|
27748
|
+
if (abortController.signal.aborted) {
|
|
27749
|
+
throw new McpError(ErrorCode.ConnectionClosed, "Request was cancelled");
|
|
27750
|
+
}
|
|
27685
27751
|
const requestOptions = { ...options, relatedRequestId: request.id };
|
|
27686
27752
|
if (relatedTaskId && !requestOptions.relatedTask) {
|
|
27687
27753
|
requestOptions.relatedTask = { taskId: relatedTaskId };
|
|
@@ -28352,7 +28418,7 @@ function mergeCapabilities(base, additional) {
|
|
|
28352
28418
|
return result;
|
|
28353
28419
|
}
|
|
28354
28420
|
|
|
28355
|
-
// node_modules/.pnpm/@modelcontextprotocol+sdk@1.
|
|
28421
|
+
// node_modules/.pnpm/@modelcontextprotocol+sdk@1.26.0_zod@4.3.6/node_modules/@modelcontextprotocol/sdk/dist/esm/validation/ajv-provider.js
|
|
28356
28422
|
var import_ajv = __toESM(require_ajv(), 1);
|
|
28357
28423
|
var import_ajv_formats = __toESM(require_dist(), 1);
|
|
28358
28424
|
function createDefaultAjvInstance() {
|
|
@@ -28420,7 +28486,7 @@ var AjvJsonSchemaValidator = class {
|
|
|
28420
28486
|
}
|
|
28421
28487
|
};
|
|
28422
28488
|
|
|
28423
|
-
// node_modules/.pnpm/@modelcontextprotocol+sdk@1.
|
|
28489
|
+
// node_modules/.pnpm/@modelcontextprotocol+sdk@1.26.0_zod@4.3.6/node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/server.js
|
|
28424
28490
|
var ExperimentalServerTasks = class {
|
|
28425
28491
|
constructor(_server) {
|
|
28426
28492
|
this._server = _server;
|
|
@@ -28492,7 +28558,7 @@ var ExperimentalServerTasks = class {
|
|
|
28492
28558
|
}
|
|
28493
28559
|
};
|
|
28494
28560
|
|
|
28495
|
-
// node_modules/.pnpm/@modelcontextprotocol+sdk@1.
|
|
28561
|
+
// node_modules/.pnpm/@modelcontextprotocol+sdk@1.26.0_zod@4.3.6/node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/helpers.js
|
|
28496
28562
|
function assertToolsCallTaskCapability(requests, method, entityName) {
|
|
28497
28563
|
if (!requests) {
|
|
28498
28564
|
throw new Error(`${entityName} does not support task creation (required for ${method})`);
|
|
@@ -28527,7 +28593,7 @@ function assertClientRequestTaskCapability(requests, method, entityName) {
|
|
|
28527
28593
|
}
|
|
28528
28594
|
}
|
|
28529
28595
|
|
|
28530
|
-
// node_modules/.pnpm/@modelcontextprotocol+sdk@1.
|
|
28596
|
+
// node_modules/.pnpm/@modelcontextprotocol+sdk@1.26.0_zod@4.3.6/node_modules/@modelcontextprotocol/sdk/dist/esm/server/index.js
|
|
28531
28597
|
var Server = class extends Protocol {
|
|
28532
28598
|
/**
|
|
28533
28599
|
* Initializes this server with the given name and version information.
|
|
@@ -28907,7 +28973,7 @@ var Server = class extends Protocol {
|
|
|
28907
28973
|
}
|
|
28908
28974
|
};
|
|
28909
28975
|
|
|
28910
|
-
// node_modules/.pnpm/@modelcontextprotocol+sdk@1.
|
|
28976
|
+
// node_modules/.pnpm/@modelcontextprotocol+sdk@1.26.0_zod@4.3.6/node_modules/@modelcontextprotocol/sdk/dist/esm/server/completable.js
|
|
28911
28977
|
var COMPLETABLE_SYMBOL = /* @__PURE__ */ Symbol.for("mcp.completable");
|
|
28912
28978
|
function isCompletable(schema) {
|
|
28913
28979
|
return !!schema && typeof schema === "object" && COMPLETABLE_SYMBOL in schema;
|
|
@@ -28921,7 +28987,7 @@ var McpZodTypeKind;
|
|
|
28921
28987
|
McpZodTypeKind2["Completable"] = "McpCompletable";
|
|
28922
28988
|
})(McpZodTypeKind || (McpZodTypeKind = {}));
|
|
28923
28989
|
|
|
28924
|
-
// node_modules/.pnpm/@modelcontextprotocol+sdk@1.
|
|
28990
|
+
// node_modules/.pnpm/@modelcontextprotocol+sdk@1.26.0_zod@4.3.6/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/toolNameValidation.js
|
|
28925
28991
|
var TOOL_NAME_REGEX = /^[A-Za-z0-9._-]{1,128}$/;
|
|
28926
28992
|
function validateToolName(name) {
|
|
28927
28993
|
const warnings = [];
|
|
@@ -28979,7 +29045,7 @@ function validateAndWarnToolName(name) {
|
|
|
28979
29045
|
return result.isValid;
|
|
28980
29046
|
}
|
|
28981
29047
|
|
|
28982
|
-
// node_modules/.pnpm/@modelcontextprotocol+sdk@1.
|
|
29048
|
+
// node_modules/.pnpm/@modelcontextprotocol+sdk@1.26.0_zod@4.3.6/node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/mcp-server.js
|
|
28983
29049
|
var ExperimentalMcpServerTasks = class {
|
|
28984
29050
|
constructor(_mcpServer) {
|
|
28985
29051
|
this._mcpServer = _mcpServer;
|
|
@@ -28997,7 +29063,7 @@ var ExperimentalMcpServerTasks = class {
|
|
|
28997
29063
|
// node_modules/.pnpm/zod@4.3.6/node_modules/zod/index.js
|
|
28998
29064
|
var zod_default = external_exports3;
|
|
28999
29065
|
|
|
29000
|
-
// node_modules/.pnpm/@modelcontextprotocol+sdk@1.
|
|
29066
|
+
// node_modules/.pnpm/@modelcontextprotocol+sdk@1.26.0_zod@4.3.6/node_modules/@modelcontextprotocol/sdk/dist/esm/server/mcp.js
|
|
29001
29067
|
var McpServer = class {
|
|
29002
29068
|
constructor(serverInfo, options) {
|
|
29003
29069
|
this._registeredResources = {};
|
|
@@ -29783,10 +29849,10 @@ var EMPTY_COMPLETION_RESULT = {
|
|
|
29783
29849
|
}
|
|
29784
29850
|
};
|
|
29785
29851
|
|
|
29786
|
-
// node_modules/.pnpm/@modelcontextprotocol+sdk@1.
|
|
29852
|
+
// node_modules/.pnpm/@modelcontextprotocol+sdk@1.26.0_zod@4.3.6/node_modules/@modelcontextprotocol/sdk/dist/esm/server/stdio.js
|
|
29787
29853
|
import process3 from "node:process";
|
|
29788
29854
|
|
|
29789
|
-
// node_modules/.pnpm/@modelcontextprotocol+sdk@1.
|
|
29855
|
+
// node_modules/.pnpm/@modelcontextprotocol+sdk@1.26.0_zod@4.3.6/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/stdio.js
|
|
29790
29856
|
var ReadBuffer = class {
|
|
29791
29857
|
append(chunk) {
|
|
29792
29858
|
this._buffer = this._buffer ? Buffer.concat([this._buffer, chunk]) : chunk;
|
|
@@ -29814,7 +29880,7 @@ function serializeMessage(message) {
|
|
|
29814
29880
|
return JSON.stringify(message) + "\n";
|
|
29815
29881
|
}
|
|
29816
29882
|
|
|
29817
|
-
// node_modules/.pnpm/@modelcontextprotocol+sdk@1.
|
|
29883
|
+
// node_modules/.pnpm/@modelcontextprotocol+sdk@1.26.0_zod@4.3.6/node_modules/@modelcontextprotocol/sdk/dist/esm/server/stdio.js
|
|
29818
29884
|
var StdioServerTransport = class {
|
|
29819
29885
|
constructor(_stdin = process3.stdin, _stdout = process3.stdout) {
|
|
29820
29886
|
this._stdin = _stdin;
|
|
@@ -29888,11 +29954,92 @@ function getFile(filePath) {
|
|
|
29888
29954
|
}
|
|
29889
29955
|
}
|
|
29890
29956
|
|
|
29957
|
+
// packages/mcp/src/tools/get-all-components.ts
|
|
29958
|
+
function addGetAllComponents(server) {
|
|
29959
|
+
server.registerTool(
|
|
29960
|
+
"get_all_components",
|
|
29961
|
+
{
|
|
29962
|
+
description: `
|
|
29963
|
+
Retrieves the main index file that exports all available Bento components.
|
|
29964
|
+
Use this to understand which components are available in the library.
|
|
29965
|
+
Returns:
|
|
29966
|
+
str: The raw content of the packages/vue2/src/index.ts file.
|
|
29967
|
+
`
|
|
29968
|
+
},
|
|
29969
|
+
() => {
|
|
29970
|
+
const filePath = "index.ts";
|
|
29971
|
+
return {
|
|
29972
|
+
content: [{ type: "text", text: getFile(filePath) }]
|
|
29973
|
+
};
|
|
29974
|
+
}
|
|
29975
|
+
);
|
|
29976
|
+
}
|
|
29977
|
+
|
|
29978
|
+
// packages/mcp/src/tools/get-component.ts
|
|
29979
|
+
function addGetComponent(server) {
|
|
29980
|
+
server.registerTool(
|
|
29981
|
+
"get_component",
|
|
29982
|
+
{
|
|
29983
|
+
description: `
|
|
29984
|
+
Retrieves the documentation, stories, and Vue implementation for a list of components from the private repo.
|
|
29985
|
+
|
|
29986
|
+
Args:
|
|
29987
|
+
componentNames (Array<string>): A list of component names (e.g., ["button", "modal"]).
|
|
29988
|
+
|
|
29989
|
+
Returns:
|
|
29990
|
+
str: A Markdown formatted string containing the contents of the .docs.mdx, .stories.ts, and .vue files.
|
|
29991
|
+
`,
|
|
29992
|
+
inputSchema: {
|
|
29993
|
+
componentNames: zod_default.array(zod_default.string()).describe("A list of component names")
|
|
29994
|
+
}
|
|
29995
|
+
},
|
|
29996
|
+
async ({ componentNames }) => {
|
|
29997
|
+
const output = [
|
|
29998
|
+
"I have retrieved the requested component context. For each component, I have provided three sections:",
|
|
29999
|
+
"1. **Documentation (.docs.mdx)**: Explains how to use the component, props, and design guidelines.",
|
|
30000
|
+
"2. **Stories (.stories.ts)**: Shows code examples of how to implement the component (emits, props usage).",
|
|
30001
|
+
"3. **Implementation (.vue)**: The internal logic, properties, emits, and slots of the component.",
|
|
30002
|
+
"---"
|
|
30003
|
+
];
|
|
30004
|
+
const basePath = "components";
|
|
30005
|
+
for (const component of componentNames) {
|
|
30006
|
+
const docsContent = getFile(`${basePath}/${component}/${component}.docs.mdx`);
|
|
30007
|
+
const storiesContent = getFile(`${basePath}/${component}/${component}.stories.ts`);
|
|
30008
|
+
const vueContent = getFile(`${basePath}/${component}/${component}.vue`);
|
|
30009
|
+
const componentSection = [
|
|
30010
|
+
`# Component: ${component}`,
|
|
30011
|
+
`## 1. Documentation (${component}.docs.mdx)`,
|
|
30012
|
+
"```markdown",
|
|
30013
|
+
docsContent,
|
|
30014
|
+
"```",
|
|
30015
|
+
`## 2. Stories (${component}.stories.ts)`,
|
|
30016
|
+
"```typescript",
|
|
30017
|
+
storiesContent,
|
|
30018
|
+
"```",
|
|
30019
|
+
`## 3. Implementation (${component}.vue)`,
|
|
30020
|
+
"```vue",
|
|
30021
|
+
vueContent,
|
|
30022
|
+
"```"
|
|
30023
|
+
].join("\n\n");
|
|
30024
|
+
output.push(componentSection);
|
|
30025
|
+
}
|
|
30026
|
+
return {
|
|
30027
|
+
content: [
|
|
30028
|
+
{
|
|
30029
|
+
type: "text",
|
|
30030
|
+
text: output.join("\n")
|
|
30031
|
+
}
|
|
30032
|
+
]
|
|
30033
|
+
};
|
|
30034
|
+
}
|
|
30035
|
+
);
|
|
30036
|
+
}
|
|
30037
|
+
|
|
29891
30038
|
// packages/mcp/package.json
|
|
29892
30039
|
var package_default = {
|
|
29893
30040
|
name: "@adyen/bento-mcp",
|
|
29894
30041
|
mcpName: "io.github.adyen/bento-mcp",
|
|
29895
|
-
version: "0.1.
|
|
30042
|
+
version: "0.1.2",
|
|
29896
30043
|
type: "module",
|
|
29897
30044
|
description: "A Model Context Protocol server implementation for Bento",
|
|
29898
30045
|
license: "MIT",
|
|
@@ -29927,100 +30074,27 @@ var package_default = {
|
|
|
29927
30074
|
"bento"
|
|
29928
30075
|
],
|
|
29929
30076
|
dependencies: {
|
|
29930
|
-
"@modelcontextprotocol/sdk": "1.
|
|
30077
|
+
"@modelcontextprotocol/sdk": "1.26.0",
|
|
29931
30078
|
zod: "4.3.6"
|
|
29932
30079
|
},
|
|
29933
30080
|
devDependencies: {
|
|
29934
30081
|
"@modelcontextprotocol/inspector": "0.19.0",
|
|
30082
|
+
"@playwright/test": "catalog:",
|
|
30083
|
+
"@nx/playwright": "catalog:nx",
|
|
29935
30084
|
"@swc/cli": "0.7.10",
|
|
29936
|
-
"@swc/core": "1.15.10"
|
|
29937
|
-
"tailwind-merge": "2.6.0"
|
|
30085
|
+
"@swc/core": "1.15.10"
|
|
29938
30086
|
}
|
|
29939
30087
|
};
|
|
29940
30088
|
|
|
29941
30089
|
// packages/mcp/src/main.ts
|
|
29942
|
-
var server = new McpServer({
|
|
29943
|
-
name: "bento-mcp",
|
|
29944
|
-
version: package_default.version
|
|
29945
|
-
});
|
|
29946
|
-
server.registerTool(
|
|
29947
|
-
"get_component",
|
|
29948
|
-
{
|
|
29949
|
-
description: `
|
|
29950
|
-
Retrieves the documentation, stories, and Vue implementation for a list of components from the private repo.
|
|
29951
|
-
|
|
29952
|
-
Args:
|
|
29953
|
-
componentNames (Array<string>): A list of component names (e.g., ["button", "modal"]).
|
|
29954
|
-
|
|
29955
|
-
Returns:
|
|
29956
|
-
str: A Markdown formatted string containing the contents of the .docs.mdx, .stories.ts, and .vue files.
|
|
29957
|
-
`,
|
|
29958
|
-
inputSchema: {
|
|
29959
|
-
componentNames: zod_default.array(zod_default.string()).describe("A list of component names")
|
|
29960
|
-
}
|
|
29961
|
-
},
|
|
29962
|
-
async ({ componentNames }) => {
|
|
29963
|
-
const output = [
|
|
29964
|
-
"I have retrieved the requested component context. For each component, I have provided three sections:",
|
|
29965
|
-
"1. **Documentation (.docs.mdx)**: Explains how to use the component, props, and design guidelines.",
|
|
29966
|
-
"2. **Stories (.stories.ts)**: Shows code examples of how to implement the component (emits, props usage).",
|
|
29967
|
-
"3. **Implementation (.vue)**: The internal logic, properties, emits, and slots of the component.",
|
|
29968
|
-
"---"
|
|
29969
|
-
];
|
|
29970
|
-
const basePath = "components";
|
|
29971
|
-
for (const component of componentNames) {
|
|
29972
|
-
const docsPath = `${basePath}/${component}/${component}.docs.mdx`;
|
|
29973
|
-
const docsContent = getFile(docsPath);
|
|
29974
|
-
const storiesPath = `${basePath}/${component}/${component}.stories.ts`;
|
|
29975
|
-
const storiesContent = getFile(storiesPath);
|
|
29976
|
-
const vuePath = `${basePath}/${component}/${component}.vue`;
|
|
29977
|
-
const vueContent = getFile(vuePath);
|
|
29978
|
-
const componentSection = `
|
|
29979
|
-
# Component: ${component}
|
|
29980
|
-
|
|
29981
|
-
## 1. Documentation (${component}.docs.mdx)
|
|
29982
|
-
\`\`\`markdown
|
|
29983
|
-
${docsContent}
|
|
29984
|
-
\`\`\`
|
|
29985
|
-
|
|
29986
|
-
## 2. Stories (${component}.stories.ts)
|
|
29987
|
-
TypeScript
|
|
29988
|
-
${storiesContent}
|
|
29989
|
-
|
|
29990
|
-
## 3. Implementation (${component}.vue)
|
|
29991
|
-
Code snippet
|
|
29992
|
-
${vueContent}
|
|
29993
|
-
`;
|
|
29994
|
-
output.push(componentSection);
|
|
29995
|
-
}
|
|
29996
|
-
return {
|
|
29997
|
-
content: [
|
|
29998
|
-
{
|
|
29999
|
-
type: "text",
|
|
30000
|
-
text: output.join("\n")
|
|
30001
|
-
}
|
|
30002
|
-
]
|
|
30003
|
-
};
|
|
30004
|
-
}
|
|
30005
|
-
);
|
|
30006
|
-
server.registerTool(
|
|
30007
|
-
"get_all_components",
|
|
30008
|
-
{
|
|
30009
|
-
description: `
|
|
30010
|
-
Retrieves the main index file that exports all available Bento components.
|
|
30011
|
-
Use this to understand which components are available in the library.
|
|
30012
|
-
Returns:
|
|
30013
|
-
str: The raw content of the packages/vue2/src/index.ts file.
|
|
30014
|
-
`
|
|
30015
|
-
},
|
|
30016
|
-
() => {
|
|
30017
|
-
const filePath = "index.ts";
|
|
30018
|
-
return {
|
|
30019
|
-
content: [{ type: "text", text: getFile(filePath) }]
|
|
30020
|
-
};
|
|
30021
|
-
}
|
|
30022
|
-
);
|
|
30023
30090
|
async function main() {
|
|
30091
|
+
const server = new McpServer({
|
|
30092
|
+
name: "bento-mcp",
|
|
30093
|
+
version: package_default.version,
|
|
30094
|
+
description: package_default.description
|
|
30095
|
+
});
|
|
30096
|
+
addGetAllComponents(server);
|
|
30097
|
+
addGetComponent(server);
|
|
30024
30098
|
const transport = new StdioServerTransport();
|
|
30025
30099
|
await server.connect(transport);
|
|
30026
30100
|
console.error("Bento MCP Server running on stdio");
|