keepsake-mcp 1.13.0 → 1.14.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 +3 -3
- package/build/tools.js +4 -4
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -188,9 +188,9 @@ Material kept *alongside* a note without entering its text — an idea, a refere
|
|
|
188
188
|
### Days (intention or question of the day)
|
|
189
189
|
| Tool | Description |
|
|
190
190
|
|------|-------------|
|
|
191
|
-
| `list_days` | List days with their intention or question of the day, by date range |
|
|
192
|
-
| `get_day` | Get a day
|
|
193
|
-
| `update_day` | Set a day's intention or question — one short line, not a journal (upsert) |
|
|
191
|
+
| `list_days` | List days with their intention or question of the day (the one in force, which stays until changed), by date range |
|
|
192
|
+
| `get_day` | Get a day, its intention in force (`intention`, carried over until changed) and what was written that day (`note`) |
|
|
193
|
+
| `update_day` | Set a day's intention or question — one short line, not a journal (upsert); it stays in place on the following days until changed |
|
|
194
194
|
|
|
195
195
|
### Day blocks (Day-view timeline)
|
|
196
196
|
| Tool | Description |
|
package/build/tools.js
CHANGED
|
@@ -657,7 +657,7 @@ export function registerAllTools(server, fetchApi) {
|
|
|
657
657
|
// DAYS (Daily Summaries)
|
|
658
658
|
// ===========================================================================
|
|
659
659
|
server.registerTool("list_days", {
|
|
660
|
-
description: "List days with their intention or question of the day (
|
|
660
|
+
description: "List stored days with their intention or question of the day. An intention stays in place until changed: `intention` is the one in force that day (the last one written on that day or before, `intention_date` = when it was written); `note` is what was written on that exact day (null = nothing written). Filter by date range.",
|
|
661
661
|
inputSchema: {
|
|
662
662
|
from: z.string().optional().describe("Start date (YYYY-MM-DD)"),
|
|
663
663
|
to: z.string().optional().describe("End date (YYYY-MM-DD)"),
|
|
@@ -669,7 +669,7 @@ export function registerAllTools(server, fetchApi) {
|
|
|
669
669
|
return toContent(await fetchApi(`/days${qs({ from, to, limit, offset })}`));
|
|
670
670
|
});
|
|
671
671
|
server.registerTool("get_day", {
|
|
672
|
-
description: "Get a specific day by date: its intention or question of the day
|
|
672
|
+
description: "Get a specific day by date: its intention or question of the day AND the notes linked to that day (field `notes`, via link_note_date / `dates`). An intention stays in place until changed: `intention` is the one in force that day, as the user sees it (the last one written on that day or before; `intention_date` = the day it was written), while `note` is what was written on that exact day (null = nothing written there, '' = intention stopped from that day). Always 200 — `exists: false` means no row is stored for that date; `intention` and the linked notes are returned regardless.",
|
|
673
673
|
inputSchema: {
|
|
674
674
|
date: z.string().describe("Date (YYYY-MM-DD)"),
|
|
675
675
|
},
|
|
@@ -678,10 +678,10 @@ export function registerAllTools(server, fetchApi) {
|
|
|
678
678
|
return toContent(await fetchApi(`/days/${date}`));
|
|
679
679
|
});
|
|
680
680
|
server.registerTool("update_day", {
|
|
681
|
-
description: "Create or update a day's intention or question of the day (upsert on the date). The `note` field is the intention or question of the day — one short line at the top of the Today view (a mantra, an intention, a single priority, or a question to keep in mind). Not a journal: never write a summary of the day here.\n\nNOT for attaching a note to a day: this field is a single line and you would overwrite the user's intention. To put a note on a day, use create_note with `dates` or link_note_date.",
|
|
681
|
+
description: "Create or update a day's intention or question of the day (upsert on the date). The `note` field is the intention or question of the day — one short line at the top of the Today view (a mantra, an intention, a single priority, or a question to keep in mind). Not a journal: never write a summary of the day here.\n\nAn intention stays in place until changed: writing it on a day replaces the intention from that day onward (following days show it too, until the next day with its own intention — set one on a future date for a one-off, e.g. before a meeting). `null` removes what was written on that day (the day goes back to the intention in force before it); an empty string stops any intention from that day onward. Check `intention` with get_day before writing: you may be replacing a long-running intention the user cares about.\n\nNOT for attaching a note to a day: this field is a single line and you would overwrite the user's intention. To put a note on a day, use create_note with `dates` or link_note_date.",
|
|
682
682
|
inputSchema: {
|
|
683
683
|
date: z.string().describe("Date (YYYY-MM-DD)"),
|
|
684
|
-
note: z.string().describe("The intention or question of the day: one short line (mantra, intention, single priority, or a question to keep in mind). Not a journal summary."),
|
|
684
|
+
note: z.string().nullable().describe("The intention or question of the day: one short line (mantra, intention, single priority, or a question to keep in mind). Not a journal summary. null = remove what was written on this day (back to the previous intention); empty string = stop any intention from this day onward."),
|
|
685
685
|
},
|
|
686
686
|
annotations: { title: "Update day", destructiveHint: false, idempotentHint: true, openWorldHint: false },
|
|
687
687
|
}, async (params) => {
|