paput-mcp 2.3.0 → 2.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +151 -93
- package/dist/check-http.js +27 -0
- package/dist/check-http.js.map +1 -0
- package/dist/cli/index.js +6 -6
- package/dist/cli/setup-ai.js +124 -126
- package/dist/cli/setup-ai.js.map +1 -1
- package/dist/handlers/add-knowledge-candidates/handler.js +11 -9
- package/dist/handlers/add-knowledge-candidates/handler.js.map +1 -1
- package/dist/handlers/add-knowledge-candidates/tool.js +4 -4
- package/dist/handlers/add-knowledge-candidates/tool.js.map +1 -1
- package/dist/handlers/cache-status/tool.js +1 -1
- package/dist/handlers/cache-status/tool.js.map +1 -1
- package/dist/handlers/create-memo/handler.js +25 -14
- package/dist/handlers/create-memo/handler.js.map +1 -1
- package/dist/handlers/create-memo/tool.js +6 -6
- package/dist/handlers/create-memo/tool.js.map +1 -1
- package/dist/handlers/create-note/handler.js +19 -9
- package/dist/handlers/create-note/handler.js.map +1 -1
- package/dist/handlers/create-note/tool.js +4 -4
- package/dist/handlers/create-note/tool.js.map +1 -1
- package/dist/handlers/delete-skill-sheet-project/handler.js +7 -2
- package/dist/handlers/delete-skill-sheet-project/handler.js.map +1 -1
- package/dist/handlers/delete-skill-sheet-project/tool.js +2 -2
- package/dist/handlers/delete-skill-sheet-project/tool.js.map +1 -1
- package/dist/handlers/discard-pending-candidate/handler.js +9 -7
- package/dist/handlers/discard-pending-candidate/handler.js.map +1 -1
- package/dist/handlers/discard-pending-candidate/tool.js +6 -3
- package/dist/handlers/discard-pending-candidate/tool.js.map +1 -1
- package/dist/handlers/get-categories/handler.js +4 -4
- package/dist/handlers/get-categories/handler.js.map +1 -1
- package/dist/handlers/get-categories/tool.js +1 -1
- package/dist/handlers/get-categories/tool.js.map +1 -1
- package/dist/handlers/get-memo/handler.js +11 -11
- package/dist/handlers/get-memo/handler.js.map +1 -1
- package/dist/handlers/get-memo/tool.js +2 -2
- package/dist/handlers/get-memo/tool.js.map +1 -1
- package/dist/handlers/get-note/handler.js +16 -16
- package/dist/handlers/get-note/handler.js.map +1 -1
- package/dist/handlers/get-note/tool.js +2 -2
- package/dist/handlers/get-note/tool.js.map +1 -1
- package/dist/handlers/get-session-transcript/handler.js +3 -3
- package/dist/handlers/get-session-transcript/handler.js.map +1 -1
- package/dist/handlers/get-session-transcript/tool.js +4 -4
- package/dist/handlers/get-session-transcript/tool.js.map +1 -1
- package/dist/handlers/get-skill-sheet/handler.js +29 -29
- package/dist/handlers/get-skill-sheet/handler.js.map +1 -1
- package/dist/handlers/get-skill-sheet/tool.js +1 -1
- package/dist/handlers/get-skill-sheet/tool.js.map +1 -1
- package/dist/handlers/list-pending-candidates/tool.js +2 -2
- package/dist/handlers/list-pending-candidates/tool.js.map +1 -1
- package/dist/handlers/save-pending-candidate/handler.js +12 -9
- package/dist/handlers/save-pending-candidate/handler.js.map +1 -1
- package/dist/handlers/save-pending-candidate/tool.js +6 -6
- package/dist/handlers/save-pending-candidate/tool.js.map +1 -1
- package/dist/handlers/scan-sessions/tool.js +3 -3
- package/dist/handlers/scan-sessions/tool.js.map +1 -1
- package/dist/handlers/search-memo/handler.js +8 -8
- package/dist/handlers/search-memo/handler.js.map +1 -1
- package/dist/handlers/search-memo/tool.js +8 -8
- package/dist/handlers/search-memo/tool.js.map +1 -1
- package/dist/handlers/search-notes/handler.js +9 -9
- package/dist/handlers/search-notes/handler.js.map +1 -1
- package/dist/handlers/search-notes/tool.js +5 -5
- package/dist/handlers/search-notes/tool.js.map +1 -1
- package/dist/handlers/sync-remote-memos/handler.js +9 -5
- package/dist/handlers/sync-remote-memos/handler.js.map +1 -1
- package/dist/handlers/sync-remote-memos/tool.js +3 -3
- package/dist/handlers/sync-remote-memos/tool.js.map +1 -1
- package/dist/handlers/update-memo/handler.js +22 -11
- package/dist/handlers/update-memo/handler.js.map +1 -1
- package/dist/handlers/update-memo/tool.js +8 -8
- package/dist/handlers/update-memo/tool.js.map +1 -1
- package/dist/handlers/update-note/handler.js +23 -13
- package/dist/handlers/update-note/handler.js.map +1 -1
- package/dist/handlers/update-note/tool.js +5 -5
- package/dist/handlers/update-note/tool.js.map +1 -1
- package/dist/handlers/update-skill-sheet-basic-info/handler.js +6 -1
- package/dist/handlers/update-skill-sheet-basic-info/handler.js.map +1 -1
- package/dist/handlers/update-skill-sheet-basic-info/tool.js +5 -5
- package/dist/handlers/update-skill-sheet-basic-info/tool.js.map +1 -1
- package/dist/handlers/update-skill-sheet-self-pr/handler.js +6 -1
- package/dist/handlers/update-skill-sheet-self-pr/handler.js.map +1 -1
- package/dist/handlers/update-skill-sheet-self-pr/tool.js +2 -2
- package/dist/handlers/update-skill-sheet-self-pr/tool.js.map +1 -1
- package/dist/handlers/update-skill-sheet-skills/handler.js +7 -2
- package/dist/handlers/update-skill-sheet-skills/handler.js.map +1 -1
- package/dist/handlers/update-skill-sheet-skills/tool.js +7 -7
- package/dist/handlers/update-skill-sheet-skills/tool.js.map +1 -1
- package/dist/handlers/upsert-skill-sheet-project/handler.js +5 -5
- package/dist/handlers/upsert-skill-sheet-project/handler.js.map +1 -1
- package/dist/handlers/upsert-skill-sheet-project/tool.js +16 -16
- package/dist/handlers/upsert-skill-sheet-project/tool.js.map +1 -1
- package/dist/http.js +149 -0
- package/dist/http.js.map +1 -0
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/schemas/tool-input.js +97 -80
- package/dist/schemas/tool-input.js.map +1 -1
- package/dist/server.js +20 -21
- package/dist/server.js.map +1 -1
- package/dist/services/api/client.js +9 -4
- package/dist/services/api/client.js.map +1 -1
- package/dist/services/api/memo.js +3 -3
- package/dist/services/api/memo.js.map +1 -1
- package/dist/services/api/note.js +3 -3
- package/dist/services/api/note.js.map +1 -1
- package/dist/services/api/skill-sheet.js +2 -2
- package/dist/services/api/skill-sheet.js.map +1 -1
- package/dist/services/local-cache/index.js +2 -2
- package/dist/services/local-cache/index.js.map +1 -1
- package/dist/tool.js +8 -8
- package/dist/tool.js.map +1 -1
- package/dist/types/constants.js +12 -12
- package/dist/types/constants.js.map +1 -1
- package/docs/directory-submission.md +91 -0
- package/docs/privacy-policy.md +60 -0
- package/docs/tools.md +59 -0
- package/docs/usage-examples.md +83 -0
- package/package.json +6 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/handlers/create-memo/handler.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAG7E,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,IAAyC,EACzC,SAAoB;IAEpB,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/handlers/create-memo/handler.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,33 +2,33 @@ import { handleCreateMemo } from './handler.js';
|
|
|
2
2
|
export const createMemoTool = {
|
|
3
3
|
definition: {
|
|
4
4
|
name: 'paput_create_memo',
|
|
5
|
-
description: 'PaPut
|
|
5
|
+
description: 'Create a PaPut memo. Use this when the user explicitly wants to save a memo directly, not when adding reusable knowledge candidates to the pending queue.',
|
|
6
6
|
inputSchema: {
|
|
7
7
|
type: 'object',
|
|
8
8
|
properties: {
|
|
9
9
|
title: {
|
|
10
10
|
type: 'string',
|
|
11
|
-
description: '
|
|
11
|
+
description: 'Memo title',
|
|
12
12
|
},
|
|
13
13
|
body: {
|
|
14
14
|
type: 'string',
|
|
15
|
-
description: '
|
|
15
|
+
description: 'Memo body',
|
|
16
16
|
},
|
|
17
17
|
is_public: {
|
|
18
18
|
type: 'boolean',
|
|
19
|
-
description: '
|
|
19
|
+
description: 'Whether to publish the memo',
|
|
20
20
|
default: false,
|
|
21
21
|
},
|
|
22
22
|
created_at: {
|
|
23
23
|
type: 'string',
|
|
24
|
-
description: '
|
|
24
|
+
description: 'Memo creation timestamp in ISO 8601 format, for example 2026-05-30T12:34:56Z',
|
|
25
25
|
},
|
|
26
26
|
categories: {
|
|
27
27
|
type: 'array',
|
|
28
28
|
items: {
|
|
29
29
|
type: 'string',
|
|
30
30
|
},
|
|
31
|
-
description: '
|
|
31
|
+
description: 'Memo categories',
|
|
32
32
|
},
|
|
33
33
|
},
|
|
34
34
|
required: ['title', 'body'],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool.js","sourceRoot":"","sources":["../../../src/handlers/create-memo/tool.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAEhD,MAAM,CAAC,MAAM,cAAc,GAAgB;IACzC,UAAU,EAAE;QACV,IAAI,EAAE,mBAAmB;QACzB,WAAW,
|
|
1
|
+
{"version":3,"file":"tool.js","sourceRoot":"","sources":["../../../src/handlers/create-memo/tool.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAEhD,MAAM,CAAC,MAAM,cAAc,GAAgB;IACzC,UAAU,EAAE;QACV,IAAI,EAAE,mBAAmB;QACzB,WAAW,EACT,2JAA2J;QAC7J,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,YAAY;iBAC1B;gBACD,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,WAAW;iBACzB;gBACD,SAAS,EAAE;oBACT,IAAI,EAAE,SAAS;oBACf,WAAW,EAAE,6BAA6B;oBAC1C,OAAO,EAAE,KAAK;iBACf;gBACD,UAAU,EAAE;oBACV,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,8EAA8E;iBACjF;gBACD,UAAU,EAAE;oBACV,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE;wBACL,IAAI,EAAE,QAAQ;qBACf;oBACD,WAAW,EAAE,iBAAiB;iBAC/B;aACF;YACD,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC;SAC5B;KACF;IACD,OAAO,EAAE,gBAAgB;CAC1B,CAAC"}
|
|
@@ -5,30 +5,30 @@ export async function handleCreateNote(args, apiClient) {
|
|
|
5
5
|
content: [
|
|
6
6
|
{
|
|
7
7
|
type: 'text',
|
|
8
|
-
text: '
|
|
8
|
+
text: 'Missing parameters',
|
|
9
9
|
},
|
|
10
10
|
],
|
|
11
11
|
isError: true,
|
|
12
12
|
};
|
|
13
13
|
}
|
|
14
|
-
//
|
|
14
|
+
// Validate parameters
|
|
15
15
|
if (typeof args.title !== 'string') {
|
|
16
16
|
return {
|
|
17
17
|
content: [
|
|
18
18
|
{
|
|
19
19
|
type: 'text',
|
|
20
|
-
text: '
|
|
20
|
+
text: 'Title must be a string',
|
|
21
21
|
},
|
|
22
22
|
],
|
|
23
23
|
isError: true,
|
|
24
24
|
};
|
|
25
25
|
}
|
|
26
|
-
//
|
|
26
|
+
// Build parameters
|
|
27
27
|
const params = {
|
|
28
28
|
title: args.title,
|
|
29
29
|
is_public: typeof args.is_public === 'boolean' ? args.is_public : false,
|
|
30
30
|
};
|
|
31
|
-
//
|
|
31
|
+
// Process memos
|
|
32
32
|
if (Array.isArray(args.memo_ids)) {
|
|
33
33
|
params.memos = args.memo_ids
|
|
34
34
|
.filter((id) => typeof id === 'number')
|
|
@@ -41,28 +41,38 @@ export async function handleCreateNote(args, apiClient) {
|
|
|
41
41
|
content: [
|
|
42
42
|
{
|
|
43
43
|
type: 'text',
|
|
44
|
-
text:
|
|
44
|
+
text: `Failed to create note: ${result.error || 'Unknown error'}`,
|
|
45
45
|
},
|
|
46
46
|
],
|
|
47
47
|
isError: true,
|
|
48
48
|
};
|
|
49
49
|
}
|
|
50
50
|
return {
|
|
51
|
+
structuredContent: {
|
|
52
|
+
success: true,
|
|
53
|
+
action: 'created',
|
|
54
|
+
note: {
|
|
55
|
+
id: result.id || null,
|
|
56
|
+
title: params.title,
|
|
57
|
+
is_public: params.is_public,
|
|
58
|
+
memos: params.memos || [],
|
|
59
|
+
},
|
|
60
|
+
},
|
|
51
61
|
content: [
|
|
52
62
|
{
|
|
53
63
|
type: 'text',
|
|
54
|
-
text:
|
|
64
|
+
text: `Note "" was created successfully. ${result.id ? `ID: ${result.id}` : ''}`,
|
|
55
65
|
},
|
|
56
66
|
],
|
|
57
67
|
};
|
|
58
68
|
}
|
|
59
69
|
catch (error) {
|
|
60
|
-
const errorMessage = error instanceof Error ? error.message : '
|
|
70
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
61
71
|
return {
|
|
62
72
|
content: [
|
|
63
73
|
{
|
|
64
74
|
type: 'text',
|
|
65
|
-
text:
|
|
75
|
+
text: `Error while creating note: ${errorMessage}`,
|
|
66
76
|
},
|
|
67
77
|
],
|
|
68
78
|
isError: true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/handlers/create-note/handler.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAGxD,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,IAAyC,EACzC,SAAoB;IAEpB,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/handlers/create-note/handler.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAGxD,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,IAAyC,EACzC,SAAoB;IAEpB,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,oBAAoB;iBAC3B;aACF;YACD,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;IAED,sBAAsB;IACtB,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;QACnC,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,wBAAwB;iBAC/B;aACF;YACD,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;IAED,mBAAmB;IACnB,MAAM,MAAM,GAAqB;QAC/B,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,SAAS,EAAE,OAAO,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK;KACxE,CAAC;IAEF,gBAAgB;IAChB,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;QACjC,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ;aACzB,MAAM,CAAC,CAAC,EAAE,EAAgB,EAAE,CAAC,OAAO,EAAE,KAAK,QAAQ,CAAC;aACpD,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;IAC3B,CAAC;IAED,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QAEnD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,0BAA0B,MAAM,CAAC,KAAK,IAAI,eAAe,EAAE;qBAClE;iBACF;gBACD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QAED,OAAO;YACL,iBAAiB,EAAE;gBACjB,OAAO,EAAE,IAAI;gBACb,MAAM,EAAE,SAAS;gBACjB,IAAI,EAAE;oBACJ,EAAE,EAAE,MAAM,CAAC,EAAE,IAAI,IAAI;oBACrB,KAAK,EAAE,MAAM,CAAC,KAAK;oBACnB,SAAS,EAAE,MAAM,CAAC,SAAS;oBAC3B,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,EAAE;iBAC1B;aACF;YACD,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,qCAAqC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE;iBACjF;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,8BAA8B,YAAY,EAAE;iBACnD;aACF;YACD,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;AACH,CAAC"}
|
|
@@ -2,17 +2,17 @@ import { handleCreateNote } from './handler.js';
|
|
|
2
2
|
export const createNoteTool = {
|
|
3
3
|
definition: {
|
|
4
4
|
name: 'paput_create_note',
|
|
5
|
-
description: 'PaPut
|
|
5
|
+
description: 'Create a PaPut note that groups existing memos. Use this to organize related memo IDs into a named note.',
|
|
6
6
|
inputSchema: {
|
|
7
7
|
type: 'object',
|
|
8
8
|
properties: {
|
|
9
9
|
title: {
|
|
10
10
|
type: 'string',
|
|
11
|
-
description: '
|
|
11
|
+
description: 'Note title',
|
|
12
12
|
},
|
|
13
13
|
is_public: {
|
|
14
14
|
type: 'boolean',
|
|
15
|
-
description: '
|
|
15
|
+
description: 'Whether to publish the note',
|
|
16
16
|
default: false,
|
|
17
17
|
},
|
|
18
18
|
memo_ids: {
|
|
@@ -20,7 +20,7 @@ export const createNoteTool = {
|
|
|
20
20
|
items: {
|
|
21
21
|
type: 'number',
|
|
22
22
|
},
|
|
23
|
-
description: '
|
|
23
|
+
description: 'Memo IDs to include in the note',
|
|
24
24
|
},
|
|
25
25
|
},
|
|
26
26
|
required: ['title'],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool.js","sourceRoot":"","sources":["../../../src/handlers/create-note/tool.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAEhD,MAAM,CAAC,MAAM,cAAc,GAAgB;IACzC,UAAU,EAAE;QACV,IAAI,EAAE,mBAAmB;QACzB,WAAW,
|
|
1
|
+
{"version":3,"file":"tool.js","sourceRoot":"","sources":["../../../src/handlers/create-note/tool.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAEhD,MAAM,CAAC,MAAM,cAAc,GAAgB;IACzC,UAAU,EAAE;QACV,IAAI,EAAE,mBAAmB;QACzB,WAAW,EACT,0GAA0G;QAC5G,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,YAAY;iBAC1B;gBACD,SAAS,EAAE;oBACT,IAAI,EAAE,SAAS;oBACf,WAAW,EAAE,6BAA6B;oBAC1C,OAAO,EAAE,KAAK;iBACf;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE;wBACL,IAAI,EAAE,QAAQ;qBACf;oBACD,WAAW,EAAE,iCAAiC;iBAC/C;aACF;YACD,QAAQ,EAAE,CAAC,OAAO,CAAC;SACpB;KACF;IACD,OAAO,EAAE,gBAAgB;CAC1B,CAAC"}
|
|
@@ -5,7 +5,7 @@ export async function handler(params, apiClient) {
|
|
|
5
5
|
content: [
|
|
6
6
|
{
|
|
7
7
|
type: 'text',
|
|
8
|
-
text: '
|
|
8
|
+
text: 'Project ID to delete is required',
|
|
9
9
|
},
|
|
10
10
|
],
|
|
11
11
|
isError: true,
|
|
@@ -14,10 +14,15 @@ export async function handler(params, apiClient) {
|
|
|
14
14
|
const projectId = params.project_id;
|
|
15
15
|
await deleteSkillSheetProject(apiClient, projectId);
|
|
16
16
|
return {
|
|
17
|
+
structuredContent: {
|
|
18
|
+
success: true,
|
|
19
|
+
action: 'deleted',
|
|
20
|
+
project_id: projectId,
|
|
21
|
+
},
|
|
17
22
|
content: [
|
|
18
23
|
{
|
|
19
24
|
type: 'text',
|
|
20
|
-
text: '
|
|
25
|
+
text: 'Project was deleted',
|
|
21
26
|
},
|
|
22
27
|
],
|
|
23
28
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/handlers/delete-skill-sheet-project/handler.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAE,MAAM,mCAAmC,CAAC;AAE5E,MAAM,CAAC,KAAK,UAAU,OAAO,CAC3B,MAA2C,EAC3C,SAAoB;IAEpB,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,CAAC,UAAU,KAAK,QAAQ,EAAE,CAAC;QACrD,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/handlers/delete-skill-sheet-project/handler.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAE,MAAM,mCAAmC,CAAC;AAE5E,MAAM,CAAC,KAAK,UAAU,OAAO,CAC3B,MAA2C,EAC3C,SAAoB;IAEpB,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,CAAC,UAAU,KAAK,QAAQ,EAAE,CAAC;QACrD,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,kCAAkC;iBACzC;aACF;YACD,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;IAED,MAAM,SAAS,GAAG,MAAM,CAAC,UAAU,CAAC;IACpC,MAAM,uBAAuB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IAEpD,OAAO;QACL,iBAAiB,EAAE;YACjB,OAAO,EAAE,IAAI;YACb,MAAM,EAAE,SAAS;YACjB,UAAU,EAAE,SAAS;SACtB;QACD,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,qBAAqB;aAC5B;SACF;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -2,13 +2,13 @@ import { handler } from './handler.js';
|
|
|
2
2
|
export const deleteSkillSheetProjectTool = {
|
|
3
3
|
definition: {
|
|
4
4
|
name: 'paput_delete_skill_sheet_project',
|
|
5
|
-
description: 'PaPut
|
|
5
|
+
description: 'Delete a project from the PaPut skill sheet by project ID. Use only when the user intends to remove that skill sheet project.',
|
|
6
6
|
inputSchema: {
|
|
7
7
|
type: 'object',
|
|
8
8
|
properties: {
|
|
9
9
|
project_id: {
|
|
10
10
|
type: 'number',
|
|
11
|
-
description: '
|
|
11
|
+
description: 'Project ID to delete',
|
|
12
12
|
},
|
|
13
13
|
},
|
|
14
14
|
required: ['project_id'],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool.js","sourceRoot":"","sources":["../../../src/handlers/delete-skill-sheet-project/tool.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,MAAM,CAAC,MAAM,2BAA2B,GAAgB;IACtD,UAAU,EAAE;QACV,IAAI,EAAE,kCAAkC;QACxC,WAAW,
|
|
1
|
+
{"version":3,"file":"tool.js","sourceRoot":"","sources":["../../../src/handlers/delete-skill-sheet-project/tool.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,MAAM,CAAC,MAAM,2BAA2B,GAAgB;IACtD,UAAU,EAAE;QACV,IAAI,EAAE,kCAAkC;QACxC,WAAW,EACT,+HAA+H;QACjI,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,UAAU,EAAE;oBACV,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,sBAAsB;iBACpC;aACF;YACD,QAAQ,EAAE,CAAC,YAAY,CAAC;SACzB;KACF;IACD,OAAO;CACR,CAAC"}
|
|
@@ -2,7 +2,7 @@ import { updatePendingCandidate } from '../../services/local-cache/index.js';
|
|
|
2
2
|
export async function handleDiscardPendingCandidate(args, _apiClient) {
|
|
3
3
|
if (!args || typeof args.candidate_id !== 'string') {
|
|
4
4
|
return {
|
|
5
|
-
content: [{ type: 'text', text: 'candidate_id
|
|
5
|
+
content: [{ type: 'text', text: 'candidate_id is required' }],
|
|
6
6
|
isError: true,
|
|
7
7
|
};
|
|
8
8
|
}
|
|
@@ -15,20 +15,22 @@ export async function handleDiscardPendingCandidate(args, _apiClient) {
|
|
|
15
15
|
if (!updated) {
|
|
16
16
|
return {
|
|
17
17
|
content: [
|
|
18
|
-
{ type: 'text', text: '
|
|
18
|
+
{ type: 'text', text: 'Pending candidate to discard was not found' },
|
|
19
19
|
],
|
|
20
20
|
isError: true,
|
|
21
21
|
};
|
|
22
22
|
}
|
|
23
|
+
const result = {
|
|
24
|
+
discarded: true,
|
|
25
|
+
candidate_id: updated.id,
|
|
26
|
+
title: updated.title,
|
|
27
|
+
};
|
|
23
28
|
return {
|
|
29
|
+
structuredContent: result,
|
|
24
30
|
content: [
|
|
25
31
|
{
|
|
26
32
|
type: 'text',
|
|
27
|
-
text: JSON.stringify(
|
|
28
|
-
discarded: true,
|
|
29
|
-
candidate_id: updated.id,
|
|
30
|
-
title: updated.title,
|
|
31
|
-
}, null, 2),
|
|
33
|
+
text: JSON.stringify(result, null, 2),
|
|
32
34
|
},
|
|
33
35
|
],
|
|
34
36
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/handlers/discard-pending-candidate/handler.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,qCAAqC,CAAC;AAE7E,MAAM,CAAC,KAAK,UAAU,6BAA6B,CACjD,IAAyC,EACzC,UAAqB;IAErB,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,CAAC,YAAY,KAAK,QAAQ,EAAE,CAAC;QACnD,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/handlers/discard-pending-candidate/handler.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,qCAAqC,CAAC;AAE7E,MAAM,CAAC,KAAK,UAAU,6BAA6B,CACjD,IAAyC,EACzC,UAAqB;IAErB,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,CAAC,YAAY,KAAK,QAAQ,EAAE,CAAC;QACnD,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,0BAA0B,EAAE,CAAC;YAC7D,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;IAED,MAAM,OAAO,GAAG,sBAAsB,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QACxE,GAAG,SAAS;QACZ,MAAM,EAAE,WAAW;QACnB,gBAAgB,EAAE,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;QAC3E,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KACrC,CAAC,CAAC,CAAC;IAEJ,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO;YACL,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,4CAA4C,EAAE;aACrE;YACD,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAG;QACb,SAAS,EAAE,IAAI;QACf,YAAY,EAAE,OAAO,CAAC,EAAE;QACxB,KAAK,EAAE,OAAO,CAAC,KAAK;KACrB,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"}
|
|
@@ -2,12 +2,15 @@ import { handleDiscardPendingCandidate } from './handler.js';
|
|
|
2
2
|
export const discardPendingCandidateTool = {
|
|
3
3
|
definition: {
|
|
4
4
|
name: 'paput_discard_pending_candidate',
|
|
5
|
-
description: 'pending
|
|
5
|
+
description: 'Discard a pending knowledge candidate so it will not be saved as a PaPut memo. Use this for duplicates, low-value candidates, or candidates with sensitive/project-specific content.',
|
|
6
6
|
inputSchema: {
|
|
7
7
|
type: 'object',
|
|
8
8
|
properties: {
|
|
9
|
-
candidate_id: {
|
|
10
|
-
|
|
9
|
+
candidate_id: {
|
|
10
|
+
type: 'string',
|
|
11
|
+
description: 'Candidate ID to discard',
|
|
12
|
+
},
|
|
13
|
+
reason: { type: 'string', description: 'Reason for discarding' },
|
|
11
14
|
},
|
|
12
15
|
required: ['candidate_id'],
|
|
13
16
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool.js","sourceRoot":"","sources":["../../../src/handlers/discard-pending-candidate/tool.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,6BAA6B,EAAE,MAAM,cAAc,CAAC;AAE7D,MAAM,CAAC,MAAM,2BAA2B,GAAgB;IACtD,UAAU,EAAE;QACV,IAAI,EAAE,iCAAiC;QACvC,WAAW,
|
|
1
|
+
{"version":3,"file":"tool.js","sourceRoot":"","sources":["../../../src/handlers/discard-pending-candidate/tool.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,6BAA6B,EAAE,MAAM,cAAc,CAAC;AAE7D,MAAM,CAAC,MAAM,2BAA2B,GAAgB;IACtD,UAAU,EAAE;QACV,IAAI,EAAE,iCAAiC;QACvC,WAAW,EACT,sLAAsL;QACxL,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,YAAY,EAAE;oBACZ,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,yBAAyB;iBACvC;gBACD,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,uBAAuB,EAAE;aACjE;YACD,QAAQ,EAAE,CAAC,cAAc,CAAC;SAC3B;KACF;IACD,OAAO,EAAE,6BAA6B;CACvC,CAAC"}
|
|
@@ -10,7 +10,7 @@ export async function handleGetCategories(args, apiClient) {
|
|
|
10
10
|
content: [
|
|
11
11
|
{
|
|
12
12
|
type: 'text',
|
|
13
|
-
text: '
|
|
13
|
+
text: 'No categories are registered.',
|
|
14
14
|
},
|
|
15
15
|
],
|
|
16
16
|
};
|
|
@@ -25,18 +25,18 @@ export async function handleGetCategories(args, apiClient) {
|
|
|
25
25
|
content: [
|
|
26
26
|
{
|
|
27
27
|
type: 'text',
|
|
28
|
-
text:
|
|
28
|
+
text: `Available categories:\n\n${categoryList}`,
|
|
29
29
|
},
|
|
30
30
|
],
|
|
31
31
|
};
|
|
32
32
|
}
|
|
33
33
|
catch (error) {
|
|
34
|
-
const errorMessage = error instanceof Error ? error.message : '
|
|
34
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
35
35
|
return {
|
|
36
36
|
content: [
|
|
37
37
|
{
|
|
38
38
|
type: 'text',
|
|
39
|
-
text:
|
|
39
|
+
text: `Error while fetching categories: ${errorMessage}`,
|
|
40
40
|
},
|
|
41
41
|
],
|
|
42
42
|
isError: true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/handlers/get-categories/handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAG/D,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,IAAyC,EACzC,SAAoB;IAEpB,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,MAAM,aAAa,CAAC,SAAS,CAAC,CAAC;QAElD,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5B,OAAO;gBACL,iBAAiB,EAAE;oBACjB,UAAU;iBACX;gBACD,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE
|
|
1
|
+
{"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/handlers/get-categories/handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAG/D,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,IAAyC,EACzC,SAAoB;IAEpB,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,MAAM,aAAa,CAAC,SAAS,CAAC,CAAC;QAElD,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5B,OAAO;gBACL,iBAAiB,EAAE;oBACjB,UAAU;iBACX;gBACD,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,+BAA+B;qBACtC;iBACF;aACF,CAAC;QACJ,CAAC;QAED,MAAM,YAAY,GAAG,UAAU;aAC5B,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,KAAK,QAAQ,CAAC,IAAI,SAAS,QAAQ,CAAC,EAAE,GAAG,CAAC;aAC5D,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,OAAO;YACL,iBAAiB,EAAE;gBACjB,UAAU;aACX;YACD,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,4BAA4B,YAAY,EAAE;iBACjD;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,oCAAoC,YAAY,EAAE;iBACzD;aACF;YACD,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;AACH,CAAC"}
|
|
@@ -2,7 +2,7 @@ import { handleGetCategories } from './handler.js';
|
|
|
2
2
|
export const getCategoriesTool = {
|
|
3
3
|
definition: {
|
|
4
4
|
name: 'paput_get_categories',
|
|
5
|
-
description: 'PaPut
|
|
5
|
+
description: 'List available PaPut categories. Use this before assigning categories or checking whether a category already exists.',
|
|
6
6
|
inputSchema: {
|
|
7
7
|
type: 'object',
|
|
8
8
|
properties: {},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool.js","sourceRoot":"","sources":["../../../src/handlers/get-categories/tool.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAEnD,MAAM,CAAC,MAAM,iBAAiB,GAAgB;IAC5C,UAAU,EAAE;QACV,IAAI,EAAE,sBAAsB;QAC5B,WAAW,
|
|
1
|
+
{"version":3,"file":"tool.js","sourceRoot":"","sources":["../../../src/handlers/get-categories/tool.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAEnD,MAAM,CAAC,MAAM,iBAAiB,GAAgB;IAC5C,UAAU,EAAE;QACV,IAAI,EAAE,sBAAsB;QAC5B,WAAW,EACT,sHAAsH;QACxH,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,EAAE;SACf;KACF;IACD,OAAO,EAAE,mBAAmB;CAC7B,CAAC"}
|
|
@@ -5,7 +5,7 @@ export async function handleGetMemo(args, apiClient) {
|
|
|
5
5
|
content: [
|
|
6
6
|
{
|
|
7
7
|
type: 'text',
|
|
8
|
-
text: '
|
|
8
|
+
text: 'Memo ID is required.',
|
|
9
9
|
},
|
|
10
10
|
],
|
|
11
11
|
isError: true,
|
|
@@ -17,13 +17,13 @@ export async function handleGetMemo(args, apiClient) {
|
|
|
17
17
|
try {
|
|
18
18
|
const result = await getMemo(apiClient, params);
|
|
19
19
|
const categories = result.categories.length > 0
|
|
20
|
-
?
|
|
20
|
+
? `Categories: ${result.categories.map((c) => c.name).join(', ')}`
|
|
21
21
|
: '';
|
|
22
|
-
const visibility = result.is_public ? '
|
|
23
|
-
const likeInfo =
|
|
24
|
-
const bookmarkInfo =
|
|
22
|
+
const visibility = result.is_public ? 'Public' : 'Private';
|
|
23
|
+
const likeInfo = `Likes: ${result.like_count}${result.has_liked ? ' (liked)' : ''}`;
|
|
24
|
+
const bookmarkInfo = `Bookmarks: ${result.bookmark_count}${result.has_bookmarked ? ' (bookmarked)' : ''}`;
|
|
25
25
|
const projects = result.projects.length > 0
|
|
26
|
-
?
|
|
26
|
+
? `Project: ${result.projects.map((p) => p.title).join(', ')}`
|
|
27
27
|
: '';
|
|
28
28
|
const memoDetail = `【${result.title}】(${visibility})
|
|
29
29
|
${categories}
|
|
@@ -34,9 +34,9 @@ ${result.body}
|
|
|
34
34
|
${likeInfo}
|
|
35
35
|
${bookmarkInfo}
|
|
36
36
|
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
37
|
+
Created at: ${result.created_at}
|
|
38
|
+
Updated at: ${result.updated_at}
|
|
39
|
+
Author: ${result.user.name} (@${result.user.user_id})`;
|
|
40
40
|
return {
|
|
41
41
|
structuredContent: {
|
|
42
42
|
memo: result,
|
|
@@ -50,12 +50,12 @@ ${bookmarkInfo}
|
|
|
50
50
|
};
|
|
51
51
|
}
|
|
52
52
|
catch (error) {
|
|
53
|
-
const errorMessage = error instanceof Error ? error.message : '
|
|
53
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
54
54
|
return {
|
|
55
55
|
content: [
|
|
56
56
|
{
|
|
57
57
|
type: 'text',
|
|
58
|
-
text:
|
|
58
|
+
text: `Error while fetching memo: ${errorMessage}`,
|
|
59
59
|
},
|
|
60
60
|
],
|
|
61
61
|
isError: true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/handlers/get-memo/handler.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAGrD,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,IAAyC,EACzC,SAAoB;IAEpB,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,CAAC,EAAE,KAAK,QAAQ,EAAE,CAAC;QACzC,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/handlers/get-memo/handler.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAGrD,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,IAAyC,EACzC,SAAoB;IAEpB,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,CAAC,EAAE,KAAK,QAAQ,EAAE,CAAC;QACzC,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,sBAAsB;iBAC7B;aACF;YACD,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAkB;QAC5B,EAAE,EAAE,IAAI,CAAC,EAAE;KACZ,CAAC;IAEF,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QAEhD,MAAM,UAAU,GACd,MAAM,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC;YAC1B,CAAC,CAAC,eAAe,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YAClE,CAAC,CAAC,EAAE,CAAC;QACT,MAAM,UAAU,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;QAC3D,MAAM,QAAQ,GAAG,UAAU,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QACpF,MAAM,YAAY,GAAG,cAAc,MAAM,CAAC,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QAC1G,MAAM,QAAQ,GACZ,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC;YACxB,CAAC,CAAC,YAAY,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YAC9D,CAAC,CAAC,EAAE,CAAC;QAET,MAAM,UAAU,GAAG,IAAI,MAAM,CAAC,KAAK,KAAK,UAAU;EACpD,UAAU;EACV,QAAQ;;EAER,MAAM,CAAC,IAAI;;EAEX,QAAQ;EACR,YAAY;;cAEA,MAAM,CAAC,UAAU;cACjB,MAAM,CAAC,UAAU;UACrB,MAAM,CAAC,IAAI,CAAC,IAAI,MAAM,MAAM,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC;QAEnD,OAAO;YACL,iBAAiB,EAAE;gBACjB,IAAI,EAAE,MAAM;aACb;YACD,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,UAAU;iBACjB;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,8BAA8B,YAAY,EAAE;iBACnD;aACF;YACD,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;AACH,CAAC"}
|
|
@@ -2,13 +2,13 @@ import { handleGetMemo } from './handler.js';
|
|
|
2
2
|
export const getMemoTool = {
|
|
3
3
|
definition: {
|
|
4
4
|
name: 'paput_get_memo',
|
|
5
|
-
description: 'PaPut
|
|
5
|
+
description: 'Get the full details of a PaPut memo by ID, including body, categories, projects, visibility, author, and engagement metadata.',
|
|
6
6
|
inputSchema: {
|
|
7
7
|
type: 'object',
|
|
8
8
|
properties: {
|
|
9
9
|
id: {
|
|
10
10
|
type: 'number',
|
|
11
|
-
description: '
|
|
11
|
+
description: 'Memo ID',
|
|
12
12
|
},
|
|
13
13
|
},
|
|
14
14
|
required: ['id'],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool.js","sourceRoot":"","sources":["../../../src/handlers/get-memo/tool.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,MAAM,CAAC,MAAM,WAAW,GAAgB;IACtC,UAAU,EAAE;QACV,IAAI,EAAE,gBAAgB;QACtB,WAAW,
|
|
1
|
+
{"version":3,"file":"tool.js","sourceRoot":"","sources":["../../../src/handlers/get-memo/tool.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,MAAM,CAAC,MAAM,WAAW,GAAgB;IACtC,UAAU,EAAE;QACV,IAAI,EAAE,gBAAgB;QACtB,WAAW,EACT,gIAAgI;QAClI,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,EAAE,EAAE;oBACF,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,SAAS;iBACvB;aACF;YACD,QAAQ,EAAE,CAAC,IAAI,CAAC;SACjB;KACF;IACD,OAAO,EAAE,aAAa;CACvB,CAAC"}
|
|
@@ -5,19 +5,19 @@ export async function handleGetNote(args, apiClient) {
|
|
|
5
5
|
content: [
|
|
6
6
|
{
|
|
7
7
|
type: 'text',
|
|
8
|
-
text: '
|
|
8
|
+
text: 'Missing parameters',
|
|
9
9
|
},
|
|
10
10
|
],
|
|
11
11
|
isError: true,
|
|
12
12
|
};
|
|
13
13
|
}
|
|
14
|
-
//
|
|
14
|
+
// Validate parameters
|
|
15
15
|
if (typeof args.id !== 'number') {
|
|
16
16
|
return {
|
|
17
17
|
content: [
|
|
18
18
|
{
|
|
19
19
|
type: 'text',
|
|
20
|
-
text: 'ID
|
|
20
|
+
text: 'ID must be a number',
|
|
21
21
|
},
|
|
22
22
|
],
|
|
23
23
|
isError: true,
|
|
@@ -28,23 +28,23 @@ export async function handleGetNote(args, apiClient) {
|
|
|
28
28
|
};
|
|
29
29
|
try {
|
|
30
30
|
const note = await getNote(apiClient, params);
|
|
31
|
-
const visibility = note.is_public ? '
|
|
31
|
+
const visibility = note.is_public ? 'Public' : 'Private';
|
|
32
32
|
const memoList = note.memos
|
|
33
33
|
.map((memo) => {
|
|
34
|
-
const categories = memo.categories.map((c) => c.name).join(', ') || '
|
|
35
|
-
const memoVisibility = memo.is_public ? '
|
|
36
|
-
return ` - [${memo.id}] ${memo.title} (${memoVisibility})\n
|
|
34
|
+
const categories = memo.categories.map((c) => c.name).join(', ') || 'None';
|
|
35
|
+
const memoVisibility = memo.is_public ? 'Public' : 'Private';
|
|
36
|
+
return ` - [${memo.id}] ${memo.title} (${memoVisibility})\n Categories: ${categories}\n ${memo.body.substring(0, 100)}${memo.body.length > 100 ? '...' : ''}`;
|
|
37
37
|
})
|
|
38
38
|
.join('\n\n');
|
|
39
|
-
const content =
|
|
39
|
+
const content = `Note details:
|
|
40
40
|
ID: ${note.id}
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
41
|
+
Title: ${note.title}
|
|
42
|
+
Visibility: ${visibility}
|
|
43
|
+
Created at: ${note.created_at}
|
|
44
|
+
Updated at: ${note.updated_at}
|
|
45
45
|
|
|
46
|
-
|
|
47
|
-
${memoList || '
|
|
46
|
+
Attached memos (${note.memos.length}):
|
|
47
|
+
${memoList || ' None'}`;
|
|
48
48
|
return {
|
|
49
49
|
structuredContent: {
|
|
50
50
|
note,
|
|
@@ -58,12 +58,12 @@ ${memoList || ' なし'}`;
|
|
|
58
58
|
};
|
|
59
59
|
}
|
|
60
60
|
catch (error) {
|
|
61
|
-
const errorMessage = error instanceof Error ? error.message : '
|
|
61
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
62
62
|
return {
|
|
63
63
|
content: [
|
|
64
64
|
{
|
|
65
65
|
type: 'text',
|
|
66
|
-
text:
|
|
66
|
+
text: `Error while fetching note: ${errorMessage}`,
|
|
67
67
|
},
|
|
68
68
|
],
|
|
69
69
|
isError: true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/handlers/get-note/handler.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAGrD,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,IAAyC,EACzC,SAAoB;IAEpB,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/handlers/get-note/handler.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAGrD,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,IAAyC,EACzC,SAAoB;IAEpB,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,oBAAoB;iBAC3B;aACF;YACD,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;IAED,sBAAsB;IACtB,IAAI,OAAO,IAAI,CAAC,EAAE,KAAK,QAAQ,EAAE,CAAC;QAChC,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,qBAAqB;iBAC5B;aACF;YACD,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAkB;QAC5B,EAAE,EAAE,IAAI,CAAC,EAAE;KACZ,CAAC;IAEF,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QAE9C,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;QACzD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK;aACxB,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YACZ,MAAM,UAAU,GACd,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC;YAC1D,MAAM,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;YAC7D,OAAO,QAAQ,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,KAAK,KAAK,cAAc,sBAAsB,UAAU,SAAS,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QACvK,CAAC,CAAC;aACD,IAAI,CAAC,MAAM,CAAC,CAAC;QAEhB,MAAM,OAAO,GAAG;MACd,IAAI,CAAC,EAAE;SACJ,IAAI,CAAC,KAAK;cACL,UAAU;cACV,IAAI,CAAC,UAAU;cACf,IAAI,CAAC,UAAU;;kBAEX,IAAI,CAAC,KAAK,CAAC,MAAM;EACjC,QAAQ,IAAI,QAAQ,EAAE,CAAC;QAErB,OAAO;YACL,iBAAiB,EAAE;gBACjB,IAAI;aACL;YACD,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,OAAO;iBACd;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,8BAA8B,YAAY,EAAE;iBACnD;aACF;YACD,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;AACH,CAAC"}
|
|
@@ -2,13 +2,13 @@ import { handleGetNote } from './handler.js';
|
|
|
2
2
|
export const getNoteTool = {
|
|
3
3
|
definition: {
|
|
4
4
|
name: 'paput_get_note',
|
|
5
|
-
description: 'PaPut
|
|
5
|
+
description: 'Get the full details of a PaPut note by ID, including the memos attached to that note.',
|
|
6
6
|
inputSchema: {
|
|
7
7
|
type: 'object',
|
|
8
8
|
properties: {
|
|
9
9
|
id: {
|
|
10
10
|
type: 'number',
|
|
11
|
-
description: '
|
|
11
|
+
description: 'Note ID',
|
|
12
12
|
},
|
|
13
13
|
},
|
|
14
14
|
required: ['id'],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool.js","sourceRoot":"","sources":["../../../src/handlers/get-note/tool.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,MAAM,CAAC,MAAM,WAAW,GAAgB;IACtC,UAAU,EAAE;QACV,IAAI,EAAE,gBAAgB;QACtB,WAAW,
|
|
1
|
+
{"version":3,"file":"tool.js","sourceRoot":"","sources":["../../../src/handlers/get-note/tool.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,MAAM,CAAC,MAAM,WAAW,GAAgB;IACtC,UAAU,EAAE;QACV,IAAI,EAAE,gBAAgB;QACtB,WAAW,EACT,wFAAwF;QAC1F,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,EAAE,EAAE;oBACF,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,SAAS;iBACvB;aACF;YACD,QAAQ,EAAE,CAAC,IAAI,CAAC;SACjB;KACF;IACD,OAAO,EAAE,aAAa;CACvB,CAAC"}
|
|
@@ -2,7 +2,7 @@ import { getSessionTranscript } from '../../services/session/index.js';
|
|
|
2
2
|
export async function handleGetSessionTranscript(args, _apiClient) {
|
|
3
3
|
if (!args || typeof args.session_id !== 'string') {
|
|
4
4
|
return {
|
|
5
|
-
content: [{ type: 'text', text: 'session_id
|
|
5
|
+
content: [{ type: 'text', text: 'session_id is required' }],
|
|
6
6
|
isError: true,
|
|
7
7
|
};
|
|
8
8
|
}
|
|
@@ -11,7 +11,7 @@ export async function handleGetSessionTranscript(args, _apiClient) {
|
|
|
11
11
|
content: [
|
|
12
12
|
{
|
|
13
13
|
type: 'text',
|
|
14
|
-
text: 'source
|
|
14
|
+
text: 'source must be claude or codex',
|
|
15
15
|
},
|
|
16
16
|
],
|
|
17
17
|
isError: true,
|
|
@@ -24,7 +24,7 @@ export async function handleGetSessionTranscript(args, _apiClient) {
|
|
|
24
24
|
content: [
|
|
25
25
|
{
|
|
26
26
|
type: 'text',
|
|
27
|
-
text:
|
|
27
|
+
text: `Session not found: ${args.source}:${args.session_id}`,
|
|
28
28
|
},
|
|
29
29
|
],
|
|
30
30
|
isError: true,
|