@kaban-board/core 0.2.6 → 0.2.9

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/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;
@@ -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;;;;;;;;;;;;;;;;;;iBAkBrB,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;;;;;;;;iBAQ7B,CAAC;AAEH,eAAO,MAAM,qBAAqB;;;;;;iBAMhC,CAAC;AAEH,eAAO,MAAM,mBAAmB;;;;iBAI9B,CAAC;AAEH,eAAO,MAAM,qBAAqB;;;;;iBAKhC,CAAC;AAEH,eAAO,MAAM,kBAAkB;;iBAE7B,CAAC;AAEH,eAAO,MAAM,qBAAqB;;iBAEhC,CAAC;AAEH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;iBAK7B,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;AA4C5D,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAUd,CAAC;AAEX,MAAM,MAAM,UAAU,GAAG,MAAM,OAAO,WAAW,CAAC;AAElD,wBAAgB,aAAa,CAAC,IAAI,EAAE,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBAE7C"}
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"}
@@ -8,5 +8,6 @@ export declare class BoardService {
8
8
  getColumns(): Promise<Column[]>;
9
9
  getColumn(id: string): Promise<Column | null>;
10
10
  getTerminalColumn(): Promise<Column | null>;
11
+ getTerminalColumns(): Promise<Column[]>;
11
12
  }
12
13
  //# sourceMappingURL=board.d.ts.map
@@ -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;CAIlD"}
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"}
@@ -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;AAGxC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,MAAM,MAAM,YAAY,GAAG,kBAAkB,CAAC;AAC9C,MAAM,MAAM,eAAe,GAAG,qBAAqB,CAAC;AACpD,MAAM,MAAM,eAAe,GAAG,qBAAqB,CAAC;AAEpD,MAAM,WAAW,eAAe;IAC9B,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,qBAAa,WAAW;IAEpB,OAAO,CAAC,EAAE;IACV,OAAO,CAAC,YAAY;gBADZ,EAAE,EAAE,EAAE,EACN,YAAY,EAAE,YAAY;YAGtB,cAAc;IAQtB,OAAO,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IA2C3C,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;IAKzC,SAAS,CAAC,MAAM,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IA0BpD,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IASrC,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IA+ChF,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,EAAE,eAAe,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;YA8C/E,oBAAoB;CAOnC"}
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.6",
3
+ "version": "0.2.9",
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 ./src/index.ts --outdir ./dist --target node && tsc --emitDeclarationOnly --declaration --outDir ./dist",
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.38.0",
26
- "ulid": "^2.3.0",
27
- "zod": "^4.3.5"
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": {