things-api 0.10.0 → 0.12.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +50 -13
- package/dist/audit/schema.d.ts +7 -0
- package/dist/audit/schema.js.map +1 -1
- package/dist/cli/clock.d.ts +8 -0
- package/dist/cli/clock.js +24 -0
- package/dist/cli/clock.js.map +1 -0
- package/dist/cli/commands/area.d.ts +18 -11
- package/dist/cli/commands/area.js +61 -74
- package/dist/cli/commands/area.js.map +1 -1
- package/dist/cli/commands/doctor.d.ts +1 -2
- package/dist/cli/commands/doctor.js +11 -1
- package/dist/cli/commands/doctor.js.map +1 -1
- package/dist/cli/commands/install-skill.d.ts +60 -0
- package/dist/cli/commands/install-skill.js +256 -0
- package/dist/cli/commands/install-skill.js.map +1 -0
- package/dist/cli/commands/mcp.js +9 -0
- package/dist/cli/commands/mcp.js.map +1 -1
- package/dist/cli/commands/project.d.ts +1 -0
- package/dist/cli/commands/project.js +27 -34
- package/dist/cli/commands/project.js.map +1 -1
- package/dist/cli/commands/reads.d.ts +15 -2
- package/dist/cli/commands/reads.js +144 -44
- package/dist/cli/commands/reads.js.map +1 -1
- package/dist/cli/commands/setup.js +7 -2
- package/dist/cli/commands/setup.js.map +1 -1
- package/dist/cli/commands/show.js +38 -14
- package/dist/cli/commands/show.js.map +1 -1
- package/dist/cli/commands/todo.js +15 -9
- package/dist/cli/commands/todo.js.map +1 -1
- package/dist/cli/commands/writes.js +797 -174
- package/dist/cli/commands/writes.js.map +1 -1
- package/dist/cli/did-you-mean.d.ts +14 -3
- package/dist/cli/did-you-mean.js +26 -3
- package/dist/cli/did-you-mean.js.map +1 -1
- package/dist/cli/glyphs.d.ts +32 -2
- package/dist/cli/glyphs.js +83 -12
- package/dist/cli/glyphs.js.map +1 -1
- package/dist/cli/help.js +121 -16
- package/dist/cli/help.js.map +1 -1
- package/dist/cli/main.js +33 -2
- package/dist/cli/main.js.map +1 -1
- package/dist/cli/move-hint.d.ts +46 -0
- package/dist/cli/move-hint.js +196 -0
- package/dist/cli/move-hint.js.map +1 -0
- package/dist/cli/period.d.ts +2 -8
- package/dist/cli/period.js +44 -30
- package/dist/cli/period.js.map +1 -1
- package/dist/cli/read-driver.d.ts +43 -5
- package/dist/cli/read-driver.js +91 -15
- package/dist/cli/read-driver.js.map +1 -1
- package/dist/cli/render.d.ts +19 -8
- package/dist/cli/render.js +70 -27
- package/dist/cli/render.js.map +1 -1
- package/dist/cli/resolve-invocation.d.ts +2 -2
- package/dist/cli/resolve-invocation.js +3 -3
- package/dist/cli/resolve-invocation.js.map +1 -1
- package/dist/cli/skill-check.d.ts +27 -0
- package/dist/cli/skill-check.js +99 -0
- package/dist/cli/skill-check.js.map +1 -0
- package/dist/cli/skill.d.ts +70 -0
- package/dist/cli/skill.js +152 -0
- package/dist/cli/skill.js.map +1 -0
- package/dist/cli/tag-filters.d.ts +6 -2
- package/dist/cli/tag-filters.js +8 -6
- package/dist/cli/tag-filters.js.map +1 -1
- package/dist/cli/verb-hint.js +28 -3
- package/dist/cli/verb-hint.js.map +1 -1
- package/dist/cli/version.d.ts +4 -0
- package/dist/cli/version.js +18 -0
- package/dist/cli/version.js.map +1 -0
- package/dist/client.d.ts +171 -27
- package/dist/client.js +279 -40
- package/dist/client.js.map +1 -1
- package/dist/config.d.ts +66 -2
- package/dist/config.js +120 -12
- package/dist/config.js.map +1 -1
- package/dist/contracts.d.ts +186 -28
- package/dist/contracts.js +22 -1
- package/dist/contracts.js.map +1 -1
- package/dist/diagnose.d.ts +34 -2
- package/dist/diagnose.js +36 -1
- package/dist/diagnose.js.map +1 -1
- package/dist/index.d.ts +25 -9
- package/dist/index.js +22 -3
- package/dist/index.js.map +1 -1
- package/dist/mcp/server.d.ts +9 -0
- package/dist/mcp/server.js +1157 -684
- package/dist/mcp/server.js.map +1 -1
- package/dist/model/clock.d.ts +61 -0
- package/dist/model/clock.js +71 -0
- package/dist/model/clock.js.map +1 -0
- package/dist/model/dates.d.ts +26 -3
- package/dist/model/dates.js +84 -3
- package/dist/model/dates.js.map +1 -1
- package/dist/model/entities.d.ts +60 -3
- package/dist/model/entities.js.map +1 -1
- package/dist/model/mappers.d.ts +4 -2
- package/dist/model/mappers.js +66 -9
- package/dist/model/mappers.js.map +1 -1
- package/dist/model/recurrence.d.ts +8 -1
- package/dist/model/recurrence.js.map +1 -1
- package/dist/read/area-filter.d.ts +76 -0
- package/dist/read/area-filter.js +59 -0
- package/dist/read/area-filter.js.map +1 -0
- package/dist/read/area-view.d.ts +12 -12
- package/dist/read/area-view.js +58 -34
- package/dist/read/area-view.js.map +1 -1
- package/dist/read/detail.d.ts +1 -1
- package/dist/read/detail.js +26 -12
- package/dist/read/detail.js.map +1 -1
- package/dist/read/log-boundary.d.ts +1 -1
- package/dist/read/log-boundary.js +13 -3
- package/dist/read/log-boundary.js.map +1 -1
- package/dist/read/predicates.d.ts +18 -0
- package/dist/read/predicates.js +19 -0
- package/dist/read/predicates.js.map +1 -1
- package/dist/read/project-view.d.ts +32 -16
- package/dist/read/project-view.js +80 -45
- package/dist/read/project-view.js.map +1 -1
- package/dist/read/pseudo-area.d.ts +29 -0
- package/dist/read/pseudo-area.js +27 -0
- package/dist/read/pseudo-area.js.map +1 -0
- package/dist/read/queries.d.ts +108 -19
- package/dist/read/queries.js +212 -35
- package/dist/read/queries.js.map +1 -1
- package/dist/read/scope.d.ts +126 -0
- package/dist/read/scope.js +162 -0
- package/dist/read/scope.js.map +1 -0
- package/dist/read/search-rank.d.ts +2 -5
- package/dist/read/shape.d.ts +162 -0
- package/dist/read/shape.js +686 -0
- package/dist/read/shape.js.map +1 -0
- package/dist/read/show-target.d.ts +9 -1
- package/dist/read/show-target.js +45 -4
- package/dist/read/show-target.js.map +1 -1
- package/dist/read/snapshot.d.ts +1 -1
- package/dist/read/snapshot.js +9 -2
- package/dist/read/snapshot.js.map +1 -1
- package/dist/read/stage.d.ts +199 -0
- package/dist/read/stage.js +125 -0
- package/dist/read/stage.js.map +1 -0
- package/dist/read/truncation.d.ts +8 -6
- package/dist/read/truncation.js +35 -10
- package/dist/read/truncation.js.map +1 -1
- package/dist/read/views.d.ts +61 -20
- package/dist/read/views.js +240 -82
- package/dist/read/views.js.map +1 -1
- package/dist/surface-copy.d.ts +9 -0
- package/dist/surface-copy.js +9 -0
- package/dist/surface-copy.js.map +1 -1
- package/dist/write/accessibility-probe.d.ts +1 -1
- package/dist/write/accessibility-probe.js +8 -0
- package/dist/write/accessibility-probe.js.map +1 -1
- package/dist/write/automation-probe.d.ts +1 -1
- package/dist/write/automation-probe.js +8 -0
- package/dist/write/automation-probe.js.map +1 -1
- package/dist/write/batch.d.ts +49 -10
- package/dist/write/batch.js +423 -70
- package/dist/write/batch.js.map +1 -1
- package/dist/write/commands.d.ts +1 -1
- package/dist/write/commands.js +316 -66
- package/dist/write/commands.js.map +1 -1
- package/dist/write/guards.d.ts +1 -1
- package/dist/write/guards.js +94 -10
- package/dist/write/guards.js.map +1 -1
- package/dist/write/heading.d.ts +10 -1
- package/dist/write/heading.js +35 -5
- package/dist/write/heading.js.map +1 -1
- package/dist/write/make-repeating-project.d.ts +2 -2
- package/dist/write/make-repeating-project.js +9 -9
- package/dist/write/make-repeating-project.js.map +1 -1
- package/dist/write/move.d.ts +130 -0
- package/dist/write/move.js +1533 -0
- package/dist/write/move.js.map +1 -0
- package/dist/write/operations.d.ts +105 -19
- package/dist/write/operations.js +56 -7
- package/dist/write/operations.js.map +1 -1
- package/dist/write/opid.d.ts +31 -0
- package/dist/write/opid.js +30 -0
- package/dist/write/opid.js.map +1 -0
- package/dist/write/pipeline.d.ts +122 -3
- package/dist/write/pipeline.js +309 -52
- package/dist/write/pipeline.js.map +1 -1
- package/dist/write/planner.js +8 -1
- package/dist/write/planner.js.map +1 -1
- package/dist/write/pre-state.d.ts +197 -6
- package/dist/write/pre-state.js +427 -20
- package/dist/write/pre-state.js.map +1 -1
- package/dist/write/recurrence-rule-blob.d.ts +65 -0
- package/dist/write/recurrence-rule-blob.js +150 -0
- package/dist/write/recurrence-rule-blob.js.map +1 -0
- package/dist/write/reorder.d.ts +23 -3
- package/dist/write/reorder.js +1871 -85
- package/dist/write/reorder.js.map +1 -1
- package/dist/write/reversibility.js +19 -7
- package/dist/write/reversibility.js.map +1 -1
- package/dist/write/scope-guard.d.ts +31 -0
- package/dist/write/scope-guard.js +162 -0
- package/dist/write/scope-guard.js.map +1 -0
- package/dist/write/undo.js +120 -13
- package/dist/write/undo.js.map +1 -1
- package/dist/write/vectors/applescript.js +16 -7
- package/dist/write/vectors/applescript.js.map +1 -1
- package/dist/write/vectors/registry.d.ts +5 -7
- package/dist/write/vectors/registry.js +49 -2
- package/dist/write/vectors/registry.js.map +1 -1
- package/dist/write/vectors/shortcuts.js +1 -1
- package/dist/write/vectors/shortcuts.js.map +1 -1
- package/dist/write/vectors/simulator.d.ts +44 -0
- package/dist/write/vectors/simulator.js +1192 -0
- package/dist/write/vectors/simulator.js.map +1 -0
- package/dist/write/vectors/types.d.ts +46 -0
- package/dist/write/vectors/ui-certification.d.ts +10 -4
- package/dist/write/vectors/ui-certification.js +43 -10
- package/dist/write/vectors/ui-certification.js.map +1 -1
- package/dist/write/vectors/ui-drag.d.ts +21 -1
- package/dist/write/vectors/ui-drag.js +138 -27
- package/dist/write/vectors/ui-drag.js.map +1 -1
- package/dist/write/vectors/ui-recipes.d.ts +34 -1
- package/dist/write/vectors/ui-recipes.js +217 -6
- package/dist/write/vectors/ui-recipes.js.map +1 -1
- package/dist/write/vectors/ui.d.ts +40 -1
- package/dist/write/vectors/ui.js +196 -39
- package/dist/write/vectors/ui.js.map +1 -1
- package/dist/write/verify/delta.d.ts +127 -2
- package/dist/write/verify/delta.js +255 -16
- package/dist/write/verify/delta.js.map +1 -1
- package/dist/write/verify/poller.d.ts +7 -1
- package/dist/write/verify/poller.js +20 -1
- package/dist/write/verify/poller.js.map +1 -1
- package/package.json +24 -3
- package/schema/envelope.schema.json +383 -0
- package/skills/things-cli/SKILL.md +70 -0
- package/skills/things-cli/references/banner.md +35 -0
- package/skills/things-cli/references/contracts.md +62 -0
- package/skills/things-cli/references/errors.md +49 -0
- package/skills/things-cli/references/gui.md +11 -0
- package/skills/things-cli/references/model.md +60 -0
- package/skills/things-cli/references/ordering.md +71 -0
|
@@ -9,7 +9,7 @@ import { execFileSync } from "node:child_process";
|
|
|
9
9
|
import { existsSync } from "node:fs";
|
|
10
10
|
import { join } from "node:path";
|
|
11
11
|
import { fileURLToPath } from "node:url";
|
|
12
|
-
import { ExitCode, okEnvelope, shortcutProxies, } from "../../index.js";
|
|
12
|
+
import { ExitCode, okEnvelope, shortcutProxies, simFenceActive, } from "../../index.js";
|
|
13
13
|
/** Package root — one level above src/ AND dist/, so both layouts resolve. */
|
|
14
14
|
const SHORTCUTS_DIR = fileURLToPath(new URL("../../../shortcuts", import.meta.url));
|
|
15
15
|
function meta(started) {
|
|
@@ -49,7 +49,12 @@ export function registerSetup(program) {
|
|
|
49
49
|
const opened = [];
|
|
50
50
|
let exitCode = ExitCode.Ok;
|
|
51
51
|
let detail = state.detail;
|
|
52
|
-
if (opts.check !== true && state.missing.length > 0) {
|
|
52
|
+
if (opts.check !== true && state.missing.length > 0 && simFenceActive()) {
|
|
53
|
+
// Under the simulator fence: report the install sheets as simulated
|
|
54
|
+
// rather than opening them, so a bench run never touches the host app.
|
|
55
|
+
detail = "simulated: install sheets were not opened (the Shortcuts app was not touched)";
|
|
56
|
+
}
|
|
57
|
+
else if (opts.check !== true && state.missing.length > 0) {
|
|
53
58
|
for (const name of state.missing) {
|
|
54
59
|
const file = join(SHORTCUTS_DIR, `${name}.shortcut`);
|
|
55
60
|
if (!existsSync(file)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../../../src/cli/commands/setup.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAGzC,OAAO,EACL,QAAQ,EACR,UAAU,EACV,eAAe,
|
|
1
|
+
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../../../src/cli/commands/setup.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,12 +6,12 @@
|
|
|
6
6
|
* checklist items have no show view and are rejected.
|
|
7
7
|
*/
|
|
8
8
|
import { Option } from "commander";
|
|
9
|
-
import { AREA_PREVIEW_LIMIT, GROUPED_ALL_DESC, stripThingsUri, } from "../../index.js";
|
|
9
|
+
import { AREA_PREVIEW_LIMIT, FULL_DESC, GROUPED_ALL_DESC, isLooseRef, LOOSE_OPEN_REFUSAL, stripThingsUri, } from "../../index.js";
|
|
10
10
|
import { getInvocation, OPEN_KEYWORDS, setInvocationCanonical, SHOW_KEYWORDS, } from "../resolve-invocation.js";
|
|
11
11
|
import { renderAreaView } from "./area.js";
|
|
12
12
|
import { renderProjectView, showToggleFlags } from "./project.js";
|
|
13
13
|
import { renderDetail } from "./todo.js";
|
|
14
|
-
import { openInThings } from "./reads.js";
|
|
14
|
+
import { openInThings, revealLine } from "./reads.js";
|
|
15
15
|
import { invocation, parseCap, runRead, shellQuote, usageError, withClient, } from "../read-driver.js";
|
|
16
16
|
import { DidYouMeanError } from "../did-you-mean.js";
|
|
17
17
|
import { addTagFilterOptions, tagFilterFields, tagFlagConflict, tagInvocationParts, } from "../tag-filters.js";
|
|
@@ -57,8 +57,9 @@ export function registerShowCommands(program) {
|
|
|
57
57
|
.command("show <ref>")
|
|
58
58
|
.description("Render whatever the reference points at: a to-do, a project (a heading reference " +
|
|
59
59
|
"shows its containing project), or an area. Accepts a uuid, a >=6-char uuid " +
|
|
60
|
-
"prefix (as printed in every list view), a things:/// share link,
|
|
61
|
-
"name
|
|
60
|
+
"prefix (as printed in every list view), a things:/// share link, an area " +
|
|
61
|
+
"name, or the reserved word `loose` (the area-less items). Tags and checklist " +
|
|
62
|
+
"items have no show view. The word `show` may be " +
|
|
62
63
|
"omitted: `things <ref>` works whenever <ref> is not a command name (command " +
|
|
63
64
|
"names always win — `things area show <name>` targets an item that shares a " +
|
|
64
65
|
"view's name). A list-view name is that view: " +
|
|
@@ -70,6 +71,7 @@ export function registerShowCommands(program) {
|
|
|
70
71
|
.option("--area-limit <n>", `areas: maximum direct to-dos to show (default ${AREA_PREVIEW_LIMIT})`)
|
|
71
72
|
.option("--all", `areas: ${GROUPED_ALL_DESC}`)
|
|
72
73
|
.option("--overdue", "projects/areas: only items whose own deadline is past (due today is not overdue)")
|
|
74
|
+
.option("--full", FULL_DESC)
|
|
73
75
|
.addOption(new Option("--limit <n>").hideHelp());
|
|
74
76
|
addTagFilterOptions(show)
|
|
75
77
|
.option("--json", "emit versioned JSON envelope on stdout")
|
|
@@ -130,8 +132,12 @@ export function registerShowCommands(program) {
|
|
|
130
132
|
showLater: opts.showLater === true || opts.all === true,
|
|
131
133
|
hintBase,
|
|
132
134
|
};
|
|
135
|
+
// Emit the IDENTICAL envelope `things project show` would (kind
|
|
136
|
+
// project-view, data `{view}`) — the loose router disappears from
|
|
137
|
+
// the wire (R2).
|
|
133
138
|
return {
|
|
134
|
-
data:
|
|
139
|
+
data: view,
|
|
140
|
+
kind: "project-view",
|
|
135
141
|
lines: renderProjectView(view, projectOpts),
|
|
136
142
|
};
|
|
137
143
|
}
|
|
@@ -142,20 +148,30 @@ export function registerShowCommands(program) {
|
|
|
142
148
|
areaLimit: areaCap.limit,
|
|
143
149
|
projectLimit: projectCap.limit,
|
|
144
150
|
});
|
|
151
|
+
// Identical to `things area show` (kind area-view, data `{view}`).
|
|
145
152
|
return {
|
|
146
|
-
data:
|
|
147
|
-
|
|
148
|
-
|
|
153
|
+
data: bounded.view,
|
|
154
|
+
kind: "area-view",
|
|
155
|
+
truncation: bounded.truncation,
|
|
156
|
+
...(bounded.notice !== undefined && { warnings: [bounded.notice] }),
|
|
157
|
+
lines: renderAreaView(bounded.view, bounded.truncation, {
|
|
158
|
+
...opts,
|
|
159
|
+
limits,
|
|
160
|
+
hintBase,
|
|
161
|
+
loggedCount: bounded.loggedCount,
|
|
162
|
+
}),
|
|
149
163
|
};
|
|
150
164
|
}
|
|
165
|
+
// A to-do/heading detail unifies with the typed detail (kind detail,
|
|
166
|
+
// data `{item}`; item.type discriminates).
|
|
151
167
|
const detail = c.read.byUuid(t.uuid);
|
|
152
|
-
return { data:
|
|
168
|
+
return { data: detail, kind: "detail", lines: renderDetail(detail) };
|
|
153
169
|
}, () => []);
|
|
154
170
|
});
|
|
155
171
|
program
|
|
156
172
|
.command("open <ref>")
|
|
157
|
-
.description("Open the referenced resource in the Things app
|
|
158
|
-
"
|
|
173
|
+
.description("Open the referenced resource in the Things app on this Mac (brings the window " +
|
|
174
|
+
"forward). Resolves references exactly like `things show` (a heading " +
|
|
159
175
|
"reference opens its containing project), and the view keywords " +
|
|
160
176
|
"(inbox, today, anytime, upcoming, someday, logbook, trash) open that view — a " +
|
|
161
177
|
"keyword wins over a same-named project or area (open those by uuid). The app " +
|
|
@@ -165,6 +181,14 @@ export function registerShowCommands(program) {
|
|
|
165
181
|
.option("--db <path>", "explicit database path")
|
|
166
182
|
.action((ref, opts) => {
|
|
167
183
|
const lower = ref.toLowerCase();
|
|
184
|
+
// The loose pseudo-area is a derived view (READ only) — it has no app
|
|
185
|
+
// screen to open; refuse by name, not a generic no-such-resource error.
|
|
186
|
+
if (isLooseRef(ref)) {
|
|
187
|
+
withClient(opts, "open", () => {
|
|
188
|
+
throw new RangeError(LOOSE_OPEN_REFUSAL);
|
|
189
|
+
}, () => []);
|
|
190
|
+
return;
|
|
191
|
+
}
|
|
168
192
|
// Open's vocabulary belongs to the app: only the seven URL-scheme ids
|
|
169
193
|
// launch directly. The plural list-view names (projects/areas/tags) are
|
|
170
194
|
// valid `show` keywords but have no app screen to open — reject them with
|
|
@@ -184,9 +208,9 @@ export function registerShowCommands(program) {
|
|
|
184
208
|
// A view keyword launches things:///show?id=<keyword> directly (the URL
|
|
185
209
|
// scheme accepts these ids natively) — no reference resolution.
|
|
186
210
|
const keyword = OPEN_KEYWORDS.has(lower) ? lower : null;
|
|
187
|
-
withClient(opts, "open", (c) =>
|
|
188
|
-
|
|
189
|
-
|
|
211
|
+
withClient(opts, "open", (c) => keyword !== null
|
|
212
|
+
? openInThings(keyword, opts.db)
|
|
213
|
+
: openInThings(c.read.showTarget(ref).uuid, opts.db), (d) => [revealLine(d)]);
|
|
190
214
|
});
|
|
191
215
|
}
|
|
192
216
|
//# sourceMappingURL=show.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"show.js","sourceRoot":"","sources":["../../../src/cli/commands/show.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAgB,MAAM,EAAE,MAAM,WAAW,CAAC;AAEjD,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EAChB,cAAc,GAMf,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,aAAa,EACb,aAAa,EACb,sBAAsB,EACtB,aAAa,GACd,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,cAAc,EAAqB,MAAM,WAAW,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"show.js","sourceRoot":"","sources":["../../../src/cli/commands/show.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { localToday, templateStatus } from "../../index.js";
|
|
2
2
|
import { blue, bold, dim, green, red } from "../style.js";
|
|
3
|
-
import { deadlineDetail, inheritedChips, loggedDate, projectCircle, shortDate, thingsLink, todoBox, whenValue, } from "../glyphs.js";
|
|
4
|
-
import { openInThings } from "./reads.js";
|
|
3
|
+
import { containerLabel, deadlineDetail, inheritedChips, loggedDate, projectCircle, shortDate, thingsLink, todoBox, whenValue, } from "../glyphs.js";
|
|
4
|
+
import { openInThings, revealLine } from "./reads.js";
|
|
5
|
+
import { renderNow, renderZone } from "../clock.js";
|
|
5
6
|
import { runRead, withClient } from "../read-driver.js";
|
|
6
7
|
import { DidYouMeanError } from "../did-you-mean.js";
|
|
7
8
|
// The opened resource shows its tags green (GUI: list pills are gray).
|
|
@@ -20,10 +21,12 @@ export function renderDetail(item) {
|
|
|
20
21
|
return [
|
|
21
22
|
`${bold("Heading:")} ${bold(item.title)}`,
|
|
22
23
|
` ${dim("uri:")} ${thingsLink(item.uuid)}`,
|
|
23
|
-
` ${dim("project:")} ${item.project
|
|
24
|
+
` ${dim("project:")} ${item.project === null
|
|
25
|
+
? "—"
|
|
26
|
+
: containerLabel(item.project.title, item.project.isRepeatingTemplate === true)}`,
|
|
24
27
|
];
|
|
25
28
|
}
|
|
26
|
-
const todayIso = localToday();
|
|
29
|
+
const todayIso = localToday(renderNow(), renderZone());
|
|
27
30
|
const label = item.type === "to-do" ? "To-Do:" : "Project:";
|
|
28
31
|
const box = item.type === "to-do" ? todoBox(item) : projectCircle(item);
|
|
29
32
|
const trashed = item.trashed ? ` ${red("(trashed)")}` : "";
|
|
@@ -63,7 +66,10 @@ export function renderDetail(item) {
|
|
|
63
66
|
}
|
|
64
67
|
meta("area", item.area?.title);
|
|
65
68
|
if (item.type === "to-do") {
|
|
66
|
-
|
|
69
|
+
const projRef = item.project ?? item.headingProject;
|
|
70
|
+
meta("project", projRef == null
|
|
71
|
+
? undefined
|
|
72
|
+
: containerLabel(projRef.title, projRef.isRepeatingTemplate === true));
|
|
67
73
|
meta("heading", item.heading?.title);
|
|
68
74
|
}
|
|
69
75
|
if (item.tags.length > 0)
|
|
@@ -99,7 +105,7 @@ export function registerTodoCommands(program) {
|
|
|
99
105
|
.option("--json", "emit versioned JSON envelope on stdout")
|
|
100
106
|
.option("--db <path>", "explicit database path")
|
|
101
107
|
.action((uuid, opts) => {
|
|
102
|
-
runRead(opts, "
|
|
108
|
+
runRead(opts, "detail", (c) => {
|
|
103
109
|
const detail = c.read.byUuid(uuid);
|
|
104
110
|
// A miss gets a type-scoped did-you-mean (to-dos only), not a bare
|
|
105
111
|
// "(not found)". Ambiguous prefixes still throw from byUuid verbatim.
|
|
@@ -111,7 +117,7 @@ export function registerTodoCommands(program) {
|
|
|
111
117
|
});
|
|
112
118
|
todo
|
|
113
119
|
.command("open <ref>")
|
|
114
|
-
.description("Open the to-do in the Things app
|
|
120
|
+
.description("Open the to-do in the Things app on this Mac (brings the window forward). Errors if the reference is not a to-do.")
|
|
115
121
|
.option("--json", "emit versioned JSON envelope on stdout")
|
|
116
122
|
.option("--db <path>", "explicit database path")
|
|
117
123
|
.action((ref, opts) => {
|
|
@@ -119,8 +125,8 @@ export function registerTodoCommands(program) {
|
|
|
119
125
|
const t = c.read.showTarget(ref);
|
|
120
126
|
if (t.kind !== "to-do")
|
|
121
127
|
throw new RangeError(`"${ref}" is a ${t.viaHeading === true ? "heading" : t.kind}, not a to-do (try \`things open\`)`);
|
|
122
|
-
return
|
|
123
|
-
}, (d) => [
|
|
128
|
+
return openInThings(t.uuid, opts.db);
|
|
129
|
+
}, (d) => [revealLine(d)]);
|
|
124
130
|
});
|
|
125
131
|
}
|
|
126
132
|
//# sourceMappingURL=todo.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"todo.js","sourceRoot":"","sources":["../../../src/cli/commands/todo.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,UAAU,EAAE,cAAc,EAAgB,MAAM,gBAAgB,CAAC;AAC1E,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,EACL,cAAc,EACd,cAAc,EACd,UAAU,EACV,aAAa,EACb,SAAS,EACT,UAAU,EACV,OAAO,EACP,SAAS,GACV,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"todo.js","sourceRoot":"","sources":["../../../src/cli/commands/todo.ts"],"names":[],"mappings":"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"}
|