paput-mcp 2.10.6 → 3.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.
- package/README.md +5 -5
- package/dist/cli/rules/paput-knowledge-capture.md +1 -1
- package/dist/cli/setup-ai.js.map +1 -1
- package/dist/cli/skills/paput-capture/SKILL.md +9 -6
- package/dist/cli/skills/paput-init/SKILL.md +6 -7
- package/dist/cli/skills/paput-save/SKILL.md +1 -0
- package/dist/handlers/add-knowledge-candidates/handler.js +48 -6
- package/dist/handlers/add-knowledge-candidates/handler.js.map +1 -1
- package/dist/handlers/backfill-memo-embeddings/handler.js +46 -0
- package/dist/handlers/backfill-memo-embeddings/handler.js.map +1 -0
- package/dist/handlers/backfill-memo-embeddings/index.js +3 -0
- package/dist/handlers/backfill-memo-embeddings/index.js.map +1 -0
- package/dist/handlers/backfill-memo-embeddings/tool.js +13 -0
- package/dist/handlers/backfill-memo-embeddings/tool.js.map +1 -0
- package/dist/handlers/cache-status/handler.js +0 -2
- package/dist/handlers/cache-status/handler.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-memos/handler.js.map +1 -1
- package/dist/handlers/find-similar-memos/handler.js +79 -0
- package/dist/handlers/find-similar-memos/handler.js.map +1 -0
- package/dist/handlers/find-similar-memos/index.js +3 -0
- package/dist/handlers/find-similar-memos/index.js.map +1 -0
- package/dist/handlers/find-similar-memos/tool.js +23 -0
- package/dist/handlers/find-similar-memos/tool.js.map +1 -0
- package/dist/handlers/index.js +2 -1
- package/dist/handlers/index.js.map +1 -1
- package/dist/handlers/save-pending-candidate/handler.js +1 -4
- package/dist/handlers/save-pending-candidate/handler.js.map +1 -1
- package/dist/schemas/tool-input.js +13 -16
- package/dist/schemas/tool-input.js.map +1 -1
- package/dist/services/api/memo.js +36 -0
- package/dist/services/api/memo.js.map +1 -1
- package/dist/services/local-cache/index.js +1 -78
- package/dist/services/local-cache/index.js.map +1 -1
- package/dist/tool.js +3 -3
- package/dist/tool.js.map +1 -1
- package/dist/types/find-similar-memos.js +2 -0
- package/dist/types/find-similar-memos.js.map +1 -0
- package/dist/types/index.js +1 -0
- package/dist/types/index.js.map +1 -1
- package/docs/tools.md +32 -20
- package/docs/usage-examples.md +23 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -17,8 +17,8 @@ PaPut MCP Server connects [PaPut](https://paput.io) to AI assistants through the
|
|
|
17
17
|
|
|
18
18
|
- Scan local Claude and Codex session logs
|
|
19
19
|
- Add reusable knowledge candidates to a local pending queue
|
|
20
|
-
-
|
|
21
|
-
- Prevent duplicate candidates with fingerprints
|
|
20
|
+
- Reject near-duplicate candidates automatically using semantic search against existing memos
|
|
21
|
+
- Prevent duplicate pending candidates with fingerprints
|
|
22
22
|
- Derive a local capture policy from discarded candidates
|
|
23
23
|
- Save pending candidates to PaPut only after explicit user approval
|
|
24
24
|
- Preserve the source session updated timestamp as the PaPut memo creation timestamp
|
|
@@ -128,8 +128,7 @@ npx -y paput-mcp setup-ai --codex-only
|
|
|
128
128
|
|
|
129
129
|
Generated skills:
|
|
130
130
|
|
|
131
|
-
- `paput-init` - Initialize PaPut usage
|
|
132
|
-
- `paput-sync` - Sync existing PaPut memos into the local cache.
|
|
131
|
+
- `paput-init` - Initialize PaPut usage and inspect unprocessed sessions.
|
|
133
132
|
- `paput-capture` - Extract reusable knowledge candidates from the current conversation or a specified topic and add them to pending.
|
|
134
133
|
- `paput-save` - Review pending candidates first, then save only candidates explicitly approved by the user.
|
|
135
134
|
- `paput-analyze-discard-policy` - Analyze discarded candidates and save a local capture policy used by future captures.
|
|
@@ -201,6 +200,8 @@ Detailed public tool documentation is available in [docs/tools.md](docs/tools.md
|
|
|
201
200
|
|
|
202
201
|
- `paput_create_memos` - Create multiple PaPut memos in one call and return created memo IDs.
|
|
203
202
|
- `paput_search_memo` - Search PaPut memos by keyword, category, IDs, date, visibility, or pagination.
|
|
203
|
+
- `paput_find_similar_memos` - Find memos semantically similar to a natural-language query (vector search). Finds related memos even when the wording differs.
|
|
204
|
+
- `paput_backfill_memo_embeddings` - Generate embeddings for existing memos so they appear in similarity results. Needed once after semantic search is enabled; new and updated memos are embedded automatically.
|
|
204
205
|
- `paput_get_memo` - Get full details for a memo.
|
|
205
206
|
- `paput_update_memo` - Update an existing memo.
|
|
206
207
|
- `paput_get_categories` - List available categories.
|
|
@@ -243,7 +244,6 @@ These tools are local CLI mode only. They are not exposed by the remote HTTP MCP
|
|
|
243
244
|
server.
|
|
244
245
|
|
|
245
246
|
- `paput_cache_status` - Inspect the local cache state.
|
|
246
|
-
- `paput_sync_remote_memos` - Sync existing PaPut memos into the local cache.
|
|
247
247
|
- `paput_scan_sessions` - Scan local Claude/Codex session logs.
|
|
248
248
|
- `paput_get_session_transcript` - Read a session transcript.
|
|
249
249
|
- `paput_add_knowledge_candidates` - Add extracted knowledge candidates to pending.
|
|
@@ -6,7 +6,7 @@ Before adding any candidate to pending, always follow the `paput-capture` workfl
|
|
|
6
6
|
|
|
7
7
|
Only keep technical knowledge, decision criteria, and procedures that can be reused in other projects. Do not keep project-specific specifications, implementation details, operational rules, code, secrets, or customer data.
|
|
8
8
|
|
|
9
|
-
When candidates exist, use the `paput-capture` workflow to check duplicates
|
|
9
|
+
When candidates exist, use the `paput-capture` workflow to check duplicates before adding them: semantically similar existing memos with `paput_find_similar_memos` and existing pending candidates. If a candidate is reusable, non-duplicate, non-sensitive, not project-specific, and allowed by the capture policy, add it to pending without waiting for user approval. After adding it, briefly report the title, categories, and candidate ID.
|
|
10
10
|
|
|
11
11
|
Use `paput_save_pending_candidate` only when the user explicitly approves saving a pending candidate to PaPut.
|
|
12
12
|
|
package/dist/cli/setup-ai.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup-ai.js","sourceRoot":"","sources":["../../src/cli/setup-ai.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,SAAS,EACT,SAAS,EACT,YAAY,EACZ,WAAW,EACX,MAAM,EACN,WAAW,EACX,aAAa,GACd,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAezC,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AACtE,MAAM,QAAQ,GAAG,aAAa,CAAC,IAAI,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAEpE,SAAS,UAAU,CAAC,QAAgB,EAAE,YAAoB;IACxD,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAC;IACxE,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,4BAA4B,YAAY,EAAE,CAAC,CAAC;IAC9D,CAAC;IACD,MAAM,WAAW,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IAC7B,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IACtB,MAAM,IAAI,
|
|
1
|
+
{"version":3,"file":"setup-ai.js","sourceRoot":"","sources":["../../src/cli/setup-ai.ts"],"names":[],"mappings":"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"}
|
|
@@ -19,12 +19,13 @@ Extract reusable knowledge candidates from the current conversation or a user-sp
|
|
|
19
19
|
1. Read the local capture policy with `paput_get_capture_policy`.
|
|
20
20
|
2. Check existing pending candidates with `paput_list_pending_candidates`.
|
|
21
21
|
3. Extract only reusable knowledge from the current conversation or the user-specified topic.
|
|
22
|
-
4.
|
|
23
|
-
5.
|
|
24
|
-
6.
|
|
25
|
-
7.
|
|
26
|
-
8.
|
|
27
|
-
9.
|
|
22
|
+
4. For each candidate, check semantically similar existing memos with `paput_find_similar_memos`, using the candidate title or a one-line gist as the query. Treat results with a score around 0.85 or higher as near-duplicates, and results around 0.7 to 0.85 as overlap that needs comparison against the candidate body. Use `paput_search_memo` in addition when the candidate centers on an exact name or identifier.
|
|
23
|
+
5. Apply the capture policy when deciding whether to add, reject, or ask about candidates. If no policy exists yet, use the Candidate Rules and Rejected Candidates sections below.
|
|
24
|
+
6. Keep each candidate focused on one reusable idea, and prepare a title, Markdown body, categories, and visibility.
|
|
25
|
+
7. Self-review the candidate against the Quality Bar below. If the body is only a short summary or conclusion, enrich it before adding.
|
|
26
|
+
8. Do not add candidates that may duplicate existing memos or pending candidates. Suggest reusing or updating the existing memo or candidate instead.
|
|
27
|
+
9. If a candidate is reusable, non-duplicate, non-sensitive, not project-specific, and allowed by the capture policy, add it to pending with `paput_add_knowledge_candidates` without waiting for user approval.
|
|
28
|
+
10. After adding candidates, briefly report the title, categories, and candidate ID.
|
|
28
29
|
|
|
29
30
|
## Candidate Rules
|
|
30
31
|
|
|
@@ -70,3 +71,5 @@ Do not add these to pending:
|
|
|
70
71
|
- Add safe candidates to pending without waiting for user approval. If a candidate may be duplicate, sensitive, project-specific, too narrow, or ambiguous, present the concern and ask before adding it.
|
|
71
72
|
- Candidates created from past sessions use the source session updated timestamp as the PaPut memo creation timestamp when saved.
|
|
72
73
|
- If there are no candidates, say that no reusable knowledge was found.
|
|
74
|
+
- If `paput_find_similar_memos` is unavailable or fails, fall back to `paput_search_memo` instead of skipping the duplicate check.
|
|
75
|
+
- `paput_add_knowledge_candidates` also runs a semantic near-duplicate check internally and rejects candidates whose top match score is 0.9 or higher, so review its `duplicate_details` in the result.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: paput-init
|
|
3
|
-
description: Use this to initialize PaPut usage
|
|
3
|
+
description: Use this to initialize PaPut usage and inspect unprocessed sessions.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# PaPut Init
|
|
@@ -10,12 +10,11 @@ Initialize PaPut knowledge capture.
|
|
|
10
10
|
## Steps
|
|
11
11
|
|
|
12
12
|
1. Check the local cache with `paput_cache_status`.
|
|
13
|
-
2.
|
|
14
|
-
3.
|
|
15
|
-
4.
|
|
16
|
-
5.
|
|
17
|
-
6.
|
|
18
|
-
7. After adding pending candidates, briefly report added candidates, duplicates, and rejected candidates.
|
|
13
|
+
2. Scan unprocessed Claude/Codex sessions with `paput_scan_sessions`.
|
|
14
|
+
3. If unprocessed sessions exist, report the count and a short summary to the user.
|
|
15
|
+
4. Only when the user wants it, read the transcript with `paput_get_session_transcript` and create candidates that meet the extraction criteria below.
|
|
16
|
+
5. Before adding candidates with `paput_add_knowledge_candidates`, check that they do not contain project-specific specifications, implementation details, operational rules, code, customer data, or secrets. Duplicate checks against existing memos run automatically inside `paput_add_knowledge_candidates` using semantic search.
|
|
17
|
+
6. After adding pending candidates, briefly report added candidates, duplicates, and rejected candidates.
|
|
19
18
|
|
|
20
19
|
## Extraction Criteria
|
|
21
20
|
|
|
@@ -21,3 +21,4 @@ Review pending knowledge candidates first, then save only candidates explicitly
|
|
|
21
21
|
- Save multiple candidates only when the user explicitly asks to save all of them.
|
|
22
22
|
- If the user asks to modify a title or body, apply the override when saving.
|
|
23
23
|
- For ambiguous or likely duplicate candidates, present not saving as an option.
|
|
24
|
+
- When a candidate has no similar memo information, check `paput_find_similar_memos` with the candidate title before saving and surface high-score matches to the user.
|
|
@@ -1,6 +1,10 @@
|
|
|
1
|
+
import { findSimilarMemos } from '../../services/api/memo.js';
|
|
1
2
|
import { addKnowledgeCandidates } from '../../services/local-cache/index.js';
|
|
2
3
|
import { resolveProjectsForCwd } from '../../services/project-match/index.js';
|
|
3
4
|
import { scanSessions } from '../../services/session/index.js';
|
|
5
|
+
// この値以上のスコアの既存メモがある候補は、ほぼ重複として自動的に追加しない
|
|
6
|
+
const NEAR_DUPLICATE_SCORE = 0.9;
|
|
7
|
+
const SIMILAR_MEMO_LIMIT = 5;
|
|
4
8
|
export async function handleAddKnowledgeCandidates(args, apiClient) {
|
|
5
9
|
if (!args || typeof args.session_id !== 'string') {
|
|
6
10
|
return {
|
|
@@ -56,15 +60,32 @@ export async function handleAddKnowledgeCandidates(args, apiClient) {
|
|
|
56
60
|
const sourceSession = scanSessions([source], true).find((session) => session.session_id === args.session_id);
|
|
57
61
|
const sourceSessionUpdatedAt = sourceSession?.updated_at;
|
|
58
62
|
const projects = await resolveProjects(apiClient, sourceSession?.cwd);
|
|
59
|
-
const
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
+
const semanticDuplicates = [];
|
|
64
|
+
const candidatesToAdd = [];
|
|
65
|
+
for (const candidate of candidates) {
|
|
66
|
+
const similarMemos = await findSimilarMemosForCandidate(apiClient, candidate.title, candidate.body);
|
|
67
|
+
if (similarMemos.length > 0 &&
|
|
68
|
+
similarMemos[0].score >= NEAR_DUPLICATE_SCORE) {
|
|
69
|
+
semanticDuplicates.push({
|
|
70
|
+
title: candidate.title,
|
|
71
|
+
reason: 'Semantically near-duplicate of an existing memo',
|
|
72
|
+
similar_memos: similarMemos,
|
|
73
|
+
});
|
|
74
|
+
continue;
|
|
75
|
+
}
|
|
76
|
+
candidatesToAdd.push({
|
|
77
|
+
...candidate,
|
|
78
|
+
projects,
|
|
79
|
+
similar_memos: similarMemos,
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
const result = addKnowledgeCandidates(source, args.session_id, candidatesToAdd, sourceSessionUpdatedAt);
|
|
83
|
+
const duplicateDetails = [...semanticDuplicates, ...result.duplicates];
|
|
63
84
|
const response = {
|
|
64
85
|
added: result.added.length,
|
|
65
|
-
duplicates:
|
|
86
|
+
duplicates: duplicateDetails.length,
|
|
66
87
|
candidates: result.added,
|
|
67
|
-
duplicate_details:
|
|
88
|
+
duplicate_details: duplicateDetails,
|
|
68
89
|
};
|
|
69
90
|
return {
|
|
70
91
|
structuredContent: response,
|
|
@@ -85,4 +106,25 @@ async function resolveProjects(apiClient, cwd) {
|
|
|
85
106
|
return [];
|
|
86
107
|
}
|
|
87
108
|
}
|
|
109
|
+
// 類似判定に失敗しても候補追加自体は止めない(similar_memos なしで追加する)
|
|
110
|
+
async function findSimilarMemosForCandidate(apiClient, title, body) {
|
|
111
|
+
const query = `${title}\n${body.slice(0, 200)}`;
|
|
112
|
+
try {
|
|
113
|
+
const result = await findSimilarMemos(apiClient, {
|
|
114
|
+
query,
|
|
115
|
+
limit: SIMILAR_MEMO_LIMIT,
|
|
116
|
+
});
|
|
117
|
+
if (!result.success || !result.memos)
|
|
118
|
+
return [];
|
|
119
|
+
return result.memos.map((memo) => ({
|
|
120
|
+
id: memo.id,
|
|
121
|
+
title: memo.title,
|
|
122
|
+
score: memo.score,
|
|
123
|
+
}));
|
|
124
|
+
}
|
|
125
|
+
catch (error) {
|
|
126
|
+
console.error('Failed to find similar memos for candidate:', error);
|
|
127
|
+
return [];
|
|
128
|
+
}
|
|
129
|
+
}
|
|
88
130
|
//# sourceMappingURL=handler.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/handlers/add-knowledge-candidates/handler.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,qCAAqC,CAAC;AAC7E,OAAO,EAAE,qBAAqB,EAAE,MAAM,uCAAuC,CAAC;AAC9E,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/handlers/add-knowledge-candidates/handler.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { backfillMemoEmbeddings } from '../../services/api/memo.js';
|
|
2
|
+
export async function handleBackfillMemoEmbeddings(_args, apiClient) {
|
|
3
|
+
try {
|
|
4
|
+
const result = await backfillMemoEmbeddings(apiClient);
|
|
5
|
+
if (!result.success) {
|
|
6
|
+
return {
|
|
7
|
+
content: [
|
|
8
|
+
{
|
|
9
|
+
type: 'text',
|
|
10
|
+
text: `Failed to backfill memo embeddings: ${result.error || 'Unknown error'}`,
|
|
11
|
+
},
|
|
12
|
+
],
|
|
13
|
+
isError: true,
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
const hasMoreNote = result.has_more
|
|
17
|
+
? ' More memos remain; call this tool again to continue.'
|
|
18
|
+
: ' All memos are now processed.';
|
|
19
|
+
return {
|
|
20
|
+
structuredContent: {
|
|
21
|
+
processed: result.processed,
|
|
22
|
+
failed: result.failed,
|
|
23
|
+
has_more: result.has_more,
|
|
24
|
+
},
|
|
25
|
+
content: [
|
|
26
|
+
{
|
|
27
|
+
type: 'text',
|
|
28
|
+
text: `Embeddings generated for ${result.processed} memos (${result.failed} failed).${hasMoreNote}`,
|
|
29
|
+
},
|
|
30
|
+
],
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
catch (error) {
|
|
34
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
35
|
+
return {
|
|
36
|
+
content: [
|
|
37
|
+
{
|
|
38
|
+
type: 'text',
|
|
39
|
+
text: `Error while backfilling memo embeddings: ${errorMessage}`,
|
|
40
|
+
},
|
|
41
|
+
],
|
|
42
|
+
isError: true,
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=handler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/handlers/backfill-memo-embeddings/handler.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AAEpE,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAChD,KAA0C,EAC1C,SAAoB;IAEpB,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,sBAAsB,CAAC,SAAS,CAAC,CAAC;QAEvD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,uCAAuC,MAAM,CAAC,KAAK,IAAI,eAAe,EAAE;qBAC/E;iBACF;gBACD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QAED,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ;YACjC,CAAC,CAAC,uDAAuD;YACzD,CAAC,CAAC,+BAA+B,CAAC;QAEpC,OAAO;YACL,iBAAiB,EAAE;gBACjB,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,QAAQ,EAAE,MAAM,CAAC,QAAQ;aAC1B;YACD,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,4BAA4B,MAAM,CAAC,SAAS,WAAW,MAAM,CAAC,MAAM,YAAY,WAAW,EAAE;iBACpG;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,4CAA4C,YAAY,EAAE;iBACjE;aACF;YACD,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/handlers/backfill-memo-embeddings/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { handleBackfillMemoEmbeddings } from './handler.js';
|
|
2
|
+
export const backfillMemoEmbeddingsTool = {
|
|
3
|
+
definition: {
|
|
4
|
+
name: 'paput_backfill_memo_embeddings',
|
|
5
|
+
description: 'Generate embeddings for existing PaPut memos that do not have one yet, so they become searchable with paput_find_similar_memos. Processes up to 100 memos per call; call repeatedly while has_more is true. New and updated memos get embeddings automatically, so this is mainly needed once after enabling semantic search.',
|
|
6
|
+
inputSchema: {
|
|
7
|
+
type: 'object',
|
|
8
|
+
properties: {},
|
|
9
|
+
},
|
|
10
|
+
},
|
|
11
|
+
handler: handleBackfillMemoEmbeddings,
|
|
12
|
+
};
|
|
13
|
+
//# sourceMappingURL=tool.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool.js","sourceRoot":"","sources":["../../../src/handlers/backfill-memo-embeddings/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,+TAA+T;QACjU,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,EAAE;SACf;KACF;IACD,OAAO,EAAE,4BAA4B;CACtC,CAAC"}
|
|
@@ -5,7 +5,6 @@ export async function handleCacheStatus(_args, _apiClient) {
|
|
|
5
5
|
const capturePolicy = readCapturePolicy();
|
|
6
6
|
const status = {
|
|
7
7
|
cache_dir: getCacheDir(),
|
|
8
|
-
memos: cache.memos.length,
|
|
9
8
|
pending: pendingCount,
|
|
10
9
|
saved_candidates: cache.pending.filter((candidate) => candidate.status === 'saved').length,
|
|
11
10
|
discarded_candidates: cache.pending.filter((candidate) => candidate.status === 'discarded').length,
|
|
@@ -15,7 +14,6 @@ export async function handleCacheStatus(_args, _apiClient) {
|
|
|
15
14
|
updated_at: capturePolicy.updated_at,
|
|
16
15
|
},
|
|
17
16
|
processed_sessions: cache.sessions.length,
|
|
18
|
-
last_remote_sync_at: cache.config.last_remote_sync_at || null,
|
|
19
17
|
};
|
|
20
18
|
return {
|
|
21
19
|
structuredContent: status,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/handlers/cache-status/handler.ts"],"names":[],"mappings":"AACA,OAAO,EACL,WAAW,EACX,SAAS,EACT,iBAAiB,GAClB,MAAM,qCAAqC,CAAC;AAE7C,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,KAA0C,EAC1C,UAAqB;IAErB,MAAM,KAAK,GAAG,SAAS,EAAE,CAAC;IAC1B,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CACvC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,KAAK,SAAS,CAC9C,CAAC,MAAM,CAAC;IACT,MAAM,aAAa,GAAG,iBAAiB,EAAE,CAAC;IAC1C,MAAM,MAAM,GAAG;QACb,SAAS,EAAE,WAAW,EAAE;QACxB,
|
|
1
|
+
{"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/handlers/cache-status/handler.ts"],"names":[],"mappings":"AACA,OAAO,EACL,WAAW,EACX,SAAS,EACT,iBAAiB,GAClB,MAAM,qCAAqC,CAAC;AAE7C,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,KAA0C,EAC1C,UAAqB;IAErB,MAAM,KAAK,GAAG,SAAS,EAAE,CAAC;IAC1B,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CACvC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,KAAK,SAAS,CAC9C,CAAC,MAAM,CAAC;IACT,MAAM,aAAa,GAAG,iBAAiB,EAAE,CAAC;IAC1C,MAAM,MAAM,GAAG;QACb,SAAS,EAAE,WAAW,EAAE;QACxB,OAAO,EAAE,YAAY;QACrB,gBAAgB,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,CACpC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,KAAK,OAAO,CAC5C,CAAC,MAAM;QACR,oBAAoB,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,CACxC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,KAAK,WAAW,CAChD,CAAC,MAAM;QACR,cAAc,EAAE;YACd,IAAI,EAAE,aAAa,CAAC,IAAI;YACxB,MAAM,EAAE,aAAa,CAAC,MAAM;YAC5B,UAAU,EAAE,aAAa,CAAC,UAAU;SACrC;QACD,kBAAkB,EAAE,KAAK,CAAC,QAAQ,CAAC,MAAM;KAC1C,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,7 +2,7 @@ import { handleCacheStatus } from './handler.js';
|
|
|
2
2
|
export const cacheStatusTool = {
|
|
3
3
|
definition: {
|
|
4
4
|
name: 'paput_cache_status',
|
|
5
|
-
description: 'Inspect the local PaPut cache, including
|
|
5
|
+
description: 'Inspect the local PaPut cache, including pending knowledge candidates, processed sessions, and the capture policy.',
|
|
6
6
|
inputSchema: {
|
|
7
7
|
type: 'object',
|
|
8
8
|
properties: {},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool.js","sourceRoot":"","sources":["../../../src/handlers/cache-status/tool.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEjD,MAAM,CAAC,MAAM,eAAe,GAAgB;IAC1C,UAAU,EAAE;QACV,IAAI,EAAE,oBAAoB;QAC1B,WAAW,EACT,
|
|
1
|
+
{"version":3,"file":"tool.js","sourceRoot":"","sources":["../../../src/handlers/cache-status/tool.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEjD,MAAM,CAAC,MAAM,eAAe,GAAgB;IAC1C,UAAU,EAAE;QACV,IAAI,EAAE,oBAAoB;QAC1B,WAAW,EACT,oHAAoH;QACtH,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,EAAE;SACf;KACF;IACD,OAAO,EAAE,iBAAiB;CAC3B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/handlers/create-memos/handler.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAEzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAEpD,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,IAAyC,EACzC,SAAoB,EACpB,OAAqB;IAErB,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACxC,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,wBAAwB,EAAE,CAAC;YAC3D,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAA4D,EAAE,CAAC;IAC3E,MAAM,UAAU,GAAuB,EAAE,CAAC;IAC1C,MAAM,eAAe,GAAa,EAAE,CAAC;IAErC,KAAK,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;QACpD,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;YACpD,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,6BAA6B,EAAE,CAAC,CAAC;YAC7D,SAAS;QACX,CAAC;QAED,MAAM,QAAQ,GAAG,OAAkC,CAAC;QACpD,IACE,OAAO,QAAQ,CAAC,KAAK,KAAK,QAAQ;YAClC,OAAO,QAAQ,CAAC,IAAI,KAAK,QAAQ,EACjC,CAAC;YACD,MAAM,CAAC,IAAI,CAAC;gBACV,KAAK;gBACL,KAAK,EAAE,OAAO,QAAQ,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;gBACtE,KAAK,EAAE,gCAAgC;aACxC,CAAC,CAAC;YACH,SAAS;QACX,CAAC;QAED,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,qBAAqB,CAAC,QAAQ,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;YACzE,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACxB,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,IAAI,CAAC;gBACV,KAAK;gBACL,KAAK,
|
|
1
|
+
{"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/handlers/create-memos/handler.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import { findSimilarMemos } from '../../services/api/memo.js';
|
|
2
|
+
export async function handleFindSimilarMemos(args, apiClient) {
|
|
3
|
+
if (!args || typeof args.query !== 'string' || args.query.trim() === '') {
|
|
4
|
+
return {
|
|
5
|
+
content: [
|
|
6
|
+
{
|
|
7
|
+
type: 'text',
|
|
8
|
+
text: 'query is required.',
|
|
9
|
+
},
|
|
10
|
+
],
|
|
11
|
+
isError: true,
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
const query = args.query;
|
|
15
|
+
const limit = typeof args.limit === 'number' ? args.limit : undefined;
|
|
16
|
+
try {
|
|
17
|
+
const result = await findSimilarMemos(apiClient, { query, limit });
|
|
18
|
+
if (!result.success) {
|
|
19
|
+
return {
|
|
20
|
+
content: [
|
|
21
|
+
{
|
|
22
|
+
type: 'text',
|
|
23
|
+
text: `Failed to find similar memos: ${result.error || 'Unknown error'}`,
|
|
24
|
+
},
|
|
25
|
+
],
|
|
26
|
+
isError: true,
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
if (!result.memos || result.memos.length === 0) {
|
|
30
|
+
return {
|
|
31
|
+
structuredContent: {
|
|
32
|
+
memos: [],
|
|
33
|
+
},
|
|
34
|
+
content: [
|
|
35
|
+
{
|
|
36
|
+
type: 'text',
|
|
37
|
+
text: 'No similar memos found. If memos exist but embeddings have not been generated yet, run paput_backfill_memo_embeddings first.',
|
|
38
|
+
},
|
|
39
|
+
],
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
const memoList = result.memos
|
|
43
|
+
.map((memo) => {
|
|
44
|
+
const categories = memo.categories.length > 0
|
|
45
|
+
? `Categories: ${memo.categories.map((c) => c.name).join(', ')}`
|
|
46
|
+
: '';
|
|
47
|
+
const visibility = memo.is_public ? 'Public' : 'Private';
|
|
48
|
+
return `【${memo.title}】(ID: ${memo.id}, ${visibility}, Score: ${memo.score.toFixed(3)})
|
|
49
|
+
${categories}
|
|
50
|
+
${memo.body}
|
|
51
|
+
(Created at: ${memo.created_at})`;
|
|
52
|
+
})
|
|
53
|
+
.join('\n\n---\n\n');
|
|
54
|
+
return {
|
|
55
|
+
structuredContent: {
|
|
56
|
+
memos: result.memos,
|
|
57
|
+
},
|
|
58
|
+
content: [
|
|
59
|
+
{
|
|
60
|
+
type: 'text',
|
|
61
|
+
text: `${result.memos.length} similar memos found:\n\n${memoList}`,
|
|
62
|
+
},
|
|
63
|
+
],
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
catch (error) {
|
|
67
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
68
|
+
return {
|
|
69
|
+
content: [
|
|
70
|
+
{
|
|
71
|
+
type: 'text',
|
|
72
|
+
text: `Error while finding similar memos: ${errorMessage}`,
|
|
73
|
+
},
|
|
74
|
+
],
|
|
75
|
+
isError: true,
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
//# sourceMappingURL=handler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/handlers/find-similar-memos/handler.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/handlers/find-similar-memos/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { handleFindSimilarMemos } from './handler.js';
|
|
2
|
+
export const findSimilarMemosTool = {
|
|
3
|
+
definition: {
|
|
4
|
+
name: 'paput_find_similar_memos',
|
|
5
|
+
description: 'Find PaPut memos semantically similar to a natural-language query using vector search. Unlike paput_search_memo (keyword match), this finds memos with related meaning even when wording differs. Use this to discover related knowledge or check for near-duplicate memos before saving.',
|
|
6
|
+
inputSchema: {
|
|
7
|
+
type: 'object',
|
|
8
|
+
properties: {
|
|
9
|
+
query: {
|
|
10
|
+
type: 'string',
|
|
11
|
+
description: 'Natural-language query describing the topic or content to find',
|
|
12
|
+
},
|
|
13
|
+
limit: {
|
|
14
|
+
type: 'number',
|
|
15
|
+
description: 'Maximum number of memos to return (default 10, max 50)',
|
|
16
|
+
},
|
|
17
|
+
},
|
|
18
|
+
required: ['query'],
|
|
19
|
+
},
|
|
20
|
+
},
|
|
21
|
+
handler: handleFindSimilarMemos,
|
|
22
|
+
};
|
|
23
|
+
//# sourceMappingURL=tool.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool.js","sourceRoot":"","sources":["../../../src/handlers/find-similar-memos/tool.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAEtD,MAAM,CAAC,MAAM,oBAAoB,GAAgB;IAC/C,UAAU,EAAE;QACV,IAAI,EAAE,0BAA0B;QAChC,WAAW,EACT,2RAA2R;QAC7R,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,gEAAgE;iBACnE;gBACD,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,wDAAwD;iBACtE;aACF;YACD,QAAQ,EAAE,CAAC,OAAO,CAAC;SACpB;KACF;IACD,OAAO,EAAE,sBAAsB;CAChC,CAAC"}
|
package/dist/handlers/index.js
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
export * from './create-memos/index.js';
|
|
2
2
|
export * from './search-memo/index.js';
|
|
3
|
+
export * from './find-similar-memos/index.js';
|
|
4
|
+
export * from './backfill-memo-embeddings/index.js';
|
|
3
5
|
export * from './get-memo/index.js';
|
|
4
6
|
export * from './update-memo/index.js';
|
|
5
7
|
export * from './get-categories/index.js';
|
|
@@ -25,7 +27,6 @@ export * from './update-dashboard-analysis/index.js';
|
|
|
25
27
|
export * from './get-dashboard-analysis-context/index.js';
|
|
26
28
|
export * from './get-public-profile-context/index.js';
|
|
27
29
|
export * from './cache-status/index.js';
|
|
28
|
-
export * from './sync-remote-memos/index.js';
|
|
29
30
|
export * from './scan-sessions/index.js';
|
|
30
31
|
export * from './get-session-transcript/index.js';
|
|
31
32
|
export * from './add-knowledge-candidates/index.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/handlers/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,0CAA0C,CAAC;AACzD,cAAc,uCAAuC,CAAC;AACtD,cAAc,8CAA8C,CAAC;AAC7D,cAAc,sCAAsC,CAAC;AACrD,cAAc,uCAAuC,CAAC;AACtD,cAAc,uCAAuC,CAAC;AACtD,cAAc,oDAAoD,CAAC;AACnE,cAAc,kDAAkD,CAAC;AACjE,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,mCAAmC,CAAC;AAClD,cAAc,sCAAsC,CAAC;AACrD,cAAc,2CAA2C,CAAC;AAC1D,cAAc,uCAAuC,CAAC;AACtD,cAAc,yBAAyB,CAAC;AACxC,cAAc,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/handlers/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,qCAAqC,CAAC;AACpD,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,0CAA0C,CAAC;AACzD,cAAc,uCAAuC,CAAC;AACtD,cAAc,8CAA8C,CAAC;AAC7D,cAAc,sCAAsC,CAAC;AACrD,cAAc,uCAAuC,CAAC;AACtD,cAAc,uCAAuC,CAAC;AACtD,cAAc,oDAAoD,CAAC;AACnE,cAAc,kDAAkD,CAAC;AACjE,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,mCAAmC,CAAC;AAClD,cAAc,sCAAsC,CAAC;AACrD,cAAc,2CAA2C,CAAC;AAC1D,cAAc,uCAAuC,CAAC;AACtD,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,mCAAmC,CAAC;AAClD,cAAc,qCAAqC,CAAC;AACpD,cAAc,oCAAoC,CAAC;AACnD,cAAc,mCAAmC,CAAC;AAClD,cAAc,sCAAsC,CAAC;AACrD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,uCAAuC,CAAC;AACtD,cAAc,kCAAkC,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { createMemo, searchMemos } from '../../services/api/memo.js';
|
|
2
|
-
import { createFingerprint, readCache,
|
|
2
|
+
import { createFingerprint, readCache, updatePendingCandidate, } from '../../services/local-cache/index.js';
|
|
3
3
|
export async function handleSavePendingCandidate(args, apiClient) {
|
|
4
4
|
if (!args || typeof args.candidate_id !== 'string') {
|
|
5
5
|
return {
|
|
@@ -60,9 +60,6 @@ export async function handleSavePendingCandidate(args, apiClient) {
|
|
|
60
60
|
};
|
|
61
61
|
}
|
|
62
62
|
const savedMemo = await findSavedMemo(apiClient, title, body);
|
|
63
|
-
if (savedMemo) {
|
|
64
|
-
upsertCachedMemos([toCachedMemo(savedMemo)]);
|
|
65
|
-
}
|
|
66
63
|
const updated = updatePendingCandidate(candidate.id, (item) => ({
|
|
67
64
|
...item,
|
|
68
65
|
title,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/handlers/save-pending-candidate/handler.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,EACL,iBAAiB,EACjB,SAAS,EACT,
|
|
1
|
+
{"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/handlers/save-pending-candidate/handler.ts"],"names":[],"mappings":"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"}
|
|
@@ -63,10 +63,7 @@ const knowledgeCandidateSchema = z.object({
|
|
|
63
63
|
const createMemoInputSchema = z.object({
|
|
64
64
|
title: z.string().describe('Memo title'),
|
|
65
65
|
body: z.string().describe('Memo body'),
|
|
66
|
-
is_public: z
|
|
67
|
-
.boolean()
|
|
68
|
-
.default(false)
|
|
69
|
-
.describe('Whether to publish the memo'),
|
|
66
|
+
is_public: z.boolean().default(false).describe('Whether to publish the memo'),
|
|
70
67
|
created_at: z
|
|
71
68
|
.string()
|
|
72
69
|
.describe('Memo creation timestamp in ISO 8601 format, for example 2026-05-30T12:34:56Z')
|
|
@@ -146,6 +143,18 @@ const toolInputSchemas = {
|
|
|
146
143
|
.describe('Number of items to return per page (max 100)')
|
|
147
144
|
.optional(),
|
|
148
145
|
}),
|
|
146
|
+
paput_find_similar_memos: z.object({
|
|
147
|
+
query: z
|
|
148
|
+
.string()
|
|
149
|
+
.describe('Natural-language query describing the topic or content to find'),
|
|
150
|
+
limit: z
|
|
151
|
+
.number()
|
|
152
|
+
.min(1)
|
|
153
|
+
.max(50)
|
|
154
|
+
.describe('Maximum number of memos to return (default 10, max 50)')
|
|
155
|
+
.optional(),
|
|
156
|
+
}),
|
|
157
|
+
paput_backfill_memo_embeddings: emptySchema,
|
|
149
158
|
paput_get_memo: z.object({
|
|
150
159
|
id: z.number().describe('Memo ID'),
|
|
151
160
|
}),
|
|
@@ -304,18 +313,6 @@ const toolInputSchemas = {
|
|
|
304
313
|
paput_get_dashboard_analysis_context: emptySchema,
|
|
305
314
|
paput_get_public_profile_context: emptySchema,
|
|
306
315
|
paput_cache_status: emptySchema,
|
|
307
|
-
paput_sync_remote_memos: z.object({
|
|
308
|
-
limit: z
|
|
309
|
-
.number()
|
|
310
|
-
.min(1)
|
|
311
|
-
.max(100)
|
|
312
|
-
.describe('Number of items per page. Maximum 100.')
|
|
313
|
-
.optional(),
|
|
314
|
-
max_pages: z
|
|
315
|
-
.number()
|
|
316
|
-
.describe('Maximum number of pages to fetch. Defaults to 20.')
|
|
317
|
-
.optional(),
|
|
318
|
-
}),
|
|
319
316
|
paput_scan_sessions: z.object({
|
|
320
317
|
sources: z
|
|
321
318
|
.array(z.enum(['claude', 'codex']))
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-input.js","sourceRoot":"","sources":["../../src/schemas/tool-input.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tool-input.js","sourceRoot":"","sources":["../../src/schemas/tool-input.ts"],"names":[],"mappings":"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"}
|
|
@@ -72,6 +72,42 @@ export async function searchMemos(client, params) {
|
|
|
72
72
|
};
|
|
73
73
|
}
|
|
74
74
|
}
|
|
75
|
+
export async function findSimilarMemos(client, params) {
|
|
76
|
+
try {
|
|
77
|
+
const queryParams = new URLSearchParams();
|
|
78
|
+
queryParams.append('query', params.query);
|
|
79
|
+
if (params.limit !== undefined)
|
|
80
|
+
queryParams.append('limit', params.limit.toString());
|
|
81
|
+
const data = await client.get(`/api/v1/mcp/memos/similar?${queryParams.toString()}`);
|
|
82
|
+
return {
|
|
83
|
+
success: true,
|
|
84
|
+
memos: data.memos,
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
catch (error) {
|
|
88
|
+
return {
|
|
89
|
+
success: false,
|
|
90
|
+
error: error instanceof Error ? error.message : 'Unknown error',
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
export async function backfillMemoEmbeddings(client) {
|
|
95
|
+
try {
|
|
96
|
+
const data = await client.post('/api/v1/mcp/memos/embeddings/backfill', {});
|
|
97
|
+
return {
|
|
98
|
+
success: true,
|
|
99
|
+
processed: data.processed,
|
|
100
|
+
failed: data.failed,
|
|
101
|
+
has_more: data.has_more,
|
|
102
|
+
};
|
|
103
|
+
}
|
|
104
|
+
catch (error) {
|
|
105
|
+
return {
|
|
106
|
+
success: false,
|
|
107
|
+
error: error instanceof Error ? error.message : 'Unknown error',
|
|
108
|
+
};
|
|
109
|
+
}
|
|
110
|
+
}
|
|
75
111
|
export async function getMemo(client, params) {
|
|
76
112
|
return client.get(`/api/v1/mcp/memo/${params.id}`);
|
|
77
113
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memo.js","sourceRoot":"","sources":["../../../src/services/api/memo.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"memo.js","sourceRoot":"","sources":["../../../src/services/api/memo.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,6 @@ import { createHash, randomUUID } from 'node:crypto';
|
|
|
2
2
|
import { existsSync, mkdirSync, readFileSync, renameSync, statSync, writeFileSync, } from 'node:fs';
|
|
3
3
|
import { homedir } from 'node:os';
|
|
4
4
|
import { dirname, join } from 'node:path';
|
|
5
|
-
const SIMILARITY_THRESHOLD = 0.78;
|
|
6
5
|
const CAPTURE_POLICY_FILE = 'capture-policy.md';
|
|
7
6
|
export function getCacheDir() {
|
|
8
7
|
return expandHome(process.env.PAPUT_CACHE_DIR ||
|
|
@@ -20,25 +19,11 @@ export function createFingerprint(title, body) {
|
|
|
20
19
|
.update(`${normalizeText(title)}\n${normalizeText(body)}`)
|
|
21
20
|
.digest('hex');
|
|
22
21
|
}
|
|
23
|
-
export function toCachedMemo(memo) {
|
|
24
|
-
return {
|
|
25
|
-
id: memo.id,
|
|
26
|
-
title: memo.title,
|
|
27
|
-
body: memo.body,
|
|
28
|
-
categories: memo.categories?.map((category) => category.name) || [],
|
|
29
|
-
is_public: memo.is_public ?? false,
|
|
30
|
-
created_at: memo.created_at,
|
|
31
|
-
updated_at: memo.updated_at,
|
|
32
|
-
fingerprint: createFingerprint(memo.title, memo.body),
|
|
33
|
-
};
|
|
34
|
-
}
|
|
35
22
|
export function readCache() {
|
|
36
23
|
ensureCacheDir();
|
|
37
24
|
return {
|
|
38
|
-
memos: readJsonFile('memos.json', []),
|
|
39
25
|
pending: readJsonlFile('pending.jsonl'),
|
|
40
26
|
sessions: readJsonFile('sessions.json', []),
|
|
41
|
-
config: readJsonFile('config.json', {}),
|
|
42
27
|
};
|
|
43
28
|
}
|
|
44
29
|
export function readCapturePolicy() {
|
|
@@ -71,9 +56,6 @@ export function getDiscardedCandidates(limit = 50) {
|
|
|
71
56
|
.sort((a, b) => b.updated_at.localeCompare(a.updated_at))
|
|
72
57
|
.slice(0, limit);
|
|
73
58
|
}
|
|
74
|
-
export function writeMemos(memos) {
|
|
75
|
-
writeJsonFile('memos.json', dedupeMemos(memos));
|
|
76
|
-
}
|
|
77
59
|
export function writePending(pending) {
|
|
78
60
|
writeJsonlFile('pending.jsonl', pending);
|
|
79
61
|
}
|
|
@@ -84,38 +66,16 @@ export function writeSessions(sessions) {
|
|
|
84
66
|
}
|
|
85
67
|
writeJsonFile('sessions.json', [...unique.values()]);
|
|
86
68
|
}
|
|
87
|
-
export function writeConfig(config) {
|
|
88
|
-
writeJsonFile('config.json', config);
|
|
89
|
-
}
|
|
90
|
-
export function upsertCachedMemos(newMemos) {
|
|
91
|
-
const cache = readCache();
|
|
92
|
-
const byId = new Map(cache.memos.map((memo) => [memo.id, memo]));
|
|
93
|
-
for (const memo of newMemos) {
|
|
94
|
-
byId.set(memo.id, memo);
|
|
95
|
-
}
|
|
96
|
-
const memos = [...byId.values()].sort((a, b) => b.id - a.id);
|
|
97
|
-
writeMemos(memos);
|
|
98
|
-
return memos;
|
|
99
|
-
}
|
|
100
69
|
export function addKnowledgeCandidates(source, sessionId, candidates, sourceSessionUpdatedAt) {
|
|
101
70
|
const cache = readCache();
|
|
102
71
|
const pendingFingerprints = new Set(cache.pending
|
|
103
72
|
.filter((candidate) => candidate.status !== 'discarded')
|
|
104
73
|
.map((candidate) => candidate.fingerprint));
|
|
105
|
-
const memoFingerprints = new Set(cache.memos.map((memo) => memo.fingerprint));
|
|
106
74
|
const added = [];
|
|
107
75
|
const duplicates = [];
|
|
108
76
|
for (const candidate of candidates) {
|
|
109
77
|
const fingerprint = createFingerprint(candidate.title, candidate.body);
|
|
110
|
-
const similarMemos =
|
|
111
|
-
if (memoFingerprints.has(fingerprint)) {
|
|
112
|
-
duplicates.push({
|
|
113
|
-
title: candidate.title,
|
|
114
|
-
reason: 'Exact match with an existing memo',
|
|
115
|
-
similar_memos: similarMemos,
|
|
116
|
-
});
|
|
117
|
-
continue;
|
|
118
|
-
}
|
|
78
|
+
const similarMemos = candidate.similar_memos || [];
|
|
119
79
|
if (pendingFingerprints.has(fingerprint)) {
|
|
120
80
|
duplicates.push({
|
|
121
81
|
title: candidate.title,
|
|
@@ -174,18 +134,6 @@ export function updatePendingCandidate(candidateId, updater) {
|
|
|
174
134
|
}
|
|
175
135
|
return updated;
|
|
176
136
|
}
|
|
177
|
-
export function findSimilarMemos(title, body, memos) {
|
|
178
|
-
const target = `${title} ${body}`;
|
|
179
|
-
return memos
|
|
180
|
-
.map((memo) => ({
|
|
181
|
-
id: memo.id,
|
|
182
|
-
title: memo.title,
|
|
183
|
-
score: jaccardSimilarity(target, `${memo.title} ${memo.body}`),
|
|
184
|
-
}))
|
|
185
|
-
.filter((memo) => memo.score >= SIMILARITY_THRESHOLD)
|
|
186
|
-
.sort((a, b) => b.score - a.score)
|
|
187
|
-
.slice(0, 5);
|
|
188
|
-
}
|
|
189
137
|
function expandHome(path) {
|
|
190
138
|
if (path === '~')
|
|
191
139
|
return homedir();
|
|
@@ -241,29 +189,4 @@ function atomicWrite(path, content) {
|
|
|
241
189
|
writeFileSync(tmpPath, content, 'utf8');
|
|
242
190
|
renameSync(tmpPath, path);
|
|
243
191
|
}
|
|
244
|
-
function dedupeMemos(memos) {
|
|
245
|
-
const byId = new Map();
|
|
246
|
-
for (const memo of memos) {
|
|
247
|
-
byId.set(memo.id, memo);
|
|
248
|
-
}
|
|
249
|
-
return [...byId.values()];
|
|
250
|
-
}
|
|
251
|
-
function jaccardSimilarity(left, right) {
|
|
252
|
-
const leftTokens = new Set(tokenize(left));
|
|
253
|
-
const rightTokens = new Set(tokenize(right));
|
|
254
|
-
if (leftTokens.size === 0 || rightTokens.size === 0)
|
|
255
|
-
return 0;
|
|
256
|
-
let intersection = 0;
|
|
257
|
-
for (const token of leftTokens) {
|
|
258
|
-
if (rightTokens.has(token))
|
|
259
|
-
intersection++;
|
|
260
|
-
}
|
|
261
|
-
const union = new Set([...leftTokens, ...rightTokens]).size;
|
|
262
|
-
return intersection / union;
|
|
263
|
-
}
|
|
264
|
-
function tokenize(text) {
|
|
265
|
-
return normalizeText(text)
|
|
266
|
-
.split(' ')
|
|
267
|
-
.filter((token) => token.length >= 2);
|
|
268
|
-
}
|
|
269
192
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/services/local-cache/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EACL,UAAU,EACV,SAAS,EACT,YAAY,EACZ,UAAU,EACV,QAAQ,EACR,aAAa,GACd,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/services/local-cache/index.ts"],"names":[],"mappings":"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"}
|
package/dist/tool.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { CallToolRequestSchema, ListToolsRequestSchema, ListResourcesRequestSchema, ReadResourceRequestSchema, } from '@modelcontextprotocol/sdk/types.js';
|
|
2
2
|
import { createApiClient } from './services/api/index.js';
|
|
3
3
|
import { getGeneratedInputSchema, getToolInputZodSchema, } from './schemas/tool-input.js';
|
|
4
|
-
import { createMemosTool, searchMemoTool, getMemoTool, updateMemoTool, getCategoriesTool, createNoteTool, searchNotesTool, getNoteTool, updateNoteTool, getSkillSheetTool, updateSkillSheetBasicInfoTool, updateSkillSheetSelfPrTool, updateSkillSheetPublicProfileTool, setSkillSheetSkillsTool, upsertSkillSheetProjectTool, deleteSkillSheetProjectTool, getSkillSheetProjectSummaryContextTool, updateSkillSheetProjectAiSummaryTool, listGoalsTool, createGoalTool, updateGoalTool, deleteGoalTool, getDashboardAnalysisTool, updateDashboardAnalysisTool, getDashboardAnalysisContextTool, getPublicProfileContextTool, cacheStatusTool,
|
|
4
|
+
import { createMemosTool, searchMemoTool, findSimilarMemosTool, backfillMemoEmbeddingsTool, getMemoTool, updateMemoTool, getCategoriesTool, createNoteTool, searchNotesTool, getNoteTool, updateNoteTool, getSkillSheetTool, updateSkillSheetBasicInfoTool, updateSkillSheetSelfPrTool, updateSkillSheetPublicProfileTool, setSkillSheetSkillsTool, upsertSkillSheetProjectTool, deleteSkillSheetProjectTool, getSkillSheetProjectSummaryContextTool, updateSkillSheetProjectAiSummaryTool, listGoalsTool, createGoalTool, updateGoalTool, deleteGoalTool, getDashboardAnalysisTool, updateDashboardAnalysisTool, getDashboardAnalysisContextTool, getPublicProfileContextTool, cacheStatusTool, scanSessionsTool, getSessionTranscriptTool, addKnowledgeCandidatesTool, listPendingCandidatesTool, savePendingCandidateTool, discardPendingCandidateTool, getCapturePolicyTool, getDiscardPolicyContextTool, updateCapturePolicyTool, } from './handlers/index.js';
|
|
5
5
|
export function setupTool(server, apiUrl, accessToken, context = {}, registeredToolsOptions = {}) {
|
|
6
6
|
const apiClient = createApiClient(apiUrl, accessToken);
|
|
7
7
|
const tools = getRegisteredTools(registeredToolsOptions);
|
|
@@ -88,6 +88,8 @@ export function getRegisteredTools(options = {}) {
|
|
|
88
88
|
const tools = [
|
|
89
89
|
createMemosTool,
|
|
90
90
|
searchMemoTool,
|
|
91
|
+
findSimilarMemosTool,
|
|
92
|
+
backfillMemoEmbeddingsTool,
|
|
91
93
|
getMemoTool,
|
|
92
94
|
updateMemoTool,
|
|
93
95
|
getCategoriesTool,
|
|
@@ -113,7 +115,6 @@ export function getRegisteredTools(options = {}) {
|
|
|
113
115
|
getDashboardAnalysisContextTool,
|
|
114
116
|
getPublicProfileContextTool,
|
|
115
117
|
cacheStatusTool,
|
|
116
|
-
syncRemoteMemosTool,
|
|
117
118
|
scanSessionsTool,
|
|
118
119
|
getSessionTranscriptTool,
|
|
119
120
|
addKnowledgeCandidatesTool,
|
|
@@ -185,7 +186,6 @@ function isIdempotentTool(name) {
|
|
|
185
186
|
}
|
|
186
187
|
function isLocalOnlyTool(name) {
|
|
187
188
|
return (name === 'paput_cache_status' ||
|
|
188
|
-
name === 'paput_sync_remote_memos' ||
|
|
189
189
|
name === 'paput_scan_sessions' ||
|
|
190
190
|
name === 'paput_get_session_transcript' ||
|
|
191
191
|
name === 'paput_add_knowledge_candidates' ||
|
package/dist/tool.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool.js","sourceRoot":"","sources":["../src/tool.ts"],"names":[],"mappings":"AACA,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,0BAA0B,EAC1B,yBAAyB,GAC1B,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EACL,uBAAuB,EACvB,qBAAqB,GACtB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,eAAe,EACf,cAAc,EACd,WAAW,EACX,cAAc,EACd,iBAAiB,EACjB,cAAc,EACd,eAAe,EACf,WAAW,EACX,cAAc,EACd,iBAAiB,EACjB,6BAA6B,EAC7B,0BAA0B,EAC1B,iCAAiC,EACjC,uBAAuB,EACvB,2BAA2B,EAC3B,2BAA2B,EAC3B,sCAAsC,EACtC,oCAAoC,EACpC,aAAa,EACb,cAAc,EACd,cAAc,EACd,cAAc,EACd,wBAAwB,EACxB,2BAA2B,EAC3B,+BAA+B,EAC/B,2BAA2B,EAC3B,eAAe,EACf,
|
|
1
|
+
{"version":3,"file":"tool.js","sourceRoot":"","sources":["../src/tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"find-similar-memos.js","sourceRoot":"","sources":["../../src/types/find-similar-memos.ts"],"names":[],"mappings":""}
|
package/dist/types/index.js
CHANGED
package/dist/types/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,kBAAkB,CAAC;AACjC,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,yBAAyB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,yBAAyB,CAAC;AACxC,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,kBAAkB,CAAC;AACjC,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,yBAAyB,CAAC"}
|
package/docs/tools.md
CHANGED
|
@@ -25,18 +25,31 @@ Clients and assistants should follow these rules:
|
|
|
25
25
|
|
|
26
26
|
## Memo Tools
|
|
27
27
|
|
|
28
|
-
| Tool
|
|
29
|
-
|
|
|
30
|
-
| `paput_create_memos`
|
|
31
|
-
| `paput_search_memo`
|
|
32
|
-
| `
|
|
33
|
-
| `
|
|
34
|
-
| `
|
|
28
|
+
| Tool | Safety | Use case |
|
|
29
|
+
| -------------------------------- | ----------------- | -------------------------------------------------------------------------------- |
|
|
30
|
+
| `paput_create_memos` | Write | Create multiple PaPut memos in one call and return created memo IDs. |
|
|
31
|
+
| `paput_search_memo` | Read-only | Search memos by keyword, category, IDs, date, visibility, or pagination. |
|
|
32
|
+
| `paput_find_similar_memos` | Read-only | Find memos semantically similar to a natural-language query using vector search. |
|
|
33
|
+
| `paput_backfill_memo_embeddings` | Write | Generate embeddings for existing memos that do not have one yet. |
|
|
34
|
+
| `paput_get_memo` | Read-only | Read the full details of a memo by ID. |
|
|
35
|
+
| `paput_update_memo` | Destructive/write | Update an existing memo title, body, visibility, categories, or linked projects. |
|
|
36
|
+
| `paput_get_categories` | Read-only | List categories before assigning categories or checking duplicates. |
|
|
35
37
|
|
|
36
38
|
`paput_create_memos` and `paput_update_memo` can link projects through explicit
|
|
37
39
|
`projects`, a `project_match` input, or local `PAPUT_PROJECT_MATCH` in local CLI
|
|
38
40
|
mode.
|
|
39
41
|
|
|
42
|
+
`paput_search_memo` matches surface text, while `paput_find_similar_memos`
|
|
43
|
+
matches meaning, so it finds related memos even when the wording differs.
|
|
44
|
+
Prefer `paput_find_similar_memos` for topic discovery and near-duplicate
|
|
45
|
+
checks, and `paput_search_memo` for exact words, IDs, or identifiers. Both
|
|
46
|
+
tools only return memos owned by the authenticated user.
|
|
47
|
+
|
|
48
|
+
New and updated memos get embeddings automatically. If memos created before
|
|
49
|
+
semantic search was enabled are missing from similarity results, run
|
|
50
|
+
`paput_backfill_memo_embeddings` (up to 100 memos per call) and repeat while
|
|
51
|
+
the response reports `has_more: true`.
|
|
52
|
+
|
|
40
53
|
## Note Tools
|
|
41
54
|
|
|
42
55
|
| Tool | Safety | Use case |
|
|
@@ -109,19 +122,18 @@ returned by the PaPut API.
|
|
|
109
122
|
These tools are local CLI mode only. They are not listed by the remote HTTP MCP
|
|
110
123
|
server.
|
|
111
124
|
|
|
112
|
-
| Tool | Safety | Use case
|
|
113
|
-
| ---------------------------------- | ---------------------------- |
|
|
114
|
-
| `paput_cache_status` | Read-only | Inspect local cache, pending candidates, processed sessions, and
|
|
115
|
-
| `
|
|
116
|
-
| `
|
|
117
|
-
| `
|
|
118
|
-
| `
|
|
119
|
-
| `
|
|
120
|
-
| `
|
|
121
|
-
| `
|
|
122
|
-
| `
|
|
123
|
-
| `
|
|
124
|
-
| `paput_update_capture_policy` | Write to local cache | Save the local capture policy generated by the AI. |
|
|
125
|
+
| Tool | Safety | Use case |
|
|
126
|
+
| ---------------------------------- | ---------------------------- | --------------------------------------------------------------------------- |
|
|
127
|
+
| `paput_cache_status` | Read-only | Inspect local cache, pending candidates, processed sessions, and policy. |
|
|
128
|
+
| `paput_scan_sessions` | Read-only | Scan local Claude and Codex session logs for reusable knowledge sources. |
|
|
129
|
+
| `paput_get_session_transcript` | Read-only | Read a selected local Claude or Codex session transcript. |
|
|
130
|
+
| `paput_add_knowledge_candidates` | Write to local pending queue | Add extracted reusable knowledge candidates before they are saved to PaPut. |
|
|
131
|
+
| `paput_list_pending_candidates` | Read-only | List pending candidates for review. |
|
|
132
|
+
| `paput_save_pending_candidate` | Write | Save an approved pending candidate as a PaPut memo. |
|
|
133
|
+
| `paput_discard_pending_candidate` | Destructive local action | Remove a pending candidate from the save flow. |
|
|
134
|
+
| `paput_get_capture_policy` | Read-only | Read the local capture policy generated from discarded candidates. |
|
|
135
|
+
| `paput_get_discard_policy_context` | Read-only | Read discarded candidates and current policy for AI-side policy analysis. |
|
|
136
|
+
| `paput_update_capture_policy` | Write to local cache | Save the local capture policy generated by the AI. |
|
|
125
137
|
|
|
126
138
|
Capture policy workflow:
|
|
127
139
|
|
package/docs/usage-examples.md
CHANGED
|
@@ -161,3 +161,26 @@ Expected tool flow:
|
|
|
161
161
|
|
|
162
162
|
Use case: generate the public profile shown on the AI Summary tab from public
|
|
163
163
|
materials only. The context excludes private dashboard analysis and goals.
|
|
164
|
+
|
|
165
|
+
## 10. Find Related Memos By Meaning
|
|
166
|
+
|
|
167
|
+
Prompt:
|
|
168
|
+
|
|
169
|
+
```text
|
|
170
|
+
Find my PaPut memos related to database schema migration tooling, even if they use different wording.
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
Expected tool flow:
|
|
174
|
+
|
|
175
|
+
1. `paput_find_similar_memos` with a natural-language query
|
|
176
|
+
2. `paput_get_memo` when the user wants the full body of a result
|
|
177
|
+
3. `paput_search_memo` as a fallback for exact words, IDs, or identifiers
|
|
178
|
+
|
|
179
|
+
Use case: discover related knowledge or near-duplicate memos when the saved
|
|
180
|
+
memos use different wording than the query (for example, "DB 移行" vs
|
|
181
|
+
"マイグレーション"). Results include a similarity score per memo.
|
|
182
|
+
|
|
183
|
+
If older memos never appear in similarity results, run
|
|
184
|
+
`paput_backfill_memo_embeddings` and repeat while the response reports
|
|
185
|
+
`has_more: true`. This is a one-time setup step; new and updated memos are
|
|
186
|
+
embedded automatically.
|