@lightsage/mcp 0.4.19 → 0.4.20
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/bin/mcp-server.js +44 -19
- package/bin/mcp-server.js.map +14 -14
- package/esm/funcs/promptsList.d.ts +1 -1
- package/esm/funcs/promptsList.js +3 -1
- package/esm/funcs/promptsList.js.map +1 -1
- package/esm/landing-page.js +1 -1
- package/esm/lib/config.d.ts +2 -2
- package/esm/lib/config.js +2 -2
- package/esm/mcp-server/mcp-server.js +1 -1
- package/esm/mcp-server/server.js +1 -1
- package/esm/mcp-server/tools/promptsList.js +1 -1
- package/esm/mcp-server/tools/promptsList.js.map +1 -1
- package/esm/models/v2listpromptsresponse.d.ts +2 -0
- package/esm/models/v2listpromptsresponse.d.ts.map +1 -1
- package/esm/models/v2listpromptsresponse.js +3 -1
- package/esm/models/v2listpromptsresponse.js.map +1 -1
- package/esm/models/v2promptslistop.d.ts +2 -0
- package/esm/models/v2promptslistop.d.ts.map +1 -1
- package/esm/models/v2promptslistop.js +3 -0
- package/esm/models/v2promptslistop.js.map +1 -1
- package/esm/tool-names.js +1 -1
- package/esm/tool-names.js.map +1 -1
- package/package.json +1 -1
- package/src/funcs/promptsList.ts +3 -1
- package/src/landing-page.ts +1 -1
- package/src/lib/config.ts +2 -2
- package/src/mcp-server/mcp-server.ts +1 -1
- package/src/mcp-server/server.ts +1 -1
- package/src/mcp-server/tools/promptsList.ts +1 -1
- package/src/models/v2listpromptsresponse.ts +9 -1
- package/src/models/v2promptslistop.ts +5 -0
- package/src/tool-names.ts +1 -1
package/README.md
CHANGED
|
@@ -33,9 +33,9 @@ Lightsage Public API: Public API for Lightsage CLI and external integrations.
|
|
|
33
33
|
<details>
|
|
34
34
|
<summary>Claude Desktop</summary>
|
|
35
35
|
|
|
36
|
-
Install the MCP server as a Desktop Extension using the pre-built [`mcp-server.mcpb`](https://github.com/lightsagehq/mcp/releases/download/v0.4.
|
|
36
|
+
Install the MCP server as a Desktop Extension using the pre-built [`mcp-server.mcpb`](https://github.com/lightsagehq/mcp/releases/download/v0.4.20/mcp-server.mcpb) file:
|
|
37
37
|
|
|
38
|
-
Simply drag and drop the [`mcp-server.mcpb`](https://github.com/lightsagehq/mcp/releases/download/v0.4.
|
|
38
|
+
Simply drag and drop the [`mcp-server.mcpb`](https://github.com/lightsagehq/mcp/releases/download/v0.4.20/mcp-server.mcpb) file onto Claude Desktop to install the extension.
|
|
39
39
|
|
|
40
40
|
The MCP bundle package includes the MCP server and all necessary configuration. Once installed, the server will be available without additional setup.
|
|
41
41
|
|
package/bin/mcp-server.js
CHANGED
|
@@ -26303,6 +26303,15 @@ var require_utils2 = __commonJS(function(exports, module) {
|
|
|
26303
26303
|
}
|
|
26304
26304
|
return max;
|
|
26305
26305
|
};
|
|
26306
|
+
var countElements = function countElements(arr) {
|
|
26307
|
+
var count = 0;
|
|
26308
|
+
for (var i = 0;i < arr.length; ++i) {
|
|
26309
|
+
if (has.call(arr, i)) {
|
|
26310
|
+
count += 1;
|
|
26311
|
+
}
|
|
26312
|
+
}
|
|
26313
|
+
return count;
|
|
26314
|
+
};
|
|
26306
26315
|
var limitedPair = function limitedPair(first, second, options) {
|
|
26307
26316
|
var pair = [first, second];
|
|
26308
26317
|
if (options && typeof options.arrayLimit === "number" && pair.length > options.arrayLimit) {
|
|
@@ -26320,7 +26329,7 @@ var require_utils2 = __commonJS(function(exports, module) {
|
|
|
26320
26329
|
if (typeof source !== "object" && typeof source !== "function") {
|
|
26321
26330
|
if (isArray(target)) {
|
|
26322
26331
|
var nextIndex = target.length;
|
|
26323
|
-
if (options && typeof options.arrayLimit === "number" &&
|
|
26332
|
+
if (options && typeof options.arrayLimit === "number" && countElements(target) >= options.arrayLimit) {
|
|
26324
26333
|
if (options.throwOnLimitExceeded) {
|
|
26325
26334
|
throw new RangeError("Array limit exceeded. Only " + options.arrayLimit + " element" + (options.arrayLimit === 1 ? "" : "s") + " allowed in an array.");
|
|
26326
26335
|
}
|
|
@@ -26389,7 +26398,7 @@ var require_utils2 = __commonJS(function(exports, module) {
|
|
|
26389
26398
|
target[i] = item;
|
|
26390
26399
|
}
|
|
26391
26400
|
});
|
|
26392
|
-
if (options && typeof options.arrayLimit === "number" && target
|
|
26401
|
+
if (options && typeof options.arrayLimit === "number" && countElements(target) > options.arrayLimit) {
|
|
26393
26402
|
if (options.throwOnLimitExceeded) {
|
|
26394
26403
|
throw new RangeError("Array limit exceeded. Only " + options.arrayLimit + " element" + (options.arrayLimit === 1 ? "" : "s") + " allowed in an array.");
|
|
26395
26404
|
}
|
|
@@ -26883,6 +26892,7 @@ var require_parse = __commonJS(function(exports, module) {
|
|
|
26883
26892
|
var has = Object.prototype.hasOwnProperty;
|
|
26884
26893
|
var isArray = Array.isArray;
|
|
26885
26894
|
var getPrototypeOf = Object.getPrototypeOf;
|
|
26895
|
+
var fromCharCode = String.fromCharCode;
|
|
26886
26896
|
var isPlainContainer = function isPlainContainer(value) {
|
|
26887
26897
|
if (!value || typeof value !== "object") {
|
|
26888
26898
|
return false;
|
|
@@ -26951,7 +26961,12 @@ var require_parse = __commonJS(function(exports, module) {
|
|
|
26951
26961
|
};
|
|
26952
26962
|
var interpretNumericEntities = function(str) {
|
|
26953
26963
|
return str.replace(/&#(\d+);/g, function($0, numberStr) {
|
|
26954
|
-
|
|
26964
|
+
var c = parseInt(numberStr, 10);
|
|
26965
|
+
if (c > 65535 && c <= 1114111) {
|
|
26966
|
+
c -= 65536;
|
|
26967
|
+
return fromCharCode(55296 | c >> 10, 56320 | c & 1023);
|
|
26968
|
+
}
|
|
26969
|
+
return fromCharCode(c);
|
|
26955
26970
|
});
|
|
26956
26971
|
};
|
|
26957
26972
|
var parseArrayValue = function(val, options, currentArrayLength) {
|
|
@@ -27044,6 +27059,9 @@ var require_parse = __commonJS(function(exports, module) {
|
|
|
27044
27059
|
}
|
|
27045
27060
|
return obj;
|
|
27046
27061
|
};
|
|
27062
|
+
var stripWrappingBrackets = function stripWrappingBrackets(key) {
|
|
27063
|
+
return key.charAt(0) === "[" && key.charAt(key.length - 1) === "]" ? key.slice(1, -1) : key;
|
|
27064
|
+
};
|
|
27047
27065
|
var parseObject = function(chain, val, options, valuesParsed) {
|
|
27048
27066
|
var currentArrayLength = 0;
|
|
27049
27067
|
if (chain.length > 0 && chain[chain.length - 1] === "[]") {
|
|
@@ -27062,12 +27080,12 @@ var require_parse = __commonJS(function(exports, module) {
|
|
|
27062
27080
|
}
|
|
27063
27081
|
} else {
|
|
27064
27082
|
obj = options.plainObjects ? { __proto__: null } : {};
|
|
27065
|
-
var cleanRoot =
|
|
27083
|
+
var cleanRoot = stripWrappingBrackets(root);
|
|
27066
27084
|
var decodedRoot = options.decodeDotInKeys ? cleanRoot.replace(/%2E/gi, ".") : cleanRoot;
|
|
27067
27085
|
var index = parseInt(decodedRoot, 10);
|
|
27068
27086
|
var isValidArrayIndex = !isNaN(index) && root !== decodedRoot && String(index) === decodedRoot && index >= 0 && options.parseArrays;
|
|
27069
27087
|
if (!options.parseArrays && decodedRoot === "") {
|
|
27070
|
-
obj =
|
|
27088
|
+
obj[0] = leaf;
|
|
27071
27089
|
} else if (isValidArrayIndex && index < options.arrayLimit) {
|
|
27072
27090
|
obj = [];
|
|
27073
27091
|
obj[index] = leaf;
|
|
@@ -27114,7 +27132,7 @@ var require_parse = __commonJS(function(exports, module) {
|
|
|
27114
27132
|
var splitKeyIntoSegments = function splitKeyIntoSegments(originalKey, options) {
|
|
27115
27133
|
var key = options.allowDots ? topLevelDotsToBrackets(originalKey) : originalKey;
|
|
27116
27134
|
if (options.depth <= 0) {
|
|
27117
|
-
if (!options.plainObjects && has.call(Object.prototype, key)) {
|
|
27135
|
+
if (!options.plainObjects && has.call(Object.prototype, stripWrappingBrackets(key))) {
|
|
27118
27136
|
if (!options.allowPrototypes) {
|
|
27119
27137
|
return;
|
|
27120
27138
|
}
|
|
@@ -27401,10 +27419,11 @@ var require_encodeurl = __commonJS(function(exports, module) {
|
|
|
27401
27419
|
*/
|
|
27402
27420
|
module.exports = encodeUrl;
|
|
27403
27421
|
var ENCODE_CHARS_REGEXP = /(?:[^\x21\x23-\x3B\x3D\x3F-\x5F\x61-\x7A\x7C\x7E]|%(?:[^0-9A-Fa-f]|[0-9A-Fa-f][^0-9A-Fa-f]|$))+/g;
|
|
27404
|
-
var
|
|
27405
|
-
var UNMATCHED_SURROGATE_PAIR_REPLACE = "$1�$2";
|
|
27422
|
+
var SURROGATE_REGEXP = /([\uD800-\uDBFF][\uDC00-\uDFFF])|[\uD800-\uDFFF]/g;
|
|
27406
27423
|
function encodeUrl(url) {
|
|
27407
|
-
return String(url).replace(
|
|
27424
|
+
return String(url).replace(SURROGATE_REGEXP, function(_, pair) {
|
|
27425
|
+
return pair || "�";
|
|
27426
|
+
}).replace(ENCODE_CHARS_REGEXP, encodeURI);
|
|
27408
27427
|
}
|
|
27409
27428
|
});
|
|
27410
27429
|
|
|
@@ -53728,9 +53747,9 @@ var init_config = __esm(() => {
|
|
|
53728
53747
|
SDK_METADATA = {
|
|
53729
53748
|
language: "typescript",
|
|
53730
53749
|
openapiDocVersion: "1.0.0",
|
|
53731
|
-
sdkVersion: "0.4.
|
|
53750
|
+
sdkVersion: "0.4.20",
|
|
53732
53751
|
genVersion: "2.948.4",
|
|
53733
|
-
userAgent: "speakeasy-sdk/mcp-typescript 0.4.
|
|
53752
|
+
userAgent: "speakeasy-sdk/mcp-typescript 0.4.20 2.948.4 1.0.0 @lightsage/mcp"
|
|
53734
53753
|
};
|
|
53735
53754
|
});
|
|
53736
53755
|
|
|
@@ -61862,8 +61881,10 @@ var init_v2listpromptsresponse = __esm(() => {
|
|
|
61862
61881
|
init_zod();
|
|
61863
61882
|
init_v2promptresponse();
|
|
61864
61883
|
V2ListPromptsResponse$zodSchema = object({
|
|
61865
|
-
count: int(),
|
|
61866
|
-
data: array(V2PromptResponse$zodSchema)
|
|
61884
|
+
count: int().describe("Total prompts that match the filters, across every page."),
|
|
61885
|
+
data: array(V2PromptResponse$zodSchema),
|
|
61886
|
+
limit: int().nullable().optional().describe("Page size, or null when every prompt was returned."),
|
|
61887
|
+
offset: int().default(0)
|
|
61867
61888
|
});
|
|
61868
61889
|
});
|
|
61869
61890
|
|
|
@@ -61880,6 +61901,8 @@ var init_v2promptslistop = __esm(() => {
|
|
|
61880
61901
|
]);
|
|
61881
61902
|
V2PromptsListRequest$zodSchema = object({
|
|
61882
61903
|
include_archived: boolean2().default(false),
|
|
61904
|
+
limit: int().describe("Prompts per page. Omit to return every prompt.").optional(),
|
|
61905
|
+
offset: int().default(0).describe("Prompts to skip. Used with `limit`."),
|
|
61883
61906
|
status: V2PromptsListStatus$zodSchema.optional(),
|
|
61884
61907
|
topic_id: string2().describe("Optional prompt topic ID.").optional()
|
|
61885
61908
|
});
|
|
@@ -61903,6 +61926,8 @@ async function $do44(client$, request, options) {
|
|
|
61903
61926
|
const path$ = pathToFunc("/v2/prompts")();
|
|
61904
61927
|
const query$ = encodeFormQuery({
|
|
61905
61928
|
include_archived: payload$?.include_archived,
|
|
61929
|
+
limit: payload$?.limit,
|
|
61930
|
+
offset: payload$?.offset,
|
|
61906
61931
|
status: payload$?.status,
|
|
61907
61932
|
topic_id: payload$?.topic_id
|
|
61908
61933
|
});
|
|
@@ -61980,7 +62005,7 @@ var init_promptsList2 = __esm(() => {
|
|
|
61980
62005
|
name: "prompts-list",
|
|
61981
62006
|
description: `List Prompts
|
|
61982
62007
|
|
|
61983
|
-
Returns active and inactive prompts by default. Set \`include_archived\` to include archived prompts
|
|
62008
|
+
Returns active and inactive prompts by default, newest first. Set \`include_archived\` to include archived prompts. Without \`limit\`, every matching prompt is returned in one response. Set \`limit\` to page through them: \`count\` is the total across every page, so request the next page with \`offset\` until \`offset + limit\` reaches \`count\`.`,
|
|
61984
62009
|
annotations: {
|
|
61985
62010
|
title: "",
|
|
61986
62011
|
destructiveHint: false,
|
|
@@ -67035,7 +67060,7 @@ function createMCPServer(deps) {
|
|
|
67035
67060
|
sizes: ["any"]
|
|
67036
67061
|
}],
|
|
67037
67062
|
name: "LightsageMcp",
|
|
67038
|
-
version: "0.4.
|
|
67063
|
+
version: "0.4.20"
|
|
67039
67064
|
});
|
|
67040
67065
|
const getClient = deps.getSDK || (() => new LightsageMcpCore({
|
|
67041
67066
|
security: deps.security,
|
|
@@ -67260,7 +67285,7 @@ Returns per-topic and per-prompt visibility metrics including recommendation sco
|
|
|
67260
67285
|
},
|
|
67261
67286
|
{
|
|
67262
67287
|
name: "prompts-list",
|
|
67263
|
-
description: "List Prompts\n\nReturns active and inactive prompts by default. Set `include_archived` to include archived prompts."
|
|
67288
|
+
description: "List Prompts\n\nReturns active and inactive prompts by default, newest first. Set `include_archived` to include archived prompts. Without `limit`, every matching prompt is returned in one response. Set `limit` to page through them: `count` is the total across every page, so request the next page with `offset` until `offset + limit` reaches `count`."
|
|
67264
67289
|
},
|
|
67265
67290
|
{
|
|
67266
67291
|
name: "prompts-create",
|
|
@@ -68530,7 +68555,7 @@ http_headers = { "lightsage-api-key-auth" = "YOUR_LIGHTSAGE_API_KEY_AUTH" }`;
|
|
|
68530
68555
|
<h1>Instructions</h1>
|
|
68531
68556
|
<p>One-click installation for Claude Desktop users</p>
|
|
68532
68557
|
<div class="instruction-item">
|
|
68533
|
-
<a href="https://github.com/lightsagehq/mcp/releases/download/v0.4.
|
|
68558
|
+
<a href="https://github.com/lightsagehq/mcp/releases/download/v0.4.20/mcp-server.mcpb" download="mcp-server.mcpb" class="action-button header-action" style="display: inline-flex; margin-bottom: 16px;">
|
|
68534
68559
|
\uD83D\uDCE5 Download MCP Bundle
|
|
68535
68560
|
</a>
|
|
68536
68561
|
</div>
|
|
@@ -71430,7 +71455,7 @@ var routes = buildRouteMap({
|
|
|
71430
71455
|
var app = buildApplication(routes, {
|
|
71431
71456
|
name: "mcp",
|
|
71432
71457
|
versionInfo: {
|
|
71433
|
-
currentVersion: "0.4.
|
|
71458
|
+
currentVersion: "0.4.20"
|
|
71434
71459
|
}
|
|
71435
71460
|
});
|
|
71436
71461
|
run(app, process3.argv.slice(2), buildContext(process3));
|
|
@@ -71438,5 +71463,5 @@ export {
|
|
|
71438
71463
|
app
|
|
71439
71464
|
};
|
|
71440
71465
|
|
|
71441
|
-
//# debugId=
|
|
71466
|
+
//# debugId=D2DE954636D1AFD064756E2164756E21
|
|
71442
71467
|
//# sourceMappingURL=mcp-server.js.map
|