things-api 0.15.0 → 0.16.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 +4 -4
- package/dist/audit/schema.d.ts +8 -0
- package/dist/audit/schema.js.map +1 -1
- package/dist/cli/commands/install-skill.js +9 -2
- package/dist/cli/commands/install-skill.js.map +1 -1
- package/dist/cli/commands/repeat-flags.d.ts +11 -1
- package/dist/cli/commands/repeat-flags.js +23 -0
- package/dist/cli/commands/repeat-flags.js.map +1 -1
- package/dist/cli/commands/todo.js +49 -2
- package/dist/cli/commands/todo.js.map +1 -1
- package/dist/cli/commands/writes.js +182 -61
- package/dist/cli/commands/writes.js.map +1 -1
- package/dist/cli/help.js +14 -11
- package/dist/cli/help.js.map +1 -1
- package/dist/cli/read-driver.d.ts +2 -2
- package/dist/cli/skill.d.ts +24 -0
- package/dist/cli/skill.js +40 -0
- package/dist/cli/skill.js.map +1 -1
- package/dist/client.d.ts +53 -12
- package/dist/client.js +6 -1
- package/dist/client.js.map +1 -1
- package/dist/contracts.d.ts +1 -1
- package/dist/contracts.js +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.js.map +1 -1
- package/dist/mcp/server.js +132 -31
- package/dist/mcp/server.js.map +1 -1
- package/dist/model/entities.d.ts +35 -0
- package/dist/model/entities.js.map +1 -1
- package/dist/read/detail.js +49 -1
- package/dist/read/detail.js.map +1 -1
- package/dist/read/queries.d.ts +12 -0
- package/dist/read/queries.js +14 -0
- package/dist/read/queries.js.map +1 -1
- package/dist/read/shape.d.ts +25 -22
- package/dist/read/shape.js +81 -55
- package/dist/read/shape.js.map +1 -1
- package/dist/read/stage.d.ts +5 -5
- package/dist/read/stage.js +2 -2
- package/dist/read/views.d.ts +1 -1
- package/dist/read/views.js +4 -4
- package/dist/surface-copy.d.ts +2 -2
- package/dist/surface-copy.js +2 -2
- package/dist/write/batch.d.ts +28 -3
- package/dist/write/batch.js +162 -46
- package/dist/write/batch.js.map +1 -1
- package/dist/write/clone.d.ts +4 -0
- package/dist/write/clone.js +531 -0
- package/dist/write/clone.js.map +1 -0
- package/dist/write/commands.js +90 -4
- package/dist/write/commands.js.map +1 -1
- package/dist/write/guards.d.ts +1 -1
- package/dist/write/guards.js +33 -5
- package/dist/write/guards.js.map +1 -1
- package/dist/write/make-repeating-project.d.ts +2 -3
- package/dist/write/make-repeating-project.js +2 -73
- package/dist/write/make-repeating-project.js.map +1 -1
- package/dist/write/move.js +8 -1
- package/dist/write/move.js.map +1 -1
- package/dist/write/operations.d.ts +131 -9
- package/dist/write/operations.js +4 -1
- package/dist/write/operations.js.map +1 -1
- package/dist/write/pipeline.d.ts +38 -0
- package/dist/write/pipeline.js +68 -3
- package/dist/write/pipeline.js.map +1 -1
- package/dist/write/pre-state.js +7 -1
- package/dist/write/pre-state.js.map +1 -1
- package/dist/write/preserve-modified.d.ts +55 -0
- package/dist/write/preserve-modified.js +106 -0
- package/dist/write/preserve-modified.js.map +1 -0
- package/dist/write/promote-clone.d.ts +32 -0
- package/dist/write/promote-clone.js +620 -0
- package/dist/write/promote-clone.js.map +1 -0
- package/dist/write/resolution-timestamps.js +22 -0
- package/dist/write/resolution-timestamps.js.map +1 -1
- package/dist/write/reversibility.js +27 -14
- package/dist/write/reversibility.js.map +1 -1
- package/dist/write/undo.d.ts +11 -1
- package/dist/write/undo.js +126 -10
- package/dist/write/undo.js.map +1 -1
- package/dist/write/vectors/simulator.js +32 -1
- package/dist/write/vectors/simulator.js.map +1 -1
- package/dist/write/vectors/ui-certification.d.ts +1 -1
- package/dist/write/vectors/ui-certification.js +10 -3
- package/dist/write/vectors/ui-certification.js.map +1 -1
- package/package.json +1 -1
- package/skills/things-cli/SKILL.md +3 -2
- package/skills/things-cli/references/banner.md +1 -1
- package/skills/things-cli/references/contracts.md +17 -9
- package/skills/things-cli/references/data-model.md +2 -1
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* per-vector matrices (data, produced by the lab), not here.
|
|
5
5
|
*/
|
|
6
6
|
import type { IsoDate, ReminderTime } from "../model/dates.ts";
|
|
7
|
-
export declare const OPERATION_KINDS: readonly ["todo.add", "todo.update", "todo.complete", "todo.cancel", "todo.reopen", "todo.move", "todo.set-tags", "todo.replace-checklist", "todo.edit-checklist-item", "todo.delete", "project.add", "project.update", "project.complete", "project.delete", "area.add", "area.delete", "tag.add", "tag.delete", "trash.empty", "reorder", "todo.duplicate", "area.update", "tag.update", "project.move", "todo.restore", "project.duplicate", "project.cancel", "project.reopen", "project.restore", "project.set-tags", "todo.set-dates", "project.set-dates", "project.add-heading", "project.rename-heading", "project.archive-heading", "project.unarchive-heading", "project.promote-heading", "project.move-heading", "project.move-heading-to-project", "project.dissolve-heading", "todo.clear-dated-reminder", "todo.make-repeating", "todo.reschedule-repeat", "todo.pause-repeat", "todo.resume-repeat", "todo.convert-to-project", "project.reschedule-repeat", "project.pause-repeat", "project.resume-repeat", "area.reorder", "project.make-repeating", "project.add-repeating", "log-now"];
|
|
7
|
+
export declare const OPERATION_KINDS: readonly ["todo.add", "todo.update", "todo.complete", "todo.cancel", "todo.reopen", "todo.move", "todo.set-tags", "todo.replace-checklist", "todo.edit-checklist-item", "todo.delete", "project.add", "project.update", "project.complete", "project.delete", "area.add", "area.delete", "tag.add", "tag.delete", "trash.empty", "reorder", "todo.duplicate", "area.update", "tag.update", "project.move", "todo.restore", "project.duplicate", "project.cancel", "project.reopen", "project.restore", "project.set-tags", "todo.set-dates", "project.set-dates", "project.add-heading", "project.rename-heading", "project.archive-heading", "project.unarchive-heading", "project.promote-heading", "project.move-heading", "project.move-heading-to-project", "project.dissolve-heading", "todo.clear-dated-reminder", "todo.make-repeating", "todo.reschedule-repeat", "todo.pause-repeat", "todo.resume-repeat", "todo.convert-to-project", "project.reschedule-repeat", "project.pause-repeat", "project.resume-repeat", "area.reorder", "project.make-repeating", "project.add-repeating", "todo.add-repeating", "todo.clone", "project.clone", "log-now"];
|
|
8
8
|
export type OperationKind = (typeof OPERATION_KINDS)[number];
|
|
9
9
|
/**
|
|
10
10
|
* Operations delivered EXCLUSIVELY through the Accessibility GUI ("ui")
|
|
@@ -250,6 +250,38 @@ export interface TodoEditChecklistItemParams {
|
|
|
250
250
|
/** rename: the new title. */
|
|
251
251
|
newTitle?: string;
|
|
252
252
|
}
|
|
253
|
+
/**
|
|
254
|
+
* A structured child to-do in a `project.add` json import (the clone / rich-import
|
|
255
|
+
* path). Children are born OPEN (a mixed open+logged project cannot be born in one
|
|
256
|
+
* atomic import — §5b/A5; logged/canceled children need a follow-up complete/cancel
|
|
257
|
+
* leg). Placement under a heading is POSITIONAL in {@link ProjectAddParams.items}:
|
|
258
|
+
* a child inherits the nearest PRECEDING heading, so a project-root child must be
|
|
259
|
+
* ordered BEFORE any heading (A4). Checklist items are birthed with their titles
|
|
260
|
+
* (unchecked); a child's per-item checked state is not reproduced (a residual).
|
|
261
|
+
*/
|
|
262
|
+
export interface ProjectChildSpec {
|
|
263
|
+
title: string;
|
|
264
|
+
notes?: string;
|
|
265
|
+
when?: WhenValue;
|
|
266
|
+
deadline?: IsoDate;
|
|
267
|
+
tags?: string[];
|
|
268
|
+
checklistItems?: string[];
|
|
269
|
+
}
|
|
270
|
+
/** A heading node in a `project.add` json import (produces a real type=2 row, HX0/A4). */
|
|
271
|
+
export interface ProjectHeadingSpec {
|
|
272
|
+
title: string;
|
|
273
|
+
}
|
|
274
|
+
/**
|
|
275
|
+
* One ordered node of a `project.add` json import's structure: a child to-do or a
|
|
276
|
+
* heading. The array ORDER is the layout — a `heading` node opens a section that
|
|
277
|
+
* every following `to-do` node joins until the next heading; `to-do` nodes before
|
|
278
|
+
* the first heading are project-root children (A4 positional inheritance).
|
|
279
|
+
*/
|
|
280
|
+
export type ProjectItemSpec = ({
|
|
281
|
+
kind: "to-do";
|
|
282
|
+
} & ProjectChildSpec) | ({
|
|
283
|
+
kind: "heading";
|
|
284
|
+
} & ProjectHeadingSpec);
|
|
253
285
|
export interface ProjectAddParams {
|
|
254
286
|
title: string;
|
|
255
287
|
notes?: string;
|
|
@@ -257,6 +289,13 @@ export interface ProjectAddParams {
|
|
|
257
289
|
when?: WhenValue;
|
|
258
290
|
deadline?: IsoDate;
|
|
259
291
|
todos?: string[];
|
|
292
|
+
/**
|
|
293
|
+
* Structured headings + children born with the project in ONE `things:///json`
|
|
294
|
+
* import (HX0/A4). The clone path builds this; `project add` exposes only the
|
|
295
|
+
* flat `todos`. Exclusive with `todos` (a caller uses one or the other). All
|
|
296
|
+
* children are born OPEN. See {@link ProjectItemSpec}.
|
|
297
|
+
*/
|
|
298
|
+
items?: ProjectItemSpec[];
|
|
260
299
|
/**
|
|
261
300
|
* Born-backdated creation timestamp (ISO date or datetime). Compiles through
|
|
262
301
|
* `things:///json`; date-only normalizes to noon in the effective zone (§5).
|
|
@@ -484,23 +523,103 @@ export interface RepeatRuleParams {
|
|
|
484
523
|
*/
|
|
485
524
|
startDaysEarlier?: number;
|
|
486
525
|
}
|
|
526
|
+
/**
|
|
527
|
+
* The calendar-anchor subset of the Repeat-dialog rule vocabulary the
|
|
528
|
+
* add-repeating composites carry on their PROMOTE leg (frequency/interval plus
|
|
529
|
+
* the after-completion + weekly/monthly/yearly/ends anchors). The deadline-
|
|
530
|
+
* coupled rule fields (rule `deadline`, `startDaysEarlier`) and the rule-level
|
|
531
|
+
* `reminder` (which the GUI vector refuses, UIC6-g) are intentionally EXCLUDED
|
|
532
|
+
* here — they collide with the base add's own concrete `deadline`/`reminder`,
|
|
533
|
+
* and a deadlined repeat is set with a follow-up `reschedule-repeat`.
|
|
534
|
+
*/
|
|
535
|
+
export interface AddRepeatingRuleFields {
|
|
536
|
+
frequency: RepeatFrequency;
|
|
537
|
+
/** "every N units", 1–99. */
|
|
538
|
+
interval: number;
|
|
539
|
+
/** After-COMPLETION cadence (rule type tp=1) instead of a fixed schedule. */
|
|
540
|
+
afterCompletion?: boolean;
|
|
541
|
+
/** WEEKLY only: the set of weekdays the rule fires on. */
|
|
542
|
+
weekdays?: Weekday[];
|
|
543
|
+
/** MONTHLY only: the day-of-month or nth-weekday anchor. */
|
|
544
|
+
monthly?: MonthlyAnchor;
|
|
545
|
+
/** YEARLY only: the month + day anchor. */
|
|
546
|
+
yearly?: YearlyAnchor;
|
|
547
|
+
/** The "Ends" bound (dialog default: never). */
|
|
548
|
+
ends?: RepeatEnds;
|
|
549
|
+
}
|
|
487
550
|
/**
|
|
488
551
|
* Create a project and, in the same call, promote it to a repeating series
|
|
489
|
-
* (the
|
|
490
|
-
*
|
|
491
|
-
*
|
|
492
|
-
*
|
|
552
|
+
* (the add→promote composite, UIC4-f). The create leg carries the COMPLETE
|
|
553
|
+
* project add vocabulary — notes, area, deadline, `when`, and the structured
|
|
554
|
+
* `items` (headings + children, #461) — and the promote leg carries the full
|
|
555
|
+
* calendar-anchor rule vocabulary ({@link AddRepeatingRuleFields}). The create
|
|
556
|
+
* seeds a pure-AX taxonomy (an `area` lands a selectable AREA-view row; otherwise
|
|
557
|
+
* Someday) so the promote never needs a coercion. The two legs are NOT atomic:
|
|
558
|
+
* the created project persists even if the promote refuses.
|
|
493
559
|
*/
|
|
494
|
-
export interface ProjectAddRepeatingParams {
|
|
560
|
+
export interface ProjectAddRepeatingParams extends AddRepeatingRuleFields {
|
|
495
561
|
title: string;
|
|
496
562
|
notes?: string;
|
|
497
563
|
/** Destination area (uuid or unique name); when omitted the project is created in Someday. */
|
|
498
564
|
area?: ContainerRef;
|
|
565
|
+
when?: WhenValue;
|
|
499
566
|
deadline?: IsoDate;
|
|
567
|
+
/** Flat child to-do titles (born open). Exclusive with `items`. */
|
|
500
568
|
todos?: string[];
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
569
|
+
/**
|
|
570
|
+
* Structured headings + children born with the project in ONE json import
|
|
571
|
+
* (#461); exclusive with `todos`. See {@link ProjectItemSpec}.
|
|
572
|
+
*/
|
|
573
|
+
items?: ProjectItemSpec[];
|
|
574
|
+
/** Born-backdated creation timestamp (ISO date or datetime). */
|
|
575
|
+
createdAt?: string;
|
|
576
|
+
}
|
|
577
|
+
/**
|
|
578
|
+
* Create a to-do and, in the same call, promote it to a repeating series (the
|
|
579
|
+
* add→promote composite closing §0.2). The create leg carries the COMPLETE
|
|
580
|
+
* to-do add vocabulary (title/notes/tags/when/deadline/reminder/checklist +
|
|
581
|
+
* `--created-at` + container), and the promote leg carries the full calendar-
|
|
582
|
+
* anchor rule vocabulary ({@link AddRepeatingRuleFields}). The two legs are NOT
|
|
583
|
+
* atomic: the created to-do persists even if the promote refuses.
|
|
584
|
+
*/
|
|
585
|
+
export interface TodoAddRepeatingParams extends AddRepeatingRuleFields {
|
|
586
|
+
title: string;
|
|
587
|
+
notes?: string;
|
|
588
|
+
when?: WhenValue;
|
|
589
|
+
/** Time-of-day reminder on the created to-do (requires a schedulable `when`). */
|
|
590
|
+
reminder?: ReminderTime;
|
|
591
|
+
deadline?: IsoDate;
|
|
592
|
+
tags?: string[];
|
|
593
|
+
checklistItems?: string[];
|
|
594
|
+
project?: ContainerRef;
|
|
595
|
+
area?: ContainerRef;
|
|
596
|
+
/** Existing heading inside the target project (placement only). */
|
|
597
|
+
heading?: string;
|
|
598
|
+
/** Born-backdated creation timestamp (ISO date or datetime). */
|
|
599
|
+
createdAt?: string;
|
|
600
|
+
}
|
|
601
|
+
/**
|
|
602
|
+
* `todo.clone` / `project.clone` — a faithful content COPY of an existing item
|
|
603
|
+
* through official write surfaces (the CLONE verdict-A fidelity matrix). The
|
|
604
|
+
* clone is a NEW capture: a new uuid, born now, landing at its container's native
|
|
605
|
+
* position (no implicit reorder). Delivered by the clone orchestrator
|
|
606
|
+
* (src/write/clone.ts) as a compound over ordinary cataloged legs — never
|
|
607
|
+
* dispatched directly through the pipeline. Refuses a trashed source (restore it
|
|
608
|
+
* first), a repeating template (its rule is not reproducible on any write
|
|
609
|
+
* surface), and — for a project — a subtree holding a live nested repeating
|
|
610
|
+
* template (named in the refusal).
|
|
611
|
+
*/
|
|
612
|
+
export interface CloneParams {
|
|
613
|
+
/** The source item to clone (uuid or unique >=6-char prefix). */
|
|
614
|
+
uuid: string;
|
|
615
|
+
/** Override the clone's title. Default: the source's title verbatim (no " copy" suffix). */
|
|
616
|
+
title?: string;
|
|
617
|
+
/**
|
|
618
|
+
* Copy the source's creation date onto the clone (via `--created-at`, MINUTE
|
|
619
|
+
* resolution — sub-minute precision is lost). Default OFF: a clone is a new
|
|
620
|
+
* capture, created now.
|
|
621
|
+
*/
|
|
622
|
+
preserveCreated?: boolean;
|
|
504
623
|
}
|
|
505
624
|
export interface OperationParamsMap {
|
|
506
625
|
"todo.add": TodoAddParams;
|
|
@@ -555,6 +674,9 @@ export interface OperationParamsMap {
|
|
|
555
674
|
"area.reorder": AreaReorderParams;
|
|
556
675
|
"project.make-repeating": RepeatRuleParams;
|
|
557
676
|
"project.add-repeating": ProjectAddRepeatingParams;
|
|
677
|
+
"todo.add-repeating": TodoAddRepeatingParams;
|
|
678
|
+
"todo.clone": CloneParams;
|
|
679
|
+
"project.clone": CloneParams;
|
|
558
680
|
"log-now": EmptyParams;
|
|
559
681
|
}
|
|
560
682
|
/** Explicit confirmations for operations with cascading or permanent effects (never defaulted). */
|
package/dist/write/operations.js
CHANGED
|
@@ -51,6 +51,9 @@ export const OPERATION_KINDS = [
|
|
|
51
51
|
"area.reorder",
|
|
52
52
|
"project.make-repeating",
|
|
53
53
|
"project.add-repeating",
|
|
54
|
+
"todo.add-repeating",
|
|
55
|
+
"todo.clone",
|
|
56
|
+
"project.clone",
|
|
54
57
|
"log-now",
|
|
55
58
|
];
|
|
56
59
|
/**
|
|
@@ -74,7 +77,7 @@ export const UI_DRIVE_OPS = [
|
|
|
74
77
|
// Pure-AX (UIC4): the project is selected as a content-table ROW via a
|
|
75
78
|
// settable AXSelectedRows, then Items ▸ Repeat… drives the same dialog. The
|
|
76
79
|
// area-less-anytime taxonomy needs a Someday coercion first, orchestrated by
|
|
77
|
-
//
|
|
80
|
+
// promoteProjectViaGui — but the drive itself is a ui-vector op.
|
|
78
81
|
"project.make-repeating",
|
|
79
82
|
// HEADXPROJ: the heading row's `…` ellipsis → Move… menu → keyboard-driven
|
|
80
83
|
// project picker (HID-click the title-carrying "More. <title>" button, then
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"operations.js","sourceRoot":"","sources":["../../src/write/operations.ts"],"names":[],"mappings":"AAOA,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,UAAU;IACV,aAAa;IACb,eAAe;IACf,aAAa;IACb,aAAa;IACb,WAAW;IACX,eAAe;IACf,wBAAwB;IACxB,0BAA0B;IAC1B,aAAa;IACb,aAAa;IACb,gBAAgB;IAChB,kBAAkB;IAClB,gBAAgB;IAChB,UAAU;IACV,aAAa;IACb,SAAS;IACT,YAAY;IACZ,aAAa;IACb,SAAS;IACT,gBAAgB;IAChB,aAAa;IACb,YAAY;IACZ,cAAc;IACd,cAAc;IACd,mBAAmB;IACnB,gBAAgB;IAChB,gBAAgB;IAChB,iBAAiB;IACjB,kBAAkB;IAClB,gBAAgB;IAChB,mBAAmB;IACnB,qBAAqB;IACrB,wBAAwB;IACxB,yBAAyB;IACzB,2BAA2B;IAC3B,yBAAyB;IACzB,sBAAsB;IACtB,iCAAiC;IACjC,0BAA0B;IAC1B,2BAA2B;IAC3B,qBAAqB;IACrB,wBAAwB;IACxB,mBAAmB;IACnB,oBAAoB;IACpB,yBAAyB;IACzB,2BAA2B;IAC3B,sBAAsB;IACtB,uBAAuB;IACvB,cAAc;IACd,wBAAwB;IACxB,uBAAuB;IACvB,SAAS;CACD,CAAC;AAIX;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,YAAY,GAA6B;IACpD,qBAAqB;IACrB,wBAAwB;IACxB,mBAAmB;IACnB,oBAAoB;IACpB,yBAAyB;IACzB,yBAAyB;IACzB,2BAA2B;IAC3B,sBAAsB;IACtB,uBAAuB;IACvB,cAAc;IACd,uEAAuE;IACvE,4EAA4E;IAC5E,6EAA6E;IAC7E,
|
|
1
|
+
{"version":3,"file":"operations.js","sourceRoot":"","sources":["../../src/write/operations.ts"],"names":[],"mappings":"AAOA,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,UAAU;IACV,aAAa;IACb,eAAe;IACf,aAAa;IACb,aAAa;IACb,WAAW;IACX,eAAe;IACf,wBAAwB;IACxB,0BAA0B;IAC1B,aAAa;IACb,aAAa;IACb,gBAAgB;IAChB,kBAAkB;IAClB,gBAAgB;IAChB,UAAU;IACV,aAAa;IACb,SAAS;IACT,YAAY;IACZ,aAAa;IACb,SAAS;IACT,gBAAgB;IAChB,aAAa;IACb,YAAY;IACZ,cAAc;IACd,cAAc;IACd,mBAAmB;IACnB,gBAAgB;IAChB,gBAAgB;IAChB,iBAAiB;IACjB,kBAAkB;IAClB,gBAAgB;IAChB,mBAAmB;IACnB,qBAAqB;IACrB,wBAAwB;IACxB,yBAAyB;IACzB,2BAA2B;IAC3B,yBAAyB;IACzB,sBAAsB;IACtB,iCAAiC;IACjC,0BAA0B;IAC1B,2BAA2B;IAC3B,qBAAqB;IACrB,wBAAwB;IACxB,mBAAmB;IACnB,oBAAoB;IACpB,yBAAyB;IACzB,2BAA2B;IAC3B,sBAAsB;IACtB,uBAAuB;IACvB,cAAc;IACd,wBAAwB;IACxB,uBAAuB;IACvB,oBAAoB;IACpB,YAAY;IACZ,eAAe;IACf,SAAS;CACD,CAAC;AAIX;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,YAAY,GAA6B;IACpD,qBAAqB;IACrB,wBAAwB;IACxB,mBAAmB;IACnB,oBAAoB;IACpB,yBAAyB;IACzB,yBAAyB;IACzB,2BAA2B;IAC3B,sBAAsB;IACtB,uBAAuB;IACvB,cAAc;IACd,uEAAuE;IACvE,4EAA4E;IAC5E,6EAA6E;IAC7E,iEAAiE;IACjE,wBAAwB;IACxB,2EAA2E;IAC3E,4EAA4E;IAC5E,+EAA+E;IAC/E,kEAAkE;IAClE,iCAAiC;IACjC,6EAA6E;IAC7E,yEAAyE;IACzE,2EAA2E;IAC3E,8EAA8E;IAC9E,gBAAgB;IAChB,0BAA0B;CAClB,CAAC;AAEX,MAAM,UAAU,WAAW,CAAC,EAAiB;IAC3C,OAAO,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;AACnC,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,WAAW,GAA6B;IACnD,qBAAqB;IACrB,wBAAwB;IACxB,yBAAyB;IACzB,2BAA2B;IAC3B,yBAAyB;IACzB,sBAAsB;IACtB,iCAAiC;IACjC,0BAA0B;CAClB,CAAC;AAEX,MAAM,UAAU,WAAW,CAAC,EAAiB;IAC3C,OAAO,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;AAClC,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAA6B;IAC1D,wBAAwB;IACxB,yBAAyB;IACzB,2BAA2B;IAC3B,yBAAyB;IACzB,0BAA0B;CAClB,CAAC;AAEX,MAAM,UAAU,iBAAiB,CAAC,EAAiB;IACjD,OAAO,kBAAkB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;AACzC,CAAC;AA+gBD,MAAM,CAAC,MAAM,QAAQ,GAAuB;IAC1C,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,WAAW;IACX,UAAU;IACV,QAAQ;IACR,UAAU;CACF,CAAC"}
|
package/dist/write/pipeline.d.ts
CHANGED
|
@@ -9,6 +9,7 @@ import { type EnvironmentTracker } from "./environment.ts";
|
|
|
9
9
|
import { type LikelyCause } from "./failure-hints.ts";
|
|
10
10
|
import { type HazardId } from "./guards.ts";
|
|
11
11
|
import { type Acknowledgements, type OperationKind, type OperationParamsMap } from "./operations.ts";
|
|
12
|
+
import { type PreserveModifiedFailure } from "./preserve-modified.ts";
|
|
12
13
|
import type { VectorId, WriteVector } from "./vectors/types.ts";
|
|
13
14
|
import { type DeltaSpec, type RepeatingDiscovery } from "./verify/delta.ts";
|
|
14
15
|
import { type PollerDeps } from "./verify/poller.ts";
|
|
@@ -20,6 +21,18 @@ export interface WriteOptions extends Acknowledgements {
|
|
|
20
21
|
verifyTimeoutMs?: number;
|
|
21
22
|
/** Return the plan without executing (nothing is audited). */
|
|
22
23
|
dryRun?: boolean;
|
|
24
|
+
/**
|
|
25
|
+
* Keep this change off the `userModificationDate` (`umd`) timeline. When set,
|
|
26
|
+
* the pipeline captures every pre-existing TARGET row's `umd` before the write
|
|
27
|
+
* and — after the change verifies — restores it through the AppleScript `set
|
|
28
|
+
* modification date` leg (preserve-modified.ts), so a `changes`/watch query
|
|
29
|
+
* keyed on `umd` does not surface the edit. Rows the op CREATES are untouched
|
|
30
|
+
* (their `umd` is legitimately new); a create-only op (add) is a silent no-op.
|
|
31
|
+
* BEST-EFFORT: a failed restore never fails the (already-verified) mutation —
|
|
32
|
+
* it is disclosed per row on the result. Restore lands on `floor(umd0)` (the
|
|
33
|
+
* AppleScript 1-second floor) and is proven only on an UNSYNCED store (SYNC2).
|
|
34
|
+
*/
|
|
35
|
+
preserveModified?: boolean;
|
|
23
36
|
/**
|
|
24
37
|
* Skip the post-execute state VERIFY poll for this write, treating a clean
|
|
25
38
|
* transport (exit 0) as ok. Fail-loud on the transport itself is preserved (a
|
|
@@ -73,6 +86,17 @@ export interface WriteOptions extends Acknowledgements {
|
|
|
73
86
|
* stay on the host clock.
|
|
74
87
|
*/
|
|
75
88
|
normalizeWhen?: boolean;
|
|
89
|
+
/**
|
|
90
|
+
* TEMPLATE-DIRECT clone (template-clone via re-promote): tells the clone
|
|
91
|
+
* orchestrator to copy a repeating TEMPLATE source's content as a PLAIN item
|
|
92
|
+
* (recurrence stripped — no rule, no schedule/reminder), instead of refusing it
|
|
93
|
+
* (H-CLONE-SOURCE). NEVER set by a consumer entry point (the CLI/MCP/batch/client
|
|
94
|
+
* do not thread it) — only `cloneTemplateViaRepromote` sets it on the embedded
|
|
95
|
+
* clone leg, which it then native-promotes with the source's decoded rule. A bare
|
|
96
|
+
* `todo/project clone` of a template still routes through the compound (which sets
|
|
97
|
+
* this flag internally). See promote-clone.ts cloneTemplateViaRepromote.
|
|
98
|
+
*/
|
|
99
|
+
cloneTemplateAsPlain?: boolean;
|
|
76
100
|
}
|
|
77
101
|
export interface MutationPlan {
|
|
78
102
|
op: OperationKind;
|
|
@@ -130,6 +154,20 @@ export type MutationResult = {
|
|
|
130
154
|
* the ORIGINAL mutation's identity. Absent on a normal (executed) result.
|
|
131
155
|
*/
|
|
132
156
|
alreadyApplied?: true;
|
|
157
|
+
/**
|
|
158
|
+
* `--preserve-modified` disclosure (ADDITIVE, presence-keyed): the count of
|
|
159
|
+
* pre-existing target rows whose `userModificationDate` was restored to its
|
|
160
|
+
* pre-write value (to the floored second) so the change stays off the
|
|
161
|
+
* `changes`/watch timeline. Present only when the flag did real work —
|
|
162
|
+
* absent on a create-only or already-silent op, where restore is a no-op.
|
|
163
|
+
*/
|
|
164
|
+
preservedModified?: number;
|
|
165
|
+
/**
|
|
166
|
+
* `--preserve-modified` per-row failures (ADDITIVE): rows the restore leg
|
|
167
|
+
* could not neutralize. Best-effort — the mutation itself stands; these are
|
|
168
|
+
* disclosed, never fatal. Absent when every restore leg succeeded.
|
|
169
|
+
*/
|
|
170
|
+
preserveFailures?: PreserveModifiedFailure[];
|
|
133
171
|
} | {
|
|
134
172
|
kind: "verify-failed";
|
|
135
173
|
op: OperationKind;
|
package/dist/write/pipeline.js
CHANGED
|
@@ -10,7 +10,7 @@ import { execFile, execFileSync } from "node:child_process";
|
|
|
10
10
|
import { undoToken } from "../audit/schema.js";
|
|
11
11
|
import { blockedCode, verifyFailedCode } from "../contracts.js";
|
|
12
12
|
import { localToday } from "../model/dates.js";
|
|
13
|
-
import { resolveProjectWriteTarget, resolveTaskUuidPrefix } from "../read/queries.js";
|
|
13
|
+
import { liveSeriesInstances, resolveProjectWriteTarget, resolveTaskUuidPrefix, } from "../read/queries.js";
|
|
14
14
|
import { namedProjectClause, taskMembershipClause } from "../read/scope.js";
|
|
15
15
|
import { evaluateScope } from "./scope-guard.js";
|
|
16
16
|
import { readShortcutProxies, readUrlSchemeEnabled } from "./availability.js";
|
|
@@ -22,6 +22,8 @@ import { evaluateGuards } from "./guards.js";
|
|
|
22
22
|
import { acquireMutationLock, MutationLockError } from "./lock.js";
|
|
23
23
|
import { isHeadingTargetOp, } from "./operations.js";
|
|
24
24
|
import { planVector } from "./planner.js";
|
|
25
|
+
import { isRepeatingTemplate } from "./pre-state.js";
|
|
26
|
+
import { restoreModDates, } from "./preserve-modified.js";
|
|
25
27
|
import { REVERSIBILITY } from "./reversibility.js";
|
|
26
28
|
import { certificationOf } from "./vectors/ui-certification.js";
|
|
27
29
|
import { createDbReader, evaluateDelta, getField, } from "./verify/delta.js";
|
|
@@ -627,15 +629,53 @@ export async function runMutation(deps, op, params, options = {}) {
|
|
|
627
629
|
: delta.mode === "ordering"
|
|
628
630
|
? (delta.subject ?? null)
|
|
629
631
|
: null);
|
|
630
|
-
|
|
632
|
+
// --preserve-modified: after the change verifies, restore the pre-write
|
|
633
|
+
// `userModificationDate` of every pre-existing TARGET row the op BUMPED, so
|
|
634
|
+
// the edit stays off the umd-keyed `changes`/watch timeline (TAGMOD T5).
|
|
635
|
+
// The pre-read already captured each asserted/cascade row's umd
|
|
636
|
+
// (preCapture.modDates); a null capture is a row the op CREATED (skip it),
|
|
637
|
+
// and a row whose umd did not rise needs no restore (a silent op — no-op).
|
|
638
|
+
// Best-effort: a failed restore is disclosed per row, never fatal (the
|
|
639
|
+
// mutation already stands). The captured pre-values ride the audit record
|
|
640
|
+
// when the flag is active (enables a future symmetric undo).
|
|
641
|
+
let preserve = null;
|
|
642
|
+
let preModDatesAudit;
|
|
643
|
+
if (options.preserveModified === true) {
|
|
644
|
+
const postReader = createDbReader(deps.db, deps.now?.() ?? new Date(), deps.zone);
|
|
645
|
+
const captured = {};
|
|
646
|
+
const targets = [];
|
|
647
|
+
for (const [tUuid, preUmd] of Object.entries(preCapture.modDates)) {
|
|
648
|
+
captured[tUuid] = preUmd;
|
|
649
|
+
if (preUmd === null)
|
|
650
|
+
continue; // a row the op created — legitimately new umd
|
|
651
|
+
const post = postReader.modDateOf(tUuid);
|
|
652
|
+
if (post !== null && post > preUmd)
|
|
653
|
+
targets.push({ uuid: tUuid, preUmd });
|
|
654
|
+
}
|
|
655
|
+
if (Object.keys(captured).length > 0)
|
|
656
|
+
preModDatesAudit = captured;
|
|
657
|
+
preserve = await restoreModDates(deps.db, deps.vectors, targets);
|
|
658
|
+
}
|
|
659
|
+
audit({
|
|
660
|
+
...auditCommon,
|
|
661
|
+
result: "ok",
|
|
662
|
+
uuid,
|
|
663
|
+
...(preModDatesAudit !== undefined && { preModDates: preModDatesAudit }),
|
|
664
|
+
});
|
|
631
665
|
if (deps.environment !== undefined) {
|
|
632
666
|
deps.environment.record(deps.environment.capture());
|
|
633
667
|
}
|
|
668
|
+
// Deleting a repeating TEMPLATE is allowed (byte-identical to the GUI's own
|
|
669
|
+
// Edit ▸ Delete, SERDEL S1) but is IRREVERSIBLE headlessly — the app forbids
|
|
670
|
+
// restoring a template out to a list (AS 301), so its only revival is Trash ▸
|
|
671
|
+
// Put Back. Treat it like an irreversible op (no undo token) and disclose the
|
|
672
|
+
// consequences below. Trashing an INSTANCE (no rule of its own) is unaffected.
|
|
673
|
+
const templateDelete = (op === "todo.delete" || op === "project.delete") && isRepeatingTemplate(pre.target);
|
|
634
674
|
// The undo token identifies THIS record on the trail (see undoToken); a
|
|
635
675
|
// leg's token would be its shared txn id, but legs are never undone
|
|
636
676
|
// directly, so we only surface it for non-leg writes. Irreversible ops get
|
|
637
677
|
// NO token: `undo --txn` can only refuse it, so emitting one is misleading.
|
|
638
|
-
const resultToken = options.txn?.role === "leg" || REVERSIBILITY[op].class === "irreversible"
|
|
678
|
+
const resultToken = options.txn?.role === "leg" || REVERSIBILITY[op].class === "irreversible" || templateDelete
|
|
639
679
|
? undefined
|
|
640
680
|
: undoToken({
|
|
641
681
|
ts: startedAt.toISOString(),
|
|
@@ -646,6 +686,22 @@ export async function runMutation(deps, op, params, options = {}) {
|
|
|
646
686
|
...(options.txn !== undefined && { txn: options.txn }),
|
|
647
687
|
});
|
|
648
688
|
const warnings = [];
|
|
689
|
+
// Template-delete disclosure (public deletes only — internal trash-both legs
|
|
690
|
+
// run under a txn and aggregate their own result). The series stops, its live
|
|
691
|
+
// instances are left in place (count + name the current occurrence), and the
|
|
692
|
+
// only revival is the app's Trash ▸ Put Back.
|
|
693
|
+
if (templateDelete && options.txn?.role !== "leg" && pre.target !== null) {
|
|
694
|
+
const kindNoun = op === "project.delete" ? "project" : "to-do";
|
|
695
|
+
const series = liveSeriesInstances(deps.db, pre.target.uuid);
|
|
696
|
+
warnings.push("this repeating series will no longer generate new occurrences");
|
|
697
|
+
if (series.count > 0) {
|
|
698
|
+
warnings.push(`its ${series.count} existing occurrence${series.count === 1 ? " was" : "s were"} ` +
|
|
699
|
+
"left in place (not moved to the Trash)" +
|
|
700
|
+
(series.currentUuid !== null ? ` — the current one is ${series.currentUuid}` : ""));
|
|
701
|
+
}
|
|
702
|
+
warnings.push(`this cannot be undone here — to bring the series back, use the Things app's Trash ` +
|
|
703
|
+
`(Put Back on the ${kindNoun})`);
|
|
704
|
+
}
|
|
649
705
|
if (transportRecovered) {
|
|
650
706
|
warnings.push("the GUI drive reported a transport error, but a follow-up re-read confirmed the " +
|
|
651
707
|
"requested change DID land — no retry is needed (retrying could overwrite it)");
|
|
@@ -692,6 +748,15 @@ export async function runMutation(deps, op, params, options = {}) {
|
|
|
692
748
|
tier: effectiveTier,
|
|
693
749
|
...(resultToken !== undefined && { undoToken: resultToken }),
|
|
694
750
|
...(outcome.repeating !== undefined && { repeating: outcome.repeating }),
|
|
751
|
+
// Disclose --preserve-modified only when it did real work (restored a
|
|
752
|
+
// bump or hit a restore failure) — a create-only / already-silent op
|
|
753
|
+
// stays clean (no `preservedModified: 0` noise).
|
|
754
|
+
...(preserve !== null &&
|
|
755
|
+
(preserve.restored > 0 || preserve.failures.length > 0) && {
|
|
756
|
+
preservedModified: preserve.restored,
|
|
757
|
+
}),
|
|
758
|
+
...(preserve !== null &&
|
|
759
|
+
preserve.failures.length > 0 && { preserveFailures: preserve.failures }),
|
|
695
760
|
...(warnings.length > 0 && { warnings }),
|
|
696
761
|
};
|
|
697
762
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipeline.js","sourceRoot":"","sources":["../../src/write/pipeline.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"pipeline.js","sourceRoot":"","sources":["../../src/write/pipeline.ts"],"names":[],"mappings":"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"}
|
package/dist/write/pre-state.js
CHANGED
|
@@ -311,9 +311,15 @@ export function classifyHeadingDissolve(db, target) {
|
|
|
311
311
|
function sameTitleRowCount(db, title, excludeUuid, container) {
|
|
312
312
|
const containerWhere = "areaUuid" in container ? "area = ?" : "area IS NULL AND start = 2 AND startDate IS NULL";
|
|
313
313
|
const binds = "areaUuid" in container ? [title, excludeUuid, container.areaUuid] : [title, excludeUuid];
|
|
314
|
+
// Repeating TEMPLATE rows (rt1_recurrenceRule / repeater set) are HIDDEN — they
|
|
315
|
+
// never render as selectable rows in a list view, so a same-titled template
|
|
316
|
+
// sibling cannot create a row-selection ambiguity. Exclude them from the count
|
|
317
|
+
// (this is what lets a template-direct clone re-promote a clone that keeps the
|
|
318
|
+
// source template's title + area — the source template is invisible).
|
|
314
319
|
const row = db
|
|
315
320
|
.prepare(`SELECT COUNT(*) AS n FROM TMTask
|
|
316
|
-
WHERE type = 1 AND trashed = 0 AND title = ? COLLATE NOCASE AND uuid != ?
|
|
321
|
+
WHERE type = 1 AND trashed = 0 AND title = ? COLLATE NOCASE AND uuid != ?
|
|
322
|
+
AND rt1_recurrenceRule IS NULL AND repeater IS NULL AND ${containerWhere}`)
|
|
317
323
|
.get(...binds);
|
|
318
324
|
return row.n;
|
|
319
325
|
}
|