@mind-your-now/myn 0.4.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/LICENSE +21 -0
- package/README.md +318 -0
- package/dist/index.d.ts +77 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +147 -0
- package/dist/index.js.map +1 -0
- package/dist/src/client.d.ts +40 -0
- package/dist/src/client.d.ts.map +1 -0
- package/dist/src/client.js +95 -0
- package/dist/src/client.js.map +1 -0
- package/dist/src/tools/briefing.d.ts +44 -0
- package/dist/src/tools/briefing.d.ts.map +1 -0
- package/dist/src/tools/briefing.js +116 -0
- package/dist/src/tools/briefing.js.map +1 -0
- package/dist/src/tools/calendar.d.ts +56 -0
- package/dist/src/tools/calendar.d.ts.map +1 -0
- package/dist/src/tools/calendar.js +206 -0
- package/dist/src/tools/calendar.js.map +1 -0
- package/dist/src/tools/capabilityHash.d.ts +26 -0
- package/dist/src/tools/capabilityHash.d.ts.map +1 -0
- package/dist/src/tools/capabilityHash.js +48 -0
- package/dist/src/tools/capabilityHash.js.map +1 -0
- package/dist/src/tools/habits.d.ts +43 -0
- package/dist/src/tools/habits.d.ts.map +1 -0
- package/dist/src/tools/habits.js +123 -0
- package/dist/src/tools/habits.js.map +1 -0
- package/dist/src/tools/household.d.ts +44 -0
- package/dist/src/tools/household.d.ts.map +1 -0
- package/dist/src/tools/household.js +146 -0
- package/dist/src/tools/household.js.map +1 -0
- package/dist/src/tools/lists.d.ts +45 -0
- package/dist/src/tools/lists.d.ts.map +1 -0
- package/dist/src/tools/lists.js +167 -0
- package/dist/src/tools/lists.js.map +1 -0
- package/dist/src/tools/memory.d.ts +45 -0
- package/dist/src/tools/memory.d.ts.map +1 -0
- package/dist/src/tools/memory.js +131 -0
- package/dist/src/tools/memory.js.map +1 -0
- package/dist/src/tools/myn_a2a_pairing.d.ts +42 -0
- package/dist/src/tools/myn_a2a_pairing.d.ts.map +1 -0
- package/dist/src/tools/myn_a2a_pairing.js +166 -0
- package/dist/src/tools/myn_a2a_pairing.js.map +1 -0
- package/dist/src/tools/planning.d.ts +56 -0
- package/dist/src/tools/planning.d.ts.map +1 -0
- package/dist/src/tools/planning.js +94 -0
- package/dist/src/tools/planning.js.map +1 -0
- package/dist/src/tools/profile.d.ts +47 -0
- package/dist/src/tools/profile.d.ts.map +1 -0
- package/dist/src/tools/profile.js +125 -0
- package/dist/src/tools/profile.js.map +1 -0
- package/dist/src/tools/projects.d.ts +45 -0
- package/dist/src/tools/projects.d.ts.map +1 -0
- package/dist/src/tools/projects.js +106 -0
- package/dist/src/tools/projects.js.map +1 -0
- package/dist/src/tools/search.d.ts +46 -0
- package/dist/src/tools/search.d.ts.map +1 -0
- package/dist/src/tools/search.js +93 -0
- package/dist/src/tools/search.js.map +1 -0
- package/dist/src/tools/syncOnMismatch.d.ts +48 -0
- package/dist/src/tools/syncOnMismatch.d.ts.map +1 -0
- package/dist/src/tools/syncOnMismatch.js +94 -0
- package/dist/src/tools/syncOnMismatch.js.map +1 -0
- package/dist/src/tools/tasks.d.ts +52 -0
- package/dist/src/tools/tasks.d.ts.map +1 -0
- package/dist/src/tools/tasks.js +200 -0
- package/dist/src/tools/tasks.js.map +1 -0
- package/dist/src/tools/timers.d.ts +48 -0
- package/dist/src/tools/timers.d.ts.map +1 -0
- package/dist/src/tools/timers.js +138 -0
- package/dist/src/tools/timers.js.map +1 -0
- package/openclaw.plugin.json +30 -0
- package/package.json +74 -0
- package/skills/myn/SKILL.md +54 -0
- package/skills/myn/references/authentication.md +83 -0
- package/skills/myn/references/briefing-api.md +187 -0
- package/skills/myn/references/calendar-api.md +139 -0
- package/skills/myn/references/habits-api.md +257 -0
- package/skills/myn/references/household-api.md +175 -0
- package/skills/myn/references/lists-api.md +180 -0
- package/skills/myn/references/memory-api.md +95 -0
- package/skills/myn/references/planning-api.md +191 -0
- package/skills/myn/references/profile-api.md +148 -0
- package/skills/myn/references/projects-api.md +127 -0
- package/skills/myn/references/search-api.md +97 -0
- package/skills/myn/references/tasks-api.md +187 -0
- package/skills/myn/references/timers-api.md +171 -0
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
# Timers API
|
|
2
|
+
|
|
3
|
+
Countdown timers, alarms, and Pomodoro sessions.
|
|
4
|
+
|
|
5
|
+
## Base Path
|
|
6
|
+
|
|
7
|
+
`/api/v2/timers`
|
|
8
|
+
|
|
9
|
+
## Endpoints
|
|
10
|
+
|
|
11
|
+
### List Active Timers
|
|
12
|
+
|
|
13
|
+
```
|
|
14
|
+
GET /api/v2/timers
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
Returns all active timers for the current user.
|
|
18
|
+
|
|
19
|
+
**Response Fields:**
|
|
20
|
+
|
|
21
|
+
| Field | Type | Description |
|
|
22
|
+
|-------|------|-------------|
|
|
23
|
+
| `timers` | object[] | Array of timer objects |
|
|
24
|
+
| `timers[].timerId` | UUID | Timer identifier |
|
|
25
|
+
| `timers[].type` | string | `COUNTDOWN`, `ALARM`, or `POMODORO` |
|
|
26
|
+
| `timers[].label` | string | User-defined label (nullable) |
|
|
27
|
+
| `timers[].status` | string | Current status (e.g., `RUNNING`, `PAUSED`, `SNOOZED`, `RINGING`, `COMPLETED`) |
|
|
28
|
+
| `timers[].duration` | number | Total duration in seconds (COUNTDOWN/POMODORO) |
|
|
29
|
+
| `timers[].remaining` | number | Seconds remaining (COUNTDOWN/POMODORO) |
|
|
30
|
+
| `timers[].endTime` | datetime | When the timer will fire (COUNTDOWN) |
|
|
31
|
+
| `timers[].alarmTime` | datetime | Scheduled alarm time (ALARM) |
|
|
32
|
+
| `timers[].recurrence` | string | RRULE for recurring alarms (ALARM, nullable) |
|
|
33
|
+
| `timers[].currentSession` | number | Current Pomodoro session number (POMODORO) |
|
|
34
|
+
| `timers[].totalSessions` | number | Total Pomodoro sessions configured (POMODORO) |
|
|
35
|
+
| `timers[].isWorkPhase` | boolean | Whether in work or break phase (POMODORO) |
|
|
36
|
+
| `activeCount` | number | Total number of active timers |
|
|
37
|
+
|
|
38
|
+
```bash
|
|
39
|
+
curl -H "X-API-KEY: $MYN_API_KEY" \
|
|
40
|
+
"$MYN_API_URL/api/v2/timers"
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
### Create Timer
|
|
44
|
+
|
|
45
|
+
```
|
|
46
|
+
POST /api/v2/timers
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
Creates a new timer. The request body varies by timer type.
|
|
50
|
+
|
|
51
|
+
#### Countdown Timer
|
|
52
|
+
|
|
53
|
+
| Field | Type | Description |
|
|
54
|
+
|-------|------|-------------|
|
|
55
|
+
| `type` | string | **Required.** `"COUNTDOWN"` |
|
|
56
|
+
| `duration` | number | **Required.** Duration in seconds |
|
|
57
|
+
| `label` | string | Optional label |
|
|
58
|
+
|
|
59
|
+
```bash
|
|
60
|
+
# 25-minute countdown
|
|
61
|
+
curl -X POST "$MYN_API_URL/api/v2/timers" \
|
|
62
|
+
-H "X-API-KEY: $MYN_API_KEY" \
|
|
63
|
+
-H "Content-Type: application/json" \
|
|
64
|
+
-d '{
|
|
65
|
+
"type": "COUNTDOWN",
|
|
66
|
+
"duration": 1500,
|
|
67
|
+
"label": "Focus time"
|
|
68
|
+
}'
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
#### Alarm Timer
|
|
72
|
+
|
|
73
|
+
| Field | Type | Description |
|
|
74
|
+
|-------|------|-------------|
|
|
75
|
+
| `type` | string | **Required.** `"ALARM"` |
|
|
76
|
+
| `alarmTime` | datetime | **Required.** When the alarm should fire (ISO 8601) |
|
|
77
|
+
| `label` | string | Optional label |
|
|
78
|
+
| `recurrence` | string | Optional RRULE for repeating alarms |
|
|
79
|
+
| `sound` | string | Optional alarm sound name |
|
|
80
|
+
|
|
81
|
+
```bash
|
|
82
|
+
# One-time alarm
|
|
83
|
+
curl -X POST "$MYN_API_URL/api/v2/timers" \
|
|
84
|
+
-H "X-API-KEY: $MYN_API_KEY" \
|
|
85
|
+
-H "Content-Type: application/json" \
|
|
86
|
+
-d '{
|
|
87
|
+
"type": "ALARM",
|
|
88
|
+
"alarmTime": "2026-03-02T07:00:00Z",
|
|
89
|
+
"label": "Morning wake-up"
|
|
90
|
+
}'
|
|
91
|
+
|
|
92
|
+
# Recurring weekday alarm
|
|
93
|
+
curl -X POST "$MYN_API_URL/api/v2/timers" \
|
|
94
|
+
-H "X-API-KEY: $MYN_API_KEY" \
|
|
95
|
+
-H "Content-Type: application/json" \
|
|
96
|
+
-d '{
|
|
97
|
+
"type": "ALARM",
|
|
98
|
+
"alarmTime": "2026-03-02T08:30:00Z",
|
|
99
|
+
"label": "Standup reminder",
|
|
100
|
+
"recurrence": "FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR"
|
|
101
|
+
}'
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
#### Pomodoro Timer
|
|
105
|
+
|
|
106
|
+
| Field | Type | Description |
|
|
107
|
+
|-------|------|-------------|
|
|
108
|
+
| `type` | string | **Required.** `"POMODORO"` |
|
|
109
|
+
| `workDuration` | number | **Required.** Work phase duration in seconds |
|
|
110
|
+
| `breakDuration` | number | **Required.** Short break duration in seconds |
|
|
111
|
+
| `longBreakDuration` | number | **Required.** Long break duration in seconds (after all sessions) |
|
|
112
|
+
| `sessions` | number | Number of work sessions before long break (default: 4) |
|
|
113
|
+
| `autoStart` | boolean | Auto-start next phase (default: false) |
|
|
114
|
+
| `label` | string | Optional label |
|
|
115
|
+
|
|
116
|
+
```bash
|
|
117
|
+
# Standard Pomodoro: 25min work, 5min break, 15min long break, 4 sessions
|
|
118
|
+
curl -X POST "$MYN_API_URL/api/v2/timers" \
|
|
119
|
+
-H "X-API-KEY: $MYN_API_KEY" \
|
|
120
|
+
-H "Content-Type: application/json" \
|
|
121
|
+
-d '{
|
|
122
|
+
"type": "POMODORO",
|
|
123
|
+
"workDuration": 1500,
|
|
124
|
+
"breakDuration": 300,
|
|
125
|
+
"longBreakDuration": 900,
|
|
126
|
+
"sessions": 4,
|
|
127
|
+
"autoStart": true,
|
|
128
|
+
"label": "Deep work block"
|
|
129
|
+
}'
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
### Cancel Timer
|
|
133
|
+
|
|
134
|
+
```
|
|
135
|
+
DELETE /api/v2/timers/{timerId}
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
```bash
|
|
139
|
+
curl -X DELETE "$MYN_API_URL/api/v2/timers/550e8400-e29b-41d4-a716-446655440000" \
|
|
140
|
+
-H "X-API-KEY: $MYN_API_KEY"
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
### Snooze Timer
|
|
144
|
+
|
|
145
|
+
```
|
|
146
|
+
POST /api/v2/timers/{timerId}/snooze
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
Snoozes a ringing alarm or timer.
|
|
150
|
+
|
|
151
|
+
**Body Parameters:**
|
|
152
|
+
|
|
153
|
+
| Field | Type | Description |
|
|
154
|
+
|-------|------|-------------|
|
|
155
|
+
| `snoozeMinutes` | number | Minutes to snooze (default: 5) |
|
|
156
|
+
|
|
157
|
+
**Response Fields:**
|
|
158
|
+
|
|
159
|
+
| Field | Type | Description |
|
|
160
|
+
|-------|------|-------------|
|
|
161
|
+
| `timerId` | UUID | Timer identifier |
|
|
162
|
+
| `snoozedUntil` | datetime | When the timer will ring again |
|
|
163
|
+
| `status` | string | `"SNOOZED"` |
|
|
164
|
+
|
|
165
|
+
```bash
|
|
166
|
+
# Snooze for 10 minutes
|
|
167
|
+
curl -X POST "$MYN_API_URL/api/v2/timers/550e8400-e29b-41d4-a716-446655440000/snooze" \
|
|
168
|
+
-H "X-API-KEY: $MYN_API_KEY" \
|
|
169
|
+
-H "Content-Type: application/json" \
|
|
170
|
+
-d '{"snoozeMinutes": 10}'
|
|
171
|
+
```
|