redmine-devrelay-client 0.7.1 → 0.7.2
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.ko.md +2 -2
- package/README.md +2 -2
- package/dist/client.d.ts +6 -0
- package/dist/client.js +5 -1
- package/dist/client.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/memberships.d.ts +14 -0
- package/dist/memberships.js +52 -0
- package/dist/memberships.js.map +1 -1
- package/dist/textile.js +15 -2
- package/dist/textile.js.map +1 -1
- package/dist/types.d.ts +5 -0
- package/package.json +1 -1
package/README.ko.md
CHANGED
|
@@ -4,12 +4,12 @@
|
|
|
4
4
|
|
|
5
5
|
[redmine-devrelay](https://www.npmjs.com/package/redmine-devrelay) MCP 서버가 사용하는 Redmine REST 클라이언트입니다.
|
|
6
6
|
|
|
7
|
-
- **버전:** `0.7.
|
|
7
|
+
- **버전:** `0.7.1` (MCP 서버와 맞춤)
|
|
8
8
|
- **GitHub:** https://github.com/HuijungYoon/devrelay
|
|
9
9
|
- **MCP 서버:** [redmine-devrelay](https://www.npmjs.com/package/redmine-devrelay)
|
|
10
10
|
|
|
11
11
|
```bash
|
|
12
|
-
npm install redmine-devrelay-client@0.7.
|
|
12
|
+
npm install redmine-devrelay-client@0.7.1
|
|
13
13
|
```
|
|
14
14
|
|
|
15
15
|
## 지원 기능
|
package/README.md
CHANGED
|
@@ -4,12 +4,12 @@
|
|
|
4
4
|
|
|
5
5
|
Redmine REST client used by the [redmine-devrelay](https://www.npmjs.com/package/redmine-devrelay) MCP server.
|
|
6
6
|
|
|
7
|
-
- **Version:** `0.7.
|
|
7
|
+
- **Version:** `0.7.1` (aligned with the MCP server)
|
|
8
8
|
- **GitHub:** https://github.com/HuijungYoon/devrelay
|
|
9
9
|
- **MCP server:** [redmine-devrelay](https://www.npmjs.com/package/redmine-devrelay)
|
|
10
10
|
|
|
11
11
|
```bash
|
|
12
|
-
npm install redmine-devrelay-client@0.7.
|
|
12
|
+
npm install redmine-devrelay-client@0.7.1
|
|
13
13
|
```
|
|
14
14
|
|
|
15
15
|
## Features
|
package/dist/client.d.ts
CHANGED
|
@@ -22,6 +22,12 @@ export declare class RedmineClient {
|
|
|
22
22
|
query?: string;
|
|
23
23
|
limit?: number;
|
|
24
24
|
}): Promise<ListProjectMembersResult>;
|
|
25
|
+
/** 담당자·일감관리자 후보. 멤버 목록이 403이면 최근 이슈에서 추립니다. */
|
|
26
|
+
listProjectPeople(opts: {
|
|
27
|
+
projectId: number;
|
|
28
|
+
query?: string;
|
|
29
|
+
limit?: number;
|
|
30
|
+
}): Promise<ListProjectMembersResult>;
|
|
25
31
|
getIssue(issueId: number, opts?: {
|
|
26
32
|
include?: IssueInclude[];
|
|
27
33
|
}): Promise<NormalizedIssueDetail>;
|
package/dist/client.js
CHANGED
|
@@ -3,7 +3,7 @@ import { RedmineHttp } from "./http.js";
|
|
|
3
3
|
import { getIssue, searchIssues } from "./issues.js";
|
|
4
4
|
import { listIssueCategories, listIssuePriorities, listIssueStatuses, listProjectVersions, listTrackers, } from "./metadata.js";
|
|
5
5
|
import { addIssueRelation, getIssueRelation, listIssueRelations, removeIssueRelation, replaceIssueRelation, } from "./relations.js";
|
|
6
|
-
import { listProjectMembers } from "./memberships.js";
|
|
6
|
+
import { listProjectMembers, listProjectPeople } from "./memberships.js";
|
|
7
7
|
import { searchUsers } from "./users.js";
|
|
8
8
|
import { inspectAttachments, uploadAttachments, uploadFile, } from "./attachments.js";
|
|
9
9
|
import { addComment, addIssueAttachments, createIssue, updateIssue, updateIssueStatus, } from "./writes.js";
|
|
@@ -81,6 +81,10 @@ export class RedmineClient {
|
|
|
81
81
|
listProjectMembers(opts) {
|
|
82
82
|
return listProjectMembers(this.http, this.config, opts);
|
|
83
83
|
}
|
|
84
|
+
/** 담당자·일감관리자 후보. 멤버 목록이 403이면 최근 이슈에서 추립니다. */
|
|
85
|
+
listProjectPeople(opts) {
|
|
86
|
+
return listProjectPeople(this.http, this.config, opts);
|
|
87
|
+
}
|
|
84
88
|
getIssue(issueId, opts = {}) {
|
|
85
89
|
return getIssue(this.http, issueId, opts);
|
|
86
90
|
}
|
package/dist/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAkCxC,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,iBAAiB,EACjB,mBAAmB,EACnB,YAAY,GACb,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,kBAAkB,EAClB,mBAAmB,EACnB,oBAAoB,GACrB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -7,7 +7,7 @@ export { buildIssueQuery } from "./issues.js";
|
|
|
7
7
|
export { addComment, addIssueAttachments, createIssue, updateIssue, updateIssueStatus, } from "./writes.js";
|
|
8
8
|
export { addIssueRelation, getIssueRelation, listIssueRelations, removeIssueRelation, replaceIssueRelation, } from "./relations.js";
|
|
9
9
|
export { searchUsers, normalizeListedUser } from "./users.js";
|
|
10
|
-
export { listProjectMembers, matchMemberByName } from "./memberships.js";
|
|
10
|
+
export { listProjectMembers, listProjectPeople, matchMemberByName, } from "./memberships.js";
|
|
11
11
|
export { listIssueCategories, listIssuePriorities, listIssueStatuses, listProjectVersions, listTrackers, matchNamedByName, } from "./metadata.js";
|
|
12
12
|
export { inspectAttachments, uploadAttachments, uploadFile, } from "./attachments.js";
|
|
13
13
|
export { ATTACHMENT_MAX_BYTES, ATTACHMENT_MAX_FILES, DELAY_RELATION_TYPES, ISSUE_RELATION_TYPES, } from "./types.js";
|
package/dist/index.js
CHANGED
|
@@ -7,7 +7,7 @@ export { buildIssueQuery } from "./issues.js";
|
|
|
7
7
|
export { addComment, addIssueAttachments, createIssue, updateIssue, updateIssueStatus, } from "./writes.js";
|
|
8
8
|
export { addIssueRelation, getIssueRelation, listIssueRelations, removeIssueRelation, replaceIssueRelation, } from "./relations.js";
|
|
9
9
|
export { searchUsers, normalizeListedUser } from "./users.js";
|
|
10
|
-
export { listProjectMembers, matchMemberByName } from "./memberships.js";
|
|
10
|
+
export { listProjectMembers, listProjectPeople, matchMemberByName, } from "./memberships.js";
|
|
11
11
|
export { listIssueCategories, listIssuePriorities, listIssueStatuses, listProjectVersions, listTrackers, matchNamedByName, } from "./metadata.js";
|
|
12
12
|
export { inspectAttachments, uploadAttachments, uploadFile, } from "./attachments.js";
|
|
13
13
|
export { ATTACHMENT_MAX_BYTES, ATTACHMENT_MAX_FILES, DELAY_RELATION_TYPES, ISSUE_RELATION_TYPES, } from "./types.js";
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACrB,UAAU,GAEX,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,YAAY,EAAyB,MAAM,aAAa,CAAC;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,WAAW,EAA2B,MAAM,WAAW,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EACL,UAAU,EACV,mBAAmB,EACnB,WAAW,EACX,WAAW,EACX,iBAAiB,GAClB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,kBAAkB,EAClB,mBAAmB,EACnB,oBAAoB,GACrB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAC9D,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACrB,UAAU,GAEX,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,YAAY,EAAyB,MAAM,aAAa,CAAC;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,WAAW,EAA2B,MAAM,WAAW,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EACL,UAAU,EACV,mBAAmB,EACnB,WAAW,EACX,WAAW,EACX,iBAAiB,GAClB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,kBAAkB,EAClB,mBAAmB,EACnB,oBAAoB,GACrB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAC9D,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,iBAAiB,EACjB,mBAAmB,EACnB,YAAY,EACZ,gBAAgB,GACjB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,UAAU,GACX,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EACrB,2BAA2B,GAC5B,MAAM,cAAc,CAAC"}
|
package/dist/memberships.d.ts
CHANGED
|
@@ -7,3 +7,17 @@ export declare function listProjectMembers(http: RedmineHttp, config: RedmineCon
|
|
|
7
7
|
limit?: number;
|
|
8
8
|
}): Promise<ListProjectMembersResult>;
|
|
9
9
|
export declare function matchMemberByName(members: RedmineUser[], name: string): RedmineUser[];
|
|
10
|
+
/**
|
|
11
|
+
* 담당자·일감관리자 후보. 이 Redmine처럼 멤버 목록(그리고 전체 사용자 검색)이
|
|
12
|
+
* 403인 인스턴스도 있어서, 막히면 최근 이슈의 담당자에서 후보를 추립니다.
|
|
13
|
+
* 읽을 수 있는 것만 쓰므로 권한이 좁은 계정에서도 이름 해석이 동작합니다.
|
|
14
|
+
*
|
|
15
|
+
* 한계: 이슈의 assigned_to는 사용자와 그룹을 구분해 주지 않습니다. 그룹 할당을
|
|
16
|
+
* 허용한 인스턴스라면 그룹이 후보에 섞일 수 있고, 그 id를 watcher로 넣으면
|
|
17
|
+
* Redmine이 거부합니다 (watcher는 사용자만). source가 issues면 사용자에게 확인하세요.
|
|
18
|
+
*/
|
|
19
|
+
export declare function listProjectPeople(http: RedmineHttp, config: RedmineConfig, opts: {
|
|
20
|
+
projectId: number;
|
|
21
|
+
query?: string;
|
|
22
|
+
limit?: number;
|
|
23
|
+
}): Promise<ListProjectMembersResult>;
|
package/dist/memberships.js
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { RedmineError } from "./errors.js";
|
|
2
|
+
import { searchIssues } from "./issues.js";
|
|
1
3
|
function compact(s) {
|
|
2
4
|
return s.toLowerCase().replace(/\s+/g, "");
|
|
3
5
|
}
|
|
@@ -43,4 +45,54 @@ export function matchMemberByName(members, name) {
|
|
|
43
45
|
return exact;
|
|
44
46
|
return members.filter((u) => compact(u.name).includes(q));
|
|
45
47
|
}
|
|
48
|
+
/**
|
|
49
|
+
* 담당자·일감관리자 후보. 이 Redmine처럼 멤버 목록(그리고 전체 사용자 검색)이
|
|
50
|
+
* 403인 인스턴스도 있어서, 막히면 최근 이슈의 담당자에서 후보를 추립니다.
|
|
51
|
+
* 읽을 수 있는 것만 쓰므로 권한이 좁은 계정에서도 이름 해석이 동작합니다.
|
|
52
|
+
*
|
|
53
|
+
* 한계: 이슈의 assigned_to는 사용자와 그룹을 구분해 주지 않습니다. 그룹 할당을
|
|
54
|
+
* 허용한 인스턴스라면 그룹이 후보에 섞일 수 있고, 그 id를 watcher로 넣으면
|
|
55
|
+
* Redmine이 거부합니다 (watcher는 사용자만). source가 issues면 사용자에게 확인하세요.
|
|
56
|
+
*/
|
|
57
|
+
export async function listProjectPeople(http, config, opts) {
|
|
58
|
+
try {
|
|
59
|
+
const result = await listProjectMembers(http, config, opts);
|
|
60
|
+
return { ...result, source: "memberships" };
|
|
61
|
+
}
|
|
62
|
+
catch (err) {
|
|
63
|
+
if (!(err instanceof RedmineError) ||
|
|
64
|
+
err.code !== "REDMINE_PERMISSION_DENIED") {
|
|
65
|
+
throw err;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
const { issues } = await searchIssues(http, config, {
|
|
69
|
+
projectId: opts.projectId,
|
|
70
|
+
status: "all",
|
|
71
|
+
limit: 100,
|
|
72
|
+
});
|
|
73
|
+
const byId = new Map();
|
|
74
|
+
for (const issue of issues) {
|
|
75
|
+
if (!issue.assignedTo)
|
|
76
|
+
continue;
|
|
77
|
+
byId.set(issue.assignedTo.id, {
|
|
78
|
+
id: issue.assignedTo.id,
|
|
79
|
+
login: String(issue.assignedTo.id),
|
|
80
|
+
name: issue.assignedTo.name,
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
let people = [...byId.values()];
|
|
84
|
+
if (opts.query?.trim()) {
|
|
85
|
+
const q = compact(opts.query);
|
|
86
|
+
people = people.filter((u) => compact(u.name).includes(q));
|
|
87
|
+
}
|
|
88
|
+
if (opts.limit)
|
|
89
|
+
people = people.slice(0, opts.limit);
|
|
90
|
+
return {
|
|
91
|
+
projectId: opts.projectId,
|
|
92
|
+
members: people,
|
|
93
|
+
totalCount: byId.size,
|
|
94
|
+
returnedCount: people.length,
|
|
95
|
+
source: "issues",
|
|
96
|
+
};
|
|
97
|
+
}
|
|
46
98
|
//# sourceMappingURL=memberships.js.map
|
package/dist/memberships.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memberships.js","sourceRoot":"","sources":["../src/memberships.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"memberships.js","sourceRoot":"","sources":["../src/memberships.ts"],"names":[],"mappings":"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"}
|
package/dist/textile.js
CHANGED
|
@@ -42,8 +42,15 @@ export function detectNotesMarkup(notes) {
|
|
|
42
42
|
}
|
|
43
43
|
return [...found];
|
|
44
44
|
}
|
|
45
|
+
/**
|
|
46
|
+
* Tags Redmine renders in issue bodies (its sanitizer allowlist). Matching any
|
|
47
|
+
* "<word>" instead made plain text such as "List<String>" skip both the <p>
|
|
48
|
+
* wrapping and the escaping, which rendered the whole body as one blob.
|
|
49
|
+
*/
|
|
50
|
+
const HTML_TAGS = "blockquote|figcaption|colgroup|details|section|article|summary|caption|figure|header|footer|strong|thead|tbody|tfoot|small|table|aside|abbr|cite|code|samp|kbd|mark|span|main|nav|time|dfn|del|ins|sup|sub|div|pre|big|var|img|col|h[1-6]|ul|ol|li|dl|dt|dd|tr|td|th|hr|br|em|tt|wbr|p|a|b|i|u|s|q";
|
|
51
|
+
const HTML_TAG = new RegExp("<" + "\\/?(?:" + HTML_TAGS + ")(?:\\s[^<>]*)?\\/?>", "i");
|
|
45
52
|
function looksLikeHtml(text) {
|
|
46
|
-
return
|
|
53
|
+
return HTML_TAG.test(text.trim());
|
|
47
54
|
}
|
|
48
55
|
function escapeHtml(text) {
|
|
49
56
|
return text
|
|
@@ -62,9 +69,15 @@ export function formatNotesForRedmine(notes) {
|
|
|
62
69
|
.split("\n")
|
|
63
70
|
.map((line) => {
|
|
64
71
|
const trimmedEnd = line.replace(/\s+$/u, "");
|
|
72
|
+
// Already terminated — leave it exactly as the caller wrote it.
|
|
65
73
|
if (/<br\s*\/?>\s*$/i.test(trimmedEnd))
|
|
66
74
|
return trimmedEnd;
|
|
67
|
-
|
|
75
|
+
// A line carrying its own markup keeps it; only plain lines are escaped,
|
|
76
|
+
// because notes land in an HTML body where "if (a < b)" would be eaten.
|
|
77
|
+
const body = looksLikeHtml(trimmedEnd)
|
|
78
|
+
? trimmedEnd
|
|
79
|
+
: escapeHtml(trimmedEnd);
|
|
80
|
+
return `${body}<br />`;
|
|
68
81
|
})
|
|
69
82
|
.join("\n");
|
|
70
83
|
}
|
package/dist/textile.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"textile.js","sourceRoot":"","sources":["../src/textile.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"textile.js","sourceRoot":"","sources":["../src/textile.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -278,6 +278,11 @@ export type ListProjectMembersResult = {
|
|
|
278
278
|
members: RedmineUser[];
|
|
279
279
|
totalCount: number;
|
|
280
280
|
returnedCount: number;
|
|
281
|
+
/**
|
|
282
|
+
* Where the names came from: the memberships API, or — when that is
|
|
283
|
+
* forbidden — the assignees of recent issues in the project.
|
|
284
|
+
*/
|
|
285
|
+
source?: "memberships" | "issues";
|
|
281
286
|
};
|
|
282
287
|
export type CreateIssueResult = {
|
|
283
288
|
id: number;
|
package/package.json
CHANGED