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
package/dist/tools/projects.js
CHANGED
|
@@ -3,13 +3,14 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.createProject = exports.getProject = exports.listProjects = void 0;
|
|
6
|
+
exports.updateProject = exports.createProject = exports.getProject = exports.listProjects = void 0;
|
|
7
7
|
const tracker_1 = __importDefault(require("@hcengineering/tracker"));
|
|
8
8
|
const core_1 = __importDefault(require("@hcengineering/core"));
|
|
9
9
|
const task_1 = __importDefault(require("@hcengineering/task"));
|
|
10
10
|
const core_2 = require("@hcengineering/core");
|
|
11
11
|
const connection_1 = require("../connection");
|
|
12
12
|
const errors_1 = require("../utils/errors");
|
|
13
|
+
const people_1 = require("../utils/people");
|
|
13
14
|
exports.listProjects = (0, errors_1.wrapToolHandler)(async (args) => {
|
|
14
15
|
const client = await (0, connection_1.getConnection)(args.workspace);
|
|
15
16
|
const projects = await client.findAll(tracker_1.default.class.Project, {});
|
|
@@ -55,10 +56,38 @@ exports.createProject = (0, errors_1.wrapToolHandler)(async (args) => {
|
|
|
55
56
|
defaultTimeReportDay: 'CurrentWorkDay',
|
|
56
57
|
defaultIssueStatus: undefined,
|
|
57
58
|
type: projectType._id,
|
|
58
|
-
members: [client
|
|
59
|
+
members: [await (0, people_1.currentAccountUuid)(client)],
|
|
59
60
|
archived: false,
|
|
60
61
|
private: false
|
|
61
62
|
}, projectId);
|
|
62
63
|
return `✅ Project **${args.identifier}** ("${args.name}") created successfully.\nNote: default statuses are set up automatically by the platform.`;
|
|
63
64
|
});
|
|
65
|
+
exports.updateProject = (0, errors_1.wrapToolHandler)(async (args) => {
|
|
66
|
+
const client = await (0, connection_1.getConnection)(args.workspace);
|
|
67
|
+
const project = await client.findOne(tracker_1.default.class.Project, { identifier: args.identifier });
|
|
68
|
+
if (project == null)
|
|
69
|
+
throw new Error(`Project '${args.identifier}' not found.`);
|
|
70
|
+
const updates = {};
|
|
71
|
+
if (args.name !== undefined)
|
|
72
|
+
updates.name = args.name;
|
|
73
|
+
if (args.description !== undefined)
|
|
74
|
+
updates.description = args.description;
|
|
75
|
+
if (args.defaultAssignee !== undefined) {
|
|
76
|
+
if (args.defaultAssignee === null)
|
|
77
|
+
updates.defaultAssignee = null;
|
|
78
|
+
else {
|
|
79
|
+
updates.defaultAssignee = (await (0, people_1.findPerson)(client, args.defaultAssignee))._id;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
if (args.defaultStatus !== undefined) {
|
|
83
|
+
const status = await client.findOne(tracker_1.default.class.IssueStatus, { name: args.defaultStatus });
|
|
84
|
+
if (status == null)
|
|
85
|
+
throw new Error(`Status '${args.defaultStatus}' not found.`);
|
|
86
|
+
updates.defaultIssueStatus = status._id;
|
|
87
|
+
}
|
|
88
|
+
if (Object.keys(updates).length === 0)
|
|
89
|
+
return `Nothing to update for project **${args.identifier}**.`;
|
|
90
|
+
await client.updateDoc(tracker_1.default.class.Project, project.space, project._id, updates);
|
|
91
|
+
return `✅ Project **${args.identifier}** updated (${Object.keys(updates).join(', ')}).`;
|
|
92
|
+
});
|
|
64
93
|
//# sourceMappingURL=projects.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"projects.js","sourceRoot":"","sources":["../../src/tools/projects.ts"],"names":[],"mappings":";;;;;;AAAA,qEAA4C;AAC5C,+DAAsC;AACtC,+DAAsC;AACtC,8CAA0D;AAE1D,8CAA6C;AAC7C,4CAAiD;
|
|
1
|
+
{"version":3,"file":"projects.js","sourceRoot":"","sources":["../../src/tools/projects.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
export declare const QMS: {
|
|
2
|
+
readonly Space: 'documents:class:DocumentSpace';
|
|
3
|
+
readonly Meta: 'documents:class:DocumentMeta';
|
|
4
|
+
readonly ProjectMeta: 'documents:class:ProjectMeta';
|
|
5
|
+
readonly ProjectDoc: 'documents:class:ProjectDocument';
|
|
6
|
+
readonly Doc: 'documents:class:ControlledDocument';
|
|
7
|
+
readonly Category: 'documents:class:DocumentCategory';
|
|
8
|
+
readonly ChangeControl: 'documents:class:ChangeControl';
|
|
9
|
+
readonly Request: 'documents:class:DocumentRequest';
|
|
10
|
+
readonly Template: 'documents:mixin:DocumentTemplate';
|
|
11
|
+
readonly NoProject: 'documents:ids:NoProject';
|
|
12
|
+
readonly NoParent: 'documents:ids:NoParent';
|
|
13
|
+
readonly Folder: 'documents:ids:Folder';
|
|
14
|
+
readonly Training: 'training:class:Training';
|
|
15
|
+
readonly TrainingRequest: 'training:class:TrainingRequest';
|
|
16
|
+
readonly Attempt: 'training:class:TrainingAttempt';
|
|
17
|
+
readonly Question: 'questions:class:Question';
|
|
18
|
+
};
|
|
19
|
+
export declare const listControlledDocuments: (args: {
|
|
20
|
+
workspace?: string | undefined;
|
|
21
|
+
space?: string | undefined;
|
|
22
|
+
includeTemplates?: boolean | undefined;
|
|
23
|
+
}) => Promise<{
|
|
24
|
+
content: Array<{
|
|
25
|
+
type: 'text';
|
|
26
|
+
text: string;
|
|
27
|
+
}>;
|
|
28
|
+
}>;
|
|
29
|
+
export declare const getControlledDocument: (args: {
|
|
30
|
+
workspace?: string | undefined;
|
|
31
|
+
document: string;
|
|
32
|
+
content?: boolean | undefined;
|
|
33
|
+
}) => Promise<{
|
|
34
|
+
content: Array<{
|
|
35
|
+
type: 'text';
|
|
36
|
+
text: string;
|
|
37
|
+
}>;
|
|
38
|
+
}>;
|
|
39
|
+
export declare const listTrainings: (args: {
|
|
40
|
+
workspace?: string | undefined;
|
|
41
|
+
includeArchived?: boolean | undefined;
|
|
42
|
+
}) => Promise<{
|
|
43
|
+
content: Array<{
|
|
44
|
+
type: 'text';
|
|
45
|
+
text: string;
|
|
46
|
+
}>;
|
|
47
|
+
}>;
|
|
48
|
+
export declare const getTraining: (args: {
|
|
49
|
+
workspace?: string | undefined;
|
|
50
|
+
training: string;
|
|
51
|
+
showAnswers?: boolean | undefined;
|
|
52
|
+
}) => Promise<{
|
|
53
|
+
content: Array<{
|
|
54
|
+
type: 'text';
|
|
55
|
+
text: string;
|
|
56
|
+
}>;
|
|
57
|
+
}>;
|
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getTraining = exports.listTrainings = exports.getControlledDocument = exports.listControlledDocuments = exports.QMS = void 0;
|
|
4
|
+
// Quality management (read-only): controlled documents (documents plugin — versioned, with
|
|
5
|
+
// review/approval states) and trainings (training + questions plugins).
|
|
6
|
+
const core_1 = require("@hcengineering/core");
|
|
7
|
+
const connection_1 = require("../connection");
|
|
8
|
+
const errors_1 = require("../utils/errors");
|
|
9
|
+
const format_1 = require("../utils/format");
|
|
10
|
+
const content_1 = require("../utils/content");
|
|
11
|
+
const people_1 = require("../utils/people");
|
|
12
|
+
exports.QMS = {
|
|
13
|
+
Space: 'documents:class:DocumentSpace',
|
|
14
|
+
Meta: 'documents:class:DocumentMeta',
|
|
15
|
+
ProjectMeta: 'documents:class:ProjectMeta',
|
|
16
|
+
ProjectDoc: 'documents:class:ProjectDocument',
|
|
17
|
+
Doc: 'documents:class:ControlledDocument',
|
|
18
|
+
Category: 'documents:class:DocumentCategory',
|
|
19
|
+
ChangeControl: 'documents:class:ChangeControl',
|
|
20
|
+
Request: 'documents:class:DocumentRequest',
|
|
21
|
+
Template: 'documents:mixin:DocumentTemplate',
|
|
22
|
+
NoProject: 'documents:ids:NoProject',
|
|
23
|
+
NoParent: 'documents:ids:NoParent',
|
|
24
|
+
Folder: 'documents:ids:Folder',
|
|
25
|
+
Training: 'training:class:Training',
|
|
26
|
+
TrainingRequest: 'training:class:TrainingRequest',
|
|
27
|
+
Attempt: 'training:class:TrainingAttempt',
|
|
28
|
+
Question: 'questions:class:Question'
|
|
29
|
+
};
|
|
30
|
+
const version = (d) => `v${Number(d.major ?? 0)}.${Number(d.minor ?? 0)}`;
|
|
31
|
+
const state = (d) => `${String(d.state)}${d.controlledState != null ? `/${String(d.controlledState)}` : ''}`;
|
|
32
|
+
const newest = (a, b) => (b.seqNumber - a.seqNumber) || (b.major - a.major) || (b.minor - a.minor) || (b.createdOn - a.createdOn);
|
|
33
|
+
exports.listControlledDocuments = (0, errors_1.wrapToolHandler)(async (args) => {
|
|
34
|
+
const client = await (0, connection_1.getConnection)(args.workspace);
|
|
35
|
+
const spaces = (await client.findAll(exports.QMS.Space, {})).filter((s) => s._class !== 'products:class:Product');
|
|
36
|
+
const chosen = args.space != null ? spaces.filter((s) => s._id === args.space || String(s.name).toLowerCase() === args.space.toLowerCase()) : spaces;
|
|
37
|
+
if (chosen.length === 0)
|
|
38
|
+
throw new Error(`Document space '${args.space ?? ''}' not found. Spaces: ${spaces.map((s) => s.name).join(', ') || 'none'}.`);
|
|
39
|
+
const names = await (0, people_1.peopleNames)(client);
|
|
40
|
+
const out = [];
|
|
41
|
+
for (const sp of chosen) {
|
|
42
|
+
const [metas, pms] = await Promise.all([client.findAll(exports.QMS.Meta, { space: sp._id }), client.findAll(exports.QMS.ProjectMeta, { space: sp._id, project: exports.QMS.NoProject })]);
|
|
43
|
+
const pds = pms.length > 0 ? await client.findAll(exports.QMS.ProjectDoc, { attachedTo: { $in: pms.map((p) => p._id) } }) : [];
|
|
44
|
+
const docIds = pds.map((p) => p.document).filter((d) => d !== exports.QMS.Folder);
|
|
45
|
+
const docs = docIds.length > 0 ? await client.findAll(exports.QMS.Doc, { _id: { $in: docIds } }) : [];
|
|
46
|
+
out.push(`## ${String(sp.name)} (${docs.filter((d) => d[exports.QMS.Template] == null).length} version(s))`);
|
|
47
|
+
const walk = (parent, depth) => {
|
|
48
|
+
const kids = pms.filter((p) => p.parent === parent).sort((a, b) => String(a.rank).localeCompare(String(b.rank)));
|
|
49
|
+
for (const pm of kids) {
|
|
50
|
+
const meta = metas.find((m) => m._id === pm.meta);
|
|
51
|
+
const mine = pds.filter((p) => p.attachedTo === pm._id);
|
|
52
|
+
const isFolder = mine.some((p) => p.document === exports.QMS.Folder);
|
|
53
|
+
const versions = docs.filter((d) => mine.some((p) => p.document === d._id) && (args.includeTemplates === true || d[exports.QMS.Template] == null)).sort(newest);
|
|
54
|
+
if (isFolder)
|
|
55
|
+
out.push(`${' '.repeat(depth)}- 📁 ${String(meta?.title ?? '?')}`);
|
|
56
|
+
else if (versions.length > 0) {
|
|
57
|
+
const d = versions[0];
|
|
58
|
+
out.push(`${' '.repeat(depth)}- **${String(d.code)}** ${String(d.title)} ${version(d)} — ${state(d)}${d.effectiveDate != null ? ` · effective ${(0, format_1.formatDate)(d.effectiveDate)}` : ''}${d.owner != null ? ` · owner ${names.get(d.owner) ?? '?'}` : ''}${versions.length > 1 ? ` · ${versions.length} versions` : ''}${d[exports.QMS.Template] != null ? ' · template' : ''}`);
|
|
59
|
+
}
|
|
60
|
+
walk(pm.meta, depth + 1);
|
|
61
|
+
}
|
|
62
|
+
};
|
|
63
|
+
walk(exports.QMS.NoParent, 0);
|
|
64
|
+
}
|
|
65
|
+
return out.join('\n');
|
|
66
|
+
});
|
|
67
|
+
exports.getControlledDocument = (0, errors_1.wrapToolHandler)(async (args) => {
|
|
68
|
+
const client = await (0, connection_1.getConnection)(args.workspace);
|
|
69
|
+
const ref = args.document.trim();
|
|
70
|
+
let docs = await client.findAll(exports.QMS.Doc, { code: ref.toUpperCase() });
|
|
71
|
+
if (docs.length === 0) {
|
|
72
|
+
const byId = await client.findOne(exports.QMS.Doc, { _id: ref });
|
|
73
|
+
if (byId != null)
|
|
74
|
+
docs = await client.findAll(exports.QMS.Doc, { attachedTo: byId.attachedTo });
|
|
75
|
+
}
|
|
76
|
+
if (docs.length === 0) {
|
|
77
|
+
const all = await client.findAll(exports.QMS.Doc, {});
|
|
78
|
+
const hits = all.filter((d) => String(d.title).toLowerCase() === ref.toLowerCase());
|
|
79
|
+
if (hits.length > 0)
|
|
80
|
+
docs = all.filter((d) => d.attachedTo === hits[0].attachedTo);
|
|
81
|
+
}
|
|
82
|
+
if (docs.length === 0)
|
|
83
|
+
throw new Error(`Controlled document '${args.document}' not found (use its code like SOP-12, its title or id).`);
|
|
84
|
+
docs.sort(newest);
|
|
85
|
+
const d = docs[0];
|
|
86
|
+
const names = await (0, people_1.peopleNames)(client);
|
|
87
|
+
const who = (ids) => (ids ?? []).map((i) => names.get(i) ?? '?').join(', ') || '—';
|
|
88
|
+
const [category, change, requests] = await Promise.all([
|
|
89
|
+
d.category != null ? client.findOne(exports.QMS.Category, { _id: d.category }) : undefined,
|
|
90
|
+
d.changeControl != null ? client.findOne(exports.QMS.ChangeControl, { _id: d.changeControl }) : undefined,
|
|
91
|
+
client.findAll(exports.QMS.Request, { attachedTo: d._id })
|
|
92
|
+
]);
|
|
93
|
+
const out = [
|
|
94
|
+
`## ${String(d.code)} ${String(d.title)} ${version(d)}`,
|
|
95
|
+
`**State:** ${state(d)} · **Category:** ${category != null ? `${String(category.code)} ${String(category.title)}` : '—'} · **Effective:** ${(0, format_1.formatDate)(d.effectiveDate)}${d.plannedEffectiveDate != null ? ` (planned ${(0, format_1.formatDate)(d.plannedEffectiveDate)})` : ''}`,
|
|
96
|
+
`**Author:** ${who(d.author != null ? [d.author] : [])} · **Owner:** ${who(d.owner != null ? [d.owner] : [])} · **Co-authors:** ${who(d.coAuthors)}`,
|
|
97
|
+
`**Reviewers:** ${who(d.reviewers)} · **Approvers:** ${who(d.approvers)}${d.reviewInterval != null ? ` · review every ${Number(d.reviewInterval)} months` : ''}`
|
|
98
|
+
];
|
|
99
|
+
if (d.abstract != null && d.abstract !== '')
|
|
100
|
+
out.push('', `**Abstract:** ${String(d.abstract)}`);
|
|
101
|
+
if (change != null && [change.description, change.reason, change.impact].some((x) => x != null && x !== '')) {
|
|
102
|
+
out.push('', '### Change control', `- Reason: ${(0, format_1.markupToText)(change.reason) || '—'}`, `- Description: ${(0, format_1.markupToText)(change.description) || '—'}`, `- Impact: ${(0, format_1.markupToText)(change.impact) || '—'}`);
|
|
103
|
+
}
|
|
104
|
+
if (requests.length > 0) {
|
|
105
|
+
out.push('', '### Review / approval requests');
|
|
106
|
+
for (const r of requests)
|
|
107
|
+
out.push(`- ${String(r._class).split(':').pop() ?? ''}: ${String(r.status)} · approved by ${who(r.approved)} of ${who(r.requested)}${(r.rejected ?? []).length > 0 ? ` · rejected by ${who(r.rejected)}` : ''}`);
|
|
108
|
+
}
|
|
109
|
+
if (docs.length > 1)
|
|
110
|
+
out.push('', '### Versions', ...docs.map((v) => `- ${version(v)} — ${state(v)}${v.effectiveDate != null ? ` · effective ${(0, format_1.formatDate)(v.effectiveDate)}` : ''} — \`${String(v._id)}\``));
|
|
111
|
+
if (args.content !== false) {
|
|
112
|
+
const text = await (0, content_1.readMarkup)(args.workspace, d.content);
|
|
113
|
+
out.push('', '### Content', text.trim() !== '' ? text : '_(empty)_');
|
|
114
|
+
}
|
|
115
|
+
return out.join('\n');
|
|
116
|
+
});
|
|
117
|
+
exports.listTrainings = (0, errors_1.wrapToolHandler)(async (args) => {
|
|
118
|
+
const client = await (0, connection_1.getConnection)(args.workspace);
|
|
119
|
+
const all = await client.findAll(exports.QMS.Training, {}, { sort: { revision: core_1.SortingOrder.Descending } });
|
|
120
|
+
const latest = new Map();
|
|
121
|
+
for (const t of all)
|
|
122
|
+
if (!latest.has(t.code))
|
|
123
|
+
latest.set(t.code, t);
|
|
124
|
+
const list = [...latest.values()].filter((t) => args.includeArchived === true || !['archived', 'deleted'].includes(t.state));
|
|
125
|
+
if (list.length === 0)
|
|
126
|
+
return 'No trainings.';
|
|
127
|
+
const names = await (0, people_1.peopleNames)(client);
|
|
128
|
+
const lines = list.map((t) => `- **${String(t.code)}** rev ${Number(t.revision)} — ${String(t.title)} — ${String(t.state)} · pass ${Number(t.passingScore)}% · ${Number(t.questions ?? 0)} question(s) · ${Number(t.requests ?? 0)} request(s) · owner ${names.get(t.owner) ?? '?'}`);
|
|
129
|
+
return `## Trainings (${list.length})\n\n${lines.join('\n')}`;
|
|
130
|
+
});
|
|
131
|
+
exports.getTraining = (0, errors_1.wrapToolHandler)(async (args) => {
|
|
132
|
+
const client = await (0, connection_1.getConnection)(args.workspace);
|
|
133
|
+
const all = await client.findAll(exports.QMS.Training, {}, { sort: { revision: core_1.SortingOrder.Descending } });
|
|
134
|
+
const t = all.find((x) => x._id === args.training || String(x.code).toLowerCase() === args.training.toLowerCase() || String(x.title).toLowerCase() === args.training.toLowerCase());
|
|
135
|
+
if (t == null)
|
|
136
|
+
throw new Error(`Training '${args.training}' not found (code like TR-3, title or id).`);
|
|
137
|
+
const names = await (0, people_1.peopleNames)(client);
|
|
138
|
+
const [questions, requests] = await Promise.all([
|
|
139
|
+
client.findAll(exports.QMS.Question, { attachedTo: t._id }, { sort: { rank: core_1.SortingOrder.Ascending } }),
|
|
140
|
+
client.findAll(exports.QMS.TrainingRequest, { attachedTo: t._id })
|
|
141
|
+
]);
|
|
142
|
+
const attempts = requests.length > 0 ? await client.findAll(exports.QMS.Attempt, { attachedTo: { $in: requests.map((r) => r._id) } }) : [];
|
|
143
|
+
const out = [`## ${String(t.code)} rev ${Number(t.revision)}: ${String(t.title)}`, `**State:** ${String(t.state)} · **Passing score:** ${Number(t.passingScore)}%${t.releasedOn != null ? ` · released ${(0, format_1.formatDate)(t.releasedOn)}` : ''}`];
|
|
144
|
+
const desc = (0, format_1.markupToText)(t.description).trim();
|
|
145
|
+
if (desc !== '')
|
|
146
|
+
out.push('', desc);
|
|
147
|
+
out.push('', `### Questions (${questions.length})`);
|
|
148
|
+
questions.forEach((q, i) => {
|
|
149
|
+
const kind = String(q._class).split(':').pop() ?? '';
|
|
150
|
+
const opts = (q.questionData?.options ?? []).map((o) => (0, format_1.markupToText)(o.label).trim());
|
|
151
|
+
const a = q.assessmentData ?? {};
|
|
152
|
+
const correct = new Set(a.correctIndex != null ? [a.correctIndex] : a.correctIndices ?? []);
|
|
153
|
+
out.push(`${i + 1}. ${(0, format_1.markupToText)(q.title).trim()} _(${kind})_`);
|
|
154
|
+
opts.forEach((o, j) => out.push(` - ${args.showAnswers === true && correct.has(j) ? '✅ ' : ''}${o}`));
|
|
155
|
+
if (args.showAnswers === true && a.correctOrder != null)
|
|
156
|
+
out.push(` - correct order: ${a.correctOrder.map((j) => opts[j]).join(' → ')}`);
|
|
157
|
+
});
|
|
158
|
+
if (requests.length > 0) {
|
|
159
|
+
out.push('', '### Assignments');
|
|
160
|
+
for (const r of requests) {
|
|
161
|
+
const mine = attempts.filter((x) => x.attachedTo === r._id);
|
|
162
|
+
const per = (r.trainees ?? []).map((p) => {
|
|
163
|
+
const best = mine.filter((x) => x.owner === p).sort((a, b) => Number(b.score ?? 0) - Number(a.score ?? 0))[0];
|
|
164
|
+
return `${names.get(p) ?? '?'}: ${best != null ? `${String(best.state)}${best.score != null ? ` ${Number(best.score)}%` : ''}` : 'not started'}`;
|
|
165
|
+
});
|
|
166
|
+
out.push(`- due ${(0, format_1.formatDate)(r.dueDate)}${r.canceledOn != null ? ' (canceled)' : ''} — ${per.join('; ') || 'no trainees'}`);
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
return out.join('\n');
|
|
170
|
+
});
|
|
171
|
+
//# sourceMappingURL=qms.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"qms.js","sourceRoot":"","sources":["../../src/tools/qms.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
export declare const R: {
|
|
2
|
+
readonly Vacancy: 'recruit:class:Vacancy';
|
|
3
|
+
readonly Applicant: 'recruit:class:Applicant';
|
|
4
|
+
readonly Candidate: 'recruit:mixin:Candidate';
|
|
5
|
+
readonly DefaultType: 'recruit:template:DefaultVacancy';
|
|
6
|
+
readonly Person: 'contact:class:Person';
|
|
7
|
+
readonly Contacts: 'contact:space:Contacts';
|
|
8
|
+
};
|
|
9
|
+
export declare const listVacancies: (args: {
|
|
10
|
+
workspace?: string | undefined;
|
|
11
|
+
includeArchived?: boolean | undefined;
|
|
12
|
+
}) => Promise<{
|
|
13
|
+
content: Array<{
|
|
14
|
+
type: 'text';
|
|
15
|
+
text: string;
|
|
16
|
+
}>;
|
|
17
|
+
}>;
|
|
18
|
+
export declare const createVacancy: (args: {
|
|
19
|
+
workspace: string;
|
|
20
|
+
name: string;
|
|
21
|
+
description?: string | undefined;
|
|
22
|
+
company?: string | undefined;
|
|
23
|
+
location?: string | undefined;
|
|
24
|
+
dueDate?: string | undefined;
|
|
25
|
+
}) => Promise<{
|
|
26
|
+
content: Array<{
|
|
27
|
+
type: 'text';
|
|
28
|
+
text: string;
|
|
29
|
+
}>;
|
|
30
|
+
}>;
|
|
31
|
+
export declare const updateVacancy: (args: {
|
|
32
|
+
workspace: string;
|
|
33
|
+
vacancy: string;
|
|
34
|
+
name?: string | undefined;
|
|
35
|
+
description?: string | null | undefined;
|
|
36
|
+
location?: string | null | undefined;
|
|
37
|
+
dueDate?: string | null | undefined;
|
|
38
|
+
archived?: boolean | undefined;
|
|
39
|
+
}) => Promise<{
|
|
40
|
+
content: Array<{
|
|
41
|
+
type: 'text';
|
|
42
|
+
text: string;
|
|
43
|
+
}>;
|
|
44
|
+
}>;
|
|
45
|
+
export declare const listCandidates: (args: {
|
|
46
|
+
workspace?: string | undefined;
|
|
47
|
+
query?: string | undefined;
|
|
48
|
+
limit?: number | undefined;
|
|
49
|
+
}) => Promise<{
|
|
50
|
+
content: Array<{
|
|
51
|
+
type: 'text';
|
|
52
|
+
text: string;
|
|
53
|
+
}>;
|
|
54
|
+
}>;
|
|
55
|
+
export declare const createCandidate: (args: {
|
|
56
|
+
workspace: string;
|
|
57
|
+
firstName: string;
|
|
58
|
+
lastName: string;
|
|
59
|
+
title?: string | undefined;
|
|
60
|
+
city?: string | undefined;
|
|
61
|
+
email?: string | undefined;
|
|
62
|
+
onsite?: boolean | undefined;
|
|
63
|
+
remote?: boolean | undefined;
|
|
64
|
+
}) => Promise<{
|
|
65
|
+
content: Array<{
|
|
66
|
+
type: 'text';
|
|
67
|
+
text: string;
|
|
68
|
+
}>;
|
|
69
|
+
}>;
|
|
70
|
+
export declare const listApplications: (args: {
|
|
71
|
+
workspace?: string | undefined;
|
|
72
|
+
vacancy?: string | undefined;
|
|
73
|
+
status?: string | undefined;
|
|
74
|
+
limit?: number | undefined;
|
|
75
|
+
}) => Promise<{
|
|
76
|
+
content: Array<{
|
|
77
|
+
type: 'text';
|
|
78
|
+
text: string;
|
|
79
|
+
}>;
|
|
80
|
+
}>;
|
|
81
|
+
export declare const createApplication: (args: {
|
|
82
|
+
workspace: string;
|
|
83
|
+
vacancy: string;
|
|
84
|
+
candidate: string;
|
|
85
|
+
status?: string | undefined;
|
|
86
|
+
assignee?: string | undefined;
|
|
87
|
+
}) => Promise<{
|
|
88
|
+
content: Array<{
|
|
89
|
+
type: 'text';
|
|
90
|
+
text: string;
|
|
91
|
+
}>;
|
|
92
|
+
}>;
|
|
93
|
+
export declare const updateApplication: (args: {
|
|
94
|
+
workspace: string;
|
|
95
|
+
identifier: string;
|
|
96
|
+
status?: string | undefined;
|
|
97
|
+
assignee?: string | null | undefined;
|
|
98
|
+
}) => Promise<{
|
|
99
|
+
content: Array<{
|
|
100
|
+
type: 'text';
|
|
101
|
+
text: string;
|
|
102
|
+
}>;
|
|
103
|
+
}>;
|
|
104
|
+
export declare const deleteApplication: (args: {
|
|
105
|
+
workspace: string;
|
|
106
|
+
identifier: string;
|
|
107
|
+
}) => Promise<{
|
|
108
|
+
content: Array<{
|
|
109
|
+
type: 'text';
|
|
110
|
+
text: string;
|
|
111
|
+
}>;
|
|
112
|
+
}>;
|