things-api 0.17.0 → 0.19.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 -9
- package/deputy/AppIcon.icns +0 -0
- package/deputy/VERSION +1 -0
- package/deputy/helpers-Info.plist +27 -0
- package/deputy/prebuilt/Things API Helper.app/Contents/CodeResources +0 -0
- package/deputy/prebuilt/Things API Helper.app/Contents/Helpers/things-reader.app/Contents/Info.plist +22 -0
- package/deputy/prebuilt/Things API Helper.app/Contents/Helpers/things-reader.app/Contents/MacOS/things-reader +0 -0
- package/deputy/prebuilt/Things API Helper.app/Contents/Helpers/things-reader.app/Contents/Resources/AppIcon.icns +0 -0
- package/deputy/prebuilt/Things API Helper.app/Contents/Helpers/things-reader.app/Contents/_CodeSignature/CodeResources +128 -0
- package/deputy/prebuilt/Things API Helper.app/Contents/Info.plist +27 -0
- package/deputy/prebuilt/Things API Helper.app/Contents/MacOS/things-deputy +0 -0
- package/deputy/prebuilt/Things API Helper.app/Contents/Resources/AppIcon.icns +0 -0
- package/deputy/prebuilt/Things API Helper.app/Contents/_CodeSignature/CodeResources +137 -0
- package/deputy/reader/Info.plist +22 -0
- package/deputy/reader/entitlements.plist +45 -0
- package/deputy/reader/main.swift +580 -0
- package/deputy/src/main.swift +133 -0
- package/deputy/src/osascript.swift +102 -0
- package/deputy/src/server.swift +373 -0
- package/deputy/src/sqlite.swift +121 -0
- package/deputy/src/tcc.swift +58 -0
- package/dist/audit/schema.d.ts +13 -1
- package/dist/audit/schema.js.map +1 -1
- package/dist/capability.d.ts +160 -0
- package/dist/capability.js +416 -0
- package/dist/capability.js.map +1 -0
- package/dist/cli/commands/doctor.js +181 -2
- package/dist/cli/commands/doctor.js.map +1 -1
- package/dist/cli/commands/helpers.d.ts +17 -0
- package/dist/cli/commands/helpers.js +275 -0
- package/dist/cli/commands/helpers.js.map +1 -0
- package/dist/cli/commands/op-result.d.ts +15 -0
- package/dist/cli/commands/op-result.js +45 -0
- package/dist/cli/commands/op-result.js.map +1 -0
- package/dist/cli/commands/reads.js +47 -1
- package/dist/cli/commands/reads.js.map +1 -1
- package/dist/cli/commands/setup.d.ts +9 -0
- package/dist/cli/commands/setup.js +63 -83
- package/dist/cli/commands/setup.js.map +1 -1
- package/dist/cli/commands/writes.d.ts +1 -1
- package/dist/cli/commands/writes.js +262 -109
- package/dist/cli/commands/writes.js.map +1 -1
- package/dist/cli/dry-run.d.ts +1 -1
- package/dist/cli/dry-run.js +1 -1
- package/dist/cli/glyphs.d.ts +23 -4
- package/dist/cli/glyphs.js +46 -19
- package/dist/cli/glyphs.js.map +1 -1
- package/dist/cli/help.d.ts +1 -1
- package/dist/cli/help.js +53 -27
- package/dist/cli/help.js.map +1 -1
- package/dist/cli/helpers-check.d.ts +10 -0
- package/dist/cli/helpers-check.js +59 -0
- package/dist/cli/helpers-check.js.map +1 -0
- package/dist/cli/main.js +22 -1
- package/dist/cli/main.js.map +1 -1
- package/dist/cli/period.d.ts +3 -1
- package/dist/cli/period.js +1 -1
- package/dist/cli/period.js.map +1 -1
- package/dist/cli/read-driver.js +26 -1
- package/dist/cli/read-driver.js.map +1 -1
- package/dist/cli/render.d.ts +31 -4
- package/dist/cli/render.js +127 -15
- package/dist/cli/render.js.map +1 -1
- package/dist/client.d.ts +22 -2
- package/dist/client.js +52 -15
- package/dist/client.js.map +1 -1
- package/dist/config.d.ts +31 -0
- package/dist/config.js +9 -0
- package/dist/config.js.map +1 -1
- package/dist/contracts.d.ts +6 -2
- package/dist/contracts.js +1 -1
- package/dist/contracts.js.map +1 -1
- package/dist/db/baselines/db-v26.js +8 -4
- package/dist/db/baselines/db-v26.js.map +1 -1
- package/dist/db/baselines/db-v27.d.ts +42 -0
- package/dist/db/baselines/db-v27.js +47 -0
- package/dist/db/baselines/db-v27.js.map +1 -0
- package/dist/db/baselines/index.js +2 -1
- package/dist/db/baselines/index.js.map +1 -1
- package/dist/db/locate.d.ts +4 -1
- package/dist/db/locate.js +3 -1
- package/dist/db/locate.js.map +1 -1
- package/dist/db/schema.d.ts +1 -1
- package/dist/db/schema.js +9 -0
- package/dist/db/schema.js.map +1 -1
- package/dist/deputy/bridge-worker.d.ts +1 -0
- package/dist/deputy/bridge-worker.js +79 -0
- package/dist/deputy/bridge-worker.js.map +1 -0
- package/dist/deputy/bridge.d.ts +14 -0
- package/dist/deputy/bridge.js +70 -0
- package/dist/deputy/bridge.js.map +1 -0
- package/dist/deputy/client.d.ts +19 -0
- package/dist/deputy/client.js +104 -0
- package/dist/deputy/client.js.map +1 -0
- package/dist/deputy/db-facade.d.ts +18 -0
- package/dist/deputy/db-facade.js +71 -0
- package/dist/deputy/db-facade.js.map +1 -0
- package/dist/deputy/files.d.ts +1 -0
- package/dist/deputy/files.js +16 -0
- package/dist/deputy/files.js.map +1 -0
- package/dist/deputy/install.d.ts +319 -0
- package/dist/deputy/install.js +1239 -0
- package/dist/deputy/install.js.map +1 -0
- package/dist/deputy/notice.d.ts +6 -0
- package/dist/deputy/notice.js +28 -0
- package/dist/deputy/notice.js.map +1 -0
- package/dist/deputy/notices.d.ts +31 -0
- package/dist/deputy/notices.js +94 -0
- package/dist/deputy/notices.js.map +1 -0
- package/dist/deputy/osa.d.ts +21 -0
- package/dist/deputy/osa.js +72 -0
- package/dist/deputy/osa.js.map +1 -0
- package/dist/deputy/protocol.d.ts +140 -0
- package/dist/deputy/protocol.js +143 -0
- package/dist/deputy/protocol.js.map +1 -0
- package/dist/deputy/routing.d.ts +84 -0
- package/dist/deputy/routing.js +422 -0
- package/dist/deputy/routing.js.map +1 -0
- package/dist/deputy/shortcuts-exec.d.ts +10 -0
- package/dist/deputy/shortcuts-exec.js +50 -0
- package/dist/deputy/shortcuts-exec.js.map +1 -0
- package/dist/diagnose.d.ts +57 -2
- package/dist/diagnose.js +105 -3
- package/dist/diagnose.js.map +1 -1
- package/dist/direct-setup.d.ts +78 -0
- package/dist/direct-setup.js +484 -0
- package/dist/direct-setup.js.map +1 -0
- package/dist/host-access.d.ts +63 -0
- package/dist/host-access.js +165 -0
- package/dist/host-access.js.map +1 -0
- package/dist/index.d.ts +31 -5
- package/dist/index.js +23 -1
- package/dist/index.js.map +1 -1
- package/dist/mcp/server.d.ts +27 -1
- package/dist/mcp/server.js +300 -97
- package/dist/mcp/server.js.map +1 -1
- package/dist/model/mappers.d.ts +12 -3
- package/dist/model/mappers.js +6 -1
- package/dist/model/mappers.js.map +1 -1
- package/dist/model/recurrence.d.ts +5 -1
- package/dist/model/recurrence.js +19 -1
- package/dist/model/recurrence.js.map +1 -1
- package/dist/model/template-projection.d.ts +26 -0
- package/dist/model/template-projection.js +113 -0
- package/dist/model/template-projection.js.map +1 -0
- package/dist/op-result.d.ts +55 -0
- package/dist/op-result.js +161 -0
- package/dist/op-result.js.map +1 -0
- package/dist/read/detail.js +7 -1
- package/dist/read/detail.js.map +1 -1
- package/dist/read/filter-contract.d.ts +1 -1
- package/dist/read/filter-contract.js +4 -0
- package/dist/read/filter-contract.js.map +1 -1
- package/dist/read/queries.js +8 -1
- package/dist/read/queries.js.map +1 -1
- package/dist/read/shape.js +4 -0
- package/dist/read/shape.js.map +1 -1
- package/dist/read/views.d.ts +35 -4
- package/dist/read/views.js +120 -18
- package/dist/read/views.js.map +1 -1
- package/dist/session-grant.d.ts +48 -0
- package/dist/session-grant.js +170 -0
- package/dist/session-grant.js.map +1 -0
- package/dist/surface-copy.d.ts +8 -0
- package/dist/surface-copy.js +8 -0
- package/dist/surface-copy.js.map +1 -1
- package/dist/sync-health.js +6 -2
- package/dist/sync-health.js.map +1 -1
- package/dist/wizard.d.ts +58 -0
- package/dist/wizard.js +167 -0
- package/dist/wizard.js.map +1 -0
- package/dist/write/accessibility-probe.js +4 -2
- package/dist/write/accessibility-probe.js.map +1 -1
- package/dist/write/automation-probe.js +5 -1
- package/dist/write/automation-probe.js.map +1 -1
- package/dist/write/availability.d.ts +1 -1
- package/dist/write/availability.js +10 -6
- package/dist/write/availability.js.map +1 -1
- package/dist/write/batch.d.ts +20 -0
- package/dist/write/batch.js +94 -15
- package/dist/write/batch.js.map +1 -1
- package/dist/write/capabilities.d.ts +9 -0
- package/dist/write/capabilities.js +2 -0
- package/dist/write/capabilities.js.map +1 -1
- package/dist/write/clear-reminder.js +1 -1
- package/dist/write/clear-reminder.js.map +1 -1
- package/dist/write/commands.d.ts +12 -1
- package/dist/write/commands.js +170 -237
- package/dist/write/commands.js.map +1 -1
- package/dist/write/experimental.d.ts +19 -0
- package/dist/write/experimental.js +50 -0
- package/dist/write/experimental.js.map +1 -1
- package/dist/write/failure-hints.d.ts +3 -1
- package/dist/write/failure-hints.js.map +1 -1
- package/dist/write/guards.js +19 -2
- package/dist/write/guards.js.map +1 -1
- package/dist/write/lock.d.ts +16 -13
- package/dist/write/lock.js +55 -0
- package/dist/write/lock.js.map +1 -1
- package/dist/write/make-repeating-project.js +9 -13
- package/dist/write/make-repeating-project.js.map +1 -1
- package/dist/write/move.js +14 -6
- package/dist/write/move.js.map +1 -1
- package/dist/write/operations.d.ts +64 -25
- package/dist/write/operations.js +7 -0
- package/dist/write/operations.js.map +1 -1
- package/dist/write/opid.d.ts +14 -0
- package/dist/write/opid.js +22 -0
- package/dist/write/opid.js.map +1 -1
- package/dist/write/param-schema.d.ts +124 -0
- package/dist/write/param-schema.js +747 -0
- package/dist/write/param-schema.js.map +1 -0
- package/dist/write/pipeline.d.ts +78 -2
- package/dist/write/pipeline.js +249 -4
- package/dist/write/pipeline.js.map +1 -1
- package/dist/write/pre-state.d.ts +8 -0
- package/dist/write/pre-state.js +62 -17
- package/dist/write/pre-state.js.map +1 -1
- package/dist/write/promote-clone.js +635 -367
- package/dist/write/promote-clone.js.map +1 -1
- package/dist/write/reorder.js +95 -29
- package/dist/write/reorder.js.map +1 -1
- package/dist/write/repeat-anchor.d.ts +30 -0
- package/dist/write/repeat-anchor.js +166 -1
- package/dist/write/repeat-anchor.js.map +1 -1
- package/dist/write/repeat-rule.d.ts +28 -1
- package/dist/write/repeat-rule.js +64 -4
- package/dist/write/repeat-rule.js.map +1 -1
- package/dist/write/resolution-timestamps.d.ts +11 -0
- package/dist/write/resolution-timestamps.js +83 -38
- package/dist/write/resolution-timestamps.js.map +1 -1
- package/dist/write/reversibility.js +4 -0
- package/dist/write/reversibility.js.map +1 -1
- package/dist/write/template-mutation.d.ts +137 -0
- package/dist/write/template-mutation.js +451 -0
- package/dist/write/template-mutation.js.map +1 -0
- package/dist/write/undo.js +10 -20
- package/dist/write/undo.js.map +1 -1
- package/dist/write/update-fields.d.ts +151 -0
- package/dist/write/update-fields.js +427 -0
- package/dist/write/update-fields.js.map +1 -0
- package/dist/write/vectors/applescript.js +10 -16
- package/dist/write/vectors/applescript.js.map +1 -1
- package/dist/write/vectors/registry.d.ts +1 -1
- package/dist/write/vectors/registry.js +10 -2
- package/dist/write/vectors/registry.js.map +1 -1
- package/dist/write/vectors/session-reachability.d.ts +55 -0
- package/dist/write/vectors/session-reachability.js +56 -8
- package/dist/write/vectors/session-reachability.js.map +1 -1
- package/dist/write/vectors/shortcuts.js +7 -16
- package/dist/write/vectors/shortcuts.js.map +1 -1
- package/dist/write/vectors/simulator.d.ts +16 -1
- package/dist/write/vectors/simulator.js +68 -12
- package/dist/write/vectors/simulator.js.map +1 -1
- package/dist/write/vectors/types.d.ts +124 -1
- package/dist/write/vectors/ui-recipes.d.ts +19 -0
- package/dist/write/vectors/ui-recipes.js +158 -38
- package/dist/write/vectors/ui-recipes.js.map +1 -1
- package/dist/write/vectors/ui.d.ts +89 -0
- package/dist/write/vectors/ui.js +504 -49
- package/dist/write/vectors/ui.js.map +1 -1
- package/dist/write/verify/delta.d.ts +21 -0
- package/dist/write/verify/delta.js.map +1 -1
- package/dist/write/verify/poller.d.ts +13 -0
- package/dist/write/verify/poller.js +38 -0
- package/dist/write/verify/poller.js.map +1 -1
- package/package.json +9 -1
- package/schema/envelope.schema.json +5 -3
- package/scripts/build-helpers.sh +109 -0
- package/scripts/deputy-cert-setup.sh +60 -0
- package/skills/things-cli/SKILL.md +12 -5
- package/skills/things-cli/references/contracts.md +1 -0
- package/skills/things-cli/references/data-model.md +3 -0
- package/skills/things-cli/references/errors.md +5 -1
- package/skills/things-cli/references/gui.md +1 -0
- package/skills/things-cli/references/repeating.md +75 -0
- package/skills/things-cli/references/tag-cleanup.md +64 -0
package/dist/cli/render.d.ts
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* (agents and humans both need stable references); colors engage on a TTY only
|
|
8
8
|
* (../cli/style.ts).
|
|
9
9
|
*/
|
|
10
|
-
import { type GroupBlock, type GroupedLimits, type ListItem, type LogState, type SidebarSection, type TodayBucketTotals, type TodayView } from "../index.ts";
|
|
10
|
+
import { type GroupBlock, type GroupedLimits, type ListItem, type LogState, type RepeatRule, type SidebarSection, type TodayBucketTotals, type TodayView } from "../index.ts";
|
|
11
11
|
import { stripSgr } from "./width.ts";
|
|
12
12
|
/**
|
|
13
13
|
* A view's TTY-only title preamble: bold view name + its dim Things deep link,
|
|
@@ -72,9 +72,12 @@ export interface FormatOpts {
|
|
|
72
72
|
}
|
|
73
73
|
/**
|
|
74
74
|
* One item line:
|
|
75
|
-
* `<uuid-prefix> <box> [★|⏾] [logged-date] [‹chip›] <title> [‹n›] [⍾] [≡] [≔] (container) #tags [⚑ deadline]`.
|
|
76
|
-
*
|
|
77
|
-
*
|
|
75
|
+
* `<uuid-prefix> <box> [↻] [★|⏾] [logged-date] [‹chip›] <title> [↻] [‹n›] [⍾] [≡] [≔] (container) #tags [⚑ deadline]`.
|
|
76
|
+
* The two ↻ slots are the repeat pair (Things 3.23 parity): a repeating
|
|
77
|
+
* TEMPLATE keeps an ordinary box/circle and leads its meta run with a BLUE ↻
|
|
78
|
+
* (repeatTemplateMark — the row IS the rule), while a spawned INSTANCE carries a
|
|
79
|
+
* MUTED ↻ at the head of the post-title cluster (repeatInstanceMark). Open
|
|
80
|
+
* project circles render blue, and project TITLES render
|
|
78
81
|
* bold + default-colored in every state (projectTitleAccent — the render-
|
|
79
82
|
* language law). The box is the glyph-language state carrier (../glyphs.ts):
|
|
80
83
|
* `[ ]`-family for to-dos, `( )`-family for projects — state survives with
|
|
@@ -179,6 +182,30 @@ export declare function renderSearch(items: ListItem[]): string[];
|
|
|
179
182
|
* in deadline order (most-overdue first); this only frames it.
|
|
180
183
|
*/
|
|
181
184
|
export declare function renderDeadlines(items: ListItem[]): string[];
|
|
185
|
+
/**
|
|
186
|
+
* One line of prose for a decoded repeat rule — the `repeaters` catalogue's
|
|
187
|
+
* reason to exist. The TTY renders this; the JSON wire carries the decoded
|
|
188
|
+
* {@link RepeatRule} itself, so the two surfaces never disagree about the rule,
|
|
189
|
+
* only about how much of it is spelled out.
|
|
190
|
+
*
|
|
191
|
+
* Reads the way the app's own dialog does: the cadence, then the calendar
|
|
192
|
+
* anchors it fires on, then the bounds — `every 2 weeks on Mon, Thu`,
|
|
193
|
+
* `every month on the last Friday · ends after 10`, `every 3 days after each is
|
|
194
|
+
* completed`. An after-completion rule states no anchors (it has no calendar);
|
|
195
|
+
* a deadline offset is stated as the per-occurrence lead it actually is.
|
|
196
|
+
*/
|
|
197
|
+
export declare function repeatRuleSummary(rule: RepeatRule): string;
|
|
198
|
+
/**
|
|
199
|
+
* The repeating-template catalogue (`things repeaters`). Each series renders as
|
|
200
|
+
* its ordinary list row — the plain box + blue ↻, the next-occurrence chip or the
|
|
201
|
+
* ‹waiting›/‹paused›/‹ended› state chip, the container hint — followed by an
|
|
202
|
+
* indented dim line carrying the rule itself. The rule rides its OWN line rather
|
|
203
|
+
* than the meta run because it is the longest thing on the row and the row
|
|
204
|
+
* fitter would spend the title's width on it; here a narrow terminal costs the
|
|
205
|
+
* catalogue nothing. A template whose rule could not be decoded (a future Things
|
|
206
|
+
* schema) still lists, its rule line reading `(rule not readable)`.
|
|
207
|
+
*/
|
|
208
|
+
export declare function renderRepeaters(items: ListItem[]): string[];
|
|
182
209
|
/** Hidden-later counts per sidebar group (null area = the loose block). */
|
|
183
210
|
export interface LaterHints {
|
|
184
211
|
/** Sidebar-ordered, INCLUDING groups whose every project is later. */
|
package/dist/cli/render.js
CHANGED
|
@@ -11,8 +11,8 @@ import { entityProvisional, entityWhen, instantDateIso, localToday, partitionSom
|
|
|
11
11
|
import { renderNow, renderZone } from "./clock.js";
|
|
12
12
|
import { renderRefPromoter } from "./ref-render.js";
|
|
13
13
|
import { bold, dim, strike, underline } from "./style.js";
|
|
14
|
-
import { areaMark, CHECKLIST_MARK, containerLabel, countChip, dateChip, deadlineToken, eveningMoon, LEGEND, LEGEND_GROUPS, loggedDate, NOTES_MARK, projectCircle, projectTitleAccent, provisionalPip, REMINDER_MARK, shortDate, todayStar, todoBox, } from "./glyphs.js";
|
|
15
|
-
import { FULL_MONTHS, upcomingBucket } from "./period.js";
|
|
14
|
+
import { areaMark, CHECKLIST_MARK, containerLabel, countChip, dateChip, deadlineToken, eveningMoon, LEGEND, LEGEND_GROUPS, loggedDate, NOTES_MARK, projectCircle, projectTitleAccent, provisionalPip, repeatInstanceMark, REPEAT_MARK, repeatTemplateMark, REMINDER_MARK, shortDate, todayStar, todoBox, } from "./glyphs.js";
|
|
15
|
+
import { FULL_MONTHS, SHORT_MONTHS, upcomingBucket, WEEKDAYS } from "./period.js";
|
|
16
16
|
import { fitRow, getFitWidth, resolveFit, stripSgr, TITLE_MIN, visibleWidth, } from "./width.js";
|
|
17
17
|
/**
|
|
18
18
|
* A view's TTY-only title preamble: bold view name + its dim Things deep link,
|
|
@@ -68,9 +68,12 @@ function promotedRefBracket(ref, kind) {
|
|
|
68
68
|
}
|
|
69
69
|
/**
|
|
70
70
|
* One item line:
|
|
71
|
-
* `<uuid-prefix> <box> [★|⏾] [logged-date] [‹chip›] <title> [‹n›] [⍾] [≡] [≔] (container) #tags [⚑ deadline]`.
|
|
72
|
-
*
|
|
73
|
-
*
|
|
71
|
+
* `<uuid-prefix> <box> [↻] [★|⏾] [logged-date] [‹chip›] <title> [↻] [‹n›] [⍾] [≡] [≔] (container) #tags [⚑ deadline]`.
|
|
72
|
+
* The two ↻ slots are the repeat pair (Things 3.23 parity): a repeating
|
|
73
|
+
* TEMPLATE keeps an ordinary box/circle and leads its meta run with a BLUE ↻
|
|
74
|
+
* (repeatTemplateMark — the row IS the rule), while a spawned INSTANCE carries a
|
|
75
|
+
* MUTED ↻ at the head of the post-title cluster (repeatInstanceMark). Open
|
|
76
|
+
* project circles render blue, and project TITLES render
|
|
74
77
|
* bold + default-colored in every state (projectTitleAccent — the render-
|
|
75
78
|
* language law). The box is the glyph-language state carrier (../glyphs.ts):
|
|
76
79
|
* `[ ]`-family for to-dos, `( )`-family for projects — state survives with
|
|
@@ -95,10 +98,23 @@ export function formatItem(item, uuidWidth = 0, opts = {}) {
|
|
|
95
98
|
const asTitle = opts.projectTitle === true && item.type === "project";
|
|
96
99
|
const box = item.type === "project" ? projectCircle(item) : todoBox(item);
|
|
97
100
|
const meta = [];
|
|
101
|
+
// A repeating TEMPLATE leads with a BLUE ↻ — the FIRST thing after the
|
|
102
|
+
// ordinary box/circle, ahead of the date chip, the ‹waiting/paused/ended›
|
|
103
|
+
// state chip, and the title (Things 3.23 moved the mark out of the checkbox;
|
|
104
|
+
// we used to seat it inside as `[↻]`/`(↻)`). Instances carry the muted ↻ in
|
|
105
|
+
// the post-title cluster instead (`tail`, below).
|
|
106
|
+
if (item.repeating.isTemplate)
|
|
107
|
+
meta.push(repeatTemplateMark());
|
|
98
108
|
if (opts.mark != null)
|
|
99
109
|
meta.push(opts.mark);
|
|
100
|
-
//
|
|
101
|
-
|
|
110
|
+
// A resolution dated TODAY is the unmarked case (resolved-is-normal): the
|
|
111
|
+
// blue logged-date prefix exists to date OLDER resolutions. Without this, a
|
|
112
|
+
// checked-unswept row in Today wears today's own date like an upcoming chip
|
|
113
|
+
// (Mike, live 2026-08-24); the GUI's Logbook likewise carries no per-row
|
|
114
|
+
// date inside its "Today" group. Detail cards keep the date unconditionally.
|
|
115
|
+
if (item.status !== "open" &&
|
|
116
|
+
item.stopped !== null &&
|
|
117
|
+
instantDateIso(item.stopped, renderZone()) !== todayIso)
|
|
102
118
|
meta.push(loggedDate(item.stopped, todayIso, renderZone()));
|
|
103
119
|
if (opts.hideDateChip === true) {
|
|
104
120
|
// rows under a day header — the header carries the date
|
|
@@ -196,11 +212,17 @@ export function formatItem(item, uuidWidth = 0, opts = {}) {
|
|
|
196
212
|
t = underline(t);
|
|
197
213
|
return t;
|
|
198
214
|
};
|
|
199
|
-
// GUI indicator order after the title: bell, document, checklist. The
|
|
200
|
-
//
|
|
201
|
-
//
|
|
202
|
-
//
|
|
215
|
+
// GUI indicator order after the title: repeat, bell, document, checklist. The
|
|
216
|
+
// muted ↻ leads because the GUI seats the occurrence mark immediately after
|
|
217
|
+
// the title, ahead of the notes/tag pills; it says this row was SPAWNED from a
|
|
218
|
+
// repeating series (the rt1_repeatingTemplate FK, surfaced as
|
|
219
|
+
// `repeating.isInstance` / the wire's `instanceOf`), where the blue ↻ in the
|
|
220
|
+
// meta run says the row IS the rule. The bell reads the top-level `reminder` —
|
|
221
|
+
// the LIVE value the model already gated (§9n): it is null for a stale
|
|
222
|
+
// reminder (past startDate, bell hidden in the GUI), so no chip shows there
|
|
223
|
+
// either.
|
|
203
224
|
const tail = [
|
|
225
|
+
...(item.repeating.isInstance ? [repeatInstanceMark()] : []),
|
|
204
226
|
...(item.type === "project" ? [countChip(item)] : []),
|
|
205
227
|
...(item.reminder !== null ? [dim(REMINDER_MARK)] : []),
|
|
206
228
|
...(item.notes !== "" ? [dim(NOTES_MARK)] : []),
|
|
@@ -269,9 +291,12 @@ export const UUID_DISPLAY_MIN = 8;
|
|
|
269
291
|
* - the id column (never shrinks) + its two-space separator
|
|
270
292
|
* - the checkbox glyph
|
|
271
293
|
* - a space + the widest meta chip (a future ‹date› carrying a year)
|
|
272
|
-
* - a space + the tail: project count chip + all three marks
|
|
273
|
-
* (a conservative superset — the count chip and checklist never truly
|
|
274
|
-
* co-occur on one row, but budgeting both keeps the floor safe)
|
|
294
|
+
* - a space + the tail: project count chip + the repeat ↻ + all three marks
|
|
295
|
+
* ◷ ≡ ≔ (a conservative superset — the count chip and checklist never truly
|
|
296
|
+
* co-occur on one row, but budgeting both keeps the floor safe). The ↻ is
|
|
297
|
+
* budgeted ONCE for both repeat slots: a row is either a TEMPLATE (blue ↻
|
|
298
|
+
* in the meta run) or an INSTANCE (muted ↻ in this tail), and each spends
|
|
299
|
+
* the same one cell plus its separating space.
|
|
275
300
|
* - a space + the bare `#…` marker (tags never fully vanish)
|
|
276
301
|
* - a space + the longest deadline token (full or compact worst case)
|
|
277
302
|
* - a space + a TITLE_MIN-column title
|
|
@@ -292,7 +317,7 @@ function computeFitFloors() {
|
|
|
292
317
|
untrashedLeafActionsCount: 999,
|
|
293
318
|
openUntrashedLeafActionsCount: 999,
|
|
294
319
|
});
|
|
295
|
-
const tail = [countChipWorst, REMINDER_MARK, NOTES_MARK, CHECKLIST_MARK].join(" ");
|
|
320
|
+
const tail = [countChipWorst, REPEAT_MARK, REMINDER_MARK, NOTES_MARK, CHECKLIST_MARK].join(" ");
|
|
296
321
|
const fullDeadline = deadlineToken("2000-01-15", todayIso); // ⚑ 14 days left — longest full form
|
|
297
322
|
// Compact worst case: the widest token that can appear in compact mode. Far
|
|
298
323
|
// dates collapse to the bare year (`⚑ 2001`, 6 cells), so the narrow
|
|
@@ -487,6 +512,93 @@ export function renderDeadlines(items) {
|
|
|
487
512
|
const w = uuidDisplayWidth(items);
|
|
488
513
|
return [header, ...items.map((i) => formatItem(i, w, { leadDeadline: true }))];
|
|
489
514
|
}
|
|
515
|
+
/** The singular unit noun each cadence phrase is built from. */
|
|
516
|
+
const RULE_UNIT_NOUN = {
|
|
517
|
+
daily: "day",
|
|
518
|
+
weekly: "week",
|
|
519
|
+
monthly: "month",
|
|
520
|
+
yearly: "year",
|
|
521
|
+
};
|
|
522
|
+
/** `1st` / `2nd` / `3rd` / `4th` … — the ordinal a monthly/yearly anchor reads as. */
|
|
523
|
+
function ordinal(n) {
|
|
524
|
+
const rem100 = n % 100;
|
|
525
|
+
if (rem100 >= 11 && rem100 <= 13)
|
|
526
|
+
return `${n}th`;
|
|
527
|
+
const suffix = { 1: "st", 2: "nd", 3: "rd" }[n % 10] ?? "th";
|
|
528
|
+
return `${n}${suffix}`;
|
|
529
|
+
}
|
|
530
|
+
/** The nth-weekday / day-of-month phrase one calendar offset reads as, or null. */
|
|
531
|
+
function offsetPhrase(o) {
|
|
532
|
+
const weekday = o.weekday !== undefined ? (WEEKDAYS[o.weekday] ?? null) : null;
|
|
533
|
+
if (o.weekdayOrdinal !== undefined && weekday !== null) {
|
|
534
|
+
const which = o.weekdayOrdinal === -1 ? "last" : ordinal(o.weekdayOrdinal);
|
|
535
|
+
return `the ${which} ${weekday}`;
|
|
536
|
+
}
|
|
537
|
+
if (o.day !== undefined) {
|
|
538
|
+
const day = o.day === -1 ? "the last day" : `the ${ordinal(o.day)}`;
|
|
539
|
+
return o.month !== undefined ? `${SHORT_MONTHS[o.month - 1] ?? o.month} ${day}` : day;
|
|
540
|
+
}
|
|
541
|
+
return weekday;
|
|
542
|
+
}
|
|
543
|
+
/**
|
|
544
|
+
* One line of prose for a decoded repeat rule — the `repeaters` catalogue's
|
|
545
|
+
* reason to exist. The TTY renders this; the JSON wire carries the decoded
|
|
546
|
+
* {@link RepeatRule} itself, so the two surfaces never disagree about the rule,
|
|
547
|
+
* only about how much of it is spelled out.
|
|
548
|
+
*
|
|
549
|
+
* Reads the way the app's own dialog does: the cadence, then the calendar
|
|
550
|
+
* anchors it fires on, then the bounds — `every 2 weeks on Mon, Thu`,
|
|
551
|
+
* `every month on the last Friday · ends after 10`, `every 3 days after each is
|
|
552
|
+
* completed`. An after-completion rule states no anchors (it has no calendar);
|
|
553
|
+
* a deadline offset is stated as the per-occurrence lead it actually is.
|
|
554
|
+
*/
|
|
555
|
+
export function repeatRuleSummary(rule) {
|
|
556
|
+
const noun = RULE_UNIT_NOUN[rule.unit];
|
|
557
|
+
const cadence = rule.interval === 1 ? `every ${noun}` : `every ${rule.interval} ${noun}s`;
|
|
558
|
+
const parts = [cadence];
|
|
559
|
+
if (rule.type === "after-completion") {
|
|
560
|
+
parts[0] = `${cadence} after each is completed`;
|
|
561
|
+
}
|
|
562
|
+
else {
|
|
563
|
+
const anchors = rule.offsets.map(offsetPhrase).filter((p) => p !== null);
|
|
564
|
+
if (anchors.length > 0)
|
|
565
|
+
parts[0] = `${cadence} on ${anchors.join(", ")}`;
|
|
566
|
+
}
|
|
567
|
+
// The deadline lead (ts ≤ 0): each occurrence starts N days before it is due.
|
|
568
|
+
if (rule.startOffsetDays < 0) {
|
|
569
|
+
const n = -rule.startOffsetDays;
|
|
570
|
+
parts.push(`due ${n} day${n === 1 ? "" : "s"} after each start`);
|
|
571
|
+
}
|
|
572
|
+
if (rule.endDate !== null)
|
|
573
|
+
parts.push(`ends ${rule.endDate}`);
|
|
574
|
+
else if (rule.occurrenceCount !== null) {
|
|
575
|
+
parts.push(`ends after ${rule.occurrenceCount} occurrence${rule.occurrenceCount === 1 ? "" : "s"}`);
|
|
576
|
+
}
|
|
577
|
+
return parts.join(" · ");
|
|
578
|
+
}
|
|
579
|
+
/**
|
|
580
|
+
* The repeating-template catalogue (`things repeaters`). Each series renders as
|
|
581
|
+
* its ordinary list row — the plain box + blue ↻, the next-occurrence chip or the
|
|
582
|
+
* ‹waiting›/‹paused›/‹ended› state chip, the container hint — followed by an
|
|
583
|
+
* indented dim line carrying the rule itself. The rule rides its OWN line rather
|
|
584
|
+
* than the meta run because it is the longest thing on the row and the row
|
|
585
|
+
* fitter would spend the title's width on it; here a narrow terminal costs the
|
|
586
|
+
* catalogue nothing. A template whose rule could not be decoded (a future Things
|
|
587
|
+
* schema) still lists, its rule line reading `(rule not readable)`.
|
|
588
|
+
*/
|
|
589
|
+
export function renderRepeaters(items) {
|
|
590
|
+
const header = bold(`── ${REPEAT_MARK} Repeating ──`);
|
|
591
|
+
if (items.length === 0)
|
|
592
|
+
return [header, "(empty)"];
|
|
593
|
+
const w = uuidDisplayWidth(items);
|
|
594
|
+
const lines = [header];
|
|
595
|
+
for (const item of items) {
|
|
596
|
+
lines.push(formatItem(item, w));
|
|
597
|
+
const rule = item.repeating.rule;
|
|
598
|
+
lines.push(` ${dim(rule === undefined ? "(rule not readable)" : repeatRuleSummary(rule))}`);
|
|
599
|
+
}
|
|
600
|
+
return lines;
|
|
601
|
+
}
|
|
490
602
|
/**
|
|
491
603
|
* The sidebar mirror for `things projects`: loose projects first (the GUI
|
|
492
604
|
* lists them above the areas), then a `── ⬡ Area ──` header per area with
|
package/dist/cli/render.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render.js","sourceRoot":"","sources":["../../src/cli/render.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EACL,iBAAiB,EACjB,UAAU,EACV,cAAc,EACd,UAAU,EACV,uBAAuB,EACvB,kBAAkB,EAClB,cAAc,EAOd,cAAc,GAGf,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAC1D,OAAO,EACL,QAAQ,EACR,cAAc,EACd,cAAc,EACd,SAAS,EACT,QAAQ,EACR,aAAa,EACb,WAAW,EACX,MAAM,EACN,aAAa,EACb,UAAU,EACV,UAAU,EACV,aAAa,EACb,kBAAkB,EAClB,cAAc,EACd,aAAa,EACb,SAAS,EACT,SAAS,EACT,OAAO,GACR,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,EACL,MAAM,EACN,WAAW,EACX,UAAU,EACV,QAAQ,EACR,SAAS,EACT,YAAY,GAEb,MAAM,YAAY,CAAC;AAEpB;;;;;;GAMG;AACH,MAAM,UAAU,eAAe,CAAC,IAAY;IAC1C,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC3D,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,sBAAsB,IAAI,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;AACtE,CAAC;AAED,+GAA+G;AAC/G,MAAM,CAAC,MAAM,SAAS,GAAG,QAAQ,CAAC;AAElC,2GAA2G;AAC3G,MAAM,aAAa,GAAG,EAAE,CAAC;AAEzB;;;;;GAKG;AACH,MAAM,UAAU,YAAY;IAC1B,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,MAAM,KAAK,IAAI,aAAa,EAAE,CAAC;QAClC,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC;QACxD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,SAAS;QACnC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACrC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC;QACnC,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;YACxB,MAAM,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,aAAa,GAAG,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC3E,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,GAAG,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AA+CD,mFAAmF;AACnF,MAAM,SAAS,GAAG,CAAC,IAAY,EAAU,EAAE,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;AAE5D;;;;;;GAMG;AACH,SAAS,kBAAkB,CACzB,GAAoC,EACpC,IAAwB;IAExB,MAAM,CAAC,GAAG,iBAAiB,EAAE,CAAC;IAC9B,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC;QAAE,OAAO,EAAE,CAAC;IACrE,OAAO,KAAK,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,cAAc,CAAC,GAAG,CAAC;AACnD,CAAC;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,UAAU,UAAU,CAAC,IAAc,EAAE,SAAS,GAAG,CAAC,EAAE,OAAmB,EAAE;IAC7E,2EAA2E;IAC3E,0EAA0E;IAC1E,2EAA2E;IAC3E,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,IAAI,SAAS,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;IACnE,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,KAAK,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC;IACtE,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1E,MAAM,IAAI,GAAa,EAAE,CAAC;IAC1B,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI;QAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5C,2EAA2E;IAC3E,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI;QACjD,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC;IAC9D,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,EAAE,CAAC;QAC/B,wDAAwD;IAC1D,CAAC;SAAM,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,IAAI,IAAI,CAAC,SAAS,GAAG,QAAQ;QACvF,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;IAChD,mEAAmE;SAC9D,IAAI,IAAI,CAAC,SAAS,CAAC,UAAU,IAAI,IAAI,CAAC,SAAS,CAAC,cAAc,IAAI,IAAI;QACzE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC/D,iEAAiE;IACjE,6EAA6E;IAC7E,4EAA4E;IAC5E,oDAAoD;SAC/C,IAAI,IAAI,CAAC,SAAS,CAAC,UAAU;QAChC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,cAAc,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;IAClE,0EAA0E;IAC1E,iEAAiE;IACjE,MAAM,IAAI,GACR,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACxF,0EAA0E;IAC1E,uEAAuE;IACvE,sEAAsE;IACtE,oEAAoE;IACpE,yEAAyE;IACzE,gFAAgF;IAChF,+EAA+E;IAC/E,4EAA4E;IAC5E,6EAA6E;IAC7E,MAAM,WAAW,GAAG,WAAW,EAAE,CAAC;IAClC,MAAM,GAAG,GACP,WAAW,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,WAAW,EAAE,cAAc,EAAE,iBAAiB,CAAC,CAAC;IAC3F,MAAM,OAAO,GAAG,GAAG,EAAE,OAAO,KAAK,IAAI,CAAC;IACtC,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;IACjC,MAAM,QAAQ,GACZ,IAAI,CAAC,MAAM,KAAK,MAAM,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,IAAI,IAAI,CAAC,QAAQ,GAAG,MAAM;QACxE,CAAC,CAAC,IAAI,aAAa,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE;QACvD,CAAC,CAAC,oEAAoE;YACpE,mEAAmE;YACnE,oEAAoE;YACpE,IAAI,CAAC,SAAS,CAAC,UAAU;gBACvB,IAAI,KAAK,SAAS;gBAClB,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC;gBACrD,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE;gBACtB,CAAC,CAAC,EAAE,CAAC;IACX,8EAA8E;IAC9E,2EAA2E;IAC3E,8EAA8E;IAC9E,MAAM,gBAAgB,GAAG,IAAI,CAAC,YAAY,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;IACpE,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,IAAI,QAAQ,KAAK,EAAE;QAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC;IACtF,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC/F,6EAA6E;IAC7E,uEAAuE;IACvE,MAAM,WAAW,GACf,IAAI,CAAC,cAAc,KAAK,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI;QAC5E,CAAC,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG;QAC5B,CAAC,CAAC,IAAI,CAAC;IACX,MAAM,OAAO,GACX,WAAW,KAAK,IAAI;QAClB,CAAC,CAAC,WAAW;QACb,CAAC,CAAC,SAAS,KAAK,IAAI;YAClB,CAAC,CAAC,SAAS,CAAC,IAAI,KAAK,IAAI,CAAC,eAAe;gBACvC,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,sEAAsE;oBACtE,sEAAsE;oBACtE,qEAAqE;oBACrE,sEAAsE;oBACtE,mEAAmE;oBACnE,KAAK,cAAc,CAAC,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC,mBAAmB,KAAK,IAAI,CAAC,GAAG,kBAAkB,CAAC,SAAS,EAAE,SAAS,CAAC,GAAG;YAC9H,CAAC,CAAC,IAAI,CAAC,IAAI;gBACT,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,YAAY;oBACpC,CAAC,CAAC,EAAE;oBACJ,CAAC,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,kBAAkB,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG;gBACnE,CAAC,CAAC,EAAE,CAAC;IACb,0EAA0E;IAC1E,MAAM,SAAS,GAAG,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;IAC5E,wEAAwE;IACxE,8EAA8E;IAC9E,oEAAoE;IACpE,0EAA0E;IAC1E,8EAA8E;IAC9E,oDAAoD;IACpD,4EAA4E;IAC5E,6EAA6E;IAC7E,0EAA0E;IAC1E,uDAAuD;IACvD,uEAAuE;IACvE,2EAA2E;IAC3E,6EAA6E;IAC7E,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,KAAK,WAAW,IAAI,IAAI,CAAC,MAAM,KAAK,UAAU,CAAC;IAC3E,MAAM,UAAU,GAAG,CAAC,IAAY,EAAU,EAAE;QAC1C,IAAI,CAAC,GAAG,IAAI,CAAC;QACb,IAAI,IAAI,CAAC,MAAM,KAAK,UAAU;YAAE,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QAC9C,IAAI,QAAQ,IAAI,IAAI,CAAC,cAAc,KAAK,IAAI;YAAE,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;QACzD,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS;YAAE,CAAC,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC;QACvD,IAAI,OAAO;YAAE,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;QAC9B,OAAO,CAAC,CAAC;IACX,CAAC,CAAC;IACF,2EAA2E;IAC3E,iFAAiF;IACjF,+EAA+E;IAC/E,8BAA8B;IAC9B,MAAM,IAAI,GAAG;QACX,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACrD,GAAG,CAAC,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACvD,GAAG,CAAC,IAAI,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/C,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,IAAI,CAAC,mBAAmB,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;KACxF,CAAC;IACF,8EAA8E;IAC9E,4EAA4E;IAC5E,6EAA6E;IAC7E,8EAA8E;IAC9E,MAAM,IAAI,GAAG,GAAG,GAAG,CAAC,SAAS,CAAC,KAAK,GAAG,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IACvF,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5D,MAAM,MAAM,GAAG,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAClD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAC/C,MAAM,IAAI,GAAG,GAAG,IAAI,IAAI,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,OAAO,GAAG,IAAI,GAAG,MAAM,GAAG,gBAAgB,EAAE,CAAC;IAC9F,yEAAyE;IACzE,wEAAwE;IACxE,IAAI,GAAG,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAC9B,MAAM,GAAG,GAAgB;QACvB,IAAI;QACJ,QAAQ,EAAE,IAAI,CAAC,KAAK;QACpB,UAAU;QACV,IAAI,EAAE,OAAO;QACb,QAAQ;QACR,SAAS;QACT,OAAO,EAAE,MAAM;QACf,QAAQ,EAAE,gBAAgB;QAC1B,IAAI;KACL,CAAC;IACF,yEAAyE;IACzE,wEAAwE;IACxE,2EAA2E;IAC3E,OAAO,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;AAChC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,SAAS,CAAC,IAAc;IACtC,4EAA4E;IAC5E,8EAA8E;IAC9E,wEAAwE;IACxE,0EAA0E;IAC1E,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;IAC9B,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,WAAW,EAAE,CAAC;IAC7C,IAAI,IAAI,KAAK,OAAO;QAAE,OAAO,SAAS,EAAE,CAAC;IACzC,OAAO,IAAI,CAAC;AACd,CAAC;AAED,+EAA+E;AAC/E,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC;AAElC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,SAAS,gBAAgB;IACvB,MAAM,QAAQ,GAAG,YAAY,CAAC;IAC9B,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,4BAA4B;IAC/C,MAAM,QAAQ,GAAG,QAAQ,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAC,4BAA4B;IAC/E,MAAM,cAAc,GAAG,SAAS,CAAC;QAC/B,yBAAyB,EAAE,GAAG;QAC9B,6BAA6B,EAAE,GAAG;KACxB,CAAC,CAAC;IACd,MAAM,IAAI,GAAG,CAAC,cAAc,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACnF,MAAM,YAAY,GAAG,aAAa,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAC,qCAAqC;IACjG,4EAA4E;IAC5E,qEAAqE;IACrE,wEAAwE;IACxE,oDAAoD;IACpD,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,CAC9B,YAAY,CAAC,aAAa,CAAC,YAAY,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,EAAE,aAAa;IACxE,YAAY,CAAC,aAAa,CAAC,YAAY,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,CAC1D,CAAC;IACF,MAAM,SAAS,GACb,gBAAgB;QAChB,CAAC,GAAG,qCAAqC;QACzC,YAAY,CAAC,GAAG,CAAC;QACjB,CAAC;QACD,YAAY,CAAC,QAAQ,CAAC,GAAG,2BAA2B;QACpD,CAAC,GAAG,6BAA6B;QACjC,SAAS;QACT,CAAC;QACD,YAAY,CAAC,IAAI,CAAC,GAAG,6BAA6B;QAClD,CAAC;QACD,YAAY,CAAC,IAAI,CAAC,GAAG,8BAA8B;QACnD,CAAC,CAAC,CAAC,sCAAsC;IAC3C,OAAO;QACL,IAAI,EAAE,SAAS,GAAG,YAAY,CAAC,YAAY,CAAC;QAC5C,OAAO,EAAE,SAAS,GAAG,eAAe;KACrC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,GAAG,gBAAgB,EAAE,CAAC;AAEtC,wGAAwG;AACxG,MAAM,CAAC,MAAM,cAAc,GAAG,UAAU,CAAC,IAAI,CAAC;AAE9C,8GAA8G;AAC9G,MAAM,CAAC,MAAM,iBAAiB,GAAG,UAAU,CAAC,OAAO,CAAC;AAEpD;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAA8B;IAC7D,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,gBAAgB,CAAC;IAChD,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;IACnD,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACvC,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;QAC9B,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC1B,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,OAAO,MAAM,GAAG,CAAC,CAAC,MAAM,IAAI,MAAM,GAAG,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC;YAAE,MAAM,EAAE,CAAC;QACnF,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC;IACxC,CAAC;IACD,OAAO,IAAI,CAAC,GAAG,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;AAC5C,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,OAAO,CAAC,IAAY,EAAE,KAAa;IACjD,OAAO,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACzE,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,KAAiB;IAC1C,MAAM,CAAC,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAClC,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAC/E,CAAC;AAED;;;;GAIG;AACH,MAAM,kBAAkB,GAAG,CAAC,CAAW,EAAc,EAAE,CACrD,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AAEzD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,MAAM,UAAU,WAAW,CACzB,IAAe,EACf,MAAqC,EACrC,IAAY,EACZ,OAAmC;IAEnC,6EAA6E;IAC7E,0EAA0E;IAC1E,MAAM,UAAU,GAAG,MAAM,EAAE,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;IACtD,MAAM,YAAY,GAAG,MAAM,EAAE,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;IAC5D,MAAM,CAAC,GAAG,gBAAgB,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IAC7D,MAAM,WAAW,GAAG,OAAO,EAAE,WAAW,KAAK,IAAI,CAAC;IAClD,sEAAsE;IACtE,kFAAkF;IAClF,MAAM,KAAK,GAAa;QACtB,KAAK,GAAG,CAAC,cAAc,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE;QACtD,KAAK,GAAG,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE;KAC1C,CAAC;IACF,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,KAAK,CAAC,IAAI,CACR,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,SAAS,EAAE,IAAI,IAAI,CAAC,UAAU,CAAC,EAAE,EAClD,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;YACzB,CAAC,CAAC,CAAC,SAAS,CAAC;YACb,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CACpE,CAAC;IACJ,CAAC;IACD,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;QACrB,wEAAwE;QACxE,0EAA0E;QAC1E,wEAAwE;QACxE,IAAI,CAAC,WAAW;YAAE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjC,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,WAAW,EAAE,IAAI,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;QACxE,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,OAAO;YAAE,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAClF,MAAM,MAAM,GAAG,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;QAClD,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;YACf,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YACpD,MAAM,KAAK,GAAG,GAAG,MAAM,IAAI,IAAI,eAAe,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;YACxE,sEAAsE;YACtE,qEAAqE;YACrE,oEAAoE;YACpE,uEAAuE;YACvE,6CAA6C;YAC7C,IAAI,WAAW,EAAE,CAAC;gBAChB,MAAM,KAAK,GAAG,UAAU,GAAG,YAAY,CAAC;gBACxC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,KAAK,QAAQ,IAAI,YAAY,KAAK,UAAU,IAAI,UAAU,CAAC,CAAC,CAAC;YACnF,CAAC;iBAAM,CAAC;gBACN,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,KAAK,QAAQ,IAAI,cAAc,CAAC,CAAC,CAAC;YACxD,CAAC;QACH,CAAC;IACH,CAAC;SAAM,IAAI,WAAW,EAAE,CAAC;QACvB,yEAAyE;QACzE,sEAAsE;QACtE,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACxB,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,YAAY,CAAC,KAAiB;IAC5C,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IAC3C,MAAM,CAAC,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAClC,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACtB,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC7B,MAAM,KAAK,GAAI,CAAiD,CAAC,KAAK,CAAC;QACvE,IAAI,KAAK,KAAK,SAAS;YAAE,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,KAAK,KAAK,CAAC,KAAK,MAAM,KAAK,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC;IACvF,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,eAAe,CAAC,KAAiB;IAC/C,MAAM,MAAM,GAAG,IAAI,CAAC,mBAAmB,CAAC,CAAC;IACzC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACnD,MAAM,CAAC,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAClC,OAAO,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AACjF,CAAC;AAQD;;;;;;;;;;GAUG;AACH,MAAM,UAAU,qBAAqB,CAAC,KAAiB,EAAE,KAAkB;IACzE,MAAM,KAAK,GAAG,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;IACnE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC;QACzF,OAAO,CAAC,SAAS,CAAC,CAAC;IACrB,MAAM,CAAC,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAClC,MAAM,OAAO,GAAG,IAAI,GAAG,EAA6B,CAAC;IACrD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,EAAE,IAAI,IAAI,IAAI,CAAC;QACpC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;IACxD,CAAC;IACD,qEAAqE;IACrE,oDAAoD;IACpD,MAAM,MAAM,GACV,KAAK,EAAE,MAAM;QACb,CAAC,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YAChC,IAAI,EAAE,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,KAAK,GAAG,CAAC,EAAE,IAAI,IAAI,IAAI,CAAC;YACnF,MAAM,EAAE,CAAC;SACV,CAAC,CAAC,CAAC;IACN,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACzD,oEAAoE;QACpE,sCAAsC;QACtC,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,SAAS;QAC7E,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;YACxB,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;gBAAE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACrC,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,QAAQ,EAAE,IAAI,IAAI,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,EAAE,CAAC,CAAC;QAC9E,CAAC;QACD,KAAK,CAAC,IAAI,CACR,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CACnB,UAAU,CAAC,IAAI,EAAE,CAAC,EAAE;YAClB,YAAY,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,IAAI,IAAI;YACtC,iEAAiE;YACjE,2DAA2D;YAC3D,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC;SACtB,CAAC,CACH,CACF,CAAC;QACF,0EAA0E;QAC1E,qEAAqE;QACrE,gCAAgC;QAChC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;YAClB,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,MAAM,iBAAiB,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;aAChF,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC;IACtF,CAAC;IACD,IAAI,KAAK,GAAG,CAAC;QACX,KAAK,CAAC,IAAI,CACR,EAAE,EACF,cAAc,CAAC,KAAK,EAAE,eAAe,EAAE,CAAC,EAAE,OAAO,EAAE,8BAA8B,EAAE,CAAC,CAAC,CACtF,CAAC;IACJ,OAAO,KAAK,CAAC;AACf,CAAC;AAED,oFAAoF;AACpF,MAAM,SAAS,GAAG,CAAC,CAAW,EAAiB,EAAE,CAC/C,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;AAE9D;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,cAAc,CAAC,KAAiB,EAAE,GAAU;IAC1D,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IAC3C,MAAM,QAAQ,GAAG,UAAU,CAAC,GAAG,IAAI,SAAS,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;IAC9D,MAAM,CAAC,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAClC,MAAM,OAAO,GAAG,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC;IACjD,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;IACzD,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,IAAI,IAAI,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IACpF,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,UAAU,GAAkB,IAAI,CAAC;IACrC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,MAAM,GAAG,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,QAAQ,CAAC,CAAC;QAC/D,IAAI,MAAM,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;YAChC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;gBAAE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACrC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,MAAM,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC;YAC1C,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC;QAC5B,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,GAAG,OAAO,EAAE,YAAY,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAC9E,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACrC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC,CAAC;QAC3C,mEAAmE;QACnE,wEAAwE;QACxE,KAAK,MAAM,IAAI,IAAI,OAAO;YAAE,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;IACvE,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,kBAAkB,CAAC,OAAiB,EAAE,GAAU;IAC9D,MAAM,KAAK,GAAG,CAAC,KAAK,GAAG,CAAC,UAAU,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IAC1D,IAAI,OAAO,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;QACvC,MAAM,IAAI,GAAG,UAAU,EAAE,CAAC;QAC1B,MAAM,QAAQ,GAAG,UAAU,CAAC,GAAG,IAAI,SAAS,EAAE,EAAE,IAAI,CAAC,CAAC;QACtD,MAAM,GAAG,GAAG,SAAS,CAAC,cAAc,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,IAAI,CAAC,EAAE,QAAQ,CAAC,CAAC;QACtF,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,cAAc,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC;IAChD,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,aAAa,CAAC,KAAiB,EAAE,OAAkB,EAAE,GAAU;IAC7E,MAAM,MAAM,GAAG,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,kBAAkB,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7E,MAAM,IAAI,GAAG,iBAAiB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAC3C,6EAA6E;IAC7E,iFAAiF;IACjF,OAAO,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAC7D,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAiB,EAAE,GAAU;IACtD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IAC3C,MAAM,CAAC,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAClC,MAAM,IAAI,GAAG,UAAU,EAAE,CAAC;IAC1B,MAAM,WAAW,GAAG,UAAU,CAAC,GAAG,IAAI,SAAS,EAAE,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACrE,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,WAAW,GAAkB,IAAI,CAAC;IACtC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;QACvB,6EAA6E;QAC7E,4EAA4E;QAC5E,sEAAsE;QACtE,IAAI,OAAe,CAAC;QACpB,IAAI,CAAC,KAAK,IAAI;YAAE,OAAO,GAAG,gBAAgB,CAAC;aACtC,CAAC;YACJ,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,cAAc,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAChE,OAAO,GAAG,GAAG,WAAW,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,EAAE,CAAC,KAAK,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC;QACzF,CAAC;QACD,IAAI,OAAO,KAAK,WAAW,EAAE,CAAC;YAC5B,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;gBAAE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACrC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,OAAO,KAAK,CAAC,CAAC,CAAC;YACrC,WAAW,GAAG,OAAO,CAAC;QACxB,CAAC;QACD,iEAAiE;QACjE,6EAA6E;QAC7E,KAAK,CAAC,IAAI,CACR,UAAU,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,GAAG,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CACrF,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,cAAc,CAAC,QAA0B,EAAE,IAAI,GAAG,KAAK;IACrE,MAAM,GAAG,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAC7C,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IACzC,MAAM,CAAC,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;IAChC,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,KAAK,GAAG,GAAG,EAAE;QACjB,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE;YAAE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC9D,CAAC,CAAC;IACF,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,IAAI,OAAO,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;YAC1B,KAAK,EAAE,CAAC;YACR,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,QAAQ,EAAE,IAAI,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,EAAE,CAAC,CAAC;QAChF,CAAC;QACD,wEAAwE;QACxE,iDAAiD;QACjD,IAAI,WAAW,GAAkB,IAAI,CAAC;QACtC,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YACjC,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAC3C,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBAC5B,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC;gBACxB,KAAK,EAAE,CAAC;gBACR,KAAK,CAAC,IAAI,CACR,UAAU,CAAC,IAAI,EAAE,CAAC,EAAE;oBAClB,YAAY,EAAE,IAAI;oBAClB,YAAY,EAAE,OAAO,CAAC,IAAI,EAAE,IAAI,IAAI,IAAI;oBACxC,IAAI;iBACL,CAAC,CACH,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,KAAK,CAAC,IAAI,CACR,UAAU,CAAC,IAAI,EAAE,CAAC,EAAE;oBAClB,eAAe,EAAE,WAAW;oBAC5B,YAAY,EAAE,OAAO,CAAC,IAAI,EAAE,IAAI,IAAI,IAAI;oBACxC,IAAI;iBACL,CAAC,CACH,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,oEAAoE;AACpE,MAAM,UAAU,UAAU,CAAC,KAAa;IACtC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC;AAC7C,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,cAAc,CAC5B,KAAa,EACb,IAA4C,EAC5C,OAAmD,EACnD,OAA6B,EAAE;IAE/B,MAAM,MAAM,GACV,OAAO,IAAI,KAAK,QAAQ;QACtB,CAAC,CAAC,GAAG,IAAI,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE;QACpC,CAAC,CAAC,KAAK,KAAK,CAAC;YACX,CAAC,CAAC,IAAI,CAAC,GAAG;YACV,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;IAClB,MAAM,IAAI,GAAG,OAAO;SACjB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,KAAK,CAAC,CAAC,OAAO,IAAI,CAAC;SAC5E,IAAI,CAAC,KAAK,CAAC,CAAC;IACf,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,KAAK,IAAI,MAAM,MAAM,IAAI,EAAE,CAAC,CAAC;AAClF,CAAC;AAED,oEAAoE;AACpE,SAAS,aAAa,CAAC,KAAa,EAAE,KAAa,EAAE,KAAoB;IACvE,OAAO,GAAG,CAAC,OAAO,KAAK,GAAG,KAAK,QAAQ,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC,CAAC;AACpF,CAAC;AAED;;;;;;GAMG;AACH,SAAS,aAAa,CAAC,QAAgB,EAAE,KAAa,EAAE,KAAoB;IAC1E,MAAM,KAAK,GAAG;QACZ,GAAG,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ,gBAAgB,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACjF,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,cAAc,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;KACvE,CAAC;IACF,OAAO,GAAG,CAAC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC,CAAC;AAClF,CAAC;AAED,uFAAuF;AACvF,SAAS,YAAY,CAAC,MAAoB,EAAE,IAA6B;IACvE,MAAM,IAAI,GAAG,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;IAC9C,MAAM,GAAG,GAAG,IAAI,EAAE,IAAI,IAAI,IAAI,CAAC;IAC/B,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC;AAC9D,CAAC;AAED,wFAAwF;AACxF,SAAS,eAAe,CAAC,MAAoB,EAAE,WAAmB;IAChE,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACvB,MAAM,GAAG,GAAG,CAAC,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,CAAC,GAAG,KAAK,WAAW,CAAC,CAAC;QACnF,IAAI,GAAG,KAAK,SAAS;YAAE,OAAO,GAAG,CAAC;IACpC,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;GAIG;AACH,SAAS,iBAAiB,CAAC,IAAY,EAAE,WAAqB,EAAE,OAAO,GAAG,IAAI;IAC5E,MAAM,OAAO,GAAG,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,eAAe,IAAI,IAAI,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IAClG,OAAO,GAAG,CAAC,uBAAuB,OAAO,KAAK,OAAO,aAAa,CAAC,CAAC;AACtE,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,oBAAoB,CAClC,QAA0B,EAC1B,MAAoB,EACpB,MAAqB,EACrB,IAAY;IAEZ,MAAM,GAAG,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAC7C,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IACzC,MAAM,CAAC,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;IAChC,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,IAAI,UAAU,GAAG,KAAK,CAAC;IACvB,MAAM,KAAK,GAAG,GAAG,EAAE;QACjB,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE;YAAE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC9D,CAAC,CAAC;IACF,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,IAAI,OAAO,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;YAC1B,KAAK,EAAE,CAAC;YACR,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,QAAQ,EAAE,IAAI,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,EAAE,CAAC,CAAC;QAChF,CAAC;QACD,0EAA0E;QAC1E,yDAAyD;QACzD,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;QACzD,MAAM,YAAY,GAAG,OAAO,CAAC,IAAI,EAAE,IAAI,IAAI,IAAI,CAAC;QAChD,MAAM,SAAS,GAAG,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;QACrD,KAAK,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;YAC1B,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QAC3E,CAAC;QACD,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,CAAC,KAAK,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC;YACjE,OAAO,GAAG,IAAI,CAAC;YACf,MAAM,KAAK,GACT,OAAO,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,oBAAoB,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACtF,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;QACrE,CAAC;QACD,KAAK,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,QAAQ,EAAE,CAAC;YACpD,KAAK,EAAE,CAAC;YACR,KAAK,CAAC,IAAI,CACR,UAAU,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CACvF,CAAC;YACF,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;gBAC5B,KAAK,CAAC,IAAI,CACR,UAAU,CAAC,IAAI,EAAE,CAAC,EAAE;oBAClB,eAAe,EAAE,OAAO,CAAC,IAAI;oBAC7B,YAAY;oBACZ,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC;iBACtB,CAAC,CACH,CAAC;YACJ,CAAC;YACD,MAAM,YAAY,GAAG,SAAS,EAAE,QAAQ,EAAE,IAAI,CAC5C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,CAAC,GAAG,KAAK,OAAO,CAAC,IAAI,CACtD,CAAC;YACF,IAAI,YAAY,KAAK,SAAS,IAAI,YAAY,CAAC,KAAK,GAAG,YAAY,CAAC,KAAK,EAAE,CAAC;gBAC1E,UAAU,GAAG,IAAI,CAAC;gBAClB,KAAK,CAAC,IAAI,CACR,aAAa,CACX,YAAY,CAAC,KAAK,EAClB,YAAY,CAAC,KAAK,EAClB,uBAAuB,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CACnD,CACF,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IACD,IAAI,OAAO,IAAI,UAAU,EAAE,CAAC;QAC1B,MAAM,WAAW,GAAG;YAClB,GAAG,CAAC,OAAO,IAAI,MAAM,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,gBAAgB,MAAM,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/E,GAAG,CAAC,UAAU,IAAI,MAAM,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,mBAAmB,MAAM,CAAC,OAAO,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;SAC5F,CAAC;QACF,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,iBAAiB,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC;IACvD,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,oBAAoB,CAClC,QAA0B,EAC1B,MAAoB,EACpB,MAAqB,EACrB,IAAY,EACZ,UAAmB,EACnB,iBAAyB;IAEzB,MAAM,GAAG,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAC7C,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,IAAI,UAAU,GAAG,KAAK,CAAC;IACvB,MAAM,KAAK,GAAG,GAAG,EAAE;QACjB,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE;YAAE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC9D,CAAC,CAAC;IACF,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrB,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACxB,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;QAChC,MAAM,QAAQ,GAA2E,EAAE,CAAC;QAC5F,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,0EAA0E;YAC1E,sEAAsE;YACtE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,uBAAuB,CAAC,OAAO,CAAC,CAAC;YAC3D,QAAQ,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC;YAC3B,IAAI,OAAO,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;gBAC1B,KAAK,EAAE,CAAC;gBACR,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,QAAQ,EAAE,IAAI,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,EAAE,CAAC,CAAC;YAChF,CAAC;YACD,MAAM,YAAY,GAAG,OAAO,CAAC,IAAI,EAAE,IAAI,IAAI,IAAI,CAAC;YAChD,KAAK,MAAM,IAAI,IAAI,GAAG;gBAAE,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC;YAC1E,MAAM,QAAQ,GAAG,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;YACpD,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,EAAE,CAAC;gBAC9D,OAAO,GAAG,IAAI,CAAC;gBACf,MAAM,KAAK,GACT,OAAO,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,oBAAoB,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBACtF,yEAAyE;gBACzE,iDAAiD;gBACjD,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,aAAa,IAAI,CAAC,CAAC,CAAC;gBAC5E,MAAM,cAAc,GAAG,CAAC,QAAQ,CAAC,aAAa,IAAI,CAAC,CAAC,GAAG,aAAa,CAAC;gBACrE,MAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,GAAG,cAAc,CAAC;gBACrE,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,cAAc,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC;YAChE,CAAC;QACH,CAAC;QACD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,KAAK,EAAE,CAAC;YACR,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC,CAAC;YAC/C,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;gBAC7B,KAAK,EAAE,CAAC;gBACR,KAAK,CAAC,IAAI,CACR,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,kBAAkB,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAChG,CAAC;gBACF,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;oBAC/B,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,eAAe,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;gBAC3E,CAAC;gBACD,MAAM,YAAY,GAAG,eAAe,CAAC,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBACjE,IAAI,YAAY,KAAK,SAAS,IAAI,YAAY,CAAC,KAAK,GAAG,YAAY,CAAC,KAAK,EAAE,CAAC;oBAC1E,UAAU,GAAG,IAAI,CAAC;oBAClB,KAAK,CAAC,IAAI,CACR,aAAa,CACX,YAAY,CAAC,KAAK,EAClB,YAAY,CAAC,KAAK,EAClB,uBAAuB,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CACzD,CACF,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IACD,IAAI,OAAO,IAAI,UAAU,EAAE,CAAC;QAC1B,MAAM,WAAW,GAAG;YAClB,GAAG,CAAC,OAAO,IAAI,MAAM,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,gBAAgB,MAAM,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/E,GAAG,CAAC,UAAU,IAAI,MAAM,CAAC,OAAO,KAAK,IAAI;gBACvC,CAAC,CAAC,CAAC,+BAA+B,MAAM,CAAC,OAAO,GAAG,CAAC,EAAE,CAAC;gBACvD,CAAC,CAAC,EAAE,CAAC;SACR,CAAC;QACF,uEAAuE;QACvE,MAAM,OAAO,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,IAAI,8BAA8B,CAAC,CAAC,CAAC,IAAI,CAAC;QAC1E,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,iBAAiB,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC;IAChE,CAAC;IACD,IAAI,CAAC,UAAU,IAAI,iBAAiB,GAAG,CAAC,EAAE,CAAC;QACzC,KAAK,EAAE,CAAC;QACR,KAAK,CAAC,IAAI,CACR,cAAc,CACZ,iBAAiB,EACjB;YACE,GAAG,EAAE,sCAAsC;YAC3C,IAAI,EAAE,uCAAuC;SAC9C,EACD,CAAC,EAAE,OAAO,EAAE,GAAG,IAAI,8BAA8B,EAAE,CAAC,CACrD,CACF,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
|
|
1
|
+
{"version":3,"file":"render.js","sourceRoot":"","sources":["../../src/cli/render.ts"],"names":[],"mappings":"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"}
|
package/dist/client.d.ts
CHANGED
|
@@ -14,7 +14,7 @@ import { type LogState } from "./read/log-boundary.ts";
|
|
|
14
14
|
import { type ProjectView } from "./read/project-view.ts";
|
|
15
15
|
import { type Snapshot } from "./read/snapshot.ts";
|
|
16
16
|
import { type ShowTarget } from "./read/show-target.ts";
|
|
17
|
-
import { type ChangedItem, type DeadlinesFilter, type InboxFilter, type LiteSearchResult, type ListItem, type LogbookFilter, type SearchOptions, type SearchResultItem, type SidebarSection, type SomedayFilter, type TodayFilter, type TodayView, type UpcomingFilter, type ViewFilter } from "./read/views.ts";
|
|
17
|
+
import { type ChangedItem, type DeadlinesFilter, type InboxFilter, type LiteSearchResult, type ListItem, type LogbookFilter, type RepeatersFilter, type SearchOptions, type SearchResultItem, type SidebarSection, type SomedayFilter, type TodayFilter, type TodayView, type UpcomingFilter, type ViewFilter } from "./read/views.ts";
|
|
18
18
|
import { type TodayBucketTotals, type AreaBucketTotals, type SectionTotals, type UpcomingBlockTotals } from "./read/truncation.ts";
|
|
19
19
|
import { type AreaScopedRead, type ViewFilterMeta } from "./read/area-filter.ts";
|
|
20
20
|
import { type ScopeMeta } from "./read/scope.ts";
|
|
@@ -336,6 +336,15 @@ export interface ThingsClient {
|
|
|
336
336
|
* container; the tag filters compose.
|
|
337
337
|
*/
|
|
338
338
|
deadlines(options?: DeadlinesFilter & ListBound & ClockScopedRead): BoundedList<ListItem>;
|
|
339
|
+
/**
|
|
340
|
+
* The repeating-template catalogue: every live repeating template in the
|
|
341
|
+
* library — to-do and project — each carrying its DECODED rule, ordered by
|
|
342
|
+
* next occurrence (the ones that project nowhere last). Paused and ended
|
|
343
|
+
* series are included and say so. Bounded (default 50). Templates appear in
|
|
344
|
+
* no other list view, and a series' rule is otherwise reachable only through
|
|
345
|
+
* a detail read of a uuid this view is the way to learn.
|
|
346
|
+
*/
|
|
347
|
+
repeaters(options?: RepeatersFilter & ListBound & ClockScopedRead): BoundedList<ListItem>;
|
|
339
348
|
byUuid(uuid: string): AnyTask | null;
|
|
340
349
|
/**
|
|
341
350
|
* Classify a loose reference (uuid, >=6-char prefix, share link, or
|
|
@@ -350,6 +359,17 @@ export interface ThingsClient {
|
|
|
350
359
|
run<K extends OperationKind>(op: K, params: OperationParamsMap[K], options?: WriteOptions): Promise<MutationResult>;
|
|
351
360
|
addTodo(params: TodoAddParams, options?: WriteOptions): Promise<MutationResult>;
|
|
352
361
|
updateTodo(uuid: string, patch: Omit<TodoUpdateParams, "uuid"> & ResolutionDates, options?: WriteOptions): Promise<MutationResult>;
|
|
362
|
+
/**
|
|
363
|
+
* Change ONLY the next occurrence of a repeating to-do, leaving the series
|
|
364
|
+
* itself alone — the app's "make a one-time exception". The occurrence is
|
|
365
|
+
* created if the series has not spawned it yet, then the patch is applied to
|
|
366
|
+
* it. Refuses when the requested day is one the series already lands on (the
|
|
367
|
+
* app would leave two copies there), when the series has no upcoming
|
|
368
|
+
* occurrence at all — a paused one, or one whose current copy is still
|
|
369
|
+
* unfinished — and for repeating projects. Undo restores the occurrence's own
|
|
370
|
+
* change but cannot remove the occurrence or rewind the series.
|
|
371
|
+
*/
|
|
372
|
+
updateTodoOccurrence(uuid: string, patch: Omit<TodoUpdateParams, "uuid">, options?: WriteOptions): Promise<MutationResult>;
|
|
353
373
|
/**
|
|
354
374
|
* Complete a to-do. With `resolution.completedAt` (ISO date or datetime) the
|
|
355
375
|
* to-do lands completed and BACKDATED — resolving it first if needed, then
|
|
@@ -425,7 +445,7 @@ export interface ThingsClient {
|
|
|
425
445
|
/**
|
|
426
446
|
* Create a heading inside an EXISTING project; the new heading's uuid is
|
|
427
447
|
* on the result. Delivered through the Things proxy shortcuts (run
|
|
428
|
-
* `things setup
|
|
448
|
+
* `things setup` once first). A `placement` positions the new
|
|
429
449
|
* heading among the project's headings via a native `move-heading` leg
|
|
430
450
|
* (requires allow-experimental); omitted, it appends. Anchor uuids in the
|
|
431
451
|
* placement are resolved by the caller.
|
package/dist/client.js
CHANGED
|
@@ -4,6 +4,9 @@ import { resolveClock, clockMeta as buildClockMeta } from "./model/clock.js";
|
|
|
4
4
|
import { PKG_VERSION } from "./contracts.js";
|
|
5
5
|
import { BASELINES } from "./db/baselines/index.js";
|
|
6
6
|
import { openConnection } from "./db/connection.js";
|
|
7
|
+
import { createDeputyDbFacade } from "./deputy/db-facade.js";
|
|
8
|
+
import { deputyDbPath, deputyRoutesDb } from "./deputy/routing.js";
|
|
9
|
+
import { readAllowed, readCapability, ReadCapabilityError } from "./capability.js";
|
|
7
10
|
import { compareToBaseline, observeSchema, toSchemaStatus, } from "./db/fingerprint.js";
|
|
8
11
|
import { locateThingsDb } from "./db/locate.js";
|
|
9
12
|
import { auditDir, mutationLockPath } from "./paths.js";
|
|
@@ -16,15 +19,15 @@ import { projectView } from "./read/project-view.js";
|
|
|
16
19
|
import { snapshotView } from "./read/snapshot.js";
|
|
17
20
|
import { classifyShowTarget } from "./read/show-target.js";
|
|
18
21
|
import { areasView, tagsView } from "./read/tags.js";
|
|
19
|
-
import { anytimeView, areaLoggedCount, changesView, deadlinesView, inboxView, liteTitleSearch, logbookView, projectsView, searchView, somedayView, todayView, trashView, upcomingView, } from "./read/views.js";
|
|
22
|
+
import { anytimeView, areaLoggedCount, changesView, deadlinesView, inboxView, liteTitleSearch, logbookView, projectsView, repeatersView, searchView, somedayView, todayView, trashView, upcomingView, } from "./read/views.js";
|
|
20
23
|
import { capAreaSections, previewSections, previewSomedaySections, truncateList, truncateToday, upcomingBlockTotals, } from "./read/truncation.js";
|
|
21
24
|
import { filterListByArea, filterSectionsByArea, filterTodayByArea, resolveAreaFilter, } from "./read/area-filter.js";
|
|
22
25
|
import { filterListByScope, filterSectionsByScope, filterTodayByScope, inScopeItem, namedAreaClause, namedProjectClause, resolveScope, scopeMeta, taskMembershipClause, } from "./read/scope.js";
|
|
23
26
|
import { localToday } from "./model/dates.js";
|
|
24
27
|
import { resolveCap } from "./read/caps.js";
|
|
25
28
|
import { AREA_PREVIEW_LIMIT, DEFAULT_LIST_LIMIT, PROJECT_PREVIEW_LIMIT } from "./surface-copy.js";
|
|
26
|
-
import { readAuthToken,
|
|
27
|
-
import {
|
|
29
|
+
import { readAuthToken, runMutation, } from "./write/pipeline.js";
|
|
30
|
+
import { replayIfApplied } from "./write/opid.js";
|
|
28
31
|
import { runBatch, } from "./write/batch.js";
|
|
29
32
|
import { planTagCreation } from "./write/tag-refs.js";
|
|
30
33
|
import { createEnvironmentTracker } from "./write/environment.js";
|
|
@@ -34,9 +37,10 @@ import { runEditChecklist } from "./write/edit-checklist.js";
|
|
|
34
37
|
import { runAddRepeatingProject, runAddRepeatingTodo, runMakeRepeatingProject, runMakeRepeatingTodo, } from "./write/promote-clone.js";
|
|
35
38
|
import { runCloneProject, runCloneTodo } from "./write/clone.js";
|
|
36
39
|
import { runCancelWithDate, runCompleteWithDate, runUpdateDates, } from "./write/resolution-timestamps.js";
|
|
40
|
+
import { runTemplateExceptionWrite } from "./write/template-mutation.js";
|
|
37
41
|
import { runReorder } from "./write/reorder.js";
|
|
38
42
|
import { runInPlaceReorder, runProjectMove, runTodoMove, runUniversalReorder, } from "./write/move.js";
|
|
39
|
-
import {
|
|
43
|
+
import { runUndo } from "./write/undo.js";
|
|
40
44
|
import { runProjectReopen, } from "./write/reopen.js";
|
|
41
45
|
import { defaultVectors } from "./write/vectors/registry.js";
|
|
42
46
|
import { createUiDriveAux } from "./write/vectors/ui-drag.js";
|
|
@@ -63,9 +67,34 @@ function groupedCaps(bound, areaDefault, projectDefault) {
|
|
|
63
67
|
}
|
|
64
68
|
export { applyChecklistEdit } from "./write/checklist.js";
|
|
65
69
|
export function openThings(options = {}) {
|
|
66
|
-
const located = locateThingsDb(options.dbPath ? { dbPath: options.dbPath } : undefined);
|
|
67
|
-
const conn = openConnection(located.path);
|
|
68
70
|
const env = options.env ?? process.env;
|
|
71
|
+
// THE READ GATE (docs/design/permissions-doctrine.md, Articles I–III). Asked
|
|
72
|
+
// BEFORE anything touches the group container — even the discovery glob is a
|
|
73
|
+
// container access, and under direct mode the first access is what raises the
|
|
74
|
+
// app-data consent. The verdict is ground truth for this invocation: one
|
|
75
|
+
// open(2) in the common case, no stored "onboarded" flag anywhere.
|
|
76
|
+
//
|
|
77
|
+
// An explicit dbPath/THINGS_DB short-circuits the whole doctrine (Article VI)
|
|
78
|
+
// and gets plain file semantics: ordinary ENOENT/EPERM, no consent vocabulary.
|
|
79
|
+
const readGate = readCapability(options.dbPath !== undefined ? { dbPath: options.dbPath } : {}, {
|
|
80
|
+
env,
|
|
81
|
+
});
|
|
82
|
+
if (!readAllowed(readGate))
|
|
83
|
+
throw new ReadCapabilityError(readGate);
|
|
84
|
+
// Deputy routing (docs/design/agent-daemon.md §β1): when the broker is
|
|
85
|
+
// active and the caller wants the default container database, reads flow
|
|
86
|
+
// through the deputy's read-only connection so the TCC grant is the
|
|
87
|
+
// deputy's, not this process's. An explicit dbPath/THINGS_DB always opens
|
|
88
|
+
// locally — the deputy only ever brokers the real container db.
|
|
89
|
+
const routedDbPath = deputyRoutesDb(options.dbPath !== undefined ? { dbPath: options.dbPath } : undefined, env)
|
|
90
|
+
? deputyDbPath(env)
|
|
91
|
+
: null;
|
|
92
|
+
const located = routedDbPath !== null
|
|
93
|
+
? { path: routedDbPath, source: "deputy", otherCandidates: [] }
|
|
94
|
+
: locateThingsDb(options.dbPath ? { dbPath: options.dbPath } : undefined);
|
|
95
|
+
const conn = routedDbPath !== null
|
|
96
|
+
? { db: createDeputyDbFacade(env), path: routedDbPath, close() { } }
|
|
97
|
+
: openConnection(located.path);
|
|
69
98
|
// The effective clock, resolved once from the environment (THINGS_TZ /
|
|
70
99
|
// THINGS_NOW) plus any explicit embedding overrides. Every read/write date
|
|
71
100
|
// boundary rides `now` + `defaultZone`; a per-read `zone` overrides the zone.
|
|
@@ -123,7 +152,8 @@ export function openThings(options = {}) {
|
|
|
123
152
|
// The resolved DB path — backs the default launch's WAL-advance readiness
|
|
124
153
|
// signal (#486) as well as vector construction.
|
|
125
154
|
dbPath: located.path,
|
|
126
|
-
vectors: options.vectors ??
|
|
155
|
+
vectors: options.vectors ??
|
|
156
|
+
defaultVectors(config, createUiDriveAux(conn.db), located.path, options.dbPath !== undefined || (env["THINGS_DB"] ?? "") !== ""),
|
|
127
157
|
config,
|
|
128
158
|
audit,
|
|
129
159
|
fingerprint,
|
|
@@ -158,14 +188,12 @@ export function openThings(options = {}) {
|
|
|
158
188
|
// `alreadyApplied: true` (never re-running the create/tag-prep). Scoped to
|
|
159
189
|
// real runs — a dry-run mints/records nothing, so it never dedups. Matching
|
|
160
190
|
// is against VERIFIED-OK records only (phase 1). Bypassed by the batch and
|
|
161
|
-
// the compound move/reorder orchestrators, which own their own dispatch
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
return replayResultFromRecord(applied);
|
|
168
|
-
}
|
|
191
|
+
// the compound move/reorder orchestrators, which own their own dispatch;
|
|
192
|
+
// the complete/cancel/exception entries below run the SAME gate themselves,
|
|
193
|
+
// because their composites never come through here.
|
|
194
|
+
const replay = replayIfApplied(writeDeps, writeOptions ?? {});
|
|
195
|
+
if (replay !== null)
|
|
196
|
+
return replay;
|
|
169
197
|
// --create-tags: create any missing tag named in this op's tags (clean
|
|
170
198
|
// `make new tag` path, mkdir-p for parent/child) before applying. Skipped
|
|
171
199
|
// on a dry run (no side effects). A failed creation leg short-circuits and
|
|
@@ -457,6 +485,14 @@ export function openThings(options = {}) {
|
|
|
457
485
|
const { data, truncation } = truncateList(items, listCap(o));
|
|
458
486
|
return { items: data, truncation };
|
|
459
487
|
},
|
|
488
|
+
repeaters: (o) => {
|
|
489
|
+
const { limit: _limit, ...filter } = o ?? {};
|
|
490
|
+
let items = repeatersView(conn.db, now(), filter, zoneOf(o));
|
|
491
|
+
if (scope !== undefined)
|
|
492
|
+
items = items.filter((i) => inScopeItem(i, scope));
|
|
493
|
+
const { data, truncation } = truncateList(items, listCap(o));
|
|
494
|
+
return { items: data, truncation };
|
|
495
|
+
},
|
|
460
496
|
showTarget: (ref) => classifyShowTarget(conn.db, ref, scope),
|
|
461
497
|
byUuid: (uuid) => {
|
|
462
498
|
// Prefix-friendly: unknown refs keep the null contract; ambiguity throws.
|
|
@@ -486,6 +522,7 @@ export function openThings(options = {}) {
|
|
|
486
522
|
run,
|
|
487
523
|
addTodo: (params, o) => run("todo.add", params, o),
|
|
488
524
|
updateTodo: (uuid, patch, o) => runUpdate("todo", uuid, patch, o),
|
|
525
|
+
updateTodoOccurrence: (uuid, patch, o) => runTemplateExceptionWrite(writeDeps, resolveTaskUuidPrefix(conn.db, uuid, "to-do", scopeClauses?.task), patch, o ?? {}),
|
|
489
526
|
completeTodo: (uuid, resolution, o) => runCompleteWithDate(writeDeps, "todo", uuid, resolution ?? {}, o ?? {}),
|
|
490
527
|
cancelTodo: (uuid, resolution, o) => runCancelWithDate(writeDeps, "todo", uuid, resolution ?? {}, o ?? {}),
|
|
491
528
|
reopenTodo: (uuid, o) => run("todo.reopen", { uuid }, o),
|