botnote 0.1.28 → 0.1.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 (47) hide show
  1. package/README.md +13 -4
  2. package/dist/bin.js +27 -8
  3. package/dist/bin.js.map +1 -1
  4. package/dist/cli.js +24 -0
  5. package/dist/cli.js.map +1 -1
  6. package/dist/db/migrations/0018_project_archived_at.sql +8 -0
  7. package/dist/db/migrations/0019_project_status.sql +20 -0
  8. package/dist/db/migrations/0020_project_archived_status.sql +20 -0
  9. package/dist/db/migrations/0021_workspace_settings.sql +18 -0
  10. package/dist/db/migrations/0022_recurrence_split.sql +13 -0
  11. package/dist/db/schema.d.ts +112 -0
  12. package/dist/db/schema.js +14 -1
  13. package/dist/db/schema.js.map +1 -1
  14. package/dist/mcp/http-client.d.ts +18 -1
  15. package/dist/mcp/http-client.js +25 -2
  16. package/dist/mcp/http-client.js.map +1 -1
  17. package/dist/mcp/server.js +75 -15
  18. package/dist/mcp/server.js.map +1 -1
  19. package/dist/rest/routes.js +120 -17
  20. package/dist/rest/routes.js.map +1 -1
  21. package/dist/service/dates.d.ts +11 -0
  22. package/dist/service/dates.js +31 -0
  23. package/dist/service/dates.js.map +1 -1
  24. package/dist/service/entities.js +52 -3
  25. package/dist/service/entities.js.map +1 -1
  26. package/dist/service/projects.d.ts +2 -2
  27. package/dist/service/projects.js +15 -4
  28. package/dist/service/projects.js.map +1 -1
  29. package/dist/service/recurrence.d.ts +64 -1
  30. package/dist/service/recurrence.js +382 -22
  31. package/dist/service/recurrence.js.map +1 -1
  32. package/dist/service/search.js +9 -4
  33. package/dist/service/search.js.map +1 -1
  34. package/dist/service/tasks.d.ts +15 -0
  35. package/dist/service/tasks.js +179 -3
  36. package/dist/service/tasks.js.map +1 -1
  37. package/dist/service/types.d.ts +133 -7
  38. package/dist/service/types.js +47 -7
  39. package/dist/service/types.js.map +1 -1
  40. package/dist/service/workspace_settings.d.ts +8 -0
  41. package/dist/service/workspace_settings.js +53 -0
  42. package/dist/service/workspace_settings.js.map +1 -0
  43. package/package.json +1 -1
  44. package/web/dist/assets/index-Bt8xPxDL.css +1 -0
  45. package/web/dist/assets/{index-D-Ojc9qs.js → index-DyioCifb.js} +139 -134
  46. package/web/dist/index.html +2 -2
  47. package/web/dist/assets/index-BLQefDfj.css +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"recurrence.js","sourceRoot":"","sources":["../../src/service/recurrence.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"recurrence.js","sourceRoot":"","sources":["../../src/service/recurrence.ts"],"names":[],"mappings":"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"}
@@ -18,11 +18,16 @@ export async function search(db, input, opts = {}) {
18
18
  ? sql `AND project_id = ${input.projectId}::uuid`
19
19
  : sql ``;
20
20
  const kindFilter = input.kind ? sql `AND kind = ${input.kind}` : sql ``;
21
+ const activeProjectFilter = input.projectId
22
+ ? sql ``
23
+ : sql `AND (project_id IS NULL OR project_id IN (
24
+ SELECT id FROM projects WHERE status <> 'archived'
25
+ ))`;
21
26
  const fetchN = Math.max(input.limit * 4, 40);
22
27
  const bm25Rows = (await db.execute(sql `
23
28
  SELECT id, ROW_NUMBER() OVER (ORDER BY ts_rank_cd(body_tsv, q) DESC) AS rank_pos
24
29
  FROM entities, websearch_to_tsquery('simple', ${input.query}) q
25
- WHERE body_tsv @@ q ${projectFilter} ${kindFilter}
30
+ WHERE body_tsv @@ q ${projectFilter} ${kindFilter} ${activeProjectFilter}
26
31
  ORDER BY ts_rank_cd(body_tsv, q) DESC
27
32
  LIMIT ${fetchN}
28
33
  `)).rows;
@@ -32,7 +37,7 @@ export async function search(db, input, opts = {}) {
32
37
  ROW_NUMBER() OVER (ORDER BY created_at DESC) AS rank_pos
33
38
  FROM entities
34
39
  WHERE (title ILIKE ${`%${input.query}%`} OR body ILIKE ${`%${input.query}%`})
35
- ${projectFilter} ${kindFilter}
40
+ ${projectFilter} ${kindFilter} ${activeProjectFilter}
36
41
  LIMIT ${fetchN}
37
42
  `)).rows
38
43
  : [];
@@ -42,7 +47,7 @@ export async function search(db, input, opts = {}) {
42
47
  vecRows = (await db.execute(sql `
43
48
  SELECT id, ROW_NUMBER() OVER (ORDER BY body_vec <=> ${vecLiteral}::vector) AS rank_pos
44
49
  FROM entities
45
- WHERE body_vec IS NOT NULL ${projectFilter} ${kindFilter}
50
+ WHERE body_vec IS NOT NULL ${projectFilter} ${kindFilter} ${activeProjectFilter}
46
51
  ORDER BY body_vec <=> ${vecLiteral}::vector
47
52
  LIMIT ${fetchN}
48
53
  `)).rows;
@@ -50,7 +55,7 @@ export async function search(db, input, opts = {}) {
50
55
  const timeRows = (await db.execute(sql `
51
56
  SELECT id, ROW_NUMBER() OVER (ORDER BY created_at DESC) AS rank_pos
52
57
  FROM entities
53
- WHERE 1=1 ${projectFilter} ${kindFilter}
58
+ WHERE 1=1 ${projectFilter} ${kindFilter} ${activeProjectFilter}
54
59
  ORDER BY created_at DESC
55
60
  LIMIT ${fetchN}
56
61
  `)).rows;
@@ -1 +1 @@
1
- {"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/service/search.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/service/search.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,25 @@
1
1
  import type { Database } from "../db/client.js";
2
2
  import { type Entity } from "../db/schema.js";
3
3
  import type { TasksRangeInput } from "./types.js";
4
+ export interface VirtualOccurrence {
5
+ virtual: true;
6
+ id: string;
7
+ ruleId: string;
8
+ seriesId: string;
9
+ occurrenceAt: string;
10
+ dueAt: string;
11
+ title: string | null;
12
+ projectId: string | null;
13
+ priority: string;
14
+ allDay: boolean;
15
+ timezone: string;
16
+ rrule: string;
17
+ }
4
18
  export interface TasksRangeResult {
5
19
  scheduled: Entity[];
6
20
  overdue: Entity[];
7
21
  backlog: Entity[];
22
+ virtualOccurrences: VirtualOccurrence[];
8
23
  }
9
24
  /**
10
25
  * Tasks in a date range, split into scheduled / overdue / backlog buckets.
@@ -1,5 +1,20 @@
1
- import { and, asc, desc, eq, gte, inArray, isNotNull, isNull, lt, ne, or } from "drizzle-orm";
2
- import { entities } from "../db/schema.js";
1
+ import { and, asc, desc, eq, gte, inArray, isNotNull, isNull, lt, lte, ne, or, sql } from "drizzle-orm";
2
+ import { entities, recurrenceExceptions, recurrenceRules } from "../db/schema.js";
3
+ import { buildRRule, materializeScheduledRecurrences, normalizeOccurrenceDueAt } from "./recurrence.js";
4
+ function endOfToday(now) {
5
+ const end = new Date(now);
6
+ end.setHours(23, 59, 59, 999);
7
+ return end;
8
+ }
9
+ function materializationHorizon(input, now) {
10
+ const todayEnd = endOfToday(now);
11
+ if (!input.to)
12
+ return todayEnd;
13
+ const requestedEnd = new Date(input.to);
14
+ if (Number.isNaN(requestedEnd.getTime()))
15
+ return todayEnd;
16
+ return requestedEnd.getTime() < todayEnd.getTime() ? requestedEnd : todayEnd;
17
+ }
3
18
  /**
4
19
  * Tasks in a date range, split into scheduled / overdue / backlog buckets.
5
20
  *
@@ -16,9 +31,15 @@ import { entities } from "../db/schema.js";
16
31
  */
17
32
  export async function tasksRange(db, input) {
18
33
  const now = new Date();
34
+ await materializeScheduledRecurrences(db, materializationHorizon(input, now));
19
35
  const projectFilter = input.projectIds?.length
20
36
  ? inArray(entities.projectId, input.projectIds)
21
37
  : undefined;
38
+ const activeProjectFilter = projectFilter
39
+ ? undefined
40
+ : sql `(${entities.projectId} IS NULL OR ${entities.projectId} IN (
41
+ SELECT id FROM projects WHERE status <> 'archived'
42
+ ))`;
22
43
  // Base filter applied to every bucket: only tasks, optional project filter,
23
44
  // and the includeDone toggle.
24
45
  const baseConds = [eq(entities.kind, "task")];
@@ -27,6 +48,8 @@ export async function tasksRange(db, input) {
27
48
  }
28
49
  if (projectFilter)
29
50
  baseConds.push(projectFilter);
51
+ if (activeProjectFilter)
52
+ baseConds.push(activeProjectFilter);
30
53
  // Three independent passes, unioned in JS. Drizzle's `or` keeps the SQL
31
54
  // clear and the partial completed_at index keeps the done-pass cheap.
32
55
  const inRange = (col) => {
@@ -63,6 +86,8 @@ export async function tasksRange(db, input) {
63
86
  ];
64
87
  if (projectFilter)
65
88
  doneByCompletedConds.push(projectFilter);
89
+ if (activeProjectFilter)
90
+ doneByCompletedConds.push(activeProjectFilter);
66
91
  const completedRows = await db
67
92
  .select()
68
93
  .from(entities)
@@ -76,6 +101,8 @@ export async function tasksRange(db, input) {
76
101
  ];
77
102
  if (projectFilter)
78
103
  legacyDoneConds.push(projectFilter);
104
+ if (activeProjectFilter)
105
+ legacyDoneConds.push(activeProjectFilter);
79
106
  const legacyRows = await db
80
107
  .select()
81
108
  .from(entities)
@@ -92,6 +119,8 @@ export async function tasksRange(db, input) {
92
119
  const ipConds = [eq(entities.kind, "task"), eq(entities.status, "in_progress")];
93
120
  if (projectFilter)
94
121
  ipConds.push(projectFilter);
122
+ if (activeProjectFilter)
123
+ ipConds.push(activeProjectFilter);
95
124
  inProgressToday = await db
96
125
  .select()
97
126
  .from(entities)
@@ -122,6 +151,8 @@ export async function tasksRange(db, input) {
122
151
  ];
123
152
  if (projectFilter)
124
153
  overdueConds.push(projectFilter);
154
+ if (activeProjectFilter)
155
+ overdueConds.push(activeProjectFilter);
125
156
  const overdue = await db
126
157
  .select()
127
158
  .from(entities)
@@ -136,6 +167,151 @@ export async function tasksRange(db, input) {
136
167
  .orderBy(desc(entities.createdAt))
137
168
  .limit(200);
138
169
  }
139
- return { scheduled, overdue, backlog };
170
+ const virtualOccurrences = await expandVirtualOccurrences(db, input, scheduled);
171
+ return { scheduled, overdue, backlog, virtualOccurrences };
172
+ }
173
+ /**
174
+ * Compute "ghost" virtual occurrences for all active scheduled-anchor
175
+ * recurrence rules within the query window. These are NOT stored in the DB;
176
+ * they are ephemeral previews of future materialization.
177
+ *
178
+ * HARD BOUNDARY: only called when input.includeVirtualRecurrences is true.
179
+ * The window is clamped to [max(input.from, now), input.to) so only strictly
180
+ * future ghosts are returned.
181
+ */
182
+ async function expandVirtualOccurrences(db, input, realScheduled) {
183
+ // Guard: feature must be explicitly requested and a horizon must be present.
184
+ if (!input.includeVirtualRecurrences || !input.to)
185
+ return [];
186
+ const now = new Date();
187
+ const windowStart = new Date(Math.max((input.from ? new Date(input.from).getTime() : now.getTime()), now.getTime()));
188
+ const windowEnd = new Date(input.to);
189
+ if (windowStart.getTime() >= windowEnd.getTime())
190
+ return [];
191
+ // --- Query 1: candidate rules (enabled, scheduled, not ended before window) ---
192
+ const candidateRules = await db
193
+ .select()
194
+ .from(recurrenceRules)
195
+ .where(and(eq(recurrenceRules.enabled, true), eq(recurrenceRules.anchor, "scheduled"), lte(recurrenceRules.dtstart, windowEnd), or(isNull(recurrenceRules.endedAt),
196
+ // endedAt >= windowStart means rule may still have occurrences in window
197
+ gte(recurrenceRules.endedAt, windowStart))));
198
+ if (candidateRules.length === 0)
199
+ return [];
200
+ // --- Query 2: batch-fetch display-source entities ---
201
+ // For each rule: display source = currentOccurrenceId ?? seriesId
202
+ const displaySourceIds = candidateRules.map((r) => r.currentOccurrenceId ?? r.seriesId);
203
+ const uniqueDisplaySourceIds = [...new Set(displaySourceIds)];
204
+ const displaySourceRows = await db
205
+ .select()
206
+ .from(entities)
207
+ .where(inArray(entities.id, uniqueDisplaySourceIds));
208
+ const displaySourceById = new Map(displaySourceRows.map((e) => [e.id, e]));
209
+ // --- Query 3: batch-fetch this-only baselines for display sources ---
210
+ // These are 'modified' exceptions where the baseline records what the
211
+ // pre-edit value was; we apply them so a this-only edit on the current
212
+ // occurrence is NOT reflected in the ghost (the ghost should show what
213
+ // materialization will actually generate, which reverts this-only edits).
214
+ const modifiedExceptions = await db
215
+ .select()
216
+ .from(recurrenceExceptions)
217
+ .where(and(inArray(recurrenceExceptions.entityId, uniqueDisplaySourceIds), eq(recurrenceExceptions.action, "modified")));
218
+ // Map entityId → baseline (the pre-edit / series-default value)
219
+ const baselineByEntityId = new Map();
220
+ for (const exc of modifiedExceptions) {
221
+ if (!exc.entityId)
222
+ continue;
223
+ const meta = exc.metadata;
224
+ const baseline = meta?.baseline;
225
+ if (baseline && typeof baseline === "object" && !Array.isArray(baseline)) {
226
+ baselineByEntityId.set(exc.entityId, baseline);
227
+ }
228
+ }
229
+ // --- Query 4: batch-fetch exceptions for subtraction ---
230
+ const ruleIds = candidateRules.map((r) => r.id);
231
+ const exceptionRows = await db
232
+ .select()
233
+ .from(recurrenceExceptions)
234
+ .where(and(inArray(recurrenceExceptions.ruleId, ruleIds), gte(recurrenceExceptions.occurrenceAt, windowStart), lt(recurrenceExceptions.occurrenceAt, windowEnd)));
235
+ // Group exceptions by ruleId; track the blocked occurrence timestamps on the
236
+ // SAME normalized timeline used for the ghosts below (occurrenceAt is already
237
+ // stored normalized, so re-normalizing is idempotent — but it keeps the
238
+ // exception and materialized subtractions on one consistent timeline even for
239
+ // extreme timezones where a raw RRule date and its normalized dueAt differ).
240
+ const ruleById = new Map(candidateRules.map((r) => [r.id, r]));
241
+ const blockedByRule = new Map();
242
+ for (const exc of exceptionRows) {
243
+ if (exc.action === "skipped" || exc.action === "cancelled" || exc.action === "modified") {
244
+ const rule = ruleById.get(exc.ruleId);
245
+ if (!rule)
246
+ continue;
247
+ if (!blockedByRule.has(exc.ruleId))
248
+ blockedByRule.set(exc.ruleId, new Set());
249
+ blockedByRule.get(exc.ruleId).add(normalizeOccurrenceDueAt(rule, exc.occurrenceAt).getTime());
250
+ }
251
+ }
252
+ // Build a set of (ruleId, normalizedDueAt ms) that are already materialized
253
+ // so we can subtract them from virtuals.
254
+ const realByRule = new Map();
255
+ for (const e of realScheduled) {
256
+ const meta = e.metadata;
257
+ const ruleId = meta?.recurrence?.ruleId;
258
+ if (!ruleId || !e.dueAt)
259
+ continue;
260
+ if (!realByRule.has(ruleId))
261
+ realByRule.set(ruleId, new Set());
262
+ realByRule.get(ruleId).add(e.dueAt.getTime());
263
+ }
264
+ // --- Expand per rule ---
265
+ const virtuals = [];
266
+ for (const rule of candidateRules) {
267
+ const displaySourceId = rule.currentOccurrenceId ?? rule.seriesId;
268
+ const displaySource = displaySourceById.get(displaySourceId);
269
+ if (!displaySource)
270
+ continue;
271
+ // Project filter
272
+ if (input.projectIds?.length) {
273
+ if (!displaySource.projectId || !input.projectIds.includes(displaySource.projectId))
274
+ continue;
275
+ }
276
+ // Resolve effective title and priority (apply baseline to revert this-only edits)
277
+ const baseline = baselineByEntityId.get(displaySourceId);
278
+ const effectiveTitle = baseline && "title" in baseline
279
+ ? baseline.title
280
+ : displaySource.title;
281
+ const effectivePriority = baseline && "priority" in baseline
282
+ ? (baseline.priority ?? "none")
283
+ : displaySource.priority;
284
+ // Expand RRule within window
285
+ const rruleInstance = buildRRule(rule, rule.dtstart);
286
+ const rawDates = rruleInstance.between(windowStart, windowEnd, true);
287
+ const blockedTimes = blockedByRule.get(rule.id);
288
+ const realTimes = realByRule.get(rule.id);
289
+ for (const rawDate of rawDates) {
290
+ const normalizedDate = normalizeOccurrenceDueAt(rule, rawDate);
291
+ const normalizedMs = normalizedDate.getTime();
292
+ // Subtract: blocked by a skip/cancel/modify exception (normalized timeline)
293
+ if (blockedTimes?.has(normalizedMs))
294
+ continue;
295
+ // Subtract: already materialized as a real entity (match by normalized dueAt)
296
+ if (realTimes?.has(normalizedMs))
297
+ continue;
298
+ const dueAtISO = normalizedDate.toISOString();
299
+ virtuals.push({
300
+ virtual: true,
301
+ id: `virtual:${rule.id}:${dueAtISO}`,
302
+ ruleId: rule.id,
303
+ seriesId: rule.seriesId,
304
+ occurrenceAt: rawDate.toISOString(),
305
+ dueAt: dueAtISO,
306
+ title: effectiveTitle,
307
+ projectId: displaySource.projectId,
308
+ priority: effectivePriority,
309
+ allDay: rule.allDay,
310
+ timezone: rule.timezone,
311
+ rrule: rule.rrule
312
+ });
313
+ }
314
+ }
315
+ return virtuals;
140
316
  }
141
317
  //# sourceMappingURL=tasks.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tasks.js","sourceRoot":"","sources":["../../src/service/tasks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tasks.js","sourceRoot":"","sources":["../../src/service/tasks.ts"],"names":[],"mappings":"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"}