@tuturuuu/ai 0.0.10

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 (130) hide show
  1. package/README.md +76 -0
  2. package/package.json +106 -0
  3. package/src/api-key-hash.ts +28 -0
  4. package/src/calendar/events.ts +34 -0
  5. package/src/calendar/route.ts +114 -0
  6. package/src/chat/credit-source.ts +1 -0
  7. package/src/chat/google/chat-request-schema.ts +150 -0
  8. package/src/chat/google/default-system-instruction.ts +198 -0
  9. package/src/chat/google/message-file-processing.ts +212 -0
  10. package/src/chat/google/mira-step-preparation.ts +221 -0
  11. package/src/chat/google/new/route.ts +368 -0
  12. package/src/chat/google/route-auth.ts +81 -0
  13. package/src/chat/google/route-chat-resolution.ts +98 -0
  14. package/src/chat/google/route-credits.ts +61 -0
  15. package/src/chat/google/route-message-preparation.ts +331 -0
  16. package/src/chat/google/route-mira-runtime.ts +206 -0
  17. package/src/chat/google/route.ts +632 -0
  18. package/src/chat/google/stream-finish-persistence.ts +722 -0
  19. package/src/chat/google/summary/route.ts +153 -0
  20. package/src/chat/mira-render-ui-policy.ts +540 -0
  21. package/src/chat/mira-system-instruction.ts +484 -0
  22. package/src/chat-sdk/adapters.ts +389 -0
  23. package/src/chat-sdk/registry.ts +197 -0
  24. package/src/chat-sdk.ts +33 -0
  25. package/src/core.ts +3 -0
  26. package/src/credits/cap-output-tokens.ts +90 -0
  27. package/src/credits/check-credits.ts +232 -0
  28. package/src/credits/constants.ts +30 -0
  29. package/src/credits/index.ts +46 -0
  30. package/src/credits/model-mapping.ts +92 -0
  31. package/src/credits/reservations.ts +514 -0
  32. package/src/credits/resolve-plan-model.ts +219 -0
  33. package/src/credits/sync-gateway-models.ts +351 -0
  34. package/src/credits/types.ts +109 -0
  35. package/src/credits/use-ai-credits.ts +3 -0
  36. package/src/embeddings/metered.ts +283 -0
  37. package/src/executions/route.ts +137 -0
  38. package/src/generate/route.ts +411 -0
  39. package/src/hooks.ts +7 -0
  40. package/src/meetings/summary/route.ts +7 -0
  41. package/src/meetings/transcription/route.ts +134 -0
  42. package/src/memory/client.ts +158 -0
  43. package/src/memory/config.ts +38 -0
  44. package/src/memory/index.ts +32 -0
  45. package/src/memory/ingest.ts +51 -0
  46. package/src/memory/middleware.ts +35 -0
  47. package/src/memory/operations.ts +480 -0
  48. package/src/memory/scope.ts +102 -0
  49. package/src/memory/settings.ts +121 -0
  50. package/src/memory/types.ts +101 -0
  51. package/src/memory/workspace.ts +36 -0
  52. package/src/memory.ts +1 -0
  53. package/src/mind/patch.ts +146 -0
  54. package/src/mind/route.ts +687 -0
  55. package/src/mind/tools.ts +1500 -0
  56. package/src/mind/types.ts +20 -0
  57. package/src/object/core.ts +3 -0
  58. package/src/object/flashcards/route.ts +140 -0
  59. package/src/object/quizzes/explanation/route.ts +145 -0
  60. package/src/object/quizzes/route.ts +142 -0
  61. package/src/object/types.ts +187 -0
  62. package/src/object/year-plan/route.ts +196 -0
  63. package/src/react.ts +1 -0
  64. package/src/scheduling/algorithm.ts +791 -0
  65. package/src/scheduling/default.ts +36 -0
  66. package/src/scheduling/duration-optimizer.ts +689 -0
  67. package/src/scheduling/index.ts +79 -0
  68. package/src/scheduling/priority-calculator.ts +187 -0
  69. package/src/scheduling/recurrence-calculator.ts +621 -0
  70. package/src/scheduling/templates.ts +892 -0
  71. package/src/scheduling/types.ts +136 -0
  72. package/src/scheduling/web-adapter.ts +308 -0
  73. package/src/scheduling.ts +6 -0
  74. package/src/supported-actions.ts +1 -0
  75. package/src/supported-providers.ts +6 -0
  76. package/src/tools/context-builder.ts +372 -0
  77. package/src/tools/core.ts +1 -0
  78. package/src/tools/definitions/calendar.ts +106 -0
  79. package/src/tools/definitions/finance.ts +197 -0
  80. package/src/tools/definitions/image.ts +74 -0
  81. package/src/tools/definitions/memory.ts +83 -0
  82. package/src/tools/definitions/meta.ts +154 -0
  83. package/src/tools/definitions/render-ui.ts +81 -0
  84. package/src/tools/definitions/tasks.ts +343 -0
  85. package/src/tools/definitions/time-tracking.ts +381 -0
  86. package/src/tools/definitions/workspace-context.ts +45 -0
  87. package/src/tools/definitions/workspace-user-chat.ts +111 -0
  88. package/src/tools/executors/calendar.ts +371 -0
  89. package/src/tools/executors/chat.ts +15 -0
  90. package/src/tools/executors/finance.ts +638 -0
  91. package/src/tools/executors/helpers/encryption.ts +107 -0
  92. package/src/tools/executors/image.ts +247 -0
  93. package/src/tools/executors/markitdown.ts +684 -0
  94. package/src/tools/executors/memory.ts +277 -0
  95. package/src/tools/executors/parallel-checks.ts +176 -0
  96. package/src/tools/executors/qr.ts +170 -0
  97. package/src/tools/executors/scope-helpers.ts +192 -0
  98. package/src/tools/executors/search.ts +149 -0
  99. package/src/tools/executors/settings.ts +40 -0
  100. package/src/tools/executors/tasks.ts +1087 -0
  101. package/src/tools/executors/theme.ts +23 -0
  102. package/src/tools/executors/timer/timer-categories-executor.ts +110 -0
  103. package/src/tools/executors/timer/timer-category-mutations.ts +240 -0
  104. package/src/tools/executors/timer/timer-goal-mutations.ts +323 -0
  105. package/src/tools/executors/timer/timer-goals-executor.ts +272 -0
  106. package/src/tools/executors/timer/timer-helpers.ts +372 -0
  107. package/src/tools/executors/timer/timer-mutation-schemas.ts +160 -0
  108. package/src/tools/executors/timer/timer-mutation-types.ts +212 -0
  109. package/src/tools/executors/timer/timer-mutations.ts +19 -0
  110. package/src/tools/executors/timer/timer-queries.ts +18 -0
  111. package/src/tools/executors/timer/timer-session-lifecycle.ts +299 -0
  112. package/src/tools/executors/timer/timer-session-mutations.ts +10 -0
  113. package/src/tools/executors/timer/timer-session-queries.ts +153 -0
  114. package/src/tools/executors/timer/timer-session-updates.ts +200 -0
  115. package/src/tools/executors/timer/timer-sessions-executor.ts +91 -0
  116. package/src/tools/executors/timer/timer-stats-executor.ts +157 -0
  117. package/src/tools/executors/timer.ts +22 -0
  118. package/src/tools/executors/user.ts +60 -0
  119. package/src/tools/executors/workspace.ts +135 -0
  120. package/src/tools/json-render-catalog.ts +875 -0
  121. package/src/tools/mira-tool-definitions.ts +55 -0
  122. package/src/tools/mira-tool-dispatcher.ts +265 -0
  123. package/src/tools/mira-tool-metadata.ts +164 -0
  124. package/src/tools/mira-tool-names.ts +95 -0
  125. package/src/tools/mira-tool-render-ui.ts +54 -0
  126. package/src/tools/mira-tool-types.ts +17 -0
  127. package/src/tools/mira-tools.ts +167 -0
  128. package/src/tools/normalize-render-ui-input.ts +321 -0
  129. package/src/tools/workspace-context.ts +233 -0
  130. package/src/types.ts +38 -0
@@ -0,0 +1,892 @@
1
+ import dayjs from 'dayjs';
2
+ import type { TemplateScenario } from './types';
3
+
4
+ export const templateScenarios: TemplateScenario[] = [
5
+ {
6
+ name: 'Basic Work Day',
7
+ description: 'Simple tasks that fit within normal work hours',
8
+ tasks: [
9
+ {
10
+ id: 'basic-1',
11
+ name: 'Morning standup',
12
+ duration: 0.5,
13
+ minDuration: 0.5,
14
+ maxDuration: 1,
15
+ category: 'meeting',
16
+ priority: 'high',
17
+ allowSplit: false,
18
+ },
19
+ {
20
+ id: 'basic-2',
21
+ name: 'Code review',
22
+ duration: 2,
23
+ minDuration: 1,
24
+ maxDuration: 3,
25
+ category: 'work',
26
+ priority: 'normal',
27
+ allowSplit: false,
28
+ },
29
+ {
30
+ id: 'basic-3',
31
+ name: 'Documentation',
32
+ duration: 1.5,
33
+ minDuration: 0.5,
34
+ maxDuration: 2,
35
+ category: 'work',
36
+ priority: 'low',
37
+ allowSplit: false,
38
+ },
39
+ ],
40
+ },
41
+ {
42
+ name: 'Task Splitting Challenge',
43
+ description: 'Large tasks that need to be split due to time constraints',
44
+ tasks: [
45
+ {
46
+ id: 'split-1',
47
+ name: 'Deep Work Session',
48
+ duration: 6,
49
+ minDuration: 1,
50
+ maxDuration: 2,
51
+ category: 'work',
52
+ priority: 'high',
53
+ allowSplit: true,
54
+ },
55
+ {
56
+ id: 'split-2',
57
+ name: 'Personal Learning',
58
+ duration: 4,
59
+ minDuration: 0.5,
60
+ maxDuration: 1.5,
61
+ category: 'personal',
62
+ priority: 'normal',
63
+ allowSplit: true,
64
+ },
65
+ {
66
+ id: 'split-3',
67
+ name: 'Project Planning',
68
+ duration: 3,
69
+ minDuration: 1,
70
+ maxDuration: 1,
71
+ category: 'work',
72
+ priority: 'high',
73
+ allowSplit: true,
74
+ },
75
+ ],
76
+ },
77
+ {
78
+ name: 'Mixed Categories',
79
+ description: 'Tasks across work, personal, and meeting categories',
80
+ tasks: [
81
+ {
82
+ id: 'mixed-1',
83
+ name: 'Team Meeting',
84
+ duration: 1,
85
+ minDuration: 1,
86
+ maxDuration: 1.5,
87
+ category: 'meeting',
88
+ priority: 'high',
89
+ },
90
+ {
91
+ id: 'mixed-2',
92
+ name: 'Gym Workout',
93
+ duration: 1.5,
94
+ minDuration: 1,
95
+ maxDuration: 2,
96
+ category: 'personal',
97
+ priority: 'normal',
98
+ },
99
+ {
100
+ id: 'mixed-3',
101
+ name: 'Feature Development',
102
+ duration: 4,
103
+ minDuration: 1,
104
+ maxDuration: 2,
105
+ category: 'work',
106
+ priority: 'high',
107
+ },
108
+ {
109
+ id: 'mixed-4',
110
+ name: 'Client Call',
111
+ duration: 0.5,
112
+ minDuration: 0.5,
113
+ maxDuration: 1,
114
+ category: 'meeting',
115
+ priority: 'critical',
116
+ },
117
+ {
118
+ id: 'mixed-5',
119
+ name: 'Meal Prep',
120
+ duration: 2,
121
+ minDuration: 1,
122
+ maxDuration: 2,
123
+ category: 'personal',
124
+ priority: 'low',
125
+ },
126
+ ],
127
+ },
128
+ {
129
+ name: 'Deadline Pressure',
130
+ description: 'Tasks with tight deadlines to test prioritization',
131
+ tasks: [
132
+ {
133
+ id: 'deadline-1',
134
+ name: 'Urgent Bug Fix',
135
+ duration: 2,
136
+ minDuration: 1,
137
+ maxDuration: 3,
138
+ category: 'work',
139
+ priority: 'critical',
140
+ deadline: dayjs().add(4, 'hour'),
141
+ },
142
+ {
143
+ id: 'deadline-2',
144
+ name: 'Presentation Prep',
145
+ duration: 3,
146
+ minDuration: 1,
147
+ maxDuration: 2,
148
+ category: 'work',
149
+ priority: 'high',
150
+ deadline: dayjs().add(1, 'day'),
151
+ },
152
+ {
153
+ id: 'deadline-3',
154
+ name: 'Weekly Report',
155
+ duration: 1,
156
+ minDuration: 0.5,
157
+ maxDuration: 1.5,
158
+ category: 'work',
159
+ priority: 'normal',
160
+ deadline: dayjs().add(2, 'day'),
161
+ },
162
+ {
163
+ id: 'deadline-4',
164
+ name: 'Exercise',
165
+ duration: 1,
166
+ minDuration: 0.5,
167
+ maxDuration: 1.5,
168
+ category: 'personal',
169
+ priority: 'low',
170
+ },
171
+ ],
172
+ },
173
+ {
174
+ name: 'Overloaded Schedule',
175
+ description: 'More tasks than available time to test conflict resolution',
176
+ tasks: [
177
+ {
178
+ id: 'over-1',
179
+ name: 'Major Feature A',
180
+ duration: 8,
181
+ minDuration: 2,
182
+ maxDuration: 3,
183
+ category: 'work',
184
+ priority: 'critical',
185
+ },
186
+ {
187
+ id: 'over-2',
188
+ name: 'Major Feature B',
189
+ duration: 6,
190
+ minDuration: 1.5,
191
+ maxDuration: 2.5,
192
+ category: 'work',
193
+ priority: 'high',
194
+ },
195
+ {
196
+ id: 'over-3',
197
+ name: 'All-day Workshop',
198
+ duration: 6,
199
+ minDuration: 2,
200
+ maxDuration: 3,
201
+ category: 'meeting',
202
+ priority: 'normal',
203
+ },
204
+ {
205
+ id: 'over-4',
206
+ name: 'Personal Project',
207
+ duration: 4,
208
+ minDuration: 1,
209
+ maxDuration: 2,
210
+ category: 'personal',
211
+ priority: 'low',
212
+ },
213
+ {
214
+ id: 'over-5',
215
+ name: 'Code Review',
216
+ duration: 3,
217
+ minDuration: 1,
218
+ maxDuration: 2,
219
+ category: 'work',
220
+ priority: 'high',
221
+ },
222
+ ],
223
+ },
224
+ {
225
+ name: 'Priority Management',
226
+ description:
227
+ 'Tasks with different priority levels to test intelligent scheduling',
228
+ tasks: [
229
+ {
230
+ id: 'priority-1',
231
+ name: 'Critical System Fix',
232
+ duration: 3,
233
+ minDuration: 1,
234
+ maxDuration: 2,
235
+ category: 'work',
236
+ priority: 'critical',
237
+ deadline: dayjs().add(6, 'hour'),
238
+ },
239
+ {
240
+ id: 'priority-2',
241
+ name: 'High Priority Feature',
242
+ duration: 4,
243
+ minDuration: 1,
244
+ maxDuration: 2,
245
+ category: 'work',
246
+ priority: 'high',
247
+ deadline: dayjs().add(1, 'day'),
248
+ },
249
+ {
250
+ id: 'priority-3',
251
+ name: 'Regular Development',
252
+ duration: 5,
253
+ minDuration: 1,
254
+ maxDuration: 2,
255
+ category: 'work',
256
+ priority: 'normal',
257
+ },
258
+ {
259
+ id: 'priority-4',
260
+ name: 'Code Cleanup',
261
+ duration: 2,
262
+ minDuration: 0.5,
263
+ maxDuration: 1,
264
+ category: 'work',
265
+ priority: 'low',
266
+ },
267
+ {
268
+ id: 'priority-5',
269
+ name: 'Team Retrospective',
270
+ duration: 1.5,
271
+ minDuration: 1,
272
+ maxDuration: 1.5,
273
+ category: 'meeting',
274
+ priority: 'high',
275
+ },
276
+ ],
277
+ },
278
+ {
279
+ name: 'Emergency Response',
280
+ description: 'Critical tasks that need immediate attention',
281
+ tasks: [
282
+ {
283
+ id: 'emergency-1',
284
+ name: 'Production Bug Fix',
285
+ duration: 2,
286
+ minDuration: 1,
287
+ maxDuration: 2,
288
+ category: 'work',
289
+ priority: 'critical',
290
+ deadline: dayjs().add(2, 'hour'),
291
+ },
292
+ {
293
+ id: 'emergency-2',
294
+ name: 'Security Incident Response',
295
+ duration: 4,
296
+ minDuration: 1,
297
+ maxDuration: 2,
298
+ category: 'work',
299
+ priority: 'critical',
300
+ deadline: dayjs().add(4, 'hour'),
301
+ },
302
+ {
303
+ id: 'emergency-3',
304
+ name: 'Client Emergency Call',
305
+ duration: 1,
306
+ minDuration: 0.5,
307
+ maxDuration: 1,
308
+ category: 'meeting',
309
+ priority: 'critical',
310
+ deadline: dayjs().add(1, 'hour'),
311
+ },
312
+ {
313
+ id: 'emergency-4',
314
+ name: 'Regular Tasks',
315
+ duration: 3,
316
+ minDuration: 1,
317
+ maxDuration: 1.5,
318
+ category: 'work',
319
+ priority: 'normal',
320
+ },
321
+ ],
322
+ },
323
+ {
324
+ name: 'Balanced Lifestyle',
325
+ description: 'Mix of work and personal tasks with different priorities',
326
+ tasks: [
327
+ {
328
+ id: 'lifestyle-1',
329
+ name: 'Important Work Meeting',
330
+ duration: 1,
331
+ minDuration: 1,
332
+ maxDuration: 1,
333
+ category: 'meeting',
334
+ priority: 'high',
335
+ },
336
+ {
337
+ id: 'lifestyle-2',
338
+ name: 'Exercise Routine',
339
+ duration: 1.5,
340
+ minDuration: 1,
341
+ maxDuration: 1.5,
342
+ category: 'personal',
343
+ priority: 'normal',
344
+ },
345
+ {
346
+ id: 'lifestyle-3',
347
+ name: 'Project Development',
348
+ duration: 4,
349
+ minDuration: 1,
350
+ maxDuration: 2,
351
+ category: 'work',
352
+ priority: 'high',
353
+ },
354
+ {
355
+ id: 'lifestyle-4',
356
+ name: 'Reading Time',
357
+ duration: 1,
358
+ minDuration: 0.5,
359
+ maxDuration: 1,
360
+ category: 'personal',
361
+ priority: 'low',
362
+ },
363
+ {
364
+ id: 'lifestyle-5',
365
+ name: 'Team Sync',
366
+ duration: 0.5,
367
+ minDuration: 0.5,
368
+ maxDuration: 0.5,
369
+ category: 'meeting',
370
+ priority: 'normal',
371
+ },
372
+ ],
373
+ },
374
+ {
375
+ name: 'Flexible Tasks',
376
+ description: 'Tasks with very flexible duration constraints',
377
+ tasks: [
378
+ {
379
+ id: 'flex-1',
380
+ name: 'Research & Learning',
381
+ duration: 5,
382
+ minDuration: 0.5,
383
+ maxDuration: 3,
384
+ category: 'work',
385
+ priority: 'normal',
386
+ },
387
+ {
388
+ id: 'flex-2',
389
+ name: 'Creative Writing',
390
+ duration: 3,
391
+ minDuration: 0.5,
392
+ maxDuration: 2,
393
+ category: 'personal',
394
+ priority: 'low',
395
+ },
396
+ {
397
+ id: 'flex-3',
398
+ name: 'Code Refactoring',
399
+ duration: 4,
400
+ minDuration: 1,
401
+ maxDuration: 4,
402
+ category: 'work',
403
+ priority: 'normal',
404
+ },
405
+ ],
406
+ },
407
+ {
408
+ name: 'Student Study Schedule',
409
+ description: 'Academic tasks with study sessions and exam preparation',
410
+ tasks: [
411
+ {
412
+ id: 'study-1',
413
+ name: 'Math Homework',
414
+ duration: 2,
415
+ minDuration: 0.5,
416
+ maxDuration: 1.5,
417
+ category: 'work',
418
+ priority: 'high',
419
+ deadline: dayjs().add(1, 'day'),
420
+ },
421
+ {
422
+ id: 'study-2',
423
+ name: 'History Research Paper',
424
+ duration: 6,
425
+ minDuration: 1,
426
+ maxDuration: 2,
427
+ category: 'work',
428
+ priority: 'high',
429
+ deadline: dayjs().add(3, 'day'),
430
+ },
431
+ {
432
+ id: 'study-3',
433
+ name: 'Study Group Session',
434
+ duration: 2,
435
+ minDuration: 2,
436
+ maxDuration: 2,
437
+ category: 'meeting',
438
+ priority: 'normal',
439
+ deadline: dayjs().add(2, 'day'),
440
+ },
441
+ {
442
+ id: 'study-4',
443
+ name: 'Exam Preparation',
444
+ duration: 4,
445
+ minDuration: 1,
446
+ maxDuration: 2,
447
+ category: 'work',
448
+ priority: 'critical',
449
+ deadline: dayjs().add(4, 'day'),
450
+ },
451
+ {
452
+ id: 'study-5',
453
+ name: 'Break & Recreation',
454
+ duration: 1.5,
455
+ minDuration: 0.5,
456
+ maxDuration: 1.5,
457
+ category: 'personal',
458
+ priority: 'low',
459
+ },
460
+ ],
461
+ },
462
+ {
463
+ name: 'Freelancer Portfolio',
464
+ description:
465
+ 'Multiple client projects with varying priorities and deadlines',
466
+ tasks: [
467
+ {
468
+ id: 'freelance-1',
469
+ name: 'Client A - Logo Design',
470
+ duration: 4,
471
+ minDuration: 1,
472
+ maxDuration: 2,
473
+ category: 'work',
474
+ priority: 'high',
475
+ deadline: dayjs().add(2, 'day'),
476
+ },
477
+ {
478
+ id: 'freelance-2',
479
+ name: 'Client B - Website Mockup',
480
+ duration: 6,
481
+ minDuration: 1.5,
482
+ maxDuration: 3,
483
+ category: 'work',
484
+ priority: 'normal',
485
+ deadline: dayjs().add(5, 'day'),
486
+ },
487
+ {
488
+ id: 'freelance-3',
489
+ name: 'Client C - Urgent Fix',
490
+ duration: 1,
491
+ minDuration: 1,
492
+ maxDuration: 1,
493
+ category: 'work',
494
+ priority: 'critical',
495
+ deadline: dayjs().add(6, 'hour'),
496
+ },
497
+ {
498
+ id: 'freelance-4',
499
+ name: 'Portfolio Update',
500
+ duration: 3,
501
+ minDuration: 0.5,
502
+ maxDuration: 1.5,
503
+ category: 'work',
504
+ priority: 'low',
505
+ },
506
+ {
507
+ id: 'freelance-5',
508
+ name: 'Client Meetings',
509
+ duration: 2,
510
+ minDuration: 0.5,
511
+ maxDuration: 1,
512
+ category: 'meeting',
513
+ priority: 'high',
514
+ },
515
+ ],
516
+ },
517
+ {
518
+ name: 'Health & Fitness Focus',
519
+ description: 'Wellness-focused schedule with exercise and self-care',
520
+ tasks: [
521
+ {
522
+ id: 'health-1',
523
+ name: 'Morning Workout',
524
+ duration: 1.5,
525
+ minDuration: 1,
526
+ maxDuration: 2,
527
+ category: 'personal',
528
+ priority: 'normal',
529
+ },
530
+ {
531
+ id: 'health-2',
532
+ name: 'Meal Preparation',
533
+ duration: 2,
534
+ minDuration: 1,
535
+ maxDuration: 2,
536
+ category: 'personal',
537
+ priority: 'normal',
538
+ },
539
+ {
540
+ id: 'health-3',
541
+ name: 'Meditation & Mindfulness',
542
+ duration: 1,
543
+ minDuration: 0.5,
544
+ maxDuration: 1,
545
+ category: 'personal',
546
+ priority: 'low',
547
+ },
548
+ {
549
+ id: 'health-4',
550
+ name: 'Work Tasks',
551
+ duration: 6,
552
+ minDuration: 1,
553
+ maxDuration: 2,
554
+ category: 'work',
555
+ priority: 'high',
556
+ },
557
+ {
558
+ id: 'health-5',
559
+ name: 'Doctor Appointment',
560
+ duration: 1,
561
+ minDuration: 1,
562
+ maxDuration: 1,
563
+ category: 'personal',
564
+ priority: 'high',
565
+ deadline: dayjs().add(1, 'day').hour(14),
566
+ },
567
+ ],
568
+ },
569
+ {
570
+ name: 'Meeting-Heavy Day',
571
+ description: 'Schedule dominated by meetings and collaborative work',
572
+ tasks: [
573
+ {
574
+ id: 'meeting-1',
575
+ name: 'Stand-up Meeting',
576
+ duration: 0.5,
577
+ minDuration: 0.5,
578
+ maxDuration: 0.5,
579
+ category: 'meeting',
580
+ priority: 'high',
581
+ },
582
+ {
583
+ id: 'meeting-2',
584
+ name: 'Project Review',
585
+ duration: 2,
586
+ minDuration: 1.5,
587
+ maxDuration: 2.5,
588
+ category: 'meeting',
589
+ priority: 'high',
590
+ },
591
+ {
592
+ id: 'meeting-3',
593
+ name: 'Client Presentation',
594
+ duration: 1.5,
595
+ minDuration: 1.5,
596
+ maxDuration: 2,
597
+ category: 'meeting',
598
+ priority: 'critical',
599
+ deadline: dayjs().add(1, 'day').hour(15),
600
+ },
601
+ {
602
+ id: 'meeting-4',
603
+ name: 'Team Brainstorm',
604
+ duration: 1,
605
+ minDuration: 1,
606
+ maxDuration: 1.5,
607
+ category: 'meeting',
608
+ priority: 'normal',
609
+ },
610
+ {
611
+ id: 'meeting-5',
612
+ name: 'One-on-One Reviews',
613
+ duration: 2,
614
+ minDuration: 0.5,
615
+ maxDuration: 1,
616
+ category: 'meeting',
617
+ priority: 'normal',
618
+ },
619
+ {
620
+ id: 'meeting-6',
621
+ name: 'Focus Work Time',
622
+ duration: 3,
623
+ minDuration: 1,
624
+ maxDuration: 2,
625
+ category: 'work',
626
+ priority: 'high',
627
+ },
628
+ ],
629
+ },
630
+ {
631
+ name: 'Creative Sprint',
632
+ description: 'Creative work requiring deep focus and inspiration',
633
+ tasks: [
634
+ {
635
+ id: 'creative-1',
636
+ name: 'Concept Development',
637
+ duration: 4,
638
+ minDuration: 1,
639
+ maxDuration: 2,
640
+ category: 'work',
641
+ priority: 'high',
642
+ },
643
+ {
644
+ id: 'creative-2',
645
+ name: 'Design Iterations',
646
+ duration: 6,
647
+ minDuration: 1.5,
648
+ maxDuration: 3,
649
+ category: 'work',
650
+ priority: 'high',
651
+ },
652
+ {
653
+ id: 'creative-3',
654
+ name: 'Inspiration Research',
655
+ duration: 2,
656
+ minDuration: 0.5,
657
+ maxDuration: 1,
658
+ category: 'personal',
659
+ priority: 'low',
660
+ },
661
+ {
662
+ id: 'creative-4',
663
+ name: 'Feedback Session',
664
+ duration: 1,
665
+ minDuration: 1,
666
+ maxDuration: 1,
667
+ category: 'meeting',
668
+ priority: 'normal',
669
+ },
670
+ {
671
+ id: 'creative-5',
672
+ name: 'Final Refinements',
673
+ duration: 3,
674
+ minDuration: 1,
675
+ maxDuration: 2,
676
+ category: 'work',
677
+ priority: 'critical',
678
+ deadline: dayjs().add(2, 'day'),
679
+ },
680
+ ],
681
+ },
682
+ {
683
+ name: 'Remote Work Balance',
684
+ description: 'Balancing remote work with home responsibilities',
685
+ tasks: [
686
+ {
687
+ id: 'remote-1',
688
+ name: 'Core Development Work',
689
+ duration: 5,
690
+ minDuration: 1,
691
+ maxDuration: 2.5,
692
+ category: 'work',
693
+ priority: 'high',
694
+ },
695
+ {
696
+ id: 'remote-2',
697
+ name: 'Household Chores',
698
+ duration: 2,
699
+ minDuration: 0.5,
700
+ maxDuration: 1,
701
+ category: 'personal',
702
+ priority: 'low',
703
+ },
704
+ {
705
+ id: 'remote-3',
706
+ name: 'Video Conference',
707
+ duration: 1.5,
708
+ minDuration: 1.5,
709
+ maxDuration: 1.5,
710
+ category: 'meeting',
711
+ priority: 'high',
712
+ deadline: dayjs().add(1, 'day').hour(10),
713
+ },
714
+ {
715
+ id: 'remote-4',
716
+ name: 'Lunch Break & Walk',
717
+ duration: 1,
718
+ minDuration: 0.5,
719
+ maxDuration: 1.5,
720
+ category: 'personal',
721
+ priority: 'normal',
722
+ },
723
+ {
724
+ id: 'remote-5',
725
+ name: 'Email & Admin',
726
+ duration: 1.5,
727
+ minDuration: 0.5,
728
+ maxDuration: 1,
729
+ category: 'work',
730
+ priority: 'normal',
731
+ },
732
+ ],
733
+ },
734
+ {
735
+ name: 'Startup Hustle',
736
+ description: 'High-intensity startup environment with urgent priorities',
737
+ tasks: [
738
+ {
739
+ id: 'startup-1',
740
+ name: 'Product Development',
741
+ duration: 8,
742
+ minDuration: 2,
743
+ maxDuration: 4,
744
+ category: 'work',
745
+ priority: 'critical',
746
+ },
747
+ {
748
+ id: 'startup-2',
749
+ name: 'Investor Pitch Prep',
750
+ duration: 3,
751
+ minDuration: 1,
752
+ maxDuration: 2,
753
+ category: 'work',
754
+ priority: 'critical',
755
+ deadline: dayjs().add(1, 'day'),
756
+ },
757
+ {
758
+ id: 'startup-3',
759
+ name: 'Team Check-ins',
760
+ duration: 2,
761
+ minDuration: 0.5,
762
+ maxDuration: 1,
763
+ category: 'meeting',
764
+ priority: 'high',
765
+ },
766
+ {
767
+ id: 'startup-4',
768
+ name: 'Market Research',
769
+ duration: 4,
770
+ minDuration: 1,
771
+ maxDuration: 2,
772
+ category: 'work',
773
+ priority: 'normal',
774
+ },
775
+ {
776
+ id: 'startup-5',
777
+ name: 'Networking Event',
778
+ duration: 3,
779
+ minDuration: 3,
780
+ maxDuration: 3,
781
+ category: 'meeting',
782
+ priority: 'high',
783
+ deadline: dayjs().add(2, 'day').hour(18),
784
+ },
785
+ ],
786
+ },
787
+ {
788
+ name: 'Learning & Development',
789
+ description: 'Professional development and skill building focus',
790
+ tasks: [
791
+ {
792
+ id: 'learning-1',
793
+ name: 'Online Course Progress',
794
+ duration: 3,
795
+ minDuration: 0.5,
796
+ maxDuration: 1.5,
797
+ category: 'personal',
798
+ priority: 'normal',
799
+ },
800
+ {
801
+ id: 'learning-2',
802
+ name: 'Practice Projects',
803
+ duration: 4,
804
+ minDuration: 1,
805
+ maxDuration: 2,
806
+ category: 'personal',
807
+ priority: 'normal',
808
+ },
809
+ {
810
+ id: 'learning-3',
811
+ name: 'Technical Reading',
812
+ duration: 2,
813
+ minDuration: 0.5,
814
+ maxDuration: 1,
815
+ category: 'personal',
816
+ priority: 'low',
817
+ },
818
+ {
819
+ id: 'learning-4',
820
+ name: 'Regular Work Tasks',
821
+ duration: 6,
822
+ minDuration: 1,
823
+ maxDuration: 2,
824
+ category: 'work',
825
+ priority: 'high',
826
+ },
827
+ {
828
+ id: 'learning-5',
829
+ name: 'Mentorship Session',
830
+ duration: 1,
831
+ minDuration: 1,
832
+ maxDuration: 1,
833
+ category: 'meeting',
834
+ priority: 'high',
835
+ deadline: dayjs().add(3, 'day').hour(16),
836
+ },
837
+ ],
838
+ },
839
+ {
840
+ name: 'Parenting Professional',
841
+ description: 'Balancing professional work with parenting responsibilities',
842
+ tasks: [
843
+ {
844
+ id: 'parent-1',
845
+ name: 'Morning Work Block',
846
+ duration: 3,
847
+ minDuration: 1,
848
+ maxDuration: 2,
849
+ category: 'work',
850
+ priority: 'high',
851
+ },
852
+ {
853
+ id: 'parent-2',
854
+ name: 'School Pick-up',
855
+ duration: 0.5,
856
+ minDuration: 0.5,
857
+ maxDuration: 0.5,
858
+ category: 'personal',
859
+ priority: 'critical',
860
+ deadline: dayjs().add(1, 'day').hour(15).minute(30),
861
+ },
862
+ {
863
+ id: 'parent-3',
864
+ name: 'Evening Work Session',
865
+ duration: 2,
866
+ minDuration: 0.5,
867
+ maxDuration: 1.5,
868
+ category: 'work',
869
+ priority: 'normal',
870
+ },
871
+ {
872
+ id: 'parent-4',
873
+ name: 'Family Activities',
874
+ duration: 2,
875
+ minDuration: 1,
876
+ maxDuration: 2,
877
+ category: 'personal',
878
+ priority: 'normal',
879
+ },
880
+ {
881
+ id: 'parent-5',
882
+ name: 'Client Call',
883
+ duration: 1,
884
+ minDuration: 1,
885
+ maxDuration: 1,
886
+ category: 'meeting',
887
+ priority: 'high',
888
+ deadline: dayjs().add(1, 'day').hour(11),
889
+ },
890
+ ],
891
+ },
892
+ ];