@critical-path/client 0.14.9 → 0.15.1
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/CHANGELOG.md +60 -0
- package/README.md +9 -15
- package/dist/bin/cli.d.ts.map +1 -1
- package/dist/bin/cli.js +8 -43
- package/dist/bin/cli.js.map +1 -1
- package/dist/contract.test.d.ts +2 -0
- package/dist/contract.test.d.ts.map +1 -0
- package/dist/contract.test.js +54 -0
- package/dist/contract.test.js.map +1 -0
- package/dist/index.d.ts +33 -56
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +40 -9
- package/dist/index.js.map +1 -1
- package/dist/index.test.js +6 -6
- package/dist/index.test.js.map +1 -1
- package/package.json +4 -3
- package/src/bin/cli.ts +9 -45
- package/src/contract.test.ts +65 -0
- package/src/index.test.ts +6 -6
- package/src/index.ts +96 -51
- package/tsconfig.tsbuildinfo +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,65 @@
|
|
|
1
1
|
# @critical-path/client
|
|
2
2
|
|
|
3
|
+
## 0.15.1
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 719e844: Role-based authorization and multi-tenancy.
|
|
8
|
+
|
|
9
|
+
**@critical-path/core**
|
|
10
|
+
- New `authorize` engine option and `createRolePolicy()`:
|
|
11
|
+
- Project roles (`viewer`, `contributor`, `project_manager`, `admin`) come from `project.members`.
|
|
12
|
+
- Workspace superusers come from `actor.roles`.
|
|
13
|
+
- Authors manage their own comments and attachments.
|
|
14
|
+
- Checks run on `withActor` views. Unreadable or cross-tenant projects behave as not found, denied actions throw the new `ForbiddenError`, and lists are filtered.
|
|
15
|
+
- `Actor` gains `tenantId` and `roles`. Projects, workflows and teams gain `tenantId`, stamped from the actor and never accepted from payloads. Reads are scoped to the actor's tenant, including the default-workflow fallback.
|
|
16
|
+
- **BREAKING:** `Project.members` is now `{ userId, role }[]` (was `string[]`). Project creators become `admin` members.
|
|
17
|
+
- New `engine.getActivities()` and `engine.getTimeEntries()`, which respect authorization.
|
|
18
|
+
- **BREAKING:** on views, presigned uploads require `projectId` and are confined to `projects/<projectId>/`. The presign request schema now requires `projectId`.
|
|
19
|
+
- `SQLiteStore` persists `tenantId` (migrated automatically).
|
|
20
|
+
|
|
21
|
+
**@critical-path/server**
|
|
22
|
+
- `RequestContext` gains `tenantId` and `roles`, which are passed to the actor. `ForbiddenError` maps to `403`. Activities and time entries are read through the engine.
|
|
23
|
+
|
|
24
|
+
**@critical-path/client / @critical-path/mcp**
|
|
25
|
+
- Rebuilt for the new presign `projectId` requirement and project member shape.
|
|
26
|
+
- Updated dependencies [719e844]
|
|
27
|
+
- @critical-path/core@0.26.0
|
|
28
|
+
|
|
29
|
+
## 0.15.0
|
|
30
|
+
|
|
31
|
+
### Minor Changes
|
|
32
|
+
|
|
33
|
+
- fd79762: **BREAKING:** strict request bodies, no identity in payloads, and CORS off by default.
|
|
34
|
+
|
|
35
|
+
**@critical-path/core**
|
|
36
|
+
- Request schemas are strict: unknown keys, server-assigned fields and identity fields are rejected instead of stripped.
|
|
37
|
+
- Identity is never read from payloads. `updateTask` no longer reads `actorId`/`actorName`/`actorType`/`actor` from the update object; pass them as the third `options` argument or use `withActor`. `addComment`, `addCommentReaction`, `removeCommentReaction` and `createAttachment` take the actor from `withActor`, falling back to an optional `authorId`/`userId`/`uploaderId`, then `'system'`.
|
|
38
|
+
- Schemas export request body types (`CreateTaskBody`, `UpdateTaskBody`, ...).
|
|
39
|
+
|
|
40
|
+
**@critical-path/server**
|
|
41
|
+
- Bodies containing unknown, server-assigned or identity fields return `400`.
|
|
42
|
+
- Every request runs as the `getContext` user, or `ANONYMOUS_ACTOR` (`anonymous`). Authors of comments, reactions, attachments and time entries are no longer accepted from bodies.
|
|
43
|
+
- `DELETE /comments/:id/reactions` takes `?emoji=` only.
|
|
44
|
+
- CORS is off by default (`cors: false`). Pass `cors: { origins: [...] }` to allow cross-origin browsers.
|
|
45
|
+
|
|
46
|
+
**@critical-path/client**
|
|
47
|
+
- Method parameters use the server's body types, so identity fields no longer type-check. `addCommentReaction`/`removeCommentReaction` take `{ emoji }`; `addTodo`/`toggleTodo` drop the actor options argument.
|
|
48
|
+
- New `updateProject`, `deleteProject` and `addDependency`. `uploadAttachmentFile` base64-encodes binary data (previously it sent unusable JSON for `Uint8Array`/`ArrayBuffer`).
|
|
49
|
+
- CLI: `--author`, `--actor-id`, `--actor-name`, `--agent-name` and `CRITICAL_PATH_AUTHOR_ID`/`ACTOR_ID`/`AGENT_NAME` are removed; identity comes from the `--key` token via the server's `getContext`.
|
|
50
|
+
|
|
51
|
+
**@critical-path/mcp**
|
|
52
|
+
- Tool arguments are strict: undeclared arguments return an `isError` result.
|
|
53
|
+
- `add_comment` no longer takes `authorId`. With an `engine`, writes are attributed to the new `actor` server option (default `DEFAULT_MCP_ACTOR`).
|
|
54
|
+
|
|
55
|
+
**@critical-path/react / @critical-path/svelte**
|
|
56
|
+
- `addReaction`/`removeReaction` take `(commentId, emoji)`; comment and attachment inputs no longer accept `authorId`/`uploaderId`. Task, comment and deliverable update parameters use the schema body types.
|
|
57
|
+
|
|
58
|
+
### Patch Changes
|
|
59
|
+
|
|
60
|
+
- Updated dependencies [fd79762]
|
|
61
|
+
- @critical-path/core@0.25.0
|
|
62
|
+
|
|
3
63
|
## 0.14.9
|
|
4
64
|
|
|
5
65
|
### Patch Changes
|
package/README.md
CHANGED
|
@@ -39,28 +39,23 @@ const newTask = await client.createTask({
|
|
|
39
39
|
status: 'todo'
|
|
40
40
|
});
|
|
41
41
|
|
|
42
|
+
// Identity comes from your auth headers (resolved by the server's getContext), never from
|
|
43
|
+
// request bodies. Without auth, writes are attributed to "anonymous".
|
|
44
|
+
|
|
42
45
|
// Update task status
|
|
43
46
|
await client.updateTask(newTask.id, { status: 'in_progress' });
|
|
44
47
|
|
|
45
48
|
// Add threaded comment
|
|
46
49
|
const comment = await client.addComment({
|
|
47
50
|
taskId: newTask.id,
|
|
48
|
-
content: 'Initial implementation ready for review'
|
|
49
|
-
|
|
50
|
-
authorType: 'user'
|
|
51
|
-
});
|
|
51
|
+
content: 'Initial implementation ready for review'
|
|
52
|
+
}); // authored by the caller the server resolves from your auth headers
|
|
52
53
|
|
|
53
54
|
// Add emoji reaction
|
|
54
|
-
await client.addCommentReaction(comment.id, {
|
|
55
|
-
emoji: '🚀',
|
|
56
|
-
userId: 'user_2'
|
|
57
|
-
});
|
|
55
|
+
await client.addCommentReaction(comment.id, { emoji: '🚀' });
|
|
58
56
|
|
|
59
57
|
// Remove emoji reaction
|
|
60
|
-
await client.removeCommentReaction(comment.id, {
|
|
61
|
-
emoji: '🚀',
|
|
62
|
-
userId: 'user_2'
|
|
63
|
-
});
|
|
58
|
+
await client.removeCommentReaction(comment.id, { emoji: '🚀' });
|
|
64
59
|
|
|
65
60
|
// Upload file directly or register storage attachment
|
|
66
61
|
const attachment = await client.uploadAttachmentFile({
|
|
@@ -68,9 +63,8 @@ const attachment = await client.uploadAttachmentFile({
|
|
|
68
63
|
data: fileBuffer,
|
|
69
64
|
mimeType: 'image/png',
|
|
70
65
|
taskId: newTask.id,
|
|
71
|
-
commentId: comment.id
|
|
72
|
-
|
|
73
|
-
});
|
|
66
|
+
commentId: comment.id
|
|
67
|
+
}); // binary data is base64-encoded automatically
|
|
74
68
|
|
|
75
69
|
// Calculate Critical Path Method (CPM) schedule & bottlenecks
|
|
76
70
|
const cpmAnalysis = await client.calculateCriticalPath('proj_1');
|
package/dist/bin/cli.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../src/bin/cli.ts"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../src/bin/cli.ts"],"names":[],"mappings":";AAsGA,wBAAsB,IAAI,CAAC,IAAI,WAAwB,GAAG,OAAO,CAAC,IAAI,CAAC,CAoWtE;AAGD,wBAAgB,iBAAiB,CAC/B,SAAS,GAAE,MAAwB,EACnC,KAAK,GAAE,MAAM,GAAG,SAA2B,GAC1C,OAAO,CAQT"}
|
package/dist/bin/cli.js
CHANGED
|
@@ -43,8 +43,6 @@ function getContext(flags) {
|
|
|
43
43
|
const apiKey = flags.key || process.env.CRITICAL_PATH_KEY;
|
|
44
44
|
const taskId = flags.task || process.env.CRITICAL_PATH_TASK_ID;
|
|
45
45
|
const projectId = flags.project || process.env.CRITICAL_PATH_PROJECT_ID;
|
|
46
|
-
const authorId = flags.author || flags['actor-id'] || process.env.CRITICAL_PATH_AUTHOR_ID || process.env.CRITICAL_PATH_ACTOR_ID || 'agent';
|
|
47
|
-
const agentName = flags['actor-name'] || flags['agent-name'] || process.env.CRITICAL_PATH_AGENT_NAME || undefined;
|
|
48
46
|
if (!apiUrl) {
|
|
49
47
|
console.error('[critical-path] Error: Base API URL is required. Provide --api or set CRITICAL_PATH_API.');
|
|
50
48
|
process.exit(1);
|
|
@@ -54,7 +52,7 @@ function getContext(flags) {
|
|
|
54
52
|
headers['Authorization'] = `Bearer ${apiKey}`;
|
|
55
53
|
}
|
|
56
54
|
const client = new CriticalPathClient({ baseUrl: apiUrl, headers });
|
|
57
|
-
return { client, taskId, projectId
|
|
55
|
+
return { client, taskId, projectId };
|
|
58
56
|
}
|
|
59
57
|
function printHelp() {
|
|
60
58
|
console.log(`
|
|
@@ -130,16 +128,10 @@ export async function main(argv = process.argv.slice(2)) {
|
|
|
130
128
|
}
|
|
131
129
|
await client.addComment({
|
|
132
130
|
taskId,
|
|
133
|
-
authorId: getContext(flags).authorId,
|
|
134
131
|
content: commentContent,
|
|
135
|
-
authorType: 'agent'
|
|
136
132
|
});
|
|
137
|
-
const { authorId: blockAuthorId, agentName: blockAgentName } = getContext(flags);
|
|
138
133
|
await client.updateTask(taskId, {
|
|
139
134
|
isBlocked: true,
|
|
140
|
-
actorId: blockAuthorId,
|
|
141
|
-
actorName: blockAgentName,
|
|
142
|
-
actorType: 'agent',
|
|
143
135
|
customFields: {
|
|
144
136
|
blockerReason: reason,
|
|
145
137
|
...(prUrl ? { prUrl } : {})
|
|
@@ -158,7 +150,7 @@ export async function main(argv = process.argv.slice(2)) {
|
|
|
158
150
|
console.error('[critical-path] Error: --reason is required when requesting clarification.');
|
|
159
151
|
process.exit(1);
|
|
160
152
|
}
|
|
161
|
-
const { client, taskId
|
|
153
|
+
const { client, taskId } = getContext(flags);
|
|
162
154
|
if (!taskId) {
|
|
163
155
|
console.error('[critical-path] Error: Task ID is required (--task or CRITICAL_PATH_TASK_ID).');
|
|
164
156
|
process.exit(1);
|
|
@@ -174,15 +166,10 @@ export async function main(argv = process.argv.slice(2)) {
|
|
|
174
166
|
}
|
|
175
167
|
await client.addComment({
|
|
176
168
|
taskId,
|
|
177
|
-
authorId,
|
|
178
169
|
content,
|
|
179
|
-
authorType: 'agent'
|
|
180
170
|
});
|
|
181
171
|
await client.updateTask(taskId, {
|
|
182
172
|
isBlocked: true,
|
|
183
|
-
actorId: authorId,
|
|
184
|
-
actorName: agentName,
|
|
185
|
-
actorType: 'agent',
|
|
186
173
|
customFields: {
|
|
187
174
|
needsClarification: true,
|
|
188
175
|
clarificationReason: reason
|
|
@@ -228,7 +215,7 @@ export async function main(argv = process.argv.slice(2)) {
|
|
|
228
215
|
console.error('[critical-path] Error: Both --title and --url are required for deliverable.');
|
|
229
216
|
process.exit(1);
|
|
230
217
|
}
|
|
231
|
-
const { client, taskId, projectId
|
|
218
|
+
const { client, taskId, projectId } = getContext(flags);
|
|
232
219
|
if (projectId) {
|
|
233
220
|
try {
|
|
234
221
|
await client.createDeliverable({
|
|
@@ -245,14 +232,9 @@ export async function main(argv = process.argv.slice(2)) {
|
|
|
245
232
|
if (taskId) {
|
|
246
233
|
await client.addComment({
|
|
247
234
|
taskId,
|
|
248
|
-
authorId,
|
|
249
235
|
content: `Deliverable recorded: [${title}](${url})`,
|
|
250
|
-
authorType: 'agent'
|
|
251
236
|
});
|
|
252
237
|
await client.updateTask(taskId, {
|
|
253
|
-
actorId: authorId,
|
|
254
|
-
actorName: agentName,
|
|
255
|
-
actorType: 'agent',
|
|
256
238
|
customFields: {
|
|
257
239
|
deliverableUrl: url,
|
|
258
240
|
deliverableTitle: title
|
|
@@ -268,16 +250,14 @@ export async function main(argv = process.argv.slice(2)) {
|
|
|
268
250
|
console.error('[critical-path] Error: Comment content is required.');
|
|
269
251
|
process.exit(1);
|
|
270
252
|
}
|
|
271
|
-
const { client, taskId
|
|
253
|
+
const { client, taskId } = getContext(flags);
|
|
272
254
|
if (!taskId) {
|
|
273
255
|
console.error('[critical-path] Error: Task ID is required (--task or CRITICAL_PATH_TASK_ID).');
|
|
274
256
|
process.exit(1);
|
|
275
257
|
}
|
|
276
258
|
await client.addComment({
|
|
277
259
|
taskId,
|
|
278
|
-
authorId,
|
|
279
260
|
content,
|
|
280
|
-
authorType: 'agent'
|
|
281
261
|
});
|
|
282
262
|
console.log(`[critical-path] Added comment to task ${taskId}.`);
|
|
283
263
|
break;
|
|
@@ -339,7 +319,7 @@ export async function main(argv = process.argv.slice(2)) {
|
|
|
339
319
|
case 'checklist':
|
|
340
320
|
case 'todo': {
|
|
341
321
|
const subAction = positionals[1];
|
|
342
|
-
const { client, taskId
|
|
322
|
+
const { client, taskId } = getContext(flags);
|
|
343
323
|
if (!taskId) {
|
|
344
324
|
console.error('[critical-path] Error: Task ID is required (--task or CRITICAL_PATH_TASK_ID).');
|
|
345
325
|
process.exit(1);
|
|
@@ -363,11 +343,7 @@ export async function main(argv = process.argv.slice(2)) {
|
|
|
363
343
|
console.error('[critical-path] Error: Checklist item ID or title is required. Example: critical-path checklist check "Write unit tests"');
|
|
364
344
|
process.exit(1);
|
|
365
345
|
}
|
|
366
|
-
const updated = await client.toggleTodo(taskId, query, true
|
|
367
|
-
actorId: authorId,
|
|
368
|
-
actorName: agentName,
|
|
369
|
-
actorType: 'agent'
|
|
370
|
-
});
|
|
346
|
+
const updated = await client.toggleTodo(taskId, query, true);
|
|
371
347
|
const item = updated.todos?.find((t) => t.id === query || t.title.toLowerCase().includes(query.toLowerCase()));
|
|
372
348
|
console.log(`[critical-path] Marked checklist item "${item?.title || query}" as completed on task ${taskId}.`);
|
|
373
349
|
break;
|
|
@@ -378,11 +354,7 @@ export async function main(argv = process.argv.slice(2)) {
|
|
|
378
354
|
console.error('[critical-path] Error: Checklist item ID or title is required.');
|
|
379
355
|
process.exit(1);
|
|
380
356
|
}
|
|
381
|
-
const updated = await client.toggleTodo(taskId, query, false
|
|
382
|
-
actorId: authorId,
|
|
383
|
-
actorName: agentName,
|
|
384
|
-
actorType: 'agent'
|
|
385
|
-
});
|
|
357
|
+
const updated = await client.toggleTodo(taskId, query, false);
|
|
386
358
|
const item = updated.todos?.find((t) => t.id === query || t.title.toLowerCase().includes(query.toLowerCase()));
|
|
387
359
|
console.log(`[critical-path] Marked checklist item "${item?.title || query}" as incomplete on task ${taskId}.`);
|
|
388
360
|
break;
|
|
@@ -402,9 +374,6 @@ export async function main(argv = process.argv.slice(2)) {
|
|
|
402
374
|
}));
|
|
403
375
|
await client.updateTask(taskId, {
|
|
404
376
|
todos: newTodos,
|
|
405
|
-
actorId: authorId,
|
|
406
|
-
actorName: agentName,
|
|
407
|
-
actorType: 'agent'
|
|
408
377
|
});
|
|
409
378
|
console.log(`[critical-path] Set ${newTodos.length} checklist item(s) on task ${taskId}.`);
|
|
410
379
|
break;
|
|
@@ -417,11 +386,7 @@ export async function main(argv = process.argv.slice(2)) {
|
|
|
417
386
|
console.error('[critical-path] Error: Item title is required. Example: critical-path checklist add "Write unit tests"');
|
|
418
387
|
process.exit(1);
|
|
419
388
|
}
|
|
420
|
-
const item = await client.addTodo(taskId, title
|
|
421
|
-
actorId: authorId,
|
|
422
|
-
actorName: agentName,
|
|
423
|
-
actorType: 'agent'
|
|
424
|
-
});
|
|
389
|
+
const item = await client.addTodo(taskId, title);
|
|
425
390
|
console.log(`[critical-path] Added checklist item "${item.title}" (${item.id}) to task ${taskId}.`);
|
|
426
391
|
break;
|
|
427
392
|
}
|
package/dist/bin/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/bin/cli.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/bin/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"contract.test.d.ts","sourceRoot":"","sources":["../src/contract.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { describe, it, expect } from 'vitest';
|
|
2
|
+
import { CriticalPathRouter } from '@critical-path/server';
|
|
3
|
+
import { CriticalPathClient } from './index.js';
|
|
4
|
+
/**
|
|
5
|
+
* Runs the client against the real router (no network), so client request shapes are checked
|
|
6
|
+
* against the server's validation schemas rather than hand-written mocks.
|
|
7
|
+
*/
|
|
8
|
+
function connect(router, token) {
|
|
9
|
+
return new CriticalPathClient({
|
|
10
|
+
baseUrl: 'http://localhost/api/critical-path',
|
|
11
|
+
headers: token ? { Authorization: `Bearer ${token}` } : {},
|
|
12
|
+
fetch: ((input, init) => router.handleRequest(new Request(input, init)))
|
|
13
|
+
});
|
|
14
|
+
}
|
|
15
|
+
describe('client ↔ server contract', () => {
|
|
16
|
+
const router = new CriticalPathRouter(undefined, {
|
|
17
|
+
getContext: (request) => {
|
|
18
|
+
const token = request.headers.get('Authorization')?.replace('Bearer ', '');
|
|
19
|
+
return token ? { userId: token } : null;
|
|
20
|
+
}
|
|
21
|
+
});
|
|
22
|
+
it('round-trips the main resources with identity taken from the token', async () => {
|
|
23
|
+
const client = connect(router, 'alice');
|
|
24
|
+
const project = await client.createProject({ key: 'CON', name: 'Contract' });
|
|
25
|
+
const renamed = await client.updateProject(project.id, { name: 'Contract v2' });
|
|
26
|
+
expect(renamed.name).toBe('Contract v2');
|
|
27
|
+
const task = await client.createTask({ projectId: project.id, title: 'Wire it up' });
|
|
28
|
+
expect(task.reporterId).toBe('alice');
|
|
29
|
+
const other = await client.createTask({ projectId: project.id, title: 'Upstream' });
|
|
30
|
+
await client.addDependency(task.id, { dependsOnTaskId: other.id });
|
|
31
|
+
await client.addTodo(task.id, 'Write tests');
|
|
32
|
+
const toggled = await client.toggleTodo(task.id, 'Write tests', true);
|
|
33
|
+
expect(toggled.todos?.[0].completed).toBe(true);
|
|
34
|
+
const comment = await client.addComment({ taskId: task.id, content: 'On it' });
|
|
35
|
+
expect(comment.authorId).toBe('alice');
|
|
36
|
+
const reacted = await client.addCommentReaction(comment.id, { emoji: '🚀' });
|
|
37
|
+
expect(reacted.reactions?.[0].userId).toBe('alice');
|
|
38
|
+
const unreacted = await client.removeCommentReaction(comment.id, { emoji: '🚀' });
|
|
39
|
+
expect(unreacted.reactions ?? []).toHaveLength(0);
|
|
40
|
+
const attachment = await client.createAttachment({ taskId: task.id, filename: 'spec.md', url: 'https://example.com/spec.md' });
|
|
41
|
+
expect(attachment.uploaderId).toBe('alice');
|
|
42
|
+
const entry = await client.logTime({ taskId: task.id, hours: 1.5 });
|
|
43
|
+
expect(entry.userId).toBe('alice');
|
|
44
|
+
expect(await client.deleteProject(project.id)).toBe(true);
|
|
45
|
+
expect(await client.deleteProject(project.id)).toBe(false);
|
|
46
|
+
});
|
|
47
|
+
it('surfaces validation errors for fields the server rejects', async () => {
|
|
48
|
+
const client = connect(router);
|
|
49
|
+
const project = await client.createProject({ name: 'Strict' });
|
|
50
|
+
const task = await client.createTask({ projectId: project.id, title: 'T' });
|
|
51
|
+
await expect(client.updateTask(task.id, { projectId: 'elsewhere' })).rejects.toThrow(/Unrecognized key/);
|
|
52
|
+
});
|
|
53
|
+
});
|
|
54
|
+
//# sourceMappingURL=contract.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"contract.test.js","sourceRoot":"","sources":["../src/contract.test.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { CreateWorkflowBody, UpdateWorkflowBody, CreateProjectBody, UpdateProjectBody, CreateTaskBody, UpdateTaskBody, CreateDependencyBody, CreateTeamBody, UpdateTeamBody, CreateContainerBody, UpdateContainerBody, CreateDeliverableBody, UpdateDeliverableBody, CreateIterationBody, UpdateIterationBody, CreateCommentBody, UpdateCommentBody, CommentReactionBody, CreateAttachmentBody, UploadAttachmentBody, PresignAttachmentBody, LogTimeBody } from '@critical-path/core/schemas';
|
|
2
|
+
import type { TaskDependency, Project, Task, TaskTodoItem, TaskStatus, Priority, TaskDependencyGraph, Team, TaskContainer, Iteration, Activity, Comment, CommentReaction, Attachment, PresignedUploadResult, TimeEntry, Workflow, Deliverable, DeliverableSummary, SemanticStatus, StatusDefinition, TaskDerivedStatus, TaskLifecycleState, CriticalPathAnalysis, TimelineLadder, TimelineLadderOptions, TaskLadderView, MacroTimelineSummary, MacroPhaseRollup, StandardTaskTimelineItem, ConcreteTaskEvidence, RealityDelta, TaskMetrics, TaskProgressHistory, TaskProgressInference, TaskEVM, TaskInferredActuals, ProgressInferenceSource, ProgressCurveProfile, WorkloadDistribution, WorkloadBucket, WorkloadDistributionOptions, WorkloadInterval, WorkloadGroupBy, WorkloadMetric } from '@critical-path/core';
|
|
2
3
|
export type { TaskTodoItem, TaskStatus, Priority, SemanticStatus, StatusDefinition, TaskDerivedStatus, TaskLifecycleState, CriticalPathAnalysis, TimelineLadder, TimelineLadderOptions, TaskLadderView, MacroTimelineSummary, MacroPhaseRollup, StandardTaskTimelineItem, ConcreteTaskEvidence, RealityDelta, TaskMetrics, TaskProgressHistory, TaskProgressInference, TaskEVM, TaskInferredActuals, ProgressInferenceSource, ProgressCurveProfile, WorkloadDistribution, WorkloadBucket, WorkloadDistributionOptions, WorkloadInterval, WorkloadGroupBy, WorkloadMetric };
|
|
3
4
|
export interface UpdateStatusOptions {
|
|
4
5
|
taskId?: string;
|
|
@@ -29,12 +30,15 @@ export declare class CriticalPathClient {
|
|
|
29
30
|
private request;
|
|
30
31
|
getWorkflows(): Promise<Workflow[]>;
|
|
31
32
|
getWorkflow(id: string): Promise<Workflow>;
|
|
32
|
-
createWorkflow(data:
|
|
33
|
-
updateWorkflow(id: string, updates:
|
|
33
|
+
createWorkflow(data: CreateWorkflowBody): Promise<Workflow>;
|
|
34
|
+
updateWorkflow(id: string, updates: UpdateWorkflowBody): Promise<Workflow>;
|
|
34
35
|
deleteWorkflow(id: string): Promise<boolean>;
|
|
35
36
|
getProjects(): Promise<Project[]>;
|
|
36
37
|
getProject(id: string): Promise<Project>;
|
|
37
|
-
createProject(data:
|
|
38
|
+
createProject(data: CreateProjectBody): Promise<Project>;
|
|
39
|
+
updateProject(id: string, updates: UpdateProjectBody): Promise<Project>;
|
|
40
|
+
/** Deletes a project and its tasks. Resolves to `false` if it does not exist. */
|
|
41
|
+
deleteProject(id: string): Promise<boolean>;
|
|
38
42
|
calculateCriticalPath(projectId: string): Promise<CriticalPathAnalysis>;
|
|
39
43
|
getTimelineLadder(projectId: string, options?: TimelineLadderOptions): Promise<TimelineLadder>;
|
|
40
44
|
getWorkloadDistribution(projectId?: string, options?: WorkloadDistributionOptions): Promise<WorkloadDistribution>;
|
|
@@ -43,17 +47,8 @@ export declare class CriticalPathClient {
|
|
|
43
47
|
getTaskLadder(taskId: string): Promise<TaskLadderView>;
|
|
44
48
|
getTaskMetrics(taskId: string): Promise<TaskMetrics>;
|
|
45
49
|
getTaskProgressHistory(taskId: string): Promise<TaskProgressHistory>;
|
|
46
|
-
createTask(data:
|
|
47
|
-
updateTask(id: string, updates:
|
|
48
|
-
actorId?: string;
|
|
49
|
-
actorName?: string;
|
|
50
|
-
actorType?: string;
|
|
51
|
-
actor?: {
|
|
52
|
-
userId: string;
|
|
53
|
-
username?: string;
|
|
54
|
-
actorType?: string;
|
|
55
|
-
};
|
|
56
|
-
}): Promise<Task>;
|
|
50
|
+
createTask(data: CreateTaskBody): Promise<Task>;
|
|
51
|
+
updateTask(id: string, updates: UpdateTaskBody): Promise<Task>;
|
|
57
52
|
createSubtask(parentTaskId: string, data: {
|
|
58
53
|
title: string;
|
|
59
54
|
description?: string;
|
|
@@ -63,16 +58,10 @@ export declare class CriticalPathClient {
|
|
|
63
58
|
assigneeId?: string;
|
|
64
59
|
customFields?: Record<string, unknown>;
|
|
65
60
|
}): Promise<Task>;
|
|
66
|
-
addTodo(taskId: string, title: string
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
}): Promise<TaskTodoItem>;
|
|
71
|
-
toggleTodo(taskId: string, todoIdOrTitle: string, completed?: boolean, options?: {
|
|
72
|
-
actorId?: string;
|
|
73
|
-
actorName?: string;
|
|
74
|
-
actorType?: string;
|
|
75
|
-
}): Promise<Task>;
|
|
61
|
+
addTodo(taskId: string, title: string): Promise<TaskTodoItem>;
|
|
62
|
+
toggleTodo(taskId: string, todoIdOrTitle: string, completed?: boolean): Promise<Task>;
|
|
63
|
+
/** Declares that `taskId` depends on another task. Rejects with a 409 error on cycles. */
|
|
64
|
+
addDependency(taskId: string, data: CreateDependencyBody): Promise<TaskDependency>;
|
|
76
65
|
deleteTask(id: string): Promise<boolean>;
|
|
77
66
|
getTaskDependencies(taskId: string): Promise<TaskDependencyGraph>;
|
|
78
67
|
getTaskLifecycleState(taskId: string): Promise<TaskDerivedStatus>;
|
|
@@ -80,22 +69,22 @@ export declare class CriticalPathClient {
|
|
|
80
69
|
getAllowedPreviousTaskTransitions(taskId: string): Promise<string[]>;
|
|
81
70
|
getTeams(): Promise<Team[]>;
|
|
82
71
|
getTeam(id: string): Promise<Team>;
|
|
83
|
-
createTeam(data:
|
|
84
|
-
updateTeam(id: string, updates:
|
|
72
|
+
createTeam(data: CreateTeamBody): Promise<Team>;
|
|
73
|
+
updateTeam(id: string, updates: UpdateTeamBody): Promise<Team>;
|
|
85
74
|
deleteTeam(id: string): Promise<boolean>;
|
|
86
75
|
getContainers(projectId: string): Promise<TaskContainer[]>;
|
|
87
|
-
createContainer(data:
|
|
88
|
-
updateContainer(id: string, updates:
|
|
76
|
+
createContainer(data: CreateContainerBody): Promise<TaskContainer>;
|
|
77
|
+
updateContainer(id: string, updates: UpdateContainerBody): Promise<TaskContainer>;
|
|
89
78
|
deleteContainer(id: string): Promise<boolean>;
|
|
90
79
|
getDeliverables(projectId: string): Promise<Deliverable[]>;
|
|
91
80
|
getDeliverable(id: string): Promise<Deliverable>;
|
|
92
81
|
getDeliverableSummary(id: string): Promise<DeliverableSummary>;
|
|
93
|
-
createDeliverable(data:
|
|
94
|
-
updateDeliverable(id: string, updates:
|
|
82
|
+
createDeliverable(data: CreateDeliverableBody): Promise<Deliverable>;
|
|
83
|
+
updateDeliverable(id: string, updates: UpdateDeliverableBody): Promise<Deliverable>;
|
|
95
84
|
deleteDeliverable(id: string): Promise<boolean>;
|
|
96
85
|
getIterations(projectId: string): Promise<Iteration[]>;
|
|
97
|
-
createIteration(data:
|
|
98
|
-
updateIteration(id: string, updates:
|
|
86
|
+
createIteration(data: CreateIterationBody): Promise<Iteration>;
|
|
87
|
+
updateIteration(id: string, updates: UpdateIterationBody): Promise<Iteration>;
|
|
99
88
|
deleteIteration(id: string): Promise<boolean>;
|
|
100
89
|
getActivities(filter?: {
|
|
101
90
|
projectId?: string;
|
|
@@ -103,40 +92,28 @@ export declare class CriticalPathClient {
|
|
|
103
92
|
}): Promise<Activity[]>;
|
|
104
93
|
getComments(taskId: string): Promise<Comment[]>;
|
|
105
94
|
getComment(id: string): Promise<Comment>;
|
|
106
|
-
addComment(data:
|
|
107
|
-
updateComment(id: string, updates:
|
|
95
|
+
addComment(data: CreateCommentBody): Promise<Comment>;
|
|
96
|
+
updateComment(id: string, updates: UpdateCommentBody): Promise<Comment>;
|
|
108
97
|
deleteComment(id: string): Promise<boolean>;
|
|
109
|
-
addCommentReaction(commentId: string, reaction:
|
|
110
|
-
|
|
111
|
-
userId: string;
|
|
112
|
-
}): Promise<Comment>;
|
|
113
|
-
removeCommentReaction(commentId: string, reaction: {
|
|
114
|
-
emoji: string;
|
|
115
|
-
userId: string;
|
|
116
|
-
}): Promise<Comment>;
|
|
98
|
+
addCommentReaction(commentId: string, reaction: CommentReactionBody): Promise<Comment>;
|
|
99
|
+
removeCommentReaction(commentId: string, reaction: CommentReactionBody): Promise<Comment>;
|
|
117
100
|
getAttachments(filter?: {
|
|
118
101
|
taskId?: string;
|
|
119
102
|
projectId?: string;
|
|
120
103
|
commentId?: string;
|
|
121
104
|
}): Promise<Attachment[]>;
|
|
122
105
|
getAttachment(id: string): Promise<Attachment>;
|
|
123
|
-
createAttachment(data:
|
|
124
|
-
|
|
125
|
-
|
|
106
|
+
createAttachment(data: CreateAttachmentBody): Promise<Attachment>;
|
|
107
|
+
/**
|
|
108
|
+
* Uploads a file through the server's FileStorageAdapter. Binary data is sent base64-encoded.
|
|
109
|
+
*/
|
|
110
|
+
uploadAttachmentFile(data: Omit<UploadAttachmentBody, 'data'> & {
|
|
126
111
|
data: string | Uint8Array | ArrayBuffer;
|
|
127
|
-
mimeType?: string;
|
|
128
|
-
pathPrefix?: string;
|
|
129
|
-
taskId?: string;
|
|
130
|
-
projectId?: string;
|
|
131
|
-
commentId?: string;
|
|
132
|
-
uploaderId: string;
|
|
133
|
-
uploaderType?: 'user' | 'agent' | 'system';
|
|
134
|
-
metadata?: Record<string, unknown>;
|
|
135
112
|
}): Promise<Attachment>;
|
|
136
113
|
deleteAttachment(id: string): Promise<boolean>;
|
|
137
|
-
getPresignedAttachmentUploadUrl(options:
|
|
114
|
+
getPresignedAttachmentUploadUrl(options: PresignAttachmentBody): Promise<PresignedUploadResult>;
|
|
138
115
|
getTimeEntries(taskId: string): Promise<TimeEntry[]>;
|
|
139
|
-
logTime(data:
|
|
116
|
+
logTime(data: LogTimeBody): Promise<TimeEntry>;
|
|
140
117
|
updateStatus(status: string, options?: UpdateStatusOptions): Promise<UpdateStatusResult>;
|
|
141
118
|
}
|
|
142
119
|
export type { CommentReaction };
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,OAAO,EACP,IAAI,EACJ,YAAY,EACZ,UAAU,EACV,QAAQ,EACR,mBAAmB,EACnB,IAAI,EACJ,aAAa,EACb,SAAS,EACT,QAAQ,EACR,OAAO,EACP,eAAe,EACf,UAAU,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,cAAc,EACd,cAAc,EACd,oBAAoB,EACpB,cAAc,EACd,cAAc,EACd,mBAAmB,EACnB,mBAAmB,EACnB,qBAAqB,EACrB,qBAAqB,EACrB,mBAAmB,EACnB,mBAAmB,EACnB,iBAAiB,EACjB,iBAAiB,EACjB,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,EACpB,qBAAqB,EACrB,WAAW,EACZ,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EACV,cAAc,EACd,OAAO,EACP,IAAI,EACJ,YAAY,EACZ,UAAU,EACV,QAAQ,EACR,mBAAmB,EACnB,IAAI,EACJ,aAAa,EACb,SAAS,EACT,QAAQ,EACR,OAAO,EACP,eAAe,EACf,UAAU,EAEV,qBAAqB,EACrB,SAAS,EACT,QAAQ,EACR,WAAW,EACX,kBAAkB,EAElB,cAAc,EACd,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,EACpB,cAAc,EACd,qBAAqB,EACrB,cAAc,EACd,oBAAoB,EACpB,gBAAgB,EAChB,wBAAwB,EACxB,oBAAoB,EACpB,YAAY,EACZ,WAAW,EACX,mBAAmB,EACnB,qBAAqB,EACrB,OAAO,EACP,mBAAmB,EACnB,uBAAuB,EACvB,oBAAoB,EACpB,oBAAoB,EACpB,cAAc,EACd,2BAA2B,EAC3B,gBAAgB,EAChB,eAAe,EACf,cAAc,EACf,MAAM,qBAAqB,CAAC;AAE7B,YAAY,EACV,YAAY,EACZ,UAAU,EACV,QAAQ,EACR,cAAc,EACd,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,EACpB,cAAc,EACd,qBAAqB,EACrB,cAAc,EACd,oBAAoB,EACpB,gBAAgB,EAChB,wBAAwB,EACxB,oBAAoB,EACpB,YAAY,EACZ,WAAW,EACX,mBAAmB,EACnB,qBAAqB,EACrB,OAAO,EACP,mBAAmB,EACnB,uBAAuB,EACvB,oBAAoB,EACpB,oBAAoB,EACpB,cAAc,EACd,2BAA2B,EAC3B,gBAAgB,EAChB,eAAe,EACf,cAAc,EACf,CAAC;AAEF,MAAM,WAAW,mBAAmB;IAClC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;CACtB;AAkBD,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,OAAO,CAAyB;IACxC,OAAO,CAAC,WAAW,CAAe;gBAEtB,OAAO,EAAE,aAAa;IAMlC;;;OAGG;YACW,aAAa;YAUb,OAAO;IA0Bf,YAAY,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;IAKnC,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IAK1C,cAAc,CAAC,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC;IAQ3D,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC;IAQ1E,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAK5C,WAAW,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IAKjC,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAKxC,aAAa,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,OAAO,CAAC;IAQxD,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,OAAO,CAAC;IAQ7E,iFAAiF;IAC3E,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAI3C,qBAAqB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAOvE,iBAAiB,CACrB,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,qBAA0B,GAClC,OAAO,CAAC,cAAc,CAAC;IAapB,uBAAuB,CAC3B,SAAS,CAAC,EAAE,MAAM,EAClB,OAAO,GAAE,2BAAgC,GACxC,OAAO,CAAC,oBAAoB,CAAC;IAsB1B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAM7C,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKlC,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAOtD,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAOpD,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAOpE,UAAU,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ/C,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ9D,aAAa,CACjB,YAAY,EAAE,MAAM,EACpB,IAAI,EAAE;QACJ,KAAK,EAAE,MAAM,CAAC;QACd,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,MAAM,CAAC,EAAE,UAAU,CAAC;QACpB,QAAQ,CAAC,EAAE,QAAQ,CAAC;QACpB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACxC,GACA,OAAO,CAAC,IAAI,CAAC;IAkBV,OAAO,CACX,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,YAAY,CAAC;IAalB,UAAU,CACd,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,MAAM,EACrB,SAAS,CAAC,EAAE,OAAO,GAClB,OAAO,CAAC,IAAI,CAAC;IAgBhB,0FAA0F;IACpF,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAAC,cAAc,CAAC;IAQlF,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAIxC,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAKjE,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAKjE,yBAAyB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAK5D,iCAAiC,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAMpE,QAAQ,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;IAK3B,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKlC,UAAU,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ/C,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ9D,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAKxC,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAK1D,eAAe,CAAC,IAAI,EAAE,mBAAmB,GAAG,OAAO,CAAC,aAAa,CAAC;IAQlE,eAAe,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,aAAa,CAAC;IAQjF,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAK7C,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAK1D,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAKhD,qBAAqB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAK9D,iBAAiB,CAAC,IAAI,EAAE,qBAAqB,GAAG,OAAO,CAAC,WAAW,CAAC;IAQpE,iBAAiB,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,WAAW,CAAC;IAQnF,iBAAiB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAK/C,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAKtD,eAAe,CAAC,IAAI,EAAE,mBAAmB,GAAG,OAAO,CAAC,SAAS,CAAC;IAQ9D,eAAe,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,SAAS,CAAC;IAQ7E,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAK7C,aAAa,CAAC,MAAM,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IAUpF,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAK/C,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAKxC,UAAU,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,OAAO,CAAC;IAQrD,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,OAAO,CAAC;IAQvE,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAI3C,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,mBAAmB,GAAG,OAAO,CAAC,OAAO,CAAC;IAQtF,qBAAqB,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,mBAAmB,GAAG,OAAO,CAAC,OAAO,CAAC;IAUzF,cAAc,CAAC,MAAM,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAU3G,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAK9C,gBAAgB,CAAC,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAAC,UAAU,CAAC;IAQvE;;OAEG;IACG,oBAAoB,CACxB,IAAI,EAAE,IAAI,CAAC,oBAAoB,EAAE,MAAM,CAAC,GAAG;QAAE,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,WAAW,CAAA;KAAE,GACrF,OAAO,CAAC,UAAU,CAAC;IAYhB,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAI9C,+BAA+B,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAS/F,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAKpD,OAAO,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,SAAS,CAAC;IAS9C,YAAY,CAChB,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,mBAAmB,GAC5B,OAAO,CAAC,kBAAkB,CAAC;CAa/B;AAED,YAAY,EAAE,eAAe,EAAE,CAAC"}
|