crewly 1.20.105 → 1.20.106

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 (47) hide show
  1. package/config/skills/agent/core/todo-add/SKILL.md +64 -0
  2. package/config/skills/agent/core/todo-add/execute.sh +84 -0
  3. package/config/skills/agent/core/todo-add/execute.test.sh +76 -0
  4. package/config/skills/agent/core/todo-lists/SKILL.md +58 -0
  5. package/config/skills/agent/core/todo-lists/execute.sh +70 -0
  6. package/config/skills/agent/core/todo-lists/execute.test.sh +77 -0
  7. package/config/skills/agent/core/todo-tasks/SKILL.md +59 -0
  8. package/config/skills/agent/core/todo-tasks/execute.sh +78 -0
  9. package/config/skills/agent/core/todo-tasks/execute.test.sh +74 -0
  10. package/config/skills/agent/core/todo-update/SKILL.md +63 -0
  11. package/config/skills/agent/core/todo-update/execute.sh +115 -0
  12. package/config/skills/agent/core/todo-update/execute.test.sh +82 -0
  13. package/dist/backend/backend/src/constants.d.ts +65 -0
  14. package/dist/backend/backend/src/constants.d.ts.map +1 -1
  15. package/dist/backend/backend/src/constants.js +65 -0
  16. package/dist/backend/backend/src/constants.js.map +1 -1
  17. package/dist/backend/backend/src/controllers/microsoft/microsoft-todo.controller.d.ts +51 -0
  18. package/dist/backend/backend/src/controllers/microsoft/microsoft-todo.controller.d.ts.map +1 -0
  19. package/dist/backend/backend/src/controllers/microsoft/microsoft-todo.controller.js +223 -0
  20. package/dist/backend/backend/src/controllers/microsoft/microsoft-todo.controller.js.map +1 -0
  21. package/dist/backend/backend/src/controllers/microsoft/microsoft-todo.routes.d.ts +25 -0
  22. package/dist/backend/backend/src/controllers/microsoft/microsoft-todo.routes.d.ts.map +1 -0
  23. package/dist/backend/backend/src/controllers/microsoft/microsoft-todo.routes.js +42 -0
  24. package/dist/backend/backend/src/controllers/microsoft/microsoft-todo.routes.js.map +1 -0
  25. package/dist/backend/backend/src/routes/api.routes.d.ts.map +1 -1
  26. package/dist/backend/backend/src/routes/api.routes.js +3 -0
  27. package/dist/backend/backend/src/routes/api.routes.js.map +1 -1
  28. package/dist/backend/backend/src/services/connector/connector-access.service.d.ts +2 -2
  29. package/dist/backend/backend/src/services/connector/connector-access.service.d.ts.map +1 -1
  30. package/dist/backend/backend/src/services/connector/connector-access.service.js +2 -2
  31. package/dist/backend/backend/src/services/connector/connector-access.service.js.map +1 -1
  32. package/dist/backend/backend/src/services/microsoft/microsoft-todo.service.d.ts +250 -0
  33. package/dist/backend/backend/src/services/microsoft/microsoft-todo.service.d.ts.map +1 -0
  34. package/dist/backend/backend/src/services/microsoft/microsoft-todo.service.js +367 -0
  35. package/dist/backend/backend/src/services/microsoft/microsoft-todo.service.js.map +1 -0
  36. package/dist/backend/backend/src/services/microsoft/microsoft-token.service.d.ts +116 -0
  37. package/dist/backend/backend/src/services/microsoft/microsoft-token.service.d.ts.map +1 -0
  38. package/dist/backend/backend/src/services/microsoft/microsoft-token.service.js +220 -0
  39. package/dist/backend/backend/src/services/microsoft/microsoft-token.service.js.map +1 -0
  40. package/dist/backend/build-info.json +2 -2
  41. package/dist/cli/backend/src/constants.d.ts +65 -0
  42. package/dist/cli/backend/src/constants.d.ts.map +1 -1
  43. package/dist/cli/backend/src/constants.js +65 -0
  44. package/dist/cli/backend/src/constants.js.map +1 -1
  45. package/frontend/dist/assets/{index-1fd45a2a.js → index-488339c1.js} +103 -103
  46. package/frontend/dist/index.html +1 -1
  47. package/package.json +1 -1
@@ -0,0 +1,51 @@
1
+ /**
2
+ * Microsoft To Do controller — `/api/microsoft-todo/*` on this instance.
3
+ *
4
+ * Grant management goes through Cloud (status / connect-url / disconnect);
5
+ * lists and tasks go straight to Microsoft Graph with the token Cloud
6
+ * mints. Backs the todo-* skills.
7
+ *
8
+ * @module controllers/microsoft/microsoft-todo.controller
9
+ */
10
+ import type { Request, Response } from 'express';
11
+ import { MicrosoftTokenService } from '../../services/microsoft/microsoft-token.service.js';
12
+ import { MicrosoftTodoService } from '../../services/microsoft/microsoft-todo.service.js';
13
+ /** The services the handlers use; swappable for tests. */
14
+ export interface MicrosoftTodoControllerDeps {
15
+ tokens: MicrosoftTokenService;
16
+ todo: MicrosoftTodoService;
17
+ }
18
+ /**
19
+ * Replace the dependency set (tests).
20
+ *
21
+ * @param next - Deps or null to rebuild lazily
22
+ */
23
+ export declare function setMicrosoftTodoControllerDeps(next: MicrosoftTodoControllerDeps | null): void;
24
+ /**
25
+ * Answer a failure with `{ success:false, error, message, hint }` (plus
26
+ * `retryAfter` seconds for `rate_limited`).
27
+ *
28
+ * @param req - Request (for the connect URL hint)
29
+ * @param res - Response
30
+ * @param err - The failure
31
+ */
32
+ export declare function sendMicrosoftTodoError(req: Request, res: Response, err: unknown): void;
33
+ /** GET /api/microsoft-todo/status */
34
+ export declare function getStatus(req: Request, res: Response): Promise<void>;
35
+ /** GET /api/microsoft-todo/connect-url — `{ url }` to open in the browser. */
36
+ export declare function getConnectUrl(req: Request, res: Response): Promise<void>;
37
+ /** DELETE /api/microsoft-todo/disconnect */
38
+ export declare function disconnect(req: Request, res: Response): Promise<void>;
39
+ /** GET /api/microsoft-todo/lists */
40
+ export declare function listLists(req: Request, res: Response): Promise<void>;
41
+ /** POST /api/microsoft-todo/lists — `{ name }` */
42
+ export declare function createList(req: Request, res: Response): Promise<void>;
43
+ /** GET /api/microsoft-todo/tasks?list=&all=&limit= */
44
+ export declare function listTasks(req: Request, res: Response): Promise<void>;
45
+ /** POST /api/microsoft-todo/tasks — `{ list?, title, note?, due?, importance? }` */
46
+ export declare function addTask(req: Request, res: Response): Promise<void>;
47
+ /** PATCH /api/microsoft-todo/tasks/:taskId — `{ list?, complete?, title?, note?, due? (null clears), importance? }` */
48
+ export declare function updateTask(req: Request, res: Response): Promise<void>;
49
+ /** DELETE /api/microsoft-todo/tasks/:taskId?list= */
50
+ export declare function deleteTask(req: Request, res: Response): Promise<void>;
51
+ //# sourceMappingURL=microsoft-todo.controller.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"microsoft-todo.controller.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/controllers/microsoft/microsoft-todo.controller.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAGjD,OAAO,EAAE,qBAAqB,EAAkB,MAAM,qDAAqD,CAAC;AAC5G,OAAO,EAAE,oBAAoB,EAAE,MAAM,oDAAoD,CAAC;AAI1F,0DAA0D;AAC1D,MAAM,WAAW,2BAA2B;IAC1C,MAAM,EAAE,qBAAqB,CAAC;IAC9B,IAAI,EAAE,oBAAoB,CAAC;CAC5B;AAYD;;;;GAIG;AACH,wBAAgB,8BAA8B,CAAC,IAAI,EAAE,2BAA2B,GAAG,IAAI,GAAG,IAAI,CAE7F;AAgBD;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,GAAG,IAAI,CA8CtF;AAoBD,qCAAqC;AACrC,wBAAsB,SAAS,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAM1E;AAED,8EAA8E;AAC9E,wBAAsB,aAAa,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAM9E;AAED,4CAA4C;AAC5C,wBAAsB,UAAU,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAM3E;AAED,oCAAoC;AACpC,wBAAsB,SAAS,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAO1E;AAED,kDAAkD;AAClD,wBAAsB,UAAU,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAS3E;AAED,sDAAsD;AACtD,wBAAsB,SAAS,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAO1E;AAED,oFAAoF;AACpF,wBAAsB,OAAO,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAexE;AAED,uHAAuH;AACvH,wBAAsB,UAAU,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAiB3E;AAED,qDAAqD;AACrD,wBAAsB,UAAU,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAQ3E"}
@@ -0,0 +1,223 @@
1
+ /**
2
+ * Microsoft To Do controller — `/api/microsoft-todo/*` on this instance.
3
+ *
4
+ * Grant management goes through Cloud (status / connect-url / disconnect);
5
+ * lists and tasks go straight to Microsoft Graph with the token Cloud
6
+ * mints. Backs the todo-* skills.
7
+ *
8
+ * @module controllers/microsoft/microsoft-todo.controller
9
+ */
10
+ import { MICROSOFT_TODO_CONSTANTS } from '../../constants.js';
11
+ import { LoggerService } from '../../services/core/logger.service.js';
12
+ import { MicrosoftTokenService, MicrosoftError } from '../../services/microsoft/microsoft-token.service.js';
13
+ import { MicrosoftTodoService } from '../../services/microsoft/microsoft-todo.service.js';
14
+ const logger = LoggerService.getInstance().createComponentLogger('MicrosoftTodoController');
15
+ let deps = null;
16
+ function getDeps() {
17
+ if (!deps) {
18
+ const tokens = MicrosoftTokenService.getInstance();
19
+ deps = { tokens, todo: new MicrosoftTodoService({ tokens }) };
20
+ }
21
+ return deps;
22
+ }
23
+ /**
24
+ * Replace the dependency set (tests).
25
+ *
26
+ * @param next - Deps or null to rebuild lazily
27
+ */
28
+ export function setMicrosoftTodoControllerDeps(next) {
29
+ deps = next;
30
+ }
31
+ function resolveReturnUrl(req) {
32
+ const explicit = typeof req.query.returnUrl === 'string' ? req.query.returnUrl : '';
33
+ if (/^https?:\/\//i.test(explicit))
34
+ return explicit;
35
+ return `${req.protocol}://${req.get('host')}${MICROSOFT_TODO_CONSTANTS.SETTINGS_RETURN_PATH}`;
36
+ }
37
+ function connectUrlOrNull(req) {
38
+ try {
39
+ return getDeps().tokens.buildConnectUrl(resolveReturnUrl(req));
40
+ }
41
+ catch {
42
+ return null;
43
+ }
44
+ }
45
+ /**
46
+ * Answer a failure with `{ success:false, error, message, hint }` (plus
47
+ * `retryAfter` seconds for `rate_limited`).
48
+ *
49
+ * @param req - Request (for the connect URL hint)
50
+ * @param res - Response
51
+ * @param err - The failure
52
+ */
53
+ export function sendMicrosoftTodoError(req, res, err) {
54
+ const CODES = MICROSOFT_TODO_CONSTANTS.ERROR_CODES;
55
+ if (err instanceof MicrosoftError) {
56
+ let hint;
57
+ switch (err.code) {
58
+ case CODES.NOT_CONNECTED:
59
+ hint = connectUrlOrNull(req) ?? 'Sign in to Crewly Cloud (Settings → Cloud), then connect Microsoft To Do under Connections.';
60
+ break;
61
+ case CODES.NOT_LOGGED_IN:
62
+ hint = 'Sign in to Crewly Cloud first (Settings → Cloud).';
63
+ break;
64
+ case CODES.NOT_CONFIGURED:
65
+ hint = 'Crewly Cloud is not configured for Microsoft yet; nothing to do on this instance.';
66
+ break;
67
+ case CODES.VALIDATION:
68
+ hint = 'Fix the request and retry.';
69
+ break;
70
+ case CODES.NOT_FOUND:
71
+ hint = 'Check the list name (todo-lists shows them) or the task id (todo-tasks shows them).';
72
+ break;
73
+ case CODES.FORBIDDEN:
74
+ hint =
75
+ 'Microsoft refused access. To Do needs an Exchange Online mailbox: personal Microsoft accounts work; a work/school account needs a mailbox licence, and some organisations require admin consent.';
76
+ break;
77
+ case CODES.RATE_LIMITED:
78
+ hint = `Microsoft is throttling; wait ${err.retryAfterSeconds ?? 'a few'} seconds and retry.`;
79
+ break;
80
+ case CODES.UNAUTHORIZED:
81
+ hint = 'Microsoft rejected the token twice; reconnect Microsoft To Do under Connections if this persists.';
82
+ break;
83
+ default:
84
+ hint = 'Microsoft Graph or Crewly Cloud failed; retry later.';
85
+ }
86
+ if (err.retryAfterSeconds !== undefined)
87
+ res.setHeader('Retry-After', String(err.retryAfterSeconds));
88
+ res.status(err.status).json({
89
+ success: false,
90
+ error: err.code,
91
+ message: err.message,
92
+ hint,
93
+ ...(err.retryAfterSeconds !== undefined ? { retryAfter: err.retryAfterSeconds } : {}),
94
+ });
95
+ return;
96
+ }
97
+ const message = err instanceof Error ? err.message : String(err);
98
+ logger.error('Unexpected Microsoft To Do failure', { error: message });
99
+ res.status(500).json({ success: false, error: 'internal', message, hint: 'Check the backend log.' });
100
+ }
101
+ function q(req, name) {
102
+ const v = req.query[name];
103
+ return typeof v === 'string' ? v.trim() : '';
104
+ }
105
+ function qInt(req, name) {
106
+ const v = q(req, name);
107
+ return v ? Number.parseInt(v, 10) : undefined;
108
+ }
109
+ function qBool(req, name) {
110
+ return ['1', 'true', 'yes'].includes(q(req, name).toLowerCase());
111
+ }
112
+ function str(value) {
113
+ return typeof value === 'string' ? value : undefined;
114
+ }
115
+ /** GET /api/microsoft-todo/status */
116
+ export async function getStatus(req, res) {
117
+ try {
118
+ res.json({ success: true, data: await getDeps().tokens.status() });
119
+ }
120
+ catch (err) {
121
+ sendMicrosoftTodoError(req, res, err);
122
+ }
123
+ }
124
+ /** GET /api/microsoft-todo/connect-url — `{ url }` to open in the browser. */
125
+ export async function getConnectUrl(req, res) {
126
+ try {
127
+ res.json({ success: true, data: { url: getDeps().tokens.buildConnectUrl(resolveReturnUrl(req)) } });
128
+ }
129
+ catch (err) {
130
+ sendMicrosoftTodoError(req, res, err);
131
+ }
132
+ }
133
+ /** DELETE /api/microsoft-todo/disconnect */
134
+ export async function disconnect(req, res) {
135
+ try {
136
+ res.json({ success: true, data: await getDeps().tokens.disconnect() });
137
+ }
138
+ catch (err) {
139
+ sendMicrosoftTodoError(req, res, err);
140
+ }
141
+ }
142
+ /** GET /api/microsoft-todo/lists */
143
+ export async function listLists(req, res) {
144
+ try {
145
+ const lists = await getDeps().todo.listLists();
146
+ res.json({ success: true, data: { count: lists.length, lists } });
147
+ }
148
+ catch (err) {
149
+ sendMicrosoftTodoError(req, res, err);
150
+ }
151
+ }
152
+ /** POST /api/microsoft-todo/lists — `{ name }` */
153
+ export async function createList(req, res) {
154
+ try {
155
+ const body = (req.body ?? {});
156
+ const list = await getDeps().todo.createList(str(body.name) ?? str(body.displayName) ?? '');
157
+ logger.info('To Do list created', { id: list.id, name: list.name });
158
+ res.json({ success: true, data: list });
159
+ }
160
+ catch (err) {
161
+ sendMicrosoftTodoError(req, res, err);
162
+ }
163
+ }
164
+ /** GET /api/microsoft-todo/tasks?list=&all=&limit= */
165
+ export async function listTasks(req, res) {
166
+ try {
167
+ const out = await getDeps().todo.listTasks({ list: q(req, 'list') || undefined, includeCompleted: qBool(req, 'all'), limit: qInt(req, 'limit') });
168
+ res.json({ success: true, data: { list: out.list, count: out.tasks.length, tasks: out.tasks, ...(out.hasMore ? { hasMore: true } : {}) } });
169
+ }
170
+ catch (err) {
171
+ sendMicrosoftTodoError(req, res, err);
172
+ }
173
+ }
174
+ /** POST /api/microsoft-todo/tasks — `{ list?, title, note?, due?, importance? }` */
175
+ export async function addTask(req, res) {
176
+ try {
177
+ const body = (req.body ?? {});
178
+ const out = await getDeps().todo.addTask({
179
+ list: str(body.list),
180
+ title: str(body.title) ?? '',
181
+ note: str(body.note),
182
+ due: str(body.due),
183
+ importance: str(body.importance),
184
+ });
185
+ logger.info('To Do task added', { list: out.list.name, id: out.task.id });
186
+ res.json({ success: true, data: out });
187
+ }
188
+ catch (err) {
189
+ sendMicrosoftTodoError(req, res, err);
190
+ }
191
+ }
192
+ /** PATCH /api/microsoft-todo/tasks/:taskId — `{ list?, complete?, title?, note?, due? (null clears), importance? }` */
193
+ export async function updateTask(req, res) {
194
+ try {
195
+ const body = (req.body ?? {});
196
+ const out = await getDeps().todo.updateTask({
197
+ list: str(body.list),
198
+ taskId: String(req.params.taskId ?? ''),
199
+ title: str(body.title),
200
+ note: str(body.note),
201
+ due: body.due === null ? null : str(body.due),
202
+ importance: str(body.importance),
203
+ complete: typeof body.complete === 'boolean' ? body.complete : undefined,
204
+ });
205
+ logger.info('To Do task updated', { list: out.list.name, id: out.task.id, status: out.task.status });
206
+ res.json({ success: true, data: out });
207
+ }
208
+ catch (err) {
209
+ sendMicrosoftTodoError(req, res, err);
210
+ }
211
+ }
212
+ /** DELETE /api/microsoft-todo/tasks/:taskId?list= */
213
+ export async function deleteTask(req, res) {
214
+ try {
215
+ const out = await getDeps().todo.deleteTask(q(req, 'list') || undefined, String(req.params.taskId ?? ''));
216
+ logger.info('To Do task deleted', { list: out.list.name, id: out.taskId });
217
+ res.json({ success: true, data: out });
218
+ }
219
+ catch (err) {
220
+ sendMicrosoftTodoError(req, res, err);
221
+ }
222
+ }
223
+ //# sourceMappingURL=microsoft-todo.controller.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"microsoft-todo.controller.js","sourceRoot":"","sources":["../../../../../../backend/src/controllers/microsoft/microsoft-todo.controller.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Microsoft To Do routes — mounted at `/api/microsoft-todo`.
3
+ *
4
+ * Everything after /disconnect is behind the connector's role allowlist.
5
+ *
6
+ * - GET /status — grant status
7
+ * - GET /connect-url — Cloud consent-start URL
8
+ * - DELETE /disconnect — forget the grant
9
+ * - GET /lists — every task list
10
+ * - POST /lists — { name }
11
+ * - GET /tasks — ?list=<name|id>&all=1&limit=
12
+ * - POST /tasks — { list?, title, note?, due?, importance? }
13
+ * - PATCH /tasks/:taskId — { list?, complete?, title?, note?, due? (null clears), importance? }
14
+ * - DELETE /tasks/:taskId — ?list=<name|id>
15
+ *
16
+ * @module controllers/microsoft/microsoft-todo.routes
17
+ */
18
+ import { Router } from 'express';
19
+ /**
20
+ * Creates the Microsoft To Do router.
21
+ *
22
+ * @returns Express router
23
+ */
24
+ export declare function createMicrosoftTodoRouter(): Router;
25
+ //# sourceMappingURL=microsoft-todo.routes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"microsoft-todo.routes.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/controllers/microsoft/microsoft-todo.routes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAKjC;;;;GAIG;AACH,wBAAgB,yBAAyB,IAAI,MAAM,CAclD"}
@@ -0,0 +1,42 @@
1
+ /**
2
+ * Microsoft To Do routes — mounted at `/api/microsoft-todo`.
3
+ *
4
+ * Everything after /disconnect is behind the connector's role allowlist.
5
+ *
6
+ * - GET /status — grant status
7
+ * - GET /connect-url — Cloud consent-start URL
8
+ * - DELETE /disconnect — forget the grant
9
+ * - GET /lists — every task list
10
+ * - POST /lists — { name }
11
+ * - GET /tasks — ?list=<name|id>&all=1&limit=
12
+ * - POST /tasks — { list?, title, note?, due?, importance? }
13
+ * - PATCH /tasks/:taskId — { list?, complete?, title?, note?, due? (null clears), importance? }
14
+ * - DELETE /tasks/:taskId — ?list=<name|id>
15
+ *
16
+ * @module controllers/microsoft/microsoft-todo.routes
17
+ */
18
+ import { Router } from 'express';
19
+ import { MICROSOFT_TODO_CONSTANTS } from '../../constants.js';
20
+ import { requireConnectorAccess } from '../connector/connector.controller.js';
21
+ import { getStatus, getConnectUrl, disconnect, listLists, createList, listTasks, addTask, updateTask, deleteTask } from './microsoft-todo.controller.js';
22
+ /**
23
+ * Creates the Microsoft To Do router.
24
+ *
25
+ * @returns Express router
26
+ */
27
+ export function createMicrosoftTodoRouter() {
28
+ const router = Router();
29
+ router.get('/status', getStatus);
30
+ router.get('/connect-url', getConnectUrl);
31
+ router.delete('/disconnect', disconnect);
32
+ // Data routes only — see the note in google.routes.ts.
33
+ router.use(requireConnectorAccess(MICROSOFT_TODO_CONSTANTS.CONNECTOR_ID));
34
+ router.get('/lists', listLists);
35
+ router.post('/lists', createList);
36
+ router.get('/tasks', listTasks);
37
+ router.post('/tasks', addTask);
38
+ router.patch('/tasks/:taskId', updateTask);
39
+ router.delete('/tasks/:taskId', deleteTask);
40
+ return router;
41
+ }
42
+ //# sourceMappingURL=microsoft-todo.routes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"microsoft-todo.routes.js","sourceRoot":"","sources":["../../../../../../backend/src/controllers/microsoft/microsoft-todo.routes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAC9E,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAEzJ;;;;GAIG;AACH,MAAM,UAAU,yBAAyB;IACvC,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC;IACxB,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IACjC,MAAM,CAAC,GAAG,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC;IAC1C,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;IACzC,uDAAuD;IACvD,MAAM,CAAC,GAAG,CAAC,sBAAsB,CAAC,wBAAwB,CAAC,YAAY,CAAC,CAAC,CAAC;IAC1E,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IAChC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IAClC,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IAChC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC/B,MAAM,CAAC,KAAK,CAAC,gBAAgB,EAAE,UAAU,CAAC,CAAC;IAC3C,MAAM,CAAC,MAAM,CAAC,gBAAgB,EAAE,UAAU,CAAC,CAAC;IAC5C,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"api.routes.d.ts","sourceRoot":"","sources":["../../../../../backend/src/routes/api.routes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AA+DjE;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,aAAa,EAAE,aAAa,GAAG,MAAM,CA0PpE"}
1
+ {"version":3,"file":"api.routes.d.ts","sourceRoot":"","sources":["../../../../../backend/src/routes/api.routes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AAgEjE;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,aAAa,EAAE,aAAa,GAAG,MAAM,CA6PpE"}
@@ -48,6 +48,7 @@ import { createGrowthRouter } from '../controllers/growth/growth.routes.js';
48
48
  import { createGoogleRouter } from '../controllers/google/google.routes.js';
49
49
  import { createDesktopRouter } from '../controllers/desktop/desktop.routes.js';
50
50
  import { createCanvaRouter } from '../controllers/canva/canva.routes.js';
51
+ import { createMicrosoftTodoRouter } from '../controllers/microsoft/microsoft-todo.routes.js';
51
52
  import { createConnectorRouter } from '../controllers/connector/connector.routes.js';
52
53
  import { createAgentSelfImprovementRouter } from '../controllers/agent-self-improvement/agent-self-improvement.controller.js';
53
54
  import taskProjectionRouter from '../controllers/task-projection/task-projection.routes.js';
@@ -162,6 +163,8 @@ export function createApiRoutes(apiController) {
162
163
  router.use('/desktop', createDesktopRouter());
163
164
  // Canva Connect on the owner's account — Cloud holds the grant. Backs the canva-* skills.
164
165
  router.use('/canva', createCanvaRouter());
166
+ // Microsoft To Do on the owner's account — Cloud holds the `microsoft` grant. Backs the todo-* skills.
167
+ router.use('/microsoft-todo', createMicrosoftTodoRouter());
165
168
  // Which agent roles may use each connected account.
166
169
  router.use('/connectors', createConnectorRouter());
167
170
  // Agent self-improvement — attention / self-model / prediction calibration /
@@ -1 +1 @@
1
- {"version":3,"file":"api.routes.js","sourceRoot":"","sources":["../../../../../backend/src/routes/api.routes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api.routes.js","sourceRoot":"","sources":["../../../../../backend/src/routes/api.routes.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Which agents may use a connected account.
3
3
  *
4
- * A connector (Google Workspace, Canva, …) is one grant for the whole
4
+ * A connector (Google Workspace, Canva, Microsoft To Do, …) is one grant for the whole
5
5
  * instance, so without this every agent can read the owner's mail the
6
6
  * moment the owner connects it. Skills carry `X-Agent-Session`, so the
7
7
  * backend can tell which role is calling and refuse.
@@ -24,7 +24,7 @@ export interface ConnectorAccess {
24
24
  /** The whole file: connector id → rule. */
25
25
  export type ConnectorAccessMap = Record<string, ConnectorAccess>;
26
26
  /** Connector ids the backend gates (must match the frontend catalog). */
27
- export declare const GATED_CONNECTORS: readonly ["google-workspace", "canva"];
27
+ export declare const GATED_CONNECTORS: readonly ["google-workspace", "canva", "microsoft-todo"];
28
28
  /** One of {@link GATED_CONNECTORS}. */
29
29
  export type GatedConnectorId = (typeof GATED_CONNECTORS)[number];
30
30
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"connector-access.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/connector/connector-access.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAOH,iCAAiC;AACjC,MAAM,WAAW,eAAe;IAC9B,oDAAoD;IACpD,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB;AAED,2CAA2C;AAC3C,MAAM,MAAM,kBAAkB,GAAG,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;AAEjE,yEAAyE;AACzE,eAAO,MAAM,gBAAgB,wCAAyC,CAAC;AAEvE,uCAAuC;AACvC,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC;AAKjE;;GAEG;AACH,qBAAa,sBAAsB;IACjC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAuC;IAC9D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkB;IACzC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,KAAK,CAAmC;IAEhD;;OAEG;gBACS,UAAU,CAAC,EAAE,MAAM;IAK/B,MAAM,CAAC,WAAW,IAAI,sBAAsB;IAK5C,mCAAmC;IACnC,MAAM,CAAC,aAAa,IAAI,IAAI;IAI5B;;;;OAIG;IACG,IAAI,IAAI,OAAO,CAAC,kBAAkB,CAAC;IAYzC;;;;;OAKG;IACG,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAI1D;;;;;;OAMG;IACG,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,eAAe,CAAC;IAUrF;;;;;;OAMG;IACG,SAAS,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC;IAOhF,wEAAwE;IACxE,UAAU,IAAI,IAAI;CAGnB"}
1
+ {"version":3,"file":"connector-access.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/connector/connector-access.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAOH,iCAAiC;AACjC,MAAM,WAAW,eAAe;IAC9B,oDAAoD;IACpD,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB;AAED,2CAA2C;AAC3C,MAAM,MAAM,kBAAkB,GAAG,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;AAEjE,yEAAyE;AACzE,eAAO,MAAM,gBAAgB,0DAA2D,CAAC;AAEzF,uCAAuC;AACvC,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC;AAKjE;;GAEG;AACH,qBAAa,sBAAsB;IACjC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAuC;IAC9D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkB;IACzC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,KAAK,CAAmC;IAEhD;;OAEG;gBACS,UAAU,CAAC,EAAE,MAAM;IAK/B,MAAM,CAAC,WAAW,IAAI,sBAAsB;IAK5C,mCAAmC;IACnC,MAAM,CAAC,aAAa,IAAI,IAAI;IAI5B;;;;OAIG;IACG,IAAI,IAAI,OAAO,CAAC,kBAAkB,CAAC;IAYzC;;;;;OAKG;IACG,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAI1D;;;;;;OAMG;IACG,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,eAAe,CAAC;IAUrF;;;;;;OAMG;IACG,SAAS,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC;IAOhF,wEAAwE;IACxE,UAAU,IAAI,IAAI;CAGnB"}
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Which agents may use a connected account.
3
3
  *
4
- * A connector (Google Workspace, Canva, …) is one grant for the whole
4
+ * A connector (Google Workspace, Canva, Microsoft To Do, …) is one grant for the whole
5
5
  * instance, so without this every agent can read the owner's mail the
6
6
  * moment the owner connects it. Skills carry `X-Agent-Session`, so the
7
7
  * backend can tell which role is calling and refuse.
@@ -21,7 +21,7 @@ import { getCrewlyHomePath } from '../core/crewly-home.utils.js';
21
21
  import { LoggerService } from '../core/logger.service.js';
22
22
  import { atomicWriteJson, safeReadJson } from '../../utils/file-io.utils.js';
23
23
  /** Connector ids the backend gates (must match the frontend catalog). */
24
- export const GATED_CONNECTORS = ['google-workspace', 'canva'];
24
+ export const GATED_CONNECTORS = ['google-workspace', 'canva', 'microsoft-todo'];
25
25
  /** Filename under CREWLY_HOME. */
26
26
  const FILE_NAME = 'connector-access.json';
27
27
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"connector-access.service.js","sourceRoot":"","sources":["../../../../../../backend/src/services/connector/connector-access.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"connector-access.service.js","sourceRoot":"","sources":["../../../../../../backend/src/services/connector/connector-access.service.ts"],"names":[],"mappings":"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"}