@flexprice/mcp-server 2.0.12 → 2.0.13
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/bin/mcp-server.js +219 -127
- package/bin/mcp-server.js.map +16 -15
- package/bun.lock +17 -17
- package/esm/lib/config.d.ts +3 -3
- package/esm/lib/config.js +3 -3
- package/esm/lib/config.js.map +1 -1
- package/esm/lib/security.d.ts +1 -1
- package/esm/lib/security.d.ts.map +1 -1
- package/esm/lib/security.js +19 -8
- package/esm/lib/security.js.map +1 -1
- package/esm/mcp-server/mcp-server.js +1 -1
- package/esm/mcp-server/server.js +1 -1
- package/esm/models/addonassociationentitytype.d.ts +1 -1
- package/esm/models/dtocreatecustomerrequest.d.ts +0 -2
- package/esm/models/dtocreatecustomerrequest.d.ts.map +1 -1
- package/esm/models/dtocreatecustomerrequest.js +0 -3
- package/esm/models/dtocreatecustomerrequest.js.map +1 -1
- package/esm/models/dtocustomerresponse.d.ts +2 -0
- package/esm/models/dtocustomerresponse.d.ts.map +1 -1
- package/esm/models/dtocustomerresponse.js +3 -0
- package/esm/models/dtocustomerresponse.js.map +1 -1
- package/esm/models/dtoentitlementsourceentitytype.d.ts +1 -1
- package/esm/models/dtoentityintegrationmappingresponse.d.ts +19 -0
- package/esm/models/dtoentityintegrationmappingresponse.d.ts.map +1 -0
- package/esm/models/dtoentityintegrationmappingresponse.js +21 -0
- package/esm/models/dtoentityintegrationmappingresponse.js.map +1 -0
- package/esm/models/dtoinvoiceresponse.d.ts +1 -0
- package/esm/models/dtoinvoiceresponse.d.ts.map +1 -1
- package/esm/models/dtoinvoiceresponse.js +1 -0
- package/esm/models/dtoinvoiceresponse.js.map +1 -1
- package/esm/models/dtoupdatecustomerrequest.d.ts +0 -2
- package/esm/models/dtoupdatecustomerrequest.d.ts.map +1 -1
- package/esm/models/dtoupdatecustomerrequest.js +0 -3
- package/esm/models/dtoupdatecustomerrequest.js.map +1 -1
- package/esm/models/groupentitytype.d.ts +1 -1
- package/esm/models/integrationentitytype.d.ts +28 -0
- package/esm/models/integrationentitytype.d.ts.map +1 -0
- package/esm/models/integrationentitytype.js +29 -0
- package/esm/models/integrationentitytype.js.map +1 -0
- package/esm/models/invoicestatus.d.ts +2 -0
- package/esm/models/invoicestatus.d.ts.map +1 -1
- package/esm/models/invoicestatus.js +2 -0
- package/esm/models/invoicestatus.js.map +1 -1
- package/esm/models/subscriptionlineitementitytype.d.ts +1 -1
- package/esm/models/taxrateentitytype.d.ts +1 -1
- package/esm/tsconfig.tsbuildinfo +1 -1
- package/manifest.json +1 -1
- package/package.json +1 -1
- package/src/lib/config.ts +3 -3
- package/src/lib/security.ts +14 -2
- package/src/mcp-server/mcp-server.ts +1 -1
- package/src/mcp-server/server.ts +1 -1
- package/src/models/dtocreatecustomerrequest.ts +0 -9
- package/src/models/dtocustomerresponse.ts +7 -0
- package/src/models/dtoentityintegrationmappingresponse.ts +42 -0
- package/src/models/dtoinvoiceresponse.ts +4 -0
- package/src/models/dtoupdatecustomerrequest.ts +0 -9
- package/src/models/integrationentitytype.ts +33 -0
- package/src/models/invoicestatus.ts +2 -0
- package/esm/models/dtointegrationentitymapping.d.ts +0 -28
- package/esm/models/dtointegrationentitymapping.d.ts.map +0 -1
- package/esm/models/dtointegrationentitymapping.js +0 -22
- package/esm/models/dtointegrationentitymapping.js.map +0 -1
- package/src/models/dtointegrationentitymapping.ts +0 -41
package/bin/mcp-server.js
CHANGED
|
@@ -5423,7 +5423,7 @@ var init_scopes = __esm(() => {
|
|
|
5423
5423
|
});
|
|
5424
5424
|
|
|
5425
5425
|
// node_modules/@hono/node-server/dist/index.mjs
|
|
5426
|
-
import { Http2ServerRequest as Http2ServerRequest2 } from "http2";
|
|
5426
|
+
import { Http2ServerRequest as Http2ServerRequest2, constants as h2constants } from "http2";
|
|
5427
5427
|
import { Http2ServerRequest } from "http2";
|
|
5428
5428
|
import { Readable } from "stream";
|
|
5429
5429
|
import crypto2 from "crypto";
|
|
@@ -5585,7 +5585,45 @@ var RequestError, toRequestError = (e) => {
|
|
|
5585
5585
|
}
|
|
5586
5586
|
res["content-type"] ??= "text/plain; charset=UTF-8";
|
|
5587
5587
|
return res;
|
|
5588
|
-
}, X_ALREADY_SENT = "x-hono-already-sent", outgoingEnded,
|
|
5588
|
+
}, X_ALREADY_SENT = "x-hono-already-sent", outgoingEnded, incomingDraining, DRAIN_TIMEOUT_MS = 500, MAX_DRAIN_BYTES, drainIncoming = (incoming) => {
|
|
5589
|
+
const incomingWithDrainState = incoming;
|
|
5590
|
+
if (incoming.destroyed || incomingWithDrainState[incomingDraining]) {
|
|
5591
|
+
return;
|
|
5592
|
+
}
|
|
5593
|
+
incomingWithDrainState[incomingDraining] = true;
|
|
5594
|
+
if (incoming instanceof Http2ServerRequest2) {
|
|
5595
|
+
try {
|
|
5596
|
+
incoming.stream?.close?.(h2constants.NGHTTP2_NO_ERROR);
|
|
5597
|
+
} catch {}
|
|
5598
|
+
return;
|
|
5599
|
+
}
|
|
5600
|
+
let bytesRead = 0;
|
|
5601
|
+
const cleanup = () => {
|
|
5602
|
+
clearTimeout(timer);
|
|
5603
|
+
incoming.off("data", onData);
|
|
5604
|
+
incoming.off("end", cleanup);
|
|
5605
|
+
incoming.off("error", cleanup);
|
|
5606
|
+
};
|
|
5607
|
+
const forceClose = () => {
|
|
5608
|
+
cleanup();
|
|
5609
|
+
const socket = incoming.socket;
|
|
5610
|
+
if (socket && !socket.destroyed) {
|
|
5611
|
+
socket.destroySoon();
|
|
5612
|
+
}
|
|
5613
|
+
};
|
|
5614
|
+
const timer = setTimeout(forceClose, DRAIN_TIMEOUT_MS);
|
|
5615
|
+
timer.unref?.();
|
|
5616
|
+
const onData = (chunk) => {
|
|
5617
|
+
bytesRead += chunk.length;
|
|
5618
|
+
if (bytesRead > MAX_DRAIN_BYTES) {
|
|
5619
|
+
forceClose();
|
|
5620
|
+
}
|
|
5621
|
+
};
|
|
5622
|
+
incoming.on("data", onData);
|
|
5623
|
+
incoming.on("end", cleanup);
|
|
5624
|
+
incoming.on("error", cleanup);
|
|
5625
|
+
incoming.resume();
|
|
5626
|
+
}, handleRequestError = () => new Response(null, {
|
|
5589
5627
|
status: 400
|
|
5590
5628
|
}), handleFetchError = (e) => new Response(null, {
|
|
5591
5629
|
status: e instanceof Error && (e.name === "TimeoutError" || e.constructor.name === "TimeoutError") ? 504 : 500
|
|
@@ -5741,14 +5779,18 @@ var RequestError, toRequestError = (e) => {
|
|
|
5741
5779
|
setTimeout(() => {
|
|
5742
5780
|
if (!incomingEnded) {
|
|
5743
5781
|
setTimeout(() => {
|
|
5744
|
-
incoming
|
|
5745
|
-
outgoing.destroy();
|
|
5782
|
+
drainIncoming(incoming);
|
|
5746
5783
|
});
|
|
5747
5784
|
}
|
|
5748
5785
|
});
|
|
5749
5786
|
}
|
|
5750
5787
|
};
|
|
5751
5788
|
}
|
|
5789
|
+
outgoing.on("finish", () => {
|
|
5790
|
+
if (!incomingEnded) {
|
|
5791
|
+
drainIncoming(incoming);
|
|
5792
|
+
}
|
|
5793
|
+
});
|
|
5752
5794
|
}
|
|
5753
5795
|
outgoing.on("close", () => {
|
|
5754
5796
|
const abortController = req[abortControllerKey];
|
|
@@ -5763,7 +5805,7 @@ var RequestError, toRequestError = (e) => {
|
|
|
5763
5805
|
setTimeout(() => {
|
|
5764
5806
|
if (!incomingEnded) {
|
|
5765
5807
|
setTimeout(() => {
|
|
5766
|
-
incoming
|
|
5808
|
+
drainIncoming(incoming);
|
|
5767
5809
|
});
|
|
5768
5810
|
}
|
|
5769
5811
|
});
|
|
@@ -5939,6 +5981,8 @@ var init_dist = __esm(() => {
|
|
|
5939
5981
|
global.crypto = crypto2;
|
|
5940
5982
|
}
|
|
5941
5983
|
outgoingEnded = Symbol("outgoingEnded");
|
|
5984
|
+
incomingDraining = Symbol("incomingDraining");
|
|
5985
|
+
MAX_DRAIN_BYTES = 64 * 1024 * 1024;
|
|
5942
5986
|
});
|
|
5943
5987
|
|
|
5944
5988
|
// node_modules/zod/v4/classic/index.js
|
|
@@ -26960,17 +27004,8 @@ var require_dist = __commonJS((exports) => {
|
|
|
26960
27004
|
var NOOP_VALUE = (value) => value;
|
|
26961
27005
|
var ID_START = /^[$_\p{ID_Start}]$/u;
|
|
26962
27006
|
var ID_CONTINUE = /^[$\u200c\u200d\p{ID_Continue}]$/u;
|
|
26963
|
-
var
|
|
26964
|
-
|
|
26965
|
-
"}": "}",
|
|
26966
|
-
"(": "(",
|
|
26967
|
-
")": ")",
|
|
26968
|
-
"[": "[",
|
|
26969
|
-
"]": "]",
|
|
26970
|
-
"+": "+",
|
|
26971
|
-
"?": "?",
|
|
26972
|
-
"!": "!"
|
|
26973
|
-
};
|
|
27007
|
+
var ID = /^[$_\p{ID_Start}][$\u200c\u200d\p{ID_Continue}]*$/u;
|
|
27008
|
+
var SIMPLE_TOKENS = "{}()[]+?!";
|
|
26974
27009
|
function escapeText(str) {
|
|
26975
27010
|
return str.replace(/[{}()\[\]+?!:*\\]/g, "\\$&");
|
|
26976
27011
|
}
|
|
@@ -27011,8 +27046,8 @@ var require_dist = __commonJS((exports) => {
|
|
|
27011
27046
|
} while (ID_CONTINUE.test(chars[index]));
|
|
27012
27047
|
} else if (chars[index] === '"') {
|
|
27013
27048
|
let quoteStart = index;
|
|
27014
|
-
while (index
|
|
27015
|
-
if (chars[index] === '"') {
|
|
27049
|
+
while (index < chars.length) {
|
|
27050
|
+
if (chars[++index] === '"') {
|
|
27016
27051
|
index++;
|
|
27017
27052
|
quoteStart = 0;
|
|
27018
27053
|
break;
|
|
@@ -27031,18 +27066,17 @@ var require_dist = __commonJS((exports) => {
|
|
|
27031
27066
|
return value;
|
|
27032
27067
|
}
|
|
27033
27068
|
while (index < chars.length) {
|
|
27034
|
-
const value = chars[index];
|
|
27035
|
-
|
|
27036
|
-
|
|
27037
|
-
tokens.push({ type, index: index++, value });
|
|
27069
|
+
const value = chars[index++];
|
|
27070
|
+
if (SIMPLE_TOKENS.includes(value)) {
|
|
27071
|
+
tokens.push({ type: value, index, value });
|
|
27038
27072
|
} else if (value === "\\") {
|
|
27039
|
-
tokens.push({ type: "escape", index
|
|
27073
|
+
tokens.push({ type: "escape", index, value: chars[index++] });
|
|
27040
27074
|
} else if (value === ":") {
|
|
27041
|
-
tokens.push({ type: "param", index
|
|
27075
|
+
tokens.push({ type: "param", index, value: name() });
|
|
27042
27076
|
} else if (value === "*") {
|
|
27043
|
-
tokens.push({ type: "wildcard", index
|
|
27077
|
+
tokens.push({ type: "wildcard", index, value: name() });
|
|
27044
27078
|
} else {
|
|
27045
|
-
tokens.push({ type: "char", index
|
|
27079
|
+
tokens.push({ type: "char", index, value });
|
|
27046
27080
|
}
|
|
27047
27081
|
}
|
|
27048
27082
|
tokens.push({ type: "end", index, value: "" });
|
|
@@ -27179,106 +27213,129 @@ var require_dist = __commonJS((exports) => {
|
|
|
27179
27213
|
function pathToRegexp(path, options = {}) {
|
|
27180
27214
|
const { delimiter = DEFAULT_DELIMITER, end = true, sensitive = false, trailing = true } = options;
|
|
27181
27215
|
const keys = [];
|
|
27182
|
-
const flags = sensitive ? "" : "i";
|
|
27183
27216
|
const sources = [];
|
|
27184
|
-
|
|
27185
|
-
|
|
27186
|
-
|
|
27187
|
-
|
|
27217
|
+
const paths = [path];
|
|
27218
|
+
let combinations = 0;
|
|
27219
|
+
while (paths.length) {
|
|
27220
|
+
const path2 = paths.shift();
|
|
27221
|
+
if (Array.isArray(path2)) {
|
|
27222
|
+
paths.push(...path2);
|
|
27223
|
+
continue;
|
|
27188
27224
|
}
|
|
27225
|
+
const data = typeof path2 === "object" ? path2 : parse5(path2, options);
|
|
27226
|
+
flatten(data.tokens, 0, [], (tokens) => {
|
|
27227
|
+
if (combinations++ >= 256) {
|
|
27228
|
+
throw new PathError("Too many path combinations", data.originalPath);
|
|
27229
|
+
}
|
|
27230
|
+
sources.push(toRegExpSource(tokens, delimiter, keys, data.originalPath));
|
|
27231
|
+
});
|
|
27189
27232
|
}
|
|
27190
27233
|
let pattern = `^(?:${sources.join("|")})`;
|
|
27191
27234
|
if (trailing)
|
|
27192
|
-
pattern +=
|
|
27193
|
-
pattern += end ? "$" :
|
|
27194
|
-
|
|
27195
|
-
return { regexp, keys };
|
|
27196
|
-
}
|
|
27197
|
-
function pathsToArray(paths, init) {
|
|
27198
|
-
if (Array.isArray(paths)) {
|
|
27199
|
-
for (const p of paths)
|
|
27200
|
-
pathsToArray(p, init);
|
|
27201
|
-
} else {
|
|
27202
|
-
init.push(paths);
|
|
27203
|
-
}
|
|
27204
|
-
return init;
|
|
27235
|
+
pattern += "(?:" + escape2(delimiter) + "$)?";
|
|
27236
|
+
pattern += end ? "$" : "(?=" + escape2(delimiter) + "|$)";
|
|
27237
|
+
return { regexp: new RegExp(pattern, sensitive ? "" : "i"), keys };
|
|
27205
27238
|
}
|
|
27206
|
-
function
|
|
27207
|
-
|
|
27208
|
-
|
|
27209
|
-
|
|
27210
|
-
|
|
27211
|
-
|
|
27212
|
-
for (const seq of flatten(token.tokens, 0, init.slice())) {
|
|
27213
|
-
yield* flatten(tokens, index + 1, seq);
|
|
27239
|
+
function flatten(tokens, index, result, callback) {
|
|
27240
|
+
while (index < tokens.length) {
|
|
27241
|
+
const token = tokens[index++];
|
|
27242
|
+
if (token.type === "group") {
|
|
27243
|
+
flatten(token.tokens, 0, result.slice(), (seq) => flatten(tokens, index, seq, callback));
|
|
27244
|
+
continue;
|
|
27214
27245
|
}
|
|
27215
|
-
|
|
27216
|
-
init.push(token);
|
|
27246
|
+
result.push(token);
|
|
27217
27247
|
}
|
|
27218
|
-
|
|
27248
|
+
callback(result);
|
|
27219
27249
|
}
|
|
27220
27250
|
function toRegExpSource(tokens, delimiter, keys, originalPath) {
|
|
27221
27251
|
let result = "";
|
|
27222
27252
|
let backtrack = "";
|
|
27223
|
-
let
|
|
27224
|
-
|
|
27253
|
+
let wildcardBacktrack = "";
|
|
27254
|
+
let prevCaptureType = 0;
|
|
27255
|
+
let hasSegmentCapture = 0;
|
|
27256
|
+
let index = 0;
|
|
27257
|
+
function hasInSegment(index2, type) {
|
|
27258
|
+
while (index2 < tokens.length) {
|
|
27259
|
+
const token = tokens[index2++];
|
|
27260
|
+
if (token.type === type)
|
|
27261
|
+
return true;
|
|
27262
|
+
if (token.type === "text") {
|
|
27263
|
+
if (token.value.includes(delimiter))
|
|
27264
|
+
break;
|
|
27265
|
+
}
|
|
27266
|
+
}
|
|
27267
|
+
return false;
|
|
27268
|
+
}
|
|
27269
|
+
function peekText(index2) {
|
|
27270
|
+
let result2 = "";
|
|
27271
|
+
while (index2 < tokens.length) {
|
|
27272
|
+
const token = tokens[index2++];
|
|
27273
|
+
if (token.type !== "text")
|
|
27274
|
+
break;
|
|
27275
|
+
result2 += token.value;
|
|
27276
|
+
}
|
|
27277
|
+
return result2;
|
|
27278
|
+
}
|
|
27279
|
+
while (index < tokens.length) {
|
|
27280
|
+
const token = tokens[index++];
|
|
27225
27281
|
if (token.type === "text") {
|
|
27226
27282
|
result += escape2(token.value);
|
|
27227
27283
|
backtrack += token.value;
|
|
27228
|
-
|
|
27284
|
+
if (prevCaptureType === 2)
|
|
27285
|
+
wildcardBacktrack += token.value;
|
|
27286
|
+
if (token.value.includes(delimiter))
|
|
27287
|
+
hasSegmentCapture = 0;
|
|
27229
27288
|
continue;
|
|
27230
27289
|
}
|
|
27231
27290
|
if (token.type === "param" || token.type === "wildcard") {
|
|
27232
|
-
if (
|
|
27291
|
+
if (prevCaptureType && !backtrack) {
|
|
27233
27292
|
throw new PathError(`Missing text before "${token.name}" ${token.type}`, originalPath);
|
|
27234
27293
|
}
|
|
27235
27294
|
if (token.type === "param") {
|
|
27236
|
-
result += `(${negate(delimiter,
|
|
27295
|
+
result += hasSegmentCapture & 2 ? `(${negate(delimiter, backtrack)}+)` : hasInSegment(index, "wildcard") ? `(${negate(delimiter, peekText(index))}+)` : hasSegmentCapture & 1 ? `(${negate(delimiter, backtrack)}+|${escape2(backtrack)})` : `(${negate(delimiter, "")}+)`;
|
|
27296
|
+
hasSegmentCapture |= prevCaptureType = 1;
|
|
27237
27297
|
} else {
|
|
27238
|
-
result += `([
|
|
27298
|
+
result += hasSegmentCapture & 2 ? `(${negate(backtrack, "")}+)` : wildcardBacktrack ? `(${negate(wildcardBacktrack, "")}+|${negate(delimiter, "")}+)` : `([^]+)`;
|
|
27299
|
+
wildcardBacktrack = "";
|
|
27300
|
+
hasSegmentCapture |= prevCaptureType = 2;
|
|
27239
27301
|
}
|
|
27240
27302
|
keys.push(token);
|
|
27241
27303
|
backtrack = "";
|
|
27242
|
-
isSafeSegmentParam = false;
|
|
27243
27304
|
continue;
|
|
27244
27305
|
}
|
|
27306
|
+
throw new TypeError(`Unknown token type: ${token.type}`);
|
|
27245
27307
|
}
|
|
27246
27308
|
return result;
|
|
27247
27309
|
}
|
|
27248
|
-
function negate(
|
|
27249
|
-
if (
|
|
27250
|
-
|
|
27251
|
-
|
|
27252
|
-
|
|
27253
|
-
|
|
27254
|
-
|
|
27255
|
-
|
|
27256
|
-
|
|
27257
|
-
return `
|
|
27258
|
-
}
|
|
27259
|
-
function stringifyTokens(tokens) {
|
|
27310
|
+
function negate(a, b) {
|
|
27311
|
+
if (b.length > a.length)
|
|
27312
|
+
return negate(b, a);
|
|
27313
|
+
if (a === b)
|
|
27314
|
+
b = "";
|
|
27315
|
+
if (b.length > 1)
|
|
27316
|
+
return `(?:(?!${escape2(a)}|${escape2(b)})[^])`;
|
|
27317
|
+
if (a.length > 1)
|
|
27318
|
+
return `(?:(?!${escape2(a)})[^${escape2(b)}])`;
|
|
27319
|
+
return `[^${escape2(a + b)}]`;
|
|
27320
|
+
}
|
|
27321
|
+
function stringifyTokens(tokens, index) {
|
|
27260
27322
|
let value = "";
|
|
27261
|
-
|
|
27262
|
-
|
|
27263
|
-
const isSafe = isNameSafe(value2) && isNextNameSafe(tokens[i]);
|
|
27264
|
-
return isSafe ? value2 : JSON.stringify(value2);
|
|
27265
|
-
}
|
|
27266
|
-
while (i < tokens.length) {
|
|
27267
|
-
const token = tokens[i++];
|
|
27323
|
+
while (index < tokens.length) {
|
|
27324
|
+
const token = tokens[index++];
|
|
27268
27325
|
if (token.type === "text") {
|
|
27269
27326
|
value += escapeText(token.value);
|
|
27270
27327
|
continue;
|
|
27271
27328
|
}
|
|
27272
27329
|
if (token.type === "group") {
|
|
27273
|
-
value +=
|
|
27330
|
+
value += "{" + stringifyTokens(token.tokens, 0) + "}";
|
|
27274
27331
|
continue;
|
|
27275
27332
|
}
|
|
27276
27333
|
if (token.type === "param") {
|
|
27277
|
-
value +=
|
|
27334
|
+
value += ":" + stringifyName(token.name, tokens[index]);
|
|
27278
27335
|
continue;
|
|
27279
27336
|
}
|
|
27280
27337
|
if (token.type === "wildcard") {
|
|
27281
|
-
value +=
|
|
27338
|
+
value += "*" + stringifyName(token.name, tokens[index]);
|
|
27282
27339
|
continue;
|
|
27283
27340
|
}
|
|
27284
27341
|
throw new TypeError(`Unknown token type: ${token.type}`);
|
|
@@ -27286,16 +27343,15 @@ var require_dist = __commonJS((exports) => {
|
|
|
27286
27343
|
return value;
|
|
27287
27344
|
}
|
|
27288
27345
|
function stringify(data) {
|
|
27289
|
-
return stringifyTokens(data.tokens);
|
|
27290
|
-
}
|
|
27291
|
-
function isNameSafe(name) {
|
|
27292
|
-
const [first, ...rest] = name;
|
|
27293
|
-
return ID_START.test(first) && rest.every((char) => ID_CONTINUE.test(char));
|
|
27346
|
+
return stringifyTokens(data.tokens, 0);
|
|
27294
27347
|
}
|
|
27295
|
-
function
|
|
27296
|
-
if (
|
|
27297
|
-
return
|
|
27298
|
-
|
|
27348
|
+
function stringifyName(name, next) {
|
|
27349
|
+
if (!ID.test(name))
|
|
27350
|
+
return JSON.stringify(name);
|
|
27351
|
+
if ((next === null || next === undefined ? undefined : next.type) === "text" && ID_CONTINUE.test(next.value[0])) {
|
|
27352
|
+
return JSON.stringify(name);
|
|
27353
|
+
}
|
|
27354
|
+
return name;
|
|
27299
27355
|
}
|
|
27300
27356
|
});
|
|
27301
27357
|
|
|
@@ -50445,9 +50501,9 @@ var init_config = __esm(() => {
|
|
|
50445
50501
|
SDK_METADATA = {
|
|
50446
50502
|
language: "typescript",
|
|
50447
50503
|
openapiDocVersion: "1.0",
|
|
50448
|
-
sdkVersion: "2.0.
|
|
50449
|
-
genVersion: "2.
|
|
50450
|
-
userAgent: "speakeasy-sdk/mcp-typescript 2.0.
|
|
50504
|
+
sdkVersion: "2.0.13",
|
|
50505
|
+
genVersion: "2.879.1",
|
|
50506
|
+
userAgent: "speakeasy-sdk/mcp-typescript 2.0.13 2.879.1 1.0 @flexprice/mcp-server"
|
|
50451
50507
|
};
|
|
50452
50508
|
});
|
|
50453
50509
|
|
|
@@ -51793,14 +51849,25 @@ function applyBearer(state, spec) {
|
|
|
51793
51849
|
state.headers[spec.fieldName] = value;
|
|
51794
51850
|
}
|
|
51795
51851
|
}
|
|
51796
|
-
function resolveGlobalSecurity(security) {
|
|
51797
|
-
|
|
51798
|
-
|
|
51799
|
-
|
|
51800
|
-
|
|
51801
|
-
|
|
51802
|
-
|
|
51803
|
-
|
|
51852
|
+
function resolveGlobalSecurity(security, allowedFields) {
|
|
51853
|
+
let inputs = [
|
|
51854
|
+
[
|
|
51855
|
+
{
|
|
51856
|
+
fieldName: "x-api-key",
|
|
51857
|
+
type: "apiKey:header",
|
|
51858
|
+
value: security?.ApiKeyAuth
|
|
51859
|
+
}
|
|
51860
|
+
]
|
|
51861
|
+
];
|
|
51862
|
+
if (allowedFields) {
|
|
51863
|
+
inputs = allowedFields.map((i) => {
|
|
51864
|
+
if (i < 0 || i >= inputs.length) {
|
|
51865
|
+
throw new RangeError(`invalid allowedFields index ${i}`);
|
|
51866
|
+
}
|
|
51867
|
+
return inputs[i];
|
|
51868
|
+
});
|
|
51869
|
+
}
|
|
51870
|
+
return resolveSecurity(...inputs);
|
|
51804
51871
|
}
|
|
51805
51872
|
async function extractSecurity(sec) {
|
|
51806
51873
|
if (sec == null) {
|
|
@@ -51826,21 +51893,6 @@ var init_security = __esm(() => {
|
|
|
51826
51893
|
};
|
|
51827
51894
|
});
|
|
51828
51895
|
|
|
51829
|
-
// src/models/dtointegrationentitymapping.ts
|
|
51830
|
-
var Provider$zodSchema, DtoIntegrationEntityMapping$zodSchema;
|
|
51831
|
-
var init_dtointegrationentitymapping = __esm(() => {
|
|
51832
|
-
init_zod();
|
|
51833
|
-
Provider$zodSchema = _enum([
|
|
51834
|
-
"stripe",
|
|
51835
|
-
"razorpay",
|
|
51836
|
-
"paypal"
|
|
51837
|
-
]).describe('provider is the integration provider name (e.g., "stripe", "razorpay")');
|
|
51838
|
-
DtoIntegrationEntityMapping$zodSchema = object({
|
|
51839
|
-
id: string2().describe("id is the external entity ID from the provider"),
|
|
51840
|
-
provider: Provider$zodSchema.describe('provider is the integration provider name (e.g., "stripe", "razorpay")')
|
|
51841
|
-
}).describe("Integration entity mapping for external provider systems");
|
|
51842
|
-
});
|
|
51843
|
-
|
|
51844
51896
|
// src/models/dtotaxrateoverride.ts
|
|
51845
51897
|
var DtoTaxRateOverride$zodSchema;
|
|
51846
51898
|
var init_dtotaxrateoverride = __esm(() => {
|
|
@@ -51858,7 +51910,6 @@ var init_dtotaxrateoverride = __esm(() => {
|
|
|
51858
51910
|
var DtoCreateCustomerRequest$zodSchema;
|
|
51859
51911
|
var init_dtocreatecustomerrequest = __esm(() => {
|
|
51860
51912
|
init_zod();
|
|
51861
|
-
init_dtointegrationentitymapping();
|
|
51862
51913
|
init_dtotaxrateoverride();
|
|
51863
51914
|
DtoCreateCustomerRequest$zodSchema = object({
|
|
51864
51915
|
address_city: string2().optional().describe("address_city is the city name with maximum 100 characters"),
|
|
@@ -51869,7 +51920,6 @@ var init_dtocreatecustomerrequest = __esm(() => {
|
|
|
51869
51920
|
address_state: string2().optional().describe("address_state is the state, province, or region name with maximum 100 characters"),
|
|
51870
51921
|
email: string2().optional().describe("email is the customer's email address and must be a valid email format if provided"),
|
|
51871
51922
|
external_id: string2().describe("external_id is the unique identifier from your system to reference this customer (required)"),
|
|
51872
|
-
integration_entity_mapping: array(DtoIntegrationEntityMapping$zodSchema).optional().describe("integration_entity_mapping contains provider integration mappings for this customer"),
|
|
51873
51923
|
metadata: record(string2(), string2()).optional().describe("metadata contains additional key-value pairs for storing extra information"),
|
|
51874
51924
|
name: string2().optional().describe("name is the full name or company name of the customer"),
|
|
51875
51925
|
parent_customer_external_id: string2().optional().describe(`Deprecated: See ParentCustomerID.
|
|
@@ -52143,6 +52193,24 @@ Use when removing a customer (e.g. GDPR or churn). Returns 204 No Content on suc
|
|
|
52143
52193
|
};
|
|
52144
52194
|
});
|
|
52145
52195
|
|
|
52196
|
+
// src/models/integrationentitytype.ts
|
|
52197
|
+
var IntegrationEntityType$zodSchema;
|
|
52198
|
+
var init_integrationentitytype = __esm(() => {
|
|
52199
|
+
init_zod();
|
|
52200
|
+
IntegrationEntityType$zodSchema = _enum([
|
|
52201
|
+
"customer",
|
|
52202
|
+
"plan",
|
|
52203
|
+
"invoice",
|
|
52204
|
+
"subscription",
|
|
52205
|
+
"payment",
|
|
52206
|
+
"credit_note",
|
|
52207
|
+
"addon",
|
|
52208
|
+
"item",
|
|
52209
|
+
"item_price",
|
|
52210
|
+
"price"
|
|
52211
|
+
]);
|
|
52212
|
+
});
|
|
52213
|
+
|
|
52146
52214
|
// src/models/status.ts
|
|
52147
52215
|
var Status$zodSchema;
|
|
52148
52216
|
var init_status = __esm(() => {
|
|
@@ -52154,10 +52222,33 @@ var init_status = __esm(() => {
|
|
|
52154
52222
|
]);
|
|
52155
52223
|
});
|
|
52156
52224
|
|
|
52225
|
+
// src/models/dtoentityintegrationmappingresponse.ts
|
|
52226
|
+
var DtoEntityIntegrationMappingResponse$zodSchema;
|
|
52227
|
+
var init_dtoentityintegrationmappingresponse = __esm(() => {
|
|
52228
|
+
init_zod();
|
|
52229
|
+
init_integrationentitytype();
|
|
52230
|
+
init_status();
|
|
52231
|
+
DtoEntityIntegrationMappingResponse$zodSchema = object({
|
|
52232
|
+
created_at: string2().optional(),
|
|
52233
|
+
created_by: string2().optional(),
|
|
52234
|
+
entity_id: string2().optional(),
|
|
52235
|
+
entity_type: IntegrationEntityType$zodSchema.optional(),
|
|
52236
|
+
environment_id: string2().optional(),
|
|
52237
|
+
id: string2().optional(),
|
|
52238
|
+
provider_entity_id: string2().optional(),
|
|
52239
|
+
provider_type: string2().optional(),
|
|
52240
|
+
status: Status$zodSchema.optional(),
|
|
52241
|
+
tenant_id: string2().optional(),
|
|
52242
|
+
updated_at: string2().optional(),
|
|
52243
|
+
updated_by: string2().optional()
|
|
52244
|
+
});
|
|
52245
|
+
});
|
|
52246
|
+
|
|
52157
52247
|
// src/models/dtocustomerresponse.ts
|
|
52158
52248
|
var DtoCustomerResponse$zodSchema;
|
|
52159
52249
|
var init_dtocustomerresponse = __esm(() => {
|
|
52160
52250
|
init_zod();
|
|
52251
|
+
init_dtoentityintegrationmappingresponse();
|
|
52161
52252
|
init_status();
|
|
52162
52253
|
DtoCustomerResponse$zodSchema = object({
|
|
52163
52254
|
address_city: string2().optional().describe("AddressCity is the city of the customer's address"),
|
|
@@ -52172,6 +52263,7 @@ var init_dtocustomerresponse = __esm(() => {
|
|
|
52172
52263
|
environment_id: string2().optional().describe("EnvironmentID is the environment identifier for the customer"),
|
|
52173
52264
|
external_id: string2().optional().describe("ExternalID is the external identifier for the customer"),
|
|
52174
52265
|
id: string2().optional().describe("ID is the unique identifier for the customer"),
|
|
52266
|
+
integrations: array(DtoEntityIntegrationMappingResponse$zodSchema).optional(),
|
|
52175
52267
|
metadata: record(string2(), string2()).optional().describe("Metadata"),
|
|
52176
52268
|
name: string2().optional().describe("Name is the name of the customer"),
|
|
52177
52269
|
parent_customer: lazy(() => DtoCustomerResponse$zodSchema).optional().describe("Customer response object containing all customer information"),
|
|
@@ -53526,7 +53618,6 @@ Use when listing or searching customers (e.g. admin CRM or reporting). Returns a
|
|
|
53526
53618
|
var DtoUpdateCustomerRequest$zodSchema;
|
|
53527
53619
|
var init_dtoupdatecustomerrequest = __esm(() => {
|
|
53528
53620
|
init_zod();
|
|
53529
|
-
init_dtointegrationentitymapping();
|
|
53530
53621
|
DtoUpdateCustomerRequest$zodSchema = object({
|
|
53531
53622
|
address_city: string2().optional().describe("address_city is the updated city name with maximum 100 characters"),
|
|
53532
53623
|
address_country: string2().optional().describe("address_country is the updated two-letter ISO 3166-1 alpha-2 country code"),
|
|
@@ -53536,7 +53627,6 @@ var init_dtoupdatecustomerrequest = __esm(() => {
|
|
|
53536
53627
|
address_state: string2().optional().describe("address_state is the updated state, province, or region name with maximum 100 characters"),
|
|
53537
53628
|
email: string2().optional().describe("email is the updated email address and must be a valid email format if provided"),
|
|
53538
53629
|
external_id: string2().optional().describe("external_id is the updated external identifier for the customer"),
|
|
53539
|
-
integration_entity_mapping: array(DtoIntegrationEntityMapping$zodSchema).optional().describe("integration_entity_mapping contains provider integration mappings for this customer"),
|
|
53540
53630
|
metadata: record(string2(), string2()).optional().describe("metadata contains updated key-value pairs that will replace existing metadata"),
|
|
53541
53631
|
name: string2().optional().describe("name is the updated name or company name for the customer"),
|
|
53542
53632
|
parent_customer_external_id: string2().optional().describe(`Deprecated: See ParentCustomerID.
|
|
@@ -55499,7 +55589,8 @@ var init_invoicestatus = __esm(() => {
|
|
|
55499
55589
|
InvoiceStatus$zodSchema = _enum([
|
|
55500
55590
|
"DRAFT",
|
|
55501
55591
|
"FINALIZED",
|
|
55502
|
-
"VOIDED"
|
|
55592
|
+
"VOIDED",
|
|
55593
|
+
"SKIPPED"
|
|
55503
55594
|
]);
|
|
55504
55595
|
});
|
|
55505
55596
|
|
|
@@ -56751,6 +56842,7 @@ These are non-cash reductions applied to the invoice (e.g. goodwill credit, bill
|
|
|
56751
56842
|
invoice_pdf_url: string2().optional().describe("invoice_pdf_url is the URL where customers can download the PDF version of this invoice"),
|
|
56752
56843
|
invoice_status: InvoiceStatus$zodSchema.optional(),
|
|
56753
56844
|
invoice_type: InvoiceType$zodSchema.optional(),
|
|
56845
|
+
last_computed_at: string2().optional().describe("last_computed_at is the timestamp when this invoice was last computed by ComputeInvoice"),
|
|
56754
56846
|
line_items: array(DtoInvoiceLineItemResponse$zodSchema).optional().describe("line_items contains the individual items that make up this invoice (overrides embedded field)"),
|
|
56755
56847
|
metadata: record(string2(), string2()).optional(),
|
|
56756
56848
|
overpaid_amount: string2().optional().describe("overpaid_amount is the amount overpaid if payment_status is OVERPAID (amount_paid - total)"),
|
|
@@ -64231,7 +64323,7 @@ Use when changing a subscription line item (e.g. quantity or price). Implemented
|
|
|
64231
64323
|
function createMCPServer(deps) {
|
|
64232
64324
|
const server = new McpServer({
|
|
64233
64325
|
name: "Flexprice",
|
|
64234
|
-
version: "2.0.
|
|
64326
|
+
version: "2.0.13"
|
|
64235
64327
|
});
|
|
64236
64328
|
const getClient = deps.getSDK || (() => new FlexpriceCore({
|
|
64237
64329
|
security: deps.security,
|
|
@@ -68370,7 +68462,7 @@ var routes = buildRouteMap({
|
|
|
68370
68462
|
var app = buildApplication(routes, {
|
|
68371
68463
|
name: "mcp",
|
|
68372
68464
|
versionInfo: {
|
|
68373
|
-
currentVersion: "2.0.
|
|
68465
|
+
currentVersion: "2.0.13"
|
|
68374
68466
|
}
|
|
68375
68467
|
});
|
|
68376
68468
|
run(app, process4.argv.slice(2), buildContext(process4));
|
|
@@ -68378,5 +68470,5 @@ export {
|
|
|
68378
68470
|
app
|
|
68379
68471
|
};
|
|
68380
68472
|
|
|
68381
|
-
//# debugId=
|
|
68473
|
+
//# debugId=A81EAA92FA198AE664756E2164756E21
|
|
68382
68474
|
//# sourceMappingURL=mcp-server.js.map
|