things-api 0.5.0 → 0.6.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/audit/schema.d.ts +9 -0
- package/dist/cli/commands/area.d.ts +6 -0
- package/dist/cli/commands/area.js +51 -0
- package/dist/cli/commands/area.js.map +1 -0
- package/dist/cli/commands/project.js +2 -2
- package/dist/cli/commands/project.js.map +1 -1
- package/dist/cli/commands/reads.d.ts +16 -4
- package/dist/cli/commands/reads.js +38 -12
- package/dist/cli/commands/reads.js.map +1 -1
- package/dist/cli/commands/todo.js +1 -4
- package/dist/cli/commands/todo.js.map +1 -1
- package/dist/cli/commands/writes.js +68 -22
- package/dist/cli/commands/writes.js.map +1 -1
- package/dist/cli/main.js +7 -0
- package/dist/cli/main.js.map +1 -1
- package/dist/cli/style.d.ts +1 -0
- package/dist/cli/style.js +1 -0
- package/dist/cli/style.js.map +1 -1
- package/dist/client.d.ts +33 -13
- package/dist/client.js +49 -11
- package/dist/client.js.map +1 -1
- package/dist/contracts.d.ts +1 -1
- package/dist/contracts.js +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.js.map +1 -1
- package/dist/mcp/server.js +79 -14
- package/dist/mcp/server.js.map +1 -1
- package/dist/model/entities.d.ts +8 -13
- package/dist/model/entities.js.map +1 -1
- package/dist/model/mappers.js +0 -9
- package/dist/model/mappers.js.map +1 -1
- package/dist/read/area-view.d.ts +26 -0
- package/dist/read/area-view.js +71 -0
- package/dist/read/area-view.js.map +1 -0
- package/dist/read/queries.d.ts +38 -2
- package/dist/read/queries.js +114 -35
- package/dist/read/queries.js.map +1 -1
- package/dist/read/tags.js +0 -2
- package/dist/read/tags.js.map +1 -1
- package/dist/read/views.js +17 -9
- package/dist/read/views.js.map +1 -1
- package/dist/write/commands.js +126 -8
- package/dist/write/commands.js.map +1 -1
- package/dist/write/guards.d.ts +1 -1
- package/dist/write/guards.js +62 -17
- package/dist/write/guards.js.map +1 -1
- package/dist/write/heading.d.ts +22 -0
- package/dist/write/heading.js +90 -0
- package/dist/write/heading.js.map +1 -0
- package/dist/write/operations.d.ts +31 -1
- package/dist/write/operations.js +3 -0
- package/dist/write/operations.js.map +1 -1
- package/dist/write/pipeline.d.ts +5 -0
- package/dist/write/pipeline.js +15 -0
- package/dist/write/pipeline.js.map +1 -1
- package/dist/write/pre-state.d.ts +5 -5
- package/dist/write/pre-state.js +20 -43
- package/dist/write/pre-state.js.map +1 -1
- package/dist/write/reopen.d.ts +0 -8
- package/dist/write/reopen.js +2 -0
- package/dist/write/reopen.js.map +1 -1
- package/dist/write/reorder.js +25 -11
- package/dist/write/reorder.js.map +1 -1
- package/dist/write/undo.d.ts +1 -1
- package/dist/write/undo.js +81 -3
- package/dist/write/undo.js.map +1 -1
- package/dist/write/vectors/applescript.js +23 -1
- package/dist/write/vectors/applescript.js.map +1 -1
- package/package.json +1 -1
package/dist/read/queries.js
CHANGED
|
@@ -42,44 +42,123 @@ export function tagWithDescendants(db, uuid) {
|
|
|
42
42
|
return rows.map((r) => r.uuid);
|
|
43
43
|
}
|
|
44
44
|
/** Resolve a tag reference (uuid or unique case-insensitive title) — loud on miss. */
|
|
45
|
+
/**
|
|
46
|
+
* Resolve a full TMTask uuid from a uuid OR a unique prefix (>= 6 chars).
|
|
47
|
+
* Exact matches win outright (a 21-char uuid can prefix a 22-char one);
|
|
48
|
+
* otherwise an indexed range scan finds prefix matches — zero throws
|
|
49
|
+
* not-found, several throw with the candidates listed. Uuid params across
|
|
50
|
+
* the CLI/MCP/library accept prefixes through this.
|
|
51
|
+
*/
|
|
52
|
+
/**
|
|
53
|
+
* Accept a Things share link wherever a uuid/ref is expected: the app's
|
|
54
|
+
* right-click → Share → Copy Link yields `things:///show?id=<uuid>`. Strip
|
|
55
|
+
* the URI to its `id` (or `query`) parameter so it pastes directly; non-URI
|
|
56
|
+
* input passes through untouched (after trimming).
|
|
57
|
+
*/
|
|
58
|
+
export function stripThingsUri(ref) {
|
|
59
|
+
const s = ref.trim();
|
|
60
|
+
if (!/^things:/i.test(s))
|
|
61
|
+
return s;
|
|
62
|
+
const m = /[?&](?:id|query)=([^&]+)/i.exec(s);
|
|
63
|
+
if (m?.[1] !== undefined) {
|
|
64
|
+
try {
|
|
65
|
+
return decodeURIComponent(m[1]);
|
|
66
|
+
}
|
|
67
|
+
catch {
|
|
68
|
+
return m[1];
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
return s;
|
|
72
|
+
}
|
|
73
|
+
export function resolveTaskUuidPrefix(db, refRaw) {
|
|
74
|
+
const ref = stripThingsUri(refRaw);
|
|
75
|
+
const exact = db.prepare("SELECT uuid FROM TMTask WHERE uuid = ?").get(ref);
|
|
76
|
+
if (exact !== undefined)
|
|
77
|
+
return exact.uuid;
|
|
78
|
+
if (ref.length < 6) {
|
|
79
|
+
throw new RangeError(`no record with uuid "${ref}" (prefixes need at least 6 characters)`);
|
|
80
|
+
}
|
|
81
|
+
const upper = ref.slice(0, -1) + String.fromCharCode(ref.charCodeAt(ref.length - 1) + 1);
|
|
82
|
+
const rows = db
|
|
83
|
+
.prepare("SELECT t.uuid, t.title FROM TMTask t WHERE t.uuid >= ? AND t.uuid < ? LIMIT 6")
|
|
84
|
+
.all(ref, upper);
|
|
85
|
+
if (rows.length === 0)
|
|
86
|
+
throw new RangeError(`no record with uuid or prefix "${ref}"`);
|
|
87
|
+
if (rows.length > 1) {
|
|
88
|
+
const list = rows.map((r) => `${r.uuid} (${r.title ?? ""})`).join("; ");
|
|
89
|
+
throw new RangeError(`uuid prefix "${ref}" is ambiguous — matches: ${list}`);
|
|
90
|
+
}
|
|
91
|
+
return rows[0]?.uuid ?? ref;
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Fold a name to its match key: NFC + case-fold + strip all whitespace and
|
|
95
|
+
* dashes/hyphens (ASCII hyphen, the U+2010–2015 dash block, U+2212 minus).
|
|
96
|
+
* Nothing else is removed, so emoji/symbols stay significant — see
|
|
97
|
+
* docs/design/reference-resolution.md.
|
|
98
|
+
*/
|
|
99
|
+
export function normalizeNameKey(s) {
|
|
100
|
+
return s
|
|
101
|
+
.normalize("NFC")
|
|
102
|
+
.toLowerCase()
|
|
103
|
+
.replace(/[\s‐-―−-]+/gu, "");
|
|
104
|
+
}
|
|
105
|
+
const BASE62 = /^[0-9A-Za-z]+$/;
|
|
106
|
+
/**
|
|
107
|
+
* Tiered reference resolution (docs/design/reference-resolution.md): exact
|
|
108
|
+
* uuid → exact title → case-insensitive title → normalized title → uuid
|
|
109
|
+
* prefix. The FIRST tier with exactly one match wins; a tier with several is
|
|
110
|
+
* ambiguous; no tier is not-found. Shared by the read-side `resolve*Uuid`
|
|
111
|
+
* throwers and the write-side `resolve*` (ContainerResolution) helpers.
|
|
112
|
+
*/
|
|
113
|
+
export function resolveNamedRef(db, table, extraWhere, extraBinds, refRaw) {
|
|
114
|
+
const ref = stripThingsUri(refRaw);
|
|
115
|
+
const sel = (cond, extra = []) => db
|
|
116
|
+
.prepare(`SELECT uuid, title FROM ${table} WHERE ${extraWhere} AND ${cond}`)
|
|
117
|
+
.all(...extraBinds, ...extra);
|
|
118
|
+
const byId = sel("uuid = ?", [ref]);
|
|
119
|
+
if (byId.length === 1)
|
|
120
|
+
return { resolved: byId[0] ?? null, matches: 1 };
|
|
121
|
+
for (const cond of ["title = ?", "title = ? COLLATE NOCASE"]) {
|
|
122
|
+
const rows = sel(cond, [ref]);
|
|
123
|
+
if (rows.length === 1)
|
|
124
|
+
return { resolved: rows[0] ?? null, matches: 1 };
|
|
125
|
+
if (rows.length > 1)
|
|
126
|
+
return { resolved: null, matches: rows.length };
|
|
127
|
+
}
|
|
128
|
+
const key = normalizeNameKey(ref);
|
|
129
|
+
if (key !== "") {
|
|
130
|
+
const hits = sel("title IS NOT NULL").filter((r) => normalizeNameKey(r.title) === key);
|
|
131
|
+
if (hits.length === 1)
|
|
132
|
+
return { resolved: hits[0] ?? null, matches: 1 };
|
|
133
|
+
if (hits.length > 1)
|
|
134
|
+
return { resolved: null, matches: hits.length };
|
|
135
|
+
}
|
|
136
|
+
if (ref.length >= 6 && BASE62.test(ref)) {
|
|
137
|
+
const upper = ref.slice(0, -1) + String.fromCharCode(ref.charCodeAt(ref.length - 1) + 1);
|
|
138
|
+
const rows = sel("uuid >= ? AND uuid < ?", [ref, upper]);
|
|
139
|
+
if (rows.length === 1)
|
|
140
|
+
return { resolved: rows[0] ?? null, matches: 1 };
|
|
141
|
+
if (rows.length > 1)
|
|
142
|
+
return { resolved: null, matches: rows.length };
|
|
143
|
+
}
|
|
144
|
+
return { resolved: null, matches: 0 };
|
|
145
|
+
}
|
|
146
|
+
function resolveUuidOrThrow(db, table, extraWhere, ref, kind, listCmd) {
|
|
147
|
+
const r = resolveNamedRef(db, table, extraWhere, [], ref);
|
|
148
|
+
if (r.resolved !== null)
|
|
149
|
+
return r.resolved.uuid;
|
|
150
|
+
throw new RangeError(r.matches === 0
|
|
151
|
+
? `${kind} not found: ${ref} (list ${kind}s with \`${listCmd}\`)`
|
|
152
|
+
: `${kind} reference is ambiguous: ${ref} (${r.matches} matches — use the exact name or uuid)`);
|
|
153
|
+
}
|
|
45
154
|
export function resolveTagUuid(db, ref) {
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
return byId.uuid;
|
|
49
|
-
const rows = db.prepare("SELECT uuid FROM TMTag WHERE title = ? COLLATE NOCASE").all(ref);
|
|
50
|
-
if (rows.length === 1 && rows[0] !== undefined)
|
|
51
|
-
return rows[0].uuid;
|
|
52
|
-
throw new RangeError(rows.length === 0
|
|
53
|
-
? `tag not found: ${ref} (list tags with \`things tags\`)`
|
|
54
|
-
: `tag reference is ambiguous: ${ref} (${rows.length} matches — use the uuid)`);
|
|
55
|
-
}
|
|
56
|
-
/** Resolve a project reference (uuid or unique case-insensitive title) — loud on miss. */
|
|
155
|
+
return resolveUuidOrThrow(db, "TMTag", "1=1", ref, "tag", "things tags");
|
|
156
|
+
}
|
|
57
157
|
export function resolveProjectUuid(db, ref) {
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
.get(ref);
|
|
61
|
-
if (byId !== undefined)
|
|
62
|
-
return byId.uuid;
|
|
63
|
-
const rows = db
|
|
64
|
-
.prepare("SELECT uuid FROM TMTask WHERE title = ? COLLATE NOCASE AND type = 1 AND trashed = 0")
|
|
65
|
-
.all(ref);
|
|
66
|
-
if (rows.length === 1 && rows[0] !== undefined)
|
|
67
|
-
return rows[0].uuid;
|
|
68
|
-
throw new RangeError(rows.length === 0
|
|
69
|
-
? `project not found: ${ref} (list projects with \`things projects\`)`
|
|
70
|
-
: `project reference is ambiguous: ${ref} (${rows.length} matches — use the uuid)`);
|
|
71
|
-
}
|
|
72
|
-
/** Resolve an area reference (uuid or unique case-insensitive title) — loud on miss. */
|
|
158
|
+
return resolveUuidOrThrow(db, "TMTask", "type = 1 AND trashed = 0", ref, "project", "things projects");
|
|
159
|
+
}
|
|
73
160
|
export function resolveAreaUuid(db, ref) {
|
|
74
|
-
|
|
75
|
-
if (byId !== undefined)
|
|
76
|
-
return byId.uuid;
|
|
77
|
-
const rows = db.prepare("SELECT uuid FROM TMArea WHERE title = ? COLLATE NOCASE").all(ref);
|
|
78
|
-
if (rows.length === 1 && rows[0] !== undefined)
|
|
79
|
-
return rows[0].uuid;
|
|
80
|
-
throw new RangeError(rows.length === 0
|
|
81
|
-
? `area not found: ${ref} (list areas with \`things areas\`)`
|
|
82
|
-
: `area reference is ambiguous: ${ref} (${rows.length} matches — use the uuid)`);
|
|
161
|
+
return resolveUuidOrThrow(db, "TMArea", "1=1", ref, "area", "things areas");
|
|
83
162
|
}
|
|
84
163
|
export function fetchTaskRows(db, where, params = []) {
|
|
85
164
|
const sql = `SELECT ${selectList("TMTask")
|
package/dist/read/queries.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queries.js","sourceRoot":"","sources":["../../src/read/queries.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,CAAC,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAIhD,6FAA6F;AAC7F,MAAM,CAAC,MAAM,YAAY,GAAG,uDAAuD,CAAC;AAEpF;;;;;;GAMG;AACH,MAAM,UAAU,WAAW,CAAC,SAAiB;IAC3C,MAAM,GAAG,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;IAC3E,OAAO;8EACqE,GAAG;oFACG,GAAG;iFACN,GAAG;;uDAE7B,GAAG;;uDAEH,GAAG;;8FAEoC,GAAG;EAC/F,CAAC;AACH,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,KAAe;IAC3C,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;AACvD,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CAAC,EAAgB,EAAE,IAAY;IAC/D,MAAM,IAAI,GAAG,EAAE;SACZ,OAAO,CACN;;;4BAGsB,CACvB;SACA,GAAG,CAAC,IAAI,CAAuB,CAAC;IACnC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AACjC,CAAC;AAED,sFAAsF;AACtF,MAAM,UAAU,cAAc,CAAC,
|
|
1
|
+
{"version":3,"file":"queries.js","sourceRoot":"","sources":["../../src/read/queries.ts"],"names":[],"mappings":"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"}
|
package/dist/read/tags.js
CHANGED
|
@@ -12,7 +12,6 @@ export function tagsView(db) {
|
|
|
12
12
|
title: row.title ?? "",
|
|
13
13
|
shortcut: row.shortcut,
|
|
14
14
|
parent: parentRow ? { uuid: parentRow.uuid, title: parentRow.title ?? "" } : null,
|
|
15
|
-
index: row.index ?? 0,
|
|
16
15
|
};
|
|
17
16
|
});
|
|
18
17
|
}
|
|
@@ -24,7 +23,6 @@ export function areasView(db) {
|
|
|
24
23
|
uuid: row.uuid,
|
|
25
24
|
title: row.title ?? "",
|
|
26
25
|
visible: row.visible !== 0,
|
|
27
|
-
index: row.index ?? 0,
|
|
28
26
|
tags: areaTags(db, row.uuid),
|
|
29
27
|
}));
|
|
30
28
|
}
|
package/dist/read/tags.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tags.js","sourceRoot":"","sources":["../../src/read/tags.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,CAAC,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAGhD,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAWlE,MAAM,UAAU,QAAQ,CAAC,EAAgB;IACvC,MAAM,IAAI,GAAG,EAAE;SACZ,OAAO,CAAC,UAAU,UAAU,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;SAC9E,GAAG,EAAyB,CAAC;IAChC,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACrD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;QACtB,MAAM,SAAS,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAClE,OAAO;YACL,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,KAAK,EAAE,GAAG,CAAC,KAAK,IAAI,EAAE;YACtB,QAAQ,EAAE,GAAG,CAAC,QAAQ;YACtB,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI;
|
|
1
|
+
{"version":3,"file":"tags.js","sourceRoot":"","sources":["../../src/read/tags.ts"],"names":[],"mappings":"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"}
|
package/dist/read/views.js
CHANGED
|
@@ -137,7 +137,9 @@ function groupBySidebar(db, items) {
|
|
|
137
137
|
projectMeta.set(row.uuid, { index: row.index ?? 0, area: row.area });
|
|
138
138
|
}
|
|
139
139
|
}
|
|
140
|
-
|
|
140
|
+
// items arrive in SQL "index" order, so array position IS the per-container
|
|
141
|
+
// rank (the internal index is no longer exposed on the entity).
|
|
142
|
+
const sortKey = (i, pos) => {
|
|
141
143
|
const project = i.type === "project" ? i.uuid : effProject(i);
|
|
142
144
|
const meta = project === null ? undefined : projectMeta.get(project);
|
|
143
145
|
const area = i.area?.uuid ?? meta?.area ?? null;
|
|
@@ -148,18 +150,18 @@ function groupBySidebar(db, items) {
|
|
|
148
150
|
projectIndex: meta?.index ?? 0,
|
|
149
151
|
project: project ?? "",
|
|
150
152
|
headerFirst: i.type === "project" ? 0 : 1,
|
|
151
|
-
|
|
153
|
+
pos,
|
|
152
154
|
uuid: i.uuid,
|
|
153
155
|
};
|
|
154
156
|
};
|
|
155
|
-
const keyed = items.map((item) => ({ item, k: sortKey(item) }));
|
|
157
|
+
const keyed = items.map((item, pos) => ({ item, k: sortKey(item, pos) }));
|
|
156
158
|
keyed.sort((a, b) => a.k.areaRank - b.k.areaRank ||
|
|
157
159
|
a.k.area.localeCompare(b.k.area) ||
|
|
158
160
|
a.k.inProject - b.k.inProject ||
|
|
159
161
|
a.k.projectIndex - b.k.projectIndex ||
|
|
160
162
|
a.k.project.localeCompare(b.k.project) ||
|
|
161
163
|
a.k.headerFirst - b.k.headerFirst ||
|
|
162
|
-
a.k.
|
|
164
|
+
a.k.pos - b.k.pos ||
|
|
163
165
|
a.k.uuid.localeCompare(b.k.uuid));
|
|
164
166
|
const sections = [];
|
|
165
167
|
for (const { item, k } of keyed) {
|
|
@@ -229,9 +231,12 @@ export function upcomingView(db, now, filter) {
|
|
|
229
231
|
deadline: o.deadline,
|
|
230
232
|
}));
|
|
231
233
|
});
|
|
232
|
-
return [...items, ...occurrences]
|
|
233
|
-
|
|
234
|
-
a.
|
|
234
|
+
return [...items, ...occurrences]
|
|
235
|
+
.map((item, pos) => ({ item, pos }))
|
|
236
|
+
.toSorted((a, b) => (a.item.startDate ?? "").localeCompare(b.item.startDate ?? "") ||
|
|
237
|
+
a.pos - b.pos ||
|
|
238
|
+
a.item.uuid.localeCompare(b.item.uuid))
|
|
239
|
+
.map((x) => x.item);
|
|
235
240
|
}
|
|
236
241
|
export function somedayView(db, now, filter) {
|
|
237
242
|
const tf = tagFilter(db, filter);
|
|
@@ -261,10 +266,13 @@ export function trashView(db, options) {
|
|
|
261
266
|
return materialize(db, rows);
|
|
262
267
|
}
|
|
263
268
|
export function projectsView(db, options) {
|
|
264
|
-
|
|
269
|
+
// areaUuid accepts a uuid OR a unique (case-insensitive) title; ambiguous
|
|
270
|
+
// or unknown references throw like every other ref resolver.
|
|
271
|
+
const area = options?.areaUuid === undefined ? null : resolveAreaUuid(db, options.areaUuid);
|
|
272
|
+
const where = area
|
|
265
273
|
? `${OPEN} AND t.type = 1 AND t.area = ? ORDER BY t."index" ASC`
|
|
266
274
|
: `${OPEN} AND t.type = 1 ORDER BY t."index" ASC`;
|
|
267
|
-
const rows = fetchTaskRows(db, where,
|
|
275
|
+
const rows = fetchTaskRows(db, where, area ? [area] : []);
|
|
268
276
|
return materialize(db, rows);
|
|
269
277
|
}
|
|
270
278
|
/**
|
package/dist/read/views.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"views.js","sourceRoot":"","sources":["../../src/read/views.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"views.js","sourceRoot":"","sources":["../../src/read/views.ts"],"names":[],"mappings":"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"}
|
package/dist/write/commands.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { decodeReminderTime, encodeReminderTime, reminderUrlToken, } from "../model/dates.js";
|
|
2
|
+
import { byUuid } from "../read/detail.js";
|
|
2
3
|
import { childTagTitles, computeReorderPre, emptyPreState, loadTarget, missingTagTitles, projectChildren, projectStatus, resolveArea, resolveHeading, resolveProject, resolveTag, trashedCount, } from "./pre-state.js";
|
|
3
4
|
import { PRIVATE_REORDER_COMMAND } from "./experimental.js";
|
|
4
5
|
import { escapeAppleScript } from "./vectors/applescript.js";
|
|
@@ -1101,16 +1102,20 @@ const reorder = {
|
|
|
1101
1102
|
const wire = pre.reorder?.wireList ?? params.uuids;
|
|
1102
1103
|
if (params.scope === "someday") {
|
|
1103
1104
|
// The Someday handler STACKS each sent id above the list's current top
|
|
1104
|
-
// (the current top itself never moves)
|
|
1105
|
-
//
|
|
1106
|
-
//
|
|
1107
|
-
//
|
|
1108
|
-
//
|
|
1105
|
+
// (the current top itself never moves), with OPPOSITE stack directions
|
|
1106
|
+
// by row type: to-dos ascend — later-sent higher (P6h/P7e/P8b) —
|
|
1107
|
+
// while projects DESCEND — earlier-sent higher (P9e, incl. a
|
|
1108
|
+
// predicted-failure control). Both use the same two-call protocol:
|
|
1109
|
+
// (1) push the desired BOTTOM item to the top, making it the anchor;
|
|
1110
|
+
// (2) anchor first, then the rest in the direction that stacks into
|
|
1111
|
+
// the desired order — reversed for to-dos (P8b: exact), FORWARD for
|
|
1112
|
+
// projects (P9e: exact ×2).
|
|
1109
1113
|
const bottom = wire.at(-1) ?? "";
|
|
1110
|
-
const
|
|
1114
|
+
const isProjects = pre.reorder?.projectMembers.length ?? 0;
|
|
1115
|
+
const call2 = isProjects > 0 ? [bottom, ...wire.slice(0, -1)].join(",") : wire.toReversed().join(",");
|
|
1111
1116
|
return osaBlock([
|
|
1112
1117
|
`${PRIVATE_REORDER_COMMAND} ${specifier} with ids ${q(bottom)}`,
|
|
1113
|
-
`${PRIVATE_REORDER_COMMAND} ${specifier} with ids ${q(
|
|
1118
|
+
`${PRIVATE_REORDER_COMMAND} ${specifier} with ids ${q(call2)}`,
|
|
1114
1119
|
]);
|
|
1115
1120
|
}
|
|
1116
1121
|
return osa(`${PRIVATE_REORDER_COMMAND} ${specifier} with ids ${q(wire.join(","))}`);
|
|
@@ -1130,7 +1135,7 @@ function asDateBlock(varName, iso) {
|
|
|
1130
1135
|
}
|
|
1131
1136
|
const todoBackdate = {
|
|
1132
1137
|
op: "todo.backdate",
|
|
1133
|
-
hazards: ["H-BACKDATE-OPEN"],
|
|
1138
|
+
hazards: ["H-UNKNOWN-DESTINATION", "H-BACKDATE-OPEN"],
|
|
1134
1139
|
preRead(db, params) {
|
|
1135
1140
|
if (params.completionDate === undefined && params.creationDate === undefined) {
|
|
1136
1141
|
throw new RangeError("nothing to backdate: give completionDate and/or creationDate");
|
|
@@ -1221,6 +1226,116 @@ const todoAddLogged = {
|
|
|
1221
1226
|
return thingsUrl("json", { data: payload }, ctx.token);
|
|
1222
1227
|
},
|
|
1223
1228
|
};
|
|
1229
|
+
/** Children of a heading (open ones drive the archive policies). */
|
|
1230
|
+
function headingChildren(db, headingUuid) {
|
|
1231
|
+
const rows = db
|
|
1232
|
+
.prepare("SELECT uuid FROM TMTask WHERE type = 0 AND trashed = 0 AND heading = ?")
|
|
1233
|
+
.all(headingUuid);
|
|
1234
|
+
const todos = [];
|
|
1235
|
+
for (const r of rows) {
|
|
1236
|
+
const t = byUuid(db, r.uuid);
|
|
1237
|
+
if (t !== null && t.type === "to-do")
|
|
1238
|
+
todos.push(t);
|
|
1239
|
+
}
|
|
1240
|
+
return todos;
|
|
1241
|
+
}
|
|
1242
|
+
const headingRename = {
|
|
1243
|
+
op: "heading.rename",
|
|
1244
|
+
hazards: ["H-UNKNOWN-DESTINATION"],
|
|
1245
|
+
preRead(db, params) {
|
|
1246
|
+
const pre = emptyPreState();
|
|
1247
|
+
pre.target = loadTarget(db, params.uuid);
|
|
1248
|
+
return pre;
|
|
1249
|
+
},
|
|
1250
|
+
expectedDelta(_pre, params) {
|
|
1251
|
+
return {
|
|
1252
|
+
mode: "update",
|
|
1253
|
+
uuid: params.uuid,
|
|
1254
|
+
assert: [{ field: "title", equals: params.title }],
|
|
1255
|
+
};
|
|
1256
|
+
},
|
|
1257
|
+
compile(params, vector) {
|
|
1258
|
+
if (vector !== "applescript")
|
|
1259
|
+
unsupportedVector(this.op, vector);
|
|
1260
|
+
// Heading rows are invisible to AppleScript enumeration but fully
|
|
1261
|
+
// addressable by id (P10d — the oddity-5e pattern).
|
|
1262
|
+
return osa(`set name of to do id ${q(params.uuid)} to ${q(params.title)}`);
|
|
1263
|
+
},
|
|
1264
|
+
};
|
|
1265
|
+
const headingArchive = {
|
|
1266
|
+
op: "heading.archive",
|
|
1267
|
+
hazards: ["H-UNKNOWN-DESTINATION", "H-HEADING-CHILDREN"],
|
|
1268
|
+
preRead(db, params) {
|
|
1269
|
+
const pre = emptyPreState();
|
|
1270
|
+
pre.target = loadTarget(db, params.uuid);
|
|
1271
|
+
if (pre.target?.type === "heading") {
|
|
1272
|
+
const children = headingChildren(db, params.uuid);
|
|
1273
|
+
pre.openChildren = children.filter((c) => c.status === "open");
|
|
1274
|
+
pre.canceledChildren = children.filter((c) => c.status === "canceled");
|
|
1275
|
+
pre.completedChildren = children.filter((c) => c.status === "completed");
|
|
1276
|
+
}
|
|
1277
|
+
return pre;
|
|
1278
|
+
},
|
|
1279
|
+
expectedDelta(pre, params) {
|
|
1280
|
+
// The app has no canceled heading state: BOTH cascades store the heading
|
|
1281
|
+
// as completed; children land per the policy (P10b-b1 complete, P11c
|
|
1282
|
+
// cancel). Pre-resolved children keep their status + stopDate (P11d).
|
|
1283
|
+
const childStatus = params.children === "cancel" ? "canceled" : "completed";
|
|
1284
|
+
const cascade = [
|
|
1285
|
+
...pre.openChildren.map((c) => ({
|
|
1286
|
+
uuid: c.uuid,
|
|
1287
|
+
assert: [{ field: "status", equals: childStatus }],
|
|
1288
|
+
})),
|
|
1289
|
+
...pre.canceledChildren.map((c) => ({
|
|
1290
|
+
uuid: c.uuid,
|
|
1291
|
+
assert: [{ field: "status", equals: "canceled" }],
|
|
1292
|
+
})),
|
|
1293
|
+
...pre.completedChildren.map((c) => ({
|
|
1294
|
+
uuid: c.uuid,
|
|
1295
|
+
assert: [{ field: "status", equals: "completed" }],
|
|
1296
|
+
})),
|
|
1297
|
+
];
|
|
1298
|
+
return {
|
|
1299
|
+
mode: "state",
|
|
1300
|
+
uuid: params.uuid,
|
|
1301
|
+
// Asserting the (unchanged) title captures it in the audit pre-state —
|
|
1302
|
+
// the compound undo needs it to restore reparented children's heading
|
|
1303
|
+
// placement (todo.move's heading param takes a NAME).
|
|
1304
|
+
assert: [
|
|
1305
|
+
{ field: "status", equals: "completed" },
|
|
1306
|
+
{ field: "title", equals: pre.target?.type === "heading" ? pre.target.title : "" },
|
|
1307
|
+
],
|
|
1308
|
+
cascade,
|
|
1309
|
+
};
|
|
1310
|
+
},
|
|
1311
|
+
compile(params, vector) {
|
|
1312
|
+
if (vector !== "applescript")
|
|
1313
|
+
unsupportedVector(this.op, vector);
|
|
1314
|
+
const status = params.children === "cancel" ? "canceled" : "completed";
|
|
1315
|
+
return osa(`set status of to do id ${q(params.uuid)} to ${status}`);
|
|
1316
|
+
},
|
|
1317
|
+
};
|
|
1318
|
+
const headingUnarchive = {
|
|
1319
|
+
op: "heading.unarchive",
|
|
1320
|
+
hazards: ["H-UNKNOWN-DESTINATION"],
|
|
1321
|
+
preRead(db, params) {
|
|
1322
|
+
const pre = emptyPreState();
|
|
1323
|
+
pre.target = loadTarget(db, params.uuid);
|
|
1324
|
+
return pre;
|
|
1325
|
+
},
|
|
1326
|
+
expectedDelta(_pre, params) {
|
|
1327
|
+
return {
|
|
1328
|
+
mode: "state",
|
|
1329
|
+
uuid: params.uuid,
|
|
1330
|
+
assert: [{ field: "status", equals: "open" }],
|
|
1331
|
+
};
|
|
1332
|
+
},
|
|
1333
|
+
compile(params, vector) {
|
|
1334
|
+
if (vector !== "applescript")
|
|
1335
|
+
unsupportedVector(this.op, vector);
|
|
1336
|
+
return osa(`set status of to do id ${q(params.uuid)} to open`);
|
|
1337
|
+
},
|
|
1338
|
+
};
|
|
1224
1339
|
const trashEmpty = {
|
|
1225
1340
|
op: "trash.empty",
|
|
1226
1341
|
hazards: ["H-PERMANENT-DELETE"],
|
|
@@ -1270,5 +1385,8 @@ export const COMMANDS = {
|
|
|
1270
1385
|
"project.set-tags": projectSetTags,
|
|
1271
1386
|
"todo.backdate": todoBackdate,
|
|
1272
1387
|
"todo.add-logged": todoAddLogged,
|
|
1388
|
+
"heading.rename": headingRename,
|
|
1389
|
+
"heading.archive": headingArchive,
|
|
1390
|
+
"heading.unarchive": headingUnarchive,
|
|
1273
1391
|
};
|
|
1274
1392
|
//# sourceMappingURL=commands.js.map
|