things-api 0.5.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.
Files changed (184) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +77 -0
  3. package/bin/things.js +9 -0
  4. package/dist/audit/log.d.ts +10 -0
  5. package/dist/audit/log.js +31 -0
  6. package/dist/audit/log.js.map +1 -0
  7. package/dist/audit/schema.d.ts +37 -0
  8. package/dist/audit/schema.js +9 -0
  9. package/dist/audit/schema.js.map +1 -0
  10. package/dist/cli/commands/doctor.d.ts +9 -0
  11. package/dist/cli/commands/doctor.js +60 -0
  12. package/dist/cli/commands/doctor.js.map +1 -0
  13. package/dist/cli/commands/mcp.d.ts +7 -0
  14. package/dist/cli/commands/mcp.js +26 -0
  15. package/dist/cli/commands/mcp.js.map +1 -0
  16. package/dist/cli/commands/project.d.ts +5 -0
  17. package/dist/cli/commands/project.js +50 -0
  18. package/dist/cli/commands/project.js.map +1 -0
  19. package/dist/cli/commands/reads.d.ts +21 -0
  20. package/dist/cli/commands/reads.js +295 -0
  21. package/dist/cli/commands/reads.js.map +1 -0
  22. package/dist/cli/commands/snapshot.d.ts +7 -0
  23. package/dist/cli/commands/snapshot.js +22 -0
  24. package/dist/cli/commands/snapshot.js.map +1 -0
  25. package/dist/cli/commands/todo.d.ts +6 -0
  26. package/dist/cli/commands/todo.js +43 -0
  27. package/dist/cli/commands/todo.js.map +1 -0
  28. package/dist/cli/commands/writes.d.ts +9 -0
  29. package/dist/cli/commands/writes.js +994 -0
  30. package/dist/cli/commands/writes.js.map +1 -0
  31. package/dist/cli/exit-codes.d.ts +26 -0
  32. package/dist/cli/exit-codes.js +26 -0
  33. package/dist/cli/exit-codes.js.map +1 -0
  34. package/dist/cli/main.d.ts +4 -0
  35. package/dist/cli/main.js +73 -0
  36. package/dist/cli/main.js.map +1 -0
  37. package/dist/cli/output.d.ts +42 -0
  38. package/dist/cli/output.js +16 -0
  39. package/dist/cli/output.js.map +1 -0
  40. package/dist/cli/style.d.ts +6 -0
  41. package/dist/cli/style.js +25 -0
  42. package/dist/cli/style.js.map +1 -0
  43. package/dist/client.d.ts +184 -0
  44. package/dist/client.js +187 -0
  45. package/dist/client.js.map +1 -0
  46. package/dist/config.d.ts +31 -0
  47. package/dist/config.js +76 -0
  48. package/dist/config.js.map +1 -0
  49. package/dist/contracts.d.ts +79 -0
  50. package/dist/contracts.js +46 -0
  51. package/dist/contracts.js.map +1 -0
  52. package/dist/db/baselines/db-v26.d.ts +8 -0
  53. package/dist/db/baselines/db-v26.js +16 -0
  54. package/dist/db/baselines/db-v26.js.map +1 -0
  55. package/dist/db/baselines/index.d.ts +3 -0
  56. package/dist/db/baselines/index.js +4 -0
  57. package/dist/db/baselines/index.js.map +1 -0
  58. package/dist/db/connection.d.ts +22 -0
  59. package/dist/db/connection.js +40 -0
  60. package/dist/db/connection.js.map +1 -0
  61. package/dist/db/fingerprint.d.ts +42 -0
  62. package/dist/db/fingerprint.js +82 -0
  63. package/dist/db/fingerprint.js.map +1 -0
  64. package/dist/db/locate.d.ts +13 -0
  65. package/dist/db/locate.js +44 -0
  66. package/dist/db/locate.js.map +1 -0
  67. package/dist/db/schema.d.ts +37 -0
  68. package/dist/db/schema.js +81 -0
  69. package/dist/db/schema.js.map +1 -0
  70. package/dist/diagnose.d.ts +67 -0
  71. package/dist/diagnose.js +143 -0
  72. package/dist/diagnose.js.map +1 -0
  73. package/dist/index.d.ts +46 -0
  74. package/dist/index.js +23 -0
  75. package/dist/index.js.map +1 -0
  76. package/dist/mcp/server.d.ts +8 -0
  77. package/dist/mcp/server.js +1002 -0
  78. package/dist/mcp/server.js.map +1 -0
  79. package/dist/model/dates.d.ts +38 -0
  80. package/dist/model/dates.js +104 -0
  81. package/dist/model/dates.js.map +1 -0
  82. package/dist/model/entities.d.ts +117 -0
  83. package/dist/model/entities.js +21 -0
  84. package/dist/model/entities.js.map +1 -0
  85. package/dist/model/mappers.d.ts +55 -0
  86. package/dist/model/mappers.js +105 -0
  87. package/dist/model/mappers.js.map +1 -0
  88. package/dist/model/occurrences.d.ts +46 -0
  89. package/dist/model/occurrences.js +164 -0
  90. package/dist/model/occurrences.js.map +1 -0
  91. package/dist/model/recurrence.d.ts +52 -0
  92. package/dist/model/recurrence.js +164 -0
  93. package/dist/model/recurrence.js.map +1 -0
  94. package/dist/paths.d.ts +6 -0
  95. package/dist/paths.js +30 -0
  96. package/dist/paths.js.map +1 -0
  97. package/dist/read/detail.d.ts +8 -0
  98. package/dist/read/detail.js +34 -0
  99. package/dist/read/detail.js.map +1 -0
  100. package/dist/read/project-view.d.ts +34 -0
  101. package/dist/read/project-view.js +87 -0
  102. package/dist/read/project-view.js.map +1 -0
  103. package/dist/read/queries.d.ts +39 -0
  104. package/dist/read/queries.js +134 -0
  105. package/dist/read/queries.js.map +1 -0
  106. package/dist/read/snapshot.d.ts +25 -0
  107. package/dist/read/snapshot.js +39 -0
  108. package/dist/read/snapshot.js.map +1 -0
  109. package/dist/read/tags.d.ts +17 -0
  110. package/dist/read/tags.js +64 -0
  111. package/dist/read/tags.js.map +1 -0
  112. package/dist/read/views.d.ts +152 -0
  113. package/dist/read/views.js +322 -0
  114. package/dist/read/views.js.map +1 -0
  115. package/dist/surface-copy.d.ts +15 -0
  116. package/dist/surface-copy.js +16 -0
  117. package/dist/surface-copy.js.map +1 -0
  118. package/dist/write/automation-probe.d.ts +12 -0
  119. package/dist/write/automation-probe.js +59 -0
  120. package/dist/write/automation-probe.js.map +1 -0
  121. package/dist/write/batch.d.ts +51 -0
  122. package/dist/write/batch.js +97 -0
  123. package/dist/write/batch.js.map +1 -0
  124. package/dist/write/capabilities.d.ts +16 -0
  125. package/dist/write/capabilities.js +16 -0
  126. package/dist/write/capabilities.js.map +1 -0
  127. package/dist/write/commands.d.ts +32 -0
  128. package/dist/write/commands.js +1274 -0
  129. package/dist/write/commands.js.map +1 -0
  130. package/dist/write/environment.d.ts +29 -0
  131. package/dist/write/environment.js +105 -0
  132. package/dist/write/environment.js.map +1 -0
  133. package/dist/write/experimental.d.ts +7 -0
  134. package/dist/write/experimental.js +39 -0
  135. package/dist/write/experimental.js.map +1 -0
  136. package/dist/write/failure-hints.d.ts +32 -0
  137. package/dist/write/failure-hints.js +71 -0
  138. package/dist/write/failure-hints.js.map +1 -0
  139. package/dist/write/guards.d.ts +21 -0
  140. package/dist/write/guards.js +312 -0
  141. package/dist/write/guards.js.map +1 -0
  142. package/dist/write/lock.d.ts +10 -0
  143. package/dist/write/lock.js +70 -0
  144. package/dist/write/lock.js.map +1 -0
  145. package/dist/write/operations.d.ts +262 -0
  146. package/dist/write/operations.js +34 -0
  147. package/dist/write/operations.js.map +1 -0
  148. package/dist/write/pipeline.d.ts +90 -0
  149. package/dist/write/pipeline.js +375 -0
  150. package/dist/write/pipeline.js.map +1 -0
  151. package/dist/write/planner.d.ts +40 -0
  152. package/dist/write/planner.js +57 -0
  153. package/dist/write/planner.js.map +1 -0
  154. package/dist/write/pre-state.d.ts +125 -0
  155. package/dist/write/pre-state.js +299 -0
  156. package/dist/write/pre-state.js.map +1 -0
  157. package/dist/write/reopen.d.ts +29 -0
  158. package/dist/write/reopen.js +63 -0
  159. package/dist/write/reopen.js.map +1 -0
  160. package/dist/write/reorder.d.ts +19 -0
  161. package/dist/write/reorder.js +285 -0
  162. package/dist/write/reorder.js.map +1 -0
  163. package/dist/write/undo.d.ts +53 -0
  164. package/dist/write/undo.js +703 -0
  165. package/dist/write/undo.js.map +1 -0
  166. package/dist/write/vectors/applescript.d.ts +5 -0
  167. package/dist/write/vectors/applescript.js +216 -0
  168. package/dist/write/vectors/applescript.js.map +1 -0
  169. package/dist/write/vectors/registry.d.ts +2 -0
  170. package/dist/write/vectors/registry.js +11 -0
  171. package/dist/write/vectors/registry.js.map +1 -0
  172. package/dist/write/vectors/types.d.ts +48 -0
  173. package/dist/write/vectors/types.js +2 -0
  174. package/dist/write/vectors/types.js.map +1 -0
  175. package/dist/write/vectors/url-scheme.d.ts +3 -0
  176. package/dist/write/vectors/url-scheme.js +176 -0
  177. package/dist/write/vectors/url-scheme.js.map +1 -0
  178. package/dist/write/verify/delta.d.ts +126 -0
  179. package/dist/write/verify/delta.js +281 -0
  180. package/dist/write/verify/delta.js.map +1 -0
  181. package/dist/write/verify/poller.d.ts +24 -0
  182. package/dist/write/verify/poller.js +28 -0
  183. package/dist/write/verify/poller.js.map +1 -0
  184. package/package.json +52 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"writes.js","sourceRoot":"","sources":["../../../src/cli/commands/writes.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Stable exit-code contract for the `things` CLI.
3
+ *
4
+ * These values are part of the public API surface consumed by agents and
5
+ * scripts. They must never be renumbered; add new codes at the end.
6
+ * See docs/design/contracts.md.
7
+ */
8
+ export declare const ExitCode: {
9
+ /** Success. */
10
+ readonly Ok: 0;
11
+ /** Unexpected internal error (bug, unhandled condition). */
12
+ readonly Unexpected: 1;
13
+ /** Usage error: unknown command, bad flags, invalid arguments. */
14
+ readonly Usage: 2;
15
+ /** Mutation executed but read-after-write verification failed (timeout, mismatch, or silent no-op). */
16
+ readonly VerifyFailed: 3;
17
+ /** Mutation refused before touching the app: hazard guard or disruption-tier policy. */
18
+ readonly Blocked: 4;
19
+ /** Writes disabled because the database schema fingerprint deviates from the known baseline. */
20
+ readonly DriftBlocked: 5;
21
+ /** Operation not supported by any available write vector. */
22
+ readonly Unsupported: 6;
23
+ /** Environment problem: database not found, Things not installed, permissions. */
24
+ readonly Environment: 7;
25
+ };
26
+ export type ExitCode = (typeof ExitCode)[keyof typeof ExitCode];
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Stable exit-code contract for the `things` CLI.
3
+ *
4
+ * These values are part of the public API surface consumed by agents and
5
+ * scripts. They must never be renumbered; add new codes at the end.
6
+ * See docs/design/contracts.md.
7
+ */
8
+ export const ExitCode = {
9
+ /** Success. */
10
+ Ok: 0,
11
+ /** Unexpected internal error (bug, unhandled condition). */
12
+ Unexpected: 1,
13
+ /** Usage error: unknown command, bad flags, invalid arguments. */
14
+ Usage: 2,
15
+ /** Mutation executed but read-after-write verification failed (timeout, mismatch, or silent no-op). */
16
+ VerifyFailed: 3,
17
+ /** Mutation refused before touching the app: hazard guard or disruption-tier policy. */
18
+ Blocked: 4,
19
+ /** Writes disabled because the database schema fingerprint deviates from the known baseline. */
20
+ DriftBlocked: 5,
21
+ /** Operation not supported by any available write vector. */
22
+ Unsupported: 6,
23
+ /** Environment problem: database not found, Things not installed, permissions. */
24
+ Environment: 7,
25
+ };
26
+ //# sourceMappingURL=exit-codes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"exit-codes.js","sourceRoot":"","sources":["../../src/cli/exit-codes.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,eAAe;IACf,EAAE,EAAE,CAAC;IACL,4DAA4D;IAC5D,UAAU,EAAE,CAAC;IACb,kEAAkE;IAClE,KAAK,EAAE,CAAC;IACR,uGAAuG;IACvG,YAAY,EAAE,CAAC;IACf,wFAAwF;IACxF,OAAO,EAAE,CAAC;IACV,gGAAgG;IAChG,YAAY,EAAE,CAAC;IACf,6DAA6D;IAC7D,WAAW,EAAE,CAAC;IACd,kFAAkF;IAClF,WAAW,EAAE,CAAC;CACN,CAAC"}
@@ -0,0 +1,4 @@
1
+ #!/usr/bin/env -S node --disable-warning=ExperimentalWarning
2
+ import { Command } from "commander";
3
+ export declare function buildProgram(): Command;
4
+ export declare function runCli(): void;
@@ -0,0 +1,73 @@
1
+ #!/usr/bin/env -S node --disable-warning=ExperimentalWarning
2
+ /**
3
+ * `things` — CLI over the things-api library. A thin surface: every command
4
+ * routes through ThingsClient (or core functions like diagnose/capabilities);
5
+ * contracts that bind are the exit codes and --json envelope (../contracts.ts).
6
+ */
7
+ import { realpathSync } from "node:fs";
8
+ import { fileURLToPath } from "node:url";
9
+ import { Command } from "commander";
10
+ import { registerDoctor } from "./commands/doctor.js";
11
+ import { registerMcp } from "./commands/mcp.js";
12
+ import { registerProjectCommands } from "./commands/project.js";
13
+ import { registerReadCommands } from "./commands/reads.js";
14
+ import { registerSnapshot } from "./commands/snapshot.js";
15
+ import { registerTodoCommands } from "./commands/todo.js";
16
+ import { registerWriteCommands } from "./commands/writes.js";
17
+ import { ExitCode, PKG_VERSION } from "../contracts.js";
18
+ const AGENT_NOTES = `
19
+ AGENT NOTES:
20
+ - Every command supports --json: versioned envelope on stdout, logs on stderr.
21
+ - Exit codes are stable: 0 ok, 2 usage, 3 verify-failed, 4 blocked,
22
+ 5 drift-blocked, 6 unsupported, 7 environment.
23
+ - No command ever prompts interactively; operations with cascading or
24
+ permanent effects require explicit flags documented in their --help.
25
+ - Discover the full operation catalog with: things capabilities --json
26
+ - Every write supports --dry-run: preview the planned change and its
27
+ expected effect without executing anything.
28
+ - Failures are loud: a change that does not take effect exits 3; refused
29
+ changes exit 4 with machine-readable remediation.
30
+ `;
31
+ export function buildProgram() {
32
+ const program = new Command();
33
+ program
34
+ .name("things")
35
+ .description("Programmatic interface to Things 3 (Cultured Code)")
36
+ .version(PKG_VERSION)
37
+ .addHelpText("after", AGENT_NOTES);
38
+ registerDoctor(program);
39
+ registerReadCommands(program);
40
+ registerProjectCommands(program);
41
+ registerTodoCommands(program);
42
+ registerWriteCommands(program);
43
+ registerSnapshot(program);
44
+ registerMcp(program);
45
+ return program;
46
+ }
47
+ export function runCli() {
48
+ const program = buildProgram();
49
+ program.exitOverride((err) => {
50
+ process.exit(err.exitCode === 0 ? ExitCode.Ok : ExitCode.Usage);
51
+ });
52
+ program.parse();
53
+ }
54
+ // Direct-run detection must survive the npm .bin symlink (argv[1] ends with
55
+ // "things", not "main.js") — resolve through realpath and compare to this
56
+ // module. Caught by scripts/pack-smoke.sh: a name-suffix check made the
57
+ // installed bin a silent no-op. The bin/things.js launcher bypasses this by
58
+ // calling runCli() explicitly.
59
+ const isDirectRun = (() => {
60
+ const invoked = process.argv[1];
61
+ if (invoked === undefined)
62
+ return false;
63
+ try {
64
+ return realpathSync(invoked) === fileURLToPath(import.meta.url);
65
+ }
66
+ catch {
67
+ return false;
68
+ }
69
+ })();
70
+ if (isDirectRun) {
71
+ runCli();
72
+ }
73
+ //# sourceMappingURL=main.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/cli/main.ts"],"names":[],"mappings":";AACA;;;;GAIG;AACH,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAExD,MAAM,WAAW,GAAG;;;;;;;;;;;;CAYnB,CAAC;AAEF,MAAM,UAAU,YAAY;IAC1B,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;IAC9B,OAAO;SACJ,IAAI,CAAC,QAAQ,CAAC;SACd,WAAW,CAAC,oDAAoD,CAAC;SACjE,OAAO,CAAC,WAAW,CAAC;SACpB,WAAW,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IACrC,cAAc,CAAC,OAAO,CAAC,CAAC;IACxB,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAC9B,uBAAuB,CAAC,OAAO,CAAC,CAAC;IACjC,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAC9B,qBAAqB,CAAC,OAAO,CAAC,CAAC;IAC/B,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAC1B,WAAW,CAAC,OAAO,CAAC,CAAC;IACrB,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,MAAM;IACpB,MAAM,OAAO,GAAG,YAAY,EAAE,CAAC;IAC/B,OAAO,CAAC,YAAY,CAAC,CAAC,GAAG,EAAE,EAAE;QAC3B,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAClE,CAAC,CAAC,CAAC;IACH,OAAO,CAAC,KAAK,EAAE,CAAC;AAClB,CAAC;AAED,4EAA4E;AAC5E,0EAA0E;AAC1E,wEAAwE;AACxE,4EAA4E;AAC5E,+BAA+B;AAC/B,MAAM,WAAW,GAAG,CAAC,GAAY,EAAE;IACjC,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAChC,IAAI,OAAO,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IACxC,IAAI,CAAC;QACH,OAAO,YAAY,CAAC,OAAO,CAAC,KAAK,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAClE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC,CAAC,EAAE,CAAC;AACL,IAAI,WAAW,EAAE,CAAC;IAChB,MAAM,EAAE,CAAC;AACX,CAAC"}
@@ -0,0 +1,42 @@
1
+ /**
2
+ * Versioned JSON envelope emitted by every CLI command under `--json`.
3
+ *
4
+ * Contract (see docs/design/contracts.md):
5
+ * - Envelope JSON goes to stdout; all human/log chatter goes to stderr.
6
+ * - `apiVersion` is bumped only on breaking envelope-shape changes.
7
+ * - `data` is command-specific; `error` is present exactly when `ok` is false.
8
+ */
9
+ export declare const API_VERSION = 1;
10
+ export interface EnvelopeMeta {
11
+ /** Things database schema version (`Meta.databaseVersion`), null when no DB was opened. */
12
+ dbVersion: number | null;
13
+ /** Schema fingerprint status at the time of the command. */
14
+ fingerprint: "ok" | "drift" | "user-accepted" | "unknown";
15
+ /** Wall-clock duration of the command in milliseconds. */
16
+ elapsedMs: number;
17
+ }
18
+ export interface OkEnvelope<T> {
19
+ apiVersion: typeof API_VERSION;
20
+ ok: true;
21
+ /** Discriminator naming the payload shape, e.g. "today", "mutation-result". */
22
+ kind: string;
23
+ data: T;
24
+ meta: EnvelopeMeta;
25
+ }
26
+ export interface ErrorEnvelope {
27
+ apiVersion: typeof API_VERSION;
28
+ ok: false;
29
+ kind: "error";
30
+ error: {
31
+ /** Stable machine-readable code, mirrors the exit-code family (e.g. "verify-failed", "blocked"). */
32
+ code: string;
33
+ message: string;
34
+ /** Actionable next step for the caller, when one exists. */
35
+ remediation?: string;
36
+ detail?: unknown;
37
+ };
38
+ meta: EnvelopeMeta;
39
+ }
40
+ export type Envelope<T> = OkEnvelope<T> | ErrorEnvelope;
41
+ export declare function okEnvelope<T>(kind: string, data: T, meta: EnvelopeMeta): OkEnvelope<T>;
42
+ export declare function errorEnvelope(error: ErrorEnvelope["error"], meta: EnvelopeMeta): ErrorEnvelope;
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Versioned JSON envelope emitted by every CLI command under `--json`.
3
+ *
4
+ * Contract (see docs/design/contracts.md):
5
+ * - Envelope JSON goes to stdout; all human/log chatter goes to stderr.
6
+ * - `apiVersion` is bumped only on breaking envelope-shape changes.
7
+ * - `data` is command-specific; `error` is present exactly when `ok` is false.
8
+ */
9
+ export const API_VERSION = 1;
10
+ export function okEnvelope(kind, data, meta) {
11
+ return { apiVersion: API_VERSION, ok: true, kind, data, meta };
12
+ }
13
+ export function errorEnvelope(error, meta) {
14
+ return { apiVersion: API_VERSION, ok: false, kind: "error", error, meta };
15
+ }
16
+ //# sourceMappingURL=output.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"output.js","sourceRoot":"","sources":["../../src/cli/output.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,CAAC;AAqC7B,MAAM,UAAU,UAAU,CAAI,IAAY,EAAE,IAAO,EAAE,IAAkB;IACrE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;AACjE,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,KAA6B,EAAE,IAAkB;IAC7E,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AAC5E,CAAC"}
@@ -0,0 +1,6 @@
1
+ export declare const bold: (s: string) => string;
2
+ export declare const dim: (s: string) => string;
3
+ export declare const red: (s: string) => string;
4
+ export declare const yellow: (s: string) => string;
5
+ export declare const magenta: (s: string) => string;
6
+ export declare const cyan: (s: string) => string;
@@ -0,0 +1,25 @@
1
+ /**
2
+ * ANSI styling for the human-readable CLI output. Colors engage only when
3
+ * stdout is a TTY, so piped/captured output (agents, scripts, tests) stays
4
+ * plain text with zero escape bytes. `NO_COLOR` (any value) always disables;
5
+ * `FORCE_COLOR` (any value except "0") enables even when piped. Only the
6
+ * base 16-color palette is used — terminals remap those per theme, so both
7
+ * light and dark backgrounds stay readable.
8
+ */
9
+ function colorEnabled() {
10
+ if (process.env["NO_COLOR"] !== undefined)
11
+ return false;
12
+ const force = process.env["FORCE_COLOR"];
13
+ if (force !== undefined)
14
+ return force !== "0";
15
+ return process.stdout.isTTY === true;
16
+ }
17
+ const ENABLED = colorEnabled();
18
+ const wrap = (open, close) => (s) => ENABLED ? `\u001b[${open}m${s}\u001b[${close}m` : s;
19
+ export const bold = wrap(1, 22);
20
+ export const dim = wrap(2, 22);
21
+ export const red = wrap(31, 39);
22
+ export const yellow = wrap(33, 39);
23
+ export const magenta = wrap(35, 39);
24
+ export const cyan = wrap(36, 39);
25
+ //# sourceMappingURL=style.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"style.js","sourceRoot":"","sources":["../../src/cli/style.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,SAAS,YAAY;IACnB,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IACxD,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IACzC,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,KAAK,KAAK,GAAG,CAAC;IAC9C,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,KAAK,IAAI,CAAC;AACvC,CAAC;AAED,MAAM,OAAO,GAAG,YAAY,EAAE,CAAC;AAE/B,MAAM,IAAI,GAAG,CAAC,IAAY,EAAE,KAAa,EAAE,EAAE,CAAC,CAAC,CAAS,EAAE,EAAE,CAC1D,OAAO,CAAC,CAAC,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AAEtD,MAAM,CAAC,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAChC,MAAM,CAAC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAC/B,MAAM,CAAC,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;AAChC,MAAM,CAAC,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;AACnC,MAAM,CAAC,MAAM,OAAO,GAAG,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;AACpC,MAAM,CAAC,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC"}
@@ -0,0 +1,184 @@
1
+ /**
2
+ * ThingsClient — the library entry point. Reads via direct SQLite; writes
3
+ * via the verified mutation pipeline (official app surfaces only).
4
+ */
5
+ import type { AuditWriter } from "./audit/log.ts";
6
+ import { type ThingsApiConfig } from "./config.ts";
7
+ import { type FingerprintStatus } from "./db/fingerprint.ts";
8
+ import type { AnyTask, Area, Project, Tag } from "./model/entities.ts";
9
+ import { type ProjectView } from "./read/project-view.ts";
10
+ import { type Snapshot } from "./read/snapshot.ts";
11
+ import { type ChangedItem, type ListItem, type SearchOptions, type SidebarSection, type SomedayFilter, type TodayView, type UpcomingFilter, type ViewFilter } from "./read/views.ts";
12
+ import type { AreaAddParams, AreaUpdateParams, ChecklistItemSpec, ContainerRef, ProjectCancelParams, OperationKind, OperationParamsMap, ProjectAddParams, ProjectCompleteParams, ProjectUpdateParams, ReorderParams, TagAddParams, TagUpdateParams, TodoAddLoggedParams, TodoAddParams, TodoBackdateParams, TodoMoveParams, TodoUpdateParams } from "./write/operations.ts";
13
+ import { type MutationResult, type WriteOptions } from "./write/pipeline.ts";
14
+ import { type BatchItemResult, type BatchOp, type BatchOptions } from "./write/batch.ts";
15
+ import { type EnvironmentTracker } from "./write/environment.ts";
16
+ import { type ReorderResult } from "./write/reorder.ts";
17
+ import { type UndoItemResult, type UndoOptions } from "./write/undo.ts";
18
+ import { type ProjectReopenOptions, type ProjectReopenResult } from "./write/reopen.ts";
19
+ import type { WriteVector } from "./write/vectors/types.ts";
20
+ import type { PollerDeps } from "./write/verify/poller.ts";
21
+ export interface OpenOptions {
22
+ dbPath?: string;
23
+ /** Injectable clock (tests, pinned-clock lab runs). */
24
+ now?: () => Date;
25
+ /** Injectable write vectors (tests: FakeVector; lab: probe vectors). */
26
+ vectors?: WriteVector[];
27
+ /** Env for config/state-dir resolution (tests). */
28
+ env?: NodeJS.ProcessEnv;
29
+ /** Test seams for the mutation pipeline. */
30
+ writeOverrides?: {
31
+ ensureRunning?: (alreadyRunning: boolean) => Promise<boolean>;
32
+ isAppRunning?: () => boolean;
33
+ poller?: PollerDeps;
34
+ audit?: AuditWriter;
35
+ sdefProbe?: () => boolean;
36
+ environment?: EnvironmentTracker;
37
+ };
38
+ }
39
+ export interface ThingsClient {
40
+ dbPath: string;
41
+ config: ThingsApiConfig;
42
+ fingerprint(): FingerprintStatus;
43
+ read: {
44
+ today(filter?: ViewFilter): TodayView;
45
+ inbox(filter?: ViewFilter): ListItem[];
46
+ anytime(filter?: ViewFilter): SidebarSection[];
47
+ upcoming(filter?: UpcomingFilter): ListItem[];
48
+ someday(filter?: SomedayFilter): SidebarSection[];
49
+ logbook(options?: {
50
+ limit?: number;
51
+ tag?: string;
52
+ exactTag?: boolean;
53
+ }): ListItem[];
54
+ trash(options?: {
55
+ limit?: number;
56
+ }): ListItem[];
57
+ projects(options?: {
58
+ areaUuid?: string;
59
+ }): Project[];
60
+ projectView(uuid: string): ProjectView;
61
+ areas(): Area[];
62
+ tags(): Tag[];
63
+ search(query: string, options?: SearchOptions): ListItem[];
64
+ /** Rows created/modified since a moment — incl. trashed/logged/templates. */
65
+ changes(options: {
66
+ since: Date;
67
+ limit?: number;
68
+ }): ChangedItem[];
69
+ byUuid(uuid: string): AnyTask | null;
70
+ snapshot(): Snapshot;
71
+ };
72
+ write: {
73
+ /** Generic entry: run any cataloged operation. */
74
+ run<K extends OperationKind>(op: K, params: OperationParamsMap[K], options?: WriteOptions): Promise<MutationResult>;
75
+ addTodo(params: TodoAddParams, options?: WriteOptions): Promise<MutationResult>;
76
+ updateTodo(uuid: string, patch: Omit<TodoUpdateParams, "uuid">, options?: WriteOptions): Promise<MutationResult>;
77
+ completeTodo(uuid: string, options?: WriteOptions): Promise<MutationResult>;
78
+ cancelTodo(uuid: string, options?: WriteOptions): Promise<MutationResult>;
79
+ reopenTodo(uuid: string, options?: WriteOptions): Promise<MutationResult>;
80
+ moveTodo(uuid: string, dest: Omit<TodoMoveParams, "uuid">, options?: WriteOptions): Promise<MutationResult>;
81
+ /** Replace the full tag set (an empty list clears all tags). */
82
+ setTags(uuid: string, tags: string[], options?: WriteOptions): Promise<MutationResult>;
83
+ /** Merge: current direct tags + new ones, then replace. */
84
+ addTags(uuid: string, tags: string[], options?: WriteOptions): Promise<MutationResult>;
85
+ replaceChecklist(uuid: string, items: string[], options?: WriteOptions): Promise<MutationResult>;
86
+ deleteTodo(uuid: string, options?: WriteOptions): Promise<MutationResult>;
87
+ /** Duplicate a to-do; the copy's uuid is on the result. */
88
+ duplicateTodo(uuid: string, options?: WriteOptions): Promise<MutationResult>;
89
+ /** Restore a TRASHED to-do: it returns to the Inbox, de-scheduled. */
90
+ restoreTodo(uuid: string, options?: WriteOptions): Promise<MutationResult>;
91
+ /**
92
+ * Rewrite a to-do's completion and/or creation timestamp to noon (local)
93
+ * on the given date. Completion requires the to-do to be completed or
94
+ * canceled already.
95
+ */
96
+ backdateTodo(uuid: string, dates: Omit<TodoBackdateParams, "uuid">, options?: WriteOptions): Promise<MutationResult>;
97
+ /**
98
+ * Create a to-do directly in the Logbook, completed, with backdated
99
+ * completion (and optionally creation) timestamps.
100
+ */
101
+ addLoggedTodo(params: TodoAddLoggedParams, options?: WriteOptions): Promise<MutationResult>;
102
+ /** Detach a to-do from its project/area/heading, keeping the schedule. */
103
+ detachTodo(uuid: string, options?: WriteOptions): Promise<MutationResult>;
104
+ /**
105
+ * One granular checklist edit (add/remove/check/uncheck/rename/move):
106
+ * changes a single item while every other item and its checked state is
107
+ * preserved (no reset acknowledgement needed). Items are matched by
108
+ * exact title; item uuids are NOT stable across an edit.
109
+ */
110
+ editChecklist(uuid: string, edit: ChecklistEdit, options?: WriteOptions): Promise<MutationResult>;
111
+ addProject(params: ProjectAddParams, options?: WriteOptions): Promise<MutationResult>;
112
+ updateProject(uuid: string, patch: Omit<ProjectUpdateParams, "uuid">, options?: WriteOptions): Promise<MutationResult>;
113
+ completeProject(uuid: string, policy: Pick<ProjectCompleteParams, "children">, options?: WriteOptions): Promise<MutationResult>;
114
+ /** Move a project to another area. */
115
+ moveProject(uuid: string, area: ContainerRef, options?: WriteOptions): Promise<MutationResult>;
116
+ /** Detach a project from its current area. */
117
+ detachProject(uuid: string, options?: WriteOptions): Promise<MutationResult>;
118
+ /** Cancel a project — open children are canceled with it, so the children policy is mandatory. */
119
+ cancelProject(uuid: string, policy: Pick<ProjectCancelParams, "children">, options?: WriteOptions): Promise<MutationResult>;
120
+ /**
121
+ * Reopen a completed/canceled project. Children stay resolved unless
122
+ * restoreChildren reopens the ones resolved together with the project.
123
+ */
124
+ reopenProject(uuid: string, options?: ProjectReopenOptions): Promise<ProjectReopenResult>;
125
+ /** Restore a TRASHED project IN PLACE — nothing relocates. */
126
+ restoreProject(uuid: string, options?: WriteOptions): Promise<MutationResult>;
127
+ /** Duplicate a project INCLUDING its children; the copy's uuid is on the result. */
128
+ duplicateProject(uuid: string, options?: WriteOptions): Promise<MutationResult>;
129
+ deleteProject(uuid: string, options?: WriteOptions): Promise<MutationResult>;
130
+ /** Replace a project's full tag set (an empty list clears all tags). */
131
+ setProjectTags(uuid: string, tags: string[], options?: WriteOptions): Promise<MutationResult>;
132
+ /** Merge: current project tags + new ones, then replace. */
133
+ addProjectTags(uuid: string, tags: string[], options?: WriteOptions): Promise<MutationResult>;
134
+ addArea(params: AreaAddParams, options?: WriteOptions): Promise<MutationResult>;
135
+ updateArea(target: string, patch: Omit<AreaUpdateParams, "target">, options?: WriteOptions): Promise<MutationResult>;
136
+ deleteArea(target: string, options?: WriteOptions): Promise<MutationResult>;
137
+ addTag(params: TagAddParams, options?: WriteOptions): Promise<MutationResult>;
138
+ updateTag(target: string, patch: Omit<TagUpdateParams, "target">, options?: WriteOptions): Promise<MutationResult>;
139
+ deleteTag(target: string, options?: WriteOptions): Promise<MutationResult>;
140
+ emptyTrash(options?: WriteOptions): Promise<MutationResult>;
141
+ /**
142
+ * Reorder within Today / This Evening / a project / an area. Partial
143
+ * uuid lists are placed on top; the rest keep their current order.
144
+ */
145
+ reorder(params: ReorderParams, options?: WriteOptions): Promise<ReorderResult>;
146
+ /**
147
+ * Run N ops sequentially and independently — no transactions, a failure
148
+ * does not roll back earlier ops. Per-op results.
149
+ */
150
+ batch(ops: BatchOp[], options?: BatchOptions, onResult?: (result: BatchItemResult) => void): Promise<BatchItemResult[]>;
151
+ /**
152
+ * Undo the last N changes made through this client, newest first, by
153
+ * applying the inverse change. Irreversible changes are reported as
154
+ * such, never guessed at.
155
+ */
156
+ undo(options?: UndoOptions, onItem?: (item: UndoItemResult) => void): Promise<UndoItemResult[]>;
157
+ };
158
+ close(): void;
159
+ }
160
+ /** One granular checklist edit; every other item's checked state is preserved. */
161
+ export type ChecklistEdit = {
162
+ action: "add";
163
+ title: string; /** 1-based insert position (default: append). */
164
+ at?: number;
165
+ } | {
166
+ action: "remove";
167
+ item: string;
168
+ } | {
169
+ action: "check";
170
+ item: string;
171
+ } | {
172
+ action: "uncheck";
173
+ item: string;
174
+ } | {
175
+ action: "rename";
176
+ item: string;
177
+ title: string;
178
+ } | {
179
+ action: "move";
180
+ item: string; /** 1-based target position. */
181
+ to: number;
182
+ };
183
+ export declare function applyChecklistEdit(items: ChecklistItemSpec[], edit: ChecklistEdit): ChecklistItemSpec[];
184
+ export declare function openThings(options?: OpenOptions): ThingsClient;