paput-mcp 3.3.3 → 4.0.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.
Files changed (103) hide show
  1. package/README.md +88 -67
  2. package/dist/cli/index.js +5 -29
  3. package/dist/cli/index.js.map +1 -1
  4. package/dist/cli/login.js +1 -1
  5. package/dist/cli/login.js.map +1 -1
  6. package/dist/cli/logout.js +3 -3
  7. package/dist/cli/logout.js.map +1 -1
  8. package/dist/cli/rules/paput-knowledge-capture.md +1 -1
  9. package/dist/cli/skills/paput-analyze-discard-policy/SKILL.md +3 -3
  10. package/dist/cli/skills/paput-capture/SKILL.md +1 -1
  11. package/dist/cli/skills/paput-init/SKILL.md +58 -9
  12. package/dist/handlers/add-knowledge-candidates/handler.js +49 -21
  13. package/dist/handlers/add-knowledge-candidates/handler.js.map +1 -1
  14. package/dist/handlers/add-knowledge-candidates/tool.js +1 -1
  15. package/dist/handlers/add-knowledge-candidates/tool.js.map +1 -1
  16. package/dist/handlers/discard-pending-candidate/handler.js +6 -21
  17. package/dist/handlers/discard-pending-candidate/handler.js.map +1 -1
  18. package/dist/handlers/get-capture-policy/handler.js +3 -3
  19. package/dist/handlers/get-capture-policy/handler.js.map +1 -1
  20. package/dist/handlers/get-capture-policy/tool.js +1 -1
  21. package/dist/handlers/get-capture-policy/tool.js.map +1 -1
  22. package/dist/handlers/get-discard-policy-context/handler.js +3 -11
  23. package/dist/handlers/get-discard-policy-context/handler.js.map +1 -1
  24. package/dist/handlers/get-discard-policy-context/tool.js +1 -1
  25. package/dist/handlers/get-discard-policy-context/tool.js.map +1 -1
  26. package/dist/handlers/get-project-context/handler.js +7 -9
  27. package/dist/handlers/get-project-context/handler.js.map +1 -1
  28. package/dist/handlers/get-project-context/tool.js +2 -2
  29. package/dist/handlers/get-project-context/tool.js.map +1 -1
  30. package/dist/handlers/index.js +4 -3
  31. package/dist/handlers/index.js.map +1 -1
  32. package/dist/handlers/list-pending-candidates/handler.js +6 -9
  33. package/dist/handlers/list-pending-candidates/handler.js.map +1 -1
  34. package/dist/handlers/list-processed-sessions/handler.js +18 -0
  35. package/dist/handlers/list-processed-sessions/handler.js.map +1 -0
  36. package/dist/handlers/list-processed-sessions/index.js +3 -0
  37. package/dist/handlers/list-processed-sessions/index.js.map +1 -0
  38. package/dist/handlers/list-processed-sessions/tool.js +19 -0
  39. package/dist/handlers/list-processed-sessions/tool.js.map +1 -0
  40. package/dist/handlers/mark-processed-session/handler.js +37 -0
  41. package/dist/handlers/mark-processed-session/handler.js.map +1 -0
  42. package/dist/handlers/mark-processed-session/index.js +3 -0
  43. package/dist/handlers/mark-processed-session/index.js.map +1 -0
  44. package/dist/handlers/mark-processed-session/tool.js +28 -0
  45. package/dist/handlers/mark-processed-session/tool.js.map +1 -0
  46. package/dist/handlers/memo-projects.js +19 -5
  47. package/dist/handlers/memo-projects.js.map +1 -1
  48. package/dist/handlers/save-pending-candidate/handler.js +84 -31
  49. package/dist/handlers/save-pending-candidate/handler.js.map +1 -1
  50. package/dist/handlers/save-pending-candidate/tool.js +4 -0
  51. package/dist/handlers/save-pending-candidate/tool.js.map +1 -1
  52. package/dist/handlers/scan-sessions/handler.js +4 -2
  53. package/dist/handlers/scan-sessions/handler.js.map +1 -1
  54. package/dist/handlers/update-capture-policy/handler.js +3 -3
  55. package/dist/handlers/update-capture-policy/handler.js.map +1 -1
  56. package/dist/handlers/update-capture-policy/tool.js +2 -2
  57. package/dist/handlers/update-capture-policy/tool.js.map +1 -1
  58. package/dist/handlers/update-memo/handler.js +1 -1
  59. package/dist/handlers/update-memo/handler.js.map +1 -1
  60. package/dist/handlers/update-pending-candidate/handler.js +90 -0
  61. package/dist/handlers/update-pending-candidate/handler.js.map +1 -0
  62. package/dist/handlers/update-pending-candidate/index.js +3 -0
  63. package/dist/handlers/update-pending-candidate/index.js.map +1 -0
  64. package/dist/handlers/update-pending-candidate/tool.js +51 -0
  65. package/dist/handlers/update-pending-candidate/tool.js.map +1 -0
  66. package/dist/handlers/update-project-document/handler.js +61 -0
  67. package/dist/handlers/update-project-document/handler.js.map +1 -0
  68. package/dist/handlers/update-project-document/index.js +3 -0
  69. package/dist/handlers/update-project-document/index.js.map +1 -0
  70. package/dist/handlers/update-project-document/tool.js +31 -0
  71. package/dist/handlers/update-project-document/tool.js.map +1 -0
  72. package/dist/handlers/upsert-skill-sheet-project/handler.js +3 -0
  73. package/dist/handlers/upsert-skill-sheet-project/handler.js.map +1 -1
  74. package/dist/handlers/upsert-skill-sheet-project/tool.js +4 -0
  75. package/dist/handlers/upsert-skill-sheet-project/tool.js.map +1 -1
  76. package/dist/http.js +67 -21
  77. package/dist/http.js.map +1 -1
  78. package/dist/index.js +2 -9
  79. package/dist/index.js.map +1 -1
  80. package/dist/schemas/tool-input.js +65 -21
  81. package/dist/schemas/tool-input.js.map +1 -1
  82. package/dist/server.js +3 -17
  83. package/dist/server.js.map +1 -1
  84. package/dist/services/api/client.js +2 -3
  85. package/dist/services/api/client.js.map +1 -1
  86. package/dist/services/api/index.js +1 -0
  87. package/dist/services/api/index.js.map +1 -1
  88. package/dist/services/api/knowledge-candidate.js +44 -0
  89. package/dist/services/api/knowledge-candidate.js.map +1 -0
  90. package/dist/services/api/project-context.js +9 -1
  91. package/dist/services/api/project-context.js.map +1 -1
  92. package/dist/services/api/skill-sheet.js +5 -0
  93. package/dist/services/api/skill-sheet.js.map +1 -1
  94. package/dist/services/session/index.js +2 -3
  95. package/dist/services/session/index.js.map +1 -1
  96. package/dist/tool.js +37 -23
  97. package/dist/tool.js.map +1 -1
  98. package/docs/directory-submission.md +5 -5
  99. package/docs/privacy-policy.md +22 -12
  100. package/docs/reviewer-guide.md +13 -4
  101. package/docs/tools.md +61 -21
  102. package/docs/usage-examples.md +13 -12
  103. package/package.json +7 -3
@@ -1 +1 @@
1
- {"version":3,"file":"memo-projects.js","sourceRoot":"","sources":["../../src/handlers/memo-projects.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;AAK1E,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,IAA6B,EAC7B,SAAoB,EACpB,OAAqB;IAErB,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;QACjC,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CACzB,CAAC,IAAI,EAA4B,EAAE,CACjC,OAAO,IAAI,KAAK,QAAQ;YACxB,IAAI,KAAK,IAAI;YACb,IAAI,IAAI,IAAI;YACZ,OAAO,IAAI,CAAC,EAAE,KAAK,QAAQ,CAC9B,CAAC;IACJ,CAAC;IAED,MAAM,YAAY,GAAG,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACpD,IAAI,CAAC,YAAY;QAAE,OAAO,SAAS,CAAC;IAEpC,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,wBAAwB,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;QACzE,OAAO,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACzD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,4BAA4B,EAAE,KAAK,CAAC,CAAC;QACnD,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,SAAS,eAAe,CACtB,IAA6B,EAC7B,OAAqB;IAErB,MAAM,QAAQ,GACZ,OAAO,IAAI,CAAC,aAAa,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1E,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAC;IAE9B,IAAI,OAAO,EAAE,YAAY;QAAE,OAAO,OAAO,CAAC,YAAY,CAAC;IACvD,OAAO,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC;AACzC,CAAC"}
1
+ {"version":3,"file":"memo-projects.js","sourceRoot":"","sources":["../../src/handlers/memo-projects.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;AAK1E,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,IAA6B,EAC7B,SAAoB,EACpB,OAAqB;IAErB,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;QACjC,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CACzB,CAAC,IAAI,EAA4B,EAAE,CACjC,OAAO,IAAI,KAAK,QAAQ;YACxB,IAAI,KAAK,IAAI;YACb,IAAI,IAAI,IAAI;YACZ,OAAO,IAAI,CAAC,EAAE,KAAK,QAAQ,CAC9B,CAAC;IACJ,CAAC;IAED,IAAI,OAAO,EAAE,SAAS,EAAE,CAAC;QACvB,OAAO;YACL;gBACE,EAAE,EAAE,OAAO,CAAC,SAAS;gBACrB,KAAK,EAAE,OAAO,CAAC,YAAY;aAC5B;SACF,CAAC;IACJ,CAAC;IAED,MAAM,YAAY,GAAG,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACpD,IAAI,CAAC,YAAY;QAAE,OAAO,SAAS,CAAC;IAEpC,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,wBAAwB,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;QACzE,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,SAAS,CAAC;QAC5C,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,MAAM,UAAU,GAAG,QAAQ;iBACxB,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,GAAG,OAAO,CAAC,KAAK,SAAS,OAAO,CAAC,EAAE,GAAG,CAAC;iBACxD,IAAI,CAAC,IAAI,CAAC,CAAC;YACd,MAAM,IAAI,KAAK,CACb,oHAAoH,UAAU,EAAE,CACjI,CAAC;QACJ,CAAC;QACD,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IACvB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,4BAA4B,EAAE,KAAK,CAAC,CAAC;QACnD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,eAAe,CACtB,IAA6B,EAC7B,OAAqB;IAErB,MAAM,QAAQ,GACZ,OAAO,IAAI,CAAC,aAAa,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1E,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAC;IAC9B,OAAO,SAAS,CAAC;AACnB,CAAC"}
@@ -1,5 +1,5 @@
1
- import { createMemo, searchMemos } from '../../services/api/memo.js';
2
- import { createFingerprint, readCache, updatePendingCandidate, } from '../../services/local-cache/index.js';
1
+ import { getRemoteKnowledgeCandidate, saveRemoteKnowledgeCandidate, } from '../../services/api/knowledge-candidate.js';
2
+ import { createMemo } from '../../services/api/memo.js';
3
3
  export async function handleSavePendingCandidate(args, apiClient) {
4
4
  if (!args || typeof args.candidate_id !== 'string') {
5
5
  return {
@@ -7,11 +7,42 @@ export async function handleSavePendingCandidate(args, apiClient) {
7
7
  isError: true,
8
8
  };
9
9
  }
10
- const candidate = readCache().pending.find((item) => item.id === args.candidate_id && item.status === 'pending');
11
- if (!candidate) {
10
+ return await saveRemoteCandidate(args, apiClient);
11
+ }
12
+ async function saveRemoteCandidate(args, apiClient) {
13
+ const candidate = await getRemoteKnowledgeCandidate(apiClient, args.candidate_id);
14
+ const suppliedMemoId = typeof args.saved_memo_id === 'number' ? args.saved_memo_id : undefined;
15
+ if (candidate.status !== 'pending') {
16
+ if (candidate.status === 'saved' &&
17
+ suppliedMemoId !== undefined &&
18
+ candidate.saved_memo_id === suppliedMemoId) {
19
+ const response = {
20
+ success: true,
21
+ action: 'saved',
22
+ candidate_id: candidate.id,
23
+ memo_id: suppliedMemoId,
24
+ title: candidate.title,
25
+ created_at: candidate.created_at,
26
+ created_at_source: 'saved_candidate',
27
+ used_existing_memo: true,
28
+ warnings: [],
29
+ };
30
+ return {
31
+ structuredContent: response,
32
+ content: [
33
+ {
34
+ type: 'text',
35
+ text: JSON.stringify(response, null, 2),
36
+ },
37
+ ],
38
+ };
39
+ }
12
40
  return {
13
41
  content: [
14
- { type: 'text', text: 'Pending candidate to save was not found' },
42
+ {
43
+ type: 'text',
44
+ text: `Only pending candidates can be saved (current status: ${candidate.status})`,
45
+ },
15
46
  ],
16
47
  isError: true,
17
48
  };
@@ -51,40 +82,69 @@ export async function handleSavePendingCandidate(args, apiClient) {
51
82
  memo_type_keys: memoTypeKeys,
52
83
  projects,
53
84
  };
54
- const result = await createMemo(apiClient, params);
55
- if (!result.success) {
85
+ let memoId = suppliedMemoId;
86
+ if (memoId === undefined) {
87
+ const result = await createMemo(apiClient, params);
88
+ if (!result.success || result.id === undefined) {
89
+ return {
90
+ content: [
91
+ {
92
+ type: 'text',
93
+ text: `Failed to save knowledge candidate: ${result.error || 'Unknown error'}`,
94
+ },
95
+ ],
96
+ isError: true,
97
+ };
98
+ }
99
+ memoId = result.id;
100
+ }
101
+ let updated;
102
+ try {
103
+ updated = await saveRemoteKnowledgeCandidate(apiClient, {
104
+ candidate_id: candidate.id,
105
+ title,
106
+ body,
107
+ categories,
108
+ memo_type_keys: memoTypeKeys,
109
+ projects,
110
+ is_public: params.is_public,
111
+ saved_memo_id: memoId,
112
+ created_at: createdAt,
113
+ });
114
+ }
115
+ catch (error) {
116
+ const response = {
117
+ success: false,
118
+ action: 'save_candidate_failed_after_memo_created',
119
+ candidate_id: candidate.id,
120
+ memo_id: memoId,
121
+ title,
122
+ error: error instanceof Error ? error.message : 'Unknown error',
123
+ retry_args: {
124
+ candidate_id: candidate.id,
125
+ saved_memo_id: memoId,
126
+ },
127
+ };
56
128
  return {
129
+ structuredContent: response,
57
130
  content: [
58
131
  {
59
132
  type: 'text',
60
- text: `Failed to save knowledge candidate: ${result.error || 'Unknown error'}`,
133
+ text: JSON.stringify(response, null, 2),
61
134
  },
62
135
  ],
63
136
  isError: true,
64
137
  };
65
138
  }
66
- const savedMemo = await findSavedMemo(apiClient, title, body);
67
- const updated = updatePendingCandidate(candidate.id, (item) => ({
68
- ...item,
69
- title,
70
- body,
71
- categories,
72
- memo_type_keys: memoTypeKeys,
73
- projects,
74
- is_public: params.is_public,
75
- status: 'saved',
76
- fingerprint: createFingerprint(title, body),
77
- saved_memo_id: savedMemo?.id,
78
- updated_at: new Date().toISOString(),
79
- }));
80
139
  const response = {
81
140
  success: true,
82
141
  action: 'saved',
83
- candidate_id: updated?.id,
84
- memo_id: savedMemo?.id || null,
142
+ candidate_id: updated.candidate_id,
143
+ memo_id: memoId ?? updated.memo_id ?? null,
85
144
  title,
86
145
  created_at: createdAt,
87
146
  created_at_source: createdAtSource,
147
+ used_existing_memo: suppliedMemoId !== undefined,
88
148
  warnings: createdAtSource === 'pending_created_at'
89
149
  ? [
90
150
  'source_session_updated_at was not available; used pending candidate created_at',
@@ -101,11 +161,4 @@ export async function handleSavePendingCandidate(args, apiClient) {
101
161
  ],
102
162
  };
103
163
  }
104
- async function findSavedMemo(apiClient, title, body) {
105
- const result = await searchMemos(apiClient, { word: title, limit: 10 });
106
- if (!result.success || !result.memos)
107
- return undefined;
108
- const fingerprint = createFingerprint(title, body);
109
- return result.memos.find((memo) => createFingerprint(memo.title, memo.body) === fingerprint);
110
- }
111
164
  //# sourceMappingURL=handler.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/handlers/save-pending-candidate/handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/handlers/save-pending-candidate/handler.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,10 @@ export const savePendingCandidateTool = {
7
7
  type: 'object',
8
8
  properties: {
9
9
  candidate_id: { type: 'string', description: 'Candidate ID to save' },
10
+ saved_memo_id: {
11
+ type: 'number',
12
+ description: 'Existing memo ID to attach when retrying after memo creation succeeded but candidate save failed. Omit for normal saves.',
13
+ },
10
14
  title: { type: 'string', description: 'Title override when saving' },
11
15
  body: { type: 'string', description: 'Body override when saving' },
12
16
  created_at: {
@@ -1 +1 @@
1
- {"version":3,"file":"tool.js","sourceRoot":"","sources":["../../../src/handlers/save-pending-candidate/tool.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAC;AAE1D,MAAM,CAAC,MAAM,wBAAwB,GAAgB;IACnD,UAAU,EAAE;QACV,IAAI,EAAE,8BAA8B;QACpC,WAAW,EACT,sIAAsI;QACxI,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,sBAAsB,EAAE;gBACrE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,4BAA4B,EAAE;gBACpE,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,2BAA2B,EAAE;gBAClE,UAAU,EAAE;oBACV,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,+IAA+I;iBAClJ;gBACD,UAAU,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;gBACxD,cAAc,EAAE;oBACd,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE;wBACL,IAAI,EAAE,QAAQ;wBACd,IAAI,EAAE,CAAC,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,CAAC;qBAC1D;oBACD,WAAW,EACT,iKAAiK;iBACpK;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,OAAO;oBACb,WAAW,EAAE,8BAA8B;oBAC3C,KAAK,EAAE;wBACL,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE;4BACV,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;4BACtB,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;yBAC1B;wBACD,QAAQ,EAAE,CAAC,IAAI,CAAC;qBACjB;iBACF;gBACD,SAAS,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE;aAC/C;YACD,QAAQ,EAAE,CAAC,cAAc,CAAC;SAC3B;KACF;IACD,OAAO,EAAE,0BAA0B;CACpC,CAAC"}
1
+ {"version":3,"file":"tool.js","sourceRoot":"","sources":["../../../src/handlers/save-pending-candidate/tool.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAC;AAE1D,MAAM,CAAC,MAAM,wBAAwB,GAAgB;IACnD,UAAU,EAAE;QACV,IAAI,EAAE,8BAA8B;QACpC,WAAW,EACT,sIAAsI;QACxI,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,sBAAsB,EAAE;gBACrE,aAAa,EAAE;oBACb,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,0HAA0H;iBAC7H;gBACD,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,4BAA4B,EAAE;gBACpE,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,2BAA2B,EAAE;gBAClE,UAAU,EAAE;oBACV,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,+IAA+I;iBAClJ;gBACD,UAAU,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;gBACxD,cAAc,EAAE;oBACd,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE;wBACL,IAAI,EAAE,QAAQ;wBACd,IAAI,EAAE,CAAC,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,CAAC;qBAC1D;oBACD,WAAW,EACT,iKAAiK;iBACpK;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,OAAO;oBACb,WAAW,EAAE,8BAA8B;oBAC3C,KAAK,EAAE;wBACL,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE;4BACV,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;4BACtB,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;yBAC1B;wBACD,QAAQ,EAAE,CAAC,IAAI,CAAC;qBACjB;iBACF;gBACD,SAAS,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE;aAC/C;YACD,QAAQ,EAAE,CAAC,cAAc,CAAC;SAC3B;KACF;IACD,OAAO,EAAE,0BAA0B;CACpC,CAAC"}
@@ -1,10 +1,12 @@
1
+ import { listRemoteProcessedSessions } from '../../services/api/knowledge-candidate.js';
1
2
  import { scanSessions } from '../../services/session/index.js';
2
- export async function handleScanSessions(args, _apiClient) {
3
+ export async function handleScanSessions(args, apiClient) {
3
4
  const sources = parseSources(args?.sources);
4
5
  const includeProcessed = typeof args?.include_processed === 'boolean'
5
6
  ? args.include_processed
6
7
  : false;
7
- const sessions = scanSessions(sources, includeProcessed);
8
+ const processed = await listRemoteProcessedSessions(apiClient, sources.length === 1 ? sources[0] : undefined);
9
+ const sessions = scanSessions(sources, includeProcessed, processed.sessions);
8
10
  const result = {
9
11
  count: sessions.length,
10
12
  sessions,
@@ -1 +1 @@
1
- {"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/handlers/scan-sessions/handler.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAG/D,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,IAAyC,EACzC,UAAqB;IAErB,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC5C,MAAM,gBAAgB,GACpB,OAAO,IAAI,EAAE,iBAAiB,KAAK,SAAS;QAC1C,CAAC,CAAC,IAAI,CAAC,iBAAiB;QACxB,CAAC,CAAC,KAAK,CAAC;IACZ,MAAM,QAAQ,GAAG,YAAY,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;IACzD,MAAM,MAAM,GAAG;QACb,KAAK,EAAE,QAAQ,CAAC,MAAM;QACtB,QAAQ;KACT,CAAC;IAEF,OAAO;QACL,iBAAiB,EAAE,MAAM;QACzB,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;aACtC;SACF;KACF,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,KAAc;IAClC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACtD,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAC1B,CAAC,MAAM,EAA2B,EAAE,CAClC,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,OAAO,CAC5C,CAAC;IACF,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;AAC5D,CAAC"}
1
+ {"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/handlers/scan-sessions/handler.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,2BAA2B,EAAE,MAAM,2CAA2C,CAAC;AACxF,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAG/D,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,IAAyC,EACzC,SAAoB;IAEpB,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC5C,MAAM,gBAAgB,GACpB,OAAO,IAAI,EAAE,iBAAiB,KAAK,SAAS;QAC1C,CAAC,CAAC,IAAI,CAAC,iBAAiB;QACxB,CAAC,CAAC,KAAK,CAAC;IACZ,MAAM,SAAS,GAAG,MAAM,2BAA2B,CACjD,SAAS,EACT,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAC9C,CAAC;IACF,MAAM,QAAQ,GAAG,YAAY,CAC3B,OAAO,EACP,gBAAgB,EAChB,SAAS,CAAC,QAAQ,CACnB,CAAC;IACF,MAAM,MAAM,GAAG;QACb,KAAK,EAAE,QAAQ,CAAC,MAAM;QACtB,QAAQ;KACT,CAAC;IAEF,OAAO;QACL,iBAAiB,EAAE,MAAM;QACzB,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;aACtC;SACF;KACF,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,KAAc;IAClC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACtD,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAC1B,CAAC,MAAM,EAA2B,EAAE,CAClC,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,OAAO,CAC5C,CAAC;IACF,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;AAC5D,CAAC"}
@@ -1,12 +1,12 @@
1
- import { writeCapturePolicy } from '../../services/local-cache/index.js';
2
- export async function handleUpdateCapturePolicy(args, _apiClient) {
1
+ import { updateRemoteCapturePolicy } from '../../services/api/knowledge-candidate.js';
2
+ export async function handleUpdateCapturePolicy(args, apiClient) {
3
3
  if (!args || typeof args.markdown !== 'string') {
4
4
  return {
5
5
  content: [{ type: 'text', text: 'markdown is required' }],
6
6
  isError: true,
7
7
  };
8
8
  }
9
- const policy = writeCapturePolicy(args.markdown);
9
+ const policy = await updateRemoteCapturePolicy(apiClient, args.markdown);
10
10
  return {
11
11
  structuredContent: policy,
12
12
  content: [
@@ -1 +1 @@
1
- {"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/handlers/update-capture-policy/handler.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAEzE,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC7C,IAAyC,EACzC,UAAqB;IAErB,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC/C,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,sBAAsB,EAAE,CAAC;YACzD,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAG,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAEjD,OAAO;QACL,iBAAiB,EAAE,MAAM;QACzB,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;aACtC;SACF;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/handlers/update-capture-policy/handler.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,yBAAyB,EAAE,MAAM,2CAA2C,CAAC;AAEtF,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC7C,IAAyC,EACzC,SAAoB;IAEpB,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC/C,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,sBAAsB,EAAE,CAAC;YACzD,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,yBAAyB,CAAC,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IAEzE,OAAO;QACL,iBAAiB,EAAE,MAA4C;QAC/D,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;aACtC;SACF;KACF,CAAC;AACJ,CAAC"}
@@ -2,13 +2,13 @@ import { handleUpdateCapturePolicy } from './handler.js';
2
2
  export const updateCapturePolicyTool = {
3
3
  definition: {
4
4
  name: 'paput_update_capture_policy',
5
- description: 'Save the local PaPut capture policy document generated by the client AI from discarded knowledge candidates.',
5
+ description: 'Save the PaPut capture policy document generated by the client AI from discarded knowledge candidates.',
6
6
  inputSchema: {
7
7
  type: 'object',
8
8
  properties: {
9
9
  markdown: {
10
10
  type: 'string',
11
- description: 'Capture policy markdown to save locally.',
11
+ description: 'Capture policy markdown to save.',
12
12
  },
13
13
  },
14
14
  required: ['markdown'],
@@ -1 +1 @@
1
- {"version":3,"file":"tool.js","sourceRoot":"","sources":["../../../src/handlers/update-capture-policy/tool.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAC;AAEzD,MAAM,CAAC,MAAM,uBAAuB,GAAgB;IAClD,UAAU,EAAE;QACV,IAAI,EAAE,6BAA6B;QACnC,WAAW,EACT,8GAA8G;QAChH,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,0CAA0C;iBACxD;aACF;YACD,QAAQ,EAAE,CAAC,UAAU,CAAC;SACvB;KACF;IACD,OAAO,EAAE,yBAAyB;CACnC,CAAC"}
1
+ {"version":3,"file":"tool.js","sourceRoot":"","sources":["../../../src/handlers/update-capture-policy/tool.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAC;AAEzD,MAAM,CAAC,MAAM,uBAAuB,GAAgB;IAClD,UAAU,EAAE;QACV,IAAI,EAAE,6BAA6B;QACnC,WAAW,EACT,wGAAwG;QAC1G,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,kCAAkC;iBAChD;aACF;YACD,QAAQ,EAAE,CAAC,UAAU,CAAC;SACvB;KACF;IACD,OAAO,EAAE,yBAAyB;CACnC,CAAC"}
@@ -50,8 +50,8 @@ export async function handleUpdateMemo(args, apiClient, context) {
50
50
  if (Array.isArray(args.memo_type_keys)) {
51
51
  params.memo_type_keys = args.memo_type_keys.filter((key) => typeof key === 'string');
52
52
  }
53
- params.projects = await resolveMemoProjects(args, apiClient, context);
54
53
  try {
54
+ params.projects = await resolveMemoProjects(args, apiClient, context);
55
55
  const result = await updateMemo(apiClient, params);
56
56
  if (!result.success) {
57
57
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/handlers/update-memo/handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/handlers/update-memo/handler.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,90 @@
1
+ import { updateRemoteKnowledgeCandidate } from '../../services/api/knowledge-candidate.js';
2
+ export async function handleUpdatePendingCandidate(args, apiClient) {
3
+ if (!args || typeof args.candidate_id !== 'string') {
4
+ return {
5
+ content: [{ type: 'text', text: 'candidate_id is required' }],
6
+ isError: true,
7
+ };
8
+ }
9
+ const patch = buildPatch(args);
10
+ if ('error' in patch) {
11
+ return {
12
+ content: [{ type: 'text', text: patch.error }],
13
+ isError: true,
14
+ };
15
+ }
16
+ if (Object.keys(patch.fields).length === 0) {
17
+ return {
18
+ content: [
19
+ {
20
+ type: 'text',
21
+ text: 'No updatable fields were provided. Provide at least one of title, body, categories, memo_type_keys, confidence, is_public, or projects.',
22
+ },
23
+ ],
24
+ isError: true,
25
+ };
26
+ }
27
+ const result = await updateRemoteKnowledgeCandidate(apiClient, {
28
+ candidate_id: args.candidate_id,
29
+ ...patch.fields,
30
+ });
31
+ return {
32
+ structuredContent: result,
33
+ content: [
34
+ {
35
+ type: 'text',
36
+ text: JSON.stringify(result, null, 2),
37
+ },
38
+ ],
39
+ };
40
+ }
41
+ function buildPatch(args) {
42
+ const fields = {};
43
+ if ('title' in args) {
44
+ if (typeof args.title !== 'string' || args.title.trim() === '') {
45
+ return { error: 'title must be a non-empty string' };
46
+ }
47
+ fields.title = args.title;
48
+ }
49
+ if ('body' in args) {
50
+ if (typeof args.body !== 'string' || args.body.trim() === '') {
51
+ return { error: 'body must be a non-empty string' };
52
+ }
53
+ fields.body = args.body;
54
+ }
55
+ if ('categories' in args) {
56
+ if (!Array.isArray(args.categories)) {
57
+ return { error: 'categories must be an array of strings' };
58
+ }
59
+ fields.categories = args.categories.filter((category) => typeof category === 'string');
60
+ }
61
+ if ('memo_type_keys' in args) {
62
+ if (!Array.isArray(args.memo_type_keys)) {
63
+ return { error: 'memo_type_keys must be an array of strings' };
64
+ }
65
+ fields.memo_type_keys = args.memo_type_keys.filter((key) => typeof key === 'string');
66
+ }
67
+ if ('projects' in args) {
68
+ if (!Array.isArray(args.projects)) {
69
+ return { error: 'projects must be an array of project references' };
70
+ }
71
+ fields.projects = args.projects.filter((project) => typeof project === 'object' &&
72
+ project !== null &&
73
+ 'id' in project &&
74
+ typeof project.id === 'number');
75
+ }
76
+ if ('confidence' in args) {
77
+ if (typeof args.confidence !== 'number') {
78
+ return { error: 'confidence must be a number' };
79
+ }
80
+ fields.confidence = args.confidence;
81
+ }
82
+ if ('is_public' in args) {
83
+ if (typeof args.is_public !== 'boolean') {
84
+ return { error: 'is_public must be a boolean' };
85
+ }
86
+ fields.is_public = args.is_public;
87
+ }
88
+ return { fields };
89
+ }
90
+ //# sourceMappingURL=handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/handlers/update-pending-candidate/handler.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export * from './handler.js';
2
+ export * from './tool.js';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/handlers/update-pending-candidate/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC"}
@@ -0,0 +1,51 @@
1
+ import { handleUpdatePendingCandidate } from './handler.js';
2
+ export const updatePendingCandidateTool = {
3
+ definition: {
4
+ name: 'paput_update_pending_candidate',
5
+ description: 'Update an existing pending knowledge candidate before it is saved to PaPut. Only fields you provide are changed; omitted fields keep their current value. Use this to refine a candidate (title, body, categories, memo type keys, confidence, visibility, or linked projects) instead of discarding and re-adding it. Only candidates that are still pending can be updated.',
6
+ inputSchema: {
7
+ type: 'object',
8
+ properties: {
9
+ candidate_id: {
10
+ type: 'string',
11
+ description: 'Pending candidate ID to update',
12
+ },
13
+ title: { type: 'string', description: 'Replacement title' },
14
+ body: { type: 'string', description: 'Replacement body' },
15
+ categories: {
16
+ type: 'array',
17
+ items: { type: 'string' },
18
+ description: 'Replacement category names',
19
+ },
20
+ memo_type_keys: {
21
+ type: 'array',
22
+ items: {
23
+ type: 'string',
24
+ enum: ['knowledge', 'decision', 'operation', 'principle'],
25
+ },
26
+ description: 'Memo type classification keys (a memo can have multiple). decision/operation/principle are the primary material for the public AI summary.',
27
+ },
28
+ confidence: { type: 'number', description: 'Confidence score' },
29
+ is_public: {
30
+ type: 'boolean',
31
+ description: 'Whether the saved memo will be public',
32
+ },
33
+ projects: {
34
+ type: 'array',
35
+ description: 'Replacement linked projects',
36
+ items: {
37
+ type: 'object',
38
+ properties: {
39
+ id: { type: 'number' },
40
+ title: { type: 'string' },
41
+ },
42
+ required: ['id'],
43
+ },
44
+ },
45
+ },
46
+ required: ['candidate_id'],
47
+ },
48
+ },
49
+ handler: handleUpdatePendingCandidate,
50
+ };
51
+ //# sourceMappingURL=tool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool.js","sourceRoot":"","sources":["../../../src/handlers/update-pending-candidate/tool.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,4BAA4B,EAAE,MAAM,cAAc,CAAC;AAE5D,MAAM,CAAC,MAAM,0BAA0B,GAAgB;IACrD,UAAU,EAAE;QACV,IAAI,EAAE,gCAAgC;QACtC,WAAW,EACT,+WAA+W;QACjX,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,YAAY,EAAE;oBACZ,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,gCAAgC;iBAC9C;gBACD,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,mBAAmB,EAAE;gBAC3D,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,kBAAkB,EAAE;gBACzD,UAAU,EAAE;oBACV,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACzB,WAAW,EAAE,4BAA4B;iBAC1C;gBACD,cAAc,EAAE;oBACd,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE;wBACL,IAAI,EAAE,QAAQ;wBACd,IAAI,EAAE,CAAC,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,CAAC;qBAC1D;oBACD,WAAW,EACT,4IAA4I;iBAC/I;gBACD,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,kBAAkB,EAAE;gBAC/D,SAAS,EAAE;oBACT,IAAI,EAAE,SAAS;oBACf,WAAW,EAAE,uCAAuC;iBACrD;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,OAAO;oBACb,WAAW,EAAE,6BAA6B;oBAC1C,KAAK,EAAE;wBACL,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE;4BACV,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;4BACtB,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;yBAC1B;wBACD,QAAQ,EAAE,CAAC,IAAI,CAAC;qBACjB;iBACF;aACF;YACD,QAAQ,EAAE,CAAC,cAAc,CAAC;SAC3B;KACF;IACD,OAAO,EAAE,4BAA4B;CACtC,CAAC"}
@@ -0,0 +1,61 @@
1
+ import { updateProjectDocument } from '../../services/api/project-context.js';
2
+ export async function handleUpdateProjectDocument(args, apiClient) {
3
+ const invalid = validateArgs(args);
4
+ if (invalid) {
5
+ return invalid;
6
+ }
7
+ const input = args;
8
+ try {
9
+ const document = await updateProjectDocument(apiClient, {
10
+ id: input.id,
11
+ title: input.title,
12
+ summary: typeof input.summary === 'string' ? input.summary : undefined,
13
+ body: input.body,
14
+ });
15
+ const decided = document.decided_at
16
+ ? `\nDecided at: ${document.decided_at}`
17
+ : '';
18
+ return {
19
+ structuredContent: document,
20
+ content: [
21
+ {
22
+ type: 'text',
23
+ text: `Project document updated: 【${document.title}】(ID: ${document.id}, ${document.kind}, ${document.status})${decided}`,
24
+ },
25
+ ],
26
+ };
27
+ }
28
+ catch (error) {
29
+ const errorMessage = error instanceof Error ? error.message : 'Unknown error';
30
+ return {
31
+ content: [
32
+ {
33
+ type: 'text',
34
+ text: `Failed to update project document: ${errorMessage}`,
35
+ },
36
+ ],
37
+ isError: true,
38
+ };
39
+ }
40
+ }
41
+ function validateArgs(args) {
42
+ if (!args ||
43
+ typeof args.id !== 'number' ||
44
+ args.id <= 0 ||
45
+ typeof args.title !== 'string' ||
46
+ args.title.trim() === '' ||
47
+ typeof args.body !== 'string' ||
48
+ args.body.trim() === '') {
49
+ return {
50
+ content: [
51
+ {
52
+ type: 'text',
53
+ text: 'id, title, and body are required.',
54
+ },
55
+ ],
56
+ isError: true,
57
+ };
58
+ }
59
+ return null;
60
+ }
61
+ //# sourceMappingURL=handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/handlers/update-project-document/handler.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,uCAAuC,CAAC;AAE9E,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAC/C,IAAyC,EACzC,SAAoB;IAEpB,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IACnC,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,MAAM,KAAK,GAAG,IAA+B,CAAC;IAE9C,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,qBAAqB,CAAC,SAAS,EAAE;YACtD,EAAE,EAAE,KAAK,CAAC,EAAY;YACtB,KAAK,EAAE,KAAK,CAAC,KAAe;YAC5B,OAAO,EAAE,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;YACtE,IAAI,EAAE,KAAK,CAAC,IAAc;SAC3B,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,QAAQ,CAAC,UAAU;YACjC,CAAC,CAAC,iBAAiB,QAAQ,CAAC,UAAU,EAAE;YACxC,CAAC,CAAC,EAAE,CAAC;QAEP,OAAO;YACL,iBAAiB,EAAE,QAA8C;YACjE,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,8BAA8B,QAAQ,CAAC,KAAK,SAAS,QAAQ,CAAC,EAAE,KAAK,QAAQ,CAAC,IAAI,KAAK,QAAQ,CAAC,MAAM,IAAI,OAAO,EAAE;iBAC1H;aACF;SACF,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,YAAY,GAChB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;QAE3D,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,sCAAsC,YAAY,EAAE;iBAC3D;aACF;YACD,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAS,YAAY,CAAC,IAAyC;IAC7D,IACE,CAAC,IAAI;QACL,OAAO,IAAI,CAAC,EAAE,KAAK,QAAQ;QAC3B,IAAI,CAAC,EAAE,IAAI,CAAC;QACZ,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ;QAC9B,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE;QACxB,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ;QAC7B,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,EACvB,CAAC;QACD,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,mCAAmC;iBAC1C;aACF;YACD,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -0,0 +1,3 @@
1
+ export * from './handler.js';
2
+ export * from './tool.js';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/handlers/update-project-document/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC"}
@@ -0,0 +1,31 @@
1
+ import { handleUpdateProjectDocument } from './handler.js';
2
+ export const updateProjectDocumentTool = {
3
+ definition: {
4
+ name: 'paput_update_project_document',
5
+ description: 'Update an existing private project document (identified by ID) by replacing its title, summary, and body. This is a full replace of those fields, so provide the complete desired state; an omitted summary is cleared. Fetch the current document with paput_get_project_document first when you only intend to change part of it. Kind, status, decided_at, and skill promotion are not changed by this tool.',
6
+ inputSchema: {
7
+ type: 'object',
8
+ properties: {
9
+ id: {
10
+ type: 'number',
11
+ description: 'Project document ID to update',
12
+ },
13
+ title: {
14
+ type: 'string',
15
+ description: 'Concise, searchable title',
16
+ },
17
+ summary: {
18
+ type: 'string',
19
+ description: 'One-line summary shown in the document index (keep it short). Omitting it clears the summary.',
20
+ },
21
+ body: {
22
+ type: 'string',
23
+ description: 'Markdown body. For design decisions include the decision, reasons, and rejected alternatives.',
24
+ },
25
+ },
26
+ required: ['id', 'title', 'body'],
27
+ },
28
+ },
29
+ handler: handleUpdateProjectDocument,
30
+ };
31
+ //# sourceMappingURL=tool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool.js","sourceRoot":"","sources":["../../../src/handlers/update-project-document/tool.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,2BAA2B,EAAE,MAAM,cAAc,CAAC;AAE3D,MAAM,CAAC,MAAM,yBAAyB,GAAgB;IACpD,UAAU,EAAE;QACV,IAAI,EAAE,+BAA+B;QACrC,WAAW,EACT,iZAAiZ;QACnZ,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,EAAE,EAAE;oBACF,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,+BAA+B;iBAC7C;gBACD,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,2BAA2B;iBACzC;gBACD,OAAO,EAAE;oBACP,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,+FAA+F;iBAClG;gBACD,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,+FAA+F;iBAClG;aACF;YACD,QAAQ,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC;SAClC;KACF;IACD,OAAO,EAAE,2BAA2B;CACrC,CAAC"}
@@ -85,6 +85,9 @@ function parseProjectParams(params) {
85
85
  if (typeof params.end_period === 'string' || params.end_period === null) {
86
86
  project.end_period = params.end_period;
87
87
  }
88
+ if (typeof params.mcp_alias === 'string') {
89
+ project.mcp_alias = params.mcp_alias;
90
+ }
88
91
  return project;
89
92
  }
90
93
  function isTechnology(value) {
@@ -1 +1 @@
1
- {"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/handlers/upsert-skill-sheet-project/handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/handlers/upsert-skill-sheet-project/handler.ts"],"names":[],"mappings":"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"}