@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.
Files changed (86) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +318 -0
  3. package/dist/index.d.ts +77 -0
  4. package/dist/index.d.ts.map +1 -0
  5. package/dist/index.js +147 -0
  6. package/dist/index.js.map +1 -0
  7. package/dist/src/client.d.ts +40 -0
  8. package/dist/src/client.d.ts.map +1 -0
  9. package/dist/src/client.js +95 -0
  10. package/dist/src/client.js.map +1 -0
  11. package/dist/src/tools/briefing.d.ts +44 -0
  12. package/dist/src/tools/briefing.d.ts.map +1 -0
  13. package/dist/src/tools/briefing.js +116 -0
  14. package/dist/src/tools/briefing.js.map +1 -0
  15. package/dist/src/tools/calendar.d.ts +56 -0
  16. package/dist/src/tools/calendar.d.ts.map +1 -0
  17. package/dist/src/tools/calendar.js +206 -0
  18. package/dist/src/tools/calendar.js.map +1 -0
  19. package/dist/src/tools/capabilityHash.d.ts +26 -0
  20. package/dist/src/tools/capabilityHash.d.ts.map +1 -0
  21. package/dist/src/tools/capabilityHash.js +48 -0
  22. package/dist/src/tools/capabilityHash.js.map +1 -0
  23. package/dist/src/tools/habits.d.ts +43 -0
  24. package/dist/src/tools/habits.d.ts.map +1 -0
  25. package/dist/src/tools/habits.js +123 -0
  26. package/dist/src/tools/habits.js.map +1 -0
  27. package/dist/src/tools/household.d.ts +44 -0
  28. package/dist/src/tools/household.d.ts.map +1 -0
  29. package/dist/src/tools/household.js +146 -0
  30. package/dist/src/tools/household.js.map +1 -0
  31. package/dist/src/tools/lists.d.ts +45 -0
  32. package/dist/src/tools/lists.d.ts.map +1 -0
  33. package/dist/src/tools/lists.js +167 -0
  34. package/dist/src/tools/lists.js.map +1 -0
  35. package/dist/src/tools/memory.d.ts +45 -0
  36. package/dist/src/tools/memory.d.ts.map +1 -0
  37. package/dist/src/tools/memory.js +131 -0
  38. package/dist/src/tools/memory.js.map +1 -0
  39. package/dist/src/tools/myn_a2a_pairing.d.ts +42 -0
  40. package/dist/src/tools/myn_a2a_pairing.d.ts.map +1 -0
  41. package/dist/src/tools/myn_a2a_pairing.js +166 -0
  42. package/dist/src/tools/myn_a2a_pairing.js.map +1 -0
  43. package/dist/src/tools/planning.d.ts +56 -0
  44. package/dist/src/tools/planning.d.ts.map +1 -0
  45. package/dist/src/tools/planning.js +94 -0
  46. package/dist/src/tools/planning.js.map +1 -0
  47. package/dist/src/tools/profile.d.ts +47 -0
  48. package/dist/src/tools/profile.d.ts.map +1 -0
  49. package/dist/src/tools/profile.js +125 -0
  50. package/dist/src/tools/profile.js.map +1 -0
  51. package/dist/src/tools/projects.d.ts +45 -0
  52. package/dist/src/tools/projects.d.ts.map +1 -0
  53. package/dist/src/tools/projects.js +106 -0
  54. package/dist/src/tools/projects.js.map +1 -0
  55. package/dist/src/tools/search.d.ts +46 -0
  56. package/dist/src/tools/search.d.ts.map +1 -0
  57. package/dist/src/tools/search.js +93 -0
  58. package/dist/src/tools/search.js.map +1 -0
  59. package/dist/src/tools/syncOnMismatch.d.ts +48 -0
  60. package/dist/src/tools/syncOnMismatch.d.ts.map +1 -0
  61. package/dist/src/tools/syncOnMismatch.js +94 -0
  62. package/dist/src/tools/syncOnMismatch.js.map +1 -0
  63. package/dist/src/tools/tasks.d.ts +52 -0
  64. package/dist/src/tools/tasks.d.ts.map +1 -0
  65. package/dist/src/tools/tasks.js +200 -0
  66. package/dist/src/tools/tasks.js.map +1 -0
  67. package/dist/src/tools/timers.d.ts +48 -0
  68. package/dist/src/tools/timers.d.ts.map +1 -0
  69. package/dist/src/tools/timers.js +138 -0
  70. package/dist/src/tools/timers.js.map +1 -0
  71. package/openclaw.plugin.json +30 -0
  72. package/package.json +74 -0
  73. package/skills/myn/SKILL.md +54 -0
  74. package/skills/myn/references/authentication.md +83 -0
  75. package/skills/myn/references/briefing-api.md +187 -0
  76. package/skills/myn/references/calendar-api.md +139 -0
  77. package/skills/myn/references/habits-api.md +257 -0
  78. package/skills/myn/references/household-api.md +175 -0
  79. package/skills/myn/references/lists-api.md +180 -0
  80. package/skills/myn/references/memory-api.md +95 -0
  81. package/skills/myn/references/planning-api.md +191 -0
  82. package/skills/myn/references/profile-api.md +148 -0
  83. package/skills/myn/references/projects-api.md +127 -0
  84. package/skills/myn/references/search-api.md +97 -0
  85. package/skills/myn/references/tasks-api.md +187 -0
  86. 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
+ ```