things-api 0.11.0 → 0.12.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 +16 -5
- package/dist/audit/schema.d.ts +7 -0
- package/dist/audit/schema.js.map +1 -1
- package/dist/cli/commands/area.d.ts +18 -11
- package/dist/cli/commands/area.js +55 -67
- package/dist/cli/commands/area.js.map +1 -1
- package/dist/cli/commands/doctor.d.ts +1 -2
- package/dist/cli/commands/doctor.js +11 -1
- package/dist/cli/commands/doctor.js.map +1 -1
- package/dist/cli/commands/install-skill.d.ts +19 -4
- package/dist/cli/commands/install-skill.js +101 -52
- package/dist/cli/commands/install-skill.js.map +1 -1
- package/dist/cli/commands/mcp.js +9 -0
- package/dist/cli/commands/mcp.js.map +1 -1
- package/dist/cli/commands/project.d.ts +1 -0
- package/dist/cli/commands/project.js +20 -28
- package/dist/cli/commands/project.js.map +1 -1
- package/dist/cli/commands/reads.js +100 -28
- package/dist/cli/commands/reads.js.map +1 -1
- package/dist/cli/commands/show.js +32 -8
- package/dist/cli/commands/show.js.map +1 -1
- package/dist/cli/commands/todo.js +1 -1
- package/dist/cli/commands/todo.js.map +1 -1
- package/dist/cli/commands/writes.js +769 -143
- package/dist/cli/commands/writes.js.map +1 -1
- package/dist/cli/did-you-mean.d.ts +14 -3
- package/dist/cli/did-you-mean.js +26 -3
- package/dist/cli/did-you-mean.js.map +1 -1
- package/dist/cli/glyphs.d.ts +16 -2
- package/dist/cli/glyphs.js +60 -12
- package/dist/cli/glyphs.js.map +1 -1
- package/dist/cli/help.js +67 -12
- package/dist/cli/help.js.map +1 -1
- package/dist/cli/main.js +1 -1
- package/dist/cli/main.js.map +1 -1
- package/dist/cli/move-hint.d.ts +3 -2
- package/dist/cli/move-hint.js +2 -2
- package/dist/cli/move-hint.js.map +1 -1
- package/dist/cli/read-driver.d.ts +43 -5
- package/dist/cli/read-driver.js +81 -15
- package/dist/cli/read-driver.js.map +1 -1
- package/dist/cli/render.d.ts +19 -8
- package/dist/cli/render.js +59 -25
- package/dist/cli/render.js.map +1 -1
- package/dist/cli/resolve-invocation.d.ts +2 -2
- package/dist/cli/resolve-invocation.js +3 -3
- package/dist/cli/resolve-invocation.js.map +1 -1
- package/dist/cli/skill-check.d.ts +12 -6
- package/dist/cli/skill-check.js +31 -14
- package/dist/cli/skill-check.js.map +1 -1
- package/dist/cli/skill.d.ts +8 -0
- package/dist/cli/skill.js +10 -0
- package/dist/cli/skill.js.map +1 -1
- package/dist/cli/verb-hint.js +1 -1
- package/dist/cli/verb-hint.js.map +1 -1
- package/dist/client.d.ts +140 -19
- package/dist/client.js +253 -38
- package/dist/client.js.map +1 -1
- package/dist/config.d.ts +66 -2
- package/dist/config.js +120 -12
- package/dist/config.js.map +1 -1
- package/dist/contracts.d.ts +176 -28
- package/dist/contracts.js +22 -1
- package/dist/contracts.js.map +1 -1
- package/dist/diagnose.d.ts +34 -2
- package/dist/diagnose.js +36 -1
- package/dist/diagnose.js.map +1 -1
- package/dist/index.d.ts +19 -8
- package/dist/index.js +19 -3
- package/dist/index.js.map +1 -1
- package/dist/mcp/server.d.ts +9 -0
- package/dist/mcp/server.js +733 -304
- package/dist/mcp/server.js.map +1 -1
- package/dist/model/entities.d.ts +46 -3
- package/dist/model/entities.js.map +1 -1
- package/dist/model/mappers.d.ts +2 -0
- package/dist/model/mappers.js +41 -2
- package/dist/model/mappers.js.map +1 -1
- package/dist/model/recurrence.d.ts +8 -1
- package/dist/model/recurrence.js.map +1 -1
- package/dist/read/area-filter.d.ts +76 -0
- package/dist/read/area-filter.js +59 -0
- package/dist/read/area-filter.js.map +1 -0
- package/dist/read/area-view.d.ts +11 -11
- package/dist/read/area-view.js +50 -28
- package/dist/read/area-view.js.map +1 -1
- package/dist/read/detail.js +15 -8
- package/dist/read/detail.js.map +1 -1
- package/dist/read/predicates.d.ts +18 -0
- package/dist/read/predicates.js +19 -0
- package/dist/read/predicates.js.map +1 -1
- package/dist/read/project-view.d.ts +31 -15
- package/dist/read/project-view.js +72 -39
- package/dist/read/project-view.js.map +1 -1
- package/dist/read/pseudo-area.d.ts +29 -0
- package/dist/read/pseudo-area.js +27 -0
- package/dist/read/pseudo-area.js.map +1 -0
- package/dist/read/queries.d.ts +105 -18
- package/dist/read/queries.js +185 -30
- package/dist/read/queries.js.map +1 -1
- package/dist/read/scope.d.ts +126 -0
- package/dist/read/scope.js +162 -0
- package/dist/read/scope.js.map +1 -0
- package/dist/read/search-rank.d.ts +2 -5
- package/dist/read/shape.d.ts +162 -0
- package/dist/read/shape.js +686 -0
- package/dist/read/shape.js.map +1 -0
- package/dist/read/show-target.d.ts +9 -1
- package/dist/read/show-target.js +45 -4
- package/dist/read/show-target.js.map +1 -1
- package/dist/read/stage.d.ts +199 -0
- package/dist/read/stage.js +125 -0
- package/dist/read/stage.js.map +1 -0
- package/dist/read/truncation.d.ts +7 -5
- package/dist/read/truncation.js +33 -8
- package/dist/read/truncation.js.map +1 -1
- package/dist/read/views.d.ts +49 -9
- package/dist/read/views.js +193 -40
- package/dist/read/views.js.map +1 -1
- package/dist/surface-copy.d.ts +9 -0
- package/dist/surface-copy.js +9 -0
- package/dist/surface-copy.js.map +1 -1
- package/dist/write/batch.d.ts +49 -10
- package/dist/write/batch.js +423 -71
- package/dist/write/batch.js.map +1 -1
- package/dist/write/commands.js +266 -55
- package/dist/write/commands.js.map +1 -1
- package/dist/write/guards.d.ts +1 -1
- package/dist/write/guards.js +71 -10
- package/dist/write/guards.js.map +1 -1
- package/dist/write/heading.d.ts +10 -1
- package/dist/write/heading.js +35 -5
- package/dist/write/heading.js.map +1 -1
- package/dist/write/make-repeating-project.d.ts +2 -2
- package/dist/write/make-repeating-project.js +9 -9
- package/dist/write/make-repeating-project.js.map +1 -1
- package/dist/write/move.d.ts +130 -0
- package/dist/write/move.js +1533 -0
- package/dist/write/move.js.map +1 -0
- package/dist/write/operations.d.ts +105 -19
- package/dist/write/operations.js +56 -7
- package/dist/write/operations.js.map +1 -1
- package/dist/write/opid.d.ts +31 -0
- package/dist/write/opid.js +30 -0
- package/dist/write/opid.js.map +1 -0
- package/dist/write/pipeline.d.ts +70 -3
- package/dist/write/pipeline.js +198 -33
- package/dist/write/pipeline.js.map +1 -1
- package/dist/write/pre-state.d.ts +162 -8
- package/dist/write/pre-state.js +385 -20
- package/dist/write/pre-state.js.map +1 -1
- package/dist/write/reorder.d.ts +23 -3
- package/dist/write/reorder.js +1871 -85
- package/dist/write/reorder.js.map +1 -1
- package/dist/write/reversibility.js +19 -7
- package/dist/write/reversibility.js.map +1 -1
- package/dist/write/scope-guard.d.ts +31 -0
- package/dist/write/scope-guard.js +162 -0
- package/dist/write/scope-guard.js.map +1 -0
- package/dist/write/undo.js +120 -13
- package/dist/write/undo.js.map +1 -1
- package/dist/write/vectors/applescript.js +16 -7
- package/dist/write/vectors/applescript.js.map +1 -1
- package/dist/write/vectors/shortcuts.js +1 -1
- package/dist/write/vectors/shortcuts.js.map +1 -1
- package/dist/write/vectors/simulator.js +83 -27
- package/dist/write/vectors/simulator.js.map +1 -1
- package/dist/write/vectors/types.d.ts +11 -0
- package/dist/write/vectors/ui-certification.d.ts +3 -3
- package/dist/write/vectors/ui-certification.js +41 -5
- package/dist/write/vectors/ui-certification.js.map +1 -1
- package/dist/write/vectors/ui-drag.d.ts +21 -1
- package/dist/write/vectors/ui-drag.js +138 -27
- package/dist/write/vectors/ui-drag.js.map +1 -1
- package/dist/write/vectors/ui-recipes.d.ts +21 -1
- package/dist/write/vectors/ui-recipes.js +166 -7
- package/dist/write/vectors/ui-recipes.js.map +1 -1
- package/dist/write/vectors/ui.d.ts +25 -1
- package/dist/write/vectors/ui.js +142 -33
- package/dist/write/vectors/ui.js.map +1 -1
- package/dist/write/verify/delta.d.ts +17 -1
- package/dist/write/verify/delta.js +106 -29
- package/dist/write/verify/delta.js.map +1 -1
- package/package.json +7 -1
- package/schema/envelope.schema.json +383 -0
- package/skills/things-cli/SKILL.md +34 -17
- package/skills/things-cli/references/banner.md +35 -0
- package/skills/things-cli/references/contracts.md +30 -9
- package/skills/things-cli/references/errors.md +49 -0
- package/skills/things-cli/references/gui.md +1 -1
- package/skills/things-cli/references/model.md +15 -6
- package/skills/things-cli/references/ordering.md +71 -0
package/dist/write/pre-state.js
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { encodePackedDate, localToday } from "../model/dates.js";
|
|
2
2
|
import { TASK_STATUS_FROM_DB } from "../model/entities.js";
|
|
3
3
|
import { byUuid } from "../read/detail.js";
|
|
4
|
-
import { resolveNamedRef } from "../read/queries.js";
|
|
4
|
+
import { deadNameMatchHint, resolveHeadingRef, resolveNamedRef } from "../read/queries.js";
|
|
5
5
|
export function emptyPreState() {
|
|
6
6
|
return {
|
|
7
7
|
target: null,
|
|
8
|
+
todayIso: localToday(new Date()),
|
|
8
9
|
destProject: null,
|
|
9
10
|
destProjectStatus: null,
|
|
10
11
|
destArea: null,
|
|
@@ -14,6 +15,7 @@ export function emptyPreState() {
|
|
|
14
15
|
parentTag: null,
|
|
15
16
|
entityTarget: null,
|
|
16
17
|
childTags: [],
|
|
18
|
+
areaMembers: null,
|
|
17
19
|
openChildren: [],
|
|
18
20
|
canceledChildren: [],
|
|
19
21
|
completedChildren: [],
|
|
@@ -26,8 +28,62 @@ export function emptyPreState() {
|
|
|
26
28
|
projectRepeat: null,
|
|
27
29
|
repeatSubtreeUuids: null,
|
|
28
30
|
headingConvert: null,
|
|
31
|
+
headingMove: null,
|
|
32
|
+
headingMoveToProject: null,
|
|
33
|
+
headingDissolve: null,
|
|
29
34
|
};
|
|
30
35
|
}
|
|
36
|
+
/**
|
|
37
|
+
* Read a project's current heading order and compute the FULL target order
|
|
38
|
+
* after moving `headings` (an ordered block) to the requested placement. The
|
|
39
|
+
* block lands contiguously in selection order; every other heading keeps its
|
|
40
|
+
* relative order. Children follow their heading on the wire (scf P1). Illegal
|
|
41
|
+
* requests (unknown/duplicated movee, an anchor that is a movee or absent)
|
|
42
|
+
* collect problems and leave the order unchanged.
|
|
43
|
+
*/
|
|
44
|
+
export function computeHeadingMovePre(db, project, headings, placement) {
|
|
45
|
+
const projectUuid = project.resolved?.uuid ?? "";
|
|
46
|
+
const current = db
|
|
47
|
+
.prepare(`SELECT uuid FROM TMTask WHERE type = 2 AND trashed = 0 AND project = ? ORDER BY "index"`)
|
|
48
|
+
.all(projectUuid).map((r) => r.uuid);
|
|
49
|
+
const problems = [];
|
|
50
|
+
const currentSet = new Set(current);
|
|
51
|
+
const movees = new Set();
|
|
52
|
+
for (const h of headings) {
|
|
53
|
+
if (movees.has(h))
|
|
54
|
+
problems.push(`heading ${h} listed more than once`);
|
|
55
|
+
movees.add(h);
|
|
56
|
+
}
|
|
57
|
+
if (headings.length === 0)
|
|
58
|
+
problems.push("no headings given");
|
|
59
|
+
for (const h of headings) {
|
|
60
|
+
if (!currentSet.has(h))
|
|
61
|
+
problems.push(`${h} is not a heading of this project`);
|
|
62
|
+
}
|
|
63
|
+
let anchor = null;
|
|
64
|
+
if ("before" in placement || "after" in placement) {
|
|
65
|
+
anchor = "before" in placement ? placement.before : placement.after;
|
|
66
|
+
if (!currentSet.has(anchor)) {
|
|
67
|
+
problems.push(`anchor heading ${anchor} is not a heading of this project`);
|
|
68
|
+
}
|
|
69
|
+
if (movees.has(anchor)) {
|
|
70
|
+
problems.push("the anchor heading cannot also be one of the moved headings");
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
if (problems.length > 0)
|
|
74
|
+
return { project, current, targetOrder: current, problems };
|
|
75
|
+
const rest = current.filter((u) => !movees.has(u));
|
|
76
|
+
let targetOrder;
|
|
77
|
+
if ("position" in placement) {
|
|
78
|
+
targetOrder = placement.position === "first" ? [...headings, ...rest] : [...rest, ...headings];
|
|
79
|
+
}
|
|
80
|
+
else {
|
|
81
|
+
const idx = rest.indexOf(anchor);
|
|
82
|
+
const insertAt = "before" in placement ? idx : idx + 1;
|
|
83
|
+
targetOrder = [...rest.slice(0, insertAt), ...headings, ...rest.slice(insertAt)];
|
|
84
|
+
}
|
|
85
|
+
return { project, current, targetOrder, problems: [] };
|
|
86
|
+
}
|
|
31
87
|
/**
|
|
32
88
|
* The uuids of a project's source subtree rows (non-trashed to-dos AND
|
|
33
89
|
* headings, direct or heading-nested). `childrenReplaced` counts how many of
|
|
@@ -68,6 +124,144 @@ export function classifyHeadingConvert(db, target) {
|
|
|
68
124
|
}
|
|
69
125
|
return { kind: "ok", projectReveal: project.uuid, ordinal };
|
|
70
126
|
}
|
|
127
|
+
export function classifyHeadingMoveToProject(db, project, headingSel, toProject) {
|
|
128
|
+
const src = resolveProject(db, project);
|
|
129
|
+
if (src.resolved === null) {
|
|
130
|
+
return {
|
|
131
|
+
kind: "refuse",
|
|
132
|
+
refusal: "no-source",
|
|
133
|
+
detail: src.matches > 1
|
|
134
|
+
? "the source project title is ambiguous — pass its uuid"
|
|
135
|
+
: "the source project did not resolve",
|
|
136
|
+
};
|
|
137
|
+
}
|
|
138
|
+
const h = resolveHeading(db, src.resolved.uuid, headingSel);
|
|
139
|
+
if (h.resolved === null) {
|
|
140
|
+
return {
|
|
141
|
+
kind: "refuse",
|
|
142
|
+
refusal: h.matches > 1 ? "heading-ambiguous" : "heading-not-found",
|
|
143
|
+
detail: h.matches > 1
|
|
144
|
+
? `the heading selector "${headingSel}" matches ${h.matches} headings in the project — disambiguate with a uuid`
|
|
145
|
+
: `no heading matching "${headingSel}" in the source project`,
|
|
146
|
+
};
|
|
147
|
+
}
|
|
148
|
+
const headingRow = db
|
|
149
|
+
.prepare("SELECT title FROM TMTask WHERE uuid = ? AND type = 2 AND trashed = 0")
|
|
150
|
+
.get(h.resolved.uuid);
|
|
151
|
+
if (headingRow === undefined) {
|
|
152
|
+
return { kind: "refuse", refusal: "heading-not-found", detail: "the heading no longer exists" };
|
|
153
|
+
}
|
|
154
|
+
const title = headingRow.title ?? "";
|
|
155
|
+
if (title === "") {
|
|
156
|
+
return {
|
|
157
|
+
kind: "refuse",
|
|
158
|
+
refusal: "empty-heading-title",
|
|
159
|
+
detail: "the heading has no title — the Move… drive addresses the heading by its title-carrying " +
|
|
160
|
+
'"More. <title>" button, which cannot pick one titleless heading out of several',
|
|
161
|
+
};
|
|
162
|
+
}
|
|
163
|
+
// Source title-collision: the "More. <title>" node cannot tell two same-titled
|
|
164
|
+
// headings in one project apart, even when the SELECTOR resolved by uuid.
|
|
165
|
+
const twins = db
|
|
166
|
+
.prepare("SELECT uuid FROM TMTask WHERE type = 2 AND trashed = 0 AND project = ? AND title = ? AND uuid != ?")
|
|
167
|
+
.all(src.resolved.uuid, title, h.resolved.uuid);
|
|
168
|
+
if (twins.length > 0) {
|
|
169
|
+
return {
|
|
170
|
+
kind: "refuse",
|
|
171
|
+
refusal: "heading-ambiguous",
|
|
172
|
+
detail: `the heading title "${title}" is shared by ${twins.length + 1} headings in this project — ` +
|
|
173
|
+
"the ellipsis Move… drive addresses headings by title and cannot disambiguate; " +
|
|
174
|
+
"rename one first",
|
|
175
|
+
candidates: [h.resolved.uuid, ...twins.map((t) => t.uuid)],
|
|
176
|
+
};
|
|
177
|
+
}
|
|
178
|
+
const dest = resolveProject(db, toProject);
|
|
179
|
+
if (dest.resolved === null) {
|
|
180
|
+
return {
|
|
181
|
+
kind: "refuse",
|
|
182
|
+
refusal: "no-dest",
|
|
183
|
+
detail: dest.matches > 1
|
|
184
|
+
? "the destination project title is ambiguous — pass its uuid"
|
|
185
|
+
: "the destination project did not resolve",
|
|
186
|
+
};
|
|
187
|
+
}
|
|
188
|
+
if (dest.resolved.uuid === src.resolved.uuid) {
|
|
189
|
+
return {
|
|
190
|
+
kind: "refuse",
|
|
191
|
+
refusal: "same-project",
|
|
192
|
+
detail: "the destination is the heading's current project — use `project move-heading` to reorder " +
|
|
193
|
+
"a heading WITHIN its project",
|
|
194
|
+
};
|
|
195
|
+
}
|
|
196
|
+
// Destination picker-collision: the picker searches BY TITLE, so a shared dest
|
|
197
|
+
// title would filter to >1 project and Return would pick the wrong one — fail
|
|
198
|
+
// closed even though the destination itself resolved (possibly by uuid).
|
|
199
|
+
const destTitle = dest.resolved.title;
|
|
200
|
+
const destTwins = db
|
|
201
|
+
.prepare("SELECT COUNT(*) AS n FROM TMTask WHERE type = 1 AND trashed = 0 AND title = ? AND uuid != ?")
|
|
202
|
+
.get(destTitle, dest.resolved.uuid);
|
|
203
|
+
if (destTwins.n > 0) {
|
|
204
|
+
return {
|
|
205
|
+
kind: "refuse",
|
|
206
|
+
refusal: "dest-ambiguous",
|
|
207
|
+
detail: `the destination title "${destTitle}" is shared by ${destTwins.n + 1} projects — the ` +
|
|
208
|
+
"Move… picker searches by title and would land the heading in the wrong one; rename or " +
|
|
209
|
+
"merge the duplicates first",
|
|
210
|
+
};
|
|
211
|
+
}
|
|
212
|
+
return {
|
|
213
|
+
kind: "ok",
|
|
214
|
+
pre: {
|
|
215
|
+
sourceProjectUuid: src.resolved.uuid,
|
|
216
|
+
headingUuid: h.resolved.uuid,
|
|
217
|
+
headingTitle: title,
|
|
218
|
+
destProjectUuid: dest.resolved.uuid,
|
|
219
|
+
destProjectTitle: destTitle,
|
|
220
|
+
},
|
|
221
|
+
};
|
|
222
|
+
}
|
|
223
|
+
export function classifyHeadingDissolve(db, target) {
|
|
224
|
+
if (target === null || target.type !== "heading") {
|
|
225
|
+
return { kind: "refuse", refusal: "not-a-heading", detail: "target is not a heading" };
|
|
226
|
+
}
|
|
227
|
+
const project = target.project;
|
|
228
|
+
if (project === null) {
|
|
229
|
+
return {
|
|
230
|
+
kind: "refuse",
|
|
231
|
+
refusal: "no-project",
|
|
232
|
+
detail: "the heading has no owning project — cannot reveal a project view to drive its row",
|
|
233
|
+
};
|
|
234
|
+
}
|
|
235
|
+
const title = target.title;
|
|
236
|
+
if (title === "") {
|
|
237
|
+
return {
|
|
238
|
+
kind: "refuse",
|
|
239
|
+
refusal: "empty-title",
|
|
240
|
+
detail: "the heading has no title — the Delete drive addresses the heading by its title-carrying " +
|
|
241
|
+
'"More. <title>" button, which cannot pick one titleless heading out of several',
|
|
242
|
+
};
|
|
243
|
+
}
|
|
244
|
+
const twins = db
|
|
245
|
+
.prepare("SELECT uuid FROM TMTask WHERE type = 2 AND trashed = 0 AND project = ? AND title = ? AND uuid != ?")
|
|
246
|
+
.all(project.uuid, title, target.uuid);
|
|
247
|
+
if (twins.length > 0) {
|
|
248
|
+
return {
|
|
249
|
+
kind: "refuse",
|
|
250
|
+
refusal: "title-ambiguous",
|
|
251
|
+
detail: `the heading title "${title}" is shared by ${twins.length + 1} headings in this project — ` +
|
|
252
|
+
"the ellipsis Delete drive addresses headings by title and cannot disambiguate; " +
|
|
253
|
+
"rename one first",
|
|
254
|
+
candidates: [target.uuid, ...twins.map((t) => t.uuid)],
|
|
255
|
+
};
|
|
256
|
+
}
|
|
257
|
+
const childUuids = db
|
|
258
|
+
.prepare('SELECT uuid FROM TMTask WHERE type = 0 AND trashed = 0 AND status = 0 AND heading = ? ORDER BY "index"')
|
|
259
|
+
.all(target.uuid).map((r) => r.uuid);
|
|
260
|
+
return {
|
|
261
|
+
kind: "ok",
|
|
262
|
+
pre: { projectReveal: project.uuid, headingUuid: target.uuid, headingTitle: title, childUuids },
|
|
263
|
+
};
|
|
264
|
+
}
|
|
71
265
|
/**
|
|
72
266
|
* Count non-trashed projects with the given title that share the target's
|
|
73
267
|
* row-selection container, EXCLUDING the target itself. A non-zero count is a
|
|
@@ -155,18 +349,36 @@ export function classifyProjectRepeat(db, target) {
|
|
|
155
349
|
export function resolveArea(db, ref) {
|
|
156
350
|
return resolveNamedRef(db, "TMArea", "1=1", [], ref.uuid ?? ref.title ?? "");
|
|
157
351
|
}
|
|
352
|
+
/**
|
|
353
|
+
* Resolve a project DESTINATION (`--to-project` / `--project` on add/move). NAME
|
|
354
|
+
* resolution is OPEN-only (`status = 0`) — a completed/canceled project is not a
|
|
355
|
+
* valid live destination by name: placing an open child there strands it (PLOG1,
|
|
356
|
+
* "a completed-in-place project strands children identically, one sweep later").
|
|
357
|
+
* A UUID / partial-uuid still reaches a completed project (explicit intent —
|
|
358
|
+
* `nameExtraWhere` narrows the NAME tiers only). When a name matches ONLY non-open
|
|
359
|
+
* projects, the resolution carries a `deadHint` so the destination not-found says
|
|
360
|
+
* the row exists and how to reach it (by uuid), instead of a bare "project not
|
|
361
|
+
* found".
|
|
362
|
+
*/
|
|
158
363
|
export function resolveProject(db, ref) {
|
|
159
|
-
|
|
364
|
+
const key = ref.uuid ?? ref.title ?? "";
|
|
365
|
+
const r = resolveNamedRef(db, "TMTask", "type = 1 AND trashed = 0", [], key, {
|
|
366
|
+
nameExtraWhere: "status = 0",
|
|
367
|
+
});
|
|
368
|
+
if (r.resolved === null && r.matches === 0) {
|
|
369
|
+
const completed = resolveNamedRef(db, "TMTask", "type = 1 AND trashed = 0 AND status != 0", [], key, {
|
|
370
|
+
prefixTier: false,
|
|
371
|
+
}).matches;
|
|
372
|
+
if (completed > 0)
|
|
373
|
+
return { ...r, deadHint: deadNameMatchHint({ completed }) };
|
|
374
|
+
}
|
|
375
|
+
return r;
|
|
160
376
|
}
|
|
161
|
-
export function resolveHeading(db, projectUuid,
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
return {
|
|
167
|
-
resolved: rows.length === 1 && first !== undefined ? first : null,
|
|
168
|
-
matches: rows.length,
|
|
169
|
-
};
|
|
377
|
+
export function resolveHeading(db, projectUuid, headingSel) {
|
|
378
|
+
// Shares the one heading-selector core (title | uuid | empty-string literal,
|
|
379
|
+
// no ordinal) with the project heading verbs — see resolveHeadingRef.
|
|
380
|
+
const r = resolveHeadingRef(db, projectUuid, headingSel);
|
|
381
|
+
return { resolved: r.resolved, matches: r.matches };
|
|
170
382
|
}
|
|
171
383
|
export function projectStatus(db, uuid) {
|
|
172
384
|
const row = db.prepare("SELECT status FROM TMTask WHERE uuid = ? AND type = 1").get(uuid);
|
|
@@ -222,6 +434,22 @@ export function childTagTitles(db, tagUuid) {
|
|
|
222
434
|
.all(tagUuid, tagUuid);
|
|
223
435
|
return rows.map((r) => r.title);
|
|
224
436
|
}
|
|
437
|
+
/**
|
|
438
|
+
* Live member census for `area.delete` (A25/A25B). Counts the area's non-trashed
|
|
439
|
+
* DIRECT members: to-dos carrying the area FK (any status — a logged to-do is
|
|
440
|
+
* still trashed by the delete) and projects carrying the area FK. Deleting a
|
|
441
|
+
* non-empty area trashes the to-dos and takes the projects with it, so the guard
|
|
442
|
+
* uses these counts to refuse fail-closed unless the caller allows it.
|
|
443
|
+
*/
|
|
444
|
+
export function areaMemberCounts(db, areaUuid) {
|
|
445
|
+
const todos = db
|
|
446
|
+
.prepare("SELECT COUNT(*) AS n FROM TMTask WHERE type = 0 AND trashed = 0 AND area = ?")
|
|
447
|
+
.get(areaUuid).n;
|
|
448
|
+
const projects = db
|
|
449
|
+
.prepare("SELECT COUNT(*) AS n FROM TMTask WHERE type = 1 AND trashed = 0 AND area = ?")
|
|
450
|
+
.get(areaUuid).n;
|
|
451
|
+
return { projects, todos };
|
|
452
|
+
}
|
|
225
453
|
export function trashedCount(db) {
|
|
226
454
|
const row = db.prepare("SELECT COUNT(*) AS n FROM TMTask WHERE trashed = 1").get();
|
|
227
455
|
return row.n;
|
|
@@ -246,8 +474,6 @@ const NOT_TEMPLATE_ROW = "(rt1_recurrenceRule IS NULL AND repeater IS NULL)";
|
|
|
246
474
|
* unprobed and the guard rejects them.
|
|
247
475
|
* - inbox: unscheduled to-dos with no container (start=0), by "index"
|
|
248
476
|
* (A6/P8a — the command ranks the sent list in order).
|
|
249
|
-
* - headings: the HEADING rows (type=2) of a project, by "index" (scf P1 —
|
|
250
|
-
* the private command accepts heading uuids; children follow).
|
|
251
477
|
* - someday: loose someday to-dos AND area-less someday projects, by
|
|
252
478
|
* "index"; same-type requests only. The Someday list handler is
|
|
253
479
|
* anchor-stacked with OPPOSITE stack directions by row type:
|
|
@@ -260,7 +486,13 @@ const NOT_TEMPLATE_ROW = "(rt1_recurrenceRule IS NULL AND repeater IS NULL)";
|
|
|
260
486
|
export function computeReorderPre(db, params, containerUuid, now) {
|
|
261
487
|
const todayIso = localToday(now);
|
|
262
488
|
const packedToday = encodePackedDate(todayIso);
|
|
263
|
-
const key = params.scope === "today" ||
|
|
489
|
+
const key = params.scope === "today" ||
|
|
490
|
+
params.scope === "evening" ||
|
|
491
|
+
params.scope === "container-day" ||
|
|
492
|
+
params.scope === "day" ||
|
|
493
|
+
params.scope === "tomorrow"
|
|
494
|
+
? "todayIndex"
|
|
495
|
+
: "index";
|
|
264
496
|
const select = (where, binds, rankCol) => db
|
|
265
497
|
.prepare(`SELECT uuid, title, ${rankCol} AS rank, startBucket, type FROM TMTask
|
|
266
498
|
WHERE trashed = 0 AND status = 0 AND ${NOT_TEMPLATE_ROW} AND ${where}
|
|
@@ -317,10 +549,6 @@ export function computeReorderPre(db, params, containerUuid, now) {
|
|
|
317
549
|
members = select("type = 0 AND start = 0", [], `"index"`);
|
|
318
550
|
break;
|
|
319
551
|
}
|
|
320
|
-
case "headings": {
|
|
321
|
-
members = select("type = 2 AND project = ?", [containerUuid ?? ""], `"index"`);
|
|
322
|
-
break;
|
|
323
|
-
}
|
|
324
552
|
case "someday": {
|
|
325
553
|
// Loose someday to-dos AND area-less someday projects (P9e locked the
|
|
326
554
|
// project protocol) — same-type requests only, like the area scope.
|
|
@@ -351,6 +579,122 @@ export function computeReorderPre(db, params, containerUuid, now) {
|
|
|
351
579
|
}
|
|
352
580
|
break;
|
|
353
581
|
}
|
|
582
|
+
case "heading": {
|
|
583
|
+
// A heading's ANYTIME children, ranked on "index". The forward-order
|
|
584
|
+
// bounce back-inserts each (BOUNCE2-h); templates + scheduled/someday
|
|
585
|
+
// children are not members of this bucket.
|
|
586
|
+
members = select("type = 0 AND heading = ? AND start = 1 AND startDate IS NULL", [containerUuid ?? ""], `"index"`);
|
|
587
|
+
break;
|
|
588
|
+
}
|
|
589
|
+
case "area-someday": {
|
|
590
|
+
// An area's SOMEDAY direct members (unheaded), ranked on "index". The
|
|
591
|
+
// reverse-order bounce front-inserts each (SOMEBNC-area) — the state-
|
|
592
|
+
// preserving surface the destructive area reorder command lacks (§9f).
|
|
593
|
+
members = select("type = 0 AND area = ? AND heading IS NULL AND start = 2 AND startDate IS NULL", [containerUuid ?? ""], `"index"`);
|
|
594
|
+
break;
|
|
595
|
+
}
|
|
596
|
+
case "anytime": {
|
|
597
|
+
// Area-less loose ANYTIME to-dos, ranked on "index". The reverse-order
|
|
598
|
+
// bounce front-inserts each below the running global min (ANYBNC).
|
|
599
|
+
members = select("type = 0 AND project IS NULL AND area IS NULL AND heading IS NULL " +
|
|
600
|
+
"AND start = 1 AND startDate IS NULL", [], `"index"`);
|
|
601
|
+
break;
|
|
602
|
+
}
|
|
603
|
+
case "container-day": {
|
|
604
|
+
// A container's (project OR area) same-day scheduled children, ranked on
|
|
605
|
+
// todayIndex, date-preserving (DAYORD-b). The day is read off the first
|
|
606
|
+
// requested uuid — the planner guarantees every movee shares the bucket
|
|
607
|
+
// (rule 4). startBucket=0 (today-proper / a future day); the evening
|
|
608
|
+
// sub-bucket stays app-default (unprobed for the container specifier).
|
|
609
|
+
const firstUuid = params.uuids[0];
|
|
610
|
+
const first = firstUuid !== undefined
|
|
611
|
+
? db
|
|
612
|
+
.prepare("SELECT startDate, startBucket FROM TMTask WHERE uuid = ?")
|
|
613
|
+
.get(firstUuid)
|
|
614
|
+
: undefined;
|
|
615
|
+
if (first?.startDate != null && first.startBucket === 0) {
|
|
616
|
+
members = select("type = 0 AND heading IS NULL AND (project = ? OR area = ?) " +
|
|
617
|
+
"AND startBucket = 0 AND startDate = ?", [containerUuid ?? "", containerUuid ?? "", first.startDate], "todayIndex");
|
|
618
|
+
}
|
|
619
|
+
break;
|
|
620
|
+
}
|
|
621
|
+
case "day": {
|
|
622
|
+
// The DATED BOUNCE (SIT4 DAYBNC): a whole ARBITRARY future day-group across
|
|
623
|
+
// ALL containers, ranked on todayIndex. Members are every to-do on the day
|
|
624
|
+
// (loose, project-child, headed-child, area-direct — the when= round-trip
|
|
625
|
+
// preserves each container FK, incl. the heading FK, §2e/R21) PLUS every
|
|
626
|
+
// area-less scheduled PROJECT row on the day (type=1 rows front-insert on the
|
|
627
|
+
// SAME global todayIndex axis, DAYBNC DP-1/DP-2 — the leg is update-project).
|
|
628
|
+
// The whole group is one bounce unit (a reverse-target pass re-bases it below
|
|
629
|
+
// the day's global min), so every same-day member is enumerated — an
|
|
630
|
+
// untouched project row is just an unrequested member (co-bounced + disclosed
|
|
631
|
+
// as `touched`), never a strand. The day is read off the first requested
|
|
632
|
+
// uuid. Templates are excluded by NOT_TEMPLATE_ROW. Members are type IN (0,1):
|
|
633
|
+
// area-DIRECT project rows are now proven dated-bounce members too (SIT5
|
|
634
|
+
// AREAPROJDAY — the update-project when= legs preserve the area FK through the
|
|
635
|
+
// round-trip and re-enter at the day's global todayIndex min).
|
|
636
|
+
const firstUuid = params.uuids[0];
|
|
637
|
+
const first = firstUuid !== undefined
|
|
638
|
+
? db
|
|
639
|
+
.prepare("SELECT startDate, startBucket FROM TMTask WHERE uuid = ?")
|
|
640
|
+
.get(firstUuid)
|
|
641
|
+
: undefined;
|
|
642
|
+
if (first?.startDate != null && first.startBucket === 0) {
|
|
643
|
+
members = select("type IN (0, 1) AND startBucket = 0 AND startDate = ?", [first.startDate], "todayIndex");
|
|
644
|
+
}
|
|
645
|
+
// A requested TEMPLATE gets the §9e/§1 teaching reason (a dated when= leg
|
|
646
|
+
// CRASHES a template). Area-direct project rows are members (SIT5 AREAPROJDAY).
|
|
647
|
+
for (const uuid of params.uuids) {
|
|
648
|
+
const t = db
|
|
649
|
+
.prepare("SELECT rt1_recurrenceRule AS rule, repeater FROM TMTask WHERE uuid = ?")
|
|
650
|
+
.get(uuid);
|
|
651
|
+
if (t === undefined)
|
|
652
|
+
continue;
|
|
653
|
+
if (t.rule !== null || t.repeater !== null) {
|
|
654
|
+
rejectedCandidates.set(uuid, "is a repeating template — sending it a dated when= leg CRASHES the app (oddity §9e/§1), " +
|
|
655
|
+
"so dated ordering cannot include it");
|
|
656
|
+
}
|
|
657
|
+
}
|
|
658
|
+
break;
|
|
659
|
+
}
|
|
660
|
+
case "tomorrow": {
|
|
661
|
+
// The whole TOMORROW day-group across ALL containers (ORDFIN2 TOMORROWLIST),
|
|
662
|
+
// ranked on todayIndex. `list "Tomorrow"` is a clean one-call native surface
|
|
663
|
+
// that ACCEPTS a scheduled PROJECT row inline (type=1, O12 analog) and re-
|
|
664
|
+
// ranks it in position — so members are type IN (0,1), and a project row is a
|
|
665
|
+
// valid MOVEE here (the ONLY reorder scope that accepts one on the day axis).
|
|
666
|
+
// The day is read off the first requested uuid; the planner guarantees it is
|
|
667
|
+
// tomorrow. Templates excluded by NOT_TEMPLATE_ROW.
|
|
668
|
+
const firstUuid = params.uuids[0];
|
|
669
|
+
const first = firstUuid !== undefined
|
|
670
|
+
? db
|
|
671
|
+
.prepare("SELECT startDate, startBucket FROM TMTask WHERE uuid = ?")
|
|
672
|
+
.get(firstUuid)
|
|
673
|
+
: undefined;
|
|
674
|
+
if (first?.startDate != null && first.startBucket === 0) {
|
|
675
|
+
members = select("type IN (0, 1) AND startBucket = 0 AND startDate = ?", [first.startDate], "todayIndex");
|
|
676
|
+
}
|
|
677
|
+
// A repeating TEMPLATE gets the §9e teaching reason (the reorder SKIPS
|
|
678
|
+
// template rows) rather than the generic non-member reason.
|
|
679
|
+
for (const uuid of params.uuids) {
|
|
680
|
+
const t = db
|
|
681
|
+
.prepare("SELECT rt1_recurrenceRule AS rule, repeater FROM TMTask WHERE uuid = ?")
|
|
682
|
+
.get(uuid);
|
|
683
|
+
if (t !== undefined && (t.rule !== null || t.repeater !== null)) {
|
|
684
|
+
rejectedCandidates.set(uuid, "is a repeating template — the private reorder SKIPS template rows (oddity §9e), " +
|
|
685
|
+
"so the Tomorrow day-sort cannot include it");
|
|
686
|
+
}
|
|
687
|
+
}
|
|
688
|
+
break;
|
|
689
|
+
}
|
|
690
|
+
case "heading-someday": {
|
|
691
|
+
// A heading's SOMEDAY children, ranked on "index" (HEADSUB1 Arm B-someday /
|
|
692
|
+
// Arm C). Re-heading the block in forward target order BACK-INSERTS each
|
|
693
|
+
// deterministically (start=2 preserved) — the move-to-heading sort. Same
|
|
694
|
+
// bucket shape as the `heading` anytime scope, `start=2` instead of `start=1`.
|
|
695
|
+
members = select("type = 0 AND heading = ? AND start = 2 AND startDate IS NULL", [containerUuid ?? ""], `"index"`);
|
|
696
|
+
break;
|
|
697
|
+
}
|
|
354
698
|
}
|
|
355
699
|
const seen = new Set();
|
|
356
700
|
const duplicates = [];
|
|
@@ -411,7 +755,28 @@ function rowStartDate(db, uuid) {
|
|
|
411
755
|
const row = db.prepare("SELECT startDate FROM TMTask WHERE uuid = ?").get(uuid);
|
|
412
756
|
return row?.startDate ?? null;
|
|
413
757
|
}
|
|
414
|
-
|
|
415
|
-
|
|
758
|
+
/**
|
|
759
|
+
* A row's live Today/Evening flag — `"today"`, `"evening"`, or `null` — read
|
|
760
|
+
* from the SAME marker the `today`/`evening` reorder membership uses
|
|
761
|
+
* ({@link computeReorderPre}, O01/O03/§9n): an ARRIVED scheduled row
|
|
762
|
+
* (`start IN (1,2)` AND `startDate <= today`) carries the flag — `evening` at
|
|
763
|
+
* raw `startBucket=1` (a live evening flag expires daily, so a stale past-dated
|
|
764
|
+
* bucket-1 row reads `today` proper), `today` otherwise. Someday, anytime,
|
|
765
|
+
* inbox, and future-scheduled rows carry NO flag. Single-sourced here so any
|
|
766
|
+
* de-Today guard (e.g. the `projects` bounce's de-star refusal in reorder.ts)
|
|
767
|
+
* keys off the one marker and can never drift from the membership query.
|
|
768
|
+
*/
|
|
769
|
+
export function todayEveningFlagOf(db, uuid, now) {
|
|
770
|
+
const packedToday = encodePackedDate(localToday(now));
|
|
771
|
+
const row = db
|
|
772
|
+
.prepare("SELECT start, startDate, startBucket FROM TMTask WHERE uuid = ?")
|
|
773
|
+
.get(uuid);
|
|
774
|
+
if (row === undefined)
|
|
775
|
+
return null;
|
|
776
|
+
if (row.start !== 1 && row.start !== 2)
|
|
777
|
+
return null; // inbox (start=0)
|
|
778
|
+
if (row.startDate === null || row.startDate > packedToday)
|
|
779
|
+
return null; // someday / anytime / future
|
|
780
|
+
return row.startBucket === 1 && row.startDate === packedToday ? "evening" : "today";
|
|
416
781
|
}
|
|
417
782
|
//# sourceMappingURL=pre-state.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pre-state.js","sourceRoot":"","sources":["../../src/write/pre-state.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"pre-state.js","sourceRoot":"","sources":["../../src/write/pre-state.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAgB,MAAM,mBAAmB,CAAC;AAE/E,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AA8L3F,MAAM,UAAU,aAAa;IAC3B,OAAO;QACL,MAAM,EAAE,IAAI;QACZ,QAAQ,EAAE,UAAU,CAAC,IAAI,IAAI,EAAE,CAAC;QAChC,WAAW,EAAE,IAAI;QACjB,iBAAiB,EAAE,IAAI;QACvB,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,IAAI;QACjB,WAAW,EAAE,EAAE;QACf,iBAAiB,EAAE,EAAE;QACrB,SAAS,EAAE,IAAI;QACf,YAAY,EAAE,IAAI;QAClB,SAAS,EAAE,EAAE;QACb,WAAW,EAAE,IAAI;QACjB,YAAY,EAAE,EAAE;QAChB,gBAAgB,EAAE,EAAE;QACpB,iBAAiB,EAAE,EAAE;QACrB,cAAc,EAAE,CAAC;QACjB,YAAY,EAAE,CAAC;QACf,mBAAmB,EAAE,EAAE;QACvB,cAAc,EAAE,EAAE;QAClB,OAAO,EAAE,IAAI;QACb,SAAS,EAAE,IAAI;QACf,aAAa,EAAE,IAAI;QACnB,kBAAkB,EAAE,IAAI;QACxB,cAAc,EAAE,IAAI;QACpB,WAAW,EAAE,IAAI;QACjB,oBAAoB,EAAE,IAAI;QAC1B,eAAe,EAAE,IAAI;KACtB,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,qBAAqB,CACnC,EAAgB,EAChB,OAA4B,EAC5B,QAAkB,EAClB,SAA2B;IAE3B,MAAM,WAAW,GAAG,OAAO,CAAC,QAAQ,EAAE,IAAI,IAAI,EAAE,CAAC;IACjD,MAAM,OAAO,GACX,EAAE;SACC,OAAO,CACN,yFAAyF,CAC1F;SACA,GAAG,CAAC,WAAW,CACnB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACrB,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;IACpC,MAAM,MAAM,GAAG,IAAI,GAAG,EAAU,CAAC;IACjC,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;QACzB,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;YAAE,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,wBAAwB,CAAC,CAAC;QACvE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAChB,CAAC;IACD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAC9D,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;QACzB,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;YAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC;IACjF,CAAC;IACD,IAAI,MAAM,GAAkB,IAAI,CAAC;IACjC,IAAI,QAAQ,IAAI,SAAS,IAAI,OAAO,IAAI,SAAS,EAAE,CAAC;QAClD,MAAM,GAAG,QAAQ,IAAI,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC;QACpE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YAC5B,QAAQ,CAAC,IAAI,CAAC,kBAAkB,MAAM,mCAAmC,CAAC,CAAC;QAC7E,CAAC;QACD,IAAI,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YACvB,QAAQ,CAAC,IAAI,CAAC,6DAA6D,CAAC,CAAC;QAC/E,CAAC;IACH,CAAC;IACD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;IAErF,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACnD,IAAI,WAAqB,CAAC;IAC1B,IAAI,UAAU,IAAI,SAAS,EAAE,CAAC;QAC5B,WAAW,GAAG,SAAS,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,EAAE,GAAG,QAAQ,CAAC,CAAC;IACjG,CAAC;SAAM,CAAC;QACN,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,MAAgB,CAAC,CAAC;QAC3C,MAAM,QAAQ,GAAG,QAAQ,IAAI,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;QACvD,WAAW,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,EAAE,GAAG,QAAQ,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;IACnF,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;AACzD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CAAC,EAAgB,EAAE,WAAmB;IACvE,OACE,EAAE;SACC,OAAO,CACN;;;;0CAIkC,CACnC;SACA,GAAG,CAAC,WAAW,EAAE,WAAW,EAAE,WAAW,CAC7C,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AACvB,CAAC;AAsBD,MAAM,UAAU,sBAAsB,CACpC,EAAgB,EAChB,MAAsB;IAEtB,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QACjD,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,yBAAyB,EAAE,CAAC;IACzF,CAAC;IACD,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;IAC/B,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACrB,OAAO;YACL,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,YAAY;YACrB,MAAM,EAAE,oFAAoF;SAC7F,CAAC;IACJ,CAAC;IACD,MAAM,IAAI,GAAG,EAAE;SACZ,OAAO,CACN,yFAAyF,CAC1F;SACA,GAAG,CAAC,OAAO,CAAC,IAAI,CAAuB,CAAC;IAC3C,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC;IAC9D,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;QAChB,OAAO;YACL,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,WAAW;YACpB,MAAM,EAAE,oEAAoE;SAC7E,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC;AAC9D,CAAC;AA0CD,MAAM,UAAU,4BAA4B,CAC1C,EAAgB,EAChB,OAAqB,EACrB,UAAkB,EAClB,SAAuB;IAEvB,MAAM,GAAG,GAAG,cAAc,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;IACxC,IAAI,GAAG,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;QAC1B,OAAO;YACL,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,WAAW;YACpB,MAAM,EACJ,GAAG,CAAC,OAAO,GAAG,CAAC;gBACb,CAAC,CAAC,uDAAuD;gBACzD,CAAC,CAAC,oCAAoC;SAC3C,CAAC;IACJ,CAAC;IACD,MAAM,CAAC,GAAG,cAAc,CAAC,EAAE,EAAE,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IAC5D,IAAI,CAAC,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;QACxB,OAAO;YACL,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,mBAAmB;YAClE,MAAM,EACJ,CAAC,CAAC,OAAO,GAAG,CAAC;gBACX,CAAC,CAAC,yBAAyB,UAAU,aAAa,CAAC,CAAC,OAAO,qDAAqD;gBAChH,CAAC,CAAC,wBAAwB,UAAU,yBAAyB;SAClE,CAAC;IACJ,CAAC;IACD,MAAM,UAAU,GAAG,EAAE;SAClB,OAAO,CAAC,sEAAsE,CAAC;SAC/E,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAyC,CAAC;IAChE,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,mBAAmB,EAAE,MAAM,EAAE,8BAA8B,EAAE,CAAC;IAClG,CAAC;IACD,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,IAAI,EAAE,CAAC;IACrC,IAAI,KAAK,KAAK,EAAE,EAAE,CAAC;QACjB,OAAO;YACL,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,qBAAqB;YAC9B,MAAM,EACJ,yFAAyF;gBACzF,gFAAgF;SACnF,CAAC;IACJ,CAAC;IACD,+EAA+E;IAC/E,0EAA0E;IAC1E,MAAM,KAAK,GAAG,EAAE;SACb,OAAO,CACN,oGAAoG,CACrG;SACA,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAuB,CAAC;IACxE,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrB,OAAO;YACL,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,mBAAmB;YAC5B,MAAM,EACJ,sBAAsB,KAAK,kBAAkB,KAAK,CAAC,MAAM,GAAG,CAAC,8BAA8B;gBAC3F,gFAAgF;gBAChF,kBAAkB;YACpB,UAAU,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;SAC3D,CAAC;IACJ,CAAC;IACD,MAAM,IAAI,GAAG,cAAc,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;IAC3C,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;QAC3B,OAAO;YACL,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,SAAS;YAClB,MAAM,EACJ,IAAI,CAAC,OAAO,GAAG,CAAC;gBACd,CAAC,CAAC,4DAA4D;gBAC9D,CAAC,CAAC,yCAAyC;SAChD,CAAC;IACJ,CAAC;IACD,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QAC7C,OAAO;YACL,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,cAAc;YACvB,MAAM,EACJ,2FAA2F;gBAC3F,8BAA8B;SACjC,CAAC;IACJ,CAAC;IACD,+EAA+E;IAC/E,8EAA8E;IAC9E,yEAAyE;IACzE,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;IACtC,MAAM,SAAS,GAAG,EAAE;SACjB,OAAO,CACN,6FAA6F,CAC9F;SACA,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAkB,CAAC;IACvD,IAAI,SAAS,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;QACpB,OAAO;YACL,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,gBAAgB;YACzB,MAAM,EACJ,0BAA0B,SAAS,kBAAkB,SAAS,CAAC,CAAC,GAAG,CAAC,kBAAkB;gBACtF,wFAAwF;gBACxF,4BAA4B;SAC/B,CAAC;IACJ,CAAC;IACD,OAAO;QACL,IAAI,EAAE,IAAI;QACV,GAAG,EAAE;YACH,iBAAiB,EAAE,GAAG,CAAC,QAAQ,CAAC,IAAI;YACpC,WAAW,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI;YAC5B,YAAY,EAAE,KAAK;YACnB,eAAe,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI;YACnC,gBAAgB,EAAE,SAAS;SAC5B;KACF,CAAC;AACJ,CAAC;AAiCD,MAAM,UAAU,uBAAuB,CACrC,EAAgB,EAChB,MAAsB;IAEtB,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QACjD,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,yBAAyB,EAAE,CAAC;IACzF,CAAC;IACD,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;IAC/B,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACrB,OAAO;YACL,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,YAAY;YACrB,MAAM,EAAE,mFAAmF;SAC5F,CAAC;IACJ,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;IAC3B,IAAI,KAAK,KAAK,EAAE,EAAE,CAAC;QACjB,OAAO;YACL,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,aAAa;YACtB,MAAM,EACJ,0FAA0F;gBAC1F,gFAAgF;SACnF,CAAC;IACJ,CAAC;IACD,MAAM,KAAK,GAAG,EAAE;SACb,OAAO,CACN,oGAAoG,CACrG;SACA,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,CAAuB,CAAC;IAC/D,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrB,OAAO;YACL,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,iBAAiB;YAC1B,MAAM,EACJ,sBAAsB,KAAK,kBAAkB,KAAK,CAAC,MAAM,GAAG,CAAC,8BAA8B;gBAC3F,iFAAiF;gBACjF,kBAAkB;YACpB,UAAU,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;SACvD,CAAC;IACJ,CAAC;IACD,MAAM,UAAU,GACd,EAAE;SACC,OAAO,CACN,wGAAwG,CACzG;SACA,GAAG,CAAC,MAAM,CAAC,IAAI,CACnB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACrB,OAAO;QACL,IAAI,EAAE,IAAI;QACV,GAAG,EAAE,EAAE,aAAa,EAAE,OAAO,CAAC,IAAI,EAAE,WAAW,EAAE,MAAM,CAAC,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,UAAU,EAAE;KAChG,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,SAAS,iBAAiB,CACxB,EAAgB,EAChB,KAAa,EACb,WAAmB,EACnB,SAA2D;IAE3D,MAAM,cAAc,GAClB,UAAU,IAAI,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,kDAAkD,CAAC;IAC5F,MAAM,KAAK,GACT,UAAU,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,WAAW,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;IAC5F,MAAM,GAAG,GAAG,EAAE;SACX,OAAO,CACN;uFACiF,cAAc,EAAE,CAClG;SACA,GAAG,CAAC,GAAG,KAAK,CAAkB,CAAC;IAClC,OAAO,GAAG,CAAC,CAAC,CAAC;AACf,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB,CACnC,EAAgB,EAChB,MAAsB;IAEtB,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QACjD,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,yBAAyB,EAAE,CAAC;IACzF,CAAC;IACD,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,6BAA6B,EAAE,CAAC;IACvF,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,KAAK,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QAC9C,OAAO;YACL,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,QAAQ;YACjB,MAAM,EAAE,kBAAkB,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,+CAA+C;SAClH,CAAC;IACJ,CAAC;IACD,IAAI,MAAM,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC;QAChC,OAAO;YACL,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,mBAAmB;YAC5B,MAAM,EAAE,6CAA6C;SACtD,CAAC;IACJ,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;IAC3B,IAAI,MAAM,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;QACzB,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;QAClC,IAAI,iBAAiB,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC;YAChE,OAAO;gBACL,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,eAAe;gBACxB,MAAM,EAAE,2BAA2B,KAAK,iEAAiE;aAC1G,CAAC;QACJ,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,eAAe,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;IAC5D,CAAC;IACD,6EAA6E;IAC7E,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QAC/B,IAAI,iBAAiB,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC;YAC7E,OAAO;gBACL,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,eAAe;gBACxB,MAAM,EAAE,6CAA6C,KAAK,4CAA4C;aACvG,CAAC;QACJ,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,eAAe,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;IAChE,CAAC;IACD,IAAI,MAAM,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,2EAA2E;QAC3E,kEAAkE;QAClE,IAAI,iBAAiB,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC;YAC7E,OAAO;gBACL,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,eAAe;gBACxB,MAAM,EAAE,wCAAwC,KAAK,yEAAyE;aAC/H,CAAC;QACJ,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;IACpC,CAAC;IACD,OAAO;QACL,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,kBAAkB;QAC3B,MAAM,EAAE,iDAAiD,MAAM,CAAC,KAAK,kDAAkD;KACxH,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,EAAgB,EAAE,GAAiB;IAC7D,OAAO,eAAe,CAAC,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;AAC/E,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,cAAc,CAAC,EAAgB,EAAE,GAAiB;IAChE,MAAM,GAAG,GAAG,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC;IACxC,MAAM,CAAC,GAAG,eAAe,CAAC,EAAE,EAAE,QAAQ,EAAE,0BAA0B,EAAE,EAAE,EAAE,GAAG,EAAE;QAC3E,cAAc,EAAE,YAAY;KAC7B,CAAC,CAAC;IACH,IAAI,CAAC,CAAC,QAAQ,KAAK,IAAI,IAAI,CAAC,CAAC,OAAO,KAAK,CAAC,EAAE,CAAC;QAC3C,MAAM,SAAS,GAAG,eAAe,CAC/B,EAAE,EACF,QAAQ,EACR,0CAA0C,EAC1C,EAAE,EACF,GAAG,EACH;YACE,UAAU,EAAE,KAAK;SAClB,CACF,CAAC,OAAO,CAAC;QACV,IAAI,SAAS,GAAG,CAAC;YAAE,OAAO,EAAE,GAAG,CAAC,EAAE,QAAQ,EAAE,iBAAiB,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;IACjF,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAED,MAAM,UAAU,cAAc,CAC5B,EAAgB,EAChB,WAAmB,EACnB,UAAkB;IAElB,6EAA6E;IAC7E,sEAAsE;IACtE,MAAM,CAAC,GAAG,iBAAiB,CAAC,EAAE,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;IACzD,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;AACtD,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,EAAgB,EAAE,IAAY;IAC1D,MAAM,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,uDAAuD,CAAC,CAAC,GAAG,CAAC,IAAI,CAE3E,CAAC;IACd,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACnC,OAAO,mBAAmB,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC;AACjD,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,EAAgB,EAAE,GAAW;IACtD,OAAO,eAAe,CAAC,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;AACtD,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,EAAgB,EAAE,IAAY;IACvD,OAAO,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,kBAAkB,CAAC,EAAgB,EAAE,KAAa,EAAE,IAAc;IAChF,MAAM,MAAM,GAAG,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACnE,OACE,EAAE,CAAC,OAAO,CAAC,sDAAsD,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAGrF,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AACvB,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,EAAgB,EAAE,WAAmB;IACnE,MAAM,IAAI,GAAG,EAAE;SACZ,OAAO,CACN,wFAAwF;QACtF,2DAA2D,CAC9D;SACA,GAAG,CAAC,WAAW,EAAE,WAAW,CAAuB,CAAC;IACvD,MAAM,KAAK,GAAW,EAAE,CAAC;IACzB,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;QACrB,MAAM,CAAC,GAAG,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;QAC7B,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO;YAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACtD,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,EAAgB,EAAE,OAAe;IAC9D,MAAM,IAAI,GAAG,EAAE;SACZ,OAAO,CACN;;;+EAGyE,CAC1E;SACA,GAAG,CAAC,OAAO,EAAE,OAAO,CAAwB,CAAC;IAChD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AAClC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB,CAAC,EAAgB,EAAE,QAAgB;IACjE,MAAM,KAAK,GACT,EAAE;SACC,OAAO,CAAC,8EAA8E,CAAC;SACvF,GAAG,CAAC,QAAQ,CAChB,CAAC,CAAC,CAAC;IACJ,MAAM,QAAQ,GACZ,EAAE;SACC,OAAO,CAAC,8EAA8E,CAAC;SACvF,GAAG,CAAC,QAAQ,CAChB,CAAC,CAAC,CAAC;IACJ,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,EAAgB;IAC3C,MAAM,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,oDAAoD,CAAC,CAAC,GAAG,EAE/E,CAAC;IACF,OAAO,GAAG,CAAC,CAAC,CAAC;AACf,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,IAAoB;IACtD,OAAO,IAAI,KAAK,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC;AAC/E,CAAC;AAED,MAAM,gBAAgB,GAAG,mDAAmD,CAAC;AAU7E;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,UAAU,iBAAiB,CAC/B,EAAgB,EAChB,MAAqB,EACrB,aAA4B,EAC5B,GAAS;IAET,MAAM,QAAQ,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;IACjC,MAAM,WAAW,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAC/C,MAAM,GAAG,GACP,MAAM,CAAC,KAAK,KAAK,OAAO;QACxB,MAAM,CAAC,KAAK,KAAK,SAAS;QAC1B,MAAM,CAAC,KAAK,KAAK,eAAe;QAChC,MAAM,CAAC,KAAK,KAAK,KAAK;QACtB,MAAM,CAAC,KAAK,KAAK,UAAU;QACzB,CAAC,CAAC,YAAY;QACd,CAAC,CAAC,OAAO,CAAC;IAEd,MAAM,MAAM,GAAG,CAAC,KAAa,EAAE,KAA0B,EAAE,OAAe,EAAe,EAAE,CACzF,EAAE;SACC,OAAO,CACN,uBAAuB,OAAO;gDACU,gBAAgB,QAAQ,KAAK;oBACzD,OAAO,MAAM,CAC1B;SACA,GAAG,CAAC,GAAG,KAAK,CAA2B,CAAC;IAE7C,IAAI,OAAO,GAAgB,EAAE,CAAC;IAC9B,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAAkB,CAAC;IAErD,QAAQ,MAAM,CAAC,KAAK,EAAE,CAAC;QACrB,KAAK,OAAO,CAAC;QACb,KAAK,SAAS,CAAC,CAAC,CAAC;YACf,MAAM,GAAG,GAAG,MAAM,CAChB,iFAAiF,EACjF,CAAC,WAAW,CAAC,EACb,YAAY,CACb,CAAC;YACF,IAAI,MAAM,CAAC,KAAK,KAAK,OAAO,EAAE,CAAC;gBAC7B,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,KAAK,CAAC,CAAC,CAAC;gBACjD,KAAK,MAAM,CAAC,IAAI,GAAG,EAAE,CAAC;oBACpB,IAAI,CAAC,CAAC,WAAW,KAAK,CAAC,EAAE,CAAC;wBACxB,kBAAkB,CAAC,GAAG,CACpB,CAAC,CAAC,IAAI,EACN,+EAA+E;4BAC7E,8CAA8C,CACjD,CAAC;oBACJ,CAAC;gBACH,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,oEAAoE;gBACpE,OAAO,GAAG,GAAG,CAAC,MAAM,CAClB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,KAAK,CAAC,IAAI,YAAY,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,WAAW,CACvE,CAAC;gBACF,KAAK,MAAM,CAAC,IAAI,GAAG,EAAE,CAAC;oBACpB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;wBAC5C,kBAAkB,CAAC,GAAG,CACpB,CAAC,CAAC,IAAI,EACN,CAAC,CAAC,WAAW,KAAK,CAAC;4BACjB,CAAC,CAAC,wEAAwE;gCACtE,0CAA0C;4BAC9C,CAAC,CAAC,+DAA+D,CACpE,CAAC;oBACJ,CAAC;gBACH,CAAC;YACH,CAAC;YACD,MAAM;QACR,CAAC;QACD,KAAK,SAAS,CAAC,CAAC,CAAC;YACf,OAAO,GAAG,MAAM,CACd,8CAA8C,EAC9C,CAAC,aAAa,IAAI,EAAE,CAAC,EACrB,SAAS,CACV,CAAC;YACF,MAAM,MAAM,GAAG,EAAE;iBACd,OAAO,CACN;gEACsD,CACvD;iBACA,GAAG,CAAC,aAAa,IAAI,EAAE,CAAuB,CAAC;YAClD,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;gBACvB,kBAAkB,CAAC,GAAG,CACpB,CAAC,CAAC,IAAI,EACN,4EAA4E;oBAC1E,iEAAiE,CACpE,CAAC;YACJ,CAAC;YACD,MAAM;QACR,CAAC;QACD,KAAK,MAAM,CAAC,CAAC,CAAC;YACZ,OAAO,GAAG,MAAM,CACd,iDAAiD,EACjD,CAAC,aAAa,IAAI,EAAE,CAAC,EACrB,SAAS,CACV,CAAC;YACF,MAAM;QACR,CAAC;QACD,KAAK,OAAO,CAAC,CAAC,CAAC;YACb,uEAAuE;YACvE,oEAAoE;YACpE,OAAO,GAAG,MAAM,CAAC,wBAAwB,EAAE,EAAE,EAAE,SAAS,CAAC,CAAC;YAC1D,MAAM;QACR,CAAC;QACD,KAAK,SAAS,CAAC,CAAC,CAAC;YACf,sEAAsE;YACtE,oEAAoE;YACpE,OAAO,GAAG,MAAM,CACd,uEAAuE;gBACrE,qEAAqE,EACvE,EAAE,EACF,SAAS,CACV,CAAC;YACF,MAAM,YAAY,GAAG,EAAE;iBACpB,OAAO,CACN;oEAC0D,CAC3D;iBACA,GAAG,EAAwB,CAAC;YAC/B,KAAK,MAAM,CAAC,IAAI,YAAY,EAAE,CAAC;gBAC7B,kBAAkB,CAAC,GAAG,CACpB,CAAC,CAAC,IAAI,EACN,6EAA6E;oBAC3E,6DAA6D,CAChE,CAAC;YACJ,CAAC;YACD,MAAM;QACR,CAAC;QACD,KAAK,UAAU,CAAC,CAAC,CAAC;YAChB,OAAO,GAAG,MAAM,CACd,+DAA+D,EAC/D,EAAE,EACF,SAAS,CACV,CAAC;YACF,MAAM,MAAM,GAAG,EAAE;iBACd,OAAO,CACN;;sEAE4D,CAC7D;iBACA,GAAG,EAAsF,CAAC;YAC7F,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;gBACvB,kBAAkB,CAAC,GAAG,CACpB,CAAC,CAAC,IAAI,EACN,CAAC,CAAC,IAAI,KAAK,IAAI;oBACb,CAAC,CAAC,qFAAqF;oBACvF,CAAC,CAAC,0EAA0E;wBACxE,6EAA6E,CACpF,CAAC;YACJ,CAAC;YACD,MAAM;QACR,CAAC;QACD,KAAK,SAAS,CAAC,CAAC,CAAC;YACf,qEAAqE;YACrE,sEAAsE;YACtE,2CAA2C;YAC3C,OAAO,GAAG,MAAM,CACd,8DAA8D,EAC9D,CAAC,aAAa,IAAI,EAAE,CAAC,EACrB,SAAS,CACV,CAAC;YACF,MAAM;QACR,CAAC;QACD,KAAK,cAAc,CAAC,CAAC,CAAC;YACpB,sEAAsE;YACtE,sEAAsE;YACtE,uEAAuE;YACvE,OAAO,GAAG,MAAM,CACd,+EAA+E,EAC/E,CAAC,aAAa,IAAI,EAAE,CAAC,EACrB,SAAS,CACV,CAAC;YACF,MAAM;QACR,CAAC;QACD,KAAK,SAAS,CAAC,CAAC,CAAC;YACf,uEAAuE;YACvE,mEAAmE;YACnE,OAAO,GAAG,MAAM,CACd,oEAAoE;gBAClE,qCAAqC,EACvC,EAAE,EACF,SAAS,CACV,CAAC;YACF,MAAM;QACR,CAAC;QACD,KAAK,eAAe,CAAC,CAAC,CAAC;YACrB,yEAAyE;YACzE,wEAAwE;YACxE,wEAAwE;YACxE,qEAAqE;YACrE,uEAAuE;YACvE,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAClC,MAAM,KAAK,GACT,SAAS,KAAK,SAAS;gBACrB,CAAC,CAAE,EAAE;qBACA,OAAO,CAAC,0DAA0D,CAAC;qBACnE,GAAG,CAAC,SAAS,CAAmE;gBACrF,CAAC,CAAC,SAAS,CAAC;YAChB,IAAI,KAAK,EAAE,SAAS,IAAI,IAAI,IAAI,KAAK,CAAC,WAAW,KAAK,CAAC,EAAE,CAAC;gBACxD,OAAO,GAAG,MAAM,CACd,6DAA6D;oBAC3D,uCAAuC,EACzC,CAAC,aAAa,IAAI,EAAE,EAAE,aAAa,IAAI,EAAE,EAAE,KAAK,CAAC,SAAS,CAAC,EAC3D,YAAY,CACb,CAAC;YACJ,CAAC;YACD,MAAM;QACR,CAAC;QACD,KAAK,KAAK,CAAC,CAAC,CAAC;YACX,4EAA4E;YAC5E,2EAA2E;YAC3E,0EAA0E;YAC1E,yEAAyE;YACzE,8EAA8E;YAC9E,8EAA8E;YAC9E,8EAA8E;YAC9E,qEAAqE;YACrE,8EAA8E;YAC9E,yEAAyE;YACzE,+EAA+E;YAC/E,yEAAyE;YACzE,+EAA+E;YAC/E,+DAA+D;YAC/D,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAClC,MAAM,KAAK,GACT,SAAS,KAAK,SAAS;gBACrB,CAAC,CAAE,EAAE;qBACA,OAAO,CAAC,0DAA0D,CAAC;qBACnE,GAAG,CAAC,SAAS,CAAmE;gBACrF,CAAC,CAAC,SAAS,CAAC;YAChB,IAAI,KAAK,EAAE,SAAS,IAAI,IAAI,IAAI,KAAK,CAAC,WAAW,KAAK,CAAC,EAAE,CAAC;gBACxD,OAAO,GAAG,MAAM,CACd,sDAAsD,EACtD,CAAC,KAAK,CAAC,SAAS,CAAC,EACjB,YAAY,CACb,CAAC;YACJ,CAAC;YACD,0EAA0E;YAC1E,gFAAgF;YAChF,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;gBAChC,MAAM,CAAC,GAAG,EAAE;qBACT,OAAO,CAAC,wEAAwE,CAAC;qBACjF,GAAG,CAAC,IAAI,CAAqD,CAAC;gBACjE,IAAI,CAAC,KAAK,SAAS;oBAAE,SAAS;gBAC9B,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;oBAC3C,kBAAkB,CAAC,GAAG,CACpB,IAAI,EACJ,0FAA0F;wBACxF,qCAAqC,CACxC,CAAC;gBACJ,CAAC;YACH,CAAC;YACD,MAAM;QACR,CAAC;QACD,KAAK,UAAU,CAAC,CAAC,CAAC;YAChB,6EAA6E;YAC7E,6EAA6E;YAC7E,2EAA2E;YAC3E,8EAA8E;YAC9E,8EAA8E;YAC9E,6EAA6E;YAC7E,oDAAoD;YACpD,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAClC,MAAM,KAAK,GACT,SAAS,KAAK,SAAS;gBACrB,CAAC,CAAE,EAAE;qBACA,OAAO,CAAC,0DAA0D,CAAC;qBACnE,GAAG,CAAC,SAAS,CAAmE;gBACrF,CAAC,CAAC,SAAS,CAAC;YAChB,IAAI,KAAK,EAAE,SAAS,IAAI,IAAI,IAAI,KAAK,CAAC,WAAW,KAAK,CAAC,EAAE,CAAC;gBACxD,OAAO,GAAG,MAAM,CACd,sDAAsD,EACtD,CAAC,KAAK,CAAC,SAAS,CAAC,EACjB,YAAY,CACb,CAAC;YACJ,CAAC;YACD,uEAAuE;YACvE,4DAA4D;YAC5D,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;gBAChC,MAAM,CAAC,GAAG,EAAE;qBACT,OAAO,CAAC,wEAAwE,CAAC;qBACjF,GAAG,CAAC,IAAI,CAAqD,CAAC;gBACjE,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,CAAC,QAAQ,KAAK,IAAI,CAAC,EAAE,CAAC;oBAChE,kBAAkB,CAAC,GAAG,CACpB,IAAI,EACJ,kFAAkF;wBAChF,4CAA4C,CAC/C,CAAC;gBACJ,CAAC;YACH,CAAC;YACD,MAAM;QACR,CAAC;QACD,KAAK,iBAAiB,CAAC,CAAC,CAAC;YACvB,4EAA4E;YAC5E,yEAAyE;YACzE,yEAAyE;YACzE,+EAA+E;YAC/E,OAAO,GAAG,MAAM,CACd,8DAA8D,EAC9D,CAAC,aAAa,IAAI,EAAE,CAAC,EACrB,SAAS,CACV,CAAC;YACF,MAAM;QACR,CAAC;IACH,CAAC;IAED,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QAChC,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC;YAAE,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACjB,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3D,MAAM,QAAQ,GAAuC,EAAE,CAAC;IACxD,MAAM,cAAc,GAAa,EAAE,CAAC;IACpC,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QAChC,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACnC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,QAAQ,CAAC,IAAI,CAAC;gBACZ,IAAI;gBACJ,MAAM,EAAE,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,qCAAqC;aAC9E,CAAC,CAAC;YACH,SAAS;QACX,CAAC;QACD,IAAI,MAAM,CAAC,IAAI,KAAK,CAAC;YAAE,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnD,CAAC;IAED,MAAM,cAAc,GAAG,IAAI,GAAG,CAC5B,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC,CAC/E,CAAC;IACF,MAAM,UAAU,GACd,CAAC,MAAM,CAAC,KAAK,KAAK,MAAM,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS,CAAC,IAAI,cAAc,CAAC,IAAI,GAAG,CAAC,CAAC;IAErF,wEAAwE;IACxE,yEAAyE;IACzE,wEAAwE;IACxE,sEAAsE;IACtE,oDAAoD;IACpD,MAAM,WAAW,GACf,CAAC,MAAM,CAAC,KAAK,KAAK,MAAM,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS,CAAC,IAAI,cAAc,CAAC,IAAI,KAAK,CAAC,CAAC;IACvF,MAAM,aAAa,GAAG,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7C,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACxC,MAAM,QAAQ,GAAG;QACf,GAAG,MAAM,CAAC,KAAK;QACf,GAAG,OAAO;aACP,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;aACrC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,IAAI,KAAK,aAAa,CAAC;aACvD,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;KACtB,CAAC;IAEF,OAAO;QACL,GAAG;QACH,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC3B,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,WAAW,EAAE,CAAC,CAAC,WAAW;YAC1B,IAAI,EAAE,CAAC,CAAC,IAAI;SACb,CAAC,CAAC;QACH,QAAQ;QACR,UAAU;QACV,cAAc;QACd,UAAU;QACV,QAAQ;KACT,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,EAAgB,EAAE,IAAY;IAClD,MAAM,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,6CAA6C,CAAC,CAAC,GAAG,CAAC,IAAI,CAEjE,CAAC;IACd,OAAO,GAAG,EAAE,SAAS,IAAI,IAAI,CAAC;AAChC,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,kBAAkB,CAChC,EAAgB,EAChB,IAAY,EACZ,GAAS;IAET,MAAM,WAAW,GAAG,gBAAgB,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;IACtD,MAAM,GAAG,GAAG,EAAE;SACX,OAAO,CAAC,iEAAiE,CAAC;SAC1E,GAAG,CAAC,IAAI,CAAiF,CAAC;IAC7F,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACnC,IAAI,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,GAAG,CAAC,KAAK,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC,CAAC,kBAAkB;IACvE,IAAI,GAAG,CAAC,SAAS,KAAK,IAAI,IAAI,GAAG,CAAC,SAAS,GAAG,WAAW;QAAE,OAAO,IAAI,CAAC,CAAC,6BAA6B;IACrG,OAAO,GAAG,CAAC,WAAW,KAAK,CAAC,IAAI,GAAG,CAAC,SAAS,KAAK,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC;AACtF,CAAC"}
|
package/dist/write/reorder.d.ts
CHANGED
|
@@ -1,10 +1,30 @@
|
|
|
1
1
|
import type { ReorderParams } from "./operations.ts";
|
|
2
2
|
import { type MutationResult, type WriteDeps, type WriteOptions } from "./pipeline.ts";
|
|
3
3
|
/**
|
|
4
|
-
*
|
|
5
|
-
*
|
|
4
|
+
* DEFAULT bounce cap — 2 verified mutations per item (~110 ms/item guest-local,
|
|
5
|
+
* BOUNCE2-t). The effective cap is `config.bounceMaxItems` (default 30); this
|
|
6
|
+
* constant is the built-in fallback used when a caller supplies no config value,
|
|
7
|
+
* and the figure surface copy cites.
|
|
6
8
|
*/
|
|
7
|
-
export declare const BOUNCE_MAX_ITEMS =
|
|
9
|
+
export declare const BOUNCE_MAX_ITEMS = 30;
|
|
10
|
+
/**
|
|
11
|
+
* The bounce re-entry law (reordgaps-results.md, BOUNCE2). A `when=` round-trip
|
|
12
|
+
* re-inserts the touched item; the DIRECTION depends on its containment context,
|
|
13
|
+
* and the away/back legs depend on its resting bucket:
|
|
14
|
+
* - loose/area-direct items FRONT-insert (reverse-order legs land target order)
|
|
15
|
+
* - strict-container children (heading/project) BACK-insert (forward-order legs)
|
|
16
|
+
* `away`/`back` are the two `when=` values of the round-trip; the resting bucket
|
|
17
|
+
* is `back`.
|
|
18
|
+
*/
|
|
19
|
+
export type BounceKind = "today" | "evening" | "day" | "projects" | "heading" | "area-someday" | "anytime" | "project-someday" | "someday";
|
|
20
|
+
/**
|
|
21
|
+
* The bounce kinds whose N-item round-trip is eligible for the `things:///json`
|
|
22
|
+
* one-array collapse (BOUNCEJSON §9i) — exactly the classes whose placement
|
|
23
|
+
* (`back`) leg is `when=anytime` into a loose/heading-container bucket. Exported
|
|
24
|
+
* for the classification regression test (guards against "optimizing" a someday-
|
|
25
|
+
* placement or area-direct class into json, which §9i proves is a silent no-op).
|
|
26
|
+
*/
|
|
27
|
+
export declare function bounceJsonCollapsible(kind: BounceKind): boolean;
|
|
8
28
|
export type ReorderResult = MutationResult | {
|
|
9
29
|
kind: "bounce-aborted";
|
|
10
30
|
op: "reorder";
|