diff options
| author | Adam Malczewski <[email protected]> | 2026-03-29 13:44:05 +0900 |
|---|---|---|
| committer | Adam Malczewski <[email protected]> | 2026-03-29 13:44:05 +0900 |
| commit | e8d107e454b3804e089a33ce5fe7c931040d4647 (patch) | |
| tree | 4f8787fae670e86515baed54e00087ce3ef28da6 /.rules/plan/calendar-phase-7.md | |
| parent | 67d7d50ee2b05f66de3ab6aea38ff5d7d56ce839 (diff) | |
| download | ai-pulse-obsidian-plugin-e8d107e454b3804e089a33ce5fe7c931040d4647.tar.gz ai-pulse-obsidian-plugin-e8d107e454b3804e089a33ce5fe7c931040d4647.zip | |
remove calendar and chat history
Diffstat (limited to '.rules/plan/calendar-phase-7.md')
| -rw-r--r-- | .rules/plan/calendar-phase-7.md | 109 |
1 files changed, 0 insertions, 109 deletions
diff --git a/.rules/plan/calendar-phase-7.md b/.rules/plan/calendar-phase-7.md deleted file mode 100644 index 8bd0aaf..0000000 --- a/.rules/plan/calendar-phase-7.md +++ /dev/null @@ -1,109 +0,0 @@ -# Phase 7: AI Tools for Date-Based Notes - -**Status:** Not started -**Depends on:** Phase 1 (daily-notes.ts) -**Output files:** `src/context/tools/read-daily-note.json`, `src/context/tools/write-daily-note.json`, modifications to `src/tools.ts` - ---- - -## Overview - -Two new tools the AI can use to interact with the calendar structure: `read_daily_note` and `write_daily_note`. - ---- - -## `read_daily_note` Tool - -### JSON Definition (`src/context/tools/read-daily-note.json`) - -```json -{ - "id": "read_daily_note", - "label": "Read Daily Note", - "description": "Read the daily note for a specific date", - "friendlyName": "Read Daily Note", - "requiresApproval": false, - "definition": { - "type": "function", - "function": { - "name": "read_daily_note", - "description": "Read the daily note for a given date. Use 'today' for the current date, or provide a date in YYYY-MM-DD format.", - "parameters": { - "type": "object", - "required": ["date"], - "properties": { - "date": { - "type": "string", - "description": "The date to read. Use 'today', 'yesterday', 'tomorrow', or a YYYY-MM-DD date string." - } - } - } - } - } -} -``` - -### Execute Logic - -1. Parse the `date` argument — handle `"today"`, `"yesterday"`, `"tomorrow"`, or parse `YYYY-MM-DD` with `moment()` -2. Compute the path using `getDailyNotePath()` -3. If file exists: read and return content (same format as `read_file`) -4. If not: return `"No daily note exists for {date}."` - ---- - -## `write_daily_note` Tool - -### JSON Definition (`src/context/tools/write-daily-note.json`) - -```json -{ - "id": "write_daily_note", - "label": "Write Daily Note", - "description": "Write or append to the daily note for a specific date", - "friendlyName": "Write Daily Note", - "requiresApproval": true, - "definition": { - "type": "function", - "function": { - "name": "write_daily_note", - "description": "Write content to the daily note for a given date. Creates the note if it does not exist. Use mode 'append' to add to the end, or 'overwrite' to replace all content.", - "parameters": { - "type": "object", - "required": ["date", "content"], - "properties": { - "date": { - "type": "string", - "description": "The date to write to. Use 'today', 'yesterday', 'tomorrow', or a YYYY-MM-DD date string." - }, - "content": { - "type": "string", - "description": "The content to write." - }, - "mode": { - "type": "string", - "description": "Write mode: 'append' (default) adds to the end, 'overwrite' replaces all content." - } - } - } - } - } -} -``` - -### Execute Logic - -1. Parse date (same as read) -2. If file does not exist: create it with content (using `createDailyNote()` then write) -3. If file exists: - - `"append"` (default): `app.vault.append(file, "\n" + content)` - - `"overwrite"`: `app.vault.modify(file, content)` -4. Return confirmation message - ---- - -## Registration in `src/tools.ts` - -- Import both JSON files -- Add `TOOL_REGISTRY` entries that spread the JSON context and add runtime callbacks (`summarize`, `summarizeResult`, `execute`, and optionally `approvalMessage`) -- Follow the existing pattern for other tools |
