48 lines
2.5 KiB
Markdown
48 lines
2.5 KiB
Markdown
# カレンダーツール(AddCalendarEvent / ListCalendarEvents)
|
||
|
||
スペース別カレンダーに「予定」を読み書きするツール。予定は受動的なエントリで、
|
||
cron の定期タスク(`scheduled_tasks`)とは別概念(予定は実行しない)。
|
||
|
||
予定は実行中タスクが属するスペース(`ctx.spaceId`)のカレンダーに記録される。
|
||
スペースに属していないタスク(旧 local タスク)では使えず、明確なエラーを返す。
|
||
|
||
## AddCalendarEvent
|
||
|
||
実行中タスクのスペースのカレンダーに予定を1件追加する。
|
||
`created_by` は常に `agent`、`source_task_id` には実行中タスク ID が記録される。
|
||
|
||
引数:
|
||
- `title`(必須): 予定のタイトル
|
||
- `date`(必須): 開始日 `YYYY-MM-DD`(ローカル日付)
|
||
- `end_date`(任意): 終了日 `YYYY-MM-DD`。複数日にまたがる予定のとき指定。省略すると単日。`date` より前は不可
|
||
- `time`(任意): 開始 `HH:MM`。省略すると終日扱い
|
||
- `end_time`(任意): 終了 `HH:MM`。`time`(開始)があるときだけ有効。単日では開始時刻以降のみ(複数日は終了日側の時刻なので順序不問)
|
||
- `description`(任意): 補足説明
|
||
|
||
例:
|
||
```
|
||
AddCalendarEvent({ title: "定例MTG", date: "2026-07-01", time: "10:00", end_time: "11:00" })
|
||
AddCalendarEvent({ title: "提出締切", date: "2026-07-10" }) // 終日
|
||
AddCalendarEvent({ title: "現地出張", date: "2026-07-10", end_date: "2026-07-12" }) // 複数日
|
||
```
|
||
|
||
使いどころ: ユーザーが「○日に△△を予定に入れて」と依頼したとき、調査の結果として
|
||
期限や予定日が判明したとき。日付は必ずユーザーのローカル暦日で指定する。
|
||
|
||
## ListCalendarEvents
|
||
|
||
スペースの予定を日付範囲で一覧する(読み取り専用)。
|
||
|
||
引数:
|
||
- `from`(任意): 範囲開始 `YYYY-MM-DD`
|
||
- `to`(任意): 範囲終了 `YYYY-MM-DD`
|
||
|
||
範囲を省略すると全期間。結果は日付→時刻順(終日は各日の先頭)で返る。
|
||
|
||
## gotcha
|
||
|
||
- `date` / `from` / `to` は `YYYY-MM-DD`、`time` / `end_time` は `HH:MM` 厳守。形式違反はエラー。
|
||
- `end_time` は `time` なしには指定できない(終日の予定に終了時刻は持てない)。
|
||
- スペース未所属のタスクからは呼べない(`ctx.spaceId` 必須)。
|
||
- 予定はスペースの可視性に従う。イベント単独の可視性は持たない。
|