things-api 0.8.0 → 0.10.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 +31 -11
- package/dist/audit/log.js +56 -2
- package/dist/audit/log.js.map +1 -1
- package/dist/audit/schema.d.ts +26 -8
- package/dist/audit/schema.js +42 -1
- package/dist/audit/schema.js.map +1 -1
- package/dist/cli/commands/area.d.ts +34 -2
- package/dist/cli/commands/area.js +140 -28
- package/dist/cli/commands/area.js.map +1 -1
- package/dist/cli/commands/doctor.d.ts +1 -1
- package/dist/cli/commands/doctor.js +44 -5
- package/dist/cli/commands/doctor.js.map +1 -1
- package/dist/cli/commands/mcp.js +23 -4
- package/dist/cli/commands/mcp.js.map +1 -1
- package/dist/cli/commands/project.d.ts +23 -1
- package/dist/cli/commands/project.js +82 -15
- package/dist/cli/commands/project.js.map +1 -1
- package/dist/cli/commands/reads.d.ts +6 -125
- package/dist/cli/commands/reads.js +649 -657
- package/dist/cli/commands/reads.js.map +1 -1
- package/dist/cli/commands/repeat-flags.d.ts +20 -0
- package/dist/cli/commands/repeat-flags.js +76 -0
- package/dist/cli/commands/repeat-flags.js.map +1 -0
- package/dist/cli/commands/setup.js +2 -3
- package/dist/cli/commands/setup.js.map +1 -1
- package/dist/cli/commands/show.d.ts +1 -1
- package/dist/cli/commands/show.js +169 -18
- package/dist/cli/commands/show.js.map +1 -1
- package/dist/cli/commands/snapshot.js +1 -1
- package/dist/cli/commands/snapshot.js.map +1 -1
- package/dist/cli/commands/todo.d.ts +1 -1
- package/dist/cli/commands/todo.js +21 -9
- package/dist/cli/commands/todo.js.map +1 -1
- package/dist/cli/commands/writes.js +378 -148
- package/dist/cli/commands/writes.js.map +1 -1
- package/dist/cli/did-you-mean.d.ts +29 -0
- package/dist/cli/did-you-mean.js +53 -0
- package/dist/cli/did-you-mean.js.map +1 -0
- package/dist/cli/excess-args.d.ts +15 -0
- package/dist/cli/excess-args.js +51 -0
- package/dist/cli/excess-args.js.map +1 -0
- package/dist/cli/glyphs.d.ts +67 -7
- package/dist/cli/glyphs.js +202 -19
- package/dist/cli/glyphs.js.map +1 -1
- package/dist/cli/help.d.ts +54 -0
- package/dist/cli/help.js +355 -0
- package/dist/cli/help.js.map +1 -0
- package/dist/cli/main.js +36 -21
- package/dist/cli/main.js.map +1 -1
- package/dist/cli/period.d.ts +39 -0
- package/dist/cli/period.js +141 -0
- package/dist/cli/period.js.map +1 -0
- package/dist/cli/read-driver.d.ts +83 -0
- package/dist/cli/read-driver.js +215 -0
- package/dist/cli/read-driver.js.map +1 -0
- package/dist/cli/render.d.ts +246 -0
- package/dist/cli/render.js +806 -0
- package/dist/cli/render.js.map +1 -0
- package/dist/cli/resolve-invocation.d.ts +116 -0
- package/dist/cli/resolve-invocation.js +261 -0
- package/dist/cli/resolve-invocation.js.map +1 -0
- package/dist/cli/shell-quote.d.ts +9 -0
- package/dist/cli/shell-quote.js +12 -0
- package/dist/cli/shell-quote.js.map +1 -0
- package/dist/cli/tag-filters.d.ts +59 -0
- package/dist/cli/tag-filters.js +57 -0
- package/dist/cli/tag-filters.js.map +1 -0
- package/dist/cli/verb-hint.d.ts +25 -0
- package/dist/cli/verb-hint.js +138 -0
- package/dist/cli/verb-hint.js.map +1 -0
- package/dist/cli/width.d.ts +135 -0
- package/dist/cli/width.js +313 -0
- package/dist/cli/width.js.map +1 -0
- package/dist/client.d.ts +146 -24
- package/dist/client.js +106 -16
- package/dist/client.js.map +1 -1
- package/dist/config.d.ts +11 -0
- package/dist/config.js +3 -0
- package/dist/config.js.map +1 -1
- package/dist/contracts.d.ts +136 -1
- package/dist/contracts.js +44 -1
- package/dist/contracts.js.map +1 -1
- package/dist/db/fingerprint.d.ts +12 -0
- package/dist/db/fingerprint.js +15 -1
- package/dist/db/fingerprint.js.map +1 -1
- package/dist/db/locate.js +1 -1
- package/dist/db/locate.js.map +1 -1
- package/dist/diagnose.d.ts +63 -0
- package/dist/diagnose.js +38 -1
- package/dist/diagnose.js.map +1 -1
- package/dist/index.d.ts +30 -4
- package/dist/index.js +35 -2
- package/dist/index.js.map +1 -1
- package/dist/mcp/server.d.ts +9 -1
- package/dist/mcp/server.js +850 -128
- package/dist/mcp/server.js.map +1 -1
- package/dist/model/entities.d.ts +40 -7
- package/dist/model/entities.js.map +1 -1
- package/dist/model/mappers.d.ts +7 -0
- package/dist/model/mappers.js +20 -3
- package/dist/model/mappers.js.map +1 -1
- package/dist/model/occurrences.d.ts +6 -1
- package/dist/model/occurrences.js +9 -5
- package/dist/model/occurrences.js.map +1 -1
- package/dist/model/recurrence.d.ts +17 -8
- package/dist/model/recurrence.js.map +1 -1
- package/dist/model/serialize.d.ts +28 -0
- package/dist/model/serialize.js +80 -0
- package/dist/model/serialize.js.map +1 -0
- package/dist/model/when-sugar.d.ts +47 -0
- package/dist/model/when-sugar.js +45 -0
- package/dist/model/when-sugar.js.map +1 -0
- package/dist/read/area-view.d.ts +8 -1
- package/dist/read/area-view.js +49 -13
- package/dist/read/area-view.js.map +1 -1
- package/dist/read/caps.d.ts +14 -0
- package/dist/read/caps.js +21 -0
- package/dist/read/caps.js.map +1 -0
- package/dist/read/filter-contract.d.ts +117 -0
- package/dist/read/filter-contract.js +78 -0
- package/dist/read/filter-contract.js.map +1 -0
- package/dist/read/log-boundary.d.ts +9 -4
- package/dist/read/log-boundary.js.map +1 -1
- package/dist/read/predicates.d.ts +61 -0
- package/dist/read/predicates.js +78 -0
- package/dist/read/predicates.js.map +1 -0
- package/dist/read/project-view.d.ts +12 -1
- package/dist/read/project-view.js +39 -8
- package/dist/read/project-view.js.map +1 -1
- package/dist/read/queries.d.ts +156 -8
- package/dist/read/queries.js +261 -38
- package/dist/read/queries.js.map +1 -1
- package/dist/read/search-rank.d.ts +36 -0
- package/dist/read/search-rank.js +31 -0
- package/dist/read/search-rank.js.map +1 -0
- package/dist/read/sections.d.ts +51 -0
- package/dist/read/sections.js +37 -0
- package/dist/read/sections.js.map +1 -0
- package/dist/read/show-target.d.ts +13 -4
- package/dist/read/show-target.js +11 -2
- package/dist/read/show-target.js.map +1 -1
- package/dist/read/sidebar-order.d.ts +19 -0
- package/dist/read/sidebar-order.js +93 -0
- package/dist/read/sidebar-order.js.map +1 -0
- package/dist/read/tags.d.ts +27 -3
- package/dist/read/tags.js +83 -12
- package/dist/read/tags.js.map +1 -1
- package/dist/read/truncation.d.ts +71 -0
- package/dist/read/truncation.js +217 -0
- package/dist/read/truncation.js.map +1 -0
- package/dist/read/views.d.ts +177 -19
- package/dist/read/views.js +390 -213
- package/dist/read/views.js.map +1 -1
- package/dist/surface-copy.d.ts +42 -0
- package/dist/surface-copy.js +55 -0
- package/dist/surface-copy.js.map +1 -1
- package/dist/sync-health.d.ts +78 -0
- package/dist/sync-health.js +312 -0
- package/dist/sync-health.js.map +1 -0
- package/dist/write/accessibility-probe.d.ts +12 -0
- package/dist/write/accessibility-probe.js +63 -0
- package/dist/write/accessibility-probe.js.map +1 -0
- package/dist/write/automation-probe.d.ts +7 -0
- package/dist/write/automation-probe.js +8 -1
- package/dist/write/automation-probe.js.map +1 -1
- package/dist/write/batch.js +4 -2
- package/dist/write/batch.js.map +1 -1
- package/dist/write/capabilities.d.ts +8 -0
- package/dist/write/capabilities.js +13 -5
- package/dist/write/capabilities.js.map +1 -1
- package/dist/write/commands.d.ts +2 -0
- package/dist/write/commands.js +562 -48
- package/dist/write/commands.js.map +1 -1
- package/dist/write/edit-checklist.js +3 -2
- package/dist/write/edit-checklist.js.map +1 -1
- package/dist/write/guards.d.ts +2 -7
- package/dist/write/guards.js +64 -6
- package/dist/write/guards.js.map +1 -1
- package/dist/write/heading.js +2 -0
- package/dist/write/heading.js.map +1 -1
- package/dist/write/lock.d.ts +40 -2
- package/dist/write/lock.js +91 -14
- package/dist/write/lock.js.map +1 -1
- package/dist/write/make-repeating-project.d.ts +4 -0
- package/dist/write/make-repeating-project.js +253 -0
- package/dist/write/make-repeating-project.js.map +1 -0
- package/dist/write/operations.d.ts +145 -1
- package/dist/write/operations.js +48 -0
- package/dist/write/operations.js.map +1 -1
- package/dist/write/pipeline.d.ts +19 -0
- package/dist/write/pipeline.js +109 -26
- package/dist/write/pipeline.js.map +1 -1
- package/dist/write/pre-state.d.ts +68 -3
- package/dist/write/pre-state.js +102 -3
- package/dist/write/pre-state.js.map +1 -1
- package/dist/write/reopen.js +3 -2
- package/dist/write/reopen.js.map +1 -1
- package/dist/write/reorder.js +27 -17
- package/dist/write/reorder.js.map +1 -1
- package/dist/write/repeat-rule.d.ts +22 -0
- package/dist/write/repeat-rule.js +258 -0
- package/dist/write/repeat-rule.js.map +1 -0
- package/dist/write/reversibility.js +49 -0
- package/dist/write/reversibility.js.map +1 -1
- package/dist/write/tag-refs.d.ts +47 -0
- package/dist/write/tag-refs.js +126 -0
- package/dist/write/tag-refs.js.map +1 -0
- package/dist/write/undo.d.ts +74 -5
- package/dist/write/undo.js +494 -80
- package/dist/write/undo.js.map +1 -1
- package/dist/write/vectors/registry.d.ts +17 -1
- package/dist/write/vectors/registry.js +18 -2
- package/dist/write/vectors/registry.js.map +1 -1
- package/dist/write/vectors/types.d.ts +119 -3
- package/dist/write/vectors/ui-certification.d.ts +48 -0
- package/dist/write/vectors/ui-certification.js +46 -0
- package/dist/write/vectors/ui-certification.js.map +1 -0
- package/dist/write/vectors/ui-drag.d.ts +188 -0
- package/dist/write/vectors/ui-drag.js +1095 -0
- package/dist/write/vectors/ui-drag.js.map +1 -0
- package/dist/write/vectors/ui-recipes.d.ts +70 -0
- package/dist/write/vectors/ui-recipes.js +558 -0
- package/dist/write/vectors/ui-recipes.js.map +1 -0
- package/dist/write/vectors/ui.d.ts +137 -0
- package/dist/write/vectors/ui.js +656 -0
- package/dist/write/vectors/ui.js.map +1 -0
- package/dist/write/verify/delta.d.ts +31 -3
- package/dist/write/verify/delta.js +22 -6
- package/dist/write/verify/delta.js.map +1 -1
- package/dist/write/verify/poller.js +1 -0
- package/dist/write/verify/poller.js.map +1 -1
- package/package.json +1 -1
- package/dist/cli/exit-codes.d.ts +0 -26
- package/dist/cli/exit-codes.js +0 -26
- package/dist/cli/exit-codes.js.map +0 -1
- package/dist/cli/output.d.ts +0 -42
- package/dist/cli/output.js +0 -16
- package/dist/cli/output.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"area.js","sourceRoot":"","sources":["../../../src/cli/commands/area.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"area.js","sourceRoot":"","sources":["../../../src/cli/commands/area.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* Exit codes: 0 healthy; 5 drift/unknown-version; 7 environment problems.
|
|
4
4
|
*/
|
|
5
5
|
import type { Command } from "commander";
|
|
6
|
-
import { type DiagnoseReport, type DiagnoseResult } from "../../
|
|
6
|
+
import { type DiagnoseReport, type DiagnoseResult } from "../../index.ts";
|
|
7
7
|
export type DoctorReport = DiagnoseReport;
|
|
8
8
|
export declare const runDoctor: (dbPath?: string) => DiagnoseResult;
|
|
9
9
|
export declare function registerDoctor(program: Command): void;
|
|
@@ -1,6 +1,4 @@
|
|
|
1
|
-
import { diagnose } from "../../
|
|
2
|
-
import { describeEnvironmentChanges } from "../../write/environment.js";
|
|
3
|
-
import { errorEnvelope, okEnvelope } from "../../contracts.js";
|
|
1
|
+
import { describeEnvironmentChanges, diagnose, errorEnvelope, okEnvelope, } from "../../index.js";
|
|
4
2
|
export const runDoctor = diagnose;
|
|
5
3
|
function environmentLine(env) {
|
|
6
4
|
if (env.lastVerifiedWrite === null) {
|
|
@@ -11,22 +9,53 @@ function environmentLine(env) {
|
|
|
11
9
|
return (`CHANGED since the last verified write — ${describeEnvironmentChanges(env.changes)} ` +
|
|
12
10
|
"(a macOS consent prompt may reappear on the next automation call)");
|
|
13
11
|
}
|
|
12
|
+
/** The `── Sync health ──` section: freshness proxies + the cloud last-attempt signal. */
|
|
13
|
+
function syncHealthLines(sh) {
|
|
14
|
+
return [
|
|
15
|
+
"── Sync health ──",
|
|
16
|
+
`app: ${sh.appRunning.verdict}`,
|
|
17
|
+
`wal: ${sh.wal.verdict}`,
|
|
18
|
+
`last edit: ${sh.lastLocalEdit.verdict}`,
|
|
19
|
+
`foreground: ${sh.lastForeground.verdict}`,
|
|
20
|
+
`cloud: ${sh.cloud.verdict}`,
|
|
21
|
+
];
|
|
22
|
+
}
|
|
23
|
+
/** The `── ui vector ──` section: config + app + Accessibility + certification. */
|
|
24
|
+
function uiVectorLines(ui) {
|
|
25
|
+
const total = ui.certification.length;
|
|
26
|
+
const certified = ui.certification.filter((c) => c.status === "certified").length;
|
|
27
|
+
const lab = ui.certification.filter((c) => c.status === "lab-certified").length;
|
|
28
|
+
return [
|
|
29
|
+
"── ui vector (Accessibility GUI) ──",
|
|
30
|
+
`enabled: ${ui.enabled ? "yes" : "no"} — ${ui.reason}`,
|
|
31
|
+
`app running: ${ui.appRunning ? "yes" : "no"}`,
|
|
32
|
+
`accessibility: ${ui.accessibility.status} — ${ui.accessibility.detail}`,
|
|
33
|
+
`certification: ${certified} on-device + ${lab} lab-verified of ${total} (${ui.certificationProfile}) — ` +
|
|
34
|
+
"lab-verified recipes ran end-to-end in a disposable VM; on-device confirmation is the " +
|
|
35
|
+
"final step (docs/lab/ui-certification-runbook.md)",
|
|
36
|
+
];
|
|
37
|
+
}
|
|
14
38
|
export function registerDoctor(program) {
|
|
15
39
|
program
|
|
16
40
|
.command("doctor")
|
|
17
41
|
.description("Check environment health: database location, database schema compatibility, app " +
|
|
18
42
|
"presence, any one-time setup still needed (macOS permissions, the app's " +
|
|
19
|
-
"'Enable Things URLs' setting),
|
|
20
|
-
"successful write
|
|
43
|
+
"'Enable Things URLs' setting), whether the environment changed since the last " +
|
|
44
|
+
"successful write, and a sync-health summary (whether the app is running, how recently " +
|
|
45
|
+
"the data changed, and — when a Things Cloud account is attached — the last sync " +
|
|
46
|
+
"attempt) — with steps to fix. " +
|
|
21
47
|
"Exit 0 healthy; 5 schema drift (writes disabled); 7 environment problem.")
|
|
22
48
|
.option("--json", "emit versioned JSON envelope on stdout")
|
|
23
49
|
.option("--db <path>", "explicit database path (overrides THINGS_DB and discovery)")
|
|
24
50
|
.option("--probe-automation", "actively test whether automation of Things is authorized (may show a one-time macOS " +
|
|
25
51
|
"consent prompt; skipped when Things is not running)")
|
|
52
|
+
.option("--probe-accessibility", "actively test whether the ui vector's Accessibility access is granted and its GUI " +
|
|
53
|
+
"recipe resolves (may show a one-time macOS prompt; skipped when Things is not running)")
|
|
26
54
|
.action((opts) => {
|
|
27
55
|
const started = Date.now();
|
|
28
56
|
const { report, error, exitCode, meta } = diagnose(opts.db, {
|
|
29
57
|
...(opts.probeAutomation === true && { probeAutomation: true }),
|
|
58
|
+
...(opts.probeAccessibility === true && { probeAccessibility: true }),
|
|
30
59
|
});
|
|
31
60
|
const fullMeta = { ...meta, elapsedMs: Date.now() - started };
|
|
32
61
|
if (opts.json) {
|
|
@@ -54,6 +83,16 @@ export function registerDoctor(program) {
|
|
|
54
83
|
`shortcuts: ${report.availability.shortcuts.present.length}/${report.availability.shortcuts.present.length +
|
|
55
84
|
report.availability.shortcuts.missing.length} proxies installed — ${report.availability.shortcuts.detail}`,
|
|
56
85
|
`repeats: ${report.recurrence.templates} template(s), ${report.recurrence.undecodable} undecodable${report.recurrence.undecodable > 0 ? ` — ${report.recurrence.detail}` : ""}`,
|
|
86
|
+
...(report.audit.orphanedIntents > 0
|
|
87
|
+
? [
|
|
88
|
+
`changes: ${report.audit.orphanedIntents} change(s) were started but their ` +
|
|
89
|
+
`result was not recorded (newest ${report.audit.newestOrphanIntent}) — a ` +
|
|
90
|
+
`change may have been applied in Things without being saved to the local ` +
|
|
91
|
+
`history; review your recent changes in Things`,
|
|
92
|
+
]
|
|
93
|
+
: []),
|
|
94
|
+
...syncHealthLines(report.syncHealth),
|
|
95
|
+
...uiVectorLines(report.ui),
|
|
57
96
|
];
|
|
58
97
|
process.stdout.write(`${lines.join("\n")}\n`);
|
|
59
98
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../../src/cli/commands/doctor.ts"],"names":[],"mappings":"AAMA,OAAO,
|
|
1
|
+
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../../src/cli/commands/doctor.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/commands/mcp.js
CHANGED
|
@@ -1,25 +1,44 @@
|
|
|
1
|
+
import { loadMcpServer } from "../../index.js";
|
|
1
2
|
export function registerMcp(program) {
|
|
2
3
|
program
|
|
3
4
|
.command("mcp")
|
|
4
5
|
.description("Serve the Things MCP server on stdio (Model Context Protocol). Tools cover the full " +
|
|
5
6
|
"surface: read views, search, changes, item detail, to-do/project/area/tag " +
|
|
6
7
|
"mutations, batch, reorder, undo, capabilities, doctor; the server instructions " +
|
|
7
|
-
"carry the user's live area/tag/project inventory.
|
|
8
|
-
|
|
8
|
+
"carry the user's live area/tag/project inventory. By default the server only makes " +
|
|
9
|
+
"changes that keep the app in the background; --allow-disruptive / " +
|
|
10
|
+
"--allow-very-disruptive raise that ceiling for the whole session (there is no " +
|
|
11
|
+
'per-request override). Configure in an MCP client as command `things` with args ["mcp"].')
|
|
9
12
|
.option("--db <path>", "explicit database path")
|
|
13
|
+
.option("--allow-disruptive", "permit changes that briefly steal window focus")
|
|
14
|
+
.option("--allow-very-disruptive", "permit changes that visibly drive the Things UI")
|
|
10
15
|
.action(async (opts) => {
|
|
11
16
|
// LAZY imports: the MCP SDK + zod load only when `things mcp` actually
|
|
12
17
|
// runs. Every other CLI command must work in environments that ship a
|
|
13
18
|
// minimal dependency set (the guest e2e bundle carries only commander).
|
|
19
|
+
// The server surface is reached through the library's lazy loader
|
|
20
|
+
// (loadMcpServer), keeping the air-gap boundary intact.
|
|
14
21
|
const [{ createThingsMcpServer }, { StdioServerTransport }] = await Promise.all([
|
|
15
|
-
|
|
22
|
+
loadMcpServer(),
|
|
16
23
|
import("@modelcontextprotocol/sdk/server/stdio.js"),
|
|
17
24
|
]);
|
|
18
|
-
|
|
25
|
+
// Same mapping the CLI's per-call write flags use (writeOptionsFrom):
|
|
26
|
+
// --allow-very-disruptive → 3, --allow-disruptive → 2, else the config
|
|
27
|
+
// default. Fixed for the process — the server has no per-request escalation.
|
|
28
|
+
const maxDisruption = opts.allowVeryDisruptive
|
|
29
|
+
? 3
|
|
30
|
+
: opts.allowDisruptive
|
|
31
|
+
? 2
|
|
32
|
+
: undefined;
|
|
33
|
+
const server = createThingsMcpServer({
|
|
34
|
+
...(opts.db !== undefined && { dbPath: opts.db }),
|
|
35
|
+
...(maxDisruption !== undefined && { maxDisruption }),
|
|
36
|
+
});
|
|
19
37
|
const transport = new StdioServerTransport();
|
|
20
38
|
await server.connect(transport);
|
|
21
39
|
process.stderr.write("things-api MCP server listening on stdio\n");
|
|
22
40
|
// The transport keeps the process alive; exit cleanly when it closes.
|
|
41
|
+
// oxlint-disable-next-line unicorn/prefer-add-event-listener -- MCP SDK Transport exposes an onclose property, not an EventTarget
|
|
23
42
|
transport.onclose = () => process.exit(0);
|
|
24
43
|
});
|
|
25
44
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp.js","sourceRoot":"","sources":["../../../src/cli/commands/mcp.ts"],"names":[],"mappings":"AAOA,MAAM,UAAU,WAAW,CAAC,OAAgB;IAC1C,OAAO;SACJ,OAAO,CAAC,KAAK,CAAC;SACd,WAAW,CACV,sFAAsF;QACpF,4EAA4E;QAC5E,iFAAiF;QACjF,
|
|
1
|
+
{"version":3,"file":"mcp.js","sourceRoot":"","sources":["../../../src/cli/commands/mcp.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,aAAa,EAAuB,MAAM,gBAAgB,CAAC;AAEpE,MAAM,UAAU,WAAW,CAAC,OAAgB;IAC1C,OAAO;SACJ,OAAO,CAAC,KAAK,CAAC;SACd,WAAW,CACV,sFAAsF;QACpF,4EAA4E;QAC5E,iFAAiF;QACjF,qFAAqF;QACrF,oEAAoE;QACpE,gFAAgF;QAChF,0FAA0F,CAC7F;SACA,MAAM,CAAC,aAAa,EAAE,wBAAwB,CAAC;SAC/C,MAAM,CAAC,oBAAoB,EAAE,gDAAgD,CAAC;SAC9E,MAAM,CAAC,yBAAyB,EAAE,iDAAiD,CAAC;SACpF,MAAM,CACL,KAAK,EAAE,IAA+E,EAAE,EAAE;QACxF,uEAAuE;QACvE,sEAAsE;QACtE,wEAAwE;QACxE,kEAAkE;QAClE,wDAAwD;QACxD,MAAM,CAAC,EAAE,qBAAqB,EAAE,EAAE,EAAE,oBAAoB,EAAE,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YAC9E,aAAa,EAAE;YACf,MAAM,CAAC,2CAA2C,CAAC;SACpD,CAAC,CAAC;QACH,sEAAsE;QACtE,uEAAuE;QACvE,6EAA6E;QAC7E,MAAM,aAAa,GAA+B,IAAI,CAAC,mBAAmB;YACxE,CAAC,CAAC,CAAC;YACH,CAAC,CAAC,IAAI,CAAC,eAAe;gBACpB,CAAC,CAAC,CAAC;gBACH,CAAC,CAAC,SAAS,CAAC;QAChB,MAAM,MAAM,GAAG,qBAAqB,CAAC;YACnC,GAAG,CAAC,IAAI,CAAC,EAAE,KAAK,SAAS,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC;YACjD,GAAG,CAAC,aAAa,KAAK,SAAS,IAAI,EAAE,aAAa,EAAE,CAAC;SACtD,CAAC,CAAC;QACH,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;QAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAChC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,4CAA4C,CAAC,CAAC;QACnE,sEAAsE;QACtE,kIAAkI;QAClI,SAAS,CAAC,OAAO,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC5C,CAAC,CACF,CAAC;AACN,CAAC"}
|
|
@@ -2,12 +2,20 @@
|
|
|
2
2
|
* `things project show <uuid>` — the composite project view.
|
|
3
3
|
*/
|
|
4
4
|
import type { Command } from "commander";
|
|
5
|
-
import type
|
|
5
|
+
import { type ProjectView } from "../../index.ts";
|
|
6
|
+
import { type TagFlags } from "../tag-filters.ts";
|
|
6
7
|
export interface ProjectShowOpts {
|
|
7
8
|
showLater?: boolean;
|
|
8
9
|
/** Optional-value flag: bare = the FULL project logbook (finite lifespans), a count to cap it. */
|
|
9
10
|
showLogged?: boolean | string;
|
|
11
|
+
/** The user's invocation, echoed by the disclosure hints. */
|
|
12
|
+
hintBase?: string;
|
|
10
13
|
}
|
|
14
|
+
/** Reconstruct the show-toggle flags the user passed, for footer echoes. */
|
|
15
|
+
export declare function showToggleFlags(opts: {
|
|
16
|
+
showLater?: boolean;
|
|
17
|
+
showLogged?: boolean | string;
|
|
18
|
+
}): Array<string | false>;
|
|
11
19
|
/**
|
|
12
20
|
* GUI parity: later rows (scheduled / repeating / someday) render INLINE
|
|
13
21
|
* beneath their heading — dimmed boxes and date chips carry the state — not
|
|
@@ -16,4 +24,18 @@ export interface ProjectShowOpts {
|
|
|
16
24
|
* them, `--show-logged` reveals the full logbook.
|
|
17
25
|
*/
|
|
18
26
|
export declare function renderProjectView(view: ProjectView, opts: ProjectShowOpts): string[];
|
|
27
|
+
/** Options accepted by the project-show code path (shared by `project show` and `projects <ref>`). */
|
|
28
|
+
export type ProjectShowActionOpts = ProjectShowOpts & TagFlags & {
|
|
29
|
+
json?: boolean;
|
|
30
|
+
db?: string;
|
|
31
|
+
all?: boolean;
|
|
32
|
+
/** Content scope: keep only child to-dos whose own deadline is overdue. */
|
|
33
|
+
overdue?: boolean;
|
|
34
|
+
};
|
|
35
|
+
/**
|
|
36
|
+
* The `project show <ref>` action body, factored out so the pluralized
|
|
37
|
+
* `things projects <ref>` can delegate to the identical code path (a true
|
|
38
|
+
* synonym). Both echo the canonical `things project show …` hint.
|
|
39
|
+
*/
|
|
40
|
+
export declare function runProjectShow(ref: string, rawOpts: ProjectShowActionOpts): void;
|
|
19
41
|
export declare function registerProjectCommands(program: Command): void;
|
|
@@ -1,7 +1,19 @@
|
|
|
1
|
-
import { localToday } from "../../
|
|
1
|
+
import { localToday } from "../../index.js";
|
|
2
2
|
import { bold, dim, green, underline } from "../style.js";
|
|
3
|
-
import { countChip, deadlineDetail, loggedDate, projectCircle, thingsLink, whenValue, } from "../glyphs.js";
|
|
4
|
-
import {
|
|
3
|
+
import { countChip, deadlineDetail, inheritedChips, loggedDate, projectCircle, thingsLink, whenValue, } from "../glyphs.js";
|
|
4
|
+
import { openInThings } from "./reads.js";
|
|
5
|
+
import { invocation, runRead, shellQuote, withClient } from "../read-driver.js";
|
|
6
|
+
import { disclosureHint, formatItem, quoteTitle, uuidCol, uuidDisplayWidth } from "../render.js";
|
|
7
|
+
import { DidYouMeanError } from "../did-you-mean.js";
|
|
8
|
+
import { addTagFilterOptions, CONTAINER_TAG_HINT, tagFilterFields, tagFlagConflict, tagInvocationParts, } from "../tag-filters.js";
|
|
9
|
+
/** Reconstruct the show-toggle flags the user passed, for footer echoes. */
|
|
10
|
+
export function showToggleFlags(opts) {
|
|
11
|
+
return [
|
|
12
|
+
opts.showLater === true && "--show-later",
|
|
13
|
+
opts.showLogged === true && "--show-logged",
|
|
14
|
+
typeof opts.showLogged === "string" && `--show-logged ${opts.showLogged}`,
|
|
15
|
+
];
|
|
16
|
+
}
|
|
5
17
|
function loggedSlice(view, showLogged) {
|
|
6
18
|
if (showLogged === undefined)
|
|
7
19
|
return [];
|
|
@@ -69,8 +81,10 @@ export function renderProjectView(view, opts) {
|
|
|
69
81
|
lines.push(` ${dim("logged:")} ${loggedDate(p.stopped, todayIso)} ${dim(`(${p.status})`)}`);
|
|
70
82
|
if (p.tags.length > 0)
|
|
71
83
|
lines.push(` ${dim("tags:")} ${green(`#${p.tags.map((t) => t.title).join(" #")}`)}`);
|
|
84
|
+
// Inherited (from the area) renders dim as plain tag names, only when
|
|
85
|
+
// present — a zero-inherited card is byte-identical to no line.
|
|
72
86
|
if (p.inheritedTags !== undefined && p.inheritedTags.length > 0)
|
|
73
|
-
lines.push(` ${dim("inherited:")} ${
|
|
87
|
+
lines.push(` ${dim("inherited:")} ${inheritedChips(p.inheritedTags)}`);
|
|
74
88
|
if (p.repeating.isTemplate)
|
|
75
89
|
lines.push(` ${dim("repeating:")} TEMPLATE (invisible in list views)`);
|
|
76
90
|
if (p.repeating.isInstance)
|
|
@@ -85,15 +99,19 @@ export function renderProjectView(view, opts) {
|
|
|
85
99
|
// sections — rendered like item rows (their uuid IS addressable:
|
|
86
100
|
// heading rename/archive), title dim+underlined.
|
|
87
101
|
const members = [...group.items, ...(laterByHeading.get(group.heading.uuid) ?? [])];
|
|
88
|
-
lines.push("", `${dim(group.heading.uuid
|
|
102
|
+
lines.push("", `${dim(uuidCol(group.heading.uuid, w))} ${dim(underline(group.heading.title))}`, ...(members.length > 0 ? members.map(fmt) : ["(none)"]));
|
|
89
103
|
}
|
|
90
|
-
//
|
|
104
|
+
// The user's invocation, echoed by the disclosure hints (fallback for a
|
|
105
|
+
// caller that omits it, e.g. a direct unit test).
|
|
106
|
+
const base = opts.hintBase ?? `things project show ${quoteTitle(view.project.title)}`;
|
|
107
|
+
// Default-hidden rows are never silent — a HIDDEN-SECTION placeholder (flush,
|
|
108
|
+
// full command) stands where the later rows would render.
|
|
91
109
|
if (opts.showLater !== true) {
|
|
92
110
|
const hiddenLater = view.later.scheduled.reduce((n, d) => n + d.items.length, 0) +
|
|
93
111
|
view.later.repeating.length +
|
|
94
112
|
view.later.someday.length;
|
|
95
113
|
if (hiddenLater > 0)
|
|
96
|
-
lines.push("",
|
|
114
|
+
lines.push("", disclosureHint(hiddenLater, "later item", [{ command: `${base} --show-later` }]));
|
|
97
115
|
}
|
|
98
116
|
if (logged.length > 0) {
|
|
99
117
|
const header = logged.length < view.logged.length
|
|
@@ -102,24 +120,73 @@ export function renderProjectView(view, opts) {
|
|
|
102
120
|
lines.push("", bold(header), ...logged.map(fmt));
|
|
103
121
|
}
|
|
104
122
|
else if (view.logged.length > 0) {
|
|
105
|
-
|
|
123
|
+
// Bare `--show-logged` is the FULL project logbook, so the command reads
|
|
124
|
+
// its own effect — no label needed.
|
|
125
|
+
lines.push("", disclosureHint(view.logged.length, "logged item", [{ command: `${base} --show-logged` }]));
|
|
106
126
|
}
|
|
107
127
|
if (view.trashed.length)
|
|
108
128
|
lines.push("", bold(`── Trashed (${view.trashed.length}) ──`));
|
|
129
|
+
// PLOG1 discoverability advisory: a completed/canceled (incl. logged) project
|
|
130
|
+
// can still hold OPEN children — the app buries them in every live view, and
|
|
131
|
+
// they surface only here. A flush sibling of the disclosure-hint placeholder
|
|
132
|
+
// class (docs/design/render-language.md § Disclosure hints): the rows ARE on
|
|
133
|
+
// screen above, so it takes no `…` and no reveal command — it just names what
|
|
134
|
+
// the app hides.
|
|
135
|
+
if (view.openChildrenWhileResolved > 0) {
|
|
136
|
+
const n = view.openChildrenWhileResolved;
|
|
137
|
+
lines.push("", dim(`contains ${n} unfinished to-do${n === 1 ? "" : "s"} — invisible in the app's live views`));
|
|
138
|
+
}
|
|
109
139
|
return lines;
|
|
110
140
|
}
|
|
141
|
+
/**
|
|
142
|
+
* The `project show <ref>` action body, factored out so the pluralized
|
|
143
|
+
* `things projects <ref>` can delegate to the identical code path (a true
|
|
144
|
+
* synonym). Both echo the canonical `things project show …` hint.
|
|
145
|
+
*/
|
|
146
|
+
export function runProjectShow(ref, rawOpts) {
|
|
147
|
+
if (tagFlagConflict(rawOpts))
|
|
148
|
+
return;
|
|
149
|
+
// --all lifts the view's own default restriction (the hidden later rows).
|
|
150
|
+
// Logged is a SEPARATE content class and stays behind --show-logged.
|
|
151
|
+
const overdue = rawOpts.overdue === true;
|
|
152
|
+
const tagFilter = tagFilterFields(rawOpts);
|
|
153
|
+
const opts = {
|
|
154
|
+
...rawOpts,
|
|
155
|
+
showLater: rawOpts.showLater === true || rawOpts.all === true,
|
|
156
|
+
hintBase: invocation("project show", [
|
|
157
|
+
shellQuote(ref),
|
|
158
|
+
...showToggleFlags(rawOpts),
|
|
159
|
+
overdue && "--overdue",
|
|
160
|
+
...tagInvocationParts(rawOpts),
|
|
161
|
+
]),
|
|
162
|
+
};
|
|
163
|
+
runRead(opts, "project-view", (c) => {
|
|
164
|
+
try {
|
|
165
|
+
return { data: c.read.projectView(ref, { overdue, ...tagFilter }) };
|
|
166
|
+
}
|
|
167
|
+
catch (err) {
|
|
168
|
+
// Not-found gets a type-scoped did-you-mean; ambiguity is verbatim.
|
|
169
|
+
if (err instanceof RangeError && !err.message.includes("ambiguous")) {
|
|
170
|
+
throw new DidYouMeanError(err.message, ref, c.read.liteTitleSearch(ref, { type: "project" }));
|
|
171
|
+
}
|
|
172
|
+
throw err;
|
|
173
|
+
}
|
|
174
|
+
}, (d) => renderProjectView(d, opts));
|
|
175
|
+
}
|
|
111
176
|
export function registerProjectCommands(program) {
|
|
112
177
|
const project = program.command("project").description("Project-scoped operations");
|
|
113
|
-
project
|
|
178
|
+
const projectShow = project
|
|
114
179
|
.command("show <ref>")
|
|
115
|
-
.description("Composite project view mirroring the native UI: active items and headings. --show-later adds scheduled/repeating/someday rows inline under their headings; --show-logged adds the full logbook. Target by uuid or unique name.")
|
|
180
|
+
.description("Composite project view mirroring the native UI: active items and headings. --show-later adds scheduled/repeating/someday rows inline under their headings; --show-logged adds the full logbook. --tag / --untagged filter the child to-dos by a tag carried directly on the to-do — tags inherited from this project are ignored (every child inherits them). Target by uuid or unique name.")
|
|
116
181
|
.option("--show-later", "include scheduled, repeating, and someday rows")
|
|
117
182
|
.option("--show-logged [n]", "include logged items (bare flag = all; pass a count to cap)")
|
|
183
|
+
.option("--overdue", "only child to-dos past their deadline (due today is not overdue)")
|
|
184
|
+
.option("--all", "reveal the later rows (same as --show-later; logged stays behind --show-logged)")
|
|
118
185
|
.option("--json", "emit versioned JSON envelope on stdout")
|
|
119
|
-
.option("--db <path>", "explicit database path")
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
186
|
+
.option("--db <path>", "explicit database path");
|
|
187
|
+
addTagFilterOptions(projectShow)
|
|
188
|
+
.addHelpText("after", CONTAINER_TAG_HINT)
|
|
189
|
+
.action((ref, rawOpts) => runProjectShow(ref, rawOpts));
|
|
123
190
|
project
|
|
124
191
|
.command("open <ref>")
|
|
125
192
|
.description("Open the project in the Things app — foregrounds the GUI on this Mac (NOT headless). Errors when the reference is not a project.")
|
|
@@ -133,7 +200,7 @@ export function registerProjectCommands(program) {
|
|
|
133
200
|
throw new RangeError(`"${ref}" is a ${what}, not a project (try \`things open\`)`);
|
|
134
201
|
}
|
|
135
202
|
return { uri: openInThings(t.uuid) };
|
|
136
|
-
}, (
|
|
203
|
+
}, (d) => [`opened ${d.uri}`]);
|
|
137
204
|
});
|
|
138
205
|
}
|
|
139
206
|
//# sourceMappingURL=project.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project.js","sourceRoot":"","sources":["../../../src/cli/commands/project.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"project.js","sourceRoot":"","sources":["../../../src/cli/commands/project.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,134 +1,15 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Read-only list commands
|
|
3
|
-
*
|
|
2
|
+
* Read-only list commands: option/description wiring per view, delegating to
|
|
3
|
+
* the read driver (../read-driver.ts) for envelope/output and to the pure
|
|
4
|
+
* renderers (../render.ts) for human lines. Each command renders a compact
|
|
5
|
+
* human table (UUIDs always shown — agents and humans both need stable
|
|
6
|
+
* references) or a --json envelope.
|
|
4
7
|
*/
|
|
5
|
-
import type
|
|
6
|
-
import { type ThingsClient } from "../../client.ts";
|
|
7
|
-
import { type ListItem, type SidebarSection } from "../../read/views.ts";
|
|
8
|
-
interface GlobalReadOpts {
|
|
9
|
-
json?: boolean;
|
|
10
|
-
db?: string;
|
|
11
|
-
}
|
|
12
|
-
export declare function withClient(opts: GlobalReadOpts, kind: string, fn: (client: ThingsClient) => unknown, render: (data: never) => string[]): void;
|
|
13
|
-
export interface FormatOpts {
|
|
14
|
-
/**
|
|
15
|
-
* Render a grouped project TITLE row: bold+underlined title (the GUI's
|
|
16
|
-
* project-header look) — the circle glyph and count chip still apply.
|
|
17
|
-
*/
|
|
18
|
-
projectTitle?: boolean;
|
|
19
|
-
/** Container uuids already implied by surrounding output — their context suffix is dropped. */
|
|
20
|
-
suppressProject?: string | null;
|
|
21
|
-
suppressArea?: string | null;
|
|
22
|
-
/** Reference instant for date-relative tokens (tests pin this; defaults to now). */
|
|
23
|
-
now?: Date;
|
|
24
|
-
/** Pre-styled Today/Evening mark (★/⏾), rendered right after the box — GUI position. */
|
|
25
|
-
mark?: string | null;
|
|
26
|
-
/** Dim status word after the box (the GUI's waiting/paused/ended chips on repeating templates). */
|
|
27
|
-
statusWord?: string;
|
|
28
|
-
/** Suppress the ‹date› chip (rows under a day header already carry the date). */
|
|
29
|
-
hideDateChip?: boolean;
|
|
30
|
-
}
|
|
31
|
-
/**
|
|
32
|
-
* One item line:
|
|
33
|
-
* `<uuid-prefix> <box> [★|⏾] [logged-date] [‹chip›] <title> [‹n›] [⍾] [≡] [≔] (container) #tags [⚑ deadline]`.
|
|
34
|
-
* Repeating templates seat ↻ INSIDE the box (`[↻]`/`(↻)`) rather than as a
|
|
35
|
-
* separate mark; open project rows render their circle and title blue.
|
|
36
|
-
* The box is the glyph-language state carrier (../glyphs.ts): `[ ]`-family
|
|
37
|
-
* for to-dos, `( )`-family for projects — state survives with color
|
|
38
|
-
* stripped. Completed titles dim; canceled titles dim+strike (the `[×]`
|
|
39
|
-
* mark keeps the state when strike/ANSI is unavailable). Human output shows
|
|
40
|
-
* a SHORTENED uuid prefix (every command accepts unique prefixes >= 6
|
|
41
|
-
* chars); `uuidWidth` is the display length from uuidDisplayWidth — never
|
|
42
|
-
* below 8 so a copied prefix stays unique across the whole database, not
|
|
43
|
-
* just the rendered list. Tags follow the title (`#`-prefixed, green — GUI
|
|
44
|
-
* color), after the count chip (projects), notes marker, and container.
|
|
45
|
-
* Heading-nested to-dos label their parent PROJECT (via headingProject),
|
|
46
|
-
* never the heading — GUI behavior. Colors engage on a TTY only
|
|
47
|
-
* (../style.ts); `--json` always carries full uuids.
|
|
48
|
-
*/
|
|
49
|
-
export declare function formatItem(item: ListItem, uuidWidth?: number, opts?: FormatOpts): string;
|
|
50
|
-
/**
|
|
51
|
-
* Row prefix in today-aware views: yellow ★ for Today members, cyan ⏾ for
|
|
52
|
-
* effective This-Evening members (raw evening assignment counts only while
|
|
53
|
-
* startDate is exactly today — the UI's daily expiry), null otherwise.
|
|
54
|
-
*/
|
|
55
|
-
export declare function todayMark(item: ListItem, now?: Date): string | null;
|
|
8
|
+
import { type Command } from "commander";
|
|
56
9
|
/**
|
|
57
10
|
* Foreground the Things app on a resource via its share URI. A GUI action
|
|
58
11
|
* on this Mac — NOT headless; the shared implementation behind every
|
|
59
12
|
* `open` command. Returns the URI it launched.
|
|
60
13
|
*/
|
|
61
14
|
export declare function openInThings(uuid: string): string;
|
|
62
|
-
/**
|
|
63
|
-
* Display width for a list's uuid column: the shortest prefix that is
|
|
64
|
-
* unique WITHIN the list, floored at UUID_DISPLAY_MIN (list-local
|
|
65
|
-
* uniqueness at 2–3 chars would still collide database-wide).
|
|
66
|
-
*/
|
|
67
|
-
export declare function uuidDisplayWidth(items: Array<{
|
|
68
|
-
uuid: string;
|
|
69
|
-
}>): number;
|
|
70
|
-
/** Hidden-later counts per sidebar group (null area = the loose block). */
|
|
71
|
-
export interface LaterHints {
|
|
72
|
-
/** Sidebar-ordered, INCLUDING groups whose every project is later. */
|
|
73
|
-
groups: Array<{
|
|
74
|
-
area: {
|
|
75
|
-
uuid: string;
|
|
76
|
-
title: string;
|
|
77
|
-
} | null;
|
|
78
|
-
hidden: number;
|
|
79
|
-
}>;
|
|
80
|
-
}
|
|
81
|
-
/**
|
|
82
|
-
* The sidebar mirror for `things projects`: loose projects first (the GUI
|
|
83
|
-
* lists them above the areas), then a `── ⬡ Area ──` header per area with
|
|
84
|
-
* its projects beneath (the redundant `(Area)` suffix suppressed). Items
|
|
85
|
-
* arrive from projectsView already in sidebar order — this only inserts the
|
|
86
|
-
* headers. Denser than renderSections on purpose: no title styling and no
|
|
87
|
-
* blank line per project (every row here IS a project). With `hints`,
|
|
88
|
-
* default-hidden later projects are never silent: each group trails a muted
|
|
89
|
-
* `…n later projects` count (a later-only area still gets its header), and
|
|
90
|
-
* the output ends with the flag that reveals them.
|
|
91
|
-
*/
|
|
92
|
-
export declare function renderProjectsSidebar(items: ListItem[], hints?: LaterHints): string[];
|
|
93
|
-
/**
|
|
94
|
-
* `--until` accepting whole periods: `2024` means through Dec 31 2024,
|
|
95
|
-
* `2024-03` through Mar 31, `2024-03-05` through end of that day; relative
|
|
96
|
-
* periods (`2w`, `1m`, `1y`) count FORWARD from now through the end of the
|
|
97
|
-
* landing day; anything else parses as an instant.
|
|
98
|
-
*/
|
|
99
|
-
export declare function parsePeriodEnd(s: string, now?: Date): Date;
|
|
100
|
-
/**
|
|
101
|
-
* `--since` accepting the same vocabulary at the period's START: `2024` =
|
|
102
|
-
* Jan 1 2024 00:00, `2024-03` = Mar 1, `2024-03-05` = that midnight;
|
|
103
|
-
* relative periods (`2w`, `1m`) count BACKWARD from now to the landing
|
|
104
|
-
* day's midnight; anything else parses as an instant.
|
|
105
|
-
*/
|
|
106
|
-
export declare function parsePeriodStart(s: string, now?: Date): Date;
|
|
107
|
-
/**
|
|
108
|
-
* Upcoming rows under GUI-style date headers (empty periods are simply
|
|
109
|
-
* absent), with the trailing Repeating To-Dos section: templates with no
|
|
110
|
-
* set next occurrence, carrying their waiting/paused/ended status word and
|
|
111
|
-
* the bare ⚑ when the rule will assign a deadline per occurrence.
|
|
112
|
-
*/
|
|
113
|
-
export declare function renderUpcoming(items: ListItem[], now?: Date): string[];
|
|
114
|
-
/**
|
|
115
|
-
* Logbook rows under GUI-style date headings, month granularity throughout
|
|
116
|
-
* — `── July ──` within the current year, `── March 2025 ──` beyond (finer
|
|
117
|
-
* than the GUI's bare per-year buckets, deliberately). When the row count
|
|
118
|
-
* hits the limit, a trailing note says the range is NOT exhaustive.
|
|
119
|
-
*/
|
|
120
|
-
export declare function renderLogbook(items: ListItem[], limit: number, now?: Date): string[];
|
|
121
|
-
/**
|
|
122
|
-
* Sidebar-grouped views (anytime/someday), rendered the way the GUI reads:
|
|
123
|
-
* the area-less block headerless first, then one `── <area> ──` header per
|
|
124
|
-
* area; inside a section, loose to-dos first, then each project GROUP — a
|
|
125
|
-
* blank line, the project's bold+underlined title row, then its members.
|
|
126
|
-
* Container names implied by the grouping are not repeated on member rows
|
|
127
|
-
* (an area header covers its rows; a project title row covers the to-dos
|
|
128
|
-
* beneath it — a clustered child whose project row is absent, e.g. under a
|
|
129
|
-
* tag filter, keeps its `(project)` suffix). `star` prefixes each item line
|
|
130
|
-
* with the Today-membership mark (★, or ⏾ for This-Evening members).
|
|
131
|
-
*/
|
|
132
|
-
export declare function renderSections(sections: SidebarSection[], star?: boolean): string[];
|
|
133
15
|
export declare function registerReadCommands(program: Command): void;
|
|
134
|
-
export {};
|