@crypto512/jicon-mcp 1.2.0 → 1.3.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.
@@ -2,7 +2,7 @@
2
2
  * Tempo MCP Tools
3
3
  */
4
4
  import { z } from "zod";
5
- import { formatSuccess, formatError, isApiError, formatConflictError, } from "../utils/response-formatter.js";
5
+ import { formatSuccess, formatSuccessBuffered, formatError, isApiError, formatConflictError, } from "../utils/response-formatter.js";
6
6
  import { contentBuffer } from "../utils/content-buffer.js";
7
7
  import { formatWorklogSearchMetadata } from "./formatters.js";
8
8
  import { formatTimeSpent } from "../utils/time-formatter.js";
@@ -11,6 +11,8 @@ export function createTempoTools(client) {
11
11
  tempo_get_worklogs: {
12
12
  description: `Get Tempo worklogs with filters.
13
13
 
14
+ Returns bufferId. Use buffer_get_chunk to read, buffer_grep to search.
15
+
14
16
  TIP: Call tempo_get_user_info first to get workerKey for user-specific results.
15
17
 
16
18
  WARNING: No workerKey = returns ALL worklogs (slow!).`,
@@ -33,9 +35,22 @@ WARNING: No workerKey = returns ALL worklogs (slow!).`,
33
35
  handler: async (args) => {
34
36
  try {
35
37
  const result = await client.getWorklogs(args.dateFrom, args.dateTo, args.projectKey, args.issueKey, args.workerKey);
36
- return formatSuccess({
38
+ const titleParts = ["Worklogs"];
39
+ if (args.dateFrom || args.dateTo) {
40
+ titleParts.push(`${args.dateFrom || "..."} to ${args.dateTo || "..."}`);
41
+ }
42
+ if (args.workerKey)
43
+ titleParts.push(`(${args.workerKey})`);
44
+ if (args.projectKey)
45
+ titleParts.push(`[${args.projectKey}]`);
46
+ if (args.issueKey)
47
+ titleParts.push(`[${args.issueKey}]`);
48
+ return formatSuccessBuffered({
37
49
  ...formatWorklogSearchMetadata(result),
38
50
  worklogs: result.results,
51
+ }, {
52
+ resourceType: "tempo_worklogs",
53
+ title: titleParts.join(" "),
39
54
  });
40
55
  }
41
56
  catch (error) {
@@ -44,18 +59,21 @@ WARNING: No workerKey = returns ALL worklogs (slow!).`,
44
59
  },
45
60
  },
46
61
  tempo_get_worklog: {
47
- description: "Get detailed information about a specific worklog entry",
62
+ description: `Get detailed information about a specific worklog entry.
63
+
64
+ Returns bufferId. Use buffer_get_chunk to read, buffer_grep to search.`,
48
65
  inputSchema: z.object({
49
66
  worklogId: z.number().describe("Tempo worklog ID"),
50
67
  }),
51
68
  handler: async (args) => {
52
69
  try {
53
70
  const result = await client.getWorklog(args.worklogId);
54
- // Pass resource metadata for buffer tracking and invalidation
55
- return formatSuccess(result, {
71
+ const issueKey = result.issue?.key || "";
72
+ return formatSuccessBuffered(result, {
56
73
  resourceType: "tempo_worklog",
74
+ title: issueKey ? `${issueKey} worklog #${args.worklogId}` : `Worklog #${args.worklogId}`,
57
75
  resourceId: String(args.worklogId),
58
- issueKey: result.issue?.key,
76
+ issueKey,
59
77
  });
60
78
  }
61
79
  catch (error) {
@@ -183,13 +201,17 @@ Time format: hours as decimal (1.5 = 1h 30m), date as YYYY-MM-DD.`,
183
201
  },
184
202
  },
185
203
  tempo_get_accounts: {
186
- description: `Get all Tempo accounts. Accounts track work against customers, projects, or cost centers.`,
204
+ description: `Get all Tempo accounts. Accounts track work against customers, projects, or cost centers.
205
+
206
+ Returns bufferId. Use buffer_get_chunk to read, buffer_grep to search.`,
187
207
  inputSchema: z.object({}),
188
208
  handler: async () => {
189
209
  try {
190
210
  const result = await client.getAccounts();
191
- // Use formatSuccess for automatic buffering of large responses
192
- return formatSuccess(result);
211
+ return formatSuccessBuffered(result, {
212
+ resourceType: "tempo_accounts",
213
+ title: "All Tempo Accounts",
214
+ });
193
215
  }
194
216
  catch (error) {
195
217
  return formatError(isApiError(error) ? error : new Error(String(error)));
@@ -197,15 +219,20 @@ Time format: hours as decimal (1.5 = 1h 30m), date as YYYY-MM-DD.`,
197
219
  },
198
220
  },
199
221
  tempo_get_account: {
200
- description: "Get detailed information about a Tempo account",
222
+ description: `Get detailed information about a Tempo account.
223
+
224
+ Returns bufferId. Use buffer_get_chunk to read, buffer_grep to search.`,
201
225
  inputSchema: z.object({
202
226
  accountKey: z.string().describe("Account key"),
203
227
  }),
204
228
  handler: async (args) => {
205
229
  try {
206
230
  const result = await client.getAccount(args.accountKey);
207
- // Use formatSuccess for automatic buffering of large responses
208
- return formatSuccess(result);
231
+ return formatSuccessBuffered(result, {
232
+ resourceType: "tempo_account",
233
+ title: result.name || args.accountKey,
234
+ accountKey: args.accountKey,
235
+ });
209
236
  }
210
237
  catch (error) {
211
238
  return formatError(isApiError(error) ? error : new Error(String(error)));
@@ -213,13 +240,17 @@ Time format: hours as decimal (1.5 = 1h 30m), date as YYYY-MM-DD.`,
213
240
  },
214
241
  },
215
242
  tempo_get_teams: {
216
- description: `Get all Tempo teams. Teams organize users and track capacity/workload.`,
243
+ description: `Get all Tempo teams. Teams organize users and track capacity/workload.
244
+
245
+ Returns bufferId. Use buffer_get_chunk to read, buffer_grep to search.`,
217
246
  inputSchema: z.object({}),
218
247
  handler: async () => {
219
248
  try {
220
249
  const result = await client.getTeams();
221
- // Use formatSuccess for automatic buffering of large responses
222
- return formatSuccess(result);
250
+ return formatSuccessBuffered(result, {
251
+ resourceType: "tempo_teams",
252
+ title: "All Tempo Teams",
253
+ });
223
254
  }
224
255
  catch (error) {
225
256
  return formatError(isApiError(error) ? error : new Error(String(error)));
@@ -227,15 +258,20 @@ Time format: hours as decimal (1.5 = 1h 30m), date as YYYY-MM-DD.`,
227
258
  },
228
259
  },
229
260
  tempo_get_team: {
230
- description: "Get detailed information about a Tempo team",
261
+ description: `Get detailed information about a Tempo team.
262
+
263
+ Returns bufferId. Use buffer_get_chunk to read, buffer_grep to search.`,
231
264
  inputSchema: z.object({
232
265
  teamId: z.number().describe("Team ID"),
233
266
  }),
234
267
  handler: async (args) => {
235
268
  try {
236
269
  const result = await client.getTeam(args.teamId);
237
- // Use formatSuccess for automatic buffering of large responses
238
- return formatSuccess(result);
270
+ return formatSuccessBuffered(result, {
271
+ resourceType: "tempo_team",
272
+ title: result.name || `Team #${args.teamId}`,
273
+ teamId: args.teamId,
274
+ });
239
275
  }
240
276
  catch (error) {
241
277
  return formatError(isApiError(error) ? error : new Error(String(error)));
@@ -243,7 +279,9 @@ Time format: hours as decimal (1.5 = 1h 30m), date as YYYY-MM-DD.`,
243
279
  },
244
280
  },
245
281
  tempo_get_team_worklogs: {
246
- description: `Get all worklogs for a team within a date range. Large responses are buffered.`,
282
+ description: `Get all worklogs for a team within a date range.
283
+
284
+ Returns bufferId. Use buffer_get_chunk to read, buffer_grep to search.`,
247
285
  inputSchema: z.object({
248
286
  teamId: z.number().describe("Team ID"),
249
287
  dateFrom: z.string().describe("Start date (YYYY-MM-DD)"),
@@ -252,9 +290,13 @@ Time format: hours as decimal (1.5 = 1h 30m), date as YYYY-MM-DD.`,
252
290
  handler: async (args) => {
253
291
  try {
254
292
  const result = await client.getTeamWorklogs(args.teamId, args.dateFrom, args.dateTo);
255
- return formatSuccess({
293
+ return formatSuccessBuffered({
256
294
  ...formatWorklogSearchMetadata(result),
257
295
  worklogs: result.results,
296
+ }, {
297
+ resourceType: "tempo_team_worklogs",
298
+ title: `Team #${args.teamId} worklogs ${args.dateFrom} to ${args.dateTo}`,
299
+ teamId: args.teamId,
258
300
  });
259
301
  }
260
302
  catch (error) {
@@ -282,7 +324,9 @@ Time format: hours as decimal (1.5 = 1h 30m), date as YYYY-MM-DD.`,
282
324
  },
283
325
  },
284
326
  tempo_get_epic_worklogs: {
285
- description: `Get all worklogs for an Epic and its child issues in one API call. More efficient than jira_get_total_worklogs for Tempo instances. Large responses are buffered.`,
327
+ description: `Get all worklogs for an Epic and its child issues in one API call. More efficient than jira_get_total_worklogs for Tempo instances.
328
+
329
+ Returns bufferId. Use buffer_get_chunk to read, buffer_grep to search.`,
286
330
  inputSchema: z.object({
287
331
  epicKey: z.string().describe("Epic issue key (e.g., PROJ-100)"),
288
332
  dateFrom: z.string().optional().describe("Start date filter (YYYY-MM-DD)"),
@@ -314,7 +358,11 @@ Time format: hours as decimal (1.5 = 1h 30m), date as YYYY-MM-DD.`,
314
358
  ...item,
315
359
  timeSpent: formatTimeSpent(item.timeSpentSeconds),
316
360
  }));
317
- return formatSuccess({
361
+ const titleParts = [args.epicKey, "epic worklogs"];
362
+ if (args.dateFrom || args.dateTo) {
363
+ titleParts.push(`${args.dateFrom || "..."} to ${args.dateTo || "..."}`);
364
+ }
365
+ return formatSuccessBuffered({
318
366
  epicKey: args.epicKey,
319
367
  totalTimeSpentSeconds,
320
368
  totalTimeSpent: formatTimeSpent(totalTimeSpentSeconds),
@@ -322,6 +370,10 @@ Time format: hours as decimal (1.5 = 1h 30m), date as YYYY-MM-DD.`,
322
370
  issueCount: breakdown.length,
323
371
  breakdown,
324
372
  worklogs: result.results,
373
+ }, {
374
+ resourceType: "tempo_epic_worklogs",
375
+ title: titleParts.join(" "),
376
+ epicKey: args.epicKey,
325
377
  });
326
378
  }
327
379
  catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/tempo/tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/tempo/tools.ts"],"names":[],"mappings":"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"}
@@ -8,7 +8,7 @@ import { z } from "zod";
8
8
  import type { CallToolResult } from "@modelcontextprotocol/sdk/types.js";
9
9
  declare const TOPICS: readonly ["jql", "cql", "storage", "plantuml", "buffers"];
10
10
  type Topic = (typeof TOPICS)[number];
11
- declare const WORKFLOW_GUIDE = "# Jicon Quick Reference\n\n## Decision Tree - Which Topic?\n\n| Task | First Step |\n|------|------------|\n| Edit Confluence page | `confluence_edit(input)` \u2190 accepts URL, pageId, or SPACE/Title |\n| Create NEW page | `confluence_draft_create(spaceKey, title, content)` |\n| Create page with diagram | `help(topic=\"plantuml\")` |\n| XHTML syntax needed | `help(topic=\"storage\")` |\n| Search Confluence | `help(topic=\"cql\")` |\n| Search Jira | `jira_get_issue_types()` then `help(topic=\"jql\")` |\n| Log/get time | `tempo_get_user_info()` first |\n\n---\n\n## Core Workflows\n\n### Edit Confluence Page (Review Workflow)\n```\n1. confluence_edit(input)\n - Accepts: URL, pageId, \"draft:ID\", or \"SPACE/Title\"\n \u2192 Returns: bufferId, structure (element IDs), pageId\n2. buffer_edit(bufferId, after=ID, content/plantuml/fromBufferId)\n \u2192 Use content=\"<p>text</p>\" for XHTML\n \u2192 Use plantuml=\"@startuml...\" for diagrams\n \u2192 Use fromBufferId=\"buf_xxx\" to merge another buffer\n3. confluence_draft_create(pageId=..., bufferId=...)\n \u2192 Creates \"[jicon-mcp REVIEW] Title\" draft linked to original\n \u2192 Returns: reviewDraftId, draft URL for user review\n4. User reviews in Confluence UI (can share draft with team)\n5. confluence_review_publish(reviewDraftId) \u2192 applies changes to original\n OR confluence_review_discard(reviewDraftId) \u2192 cancels without changes\n6. For more edits: confluence_edit(same URL or \"SPACE/Title\")\n```\n\n**Review Workflow Tools:**\n- `confluence_review_publish(reviewDraftId)` - Apply changes to original page\n- `confluence_review_discard(reviewDraftId)` - Discard without changes\n- `confluence_review_list()` - Find all review drafts for cleanup\n\n### Create NEW Confluence Page\n```\n1. confluence_draft_create(spaceKey, title, content)\n \u2192 Returns: draftId, bufferId, draft URL\n2. User reviews and publishes via Confluence UI\n3. For edits after publish: confluence_edit(\"SPACE/Title\")\n```\n\n### Insert PlantUML Diagram\n```\n1. plantuml_validate(code=\"@startuml...\") \u2190 Validate FIRST\n2. buffer_edit(bufferId, after=ID, plantuml=\"@startuml...\")\n \u2192 Auto-wraps in Confluence macro\n```\n**Multiple diagrams?** See `help(topic=\"plantuml\")` for direct macro embedding (fewer tool calls).\n\n### Search\n```\nConfluence: confluence_search_content(cql=\"space=KEY AND text~\\\"term\\\"\")\nJira: jira_search_issues(jql=\"project=KEY AND type=Bug\")\n```\n\n### Tempo Time\n```\ntempo_get_user_info() \u2192 workerKey\ntempo_get_worklogs(dateFrom, dateTo, workerKey=workerKey)\ntempo_log_work(issueKey, hours, date)\n```\n\n---\n\n## Element ID System (Key Concept)\n\nEvery XHTML element gets a stable ID. Use IDs for precise positioning:\n\n```\nstructure: [{id:1, type:\"h1\"}, {id:2, type:\"p\"}, {id:3, type:\"ul\"}]\n\nbuffer_edit(bufferId, after=1, content=\"<p>New</p>\") \u2192 Insert after h1\nbuffer_edit(bufferId, replace=2, content=\"<p>Updated</p>\") \u2192 Replace p\nbuffer_edit(bufferId, remove=3) \u2192 Delete ul\nbuffer_edit(bufferId, append=true, plantuml=\"@startuml...\") \u2192 Add at end\n```\n\n**IDs are STABLE** - never change when content is inserted/deleted.\nSee `help(topic=\"buffers\")` for full details.\n";
11
+ declare const WORKFLOW_GUIDE = "# Jicon Quick Reference\n\n## Decision Tree - Which Topic?\n\n| Task | First Step |\n|------|------------|\n| Edit Confluence page | `confluence_edit(input)` \u2190 accepts URL, pageId, or SPACE/Title |\n| Create NEW page | `buffer_create(content, contentType=\"xhtml\")` then `confluence_draft_create` |\n| Create page with diagram | `help(topic=\"plantuml\")` |\n| XHTML syntax needed | `help(topic=\"storage\")` \u2190 **READ THIS for HTML vs XHTML** |\n| Search Confluence | `help(topic=\"cql\")` |\n| Search Jira | `jira_get_issue_types()` then `help(topic=\"jql\")` |\n| Log/get time | `tempo_get_user_info()` first |\n\n---\n\n## Core Workflows\n\n### Edit Confluence Page (Review Workflow)\n```\n1. confluence_edit(input)\n - Accepts: URL, pageId, \"draft:ID\", or \"SPACE/Title\"\n \u2192 Returns: bufferId, structure (element IDs), pageId\n2. buffer_edit(bufferId, after=ID, content/plantuml/fromBufferId)\n \u2192 Use content=\"<p>text</p>\" for XHTML (use <br/> not <br>!)\n \u2192 Use plantuml=\"@startuml...\" for diagrams\n \u2192 Use fromBufferId=\"buf_xxx\" to merge another buffer\n3. buffer_validate_xhtml(bufferId) \u2192 check for errors before saving\n4. confluence_draft_create(pageId=..., bufferId=...)\n \u2192 Creates \"[jicon-mcp REVIEW] Title\" draft linked to original\n \u2192 Returns: reviewDraftId, draft URL for user review\n5. User reviews in Confluence UI (can share draft with team)\n6. confluence_review_publish(reviewDraftId) \u2192 applies changes to original\n OR confluence_review_discard(reviewDraftId) \u2192 cancels without changes\n```\n\n**Review Workflow Tools:**\n- `confluence_review_publish(reviewDraftId)` - Apply changes to original page\n- `confluence_review_discard(reviewDraftId)` - Discard without changes\n- `confluence_review_list()` - Find all review drafts for cleanup\n\n### Create NEW Confluence Page (Buffer-First)\n```\n1. buffer_create(content=\"<h1>Title</h1><p>Content</p>\", contentType=\"xhtml\")\n \u2192 Returns: bufferId, structure (element IDs)\n2. buffer_validate_xhtml(bufferId)\n \u2192 If errors: use buffer_edit(bufferId, replace=elementId, ...) to fix\n3. confluence_draft_create(spaceKey, title, bufferId)\n \u2192 Returns: draftId, draft URL for user review\n4. User reviews and publishes via Confluence UI\n```\n\n**Why buffer-first?** Enables validation and surgical error fixing with element IDs.\n\n### Insert PlantUML Diagram\n```\n1. plantuml_validate(code=\"@startuml...\") \u2190 Validate FIRST\n2. buffer_edit(bufferId, after=ID, plantuml=\"@startuml...\")\n \u2192 Auto-wraps in Confluence macro\n```\n**Multiple diagrams?** See `help(topic=\"plantuml\")` for direct macro embedding (fewer tool calls).\n\n### Search\n```\nConfluence: confluence_search_content(cql=\"space=KEY AND text~\\\"term\\\"\")\nJira: jira_search_issues(jql=\"project=KEY AND type=Bug\")\n```\n\n### Tempo Time\n```\ntempo_get_user_info() \u2192 workerKey\ntempo_get_worklogs(dateFrom, dateTo, workerKey=workerKey)\ntempo_log_work(issueKey, hours, date)\n```\n\n---\n\n## Element ID System (Key Concept)\n\nEvery XHTML element gets a stable ID. Use IDs for precise positioning:\n\n```\nstructure: [{id:1, type:\"h1\"}, {id:2, type:\"p\"}, {id:3, type:\"ul\"}]\n\nbuffer_edit(bufferId, after=1, content=\"<p>New</p>\") \u2192 Insert after h1\nbuffer_edit(bufferId, replace=2, content=\"<p>Updated</p>\") \u2192 Replace p\nbuffer_edit(bufferId, remove=3) \u2192 Delete ul\nbuffer_edit(bufferId, append=true, plantuml=\"@startuml...\") \u2192 Add at end\n```\n\n**IDs are STABLE** - never change when content is inserted/deleted.\nSee `help(topic=\"buffers\")` for full details.\n";
12
12
  export declare function createJiconHelpTools(): {
13
13
  help: {
14
14
  description: string;
@@ -1 +1 @@
1
- {"version":3,"file":"jicon-help.d.ts","sourceRoot":"","sources":["../../src/utils/jicon-help.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAKzE,QAAA,MAAM,MAAM,2DAA4D,CAAC;AACzE,KAAK,KAAK,GAAG,CAAC,OAAO,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC;AAGrC,QAAA,MAAM,cAAc,8sGAuFnB,CAAC;AA4fF,wBAAgB,oBAAoB;;;;;;;;;;wBA2BR;YAAE,KAAK,CAAC,EAAE,KAAK,CAAA;SAAE,KAAG,OAAO,CAAC,cAAc,CAAC;;EA2BtE;AAGD,eAAO,MAAM,gBAAgB,mBAAoB,CAAC;AAGlD,OAAO,EAAE,cAAc,EAAE,CAAC"}
1
+ {"version":3,"file":"jicon-help.d.ts","sourceRoot":"","sources":["../../src/utils/jicon-help.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAKzE,QAAA,MAAM,MAAM,2DAA4D,CAAC;AACzE,KAAK,KAAK,GAAG,CAAC,OAAO,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC;AAGrC,QAAA,MAAM,cAAc,2lHA4FnB,CAAC;AA4gBF,wBAAgB,oBAAoB;;;;;;;;;;wBA2BR;YAAE,KAAK,CAAC,EAAE,KAAK,CAAA;SAAE,KAAG,OAAO,CAAC,cAAc,CAAC;;EA2BtE;AAGD,eAAO,MAAM,gBAAgB,mBAAoB,CAAC;AAGlD,OAAO,EAAE,cAAc,EAAE,CAAC"}
@@ -17,9 +17,9 @@ const WORKFLOW_GUIDE = `# Jicon Quick Reference
17
17
  | Task | First Step |
18
18
  |------|------------|
19
19
  | Edit Confluence page | \`confluence_edit(input)\` ← accepts URL, pageId, or SPACE/Title |
20
- | Create NEW page | \`confluence_draft_create(spaceKey, title, content)\` |
20
+ | Create NEW page | \`buffer_create(content, contentType="xhtml")\` then \`confluence_draft_create\` |
21
21
  | Create page with diagram | \`help(topic="plantuml")\` |
22
- | XHTML syntax needed | \`help(topic="storage")\` |
22
+ | XHTML syntax needed | \`help(topic="storage")\` ← **READ THIS for HTML vs XHTML** |
23
23
  | Search Confluence | \`help(topic="cql")\` |
24
24
  | Search Jira | \`jira_get_issue_types()\` then \`help(topic="jql")\` |
25
25
  | Log/get time | \`tempo_get_user_info()\` first |
@@ -34,16 +34,16 @@ const WORKFLOW_GUIDE = `# Jicon Quick Reference
34
34
  - Accepts: URL, pageId, "draft:ID", or "SPACE/Title"
35
35
  → Returns: bufferId, structure (element IDs), pageId
36
36
  2. buffer_edit(bufferId, after=ID, content/plantuml/fromBufferId)
37
- → Use content="<p>text</p>" for XHTML
37
+ → Use content="<p>text</p>" for XHTML (use <br/> not <br>!)
38
38
  → Use plantuml="@startuml..." for diagrams
39
39
  → Use fromBufferId="buf_xxx" to merge another buffer
40
- 3. confluence_draft_create(pageId=..., bufferId=...)
40
+ 3. buffer_validate_xhtml(bufferId) → check for errors before saving
41
+ 4. confluence_draft_create(pageId=..., bufferId=...)
41
42
  → Creates "[jicon-mcp REVIEW] Title" draft linked to original
42
43
  → Returns: reviewDraftId, draft URL for user review
43
- 4. User reviews in Confluence UI (can share draft with team)
44
- 5. confluence_review_publish(reviewDraftId) → applies changes to original
44
+ 5. User reviews in Confluence UI (can share draft with team)
45
+ 6. confluence_review_publish(reviewDraftId) → applies changes to original
45
46
  OR confluence_review_discard(reviewDraftId) → cancels without changes
46
- 6. For more edits: confluence_edit(same URL or "SPACE/Title")
47
47
  \`\`\`
48
48
 
49
49
  **Review Workflow Tools:**
@@ -51,14 +51,19 @@ const WORKFLOW_GUIDE = `# Jicon Quick Reference
51
51
  - \`confluence_review_discard(reviewDraftId)\` - Discard without changes
52
52
  - \`confluence_review_list()\` - Find all review drafts for cleanup
53
53
 
54
- ### Create NEW Confluence Page
54
+ ### Create NEW Confluence Page (Buffer-First)
55
55
  \`\`\`
56
- 1. confluence_draft_create(spaceKey, title, content)
57
- → Returns: draftId, bufferId, draft URL
58
- 2. User reviews and publishes via Confluence UI
59
- 3. For edits after publish: confluence_edit("SPACE/Title")
56
+ 1. buffer_create(content="<h1>Title</h1><p>Content</p>", contentType="xhtml")
57
+ → Returns: bufferId, structure (element IDs)
58
+ 2. buffer_validate_xhtml(bufferId)
59
+ If errors: use buffer_edit(bufferId, replace=elementId, ...) to fix
60
+ 3. confluence_draft_create(spaceKey, title, bufferId)
61
+ → Returns: draftId, draft URL for user review
62
+ 4. User reviews and publishes via Confluence UI
60
63
  \`\`\`
61
64
 
65
+ **Why buffer-first?** Enables validation and surgical error fixing with element IDs.
66
+
62
67
  ### Insert PlantUML Diagram
63
68
  \`\`\`
64
69
  1. plantuml_validate(code="@startuml...") ← Validate FIRST
@@ -143,7 +148,8 @@ const JQL_HELP = `# JQL Syntax Guide
143
148
  - Date functions: startOfDay(), startOfWeek(), startOfMonth(), now()
144
149
  - Relative dates: startOfDay(-7) = 7 days ago
145
150
  - Always quote field values that contain spaces
146
- - Issue type names may be localized (e.g., "Epopee" instead of "Epic")`;
151
+ - Issue type names may be localized (e.g., "Epopee" instead of "Epic")
152
+ - Results are always buffered - use buffer_get_chunk to read, buffer_grep to search`;
147
153
  // CQL syntax guide
148
154
  const CQL_HELP = `# CQL Syntax Guide
149
155
 
@@ -196,25 +202,48 @@ OK: (text~"term1" OR text~"term2") - Each term needs its own text~ operator
196
202
  - Use space KEY (e.g., 'DOCS') not space name (e.g., 'Documentation')
197
203
  - Date functions: now(), startOfDay(), startOfWeek(), startOfMonth()
198
204
  - Relative dates: now("-7d") = 7 days ago
199
- - Results are auto-fetched (up to 5000) and buffered for large responses`;
205
+ - Results are always buffered - use buffer_get_chunk to read, buffer_grep to search`;
200
206
  // Confluence storage format (XHTML syntax only)
201
207
  const STORAGE_FORMAT_HELP = `# Confluence Storage Format (XHTML)
202
208
 
203
- All tags must be closed (XML rules). For editing workflow, see \`help(topic="buffers")\`.
209
+ Confluence uses **XHTML** (strict XML), NOT loose HTML5. This matters!
204
210
 
205
- ## CRITICAL: CDATA Usage
211
+ ## CRITICAL: HTML vs XHTML Differences
206
212
 
207
- **NEVER wrap content in \`<![CDATA[...]]>\`**
213
+ | HTML (loose) | XHTML (strict) | Why |
214
+ |--------------|----------------|-----|
215
+ | \`<br>\` | \`<br/>\` | Self-closing required |
216
+ | \`<hr>\` | \`<hr/>\` | Self-closing required |
217
+ | \`<img src="x">\` | \`<img src="x"/>\` | Self-closing required |
218
+ | \`<p>text\` | \`<p>text</p>\` | All tags must close |
219
+ | \`<li>item\` | \`<li>item</li>\` | All tags must close |
220
+ | \`&\` in URLs | \`&amp;\` | Must escape special chars |
221
+ | \`<LI>\` | \`<li>\` | Tags are lowercase |
208
222
 
209
- CDATA is ONLY used inside \`<ac:plain-text-body>\` elements (code blocks, PlantUML):
210
- \`\`\`xml
211
- <!-- CORRECT: CDATA inside ac:plain-text-body -->
212
- <ac:structured-macro ac:name="code">
213
- <ac:plain-text-body><![CDATA[code here]]></ac:plain-text-body>
214
- </ac:structured-macro>
223
+ ## Common Mistakes to AVOID
224
+
225
+ | Wrong | Correct | Error |
226
+ |----------|-----------|-------|
227
+ | \`<br>\` | \`<br/>\` | Parser expects \`</br>\` |
228
+ | \`li>item</li>\` | \`<li>item</li>\` | Missing \`<\` before tag |
229
+ | \`h2. Title\` | \`<h2>Title</h2>\` | Wiki syntax not allowed |
230
+ | \`**bold**\` | \`<strong>bold</strong>\` | Markdown not allowed |
231
+ | \`<![CDATA[<p>...</p>]]>\` | \`<p>...</p>\` | CDATA only in macros |
232
+
233
+ ## Workflow: Buffer-First Approach
215
234
 
216
- <!-- WRONG: CDATA wrapping content -->
217
- <![CDATA[<h1>Title</h1>]]>
235
+ \`\`\`
236
+ 1. buffer_create(content="<h1>Title</h1><p>Text</p>", contentType="xhtml")
237
+ → bufferId, structure (element IDs)
238
+
239
+ 2. buffer_validate_xhtml(bufferId)
240
+ → If errors: shows elementId to fix
241
+
242
+ 3. buffer_edit(bufferId, replace=elementId, content="<p>Fixed</p>")
243
+ → Surgical fix using element ID
244
+
245
+ 4. confluence_draft_create(spaceKey, title, bufferId)
246
+ → Creates draft for user review
218
247
  \`\`\`
219
248
 
220
249
  ## Basic Elements
@@ -222,11 +251,13 @@ CDATA is ONLY used inside \`<ac:plain-text-body>\` elements (code blocks, PlantU
222
251
  | Element | Syntax |
223
252
  |---------|--------|
224
253
  | Paragraph | \`<p>text</p>\` |
225
- | Headings | \`<h1>\`...\`<h6>\` |
226
- | Bold/Italic | \`<strong>\`, \`<em>\` |
254
+ | Headings | \`<h1>...</h1>\` to \`<h6>...</h6>\` |
255
+ | Bold/Italic | \`<strong>text</strong>\`, \`<em>text</em>\` |
256
+ | Line break | \`<br/>\` (self-closing!) |
257
+ | Horizontal rule | \`<hr/>\` (self-closing!) |
227
258
  | Code inline | \`<code>text</code>\` |
228
259
  | Link | \`<a href="url">text</a>\` |
229
- | List | \`<ul><li>item</li></ul>\` or \`<ol>\` |
260
+ | List | \`<ul><li>item</li></ul>\` or \`<ol><li>...</li></ol>\` |
230
261
 
231
262
  ## Tables
232
263
  \`\`\`xml
@@ -269,10 +300,14 @@ Cross-space: add \`ri:space-key="KEY"\` to ri:page
269
300
  </ac:task-list>
270
301
  \`\`\`
271
302
 
272
- ## Emoticons
303
+ ## Status Indicators (use emoticons)
273
304
  \`\`\`xml
274
- <ac:emoticon ac:name="tick"/> <!-- tick, cross, warning, information -->
275
- <ac:emoticon ac:name="thumbs-up"/> <!-- thumbs-up/down, plus, minus -->
305
+ <ac:emoticon ac:name="tick"/> <!-- green checkmark -->
306
+ <ac:emoticon ac:name="cross"/> <!-- red X -->
307
+ <ac:emoticon ac:name="warning"/> <!-- ⚠ yellow warning -->
308
+ <ac:emoticon ac:name="information"/> <!-- ℹ blue info -->
309
+ <ac:emoticon ac:name="plus"/> <!-- + green plus -->
310
+ <ac:emoticon ac:name="minus"/> <!-- - red minus -->
276
311
  \`\`\`
277
312
 
278
313
  ## Code Block Macro
@@ -291,18 +326,31 @@ Cross-space: add \`ri:space-key="KEY"\` to ri:page
291
326
  \`\`\`
292
327
  Types: \`info\`, \`note\`, \`warning\`, \`tip\`
293
328
 
294
- ## Macro Rules
329
+ ## CDATA Rules
330
+
331
+ **CDATA is ONLY used inside \`<ac:plain-text-body>\`** (code blocks, PlantUML):
332
+ \`\`\`xml
333
+ <!-- CORRECT: CDATA inside ac:plain-text-body -->
334
+ <ac:structured-macro ac:name="code">
335
+ <ac:plain-text-body><![CDATA[code here]]></ac:plain-text-body>
336
+ </ac:structured-macro>
337
+
338
+ <!-- WRONG: CDATA wrapping regular content -->
339
+ <![CDATA[<h1>Title</h1>]]>
340
+ \`\`\`
341
+
342
+ ## Macro Content Rules
295
343
 
296
344
  | Element | Content Allowed |
297
345
  |---------|-----------------|
298
346
  | \`ac:parameter\` | Plain text only (no child elements) |
299
- | \`ac:plain-text-body\` | Raw text, wrap in \`<![CDATA[...]]>\` |
300
- | \`ac:rich-text-body\` | XHTML for info/warning panels |
347
+ | \`ac:plain-text-body\` | Raw text wrapped in \`<![CDATA[...]]>\` |
348
+ | \`ac:rich-text-body\` | XHTML (for info/warning panels) |
301
349
 
302
350
  ---
303
351
 
304
- For element ID editing workflow, see \`help(topic="buffers")\`.
305
- For PlantUML diagrams, see \`help(topic="plantuml")\`.`;
352
+ For element ID editing: \`help(topic="buffers")\`
353
+ For PlantUML diagrams: \`help(topic="plantuml")\``;
306
354
  // PlantUML syntax guide (Confluence-specific only - LLMs know PlantUML syntax)
307
355
  const PLANTUML_HELP = `# PlantUML in Confluence
308
356
 
@@ -322,18 +370,6 @@ const PLANTUML_HELP = `# PlantUML in Confluence
322
370
  | \`plantuml_render(code, format)\` | Preview: ascii, svg, png, eps |
323
371
  | \`plantuml_status()\` | Check Docker container status |
324
372
 
325
- ## Confluence Macro Structure (auto-generated by buffer_edit)
326
- \`\`\`xml
327
- <ac:structured-macro ac:name="plantuml" ac:schema-version="1" ac:macro-id="uuid">
328
- <ac:parameter ac:name="atlassian-macro-output-type">INLINE</ac:parameter>
329
- <ac:plain-text-body><![CDATA[
330
- @startuml
331
- ' diagram code
332
- @enduml
333
- ]]></ac:plain-text-body>
334
- </ac:structured-macro>
335
- \`\`\`
336
-
337
373
  ## Critical Rules (MANDATORY)
338
374
 
339
375
  1. **Always use \`plantuml\` parameter**: \`buffer_edit(..., plantuml="...")\` is REQUIRED
@@ -434,34 +470,19 @@ Rel(sys, pay, "Pays via")
434
470
  | "Element not found" | Check \`buffer_get_structure\` for valid IDs |
435
471
  | "XHTML invalid" | Create fresh buffer, insert diagram |
436
472
 
437
- ## Advanced: Direct Macro Embedding
438
-
439
- For pages with **multiple diagrams**, reduce tool calls by embedding macros directly:
440
-
441
- \`\`\`
442
- 1. plantuml_validate(code) × N ← Validate ALL diagrams first (parallel)
443
- 2. buffer_create with embedded macros:
444
- \`\`\`
473
+ ## Multiple Diagrams
445
474
 
446
- \`\`\`xml
447
- <h2>Architecture</h2>
448
- <ac:structured-macro ac:name="plantuml" ac:schema-version="1" ac:macro-id="diag-1">
449
- <ac:parameter ac:name="atlassian-macro-output-type">INLINE</ac:parameter>
450
- <ac:plain-text-body><![CDATA[@startuml
451
- ...validated code...
452
- @enduml]]></ac:plain-text-body>
453
- </ac:structured-macro>
454
- <h2>Sequence Flow</h2>
455
- <ac:structured-macro ac:name="plantuml" ac:schema-version="1" ac:macro-id="diag-2">
456
- ...second diagram...
457
- </ac:structured-macro>
458
- \`\`\`
475
+ For pages with multiple diagrams, call \`buffer_edit\` multiple times:
459
476
 
460
477
  \`\`\`
461
- 3. confluence_draft_create(bufferId=...)
478
+ 1. plantuml_validate(code1) ← Validate first diagram
479
+ 2. plantuml_validate(code2) ← Validate second diagram (parallel)
480
+ 3. buffer_edit(bufferId, after=5, plantuml=code1)
481
+ 4. buffer_edit(bufferId, after=6, plantuml=code2)
482
+ 5. confluence_draft_create(bufferId=...)
462
483
  \`\`\`
463
484
 
464
- **Benefit**: 3 diagrams = 5 calls (vs 8 with buffer_edit per diagram)
485
+ Each \`plantuml\` parameter = one diagram. The macro wrapping is automatic.
465
486
 
466
487
  For element ID editing: \`help(topic="buffers")\``;
467
488
  // Buffers help guide (canonical element ID reference)
@@ -611,7 +632,7 @@ Available topics:
611
632
  - cql: CQL (Confluence Query Language) syntax
612
633
  - storage: Confluence storage format + structure editing (element IDs)
613
634
  - plantuml: PlantUML diagram syntax for Confluence
614
- - buffers: Buffer management and large response handling
635
+ - buffers: Buffer management and element ID editing
615
636
 
616
637
  Examples:
617
638
  help() -> Workflow guide
@@ -1 +1 @@
1
- {"version":3,"file":"jicon-help.js","sourceRoot":"","sources":["../../src/utils/jicon-help.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"jicon-help.js","sourceRoot":"","sources":["../../src/utils/jicon-help.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,19 @@ import type { ToolResult, ApiError } from "../types.js";
7
7
  */
8
8
  export declare function getMaxOutputSize(): number;
9
9
  export declare function formatSuccess(data: unknown, metadata?: Record<string, unknown>): ToolResult;
10
+ /**
11
+ * Format a successful response that ALWAYS buffers data.
12
+ * Use for data-heavy tools (search, list, get) to provide consistent buffer-based access.
13
+ *
14
+ * @param data - The data to buffer
15
+ * @param metadata - Required metadata including resourceType and title for origin tracking
16
+ * @returns ToolResult with bufferId and metadata
17
+ */
18
+ export declare function formatSuccessBuffered(data: unknown, metadata: {
19
+ resourceType: string;
20
+ title: string;
21
+ [key: string]: unknown;
22
+ }): ToolResult;
10
23
  export declare function formatError(error: ApiError | Error): ToolResult;
11
24
  export declare function isApiError(error: unknown): error is ApiError;
12
25
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"response-formatter.d.ts","sourceRoot":"","sources":["../../src/utils/response-formatter.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAMxD;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,CASzC;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,UAAU,CAqE3F;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,QAAQ,GAAG,KAAK,GAAG,UAAU,CA0B/D;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,QAAQ,CAO5D;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,iBAAiB,GAAG,YAAY,GAAG,eAAe,CAAC;CACnE;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAC,EAAE,YAAY,GAAG,UAAU,CAwDpF"}
1
+ {"version":3,"file":"response-formatter.d.ts","sourceRoot":"","sources":["../../src/utils/response-formatter.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAMxD;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,CASzC;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,UAAU,CAqE3F;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,OAAO,EACb,QAAQ,EAAE;IAAE,YAAY,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,GACxE,UAAU,CAiBZ;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,QAAQ,GAAG,KAAK,GAAG,UAAU,CA0B/D;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,QAAQ,CAO5D;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,iBAAiB,GAAG,YAAY,GAAG,eAAe,CAAC;CACnE;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAC,EAAE,YAAY,GAAG,UAAU,CAwDpF"}