things-api 0.12.0 → 0.14.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.
- package/README.md +2 -2
- package/dist/cli/canonical-ref.d.ts +21 -0
- package/dist/cli/canonical-ref.js +23 -0
- package/dist/cli/canonical-ref.js.map +1 -0
- package/dist/cli/commands/area.d.ts +5 -5
- package/dist/cli/commands/area.js +39 -18
- package/dist/cli/commands/area.js.map +1 -1
- package/dist/cli/commands/install-skill.d.ts +2 -2
- package/dist/cli/commands/install-skill.js +29 -0
- package/dist/cli/commands/install-skill.js.map +1 -1
- package/dist/cli/commands/mcp.js +12 -1
- package/dist/cli/commands/mcp.js.map +1 -1
- package/dist/cli/commands/project.js +74 -22
- package/dist/cli/commands/project.js.map +1 -1
- package/dist/cli/commands/reads.d.ts +5 -1
- package/dist/cli/commands/reads.js +31 -15
- package/dist/cli/commands/reads.js.map +1 -1
- package/dist/cli/commands/setup.js +11 -4
- package/dist/cli/commands/setup.js.map +1 -1
- package/dist/cli/commands/show.js +51 -32
- package/dist/cli/commands/show.js.map +1 -1
- package/dist/cli/commands/todo.js +2 -2
- package/dist/cli/commands/todo.js.map +1 -1
- package/dist/cli/commands/writes.js +138 -67
- package/dist/cli/commands/writes.js.map +1 -1
- package/dist/cli/did-you-mean.js +19 -5
- package/dist/cli/did-you-mean.js.map +1 -1
- package/dist/cli/dry-run.d.ts +55 -0
- package/dist/cli/dry-run.js +92 -0
- package/dist/cli/dry-run.js.map +1 -0
- package/dist/cli/glyphs.d.ts +9 -2
- package/dist/cli/glyphs.js +11 -5
- package/dist/cli/glyphs.js.map +1 -1
- package/dist/cli/help.js +7 -6
- package/dist/cli/help.js.map +1 -1
- package/dist/cli/main.js +7 -0
- package/dist/cli/main.js.map +1 -1
- package/dist/cli/read-driver.d.ts +47 -7
- package/dist/cli/read-driver.js +43 -21
- package/dist/cli/read-driver.js.map +1 -1
- package/dist/cli/ref-render.d.ts +14 -0
- package/dist/cli/ref-render.js +9 -0
- package/dist/cli/ref-render.js.map +1 -0
- package/dist/cli/render.d.ts +39 -25
- package/dist/cli/render.js +102 -62
- package/dist/cli/render.js.map +1 -1
- package/dist/cli/resolve-invocation.d.ts +5 -3
- package/dist/cli/resolve-invocation.js +13 -4
- package/dist/cli/resolve-invocation.js.map +1 -1
- package/dist/client.d.ts +100 -32
- package/dist/client.js +63 -19
- package/dist/client.js.map +1 -1
- package/dist/contracts.d.ts +34 -33
- package/dist/contracts.js +1 -1
- package/dist/contracts.js.map +1 -1
- package/dist/db/baselines/db-v26.js +4 -1
- package/dist/db/baselines/db-v26.js.map +1 -1
- package/dist/index.d.ts +8 -5
- package/dist/index.js +9 -2
- package/dist/index.js.map +1 -1
- package/dist/mcp/server.js +192 -139
- package/dist/mcp/server.js.map +1 -1
- package/dist/model/dates.d.ts +26 -0
- package/dist/model/dates.js +46 -4
- package/dist/model/dates.js.map +1 -1
- package/dist/model/entities.d.ts +11 -1
- package/dist/model/entities.js.map +1 -1
- package/dist/model/mappers.js +3 -0
- package/dist/model/mappers.js.map +1 -1
- package/dist/model/serialize.js +15 -3
- package/dist/model/serialize.js.map +1 -1
- package/dist/read/area-filter.d.ts +2 -2
- package/dist/read/area-filter.js +3 -3
- package/dist/read/area-filter.js.map +1 -1
- package/dist/read/project-view.d.ts +76 -1
- package/dist/read/project-view.js +80 -9
- package/dist/read/project-view.js.map +1 -1
- package/dist/read/queries.d.ts +71 -2
- package/dist/read/queries.js +199 -10
- package/dist/read/queries.js.map +1 -1
- package/dist/read/scope.d.ts +2 -2
- package/dist/read/scope.js +3 -3
- package/dist/read/scope.js.map +1 -1
- package/dist/read/shape.d.ts +87 -9
- package/dist/read/shape.js +483 -124
- package/dist/read/shape.js.map +1 -1
- package/dist/read/show-target.js +52 -33
- package/dist/read/show-target.js.map +1 -1
- package/dist/read/truncation.d.ts +73 -7
- package/dist/read/truncation.js +62 -29
- package/dist/read/truncation.js.map +1 -1
- package/dist/read/views.d.ts +20 -7
- package/dist/read/views.js +7 -7
- package/dist/read/views.js.map +1 -1
- package/dist/surface-copy.d.ts +13 -0
- package/dist/surface-copy.js +13 -0
- package/dist/surface-copy.js.map +1 -1
- package/dist/write/batch.js +0 -1
- package/dist/write/batch.js.map +1 -1
- package/dist/write/commands.d.ts +25 -1
- package/dist/write/commands.js +259 -122
- package/dist/write/commands.js.map +1 -1
- package/dist/write/guards.js +27 -11
- package/dist/write/guards.js.map +1 -1
- package/dist/write/move.d.ts +34 -9
- package/dist/write/move.js +730 -78
- package/dist/write/move.js.map +1 -1
- package/dist/write/operations.d.ts +50 -20
- package/dist/write/operations.js +2 -2
- package/dist/write/operations.js.map +1 -1
- package/dist/write/pipeline.js +25 -4
- package/dist/write/pipeline.js.map +1 -1
- package/dist/write/pre-state.d.ts +58 -28
- package/dist/write/pre-state.js +247 -49
- package/dist/write/pre-state.js.map +1 -1
- package/dist/write/reorder.js +266 -32
- package/dist/write/reorder.js.map +1 -1
- package/dist/write/resolution-timestamps.d.ts +34 -0
- package/dist/write/resolution-timestamps.js +286 -0
- package/dist/write/resolution-timestamps.js.map +1 -0
- package/dist/write/reversibility.js +5 -5
- package/dist/write/reversibility.js.map +1 -1
- package/dist/write/scope-guard.js +0 -5
- package/dist/write/scope-guard.js.map +1 -1
- package/dist/write/undo.d.ts +0 -6
- package/dist/write/undo.js +44 -4
- package/dist/write/undo.js.map +1 -1
- package/dist/write/vectors/applescript.js +14 -4
- package/dist/write/vectors/applescript.js.map +1 -1
- package/dist/write/vectors/url-scheme.js +0 -8
- package/dist/write/vectors/url-scheme.js.map +1 -1
- package/dist/write/verify/delta.d.ts +16 -2
- package/dist/write/verify/delta.js +21 -2
- package/dist/write/verify/delta.js.map +1 -1
- package/package.json +1 -1
- package/schema/envelope.schema.json +16 -78
- package/skills/things-cli/SKILL.md +10 -6
- package/skills/things-cli/references/contracts.md +3 -2
- package/skills/things-cli/references/errors.md +9 -1
- package/skills/things-cli/references/model.md +9 -7
- package/skills/things-cli/references/ordering.md +36 -10
package/dist/read/queries.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { q, selectList } from "../db/schema.js";
|
|
2
2
|
import { TASK_TYPE_FROM_DB } from "../model/entities.js";
|
|
3
|
-
import { candidateRef, CANDIDATE_CAP } from "./shape.js";
|
|
3
|
+
import { candidateRef, CANDIDATE_CAP, } from "./shape.js";
|
|
4
4
|
/** Rows that repeat via a template are normal; template rows are invisible in list views. */
|
|
5
5
|
export const NOT_TEMPLATE = "(t.rt1_recurrenceRule IS NULL AND t.repeater IS NULL)";
|
|
6
6
|
/** ` AND col IN (…)` for the restricted form; empty for the tag-agnostic form. */
|
|
@@ -234,6 +234,27 @@ export function normalizeNameKey(s) {
|
|
|
234
234
|
.replace(/[\s‐-―−-]+/gu, "");
|
|
235
235
|
}
|
|
236
236
|
const BASE62 = /^[0-9A-Za-z]+$/;
|
|
237
|
+
/**
|
|
238
|
+
* The DECORATED-REF form `Title [ref]` — a bare title with the machine-stable
|
|
239
|
+
* uuid/partial-uuid pinned in trailing brackets (the fused form every TTY
|
|
240
|
+
* candidate renders, `Title [8charPrefix]`). The title half is a COMMENT
|
|
241
|
+
* (ignored), so a stale copy still resolves after a rename; the bracket is the
|
|
242
|
+
* ref, resolved through the uuid/partial-uuid tier. Greedy `.*` so the LAST
|
|
243
|
+
* bracket wins (`"Family [Sub] [TC9yozLk]"` → `TC9yozLk`). The empty-title form
|
|
244
|
+
* `" [J2kPq9Ws]"` (a titleless heading) is legal — `(.*)` matches empty. Because
|
|
245
|
+
* `$`-anchored so the LAST bracket always wins. The space before `[` is OPTIONAL
|
|
246
|
+
* because {@link stripThingsUri} trims the ref first, so the empty-title form
|
|
247
|
+
* `" [J2kPq9Ws]"` (a titleless heading) arrives as the bare `[J2kPq9Ws]` — both
|
|
248
|
+
* resolve. The bracket is 4–22 base62 chars; a segment shorter than the 6-char
|
|
249
|
+
* partial-uuid floor simply fails to resolve (the FORM is recognized, the
|
|
250
|
+
* resolution is the real uuid/partial-uuid tier's).
|
|
251
|
+
*/
|
|
252
|
+
const DECORATED_REF = /^(.*?) ?\[([0-9A-Za-z]{4,22})\]$/;
|
|
253
|
+
/** The fused TTY ref form `Title [8charPrefix]` — the round-trippable decorated ref every candidate renders. */
|
|
254
|
+
export const REF_PREFIX_LEN = 8;
|
|
255
|
+
export function fusedRef(title, uuid) {
|
|
256
|
+
return `${title} [${uuid.slice(0, REF_PREFIX_LEN)}]`;
|
|
257
|
+
}
|
|
237
258
|
/**
|
|
238
259
|
* Tiered reference resolution (docs/design/reference-resolution.md): exact
|
|
239
260
|
* uuid → exact title → case-insensitive title → normalized title → uuid
|
|
@@ -287,12 +308,42 @@ export function resolveNamedRef(db, table, extraWhere, extraBinds, refRaw, optio
|
|
|
287
308
|
if (rows.length > 1)
|
|
288
309
|
return { resolved: null, matches: rows.length, candidates: rows };
|
|
289
310
|
}
|
|
311
|
+
// The DECORATED-REF tier — LAST, after exact/case/normalized title and the
|
|
312
|
+
// uuid/partial-uuid tiers all miss. `Title [ref]`: the title is ignored and the
|
|
313
|
+
// bracketed segment resolves through the uuid/partial-uuid tier (uuid-exact,
|
|
314
|
+
// then a >=6-char partial-uuid prefix). Runs regardless of `prefixTier` — the
|
|
315
|
+
// bracket is EXPLICIT ref intent (a rendered fused ref), like a bare uuid. A
|
|
316
|
+
// literal title `Title [ref]` outranks this by construction (exact-title is an
|
|
317
|
+
// earlier tier). Scope/extraWhere apply (uuid-tier `sel`, not the name tiers).
|
|
318
|
+
const decorated = DECORATED_REF.exec(ref);
|
|
319
|
+
if (decorated !== null) {
|
|
320
|
+
const inner = decorated[2] ?? "";
|
|
321
|
+
const exactRows = sel("uuid = ?", [inner]);
|
|
322
|
+
if (exactRows.length === 1)
|
|
323
|
+
return { resolved: exactRows[0] ?? null, matches: 1 };
|
|
324
|
+
if (inner.length >= 6) {
|
|
325
|
+
const upper = inner.slice(0, -1) + String.fromCharCode(inner.charCodeAt(inner.length - 1) + 1);
|
|
326
|
+
const rows = sel("uuid >= ? AND uuid < ?", [inner, upper]);
|
|
327
|
+
if (rows.length === 1)
|
|
328
|
+
return { resolved: rows[0] ?? null, matches: 1 };
|
|
329
|
+
if (rows.length > 1)
|
|
330
|
+
return { resolved: null, matches: rows.length, candidates: rows };
|
|
331
|
+
}
|
|
332
|
+
}
|
|
290
333
|
return { resolved: null, matches: 0 };
|
|
291
334
|
}
|
|
292
335
|
/** The accepted-forms clause for a name-accepting resolver's not-found copy. */
|
|
293
336
|
function acceptedForms(prefixTier) {
|
|
294
337
|
return prefixTier ? "tried uuid, partial-uuid, and name" : "tried uuid and name";
|
|
295
338
|
}
|
|
339
|
+
/**
|
|
340
|
+
* The single-kind ambiguous-name refusal copy shared by the read resolvers
|
|
341
|
+
* (`"X" matches N projects — use the exact name or a uuid`). `kind` is the
|
|
342
|
+
* singular noun; the plural `s` is appended here so the count agrees.
|
|
343
|
+
*/
|
|
344
|
+
function ambiguousNameMessage(ref, count, kind, capped) {
|
|
345
|
+
return `"${ref}" matches ${count} ${kind}s${capped ? `; first ${CANDIDATE_CAP} shown` : ""} — use the exact name or a uuid`;
|
|
346
|
+
}
|
|
296
347
|
function resolveUuidOrThrow(db, table, extraWhere, ref, kind, listCmd, options) {
|
|
297
348
|
const r = resolveNamedRef(db, table, extraWhere, [], ref, options);
|
|
298
349
|
if (r.resolved !== null)
|
|
@@ -301,8 +352,7 @@ function resolveUuidOrThrow(db, table, extraWhere, ref, kind, listCmd, options)
|
|
|
301
352
|
throw new ReferenceResolutionError(`no ${kind} matching "${ref}" — ${acceptedForms(options?.prefixTier !== false)} (list ${kind}s with \`${listCmd}\`)`, { code: "not-found", ref });
|
|
302
353
|
}
|
|
303
354
|
const all = r.candidates ?? [];
|
|
304
|
-
|
|
305
|
-
throw new ReferenceResolutionError(`"${ref}" matches ${r.matches} ${kind}s${capped ? `; first ${CANDIDATE_CAP} shown` : ""} — use the exact name or a uuid`, {
|
|
355
|
+
throw new ReferenceResolutionError(ambiguousNameMessage(ref, r.matches, kind, all.length > CANDIDATE_CAP), {
|
|
306
356
|
code: "ambiguous",
|
|
307
357
|
ref,
|
|
308
358
|
candidates: all.slice(0, CANDIDATE_CAP).map((c) => candidateRef(kind, c)),
|
|
@@ -402,11 +452,13 @@ export function resolveProjectWriteTarget(db, refRaw, scope, includeTrashed = fa
|
|
|
402
452
|
}
|
|
403
453
|
const all = describeProjectCandidates(db, r.candidates ?? []);
|
|
404
454
|
const shown = all.slice(0, CANDIDATE_CAP);
|
|
455
|
+
// The fused ref form `Title [8charPrefix]` — the bracketed prefix pastes back
|
|
456
|
+
// as a decorated ref that resolves straight to this project.
|
|
405
457
|
const lines = shown
|
|
406
|
-
.map((c) => ` ${c.
|
|
458
|
+
.map((c) => ` ${fusedRef(c.title, c.uuid)}${c.area !== undefined ? ` (in ${c.area})` : ""}`)
|
|
407
459
|
.join("\n");
|
|
408
460
|
const more = all.length > CANDIDATE_CAP ? `\n … ${all.length - CANDIDATE_CAP} more` : "";
|
|
409
|
-
throw new ReferenceResolutionError(`"${ref}" matches ${r.matches} projects — disambiguate with a
|
|
461
|
+
throw new ReferenceResolutionError(`"${ref}" matches ${r.matches} projects — disambiguate with a ref below:\n${lines}${more}`, { code: "ambiguous", ref, candidates: shown });
|
|
410
462
|
}
|
|
411
463
|
/** Fixed-shape candidates for an ambiguous project name, each with its area container hint. */
|
|
412
464
|
function describeProjectCandidates(db, candidates) {
|
|
@@ -419,13 +471,82 @@ function describeProjectCandidates(db, candidates) {
|
|
|
419
471
|
export function resolveTagUuid(db, ref) {
|
|
420
472
|
return resolveUuidOrThrow(db, "TMTag", "1=1", ref, "tag", "things tags");
|
|
421
473
|
}
|
|
474
|
+
/** Count (and, when unique, resolve) a NAME against the TRASHED project pool only. */
|
|
475
|
+
function trashedProjectNameMatches(db, ref, options) {
|
|
476
|
+
return resolveNamedRef(db, "TMTask", "type = 1 AND trashed = 1", [], ref, {
|
|
477
|
+
prefixTier: false,
|
|
478
|
+
...(options?.scopeWhere !== undefined && {
|
|
479
|
+
scopeWhere: options.scopeWhere,
|
|
480
|
+
scopeBinds: options.scopeBinds,
|
|
481
|
+
}),
|
|
482
|
+
});
|
|
483
|
+
}
|
|
484
|
+
export function readProjectNameVerdict(db, ref, options) {
|
|
485
|
+
// uuid/partial-uuid tiers span every project (`type = 1`); name tiers narrow
|
|
486
|
+
// to LIVE rows via `nameExtraWhere` — the same split the write side uses.
|
|
487
|
+
const live = resolveNamedRef(db, "TMTask", "type = 1", [], ref, {
|
|
488
|
+
...options,
|
|
489
|
+
nameExtraWhere: "trashed = 0",
|
|
490
|
+
});
|
|
491
|
+
if (live.resolved !== null)
|
|
492
|
+
return {
|
|
493
|
+
resolved: live.resolved,
|
|
494
|
+
liveRows: [live.resolved],
|
|
495
|
+
liveMatches: 1,
|
|
496
|
+
trashedMatches: 0,
|
|
497
|
+
};
|
|
498
|
+
if (live.matches > 1)
|
|
499
|
+
return {
|
|
500
|
+
resolved: null,
|
|
501
|
+
liveRows: live.candidates ?? [],
|
|
502
|
+
liveMatches: live.matches,
|
|
503
|
+
// Disclose extra trashed twins WITHOUT folding them into the count.
|
|
504
|
+
trashedMatches: trashedProjectNameMatches(db, ref, options).matches,
|
|
505
|
+
};
|
|
506
|
+
// Zero live name/uuid matches: the trashed pool decides the ergonomic fallback.
|
|
507
|
+
const dead = trashedProjectNameMatches(db, ref, options);
|
|
508
|
+
if (dead.resolved !== null)
|
|
509
|
+
return { resolved: dead.resolved, liveRows: [], liveMatches: 0, trashedMatches: dead.matches };
|
|
510
|
+
return { resolved: null, liveRows: [], liveMatches: 0, trashedMatches: dead.matches };
|
|
511
|
+
}
|
|
422
512
|
/**
|
|
423
513
|
* Write destinations stay strict (a trashed project is not a valid target);
|
|
424
514
|
* READ surfaces pass `trashed: true` so a project in the Trash can still be
|
|
425
|
-
* viewed
|
|
515
|
+
* viewed. Under `trashed: true` the read-side liveness law applies: an explicit
|
|
516
|
+
* uuid / partial-uuid reaches any project, but a NAME resolves against LIVE rows
|
|
517
|
+
* only (a dead same-name twin never shadows a live one), with the reads-only
|
|
518
|
+
* unique-dead fallback + trash disclosure ({@link readProjectNameVerdict}).
|
|
426
519
|
*/
|
|
427
520
|
export function resolveProjectUuid(db, ref, options) {
|
|
428
|
-
|
|
521
|
+
if (options?.trashed !== true) {
|
|
522
|
+
// The non-widening read pool: name AND uuid tiers are LIVE-only (a trashed
|
|
523
|
+
// project is invisible even by uuid here) — the filter/scope/write-target
|
|
524
|
+
// callers, unchanged.
|
|
525
|
+
return resolveUuidOrThrow(db, "TMTask", "type = 1 AND trashed = 0", ref, "project", "things projects", options);
|
|
526
|
+
}
|
|
527
|
+
const v = readProjectNameVerdict(db, ref, options);
|
|
528
|
+
if (v.resolved !== null)
|
|
529
|
+
return v.resolved.uuid;
|
|
530
|
+
if (v.liveMatches > 1) {
|
|
531
|
+
const shown = v.liveRows.slice(0, CANDIDATE_CAP);
|
|
532
|
+
throw new ReferenceResolutionError(ambiguousNameMessage(ref, v.liveMatches, "project", v.liveRows.length > CANDIDATE_CAP) +
|
|
533
|
+
trashDisclosureTail(v.trashedMatches), { code: "ambiguous", ref, candidates: shown.map((c) => candidateRef("project", c)) });
|
|
534
|
+
}
|
|
535
|
+
// Zero live matches (a unique dead row would have resolved above), so a
|
|
536
|
+
// non-empty trash count here is always the several-dead-twins case.
|
|
537
|
+
throw new ReferenceResolutionError(`no project matching "${ref}" — ${acceptedForms(options.prefixTier !== false)} (list projects with \`things projects\`)${deadNameMatchHint({ trashed: v.trashedMatches })}`, { code: "not-found", ref });
|
|
538
|
+
}
|
|
539
|
+
/**
|
|
540
|
+
* The disclosure tail appended to a read-side project ambiguity when the
|
|
541
|
+
* uuid-reachable pool holds additional TRASHED twins of the ambiguous name. The
|
|
542
|
+
* ambiguity COUNT stays over live rows (coherent with the rendered candidate
|
|
543
|
+
* list); the dead ones are disclosed separately rather than inflating it. Empty
|
|
544
|
+
* when none are trashed.
|
|
545
|
+
*/
|
|
546
|
+
export function trashDisclosureTail(deadCount) {
|
|
547
|
+
return deadCount === 0
|
|
548
|
+
? ""
|
|
549
|
+
: `; also matched: ${deadCount} in the trash — \`things trash\` lists them, a uuid reaches one directly`;
|
|
429
550
|
}
|
|
430
551
|
export function resolveAreaUuid(db, ref, options) {
|
|
431
552
|
return resolveUuidOrThrow(db, "TMArea", "1=1", ref, "area", "things areas", options);
|
|
@@ -464,13 +585,81 @@ export function resolveHeadingUuid(db, projectUuid, refRaw) {
|
|
|
464
585
|
throw new ReferenceResolutionError(`no heading matching ${label} in this project — a heading selector is an exact title or a uuid (list them with \`things project-view <project>\`)`, { code: "not-found", ref: refRaw });
|
|
465
586
|
}
|
|
466
587
|
const all = r.candidates ?? [];
|
|
467
|
-
const
|
|
468
|
-
|
|
588
|
+
const shown = all.slice(0, CANDIDATE_CAP);
|
|
589
|
+
// The fused ref form `Title [8charPrefix]` per candidate — a titleless heading
|
|
590
|
+
// reads ` [prefix]`, which pastes back as its decorated ref.
|
|
591
|
+
const lines = shown.map((c) => ` ${fusedRef(c.title, c.uuid)}`).join("\n");
|
|
592
|
+
const more = all.length > CANDIDATE_CAP ? `\n … ${all.length - CANDIDATE_CAP} more` : "";
|
|
593
|
+
throw new ReferenceResolutionError(`${label} matches ${r.matches} headings in this project — disambiguate with a ref below:\n${lines}${more}`, {
|
|
469
594
|
code: "ambiguous",
|
|
470
595
|
ref: refRaw,
|
|
471
|
-
candidates:
|
|
596
|
+
candidates: shown.map((c) => candidateRef("heading", c)),
|
|
472
597
|
});
|
|
473
598
|
}
|
|
599
|
+
/**
|
|
600
|
+
* Resolve a container ref's bare TITLE through the REAL resolver for its kind,
|
|
601
|
+
* returning the sole resolved uuid or null (not-found OR ambiguous → null). This
|
|
602
|
+
* is the emit-side promotion judgment behind the JSON round-trip law (the flat
|
|
603
|
+
* `area`/`project`/`heading` refs promote a `*Uuid` sibling exactly when their
|
|
604
|
+
* bare title would NOT round-trip): it is the RESOLVER'S OWN judgment, not a
|
|
605
|
+
* re-derived uniqueness query, so it inherits every quirk of the write path —
|
|
606
|
+
* notably projects resolve through {@link resolveProjectWriteTarget} (the
|
|
607
|
+
* uuid-prefix tier runs FIRST, over the live+open write-target pool, so a title
|
|
608
|
+
* that is a valid unique uuid-prefix of ANOTHER task resolves to that task, not
|
|
609
|
+
* this project → does not round-trip → promotes; logged/trashed/completed
|
|
610
|
+
* same-titled twins never resolve by name, so they never trigger promotion).
|
|
611
|
+
* Areas resolve over all areas ({@link resolveAreaUuid}); headings within their
|
|
612
|
+
* project ({@link resolveHeadingRef}, `type = 2 AND trashed = 0 AND project = ?`).
|
|
613
|
+
* A thrown {@link ReferenceResolutionError} (not-found / ambiguous) is caught and
|
|
614
|
+
* read as "did not resolve" → null.
|
|
615
|
+
*/
|
|
616
|
+
function resolveTitleForRoundTrip(db, kind, title, projectUuid) {
|
|
617
|
+
try {
|
|
618
|
+
if (kind === "area")
|
|
619
|
+
return resolveAreaUuid(db, title);
|
|
620
|
+
if (kind === "project")
|
|
621
|
+
return resolveProjectWriteTarget(db, title);
|
|
622
|
+
if (projectUuid === undefined)
|
|
623
|
+
return null; // heading round-trip needs its project scope
|
|
624
|
+
return resolveHeadingRef(db, projectUuid, title).resolved?.uuid ?? null;
|
|
625
|
+
}
|
|
626
|
+
catch {
|
|
627
|
+
return null;
|
|
628
|
+
}
|
|
629
|
+
}
|
|
630
|
+
/**
|
|
631
|
+
* Does a container ref's bare TITLE round-trip through its own resolver, in its
|
|
632
|
+
* own scope, back to THIS entity's uuid? The single predicate the emit boundary
|
|
633
|
+
* consults for the JSON round-trip law — true only when the sole resolution is
|
|
634
|
+
* `entityUuid` (not-found / ambiguous / a different entity all → false, i.e. the
|
|
635
|
+
* title must promote its uuid sibling). See {@link resolveTitleForRoundTrip}.
|
|
636
|
+
*/
|
|
637
|
+
export function titleRoundTrips(db, kind, title, entityUuid, projectUuid) {
|
|
638
|
+
return resolveTitleForRoundTrip(db, kind, title, projectUuid) === entityUuid;
|
|
639
|
+
}
|
|
640
|
+
/**
|
|
641
|
+
* Build the {@link RefPromoter} the read-shaping transform ({@link shapeReadPayload})
|
|
642
|
+
* consults to decide flat-ref uuid promotion, memoized per (kind, title, scope)
|
|
643
|
+
* for ONE response emission so a large view never re-runs a resolution it has
|
|
644
|
+
* already made. A fresh promoter (fresh memo) per response — the consumer
|
|
645
|
+
* surfaces build one via the client. The memo caches the RESOLVED uuid (or null),
|
|
646
|
+
* independent of the comparison target, so twin entities sharing a title share
|
|
647
|
+
* the one resolution.
|
|
648
|
+
*/
|
|
649
|
+
export function makeRefPromoter(db) {
|
|
650
|
+
const memo = new Map();
|
|
651
|
+
const resolve = (kind, title, projectUuid) => {
|
|
652
|
+
const key = `${kind}\x00${projectUuid ?? ""}\x00${title}`;
|
|
653
|
+
if (memo.has(key))
|
|
654
|
+
return memo.get(key) ?? null;
|
|
655
|
+
const uuid = resolveTitleForRoundTrip(db, kind, title, projectUuid);
|
|
656
|
+
memo.set(key, uuid);
|
|
657
|
+
return uuid;
|
|
658
|
+
};
|
|
659
|
+
return {
|
|
660
|
+
roundTrips: (kind, title, entityUuid, projectUuid) => resolve(kind, title, projectUuid) === entityUuid,
|
|
661
|
+
};
|
|
662
|
+
}
|
|
474
663
|
/**
|
|
475
664
|
* A row's EFFECTIVE area: its own `area` link, else the area of its project,
|
|
476
665
|
* else the area of its heading's project. To-dos nested in a project (or under a
|
package/dist/read/queries.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queries.js","sourceRoot":"","sources":["../../src/read/queries.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"queries.js","sourceRoot":"","sources":["../../src/read/queries.ts"],"names":[],"mappings":"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"}
|
package/dist/read/scope.d.ts
CHANGED
|
@@ -119,8 +119,8 @@ export declare function filterListByScope<T extends ListItem>(items: T[], scope:
|
|
|
119
119
|
*/
|
|
120
120
|
export declare function filterSectionsByScope(sections: SidebarSection[], scope: ResolvedScope): SidebarSection[];
|
|
121
121
|
/**
|
|
122
|
-
* Filter the Today split to in-scope rows, RECOMPUTING the
|
|
123
|
-
* surviving OPEN members so
|
|
122
|
+
* Filter the Today split to in-scope rows, RECOMPUTING the counts over the
|
|
123
|
+
* surviving OPEN members so they never count a dropped (out-of-scope) row — the
|
|
124
124
|
* same treatment `filterTodayByArea` gives the area filter.
|
|
125
125
|
*/
|
|
126
126
|
export declare function filterTodayByScope(view: TodayView, scope: ResolvedScope, todayIso: IsoDate): TodayView;
|
package/dist/read/scope.js
CHANGED
|
@@ -148,8 +148,8 @@ export function filterSectionsByScope(sections, scope) {
|
|
|
148
148
|
.filter((s) => s.items.length > 0);
|
|
149
149
|
}
|
|
150
150
|
/**
|
|
151
|
-
* Filter the Today split to in-scope rows, RECOMPUTING the
|
|
152
|
-
* surviving OPEN members so
|
|
151
|
+
* Filter the Today split to in-scope rows, RECOMPUTING the counts over the
|
|
152
|
+
* surviving OPEN members so they never count a dropped (out-of-scope) row — the
|
|
153
153
|
* same treatment `filterTodayByArea` gives the area filter.
|
|
154
154
|
*/
|
|
155
155
|
export function filterTodayByScope(view, scope, todayIso) {
|
|
@@ -157,6 +157,6 @@ export function filterTodayByScope(view, scope, todayIso) {
|
|
|
157
157
|
const evening = view.evening.filter((i) => inScopeItem(i, scope));
|
|
158
158
|
const open = [...today, ...evening].filter((i) => i.status === "open");
|
|
159
159
|
const dueOrOverdue = open.filter((i) => i.deadline !== null && i.deadline <= todayIso).length;
|
|
160
|
-
return { today, evening,
|
|
160
|
+
return { today, evening, counts: { dueOrOverdue, other: open.length - dueOrOverdue } };
|
|
161
161
|
}
|
|
162
162
|
//# sourceMappingURL=scope.js.map
|
package/dist/read/scope.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scope.js","sourceRoot":"","sources":["../../src/read/scope.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"scope.js","sourceRoot":"","sources":["../../src/read/scope.ts"],"names":[],"mappings":"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"}
|
package/dist/read/shape.d.ts
CHANGED
|
@@ -56,9 +56,10 @@
|
|
|
56
56
|
* - a template's `repeating.nextOccurrence` is GONE from the wire — `when` replaces
|
|
57
57
|
* it (same fact, one word); the resting-templates `{date: null}` group is
|
|
58
58
|
* unchanged (an unprojected template has no `when`).
|
|
59
|
-
* - `when` is DROPPED inside the `today` view's
|
|
60
|
-
* today
|
|
61
|
-
* whose `when` equals the group's date (the group states
|
|
59
|
+
* - `when` is DROPPED inside the `today` view's two `children` bucket records (the
|
|
60
|
+
* bucket key `today`/`evening` states it) and inside any card/heading `upcoming`
|
|
61
|
+
* DATE-GROUP for a member whose `when` equals the group's date (the group states
|
|
62
|
+
* it). KEPT everywhere
|
|
62
63
|
* else it is present — including the flat `upcoming`/`anytime`/`inbox`/`someday`
|
|
63
64
|
* catalogues, search, changes (a deadline-pulled row reads `when: "today"` in the
|
|
64
65
|
* mixed search/changes surfaces, informatively; note R13 re-files it to stage
|
|
@@ -77,9 +78,9 @@
|
|
|
77
78
|
* side effect our read cannot perform (watchers beware).
|
|
78
79
|
* - **stage `anytime` for a deadline pull** — a due-deadline pull re-files an undated
|
|
79
80
|
* Inbox/Someday row into Anytime (deriveStage step 2½, L-A). So EVERY Today member
|
|
80
|
-
* derives stage `anytime`, and the `today` view's
|
|
81
|
-
* `stage` is DROPPED there (TODAY_SECTION_DROP), alongside the
|
|
82
|
-
* `when`. The flat someday/inbox views EXCLUDE pulled rows and the anytime view
|
|
81
|
+
* derives stage `anytime`, and the `today` view's two `children` buckets become
|
|
82
|
+
* stage-PURE → `stage` is DROPPED there (TODAY_SECTION_DROP), alongside the
|
|
83
|
+
* key-implied `when`. The flat someday/inbox views EXCLUDE pulled rows and the anytime view
|
|
83
84
|
* INCLUDES them (src/read/views.ts + predicates.ts DEADLINE_PULLED) — GUI fidelity.
|
|
84
85
|
*
|
|
85
86
|
* ## Universal item-DTO reshapes (R9 — EVERY tier, EVERY read kind incl. detail)
|
|
@@ -113,6 +114,79 @@
|
|
|
113
114
|
* universal reshapes, and R10.
|
|
114
115
|
*/
|
|
115
116
|
import { type Stage, type When } from "./stage.ts";
|
|
117
|
+
import type { AreaBucketTotals, SectionTotals, UpcomingBlockTotals } from "./truncation.ts";
|
|
118
|
+
type Obj = Record<string, unknown>;
|
|
119
|
+
/** The container-ref kinds whose bare title is round-trip-tested for uuid promotion. */
|
|
120
|
+
export type RefKind = "area" | "project" | "heading";
|
|
121
|
+
/**
|
|
122
|
+
* The emit-side promotion oracle: does a container ref's bare TITLE round-trip
|
|
123
|
+
* through its own resolver, in its own scope, back to THIS entity? Built by
|
|
124
|
+
* {@link makeRefPromoter} (src/read/queries.ts) over the live DB — it runs the
|
|
125
|
+
* REAL resolution path for the kind (areas = all areas; projects = the live+open
|
|
126
|
+
* write-target pool, uuid-prefix tier first; headings = within `projectUuid`)
|
|
127
|
+
* and returns true only when the sole resolution is this uuid; not-found or
|
|
128
|
+
* ambiguous is false. Memoized per (kind, title, scope) within one response
|
|
129
|
+
* emission. When a promoter is absent (a DB-less unit shaping), the default
|
|
130
|
+
* assumes every title round-trips — bare titles, no uuid siblings.
|
|
131
|
+
*/
|
|
132
|
+
export interface RefPromoter {
|
|
133
|
+
roundTrips(kind: RefKind, title: string, entityUuid: string, projectUuid?: string): boolean;
|
|
134
|
+
}
|
|
135
|
+
/** A bucket record `{items, total?}` (v2 R1): `total` present IFF the bucket was capped. */
|
|
136
|
+
export declare function bucketRecord(items: unknown[], total?: number): Obj;
|
|
137
|
+
/**
|
|
138
|
+
* Inject the area view's inline scope `total`s (read-shape v2 R1, PR 3): present
|
|
139
|
+
* iff the scope was capped (`items.length < total`), absent otherwise — no
|
|
140
|
+
* `meta.truncation.blocks[]` sidecar. `children.anytime` carries the direct-to-dos
|
|
141
|
+
* (`--area-limit`) total; `projects` carries the project-rows (`--project-limit`)
|
|
142
|
+
* total. The scheduled/someday direct-to-do blocks and the scheduled/someday
|
|
143
|
+
* project rows are never capped, so they never gain a `total`. Both the CLI `view`
|
|
144
|
+
* wrapper and the MCP data block run the shaped view through this so completeness
|
|
145
|
+
* is answerable locally. Returns the view unchanged when it is not the expected
|
|
146
|
+
* shape.
|
|
147
|
+
*/
|
|
148
|
+
export declare function withAreaBucketTotals(view: unknown, totals: AreaBucketTotals): unknown;
|
|
149
|
+
/**
|
|
150
|
+
* Inject each global-`upcoming` day block's inline `total` (read-shape v2 R1,
|
|
151
|
+
* PR 4): present iff that day's scope was capped by the flat row limit
|
|
152
|
+
* (`items.length < total`), absent otherwise — no `meta.truncation.blocks[]`
|
|
153
|
+
* sidecar (the whole-view `{shown,total,limit,truncated}` rollup still rides
|
|
154
|
+
* `meta.truncation` for the row hint). The flat cut across the day-ordered stream
|
|
155
|
+
* leaves at most ONE straddling block partial (its pre-cap size looked up by
|
|
156
|
+
* `when` from `totals`); blocks fully before the cut are complete (no `total`),
|
|
157
|
+
* and blocks fully past it never appear. The resting block keys on `null`. Both
|
|
158
|
+
* the CLI `sections` wrapper and the MCP data block run the shaped sections
|
|
159
|
+
* through this so completeness is answerable locally. Returns the input unchanged
|
|
160
|
+
* when it is not the expected sections array.
|
|
161
|
+
*/
|
|
162
|
+
export declare function withUpcomingBlockTotals(sections: unknown, totals: UpcomingBlockTotals): unknown;
|
|
163
|
+
/**
|
|
164
|
+
* Inject each global anytime/someday section's inline `total` (read-shape v2 R1,
|
|
165
|
+
* PR 5): present iff that section's `items` were capped (`items.length < total`),
|
|
166
|
+
* absent otherwise — an untruncated section never restates its own length, and
|
|
167
|
+
* the pre-v2 `meta.truncation.blocks[]` descriptor-join sidecar is RETIRED. The
|
|
168
|
+
* pre-cap section sizes come from {@link previewSections}/{@link
|
|
169
|
+
* previewSomedaySections} keyed by area uuid (`null` for the loose section); the
|
|
170
|
+
* per-block "… N more" render detail is carried separately (internal
|
|
171
|
+
* {@link GroupBlock}[]), never on the wire. Both the CLI `sections` wrapper and
|
|
172
|
+
* the MCP data block run the shaped sections through this so completeness is
|
|
173
|
+
* answerable locally. Returns the input unchanged when it is not the expected
|
|
174
|
+
* sections array.
|
|
175
|
+
*/
|
|
176
|
+
export declare function withSectionTotals(sections: unknown, totals: SectionTotals): unknown;
|
|
177
|
+
/**
|
|
178
|
+
* Inject each today bucket's inline `total` (read-shape v2 R1): present iff the
|
|
179
|
+
* bucket was capped (`items.length < total`), absent otherwise — an untruncated
|
|
180
|
+
* bucket never restates its own length. `totals` are the pre-cap bucket sizes
|
|
181
|
+
* from `truncateToday`. Both the CLI `data.children` wrapper and the MCP data
|
|
182
|
+
* block run the shaped children through this so completeness is answerable
|
|
183
|
+
* locally, with no truncation sidecar. Returns the children object unchanged when
|
|
184
|
+
* it is not the expected shape.
|
|
185
|
+
*/
|
|
186
|
+
export declare function withTodayBucketTotals(children: unknown, totals: {
|
|
187
|
+
today: number;
|
|
188
|
+
evening: number;
|
|
189
|
+
}): unknown;
|
|
116
190
|
/**
|
|
117
191
|
* Apply the universal reshapes + R6 + R7 + R10 to a read payload for one view
|
|
118
192
|
* `kind`. `full` forces the FULL tier (R7 default-pruning off, everything else
|
|
@@ -120,7 +194,7 @@ import { type Stage, type When } from "./stage.ts";
|
|
|
120
194
|
* mutated (shallow copies throughout), so the human-render path keeps the full
|
|
121
195
|
* entities.
|
|
122
196
|
*/
|
|
123
|
-
export declare function shapeReadPayload(kind: string, data: unknown, full: boolean): unknown;
|
|
197
|
+
export declare function shapeReadPayload(kind: string, data: unknown, full: boolean, promoter?: RefPromoter): unknown;
|
|
124
198
|
/** The disambiguation-candidate kinds an error may list (a subset of the entity kinds). */
|
|
125
199
|
export type CandidateType = "to-do" | "project" | "heading" | "area" | "tag";
|
|
126
200
|
/**
|
|
@@ -132,7 +206,9 @@ export type CandidateType = "to-do" | "project" | "heading" | "area" | "tag";
|
|
|
132
206
|
* ONLY material that helps a caller pick the right entity, drawn from the SAME
|
|
133
207
|
* single-source derivations the read wire uses — never the raw internal entity
|
|
134
208
|
* (no counts, no notes, no dates, no null-stuffed keys):
|
|
135
|
-
* - `uuid` / `title`
|
|
209
|
+
* - `uuid` / `title` — always present.
|
|
210
|
+
* - `type` — names the kind, EXCEPT to-do: absent `type` = to-do (present for
|
|
211
|
+
* `project` / `heading` / `area` / `tag`), the same convention the item wire uses.
|
|
136
212
|
* - `area` / `project` — container hint as a TITLE string, present only when set.
|
|
137
213
|
* - `stage` / `when` — the R10/R12 lifecycle words, present only for a to-do /
|
|
138
214
|
* project candidate whose source row carries the materialized lifecycle fields
|
|
@@ -143,7 +219,8 @@ export type CandidateType = "to-do" | "project" | "heading" | "area" | "tag";
|
|
|
143
219
|
export interface CandidateRef {
|
|
144
220
|
uuid: string;
|
|
145
221
|
title: string;
|
|
146
|
-
type
|
|
222
|
+
/** The kind — omitted for a to-do (absent `type` = to-do), present otherwise. */
|
|
223
|
+
type?: CandidateType;
|
|
147
224
|
area?: string;
|
|
148
225
|
project?: string;
|
|
149
226
|
stage?: Stage;
|
|
@@ -160,3 +237,4 @@ export declare const CANDIDATE_CAP = 8;
|
|
|
160
237
|
* lifecycle words are never re-derived here.
|
|
161
238
|
*/
|
|
162
239
|
export declare function candidateRef(type: CandidateType, src: unknown): CandidateRef;
|
|
240
|
+
export {};
|