@kaban-board/core 0.2.6 → 0.2.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/db/index.d.ts +6 -1
- package/dist/db/index.d.ts.map +1 -1
- package/dist/db/migrate.d.ts +3 -0
- package/dist/db/migrate.d.ts.map +1 -0
- package/dist/db/migrator.d.ts +5 -0
- package/dist/db/migrator.d.ts.map +1 -0
- package/dist/db/schema.d.ts +34 -0
- package/dist/db/schema.d.ts.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1169 -473
- package/dist/schemas.d.ts +22 -0
- package/dist/schemas.d.ts.map +1 -1
- package/dist/services/board.d.ts +1 -0
- package/dist/services/board.d.ts.map +1 -1
- package/dist/services/task.d.ts +68 -0
- package/dist/services/task.d.ts.map +1 -1
- package/dist/utils/similarity.d.ts +15 -0
- package/dist/utils/similarity.d.ts.map +1 -0
- package/package.json +6 -5
package/dist/schemas.d.ts
CHANGED
|
@@ -21,6 +21,8 @@ export declare const TaskSchema: z.ZodObject<{
|
|
|
21
21
|
updatedAt: z.ZodDate;
|
|
22
22
|
startedAt: z.ZodNullable<z.ZodDate>;
|
|
23
23
|
completedAt: z.ZodNullable<z.ZodDate>;
|
|
24
|
+
archived: z.ZodDefault<z.ZodBoolean>;
|
|
25
|
+
archivedAt: z.ZodOptional<z.ZodNullable<z.ZodDate>>;
|
|
24
26
|
}, z.core.$strip>;
|
|
25
27
|
export declare const ColumnSchema: z.ZodObject<{
|
|
26
28
|
id: z.ZodString;
|
|
@@ -66,7 +68,9 @@ export declare const AddTaskInputSchema: z.ZodObject<{
|
|
|
66
68
|
title: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
|
|
67
69
|
description: z.ZodOptional<z.ZodString>;
|
|
68
70
|
columnId: z.ZodOptional<z.ZodString>;
|
|
71
|
+
createdBy: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>>;
|
|
69
72
|
agent: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>>;
|
|
73
|
+
assignedTo: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>>;
|
|
70
74
|
dependsOn: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
71
75
|
files: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
72
76
|
labels: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
@@ -85,9 +89,11 @@ export declare const MoveTaskInputSchema: z.ZodObject<{
|
|
|
85
89
|
}, z.core.$strip>;
|
|
86
90
|
export declare const ListTasksFilterSchema: z.ZodObject<{
|
|
87
91
|
columnId: z.ZodOptional<z.ZodString>;
|
|
92
|
+
createdBy: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>>;
|
|
88
93
|
agent: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>>;
|
|
89
94
|
assignee: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>>;
|
|
90
95
|
blocked: z.ZodOptional<z.ZodBoolean>;
|
|
96
|
+
includeArchived: z.ZodOptional<z.ZodBoolean>;
|
|
91
97
|
}, z.core.$strip>;
|
|
92
98
|
export declare const GetTaskInputSchema: z.ZodObject<{
|
|
93
99
|
id: z.ZodString;
|
|
@@ -109,10 +115,12 @@ export declare const TaskResponseSchema: z.ZodObject<{
|
|
|
109
115
|
labels: z.ZodArray<z.ZodString>;
|
|
110
116
|
blockedReason: z.ZodNullable<z.ZodString>;
|
|
111
117
|
version: z.ZodNumber;
|
|
118
|
+
archived: z.ZodDefault<z.ZodBoolean>;
|
|
112
119
|
createdAt: z.ZodString;
|
|
113
120
|
updatedAt: z.ZodString;
|
|
114
121
|
startedAt: z.ZodNullable<z.ZodString>;
|
|
115
122
|
completedAt: z.ZodNullable<z.ZodString>;
|
|
123
|
+
archivedAt: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
116
124
|
}, z.core.$strip>;
|
|
117
125
|
export declare const BoardStatusSchema: z.ZodObject<{
|
|
118
126
|
board: z.ZodObject<{
|
|
@@ -163,10 +171,12 @@ export declare const jsonSchemas: {
|
|
|
163
171
|
labels: z.ZodArray<z.ZodString>;
|
|
164
172
|
blockedReason: z.ZodNullable<z.ZodString>;
|
|
165
173
|
version: z.ZodNumber;
|
|
174
|
+
archived: z.ZodDefault<z.ZodBoolean>;
|
|
166
175
|
createdAt: z.ZodString;
|
|
167
176
|
updatedAt: z.ZodString;
|
|
168
177
|
startedAt: z.ZodNullable<z.ZodString>;
|
|
169
178
|
completedAt: z.ZodNullable<z.ZodString>;
|
|
179
|
+
archivedAt: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
170
180
|
}, z.core.$strip>>;
|
|
171
181
|
readonly Column: z.core.ZodStandardJSONSchemaPayload<z.ZodObject<{
|
|
172
182
|
id: z.ZodString;
|
|
@@ -200,7 +210,9 @@ export declare const jsonSchemas: {
|
|
|
200
210
|
title: z.ZodString;
|
|
201
211
|
description: z.ZodOptional<z.ZodString>;
|
|
202
212
|
columnId: z.ZodOptional<z.ZodString>;
|
|
213
|
+
createdBy: z.ZodOptional<z.ZodString>;
|
|
203
214
|
agent: z.ZodOptional<z.ZodString>;
|
|
215
|
+
assignedTo: z.ZodOptional<z.ZodString>;
|
|
204
216
|
dependsOn: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
205
217
|
files: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
206
218
|
labels: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
@@ -219,8 +231,11 @@ export declare const jsonSchemas: {
|
|
|
219
231
|
}, z.core.$strip>>;
|
|
220
232
|
readonly ListTasksFilter: z.core.ZodStandardJSONSchemaPayload<z.ZodObject<{
|
|
221
233
|
columnId: z.ZodOptional<z.ZodString>;
|
|
234
|
+
createdBy: z.ZodOptional<z.ZodString>;
|
|
222
235
|
agent: z.ZodOptional<z.ZodString>;
|
|
236
|
+
assignee: z.ZodOptional<z.ZodString>;
|
|
223
237
|
blocked: z.ZodOptional<z.ZodBoolean>;
|
|
238
|
+
includeArchived: z.ZodOptional<z.ZodBoolean>;
|
|
224
239
|
}, z.core.$strip>>;
|
|
225
240
|
readonly BoardStatus: z.core.ZodStandardJSONSchemaPayload<z.ZodObject<{
|
|
226
241
|
board: z.ZodObject<{
|
|
@@ -255,10 +270,12 @@ export declare function getJsonSchema(name: SchemaName): z.core.ZodStandardJSONS
|
|
|
255
270
|
labels: z.ZodArray<z.ZodString>;
|
|
256
271
|
blockedReason: z.ZodNullable<z.ZodString>;
|
|
257
272
|
version: z.ZodNumber;
|
|
273
|
+
archived: z.ZodDefault<z.ZodBoolean>;
|
|
258
274
|
createdAt: z.ZodString;
|
|
259
275
|
updatedAt: z.ZodString;
|
|
260
276
|
startedAt: z.ZodNullable<z.ZodString>;
|
|
261
277
|
completedAt: z.ZodNullable<z.ZodString>;
|
|
278
|
+
archivedAt: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
262
279
|
}, z.core.$strip>> | z.core.ZodStandardJSONSchemaPayload<z.ZodObject<{
|
|
263
280
|
id: z.ZodString;
|
|
264
281
|
name: z.ZodString;
|
|
@@ -288,7 +305,9 @@ export declare function getJsonSchema(name: SchemaName): z.core.ZodStandardJSONS
|
|
|
288
305
|
title: z.ZodString;
|
|
289
306
|
description: z.ZodOptional<z.ZodString>;
|
|
290
307
|
columnId: z.ZodOptional<z.ZodString>;
|
|
308
|
+
createdBy: z.ZodOptional<z.ZodString>;
|
|
291
309
|
agent: z.ZodOptional<z.ZodString>;
|
|
310
|
+
assignedTo: z.ZodOptional<z.ZodString>;
|
|
292
311
|
dependsOn: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
293
312
|
files: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
294
313
|
labels: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
@@ -304,8 +323,11 @@ export declare function getJsonSchema(name: SchemaName): z.core.ZodStandardJSONS
|
|
|
304
323
|
force: z.ZodOptional<z.ZodBoolean>;
|
|
305
324
|
}, z.core.$strip>> | z.core.ZodStandardJSONSchemaPayload<z.ZodObject<{
|
|
306
325
|
columnId: z.ZodOptional<z.ZodString>;
|
|
326
|
+
createdBy: z.ZodOptional<z.ZodString>;
|
|
307
327
|
agent: z.ZodOptional<z.ZodString>;
|
|
328
|
+
assignee: z.ZodOptional<z.ZodString>;
|
|
308
329
|
blocked: z.ZodOptional<z.ZodBoolean>;
|
|
330
|
+
includeArchived: z.ZodOptional<z.ZodBoolean>;
|
|
309
331
|
}, z.core.$strip>> | z.core.ZodStandardJSONSchemaPayload<z.ZodObject<{
|
|
310
332
|
board: z.ZodObject<{
|
|
311
333
|
id: z.ZodString;
|
package/dist/schemas.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../src/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAI3B,eAAO,MAAM,UAAU,aAAsD,CAAC;AAO9E,eAAO,MAAM,WAAW,wDAA6C,CAAC;AAWtE,eAAO,MAAM,eAAe,wDAAwD,CAAC;AAErF,eAAO,MAAM,cAAc,aAI0D,CAAC;AAEtF,eAAO,MAAM,UAAU
|
|
1
|
+
{"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../src/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAI3B,eAAO,MAAM,UAAU,aAAsD,CAAC;AAO9E,eAAO,MAAM,WAAW,wDAA6C,CAAC;AAWtE,eAAO,MAAM,eAAe,wDAAwD,CAAC;AAErF,eAAO,MAAM,cAAc,aAI0D,CAAC;AAEtF,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;iBAoBrB,CAAC;AAEH,eAAO,MAAM,YAAY;;;;;;iBAMvB,CAAC;AAEH,eAAO,MAAM,WAAW;;;;;iBAKtB,CAAC;AAEH,eAAO,MAAM,mBAAmB;;;;;iBAK9B,CAAC;AAEH,eAAO,MAAM,kBAAkB;;;;;iBAK7B,CAAC;AAEH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;iBASvB,CAAC;AAEH,eAAO,MAAM,kBAAkB;;;;;;;;;;iBAW7B,CAAC;AAEH,eAAO,MAAM,qBAAqB;;;;;;iBAMhC,CAAC;AAEH,eAAO,MAAM,mBAAmB;;;;iBAI9B,CAAC;AAEH,eAAO,MAAM,qBAAqB;;;;;;;iBAQhC,CAAC;AAEH,eAAO,MAAM,kBAAkB;;iBAE7B,CAAC;AAEH,eAAO,MAAM,qBAAqB;;iBAEhC,CAAC;AAEH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;iBAM7B,CAAC;AAEH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;iBAQ5B,CAAC;AAEH,eAAO,MAAM,iBAAiB,GAAI,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,YAAY,CAAC;;;;;;;iBAUhE,CAAC;AAEL,MAAM,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC;AAC9C,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAClD,MAAM,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;AAChD,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAClD,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAC9D,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AACpE,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAChE,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AACpE,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAmD5D,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAUd,CAAC;AAEX,MAAM,MAAM,UAAU,GAAG,MAAM,OAAO,WAAW,CAAC;AAElD,wBAAgB,aAAa,CAAC,IAAI,EAAE,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBAE7C"}
|
package/dist/services/board.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"board.d.ts","sourceRoot":"","sources":["../../src/services/board.ts"],"names":[],"mappings":"AAEA,OAAO,EAAmB,KAAK,EAAE,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAEzD,qBAAa,YAAY;IACX,OAAO,CAAC,EAAE;gBAAF,EAAE,EAAE,EAAE;IAEpB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;IA+B/C,QAAQ,IAAI,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;IAKjC,UAAU,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAI/B,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAK7C,iBAAiB,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"board.d.ts","sourceRoot":"","sources":["../../src/services/board.ts"],"names":[],"mappings":"AAEA,OAAO,EAAmB,KAAK,EAAE,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAEzD,qBAAa,YAAY;IACX,OAAO,CAAC,EAAE;gBAAF,EAAE,EAAE,EAAE;IAEpB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;IA+B/C,QAAQ,IAAI,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;IAKjC,UAAU,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAI/B,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAK7C,iBAAiB,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAK3C,kBAAkB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;CAO9C"}
|
package/dist/services/task.d.ts
CHANGED
|
@@ -7,10 +7,52 @@ export type ListTasksFilter = ListTasksFilterSchema;
|
|
|
7
7
|
export type UpdateTaskInput = UpdateTaskInputSchema;
|
|
8
8
|
export interface MoveTaskOptions {
|
|
9
9
|
force?: boolean;
|
|
10
|
+
validateDeps?: boolean;
|
|
11
|
+
}
|
|
12
|
+
export interface ArchiveTasksCriteria {
|
|
13
|
+
status?: string;
|
|
14
|
+
olderThan?: Date;
|
|
15
|
+
taskIds?: string[];
|
|
16
|
+
}
|
|
17
|
+
export interface ArchiveTasksResult {
|
|
18
|
+
archivedCount: number;
|
|
19
|
+
taskIds: string[];
|
|
20
|
+
}
|
|
21
|
+
export interface SearchArchiveOptions {
|
|
22
|
+
limit?: number;
|
|
23
|
+
offset?: number;
|
|
24
|
+
}
|
|
25
|
+
export interface SearchArchiveResult {
|
|
26
|
+
tasks: Task[];
|
|
27
|
+
total: number;
|
|
28
|
+
}
|
|
29
|
+
export interface PurgeArchiveCriteria {
|
|
30
|
+
olderThan?: Date;
|
|
31
|
+
}
|
|
32
|
+
export interface PurgeArchiveResult {
|
|
33
|
+
deletedCount: number;
|
|
34
|
+
}
|
|
35
|
+
export interface ResetBoardResult {
|
|
36
|
+
deletedCount: number;
|
|
37
|
+
}
|
|
38
|
+
export interface ValidateDependenciesResult {
|
|
39
|
+
valid: boolean;
|
|
40
|
+
blockedBy: string[];
|
|
41
|
+
}
|
|
42
|
+
export interface AddTaskCheckedResult {
|
|
43
|
+
task: Task | null;
|
|
44
|
+
created: boolean;
|
|
45
|
+
similarTasks: Array<{
|
|
46
|
+
task: Task;
|
|
47
|
+
similarity: number;
|
|
48
|
+
}>;
|
|
49
|
+
rejected: boolean;
|
|
50
|
+
rejectionReason?: string;
|
|
10
51
|
}
|
|
11
52
|
export declare class TaskService {
|
|
12
53
|
private db;
|
|
13
54
|
private boardService;
|
|
55
|
+
private duplicateConfig;
|
|
14
56
|
constructor(db: DB, boardService: BoardService);
|
|
15
57
|
private getTaskOrThrow;
|
|
16
58
|
addTask(input: AddTaskInput): Promise<Task>;
|
|
@@ -20,5 +62,31 @@ export declare class TaskService {
|
|
|
20
62
|
moveTask(id: string, columnId: string, options?: MoveTaskOptions): Promise<Task>;
|
|
21
63
|
updateTask(id: string, input: UpdateTaskInput, expectedVersion?: number): Promise<Task>;
|
|
22
64
|
private getTaskCountInColumn;
|
|
65
|
+
archiveTasks(criteria: ArchiveTasksCriteria): Promise<ArchiveTasksResult>;
|
|
66
|
+
/**
|
|
67
|
+
* Restores an archived task.
|
|
68
|
+
* Note: WIP limits are intentionally bypassed for restore operations because
|
|
69
|
+
* restore is a recovery operation - users should always be able to recover their work,
|
|
70
|
+
* and archived tasks already existed in the system.
|
|
71
|
+
*/
|
|
72
|
+
restoreTask(taskId: string, targetColumnId?: string): Promise<Task>;
|
|
73
|
+
searchArchive(query: string, options?: SearchArchiveOptions): Promise<SearchArchiveResult>;
|
|
74
|
+
purgeArchive(criteria?: PurgeArchiveCriteria): Promise<PurgeArchiveResult>;
|
|
75
|
+
resetBoard(): Promise<ResetBoardResult>;
|
|
76
|
+
addDependency(taskId: string, dependsOnId: string): Promise<Task>;
|
|
77
|
+
removeDependency(taskId: string, dependsOnId: string): Promise<Task>;
|
|
78
|
+
validateDependencies(taskId: string): Promise<ValidateDependenciesResult>;
|
|
79
|
+
findSimilarTasks(title: string, threshold?: number): Promise<Array<{
|
|
80
|
+
task: Task;
|
|
81
|
+
similarity: number;
|
|
82
|
+
}>>;
|
|
83
|
+
addTaskChecked(input: AddTaskInput, options?: {
|
|
84
|
+
force?: boolean;
|
|
85
|
+
}): Promise<AddTaskCheckedResult>;
|
|
86
|
+
getArchiveStats(): Promise<{
|
|
87
|
+
totalArchived: number;
|
|
88
|
+
byColumn: Record<string, number>;
|
|
89
|
+
oldestArchivedAt: Date | null;
|
|
90
|
+
}>;
|
|
23
91
|
}
|
|
24
92
|
//# sourceMappingURL=task.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"task.d.ts","sourceRoot":"","sources":["../../src/services/task.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,EAAS,MAAM,gBAAgB,CAAC;AAChD,OAAO,KAAK,EACV,YAAY,IAAI,kBAAkB,EAClC,eAAe,IAAI,qBAAqB,EACxC,eAAe,IAAI,qBAAqB,EACzC,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"task.d.ts","sourceRoot":"","sources":["../../src/services/task.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tokenizes a string into a set of lowercase alphanumeric words.
|
|
3
|
+
*/
|
|
4
|
+
export declare function tokenize(text: string): Set<string>;
|
|
5
|
+
/**
|
|
6
|
+
* Calculates the Jaccard similarity between two strings based on word tokens.
|
|
7
|
+
*
|
|
8
|
+
* Jaccard Index: |intersection| / |union|
|
|
9
|
+
*
|
|
10
|
+
* @param text1 - First string to compare
|
|
11
|
+
* @param text2 - Second string to compare
|
|
12
|
+
* @returns A value between 0.0 (no overlap) and 1.0 (identical)
|
|
13
|
+
*/
|
|
14
|
+
export declare function jaccardSimilarity(text1: string, text2: string): number;
|
|
15
|
+
//# sourceMappingURL=similarity.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"similarity.d.ts","sourceRoot":"","sources":["../../src/utils/similarity.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,CAQlD;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAYtE"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kaban-board/core",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.8",
|
|
4
4
|
"description": "Core database and services for Kaban - Terminal Kanban for AI Agents",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -15,19 +15,20 @@
|
|
|
15
15
|
"dist"
|
|
16
16
|
],
|
|
17
17
|
"scripts": {
|
|
18
|
-
"build": "bun build
|
|
18
|
+
"build": "bun run build.ts && tsc --emitDeclarationOnly --declaration --outDir ./dist",
|
|
19
19
|
"test": "bun test",
|
|
20
20
|
"typecheck": "tsc --noEmit",
|
|
21
21
|
"prepublishOnly": "npm run build"
|
|
22
22
|
},
|
|
23
23
|
"dependencies": {
|
|
24
24
|
"@libsql/client": "^0.17.0",
|
|
25
|
-
"drizzle-orm": "^0.
|
|
26
|
-
"ulid": "^
|
|
27
|
-
"zod": "^4.3.
|
|
25
|
+
"drizzle-orm": "^0.45.1",
|
|
26
|
+
"ulid": "^3.0.2",
|
|
27
|
+
"zod": "^4.3.6"
|
|
28
28
|
},
|
|
29
29
|
"devDependencies": {
|
|
30
30
|
"@types/bun": "latest",
|
|
31
|
+
"drizzle-kit": "^0.31.8",
|
|
31
32
|
"typescript": "^5.0.0"
|
|
32
33
|
},
|
|
33
34
|
"engines": {
|