things-api 0.19.4 → 0.20.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 +1 -1
- package/deputy/prebuilt/Things API Helper.app/Contents/CodeResources +0 -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/MacOS/things-deputy +0 -0
- package/dist/audit/schema.d.ts +28 -10
- package/dist/audit/schema.js +21 -0
- package/dist/audit/schema.js.map +1 -1
- package/dist/cli/commands/doctor.js +3 -1
- package/dist/cli/commands/doctor.js.map +1 -1
- package/dist/cli/commands/op-result.js +15 -9
- package/dist/cli/commands/op-result.js.map +1 -1
- package/dist/cli/commands/repeat-flags.d.ts +19 -1
- package/dist/cli/commands/repeat-flags.js +71 -0
- package/dist/cli/commands/repeat-flags.js.map +1 -1
- package/dist/cli/commands/rescue.d.ts +12 -0
- package/dist/cli/commands/rescue.js +83 -0
- package/dist/cli/commands/rescue.js.map +1 -0
- package/dist/cli/commands/writes.js +35 -25
- package/dist/cli/commands/writes.js.map +1 -1
- package/dist/cli/help.js +25 -25
- package/dist/cli/help.js.map +1 -1
- package/dist/cli/main.js +12 -2
- package/dist/cli/main.js.map +1 -1
- package/dist/cli/resolve-invocation.d.ts +9 -1
- package/dist/cli/resolve-invocation.js +71 -0
- package/dist/cli/resolve-invocation.js.map +1 -1
- package/dist/cli/unknown-command.d.ts +26 -0
- package/dist/cli/unknown-command.js +135 -0
- package/dist/cli/unknown-command.js.map +1 -0
- package/dist/contracts.d.ts +4 -3
- package/dist/contracts.js +1 -1
- package/dist/index.d.ts +4 -2
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/mcp/server.js +55 -10
- package/dist/mcp/server.js.map +1 -1
- package/dist/model/entities.d.ts +11 -0
- package/dist/model/entities.js.map +1 -1
- package/dist/model/mappers.js +15 -0
- package/dist/model/mappers.js.map +1 -1
- package/dist/op-result.d.ts +15 -2
- package/dist/op-result.js +72 -20
- package/dist/op-result.js.map +1 -1
- package/dist/process-instance.d.ts +41 -0
- package/dist/process-instance.js +82 -0
- package/dist/process-instance.js.map +1 -0
- package/dist/rescue.d.ts +247 -0
- package/dist/rescue.js +811 -0
- package/dist/rescue.js.map +1 -0
- package/dist/session-grant.js +4 -15
- package/dist/session-grant.js.map +1 -1
- package/dist/ui-state.d.ts +8 -4
- package/dist/ui-state.js +8 -4
- package/dist/ui-state.js.map +1 -1
- package/dist/write/commands.d.ts +9 -0
- package/dist/write/commands.js +135 -50
- package/dist/write/commands.js.map +1 -1
- package/dist/write/disclosures.d.ts +12 -0
- package/dist/write/disclosures.js +12 -0
- package/dist/write/disclosures.js.map +1 -1
- package/dist/write/experimental.d.ts +16 -0
- package/dist/write/experimental.js +19 -0
- package/dist/write/experimental.js.map +1 -1
- package/dist/write/failure-hints.js +3 -2
- package/dist/write/failure-hints.js.map +1 -1
- package/dist/write/guards.d.ts +1 -1
- package/dist/write/guards.js +102 -3
- package/dist/write/guards.js.map +1 -1
- package/dist/write/lock.d.ts +85 -1
- package/dist/write/lock.js +121 -6
- package/dist/write/lock.js.map +1 -1
- package/dist/write/operations.d.ts +52 -6
- package/dist/write/operations.js +22 -0
- package/dist/write/operations.js.map +1 -1
- package/dist/write/opid.d.ts +69 -8
- package/dist/write/opid.js +111 -17
- package/dist/write/opid.js.map +1 -1
- package/dist/write/param-schema.js +14 -2
- package/dist/write/param-schema.js.map +1 -1
- package/dist/write/pipeline.d.ts +43 -2
- package/dist/write/pipeline.js +157 -39
- package/dist/write/pipeline.js.map +1 -1
- package/dist/write/planner.d.ts +7 -0
- package/dist/write/planner.js +12 -0
- package/dist/write/planner.js.map +1 -1
- package/dist/write/preserve-modified.d.ts +17 -8
- package/dist/write/preserve-modified.js.map +1 -1
- package/dist/write/promote-clone.js +60 -17
- package/dist/write/promote-clone.js.map +1 -1
- package/dist/write/repeat-rule.d.ts +25 -1
- package/dist/write/repeat-rule.js +69 -0
- package/dist/write/repeat-rule.js.map +1 -1
- package/dist/write/resolution-timestamps.js +103 -80
- package/dist/write/resolution-timestamps.js.map +1 -1
- package/dist/write/reversibility.js +2 -2
- package/dist/write/reversibility.js.map +1 -1
- package/dist/write/template-mutation.js +14 -2
- package/dist/write/template-mutation.js.map +1 -1
- package/dist/write/undo.js +45 -5
- package/dist/write/undo.js.map +1 -1
- package/dist/write/vectors/simulator.js +48 -2
- package/dist/write/vectors/simulator.js.map +1 -1
- package/dist/write/vectors/ui-state.d.ts +22 -6
- package/dist/write/vectors/ui-state.js +1 -1
- package/dist/write/vectors/ui-state.js.map +1 -1
- package/dist/write/vectors/ui.d.ts +23 -1
- package/dist/write/vectors/ui.js +24 -4
- package/dist/write/vectors/ui.js.map +1 -1
- package/dist/write/vectors/url-scheme.js +26 -0
- package/dist/write/vectors/url-scheme.js.map +1 -1
- package/package.json +1 -1
- package/schema/envelope.schema.json +1 -2
- package/skills/things-cli/SKILL.md +4 -2
- package/skills/things-cli/references/repeating.md +1 -1
- package/dist/cli/commands/ui-state.d.ts +0 -11
- package/dist/cli/commands/ui-state.js +0 -27
- package/dist/cli/commands/ui-state.js.map +0 -1
package/dist/write/guards.js
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* result means the app was never touched.
|
|
5
5
|
*/
|
|
6
6
|
import { noUuidMatch } from "../read/queries.js";
|
|
7
|
-
import { isHeadingOp, isHeadingTargetOp,
|
|
7
|
+
import { drivesGuiForParams, isHeadingOp, isHeadingTargetOp, isRepeatReanchor, } from "./operations.js";
|
|
8
8
|
import { isRepeatingTemplate } from "./pre-state.js";
|
|
9
9
|
export const HAZARD_IDS = [
|
|
10
10
|
"H-REPEAT-SCHEDULE",
|
|
@@ -25,6 +25,7 @@ export const HAZARD_IDS = [
|
|
|
25
25
|
"H-HEADING-ORDER",
|
|
26
26
|
"H-NO-REMINDER",
|
|
27
27
|
"H-UI-DRIVE",
|
|
28
|
+
"H-REPEAT-REANCHOR",
|
|
28
29
|
"H-PROJECT-REPEAT",
|
|
29
30
|
"H-CLONE-SOURCE",
|
|
30
31
|
// A RUNTIME gate, not a pre-read guard: a dialog-class ui-drive op refuses when
|
|
@@ -551,8 +552,106 @@ const GUARDS = {
|
|
|
551
552
|
: "target an open, un-trashed project";
|
|
552
553
|
return { hazard: "H-PROJECT-REPEAT", detail: tax.detail, remediation };
|
|
553
554
|
},
|
|
554
|
-
|
|
555
|
-
|
|
555
|
+
/**
|
|
556
|
+
* The series RE-ANCHOR's preconditions (REANCH1 §8, docs/lab/reanch1-url-reanchor.md
|
|
557
|
+
* — re-verified by REANCH2). The bare `reschedule-repeat --when <date>` spelling
|
|
558
|
+
* dispatches ONE `things:///update?when=<date>` at a repeating template, which on
|
|
559
|
+
* Things 3.23 rewrites both cursor columns AND the rule's calendar anchor. Three of
|
|
560
|
+
* its edges KILL the app and two more corrupt the series silently, so every one is
|
|
561
|
+
* refused here — before anything is dispatched. Fires only for the re-anchor
|
|
562
|
+
* spelling; a rule restatement drives the dialog and is bound by its own validation.
|
|
563
|
+
*/
|
|
564
|
+
"H-REPEAT-REANCHOR": ({ op, params, pre }) => {
|
|
565
|
+
if (op !== "todo.reschedule-repeat" && op !== "project.reschedule-repeat")
|
|
566
|
+
return null;
|
|
567
|
+
if (!isRepeatReanchor(params))
|
|
568
|
+
return null;
|
|
569
|
+
const target = pre.target;
|
|
570
|
+
// A non-template target is the dangerous case, not a harmless one: the SAME
|
|
571
|
+
// url on an ordinary row is an ordinary schedule write, so it would silently
|
|
572
|
+
// re-schedule the item instead of refusing. (Existence and row-type-vs-verb
|
|
573
|
+
// are already H-UNKNOWN-DESTINATION's, which is why the route can never be
|
|
574
|
+
// the wrong one here — REANCH1 §4.1's silent no-op.)
|
|
575
|
+
if (!isRepeatingTemplate(target) || target === null || target.type === "heading") {
|
|
576
|
+
return {
|
|
577
|
+
hazard: "H-REPEAT-REANCHOR",
|
|
578
|
+
detail: "this item does not repeat, so it has no next occurrence to move",
|
|
579
|
+
remediation: "schedule it with `things todo update <ref> --when <date>`, or make it repeating first",
|
|
580
|
+
};
|
|
581
|
+
}
|
|
582
|
+
const next = params["next"];
|
|
583
|
+
const today = pre.todayIso;
|
|
584
|
+
if (typeof next !== "string" || typeof today !== "string") {
|
|
585
|
+
return {
|
|
586
|
+
hazard: "H-REPEAT-REANCHOR",
|
|
587
|
+
detail: "moving the next occurrence needs a concrete date",
|
|
588
|
+
remediation: "give a date as YYYY-MM-DD",
|
|
589
|
+
};
|
|
590
|
+
}
|
|
591
|
+
// STRICTLY future, against THIS MACHINE's current day, checked as late as the
|
|
592
|
+
// pipeline allows (a request composed before midnight and dispatched after it
|
|
593
|
+
// changes class). A date equal to today is as fatal as the word `today`:
|
|
594
|
+
// both kill the process outright, leaving the row untouched (REANCH1 §5,
|
|
595
|
+
// oddities §1). ISO day strings compare chronologically.
|
|
596
|
+
if (next <= today) {
|
|
597
|
+
return {
|
|
598
|
+
hazard: "H-REPEAT-REANCHOR",
|
|
599
|
+
detail: `${next} is ${next === today ? "today" : "in the past"} — a series can only be moved to a future day`,
|
|
600
|
+
remediation: "give a date after today",
|
|
601
|
+
};
|
|
602
|
+
}
|
|
603
|
+
if (target.repeating.paused === true) {
|
|
604
|
+
return {
|
|
605
|
+
hazard: "H-REPEAT-REANCHOR",
|
|
606
|
+
detail: "this series is paused, so where its next occurrence lands is not yet settled",
|
|
607
|
+
remediation: "resume it first with `things todo resume-repeat <ref>`, then move it",
|
|
608
|
+
};
|
|
609
|
+
}
|
|
610
|
+
const rule = target.repeating.rule;
|
|
611
|
+
if (rule === undefined) {
|
|
612
|
+
return {
|
|
613
|
+
hazard: "H-REPEAT-REANCHOR",
|
|
614
|
+
detail: "this series' repeat rule could not be read, so the move cannot be checked first",
|
|
615
|
+
remediation: "restate the rule instead: `things todo reschedule-repeat <ref> --frequency <freq> " +
|
|
616
|
+
"--interval <n> --when <date> --dangerously-drive-gui`",
|
|
617
|
+
};
|
|
618
|
+
}
|
|
619
|
+
// An after-completion rule has no calendar anchor at all (its next-occurrence
|
|
620
|
+
// column is NULL until an instance resolves), and the dated write takes the
|
|
621
|
+
// unguarded branch and kills the app, 2/2 (REANCH1 §4.2, oddities §15).
|
|
622
|
+
if (rule.type === "after-completion") {
|
|
623
|
+
return {
|
|
624
|
+
hazard: "H-REPEAT-REANCHOR",
|
|
625
|
+
detail: "this series repeats a set time AFTER each occurrence is completed, so it has no " +
|
|
626
|
+
"calendar day to move",
|
|
627
|
+
remediation: "complete or cancel the current occurrence to start the next interval, or give it a " +
|
|
628
|
+
"fixed schedule with `things todo reschedule-repeat <ref> --frequency <freq> " +
|
|
629
|
+
"--interval <n> --dangerously-drive-gui`",
|
|
630
|
+
};
|
|
631
|
+
}
|
|
632
|
+
// A rule that fires on SEVERAL weekdays comes back firing on different ones:
|
|
633
|
+
// {Mon, Wed, Fri} moved to a Thursday returns {Wed, Thu, Fri} — same count,
|
|
634
|
+
// two days the user never chose (REANCH1 §7, oddities §16). Nothing can be
|
|
635
|
+
// honestly disclosed about the result, so the write is refused.
|
|
636
|
+
const weekdayCount = rule.offsets.filter((o) => o.weekday !== undefined).length;
|
|
637
|
+
if (weekdayCount > 1) {
|
|
638
|
+
return {
|
|
639
|
+
hazard: "H-REPEAT-REANCHOR",
|
|
640
|
+
detail: `this series repeats on ${weekdayCount} days of the week, and moving it would change ` +
|
|
641
|
+
"which days those are",
|
|
642
|
+
remediation: "restate the rule instead, naming the days you want: `things todo reschedule-repeat " +
|
|
643
|
+
"<ref> --frequency weekly --interval <n> --weekdays <days> --when <date> " +
|
|
644
|
+
"--dangerously-drive-gui`",
|
|
645
|
+
};
|
|
646
|
+
}
|
|
647
|
+
return null;
|
|
648
|
+
},
|
|
649
|
+
"H-UI-DRIVE": ({ op, params, acks }) => {
|
|
650
|
+
// The GUI-drive gate rides the SPELLING, not the verb: a bare
|
|
651
|
+
// `reschedule-repeat --when <date>` re-anchor is one URL dispatch and drives
|
|
652
|
+
// no GUI, so it carries no acknowledgement (its own preconditions are
|
|
653
|
+
// H-REPEAT-REANCHOR's). Every other ui-vector call still needs both keys.
|
|
654
|
+
if (!drivesGuiForParams(op, params) || acks.dangerouslyDriveGui === true)
|
|
556
655
|
return null;
|
|
557
656
|
return {
|
|
558
657
|
hazard: "H-UI-DRIVE",
|
package/dist/write/guards.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"guards.js","sourceRoot":"","sources":["../../src/write/guards.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"guards.js","sourceRoot":"","sources":["../../src/write/guards.ts"],"names":[],"mappings":"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"}
|
package/dist/write/lock.d.ts
CHANGED
|
@@ -1,7 +1,91 @@
|
|
|
1
1
|
import { mkdirSync, readFileSync, renameSync, unlinkSync, writeFileSync } from "node:fs";
|
|
2
|
+
/** Who holds the lock, and since when — the lockfile's whole payload. */
|
|
3
|
+
export interface LockHolder {
|
|
4
|
+
pid: number;
|
|
5
|
+
/** ISO-8601 instant the holder took the lock. */
|
|
6
|
+
ts: string;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* How long a LIVE holder may hold the lock before a refusal is allowed to say
|
|
10
|
+
* the process may be hung (issue #640).
|
|
11
|
+
*
|
|
12
|
+
* The number has to sit above every legitimate hold, because the sentence it
|
|
13
|
+
* unlocks invites the reader to kill the holder — and killing a working drive
|
|
14
|
+
* is a worse outcome than a late diagnosis. The longest legitimate hold is a
|
|
15
|
+
* COMPOSITE with a GUI leg: measured at 3.7s on a golden clone (DRVLAT1), and
|
|
16
|
+
* the `--dangerously-drive-gui` copy already warns a field host can take "over
|
|
17
|
+
* a minute on a large database". Five minutes is an order of magnitude past
|
|
18
|
+
* that, so a holder still standing at five minutes is not slow — it is stuck,
|
|
19
|
+
* or it is a pid whose process died in a way `kill(pid, 0)` cannot see.
|
|
20
|
+
*/
|
|
21
|
+
export declare const LOCK_HOLDER_SUSPECT_MS: number;
|
|
2
22
|
export declare class MutationLockError extends Error {
|
|
3
|
-
|
|
23
|
+
/**
|
|
24
|
+
* The holder the wait timed out against, when the lockfile could be read.
|
|
25
|
+
* Null when the file was torn or unreadable — the refusal then says only what
|
|
26
|
+
* it can prove.
|
|
27
|
+
*/
|
|
28
|
+
readonly holder: LockHolder | null;
|
|
29
|
+
constructor(message: string, holder?: LockHolder | null);
|
|
30
|
+
}
|
|
31
|
+
/** What `rescue status` and the `blocked:lock` refusal both report about a holder. */
|
|
32
|
+
export interface LockHolderReport {
|
|
33
|
+
/** The lockfile's payload; null when no lock is held or it could not be parsed. */
|
|
34
|
+
holder: LockHolder | null;
|
|
35
|
+
/** Does a process with that pid still exist? False when there is no holder. */
|
|
36
|
+
alive: boolean;
|
|
37
|
+
/** How long the holder has held it, in ms; null when unknown or unparseable. */
|
|
38
|
+
heldForMs: number | null;
|
|
39
|
+
/**
|
|
40
|
+
* A live holder past {@link LOCK_HOLDER_SUSPECT_MS} — old enough that the
|
|
41
|
+
* copy may say it looks hung. A dead holder is never "suspect": it is simply
|
|
42
|
+
* stale, and the next acquisition steals it without anyone being told.
|
|
43
|
+
*/
|
|
44
|
+
suspect: boolean;
|
|
4
45
|
}
|
|
46
|
+
/**
|
|
47
|
+
* READ the lockfile without touching it — no steal, no wait, no acquisition.
|
|
48
|
+
* This is the accessor `things rescue status` reports from, and it is
|
|
49
|
+
* deliberately incapable of changing anything: a diagnostic that can release
|
|
50
|
+
* another process's lock is a diagnostic nobody can run safely.
|
|
51
|
+
*
|
|
52
|
+
* An absent file, a torn write and an unparseable payload all read as "no
|
|
53
|
+
* holder we can name", never as "no lock" — the caller states what it proved.
|
|
54
|
+
*/
|
|
55
|
+
export declare function readLockHolder(path: string, deps?: Partial<Pick<LockDeps, "readFileSync" | "pidAlive">> & {
|
|
56
|
+
now?: () => number;
|
|
57
|
+
}): LockHolderReport;
|
|
58
|
+
/** "4m 12s" / "1h 3m" / "8s" — a held-since age a person reads at a glance. */
|
|
59
|
+
export declare function formatHeldFor(ms: number): string;
|
|
60
|
+
/**
|
|
61
|
+
* The `blocked:lock` refusal's sentences (issue #640).
|
|
62
|
+
*
|
|
63
|
+
* The old copy was *"another mutation is in progress (pid N since T); waited
|
|
64
|
+
* 30000ms"* + *"wait for the concurrent mutation to finish and retry"*. It is
|
|
65
|
+
* true and it is useless in the one case that actually happens: the holder is a
|
|
66
|
+
* process that died without releasing — a killed client, a harness timeout —
|
|
67
|
+
* and no amount of waiting will ever clear it. The pid and the timestamp were
|
|
68
|
+
* already in the payload; all that was missing was the arithmetic and the
|
|
69
|
+
* consequence.
|
|
70
|
+
*
|
|
71
|
+
* So the refusal now says how LONG it has been held, whether that process is
|
|
72
|
+
* still alive, and — only past {@link LOCK_HOLDER_SUSPECT_MS}, only for a holder
|
|
73
|
+
* that is still alive — that killing it releases the lock. The threshold matters
|
|
74
|
+
* in both directions: below it the sentence would invite the reader to kill a
|
|
75
|
+
* drive that is merely working, and it is deliberately far above any measured
|
|
76
|
+
* legitimate hold.
|
|
77
|
+
*
|
|
78
|
+
* Aliveness is measured HERE, at refusal time, not at throw time — the holder
|
|
79
|
+
* may have died during the wait, and "it is gone, retry" is a different and
|
|
80
|
+
* better answer than "wait for it".
|
|
81
|
+
*/
|
|
82
|
+
export declare function describeLockRefusal(err: MutationLockError, deps?: {
|
|
83
|
+
pidAlive?: (pid: number) => boolean;
|
|
84
|
+
now?: () => number;
|
|
85
|
+
}): {
|
|
86
|
+
detail: string;
|
|
87
|
+
remediation: string;
|
|
88
|
+
};
|
|
5
89
|
export interface MutationLock {
|
|
6
90
|
release(): void;
|
|
7
91
|
}
|
package/dist/write/lock.js
CHANGED
|
@@ -23,20 +23,135 @@
|
|
|
23
23
|
import { AsyncLocalStorage } from "node:async_hooks";
|
|
24
24
|
import { mkdirSync, readFileSync, renameSync, unlinkSync, writeFileSync } from "node:fs";
|
|
25
25
|
import { dirname } from "node:path";
|
|
26
|
+
import { pidAlive } from "../process-instance.js";
|
|
27
|
+
/**
|
|
28
|
+
* How long a LIVE holder may hold the lock before a refusal is allowed to say
|
|
29
|
+
* the process may be hung (issue #640).
|
|
30
|
+
*
|
|
31
|
+
* The number has to sit above every legitimate hold, because the sentence it
|
|
32
|
+
* unlocks invites the reader to kill the holder — and killing a working drive
|
|
33
|
+
* is a worse outcome than a late diagnosis. The longest legitimate hold is a
|
|
34
|
+
* COMPOSITE with a GUI leg: measured at 3.7s on a golden clone (DRVLAT1), and
|
|
35
|
+
* the `--dangerously-drive-gui` copy already warns a field host can take "over
|
|
36
|
+
* a minute on a large database". Five minutes is an order of magnitude past
|
|
37
|
+
* that, so a holder still standing at five minutes is not slow — it is stuck,
|
|
38
|
+
* or it is a pid whose process died in a way `kill(pid, 0)` cannot see.
|
|
39
|
+
*/
|
|
40
|
+
export const LOCK_HOLDER_SUSPECT_MS = 5 * 60_000;
|
|
26
41
|
export class MutationLockError extends Error {
|
|
27
|
-
|
|
42
|
+
/**
|
|
43
|
+
* The holder the wait timed out against, when the lockfile could be read.
|
|
44
|
+
* Null when the file was torn or unreadable — the refusal then says only what
|
|
45
|
+
* it can prove.
|
|
46
|
+
*/
|
|
47
|
+
holder;
|
|
48
|
+
constructor(message, holder = null) {
|
|
28
49
|
super(message);
|
|
29
50
|
this.name = "MutationLockError";
|
|
51
|
+
this.holder = holder;
|
|
30
52
|
}
|
|
31
53
|
}
|
|
32
|
-
|
|
54
|
+
/** No lock on the file — the shape every reader gets when the slot is empty. */
|
|
55
|
+
const NO_HOLDER = { holder: null, alive: false, heldForMs: null, suspect: false };
|
|
56
|
+
/**
|
|
57
|
+
* READ the lockfile without touching it — no steal, no wait, no acquisition.
|
|
58
|
+
* This is the accessor `things rescue status` reports from, and it is
|
|
59
|
+
* deliberately incapable of changing anything: a diagnostic that can release
|
|
60
|
+
* another process's lock is a diagnostic nobody can run safely.
|
|
61
|
+
*
|
|
62
|
+
* An absent file, a torn write and an unparseable payload all read as "no
|
|
63
|
+
* holder we can name", never as "no lock" — the caller states what it proved.
|
|
64
|
+
*/
|
|
65
|
+
export function readLockHolder(path, deps = {}) {
|
|
66
|
+
const read = deps.readFileSync ?? readFileSync;
|
|
67
|
+
const alivep = deps.pidAlive ?? pidAlive;
|
|
68
|
+
let raw;
|
|
33
69
|
try {
|
|
34
|
-
|
|
35
|
-
return true;
|
|
70
|
+
raw = read(path, "utf8");
|
|
36
71
|
}
|
|
37
72
|
catch {
|
|
38
|
-
return
|
|
73
|
+
return NO_HOLDER; // no lockfile — nothing is holding it
|
|
74
|
+
}
|
|
75
|
+
let holder;
|
|
76
|
+
try {
|
|
77
|
+
holder = JSON.parse(raw);
|
|
78
|
+
}
|
|
79
|
+
catch {
|
|
80
|
+
return NO_HOLDER; // torn write — the next acquisition treats it as stale
|
|
81
|
+
}
|
|
82
|
+
if (typeof holder.pid !== "number" || typeof holder.ts !== "string")
|
|
83
|
+
return NO_HOLDER;
|
|
84
|
+
const alive = alivep(holder.pid);
|
|
85
|
+
const takenAt = Date.parse(holder.ts);
|
|
86
|
+
const heldForMs = Number.isFinite(takenAt)
|
|
87
|
+
? Math.max(0, (deps.now ?? Date.now)() - takenAt)
|
|
88
|
+
: null;
|
|
89
|
+
return {
|
|
90
|
+
holder,
|
|
91
|
+
alive,
|
|
92
|
+
heldForMs,
|
|
93
|
+
suspect: alive && heldForMs !== null && heldForMs >= LOCK_HOLDER_SUSPECT_MS,
|
|
94
|
+
};
|
|
95
|
+
}
|
|
96
|
+
/** "4m 12s" / "1h 3m" / "8s" — a held-since age a person reads at a glance. */
|
|
97
|
+
export function formatHeldFor(ms) {
|
|
98
|
+
const s = Math.round(ms / 1000);
|
|
99
|
+
if (s < 60)
|
|
100
|
+
return `${s}s`;
|
|
101
|
+
const m = Math.floor(s / 60);
|
|
102
|
+
if (m < 60)
|
|
103
|
+
return s % 60 === 0 ? `${m}m` : `${m}m ${s % 60}s`;
|
|
104
|
+
const h = Math.floor(m / 60);
|
|
105
|
+
return m % 60 === 0 ? `${h}h` : `${h}h ${m % 60}m`;
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* The `blocked:lock` refusal's sentences (issue #640).
|
|
109
|
+
*
|
|
110
|
+
* The old copy was *"another mutation is in progress (pid N since T); waited
|
|
111
|
+
* 30000ms"* + *"wait for the concurrent mutation to finish and retry"*. It is
|
|
112
|
+
* true and it is useless in the one case that actually happens: the holder is a
|
|
113
|
+
* process that died without releasing — a killed client, a harness timeout —
|
|
114
|
+
* and no amount of waiting will ever clear it. The pid and the timestamp were
|
|
115
|
+
* already in the payload; all that was missing was the arithmetic and the
|
|
116
|
+
* consequence.
|
|
117
|
+
*
|
|
118
|
+
* So the refusal now says how LONG it has been held, whether that process is
|
|
119
|
+
* still alive, and — only past {@link LOCK_HOLDER_SUSPECT_MS}, only for a holder
|
|
120
|
+
* that is still alive — that killing it releases the lock. The threshold matters
|
|
121
|
+
* in both directions: below it the sentence would invite the reader to kill a
|
|
122
|
+
* drive that is merely working, and it is deliberately far above any measured
|
|
123
|
+
* legitimate hold.
|
|
124
|
+
*
|
|
125
|
+
* Aliveness is measured HERE, at refusal time, not at throw time — the holder
|
|
126
|
+
* may have died during the wait, and "it is gone, retry" is a different and
|
|
127
|
+
* better answer than "wait for it".
|
|
128
|
+
*/
|
|
129
|
+
export function describeLockRefusal(err, deps = {}) {
|
|
130
|
+
const holder = err.holder;
|
|
131
|
+
const base = "wait for the concurrent mutation to finish and retry";
|
|
132
|
+
if (holder === null)
|
|
133
|
+
return { detail: err.message, remediation: base };
|
|
134
|
+
const alive = (deps.pidAlive ?? pidAlive)(holder.pid);
|
|
135
|
+
const takenAt = Date.parse(holder.ts);
|
|
136
|
+
const heldForMs = Number.isFinite(takenAt)
|
|
137
|
+
? Math.max(0, (deps.now ?? Date.now)() - takenAt)
|
|
138
|
+
: null;
|
|
139
|
+
const age = heldForMs === null ? "" : `, held for ${formatHeldFor(heldForMs)}`;
|
|
140
|
+
if (!alive) {
|
|
141
|
+
return {
|
|
142
|
+
detail: `${err.message}${age} — that process is no longer running, so the lock is stale`,
|
|
143
|
+
remediation: "run the command again; the next attempt takes the lock",
|
|
144
|
+
};
|
|
39
145
|
}
|
|
146
|
+
const suspect = heldForMs !== null && heldForMs >= LOCK_HOLDER_SUSPECT_MS;
|
|
147
|
+
return {
|
|
148
|
+
detail: `${err.message}${age} — pid ${holder.pid} is still running`,
|
|
149
|
+
remediation: suspect
|
|
150
|
+
? `${base}. It has held the lock for ${formatHeldFor(heldForMs)}, which is far longer ` +
|
|
151
|
+
`than any change takes: that process may be hung, and killing it (\`kill ${holder.pid}\`) ` +
|
|
152
|
+
"releases the lock. `things rescue status` shows what it is waiting on"
|
|
153
|
+
: base,
|
|
154
|
+
};
|
|
40
155
|
}
|
|
41
156
|
/**
|
|
42
157
|
* The composite hold, carried on the ASYNC CONTEXT rather than threaded through
|
|
@@ -140,7 +255,7 @@ export async function acquireMutationLock(path, options = {}) {
|
|
|
140
255
|
}
|
|
141
256
|
if (Date.now() >= deadline) {
|
|
142
257
|
throw new MutationLockError(`another mutation is in progress (pid ${holder.pid} since ${holder.ts}); ` +
|
|
143
|
-
`waited ${waitMs}ms for ${path}
|
|
258
|
+
`waited ${waitMs}ms for ${path}`, holder);
|
|
144
259
|
}
|
|
145
260
|
// lock-acquisition retries are inherently sequential polling against the same lockfile
|
|
146
261
|
await sleep(150);
|
package/dist/write/lock.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lock.js","sourceRoot":"","sources":["../../src/write/lock.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACzF,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,MAAM,OAAO,iBAAkB,SAAQ,KAAK;IAC1C,YAAY,OAAe;
|
|
1
|
+
{"version":3,"file":"lock.js","sourceRoot":"","sources":["../../src/write/lock.ts"],"names":[],"mappings":"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"}
|
|
@@ -541,6 +541,51 @@ export interface RepeatRuleParams {
|
|
|
541
541
|
*/
|
|
542
542
|
next?: IsoDate;
|
|
543
543
|
}
|
|
544
|
+
/**
|
|
545
|
+
* `reschedule-repeat` params — the full {@link RepeatRuleParams} vocabulary with
|
|
546
|
+
* `frequency` + `interval` OPTIONAL, because the verb now has TWO spellings:
|
|
547
|
+
*
|
|
548
|
+
* - **Restate the rule** (both present): the Repeat dialog is driven, exactly as
|
|
549
|
+
* before — the ui vector, `dangerouslyDriveGui`, the whole rule rewritten.
|
|
550
|
+
* - **RE-ANCHOR** (`{ uuid, next }` alone, both absent): move the series' next
|
|
551
|
+
* occurrence to a date without restating its rule. One background `open` on
|
|
552
|
+
* the URL scheme, tier 0, no GUI-drive acknowledgement — the path REANCH1
|
|
553
|
+
* measured (docs/lab/reanch1-url-reanchor.md) and REANCH2 re-verified. It is
|
|
554
|
+
* guarded hard: Things ≥ 3.23, a strictly-future date, a fixed non-paused
|
|
555
|
+
* single-weekday rule, and a route matching the row type.
|
|
556
|
+
*
|
|
557
|
+
* The two are exclusive by construction — a re-anchor carries `next` and NOTHING
|
|
558
|
+
* else, so any other rule field means the dialog spelling and `frequency` +
|
|
559
|
+
* `interval` are required with it (enforced by `assertRescheduleRule`).
|
|
560
|
+
*/
|
|
561
|
+
export interface RescheduleRepeatParams extends Omit<RepeatRuleParams, "frequency" | "interval"> {
|
|
562
|
+
/** The recurrence unit — required UNLESS this is a bare re-anchor. */
|
|
563
|
+
frequency?: RepeatFrequency;
|
|
564
|
+
/** "every N units", 1–99 — required UNLESS this is a bare re-anchor. */
|
|
565
|
+
interval?: number;
|
|
566
|
+
}
|
|
567
|
+
/**
|
|
568
|
+
* The bare RE-ANCHOR spelling of {@link RescheduleRepeatParams}: a target uuid and
|
|
569
|
+
* the date its series' next occurrence moves to, nothing else.
|
|
570
|
+
*/
|
|
571
|
+
export interface RepeatReanchorParams {
|
|
572
|
+
uuid: string;
|
|
573
|
+
next: IsoDate;
|
|
574
|
+
}
|
|
575
|
+
/**
|
|
576
|
+
* Is this reschedule the bare re-anchor (URL-drivable) rather than a rule
|
|
577
|
+
* restatement (GUI-bound)? The discriminator is `frequency`: validation
|
|
578
|
+
* (`assertRescheduleRule`) refuses every other rule field alongside its absence,
|
|
579
|
+
* so an params bag without a frequency IS `{ uuid, next }`.
|
|
580
|
+
*/
|
|
581
|
+
export declare function isRepeatReanchor(params: RescheduleRepeatParams): params is RepeatReanchorParams & RescheduleRepeatParams;
|
|
582
|
+
/**
|
|
583
|
+
* Does THIS call drive the GUI? Every {@link UI_DRIVE_OPS} member does, except a
|
|
584
|
+
* `reschedule-repeat` in its bare re-anchor spelling, which compiles to one URL
|
|
585
|
+
* dispatch and therefore carries no GUI-drive gate (H-UI-DRIVE). Keyed on the
|
|
586
|
+
* params, so the scare gate rides the SPELLING rather than the verb.
|
|
587
|
+
*/
|
|
588
|
+
export declare function drivesGuiForParams(op: OperationKind, params: Record<string, unknown>): boolean;
|
|
544
589
|
/**
|
|
545
590
|
* The calendar-anchor subset of the Repeat-dialog rule vocabulary the
|
|
546
591
|
* add-repeating composites carry on their PROMOTE leg (frequency/interval plus
|
|
@@ -617,7 +662,8 @@ export interface ProjectAddRepeatingParams extends AddRepeatingRuleFields {
|
|
|
617
662
|
* landing on the seed — this deadlines every occurrence AND keeps the seed
|
|
618
663
|
* deadline-free so the app does not SRCFATE-preserve it into a double-booked
|
|
619
664
|
* future instance (DBLSPAWN1). It therefore requires a concrete `when` on or
|
|
620
|
-
* before it
|
|
665
|
+
* before it. An AFTER-COMPLETION series is deadlined the same way: the offset is
|
|
666
|
+
* measured from each occurrence's own start, which such a series has (CNCAC2).
|
|
621
667
|
* `startDaysEarlier` is the SAME deadline geometry named from the other end (the
|
|
622
668
|
* per-occurrence lead directly, deadline derived as `when + N`); the two are
|
|
623
669
|
* over-determined together and must AGREE (`deadline − when == startDaysEarlier`).
|
|
@@ -631,7 +677,8 @@ export interface TodoAddRepeatingParams extends AddRepeatingRuleFields {
|
|
|
631
677
|
/**
|
|
632
678
|
* The FIRST occurrence's due date — mapped to the RULE (derive start-days-earlier =
|
|
633
679
|
* deadline − when), so every occurrence is deadlined and the seed carries none.
|
|
634
|
-
* Needs a concrete `when` on or before it
|
|
680
|
+
* Needs a concrete `when` on or before it. Applies to an after-completion series
|
|
681
|
+
* too — the offset is measured from each occurrence's start, not from a calendar.
|
|
635
682
|
*/
|
|
636
683
|
deadline?: IsoDate;
|
|
637
684
|
/**
|
|
@@ -639,8 +686,7 @@ export interface TodoAddRepeatingParams extends AddRepeatingRuleFields {
|
|
|
639
686
|
* before its own deadline (integer ≥ 0), the deadline derived as `when + N`.
|
|
640
687
|
* Where a concrete `deadline` names the first due date, this names the
|
|
641
688
|
* per-occurrence lead directly. Needs a concrete `when`; when BOTH are given they
|
|
642
|
-
* must AGREE (`deadline − when == startDaysEarlier`) or the call is refused.
|
|
643
|
-
* applicable to after-completion (no calendar start to count back from).
|
|
689
|
+
* must AGREE (`deadline − when == startDaysEarlier`) or the call is refused.
|
|
644
690
|
*/
|
|
645
691
|
startDaysEarlier?: number;
|
|
646
692
|
tags?: string[];
|
|
@@ -718,12 +764,12 @@ export interface OperationParamsMap {
|
|
|
718
764
|
"project.dissolve-heading": UuidParams;
|
|
719
765
|
"todo.clear-dated-reminder": UuidParams;
|
|
720
766
|
"todo.make-repeating": RepeatRuleParams;
|
|
721
|
-
"todo.reschedule-repeat":
|
|
767
|
+
"todo.reschedule-repeat": RescheduleRepeatParams;
|
|
722
768
|
"todo.pause-repeat": UuidParams;
|
|
723
769
|
"todo.resume-repeat": UuidParams;
|
|
724
770
|
"todo.create-next-copy": UuidParams;
|
|
725
771
|
"todo.convert-to-project": UuidParams;
|
|
726
|
-
"project.reschedule-repeat":
|
|
772
|
+
"project.reschedule-repeat": RescheduleRepeatParams;
|
|
727
773
|
"project.pause-repeat": UuidParams;
|
|
728
774
|
"project.resume-repeat": UuidParams;
|
|
729
775
|
"area.reorder": AreaReorderParams;
|
package/dist/write/operations.js
CHANGED
|
@@ -154,4 +154,26 @@ export const WEEKDAYS = [
|
|
|
154
154
|
"friday",
|
|
155
155
|
"saturday",
|
|
156
156
|
];
|
|
157
|
+
/**
|
|
158
|
+
* Is this reschedule the bare re-anchor (URL-drivable) rather than a rule
|
|
159
|
+
* restatement (GUI-bound)? The discriminator is `frequency`: validation
|
|
160
|
+
* (`assertRescheduleRule`) refuses every other rule field alongside its absence,
|
|
161
|
+
* so an params bag without a frequency IS `{ uuid, next }`.
|
|
162
|
+
*/
|
|
163
|
+
export function isRepeatReanchor(params) {
|
|
164
|
+
return params.frequency === undefined && params.next !== undefined;
|
|
165
|
+
}
|
|
166
|
+
/**
|
|
167
|
+
* Does THIS call drive the GUI? Every {@link UI_DRIVE_OPS} member does, except a
|
|
168
|
+
* `reschedule-repeat` in its bare re-anchor spelling, which compiles to one URL
|
|
169
|
+
* dispatch and therefore carries no GUI-drive gate (H-UI-DRIVE). Keyed on the
|
|
170
|
+
* params, so the scare gate rides the SPELLING rather than the verb.
|
|
171
|
+
*/
|
|
172
|
+
export function drivesGuiForParams(op, params) {
|
|
173
|
+
if (!isUiDriveOp(op))
|
|
174
|
+
return false;
|
|
175
|
+
if (op !== "todo.reschedule-repeat" && op !== "project.reschedule-repeat")
|
|
176
|
+
return true;
|
|
177
|
+
return !isRepeatReanchor(params);
|
|
178
|
+
}
|
|
157
179
|
//# sourceMappingURL=operations.js.map
|
|
@@ -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,uBAAuB;IACvB,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,sEAAsE;IACtE,6EAA6E;IAC7E,+EAA+E;IAC/E,0EAA0E;IAC1E,6DAA6D;IAC7D,uBAAuB;IACvB,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;IAC1B,4EAA4E;IAC5E,+EAA+E;IAC/E,8EAA8E;IAC9E,gFAAgF;IAChF,6EAA6E;IAC7E,+EAA+E;IAC/E,uEAAuE;IACvE,4DAA4D;IAC5D,sBAAsB;CACd,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;AAyhBD,MAAM,CAAC,MAAM,QAAQ,GAAuB;IAC1C,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,WAAW;IACX,UAAU;IACV,QAAQ;IACR,UAAU;CACF,CAAC"}
|
|
1
|
+
{"version":3,"file":"operations.js","sourceRoot":"","sources":["../../src/write/operations.ts"],"names":[],"mappings":"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"}
|