huly-mcp-selfhost 2.1.0 → 3.2.0
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/.env.example +39 -2
- package/README.md +462 -16
- package/dist/connection.d.ts +8 -0
- package/dist/connection.js +13 -1
- package/dist/connection.js.map +1 -1
- package/dist/env.d.ts +1 -0
- package/dist/env.js +17 -0
- package/dist/env.js.map +1 -0
- package/dist/guard.d.ts +28 -0
- package/dist/guard.js +152 -0
- package/dist/guard.js.map +1 -0
- package/dist/guides/costs.md +48 -0
- package/dist/guides/features.md +49 -0
- package/dist/guides/onboarding.md +56 -0
- package/dist/guides/workflow.md +57 -0
- package/dist/index.js +18 -1
- package/dist/index.js.map +1 -1
- package/dist/junit-cli.d.ts +8 -0
- package/dist/junit-cli.js +106 -0
- package/dist/junit-cli.js.map +1 -0
- package/dist/registry.d.ts +18 -0
- package/dist/registry.js +318 -0
- package/dist/registry.js.map +1 -0
- package/dist/resources.d.ts +12 -0
- package/dist/resources.js +212 -0
- package/dist/resources.js.map +1 -0
- package/dist/schemas.d.ts +1269 -17
- package/dist/schemas.js +890 -97
- package/dist/schemas.js.map +1 -1
- package/dist/server.d.ts +27 -1
- package/dist/server.js +197 -128
- package/dist/server.js.map +1 -1
- package/dist/tools/activity.d.ts +10 -0
- package/dist/tools/activity.js +62 -0
- package/dist/tools/activity.js.map +1 -0
- package/dist/tools/agent.d.ts +156 -0
- package/dist/tools/agent.js +523 -0
- package/dist/tools/agent.js.map +1 -0
- package/dist/tools/attachments.d.ts +4 -4
- package/dist/tools/calendar.d.ts +49 -0
- package/dist/tools/calendar.js +116 -0
- package/dist/tools/calendar.js.map +1 -0
- package/dist/tools/cards.d.ts +87 -0
- package/dist/tools/cards.js +246 -0
- package/dist/tools/cards.js.map +1 -0
- package/dist/tools/channels.d.ts +76 -7
- package/dist/tools/channels.js +86 -5
- package/dist/tools/channels.js.map +1 -1
- package/dist/tools/comments.d.ts +16 -4
- package/dist/tools/comments.js +26 -9
- package/dist/tools/comments.js.map +1 -1
- package/dist/tools/components.d.ts +5 -5
- package/dist/tools/components.js +4 -22
- package/dist/tools/components.js.map +1 -1
- package/dist/tools/contacts.d.ts +69 -0
- package/dist/tools/contacts.js +130 -0
- package/dist/tools/contacts.js.map +1 -0
- package/dist/tools/crm.d.ts +61 -0
- package/dist/tools/crm.js +117 -0
- package/dist/tools/crm.js.map +1 -0
- package/dist/tools/documents.d.ts +35 -12
- package/dist/tools/documents.js +107 -22
- package/dist/tools/documents.js.map +1 -1
- package/dist/tools/drive.d.ts +107 -0
- package/dist/tools/drive.js +277 -0
- package/dist/tools/drive.js.map +1 -0
- package/dist/tools/fields.d.ts +33 -0
- package/dist/tools/fields.js +124 -0
- package/dist/tools/fields.js.map +1 -0
- package/dist/tools/generic.d.ts +72 -0
- package/dist/tools/generic.js +242 -0
- package/dist/tools/generic.js.map +1 -0
- package/dist/tools/github.d.ts +21 -0
- package/dist/tools/github.js +80 -0
- package/dist/tools/github.js.map +1 -0
- package/dist/tools/hr.d.ts +97 -0
- package/dist/tools/hr.js +150 -0
- package/dist/tools/hr.js.map +1 -0
- package/dist/tools/inbox.d.ts +23 -0
- package/dist/tools/inbox.js +76 -0
- package/dist/tools/inbox.js.map +1 -0
- package/dist/tools/inventory.d.ts +61 -0
- package/dist/tools/inventory.js +103 -0
- package/dist/tools/inventory.js.map +1 -0
- package/dist/tools/issues.d.ts +63 -12
- package/dist/tools/issues.js +259 -48
- package/dist/tools/issues.js.map +1 -1
- package/dist/tools/labels.d.ts +52 -4
- package/dist/tools/labels.js +86 -4
- package/dist/tools/labels.js.map +1 -1
- package/dist/tools/log-time.d.ts +15 -1
- package/dist/tools/log-time.js +70 -6
- package/dist/tools/log-time.js.map +1 -1
- package/dist/tools/meetings.d.ts +30 -0
- package/dist/tools/meetings.js +78 -0
- package/dist/tools/meetings.js.map +1 -0
- package/dist/tools/members.d.ts +1 -1
- package/dist/tools/members.js +17 -1
- package/dist/tools/members.js.map +1 -1
- package/dist/tools/message-templates.d.ts +54 -0
- package/dist/tools/message-templates.js +88 -0
- package/dist/tools/message-templates.js.map +1 -0
- package/dist/tools/milestones.d.ts +9 -9
- package/dist/tools/organizations.d.ts +5 -5
- package/dist/tools/organizations.js +2 -1
- package/dist/tools/organizations.js.map +1 -1
- package/dist/tools/overview.d.ts +55 -0
- package/dist/tools/overview.js +395 -0
- package/dist/tools/overview.js.map +1 -0
- package/dist/tools/planner.d.ts +60 -0
- package/dist/tools/planner.js +145 -0
- package/dist/tools/planner.js.map +1 -0
- package/dist/tools/process.d.ts +50 -0
- package/dist/tools/process.js +137 -0
- package/dist/tools/process.js.map +1 -0
- package/dist/tools/products.d.ts +17 -0
- package/dist/tools/products.js +45 -0
- package/dist/tools/products.js.map +1 -0
- package/dist/tools/projects.d.ts +17 -4
- package/dist/tools/projects.js +31 -2
- package/dist/tools/projects.js.map +1 -1
- package/dist/tools/qms.d.ts +57 -0
- package/dist/tools/qms.js +171 -0
- package/dist/tools/qms.js.map +1 -0
- package/dist/tools/recruiting.d.ts +112 -0
- package/dist/tools/recruiting.js +203 -0
- package/dist/tools/recruiting.js.map +1 -0
- package/dist/tools/relations.d.ts +45 -3
- package/dist/tools/relations.js +128 -39
- package/dist/tools/relations.js.map +1 -1
- package/dist/tools/search.d.ts +14 -1
- package/dist/tools/search.js +29 -1
- package/dist/tools/search.js.map +1 -1
- package/dist/tools/sharing.d.ts +62 -0
- package/dist/tools/sharing.js +149 -0
- package/dist/tools/sharing.js.map +1 -0
- package/dist/tools/statuses.d.ts +3 -3
- package/dist/tools/surveys.d.ts +22 -0
- package/dist/tools/surveys.js +53 -0
- package/dist/tools/surveys.js.map +1 -0
- package/dist/tools/templates.d.ts +95 -0
- package/dist/tools/templates.js +260 -0
- package/dist/tools/templates.js.map +1 -0
- package/dist/tools/test-automation.d.ts +81 -0
- package/dist/tools/test-automation.js +225 -0
- package/dist/tools/test-automation.js.map +1 -0
- package/dist/tools/testing.d.ts +234 -0
- package/dist/tools/testing.js +401 -0
- package/dist/tools/testing.js.map +1 -0
- package/dist/tools/workspace-admin.d.ts +55 -0
- package/dist/tools/workspace-admin.js +117 -0
- package/dist/tools/workspace-admin.js.map +1 -0
- package/dist/tools/workspaces.d.ts +1 -1
- package/dist/utils/attributes.d.ts +37 -0
- package/dist/utils/attributes.js +188 -0
- package/dist/utils/attributes.js.map +1 -0
- package/dist/utils/classes.d.ts +51 -0
- package/dist/utils/classes.js +73 -0
- package/dist/utils/classes.js.map +1 -0
- package/dist/utils/content.d.ts +11 -0
- package/dist/utils/content.js +86 -0
- package/dist/utils/content.js.map +1 -0
- package/dist/utils/errors.js +1 -1
- package/dist/utils/errors.js.map +1 -1
- package/dist/utils/files.d.ts +5 -0
- package/dist/utils/files.js +50 -0
- package/dist/utils/files.js.map +1 -0
- package/dist/utils/format.d.ts +2 -0
- package/dist/utils/format.js +7 -13
- package/dist/utils/format.js.map +1 -1
- package/dist/utils/junit.d.ts +13 -0
- package/dist/utils/junit.js +81 -0
- package/dist/utils/junit.js.map +1 -0
- package/dist/utils/markdown.js +9 -4
- package/dist/utils/markdown.js.map +1 -1
- package/dist/utils/meeting.d.ts +13 -0
- package/dist/utils/meeting.js +118 -0
- package/dist/utils/meeting.js.map +1 -0
- package/dist/utils/people.d.ts +25 -0
- package/dist/utils/people.js +80 -0
- package/dist/utils/people.js.map +1 -0
- package/dist/utils/redact.d.ts +3 -0
- package/dist/utils/redact.js +26 -0
- package/dist/utils/redact.js.map +1 -0
- package/dist/utils/resolve.d.ts +17 -0
- package/dist/utils/resolve.js +54 -0
- package/dist/utils/resolve.js.map +1 -0
- package/dist/utils/spec.d.ts +10 -0
- package/dist/utils/spec.js +90 -0
- package/dist/utils/spec.js.map +1 -0
- package/dist/utils/storage.js +7 -3
- package/dist/utils/storage.js.map +1 -1
- package/dist/utils/tasks.d.ts +22 -0
- package/dist/utils/tasks.js +81 -0
- package/dist/utils/tasks.js.map +1 -0
- package/dist/watch.d.ts +62 -0
- package/dist/watch.js +405 -0
- package/dist/watch.js.map +1 -0
- package/package.json +4 -3
- package/scripts/setup.js +3 -1
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
export declare const listCollaborators: (args: {
|
|
2
|
+
workspace?: string | undefined;
|
|
3
|
+
object: string;
|
|
4
|
+
}) => Promise<{
|
|
5
|
+
content: Array<{
|
|
6
|
+
type: 'text';
|
|
7
|
+
text: string;
|
|
8
|
+
}>;
|
|
9
|
+
}>;
|
|
10
|
+
export declare const addCollaborator: (args: {
|
|
11
|
+
workspace: string;
|
|
12
|
+
object: string;
|
|
13
|
+
member?: string | undefined;
|
|
14
|
+
}) => Promise<{
|
|
15
|
+
content: Array<{
|
|
16
|
+
type: 'text';
|
|
17
|
+
text: string;
|
|
18
|
+
}>;
|
|
19
|
+
}>;
|
|
20
|
+
export declare const removeCollaborator: (args: {
|
|
21
|
+
workspace: string;
|
|
22
|
+
object: string;
|
|
23
|
+
member?: string | undefined;
|
|
24
|
+
}) => Promise<{
|
|
25
|
+
content: Array<{
|
|
26
|
+
type: 'text';
|
|
27
|
+
text: string;
|
|
28
|
+
}>;
|
|
29
|
+
}>;
|
|
30
|
+
/**
|
|
31
|
+
* Self-hosted servers often run with FRONT_URL=http://localhost:…, so the guest URL they generate
|
|
32
|
+
* only works on the server itself. Then the origin is replaced by HULY_FRONT_URL (what we connect to).
|
|
33
|
+
*/
|
|
34
|
+
export declare function reachableUrl(url: string, frontUrl?: string | undefined): string;
|
|
35
|
+
export declare const createPublicLink: (args: {
|
|
36
|
+
workspace: string;
|
|
37
|
+
object: string;
|
|
38
|
+
}) => Promise<{
|
|
39
|
+
content: Array<{
|
|
40
|
+
type: 'text';
|
|
41
|
+
text: string;
|
|
42
|
+
}>;
|
|
43
|
+
}>;
|
|
44
|
+
export declare const listPublicLinks: (args: {
|
|
45
|
+
workspace?: string | undefined;
|
|
46
|
+
object?: string | undefined;
|
|
47
|
+
limit: number;
|
|
48
|
+
}) => Promise<{
|
|
49
|
+
content: Array<{
|
|
50
|
+
type: 'text';
|
|
51
|
+
text: string;
|
|
52
|
+
}>;
|
|
53
|
+
}>;
|
|
54
|
+
export declare const revokePublicLink: (args: {
|
|
55
|
+
workspace: string;
|
|
56
|
+
linkId: string;
|
|
57
|
+
}) => Promise<{
|
|
58
|
+
content: Array<{
|
|
59
|
+
type: 'text';
|
|
60
|
+
text: string;
|
|
61
|
+
}>;
|
|
62
|
+
}>;
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.revokePublicLink = exports.listPublicLinks = exports.createPublicLink = exports.removeCollaborator = exports.addCollaborator = exports.listCollaborators = void 0;
|
|
7
|
+
exports.reachableUrl = reachableUrl;
|
|
8
|
+
// Collaborators (who follows a document and gets its notifications) and public guest links.
|
|
9
|
+
const core_1 = __importDefault(require("@hcengineering/core"));
|
|
10
|
+
const contact_1 = __importDefault(require("@hcengineering/contact"));
|
|
11
|
+
const connection_1 = require("../connection");
|
|
12
|
+
const errors_1 = require("../utils/errors");
|
|
13
|
+
const resolve_1 = require("../utils/resolve");
|
|
14
|
+
const classes_1 = require("../utils/classes");
|
|
15
|
+
const people_1 = require("../utils/people");
|
|
16
|
+
/** Account uuid → display name for all persons that have an account. */
|
|
17
|
+
async function accountNames(client) {
|
|
18
|
+
const persons = await client.findAll(contact_1.default.class.Person, {});
|
|
19
|
+
return new Map(persons.filter((p) => p.personUuid != null).map((p) => [p.personUuid, (0, people_1.formatPersonName)(p.name)]));
|
|
20
|
+
}
|
|
21
|
+
/** Account uuid of a member given by name, or of the current user when omitted. */
|
|
22
|
+
async function accountOf(client, member) {
|
|
23
|
+
const person = member == null ? await (0, people_1.currentPerson)(client) : await (0, people_1.findPerson)(client, member);
|
|
24
|
+
const doc = await client.findOne(contact_1.default.class.Person, { _id: person._id });
|
|
25
|
+
if (doc?.personUuid == null)
|
|
26
|
+
throw new Error(`${person.name} has no Huly account and cannot follow documents.`);
|
|
27
|
+
return { uuid: doc.personUuid, name: person.name };
|
|
28
|
+
}
|
|
29
|
+
exports.listCollaborators = (0, errors_1.wrapToolHandler)(async (args) => {
|
|
30
|
+
const client = await (0, connection_1.getConnection)(args.workspace);
|
|
31
|
+
const target = await (0, resolve_1.resolveObject)(client, args.object);
|
|
32
|
+
const rows = await client.findAll(classes_1.C.Collaborator, { attachedTo: target._id });
|
|
33
|
+
if (rows.length === 0)
|
|
34
|
+
return `Nobody follows ${target.label}.`;
|
|
35
|
+
const names = await accountNames(client);
|
|
36
|
+
return `## Collaborators of ${target.label} (${rows.length})\n\n${rows.map((r) => `- ${names.get(r.collaborator) ?? r.collaborator}`).join('\n')}`;
|
|
37
|
+
});
|
|
38
|
+
exports.addCollaborator = (0, errors_1.wrapToolHandler)(async (args) => {
|
|
39
|
+
const client = await (0, connection_1.getConnection)(args.workspace);
|
|
40
|
+
const target = await (0, resolve_1.resolveObject)(client, args.object);
|
|
41
|
+
const who = await accountOf(client, args.member);
|
|
42
|
+
// Huly adds collaborators itself on create/assign/mention — never add a second record.
|
|
43
|
+
const existing = await client.findOne(classes_1.C.Collaborator, { attachedTo: target._id, collaborator: who.uuid });
|
|
44
|
+
if (existing != null)
|
|
45
|
+
return `${who.name} already follows ${target.label}.`;
|
|
46
|
+
await client.addCollection(classes_1.C.Collaborator, target.space, target._id, target._class, 'collaborators', { collaborator: who.uuid });
|
|
47
|
+
return `✅ ${who.name} now follows ${target.label}.`;
|
|
48
|
+
});
|
|
49
|
+
exports.removeCollaborator = (0, errors_1.wrapToolHandler)(async (args) => {
|
|
50
|
+
const client = await (0, connection_1.getConnection)(args.workspace);
|
|
51
|
+
const target = await (0, resolve_1.resolveObject)(client, args.object);
|
|
52
|
+
const who = await accountOf(client, args.member);
|
|
53
|
+
const rows = await client.findAll(classes_1.C.Collaborator, { attachedTo: target._id, collaborator: who.uuid });
|
|
54
|
+
if (rows.length === 0)
|
|
55
|
+
return `${who.name} does not follow ${target.label}.`;
|
|
56
|
+
for (const r of rows)
|
|
57
|
+
await client.removeCollection(classes_1.C.Collaborator, r.space, r._id, r.attachedTo, r.attachedToClass, r.collection ?? 'collaborators');
|
|
58
|
+
return `✅ ${who.name} no longer follows ${target.label}.`;
|
|
59
|
+
});
|
|
60
|
+
// ── Public links ────────────────────────────────────────────────────────────
|
|
61
|
+
/**
|
|
62
|
+
* Self-hosted servers often run with FRONT_URL=http://localhost:…, so the guest URL they generate
|
|
63
|
+
* only works on the server itself. Then the origin is replaced by HULY_FRONT_URL (what we connect to).
|
|
64
|
+
*/
|
|
65
|
+
function reachableUrl(url, frontUrl = process.env.HULY_FRONT_URL) {
|
|
66
|
+
if (url === '' || frontUrl == null || frontUrl === '')
|
|
67
|
+
return url;
|
|
68
|
+
try {
|
|
69
|
+
const u = new URL(url);
|
|
70
|
+
if (!['localhost', '127.0.0.1', '0.0.0.0'].includes(u.hostname))
|
|
71
|
+
return url;
|
|
72
|
+
const f = new URL(frontUrl);
|
|
73
|
+
return `${f.origin}${u.pathname}${u.search}`;
|
|
74
|
+
}
|
|
75
|
+
catch {
|
|
76
|
+
return url;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
const sleep = async (ms) => await new Promise((resolve) => setTimeout(resolve, ms));
|
|
80
|
+
/** The server fills in the guest URL (with its token) right after the link is created. */
|
|
81
|
+
async function waitForUrl(client, id, attempts = 10) {
|
|
82
|
+
for (let i = 0; i < attempts; i++) {
|
|
83
|
+
const link = await client.findOne(classes_1.C.PublicLink, { _id: id });
|
|
84
|
+
if (link?.url != null && link.url !== '')
|
|
85
|
+
return reachableUrl(link.url);
|
|
86
|
+
await sleep(300);
|
|
87
|
+
}
|
|
88
|
+
return '';
|
|
89
|
+
}
|
|
90
|
+
/** The panel Huly opens for a class (view:mixin:ObjectPanel), as used in its object links. */
|
|
91
|
+
function panelComponent(client, _class) {
|
|
92
|
+
try {
|
|
93
|
+
const panel = client.getHierarchy().classHierarchyMixin(_class, 'view:mixin:ObjectPanel');
|
|
94
|
+
if (panel?.component != null)
|
|
95
|
+
return panel.component;
|
|
96
|
+
}
|
|
97
|
+
catch { /* no model access (tests) */ }
|
|
98
|
+
return 'view:component:EditDoc';
|
|
99
|
+
}
|
|
100
|
+
exports.createPublicLink = (0, errors_1.wrapToolHandler)(async (args) => {
|
|
101
|
+
const client = await (0, connection_1.getConnection)(args.workspace);
|
|
102
|
+
const target = await (0, resolve_1.resolveObject)(client, args.object);
|
|
103
|
+
const existing = await client.findOne(classes_1.C.PublicLink, { attachedTo: target._id });
|
|
104
|
+
if (existing != null && existing.url !== '')
|
|
105
|
+
return `Public link for ${target.label} already exists:\n${reachableUrl(existing.url)}\n\nLink id: \`${existing._id}\``;
|
|
106
|
+
// Like Huly's share dialog: a read-only view without navigation, actions or comments.
|
|
107
|
+
const component = panelComponent(client, target._class);
|
|
108
|
+
const id = existing?._id ?? await client.createDoc(classes_1.C.PublicLink, core_1.default.space.Workspace, {
|
|
109
|
+
attachedTo: target._id,
|
|
110
|
+
location: { path: [], fragment: encodeURIComponent([component, target._id, target._class, 'content'].join('|')) },
|
|
111
|
+
revokable: true,
|
|
112
|
+
restrictions: { readonly: true, disableNavigation: true, disableActions: true, disableComments: true },
|
|
113
|
+
url: ''
|
|
114
|
+
});
|
|
115
|
+
const url = await waitForUrl(client, id);
|
|
116
|
+
if (url === '')
|
|
117
|
+
return `⚠️ Link for ${target.label} created, but the server has not filled in its URL yet — run list_public_links in a moment.\n\nLink id: \`${id}\``;
|
|
118
|
+
return `✅ Public read-only link for ${target.label}:\n${url}\n\nAnyone with this link can read it. Revoke with revoke_public_link (\`${id}\`).`;
|
|
119
|
+
});
|
|
120
|
+
exports.listPublicLinks = (0, errors_1.wrapToolHandler)(async (args) => {
|
|
121
|
+
const client = await (0, connection_1.getConnection)(args.workspace);
|
|
122
|
+
const query = {};
|
|
123
|
+
if (args.object != null)
|
|
124
|
+
query.attachedTo = (await (0, resolve_1.resolveObject)(client, args.object))._id;
|
|
125
|
+
const links = await client.findAll(classes_1.C.PublicLink, query, { limit: args.limit });
|
|
126
|
+
if (links.length === 0)
|
|
127
|
+
return 'No public links.';
|
|
128
|
+
const lines = [];
|
|
129
|
+
for (const l of links) {
|
|
130
|
+
let label = String(l.attachedTo);
|
|
131
|
+
try {
|
|
132
|
+
label = (await (0, resolve_1.resolveObject)(client, String(l.attachedTo))).label;
|
|
133
|
+
}
|
|
134
|
+
catch { /* target deleted or unknown class */ }
|
|
135
|
+
lines.push(`- **${label}** — ${l.url !== '' ? reachableUrl(String(l.url)) : '_(URL pending)_'} — \`${l._id}\`${l.revokable === false ? ' (not revokable)' : ''}`);
|
|
136
|
+
}
|
|
137
|
+
return `## Public links (${links.length})\n\n${lines.join('\n')}`;
|
|
138
|
+
});
|
|
139
|
+
exports.revokePublicLink = (0, errors_1.wrapToolHandler)(async (args) => {
|
|
140
|
+
const client = await (0, connection_1.getConnection)(args.workspace);
|
|
141
|
+
const link = await client.findOne(classes_1.C.PublicLink, { _id: args.linkId });
|
|
142
|
+
if (link == null)
|
|
143
|
+
throw new Error(`Public link '${args.linkId}' not found.`);
|
|
144
|
+
if (link.revokable === false)
|
|
145
|
+
throw new Error('This link is marked as not revokable in Huly.');
|
|
146
|
+
await client.removeDoc(classes_1.C.PublicLink, link.space, link._id);
|
|
147
|
+
return `✅ Public link \`${args.linkId}\` revoked — its URL no longer works.`;
|
|
148
|
+
});
|
|
149
|
+
//# sourceMappingURL=sharing.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sharing.js","sourceRoot":"","sources":["../../src/tools/sharing.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/statuses.d.ts
CHANGED
|
@@ -2,18 +2,18 @@ export declare const listIssueStatuses: (args: {
|
|
|
2
2
|
workspace?: string | undefined;
|
|
3
3
|
}) => Promise<{
|
|
4
4
|
content: Array<{
|
|
5
|
-
type:
|
|
5
|
+
type: 'text';
|
|
6
6
|
text: string;
|
|
7
7
|
}>;
|
|
8
8
|
}>;
|
|
9
9
|
export declare const createIssueStatus: (args: {
|
|
10
10
|
workspace: string;
|
|
11
11
|
name: string;
|
|
12
|
-
category: "
|
|
12
|
+
category: "Backlog" | "Cancelled" | "Done" | "InProgress" | "Todo";
|
|
13
13
|
color?: string | undefined;
|
|
14
14
|
}) => Promise<{
|
|
15
15
|
content: Array<{
|
|
16
|
-
type:
|
|
16
|
+
type: 'text';
|
|
17
17
|
text: string;
|
|
18
18
|
}>;
|
|
19
19
|
}>;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
export declare const SV: {
|
|
2
|
+
readonly Survey: 'survey:class:Survey';
|
|
3
|
+
readonly Poll: 'survey:class:Poll';
|
|
4
|
+
};
|
|
5
|
+
export declare const listSurveys: (args: {
|
|
6
|
+
workspace?: string | undefined;
|
|
7
|
+
}) => Promise<{
|
|
8
|
+
content: Array<{
|
|
9
|
+
type: 'text';
|
|
10
|
+
text: string;
|
|
11
|
+
}>;
|
|
12
|
+
}>;
|
|
13
|
+
export declare const getSurvey: (args: {
|
|
14
|
+
workspace?: string | undefined;
|
|
15
|
+
survey: string;
|
|
16
|
+
maxTextAnswers?: number | undefined;
|
|
17
|
+
}) => Promise<{
|
|
18
|
+
content: Array<{
|
|
19
|
+
type: 'text';
|
|
20
|
+
text: string;
|
|
21
|
+
}>;
|
|
22
|
+
}>;
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getSurvey = exports.listSurveys = exports.SV = void 0;
|
|
4
|
+
// Surveys (survey plugin, read-only): question sets and their polls (filled-in copies attached to
|
|
5
|
+
// e.g. a candidate or application). A poll keeps its own copy of the questions.
|
|
6
|
+
const connection_1 = require("../connection");
|
|
7
|
+
const errors_1 = require("../utils/errors");
|
|
8
|
+
exports.SV = { Survey: 'survey:class:Survey', Poll: 'survey:class:Poll' };
|
|
9
|
+
const KIND = { string: 'free text', option: 'single choice', options: 'multiple choice' };
|
|
10
|
+
exports.listSurveys = (0, errors_1.wrapToolHandler)(async (args) => {
|
|
11
|
+
const client = await (0, connection_1.getConnection)(args.workspace);
|
|
12
|
+
const surveys = await client.findAll(exports.SV.Survey, {});
|
|
13
|
+
if (surveys.length === 0)
|
|
14
|
+
return 'No surveys (the module may be disabled).';
|
|
15
|
+
const polls = await client.findAll(exports.SV.Poll, {});
|
|
16
|
+
const lines = surveys.map((s) => {
|
|
17
|
+
const mine = polls.filter((p) => p.survey === s._id);
|
|
18
|
+
return `- **${String(s.name)}** — ${(s.questions ?? []).length} question(s) · ${mine.length} poll(s), ${mine.filter((p) => p.isCompleted === true).length} completed — \`${String(s._id)}\``;
|
|
19
|
+
});
|
|
20
|
+
return `## Surveys (${surveys.length})\n\n${lines.join('\n')}`;
|
|
21
|
+
});
|
|
22
|
+
exports.getSurvey = (0, errors_1.wrapToolHandler)(async (args) => {
|
|
23
|
+
const client = await (0, connection_1.getConnection)(args.workspace);
|
|
24
|
+
const all = await client.findAll(exports.SV.Survey, {});
|
|
25
|
+
const s = all.find((x) => x._id === args.survey || String(x.name).toLowerCase() === args.survey.trim().toLowerCase());
|
|
26
|
+
if (s == null)
|
|
27
|
+
throw new Error(`Survey '${args.survey}' not found. Surveys: ${all.map((x) => x.name).join(', ') || 'none'}.`);
|
|
28
|
+
const polls = await client.findAll(exports.SV.Poll, { survey: s._id });
|
|
29
|
+
const done = polls.filter((p) => p.isCompleted === true);
|
|
30
|
+
const out = [`## ${String(s.name)}`];
|
|
31
|
+
if (s.prompt != null && s.prompt !== '')
|
|
32
|
+
out.push(String(s.prompt));
|
|
33
|
+
out.push('', `### Questions — results from ${done.length} completed of ${polls.length} poll(s)`);
|
|
34
|
+
(s.questions ?? []).forEach((q, i) => {
|
|
35
|
+
out.push(`${i + 1}. ${String(q.name)} _(${KIND[q.kind] ?? q.kind}${q.isMandatory === true ? ', required' : ''})_`);
|
|
36
|
+
const answers = done.map((p) => (p.questions ?? [])[i]).filter((a) => a != null && a.name === q.name);
|
|
37
|
+
if (q.kind === 'string') {
|
|
38
|
+
for (const a of answers.filter((x) => x.answer != null && x.answer !== '').slice(0, args.maxTextAnswers ?? 10))
|
|
39
|
+
out.push(` - “${String(a.answer)}”`);
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
const opts = q.options ?? [];
|
|
43
|
+
opts.forEach((o, j) => {
|
|
44
|
+
const n = answers.filter((a) => (a.answers ?? []).includes(j)).length;
|
|
45
|
+
out.push(` - ${o}${done.length > 0 ? `: ${n}` : ''}`);
|
|
46
|
+
});
|
|
47
|
+
const custom = answers.filter((a) => a.answer != null && a.answer !== '');
|
|
48
|
+
if (q.hasCustomOption === true && custom.length > 0)
|
|
49
|
+
out.push(` - other: ${custom.map((a) => `“${String(a.answer)}”`).join(', ')}`);
|
|
50
|
+
});
|
|
51
|
+
return out.join('\n');
|
|
52
|
+
});
|
|
53
|
+
//# sourceMappingURL=surveys.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"surveys.js","sourceRoot":"","sources":["../../src/tools/surveys.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
export declare const listIssueTemplates: (args: {
|
|
2
|
+
workspace?: string | undefined;
|
|
3
|
+
projectIdentifier?: string | undefined;
|
|
4
|
+
}) => Promise<{
|
|
5
|
+
content: Array<{
|
|
6
|
+
type: 'text';
|
|
7
|
+
text: string;
|
|
8
|
+
}>;
|
|
9
|
+
}>;
|
|
10
|
+
export declare const getIssueTemplate: (args: {
|
|
11
|
+
workspace?: string | undefined;
|
|
12
|
+
template: string;
|
|
13
|
+
projectIdentifier?: string | undefined;
|
|
14
|
+
}) => Promise<{
|
|
15
|
+
content: Array<{
|
|
16
|
+
type: 'text';
|
|
17
|
+
text: string;
|
|
18
|
+
}>;
|
|
19
|
+
}>;
|
|
20
|
+
export declare const createIssueTemplate: (args: {
|
|
21
|
+
description?: string | undefined;
|
|
22
|
+
priority?: "High" | "Low" | "Medium" | "NoPriority" | "Urgent" | undefined;
|
|
23
|
+
assignee?: string | null | undefined;
|
|
24
|
+
componentLabel?: string | null | undefined;
|
|
25
|
+
milestoneLabel?: string | null | undefined;
|
|
26
|
+
estimation?: number | undefined;
|
|
27
|
+
labels?: string[] | undefined;
|
|
28
|
+
workspace: string;
|
|
29
|
+
projectIdentifier: string;
|
|
30
|
+
title: string;
|
|
31
|
+
children?: {
|
|
32
|
+
description?: string | undefined;
|
|
33
|
+
priority?: "High" | "Low" | "Medium" | "NoPriority" | "Urgent" | undefined;
|
|
34
|
+
assignee?: string | null | undefined;
|
|
35
|
+
componentLabel?: string | null | undefined;
|
|
36
|
+
milestoneLabel?: string | null | undefined;
|
|
37
|
+
estimation?: number | undefined;
|
|
38
|
+
labels?: string[] | undefined;
|
|
39
|
+
title: string;
|
|
40
|
+
}[] | undefined;
|
|
41
|
+
}) => Promise<{
|
|
42
|
+
content: Array<{
|
|
43
|
+
type: 'text';
|
|
44
|
+
text: string;
|
|
45
|
+
}>;
|
|
46
|
+
}>;
|
|
47
|
+
export declare const updateIssueTemplate: (args: {
|
|
48
|
+
description?: string | undefined;
|
|
49
|
+
priority?: "High" | "Low" | "Medium" | "NoPriority" | "Urgent" | undefined;
|
|
50
|
+
assignee?: string | null | undefined;
|
|
51
|
+
componentLabel?: string | null | undefined;
|
|
52
|
+
milestoneLabel?: string | null | undefined;
|
|
53
|
+
estimation?: number | undefined;
|
|
54
|
+
labels?: string[] | undefined;
|
|
55
|
+
workspace: string;
|
|
56
|
+
template: string;
|
|
57
|
+
projectIdentifier?: string | undefined;
|
|
58
|
+
title?: string | undefined;
|
|
59
|
+
children?: {
|
|
60
|
+
description?: string | undefined;
|
|
61
|
+
priority?: "High" | "Low" | "Medium" | "NoPriority" | "Urgent" | undefined;
|
|
62
|
+
assignee?: string | null | undefined;
|
|
63
|
+
componentLabel?: string | null | undefined;
|
|
64
|
+
milestoneLabel?: string | null | undefined;
|
|
65
|
+
estimation?: number | undefined;
|
|
66
|
+
labels?: string[] | undefined;
|
|
67
|
+
title: string;
|
|
68
|
+
}[] | undefined;
|
|
69
|
+
}) => Promise<{
|
|
70
|
+
content: Array<{
|
|
71
|
+
type: 'text';
|
|
72
|
+
text: string;
|
|
73
|
+
}>;
|
|
74
|
+
}>;
|
|
75
|
+
export declare const deleteIssueTemplate: (args: {
|
|
76
|
+
workspace: string;
|
|
77
|
+
template: string;
|
|
78
|
+
projectIdentifier?: string | undefined;
|
|
79
|
+
}) => Promise<{
|
|
80
|
+
content: Array<{
|
|
81
|
+
type: 'text';
|
|
82
|
+
text: string;
|
|
83
|
+
}>;
|
|
84
|
+
}>;
|
|
85
|
+
export declare const createIssueFromTemplate: (args: {
|
|
86
|
+
workspace: string;
|
|
87
|
+
template: string;
|
|
88
|
+
projectIdentifier?: string | undefined;
|
|
89
|
+
title?: string | undefined;
|
|
90
|
+
}) => Promise<{
|
|
91
|
+
content: Array<{
|
|
92
|
+
type: 'text';
|
|
93
|
+
text: string;
|
|
94
|
+
}>;
|
|
95
|
+
}>;
|