@task-mcp/shared 1.0.28 → 1.0.30

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 (94) hide show
  1. package/dist/algorithms/index.d.ts +1 -1
  2. package/dist/algorithms/index.d.ts.map +1 -1
  3. package/dist/algorithms/index.js +1 -1
  4. package/dist/algorithms/index.js.map +1 -1
  5. package/dist/algorithms/topological-sort.d.ts +21 -1
  6. package/dist/algorithms/topological-sort.d.ts.map +1 -1
  7. package/dist/algorithms/topological-sort.js +12 -1
  8. package/dist/algorithms/topological-sort.js.map +1 -1
  9. package/dist/schemas/inbox.d.ts +2 -2
  10. package/dist/schemas/index.d.ts +1 -0
  11. package/dist/schemas/index.d.ts.map +1 -1
  12. package/dist/schemas/index.js +2 -0
  13. package/dist/schemas/index.js.map +1 -1
  14. package/dist/schemas/response-format.d.ts +11 -0
  15. package/dist/schemas/response-format.d.ts.map +1 -1
  16. package/dist/schemas/response-format.js.map +1 -1
  17. package/dist/schemas/session.d.ts +521 -0
  18. package/dist/schemas/session.d.ts.map +1 -0
  19. package/dist/schemas/session.js +79 -0
  20. package/dist/schemas/session.js.map +1 -0
  21. package/dist/schemas/state.d.ts +2 -2
  22. package/dist/schemas/task.d.ts +9 -0
  23. package/dist/schemas/task.d.ts.map +1 -1
  24. package/dist/schemas/task.js +23 -6
  25. package/dist/schemas/task.js.map +1 -1
  26. package/dist/schemas/view.d.ts +18 -18
  27. package/dist/utils/clustering.d.ts +60 -0
  28. package/dist/utils/clustering.d.ts.map +1 -0
  29. package/dist/utils/clustering.js +283 -0
  30. package/dist/utils/clustering.js.map +1 -0
  31. package/dist/utils/clustering.test.d.ts +2 -0
  32. package/dist/utils/clustering.test.d.ts.map +1 -0
  33. package/dist/utils/clustering.test.js +237 -0
  34. package/dist/utils/clustering.test.js.map +1 -0
  35. package/dist/utils/env.d.ts +24 -0
  36. package/dist/utils/env.d.ts.map +1 -0
  37. package/dist/utils/env.js +40 -0
  38. package/dist/utils/env.js.map +1 -0
  39. package/dist/utils/hierarchy.d.ts.map +1 -1
  40. package/dist/utils/hierarchy.js +13 -6
  41. package/dist/utils/hierarchy.js.map +1 -1
  42. package/dist/utils/index.d.ts +6 -2
  43. package/dist/utils/index.d.ts.map +1 -1
  44. package/dist/utils/index.js +24 -2
  45. package/dist/utils/index.js.map +1 -1
  46. package/dist/utils/intent-extractor.d.ts +30 -0
  47. package/dist/utils/intent-extractor.d.ts.map +1 -0
  48. package/dist/utils/intent-extractor.js +135 -0
  49. package/dist/utils/intent-extractor.js.map +1 -0
  50. package/dist/utils/intent-extractor.test.d.ts +2 -0
  51. package/dist/utils/intent-extractor.test.d.ts.map +1 -0
  52. package/dist/utils/intent-extractor.test.js +69 -0
  53. package/dist/utils/intent-extractor.test.js.map +1 -0
  54. package/dist/utils/natural-language.d.ts.map +1 -1
  55. package/dist/utils/natural-language.js +9 -8
  56. package/dist/utils/natural-language.js.map +1 -1
  57. package/dist/utils/natural-language.test.js +22 -0
  58. package/dist/utils/natural-language.test.js.map +1 -1
  59. package/dist/utils/plan-parser.d.ts +57 -0
  60. package/dist/utils/plan-parser.d.ts.map +1 -0
  61. package/dist/utils/plan-parser.js +371 -0
  62. package/dist/utils/plan-parser.js.map +1 -0
  63. package/dist/utils/projection.d.ts.map +1 -1
  64. package/dist/utils/projection.js +43 -1
  65. package/dist/utils/projection.js.map +1 -1
  66. package/dist/utils/projection.test.js +57 -7
  67. package/dist/utils/projection.test.js.map +1 -1
  68. package/dist/utils/terminal-ui.d.ts +129 -0
  69. package/dist/utils/terminal-ui.d.ts.map +1 -1
  70. package/dist/utils/terminal-ui.js +191 -0
  71. package/dist/utils/terminal-ui.js.map +1 -1
  72. package/dist/utils/terminal-ui.test.js +227 -0
  73. package/dist/utils/terminal-ui.test.js.map +1 -1
  74. package/package.json +2 -2
  75. package/src/algorithms/index.ts +3 -0
  76. package/src/algorithms/topological-sort.ts +31 -1
  77. package/src/schemas/index.ts +11 -0
  78. package/src/schemas/response-format.ts +15 -2
  79. package/src/schemas/session.ts +100 -0
  80. package/src/schemas/task.ts +33 -16
  81. package/src/utils/clustering.test.ts +285 -0
  82. package/src/utils/clustering.ts +336 -0
  83. package/src/utils/env.ts +41 -0
  84. package/src/utils/hierarchy.ts +17 -8
  85. package/src/utils/index.ts +48 -0
  86. package/src/utils/intent-extractor.test.ts +84 -0
  87. package/src/utils/intent-extractor.ts +156 -0
  88. package/src/utils/natural-language.test.ts +27 -0
  89. package/src/utils/natural-language.ts +10 -9
  90. package/src/utils/plan-parser.ts +466 -0
  91. package/src/utils/projection.test.ts +61 -7
  92. package/src/utils/projection.ts +44 -1
  93. package/src/utils/terminal-ui.test.ts +277 -0
  94. package/src/utils/terminal-ui.ts +315 -0
@@ -238,6 +238,7 @@ export declare const Task: z.ZodObject<{
238
238
  workspace: z.ZodString;
239
239
  parentId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
240
240
  level: z.ZodOptional<z.ZodNumber>;
241
+ optional: z.ZodOptional<z.ZodBoolean>;
241
242
  dependencies: z.ZodOptional<z.ZodArray<z.ZodObject<{
242
243
  taskId: z.ZodString;
243
244
  type: z.ZodEnum<["blocks", "blocked_by", "related"]>;
@@ -439,6 +440,7 @@ export declare const Task: z.ZodObject<{
439
440
  description?: string | undefined;
440
441
  parentId?: string | null | undefined;
441
442
  level?: number | undefined;
443
+ optional?: boolean | undefined;
442
444
  dependencies?: {
443
445
  taskId: string;
444
446
  type: "blocks" | "blocked_by" | "related";
@@ -518,6 +520,7 @@ export declare const Task: z.ZodObject<{
518
520
  description?: string | undefined;
519
521
  parentId?: string | null | undefined;
520
522
  level?: number | undefined;
523
+ optional?: boolean | undefined;
521
524
  dependencies?: {
522
525
  taskId: string;
523
526
  type: "blocks" | "blocked_by" | "related";
@@ -593,6 +596,7 @@ export declare const TaskCreateInput: z.ZodObject<{
593
596
  description: z.ZodOptional<z.ZodString>;
594
597
  priority: z.ZodOptional<z.ZodEnum<["critical", "high", "medium", "low"]>>;
595
598
  parentId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
599
+ optional: z.ZodOptional<z.ZodBoolean>;
596
600
  dependencies: z.ZodOptional<z.ZodArray<z.ZodObject<{
597
601
  taskId: z.ZodString;
598
602
  type: z.ZodEnum<["blocks", "blocked_by", "related"]>;
@@ -738,6 +742,7 @@ export declare const TaskCreateInput: z.ZodObject<{
738
742
  description?: string | undefined;
739
743
  priority?: "critical" | "high" | "medium" | "low" | undefined;
740
744
  parentId?: string | null | undefined;
745
+ optional?: boolean | undefined;
741
746
  dependencies?: {
742
747
  taskId: string;
743
748
  type: "blocks" | "blocked_by" | "related";
@@ -789,6 +794,7 @@ export declare const TaskCreateInput: z.ZodObject<{
789
794
  description?: string | undefined;
790
795
  priority?: "critical" | "high" | "medium" | "low" | undefined;
791
796
  parentId?: string | null | undefined;
797
+ optional?: boolean | undefined;
792
798
  dependencies?: {
793
799
  taskId: string;
794
800
  type: "blocks" | "blocked_by" | "related";
@@ -843,6 +849,7 @@ export declare const TaskUpdateInput: z.ZodObject<{
843
849
  status: z.ZodOptional<z.ZodEnum<["pending", "in_progress", "blocked", "completed", "cancelled"]>>;
844
850
  priority: z.ZodOptional<z.ZodEnum<["critical", "high", "medium", "low"]>>;
845
851
  parentId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
852
+ optional: z.ZodOptional<z.ZodBoolean>;
846
853
  dependencies: z.ZodOptional<z.ZodArray<z.ZodObject<{
847
854
  taskId: z.ZodString;
848
855
  type: z.ZodEnum<["blocks", "blocked_by", "related"]>;
@@ -1031,6 +1038,7 @@ export declare const TaskUpdateInput: z.ZodObject<{
1031
1038
  status?: "pending" | "in_progress" | "blocked" | "completed" | "cancelled" | undefined;
1032
1039
  priority?: "critical" | "high" | "medium" | "low" | undefined;
1033
1040
  parentId?: string | null | undefined;
1041
+ optional?: boolean | undefined;
1034
1042
  dependencies?: {
1035
1043
  taskId: string;
1036
1044
  type: "blocks" | "blocked_by" | "related";
@@ -1099,6 +1107,7 @@ export declare const TaskUpdateInput: z.ZodObject<{
1099
1107
  status?: "pending" | "in_progress" | "blocked" | "completed" | "cancelled" | undefined;
1100
1108
  priority?: "critical" | "high" | "medium" | "low" | undefined;
1101
1109
  parentId?: string | null | undefined;
1110
+ optional?: boolean | undefined;
1102
1111
  dependencies?: {
1103
1112
  taskId: string;
1104
1113
  type: "blocks" | "blocked_by" | "related";
@@ -1 +1 @@
1
- {"version":3,"file":"task.d.ts","sourceRoot":"","sources":["../../src/schemas/task.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"task.d.ts","sourceRoot":"","sources":["../../src/schemas/task.ts"],"names":[],"mappings":"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"}
@@ -19,19 +19,33 @@ export const TimeEstimate = z
19
19
  pessimistic: z.number().min(0).max(10080).optional(), // minutes
20
20
  confidence: z.enum(["low", "medium", "high"]).optional(),
21
21
  })
22
- .refine((data) => {
22
+ .superRefine((data, ctx) => {
23
23
  const { optimistic, expected, pessimistic } = data;
24
+ // Check: optimistic <= expected
24
25
  if (optimistic !== undefined && expected !== undefined && optimistic > expected) {
25
- return false;
26
+ ctx.addIssue({
27
+ code: z.ZodIssueCode.custom,
28
+ message: `optimistic (${optimistic}min) must be <= expected (${expected}min)`,
29
+ path: ["optimistic"],
30
+ });
26
31
  }
32
+ // Check: expected <= pessimistic
27
33
  if (expected !== undefined && pessimistic !== undefined && expected > pessimistic) {
28
- return false;
34
+ ctx.addIssue({
35
+ code: z.ZodIssueCode.custom,
36
+ message: `expected (${expected}min) must be <= pessimistic (${pessimistic}min)`,
37
+ path: ["expected"],
38
+ });
29
39
  }
40
+ // Check: optimistic <= pessimistic (when expected is not provided)
30
41
  if (optimistic !== undefined && pessimistic !== undefined && optimistic > pessimistic) {
31
- return false;
42
+ ctx.addIssue({
43
+ code: z.ZodIssueCode.custom,
44
+ message: `optimistic (${optimistic}min) must be <= pessimistic (${pessimistic}min)`,
45
+ path: ["optimistic"],
46
+ });
32
47
  }
33
- return true;
34
- }, { message: "Time estimates must satisfy: optimistic <= expected <= pessimistic" });
48
+ });
35
49
  // Recurrence pattern (discriminated union for type-safe pattern handling)
36
50
  export const Recurrence = z.discriminatedUnion("pattern", [
37
51
  z.object({
@@ -148,6 +162,7 @@ export const Task = z.object({
148
162
  // Hierarchy (subtask support)
149
163
  parentId: z.string().nullable().optional(), // Parent task ID for subtasks (null to unlink)
150
164
  level: z.number().optional(), // Hierarchy depth (0=root, 1=subtask, 2=sub-subtask, max 3)
165
+ optional: z.boolean().optional(), // If true, this subtask is not required for parent completion
151
166
  // Dependencies
152
167
  dependencies: z.array(Dependency).optional(),
153
168
  // Time tracking
@@ -184,6 +199,7 @@ export const TaskCreateInput = z.object({
184
199
  description: z.string().optional(),
185
200
  priority: Priority.optional(),
186
201
  parentId: z.string().nullable().optional(), // Parent task ID for creating subtasks (null to unlink)
202
+ optional: z.boolean().optional(), // If true, this subtask is not required for parent completion
187
203
  dependencies: z.array(Dependency).optional(),
188
204
  estimate: TimeEstimate.optional(),
189
205
  dueDate: z.string().optional(),
@@ -203,6 +219,7 @@ export const TaskUpdateInput = z.object({
203
219
  status: TaskStatus.optional(),
204
220
  priority: Priority.optional(),
205
221
  parentId: z.string().nullable().optional(), // Parent task ID for moving task in hierarchy (null to unlink)
222
+ optional: z.boolean().optional(), // If true, this subtask is not required for parent completion
206
223
  dependencies: z.array(Dependency).optional(),
207
224
  estimate: TimeEstimate.optional(),
208
225
  actualMinutes: z.number().optional(),
@@ -1 +1 @@
1
- {"version":3,"file":"task.js","sourceRoot":"","sources":["../../src/schemas/task.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"task.js","sourceRoot":"","sources":["../../src/schemas/task.ts"],"names":[],"mappings":"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"}
@@ -13,10 +13,10 @@ export declare const SmartViewFilter: z.ZodObject<{
13
13
  hasNoDependencies: z.ZodOptional<z.ZodBoolean>;
14
14
  search: z.ZodOptional<z.ZodString>;
15
15
  }, "strip", z.ZodTypeAny, {
16
- contexts?: string[] | undefined;
17
- tags?: string[] | undefined;
18
16
  statuses?: ("pending" | "in_progress" | "blocked" | "completed" | "cancelled")[] | undefined;
19
17
  priorities?: ("critical" | "high" | "medium" | "low")[] | undefined;
18
+ contexts?: string[] | undefined;
19
+ tags?: string[] | undefined;
20
20
  workspaces?: string[] | undefined;
21
21
  allWorkspaces?: boolean | undefined;
22
22
  dueBefore?: string | undefined;
@@ -26,10 +26,10 @@ export declare const SmartViewFilter: z.ZodObject<{
26
26
  hasNoDependencies?: boolean | undefined;
27
27
  search?: string | undefined;
28
28
  }, {
29
- contexts?: string[] | undefined;
30
- tags?: string[] | undefined;
31
29
  statuses?: ("pending" | "in_progress" | "blocked" | "completed" | "cancelled")[] | undefined;
32
30
  priorities?: ("critical" | "high" | "medium" | "low")[] | undefined;
31
+ contexts?: string[] | undefined;
32
+ tags?: string[] | undefined;
33
33
  workspaces?: string[] | undefined;
34
34
  allWorkspaces?: boolean | undefined;
35
35
  dueBefore?: string | undefined;
@@ -62,10 +62,10 @@ export declare const SmartView: z.ZodObject<{
62
62
  hasNoDependencies: z.ZodOptional<z.ZodBoolean>;
63
63
  search: z.ZodOptional<z.ZodString>;
64
64
  }, "strip", z.ZodTypeAny, {
65
- contexts?: string[] | undefined;
66
- tags?: string[] | undefined;
67
65
  statuses?: ("pending" | "in_progress" | "blocked" | "completed" | "cancelled")[] | undefined;
68
66
  priorities?: ("critical" | "high" | "medium" | "low")[] | undefined;
67
+ contexts?: string[] | undefined;
68
+ tags?: string[] | undefined;
69
69
  workspaces?: string[] | undefined;
70
70
  allWorkspaces?: boolean | undefined;
71
71
  dueBefore?: string | undefined;
@@ -75,10 +75,10 @@ export declare const SmartView: z.ZodObject<{
75
75
  hasNoDependencies?: boolean | undefined;
76
76
  search?: string | undefined;
77
77
  }, {
78
- contexts?: string[] | undefined;
79
- tags?: string[] | undefined;
80
78
  statuses?: ("pending" | "in_progress" | "blocked" | "completed" | "cancelled")[] | undefined;
81
79
  priorities?: ("critical" | "high" | "medium" | "low")[] | undefined;
80
+ contexts?: string[] | undefined;
81
+ tags?: string[] | undefined;
82
82
  workspaces?: string[] | undefined;
83
83
  allWorkspaces?: boolean | undefined;
84
84
  dueBefore?: string | undefined;
@@ -93,12 +93,11 @@ export declare const SmartView: z.ZodObject<{
93
93
  createdAt: z.ZodString;
94
94
  updatedAt: z.ZodString;
95
95
  }, "strip", z.ZodTypeAny, {
96
- id: string;
97
96
  filter: {
98
- contexts?: string[] | undefined;
99
- tags?: string[] | undefined;
100
97
  statuses?: ("pending" | "in_progress" | "blocked" | "completed" | "cancelled")[] | undefined;
101
98
  priorities?: ("critical" | "high" | "medium" | "low")[] | undefined;
99
+ contexts?: string[] | undefined;
100
+ tags?: string[] | undefined;
102
101
  workspaces?: string[] | undefined;
103
102
  allWorkspaces?: boolean | undefined;
104
103
  dueBefore?: string | undefined;
@@ -109,18 +108,18 @@ export declare const SmartView: z.ZodObject<{
109
108
  search?: string | undefined;
110
109
  };
111
110
  createdAt: string;
112
- updatedAt: string;
111
+ id: string;
113
112
  name: string;
113
+ updatedAt: string;
114
114
  description?: string | undefined;
115
+ sortBy?: "priority" | "dueDate" | "createdAt" | "criticalPath" | "slack" | "title" | undefined;
115
116
  sortOrder?: "asc" | "desc" | undefined;
116
- sortBy?: "title" | "priority" | "dueDate" | "createdAt" | "criticalPath" | "slack" | undefined;
117
117
  }, {
118
- id: string;
119
118
  filter: {
120
- contexts?: string[] | undefined;
121
- tags?: string[] | undefined;
122
119
  statuses?: ("pending" | "in_progress" | "blocked" | "completed" | "cancelled")[] | undefined;
123
120
  priorities?: ("critical" | "high" | "medium" | "low")[] | undefined;
121
+ contexts?: string[] | undefined;
122
+ tags?: string[] | undefined;
124
123
  workspaces?: string[] | undefined;
125
124
  allWorkspaces?: boolean | undefined;
126
125
  dueBefore?: string | undefined;
@@ -131,11 +130,12 @@ export declare const SmartView: z.ZodObject<{
131
130
  search?: string | undefined;
132
131
  };
133
132
  createdAt: string;
134
- updatedAt: string;
133
+ id: string;
135
134
  name: string;
135
+ updatedAt: string;
136
136
  description?: string | undefined;
137
+ sortBy?: "priority" | "dueDate" | "createdAt" | "criticalPath" | "slack" | "title" | undefined;
137
138
  sortOrder?: "asc" | "desc" | undefined;
138
- sortBy?: "title" | "priority" | "dueDate" | "createdAt" | "criticalPath" | "slack" | undefined;
139
139
  }>;
140
140
  export type SmartView = z.infer<typeof SmartView>;
141
141
  export declare const BuiltInView: z.ZodEnum<["today", "this_week", "blocked", "critical_path", "quick_wins", "all"]>;
@@ -0,0 +1,60 @@
1
+ /**
2
+ * Semantic clustering utilities for task similarity
3
+ *
4
+ * Uses lightweight text similarity without external APIs.
5
+ * Designed for session resumption to suggest related tasks.
6
+ */
7
+ import type { Task } from "../schemas/task.js";
8
+ /**
9
+ * Tokenize text into meaningful words
10
+ * - Converts to lowercase
11
+ * - Splits on whitespace and punctuation
12
+ * - Removes stop words
13
+ * - Removes short tokens (< 2 chars)
14
+ */
15
+ export declare function tokenize(text: string): string[];
16
+ /**
17
+ * Calculate Jaccard similarity between two token sets
18
+ * Returns value between 0 (no overlap) and 1 (identical)
19
+ */
20
+ export declare function jaccardSimilarity(tokensA: string[], tokensB: string[]): number;
21
+ /**
22
+ * Calculate weighted similarity between two tasks
23
+ *
24
+ * Weights:
25
+ * - Intent: 0.4 (highest priority - captures purpose)
26
+ * - Title: 0.3 (strong signal)
27
+ * - Description: 0.2 (additional context)
28
+ * - Tags: 0.1 (explicit categorization)
29
+ */
30
+ export declare function calculateTaskSimilarity(task1: Task, task2: Task): number;
31
+ /**
32
+ * Find tasks related to a given task
33
+ *
34
+ * @param task - The reference task
35
+ * @param allTasks - All tasks to search from
36
+ * @param options - Configuration options
37
+ * @returns Array of related tasks sorted by similarity (highest first)
38
+ */
39
+ export declare function findRelatedTasks(task: Task, allTasks: Task[], options?: {
40
+ limit?: number;
41
+ minSimilarity?: number;
42
+ excludeCompleted?: boolean;
43
+ excludeSameParent?: boolean;
44
+ }): Array<{
45
+ task: Task;
46
+ similarity: number;
47
+ }>;
48
+ /**
49
+ * Cluster tasks by similarity
50
+ * Returns groups of related tasks
51
+ */
52
+ export declare function clusterTasks(tasks: Task[], options?: {
53
+ minClusterSize?: number;
54
+ similarityThreshold?: number;
55
+ }): Array<{
56
+ representative: Task;
57
+ members: Task[];
58
+ avgSimilarity: number;
59
+ }>;
60
+ //# sourceMappingURL=clustering.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clustering.d.ts","sourceRoot":"","sources":["../../src/utils/clustering.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAgH/C;;;;;;GAMG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAO/C;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,CAgB9E;AAED;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,GAAG,MAAM,CA2DxE;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,IAAI,EAAE,EAChB,OAAO,GAAE;IACP,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,iBAAiB,CAAC,EAAE,OAAO,CAAC;CACxB,GACL,KAAK,CAAC;IAAE,IAAI,EAAE,IAAI,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAAC,CAmC3C;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAC1B,KAAK,EAAE,IAAI,EAAE,EACb,OAAO,GAAE;IACP,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,mBAAmB,CAAC,EAAE,MAAM,CAAC;CACzB,GACL,KAAK,CAAC;IAAE,cAAc,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE,IAAI,EAAE,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAE,CAAC,CA4CzE"}
@@ -0,0 +1,283 @@
1
+ /**
2
+ * Semantic clustering utilities for task similarity
3
+ *
4
+ * Uses lightweight text similarity without external APIs.
5
+ * Designed for session resumption to suggest related tasks.
6
+ */
7
+ /**
8
+ * Stop words to ignore in similarity calculation
9
+ * Common words that don't contribute to semantic meaning
10
+ */
11
+ const STOP_WORDS = new Set([
12
+ // English
13
+ "a",
14
+ "am",
15
+ "an",
16
+ "the",
17
+ "is",
18
+ "are",
19
+ "was",
20
+ "were",
21
+ "be",
22
+ "been",
23
+ "being",
24
+ "have",
25
+ "has",
26
+ "had",
27
+ "do",
28
+ "does",
29
+ "did",
30
+ "will",
31
+ "would",
32
+ "could",
33
+ "should",
34
+ "may",
35
+ "might",
36
+ "must",
37
+ "can",
38
+ "to",
39
+ "of",
40
+ "in",
41
+ "for",
42
+ "on",
43
+ "with",
44
+ "at",
45
+ "by",
46
+ "from",
47
+ "as",
48
+ "into",
49
+ "through",
50
+ "during",
51
+ "before",
52
+ "after",
53
+ "above",
54
+ "below",
55
+ "and",
56
+ "or",
57
+ "but",
58
+ "if",
59
+ "then",
60
+ "else",
61
+ "when",
62
+ "where",
63
+ "why",
64
+ "how",
65
+ "all",
66
+ "each",
67
+ "every",
68
+ "both",
69
+ "few",
70
+ "more",
71
+ "most",
72
+ "other",
73
+ "some",
74
+ "such",
75
+ "no",
76
+ "nor",
77
+ "not",
78
+ "only",
79
+ "own",
80
+ "same",
81
+ "so",
82
+ "than",
83
+ "too",
84
+ "very",
85
+ "just",
86
+ "also",
87
+ "this",
88
+ "that",
89
+ "these",
90
+ "those",
91
+ "it",
92
+ "its",
93
+ // Korean particles (common suffixes)
94
+ "을",
95
+ "를",
96
+ "이",
97
+ "가",
98
+ "은",
99
+ "는",
100
+ "에",
101
+ "에서",
102
+ "으로",
103
+ "로",
104
+ "와",
105
+ "과",
106
+ "의",
107
+ "도",
108
+ "만",
109
+ "까지",
110
+ "부터",
111
+ "하다",
112
+ "하기",
113
+ "해서",
114
+ "하고",
115
+ ]);
116
+ /**
117
+ * Tokenize text into meaningful words
118
+ * - Converts to lowercase
119
+ * - Splits on whitespace and punctuation
120
+ * - Removes stop words
121
+ * - Removes short tokens (< 2 chars)
122
+ */
123
+ export function tokenize(text) {
124
+ if (!text)
125
+ return [];
126
+ return text
127
+ .toLowerCase()
128
+ .split(/[\s\-_.,;:!?()\[\]{}'"\/\\]+/)
129
+ .filter((token) => token.length >= 2 && !STOP_WORDS.has(token));
130
+ }
131
+ /**
132
+ * Calculate Jaccard similarity between two token sets
133
+ * Returns value between 0 (no overlap) and 1 (identical)
134
+ */
135
+ export function jaccardSimilarity(tokensA, tokensB) {
136
+ if (tokensA.length === 0 && tokensB.length === 0)
137
+ return 0;
138
+ if (tokensA.length === 0 || tokensB.length === 0)
139
+ return 0;
140
+ const setA = new Set(tokensA);
141
+ const setB = new Set(tokensB);
142
+ let intersection = 0;
143
+ for (const token of setA) {
144
+ if (setB.has(token)) {
145
+ intersection++;
146
+ }
147
+ }
148
+ const union = setA.size + setB.size - intersection;
149
+ return union === 0 ? 0 : intersection / union;
150
+ }
151
+ /**
152
+ * Calculate weighted similarity between two tasks
153
+ *
154
+ * Weights:
155
+ * - Intent: 0.4 (highest priority - captures purpose)
156
+ * - Title: 0.3 (strong signal)
157
+ * - Description: 0.2 (additional context)
158
+ * - Tags: 0.1 (explicit categorization)
159
+ */
160
+ export function calculateTaskSimilarity(task1, task2) {
161
+ // Extract text fields
162
+ const intent1 = task1.workContext?.intent || "";
163
+ const intent2 = task2.workContext?.intent || "";
164
+ const title1 = task1.title || "";
165
+ const title2 = task2.title || "";
166
+ const desc1 = task1.description || "";
167
+ const desc2 = task2.description || "";
168
+ const tags1 = task1.tags?.join(" ") || "";
169
+ const tags2 = task2.tags?.join(" ") || "";
170
+ // Tokenize
171
+ const intentTokens1 = tokenize(intent1);
172
+ const intentTokens2 = tokenize(intent2);
173
+ const titleTokens1 = tokenize(title1);
174
+ const titleTokens2 = tokenize(title2);
175
+ const descTokens1 = tokenize(desc1);
176
+ const descTokens2 = tokenize(desc2);
177
+ const tagTokens1 = tokenize(tags1);
178
+ const tagTokens2 = tokenize(tags2);
179
+ // Calculate component similarities
180
+ const intentSim = jaccardSimilarity(intentTokens1, intentTokens2);
181
+ const titleSim = jaccardSimilarity(titleTokens1, titleTokens2);
182
+ const descSim = jaccardSimilarity(descTokens1, descTokens2);
183
+ const tagSim = jaccardSimilarity(tagTokens1, tagTokens2);
184
+ // Weighted combination
185
+ // Adjust weights based on available content
186
+ let totalWeight = 0;
187
+ let weightedSum = 0;
188
+ if (intentTokens1.length > 0 || intentTokens2.length > 0) {
189
+ weightedSum += intentSim * 0.4;
190
+ totalWeight += 0.4;
191
+ }
192
+ if (titleTokens1.length > 0 || titleTokens2.length > 0) {
193
+ weightedSum += titleSim * 0.3;
194
+ totalWeight += 0.3;
195
+ }
196
+ if (descTokens1.length > 0 || descTokens2.length > 0) {
197
+ weightedSum += descSim * 0.2;
198
+ totalWeight += 0.2;
199
+ }
200
+ if (tagTokens1.length > 0 || tagTokens2.length > 0) {
201
+ weightedSum += tagSim * 0.1;
202
+ totalWeight += 0.1;
203
+ }
204
+ return totalWeight === 0 ? 0 : weightedSum / totalWeight;
205
+ }
206
+ /**
207
+ * Find tasks related to a given task
208
+ *
209
+ * @param task - The reference task
210
+ * @param allTasks - All tasks to search from
211
+ * @param options - Configuration options
212
+ * @returns Array of related tasks sorted by similarity (highest first)
213
+ */
214
+ export function findRelatedTasks(task, allTasks, options = {}) {
215
+ const { limit = 5, minSimilarity = 0.1, excludeCompleted = true, excludeSameParent = true, } = options;
216
+ const candidates = allTasks.filter((t) => {
217
+ // Exclude self
218
+ if (t.id === task.id)
219
+ return false;
220
+ // Exclude completed if requested
221
+ if (excludeCompleted && t.status === "completed")
222
+ return false;
223
+ // Exclude same parent (siblings are already contextually related)
224
+ if (excludeSameParent && task.parentId && t.parentId === task.parentId)
225
+ return false;
226
+ // Exclude direct parent/child relationships
227
+ if (t.parentId === task.id || task.parentId === t.id)
228
+ return false;
229
+ return true;
230
+ });
231
+ // Calculate similarities
232
+ const withSimilarity = candidates
233
+ .map((t) => ({
234
+ task: t,
235
+ similarity: calculateTaskSimilarity(task, t),
236
+ }))
237
+ .filter((item) => item.similarity >= minSimilarity)
238
+ .sort((a, b) => b.similarity - a.similarity)
239
+ .slice(0, limit);
240
+ return withSimilarity;
241
+ }
242
+ /**
243
+ * Cluster tasks by similarity
244
+ * Returns groups of related tasks
245
+ */
246
+ export function clusterTasks(tasks, options = {}) {
247
+ const { minClusterSize = 2, similarityThreshold = 0.2 } = options;
248
+ // Simple greedy clustering
249
+ const assigned = new Set();
250
+ const clusters = [];
251
+ // Sort by priority to use higher priority tasks as cluster representatives
252
+ const sortedTasks = [...tasks].sort((a, b) => {
253
+ const priorityOrder = { critical: 0, high: 1, medium: 2, low: 3 };
254
+ return (priorityOrder[a.priority] ?? 2) - (priorityOrder[b.priority] ?? 2);
255
+ });
256
+ for (const task of sortedTasks) {
257
+ if (assigned.has(task.id))
258
+ continue;
259
+ // Find related tasks that haven't been assigned
260
+ const related = findRelatedTasks(task, tasks, {
261
+ minSimilarity: similarityThreshold,
262
+ excludeCompleted: false,
263
+ excludeSameParent: false,
264
+ limit: 10,
265
+ }).filter((r) => !assigned.has(r.task.id));
266
+ if (related.length >= minClusterSize - 1) {
267
+ // Create cluster
268
+ const members = [task, ...related.map((r) => r.task)];
269
+ const avgSimilarity = related.length > 0 ? related.reduce((sum, r) => sum + r.similarity, 0) / related.length : 0;
270
+ clusters.push({
271
+ representative: task,
272
+ members,
273
+ avgSimilarity,
274
+ });
275
+ // Mark as assigned
276
+ for (const member of members) {
277
+ assigned.add(member.id);
278
+ }
279
+ }
280
+ }
281
+ return clusters;
282
+ }
283
+ //# sourceMappingURL=clustering.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clustering.js","sourceRoot":"","sources":["../../src/utils/clustering.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH;;;GAGG;AACH,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC;IACzB,UAAU;IACV,GAAG;IACH,IAAI;IACJ,IAAI;IACJ,KAAK;IACL,IAAI;IACJ,KAAK;IACL,KAAK;IACL,MAAM;IACN,IAAI;IACJ,MAAM;IACN,OAAO;IACP,MAAM;IACN,KAAK;IACL,KAAK;IACL,IAAI;IACJ,MAAM;IACN,KAAK;IACL,MAAM;IACN,OAAO;IACP,OAAO;IACP,QAAQ;IACR,KAAK;IACL,OAAO;IACP,MAAM;IACN,KAAK;IACL,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,KAAK;IACL,IAAI;IACJ,MAAM;IACN,IAAI;IACJ,IAAI;IACJ,MAAM;IACN,IAAI;IACJ,MAAM;IACN,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,OAAO;IACP,OAAO;IACP,KAAK;IACL,IAAI;IACJ,KAAK;IACL,IAAI;IACJ,MAAM;IACN,MAAM;IACN,MAAM;IACN,OAAO;IACP,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,OAAO;IACP,MAAM;IACN,KAAK;IACL,MAAM;IACN,MAAM;IACN,OAAO;IACP,MAAM;IACN,MAAM;IACN,IAAI;IACJ,KAAK;IACL,KAAK;IACL,MAAM;IACN,KAAK;IACL,MAAM;IACN,IAAI;IACJ,MAAM;IACN,KAAK;IACL,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,OAAO;IACP,OAAO;IACP,IAAI;IACJ,KAAK;IACL,qCAAqC;IACrC,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,IAAI;IACJ,IAAI;IACJ,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;CACL,CAAC,CAAC;AAEH;;;;;;GAMG;AACH,MAAM,UAAU,QAAQ,CAAC,IAAY;IACnC,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,CAAC;IAErB,OAAO,IAAI;SACR,WAAW,EAAE;SACb,KAAK,CAAC,8BAA8B,CAAC;SACrC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;AACpE,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,OAAiB,EAAE,OAAiB;IACpE,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC;IAC3D,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC;IAE3D,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;IAC9B,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;IAE9B,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,KAAK,MAAM,KAAK,IAAI,IAAI,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YACpB,YAAY,EAAE,CAAC;QACjB,CAAC;IACH,CAAC;IAED,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC;IACnD,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,GAAG,KAAK,CAAC;AAChD,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,uBAAuB,CAAC,KAAW,EAAE,KAAW;IAC9D,sBAAsB;IACtB,MAAM,OAAO,GAAG,KAAK,CAAC,WAAW,EAAE,MAAM,IAAI,EAAE,CAAC;IAChD,MAAM,OAAO,GAAG,KAAK,CAAC,WAAW,EAAE,MAAM,IAAI,EAAE,CAAC;IAEhD,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC;IACjC,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC;IAEjC,MAAM,KAAK,GAAG,KAAK,CAAC,WAAW,IAAI,EAAE,CAAC;IACtC,MAAM,KAAK,GAAG,KAAK,CAAC,WAAW,IAAI,EAAE,CAAC;IAEtC,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;IAC1C,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;IAE1C,WAAW;IACX,MAAM,aAAa,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;IACxC,MAAM,aAAa,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;IAExC,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;IACtC,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;IAEtC,MAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACpC,MAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAEpC,MAAM,UAAU,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACnC,MAAM,UAAU,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAEnC,mCAAmC;IACnC,MAAM,SAAS,GAAG,iBAAiB,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;IAClE,MAAM,QAAQ,GAAG,iBAAiB,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;IAC/D,MAAM,OAAO,GAAG,iBAAiB,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;IAC5D,MAAM,MAAM,GAAG,iBAAiB,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IAEzD,uBAAuB;IACvB,4CAA4C;IAC5C,IAAI,WAAW,GAAG,CAAC,CAAC;IACpB,IAAI,WAAW,GAAG,CAAC,CAAC;IAEpB,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzD,WAAW,IAAI,SAAS,GAAG,GAAG,CAAC;QAC/B,WAAW,IAAI,GAAG,CAAC;IACrB,CAAC;IAED,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvD,WAAW,IAAI,QAAQ,GAAG,GAAG,CAAC;QAC9B,WAAW,IAAI,GAAG,CAAC;IACrB,CAAC;IAED,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrD,WAAW,IAAI,OAAO,GAAG,GAAG,CAAC;QAC7B,WAAW,IAAI,GAAG,CAAC;IACrB,CAAC;IAED,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACnD,WAAW,IAAI,MAAM,GAAG,GAAG,CAAC;QAC5B,WAAW,IAAI,GAAG,CAAC;IACrB,CAAC;IAED,OAAO,WAAW,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,GAAG,WAAW,CAAC;AAC3D,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,gBAAgB,CAC9B,IAAU,EACV,QAAgB,EAChB,UAKI,EAAE;IAEN,MAAM,EACJ,KAAK,GAAG,CAAC,EACT,aAAa,GAAG,GAAG,EACnB,gBAAgB,GAAG,IAAI,EACvB,iBAAiB,GAAG,IAAI,GACzB,GAAG,OAAO,CAAC;IAEZ,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;QACvC,eAAe;QACf,IAAI,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE;YAAE,OAAO,KAAK,CAAC;QAEnC,iCAAiC;QACjC,IAAI,gBAAgB,IAAI,CAAC,CAAC,MAAM,KAAK,WAAW;YAAE,OAAO,KAAK,CAAC;QAE/D,kEAAkE;QAClE,IAAI,iBAAiB,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC,QAAQ,KAAK,IAAI,CAAC,QAAQ;YAAE,OAAO,KAAK,CAAC;QAErF,4CAA4C;QAC5C,IAAI,CAAC,CAAC,QAAQ,KAAK,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,QAAQ,KAAK,CAAC,CAAC,EAAE;YAAE,OAAO,KAAK,CAAC;QAEnE,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;IAEH,yBAAyB;IACzB,MAAM,cAAc,GAAG,UAAU;SAC9B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACX,IAAI,EAAE,CAAC;QACP,UAAU,EAAE,uBAAuB,CAAC,IAAI,EAAE,CAAC,CAAC;KAC7C,CAAC,CAAC;SACF,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,IAAI,aAAa,CAAC;SAClD,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC;SAC3C,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IAEnB,OAAO,cAAc,CAAC;AACxB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,YAAY,CAC1B,KAAa,EACb,UAGI,EAAE;IAEN,MAAM,EAAE,cAAc,GAAG,CAAC,EAAE,mBAAmB,GAAG,GAAG,EAAE,GAAG,OAAO,CAAC;IAElE,2BAA2B;IAC3B,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;IACnC,MAAM,QAAQ,GAA4E,EAAE,CAAC;IAE7F,2EAA2E;IAC3E,MAAM,WAAW,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QAC3C,MAAM,aAAa,GAAG,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;QAClE,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;IAC7E,CAAC,CAAC,CAAC;IAEH,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;QAC/B,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAAE,SAAS;QAEpC,gDAAgD;QAChD,MAAM,OAAO,GAAG,gBAAgB,CAAC,IAAI,EAAE,KAAK,EAAE;YAC5C,aAAa,EAAE,mBAAmB;YAClC,gBAAgB,EAAE,KAAK;YACvB,iBAAiB,EAAE,KAAK;YACxB,KAAK,EAAE,EAAE;SACV,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QAE3C,IAAI,OAAO,CAAC,MAAM,IAAI,cAAc,GAAG,CAAC,EAAE,CAAC;YACzC,iBAAiB;YACjB,MAAM,OAAO,GAAG,CAAC,IAAI,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YACtD,MAAM,aAAa,GACjB,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YAE9F,QAAQ,CAAC,IAAI,CAAC;gBACZ,cAAc,EAAE,IAAI;gBACpB,OAAO;gBACP,aAAa;aACd,CAAC,CAAC;YAEH,mBAAmB;YACnB,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;gBAC7B,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=clustering.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clustering.test.d.ts","sourceRoot":"","sources":["../../src/utils/clustering.test.ts"],"names":[],"mappings":""}