sunsama-api 0.1.0 → 0.2.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 (40) hide show
  1. package/README.md +66 -8
  2. package/dist/cjs/client/index.js +296 -0
  3. package/dist/cjs/client/index.js.map +1 -1
  4. package/dist/cjs/queries/index.js +1 -0
  5. package/dist/cjs/queries/index.js.map +1 -1
  6. package/dist/cjs/queries/mutations/createTask.js +32 -0
  7. package/dist/cjs/queries/mutations/createTask.js.map +1 -0
  8. package/dist/cjs/queries/mutations/index.js +10 -0
  9. package/dist/cjs/queries/mutations/index.js.map +1 -0
  10. package/dist/cjs/queries/mutations/updateTaskComplete.js +91 -0
  11. package/dist/cjs/queries/mutations/updateTaskComplete.js.map +1 -0
  12. package/dist/cjs/queries/mutations/updateTaskDelete.js +26 -0
  13. package/dist/cjs/queries/mutations/updateTaskDelete.js.map +1 -0
  14. package/dist/esm/client/index.js +297 -1
  15. package/dist/esm/client/index.js.map +1 -1
  16. package/dist/esm/queries/index.js +1 -0
  17. package/dist/esm/queries/index.js.map +1 -1
  18. package/dist/esm/queries/mutations/createTask.js +29 -0
  19. package/dist/esm/queries/mutations/createTask.js.map +1 -0
  20. package/dist/esm/queries/mutations/index.js +7 -0
  21. package/dist/esm/queries/mutations/index.js.map +1 -0
  22. package/dist/esm/queries/mutations/updateTaskComplete.js +88 -0
  23. package/dist/esm/queries/mutations/updateTaskComplete.js.map +1 -0
  24. package/dist/esm/queries/mutations/updateTaskDelete.js +23 -0
  25. package/dist/esm/queries/mutations/updateTaskDelete.js.map +1 -0
  26. package/dist/types/client/index.d.ts +110 -1
  27. package/dist/types/client/index.d.ts.map +1 -1
  28. package/dist/types/queries/index.d.ts +1 -0
  29. package/dist/types/queries/index.d.ts.map +1 -1
  30. package/dist/types/queries/mutations/createTask.d.ts +13 -0
  31. package/dist/types/queries/mutations/createTask.d.ts.map +1 -0
  32. package/dist/types/queries/mutations/index.d.ts +7 -0
  33. package/dist/types/queries/mutations/index.d.ts.map +1 -0
  34. package/dist/types/queries/mutations/updateTaskComplete.d.ts +23 -0
  35. package/dist/types/queries/mutations/updateTaskComplete.d.ts.map +1 -0
  36. package/dist/types/queries/mutations/updateTaskDelete.d.ts +13 -0
  37. package/dist/types/queries/mutations/updateTaskDelete.d.ts.map +1 -0
  38. package/dist/types/types/api.d.ts +205 -0
  39. package/dist/types/types/api.d.ts.map +1 -1
  40. package/package.json +24 -23
@@ -6,7 +6,7 @@
6
6
  import { print } from 'graphql';
7
7
  import { Cookie, CookieJar } from 'tough-cookie';
8
8
  import { SunsamaAuthError } from '../errors';
9
- import { GET_STREAMS_BY_GROUP_ID_QUERY, GET_TASKS_BACKLOG_QUERY, GET_TASKS_BY_DAY_QUERY, GET_USER_QUERY, } from '../queries';
9
+ import { CREATE_TASK_MUTATION, GET_STREAMS_BY_GROUP_ID_QUERY, GET_TASKS_BACKLOG_QUERY, GET_TASKS_BY_DAY_QUERY, GET_USER_QUERY, UPDATE_TASK_COMPLETE_MUTATION, UPDATE_TASK_DELETE_MUTATION, } from '../queries';
10
10
  /**
11
11
  * Main Sunsama API client class
12
12
  *
@@ -321,6 +321,302 @@ export class SunsamaClient {
321
321
  }
322
322
  return this.timezone;
323
323
  }
324
+ /**
325
+ * Marks a task as complete
326
+ *
327
+ * @param taskId - The ID of the task to mark as complete
328
+ * @param completeOn - The date/time when the task was completed (defaults to current time)
329
+ * @param limitResponsePayload - Whether to limit the response payload size (defaults to true)
330
+ * @returns The update result with success status and optionally the updated task
331
+ * @throws SunsamaAuthError if not authenticated or request fails
332
+ *
333
+ * @example
334
+ * ```typescript
335
+ * // Mark a task as complete with current timestamp
336
+ * const result = await client.updateTaskComplete('taskId');
337
+ *
338
+ * // Mark complete with specific timestamp
339
+ * const result = await client.updateTaskComplete('taskId', '2025-01-15T10:30:00Z');
340
+ *
341
+ * // Get full task details in response
342
+ * const result = await client.updateTaskComplete('taskId', new Date(), false);
343
+ * ```
344
+ */
345
+ async updateTaskComplete(taskId, completeOn, limitResponsePayload = true) {
346
+ // Convert Date to ISO string if needed
347
+ let completeOnString;
348
+ if (completeOn instanceof Date) {
349
+ completeOnString = completeOn.toISOString();
350
+ }
351
+ else if (completeOn) {
352
+ completeOnString = completeOn;
353
+ }
354
+ else {
355
+ // Default to current time
356
+ completeOnString = new Date().toISOString();
357
+ }
358
+ const variables = {
359
+ taskId,
360
+ completeOn: completeOnString,
361
+ limitResponsePayload,
362
+ };
363
+ const request = {
364
+ operationName: 'updateTaskComplete',
365
+ variables: { input: variables },
366
+ query: UPDATE_TASK_COMPLETE_MUTATION,
367
+ };
368
+ const response = await this.graphqlRequest(request);
369
+ if (!response.data) {
370
+ throw new SunsamaAuthError('No response data received');
371
+ }
372
+ return response.data.updateTaskComplete;
373
+ }
374
+ /**
375
+ * Deletes a task
376
+ *
377
+ * @param taskId - The ID of the task to delete
378
+ * @param limitResponsePayload - Whether to limit response size (defaults to true)
379
+ * @param wasTaskMerged - Whether the task was merged before deletion (defaults to false)
380
+ * @returns The update result with success status
381
+ * @throws SunsamaAuthError if not authenticated or request fails
382
+ *
383
+ * @example
384
+ * ```typescript
385
+ * // Delete a task
386
+ * const result = await client.deleteTask('taskId');
387
+ *
388
+ * // Delete with full response payload
389
+ * const result = await client.deleteTask('taskId', false);
390
+ *
391
+ * // Delete a merged task
392
+ * const result = await client.deleteTask('taskId', true, true);
393
+ * ```
394
+ */
395
+ async deleteTask(taskId, limitResponsePayload = true, wasTaskMerged = false) {
396
+ const variables = {
397
+ taskId,
398
+ limitResponsePayload,
399
+ wasTaskMerged,
400
+ };
401
+ const request = {
402
+ operationName: 'updateTaskDelete',
403
+ variables: { input: variables },
404
+ query: UPDATE_TASK_DELETE_MUTATION,
405
+ };
406
+ const response = await this.graphqlRequest(request);
407
+ if (!response.data) {
408
+ throw new SunsamaAuthError('No response data received');
409
+ }
410
+ return response.data.updateTaskDelete;
411
+ }
412
+ /**
413
+ * Creates a new task with flexible options
414
+ *
415
+ * @param text - The main text/title of the task
416
+ * @param options - Additional task properties (including optional custom taskId)
417
+ * @returns The created task result with success status
418
+ * @throws SunsamaAuthError if not authenticated or request fails
419
+ *
420
+ * @example
421
+ * ```typescript
422
+ * // Create a simple task (ID auto-generated)
423
+ * const result = await client.createTask('Complete project documentation');
424
+ *
425
+ * // Create a task with options
426
+ * const result = await client.createTask('Review pull requests', {
427
+ * notes: 'Check all open PRs in the main repository',
428
+ * timeEstimate: 30,
429
+ * streamIds: ['stream-id-1']
430
+ * });
431
+ *
432
+ * // Create a task with custom ID (useful for tracking/deletion)
433
+ * const customId = SunsamaClient.generateTaskId();
434
+ * const result = await client.createTask('Follow up with client', {
435
+ * taskId: customId,
436
+ * snoozeUntil: new Date('2025-01-15T09:00:00')
437
+ * });
438
+ * ```
439
+ */
440
+ async createTask(text, options) {
441
+ // Ensure we have user context
442
+ if (!this.userId || !this.groupId) {
443
+ await this.getUser();
444
+ }
445
+ if (!this.userId || !this.groupId) {
446
+ throw new SunsamaAuthError('Unable to determine user ID or group ID');
447
+ }
448
+ // Use provided task ID or generate a new one
449
+ const taskId = options?.taskId || SunsamaClient.generateTaskId();
450
+ // Generate timestamps
451
+ const now = new Date().toISOString();
452
+ // Build collaborative editing snapshot for notes
453
+ const collabSnapshot = this.createCollabSnapshot(taskId, options?.notes || '');
454
+ // Handle snooze configuration
455
+ let snooze = null;
456
+ if (options?.snoozeUntil) {
457
+ const snoozeDate = options.snoozeUntil instanceof Date ? options.snoozeUntil : new Date(options.snoozeUntil);
458
+ snooze = {
459
+ userId: this.userId,
460
+ date: now,
461
+ until: snoozeDate.toISOString(),
462
+ __typename: 'TaskSnooze',
463
+ };
464
+ }
465
+ // Handle due date
466
+ let dueDate = null;
467
+ if (options?.dueDate) {
468
+ dueDate = options.dueDate instanceof Date ? options.dueDate.toISOString() : options.dueDate;
469
+ }
470
+ // Build the complete task input
471
+ const taskInput = {
472
+ _id: taskId,
473
+ groupId: this.groupId,
474
+ taskType: 'outcomes',
475
+ streamIds: options?.streamIds || [],
476
+ recommendedStreamId: null,
477
+ eventInfo: null,
478
+ seededEventIds: null,
479
+ private: options?.private || false,
480
+ assigneeId: this.userId,
481
+ createdBy: this.userId,
482
+ integration: null,
483
+ deleted: false,
484
+ text,
485
+ notes: options?.notes || '',
486
+ notesMarkdown: null,
487
+ notesChecksum: null,
488
+ editorVersion: 3,
489
+ collabSnapshot,
490
+ completed: false,
491
+ completedBy: null,
492
+ completeDate: null,
493
+ completeOn: null,
494
+ archivedAt: null,
495
+ duration: null,
496
+ runDate: null,
497
+ snooze,
498
+ timeHorizon: null,
499
+ dueDate,
500
+ comments: [],
501
+ orderings: [],
502
+ backlogOrderings: [],
503
+ subtasks: [],
504
+ subtasksCollapsed: null,
505
+ sequence: null,
506
+ followers: [],
507
+ recommendedTimeEstimate: null,
508
+ timeEstimate: options?.timeEstimate || null,
509
+ actualTime: [],
510
+ scheduledTime: [],
511
+ createdAt: now,
512
+ lastModified: now,
513
+ objectiveId: null,
514
+ ritual: null,
515
+ };
516
+ const variables = {
517
+ task: taskInput,
518
+ groupId: this.groupId,
519
+ position: undefined,
520
+ };
521
+ const request = {
522
+ operationName: 'createTask',
523
+ variables,
524
+ query: CREATE_TASK_MUTATION,
525
+ };
526
+ const response = await this.graphqlRequest(request);
527
+ if (!response.data) {
528
+ throw new SunsamaAuthError('No response data received');
529
+ }
530
+ return response.data.createTaskV2;
531
+ }
532
+ /**
533
+ * Generates a unique task ID in MongoDB ObjectId format
534
+ *
535
+ * This method creates a 24-character hexadecimal string following MongoDB ObjectId conventions:
536
+ * - First 8 chars: Unix timestamp (4 bytes)
537
+ * - Next 10 chars: Random value (5 bytes)
538
+ * - Last 6 chars: Incrementing counter (3 bytes)
539
+ *
540
+ * @returns A 24-character hexadecimal string compatible with Sunsama's task ID format
541
+ * @example
542
+ * ```typescript
543
+ * const taskId = SunsamaClient.generateTaskId();
544
+ * console.log(taskId); // "507f1f77bcf86cd799439011"
545
+ * ```
546
+ */
547
+ static generateTaskId() {
548
+ // Get current timestamp (4 bytes = 8 hex chars)
549
+ const timestamp = Math.floor(Date.now() / 1000);
550
+ const timestampHex = timestamp.toString(16).padStart(8, '0');
551
+ // Generate random value (5 bytes = 10 hex chars)
552
+ const randomValue = SunsamaClient.getRandomValue();
553
+ // Generate counter (3 bytes = 6 hex chars) - increment for each ID generation
554
+ const counter = SunsamaClient.getNextCounter();
555
+ const counterHex = counter.toString(16).padStart(6, '0');
556
+ return timestampHex + randomValue + counterHex;
557
+ }
558
+ static _counter = Math.floor(Math.random() * 0xffffff);
559
+ /**
560
+ * Gets a random value for ObjectId generation (5 bytes = 10 hex chars)
561
+ * @internal
562
+ */
563
+ static getRandomValue() {
564
+ // Generate 5 random bytes for the random portion
565
+ const randomBytes = new Uint8Array(5);
566
+ if (typeof crypto !== 'undefined' && crypto.getRandomValues) {
567
+ crypto.getRandomValues(randomBytes);
568
+ }
569
+ else {
570
+ // Fallback for Node.js environments
571
+ // eslint-disable-next-line @typescript-eslint/no-var-requires
572
+ const cryptoModule = require('crypto');
573
+ const buffer = cryptoModule.randomBytes(5);
574
+ randomBytes.set(buffer);
575
+ }
576
+ return Array.from(randomBytes)
577
+ .map(b => b.toString(16).padStart(2, '0'))
578
+ .join('');
579
+ }
580
+ /**
581
+ * Gets the next counter value for ID generation (3 bytes = 6 hex chars)
582
+ * @internal
583
+ */
584
+ static getNextCounter() {
585
+ SunsamaClient._counter = (SunsamaClient._counter + 1) % 0xffffff;
586
+ return SunsamaClient._counter;
587
+ }
588
+ /**
589
+ * Creates a collaborative editing snapshot for task notes
590
+ *
591
+ * @param taskId - The task ID
592
+ * @param notes - The notes content
593
+ * @returns CollabSnapshot object
594
+ * @internal
595
+ */
596
+ createCollabSnapshot(taskId, notes) {
597
+ if (!notes) {
598
+ return null;
599
+ }
600
+ // This is a simplified version - the actual encoding might be more complex
601
+ const docName = `tasks/notes/${taskId}`;
602
+ return {
603
+ state: {
604
+ version: 'v1_sv',
605
+ docName,
606
+ clock: 0,
607
+ value: 'AeC61NgLAQ==', // Base64 encoded empty state
608
+ },
609
+ updates: [
610
+ {
611
+ version: 'v1',
612
+ action: 'update',
613
+ docName,
614
+ clock: 0,
615
+ value: 'AQHgutTYCwAHAQdkZWZhdWx0AwlwYXJhZ3JhcGgA', // Base64 encoded paragraph structure
616
+ },
617
+ ],
618
+ };
619
+ }
324
620
  /**
325
621
  * Sets a session token as a cookie in the jar
326
622
  *
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/client/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EACL,6BAA6B,EAC7B,uBAAuB,EACvB,sBAAsB,EACtB,cAAc,GACf,MAAM,YAAY,CAAC;AAiBpB;;;;GAIG;AACH,MAAM,OAAO,aAAa;IAChB,MAAM,CAAU,QAAQ,GAAG,yBAAyB,CAAC;IAE5C,MAAM,CAAsB;IAC5B,SAAS,CAAY;IAC9B,MAAM,CAAU;IAChB,OAAO,CAAU;IACjB,QAAQ,CAAU;IAE1B;;;;OAIG;IACH,YAAY,SAA8B,EAAE;QAC1C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,SAAS,GAAG,IAAI,SAAS,EAAE,CAAC;QAEjC,qDAAqD;QACrD,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;YACxB,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QACpD,CAAC;IACH,CAAC;IAED;;OAEG;IACH,SAAS;QACP,OAAO,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;IAC5B,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,eAAe;QACnB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QACxE,OAAO,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,KAAK,gBAAgB,CAAC,CAAC;IACjE,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,KAAK,CAAC,KAAa,EAAE,QAAgB;QACzC,oBAAoB;QACpB,MAAM,QAAQ,GAAG,IAAI,eAAe,EAAE,CAAC;QACvC,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAChC,QAAQ,CAAC,MAAM,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QAEtC,IAAI,CAAC;YACH,gFAAgF;YAChF,MAAM,QAAQ,GAAG,GAAG,aAAa,CAAC,QAAQ,sBAAsB,CAAC;YAEjE,oCAAoC;YACpC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YAC1D,MAAM,OAAO,GAAgB;gBAC3B,cAAc,EAAE,mCAAmC;gBACnD,MAAM,EAAE,yBAAyB;aAClC,CAAC;YAEF,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvB,OAAO,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC9E,CAAC;YAED,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,QAAQ,EAAE;gBACrC,MAAM,EAAE,MAAM;gBACd,OAAO;gBACP,IAAI,EAAE,QAAQ,CAAC,QAAQ,EAAE;gBACzB,QAAQ,EAAE,QAAQ,EAAE,uCAAuC;aAC5D,CAAC,CAAC;YAEH,iDAAiD;YACjD,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;gBAC5B,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;gBAC3C,MAAM,IAAI,gBAAgB,CACxB,iBAAiB,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU,eAAe,YAAY,EAAE,CACrF,CAAC;YACJ,CAAC;YAED,0CAA0C;YAC1C,MAAM,eAAe,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;YAC3D,IAAI,CAAC,eAAe,EAAE,CAAC;gBACrB,oCAAoC;gBACpC,MAAM,UAAU,GAA2B,EAAE,CAAC;gBAC9C,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;oBACtC,UAAU,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBAC1B,CAAC,CAAC,CAAC;gBACH,MAAM,IAAI,gBAAgB,CACxB,4DAA4D,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAClG,CAAC;YACJ,CAAC;YAED,8BAA8B;YAC9B,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,GAAG,aAAa,CAAC,QAAQ,sBAAsB,CAAC;gBACjE,MAAM,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC;YAC5D,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,IAAI,gBAAgB,CACxB,mCAAmC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,CAC9F,CAAC;YACJ,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,gBAAgB,EAAE,CAAC;gBACtC,MAAM,KAAK,CAAC;YACd,CAAC;YACD,MAAM,IAAI,gBAAgB,CACxB,yBAAyB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,CACpF,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACH,MAAM;QACJ,IAAI,CAAC,SAAS,CAAC,oBAAoB,EAAE,CAAC;QACtC,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;QACxB,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;QACzB,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;IAC5B,CAAC;IAED;;;;;;;OAOG;IACK,KAAK,CAAC,OAAO,CAAC,IAAY,EAAE,OAAuB;QACzD,MAAM,GAAG,GAAG,GAAG,aAAa,CAAC,QAAQ,GAAG,IAAI,EAAE,CAAC;QAE/C,gBAAgB;QAChB,MAAM,OAAO,GAAgB;YAC3B,MAAM,EAAE,yBAAyB;YACjC,GAAG,OAAO,CAAC,OAAO;SACnB,CAAC;QAEF,oCAAoC;QACpC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QACrD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,OAAO,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9E,CAAC;QAED,wCAAwC;QACxC,IAAI,OAAO,GAAG,GAAG,CAAC;QAClB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACnB,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;YACrC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;gBACtD,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YACpC,CAAC,CAAC,CAAC;YACH,OAAO,GAAG,GAAG,GAAG,IAAI,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC;QAC1C,CAAC;QAED,uBAAuB;QACvB,IAAI,IAAwB,CAAC;QAC7B,IAAI,OAAO,CAAC,IAAI,YAAY,eAAe,EAAE,CAAC;YAC5C,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACjC,CAAC;aAAM,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACxB,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACtC,CAAC;QAED,mBAAmB;QACnB,OAAO,MAAM,KAAK,CAAC,OAAO,EAAE;YAC1B,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,OAAO;YACP,IAAI;SACL,CAAC,CAAC;IACL,CAAC;IAED;;;;;;OAMG;IACK,KAAK,CAAC,cAAc,CAC1B,OAAmC;QAEnC,2CAA2C;QAC3C,MAAM,WAAW,GAAG,OAAO,OAAO,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAE7F,MAAM,WAAW,GAAG;YAClB,GAAG,OAAO;YACV,KAAK,EAAE,WAAW;SACnB,CAAC;QAEF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE;YAC9C,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;gBAClC,MAAM,EAAE,kBAAkB;gBAC1B,GAAG,CAAC,OAAO,CAAC,aAAa,IAAI,EAAE,sBAAsB,EAAE,OAAO,CAAC,aAAa,EAAE,CAAC;aAChF;YACD,IAAI,EAAE,WAAW;SAClB,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YAC3C,MAAM,IAAI,gBAAgB,CACxB,2BAA2B,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU,eAAe,YAAY,EAAE,CAC/F,CAAC;QACJ,CAAC;QAED,MAAM,MAAM,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAuB,CAAC;QAE7D,IAAI,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9C,MAAM,IAAI,gBAAgB,CAAC,mBAAmB,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAChG,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,OAAO;QACX,MAAM,OAAO,GAA0C;YACrD,aAAa,EAAE,SAAS;YACxB,SAAS,EAAE,EAAE;YACb,KAAK,EAAE,cAAc;SACtB,CAAC;QAEF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,cAAc,CAAyC,OAAO,CAAC,CAAC;QAE5F,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YACnB,MAAM,IAAI,gBAAgB,CAAC,uBAAuB,CAAC,CAAC;QACtD,CAAC;QAED,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC;QAEvC,4DAA4D;QAC5D,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC;QAC1C,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;QAEtC,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,aAAa,CAAC,GAAW,EAAE,QAAiB;QAChD,4DAA4D;QAC5D,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClC,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QACvB,CAAC;QAED,MAAM,YAAY,GAAG,QAAQ,IAAI,IAAI,CAAC,QAAQ,IAAI,KAAK,CAAC;QAExD,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,IAAI,gBAAgB,CACxB,6EAA6E,CAC9E,CAAC;QACJ,CAAC;QAED,MAAM,SAAS,GAAuB;YACpC,GAAG;YACH,QAAQ,EAAE,YAAY;YACtB,MAAM,EAAE,IAAI,CAAC,MAAO;YACpB,OAAO,EAAE,IAAI,CAAC,OAAO;SACtB,CAAC;QAEF,MAAM,OAAO,GAAkD;YAC7D,aAAa,EAAE,eAAe;YAC9B,SAAS,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE;YAC/B,KAAK,EAAE,sBAAsB;SAC9B,CAAC;QAEF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,cAAc,CAGxC,OAAO,CAAC,CAAC;QAEX,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YACnB,MAAM,IAAI,gBAAgB,CAAC,uBAAuB,CAAC,CAAC;QACtD,CAAC;QAED,OAAO,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC;IACpC,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,eAAe;QACnB,4DAA4D;QAC5D,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClC,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QACvB,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,IAAI,gBAAgB,CACxB,6EAA6E,CAC9E,CAAC;QACJ,CAAC;QAED,MAAM,SAAS,GAAyB;YACtC,MAAM,EAAE,IAAI,CAAC,MAAO;YACpB,OAAO,EAAE,IAAI,CAAC,OAAO;SACtB,CAAC;QAEF,MAAM,OAAO,GAAyC;YACpD,aAAa,EAAE,iBAAiB;YAChC,SAAS;YACT,KAAK,EAAE,uBAAuB;SAC/B,CAAC;QAEF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,cAAc,CACxC,OAAO,CACR,CAAC;QAEF,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YACnB,MAAM,IAAI,gBAAgB,CAAC,0BAA0B,CAAC,CAAC;QACzD,CAAC;QAED,OAAO,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC;IACpC,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,mBAAmB;QACvB,4DAA4D;QAC5D,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QACvB,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,IAAI,gBAAgB,CACxB,6EAA6E,CAC9E,CAAC;QACJ,CAAC;QAED,MAAM,OAAO,GAAwC;YACnD,aAAa,EAAE,qBAAqB;YACpC,SAAS,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;YACpC,KAAK,EAAE,6BAA6B;SACrC,CAAC;QAEF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,cAAc,CACxC,OAAO,CACR,CAAC;QAEF,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YACnB,MAAM,IAAI,gBAAgB,CAAC,yBAAyB,CAAC,CAAC;QACxD,CAAC;QAED,OAAO,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC;IACxC,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,eAAe;QACnB,8DAA8D;QAC9D,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QACvB,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,MAAM,IAAI,gBAAgB,CACxB,iFAAiF,CAClF,CAAC;QACJ,CAAC;QAED,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED;;;;;OAKG;IACK,uBAAuB,CAAC,KAAa;QAC3C,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC;gBACxB,GAAG,EAAE,gBAAgB;gBACrB,KAAK,EAAE,KAAK;gBACZ,MAAM,EAAE,iBAAiB;gBACzB,IAAI,EAAE,GAAG;gBACT,QAAQ,EAAE,IAAI;gBACd,MAAM,EAAE,IAAI;aACb,CAAC,CAAC;YAEH,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,MAAM,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAC;QAC/D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,wCAAwC;YACxC,0EAA0E;QAC5E,CAAC;IACH,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/client/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EACL,oBAAoB,EACpB,6BAA6B,EAC7B,uBAAuB,EACvB,sBAAsB,EACtB,cAAc,EACd,6BAA6B,EAC7B,2BAA2B,GAC5B,MAAM,YAAY,CAAC;AA2BpB;;;;GAIG;AACH,MAAM,OAAO,aAAa;IAChB,MAAM,CAAU,QAAQ,GAAG,yBAAyB,CAAC;IAE5C,MAAM,CAAsB;IAC5B,SAAS,CAAY;IAC9B,MAAM,CAAU;IAChB,OAAO,CAAU;IACjB,QAAQ,CAAU;IAE1B;;;;OAIG;IACH,YAAY,SAA8B,EAAE;QAC1C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,SAAS,GAAG,IAAI,SAAS,EAAE,CAAC;QAEjC,qDAAqD;QACrD,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;YACxB,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QACpD,CAAC;IACH,CAAC;IAED;;OAEG;IACH,SAAS;QACP,OAAO,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;IAC5B,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,eAAe;QACnB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QACxE,OAAO,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,KAAK,gBAAgB,CAAC,CAAC;IACjE,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,KAAK,CAAC,KAAa,EAAE,QAAgB;QACzC,oBAAoB;QACpB,MAAM,QAAQ,GAAG,IAAI,eAAe,EAAE,CAAC;QACvC,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAChC,QAAQ,CAAC,MAAM,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QAEtC,IAAI,CAAC;YACH,gFAAgF;YAChF,MAAM,QAAQ,GAAG,GAAG,aAAa,CAAC,QAAQ,sBAAsB,CAAC;YAEjE,oCAAoC;YACpC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YAC1D,MAAM,OAAO,GAAgB;gBAC3B,cAAc,EAAE,mCAAmC;gBACnD,MAAM,EAAE,yBAAyB;aAClC,CAAC;YAEF,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvB,OAAO,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC9E,CAAC;YAED,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,QAAQ,EAAE;gBACrC,MAAM,EAAE,MAAM;gBACd,OAAO;gBACP,IAAI,EAAE,QAAQ,CAAC,QAAQ,EAAE;gBACzB,QAAQ,EAAE,QAAQ,EAAE,uCAAuC;aAC5D,CAAC,CAAC;YAEH,iDAAiD;YACjD,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;gBAC5B,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;gBAC3C,MAAM,IAAI,gBAAgB,CACxB,iBAAiB,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU,eAAe,YAAY,EAAE,CACrF,CAAC;YACJ,CAAC;YAED,0CAA0C;YAC1C,MAAM,eAAe,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;YAC3D,IAAI,CAAC,eAAe,EAAE,CAAC;gBACrB,oCAAoC;gBACpC,MAAM,UAAU,GAA2B,EAAE,CAAC;gBAC9C,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;oBACtC,UAAU,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBAC1B,CAAC,CAAC,CAAC;gBACH,MAAM,IAAI,gBAAgB,CACxB,4DAA4D,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAClG,CAAC;YACJ,CAAC;YAED,8BAA8B;YAC9B,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,GAAG,aAAa,CAAC,QAAQ,sBAAsB,CAAC;gBACjE,MAAM,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC;YAC5D,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,IAAI,gBAAgB,CACxB,mCAAmC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,CAC9F,CAAC;YACJ,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,gBAAgB,EAAE,CAAC;gBACtC,MAAM,KAAK,CAAC;YACd,CAAC;YACD,MAAM,IAAI,gBAAgB,CACxB,yBAAyB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,CACpF,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACH,MAAM;QACJ,IAAI,CAAC,SAAS,CAAC,oBAAoB,EAAE,CAAC;QACtC,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;QACxB,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;QACzB,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;IAC5B,CAAC;IAED;;;;;;;OAOG;IACK,KAAK,CAAC,OAAO,CAAC,IAAY,EAAE,OAAuB;QACzD,MAAM,GAAG,GAAG,GAAG,aAAa,CAAC,QAAQ,GAAG,IAAI,EAAE,CAAC;QAE/C,gBAAgB;QAChB,MAAM,OAAO,GAAgB;YAC3B,MAAM,EAAE,yBAAyB;YACjC,GAAG,OAAO,CAAC,OAAO;SACnB,CAAC;QAEF,oCAAoC;QACpC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QACrD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,OAAO,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9E,CAAC;QAED,wCAAwC;QACxC,IAAI,OAAO,GAAG,GAAG,CAAC;QAClB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACnB,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;YACrC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;gBACtD,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YACpC,CAAC,CAAC,CAAC;YACH,OAAO,GAAG,GAAG,GAAG,IAAI,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC;QAC1C,CAAC;QAED,uBAAuB;QACvB,IAAI,IAAwB,CAAC;QAC7B,IAAI,OAAO,CAAC,IAAI,YAAY,eAAe,EAAE,CAAC;YAC5C,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACjC,CAAC;aAAM,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACxB,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACtC,CAAC;QAED,mBAAmB;QACnB,OAAO,MAAM,KAAK,CAAC,OAAO,EAAE;YAC1B,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,OAAO;YACP,IAAI;SACL,CAAC,CAAC;IACL,CAAC;IAED;;;;;;OAMG;IACK,KAAK,CAAC,cAAc,CAC1B,OAAmC;QAEnC,2CAA2C;QAC3C,MAAM,WAAW,GAAG,OAAO,OAAO,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAE7F,MAAM,WAAW,GAAG;YAClB,GAAG,OAAO;YACV,KAAK,EAAE,WAAW;SACnB,CAAC;QAEF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE;YAC9C,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;gBAClC,MAAM,EAAE,kBAAkB;gBAC1B,GAAG,CAAC,OAAO,CAAC,aAAa,IAAI,EAAE,sBAAsB,EAAE,OAAO,CAAC,aAAa,EAAE,CAAC;aAChF;YACD,IAAI,EAAE,WAAW;SAClB,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YAC3C,MAAM,IAAI,gBAAgB,CACxB,2BAA2B,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU,eAAe,YAAY,EAAE,CAC/F,CAAC;QACJ,CAAC;QAED,MAAM,MAAM,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAuB,CAAC;QAE7D,IAAI,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9C,MAAM,IAAI,gBAAgB,CAAC,mBAAmB,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAChG,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,OAAO;QACX,MAAM,OAAO,GAA0C;YACrD,aAAa,EAAE,SAAS;YACxB,SAAS,EAAE,EAAE;YACb,KAAK,EAAE,cAAc;SACtB,CAAC;QAEF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,cAAc,CAAyC,OAAO,CAAC,CAAC;QAE5F,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YACnB,MAAM,IAAI,gBAAgB,CAAC,uBAAuB,CAAC,CAAC;QACtD,CAAC;QAED,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC;QAEvC,4DAA4D;QAC5D,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC;QAC1C,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;QAEtC,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,aAAa,CAAC,GAAW,EAAE,QAAiB;QAChD,4DAA4D;QAC5D,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClC,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QACvB,CAAC;QAED,MAAM,YAAY,GAAG,QAAQ,IAAI,IAAI,CAAC,QAAQ,IAAI,KAAK,CAAC;QAExD,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,IAAI,gBAAgB,CACxB,6EAA6E,CAC9E,CAAC;QACJ,CAAC;QAED,MAAM,SAAS,GAAuB;YACpC,GAAG;YACH,QAAQ,EAAE,YAAY;YACtB,MAAM,EAAE,IAAI,CAAC,MAAO;YACpB,OAAO,EAAE,IAAI,CAAC,OAAO;SACtB,CAAC;QAEF,MAAM,OAAO,GAAkD;YAC7D,aAAa,EAAE,eAAe;YAC9B,SAAS,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE;YAC/B,KAAK,EAAE,sBAAsB;SAC9B,CAAC;QAEF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,cAAc,CAGxC,OAAO,CAAC,CAAC;QAEX,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YACnB,MAAM,IAAI,gBAAgB,CAAC,uBAAuB,CAAC,CAAC;QACtD,CAAC;QAED,OAAO,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC;IACpC,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,eAAe;QACnB,4DAA4D;QAC5D,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClC,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QACvB,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,IAAI,gBAAgB,CACxB,6EAA6E,CAC9E,CAAC;QACJ,CAAC;QAED,MAAM,SAAS,GAAyB;YACtC,MAAM,EAAE,IAAI,CAAC,MAAO;YACpB,OAAO,EAAE,IAAI,CAAC,OAAO;SACtB,CAAC;QAEF,MAAM,OAAO,GAAyC;YACpD,aAAa,EAAE,iBAAiB;YAChC,SAAS;YACT,KAAK,EAAE,uBAAuB;SAC/B,CAAC;QAEF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,cAAc,CACxC,OAAO,CACR,CAAC;QAEF,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YACnB,MAAM,IAAI,gBAAgB,CAAC,0BAA0B,CAAC,CAAC;QACzD,CAAC;QAED,OAAO,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC;IACpC,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,mBAAmB;QACvB,4DAA4D;QAC5D,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QACvB,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,IAAI,gBAAgB,CACxB,6EAA6E,CAC9E,CAAC;QACJ,CAAC;QAED,MAAM,OAAO,GAAwC;YACnD,aAAa,EAAE,qBAAqB;YACpC,SAAS,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;YACpC,KAAK,EAAE,6BAA6B;SACrC,CAAC;QAEF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,cAAc,CACxC,OAAO,CACR,CAAC;QAEF,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YACnB,MAAM,IAAI,gBAAgB,CAAC,yBAAyB,CAAC,CAAC;QACxD,CAAC;QAED,OAAO,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC;IACxC,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,eAAe;QACnB,8DAA8D;QAC9D,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QACvB,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,MAAM,IAAI,gBAAgB,CACxB,iFAAiF,CAClF,CAAC;QACJ,CAAC;QAED,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,KAAK,CAAC,kBAAkB,CACtB,MAAc,EACd,UAA0B,EAC1B,oBAAoB,GAAG,IAAI;QAE3B,uCAAuC;QACvC,IAAI,gBAAwB,CAAC;QAC7B,IAAI,UAAU,YAAY,IAAI,EAAE,CAAC;YAC/B,gBAAgB,GAAG,UAAU,CAAC,WAAW,EAAE,CAAC;QAC9C,CAAC;aAAM,IAAI,UAAU,EAAE,CAAC;YACtB,gBAAgB,GAAG,UAAU,CAAC;QAChC,CAAC;aAAM,CAAC;YACN,0BAA0B;YAC1B,gBAAgB,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAC9C,CAAC;QAED,MAAM,SAAS,GAA4B;YACzC,MAAM;YACN,UAAU,EAAE,gBAAgB;YAC5B,oBAAoB;SACrB,CAAC;QAEF,MAAM,OAAO,GAAuD;YAClE,aAAa,EAAE,oBAAoB;YACnC,SAAS,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE;YAC/B,KAAK,EAAE,6BAA6B;SACrC,CAAC;QAEF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,cAAc,CAGxC,OAAO,CAAC,CAAC;QAEX,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YACnB,MAAM,IAAI,gBAAgB,CAAC,2BAA2B,CAAC,CAAC;QAC1D,CAAC;QAED,OAAO,QAAQ,CAAC,IAAI,CAAC,kBAAkB,CAAC;IAC1C,CAAC;IAED;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,KAAK,CAAC,UAAU,CACd,MAAc,EACd,oBAAoB,GAAG,IAAI,EAC3B,aAAa,GAAG,KAAK;QAErB,MAAM,SAAS,GAA0B;YACvC,MAAM;YACN,oBAAoB;YACpB,aAAa;SACd,CAAC;QAEF,MAAM,OAAO,GAAqD;YAChE,aAAa,EAAE,kBAAkB;YACjC,SAAS,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE;YAC/B,KAAK,EAAE,2BAA2B;SACnC,CAAC;QAEF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,cAAc,CAGxC,OAAO,CAAC,CAAC;QAEX,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YACnB,MAAM,IAAI,gBAAgB,CAAC,2BAA2B,CAAC,CAAC;QAC1D,CAAC;QAED,OAAO,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC;IACxC,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACH,KAAK,CAAC,UAAU,CAAC,IAAY,EAAE,OAA2B;QACxD,8BAA8B;QAC9B,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClC,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QACvB,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClC,MAAM,IAAI,gBAAgB,CAAC,yCAAyC,CAAC,CAAC;QACxE,CAAC;QAED,6CAA6C;QAC7C,MAAM,MAAM,GAAG,OAAO,EAAE,MAAM,IAAI,aAAa,CAAC,cAAc,EAAE,CAAC;QAEjE,sBAAsB;QACtB,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAErC,iDAAiD;QACjD,MAAM,cAAc,GAAG,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;QAE/E,8BAA8B;QAC9B,IAAI,MAAM,GAAsB,IAAI,CAAC;QACrC,IAAI,OAAO,EAAE,WAAW,EAAE,CAAC;YACzB,MAAM,UAAU,GACd,OAAO,CAAC,WAAW,YAAY,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;YAE5F,MAAM,GAAG;gBACP,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,IAAI,EAAE,GAAG;gBACT,KAAK,EAAE,UAAU,CAAC,WAAW,EAAE;gBAC/B,UAAU,EAAE,YAAY;aACzB,CAAC;QACJ,CAAC;QAED,kBAAkB;QAClB,IAAI,OAAO,GAAkB,IAAI,CAAC;QAClC,IAAI,OAAO,EAAE,OAAO,EAAE,CAAC;YACrB,OAAO,GAAG,OAAO,CAAC,OAAO,YAAY,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;QAC9F,CAAC;QAED,gCAAgC;QAChC,MAAM,SAAS,GAAc;YAC3B,GAAG,EAAE,MAAM;YACX,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,QAAQ,EAAE,UAAU;YACpB,SAAS,EAAE,OAAO,EAAE,SAAS,IAAI,EAAE;YACnC,mBAAmB,EAAE,IAAI;YACzB,SAAS,EAAE,IAAI;YACf,cAAc,EAAE,IAAI;YACpB,OAAO,EAAE,OAAO,EAAE,OAAO,IAAI,KAAK;YAClC,UAAU,EAAE,IAAI,CAAC,MAAM;YACvB,SAAS,EAAE,IAAI,CAAC,MAAM;YACtB,WAAW,EAAE,IAAI;YACjB,OAAO,EAAE,KAAK;YACd,IAAI;YACJ,KAAK,EAAE,OAAO,EAAE,KAAK,IAAI,EAAE;YAC3B,aAAa,EAAE,IAAI;YACnB,aAAa,EAAE,IAAI;YACnB,aAAa,EAAE,CAAC;YAChB,cAAc;YACd,SAAS,EAAE,KAAK;YAChB,WAAW,EAAE,IAAI;YACjB,YAAY,EAAE,IAAI;YAClB,UAAU,EAAE,IAAI;YAChB,UAAU,EAAE,IAAI;YAChB,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE,IAAI;YACb,MAAM;YACN,WAAW,EAAE,IAAI;YACjB,OAAO;YACP,QAAQ,EAAE,EAAE;YACZ,SAAS,EAAE,EAAE;YACb,gBAAgB,EAAE,EAAE;YACpB,QAAQ,EAAE,EAAE;YACZ,iBAAiB,EAAE,IAAI;YACvB,QAAQ,EAAE,IAAI;YACd,SAAS,EAAE,EAAE;YACb,uBAAuB,EAAE,IAAI;YAC7B,YAAY,EAAE,OAAO,EAAE,YAAY,IAAI,IAAI;YAC3C,UAAU,EAAE,EAAE;YACd,aAAa,EAAE,EAAE;YACjB,SAAS,EAAE,GAAG;YACd,YAAY,EAAE,GAAG;YACjB,WAAW,EAAE,IAAI;YACjB,MAAM,EAAE,IAAI;SACb,CAAC;QAEF,MAAM,SAAS,GAAoB;YACjC,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,QAAQ,EAAE,SAAS;SACpB,CAAC;QAEF,MAAM,OAAO,GAAoC;YAC/C,aAAa,EAAE,YAAY;YAC3B,SAAS;YACT,KAAK,EAAE,oBAAoB;SAC5B,CAAC;QAEF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,cAAc,CAAsC,OAAO,CAAC,CAAC;QAEzF,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YACnB,MAAM,IAAI,gBAAgB,CAAC,2BAA2B,CAAC,CAAC;QAC1D,CAAC;QAED,OAAO,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC;IACpC,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACI,MAAM,CAAC,cAAc;QAC1B,gDAAgD;QAChD,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;QAChD,MAAM,YAAY,GAAG,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QAE7D,iDAAiD;QACjD,MAAM,WAAW,GAAG,aAAa,CAAC,cAAc,EAAE,CAAC;QAEnD,8EAA8E;QAC9E,MAAM,OAAO,GAAG,aAAa,CAAC,cAAc,EAAE,CAAC;QAC/C,MAAM,UAAU,GAAG,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QAEzD,OAAO,YAAY,GAAG,WAAW,GAAG,UAAU,CAAC;IACjD,CAAC;IAEO,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,QAAQ,CAAC,CAAC;IAE/D;;;OAGG;IACK,MAAM,CAAC,cAAc;QAC3B,iDAAiD;QACjD,MAAM,WAAW,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC;QACtC,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,MAAM,CAAC,eAAe,EAAE,CAAC;YAC5D,MAAM,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;QACtC,CAAC;aAAM,CAAC;YACN,oCAAoC;YACpC,8DAA8D;YAC9D,MAAM,YAAY,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;YACvC,MAAM,MAAM,GAAG,YAAY,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;YAC3C,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC;aAC3B,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;aACzC,IAAI,CAAC,EAAE,CAAC,CAAC;IACd,CAAC;IAED;;;OAGG;IACK,MAAM,CAAC,cAAc;QAC3B,aAAa,CAAC,QAAQ,GAAG,CAAC,aAAa,CAAC,QAAQ,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC;QACjE,OAAO,aAAa,CAAC,QAAQ,CAAC;IAChC,CAAC;IAED;;;;;;;OAOG;IACK,oBAAoB,CAAC,MAAc,EAAE,KAAa;QACxD,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,IAAI,CAAC;QACd,CAAC;QAED,2EAA2E;QAC3E,MAAM,OAAO,GAAG,eAAe,MAAM,EAAE,CAAC;QAExC,OAAO;YACL,KAAK,EAAE;gBACL,OAAO,EAAE,OAAO;gBAChB,OAAO;gBACP,KAAK,EAAE,CAAC;gBACR,KAAK,EAAE,cAAc,EAAE,6BAA6B;aACrD;YACD,OAAO,EAAE;gBACP;oBACE,OAAO,EAAE,IAAI;oBACb,MAAM,EAAE,QAAQ;oBAChB,OAAO;oBACP,KAAK,EAAE,CAAC;oBACR,KAAK,EAAE,0CAA0C,EAAE,qCAAqC;iBACzF;aACF;SACF,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACK,uBAAuB,CAAC,KAAa;QAC3C,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC;gBACxB,GAAG,EAAE,gBAAgB;gBACrB,KAAK,EAAE,KAAK;gBACZ,MAAM,EAAE,iBAAiB;gBACzB,IAAI,EAAE,GAAG;gBACT,QAAQ,EAAE,IAAI;gBACd,MAAM,EAAE,IAAI;aACb,CAAC,CAAC;YAEH,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,MAAM,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAC;QAC/D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,wCAAwC;YACxC,0EAA0E;QAC5E,CAAC;IACH,CAAC"}
@@ -5,4 +5,5 @@ export * from './user.js';
5
5
  export * from './tasks.js';
6
6
  export * from './streams.js';
7
7
  export * from './fragments/index.js';
8
+ export * from './mutations/index.js';
8
9
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/queries/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/queries/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * GraphQL mutation for creating a new task
3
+ */
4
+ import { gql } from 'graphql-tag';
5
+ /**
6
+ * Mutation for creating a new task
7
+ *
8
+ * Variables:
9
+ * - task: The complete task object to create
10
+ * - groupId: The group ID (duplicated from task for API requirements)
11
+ * - position: Optional position parameter
12
+ */
13
+ export const CREATE_TASK_MUTATION = gql `
14
+ mutation createTask($task: TaskInput!, $groupId: String!, $position: String) {
15
+ createTaskV2(task: $task, groupId: $groupId, position: $position) {
16
+ success
17
+ error
18
+ updatedFields {
19
+ recommendedStreamId
20
+ streamIds
21
+ recommendedTimeEstimate
22
+ timeEstimate
23
+ __typename
24
+ }
25
+ __typename
26
+ }
27
+ }
28
+ `;
29
+ //# sourceMappingURL=createTask.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createTask.js","sourceRoot":"","sources":["../../../../src/queries/mutations/createTask.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAElC;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;CAetC,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * GraphQL mutations exports
3
+ */
4
+ export * from './updateTaskComplete.js';
5
+ export * from './updateTaskDelete.js';
6
+ export * from './createTask.js';
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/queries/mutations/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC"}
@@ -0,0 +1,88 @@
1
+ /**
2
+ * GraphQL mutation for marking a task as complete
3
+ */
4
+ import { gql } from 'graphql-tag';
5
+ import { TASK_ACTUAL_TIME_FRAGMENT, TASK_FRAGMENT, TASK_INTEGRATION_FRAGMENT, TASK_SCHEDULED_TIME_FRAGMENT, } from '../fragments/task.js';
6
+ /**
7
+ * Fragment for PartialTask structure
8
+ * Used in update operations to return only modified fields
9
+ */
10
+ export const PARTIAL_TASK_FRAGMENT = gql `
11
+ fragment PartialTask on PartialTask {
12
+ _id
13
+ recommendedStreamId
14
+ streamIds
15
+ recommendedTimeEstimate
16
+ subtasks {
17
+ _id
18
+ title
19
+ completedDate
20
+ completedBy
21
+ timeEstimate
22
+ actualTime {
23
+ ...TaskActualTime
24
+ __typename
25
+ }
26
+ snooze {
27
+ userId
28
+ date
29
+ until
30
+ __typename
31
+ }
32
+ scheduledTime {
33
+ ...TaskScheduledTime
34
+ __typename
35
+ }
36
+ integration {
37
+ ...TaskIntegration
38
+ __typename
39
+ }
40
+ mergedTaskId
41
+ recommendedTimeEstimate
42
+ __typename
43
+ }
44
+ __typename
45
+ }
46
+ ${TASK_ACTUAL_TIME_FRAGMENT}
47
+ ${TASK_SCHEDULED_TIME_FRAGMENT}
48
+ ${TASK_INTEGRATION_FRAGMENT}
49
+ `;
50
+ /**
51
+ * Fragment for UpdateTaskPayload structure
52
+ * Defines the response structure for task update mutations
53
+ */
54
+ export const UPDATE_TASK_PAYLOAD_FRAGMENT = gql `
55
+ fragment UpdateTaskPayload on UpdateTaskPayload {
56
+ updatedTask {
57
+ ...Task
58
+ __typename
59
+ }
60
+ updatedFields {
61
+ ...PartialTask
62
+ __typename
63
+ }
64
+ success
65
+ skipped
66
+ __typename
67
+ }
68
+ ${TASK_FRAGMENT}
69
+ ${PARTIAL_TASK_FRAGMENT}
70
+ `;
71
+ /**
72
+ * Mutation for marking a task as complete
73
+ *
74
+ * Variables:
75
+ * - input.taskId: The ID of the task to mark complete
76
+ * - input.completeOn: ISO 8601 timestamp when the task was completed
77
+ * - input.limitResponsePayload: Flag to limit response size (optional)
78
+ */
79
+ export const UPDATE_TASK_COMPLETE_MUTATION = gql `
80
+ mutation updateTaskComplete($input: UpdateTaskCompleteInput!) {
81
+ updateTaskComplete(input: $input) {
82
+ ...UpdateTaskPayload
83
+ __typename
84
+ }
85
+ }
86
+ ${UPDATE_TASK_PAYLOAD_FRAGMENT}
87
+ `;
88
+ //# sourceMappingURL=updateTaskComplete.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"updateTaskComplete.js","sourceRoot":"","sources":["../../../../src/queries/mutations/updateTaskComplete.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAClC,OAAO,EACL,yBAAyB,EACzB,aAAa,EACb,yBAAyB,EACzB,4BAA4B,GAC7B,MAAM,sBAAsB,CAAC;AAE9B;;;GAGG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAoCpC,yBAAyB;IACzB,4BAA4B;IAC5B,yBAAyB;CAC5B,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,GAAG,CAAA;;;;;;;;;;;;;;IAc3C,aAAa;IACb,qBAAqB;CACxB,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAG,GAAG,CAAA;;;;;;;IAO5C,4BAA4B;CAC/B,CAAC"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * GraphQL mutation for deleting a task
3
+ */
4
+ import { gql } from 'graphql-tag';
5
+ import { UPDATE_TASK_PAYLOAD_FRAGMENT } from './updateTaskComplete.js';
6
+ /**
7
+ * Mutation for deleting a task
8
+ *
9
+ * Variables:
10
+ * - input.taskId: The ID of the task to delete
11
+ * - input.limitResponsePayload: Flag to limit response size (optional)
12
+ * - input.wasTaskMerged: Whether the task was merged before deletion (optional)
13
+ */
14
+ export const UPDATE_TASK_DELETE_MUTATION = gql `
15
+ mutation updateTaskDelete($input: UpdateTaskDeleteInput!) {
16
+ updateTaskDelete(input: $input) {
17
+ ...UpdateTaskPayload
18
+ __typename
19
+ }
20
+ }
21
+ ${UPDATE_TASK_PAYLOAD_FRAGMENT}
22
+ `;
23
+ //# sourceMappingURL=updateTaskDelete.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"updateTaskDelete.js","sourceRoot":"","sources":["../../../../src/queries/mutations/updateTaskDelete.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAClC,OAAO,EAAE,4BAA4B,EAAE,MAAM,yBAAyB,CAAC;AAEvE;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,GAAG,CAAA;;;;;;;IAO1C,4BAA4B;CAC/B,CAAC"}
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * Provides a type-safe interface to interact with all Sunsama API endpoints.
5
5
  */
6
- import type { Stream, SunsamaClientConfig, Task, User } from '../types';
6
+ import type { CreateTaskOptions, CreateTaskPayload, Stream, SunsamaClientConfig, Task, UpdateTaskPayload, User } from '../types';
7
7
  /**
8
8
  * Main Sunsama API client class
9
9
  *
@@ -98,6 +98,115 @@ export declare class SunsamaClient {
98
98
  * @throws SunsamaAuthError if not authenticated or request fails
99
99
  */
100
100
  getUserTimezone(): Promise<string>;
101
+ /**
102
+ * Marks a task as complete
103
+ *
104
+ * @param taskId - The ID of the task to mark as complete
105
+ * @param completeOn - The date/time when the task was completed (defaults to current time)
106
+ * @param limitResponsePayload - Whether to limit the response payload size (defaults to true)
107
+ * @returns The update result with success status and optionally the updated task
108
+ * @throws SunsamaAuthError if not authenticated or request fails
109
+ *
110
+ * @example
111
+ * ```typescript
112
+ * // Mark a task as complete with current timestamp
113
+ * const result = await client.updateTaskComplete('taskId');
114
+ *
115
+ * // Mark complete with specific timestamp
116
+ * const result = await client.updateTaskComplete('taskId', '2025-01-15T10:30:00Z');
117
+ *
118
+ * // Get full task details in response
119
+ * const result = await client.updateTaskComplete('taskId', new Date(), false);
120
+ * ```
121
+ */
122
+ updateTaskComplete(taskId: string, completeOn?: Date | string, limitResponsePayload?: boolean): Promise<UpdateTaskPayload>;
123
+ /**
124
+ * Deletes a task
125
+ *
126
+ * @param taskId - The ID of the task to delete
127
+ * @param limitResponsePayload - Whether to limit response size (defaults to true)
128
+ * @param wasTaskMerged - Whether the task was merged before deletion (defaults to false)
129
+ * @returns The update result with success status
130
+ * @throws SunsamaAuthError if not authenticated or request fails
131
+ *
132
+ * @example
133
+ * ```typescript
134
+ * // Delete a task
135
+ * const result = await client.deleteTask('taskId');
136
+ *
137
+ * // Delete with full response payload
138
+ * const result = await client.deleteTask('taskId', false);
139
+ *
140
+ * // Delete a merged task
141
+ * const result = await client.deleteTask('taskId', true, true);
142
+ * ```
143
+ */
144
+ deleteTask(taskId: string, limitResponsePayload?: boolean, wasTaskMerged?: boolean): Promise<UpdateTaskPayload>;
145
+ /**
146
+ * Creates a new task with flexible options
147
+ *
148
+ * @param text - The main text/title of the task
149
+ * @param options - Additional task properties (including optional custom taskId)
150
+ * @returns The created task result with success status
151
+ * @throws SunsamaAuthError if not authenticated or request fails
152
+ *
153
+ * @example
154
+ * ```typescript
155
+ * // Create a simple task (ID auto-generated)
156
+ * const result = await client.createTask('Complete project documentation');
157
+ *
158
+ * // Create a task with options
159
+ * const result = await client.createTask('Review pull requests', {
160
+ * notes: 'Check all open PRs in the main repository',
161
+ * timeEstimate: 30,
162
+ * streamIds: ['stream-id-1']
163
+ * });
164
+ *
165
+ * // Create a task with custom ID (useful for tracking/deletion)
166
+ * const customId = SunsamaClient.generateTaskId();
167
+ * const result = await client.createTask('Follow up with client', {
168
+ * taskId: customId,
169
+ * snoozeUntil: new Date('2025-01-15T09:00:00')
170
+ * });
171
+ * ```
172
+ */
173
+ createTask(text: string, options?: CreateTaskOptions): Promise<CreateTaskPayload>;
174
+ /**
175
+ * Generates a unique task ID in MongoDB ObjectId format
176
+ *
177
+ * This method creates a 24-character hexadecimal string following MongoDB ObjectId conventions:
178
+ * - First 8 chars: Unix timestamp (4 bytes)
179
+ * - Next 10 chars: Random value (5 bytes)
180
+ * - Last 6 chars: Incrementing counter (3 bytes)
181
+ *
182
+ * @returns A 24-character hexadecimal string compatible with Sunsama's task ID format
183
+ * @example
184
+ * ```typescript
185
+ * const taskId = SunsamaClient.generateTaskId();
186
+ * console.log(taskId); // "507f1f77bcf86cd799439011"
187
+ * ```
188
+ */
189
+ static generateTaskId(): string;
190
+ private static _counter;
191
+ /**
192
+ * Gets a random value for ObjectId generation (5 bytes = 10 hex chars)
193
+ * @internal
194
+ */
195
+ private static getRandomValue;
196
+ /**
197
+ * Gets the next counter value for ID generation (3 bytes = 6 hex chars)
198
+ * @internal
199
+ */
200
+ private static getNextCounter;
201
+ /**
202
+ * Creates a collaborative editing snapshot for task notes
203
+ *
204
+ * @param taskId - The task ID
205
+ * @param notes - The notes content
206
+ * @returns CollabSnapshot object
207
+ * @internal
208
+ */
209
+ private createCollabSnapshot;
101
210
  /**
102
211
  * Sets a session token as a cookie in the jar
103
212
  *