@firfi/huly-mcp 0.1.39 → 0.1.40
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 +11 -1
- package/dist/index.cjs +553 -257
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -31019,7 +31019,7 @@ var require_utils2 = __commonJS({
|
|
|
31019
31019
|
escapeLikeForRegexp: () => escapeLikeForRegexp,
|
|
31020
31020
|
fillConfiguration: () => fillConfiguration,
|
|
31021
31021
|
fillDefaults: () => fillDefaults,
|
|
31022
|
-
generateId: () =>
|
|
31022
|
+
generateId: () => generateId14,
|
|
31023
31023
|
generateUuid: () => generateUuid,
|
|
31024
31024
|
getBranding: () => getBranding,
|
|
31025
31025
|
getCurrentAccount: () => getCurrentAccount,
|
|
@@ -31080,10 +31080,10 @@ var require_utils2 = __commonJS({
|
|
|
31080
31080
|
return toHex(val, 6);
|
|
31081
31081
|
}
|
|
31082
31082
|
__name(count3, "count");
|
|
31083
|
-
function
|
|
31083
|
+
function generateId14(join4 = "") {
|
|
31084
31084
|
return timestamp() + join4 + random4 + join4 + count3();
|
|
31085
31085
|
}
|
|
31086
|
-
__name(
|
|
31086
|
+
__name(generateId14, "generateId");
|
|
31087
31087
|
function generateUuid() {
|
|
31088
31088
|
return crypto.randomUUID();
|
|
31089
31089
|
}
|
|
@@ -34037,15 +34037,15 @@ var require_storage = __commonJS({
|
|
|
34037
34037
|
var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod);
|
|
34038
34038
|
var storage_exports = {};
|
|
34039
34039
|
__export2(storage_exports, {
|
|
34040
|
-
SortingOrder: () =>
|
|
34040
|
+
SortingOrder: () => SortingOrder18,
|
|
34041
34041
|
shouldShowArchived: () => shouldShowArchived
|
|
34042
34042
|
});
|
|
34043
34043
|
module2.exports = __toCommonJS2(storage_exports);
|
|
34044
|
-
var
|
|
34044
|
+
var SortingOrder18 = /* @__PURE__ */ ((SortingOrder22) => {
|
|
34045
34045
|
SortingOrder22[SortingOrder22["Ascending"] = 1] = "Ascending";
|
|
34046
34046
|
SortingOrder22[SortingOrder22["Descending"] = -1] = "Descending";
|
|
34047
34047
|
return SortingOrder22;
|
|
34048
|
-
})(
|
|
34048
|
+
})(SortingOrder18 || {});
|
|
34049
34049
|
function shouldShowArchived(query, options) {
|
|
34050
34050
|
if (options?.showArchived !== void 0) {
|
|
34051
34051
|
return options.showArchived;
|
|
@@ -34475,7 +34475,7 @@ var require_client3 = __commonJS({
|
|
|
34475
34475
|
getClient: () => getClient
|
|
34476
34476
|
});
|
|
34477
34477
|
module2.exports = __toCommonJS2(client_exports);
|
|
34478
|
-
var
|
|
34478
|
+
var import_core37 = require_lib4();
|
|
34479
34479
|
var import_platform2 = __toESM2(require_lib());
|
|
34480
34480
|
var import_utils14 = require_utils3();
|
|
34481
34481
|
function getClient(accountsUrl, token, retryTimeoutMs) {
|
|
@@ -34511,7 +34511,7 @@ var require_client3 = __commonJS({
|
|
|
34511
34511
|
rpc;
|
|
34512
34512
|
async getProviders() {
|
|
34513
34513
|
return await withRetryUntilMaxAttempts(async () => {
|
|
34514
|
-
const response = await fetch((0,
|
|
34514
|
+
const response = await fetch((0, import_core37.concatLink)(this.url, "/providers"));
|
|
34515
34515
|
return await response.json();
|
|
34516
34516
|
})();
|
|
34517
34517
|
}
|
|
@@ -35152,7 +35152,7 @@ var require_client3 = __commonJS({
|
|
|
35152
35152
|
await this.rpc(request2);
|
|
35153
35153
|
}
|
|
35154
35154
|
async setCookie() {
|
|
35155
|
-
const url4 = (0,
|
|
35155
|
+
const url4 = (0, import_core37.concatLink)(this.url, "/cookie");
|
|
35156
35156
|
const response = await fetch(url4, { ...this.request, method: "PUT" });
|
|
35157
35157
|
if (!response.ok) {
|
|
35158
35158
|
const result = await response.json();
|
|
@@ -35162,7 +35162,7 @@ var require_client3 = __commonJS({
|
|
|
35162
35162
|
}
|
|
35163
35163
|
}
|
|
35164
35164
|
async deleteCookie() {
|
|
35165
|
-
const url4 = (0,
|
|
35165
|
+
const url4 = (0, import_core37.concatLink)(this.url, "/cookie");
|
|
35166
35166
|
const response = await fetch(url4, { ...this.request, method: "DELETE" });
|
|
35167
35167
|
if (!response.ok) {
|
|
35168
35168
|
const result = await response.json();
|
|
@@ -35412,9 +35412,9 @@ var require_config = __commonJS({
|
|
|
35412
35412
|
loadServerConfig: () => loadServerConfig4
|
|
35413
35413
|
});
|
|
35414
35414
|
module2.exports = __toCommonJS2(config_exports3);
|
|
35415
|
-
var
|
|
35415
|
+
var import_core37 = require_lib4();
|
|
35416
35416
|
async function loadServerConfig4(url4) {
|
|
35417
|
-
const configUrl = (0,
|
|
35417
|
+
const configUrl = (0, import_core37.concatLink)(url4, "/config.json");
|
|
35418
35418
|
const res = await fetch(configUrl, { keepalive: true });
|
|
35419
35419
|
if (res.ok) {
|
|
35420
35420
|
return await res.json();
|
|
@@ -35500,7 +35500,7 @@ var require_client4 = __commonJS({
|
|
|
35500
35500
|
getClient: () => getClient
|
|
35501
35501
|
});
|
|
35502
35502
|
module2.exports = __toCommonJS2(client_exports);
|
|
35503
|
-
var
|
|
35503
|
+
var import_core37 = require_lib4();
|
|
35504
35504
|
var import_utils14 = require_utils4();
|
|
35505
35505
|
function getClient(workspaceId, token, collaboratorUrl) {
|
|
35506
35506
|
const url4 = collaboratorUrl.replaceAll("wss://", "https://").replace("ws://", "http://");
|
|
@@ -35519,7 +35519,7 @@ var require_client4 = __commonJS({
|
|
|
35519
35519
|
async rpc(document2, method, payload) {
|
|
35520
35520
|
const workspace = this.workspace;
|
|
35521
35521
|
const documentId = (0, import_utils14.encodeDocumentId)(workspace, document2);
|
|
35522
|
-
const url4 = (0,
|
|
35522
|
+
const url4 = (0, import_core37.concatLink)(this.collaboratorUrl, `/rpc/${encodeURIComponent(documentId)}`);
|
|
35523
35523
|
const res = await fetch(url4, {
|
|
35524
35524
|
method: "POST",
|
|
35525
35525
|
headers: {
|
|
@@ -53086,9 +53086,9 @@ var require_image = __commonJS({
|
|
|
53086
53086
|
ImageNode: () => ImageNode
|
|
53087
53087
|
});
|
|
53088
53088
|
module2.exports = __toCommonJS2(image_exports);
|
|
53089
|
-
var
|
|
53089
|
+
var import_core37 = require_dist16();
|
|
53090
53090
|
var import_utils14 = require_utils5();
|
|
53091
|
-
var ImageNode =
|
|
53091
|
+
var ImageNode = import_core37.Node.create({
|
|
53092
53092
|
name: "image",
|
|
53093
53093
|
addOptions() {
|
|
53094
53094
|
return {
|
|
@@ -53147,7 +53147,7 @@ var require_image = __commonJS({
|
|
|
53147
53147
|
"data-type": this.name,
|
|
53148
53148
|
"data-align": node.attrs.align
|
|
53149
53149
|
};
|
|
53150
|
-
const imgAttributes = (0,
|
|
53150
|
+
const imgAttributes = (0, import_core37.mergeAttributes)(
|
|
53151
53151
|
{
|
|
53152
53152
|
"data-type": this.name
|
|
53153
53153
|
},
|
|
@@ -53191,9 +53191,9 @@ var require_reference = __commonJS({
|
|
|
53191
53191
|
ReferenceNode: () => ReferenceNode
|
|
53192
53192
|
});
|
|
53193
53193
|
module2.exports = __toCommonJS2(reference_exports);
|
|
53194
|
-
var
|
|
53194
|
+
var import_core37 = require_dist16();
|
|
53195
53195
|
var import_utils14 = require_utils5();
|
|
53196
|
-
var ReferenceNode =
|
|
53196
|
+
var ReferenceNode = import_core37.Node.create({
|
|
53197
53197
|
name: "reference",
|
|
53198
53198
|
group: "inline",
|
|
53199
53199
|
inline: true,
|
|
@@ -53228,7 +53228,7 @@ var require_reference = __commonJS({
|
|
|
53228
53228
|
renderHTML({ node, HTMLAttributes }) {
|
|
53229
53229
|
return [
|
|
53230
53230
|
"span",
|
|
53231
|
-
(0,
|
|
53231
|
+
(0, import_core37.mergeAttributes)(
|
|
53232
53232
|
{
|
|
53233
53233
|
"data-type": this.name,
|
|
53234
53234
|
"data-id": node.attrs.id,
|
|
@@ -53287,8 +53287,8 @@ var require_emoji = __commonJS({
|
|
|
53287
53287
|
EmojiNode: () => EmojiNode
|
|
53288
53288
|
});
|
|
53289
53289
|
module2.exports = __toCommonJS2(emoji_exports);
|
|
53290
|
-
var
|
|
53291
|
-
var EmojiNode =
|
|
53290
|
+
var import_core37 = require_dist16();
|
|
53291
|
+
var EmojiNode = import_core37.Node.create({
|
|
53292
53292
|
name: "emoji",
|
|
53293
53293
|
group: "inline",
|
|
53294
53294
|
inline: true,
|
|
@@ -53328,7 +53328,7 @@ var require_emoji = __commonJS({
|
|
|
53328
53328
|
addNodeView() {
|
|
53329
53329
|
return ({ node, HTMLAttributes }) => {
|
|
53330
53330
|
const container = document.createElement("span");
|
|
53331
|
-
const containerAttributes = (0,
|
|
53331
|
+
const containerAttributes = (0, import_core37.mergeAttributes)(
|
|
53332
53332
|
{
|
|
53333
53333
|
"data-type": this.name,
|
|
53334
53334
|
class: "emoji"
|
|
@@ -53361,7 +53361,7 @@ var require_emoji = __commonJS({
|
|
|
53361
53361
|
if (node.attrs.kind === "image") {
|
|
53362
53362
|
return [
|
|
53363
53363
|
"span",
|
|
53364
|
-
(0,
|
|
53364
|
+
(0, import_core37.mergeAttributes)(
|
|
53365
53365
|
{
|
|
53366
53366
|
"data-type": this.name,
|
|
53367
53367
|
class: "emoji"
|
|
@@ -53370,7 +53370,7 @@ var require_emoji = __commonJS({
|
|
|
53370
53370
|
),
|
|
53371
53371
|
[
|
|
53372
53372
|
"img",
|
|
53373
|
-
(0,
|
|
53373
|
+
(0, import_core37.mergeAttributes)({
|
|
53374
53374
|
"data-type": this.name,
|
|
53375
53375
|
src: node.attrs.image,
|
|
53376
53376
|
alt: node.attrs.emoji
|
|
@@ -53380,7 +53380,7 @@ var require_emoji = __commonJS({
|
|
|
53380
53380
|
}
|
|
53381
53381
|
return [
|
|
53382
53382
|
"span",
|
|
53383
|
-
(0,
|
|
53383
|
+
(0, import_core37.mergeAttributes)(
|
|
53384
53384
|
{
|
|
53385
53385
|
"data-type": this.name,
|
|
53386
53386
|
class: "emoji"
|
|
@@ -53688,8 +53688,8 @@ var require_file = __commonJS({
|
|
|
53688
53688
|
FileNode: () => FileNode
|
|
53689
53689
|
});
|
|
53690
53690
|
module2.exports = __toCommonJS2(file_exports);
|
|
53691
|
-
var
|
|
53692
|
-
var FileNode =
|
|
53691
|
+
var import_core37 = require_dist16();
|
|
53692
|
+
var FileNode = import_core37.Node.create({
|
|
53693
53693
|
name: "file",
|
|
53694
53694
|
addOptions() {
|
|
53695
53695
|
return {
|
|
@@ -53999,7 +53999,7 @@ var require_codeblock = __commonJS({
|
|
|
53999
53999
|
tildeInputRegex: () => tildeInputRegex
|
|
54000
54000
|
});
|
|
54001
54001
|
module2.exports = __toCommonJS2(codeblock_exports);
|
|
54002
|
-
var
|
|
54002
|
+
var import_core37 = require_dist16();
|
|
54003
54003
|
var import_extension_code_block = __toESM2(require_dist19());
|
|
54004
54004
|
var codeBlockOptions = {
|
|
54005
54005
|
defaultLanguage: "plaintext",
|
|
@@ -54045,11 +54045,11 @@ var require_codeblock = __commonJS({
|
|
|
54045
54045
|
},
|
|
54046
54046
|
addInputRules() {
|
|
54047
54047
|
return [
|
|
54048
|
-
(0,
|
|
54048
|
+
(0, import_core37.textblockTypeInputRule)({
|
|
54049
54049
|
find: backtickInputRegex,
|
|
54050
54050
|
type: this.type
|
|
54051
54051
|
}),
|
|
54052
|
-
(0,
|
|
54052
|
+
(0, import_core37.textblockTypeInputRule)({
|
|
54053
54053
|
find: tildeInputRegex,
|
|
54054
54054
|
type: this.type
|
|
54055
54055
|
})
|
|
@@ -54085,8 +54085,8 @@ var require_comment = __commonJS({
|
|
|
54085
54085
|
CommentNode: () => CommentNode
|
|
54086
54086
|
});
|
|
54087
54087
|
module2.exports = __toCommonJS2(comment_exports);
|
|
54088
|
-
var
|
|
54089
|
-
var CommentNode =
|
|
54088
|
+
var import_core37 = require_dist16();
|
|
54089
|
+
var CommentNode = import_core37.Node.create({
|
|
54090
54090
|
name: "comment",
|
|
54091
54091
|
group: "inline",
|
|
54092
54092
|
inline: true,
|
|
@@ -54132,8 +54132,8 @@ var require_markdown = __commonJS({
|
|
|
54132
54132
|
MarkdownNode: () => MarkdownNode
|
|
54133
54133
|
});
|
|
54134
54134
|
module2.exports = __toCommonJS2(markdown_exports);
|
|
54135
|
-
var
|
|
54136
|
-
var MarkdownNode =
|
|
54135
|
+
var import_core37 = require_dist16();
|
|
54136
|
+
var MarkdownNode = import_core37.Node.create({
|
|
54137
54137
|
name: "markdown",
|
|
54138
54138
|
group: "block",
|
|
54139
54139
|
content: "text*",
|
|
@@ -54151,7 +54151,7 @@ var require_markdown = __commonJS({
|
|
|
54151
54151
|
renderHTML({ node, HTMLAttributes }) {
|
|
54152
54152
|
return [
|
|
54153
54153
|
"pre",
|
|
54154
|
-
(0,
|
|
54154
|
+
(0, import_core37.mergeAttributes)({ "data-type": this.name }, this.options.HTMLAttributes, HTMLAttributes),
|
|
54155
54155
|
["code", {}, 0]
|
|
54156
54156
|
];
|
|
54157
54157
|
}
|
|
@@ -54185,8 +54185,8 @@ var require_embed = __commonJS({
|
|
|
54185
54185
|
EmbedNode: () => EmbedNode
|
|
54186
54186
|
});
|
|
54187
54187
|
module2.exports = __toCommonJS2(embed_exports);
|
|
54188
|
-
var
|
|
54189
|
-
var EmbedNode =
|
|
54188
|
+
var import_core37 = require_dist16();
|
|
54189
|
+
var EmbedNode = import_core37.Node.create({
|
|
54190
54190
|
name: "embed",
|
|
54191
54191
|
addOptions() {
|
|
54192
54192
|
return {};
|
|
@@ -54211,7 +54211,7 @@ var require_embed = __commonJS({
|
|
|
54211
54211
|
];
|
|
54212
54212
|
},
|
|
54213
54213
|
renderHTML({ HTMLAttributes }) {
|
|
54214
|
-
return ["figure", { "data-type": this.name }, ["iframe", (0,
|
|
54214
|
+
return ["figure", { "data-type": this.name }, ["iframe", (0, import_core37.mergeAttributes)(HTMLAttributes)]];
|
|
54215
54215
|
}
|
|
54216
54216
|
});
|
|
54217
54217
|
}
|
|
@@ -54285,7 +54285,7 @@ var require_noteBase = __commonJS({
|
|
|
54285
54285
|
name: () => name
|
|
54286
54286
|
});
|
|
54287
54287
|
module2.exports = __toCommonJS2(noteBase_exports);
|
|
54288
|
-
var
|
|
54288
|
+
var import_core37 = require_dist16();
|
|
54289
54289
|
var import_nodes = require_nodes();
|
|
54290
54290
|
var name = "note";
|
|
54291
54291
|
var NoteKind = /* @__PURE__ */ ((NoteKind2) => {
|
|
@@ -54300,7 +54300,7 @@ var require_noteBase = __commonJS({
|
|
|
54300
54300
|
NoteKind2["PrimaryLight"] = "primary-light";
|
|
54301
54301
|
return NoteKind2;
|
|
54302
54302
|
})(NoteKind || {});
|
|
54303
|
-
var NoteBaseExtension =
|
|
54303
|
+
var NoteBaseExtension = import_core37.Mark.create({
|
|
54304
54304
|
name,
|
|
54305
54305
|
parseHTML() {
|
|
54306
54306
|
return [
|
|
@@ -54357,9 +54357,9 @@ var require_qmsInlineCommentMark = __commonJS({
|
|
|
54357
54357
|
QMSInlineCommentMark: () => QMSInlineCommentMark
|
|
54358
54358
|
});
|
|
54359
54359
|
module2.exports = __toCommonJS2(qmsInlineCommentMark_exports);
|
|
54360
|
-
var
|
|
54360
|
+
var import_core37 = require_dist16();
|
|
54361
54361
|
var NAME2 = "node-uuid";
|
|
54362
|
-
var QMSInlineCommentMark =
|
|
54362
|
+
var QMSInlineCommentMark = import_core37.Mark.create({
|
|
54363
54363
|
name: NAME2,
|
|
54364
54364
|
inline: true,
|
|
54365
54365
|
parseHTML() {
|
|
@@ -54404,9 +54404,9 @@ var require_kit = __commonJS({
|
|
|
54404
54404
|
mergeKitOptions: () => mergeKitOptions
|
|
54405
54405
|
});
|
|
54406
54406
|
module2.exports = __toCommonJS2(kit_exports);
|
|
54407
|
-
var
|
|
54407
|
+
var import_core37 = require_dist16();
|
|
54408
54408
|
function extensionKit(name, fn2) {
|
|
54409
|
-
return
|
|
54409
|
+
return import_core37.Extension.create({
|
|
54410
54410
|
name,
|
|
54411
54411
|
addExtensions() {
|
|
54412
54412
|
const e = /* @__PURE__ */ __name((extension, options) => {
|
|
@@ -61435,9 +61435,9 @@ var require_colors = __commonJS({
|
|
|
61435
61435
|
TextColor: () => TextColor
|
|
61436
61436
|
});
|
|
61437
61437
|
module2.exports = __toCommonJS2(colors_exports);
|
|
61438
|
-
var
|
|
61438
|
+
var import_core37 = require_dist16();
|
|
61439
61439
|
var import_extension_text_style = require_dist20();
|
|
61440
|
-
var BackgroundColor =
|
|
61440
|
+
var BackgroundColor = import_core37.Extension.create({
|
|
61441
61441
|
name: "backgroundColor",
|
|
61442
61442
|
addOptions() {
|
|
61443
61443
|
return {
|
|
@@ -61478,7 +61478,7 @@ var require_colors = __commonJS({
|
|
|
61478
61478
|
};
|
|
61479
61479
|
}
|
|
61480
61480
|
});
|
|
61481
|
-
var TextColor =
|
|
61481
|
+
var TextColor = import_core37.Extension.create({
|
|
61482
61482
|
name: "textColor",
|
|
61483
61483
|
addOptions() {
|
|
61484
61484
|
return {
|
|
@@ -61550,10 +61550,10 @@ var require_inlineComment = __commonJS({
|
|
|
61550
61550
|
InlineCommentPasteFixPlugin: () => InlineCommentPasteFixPlugin
|
|
61551
61551
|
});
|
|
61552
61552
|
module2.exports = __toCommonJS2(inlineComment_exports);
|
|
61553
|
-
var
|
|
61553
|
+
var import_core37 = require_dist16();
|
|
61554
61554
|
var import_model = require_dist10();
|
|
61555
61555
|
var import_state = require_dist5();
|
|
61556
|
-
var InlineCommentMark =
|
|
61556
|
+
var InlineCommentMark = import_core37.Mark.create({
|
|
61557
61557
|
name: "inline-comment",
|
|
61558
61558
|
excludes: "",
|
|
61559
61559
|
inclusive: false,
|
|
@@ -77071,7 +77071,7 @@ var require_client5 = __commonJS({
|
|
|
77071
77071
|
createMarkupOperations: () => createMarkupOperations
|
|
77072
77072
|
});
|
|
77073
77073
|
module2.exports = __toCommonJS2(client_exports);
|
|
77074
|
-
var
|
|
77074
|
+
var import_core37 = require_lib4();
|
|
77075
77075
|
var import_collaborator_client2 = require_lib7();
|
|
77076
77076
|
var import_text3 = require_lib9();
|
|
77077
77077
|
var import_text_markdown3 = require_lib17();
|
|
@@ -77085,8 +77085,8 @@ var require_client5 = __commonJS({
|
|
|
77085
77085
|
this.workspace = workspace;
|
|
77086
77086
|
this.token = token;
|
|
77087
77087
|
this.config = config3;
|
|
77088
|
-
this.refUrl = (0,
|
|
77089
|
-
this.imageUrl = (0,
|
|
77088
|
+
this.refUrl = (0, import_core37.concatLink)(this.url, `/browse?workspace=${workspace}`);
|
|
77089
|
+
this.imageUrl = (0, import_core37.concatLink)(this.url, `/files?workspace=${workspace}&file=`);
|
|
77090
77090
|
this.collaborator = (0, import_collaborator_client2.getClient)(workspace, token, config3.COLLABORATOR_URL);
|
|
77091
77091
|
}
|
|
77092
77092
|
static {
|
|
@@ -77096,7 +77096,7 @@ var require_client5 = __commonJS({
|
|
|
77096
77096
|
imageUrl;
|
|
77097
77097
|
refUrl;
|
|
77098
77098
|
async fetchMarkup(objectClass, objectId, objectAttr, doc, format7) {
|
|
77099
|
-
const collabId = (0,
|
|
77099
|
+
const collabId = (0, import_core37.makeCollabId)(objectClass, objectId, objectAttr);
|
|
77100
77100
|
const markup = await this.collaborator.getMarkup(collabId, doc);
|
|
77101
77101
|
const json3 = (0, import_text3.markupToJSON)(markup);
|
|
77102
77102
|
switch (format7) {
|
|
@@ -77125,7 +77125,7 @@ var require_client5 = __commonJS({
|
|
|
77125
77125
|
default:
|
|
77126
77126
|
throw new Error("Unknown content format");
|
|
77127
77127
|
}
|
|
77128
|
-
const collabId = (0,
|
|
77128
|
+
const collabId = (0, import_core37.makeCollabId)(objectClass, objectId, objectAttr);
|
|
77129
77129
|
return await this.collaborator.createMarkup(collabId, markup);
|
|
77130
77130
|
}
|
|
77131
77131
|
};
|
|
@@ -81609,8 +81609,8 @@ var require_connection2 = __commonJS({
|
|
|
81609
81609
|
});
|
|
81610
81610
|
module2.exports = __toCommonJS2(connection_exports);
|
|
81611
81611
|
var import_analytics = require_lib2();
|
|
81612
|
-
var
|
|
81613
|
-
var
|
|
81612
|
+
var import_client17 = __toESM2(require_lib6());
|
|
81613
|
+
var import_core37 = __toESM2(require_lib4());
|
|
81614
81614
|
var import_platform2 = __toESM2(require_lib());
|
|
81615
81615
|
var import_rpc = require_lib18();
|
|
81616
81616
|
var import_snappyjs = require_snappyjs();
|
|
@@ -81654,7 +81654,7 @@ var require_connection2 = __commonJS({
|
|
|
81654
81654
|
const sKey = "session.id." + this.url;
|
|
81655
81655
|
let sessionId = sessionStorage.getItem(sKey) ?? void 0;
|
|
81656
81656
|
if (sessionId === void 0) {
|
|
81657
|
-
sessionId = (0,
|
|
81657
|
+
sessionId = (0, import_core37.generateId)();
|
|
81658
81658
|
console.log("Generate new SessionId", sessionId);
|
|
81659
81659
|
this.sessionId = sessionId;
|
|
81660
81660
|
} else {
|
|
@@ -81665,7 +81665,7 @@ var require_connection2 = __commonJS({
|
|
|
81665
81665
|
sessionStorage.setItem(sKey, sessionId);
|
|
81666
81666
|
});
|
|
81667
81667
|
} else {
|
|
81668
|
-
this.sessionId = (0,
|
|
81668
|
+
this.sessionId = (0, import_core37.generateId)();
|
|
81669
81669
|
}
|
|
81670
81670
|
this.rpcHandler = opt?.useGlobalRPCHandler === true ? globalRPCHandler : new import_rpc.RPCHandler();
|
|
81671
81671
|
this.pushHandler(handler);
|
|
@@ -81720,7 +81720,7 @@ var require_connection2 = __commonJS({
|
|
|
81720
81720
|
}
|
|
81721
81721
|
if (!this.closed) {
|
|
81722
81722
|
void this.sendRequest({
|
|
81723
|
-
method:
|
|
81723
|
+
method: import_client17.pingConst,
|
|
81724
81724
|
params: [],
|
|
81725
81725
|
once: true,
|
|
81726
81726
|
handleResult: /* @__PURE__ */ __name(async (result) => {
|
|
@@ -81753,7 +81753,7 @@ var require_connection2 = __commonJS({
|
|
|
81753
81753
|
}
|
|
81754
81754
|
}
|
|
81755
81755
|
isConnected() {
|
|
81756
|
-
return this.websocket != null && this.websocket.readyState ===
|
|
81756
|
+
return this.websocket != null && this.websocket.readyState === import_client17.ClientSocketReadyState.OPEN && this.helloReceived;
|
|
81757
81757
|
}
|
|
81758
81758
|
delay = 0;
|
|
81759
81759
|
onConnectHandlers = [];
|
|
@@ -81845,7 +81845,7 @@ var require_connection2 = __commonJS({
|
|
|
81845
81845
|
if (resp.id === -1) {
|
|
81846
81846
|
this.delay = 0;
|
|
81847
81847
|
if (resp.result?.state === "upgrading") {
|
|
81848
|
-
void this.onConnect?.(
|
|
81848
|
+
void this.onConnect?.(import_core37.ClientConnectEvent.Maintenance, void 0, resp.result.stats);
|
|
81849
81849
|
this.upgrading = true;
|
|
81850
81850
|
this.delay = 3;
|
|
81851
81851
|
return;
|
|
@@ -81880,7 +81880,7 @@ var require_connection2 = __commonJS({
|
|
|
81880
81880
|
v.reconnect?.();
|
|
81881
81881
|
}
|
|
81882
81882
|
void this.onConnect?.(
|
|
81883
|
-
helloResp.reconnect === true ?
|
|
81883
|
+
helloResp.reconnect === true ? import_core37.ClientConnectEvent.Reconnected : import_core37.ClientConnectEvent.Connected,
|
|
81884
81884
|
helloResp.lastTx,
|
|
81885
81885
|
this.sessionId
|
|
81886
81886
|
)?.catch((err) => {
|
|
@@ -81893,8 +81893,8 @@ var require_connection2 = __commonJS({
|
|
|
81893
81893
|
}
|
|
81894
81894
|
return;
|
|
81895
81895
|
}
|
|
81896
|
-
if (resp.result ===
|
|
81897
|
-
void this.sendRequest({ method:
|
|
81896
|
+
if (resp.result === import_client17.pingConst) {
|
|
81897
|
+
void this.sendRequest({ method: import_client17.pingConst, params: [] }).catch((err) => {
|
|
81898
81898
|
this.ctx.error("failed to send ping", { err });
|
|
81899
81899
|
});
|
|
81900
81900
|
return;
|
|
@@ -81930,7 +81930,7 @@ var require_connection2 = __commonJS({
|
|
|
81930
81930
|
}
|
|
81931
81931
|
result = result.concat(c.data);
|
|
81932
81932
|
}
|
|
81933
|
-
resp.result = (0,
|
|
81933
|
+
resp.result = (0, import_core37.toFindResult)(result, total, lookupMap);
|
|
81934
81934
|
resp.chunk = void 0;
|
|
81935
81935
|
} else {
|
|
81936
81936
|
return;
|
|
@@ -81974,7 +81974,7 @@ var require_connection2 = __commonJS({
|
|
|
81974
81974
|
} else {
|
|
81975
81975
|
const txArr = Array.isArray(resp.result) ? resp.result : [resp.result];
|
|
81976
81976
|
for (const tx of txArr) {
|
|
81977
|
-
if (tx?._class ===
|
|
81977
|
+
if (tx?._class === import_core37.default.class.TxModelUpgrade) {
|
|
81978
81978
|
console.log("Processing upgrade", this.workspace, this.user);
|
|
81979
81979
|
this.opt?.onUpgrade?.();
|
|
81980
81980
|
return;
|
|
@@ -81986,15 +81986,15 @@ var require_connection2 = __commonJS({
|
|
|
81986
81986
|
}
|
|
81987
81987
|
}
|
|
81988
81988
|
checkArrayBufferPing(data) {
|
|
81989
|
-
if (data.byteLength ===
|
|
81989
|
+
if (data.byteLength === import_client17.pingConst.length || data.byteLength === import_client17.pongConst.length) {
|
|
81990
81990
|
const text = new TextDecoder().decode(data);
|
|
81991
|
-
if (text ===
|
|
81992
|
-
void this.sendRequest({ method:
|
|
81991
|
+
if (text === import_client17.pingConst) {
|
|
81992
|
+
void this.sendRequest({ method: import_client17.pingConst, params: [] }).catch((err) => {
|
|
81993
81993
|
this.ctx.error("failed to send ping", { err });
|
|
81994
81994
|
});
|
|
81995
81995
|
return true;
|
|
81996
81996
|
}
|
|
81997
|
-
if (text ===
|
|
81997
|
+
if (text === import_client17.pongConst) {
|
|
81998
81998
|
this.pingResponse = Date.now();
|
|
81999
81999
|
return true;
|
|
82000
82000
|
}
|
|
@@ -82004,7 +82004,7 @@ var require_connection2 = __commonJS({
|
|
|
82004
82004
|
openConnection(ctx, socketId) {
|
|
82005
82005
|
this.binaryMode = false;
|
|
82006
82006
|
this.helloReceived = false;
|
|
82007
|
-
const clientSocketFactory = this.opt?.socketFactory ?? (0, import_platform2.getMetadata)(
|
|
82007
|
+
const clientSocketFactory = this.opt?.socketFactory ?? (0, import_platform2.getMetadata)(import_client17.default.metadata.ClientSocketFactory) ?? ((url4) => {
|
|
82008
82008
|
const s = new WebSocket(url4);
|
|
82009
82009
|
return s;
|
|
82010
82010
|
});
|
|
@@ -82039,12 +82039,12 @@ var require_connection2 = __commonJS({
|
|
|
82039
82039
|
if (this.websocket !== wsocket) {
|
|
82040
82040
|
return;
|
|
82041
82041
|
}
|
|
82042
|
-
if (event.data ===
|
|
82042
|
+
if (event.data === import_client17.pongConst) {
|
|
82043
82043
|
this.pingResponse = Date.now();
|
|
82044
82044
|
return;
|
|
82045
82045
|
}
|
|
82046
|
-
if (event.data ===
|
|
82047
|
-
void this.sendRequest({ method:
|
|
82046
|
+
if (event.data === import_client17.pingConst) {
|
|
82047
|
+
void this.sendRequest({ method: import_client17.pingConst, params: [] }).catch((err) => {
|
|
82048
82048
|
this.ctx.error("failed to send ping", { err });
|
|
82049
82049
|
});
|
|
82050
82050
|
return;
|
|
@@ -82109,8 +82109,8 @@ var require_connection2 = __commonJS({
|
|
|
82109
82109
|
if (this.websocket !== wsocket) {
|
|
82110
82110
|
return;
|
|
82111
82111
|
}
|
|
82112
|
-
const useBinary = this.opt?.useBinaryProtocol ?? (0, import_platform2.getMetadata)(
|
|
82113
|
-
this.compressionMode = this.opt?.useProtocolCompression ?? (0, import_platform2.getMetadata)(
|
|
82112
|
+
const useBinary = this.opt?.useBinaryProtocol ?? (0, import_platform2.getMetadata)(import_client17.default.metadata.UseBinaryProtocol) ?? true;
|
|
82113
|
+
this.compressionMode = this.opt?.useProtocolCompression ?? (0, import_platform2.getMetadata)(import_client17.default.metadata.UseProtocolCompression) ?? false;
|
|
82114
82114
|
const helloRequest = {
|
|
82115
82115
|
method: "hello",
|
|
82116
82116
|
params: [],
|
|
@@ -82156,13 +82156,13 @@ var require_connection2 = __commonJS({
|
|
|
82156
82156
|
if (w instanceof Promise) {
|
|
82157
82157
|
await w;
|
|
82158
82158
|
}
|
|
82159
|
-
if (data.method !==
|
|
82159
|
+
if (data.method !== import_client17.pingConst) {
|
|
82160
82160
|
this.requests.set(id, promise4);
|
|
82161
82161
|
}
|
|
82162
82162
|
promise4.sendData = () => {
|
|
82163
|
-
if (this.websocket?.readyState ===
|
|
82163
|
+
if (this.websocket?.readyState === import_client17.ClientSocketReadyState.OPEN) {
|
|
82164
82164
|
promise4.startTime = Date.now();
|
|
82165
|
-
if (data.method !==
|
|
82165
|
+
if (data.method !== import_client17.pingConst) {
|
|
82166
82166
|
const dta = this.rpcHandler.serialize(
|
|
82167
82167
|
{
|
|
82168
82168
|
method: data.method,
|
|
@@ -82175,7 +82175,7 @@ var require_connection2 = __commonJS({
|
|
|
82175
82175
|
);
|
|
82176
82176
|
this.websocket?.send(dta);
|
|
82177
82177
|
} else {
|
|
82178
|
-
this.websocket?.send(
|
|
82178
|
+
this.websocket?.send(import_client17.pingConst);
|
|
82179
82179
|
}
|
|
82180
82180
|
}
|
|
82181
82181
|
};
|
|
@@ -82189,7 +82189,7 @@ var require_connection2 = __commonJS({
|
|
|
82189
82189
|
};
|
|
82190
82190
|
}
|
|
82191
82191
|
promise4.sendData();
|
|
82192
|
-
if (data.method !==
|
|
82192
|
+
if (data.method !== import_client17.pingConst) {
|
|
82193
82193
|
return await promise4.promise;
|
|
82194
82194
|
}
|
|
82195
82195
|
},
|
|
@@ -82204,7 +82204,7 @@ var require_connection2 = __commonJS({
|
|
|
82204
82204
|
}
|
|
82205
82205
|
getAccount() {
|
|
82206
82206
|
if (this.account !== void 0) {
|
|
82207
|
-
return Promise.resolve((0,
|
|
82207
|
+
return Promise.resolve((0, import_core37.clone)(this.account));
|
|
82208
82208
|
}
|
|
82209
82209
|
return this.sendRequest({ method: "getAccount", params: [] });
|
|
82210
82210
|
}
|
|
@@ -82262,10 +82262,10 @@ var require_connection2 = __commonJS({
|
|
|
82262
82262
|
method: "tx",
|
|
82263
82263
|
params: [tx],
|
|
82264
82264
|
retry: /* @__PURE__ */ __name(async () => {
|
|
82265
|
-
if (tx._class ===
|
|
82266
|
-
return (await this.findAll(
|
|
82265
|
+
if (tx._class === import_core37.default.class.TxApplyIf) {
|
|
82266
|
+
return (await this.findAll(import_core37.default.class.Tx, { _id: tx.txes[0]._id }, { limit: 1 })).length === 0;
|
|
82267
82267
|
}
|
|
82268
|
-
return (await this.findAll(
|
|
82268
|
+
return (await this.findAll(import_core37.default.class.Tx, { _id: tx._id }, { limit: 1 })).length === 0;
|
|
82269
82269
|
}, "retry")
|
|
82270
82270
|
});
|
|
82271
82271
|
}
|
|
@@ -82305,7 +82305,7 @@ var require_connection2 = __commonJS({
|
|
|
82305
82305
|
};
|
|
82306
82306
|
function connect(url4, handler, workspace, user, opt) {
|
|
82307
82307
|
return new Connection(
|
|
82308
|
-
opt?.ctx?.newChild?.("connection", {}) ?? new
|
|
82308
|
+
opt?.ctx?.newChild?.("connection", {}) ?? new import_core37.MeasureMetricsContext("connection", {}),
|
|
82309
82309
|
url4,
|
|
82310
82310
|
handler,
|
|
82311
82311
|
workspace,
|
|
@@ -82355,14 +82355,14 @@ var require_lib19 = __commonJS({
|
|
|
82355
82355
|
default: () => index_default
|
|
82356
82356
|
});
|
|
82357
82357
|
module2.exports = __toCommonJS2(index_exports2);
|
|
82358
|
-
var
|
|
82359
|
-
var
|
|
82358
|
+
var import_client17 = __toESM2(require_lib6());
|
|
82359
|
+
var import_core37 = __toESM2(require_lib4());
|
|
82360
82360
|
var import_platform2 = __toESM2(require_lib());
|
|
82361
82361
|
var import_connection = require_connection2();
|
|
82362
82362
|
var dbRequest;
|
|
82363
82363
|
var dbPromise = Promise.resolve(void 0);
|
|
82364
82364
|
if (typeof localStorage !== "undefined") {
|
|
82365
|
-
const st = (0,
|
|
82365
|
+
const st = (0, import_core37.platformNow)();
|
|
82366
82366
|
dbPromise = new Promise((resolve2) => {
|
|
82367
82367
|
dbRequest = indexedDB.open("model.db.persistence", 2);
|
|
82368
82368
|
dbRequest.onupgradeneeded = function() {
|
|
@@ -82373,7 +82373,7 @@ var require_lib19 = __commonJS({
|
|
|
82373
82373
|
};
|
|
82374
82374
|
dbRequest.onsuccess = function() {
|
|
82375
82375
|
const db = dbRequest.result;
|
|
82376
|
-
console.log("init DB complete", (0,
|
|
82376
|
+
console.log("init DB complete", (0, import_core37.platformNow)() - st);
|
|
82377
82377
|
resolve2(db);
|
|
82378
82378
|
};
|
|
82379
82379
|
});
|
|
@@ -82399,19 +82399,19 @@ var require_lib19 = __commonJS({
|
|
|
82399
82399
|
return {
|
|
82400
82400
|
function: {
|
|
82401
82401
|
GetClient: /* @__PURE__ */ __name(async (token, endpoint, opt) => {
|
|
82402
|
-
const filterModel = (0, import_platform2.getMetadata)(
|
|
82403
|
-
const extraFilter = (0, import_platform2.getMetadata)(
|
|
82402
|
+
const filterModel = (0, import_platform2.getMetadata)(import_client17.default.metadata.FilterModel) ?? "none";
|
|
82403
|
+
const extraFilter = (0, import_platform2.getMetadata)(import_client17.default.metadata.ExtraFilter) ?? [];
|
|
82404
82404
|
const handler = /* @__PURE__ */ __name(async (handler2) => {
|
|
82405
|
-
const url4 = (0,
|
|
82405
|
+
const url4 = (0, import_core37.concatLink)(endpoint, `/${token}`);
|
|
82406
82406
|
const upgradeHandler = /* @__PURE__ */ __name((...txes) => {
|
|
82407
82407
|
for (const tx of txes) {
|
|
82408
|
-
if (tx?._class ===
|
|
82408
|
+
if (tx?._class === import_core37.default.class.TxModelUpgrade) {
|
|
82409
82409
|
opt?.onUpgrade?.();
|
|
82410
82410
|
return;
|
|
82411
82411
|
}
|
|
82412
|
-
if (tx?._class ===
|
|
82412
|
+
if (tx?._class === import_core37.default.class.TxWorkspaceEvent) {
|
|
82413
82413
|
const event = tx;
|
|
82414
|
-
if (event.event ===
|
|
82414
|
+
if (event.event === import_core37.WorkspaceEvent.MaintenanceNotification) {
|
|
82415
82415
|
void (0, import_platform2.setPlatformStatus)(
|
|
82416
82416
|
new import_platform2.Status(import_platform2.Severity.WARNING, import_platform2.default.status.MaintenanceWarning, {
|
|
82417
82417
|
time: event.params.timeMinutes,
|
|
@@ -82428,7 +82428,7 @@ var require_lib19 = __commonJS({
|
|
|
82428
82428
|
throw new Error("Workspace or account not found in token");
|
|
82429
82429
|
}
|
|
82430
82430
|
const newOpt = { ...opt };
|
|
82431
|
-
const connectTimeout = opt?.connectionTimeout ?? (0, import_platform2.getMetadata)(
|
|
82431
|
+
const connectTimeout = opt?.connectionTimeout ?? (0, import_platform2.getMetadata)(import_client17.default.metadata.ConnectionTimeout);
|
|
82432
82432
|
let connectPromise;
|
|
82433
82433
|
if ((connectTimeout ?? 0) > 0) {
|
|
82434
82434
|
connectPromise = new Promise((resolve2, reject) => {
|
|
@@ -82449,7 +82449,7 @@ var require_lib19 = __commonJS({
|
|
|
82449
82449
|
reject(error2);
|
|
82450
82450
|
return;
|
|
82451
82451
|
}
|
|
82452
|
-
if (event !==
|
|
82452
|
+
if (event !== import_core37.ClientConnectEvent.Maintenance) {
|
|
82453
82453
|
clearTimeout(connectTO);
|
|
82454
82454
|
resolve2();
|
|
82455
82455
|
}
|
|
@@ -82471,7 +82471,7 @@ var require_lib19 = __commonJS({
|
|
|
82471
82471
|
}
|
|
82472
82472
|
return txes;
|
|
82473
82473
|
}, "modelFilter");
|
|
82474
|
-
const client = (0,
|
|
82474
|
+
const client = (0, import_core37.createClient)(handler, modelFilter, createModelPersistence(getWSFromToken(token)), opt?.ctx);
|
|
82475
82475
|
return await client;
|
|
82476
82476
|
}, "GetClient")
|
|
82477
82477
|
}
|
|
@@ -82479,17 +82479,17 @@ var require_lib19 = __commonJS({
|
|
|
82479
82479
|
}, "default");
|
|
82480
82480
|
function returnUITxes(txes, extraFilter) {
|
|
82481
82481
|
const configs = /* @__PURE__ */ new Map();
|
|
82482
|
-
(0,
|
|
82483
|
-
const allowedPlugins = [...(0, import_platform2.getPlugins)(), ...(0, import_platform2.getMetadata)(
|
|
82482
|
+
(0, import_core37.fillConfiguration)(txes, configs);
|
|
82483
|
+
const allowedPlugins = [...(0, import_platform2.getPlugins)(), ...(0, import_platform2.getMetadata)(import_client17.default.metadata.ExtraPlugins) ?? []];
|
|
82484
82484
|
const excludedPlugins = Array.from(configs.values()).filter(
|
|
82485
82485
|
(it) => !it.enabled || !allowedPlugins.includes(it.pluginId) || extraFilter.includes(it.pluginId)
|
|
82486
82486
|
);
|
|
82487
|
-
return (0,
|
|
82487
|
+
return (0, import_core37.pluginFilterTx)(excludedPlugins, configs, txes);
|
|
82488
82488
|
}
|
|
82489
82489
|
__name(returnUITxes, "returnUITxes");
|
|
82490
82490
|
function returnClientTxes(txes) {
|
|
82491
82491
|
const configs = /* @__PURE__ */ new Map();
|
|
82492
|
-
(0,
|
|
82492
|
+
(0, import_core37.fillConfiguration)(txes, configs);
|
|
82493
82493
|
const excludedPlugins = Array.from(configs.values()).filter((it) => !it.enabled || it.pluginId.startsWith("server-"));
|
|
82494
82494
|
const toExclude = /* @__PURE__ */ new Set([
|
|
82495
82495
|
"workbench:class:Application",
|
|
@@ -82515,8 +82515,8 @@ var require_lib19 = __commonJS({
|
|
|
82515
82515
|
"setting:class:WorkspaceSettingCategory",
|
|
82516
82516
|
"notification:class:NotificationProvider"
|
|
82517
82517
|
]);
|
|
82518
|
-
const result = (0,
|
|
82519
|
-
if (tx?._class ===
|
|
82518
|
+
const result = (0, import_core37.pluginFilterTx)(excludedPlugins, configs, txes).filter((tx) => {
|
|
82519
|
+
if (tx?._class === import_core37.default.class.TxCreateDoc || tx?._class === import_core37.default.class.TxUpdateDoc || tx?._class === import_core37.default.class.TxRemoveDoc) {
|
|
82520
82520
|
const cud = tx;
|
|
82521
82521
|
if (toExclude.has(cud.objectClass)) {
|
|
82522
82522
|
return false;
|
|
@@ -82528,7 +82528,7 @@ var require_lib19 = __commonJS({
|
|
|
82528
82528
|
}
|
|
82529
82529
|
__name(returnClientTxes, "returnClientTxes");
|
|
82530
82530
|
function createModelPersistence(workspace) {
|
|
82531
|
-
const overrideStore = (0, import_platform2.getMetadata)(
|
|
82531
|
+
const overrideStore = (0, import_platform2.getMetadata)(import_client17.default.metadata.OverridePersistenceStore);
|
|
82532
82532
|
if (overrideStore !== void 0) {
|
|
82533
82533
|
return overrideStore;
|
|
82534
82534
|
}
|
|
@@ -82625,8 +82625,8 @@ var require_client6 = __commonJS({
|
|
|
82625
82625
|
});
|
|
82626
82626
|
module2.exports = __toCommonJS2(client_exports);
|
|
82627
82627
|
var import_account_client2 = require_lib5();
|
|
82628
|
-
var
|
|
82629
|
-
var
|
|
82628
|
+
var import_client17 = __toESM2(require_lib6());
|
|
82629
|
+
var import_core37 = require_lib4();
|
|
82630
82630
|
var import_platform2 = require_lib();
|
|
82631
82631
|
var import_config8 = require_config();
|
|
82632
82632
|
var import_markup = require_markup();
|
|
@@ -82643,7 +82643,7 @@ var require_client6 = __commonJS({
|
|
|
82643
82643
|
const account = {
|
|
82644
82644
|
uuid: wsLoginInfo.account,
|
|
82645
82645
|
role: wsLoginInfo.role,
|
|
82646
|
-
primarySocialId: (0,
|
|
82646
|
+
primarySocialId: (0, import_core37.pickPrimarySocialId)(socialIds)._id,
|
|
82647
82647
|
socialIds: socialIds.map((si) => si._id),
|
|
82648
82648
|
fullSocialIds: socialIds
|
|
82649
82649
|
};
|
|
@@ -82651,9 +82651,9 @@ var require_client6 = __commonJS({
|
|
|
82651
82651
|
}
|
|
82652
82652
|
__name(connect, "connect");
|
|
82653
82653
|
async function createClient(url4, endpoint, token, workspaceUuid, account, config3, options) {
|
|
82654
|
-
(0, import_platform2.addLocation)(
|
|
82654
|
+
(0, import_platform2.addLocation)(import_client17.clientId, () => Promise.resolve().then(() => __toESM(require_lib19())));
|
|
82655
82655
|
const { socketFactory, connectionTimeout } = options;
|
|
82656
|
-
const clientFactory = await (0, import_platform2.getResource)(
|
|
82656
|
+
const clientFactory = await (0, import_platform2.getResource)(import_client17.default.function.GetClient);
|
|
82657
82657
|
const connection = await clientFactory(token, endpoint, {
|
|
82658
82658
|
socketFactory,
|
|
82659
82659
|
connectionTimeout
|
|
@@ -82669,7 +82669,7 @@ var require_client6 = __commonJS({
|
|
|
82669
82669
|
this.config = config3;
|
|
82670
82670
|
this.connection = connection;
|
|
82671
82671
|
this.account = account;
|
|
82672
|
-
this.client = new
|
|
82672
|
+
this.client = new import_core37.TxOperations(connection, account.primarySocialId);
|
|
82673
82673
|
this.markup = (0, import_markup.createMarkupOperations)(url4, workspace, token, config3);
|
|
82674
82674
|
}
|
|
82675
82675
|
static {
|
|
@@ -82709,7 +82709,7 @@ var require_client6 = __commonJS({
|
|
|
82709
82709
|
}
|
|
82710
82710
|
// DocOperations
|
|
82711
82711
|
async createDoc(_class, space, attributes, id) {
|
|
82712
|
-
id ??= (0,
|
|
82712
|
+
id ??= (0, import_core37.generateId)();
|
|
82713
82713
|
const data = await this.processMarkup(_class, id, attributes);
|
|
82714
82714
|
return await this.client.createDoc(_class, space, data, id);
|
|
82715
82715
|
}
|
|
@@ -82722,7 +82722,7 @@ var require_client6 = __commonJS({
|
|
|
82722
82722
|
}
|
|
82723
82723
|
// CollectionOperations
|
|
82724
82724
|
async addCollection(_class, space, attachedTo, attachedToClass, collection, attributes, id) {
|
|
82725
|
-
id ??= (0,
|
|
82725
|
+
id ??= (0, import_core37.generateId)();
|
|
82726
82726
|
const data = await this.processMarkup(_class, id, attributes);
|
|
82727
82727
|
return await this.client.addCollection(_class, space, attachedTo, attachedToClass, collection, data, id);
|
|
82728
82728
|
}
|
|
@@ -83049,7 +83049,7 @@ var require_rest = __commonJS({
|
|
|
83049
83049
|
createRestClient: () => createRestClient
|
|
83050
83050
|
});
|
|
83051
83051
|
module2.exports = __toCommonJS2(rest_exports);
|
|
83052
|
-
var
|
|
83052
|
+
var import_core37 = require_lib4();
|
|
83053
83053
|
var import_platform2 = require_lib();
|
|
83054
83054
|
var import_utils14 = require_utils9();
|
|
83055
83055
|
var import_utils22 = require_utils10();
|
|
@@ -83104,7 +83104,7 @@ var require_rest = __commonJS({
|
|
|
83104
83104
|
if (options !== void 0 && Object.keys(options).length > 0) {
|
|
83105
83105
|
params.append("options", JSON.stringify(options));
|
|
83106
83106
|
}
|
|
83107
|
-
const requestUrl = (0,
|
|
83107
|
+
const requestUrl = (0, import_core37.concatLink)(this.endpoint, `/api/v1/find-all/${this.workspace}?${params.toString()}`);
|
|
83108
83108
|
const result = await (0, import_utils22.withRetry)(async () => {
|
|
83109
83109
|
const response = await fetch(requestUrl, this.requestInit());
|
|
83110
83110
|
if (!response.ok) {
|
|
@@ -83178,7 +83178,7 @@ var require_rest = __commonJS({
|
|
|
83178
83178
|
}
|
|
83179
83179
|
}
|
|
83180
83180
|
async getAccount() {
|
|
83181
|
-
const requestUrl = (0,
|
|
83181
|
+
const requestUrl = (0, import_core37.concatLink)(this.endpoint, `/api/v1/account/${this.workspace}`);
|
|
83182
83182
|
await this.checkRate();
|
|
83183
83183
|
const result = await (0, import_utils22.withRetry)(async () => {
|
|
83184
83184
|
const response = await fetch(requestUrl, this.requestInit());
|
|
@@ -83195,7 +83195,7 @@ var require_rest = __commonJS({
|
|
|
83195
83195
|
return result;
|
|
83196
83196
|
}
|
|
83197
83197
|
async getModel(full = false) {
|
|
83198
|
-
const requestUrl = new URL((0,
|
|
83198
|
+
const requestUrl = new URL((0, import_core37.concatLink)(this.endpoint, `/api/v1/load-model/${this.workspace}`));
|
|
83199
83199
|
if (full) {
|
|
83200
83200
|
requestUrl.searchParams.append("full", "true");
|
|
83201
83201
|
}
|
|
@@ -83208,10 +83208,10 @@ var require_rest = __commonJS({
|
|
|
83208
83208
|
}
|
|
83209
83209
|
this.updateRateLimit(response);
|
|
83210
83210
|
const modelResponse = await (0, import_utils22.extractJson)(response);
|
|
83211
|
-
const hierarchy = new
|
|
83212
|
-
const model = new
|
|
83213
|
-
const ctx = new
|
|
83214
|
-
(0,
|
|
83211
|
+
const hierarchy = new import_core37.Hierarchy();
|
|
83212
|
+
const model = new import_core37.ModelDb(hierarchy);
|
|
83213
|
+
const ctx = new import_core37.MeasureMetricsContext("loadModel", {});
|
|
83214
|
+
(0, import_core37.buildModel)(ctx, modelResponse, void 0, hierarchy, model);
|
|
83215
83215
|
return { hierarchy, model };
|
|
83216
83216
|
}, isRLE);
|
|
83217
83217
|
if (result.error !== void 0) {
|
|
@@ -83223,7 +83223,7 @@ var require_rest = __commonJS({
|
|
|
83223
83223
|
return (await this.findAll(_class, query, { ...options, limit: 1 })).shift();
|
|
83224
83224
|
}
|
|
83225
83225
|
async tx(tx) {
|
|
83226
|
-
const requestUrl = (0,
|
|
83226
|
+
const requestUrl = (0, import_core37.concatLink)(this.endpoint, `/api/v1/tx/${this.workspace}`);
|
|
83227
83227
|
await this.checkRate();
|
|
83228
83228
|
const result = await (0, import_utils22.withRetry)(async () => {
|
|
83229
83229
|
const response = await fetch(requestUrl, {
|
|
@@ -83257,7 +83257,7 @@ var require_rest = __commonJS({
|
|
|
83257
83257
|
if (options.limit != null) {
|
|
83258
83258
|
params.append("limit", `${options.limit}`);
|
|
83259
83259
|
}
|
|
83260
|
-
const requestUrl = (0,
|
|
83260
|
+
const requestUrl = (0, import_core37.concatLink)(this.endpoint, `/api/v1/search-fulltext/${this.workspace}?${params.toString()}`);
|
|
83261
83261
|
const response = await fetch(requestUrl, {
|
|
83262
83262
|
method: "GET",
|
|
83263
83263
|
headers: this.jsonHeaders(),
|
|
@@ -83276,7 +83276,7 @@ var require_rest = __commonJS({
|
|
|
83276
83276
|
return result;
|
|
83277
83277
|
}
|
|
83278
83278
|
async domainRequest(domain3, params, options) {
|
|
83279
|
-
const requestUrl = (0,
|
|
83279
|
+
const requestUrl = (0, import_core37.concatLink)(this.endpoint, `/api/v1/request/${domain3}/${this.workspace}`);
|
|
83280
83280
|
await this.checkRate();
|
|
83281
83281
|
return await (0, import_utils22.withRetry)(async () => {
|
|
83282
83282
|
const response = await fetch(requestUrl, {
|
|
@@ -83295,7 +83295,7 @@ var require_rest = __commonJS({
|
|
|
83295
83295
|
}, isRLE);
|
|
83296
83296
|
}
|
|
83297
83297
|
async ensurePerson(socialType, socialValue, firstName, lastName) {
|
|
83298
|
-
const requestUrl = (0,
|
|
83298
|
+
const requestUrl = (0, import_core37.concatLink)(this.endpoint, `/api/v1/ensure-person/${this.workspace}`);
|
|
83299
83299
|
await this.checkRate();
|
|
83300
83300
|
const result = await (0, import_utils22.withRetry)(async () => {
|
|
83301
83301
|
const response = await fetch(requestUrl, {
|
|
@@ -83352,13 +83352,13 @@ var require_tx2 = __commonJS({
|
|
|
83352
83352
|
createRestTxOperations: () => createRestTxOperations2
|
|
83353
83353
|
});
|
|
83354
83354
|
module2.exports = __toCommonJS2(tx_exports);
|
|
83355
|
-
var
|
|
83355
|
+
var import_core37 = require_lib4();
|
|
83356
83356
|
var import_rest = require_rest();
|
|
83357
83357
|
async function createRestTxOperations2(endpoint, workspaceId, token, fullModel = false) {
|
|
83358
83358
|
const restClient = new import_rest.RestClientImpl(endpoint, workspaceId, token);
|
|
83359
83359
|
const account = await restClient.getAccount();
|
|
83360
83360
|
const { hierarchy, model } = await restClient.getModel(fullModel);
|
|
83361
|
-
return new
|
|
83361
|
+
return new import_core37.TxOperations(new RestTxClient(restClient, hierarchy, model, account), account.socialIds[0]);
|
|
83362
83362
|
}
|
|
83363
83363
|
__name(createRestTxOperations2, "createRestTxOperations");
|
|
83364
83364
|
var RestTxClient = class {
|
|
@@ -83379,7 +83379,7 @@ var require_tx2 = __commonJS({
|
|
|
83379
83379
|
const result = data.map((v) => {
|
|
83380
83380
|
return this.hierarchy.updateLookupMixin(_class, v, options);
|
|
83381
83381
|
});
|
|
83382
|
-
return (0,
|
|
83382
|
+
return (0, import_core37.toFindResult)(result, data.total);
|
|
83383
83383
|
}
|
|
83384
83384
|
async domainRequest(domain3, params, options) {
|
|
83385
83385
|
return await this.client.domainRequest(domain3, params, options);
|
|
@@ -83561,7 +83561,7 @@ var require_client7 = __commonJS({
|
|
|
83561
83561
|
createStorageClient: () => createStorageClient2
|
|
83562
83562
|
});
|
|
83563
83563
|
module2.exports = __toCommonJS2(client_exports);
|
|
83564
|
-
var
|
|
83564
|
+
var import_core37 = __toESM2(require_lib4());
|
|
83565
83565
|
var import_stream2 = require("stream");
|
|
83566
83566
|
var import_config8 = require_config();
|
|
83567
83567
|
var import_error = require_error3();
|
|
@@ -83598,13 +83598,13 @@ var require_client7 = __commonJS({
|
|
|
83598
83598
|
const size13 = parseInt(headers.get("Content-Length") ?? "0", 10);
|
|
83599
83599
|
return {
|
|
83600
83600
|
provider: "",
|
|
83601
|
-
_class:
|
|
83601
|
+
_class: import_core37.default.class.Blob,
|
|
83602
83602
|
_id: objectName,
|
|
83603
83603
|
contentType: headers.get("Content-Type") ?? "",
|
|
83604
83604
|
size: isNaN(size13) ? 0 : size13 ?? 0,
|
|
83605
83605
|
etag: headers.get("ETag") ?? "",
|
|
83606
|
-
space:
|
|
83607
|
-
modifiedBy:
|
|
83606
|
+
space: import_core37.default.space.Configuration,
|
|
83607
|
+
modifiedBy: import_core37.default.account.System,
|
|
83608
83608
|
modifiedOn: isNaN(lastModified) ? 0 : lastModified,
|
|
83609
83609
|
version: null
|
|
83610
83610
|
};
|
|
@@ -83639,11 +83639,11 @@ var require_client7 = __commonJS({
|
|
|
83639
83639
|
if (Object.hasOwn(result[0], "id")) {
|
|
83640
83640
|
const fileResult = result[0];
|
|
83641
83641
|
return {
|
|
83642
|
-
_class:
|
|
83642
|
+
_class: import_core37.default.class.Blob,
|
|
83643
83643
|
_id: fileResult.id,
|
|
83644
|
-
space:
|
|
83644
|
+
space: import_core37.default.space.Configuration,
|
|
83645
83645
|
modifiedOn: fileResult.metadata.lastModified,
|
|
83646
|
-
modifiedBy:
|
|
83646
|
+
modifiedBy: import_core37.default.account.System,
|
|
83647
83647
|
provider: "",
|
|
83648
83648
|
contentType: fileResult.metadata.contentType,
|
|
83649
83649
|
etag: fileResult.metadata.etag,
|
|
@@ -83717,11 +83717,11 @@ var require_client7 = __commonJS({
|
|
|
83717
83717
|
async function connectStorage(url4, options, config3) {
|
|
83718
83718
|
config3 ??= await (0, import_config8.loadServerConfig)(url4);
|
|
83719
83719
|
const token = await (0, import_utils14.getWorkspaceToken)(url4, options, config3);
|
|
83720
|
-
const filesUrl = (config3.FILES_URL.startsWith("/") ? (0,
|
|
83720
|
+
const filesUrl = (config3.FILES_URL.startsWith("/") ? (0, import_core37.concatLink)(url4, config3.FILES_URL) : config3.FILES_URL).replace(
|
|
83721
83721
|
":workspace",
|
|
83722
83722
|
token.workspaceId
|
|
83723
83723
|
);
|
|
83724
|
-
const uploadUrl = (config3.UPLOAD_URL.startsWith("/") ? (0,
|
|
83724
|
+
const uploadUrl = (config3.UPLOAD_URL.startsWith("/") ? (0, import_core37.concatLink)(url4, config3.UPLOAD_URL) : config3.UPLOAD_URL).replace(":workspace", token.workspaceId);
|
|
83725
83725
|
return new StorageClientImpl(filesUrl, uploadUrl, token.token, token.workspaceId);
|
|
83726
83726
|
}
|
|
83727
83727
|
__name(connectStorage, "connectStorage");
|
|
@@ -83774,11 +83774,11 @@ var require_storage2 = __commonJS({
|
|
|
83774
83774
|
var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod);
|
|
83775
83775
|
var storage_exports = {};
|
|
83776
83776
|
__export2(storage_exports, {
|
|
83777
|
-
connectStorage: () =>
|
|
83778
|
-
createStorageClient: () =>
|
|
83777
|
+
connectStorage: () => import_client17.connectStorage,
|
|
83778
|
+
createStorageClient: () => import_client17.createStorageClient
|
|
83779
83779
|
});
|
|
83780
83780
|
module2.exports = __toCommonJS2(storage_exports);
|
|
83781
|
-
var
|
|
83781
|
+
var import_client17 = require_client7();
|
|
83782
83782
|
__reExport2(storage_exports, require_error3(), module2.exports);
|
|
83783
83783
|
__reExport2(storage_exports, require_types8(), module2.exports);
|
|
83784
83784
|
}
|
|
@@ -84434,7 +84434,7 @@ var require_utils11 = __commonJS({
|
|
|
84434
84434
|
getWeekday: () => getWeekday
|
|
84435
84435
|
});
|
|
84436
84436
|
module2.exports = __toCommonJS2(utils_exports);
|
|
84437
|
-
var
|
|
84437
|
+
var import_core37 = require_lib4();
|
|
84438
84438
|
var import__ = __toESM2(require_lib24());
|
|
84439
84439
|
function getInstance(event, date7) {
|
|
84440
84440
|
const diff8 = event.dueDate - event.date;
|
|
@@ -84446,7 +84446,7 @@ var require_utils11 = __commonJS({
|
|
|
84446
84446
|
originalStartTime: date7,
|
|
84447
84447
|
_class: import__.default.class.ReccuringInstance,
|
|
84448
84448
|
eventId: generateEventId2(),
|
|
84449
|
-
_id: (0,
|
|
84449
|
+
_id: (0, import_core37.generateId)(),
|
|
84450
84450
|
virtual: true
|
|
84451
84451
|
};
|
|
84452
84452
|
}
|
|
@@ -84759,7 +84759,7 @@ var require_utils11 = __commonJS({
|
|
|
84759
84759
|
}
|
|
84760
84760
|
__name(getAllEvents, "getAllEvents");
|
|
84761
84761
|
function generateEventId2() {
|
|
84762
|
-
const id = (0,
|
|
84762
|
+
const id = (0, import_core37.generateId)();
|
|
84763
84763
|
return encodeToBase32Hex(id);
|
|
84764
84764
|
}
|
|
84765
84765
|
__name(generateEventId2, "generateEventId");
|
|
@@ -85015,7 +85015,7 @@ var require_utils12 = __commonJS({
|
|
|
85015
85015
|
});
|
|
85016
85016
|
module2.exports = __toCommonJS2(utils_exports);
|
|
85017
85017
|
var import_fast_equals = require_cjs();
|
|
85018
|
-
var
|
|
85018
|
+
var import_core37 = __toESM2(require_lib4());
|
|
85019
85019
|
var import__ = __toESM2(require_lib25());
|
|
85020
85020
|
async function getDirectChannel(client, me, employeeAccount) {
|
|
85021
85021
|
const accIds = [me, employeeAccount].sort();
|
|
@@ -85025,7 +85025,7 @@ var require_utils12 = __commonJS({
|
|
|
85025
85025
|
return dm._id;
|
|
85026
85026
|
}
|
|
85027
85027
|
}
|
|
85028
|
-
return await client.createDoc(import__.default.class.DirectMessage,
|
|
85028
|
+
return await client.createDoc(import__.default.class.DirectMessage, import_core37.default.space.Space, {
|
|
85029
85029
|
name: "",
|
|
85030
85030
|
description: "",
|
|
85031
85031
|
private: true,
|
|
@@ -85329,18 +85329,18 @@ var require_cache4 = __commonJS({
|
|
|
85329
85329
|
default: () => ContactCache
|
|
85330
85330
|
});
|
|
85331
85331
|
module2.exports = __toCommonJS2(cache_exports);
|
|
85332
|
-
var
|
|
85332
|
+
var import_core37 = __toESM2(require_lib4());
|
|
85333
85333
|
var import__ = __toESM2(require_lib26());
|
|
85334
85334
|
function isCreateTx(tx) {
|
|
85335
|
-
return tx._class ===
|
|
85335
|
+
return tx._class === import_core37.default.class.TxCreateDoc;
|
|
85336
85336
|
}
|
|
85337
85337
|
__name(isCreateTx, "isCreateTx");
|
|
85338
85338
|
function isUpdateTx(tx) {
|
|
85339
|
-
return tx._class ===
|
|
85339
|
+
return tx._class === import_core37.default.class.TxUpdateDoc;
|
|
85340
85340
|
}
|
|
85341
85341
|
__name(isUpdateTx, "isUpdateTx");
|
|
85342
85342
|
function isMixinTx(tx) {
|
|
85343
|
-
return tx._class ===
|
|
85343
|
+
return tx._class === import_core37.default.class.TxMixin;
|
|
85344
85344
|
}
|
|
85345
85345
|
__name(isMixinTx, "isMixinTx");
|
|
85346
85346
|
function isPersonTx(tx) {
|
|
@@ -85447,7 +85447,7 @@ var require_cache4 = __commonJS({
|
|
|
85447
85447
|
const ref = tx.objectId;
|
|
85448
85448
|
const person = this._personByRef.get(ref);
|
|
85449
85449
|
if (person === void 0) return;
|
|
85450
|
-
const createdPerson =
|
|
85450
|
+
const createdPerson = import_core37.TxProcessor.createDoc2Doc(tx);
|
|
85451
85451
|
this._personByRef.set(ref, createdPerson);
|
|
85452
85452
|
const personIds = Array.from(this._personIdsByPersonRef.get(ref) ?? []);
|
|
85453
85453
|
for (const personId of personIds) {
|
|
@@ -85465,7 +85465,7 @@ var require_cache4 = __commonJS({
|
|
|
85465
85465
|
const newPersonRef = tx.attachedTo;
|
|
85466
85466
|
this._personRefByPersonId.set(personId, newPersonRef);
|
|
85467
85467
|
this.addPersonIdToPersonRef(newPersonRef, personId);
|
|
85468
|
-
const createdSocialId =
|
|
85468
|
+
const createdSocialId = import_core37.TxProcessor.createDoc2Doc(tx);
|
|
85469
85469
|
this._socialIdByPersonId.set(personId, createdSocialId);
|
|
85470
85470
|
this.broadcastChange({
|
|
85471
85471
|
personRef: newPersonRef,
|
|
@@ -85476,7 +85476,7 @@ var require_cache4 = __commonJS({
|
|
|
85476
85476
|
const ref = tx.objectId;
|
|
85477
85477
|
const person = this._personByRef.get(ref);
|
|
85478
85478
|
if (person == null) return;
|
|
85479
|
-
const updatedPerson = isUpdateTx(tx) ?
|
|
85479
|
+
const updatedPerson = isUpdateTx(tx) ? import_core37.TxProcessor.updateDoc2Doc(person, tx) : import_core37.TxProcessor.updateMixin4Doc(person, tx);
|
|
85480
85480
|
this._personByRef.set(ref, updatedPerson);
|
|
85481
85481
|
const personIds = Array.from(this._personIdsByPersonRef.get(ref) ?? []);
|
|
85482
85482
|
for (const personId of personIds) {
|
|
@@ -85591,7 +85591,7 @@ var require_utils13 = __commonJS({
|
|
|
85591
85591
|
setCurrentEmployeeSpace: () => setCurrentEmployeeSpace
|
|
85592
85592
|
});
|
|
85593
85593
|
module2.exports = __toCommonJS2(utils_exports);
|
|
85594
|
-
var
|
|
85594
|
+
var import_core37 = require_lib4();
|
|
85595
85595
|
var import_platform2 = require_lib();
|
|
85596
85596
|
var import__ = __toESM2(require_lib26());
|
|
85597
85597
|
var import_types11 = require_types9();
|
|
@@ -85795,7 +85795,7 @@ var require_utils13 = __commonJS({
|
|
|
85795
85795
|
if (socialIds.length === 0) {
|
|
85796
85796
|
return;
|
|
85797
85797
|
}
|
|
85798
|
-
return (0,
|
|
85798
|
+
return (0, import_core37.pickPrimarySocialId)(socialIds)._id;
|
|
85799
85799
|
}
|
|
85800
85800
|
__name(getPrimarySocialId, "getPrimarySocialId");
|
|
85801
85801
|
async function getAllSocialStringsByPersonId(client, personId) {
|
|
@@ -85834,12 +85834,12 @@ var require_utils13 = __commonJS({
|
|
|
85834
85834
|
__name(getSocialStringsByEmployee, "getSocialStringsByEmployee");
|
|
85835
85835
|
async function getAllAccounts(client) {
|
|
85836
85836
|
const employees = await client.findAll(import__.default.mixin.Employee, { active: true });
|
|
85837
|
-
return employees.map((it) => it.personUuid).filter(
|
|
85837
|
+
return employees.map((it) => it.personUuid).filter(import_core37.notEmpty);
|
|
85838
85838
|
}
|
|
85839
85839
|
__name(getAllAccounts, "getAllAccounts");
|
|
85840
85840
|
async function getAllUserAccounts(client) {
|
|
85841
85841
|
const employees = await client.findAll(import__.default.mixin.Employee, { active: true });
|
|
85842
|
-
return employees.map((it) => it.personUuid).filter(
|
|
85842
|
+
return employees.map((it) => it.personUuid).filter(import_core37.notEmpty);
|
|
85843
85843
|
}
|
|
85844
85844
|
__name(getAllUserAccounts, "getAllUserAccounts");
|
|
85845
85845
|
async function ensureEmployee(ctx, me, client, socialIds, getGlobalPerson) {
|
|
@@ -85848,7 +85848,7 @@ var require_utils13 = __commonJS({
|
|
|
85848
85848
|
}
|
|
85849
85849
|
__name(ensureEmployee, "ensureEmployee");
|
|
85850
85850
|
async function ensureEmployeeForPerson(ctx, me, person, client, socialIds, globalPerson) {
|
|
85851
|
-
const txFactory = new
|
|
85851
|
+
const txFactory = new import_core37.TxFactory(me.primarySocialId);
|
|
85852
85852
|
const personByUuid = await client.findOne(import__.default.class.Person, { personUuid: person.uuid });
|
|
85853
85853
|
let personRef = personByUuid?._id;
|
|
85854
85854
|
if (personRef === void 0) {
|
|
@@ -85869,7 +85869,7 @@ var require_utils13 = __commonJS({
|
|
|
85869
85869
|
city: globalPerson.city,
|
|
85870
85870
|
avatarType: import__.AvatarType.COLOR
|
|
85871
85871
|
};
|
|
85872
|
-
personRef = (0,
|
|
85872
|
+
personRef = (0, import_core37.generateId)();
|
|
85873
85873
|
const createPersonTx = txFactory.createTxCreateDoc(import__.default.class.Person, import__.default.space.Contacts, data, personRef);
|
|
85874
85874
|
await client.tx(createPersonTx);
|
|
85875
85875
|
});
|
|
@@ -85879,7 +85879,7 @@ var require_utils13 = __commonJS({
|
|
|
85879
85879
|
});
|
|
85880
85880
|
await client.tx(updatePersonTx);
|
|
85881
85881
|
}
|
|
85882
|
-
const existingIdentifiers = (0,
|
|
85882
|
+
const existingIdentifiers = (0, import_core37.toIdMap)(
|
|
85883
85883
|
await client.findAll(import__.default.class.SocialIdentity, { _id: { $in: person.socialIds } })
|
|
85884
85884
|
);
|
|
85885
85885
|
for (const socialId of socialIds) {
|
|
@@ -85904,7 +85904,7 @@ var require_utils13 = __commonJS({
|
|
|
85904
85904
|
collection: "socialIds",
|
|
85905
85905
|
type: socialId.type,
|
|
85906
85906
|
value: socialId.value,
|
|
85907
|
-
key: (0,
|
|
85907
|
+
key: (0, import_core37.buildSocialIdString)(socialId),
|
|
85908
85908
|
// TODO: fill it in trigger or on DB level as stored calculated column or smth?
|
|
85909
85909
|
verifiedOn: socialId.verifiedOn,
|
|
85910
85910
|
isDeleted: socialId.isDeleted
|
|
@@ -85945,9 +85945,9 @@ var require_utils13 = __commonJS({
|
|
|
85945
85945
|
}
|
|
85946
85946
|
}
|
|
85947
85947
|
}
|
|
85948
|
-
const employeeRole = person.role ===
|
|
85948
|
+
const employeeRole = person.role === import_core37.AccountRole.Guest || person.role === import_core37.AccountRole.ReadOnlyGuest ? "GUEST" : "USER";
|
|
85949
85949
|
const employee = await client.findOne(import__.default.mixin.Employee, { _id: personRef });
|
|
85950
|
-
if (employee === void 0 || !
|
|
85950
|
+
if (employee === void 0 || !import_core37.Hierarchy.hasMixin(employee, import__.default.mixin.Employee) || !employee.active || employee.role !== employeeRole) {
|
|
85951
85951
|
await ctx.with("create-employee", {}, async () => {
|
|
85952
85952
|
if (personRef === void 0) {
|
|
85953
85953
|
console.error("Person not found");
|
|
@@ -85987,7 +85987,7 @@ var require_utils13 = __commonJS({
|
|
|
85987
85987
|
}
|
|
85988
85988
|
__name(loadCachesForPersonId, "loadCachesForPersonId");
|
|
85989
85989
|
async function loadCachesForPersonIds(client, personIds) {
|
|
85990
|
-
const sidObjsMap = (0,
|
|
85990
|
+
const sidObjsMap = (0, import_core37.toIdMap)(
|
|
85991
85991
|
await client.findAll(
|
|
85992
85992
|
import__.default.class.SocialIdentity,
|
|
85993
85993
|
{
|
|
@@ -86022,7 +86022,7 @@ var require_utils13 = __commonJS({
|
|
|
86022
86022
|
}
|
|
86023
86023
|
__name(loadCachesForPersonRef, "loadCachesForPersonRef");
|
|
86024
86024
|
async function loadCachesForPersonRefs(client, personRefs) {
|
|
86025
|
-
const persons = (0,
|
|
86025
|
+
const persons = (0, import_core37.toIdMap)(
|
|
86026
86026
|
await client.findAll(
|
|
86027
86027
|
import__.default.class.Person,
|
|
86028
86028
|
{
|
|
@@ -86065,7 +86065,7 @@ var require_utils13 = __commonJS({
|
|
|
86065
86065
|
personIds.map((pid) => {
|
|
86066
86066
|
const ref = contactCache.personRefByPersonId.get(pid);
|
|
86067
86067
|
return ref != null ? [pid, ref] : void 0;
|
|
86068
|
-
}).filter(
|
|
86068
|
+
}).filter(import_core37.notEmpty)
|
|
86069
86069
|
);
|
|
86070
86070
|
}
|
|
86071
86071
|
__name(getPersonRefsByPersonIdsFromCache, "getPersonRefsByPersonIdsFromCache");
|
|
@@ -86112,7 +86112,7 @@ var require_utils13 = __commonJS({
|
|
|
86112
86112
|
personIds.map((pid) => {
|
|
86113
86113
|
const person = contactCache.personByPersonId.get(pid);
|
|
86114
86114
|
return person != null ? [pid, person] : void 0;
|
|
86115
|
-
}).filter(
|
|
86115
|
+
}).filter(import_core37.notEmpty)
|
|
86116
86116
|
);
|
|
86117
86117
|
}
|
|
86118
86118
|
__name(getPersonsByPersonIdsFromCache, "getPersonsByPersonIdsFromCache");
|
|
@@ -86159,7 +86159,7 @@ var require_utils13 = __commonJS({
|
|
|
86159
86159
|
personRefs.map((personRef) => {
|
|
86160
86160
|
const person = contactCache.personByRef.get(personRef);
|
|
86161
86161
|
return person != null ? [personRef, person] : void 0;
|
|
86162
|
-
}).filter(
|
|
86162
|
+
}).filter(import_core37.notEmpty)
|
|
86163
86163
|
);
|
|
86164
86164
|
}
|
|
86165
86165
|
__name(getPersonsByPersonRefsFromCache, "getPersonsByPersonRefsFromCache");
|
|
@@ -86764,9 +86764,9 @@ var require_utils14 = __commonJS({
|
|
|
86764
86764
|
getFirstRank: () => getFirstRank
|
|
86765
86765
|
});
|
|
86766
86766
|
module2.exports = __toCommonJS2(utils_exports);
|
|
86767
|
-
var
|
|
86767
|
+
var import_core37 = require_lib4();
|
|
86768
86768
|
var import_plugin = __toESM2(require_plugin2());
|
|
86769
|
-
async function getFirstRank(client, space, parent, sort3 =
|
|
86769
|
+
async function getFirstRank(client, space, parent, sort3 = import_core37.SortingOrder.Descending, extra = {}) {
|
|
86770
86770
|
const doc = await client.findOne(
|
|
86771
86771
|
import_plugin.default.class.Document,
|
|
86772
86772
|
{ space, parent, ...extra },
|
|
@@ -88389,7 +88389,7 @@ var require_utils16 = __commonJS({
|
|
|
88389
88389
|
updateProjectType: () => updateProjectType
|
|
88390
88390
|
});
|
|
88391
88391
|
module2.exports = __toCommonJS2(utils_exports);
|
|
88392
|
-
var
|
|
88392
|
+
var import_core37 = __toESM2(require_lib4());
|
|
88393
88393
|
var import_platform2 = require_lib();
|
|
88394
88394
|
var import__ = __toESM2(require_lib32());
|
|
88395
88395
|
var import_rank3 = require_lib31();
|
|
@@ -88425,7 +88425,7 @@ var require_utils16 = __commonJS({
|
|
|
88425
88425
|
if (exists5 !== void 0) {
|
|
88426
88426
|
return exists5._id;
|
|
88427
88427
|
}
|
|
88428
|
-
const res = await client.createDoc(_class,
|
|
88428
|
+
const res = await client.createDoc(_class, import_core37.default.space.Model, data);
|
|
88429
88429
|
return res;
|
|
88430
88430
|
}
|
|
88431
88431
|
__name(createState, "createState");
|
|
@@ -88455,7 +88455,7 @@ var require_utils16 = __commonJS({
|
|
|
88455
88455
|
function findStatusAttr(h, _class) {
|
|
88456
88456
|
const attrs = h.getAllAttributes(_class);
|
|
88457
88457
|
for (const it of attrs.values()) {
|
|
88458
|
-
if (it.type._class ===
|
|
88458
|
+
if (it.type._class === import_core37.default.class.RefTo && h.isDerived(it.type.to, import_core37.default.class.Status)) {
|
|
88459
88459
|
return it;
|
|
88460
88460
|
}
|
|
88461
88461
|
}
|
|
@@ -88487,7 +88487,7 @@ var require_utils16 = __commonJS({
|
|
|
88487
88487
|
const targetProjectClassId = `${_id}:type:mixin`;
|
|
88488
88488
|
const tmpl = await client.createDoc(
|
|
88489
88489
|
import__.default.class.ProjectType,
|
|
88490
|
-
|
|
88490
|
+
import_core37.default.space.Model,
|
|
88491
88491
|
{
|
|
88492
88492
|
description: data.description,
|
|
88493
88493
|
shortDescription: data.shortDescription,
|
|
@@ -88502,17 +88502,17 @@ var require_utils16 = __commonJS({
|
|
|
88502
88502
|
_id
|
|
88503
88503
|
);
|
|
88504
88504
|
await client.createDoc(
|
|
88505
|
-
|
|
88506
|
-
|
|
88505
|
+
import_core37.default.class.Mixin,
|
|
88506
|
+
import_core37.default.space.Model,
|
|
88507
88507
|
{
|
|
88508
88508
|
extends: categoryObj.baseClass,
|
|
88509
|
-
kind:
|
|
88509
|
+
kind: import_core37.ClassifierKind.MIXIN,
|
|
88510
88510
|
label: (0, import_platform2.getEmbeddedLabel)(data.name),
|
|
88511
88511
|
icon: baseClassClass.icon
|
|
88512
88512
|
},
|
|
88513
88513
|
targetProjectClassId
|
|
88514
88514
|
);
|
|
88515
|
-
await client.createMixin(targetProjectClassId,
|
|
88515
|
+
await client.createMixin(targetProjectClassId, import_core37.default.class.Mixin, import_core37.default.space.Model, import__.default.mixin.ProjectTypeClass, {
|
|
88516
88516
|
projectType: _id
|
|
88517
88517
|
});
|
|
88518
88518
|
return tmpl;
|
|
@@ -88571,22 +88571,22 @@ var require_utils16 = __commonJS({
|
|
|
88571
88571
|
const targetClassId = `${taskId}:type:mixin`;
|
|
88572
88572
|
tdata.targetClass = targetClassId;
|
|
88573
88573
|
await client.createDoc(
|
|
88574
|
-
|
|
88575
|
-
|
|
88574
|
+
import_core37.default.class.Mixin,
|
|
88575
|
+
import_core37.default.space.Model,
|
|
88576
88576
|
{
|
|
88577
88577
|
extends: data.ofClass,
|
|
88578
|
-
kind:
|
|
88578
|
+
kind: import_core37.ClassifierKind.MIXIN,
|
|
88579
88579
|
label: ofClassClass.label,
|
|
88580
88580
|
icon: ofClassClass.icon
|
|
88581
88581
|
},
|
|
88582
88582
|
targetClassId
|
|
88583
88583
|
);
|
|
88584
|
-
await client.createMixin(targetClassId,
|
|
88584
|
+
await client.createMixin(targetClassId, import_core37.default.class.Mixin, import_core37.default.space.Model, import__.default.mixin.TaskTypeClass, {
|
|
88585
88585
|
taskType: taskId,
|
|
88586
88586
|
projectType: _id
|
|
88587
88587
|
});
|
|
88588
88588
|
}
|
|
88589
|
-
await client.createDoc(import__.default.class.TaskType,
|
|
88589
|
+
await client.createDoc(import__.default.class.TaskType, import_core37.default.space.Model, tdata, taskId);
|
|
88590
88590
|
tasksData.set(taskId, tdata);
|
|
88591
88591
|
_tasks.push(taskId);
|
|
88592
88592
|
}
|
|
@@ -153707,6 +153707,16 @@ var AttachmentNotFoundError = class extends Schema_exports.TaggedError()(
|
|
|
153707
153707
|
return `Attachment '${this.attachmentId}' not found`;
|
|
153708
153708
|
}
|
|
153709
153709
|
};
|
|
153710
|
+
var TagNotFoundError = class extends Schema_exports.TaggedError()(
|
|
153711
|
+
"TagNotFoundError",
|
|
153712
|
+
{
|
|
153713
|
+
identifier: Schema_exports.String
|
|
153714
|
+
}
|
|
153715
|
+
) {
|
|
153716
|
+
get message() {
|
|
153717
|
+
return `Tag/label '${this.identifier}' not found`;
|
|
153718
|
+
}
|
|
153719
|
+
};
|
|
153710
153720
|
var ComponentNotFoundError = class extends Schema_exports.TaggedError()(
|
|
153711
153721
|
"ComponentNotFoundError",
|
|
153712
153722
|
{
|
|
@@ -153810,6 +153820,7 @@ var HulyDomainError = Schema_exports.Union(
|
|
|
153810
153820
|
ReactionNotFoundError,
|
|
153811
153821
|
SavedMessageNotFoundError,
|
|
153812
153822
|
AttachmentNotFoundError,
|
|
153823
|
+
TagNotFoundError,
|
|
153813
153824
|
ComponentNotFoundError,
|
|
153814
153825
|
IssueTemplateNotFoundError,
|
|
153815
153826
|
NotificationNotFoundError,
|
|
@@ -154066,6 +154077,7 @@ var TodoId = HulyRef("TodoId");
|
|
|
154066
154077
|
var SpaceId = HulyRef("SpaceId");
|
|
154067
154078
|
var CommentId = HulyRef("CommentId");
|
|
154068
154079
|
var TimeSpendReportId = HulyRef("TimeSpendReportId");
|
|
154080
|
+
var TagElementId = HulyRef("TagElementId");
|
|
154069
154081
|
var ProjectIdentifier = NonEmptyString2.pipe(Schema_exports.brand("ProjectIdentifier"));
|
|
154070
154082
|
var IssueIdentifier = NonEmptyString2.pipe(Schema_exports.brand("IssueIdentifier"));
|
|
154071
154083
|
var Email = Schema_exports.NonEmptyString.pipe(
|
|
@@ -154105,6 +154117,7 @@ var TemplateIdentifier = NonEmptyString2.pipe(Schema_exports.brand("TemplateIden
|
|
|
154105
154117
|
var ChannelIdentifier = NonEmptyString2.pipe(Schema_exports.brand("ChannelIdentifier"));
|
|
154106
154118
|
var TeamspaceIdentifier = NonEmptyString2.pipe(Schema_exports.brand("TeamspaceIdentifier"));
|
|
154107
154119
|
var DocumentIdentifier = NonEmptyString2.pipe(Schema_exports.brand("DocumentIdentifier"));
|
|
154120
|
+
var TagIdentifier = NonEmptyString2.pipe(Schema_exports.brand("TagIdentifier"));
|
|
154108
154121
|
var MemberReference = Schema_exports.String.pipe(Schema_exports.brand("MemberReference"));
|
|
154109
154122
|
|
|
154110
154123
|
// src/huly/huly-plugins.ts
|
|
@@ -173710,7 +173723,7 @@ var PostHog = class extends PostHogBackendClient {
|
|
|
173710
173723
|
};
|
|
173711
173724
|
|
|
173712
173725
|
// src/version.ts
|
|
173713
|
-
var VERSION = true ? "0.1.
|
|
173726
|
+
var VERSION = true ? "0.1.39" : "0.0.0-dev";
|
|
173714
173727
|
|
|
173715
173728
|
// src/telemetry/posthog.ts
|
|
173716
173729
|
var POSTHOG_API_KEY = "phc_TGfFqCGdnF0p68wuFzd5WSw1IsBvOJW0YgoMJDyZPjm";
|
|
@@ -176009,11 +176022,26 @@ var DeleteIssueParamsSchema = Schema_exports.Struct({
|
|
|
176009
176022
|
title: "DeleteIssueParams",
|
|
176010
176023
|
description: "Parameters for deleting an issue"
|
|
176011
176024
|
});
|
|
176025
|
+
var RemoveLabelParamsSchema = Schema_exports.Struct({
|
|
176026
|
+
project: ProjectIdentifier.annotations({
|
|
176027
|
+
description: "Project identifier (e.g., 'HULY')"
|
|
176028
|
+
}),
|
|
176029
|
+
identifier: IssueIdentifier.annotations({
|
|
176030
|
+
description: "Issue identifier (e.g., 'HULY-123')"
|
|
176031
|
+
}),
|
|
176032
|
+
label: NonEmptyString2.annotations({
|
|
176033
|
+
description: "Label name to remove"
|
|
176034
|
+
})
|
|
176035
|
+
}).annotations({
|
|
176036
|
+
title: "RemoveLabelParams",
|
|
176037
|
+
description: "Parameters for removing a label from an issue"
|
|
176038
|
+
});
|
|
176012
176039
|
var listIssuesParamsJsonSchema = JSONSchema_exports.make(ListIssuesParamsSchema);
|
|
176013
176040
|
var getIssueParamsJsonSchema = JSONSchema_exports.make(GetIssueParamsSchema);
|
|
176014
176041
|
var createIssueParamsJsonSchema = JSONSchema_exports.make(CreateIssueParamsSchema);
|
|
176015
176042
|
var updateIssueParamsJsonSchema = JSONSchema_exports.make(UpdateIssueParamsSchema);
|
|
176016
176043
|
var addLabelParamsJsonSchema = JSONSchema_exports.make(AddLabelParamsSchema);
|
|
176044
|
+
var removeLabelParamsJsonSchema = JSONSchema_exports.make(RemoveLabelParamsSchema);
|
|
176017
176045
|
var deleteIssueParamsJsonSchema = JSONSchema_exports.make(DeleteIssueParamsSchema);
|
|
176018
176046
|
var parseIssue = Schema_exports.decodeUnknown(IssueSchema);
|
|
176019
176047
|
var parseIssueSummary = Schema_exports.decodeUnknown(IssueSummarySchema);
|
|
@@ -176022,6 +176050,7 @@ var parseGetIssueParams = Schema_exports.decodeUnknown(GetIssueParamsSchema);
|
|
|
176022
176050
|
var parseCreateIssueParams = Schema_exports.decodeUnknown(CreateIssueParamsSchema);
|
|
176023
176051
|
var parseUpdateIssueParams = Schema_exports.decodeUnknown(UpdateIssueParamsSchema);
|
|
176024
176052
|
var parseAddLabelParams = Schema_exports.decodeUnknown(AddLabelParamsSchema);
|
|
176053
|
+
var parseRemoveLabelParams = Schema_exports.decodeUnknown(RemoveLabelParamsSchema);
|
|
176025
176054
|
var parseDeleteIssueParams = Schema_exports.decodeUnknown(DeleteIssueParamsSchema);
|
|
176026
176055
|
|
|
176027
176056
|
// src/domain/schemas/components.ts
|
|
@@ -176149,6 +176178,77 @@ var parseUpdateComponentParams = Schema_exports.decodeUnknown(UpdateComponentPar
|
|
|
176149
176178
|
var parseSetIssueComponentParams = Schema_exports.decodeUnknown(SetIssueComponentParamsSchema);
|
|
176150
176179
|
var parseDeleteComponentParams = Schema_exports.decodeUnknown(DeleteComponentParamsSchema);
|
|
176151
176180
|
|
|
176181
|
+
// src/domain/schemas/labels.ts
|
|
176182
|
+
var TagElementSummarySchema = Schema_exports.Struct({
|
|
176183
|
+
id: TagElementId,
|
|
176184
|
+
title: NonEmptyString2,
|
|
176185
|
+
color: ColorCode
|
|
176186
|
+
}).annotations({
|
|
176187
|
+
title: "TagElementSummary",
|
|
176188
|
+
description: "Label/tag summary for list operations"
|
|
176189
|
+
});
|
|
176190
|
+
var ListLabelsParamsSchema = Schema_exports.Struct({
|
|
176191
|
+
limit: Schema_exports.optional(
|
|
176192
|
+
LimitParam.annotations({
|
|
176193
|
+
description: "Maximum number of labels to return (default: 50)"
|
|
176194
|
+
})
|
|
176195
|
+
)
|
|
176196
|
+
}).annotations({
|
|
176197
|
+
title: "ListLabelsParams",
|
|
176198
|
+
description: "Parameters for listing label definitions"
|
|
176199
|
+
});
|
|
176200
|
+
var CreateLabelParamsSchema = Schema_exports.Struct({
|
|
176201
|
+
title: NonEmptyString2.annotations({
|
|
176202
|
+
description: "Label name"
|
|
176203
|
+
}),
|
|
176204
|
+
color: Schema_exports.optional(
|
|
176205
|
+
ColorCode.annotations({
|
|
176206
|
+
description: "Color code (0-9, default: 0)"
|
|
176207
|
+
})
|
|
176208
|
+
),
|
|
176209
|
+
description: Schema_exports.optional(Schema_exports.String.annotations({
|
|
176210
|
+
description: "Label description"
|
|
176211
|
+
}))
|
|
176212
|
+
}).annotations({
|
|
176213
|
+
title: "CreateLabelParams",
|
|
176214
|
+
description: "Parameters for creating a label definition"
|
|
176215
|
+
});
|
|
176216
|
+
var UpdateLabelParamsSchema = Schema_exports.Struct({
|
|
176217
|
+
label: TagIdentifier.annotations({
|
|
176218
|
+
description: "Label ID or title to update"
|
|
176219
|
+
}),
|
|
176220
|
+
title: Schema_exports.optional(NonEmptyString2.annotations({
|
|
176221
|
+
description: "New label name"
|
|
176222
|
+
})),
|
|
176223
|
+
color: Schema_exports.optional(
|
|
176224
|
+
ColorCode.annotations({
|
|
176225
|
+
description: "New color code (0-9)"
|
|
176226
|
+
})
|
|
176227
|
+
),
|
|
176228
|
+
description: Schema_exports.optional(Schema_exports.String.annotations({
|
|
176229
|
+
description: "New label description"
|
|
176230
|
+
}))
|
|
176231
|
+
}).annotations({
|
|
176232
|
+
title: "UpdateLabelParams",
|
|
176233
|
+
description: "Parameters for updating a label definition"
|
|
176234
|
+
});
|
|
176235
|
+
var DeleteLabelParamsSchema = Schema_exports.Struct({
|
|
176236
|
+
label: TagIdentifier.annotations({
|
|
176237
|
+
description: "Label ID or title to delete"
|
|
176238
|
+
})
|
|
176239
|
+
}).annotations({
|
|
176240
|
+
title: "DeleteLabelParams",
|
|
176241
|
+
description: "Parameters for deleting a label definition"
|
|
176242
|
+
});
|
|
176243
|
+
var listLabelsParamsJsonSchema = JSONSchema_exports.make(ListLabelsParamsSchema);
|
|
176244
|
+
var createLabelParamsJsonSchema = JSONSchema_exports.make(CreateLabelParamsSchema);
|
|
176245
|
+
var updateLabelParamsJsonSchema = JSONSchema_exports.make(UpdateLabelParamsSchema);
|
|
176246
|
+
var deleteLabelParamsJsonSchema = JSONSchema_exports.make(DeleteLabelParamsSchema);
|
|
176247
|
+
var parseListLabelsParams = Schema_exports.decodeUnknown(ListLabelsParamsSchema);
|
|
176248
|
+
var parseCreateLabelParams = Schema_exports.decodeUnknown(CreateLabelParamsSchema);
|
|
176249
|
+
var parseUpdateLabelParams = Schema_exports.decodeUnknown(UpdateLabelParamsSchema);
|
|
176250
|
+
var parseDeleteLabelParams = Schema_exports.decodeUnknown(DeleteLabelParamsSchema);
|
|
176251
|
+
|
|
176152
176252
|
// src/domain/schemas/deletion.ts
|
|
176153
176253
|
var EntityTypeValues = ["issue", "project", "component", "milestone"];
|
|
176154
176254
|
var EntityTypeSchema = Schema_exports.Literal(...EntityTypeValues).annotations({
|
|
@@ -179607,6 +179707,141 @@ var deleteIssueTemplate = (params) => Effect_exports.gen(function* () {
|
|
|
179607
179707
|
return { id: IssueTemplateId.make(template._id), deleted: true };
|
|
179608
179708
|
});
|
|
179609
179709
|
|
|
179710
|
+
// src/huly/operations/labels.ts
|
|
179711
|
+
var import_core30 = __toESM(require_lib4(), 1);
|
|
179712
|
+
var issueClassRef = toRef(tracker.class.Issue);
|
|
179713
|
+
var findTagByIdOrTitle = (client, idOrTitle) => Effect_exports.gen(function* () {
|
|
179714
|
+
let tag2 = yield* client.findOne(
|
|
179715
|
+
tags.class.TagElement,
|
|
179716
|
+
{
|
|
179717
|
+
_id: toRef(idOrTitle),
|
|
179718
|
+
targetClass: issueClassRef
|
|
179719
|
+
}
|
|
179720
|
+
);
|
|
179721
|
+
if (tag2 === void 0) {
|
|
179722
|
+
tag2 = yield* client.findOne(
|
|
179723
|
+
tags.class.TagElement,
|
|
179724
|
+
{
|
|
179725
|
+
title: idOrTitle,
|
|
179726
|
+
targetClass: issueClassRef
|
|
179727
|
+
}
|
|
179728
|
+
);
|
|
179729
|
+
}
|
|
179730
|
+
return tag2;
|
|
179731
|
+
});
|
|
179732
|
+
var findTagOrFail = (client, idOrTitle) => Effect_exports.gen(function* () {
|
|
179733
|
+
const tag2 = yield* findTagByIdOrTitle(client, idOrTitle);
|
|
179734
|
+
if (tag2 === void 0) {
|
|
179735
|
+
return yield* new TagNotFoundError({ identifier: idOrTitle });
|
|
179736
|
+
}
|
|
179737
|
+
return tag2;
|
|
179738
|
+
});
|
|
179739
|
+
var listLabels = (params) => Effect_exports.gen(function* () {
|
|
179740
|
+
const client = yield* HulyClient;
|
|
179741
|
+
const limit = clampLimit(params.limit);
|
|
179742
|
+
const elements = yield* client.findAll(
|
|
179743
|
+
tags.class.TagElement,
|
|
179744
|
+
{ targetClass: issueClassRef },
|
|
179745
|
+
{
|
|
179746
|
+
limit,
|
|
179747
|
+
sort: { modifiedOn: import_core30.SortingOrder.Descending }
|
|
179748
|
+
}
|
|
179749
|
+
);
|
|
179750
|
+
return elements.map((e) => ({
|
|
179751
|
+
id: TagElementId.make(e._id),
|
|
179752
|
+
title: e.title,
|
|
179753
|
+
// Clamp to valid range — Huly API may return out-of-range color values
|
|
179754
|
+
color: ColorCode.make(Math.max(0, Math.min(9, Math.trunc(e.color))))
|
|
179755
|
+
// eslint-disable-line no-magic-numbers
|
|
179756
|
+
}));
|
|
179757
|
+
});
|
|
179758
|
+
var createLabel = (params) => Effect_exports.gen(function* () {
|
|
179759
|
+
const client = yield* HulyClient;
|
|
179760
|
+
const existing = yield* client.findOne(
|
|
179761
|
+
tags.class.TagElement,
|
|
179762
|
+
{
|
|
179763
|
+
title: params.title,
|
|
179764
|
+
targetClass: issueClassRef
|
|
179765
|
+
}
|
|
179766
|
+
);
|
|
179767
|
+
if (existing !== void 0) {
|
|
179768
|
+
return { id: TagElementId.make(existing._id), title: existing.title, created: false };
|
|
179769
|
+
}
|
|
179770
|
+
const tagId = (0, import_core30.generateId)();
|
|
179771
|
+
const color = params.color ?? 0;
|
|
179772
|
+
const tagData = {
|
|
179773
|
+
title: params.title,
|
|
179774
|
+
description: params.description ?? "",
|
|
179775
|
+
targetClass: issueClassRef,
|
|
179776
|
+
color,
|
|
179777
|
+
category: tracker.category.Other
|
|
179778
|
+
};
|
|
179779
|
+
yield* client.createDoc(
|
|
179780
|
+
tags.class.TagElement,
|
|
179781
|
+
toRef(core.space.Workspace),
|
|
179782
|
+
tagData,
|
|
179783
|
+
tagId
|
|
179784
|
+
);
|
|
179785
|
+
return { id: TagElementId.make(tagId), title: params.title, created: true };
|
|
179786
|
+
});
|
|
179787
|
+
var updateLabel = (params) => Effect_exports.gen(function* () {
|
|
179788
|
+
const client = yield* HulyClient;
|
|
179789
|
+
const tag2 = yield* findTagOrFail(client, params.label);
|
|
179790
|
+
const updateOps = {};
|
|
179791
|
+
if (params.title !== void 0) {
|
|
179792
|
+
updateOps.title = params.title;
|
|
179793
|
+
}
|
|
179794
|
+
if (params.color !== void 0) {
|
|
179795
|
+
updateOps.color = params.color;
|
|
179796
|
+
}
|
|
179797
|
+
if (params.description !== void 0) {
|
|
179798
|
+
updateOps.description = params.description;
|
|
179799
|
+
}
|
|
179800
|
+
if (Object.keys(updateOps).length === 0) {
|
|
179801
|
+
return { id: TagElementId.make(tag2._id), updated: false };
|
|
179802
|
+
}
|
|
179803
|
+
yield* client.updateDoc(
|
|
179804
|
+
tags.class.TagElement,
|
|
179805
|
+
toRef(core.space.Workspace),
|
|
179806
|
+
tag2._id,
|
|
179807
|
+
updateOps
|
|
179808
|
+
);
|
|
179809
|
+
return { id: TagElementId.make(tag2._id), updated: true };
|
|
179810
|
+
});
|
|
179811
|
+
var deleteLabel = (params) => Effect_exports.gen(function* () {
|
|
179812
|
+
const client = yield* HulyClient;
|
|
179813
|
+
const tag2 = yield* findTagOrFail(client, params.label);
|
|
179814
|
+
yield* client.removeDoc(
|
|
179815
|
+
tags.class.TagElement,
|
|
179816
|
+
toRef(core.space.Workspace),
|
|
179817
|
+
tag2._id
|
|
179818
|
+
);
|
|
179819
|
+
return { id: TagElementId.make(tag2._id), deleted: true };
|
|
179820
|
+
});
|
|
179821
|
+
var removeIssueLabel = (params) => Effect_exports.gen(function* () {
|
|
179822
|
+
const { client, issue: issue2, project: project3 } = yield* findProjectAndIssue(params);
|
|
179823
|
+
const labelTitle = params.label.trim();
|
|
179824
|
+
const tagRefs = yield* client.findAll(
|
|
179825
|
+
tags.class.TagReference,
|
|
179826
|
+
{
|
|
179827
|
+
attachedTo: issue2._id,
|
|
179828
|
+
attachedToClass: tracker.class.Issue
|
|
179829
|
+
}
|
|
179830
|
+
);
|
|
179831
|
+
const matchingRef = tagRefs.find(
|
|
179832
|
+
(r) => r.title.toLowerCase() === labelTitle.toLowerCase()
|
|
179833
|
+
);
|
|
179834
|
+
if (matchingRef === void 0) {
|
|
179835
|
+
return yield* new TagNotFoundError({ identifier: labelTitle });
|
|
179836
|
+
}
|
|
179837
|
+
yield* client.removeDoc(
|
|
179838
|
+
tags.class.TagReference,
|
|
179839
|
+
project3._id,
|
|
179840
|
+
matchingRef._id
|
|
179841
|
+
);
|
|
179842
|
+
return { identifier: IssueIdentifier.make(issue2.identifier), labelRemoved: true };
|
|
179843
|
+
});
|
|
179844
|
+
|
|
179610
179845
|
// src/huly/operations/relations.ts
|
|
179611
179846
|
var resolveTargetIssue = (client, sourceProject, targetIssueStr) => Effect_exports.gen(function* () {
|
|
179612
179847
|
const { fullIdentifier } = parseIssueIdentifier(targetIssueStr, sourceProject.identifier);
|
|
@@ -179824,6 +180059,17 @@ var issueTools = [
|
|
|
179824
180059
|
addLabel
|
|
179825
180060
|
)
|
|
179826
180061
|
},
|
|
180062
|
+
{
|
|
180063
|
+
name: "remove_issue_label",
|
|
180064
|
+
description: "Remove a tag/label from a Huly issue. Detaches the label reference; does not delete the label definition.",
|
|
180065
|
+
category: CATEGORY9,
|
|
180066
|
+
inputSchema: removeLabelParamsJsonSchema,
|
|
180067
|
+
handler: createToolHandler(
|
|
180068
|
+
"remove_issue_label",
|
|
180069
|
+
parseRemoveLabelParams,
|
|
180070
|
+
removeIssueLabel
|
|
180071
|
+
)
|
|
180072
|
+
},
|
|
179827
180073
|
{
|
|
179828
180074
|
name: "delete_issue",
|
|
179829
180075
|
description: "Permanently delete a Huly issue. This action cannot be undone.",
|
|
@@ -180002,8 +180248,57 @@ var issueTools = [
|
|
|
180002
180248
|
}
|
|
180003
180249
|
];
|
|
180004
180250
|
|
|
180251
|
+
// src/mcp/tools/labels.ts
|
|
180252
|
+
var CATEGORY10 = "labels";
|
|
180253
|
+
var labelTools = [
|
|
180254
|
+
{
|
|
180255
|
+
name: "list_labels",
|
|
180256
|
+
description: "List label/tag definitions in the workspace. Labels are global (not project-scoped). Returns labels for tracker issues sorted by modification date (newest first).",
|
|
180257
|
+
category: CATEGORY10,
|
|
180258
|
+
inputSchema: listLabelsParamsJsonSchema,
|
|
180259
|
+
handler: createToolHandler(
|
|
180260
|
+
"list_labels",
|
|
180261
|
+
parseListLabelsParams,
|
|
180262
|
+
listLabels
|
|
180263
|
+
)
|
|
180264
|
+
},
|
|
180265
|
+
{
|
|
180266
|
+
name: "create_label",
|
|
180267
|
+
description: "Create a new label/tag definition in the workspace. Labels are global and can be attached to any issue. Returns existing label if one with the same title already exists (created=false). Use add_issue_label to attach a label to a specific issue.",
|
|
180268
|
+
category: CATEGORY10,
|
|
180269
|
+
inputSchema: createLabelParamsJsonSchema,
|
|
180270
|
+
handler: createToolHandler(
|
|
180271
|
+
"create_label",
|
|
180272
|
+
parseCreateLabelParams,
|
|
180273
|
+
createLabel
|
|
180274
|
+
)
|
|
180275
|
+
},
|
|
180276
|
+
{
|
|
180277
|
+
name: "update_label",
|
|
180278
|
+
description: "Update a label/tag definition. Accepts label ID or title. Only provided fields are modified.",
|
|
180279
|
+
category: CATEGORY10,
|
|
180280
|
+
inputSchema: updateLabelParamsJsonSchema,
|
|
180281
|
+
handler: createToolHandler(
|
|
180282
|
+
"update_label",
|
|
180283
|
+
parseUpdateLabelParams,
|
|
180284
|
+
updateLabel
|
|
180285
|
+
)
|
|
180286
|
+
},
|
|
180287
|
+
{
|
|
180288
|
+
name: "delete_label",
|
|
180289
|
+
description: "Permanently delete a label/tag definition. Accepts label ID or title. This action cannot be undone.",
|
|
180290
|
+
category: CATEGORY10,
|
|
180291
|
+
inputSchema: deleteLabelParamsJsonSchema,
|
|
180292
|
+
handler: createToolHandler(
|
|
180293
|
+
"delete_label",
|
|
180294
|
+
parseDeleteLabelParams,
|
|
180295
|
+
deleteLabel
|
|
180296
|
+
)
|
|
180297
|
+
}
|
|
180298
|
+
];
|
|
180299
|
+
|
|
180005
180300
|
// src/huly/operations/milestones.ts
|
|
180006
|
-
var
|
|
180301
|
+
var import_core31 = __toESM(require_lib4(), 1);
|
|
180007
180302
|
var import_tracker3 = __toESM(require_lib21(), 1);
|
|
180008
180303
|
var milestoneStatusToStringMap = {
|
|
180009
180304
|
[import_tracker3.MilestoneStatus.Planned]: "planned",
|
|
@@ -180047,7 +180342,7 @@ var listMilestones = (params) => Effect_exports.gen(function* () {
|
|
|
180047
180342
|
{ space: project3._id },
|
|
180048
180343
|
{
|
|
180049
180344
|
limit,
|
|
180050
|
-
sort: { modifiedOn:
|
|
180345
|
+
sort: { modifiedOn: import_core31.SortingOrder.Descending }
|
|
180051
180346
|
}
|
|
180052
180347
|
);
|
|
180053
180348
|
const summaries = milestones.map((m) => ({
|
|
@@ -180075,7 +180370,7 @@ var getMilestone = (params) => Effect_exports.gen(function* () {
|
|
|
180075
180370
|
});
|
|
180076
180371
|
var createMilestone = (params) => Effect_exports.gen(function* () {
|
|
180077
180372
|
const { client, project: project3 } = yield* findProject(params.project);
|
|
180078
|
-
const milestoneId = (0,
|
|
180373
|
+
const milestoneId = (0, import_core31.generateId)();
|
|
180079
180374
|
const milestoneData = {
|
|
180080
180375
|
label: params.label,
|
|
180081
180376
|
description: params.description ?? "",
|
|
@@ -180143,12 +180438,12 @@ var deleteMilestone = (params) => Effect_exports.gen(function* () {
|
|
|
180143
180438
|
});
|
|
180144
180439
|
|
|
180145
180440
|
// src/mcp/tools/milestones.ts
|
|
180146
|
-
var
|
|
180441
|
+
var CATEGORY11 = "milestones";
|
|
180147
180442
|
var milestoneTools = [
|
|
180148
180443
|
{
|
|
180149
180444
|
name: "list_milestones",
|
|
180150
180445
|
description: "List milestones in a Huly project. Returns milestones sorted by modification date (newest first).",
|
|
180151
|
-
category:
|
|
180446
|
+
category: CATEGORY11,
|
|
180152
180447
|
inputSchema: listMilestonesParamsJsonSchema,
|
|
180153
180448
|
handler: createToolHandler(
|
|
180154
180449
|
"list_milestones",
|
|
@@ -180159,7 +180454,7 @@ var milestoneTools = [
|
|
|
180159
180454
|
{
|
|
180160
180455
|
name: "get_milestone",
|
|
180161
180456
|
description: "Retrieve full details for a Huly milestone. Use this to view milestone content and metadata.",
|
|
180162
|
-
category:
|
|
180457
|
+
category: CATEGORY11,
|
|
180163
180458
|
inputSchema: getMilestoneParamsJsonSchema,
|
|
180164
180459
|
handler: createToolHandler(
|
|
180165
180460
|
"get_milestone",
|
|
@@ -180170,7 +180465,7 @@ var milestoneTools = [
|
|
|
180170
180465
|
{
|
|
180171
180466
|
name: "create_milestone",
|
|
180172
180467
|
description: "Create a new milestone in a Huly project. Returns the created milestone ID and label.",
|
|
180173
|
-
category:
|
|
180468
|
+
category: CATEGORY11,
|
|
180174
180469
|
inputSchema: createMilestoneParamsJsonSchema,
|
|
180175
180470
|
handler: createToolHandler(
|
|
180176
180471
|
"create_milestone",
|
|
@@ -180181,7 +180476,7 @@ var milestoneTools = [
|
|
|
180181
180476
|
{
|
|
180182
180477
|
name: "update_milestone",
|
|
180183
180478
|
description: "Update fields on an existing Huly milestone. Only provided fields are modified.",
|
|
180184
|
-
category:
|
|
180479
|
+
category: CATEGORY11,
|
|
180185
180480
|
inputSchema: updateMilestoneParamsJsonSchema,
|
|
180186
180481
|
handler: createToolHandler(
|
|
180187
180482
|
"update_milestone",
|
|
@@ -180192,7 +180487,7 @@ var milestoneTools = [
|
|
|
180192
180487
|
{
|
|
180193
180488
|
name: "set_issue_milestone",
|
|
180194
180489
|
description: "Set or clear the milestone on a Huly issue. Pass null for milestone to clear it.",
|
|
180195
|
-
category:
|
|
180490
|
+
category: CATEGORY11,
|
|
180196
180491
|
inputSchema: setIssueMilestoneParamsJsonSchema,
|
|
180197
180492
|
handler: createToolHandler(
|
|
180198
180493
|
"set_issue_milestone",
|
|
@@ -180203,7 +180498,7 @@ var milestoneTools = [
|
|
|
180203
180498
|
{
|
|
180204
180499
|
name: "delete_milestone",
|
|
180205
180500
|
description: "Permanently delete a Huly milestone. This action cannot be undone.",
|
|
180206
|
-
category:
|
|
180501
|
+
category: CATEGORY11,
|
|
180207
180502
|
inputSchema: deleteMilestoneParamsJsonSchema,
|
|
180208
180503
|
handler: createToolHandler(
|
|
180209
180504
|
"delete_milestone",
|
|
@@ -180214,7 +180509,7 @@ var milestoneTools = [
|
|
|
180214
180509
|
];
|
|
180215
180510
|
|
|
180216
180511
|
// src/huly/operations/notifications.ts
|
|
180217
|
-
var
|
|
180512
|
+
var import_core32 = __toESM(require_lib4(), 1);
|
|
180218
180513
|
var toDocNotifyContextSummary = (ctx) => ({
|
|
180219
180514
|
id: NotificationContextId.make(ctx._id),
|
|
180220
180515
|
objectId: ctx.objectId,
|
|
@@ -180260,7 +180555,7 @@ var listNotifications = (params) => Effect_exports.gen(function* () {
|
|
|
180260
180555
|
{
|
|
180261
180556
|
limit,
|
|
180262
180557
|
sort: {
|
|
180263
|
-
modifiedOn:
|
|
180558
|
+
modifiedOn: import_core32.SortingOrder.Descending
|
|
180264
180559
|
}
|
|
180265
180560
|
}
|
|
180266
180561
|
);
|
|
@@ -180402,7 +180697,7 @@ var listNotificationContexts = (params) => Effect_exports.gen(function* () {
|
|
|
180402
180697
|
{
|
|
180403
180698
|
limit,
|
|
180404
180699
|
sort: {
|
|
180405
|
-
lastUpdateTimestamp:
|
|
180700
|
+
lastUpdateTimestamp: import_core32.SortingOrder.Descending
|
|
180406
180701
|
}
|
|
180407
180702
|
}
|
|
180408
180703
|
);
|
|
@@ -180471,12 +180766,12 @@ var getUnreadNotificationCount = () => Effect_exports.gen(function* () {
|
|
|
180471
180766
|
});
|
|
180472
180767
|
|
|
180473
180768
|
// src/mcp/tools/notifications.ts
|
|
180474
|
-
var
|
|
180769
|
+
var CATEGORY12 = "notifications";
|
|
180475
180770
|
var notificationTools = [
|
|
180476
180771
|
{
|
|
180477
180772
|
name: "list_notifications",
|
|
180478
180773
|
description: "List inbox notifications. Returns notifications sorted by modification date (newest first). Supports filtering by read/archived status.",
|
|
180479
|
-
category:
|
|
180774
|
+
category: CATEGORY12,
|
|
180480
180775
|
inputSchema: listNotificationsParamsJsonSchema,
|
|
180481
180776
|
handler: createToolHandler(
|
|
180482
180777
|
"list_notifications",
|
|
@@ -180487,7 +180782,7 @@ var notificationTools = [
|
|
|
180487
180782
|
{
|
|
180488
180783
|
name: "get_notification",
|
|
180489
180784
|
description: "Retrieve full details for a notification. Use this to view notification content and metadata.",
|
|
180490
|
-
category:
|
|
180785
|
+
category: CATEGORY12,
|
|
180491
180786
|
inputSchema: getNotificationParamsJsonSchema,
|
|
180492
180787
|
handler: createToolHandler(
|
|
180493
180788
|
"get_notification",
|
|
@@ -180498,7 +180793,7 @@ var notificationTools = [
|
|
|
180498
180793
|
{
|
|
180499
180794
|
name: "mark_notification_read",
|
|
180500
180795
|
description: "Mark a notification as read.",
|
|
180501
|
-
category:
|
|
180796
|
+
category: CATEGORY12,
|
|
180502
180797
|
inputSchema: markNotificationReadParamsJsonSchema,
|
|
180503
180798
|
handler: createToolHandler(
|
|
180504
180799
|
"mark_notification_read",
|
|
@@ -180509,7 +180804,7 @@ var notificationTools = [
|
|
|
180509
180804
|
{
|
|
180510
180805
|
name: "mark_all_notifications_read",
|
|
180511
180806
|
description: "Mark all unread notifications as read. Returns the count of notifications marked.",
|
|
180512
|
-
category:
|
|
180807
|
+
category: CATEGORY12,
|
|
180513
180808
|
inputSchema: emptyParamsJsonSchema,
|
|
180514
180809
|
handler: createToolHandler(
|
|
180515
180810
|
"mark_all_notifications_read",
|
|
@@ -180520,7 +180815,7 @@ var notificationTools = [
|
|
|
180520
180815
|
{
|
|
180521
180816
|
name: "archive_notification",
|
|
180522
180817
|
description: "Archive a notification. Archived notifications are hidden from the main inbox view.",
|
|
180523
|
-
category:
|
|
180818
|
+
category: CATEGORY12,
|
|
180524
180819
|
inputSchema: archiveNotificationParamsJsonSchema,
|
|
180525
180820
|
handler: createToolHandler(
|
|
180526
180821
|
"archive_notification",
|
|
@@ -180531,7 +180826,7 @@ var notificationTools = [
|
|
|
180531
180826
|
{
|
|
180532
180827
|
name: "archive_all_notifications",
|
|
180533
180828
|
description: "Archive all notifications. Returns the count of notifications archived.",
|
|
180534
|
-
category:
|
|
180829
|
+
category: CATEGORY12,
|
|
180535
180830
|
inputSchema: emptyParamsJsonSchema,
|
|
180536
180831
|
handler: createToolHandler(
|
|
180537
180832
|
"archive_all_notifications",
|
|
@@ -180542,7 +180837,7 @@ var notificationTools = [
|
|
|
180542
180837
|
{
|
|
180543
180838
|
name: "delete_notification",
|
|
180544
180839
|
description: "Permanently delete a notification. This action cannot be undone.",
|
|
180545
|
-
category:
|
|
180840
|
+
category: CATEGORY12,
|
|
180546
180841
|
inputSchema: deleteNotificationParamsJsonSchema,
|
|
180547
180842
|
handler: createToolHandler(
|
|
180548
180843
|
"delete_notification",
|
|
@@ -180553,7 +180848,7 @@ var notificationTools = [
|
|
|
180553
180848
|
{
|
|
180554
180849
|
name: "get_notification_context",
|
|
180555
180850
|
description: "Get notification context for an entity. Returns tracking information for a specific object.",
|
|
180556
|
-
category:
|
|
180851
|
+
category: CATEGORY12,
|
|
180557
180852
|
inputSchema: getNotificationContextParamsJsonSchema,
|
|
180558
180853
|
handler: createToolHandler(
|
|
180559
180854
|
"get_notification_context",
|
|
@@ -180564,7 +180859,7 @@ var notificationTools = [
|
|
|
180564
180859
|
{
|
|
180565
180860
|
name: "list_notification_contexts",
|
|
180566
180861
|
description: "List notification contexts. Returns contexts sorted by last update timestamp (newest first). Supports filtering by pinned status.",
|
|
180567
|
-
category:
|
|
180862
|
+
category: CATEGORY12,
|
|
180568
180863
|
inputSchema: listNotificationContextsParamsJsonSchema,
|
|
180569
180864
|
handler: createToolHandler(
|
|
180570
180865
|
"list_notification_contexts",
|
|
@@ -180575,7 +180870,7 @@ var notificationTools = [
|
|
|
180575
180870
|
{
|
|
180576
180871
|
name: "pin_notification_context",
|
|
180577
180872
|
description: "Pin or unpin a notification context. Pinned contexts are highlighted in the inbox.",
|
|
180578
|
-
category:
|
|
180873
|
+
category: CATEGORY12,
|
|
180579
180874
|
inputSchema: pinNotificationContextParamsJsonSchema,
|
|
180580
180875
|
handler: createToolHandler(
|
|
180581
180876
|
"pin_notification_context",
|
|
@@ -180586,7 +180881,7 @@ var notificationTools = [
|
|
|
180586
180881
|
{
|
|
180587
180882
|
name: "list_notification_settings",
|
|
180588
180883
|
description: "List notification provider settings. Returns current notification preferences.",
|
|
180589
|
-
category:
|
|
180884
|
+
category: CATEGORY12,
|
|
180590
180885
|
inputSchema: listNotificationSettingsParamsJsonSchema,
|
|
180591
180886
|
handler: createToolHandler(
|
|
180592
180887
|
"list_notification_settings",
|
|
@@ -180597,7 +180892,7 @@ var notificationTools = [
|
|
|
180597
180892
|
{
|
|
180598
180893
|
name: "update_notification_provider_setting",
|
|
180599
180894
|
description: "Update notification provider setting. Enable or disable notifications for a specific provider.",
|
|
180600
|
-
category:
|
|
180895
|
+
category: CATEGORY12,
|
|
180601
180896
|
inputSchema: updateNotificationProviderSettingParamsJsonSchema,
|
|
180602
180897
|
handler: createToolHandler(
|
|
180603
180898
|
"update_notification_provider_setting",
|
|
@@ -180608,7 +180903,7 @@ var notificationTools = [
|
|
|
180608
180903
|
{
|
|
180609
180904
|
name: "get_unread_notification_count",
|
|
180610
180905
|
description: "Get the count of unread notifications.",
|
|
180611
|
-
category:
|
|
180906
|
+
category: CATEGORY12,
|
|
180612
180907
|
inputSchema: emptyParamsJsonSchema,
|
|
180613
180908
|
handler: createToolHandler(
|
|
180614
180909
|
"get_unread_notification_count",
|
|
@@ -180619,7 +180914,7 @@ var notificationTools = [
|
|
|
180619
180914
|
];
|
|
180620
180915
|
|
|
180621
180916
|
// src/huly/operations/projects.ts
|
|
180622
|
-
var
|
|
180917
|
+
var import_core33 = __toESM(require_lib4(), 1);
|
|
180623
180918
|
var import_tracker4 = __toESM(require_lib21(), 1);
|
|
180624
180919
|
var listProjects = (params) => Effect_exports.gen(function* () {
|
|
180625
180920
|
const client = yield* HulyClient;
|
|
@@ -180634,7 +180929,7 @@ var listProjects = (params) => Effect_exports.gen(function* () {
|
|
|
180634
180929
|
{
|
|
180635
180930
|
limit,
|
|
180636
180931
|
sort: {
|
|
180637
|
-
name:
|
|
180932
|
+
name: import_core33.SortingOrder.Ascending
|
|
180638
180933
|
}
|
|
180639
180934
|
}
|
|
180640
180935
|
);
|
|
@@ -180652,12 +180947,12 @@ var listProjects = (params) => Effect_exports.gen(function* () {
|
|
|
180652
180947
|
});
|
|
180653
180948
|
|
|
180654
180949
|
// src/mcp/tools/projects.ts
|
|
180655
|
-
var
|
|
180950
|
+
var CATEGORY13 = "projects";
|
|
180656
180951
|
var projectTools = [
|
|
180657
180952
|
{
|
|
180658
180953
|
name: "list_projects",
|
|
180659
180954
|
description: "List all Huly projects. Returns projects sorted by name. Supports filtering by archived status.",
|
|
180660
|
-
category:
|
|
180955
|
+
category: CATEGORY13,
|
|
180661
180956
|
inputSchema: listProjectsParamsJsonSchema,
|
|
180662
180957
|
handler: createToolHandler(
|
|
180663
180958
|
"list_projects",
|
|
@@ -180668,7 +180963,7 @@ var projectTools = [
|
|
|
180668
180963
|
];
|
|
180669
180964
|
|
|
180670
180965
|
// src/huly/operations/search.ts
|
|
180671
|
-
var
|
|
180966
|
+
var import_core34 = __toESM(require_lib4(), 1);
|
|
180672
180967
|
var fulltextSearch = (params) => Effect_exports.gen(function* () {
|
|
180673
180968
|
const client = yield* HulyClient;
|
|
180674
180969
|
const limit = clampLimit(params.limit);
|
|
@@ -180678,7 +180973,7 @@ var fulltextSearch = (params) => Effect_exports.gen(function* () {
|
|
|
180678
180973
|
{
|
|
180679
180974
|
limit,
|
|
180680
180975
|
sort: {
|
|
180681
|
-
modifiedOn:
|
|
180976
|
+
modifiedOn: import_core34.SortingOrder.Descending
|
|
180682
180977
|
}
|
|
180683
180978
|
}
|
|
180684
180979
|
);
|
|
@@ -180697,12 +180992,12 @@ var fulltextSearch = (params) => Effect_exports.gen(function* () {
|
|
|
180697
180992
|
});
|
|
180698
180993
|
|
|
180699
180994
|
// src/mcp/tools/search.ts
|
|
180700
|
-
var
|
|
180995
|
+
var CATEGORY14 = "search";
|
|
180701
180996
|
var searchTools = [
|
|
180702
180997
|
{
|
|
180703
180998
|
name: "fulltext_search",
|
|
180704
180999
|
description: "Perform a global fulltext search across all Huly content. Searches issues, documents, messages, and other indexed content. Returns matching items sorted by relevance (newest first).",
|
|
180705
|
-
category:
|
|
181000
|
+
category: CATEGORY14,
|
|
180706
181001
|
inputSchema: fulltextSearchParamsJsonSchema,
|
|
180707
181002
|
handler: createToolHandler(
|
|
180708
181003
|
"fulltext_search",
|
|
@@ -180725,12 +181020,12 @@ var uploadFile = (params) => Effect_exports.gen(function* () {
|
|
|
180725
181020
|
});
|
|
180726
181021
|
|
|
180727
181022
|
// src/mcp/tools/storage.ts
|
|
180728
|
-
var
|
|
181023
|
+
var CATEGORY15 = "storage";
|
|
180729
181024
|
var storageTools = [
|
|
180730
181025
|
{
|
|
180731
181026
|
name: "upload_file",
|
|
180732
181027
|
description: "Upload a file to Huly storage. Provide ONE of: filePath (local file - preferred), fileUrl (fetch from URL), or data (base64 - for small files only). Returns blob ID and URL for referencing the file.",
|
|
180733
|
-
category:
|
|
181028
|
+
category: CATEGORY15,
|
|
180734
181029
|
inputSchema: uploadFileParamsJsonSchema,
|
|
180735
181030
|
handler: createStorageToolHandler(
|
|
180736
181031
|
"upload_file",
|
|
@@ -180742,7 +181037,7 @@ var storageTools = [
|
|
|
180742
181037
|
|
|
180743
181038
|
// src/huly/operations/time.ts
|
|
180744
181039
|
var import_calendar5 = __toESM(require_lib24(), 1);
|
|
180745
|
-
var
|
|
181040
|
+
var import_core35 = __toESM(require_lib4(), 1);
|
|
180746
181041
|
var import_tracker5 = __toESM(require_lib21(), 1);
|
|
180747
181042
|
var serverPopulatedCalendar = toRef("");
|
|
180748
181043
|
var serverPopulatedPersonId = "";
|
|
@@ -180752,7 +181047,7 @@ var logTime = (params) => Effect_exports.gen(function* () {
|
|
|
180752
181047
|
project: params.project,
|
|
180753
181048
|
identifier: params.identifier
|
|
180754
181049
|
});
|
|
180755
|
-
const reportId = (0,
|
|
181050
|
+
const reportId = (0, import_core35.generateId)();
|
|
180756
181051
|
const reportData = {
|
|
180757
181052
|
employee: null,
|
|
180758
181053
|
date: Date.now(),
|
|
@@ -180791,7 +181086,7 @@ var getTimeReport = (params) => Effect_exports.gen(function* () {
|
|
|
180791
181086
|
const reports = yield* client.findAll(
|
|
180792
181087
|
tracker.class.TimeSpendReport,
|
|
180793
181088
|
{ attachedTo: issue2._id },
|
|
180794
|
-
{ sort: { date:
|
|
181089
|
+
{ sort: { date: import_core35.SortingOrder.Descending } }
|
|
180795
181090
|
);
|
|
180796
181091
|
const employeeIds = [
|
|
180797
181092
|
...new Set(
|
|
@@ -180843,7 +181138,7 @@ var listTimeSpendReports = (params) => Effect_exports.gen(function* () {
|
|
|
180843
181138
|
tracker.class.TimeSpendReport,
|
|
180844
181139
|
query,
|
|
180845
181140
|
withLookup(
|
|
180846
|
-
{ limit, sort: { date:
|
|
181141
|
+
{ limit, sort: { date: import_core35.SortingOrder.Descending } },
|
|
180847
181142
|
{
|
|
180848
181143
|
attachedTo: tracker.class.Issue,
|
|
180849
181144
|
employee: contact.class.Person
|
|
@@ -180872,7 +181167,7 @@ var getDetailedTimeReport = (params) => Effect_exports.gen(function* () {
|
|
|
180872
181167
|
tracker.class.TimeSpendReport,
|
|
180873
181168
|
query,
|
|
180874
181169
|
withLookup(
|
|
180875
|
-
{ sort: { date:
|
|
181170
|
+
{ sort: { date: import_core35.SortingOrder.Descending } },
|
|
180876
181171
|
{
|
|
180877
181172
|
attachedTo: tracker.class.Issue,
|
|
180878
181173
|
employee: contact.class.Person
|
|
@@ -180948,7 +181243,7 @@ var listWorkSlots = (params) => Effect_exports.gen(function* () {
|
|
|
180948
181243
|
const slots = yield* client.findAll(
|
|
180949
181244
|
time.class.WorkSlot,
|
|
180950
181245
|
query,
|
|
180951
|
-
{ limit, sort: { date:
|
|
181246
|
+
{ limit, sort: { date: import_core35.SortingOrder.Descending } }
|
|
180952
181247
|
);
|
|
180953
181248
|
return slots.map((s) => ({
|
|
180954
181249
|
id: s._id,
|
|
@@ -180960,7 +181255,7 @@ var listWorkSlots = (params) => Effect_exports.gen(function* () {
|
|
|
180960
181255
|
});
|
|
180961
181256
|
var createWorkSlot = (params) => Effect_exports.gen(function* () {
|
|
180962
181257
|
const client = yield* HulyClient;
|
|
180963
|
-
const slotId = (0,
|
|
181258
|
+
const slotId = (0, import_core35.generateId)();
|
|
180964
181259
|
const slotData = {
|
|
180965
181260
|
date: params.date,
|
|
180966
181261
|
dueDate: params.dueDate,
|
|
@@ -181011,12 +181306,12 @@ var stopTimer = (params) => Effect_exports.gen(function* () {
|
|
|
181011
181306
|
});
|
|
181012
181307
|
|
|
181013
181308
|
// src/mcp/tools/time.ts
|
|
181014
|
-
var
|
|
181309
|
+
var CATEGORY16 = "time tracking";
|
|
181015
181310
|
var timeTools = [
|
|
181016
181311
|
{
|
|
181017
181312
|
name: "log_time",
|
|
181018
181313
|
description: "Log time spent on a Huly issue. Records a time entry with optional description. Time value is in minutes.",
|
|
181019
|
-
category:
|
|
181314
|
+
category: CATEGORY16,
|
|
181020
181315
|
inputSchema: logTimeParamsJsonSchema,
|
|
181021
181316
|
handler: createToolHandler(
|
|
181022
181317
|
"log_time",
|
|
@@ -181027,7 +181322,7 @@ var timeTools = [
|
|
|
181027
181322
|
{
|
|
181028
181323
|
name: "get_time_report",
|
|
181029
181324
|
description: "Get time tracking report for a specific Huly issue. Shows total time, estimation, remaining time, and all time entries.",
|
|
181030
|
-
category:
|
|
181325
|
+
category: CATEGORY16,
|
|
181031
181326
|
inputSchema: getTimeReportParamsJsonSchema,
|
|
181032
181327
|
handler: createToolHandler(
|
|
181033
181328
|
"get_time_report",
|
|
@@ -181038,7 +181333,7 @@ var timeTools = [
|
|
|
181038
181333
|
{
|
|
181039
181334
|
name: "list_time_spend_reports",
|
|
181040
181335
|
description: "List all time entries across issues. Supports filtering by project and date range. Returns entries sorted by date (newest first).",
|
|
181041
|
-
category:
|
|
181336
|
+
category: CATEGORY16,
|
|
181042
181337
|
inputSchema: listTimeSpendReportsParamsJsonSchema,
|
|
181043
181338
|
handler: createToolHandler(
|
|
181044
181339
|
"list_time_spend_reports",
|
|
@@ -181049,7 +181344,7 @@ var timeTools = [
|
|
|
181049
181344
|
{
|
|
181050
181345
|
name: "get_detailed_time_report",
|
|
181051
181346
|
description: "Get detailed time breakdown for a project. Shows total time grouped by issue and by employee. Supports date range filtering.",
|
|
181052
|
-
category:
|
|
181347
|
+
category: CATEGORY16,
|
|
181053
181348
|
inputSchema: getDetailedTimeReportParamsJsonSchema,
|
|
181054
181349
|
handler: createToolHandler(
|
|
181055
181350
|
"get_detailed_time_report",
|
|
@@ -181060,7 +181355,7 @@ var timeTools = [
|
|
|
181060
181355
|
{
|
|
181061
181356
|
name: "list_work_slots",
|
|
181062
181357
|
description: "List scheduled work slots. Shows planned time blocks attached to ToDos. Supports filtering by employee and date range.",
|
|
181063
|
-
category:
|
|
181358
|
+
category: CATEGORY16,
|
|
181064
181359
|
inputSchema: listWorkSlotsParamsJsonSchema,
|
|
181065
181360
|
handler: createToolHandler(
|
|
181066
181361
|
"list_work_slots",
|
|
@@ -181071,7 +181366,7 @@ var timeTools = [
|
|
|
181071
181366
|
{
|
|
181072
181367
|
name: "create_work_slot",
|
|
181073
181368
|
description: "Create a scheduled work slot. Attaches a time block to a ToDo for planning purposes.",
|
|
181074
|
-
category:
|
|
181369
|
+
category: CATEGORY16,
|
|
181075
181370
|
inputSchema: createWorkSlotParamsJsonSchema,
|
|
181076
181371
|
handler: createToolHandler(
|
|
181077
181372
|
"create_work_slot",
|
|
@@ -181082,7 +181377,7 @@ var timeTools = [
|
|
|
181082
181377
|
{
|
|
181083
181378
|
name: "start_timer",
|
|
181084
181379
|
description: "Start a client-side timer on a Huly issue. Validates the issue exists and returns a start timestamp. Use log_time to record the elapsed time when done.",
|
|
181085
|
-
category:
|
|
181380
|
+
category: CATEGORY16,
|
|
181086
181381
|
inputSchema: startTimerParamsJsonSchema,
|
|
181087
181382
|
handler: createToolHandler(
|
|
181088
181383
|
"start_timer",
|
|
@@ -181093,7 +181388,7 @@ var timeTools = [
|
|
|
181093
181388
|
{
|
|
181094
181389
|
name: "stop_timer",
|
|
181095
181390
|
description: "Stop a client-side timer on a Huly issue. Returns the stop timestamp. Calculate elapsed time from start/stop timestamps and use log_time to record it.",
|
|
181096
|
-
category:
|
|
181391
|
+
category: CATEGORY16,
|
|
181097
181392
|
inputSchema: stopTimerParamsJsonSchema,
|
|
181098
181393
|
handler: createToolHandler(
|
|
181099
181394
|
"stop_timer",
|
|
@@ -181104,15 +181399,15 @@ var timeTools = [
|
|
|
181104
181399
|
];
|
|
181105
181400
|
|
|
181106
181401
|
// src/huly/operations/workspace.ts
|
|
181107
|
-
var
|
|
181402
|
+
var import_core36 = __toESM(require_lib4(), 1);
|
|
181108
181403
|
var accountRoleMap = {
|
|
181109
|
-
READONLYGUEST:
|
|
181110
|
-
DocGuest:
|
|
181111
|
-
GUEST:
|
|
181112
|
-
USER:
|
|
181113
|
-
MAINTAINER:
|
|
181114
|
-
OWNER:
|
|
181115
|
-
ADMIN:
|
|
181404
|
+
READONLYGUEST: import_core36.AccountRole.ReadOnlyGuest,
|
|
181405
|
+
DocGuest: import_core36.AccountRole.DocGuest,
|
|
181406
|
+
GUEST: import_core36.AccountRole.Guest,
|
|
181407
|
+
USER: import_core36.AccountRole.User,
|
|
181408
|
+
MAINTAINER: import_core36.AccountRole.Maintainer,
|
|
181409
|
+
OWNER: import_core36.AccountRole.Owner,
|
|
181410
|
+
ADMIN: import_core36.AccountRole.Admin
|
|
181116
181411
|
};
|
|
181117
181412
|
var toHulyAccountRole = (role) => accountRoleMap[role];
|
|
181118
181413
|
var formatVersion = (info) => `${info.versionMajor}.${info.versionMinor}.${info.versionPatch}`;
|
|
@@ -181268,12 +181563,12 @@ var getRegions = () => Effect_exports.gen(function* () {
|
|
|
181268
181563
|
});
|
|
181269
181564
|
|
|
181270
181565
|
// src/mcp/tools/workspace.ts
|
|
181271
|
-
var
|
|
181566
|
+
var CATEGORY17 = "workspace";
|
|
181272
181567
|
var workspaceTools = [
|
|
181273
181568
|
{
|
|
181274
181569
|
name: "list_workspace_members",
|
|
181275
181570
|
description: "List members in the current Huly workspace with their roles. Returns members with account IDs and roles.",
|
|
181276
|
-
category:
|
|
181571
|
+
category: CATEGORY17,
|
|
181277
181572
|
inputSchema: listWorkspaceMembersParamsJsonSchema,
|
|
181278
181573
|
handler: createWorkspaceToolHandler(
|
|
181279
181574
|
"list_workspace_members",
|
|
@@ -181284,7 +181579,7 @@ var workspaceTools = [
|
|
|
181284
181579
|
{
|
|
181285
181580
|
name: "update_member_role",
|
|
181286
181581
|
description: "Update a workspace member's role. Requires appropriate permissions. Valid roles: READONLYGUEST, DocGuest, GUEST, USER, MAINTAINER, OWNER, ADMIN.",
|
|
181287
|
-
category:
|
|
181582
|
+
category: CATEGORY17,
|
|
181288
181583
|
inputSchema: updateMemberRoleParamsJsonSchema,
|
|
181289
181584
|
handler: createWorkspaceToolHandler(
|
|
181290
181585
|
"update_member_role",
|
|
@@ -181295,7 +181590,7 @@ var workspaceTools = [
|
|
|
181295
181590
|
{
|
|
181296
181591
|
name: "get_workspace_info",
|
|
181297
181592
|
description: "Get information about the current workspace including name, URL, region, and settings.",
|
|
181298
|
-
category:
|
|
181593
|
+
category: CATEGORY17,
|
|
181299
181594
|
inputSchema: emptyParamsJsonSchema,
|
|
181300
181595
|
handler: createNoParamsWorkspaceToolHandler(
|
|
181301
181596
|
getWorkspaceInfo
|
|
@@ -181304,7 +181599,7 @@ var workspaceTools = [
|
|
|
181304
181599
|
{
|
|
181305
181600
|
name: "list_workspaces",
|
|
181306
181601
|
description: "List all workspaces accessible to the current user. Returns workspace summaries sorted by last visit.",
|
|
181307
|
-
category:
|
|
181602
|
+
category: CATEGORY17,
|
|
181308
181603
|
inputSchema: listWorkspacesParamsJsonSchema,
|
|
181309
181604
|
handler: createWorkspaceToolHandler(
|
|
181310
181605
|
"list_workspaces",
|
|
@@ -181315,7 +181610,7 @@ var workspaceTools = [
|
|
|
181315
181610
|
{
|
|
181316
181611
|
name: "create_workspace",
|
|
181317
181612
|
description: "Create a new Huly workspace. Returns the workspace UUID and URL. Optionally specify a region.",
|
|
181318
|
-
category:
|
|
181613
|
+
category: CATEGORY17,
|
|
181319
181614
|
inputSchema: createWorkspaceParamsJsonSchema,
|
|
181320
181615
|
handler: createWorkspaceToolHandler(
|
|
181321
181616
|
"create_workspace",
|
|
@@ -181326,7 +181621,7 @@ var workspaceTools = [
|
|
|
181326
181621
|
{
|
|
181327
181622
|
name: "delete_workspace",
|
|
181328
181623
|
description: "Permanently delete the current workspace. This action cannot be undone. Use with extreme caution.",
|
|
181329
|
-
category:
|
|
181624
|
+
category: CATEGORY17,
|
|
181330
181625
|
inputSchema: emptyParamsJsonSchema,
|
|
181331
181626
|
handler: createNoParamsWorkspaceToolHandler(
|
|
181332
181627
|
deleteWorkspace
|
|
@@ -181335,7 +181630,7 @@ var workspaceTools = [
|
|
|
181335
181630
|
{
|
|
181336
181631
|
name: "get_user_profile",
|
|
181337
181632
|
description: "Get the current user's profile information including bio, location, and social links.",
|
|
181338
|
-
category:
|
|
181633
|
+
category: CATEGORY17,
|
|
181339
181634
|
inputSchema: emptyParamsJsonSchema,
|
|
181340
181635
|
handler: createNoParamsWorkspaceToolHandler(
|
|
181341
181636
|
getUserProfile
|
|
@@ -181344,7 +181639,7 @@ var workspaceTools = [
|
|
|
181344
181639
|
{
|
|
181345
181640
|
name: "update_user_profile",
|
|
181346
181641
|
description: "Update the current user's profile. Supports bio, city, country, website, social links, and public visibility.",
|
|
181347
|
-
category:
|
|
181642
|
+
category: CATEGORY17,
|
|
181348
181643
|
inputSchema: updateUserProfileParamsJsonSchema,
|
|
181349
181644
|
handler: createWorkspaceToolHandler(
|
|
181350
181645
|
"update_user_profile",
|
|
@@ -181355,7 +181650,7 @@ var workspaceTools = [
|
|
|
181355
181650
|
{
|
|
181356
181651
|
name: "update_guest_settings",
|
|
181357
181652
|
description: "Update workspace guest settings. Control read-only guest access and guest sign-up permissions.",
|
|
181358
|
-
category:
|
|
181653
|
+
category: CATEGORY17,
|
|
181359
181654
|
inputSchema: updateGuestSettingsParamsJsonSchema,
|
|
181360
181655
|
handler: createWorkspaceToolHandler(
|
|
181361
181656
|
"update_guest_settings",
|
|
@@ -181366,7 +181661,7 @@ var workspaceTools = [
|
|
|
181366
181661
|
{
|
|
181367
181662
|
name: "get_regions",
|
|
181368
181663
|
description: "Get available regions for workspace creation. Returns region codes and display names.",
|
|
181369
|
-
category:
|
|
181664
|
+
category: CATEGORY17,
|
|
181370
181665
|
inputSchema: getRegionsParamsJsonSchema,
|
|
181371
181666
|
handler: createWorkspaceToolHandler(
|
|
181372
181667
|
"get_regions",
|
|
@@ -181380,6 +181675,7 @@ var workspaceTools = [
|
|
|
181380
181675
|
var allTools = [
|
|
181381
181676
|
...projectTools,
|
|
181382
181677
|
...issueTools,
|
|
181678
|
+
...labelTools,
|
|
181383
181679
|
...commentTools,
|
|
181384
181680
|
...deletionTools,
|
|
181385
181681
|
...milestoneTools,
|