@crypto512/jicon-mcp 2.3.21 → 2.3.22
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 +31 -21
- package/TOOL_LIST.md +53 -32
- package/dist/config/constants.d.ts +0 -2
- package/dist/config/constants.d.ts.map +1 -1
- package/dist/config/constants.js +0 -2
- package/dist/config/constants.js.map +1 -1
- package/dist/config/loader.d.ts.map +1 -1
- package/dist/config/loader.js +0 -1
- package/dist/config/loader.js.map +1 -1
- package/dist/config/types.d.ts +0 -8
- package/dist/config/types.d.ts.map +1 -1
- package/dist/config/types.js +0 -2
- package/dist/config/types.js.map +1 -1
- package/dist/confluence/tools.d.ts +6 -1
- package/dist/confluence/tools.d.ts.map +1 -1
- package/dist/confluence/tools.js +48 -9
- package/dist/confluence/tools.js.map +1 -1
- package/dist/permissions/filter.js +2 -2
- package/dist/permissions/filter.js.map +1 -1
- package/dist/permissions/tool-registry.d.ts +7 -6
- package/dist/permissions/tool-registry.d.ts.map +1 -1
- package/dist/permissions/tool-registry.js +5 -5
- package/dist/permissions/tool-registry.js.map +1 -1
- package/dist/utils/buffer-tools.js +1 -1
- package/dist/utils/jicon-help.d.ts +1 -1
- package/dist/utils/jicon-help.d.ts.map +1 -1
- package/dist/utils/jicon-help.js +13 -8
- package/dist/utils/jicon-help.js.map +1 -1
- package/dist/utils/plantuml/validation-helper.d.ts +3 -1
- package/dist/utils/plantuml/validation-helper.d.ts.map +1 -1
- package/dist/utils/plantuml/validation-helper.js +12 -16
- package/dist/utils/plantuml/validation-helper.js.map +1 -1
- package/dist/utils/url-tools.d.ts +1 -1
- package/dist/utils/url-tools.js +1 -1
- package/dist/utils/whoami-tools.d.ts.map +1 -1
- package/dist/utils/whoami-tools.js +5 -23
- package/dist/utils/whoami-tools.js.map +1 -1
- package/package.json +1 -1
package/dist/utils/jicon-help.js
CHANGED
|
@@ -24,14 +24,15 @@ TOOLS: jira, confluence, tempo, buffer, workload, plantuml, url, date, help, who
|
|
|
24
24
|
| **List Epic children** | \`jira_list_epic_children(parentKey)\` ← no JQL needed |
|
|
25
25
|
| **Top issues by workload** | \`tempo_get_top_worklogs(since="last_week")\` ← **AI analysis** |
|
|
26
26
|
| **Batch-read Confluence pages** | \`confluence_get_pages(cql/parentPageId/pageIds)\` ← text content |
|
|
27
|
-
| Edit Confluence page | \`
|
|
27
|
+
| Edit Confluence page | \`confluence_load(input)\` ← accepts URL, pageId, or SPACE/Title |
|
|
28
28
|
| Create NEW page | \`buffer_create(content, contentType="xhtml")\` then \`confluence_draft_create\` |
|
|
29
29
|
| Create page with diagram | \`help(topic="plantuml")\` |
|
|
30
30
|
| XHTML syntax needed | \`help(topic="storage")\` ← **READ THIS for HTML vs XHTML** |
|
|
31
31
|
| Search Confluence | \`help(topic="cql")\` |
|
|
32
32
|
| Search Jira | \`jira_get_issue_types()\` then \`help(topic="jql")\` |
|
|
33
33
|
| Non-English Jira fields | \`jira_get_fields(search="epic")\` → use cf[ID] syntax |
|
|
34
|
-
| **Who am I
|
|
34
|
+
| **Who am I?** | \`whoami()\` → user identity (username, displayName) |
|
|
35
|
+
| **My space / personal space** | \`confluence_get_current_user_space()\` → spaceKey, homePageId (default space) |
|
|
35
36
|
| **Find user for JQL query** | \`jira_search_users(query="name")\` → get username for assignee/reporter JQL |
|
|
36
37
|
| **Issues worked on in period** | \`tempo_get_worklogs(workerKey, dateFrom, dateTo)\` ← NOT JQL created/updated |
|
|
37
38
|
| Log/get time | \`tempo_get_user_info()\` first |
|
|
@@ -48,7 +49,7 @@ TOOLS: jira, confluence, tempo, buffer, workload, plantuml, url, date, help, who
|
|
|
48
49
|
|
|
49
50
|
### Edit Confluence Page (Review Workflow)
|
|
50
51
|
\`\`\`
|
|
51
|
-
1.
|
|
52
|
+
1. confluence_load(input)
|
|
52
53
|
- Accepts: URL, pageId, "draft:ID", or "SPACE/Title"
|
|
53
54
|
→ Returns: bufferId, structure (element IDs), pageId
|
|
54
55
|
2. buffer_edit(bufferId, after=ID, content/plantuml/fromBufferId)
|
|
@@ -75,14 +76,18 @@ TOOLS: jira, confluence, tempo, buffer, workload, plantuml, url, date, help, who
|
|
|
75
76
|
- \`confluence_draft_delete(draftId)\` - Delete a draft
|
|
76
77
|
|
|
77
78
|
### Create NEW Confluence Page (Buffer-First)
|
|
79
|
+
|
|
80
|
+
**NOTE:** \`confluence_load\` is for EXISTING pages only. To create a NEW page, use this workflow:
|
|
81
|
+
|
|
78
82
|
\`\`\`
|
|
79
|
-
1.
|
|
83
|
+
1. confluence_get_current_user_space() → spaceKey (default if user doesn't specify)
|
|
84
|
+
2. buffer_create(content="<h1>Title</h1><p>Content</p>", contentType="xhtml")
|
|
80
85
|
→ Returns: bufferId, structure (element IDs)
|
|
81
|
-
|
|
86
|
+
3. buffer_validate_xhtml(bufferId)
|
|
82
87
|
→ If errors: use buffer_edit(bufferId, replace=elementId, ...) to fix
|
|
83
|
-
|
|
88
|
+
4. confluence_draft_create(spaceKey, title, bufferId)
|
|
84
89
|
→ Returns: draftId, draft URL for user review
|
|
85
|
-
|
|
90
|
+
5. User reviews and publishes via Confluence UI
|
|
86
91
|
\`\`\`
|
|
87
92
|
|
|
88
93
|
**Why buffer-first?** Enables validation and surgical error fixing with element IDs.
|
|
@@ -705,7 +710,7 @@ buffer_edit(bufferId, operations=[
|
|
|
705
710
|
When editing existing pages, you can create content in a separate buffer and merge it:
|
|
706
711
|
|
|
707
712
|
\`\`\`
|
|
708
|
-
1.
|
|
713
|
+
1. confluence_load("URL or SPACE/Title")
|
|
709
714
|
→ bufferId_A (page content), pageId
|
|
710
715
|
|
|
711
716
|
2. buffer_create({ content: "<p>New content</p>", contentType: "xhtml" })
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jicon-help.js","sourceRoot":"","sources":["../../src/utils/jicon-help.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAErE,mBAAmB;AACnB,MAAM,MAAM,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,CAAU,CAAC;AAGrF,yDAAyD;AACzD,MAAM,cAAc,GAAG
|
|
1
|
+
{"version":3,"file":"jicon-help.js","sourceRoot":"","sources":["../../src/utils/jicon-help.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,7 +4,9 @@
|
|
|
4
4
|
* Consolidates the repeated validation logic from buffer-tools.ts
|
|
5
5
|
* into a single reusable function.
|
|
6
6
|
*
|
|
7
|
-
*
|
|
7
|
+
* Uses external PlantUML server for syntax validation when available.
|
|
8
|
+
* When server is not configured, skips validation and inserts the macro
|
|
9
|
+
* anyway — Confluence renders PlantUML macros via its own plugin.
|
|
8
10
|
*/
|
|
9
11
|
import type { CallToolResult } from "@modelcontextprotocol/sdk/types.js";
|
|
10
12
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validation-helper.d.ts","sourceRoot":"","sources":["../../../src/utils/plantuml/validation-helper.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"validation-helper.d.ts","sourceRoot":"","sources":["../../../src/utils/plantuml/validation-helper.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAKzE;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,KAAK,EAAE,IAAI,CAAC;IACZ,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,KAAK,CAAC;IACb,KAAK,EAAE,cAAc,CAAC;CACvB;AAED,MAAM,MAAM,kBAAkB,GAAG,wBAAwB,GAAG,uBAAuB,CAAC;AAEpF;;;;;GAKG;AACH,wBAAsB,4BAA4B,CAChD,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,iBAAiB,GAAG,iBAAiB,EAChD,UAAU,CAAC,EAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAAE,GAC5D,OAAO,CAAC,kBAAkB,CAAC,CA2E7B"}
|
|
@@ -4,10 +4,13 @@
|
|
|
4
4
|
* Consolidates the repeated validation logic from buffer-tools.ts
|
|
5
5
|
* into a single reusable function.
|
|
6
6
|
*
|
|
7
|
-
*
|
|
7
|
+
* Uses external PlantUML server for syntax validation when available.
|
|
8
|
+
* When server is not configured, skips validation and inserts the macro
|
|
9
|
+
* anyway — Confluence renders PlantUML macros via its own plugin.
|
|
8
10
|
*/
|
|
9
11
|
import { formatError } from "../response-formatter.js";
|
|
10
12
|
import { validate as validatePlantUmlWithServer, getUnavailableReason } from "./service.js";
|
|
13
|
+
import { normalizePlantUml, detectDiagramType } from "./client.js";
|
|
11
14
|
/**
|
|
12
15
|
* Validate PlantUML code using external server validation.
|
|
13
16
|
*
|
|
@@ -20,24 +23,17 @@ export async function validatePlantUmlWithFallback(code, operation, targetInfo)
|
|
|
20
23
|
? targetInfo?.semanticPosition || targetInfo?.selector
|
|
21
24
|
: targetInfo?.selector;
|
|
22
25
|
const actionVerb = operation === "insert-plantuml" ? "insert" : "update with";
|
|
23
|
-
//
|
|
26
|
+
// When PlantUML server is not configured, skip validation and insert anyway.
|
|
27
|
+
// Confluence renders PlantUML macros via its own plugin — the server is only
|
|
28
|
+
// used for pre-insertion syntax validation.
|
|
24
29
|
const unavailableReason = getUnavailableReason();
|
|
25
30
|
if (unavailableReason) {
|
|
31
|
+
const normalizedCode = normalizePlantUml(code);
|
|
32
|
+
const diagramType = detectDiagramType(normalizedCode);
|
|
26
33
|
return {
|
|
27
|
-
valid:
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
message: `PlantUML validation unavailable: ${unavailableReason}`,
|
|
31
|
-
statusCode: 503,
|
|
32
|
-
details: {
|
|
33
|
-
operation,
|
|
34
|
-
codePreview,
|
|
35
|
-
...(operation === "insert-plantuml"
|
|
36
|
-
? { targetPosition }
|
|
37
|
-
: { targetSelector: targetInfo?.selector }),
|
|
38
|
-
hint: "PlantUML validation unavailable. Set JICON_PLANTUML_SERVER_URL environment variable to enable.",
|
|
39
|
-
},
|
|
40
|
-
}),
|
|
34
|
+
valid: true,
|
|
35
|
+
normalizedCode,
|
|
36
|
+
diagramType: diagramType !== "unknown" ? diagramType : undefined,
|
|
41
37
|
};
|
|
42
38
|
}
|
|
43
39
|
const recoverySteps = [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validation-helper.js","sourceRoot":"","sources":["../../../src/utils/plantuml/validation-helper.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"validation-helper.js","sourceRoot":"","sources":["../../../src/utils/plantuml/validation-helper.ts"],"names":[],"mappings":"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"}
|
|
@@ -36,7 +36,7 @@ export declare function buildUrl(input: string, type: InputType, config: UrlConf
|
|
|
36
36
|
};
|
|
37
37
|
/**
|
|
38
38
|
* Parse a URL to extract Jira/Confluence identifiers.
|
|
39
|
-
* Exported for internal use by
|
|
39
|
+
* Exported for internal use by confluence_load and as a standalone tool.
|
|
40
40
|
*/
|
|
41
41
|
export declare function parseUrl(url: string): ParsedUrlResult;
|
|
42
42
|
/**
|
package/dist/utils/url-tools.js
CHANGED
|
@@ -87,7 +87,7 @@ export function buildUrl(input, type, config) {
|
|
|
87
87
|
}
|
|
88
88
|
/**
|
|
89
89
|
* Parse a URL to extract Jira/Confluence identifiers.
|
|
90
|
-
* Exported for internal use by
|
|
90
|
+
* Exported for internal use by confluence_load and as a standalone tool.
|
|
91
91
|
*/
|
|
92
92
|
export function parseUrl(url) {
|
|
93
93
|
const trimmed = url.trim();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"whoami-tools.d.ts","sourceRoot":"","sources":["../../src/utils/whoami-tools.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C;;GAEG;AACH,wBAAgB,iBAAiB;;;;
|
|
1
|
+
{"version":3,"file":"whoami-tools.d.ts","sourceRoot":"","sources":["../../src/utils/whoami-tools.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C;;GAEG;AACH,wBAAgB,iBAAiB;;;;uBAeR,OAAO,CAAC,UAAU,CAAC;;EAqD3C"}
|
|
@@ -11,18 +11,17 @@ import { getSessionJiraClient, getSessionConfluenceClient, } from "../session/co
|
|
|
11
11
|
export function createWhoamiTools() {
|
|
12
12
|
return {
|
|
13
13
|
whoami: {
|
|
14
|
-
description: `Get the currently authenticated user
|
|
14
|
+
description: `Get the currently authenticated user identity.
|
|
15
15
|
|
|
16
16
|
Returns user identity from Jira and Confluence (whichever are configured).
|
|
17
|
-
For Confluence: returns personal space info (spaceKey, homePageId).
|
|
18
17
|
|
|
19
18
|
Use this tool when you need:
|
|
20
19
|
- "Who am I?" / current user identity
|
|
21
|
-
- "My space" / "my personal space" / user's Confluence space key
|
|
22
|
-
- spaceKey for creating pages in user's personal space
|
|
23
20
|
- workerKey/username for Tempo or JQL queries (assignee, reporter)
|
|
24
21
|
|
|
25
|
-
|
|
22
|
+
For personal space key: use confluence_get_current_user_space() instead.
|
|
23
|
+
|
|
24
|
+
Example: whoami() → { jira: { name, displayName }, confluence: { username, displayName } }`,
|
|
26
25
|
inputSchema: z.object({}),
|
|
27
26
|
handler: async () => {
|
|
28
27
|
const result = {};
|
|
@@ -48,28 +47,11 @@ Example: whoami() → { jira: { name, displayName }, confluence: { username, per
|
|
|
48
47
|
if (confluenceClient) {
|
|
49
48
|
try {
|
|
50
49
|
const user = await confluenceClient.getCurrentUser();
|
|
51
|
-
|
|
50
|
+
result.confluence = {
|
|
52
51
|
userKey: user.userKey,
|
|
53
52
|
username: user.username,
|
|
54
53
|
displayName: user.displayName,
|
|
55
54
|
};
|
|
56
|
-
// Also get personal space
|
|
57
|
-
try {
|
|
58
|
-
const userSpace = await confluenceClient.getCurrentUserSpace();
|
|
59
|
-
if (userSpace) {
|
|
60
|
-
confluenceInfo.personalSpace = {
|
|
61
|
-
spaceKey: userSpace.key,
|
|
62
|
-
spaceName: userSpace.name,
|
|
63
|
-
spaceType: userSpace.type,
|
|
64
|
-
homePageId: userSpace.homepage?.id,
|
|
65
|
-
homePageTitle: userSpace.homepage?.title,
|
|
66
|
-
};
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
catch {
|
|
70
|
-
// Personal space not available - that's ok
|
|
71
|
-
}
|
|
72
|
-
result.confluence = confluenceInfo;
|
|
73
55
|
}
|
|
74
56
|
catch (error) {
|
|
75
57
|
errors.push(`Confluence: ${isApiError(error) ? error.message : String(error)}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"whoami-tools.js","sourceRoot":"","sources":["../../src/utils/whoami-tools.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACjF,OAAO,EACL,oBAAoB,EACpB,0BAA0B,GAC3B,MAAM,uBAAuB,CAAC;AAG/B;;GAEG;AACH,MAAM,UAAU,iBAAiB;IAC/B,OAAO;QACL,MAAM,EAAE;YACN,WAAW,EAAE
|
|
1
|
+
{"version":3,"file":"whoami-tools.js","sourceRoot":"","sources":["../../src/utils/whoami-tools.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACjF,OAAO,EACL,oBAAoB,EACpB,0BAA0B,GAC3B,MAAM,uBAAuB,CAAC;AAG/B;;GAEG;AACH,MAAM,UAAU,iBAAiB;IAC/B,OAAO;QACL,MAAM,EAAE;YACN,WAAW,EAAE;;;;;;;;;;2FAUwE;YACrF,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;YACzB,OAAO,EAAE,KAAK,IAAyB,EAAE;gBACvC,MAAM,MAAM,GAA4B,EAAE,CAAC;gBAC3C,MAAM,MAAM,GAAa,EAAE,CAAC;gBAE5B,gBAAgB;gBAChB,MAAM,UAAU,GAAG,oBAAoB,EAAE,CAAC;gBAC1C,IAAI,UAAU,EAAE,CAAC;oBACf,IAAI,CAAC;wBACH,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,cAAc,EAAE,CAAC;wBAC/C,MAAM,CAAC,IAAI,GAAG;4BACZ,GAAG,EAAE,IAAI,CAAC,GAAG;4BACb,IAAI,EAAE,IAAI,CAAC,IAAI;4BACf,WAAW,EAAE,IAAI,CAAC,WAAW;4BAC7B,YAAY,EAAE,IAAI,CAAC,YAAY;yBAChC,CAAC;oBACJ,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,MAAM,CAAC,IAAI,CAAC,SAAS,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;oBAC5E,CAAC;gBACH,CAAC;gBAED,yCAAyC;gBACzC,MAAM,gBAAgB,GAAG,0BAA0B,EAAE,CAAC;gBACtD,IAAI,gBAAgB,EAAE,CAAC;oBACrB,IAAI,CAAC;wBACH,MAAM,IAAI,GAAG,MAAM,gBAAgB,CAAC,cAAc,EAAE,CAAC;wBACrD,MAAM,CAAC,UAAU,GAAG;4BAClB,OAAO,EAAE,IAAI,CAAC,OAAO;4BACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ;4BACvB,WAAW,EAAE,IAAI,CAAC,WAAW;yBAC9B,CAAC;oBACJ,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,MAAM,CAAC,IAAI,CAAC,eAAe,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;oBAClF,CAAC;gBACH,CAAC;gBAED,qCAAqC;gBACrC,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC5D,OAAO,WAAW,CAAC;wBACjB,KAAK,EAAE,IAAI;wBACX,OAAO,EAAE,mEAAmE;wBAC5E,UAAU,EAAE,GAAG;qBAChB,CAAC,CAAC;gBACL,CAAC;gBAED,uCAAuC;gBACvC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACtB,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC;gBACzB,CAAC;gBAED,OAAO,aAAa,CAAC,MAAM,CAAC,CAAC;YAC/B,CAAC;SACF;KACF,CAAC;AACJ,CAAC"}
|