paput-mcp 2.7.0 → 2.8.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 +18 -0
- package/dist/cli/setup-ai.js +43 -0
- package/dist/cli/setup-ai.js.map +1 -1
- package/dist/handlers/create-goal/handler.js +68 -0
- package/dist/handlers/create-goal/handler.js.map +1 -0
- package/dist/handlers/create-goal/index.js +3 -0
- package/dist/handlers/create-goal/index.js.map +1 -0
- package/dist/handlers/create-goal/tool.js +13 -0
- package/dist/handlers/create-goal/tool.js.map +1 -0
- package/dist/handlers/delete-goal/handler.js +37 -0
- package/dist/handlers/delete-goal/handler.js.map +1 -0
- package/dist/handlers/delete-goal/index.js +3 -0
- package/dist/handlers/delete-goal/index.js.map +1 -0
- package/dist/handlers/delete-goal/tool.js +13 -0
- package/dist/handlers/delete-goal/tool.js.map +1 -0
- package/dist/handlers/get-dashboard-analysis/handler.js +51 -0
- package/dist/handlers/get-dashboard-analysis/handler.js.map +1 -0
- package/dist/handlers/get-dashboard-analysis/index.js +3 -0
- package/dist/handlers/get-dashboard-analysis/index.js.map +1 -0
- package/dist/handlers/get-dashboard-analysis/tool.js +13 -0
- package/dist/handlers/get-dashboard-analysis/tool.js.map +1 -0
- package/dist/handlers/get-dashboard-analysis-context/handler.js +125 -0
- package/dist/handlers/get-dashboard-analysis-context/handler.js.map +1 -0
- package/dist/handlers/get-dashboard-analysis-context/index.js +3 -0
- package/dist/handlers/get-dashboard-analysis-context/index.js.map +1 -0
- package/dist/handlers/get-dashboard-analysis-context/tool.js +13 -0
- package/dist/handlers/get-dashboard-analysis-context/tool.js.map +1 -0
- package/dist/handlers/get-skill-sheet-project-summary-context/handler.js +25 -2
- package/dist/handlers/get-skill-sheet-project-summary-context/handler.js.map +1 -1
- package/dist/handlers/index.js +7 -0
- package/dist/handlers/index.js.map +1 -1
- package/dist/handlers/list-goals/handler.js +43 -0
- package/dist/handlers/list-goals/handler.js.map +1 -0
- package/dist/handlers/list-goals/index.js +3 -0
- package/dist/handlers/list-goals/index.js.map +1 -0
- package/dist/handlers/list-goals/tool.js +13 -0
- package/dist/handlers/list-goals/tool.js.map +1 -0
- package/dist/handlers/update-dashboard-analysis/handler.js +93 -0
- package/dist/handlers/update-dashboard-analysis/handler.js.map +1 -0
- package/dist/handlers/update-dashboard-analysis/index.js +3 -0
- package/dist/handlers/update-dashboard-analysis/index.js.map +1 -0
- package/dist/handlers/update-dashboard-analysis/tool.js +13 -0
- package/dist/handlers/update-dashboard-analysis/tool.js.map +1 -0
- package/dist/handlers/update-goal/handler.js +70 -0
- package/dist/handlers/update-goal/handler.js.map +1 -0
- package/dist/handlers/update-goal/index.js +3 -0
- package/dist/handlers/update-goal/index.js.map +1 -0
- package/dist/handlers/update-goal/tool.js +13 -0
- package/dist/handlers/update-goal/tool.js.map +1 -0
- package/dist/schemas/tool-input.js +77 -0
- package/dist/schemas/tool-input.js.map +1 -1
- package/dist/services/api/dashboard-analysis.js +7 -0
- package/dist/services/api/dashboard-analysis.js.map +1 -0
- package/dist/services/api/dashboard.js +4 -0
- package/dist/services/api/dashboard.js.map +1 -0
- package/dist/services/api/goal.js +13 -0
- package/dist/services/api/goal.js.map +1 -0
- package/dist/services/api/index.js +3 -0
- package/dist/services/api/index.js.map +1 -1
- package/dist/services/api/memo.js +2 -0
- package/dist/services/api/memo.js.map +1 -1
- package/dist/tool.js +8 -1
- package/dist/tool.js.map +1 -1
- package/dist/types/dashboard-analysis.js +2 -0
- package/dist/types/dashboard-analysis.js.map +1 -0
- package/dist/types/dashboard.js +2 -0
- package/dist/types/dashboard.js.map +1 -0
- package/dist/types/goal.js +2 -0
- package/dist/types/goal.js.map +1 -0
- package/dist/types/index.js +3 -0
- package/dist/types/index.js.map +1 -1
- package/docs/tools.md +31 -0
- package/docs/usage-examples.md +18 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -10,6 +10,8 @@ PaPut MCP Server connects [PaPut](https://paput.io) to AI assistants through the
|
|
|
10
10
|
- Create, search, read, and update notes
|
|
11
11
|
- Read and update skill sheet profile fields, self PR, skills, and projects
|
|
12
12
|
- Delete skill sheet projects when explicitly requested
|
|
13
|
+
- Create, list, update, and delete goals
|
|
14
|
+
- Get dashboard context and save AI-generated dashboard analysis results
|
|
13
15
|
|
|
14
16
|
### Knowledge Capture From AI Sessions
|
|
15
17
|
|
|
@@ -126,6 +128,7 @@ Generated skills:
|
|
|
126
128
|
- `paput-sync` - Sync existing PaPut memos into the local cache.
|
|
127
129
|
- `paput-capture` - Extract reusable knowledge candidates from the current conversation or a specified topic and add them to pending.
|
|
128
130
|
- `paput-save` - Review pending candidates first, then save only candidates explicitly approved by the user.
|
|
131
|
+
- `paput-dashboard-analysis` - Analyze PaPut dashboard context and optionally save the generated dashboard analysis.
|
|
129
132
|
|
|
130
133
|
## Knowledge Workflow
|
|
131
134
|
|
|
@@ -187,6 +190,19 @@ Detailed public tool documentation is available in [docs/tools.md](docs/tools.md
|
|
|
187
190
|
- `paput_get_skill_sheet_project_summary_context` - Get project information and related memo bodies so the MCP client AI model can generate a project summary.
|
|
188
191
|
- `paput_update_skill_sheet_project_ai_summary` - Save an AI-generated project summary.
|
|
189
192
|
|
|
193
|
+
### Goal Management
|
|
194
|
+
|
|
195
|
+
- `paput_list_goals` - List active and archived goals.
|
|
196
|
+
- `paput_create_goal` - Create a goal.
|
|
197
|
+
- `paput_update_goal` - Update a goal. The update body includes the goal ID.
|
|
198
|
+
- `paput_delete_goal` - Delete a goal by ID.
|
|
199
|
+
|
|
200
|
+
### Dashboard Analysis
|
|
201
|
+
|
|
202
|
+
- `paput_get_dashboard_analysis` - Get the saved dashboard analysis.
|
|
203
|
+
- `paput_get_dashboard_analysis_context` - Get dashboard, goal, skill sheet, memo, note, and category context so the MCP client AI model can generate an analysis.
|
|
204
|
+
- `paput_update_dashboard_analysis` - Save an AI-generated dashboard analysis.
|
|
205
|
+
|
|
190
206
|
### Knowledge Capture And Local Cache
|
|
191
207
|
|
|
192
208
|
- `paput_cache_status` - Inspect the local cache state.
|
|
@@ -204,7 +220,9 @@ Write and destructive tools should be used only when the user intent is clear. I
|
|
|
204
220
|
|
|
205
221
|
- `paput_save_pending_candidate` requires explicit user approval to save a pending candidate to PaPut.
|
|
206
222
|
- `paput_delete_skill_sheet_project` should be used only when the user intends to delete a project.
|
|
223
|
+
- `paput_delete_goal` should be used only when the user intends to delete a goal.
|
|
207
224
|
- `paput_set_skill_sheet_skills` replaces the full skill list and should be used only when the desired final list is known.
|
|
225
|
+
- `paput_update_dashboard_analysis` should be used only after the MCP client AI model has generated an analysis and the user intends to save it.
|
|
208
226
|
- `paput_discard_pending_candidate` removes a pending candidate from the save flow.
|
|
209
227
|
- Update and upsert tools should preserve existing data unless the user requests a change.
|
|
210
228
|
|
package/dist/cli/setup-ai.js
CHANGED
|
@@ -138,6 +138,49 @@ Do not add these to pending:
|
|
|
138
138
|
- Candidates created from past sessions use the source session updated timestamp as the PaPut memo creation timestamp when saved.
|
|
139
139
|
- If there are no candidates, say that no reusable knowledge was found.`,
|
|
140
140
|
},
|
|
141
|
+
{
|
|
142
|
+
name: 'paput-dashboard-analysis',
|
|
143
|
+
description: "Use this to analyze the user's PaPut dashboard, goals, skill sheet, memos, notes, and categories; identify current position, strengths, growing areas, thin areas, missing knowledge, next knowledge to learn, and career-history phrasing; optionally save the generated dashboard analysis when the user asks to save it.",
|
|
144
|
+
body: `# PaPut Dashboard Analysis
|
|
145
|
+
|
|
146
|
+
Analyze the user's PaPut dashboard and goals. Use this skill when the user asks about dashboard analysis, goals, progress, strengths, weak areas, next learning topics, or career-history phrasing.
|
|
147
|
+
|
|
148
|
+
## Workflow
|
|
149
|
+
|
|
150
|
+
1. Call \`paput_get_dashboard_analysis_context\`.
|
|
151
|
+
2. Analyze the returned \`structuredContent\`.
|
|
152
|
+
3. Present the analysis in the user's language and tone.
|
|
153
|
+
4. Do not save the result unless the user explicitly asks to save it.
|
|
154
|
+
5. If the user asks to save, call \`paput_update_dashboard_analysis\`.
|
|
155
|
+
|
|
156
|
+
## Analysis Points
|
|
157
|
+
|
|
158
|
+
Include these points when relevant:
|
|
159
|
+
|
|
160
|
+
- Current position
|
|
161
|
+
- Areas that can be presented as strengths
|
|
162
|
+
- Areas that have been growing recently
|
|
163
|
+
- Thin or underdeveloped areas
|
|
164
|
+
- Knowledge missing against active goals
|
|
165
|
+
- Knowledge to learn next
|
|
166
|
+
- Phrasing suitable for a skill sheet or career history
|
|
167
|
+
|
|
168
|
+
## Rules
|
|
169
|
+
|
|
170
|
+
- Do not claim that paput-mcp generated the analysis. The MCP client AI performs the analysis.
|
|
171
|
+
- Use active goals as the main analysis basis.
|
|
172
|
+
- Treat archived goals as historical context.
|
|
173
|
+
- Do not recalculate dashboard continuity from activities. Use the dashboard summary values returned by the API.
|
|
174
|
+
- Do not assume the user should write memos next.
|
|
175
|
+
- Focus on how knowledge naturally accumulated through daily development can grow toward the user's goals.
|
|
176
|
+
- When saving, map the generated result to:
|
|
177
|
+
- \`current_summary\`
|
|
178
|
+
- \`strengths\`
|
|
179
|
+
- \`growing_areas\`
|
|
180
|
+
- \`weak_areas\`
|
|
181
|
+
- \`next_knowledge_suggestions\`
|
|
182
|
+
- \`analyzed_at\``,
|
|
183
|
+
},
|
|
141
184
|
];
|
|
142
185
|
const RULES = `## PaPut Knowledge Capture Rules
|
|
143
186
|
|
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":"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"}
|
|
1
|
+
{"version":3,"file":"setup-ai.js","sourceRoot":"","sources":["../../src/cli/setup-ai.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { createGoal } from '../../services/api/goal.js';
|
|
2
|
+
const goalCategories = ['career', 'learning', 'portfolio', 'project', 'other'];
|
|
3
|
+
const goalStatuses = ['active', 'archived'];
|
|
4
|
+
export async function handleCreateGoal(args, apiClient) {
|
|
5
|
+
const params = parseGoalParams(args);
|
|
6
|
+
if (!params) {
|
|
7
|
+
return {
|
|
8
|
+
content: [
|
|
9
|
+
{
|
|
10
|
+
type: 'text',
|
|
11
|
+
text: 'Title, category, status, and priority are required.',
|
|
12
|
+
},
|
|
13
|
+
],
|
|
14
|
+
isError: true,
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
try {
|
|
18
|
+
const goal = await createGoal(apiClient, params);
|
|
19
|
+
return {
|
|
20
|
+
structuredContent: {
|
|
21
|
+
success: true,
|
|
22
|
+
goal,
|
|
23
|
+
},
|
|
24
|
+
content: [
|
|
25
|
+
{
|
|
26
|
+
type: 'text',
|
|
27
|
+
text: `Goal was created: ${goal.title} (ID: ${goal.id})`,
|
|
28
|
+
},
|
|
29
|
+
],
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
catch (error) {
|
|
33
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
34
|
+
return {
|
|
35
|
+
content: [
|
|
36
|
+
{
|
|
37
|
+
type: 'text',
|
|
38
|
+
text: `Error while creating goal: ${errorMessage}`,
|
|
39
|
+
},
|
|
40
|
+
],
|
|
41
|
+
isError: true,
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
function parseGoalParams(args) {
|
|
46
|
+
if (!args ||
|
|
47
|
+
typeof args.title !== 'string' ||
|
|
48
|
+
!isGoalCategory(args.category) ||
|
|
49
|
+
!isGoalStatus(args.status) ||
|
|
50
|
+
typeof args.priority !== 'number') {
|
|
51
|
+
return null;
|
|
52
|
+
}
|
|
53
|
+
return {
|
|
54
|
+
title: args.title,
|
|
55
|
+
description: typeof args.description === 'string' ? args.description : null,
|
|
56
|
+
category: args.category,
|
|
57
|
+
status: args.status,
|
|
58
|
+
priority: args.priority,
|
|
59
|
+
target_date: typeof args.target_date === 'string' ? args.target_date : null,
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
function isGoalCategory(value) {
|
|
63
|
+
return typeof value === 'string' && goalCategories.includes(value);
|
|
64
|
+
}
|
|
65
|
+
function isGoalStatus(value) {
|
|
66
|
+
return typeof value === 'string' && goalStatuses.includes(value);
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=handler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/handlers/create-goal/handler.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAOxD,MAAM,cAAc,GAAG,CAAC,QAAQ,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;AAC/E,MAAM,YAAY,GAAG,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;AAE5C,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,IAAyC,EACzC,SAAoB;IAEpB,MAAM,MAAM,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;IACrC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,qDAAqD;iBAC5D;aACF;YACD,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;IAED,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QAEjD,OAAO;YACL,iBAAiB,EAAE;gBACjB,OAAO,EAAE,IAAI;gBACb,IAAI;aACL;YACD,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,qBAAqB,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,EAAE,GAAG;iBACzD;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;AAED,SAAS,eAAe,CACtB,IAAyC;IAEzC,IACE,CAAC,IAAI;QACL,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ;QAC9B,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC;QAC9B,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC;QAC1B,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ,EACjC,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO;QACL,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,WAAW,EAAE,OAAO,IAAI,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI;QAC3E,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,WAAW,EAAE,OAAO,IAAI,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI;KAC5E,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,KAAc;IACpC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,cAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACrE,CAAC;AAED,SAAS,YAAY,CAAC,KAAc;IAClC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACnE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/handlers/create-goal/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { handleCreateGoal } from './handler.js';
|
|
2
|
+
export const createGoalTool = {
|
|
3
|
+
definition: {
|
|
4
|
+
name: 'paput_create_goal',
|
|
5
|
+
description: 'Create a PaPut goal. Use active goals for current analysis targets and archived goals for historical context.',
|
|
6
|
+
inputSchema: {
|
|
7
|
+
type: 'object',
|
|
8
|
+
properties: {},
|
|
9
|
+
},
|
|
10
|
+
},
|
|
11
|
+
handler: handleCreateGoal,
|
|
12
|
+
};
|
|
13
|
+
//# sourceMappingURL=tool.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool.js","sourceRoot":"","sources":["../../../src/handlers/create-goal/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,+GAA+G;QACjH,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,EAAE;SACf;KACF;IACD,OAAO,EAAE,gBAAgB;CAC1B,CAAC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { deleteGoal } from '../../services/api/goal.js';
|
|
2
|
+
export async function handleDeleteGoal(args, apiClient) {
|
|
3
|
+
if (!args || typeof args.id !== 'number') {
|
|
4
|
+
return {
|
|
5
|
+
content: [{ type: 'text', text: 'Goal ID is required.' }],
|
|
6
|
+
isError: true,
|
|
7
|
+
};
|
|
8
|
+
}
|
|
9
|
+
try {
|
|
10
|
+
await deleteGoal(apiClient, args.id);
|
|
11
|
+
return {
|
|
12
|
+
structuredContent: {
|
|
13
|
+
success: true,
|
|
14
|
+
deleted_goal_id: args.id,
|
|
15
|
+
},
|
|
16
|
+
content: [
|
|
17
|
+
{
|
|
18
|
+
type: 'text',
|
|
19
|
+
text: `Goal was deleted: ${args.id}`,
|
|
20
|
+
},
|
|
21
|
+
],
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
catch (error) {
|
|
25
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
26
|
+
return {
|
|
27
|
+
content: [
|
|
28
|
+
{
|
|
29
|
+
type: 'text',
|
|
30
|
+
text: `Error while deleting goal: ${errorMessage}`,
|
|
31
|
+
},
|
|
32
|
+
],
|
|
33
|
+
isError: true,
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=handler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/handlers/delete-goal/handler.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAExD,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,IAAyC,EACzC,SAAoB;IAEpB,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,CAAC,EAAE,KAAK,QAAQ,EAAE,CAAC;QACzC,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,sBAAsB,EAAE,CAAC;YACzD,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;IAED,IAAI,CAAC;QACH,MAAM,UAAU,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;QAErC,OAAO;YACL,iBAAiB,EAAE;gBACjB,OAAO,EAAE,IAAI;gBACb,eAAe,EAAE,IAAI,CAAC,EAAE;aACzB;YACD,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,qBAAqB,IAAI,CAAC,EAAE,EAAE;iBACrC;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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/handlers/delete-goal/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { handleDeleteGoal } from './handler.js';
|
|
2
|
+
export const deleteGoalTool = {
|
|
3
|
+
definition: {
|
|
4
|
+
name: 'paput_delete_goal',
|
|
5
|
+
description: 'Delete a PaPut goal by ID.',
|
|
6
|
+
inputSchema: {
|
|
7
|
+
type: 'object',
|
|
8
|
+
properties: {},
|
|
9
|
+
},
|
|
10
|
+
},
|
|
11
|
+
handler: handleDeleteGoal,
|
|
12
|
+
};
|
|
13
|
+
//# sourceMappingURL=tool.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool.js","sourceRoot":"","sources":["../../../src/handlers/delete-goal/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,EAAE,4BAA4B;QACzC,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,EAAE;SACf;KACF;IACD,OAAO,EAAE,gBAAgB;CAC1B,CAAC"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { getDashboardAnalysis } from '../../services/api/dashboard-analysis.js';
|
|
2
|
+
export async function handleGetDashboardAnalysis(_args, apiClient) {
|
|
3
|
+
try {
|
|
4
|
+
const analysis = await getDashboardAnalysis(apiClient);
|
|
5
|
+
if (!analysis) {
|
|
6
|
+
return {
|
|
7
|
+
structuredContent: {
|
|
8
|
+
dashboard_analysis: null,
|
|
9
|
+
},
|
|
10
|
+
content: [
|
|
11
|
+
{
|
|
12
|
+
type: 'text',
|
|
13
|
+
text: 'Dashboard analysis has not been saved yet.',
|
|
14
|
+
},
|
|
15
|
+
],
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
return {
|
|
19
|
+
structuredContent: {
|
|
20
|
+
dashboard_analysis: analysis,
|
|
21
|
+
},
|
|
22
|
+
content: [
|
|
23
|
+
{
|
|
24
|
+
type: 'text',
|
|
25
|
+
text: `Dashboard analysis:
|
|
26
|
+
Analyzed at: ${analysis.analyzed_at}
|
|
27
|
+
Current summary:
|
|
28
|
+
${analysis.current_summary}
|
|
29
|
+
|
|
30
|
+
Strengths: ${analysis.strengths.length}
|
|
31
|
+
Growing areas: ${analysis.growing_areas.length}
|
|
32
|
+
Weak areas: ${analysis.weak_areas.length}
|
|
33
|
+
Next knowledge suggestions: ${analysis.next_knowledge_suggestions.length}`,
|
|
34
|
+
},
|
|
35
|
+
],
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
catch (error) {
|
|
39
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
40
|
+
return {
|
|
41
|
+
content: [
|
|
42
|
+
{
|
|
43
|
+
type: 'text',
|
|
44
|
+
text: `Error while fetching dashboard analysis: ${errorMessage}`,
|
|
45
|
+
},
|
|
46
|
+
],
|
|
47
|
+
isError: true,
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=handler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/handlers/get-dashboard-analysis/handler.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,0CAA0C,CAAC;AAEhF,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,KAA0C,EAC1C,SAAoB;IAEpB,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,oBAAoB,CAAC,SAAS,CAAC,CAAC;QAEvD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO;gBACL,iBAAiB,EAAE;oBACjB,kBAAkB,EAAE,IAAI;iBACzB;gBACD,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,4CAA4C;qBACnD;iBACF;aACF,CAAC;QACJ,CAAC;QAED,OAAO;YACL,iBAAiB,EAAE;gBACjB,kBAAkB,EAAE,QAAQ;aAC7B;YACD,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE;eACD,QAAQ,CAAC,WAAW;;EAEjC,QAAQ,CAAC,eAAe;;aAEb,QAAQ,CAAC,SAAS,CAAC,MAAM;iBACrB,QAAQ,CAAC,aAAa,CAAC,MAAM;cAChC,QAAQ,CAAC,UAAU,CAAC,MAAM;8BACV,QAAQ,CAAC,0BAA0B,CAAC,MAAM,EAAE;iBACjE;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/get-dashboard-analysis/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { handleGetDashboardAnalysis } from './handler.js';
|
|
2
|
+
export const getDashboardAnalysisTool = {
|
|
3
|
+
definition: {
|
|
4
|
+
name: 'paput_get_dashboard_analysis',
|
|
5
|
+
description: 'Get the saved PaPut dashboard analysis result.',
|
|
6
|
+
inputSchema: {
|
|
7
|
+
type: 'object',
|
|
8
|
+
properties: {},
|
|
9
|
+
},
|
|
10
|
+
},
|
|
11
|
+
handler: handleGetDashboardAnalysis,
|
|
12
|
+
};
|
|
13
|
+
//# sourceMappingURL=tool.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool.js","sourceRoot":"","sources":["../../../src/handlers/get-dashboard-analysis/tool.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAC;AAE1D,MAAM,CAAC,MAAM,wBAAwB,GAAgB;IACnD,UAAU,EAAE;QACV,IAAI,EAAE,8BAA8B;QACpC,WAAW,EAAE,gDAAgD;QAC7D,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,EAAE;SACf;KACF;IACD,OAAO,EAAE,0BAA0B;CACpC,CAAC"}
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
import { getCategories } from '../../services/api/category.js';
|
|
2
|
+
import { getDashboardSummary } from '../../services/api/dashboard.js';
|
|
3
|
+
import { getDashboardAnalysis } from '../../services/api/dashboard-analysis.js';
|
|
4
|
+
import { listGoals } from '../../services/api/goal.js';
|
|
5
|
+
import { searchMemos } from '../../services/api/memo.js';
|
|
6
|
+
import { searchNotes } from '../../services/api/note.js';
|
|
7
|
+
import { getSkillSheet } from '../../services/api/skill-sheet.js';
|
|
8
|
+
const RECENT_ITEM_LIMIT = 20;
|
|
9
|
+
export async function handleGetDashboardAnalysisContext(_args, apiClient) {
|
|
10
|
+
try {
|
|
11
|
+
const [dashboardSummary, goals] = await Promise.all([
|
|
12
|
+
getDashboardSummary(apiClient),
|
|
13
|
+
listGoals(apiClient),
|
|
14
|
+
]);
|
|
15
|
+
const [skillSheet, recentMemosResult, notesResult, categories, savedAnalysis,] = await Promise.all([
|
|
16
|
+
safeFetch(() => getSkillSheet(apiClient)),
|
|
17
|
+
safeFetch(() => searchMemos(apiClient, {
|
|
18
|
+
page: 1,
|
|
19
|
+
limit: RECENT_ITEM_LIMIT,
|
|
20
|
+
})),
|
|
21
|
+
safeFetch(() => searchNotes(apiClient, {
|
|
22
|
+
page: 1,
|
|
23
|
+
limit: RECENT_ITEM_LIMIT,
|
|
24
|
+
})),
|
|
25
|
+
safeFetch(() => getCategories(apiClient)),
|
|
26
|
+
safeFetch(() => getDashboardAnalysis(apiClient)),
|
|
27
|
+
]);
|
|
28
|
+
const recentMemos = recentMemosResult && recentMemosResult.success
|
|
29
|
+
? recentMemosResult.memos || []
|
|
30
|
+
: [];
|
|
31
|
+
const notes = notesResult && notesResult.success ? notesResult.notes || [] : [];
|
|
32
|
+
const prompt = buildPrompt({
|
|
33
|
+
dashboardSummary,
|
|
34
|
+
goals,
|
|
35
|
+
recentMemoCount: recentMemos.length,
|
|
36
|
+
noteCount: notes.length,
|
|
37
|
+
categoryCount: categories?.length || 0,
|
|
38
|
+
hasSkillSheet: Boolean(skillSheet),
|
|
39
|
+
hasSavedAnalysis: Boolean(savedAnalysis),
|
|
40
|
+
});
|
|
41
|
+
return {
|
|
42
|
+
structuredContent: {
|
|
43
|
+
dashboard_summary: dashboardSummary,
|
|
44
|
+
goals,
|
|
45
|
+
skill_sheet: skillSheet,
|
|
46
|
+
recent_memos: recentMemos,
|
|
47
|
+
notes,
|
|
48
|
+
categories: categories || [],
|
|
49
|
+
saved_dashboard_analysis: savedAnalysis,
|
|
50
|
+
prompt,
|
|
51
|
+
},
|
|
52
|
+
content: [
|
|
53
|
+
{
|
|
54
|
+
type: 'text',
|
|
55
|
+
text: `Dashboard analysis context:
|
|
56
|
+
Dashboard summary: total memos ${dashboardSummary.total_memo_count}, total notes ${dashboardSummary.total_note_count}, recent memos ${dashboardSummary.recent_memo_count}, active days in last 30 days ${dashboardSummary.active_days_in_last_30_days}
|
|
57
|
+
Goals: ${goals.length}
|
|
58
|
+
Skill sheet: ${skillSheet ? 'available' : 'not available'}
|
|
59
|
+
Recent memos: ${recentMemos.length}
|
|
60
|
+
Notes: ${notes.length}
|
|
61
|
+
Categories: ${categories?.length || 0}
|
|
62
|
+
Saved dashboard analysis: ${savedAnalysis ? 'available' : 'not available'}
|
|
63
|
+
|
|
64
|
+
${prompt}`,
|
|
65
|
+
},
|
|
66
|
+
],
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
catch (error) {
|
|
70
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
71
|
+
return {
|
|
72
|
+
content: [
|
|
73
|
+
{
|
|
74
|
+
type: 'text',
|
|
75
|
+
text: `Error while fetching dashboard analysis context: ${errorMessage}`,
|
|
76
|
+
},
|
|
77
|
+
],
|
|
78
|
+
isError: true,
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
async function safeFetch(fetcher) {
|
|
83
|
+
try {
|
|
84
|
+
return await fetcher();
|
|
85
|
+
}
|
|
86
|
+
catch {
|
|
87
|
+
return null;
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
function buildPrompt(context) {
|
|
91
|
+
const activeGoals = context.goals.filter((goal) => goal.status === 'active');
|
|
92
|
+
const archivedGoals = context.goals.filter((goal) => goal.status === 'archived');
|
|
93
|
+
return `Create a dashboard analysis as the MCP client AI, using the PaPut data in structuredContent. paput-mcp does not contain analysis logic, so you should read the source data and adapt the analysis to the user's goals and context. Write the final output in the user's language and match the user's tone when possible.
|
|
94
|
+
|
|
95
|
+
Assumptions:
|
|
96
|
+
- Do not recalculate dashboard continuity from activities. Use the summary values returned by the API.
|
|
97
|
+
- Treat active goals as the current basis for analysis and archived goals as historical context.
|
|
98
|
+
- Do not assume that the user should write memos next. Analyze how knowledge that naturally accumulates through daily development can grow toward the goals.
|
|
99
|
+
- If existing skill sheet or project AI summaries are available, use them as references for career-history phrasing.
|
|
100
|
+
|
|
101
|
+
Context summary:
|
|
102
|
+
- Total memo count: ${context.dashboardSummary.total_memo_count}
|
|
103
|
+
- Total note count: ${context.dashboardSummary.total_note_count}
|
|
104
|
+
- Recent memo count: ${context.dashboardSummary.recent_memo_count}
|
|
105
|
+
- Active days in the last 30 days: ${context.dashboardSummary.active_days_in_last_30_days}
|
|
106
|
+
- Active goals: ${activeGoals.length}
|
|
107
|
+
- Archived goals: ${archivedGoals.length}
|
|
108
|
+
- Retrieved recent memos: ${context.recentMemoCount}
|
|
109
|
+
- Retrieved notes: ${context.noteCount}
|
|
110
|
+
- Retrieved categories: ${context.categoryCount}
|
|
111
|
+
- Skill sheet: ${context.hasSkillSheet ? 'available' : 'not available'}
|
|
112
|
+
- Saved analysis: ${context.hasSavedAnalysis ? 'available' : 'not available'}
|
|
113
|
+
|
|
114
|
+
Include these analysis points:
|
|
115
|
+
1. The user's current position
|
|
116
|
+
2. Areas that can be presented as strengths
|
|
117
|
+
3. Areas that have been growing recently
|
|
118
|
+
4. Thin or underdeveloped areas
|
|
119
|
+
5. Knowledge missing against the user's goals
|
|
120
|
+
6. Knowledge the user should learn next
|
|
121
|
+
7. Phrasing that can be used in a skill sheet or career history
|
|
122
|
+
|
|
123
|
+
If saving the result, build values suitable for paput_update_dashboard_analysis: current_summary, strengths, growing_areas, weak_areas, next_knowledge_suggestions, and analyzed_at. strengths, growing_areas, and weak_areas should include title, description, category_names, memo_count, and goal_ids. next_knowledge_suggestions should include title, reason, priority, category_names, and goal_ids.`;
|
|
124
|
+
}
|
|
125
|
+
//# sourceMappingURL=handler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/handlers/get-dashboard-analysis-context/handler.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/handlers/get-dashboard-analysis-context/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { handleGetDashboardAnalysisContext } from './handler.js';
|
|
2
|
+
export const getDashboardAnalysisContextTool = {
|
|
3
|
+
definition: {
|
|
4
|
+
name: 'paput_get_dashboard_analysis_context',
|
|
5
|
+
description: 'Get dashboard, goals, skill sheet, recent memo, note, and category context so the MCP client AI model can generate a dashboard analysis.',
|
|
6
|
+
inputSchema: {
|
|
7
|
+
type: 'object',
|
|
8
|
+
properties: {},
|
|
9
|
+
},
|
|
10
|
+
},
|
|
11
|
+
handler: handleGetDashboardAnalysisContext,
|
|
12
|
+
};
|
|
13
|
+
//# sourceMappingURL=tool.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool.js","sourceRoot":"","sources":["../../../src/handlers/get-dashboard-analysis-context/tool.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iCAAiC,EAAE,MAAM,cAAc,CAAC;AAEjE,MAAM,CAAC,MAAM,+BAA+B,GAAgB;IAC1D,UAAU,EAAE;QACV,IAAI,EAAE,sCAAsC;QAC5C,WAAW,EACT,0IAA0I;QAC5I,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,EAAE;SACf;KACF;IACD,OAAO,EAAE,iCAAiC;CAC3C,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { searchMemos } from '../../services/api/memo.js';
|
|
2
2
|
import { getSkillSheet } from '../../services/api/skill-sheet.js';
|
|
3
|
+
const MEMO_PAGE_LIMIT = 100;
|
|
3
4
|
export async function handler(params, apiClient) {
|
|
4
5
|
if (!params || typeof params.project_id !== 'number') {
|
|
5
6
|
return {
|
|
@@ -26,7 +27,7 @@ export async function handler(params, apiClient) {
|
|
|
26
27
|
isError: true,
|
|
27
28
|
};
|
|
28
29
|
}
|
|
29
|
-
const memos = await
|
|
30
|
+
const memos = await fetchProjectMemos(apiClient, projectId);
|
|
30
31
|
const memoText = memos.length > 0
|
|
31
32
|
? memos
|
|
32
33
|
.map((memo) => `---\nTitle: ${memo.title}\nBody:\n${memo.body}`)
|
|
@@ -67,4 +68,26 @@ ${prompt}`,
|
|
|
67
68
|
],
|
|
68
69
|
};
|
|
69
70
|
}
|
|
71
|
+
async function fetchProjectMemos(apiClient, projectId) {
|
|
72
|
+
const memos = [];
|
|
73
|
+
let page = 1;
|
|
74
|
+
let total;
|
|
75
|
+
do {
|
|
76
|
+
const result = await searchMemos(apiClient, {
|
|
77
|
+
project_id: projectId,
|
|
78
|
+
page,
|
|
79
|
+
limit: MEMO_PAGE_LIMIT,
|
|
80
|
+
});
|
|
81
|
+
if (!result.success) {
|
|
82
|
+
throw new Error(result.error || 'Failed to search project memos');
|
|
83
|
+
}
|
|
84
|
+
const pageMemos = result.memos || [];
|
|
85
|
+
memos.push(...pageMemos);
|
|
86
|
+
total = result.total;
|
|
87
|
+
if (pageMemos.length === 0)
|
|
88
|
+
break;
|
|
89
|
+
page += 1;
|
|
90
|
+
} while (total === undefined || memos.length < total);
|
|
91
|
+
return memos;
|
|
92
|
+
}
|
|
70
93
|
//# sourceMappingURL=handler.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/handlers/get-skill-sheet-project-summary-context/handler.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/handlers/get-skill-sheet-project-summary-context/handler.ts"],"names":[],"mappings":"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"}
|
package/dist/handlers/index.js
CHANGED
|
@@ -15,6 +15,13 @@ export * from './upsert-skill-sheet-project/index.js';
|
|
|
15
15
|
export * from './delete-skill-sheet-project/index.js';
|
|
16
16
|
export * from './get-skill-sheet-project-summary-context/index.js';
|
|
17
17
|
export * from './update-skill-sheet-project-ai-summary/index.js';
|
|
18
|
+
export * from './list-goals/index.js';
|
|
19
|
+
export * from './create-goal/index.js';
|
|
20
|
+
export * from './update-goal/index.js';
|
|
21
|
+
export * from './delete-goal/index.js';
|
|
22
|
+
export * from './get-dashboard-analysis/index.js';
|
|
23
|
+
export * from './update-dashboard-analysis/index.js';
|
|
24
|
+
export * from './get-dashboard-analysis-context/index.js';
|
|
18
25
|
export * from './cache-status/index.js';
|
|
19
26
|
export * from './sync-remote-memos/index.js';
|
|
20
27
|
export * from './scan-sessions/index.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/handlers/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,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,sCAAsC,CAAC;AACrD,cAAc,uCAAuC,CAAC;AACtD,cAAc,uCAAuC,CAAC;AACtD,cAAc,oDAAoD,CAAC;AACnE,cAAc,kDAAkD,CAAC;AACjE,cAAc,yBAAyB,CAAC;AACxC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,0BAA0B,CAAC;AACzC,cAAc,mCAAmC,CAAC;AAClD,cAAc,qCAAqC,CAAC;AACpD,cAAc,oCAAoC,CAAC;AACnD,cAAc,mCAAmC,CAAC;AAClD,cAAc,sCAAsC,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/handlers/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,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,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,yBAAyB,CAAC;AACxC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,0BAA0B,CAAC;AACzC,cAAc,mCAAmC,CAAC;AAClD,cAAc,qCAAqC,CAAC;AACpD,cAAc,oCAAoC,CAAC;AACnD,cAAc,mCAAmC,CAAC;AAClD,cAAc,sCAAsC,CAAC"}
|