sidebud 0.1.0 → 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 (39) hide show
  1. package/CHANGELOG.md +65 -0
  2. package/dist/main.js +9361 -4209
  3. package/package.json +3 -2
  4. package/skills/widget-packs/SKILL.md +199 -0
  5. package/src/manage/guide/app-arrange.png +0 -0
  6. package/src/manage/guide/app-disk.png +0 -0
  7. package/src/manage/guide/app-open.png +0 -0
  8. package/src/manage/guide/app-thread.png +0 -0
  9. package/src/manage/guide/app-tiles.png +0 -0
  10. package/src/manage/guide/draft.png +0 -0
  11. package/src/manage/guide/layouts.png +0 -0
  12. package/src/manage/guide/library.png +0 -0
  13. package/src/manage/guide/pack-page.png +0 -0
  14. package/src/manage/guide/permissions.png +0 -0
  15. package/src/manage/guide/phone-home.png +0 -0
  16. package/src/manage/guide/phone-open.png +0 -0
  17. package/src/manage/guide/widget-voice.png +0 -0
  18. package/src/manage/guide.js +155 -0
  19. package/src/manage/guide.md +139 -0
  20. package/src/manage/index.html +14 -0
  21. package/src/manage/manage.css +782 -0
  22. package/src/manage/manage.js +155 -39
  23. package/src/manage/packs.js +347 -0
  24. package/src/manage/settings.js +1 -1
  25. package/src/manage/setup.js +83 -23
  26. package/packs/BRAND_ASSETS.md +0 -8
  27. package/packs/calendar/logo.png +0 -0
  28. package/packs/calendar/pack.json +0 -127
  29. package/packs/discord/pack.json +0 -107
  30. package/packs/filesystem/pack.json +0 -84
  31. package/packs/github/pack.json +0 -127
  32. package/packs/gmail/logo.png +0 -0
  33. package/packs/gmail/pack.json +0 -274
  34. package/packs/obsidian/pack.json +0 -88
  35. package/packs/t3-agents/logo.png +0 -0
  36. package/packs/t3-agents/pack.json +0 -492
  37. package/packs/telegram/pack.json +0 -137
  38. package/packs/trello/pack.json +0 -102
  39. package/packs/whatsapp/pack.json +0 -118
@@ -1,127 +0,0 @@
1
- {
2
- "$schema": "../../../../docs/schemas/pack-v2.schema.json",
3
- "schemaVersion": 2,
4
- "id": "app.sidebud.github",
5
- "name": "GitHub",
6
- "description": "Read issues, pull requests, and files in one selected repository through GitHub\u2019s official hosted MCP server.",
7
- "version": "1.0.0",
8
- "author": {
9
- "name": "Sidebud"
10
- },
11
- "license": "MIT",
12
- "logo": {
13
- "kind": "emoji",
14
- "value": "\ud83d\udc19"
15
- },
16
- "controls": [
17
- {
18
- "id": "summarize",
19
- "kind": "prompt",
20
- "label": "Summarize",
21
- "prompt": "Summarize the information available through my GitHub integration.",
22
- "default": true
23
- }
24
- ],
25
- "mcp": {
26
- "transport": "http",
27
- "url": "https://api.githubcopilot.com/mcp/readonly",
28
- "headers": {
29
- "Authorization": "Bearer {{secret.GITHUB_TOKEN}}"
30
- }
31
- },
32
- "secrets": [
33
- {
34
- "name": "GITHUB_TOKEN",
35
- "description": "Fine-grained token restricted to the selected repository, with read access to contents, issues, and pull requests."
36
- }
37
- ],
38
- "settings": [
39
- {
40
- "id": "owner",
41
- "label": "Repository owner",
42
- "type": "text",
43
- "required": true
44
- },
45
- {
46
- "id": "repo",
47
- "label": "Repository name",
48
- "type": "text",
49
- "required": true
50
- }
51
- ],
52
- "permissions": {
53
- "network": [
54
- "api.githubcopilot.com"
55
- ],
56
- "tools": [
57
- {
58
- "name": "list_issues",
59
- "access": "read",
60
- "argumentSettings": {
61
- "owner": "owner",
62
- "repo": "repo"
63
- }
64
- },
65
- {
66
- "name": "list_pull_requests",
67
- "access": "read",
68
- "argumentSettings": {
69
- "owner": "owner",
70
- "repo": "repo"
71
- }
72
- },
73
- {
74
- "name": "issue_read",
75
- "access": "read",
76
- "argumentSettings": {
77
- "owner": "owner",
78
- "repo": "repo"
79
- }
80
- },
81
- {
82
- "name": "pull_request_read",
83
- "access": "read",
84
- "argumentSettings": {
85
- "owner": "owner",
86
- "repo": "repo"
87
- }
88
- },
89
- {
90
- "name": "get_file_contents",
91
- "access": "read",
92
- "argumentSettings": {
93
- "owner": "owner",
94
- "repo": "repo"
95
- }
96
- }
97
- ]
98
- },
99
- "data": [
100
- {
101
- "id": "issues",
102
- "tool": "list_issues",
103
- "arguments": {
104
- "owner": "{{setting.owner}}",
105
- "repo": "{{setting.repo}}",
106
- "state": "OPEN",
107
- "perPage": 8
108
- },
109
- "refreshSeconds": 300
110
- }
111
- ],
112
- "glance": {
113
- "line": "{{setting.owner}}/{{setting.repo}}"
114
- },
115
- "blocks": [
116
- {
117
- "type": "list",
118
- "items": "{{issues/issues}}",
119
- "item": {
120
- "title": "{{item/title}}",
121
- "subtitle": "#{{item/number}}"
122
- },
123
- "limit": 8,
124
- "emptyText": "No open issues"
125
- }
126
- ]
127
- }
Binary file
@@ -1,274 +0,0 @@
1
- {
2
- "schemaVersion": 1,
3
- "id": "dev.remotevoiceagent.gmail",
4
- "name": "Gmail",
5
- "description": "Unread and VIP mail, with inbox clean-up controls. Google API access and tokens stay on your companion computer.",
6
- "version": "2.4.1",
7
- "author": {
8
- "name": "Sidebud"
9
- },
10
- "license": "MIT",
11
- "logo": {
12
- "kind": "file",
13
- "path": "logo.png"
14
- },
15
- "tile": {
16
- "size": "small"
17
- },
18
- "refreshSeconds": 60,
19
- "mcp": {
20
- "transport": "builtin",
21
- "service": "gmail"
22
- },
23
- "auth": {
24
- "type": "oauth2",
25
- "authorizationUrl": "https://accounts.google.com/o/oauth2/v2/auth",
26
- "tokenUrl": "https://oauth2.googleapis.com/token",
27
- "scopes": [
28
- "https://www.googleapis.com/auth/gmail.modify"
29
- ],
30
- "clientIdSecret": "GOOGLE_OAUTH_CLIENT_ID",
31
- "clientSecretSecret": "GOOGLE_OAUTH_CLIENT_SECRET",
32
- "authorizationParams": {
33
- "access_type": "offline",
34
- "prompt": "consent"
35
- }
36
- },
37
- "secrets": [
38
- {
39
- "name": "GOOGLE_OAUTH_CLIENT_ID",
40
- "description": "Desktop OAuth client ID from your Google Cloud project with Gmail API enabled"
41
- },
42
- {
43
- "name": "GOOGLE_OAUTH_CLIENT_SECRET",
44
- "description": "That OAuth client's secret"
45
- }
46
- ],
47
- "permissions": {
48
- "tools": [
49
- {
50
- "name": "search_threads",
51
- "access": "read",
52
- "description": "Search threads with Gmail query syntax"
53
- },
54
- {
55
- "name": "get_thread",
56
- "access": "read",
57
- "description": "Read one thread"
58
- },
59
- {
60
- "name": "list_labels",
61
- "access": "read",
62
- "description": "List labels"
63
- },
64
- {
65
- "name": "unlabel_thread",
66
- "access": "write",
67
- "description": "Remove labels from a thread (archive = remove INBOX, mark read = remove UNREAD)"
68
- }
69
- ],
70
- "network": [
71
- "gmail.googleapis.com",
72
- "accounts.google.com",
73
- "oauth2.googleapis.com"
74
- ]
75
- },
76
- "settings": [
77
- {
78
- "id": "scope",
79
- "label": "Mailbox",
80
- "type": "select",
81
- "default": "in:inbox",
82
- "options": [
83
- {
84
- "id": "in:inbox",
85
- "label": "Inbox"
86
- },
87
- {
88
- "id": "label:important",
89
- "label": "Important"
90
- },
91
- {
92
- "id": "in:anywhere",
93
- "label": "All mail"
94
- }
95
- ]
96
- },
97
- {
98
- "id": "vipQuery",
99
- "label": "VIP senders",
100
- "type": "text",
101
- "default": "is:starred",
102
- "description": "A Gmail search for VIP mail, e.g. from:(boss@example.com OR partner@example.com)"
103
- }
104
- ],
105
- "data": [
106
- {
107
- "id": "unread",
108
- "tool": "search_threads",
109
- "arguments": {
110
- "query": "is:unread {{setting.scope}}",
111
- "pageSize": 50,
112
- "view": "THREAD_VIEW_IDS"
113
- },
114
- "refreshSeconds": 60
115
- },
116
- {
117
- "id": "recent",
118
- "tool": "search_threads",
119
- "arguments": {
120
- "query": "is:unread {{setting.scope}}",
121
- "pageSize": 8,
122
- "view": "THREAD_VIEW_MINIMAL"
123
- },
124
- "refreshSeconds": 60
125
- },
126
- {
127
- "id": "vip",
128
- "tool": "search_threads",
129
- "arguments": {
130
- "query": "is:unread {{setting.vipQuery}}",
131
- "pageSize": 20,
132
- "view": "THREAD_VIEW_MINIMAL"
133
- },
134
- "refreshSeconds": 60
135
- },
136
- {
137
- "id": "newsletters",
138
- "tool": "search_threads",
139
- "arguments": {
140
- "query": "is:unread category:promotions in:inbox",
141
- "pageSize": 50,
142
- "view": "THREAD_VIEW_IDS"
143
- },
144
- "refreshSeconds": 60
145
- }
146
- ],
147
- "glance": {
148
- "stats": [
149
- {
150
- "label": "Unread",
151
- "value": "{{unread/threads|count}}",
152
- "tone": "warning"
153
- },
154
- {
155
- "label": "VIP",
156
- "value": "{{vip/threads|count}}",
157
- "tone": "info"
158
- }
159
- ]
160
- },
161
- "blocks": [
162
- {
163
- "type": "stats",
164
- "items": [
165
- {
166
- "label": "Unread",
167
- "value": "{{unread/threads|count}}",
168
- "tone": "warning"
169
- },
170
- {
171
- "label": "VIP unread",
172
- "value": "{{vip/threads|count}}",
173
- "tone": "info"
174
- },
175
- {
176
- "label": "Newsletters",
177
- "value": "{{newsletters/threads|count}}"
178
- }
179
- ]
180
- },
181
- {
182
- "type": "list",
183
- "items": "{{vip/threads}}",
184
- "item": {
185
- "title": "{{item/messages/0/subject}}",
186
- "subtitle": "{{item/messages/0/sender}}",
187
- "status": "VIP",
188
- "statusTone": "info"
189
- },
190
- "limit": 5,
191
- "emptyText": "No unread VIP mail."
192
- },
193
- {
194
- "type": "list",
195
- "items": "{{recent/threads}}",
196
- "item": {
197
- "title": "{{item/messages/0/subject}}",
198
- "subtitle": "{{item/messages/0/sender}}"
199
- },
200
- "limit": 8,
201
- "emptyText": "Inbox zero."
202
- }
203
- ],
204
- "controls": [
205
- {
206
- "id": "clean",
207
- "kind": "prompt",
208
- "label": "Clean up my inbox",
209
- "prompt": "Clean up my inbox: archive the newsletters and tell me what needs a reply.",
210
- "default": true
211
- },
212
- {
213
- "id": "summarize",
214
- "kind": "prompt",
215
- "label": "Summarize unread",
216
- "prompt": "Summarize my unread email.",
217
- "default": true
218
- },
219
- {
220
- "id": "vip",
221
- "kind": "prompt",
222
- "label": "Unread from VIPs",
223
- "prompt": "Read me my unread emails from VIPs.",
224
- "default": false
225
- },
226
- {
227
- "id": "archive-newsletters",
228
- "kind": "tool",
229
- "label": "Archive newsletters",
230
- "tool": "unlabel_thread",
231
- "forEach": "{{newsletters/threads}}",
232
- "arguments": {
233
- "threadId": "{{item/id}}",
234
- "labelIds": [
235
- "INBOX"
236
- ]
237
- },
238
- "effect": "consequential",
239
- "confirm": "Archive {{newsletters/threads|count}} unread newsletter threads?",
240
- "default": false
241
- },
242
- {
243
- "id": "mark-all-read",
244
- "kind": "tool",
245
- "label": "Mark all read",
246
- "tool": "unlabel_thread",
247
- "forEach": "{{unread/threads}}",
248
- "arguments": {
249
- "threadId": "{{item/id}}",
250
- "labelIds": [
251
- "UNREAD"
252
- ]
253
- },
254
- "effect": "consequential",
255
- "confirm": "Mark {{unread/threads|count}} threads as read?",
256
- "default": false
257
- }
258
- ],
259
- "notify": [
260
- {
261
- "id": "vip",
262
- "category": "mail",
263
- "items": "{{vip/threads}}",
264
- "key": "{{item/id}}",
265
- "rules": [
266
- {
267
- "new": true,
268
- "priority": "update",
269
- "text": "New mail from {{item/messages/0/sender}}: {{item/messages/0/subject}}"
270
- }
271
- ]
272
- }
273
- ]
274
- }
@@ -1,88 +0,0 @@
1
- {
2
- "$schema": "../../../../docs/schemas/pack-v2.schema.json",
3
- "schemaVersion": 2,
4
- "id": "app.sidebud.obsidian",
5
- "name": "Obsidian",
6
- "description": "Read and search your open Obsidian vault through MCP Connector by istefox. Obsidian and its plugin must be running.",
7
- "version": "1.0.1",
8
- "author": {
9
- "name": "Sidebud"
10
- },
11
- "license": "MIT",
12
- "logo": {
13
- "kind": "emoji",
14
- "value": "📓"
15
- },
16
- "controls": [
17
- {
18
- "id": "summarize",
19
- "kind": "prompt",
20
- "label": "Summarize",
21
- "prompt": "Summarize the information available through my Obsidian integration.",
22
- "default": true
23
- }
24
- ],
25
- "mcp": {
26
- "transport": "http",
27
- "url": "{{setting.endpoint}}",
28
- "headers": {
29
- "Authorization": "Bearer {{secret.OBSIDIAN_TOKEN}}"
30
- }
31
- },
32
- "secrets": [
33
- {
34
- "name": "OBSIDIAN_TOKEN",
35
- "description": "A dedicated Sidebud token from MCP Connector → Access control. Allow only the declared read tools."
36
- }
37
- ],
38
- "settings": [
39
- {
40
- "id": "endpoint",
41
- "label": "MCP endpoint",
42
- "type": "text",
43
- "required": true,
44
- "format": "http-url",
45
- "description": "Copy the local HTTP endpoint from MCP Connector settings. No API key in this field."
46
- }
47
- ],
48
- "permissions": {
49
- "tools": [
50
- {
51
- "name": "get_recent_files",
52
- "access": "read"
53
- },
54
- {
55
- "name": "get_vault_file",
56
- "access": "read"
57
- },
58
- {
59
- "name": "search_vault_simple",
60
- "access": "read"
61
- }
62
- ]
63
- },
64
- "data": [
65
- {
66
- "id": "recent",
67
- "tool": "get_recent_files",
68
- "arguments": {
69
- "limit": 8
70
- },
71
- "refreshSeconds": 120
72
- }
73
- ],
74
- "glance": {
75
- "line": "{{recent/totalFiles|default:0}} notes"
76
- },
77
- "blocks": [
78
- {
79
- "type": "list",
80
- "items": "{{recent/files}}",
81
- "item": {
82
- "title": "{{item/path}}"
83
- },
84
- "limit": 8,
85
- "emptyText": "No recent notes"
86
- }
87
- ]
88
- }
Binary file