@gamflaz/opencode-todolist 1.0.12 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,470 @@
1
+ {
2
+ "version": "7",
3
+ "dialect": "sqlite",
4
+ "id": "8dc886a5-fb13-44b1-9095-ea4f4d341e5c",
5
+ "prevIds": [
6
+ "00000000-0000-0000-0000-000000000000"
7
+ ],
8
+ "ddl": [
9
+ {
10
+ "name": "tag",
11
+ "entityType": "tables"
12
+ },
13
+ {
14
+ "name": "todo_item",
15
+ "entityType": "tables"
16
+ },
17
+ {
18
+ "name": "todo_item_dependency",
19
+ "entityType": "tables"
20
+ },
21
+ {
22
+ "name": "todo_item_tag",
23
+ "entityType": "tables"
24
+ },
25
+ {
26
+ "name": "todo_session",
27
+ "entityType": "tables"
28
+ },
29
+ {
30
+ "type": "text",
31
+ "notNull": false,
32
+ "autoincrement": false,
33
+ "default": null,
34
+ "generated": null,
35
+ "name": "id",
36
+ "entityType": "columns",
37
+ "table": "tag"
38
+ },
39
+ {
40
+ "type": "text",
41
+ "notNull": true,
42
+ "autoincrement": false,
43
+ "default": null,
44
+ "generated": null,
45
+ "name": "name",
46
+ "entityType": "columns",
47
+ "table": "tag"
48
+ },
49
+ {
50
+ "type": "text",
51
+ "notNull": true,
52
+ "autoincrement": false,
53
+ "default": null,
54
+ "generated": null,
55
+ "name": "session_key",
56
+ "entityType": "columns",
57
+ "table": "todo_item"
58
+ },
59
+ {
60
+ "type": "text",
61
+ "notNull": true,
62
+ "autoincrement": false,
63
+ "default": null,
64
+ "generated": null,
65
+ "name": "id",
66
+ "entityType": "columns",
67
+ "table": "todo_item"
68
+ },
69
+ {
70
+ "type": "text",
71
+ "notNull": false,
72
+ "autoincrement": false,
73
+ "default": null,
74
+ "generated": null,
75
+ "name": "parent_id",
76
+ "entityType": "columns",
77
+ "table": "todo_item"
78
+ },
79
+ {
80
+ "type": "text",
81
+ "notNull": true,
82
+ "autoincrement": false,
83
+ "default": null,
84
+ "generated": null,
85
+ "name": "content",
86
+ "entityType": "columns",
87
+ "table": "todo_item"
88
+ },
89
+ {
90
+ "type": "text",
91
+ "notNull": true,
92
+ "autoincrement": false,
93
+ "default": null,
94
+ "generated": null,
95
+ "name": "status",
96
+ "entityType": "columns",
97
+ "table": "todo_item"
98
+ },
99
+ {
100
+ "type": "text",
101
+ "notNull": false,
102
+ "autoincrement": false,
103
+ "default": null,
104
+ "generated": null,
105
+ "name": "priority",
106
+ "entityType": "columns",
107
+ "table": "todo_item"
108
+ },
109
+ {
110
+ "type": "text",
111
+ "notNull": false,
112
+ "autoincrement": false,
113
+ "default": null,
114
+ "generated": null,
115
+ "name": "note",
116
+ "entityType": "columns",
117
+ "table": "todo_item"
118
+ },
119
+ {
120
+ "type": "integer",
121
+ "notNull": true,
122
+ "autoincrement": false,
123
+ "default": null,
124
+ "generated": null,
125
+ "name": "position",
126
+ "entityType": "columns",
127
+ "table": "todo_item"
128
+ },
129
+ {
130
+ "type": "text",
131
+ "notNull": true,
132
+ "autoincrement": false,
133
+ "default": null,
134
+ "generated": null,
135
+ "name": "session_key",
136
+ "entityType": "columns",
137
+ "table": "todo_item_dependency"
138
+ },
139
+ {
140
+ "type": "text",
141
+ "notNull": true,
142
+ "autoincrement": false,
143
+ "default": null,
144
+ "generated": null,
145
+ "name": "todo_id",
146
+ "entityType": "columns",
147
+ "table": "todo_item_dependency"
148
+ },
149
+ {
150
+ "type": "text",
151
+ "notNull": true,
152
+ "autoincrement": false,
153
+ "default": null,
154
+ "generated": null,
155
+ "name": "depends_on_id",
156
+ "entityType": "columns",
157
+ "table": "todo_item_dependency"
158
+ },
159
+ {
160
+ "type": "text",
161
+ "notNull": true,
162
+ "autoincrement": false,
163
+ "default": null,
164
+ "generated": null,
165
+ "name": "session_key",
166
+ "entityType": "columns",
167
+ "table": "todo_item_tag"
168
+ },
169
+ {
170
+ "type": "text",
171
+ "notNull": true,
172
+ "autoincrement": false,
173
+ "default": null,
174
+ "generated": null,
175
+ "name": "todo_id",
176
+ "entityType": "columns",
177
+ "table": "todo_item_tag"
178
+ },
179
+ {
180
+ "type": "text",
181
+ "notNull": true,
182
+ "autoincrement": false,
183
+ "default": null,
184
+ "generated": null,
185
+ "name": "tag_id",
186
+ "entityType": "columns",
187
+ "table": "todo_item_tag"
188
+ },
189
+ {
190
+ "type": "text",
191
+ "notNull": false,
192
+ "autoincrement": false,
193
+ "default": null,
194
+ "generated": null,
195
+ "name": "session_key",
196
+ "entityType": "columns",
197
+ "table": "todo_session"
198
+ },
199
+ {
200
+ "type": "integer",
201
+ "notNull": true,
202
+ "autoincrement": false,
203
+ "default": "0",
204
+ "generated": null,
205
+ "name": "revision",
206
+ "entityType": "columns",
207
+ "table": "todo_session"
208
+ },
209
+ {
210
+ "type": "integer",
211
+ "notNull": true,
212
+ "autoincrement": false,
213
+ "default": "0",
214
+ "generated": null,
215
+ "name": "hint_revision",
216
+ "entityType": "columns",
217
+ "table": "todo_session"
218
+ },
219
+ {
220
+ "type": "text",
221
+ "notNull": true,
222
+ "autoincrement": false,
223
+ "default": null,
224
+ "generated": null,
225
+ "name": "created_at",
226
+ "entityType": "columns",
227
+ "table": "todo_session"
228
+ },
229
+ {
230
+ "type": "text",
231
+ "notNull": true,
232
+ "autoincrement": false,
233
+ "default": null,
234
+ "generated": null,
235
+ "name": "updated_at",
236
+ "entityType": "columns",
237
+ "table": "todo_session"
238
+ },
239
+ {
240
+ "columns": [
241
+ "session_key"
242
+ ],
243
+ "tableTo": "todo_session",
244
+ "columnsTo": [
245
+ "session_key"
246
+ ],
247
+ "onUpdate": "NO ACTION",
248
+ "onDelete": "CASCADE",
249
+ "nameExplicit": false,
250
+ "name": "fk_todo_item_session_key_todo_session_session_key_fk",
251
+ "entityType": "fks",
252
+ "table": "todo_item"
253
+ },
254
+ {
255
+ "columns": [
256
+ "session_key",
257
+ "parent_id"
258
+ ],
259
+ "tableTo": "todo_item",
260
+ "columnsTo": [
261
+ "session_key",
262
+ "id"
263
+ ],
264
+ "onUpdate": "NO ACTION",
265
+ "onDelete": "CASCADE",
266
+ "nameExplicit": false,
267
+ "name": "fk_todo_item_session_key_parent_id_todo_item_session_key_id_fk",
268
+ "entityType": "fks",
269
+ "table": "todo_item"
270
+ },
271
+ {
272
+ "columns": [
273
+ "session_key",
274
+ "todo_id"
275
+ ],
276
+ "tableTo": "todo_item",
277
+ "columnsTo": [
278
+ "session_key",
279
+ "id"
280
+ ],
281
+ "onUpdate": "NO ACTION",
282
+ "onDelete": "CASCADE",
283
+ "nameExplicit": false,
284
+ "name": "fk_todo_item_dependency_session_key_todo_id_todo_item_session_key_id_fk",
285
+ "entityType": "fks",
286
+ "table": "todo_item_dependency"
287
+ },
288
+ {
289
+ "columns": [
290
+ "session_key",
291
+ "depends_on_id"
292
+ ],
293
+ "tableTo": "todo_item",
294
+ "columnsTo": [
295
+ "session_key",
296
+ "id"
297
+ ],
298
+ "onUpdate": "NO ACTION",
299
+ "onDelete": "CASCADE",
300
+ "nameExplicit": false,
301
+ "name": "fk_todo_item_dependency_session_key_depends_on_id_todo_item_session_key_id_fk",
302
+ "entityType": "fks",
303
+ "table": "todo_item_dependency"
304
+ },
305
+ {
306
+ "columns": [
307
+ "session_key",
308
+ "todo_id"
309
+ ],
310
+ "tableTo": "todo_item",
311
+ "columnsTo": [
312
+ "session_key",
313
+ "id"
314
+ ],
315
+ "onUpdate": "NO ACTION",
316
+ "onDelete": "CASCADE",
317
+ "nameExplicit": false,
318
+ "name": "fk_todo_item_tag_session_key_todo_id_todo_item_session_key_id_fk",
319
+ "entityType": "fks",
320
+ "table": "todo_item_tag"
321
+ },
322
+ {
323
+ "columns": [
324
+ "tag_id"
325
+ ],
326
+ "tableTo": "tag",
327
+ "columnsTo": [
328
+ "id"
329
+ ],
330
+ "onUpdate": "NO ACTION",
331
+ "onDelete": "CASCADE",
332
+ "nameExplicit": false,
333
+ "name": "fk_todo_item_tag_tag_id_tag_id_fk",
334
+ "entityType": "fks",
335
+ "table": "todo_item_tag"
336
+ },
337
+ {
338
+ "columns": [
339
+ "session_key",
340
+ "id"
341
+ ],
342
+ "nameExplicit": false,
343
+ "name": "todo_item_pk",
344
+ "entityType": "pks",
345
+ "table": "todo_item"
346
+ },
347
+ {
348
+ "columns": [
349
+ "session_key",
350
+ "todo_id",
351
+ "depends_on_id"
352
+ ],
353
+ "nameExplicit": false,
354
+ "name": "todo_item_dependency_pk",
355
+ "entityType": "pks",
356
+ "table": "todo_item_dependency"
357
+ },
358
+ {
359
+ "columns": [
360
+ "session_key",
361
+ "todo_id",
362
+ "tag_id"
363
+ ],
364
+ "nameExplicit": false,
365
+ "name": "todo_item_tag_pk",
366
+ "entityType": "pks",
367
+ "table": "todo_item_tag"
368
+ },
369
+ {
370
+ "columns": [
371
+ "id"
372
+ ],
373
+ "nameExplicit": false,
374
+ "name": "tag_pk",
375
+ "table": "tag",
376
+ "entityType": "pks"
377
+ },
378
+ {
379
+ "columns": [
380
+ "session_key"
381
+ ],
382
+ "nameExplicit": false,
383
+ "name": "todo_session_pk",
384
+ "table": "todo_session",
385
+ "entityType": "pks"
386
+ },
387
+ {
388
+ "columns": [
389
+ {
390
+ "value": "session_key",
391
+ "isExpression": false
392
+ },
393
+ {
394
+ "value": "position",
395
+ "isExpression": false
396
+ }
397
+ ],
398
+ "isUnique": false,
399
+ "where": null,
400
+ "origin": "manual",
401
+ "name": "todo_item_session_position_idx",
402
+ "entityType": "indexes",
403
+ "table": "todo_item"
404
+ },
405
+ {
406
+ "columns": [
407
+ {
408
+ "value": "session_key",
409
+ "isExpression": false
410
+ },
411
+ {
412
+ "value": "todo_id",
413
+ "isExpression": false
414
+ },
415
+ {
416
+ "value": "depends_on_id",
417
+ "isExpression": false
418
+ }
419
+ ],
420
+ "isUnique": true,
421
+ "where": null,
422
+ "origin": "manual",
423
+ "name": "todo_item_dependency_pair_idx",
424
+ "entityType": "indexes",
425
+ "table": "todo_item_dependency"
426
+ },
427
+ {
428
+ "columns": [
429
+ {
430
+ "value": "session_key",
431
+ "isExpression": false
432
+ },
433
+ {
434
+ "value": "depends_on_id",
435
+ "isExpression": false
436
+ }
437
+ ],
438
+ "isUnique": false,
439
+ "where": null,
440
+ "origin": "manual",
441
+ "name": "todo_item_dependency_depends_on_idx",
442
+ "entityType": "indexes",
443
+ "table": "todo_item_dependency"
444
+ },
445
+ {
446
+ "columns": [
447
+ {
448
+ "value": "tag_id",
449
+ "isExpression": false
450
+ }
451
+ ],
452
+ "isUnique": false,
453
+ "where": null,
454
+ "origin": "manual",
455
+ "name": "todo_item_tag_tag_idx",
456
+ "entityType": "indexes",
457
+ "table": "todo_item_tag"
458
+ },
459
+ {
460
+ "columns": [
461
+ "name"
462
+ ],
463
+ "nameExplicit": false,
464
+ "name": "tag_name_unique",
465
+ "entityType": "uniques",
466
+ "table": "tag"
467
+ }
468
+ ],
469
+ "renames": []
470
+ }
package/package.json CHANGED
@@ -1,10 +1,11 @@
1
1
  {
2
2
  "name": "@gamflaz/opencode-todolist",
3
- "version": "1.0.12",
3
+ "version": "1.1.0",
4
4
  "description": "Hierarchical todo list plugin for OpenCode with a real-time TUI widget.",
5
5
  "type": "module",
6
6
  "files": [
7
7
  "dist/",
8
+ "drizzle/",
8
9
  "index.js",
9
10
  "tui.js",
10
11
  "skills/",
@@ -45,16 +46,17 @@
45
46
  "compile": "bun run build && node scripts/build-jsx.mjs",
46
47
  "build:jsx": "node scripts/build-jsx.mjs",
47
48
  "dev": "tsc-watch -p tsconfig.build.json --onSuccess \"node scripts/build-jsx.mjs\"",
48
- "test": "bun test/icon.test.ts && bun test/skill.test.ts && bun test/skill.folder.test.ts",
49
+ "test": "bun test/icon.test.ts && bun test/todo.test.ts && bun test/storage.sqlite.test.ts && bun test/skill.test.ts && bun test/skill.folder.test.ts",
50
+ "test:render": "bun --conditions=browser test/glyph.render.test.tsx",
49
51
  "test:todo": "bun test/todo.test.ts",
50
52
  "typecheck": "tsc --noEmit",
51
53
  "check": "bun run typecheck && bun run test",
52
54
  "update": "git pull && bun run check && bun run compile"
53
55
  },
54
56
  "devDependencies": {
55
- "@types/bun": "latest",
57
+ "@types/bun": "^1.4.3",
56
58
  "@types/node": "^26.6.5",
57
- "@types/proper-lockfile": "^4.1.4",
59
+ "drizzle-kit": "^1.0.0-rc.4",
58
60
  "tsc-watch": "^7.2.1",
59
61
  "typescript": "^7.0.2"
60
62
  },
@@ -63,7 +65,7 @@
63
65
  "@opentui/core": "0.5.17",
64
66
  "@opentui/solid": "0.5.17",
65
67
  "@resvg/resvg-js": "^2.6.2",
66
- "proper-lockfile": "^4.1.2",
68
+ "drizzle-orm": "^1.0.0-rc.4",
67
69
  "solid-js": "1.9.12",
68
70
  "zod": "^4.6.6"
69
71
  },