@chriscurrycc/memos-mcp 0.2.0 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. package/README.md +29 -0
  2. package/dist/client.d.ts +1 -1
  3. package/dist/client.d.ts.map +1 -1
  4. package/dist/client.js.map +1 -1
  5. package/dist/prompts/index.d.ts +6 -0
  6. package/dist/prompts/index.d.ts.map +1 -1
  7. package/dist/prompts/index.js +150 -27
  8. package/dist/prompts/index.js.map +1 -1
  9. package/dist/resources/index.d.ts.map +1 -1
  10. package/dist/resources/index.js +23 -5
  11. package/dist/resources/index.js.map +1 -1
  12. package/dist/server.d.ts.map +1 -1
  13. package/dist/server.js +10 -2
  14. package/dist/server.js.map +1 -1
  15. package/dist/tools/memos.d.ts.map +1 -1
  16. package/dist/tools/memos.js +55 -110
  17. package/dist/tools/memos.js.map +1 -1
  18. package/dist/tools/relations.d.ts.map +1 -1
  19. package/dist/tools/relations.js +116 -31
  20. package/dist/tools/relations.js.map +1 -1
  21. package/dist/tools/resources.d.ts.map +1 -1
  22. package/dist/tools/resources.js +78 -17
  23. package/dist/tools/resources.js.map +1 -1
  24. package/dist/tools/review.d.ts.map +1 -1
  25. package/dist/tools/review.js +81 -52
  26. package/dist/tools/review.js.map +1 -1
  27. package/dist/tools/tags.d.ts.map +1 -1
  28. package/dist/tools/tags.js +32 -30
  29. package/dist/tools/tags.js.map +1 -1
  30. package/dist/tools/utils.d.ts +4 -0
  31. package/dist/tools/utils.d.ts.map +1 -0
  32. package/dist/tools/utils.js +34 -0
  33. package/dist/tools/utils.js.map +1 -0
  34. package/dist/types.d.ts +6 -2
  35. package/dist/types.d.ts.map +1 -1
  36. package/package.json +1 -1
  37. package/dist/tools/comments.d.ts +0 -4
  38. package/dist/tools/comments.d.ts.map +0 -1
  39. package/dist/tools/comments.js +0 -21
  40. package/dist/tools/comments.js.map +0 -1
  41. package/dist/tools/reactions.d.ts +0 -4
  42. package/dist/tools/reactions.d.ts.map +0 -1
  43. package/dist/tools/reactions.js +0 -25
  44. package/dist/tools/reactions.js.map +0 -1
package/README.md CHANGED
@@ -102,11 +102,40 @@ claude mcp add --scope user memos -e MEMOS_URL=https://your-memos-instance.com -
102
102
  | `update_tag` | Update a tag's pinned status or emoji |
103
103
  | `rename_tag` | Rename a tag across all memos |
104
104
 
105
+ ### Resources
106
+
107
+ | Tool | Description |
108
+ |------|-------------|
109
+ | `list_resources` | List all resources (attachments) |
110
+ | `upload_resource` | Upload a file (base64 encoded), with optional memo linking |
111
+ | `delete_resource` | Delete a resource |
112
+
113
+ ### Relations
114
+
115
+ | Tool | Description |
116
+ |------|-------------|
117
+ | `list_memo_relations` | List memo relations with recursive graph traversal (depth 1-5) |
118
+ | `set_memo_relations` | Add or remove REFERENCE relations between memos |
119
+
120
+ ### Review
121
+
122
+ | Tool | Description |
123
+ |------|-------------|
124
+ | `get_review_memos` | Get today's spaced-repetition review batch |
125
+ | `complete_review` | Mark the current review batch as completed |
126
+ | `get_on_this_day_memos` | Get memos created on this day in previous years, grouped by year |
127
+ | `update_review_setting` | Update review preferences (batch size, tag filters) |
128
+
105
129
  ## Prompts
106
130
 
107
131
  | Prompt | Description |
108
132
  |--------|-------------|
109
133
  | `capture` | Quick-save a thought as a memo |
134
+ | `review` | Start a guided spaced-repetition review session |
135
+ | `on_this_day` | See memos from this day in previous years |
136
+ | `digest` | Summarize memo activity for a time period (today/week/month) |
137
+ | `tag_overview` | Review your tag system and organization |
138
+ | `relation_graph` | Explore the relation graph starting from a memo |
110
139
 
111
140
  ## Resources
112
141
 
package/dist/client.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  export declare class MemosClient {
2
- private baseUrl;
2
+ readonly baseUrl: string;
3
3
  private token;
4
4
  private _currentUser;
5
5
  constructor(baseUrl: string, token: string);
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,qBAAa,WAAW;IACtB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,YAAY,CAAuB;gBAE/B,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;IAMpC,cAAc,IAAI,OAAO,CAAC,MAAM,CAAC;IAOvC,OAAO,CAAC,OAAO;IAOT,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAiBjE,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC;IAajD,KAAK,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAqBnF,MAAM,CAAC,CAAC,GAAG,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;CAWpD"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,qBAAa,WAAW;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,YAAY,CAAuB;gBAE/B,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;IAMpC,cAAc,IAAI,OAAO,CAAC,MAAM,CAAC;IAOvC,OAAO,CAAC,OAAO;IAOT,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAiBjE,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC;IAajD,KAAK,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAqBnF,MAAM,CAAC,CAAC,GAAG,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;CAWpD"}
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,WAAW;IACb,OAAO,CAAS;IACjB,KAAK,CAAS;IACd,YAAY,GAAkB,IAAI,CAAC;IAE3C,YAAY,OAAe,EAAE,KAAa;QACxC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAC3C,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED,2DAA2D;IAC3D,KAAK,CAAC,cAAc;QAClB,IAAI,IAAI,CAAC,YAAY;YAAE,OAAO,IAAI,CAAC,YAAY,CAAC;QAChD,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAmB,qBAAqB,EAAE,EAAE,CAAC,CAAC;QACzE,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC,IAAI,CAAC;QAC7B,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAEO,OAAO;QACb,OAAO;YACL,aAAa,EAAE,UAAU,IAAI,CAAC,KAAK,EAAE;YACrC,cAAc,EAAE,kBAAkB;SACnC,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,GAAG,CAAI,IAAY,EAAE,MAA+B;QACxD,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,EAAE,CAAC,CAAC;QAC9C,IAAI,MAAM,EAAE,CAAC;YACX,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;gBAClD,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,EAAE,EAAE,CAAC;oBACxC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;gBACnC,CAAC;YACH,CAAC;QACH,CAAC;QACD,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QACrE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YACZ,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CAAC,OAAO,IAAI,YAAY,GAAG,CAAC,MAAM,MAAM,IAAI,EAAE,CAAC,CAAC;QACjE,CAAC;QACD,OAAO,GAAG,CAAC,IAAI,EAAgB,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,IAAI,CAAI,IAAY,EAAE,IAAc;QACxC,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,EAAE,EAAE;YAChD,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;YACvB,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;SAC9C,CAAC,CAAC;QACH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YACZ,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CAAC,QAAQ,IAAI,YAAY,GAAG,CAAC,MAAM,MAAM,IAAI,EAAE,CAAC,CAAC;QAClE,CAAC;QACD,OAAO,GAAG,CAAC,IAAI,EAAgB,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,KAAK,CAAI,IAAY,EAAE,IAAc,EAAE,MAA+B;QAC1E,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,EAAE,CAAC,CAAC;QAC9C,IAAI,MAAM,EAAE,CAAC;YACX,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;gBAClD,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,EAAE,EAAE,CAAC;oBACxC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;gBACnC,CAAC;YACH,CAAC;QACH,CAAC;QACD,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE;YACtC,MAAM,EAAE,OAAO;YACf,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;YACvB,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;SAC9C,CAAC,CAAC;QACH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YACZ,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CAAC,SAAS,IAAI,YAAY,GAAG,CAAC,MAAM,MAAM,IAAI,EAAE,CAAC,CAAC;QACnE,CAAC;QACD,OAAO,GAAG,CAAC,IAAI,EAAgB,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,MAAM,CAAc,IAAY;QACpC,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,EAAE,EAAE;YAChD,MAAM,EAAE,QAAQ;YAChB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;SACxB,CAAC,CAAC;QACH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YACZ,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CAAC,UAAU,IAAI,YAAY,GAAG,CAAC,MAAM,MAAM,IAAI,EAAE,CAAC,CAAC;QACpE,CAAC;QACD,OAAO,GAAG,CAAC,IAAI,EAAgB,CAAC;IAClC,CAAC;CACF"}
@@ -1,3 +1,9 @@
1
1
  import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
+ export interface PromptDefinition {
3
+ description: string;
4
+ text: string;
5
+ }
6
+ /** Returns the static text for each prompt, keyed by prompt name. */
7
+ export declare const getPromptDefinitions: () => Record<string, PromptDefinition>;
2
8
  export declare const registerPrompts: (server: McpServer) => void;
3
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/prompts/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAGpE,eAAO,MAAM,eAAe,GAAI,QAAQ,SAAS,SAiFhD,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/prompts/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAGpE,MAAM,WAAW,gBAAgB;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,qEAAqE;AACrE,eAAO,MAAM,oBAAoB,QAAO,MAAM,CAAC,MAAM,EAAE,gBAAgB,CA2DrE,CAAC;AAEH,eAAO,MAAM,eAAe,GAAI,QAAQ,SAAS,SA4JhD,CAAC"}
@@ -1,9 +1,74 @@
1
1
  import { z } from "zod";
2
+ /** Returns the static text for each prompt, keyed by prompt name. */
3
+ export const getPromptDefinitions = () => ({
4
+ capture: {
5
+ description: "Quick-save a thought as a memo",
6
+ text: "Create a memo with the provided content using the create_memo tool.",
7
+ },
8
+ review: {
9
+ description: "Start a spaced-repetition review session (间隔回顾)",
10
+ text: `Start a memo review session:
11
+ 1. Call get_review_memos to get today's review batch
12
+ 2. If completed=true, let me know today's review is done and ask if I want to load a new batch (refresh=true)
13
+ 3. Otherwise, present memos ONE AT A TIME in an interactive flow:
14
+ a. Use get_memo to fetch the full content of the FIRST memo and present it
15
+ b. Present the memo with ALL of its content (do not omit anything). Include:
16
+ - Created time and updated time at the top
17
+ - The full memo content with proper formatting (keep inline tags as-is in the content)
18
+ - If there are tags NOT already visible at the end of the content, display them highlighted at the bottom. If tags are already at the end of the content, no need to repeat them.
19
+ You may reformat for readability but must preserve the exact markdown formatting (bold, italic, links, etc.) from the original content. Do not drop any content or tags.
20
+ c. Wait for the user to confirm before moving to the next memo (e.g. user says "next", "ok", "continue", etc.)
21
+ d. Repeat for each memo until all memos have been reviewed
22
+ 4. After the LAST memo is presented and the user confirms, ask the user if they want to mark this review batch as completed
23
+ 5. Only call complete_review with the memo IDs after the user explicitly confirms completion
24
+ 6. Congratulate me on completing the review`,
25
+ },
26
+ on_this_day: {
27
+ description: "See memos from this day in previous years (历史上的今天)",
28
+ text: `Show me my "On This Day" memories:
29
+ 1. Call get_on_this_day_memos to get memos from this day in previous years
30
+ 2. Present them grouped by year, starting from the most recent
31
+ 3. For each memo, use get_memo to show the full content
32
+ 4. Add a brief reflection on how my thoughts or interests have evolved over the years`,
33
+ },
34
+ digest: {
35
+ description: "Summarize memo activity for a time period",
36
+ text: "Create a digest of my memo activity for the specified period.",
37
+ },
38
+ tag_overview: {
39
+ description: "Review your tag system and organization",
40
+ text: `Give me an overview of my tag system:
41
+ 1. Call list_tags to get all top-level tags with counts
42
+ 2. For tags with children (hasChildren=true), call list_tags with parent param to show the hierarchy
43
+ 3. Call list_tags with pinnedOnly=true to highlight my pinned tags
44
+ 4. Analyze and present:
45
+ - Tag hierarchy structure
46
+ - Most used vs rarely used tags
47
+ - Pinned tags and their usage
48
+ - Suggestions for cleanup (similar tags that could be merged, unused tags, etc.)`,
49
+ },
50
+ relation_graph: {
51
+ description: "Explore the relation graph starting from a memo (关系图谱)",
52
+ text: `Explore the relation graph starting from the specified memo:
53
+ 1. Call get_memo to show the starting memo's content
54
+ 2. Call list_memo_relations with the memo id and depth=5 to get the full relation graph
55
+ 3. For each connected memo, call get_memo to understand its content
56
+ 4. Present:
57
+ - A text-based visualization of the graph structure (which memos reference which)
58
+ - Brief summary of each connected memo
59
+ - The themes and topics that connect these memos
60
+ - Any interesting patterns or clusters in the graph`,
61
+ },
62
+ });
2
63
  export const registerPrompts = (server) => {
3
- server.prompt("capture", "Quick-save a thought as a memo", {
4
- content: z.string().describe("The thought or note to capture"),
5
- tags: z.string().optional().describe("Comma-separated tags to add, e.g. 'idea,project'"),
6
- visibility: z.enum(["PRIVATE", "PROTECTED", "PUBLIC"]).default("PRIVATE").describe("Memo visibility"),
64
+ const defs = getPromptDefinitions();
65
+ server.registerPrompt("capture", {
66
+ description: defs.capture.description,
67
+ argsSchema: {
68
+ content: z.string().describe("The thought or note to capture"),
69
+ tags: z.string().optional().describe("Comma-separated tags to add, e.g. 'idea,project'"),
70
+ visibility: z.enum(["PRIVATE", "PROTECTED", "PUBLIC"]).default("PRIVATE").describe("Memo visibility"),
71
+ },
7
72
  }, ({ content, tags, visibility }) => {
8
73
  let memoContent = content;
9
74
  if (tags) {
@@ -25,43 +90,101 @@ export const registerPrompts = (server) => {
25
90
  ],
26
91
  };
27
92
  });
28
- server.prompt("review", "Start a guided memo review session", {}, () => {
29
- return {
30
- messages: [
31
- {
32
- role: "user",
33
- content: {
34
- type: "text",
35
- text: `Start a memo review session:
36
- 1. Call list_memos with random=true and pageSize=5 to get random memos for review
37
- 2. Present each memo one by one with its content (use get_memo for full details)
38
- 3. After presenting all memos, ask if I'd like to see more or stop
39
- 4. Optionally suggest related memos based on tags`,
40
- },
93
+ server.registerPrompt("review", {
94
+ description: defs.review.description,
95
+ }, () => ({
96
+ messages: [
97
+ {
98
+ role: "user",
99
+ content: {
100
+ type: "text",
101
+ text: defs.review.text,
41
102
  },
42
- ],
103
+ },
104
+ ],
105
+ }));
106
+ server.registerPrompt("on_this_day", {
107
+ description: defs.on_this_day.description,
108
+ }, () => ({
109
+ messages: [
110
+ {
111
+ role: "user",
112
+ content: {
113
+ type: "text",
114
+ text: defs.on_this_day.text,
115
+ },
116
+ },
117
+ ],
118
+ }));
119
+ server.registerPrompt("digest", {
120
+ description: defs.digest.description,
121
+ argsSchema: {
122
+ period: z.enum(["today", "week", "month"]).default("week").describe("Time period to summarize"),
123
+ },
124
+ }, ({ period }) => {
125
+ const periodMap = {
126
+ today: { days: 1, label: "today" },
127
+ week: { days: 7, label: "the past week" },
128
+ month: { days: 30, label: "the past month" },
43
129
  };
44
- });
45
- server.prompt("daily_digest", "Summarize recent memo activity", {}, () => {
130
+ const { days, label } = periodMap[period];
46
131
  return {
47
132
  messages: [
48
133
  {
49
134
  role: "user",
50
135
  content: {
51
136
  type: "text",
52
- text: `Create a daily digest of my memos:
53
- 1. Call list_memos with pageSize=50 to get recent memos
54
- 2. Call list_tags to see my top tags and their usage
137
+ text: `Create a digest of my memo activity for ${label}:
138
+ 1. Call list_memos with startDate set to ${days} days ago, pageSize=100 to get recent memos
139
+ 2. Call list_tags to see tag usage patterns
55
140
  3. Summarize:
56
- - How many memos were created/updated recently
57
- - Key themes and topics based on tags
141
+ - Total number of memos created/updated in this period
142
+ - Key themes and topics based on tags and content
58
143
  - Any pinned memos that might need attention
59
- - Any memos with incomplete tasks (use hasIncompleteTasks filter)
60
- 4. Present everything in a concise daily briefing format`,
144
+ - Any memos with incomplete tasks (call list_memos with hasIncompleteTasks=true)
145
+ - Trends or patterns you notice
146
+ 4. Present as a concise briefing`,
61
147
  },
62
148
  },
63
149
  ],
64
150
  };
65
151
  });
152
+ server.registerPrompt("tag_overview", {
153
+ description: defs.tag_overview.description,
154
+ }, () => ({
155
+ messages: [
156
+ {
157
+ role: "user",
158
+ content: {
159
+ type: "text",
160
+ text: defs.tag_overview.text,
161
+ },
162
+ },
163
+ ],
164
+ }));
165
+ server.registerPrompt("relation_graph", {
166
+ description: defs.relation_graph.description,
167
+ argsSchema: {
168
+ memo: z.string().describe("Memo ID or UID to start from"),
169
+ },
170
+ }, ({ memo }) => ({
171
+ messages: [
172
+ {
173
+ role: "user",
174
+ content: {
175
+ type: "text",
176
+ text: `Explore the relation graph starting from memo ${memo}:
177
+ 1. Call get_memo to show the starting memo's content
178
+ 2. Call list_memo_relations with id="${memo}" and depth=5 to get the full relation graph
179
+ 3. For each connected memo, call get_memo to understand its content
180
+ 4. Present:
181
+ - A text-based visualization of the graph structure (which memos reference which)
182
+ - Brief summary of each connected memo
183
+ - The themes and topics that connect these memos
184
+ - Any interesting patterns or clusters in the graph`,
185
+ },
186
+ },
187
+ ],
188
+ }));
66
189
  };
67
190
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/prompts/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,MAAiB,EAAE,EAAE;IACnD,MAAM,CAAC,MAAM,CACX,SAAS,EACT,gCAAgC,EAChC;QACE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;QAC9D,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kDAAkD,CAAC;QACxF,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,iBAAiB,CAAC;KACtG,EACD,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE;QAChC,IAAI,WAAW,GAAG,OAAO,CAAC;QAC1B,IAAI,IAAI,EAAE,CAAC;YACT,MAAM,OAAO,GAAG,IAAI;iBACjB,KAAK,CAAC,GAAG,CAAC;iBACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;iBAC1B,IAAI,CAAC,GAAG,CAAC,CAAC;YACb,WAAW,GAAG,GAAG,WAAW,OAAO,OAAO,EAAE,CAAC;QAC/C,CAAC;QACD,OAAO;YACL,QAAQ,EAAE;gBACR;oBACE,IAAI,EAAE,MAAM;oBACZ,OAAO,EAAE;wBACP,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,oFAAoF,UAAU,kBAAkB,WAAW,EAAE;qBACpI;iBACF;aACF;SACF,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,MAAM,CACX,QAAQ,EACR,oCAAoC,EACpC,EAAE,EACF,GAAG,EAAE;QACH,OAAO;YACL,QAAQ,EAAE;gBACR;oBACE,IAAI,EAAE,MAAM;oBACZ,OAAO,EAAE;wBACP,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE;;;;kDAI8B;qBACrC;iBACF;aACF;SACF,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,MAAM,CACX,cAAc,EACd,gCAAgC,EAChC,EAAE,EACF,GAAG,EAAE;QACH,OAAO;YACL,QAAQ,EAAE;gBACR;oBACE,IAAI,EAAE,MAAM;oBACZ,OAAO,EAAE;wBACP,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE;;;;;;;;yDAQqC;qBAC5C;iBACF;aACF;SACF,CAAC;IACJ,CAAC,CACF,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/prompts/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/resources/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAG3C,eAAO,MAAM,iBAAiB,GAAI,QAAQ,SAAS,EAAE,QAAQ,WAAW,SAuCvE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/resources/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAI3C,eAAO,MAAM,iBAAiB,GAAI,QAAQ,SAAS,EAAE,QAAQ,WAAW,SA8DvE,CAAC"}
@@ -1,18 +1,18 @@
1
+ import { getPromptDefinitions } from "../prompts/index.js";
1
2
  export const registerResources = (server, client) => {
2
- server.resource("memo", "memo://memos/{uid}", { description: "A memo by its UID", mimeType: "text/markdown" }, async (uri) => {
3
+ server.registerResource("memo", "memo://memos/{uid}", { description: "A memo by its UID", mimeType: "text/markdown" }, async (uri) => {
3
4
  const uid = uri.pathname.split("/").pop();
4
5
  if (!uid) {
5
6
  throw new Error("Invalid memo URI: missing UID");
6
7
  }
7
8
  const memo = await client.get(`/api/v1/memos:by-uid/${uid}`);
8
- // Format as markdown with YAML frontmatter
9
+ const id = memo.name?.match(/^memos\/(\d+)$/)?.[1];
9
10
  const frontmatter = [
10
11
  "---",
12
+ id ? `id: ${id}` : null,
11
13
  `uid: ${memo.uid}`,
12
- `name: ${memo.name}`,
13
- `creator: ${memo.creator}`,
14
14
  `visibility: ${memo.visibility}`,
15
- `pinned: ${memo.pinned}`,
15
+ memo.pinned ? `pinned: true` : null,
16
16
  `created: ${memo.createTime}`,
17
17
  `updated: ${memo.updateTime}`,
18
18
  memo.tags?.length ? `tags: [${memo.tags.join(", ")}]` : null,
@@ -30,5 +30,23 @@ export const registerResources = (server, client) => {
30
30
  ],
31
31
  };
32
32
  });
33
+ // Expose prompts as readable resources so the assistant can access them
34
+ // programmatically (e.g. from channel conversations where slash commands
35
+ // are not available).
36
+ const prompts = getPromptDefinitions();
37
+ for (const [name, prompt] of Object.entries(prompts)) {
38
+ server.registerResource(`prompt-${name}`, `memo://prompts/${name}`, {
39
+ description: `Prompt: ${prompt.description}`,
40
+ mimeType: "text/markdown",
41
+ }, async (uri) => ({
42
+ contents: [
43
+ {
44
+ uri: uri.href,
45
+ mimeType: "text/markdown",
46
+ text: prompt.text,
47
+ },
48
+ ],
49
+ }));
50
+ }
33
51
  };
34
52
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/resources/index.ts"],"names":[],"mappings":"AAIA,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,MAAiB,EAAE,MAAmB,EAAE,EAAE;IAC1E,MAAM,CAAC,QAAQ,CACb,MAAM,EACN,oBAAoB,EACpB,EAAE,WAAW,EAAE,mBAAmB,EAAE,QAAQ,EAAE,eAAe,EAAE,EAC/D,KAAK,EAAE,GAAG,EAAE,EAAE;QACZ,MAAM,GAAG,GAAG,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;QAC1C,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;QACnD,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,GAAG,CAAO,wBAAwB,GAAG,EAAE,CAAC,CAAC;QAEnE,2CAA2C;QAC3C,MAAM,WAAW,GAAG;YAClB,KAAK;YACL,QAAQ,IAAI,CAAC,GAAG,EAAE;YAClB,SAAS,IAAI,CAAC,IAAI,EAAE;YACpB,YAAY,IAAI,CAAC,OAAO,EAAE;YAC1B,eAAe,IAAI,CAAC,UAAU,EAAE;YAChC,WAAW,IAAI,CAAC,MAAM,EAAE;YACxB,YAAY,IAAI,CAAC,UAAU,EAAE;YAC7B,YAAY,IAAI,CAAC,UAAU,EAAE;YAC7B,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI;YAC5D,KAAK;SACN;aACE,MAAM,CAAC,OAAO,CAAC;aACf,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,OAAO;YACL,QAAQ,EAAE;gBACR;oBACE,GAAG,EAAE,GAAG,CAAC,IAAI;oBACb,QAAQ,EAAE,eAAe;oBACzB,IAAI,EAAE,GAAG,WAAW,OAAO,IAAI,CAAC,OAAO,EAAE;iBAC1C;aACF;SACF,CAAC;IACJ,CAAC,CACF,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/resources/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAE3D,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,MAAiB,EAAE,MAAmB,EAAE,EAAE;IAC1E,MAAM,CAAC,gBAAgB,CACrB,MAAM,EACN,oBAAoB,EACpB,EAAE,WAAW,EAAE,mBAAmB,EAAE,QAAQ,EAAE,eAAe,EAAE,EAC/D,KAAK,EAAE,GAAG,EAAE,EAAE;QACZ,MAAM,GAAG,GAAG,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;QAC1C,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;QACnD,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,GAAG,CAAO,wBAAwB,GAAG,EAAE,CAAC,CAAC;QAEnE,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACnD,MAAM,WAAW,GAAG;YAClB,KAAK;YACL,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI;YACvB,QAAQ,IAAI,CAAC,GAAG,EAAE;YAClB,eAAe,IAAI,CAAC,UAAU,EAAE;YAChC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI;YACnC,YAAY,IAAI,CAAC,UAAU,EAAE;YAC7B,YAAY,IAAI,CAAC,UAAU,EAAE;YAC7B,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI;YAC5D,KAAK;SACN;aACE,MAAM,CAAC,OAAO,CAAC;aACf,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,OAAO;YACL,QAAQ,EAAE;gBACR;oBACE,GAAG,EAAE,GAAG,CAAC,IAAI;oBACb,QAAQ,EAAE,eAAe;oBACzB,IAAI,EAAE,GAAG,WAAW,OAAO,IAAI,CAAC,OAAO,EAAE;iBAC1C;aACF;SACF,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,wEAAwE;IACxE,yEAAyE;IACzE,sBAAsB;IACtB,MAAM,OAAO,GAAG,oBAAoB,EAAE,CAAC;IACvC,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QACrD,MAAM,CAAC,gBAAgB,CACrB,UAAU,IAAI,EAAE,EAChB,kBAAkB,IAAI,EAAE,EACxB;YACE,WAAW,EAAE,WAAW,MAAM,CAAC,WAAW,EAAE;YAC5C,QAAQ,EAAE,eAAe;SAC1B,EACD,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;YACd,QAAQ,EAAE;gBACR;oBACE,GAAG,EAAE,GAAG,CAAC,IAAI;oBACb,QAAQ,EAAE,eAAe;oBACzB,IAAI,EAAE,MAAM,CAAC,IAAI;iBAClB;aACF;SACF,CAAC,CACH,CAAC;IACJ,CAAC;AACH,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AASpE,eAAO,MAAM,YAAY,iBAiCxB,CAAC"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAapE,eAAO,MAAM,YAAY,iBAqCxB,CAAC"}
package/dist/server.js CHANGED
@@ -2,6 +2,10 @@ import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
2
  import { MemosClient } from "./client.js";
3
3
  import { registerMemoTools } from "./tools/memos.js";
4
4
  import { registerTagTools } from "./tools/tags.js";
5
+ import { registerResourceTools } from "./tools/resources.js";
6
+ import { registerRelationTools } from "./tools/relations.js";
7
+ import { registerReviewTools } from "./tools/review.js";
8
+ import { registerPrompts } from "./prompts/index.js";
5
9
  import { registerResources } from "./resources/index.js";
6
10
  const VALID_VISIBILITIES = ["PRIVATE", "PROTECTED", "PUBLIC"];
7
11
  export const createServer = () => {
@@ -22,11 +26,15 @@ export const createServer = () => {
22
26
  const client = new MemosClient(memosUrl, memosToken);
23
27
  const server = new McpServer({
24
28
  name: "memos-mcp",
25
- version: "0.2.0",
29
+ version: "1.0.0",
26
30
  });
27
31
  registerMemoTools(server, client, { defaultVisibility });
28
32
  registerTagTools(server, client);
29
- // Register resources
33
+ registerResourceTools(server, client);
34
+ registerRelationTools(server, client);
35
+ registerReviewTools(server, client);
36
+ registerPrompts(server);
37
+ // Register MCP resources
30
38
  registerResources(server, client);
31
39
  return server;
32
40
  };
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEzD,MAAM,kBAAkB,GAAG,CAAC,SAAS,EAAE,WAAW,EAAE,QAAQ,CAAU,CAAC;AAGvE,MAAM,CAAC,MAAM,YAAY,GAAG,GAAG,EAAE;IAC/B,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC;IACvC,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC;IAE3C,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,CAAC,KAAK,CAAC,mDAAmD,CAAC,CAAC;QACnE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,CAAC,KAAK,CAAC,qDAAqD,CAAC,CAAC;QACrE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,wBAAwB,EAAE,WAAW,EAAE,CAAC;IAC1E,MAAM,iBAAiB,GACrB,aAAa,IAAI,kBAAkB,CAAC,QAAQ,CAAC,aAA2B,CAAC;QACvE,CAAC,CAAE,aAA4B;QAC/B,CAAC,CAAC,SAAS,CAAC;IAEhB,MAAM,MAAM,GAAG,IAAI,WAAW,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IAErD,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC;QAC3B,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE,OAAO;KACjB,CAAC,CAAC;IAEH,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,iBAAiB,EAAE,CAAC,CAAC;IACzD,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEjC,qBAAqB;IACrB,iBAAiB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAElC,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEzD,MAAM,kBAAkB,GAAG,CAAC,SAAS,EAAE,WAAW,EAAE,QAAQ,CAAU,CAAC;AAGvE,MAAM,CAAC,MAAM,YAAY,GAAG,GAAG,EAAE;IAC/B,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC;IACvC,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC;IAE3C,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,CAAC,KAAK,CAAC,mDAAmD,CAAC,CAAC;QACnE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,CAAC,KAAK,CAAC,qDAAqD,CAAC,CAAC;QACrE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,wBAAwB,EAAE,WAAW,EAAE,CAAC;IAC1E,MAAM,iBAAiB,GACrB,aAAa,IAAI,kBAAkB,CAAC,QAAQ,CAAC,aAA2B,CAAC;QACvE,CAAC,CAAE,aAA4B;QAC/B,CAAC,CAAC,SAAS,CAAC;IAEhB,MAAM,MAAM,GAAG,IAAI,WAAW,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IAErD,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC;QAC3B,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE,OAAO;KACjB,CAAC,CAAC;IAEH,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,iBAAiB,EAAE,CAAC,CAAC;IACzD,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,qBAAqB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,qBAAqB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,mBAAmB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,eAAe,CAAC,MAAM,CAAC,CAAC;IAExB,yBAAyB;IACzB,iBAAiB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAElC,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"memos.d.ts","sourceRoot":"","sources":["../../src/tools/memos.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAG3C,KAAK,UAAU,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,CAAC;AA8HrD,UAAU,gBAAgB;IACxB,iBAAiB,EAAE,UAAU,CAAC;CAC/B;AAED,eAAO,MAAM,iBAAiB,GAC5B,QAAQ,SAAS,EACjB,QAAQ,WAAW,EACnB,SAAS,gBAAgB,SA6L1B,CAAC"}
1
+ {"version":3,"file":"memos.d.ts","sourceRoot":"","sources":["../../src/tools/memos.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAI3C,KAAK,UAAU,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,CAAC;AAsFrD,UAAU,gBAAgB;IACxB,iBAAiB,EAAE,UAAU,CAAC;CAC/B;AAED,eAAO,MAAM,iBAAiB,GAC5B,QAAQ,SAAS,EACjB,QAAQ,WAAW,EACnB,SAAS,gBAAgB,SAiK1B,CAAC"}