@firfi/huly-mcp 0.18.0 → 0.18.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +58 -12
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -77235,7 +77235,7 @@ var require_client5 = __commonJS({
|
|
|
77235
77235
|
module2.exports = __toCommonJS2(client_exports);
|
|
77236
77236
|
var import_core54 = require_lib4();
|
|
77237
77237
|
var import_collaborator_client2 = require_lib7();
|
|
77238
|
-
var
|
|
77238
|
+
var import_text5 = require_lib9();
|
|
77239
77239
|
var import_text_markdown3 = require_lib17();
|
|
77240
77240
|
function createMarkupOperations(url4, workspace, token, config3) {
|
|
77241
77241
|
return new MarkupOperationsImpl(url4, workspace, token, config3);
|
|
@@ -77260,12 +77260,12 @@ var require_client5 = __commonJS({
|
|
|
77260
77260
|
async fetchMarkup(objectClass, objectId, objectAttr, doc, format7) {
|
|
77261
77261
|
const collabId = (0, import_core54.makeCollabId)(objectClass, objectId, objectAttr);
|
|
77262
77262
|
const markup = await this.collaborator.getMarkup(collabId, doc);
|
|
77263
|
-
const json3 = (0,
|
|
77263
|
+
const json3 = (0, import_text5.markupToJSON)(markup);
|
|
77264
77264
|
switch (format7) {
|
|
77265
77265
|
case "markup":
|
|
77266
77266
|
return markup;
|
|
77267
77267
|
case "html":
|
|
77268
|
-
return (0,
|
|
77268
|
+
return (0, import_text5.jsonToHTML)(json3);
|
|
77269
77269
|
case "markdown":
|
|
77270
77270
|
return (0, import_text_markdown3.markupToMarkdown)(json3, { refUrl: this.refUrl, imageUrl: this.imageUrl });
|
|
77271
77271
|
default:
|
|
@@ -77279,10 +77279,10 @@ var require_client5 = __commonJS({
|
|
|
77279
77279
|
markup = value3;
|
|
77280
77280
|
break;
|
|
77281
77281
|
case "html":
|
|
77282
|
-
markup = (0,
|
|
77282
|
+
markup = (0, import_text5.jsonToMarkup)((0, import_text5.htmlToJSON)(value3));
|
|
77283
77283
|
break;
|
|
77284
77284
|
case "markdown":
|
|
77285
|
-
markup = (0,
|
|
77285
|
+
markup = (0, import_text5.jsonToMarkup)((0, import_text_markdown3.markdownToMarkup)(value3, { refUrl: this.refUrl, imageUrl: this.imageUrl }));
|
|
77286
77286
|
break;
|
|
77287
77287
|
default:
|
|
77288
77288
|
throw new Error("Unknown content format");
|
|
@@ -152868,14 +152868,51 @@ var HulyDomainError = Schema_exports.Union(
|
|
|
152868
152868
|
// src/huly/operations/markup.ts
|
|
152869
152869
|
var import_text = __toESM(require_lib9(), 1);
|
|
152870
152870
|
var import_text_markdown = __toESM(require_lib17(), 1);
|
|
152871
|
+
|
|
152872
|
+
// src/huly/operations/inline-comment-mark.ts
|
|
152873
|
+
var INLINE_COMMENT_MARK_TYPE = "inline-comment";
|
|
152874
|
+
var isInlineCommentMark = (mark) => mark.type === INLINE_COMMENT_MARK_TYPE;
|
|
152875
|
+
var isMarkdownSerializableMark = (mark) => !isInlineCommentMark(mark);
|
|
152876
|
+
|
|
152877
|
+
// src/huly/operations/markup.ts
|
|
152871
152878
|
var jsonAsMarkup = import_text.jsonToMarkup;
|
|
152872
152879
|
var testMarkupUrlConfig = {
|
|
152873
152880
|
refUrl: UrlString.make("https://test.invalid/browse?workspace=test"),
|
|
152874
152881
|
imageUrl: UrlString.make("https://test.invalid/files?workspace=test&file=")
|
|
152875
152882
|
};
|
|
152883
|
+
var removeMarkdownUnsupportedMarks = (marks) => {
|
|
152884
|
+
if (marks === void 0) {
|
|
152885
|
+
return { marks: void 0, changed: false };
|
|
152886
|
+
}
|
|
152887
|
+
const filtered = marks.filter(isMarkdownSerializableMark);
|
|
152888
|
+
return { marks: filtered, changed: filtered.length !== marks.length };
|
|
152889
|
+
};
|
|
152890
|
+
var sanitizeContentForMarkdown = (content) => {
|
|
152891
|
+
if (content === void 0) {
|
|
152892
|
+
return { content: void 0, changed: false };
|
|
152893
|
+
}
|
|
152894
|
+
const sanitized = content.map(sanitizeNodeForMarkdown);
|
|
152895
|
+
return {
|
|
152896
|
+
content: sanitized,
|
|
152897
|
+
changed: sanitized.some((node, index) => node !== content[index])
|
|
152898
|
+
};
|
|
152899
|
+
};
|
|
152900
|
+
var sanitizeNodeForMarkdown = (node) => {
|
|
152901
|
+
const content = sanitizeContentForMarkdown(node.content);
|
|
152902
|
+
const marks = removeMarkdownUnsupportedMarks(node.marks);
|
|
152903
|
+
if (!content.changed && !marks.changed) {
|
|
152904
|
+
return node;
|
|
152905
|
+
}
|
|
152906
|
+
return {
|
|
152907
|
+
...node,
|
|
152908
|
+
...content.content === void 0 ? {} : { content: content.content },
|
|
152909
|
+
...marks.marks === void 0 ? {} : { marks: marks.marks }
|
|
152910
|
+
};
|
|
152911
|
+
};
|
|
152912
|
+
var markupNodeToMarkdownString = (node, urls, serialize2 = import_text_markdown.markupToMarkdown) => serialize2(sanitizeNodeForMarkdown(node), urls);
|
|
152876
152913
|
var markupToMarkdownString = (markup, urls) => {
|
|
152877
152914
|
const json3 = (0, import_text.markupToJSON)(markup);
|
|
152878
|
-
return (
|
|
152915
|
+
return markupNodeToMarkdownString(json3, urls);
|
|
152879
152916
|
};
|
|
152880
152917
|
var markdownToMarkupString = (markdown, urls) => {
|
|
152881
152918
|
const json3 = (0, import_text_markdown.markdownToMarkup)(markdown, urls);
|
|
@@ -152994,7 +153031,7 @@ function fromInternalMarkup(markup, format7, opts, sdk) {
|
|
|
152994
153031
|
case "html":
|
|
152995
153032
|
return sdk.jsonToHTML(sdk.markupToJSON(markup));
|
|
152996
153033
|
case "markdown":
|
|
152997
|
-
return
|
|
153034
|
+
return markupNodeToMarkdownString(sdk.markupToJSON(markup), opts, sdk.markupToMarkdown);
|
|
152998
153035
|
default:
|
|
152999
153036
|
absurd(format7);
|
|
153000
153037
|
throw new Error(`Invalid format: ${format7}`);
|
|
@@ -167971,7 +168008,7 @@ var parseDeleteTestResultParams = Schema_exports.decodeUnknown(DeleteTestResultP
|
|
|
167971
168008
|
var parseRunTestPlanParams = Schema_exports.decodeUnknown(RunTestPlanParamsSchema);
|
|
167972
168009
|
|
|
167973
168010
|
// src/version.ts
|
|
167974
|
-
var VERSION = true ? "0.18.
|
|
168011
|
+
var VERSION = true ? "0.18.1" : "0.0.0-dev";
|
|
167975
168012
|
|
|
167976
168013
|
// src/mcp/error-mapping.ts
|
|
167977
168014
|
var McpErrorCode = {
|
|
@@ -168604,12 +168641,21 @@ var countOccurrences = (text, search) => {
|
|
|
168604
168641
|
|
|
168605
168642
|
// src/huly/operations/documents-inline-comments.ts
|
|
168606
168643
|
var import_core11 = __toESM(require_lib4(), 1);
|
|
168644
|
+
var import_text4 = __toESM(require_lib9(), 1);
|
|
168645
|
+
|
|
168646
|
+
// src/huly/operations/markup-traversal.ts
|
|
168607
168647
|
var import_text3 = __toESM(require_lib9(), 1);
|
|
168608
|
-
var
|
|
168648
|
+
var traverseAllMarks = (root, visit) => {
|
|
168649
|
+
(0, import_text3.traverseAllMarks)(root, (node, mark) => {
|
|
168650
|
+
visit(node, mark);
|
|
168651
|
+
});
|
|
168652
|
+
};
|
|
168653
|
+
|
|
168654
|
+
// src/huly/operations/documents-inline-comments.ts
|
|
168609
168655
|
var extractInlineComments = (root) => {
|
|
168610
168656
|
const threadMap = /* @__PURE__ */ new Map();
|
|
168611
|
-
|
|
168612
|
-
if (
|
|
168657
|
+
traverseAllMarks(root, (textNode, mark) => {
|
|
168658
|
+
if (!isInlineCommentMark(mark)) return;
|
|
168613
168659
|
const threadId = mark.attrs?.thread;
|
|
168614
168660
|
if (typeof threadId !== "string" || threadId === "") return;
|
|
168615
168661
|
const text = textNode.text ?? "";
|
|
@@ -168639,7 +168685,7 @@ var listInlineComments = (params) => Effect_exports.gen(function* () {
|
|
|
168639
168685
|
doc.content,
|
|
168640
168686
|
"markup"
|
|
168641
168687
|
);
|
|
168642
|
-
const root = (0,
|
|
168688
|
+
const root = (0, import_text4.markupToJSON)(rawMarkup);
|
|
168643
168689
|
const extracted = extractInlineComments(root);
|
|
168644
168690
|
if (extracted.length === 0) {
|
|
168645
168691
|
return { comments: [], total: 0 };
|