things-api 0.17.0 → 0.18.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 (172) hide show
  1. package/README.md +1 -1
  2. package/deputy/VERSION +1 -0
  3. package/deputy/helpers-Info.plist +23 -0
  4. package/deputy/prebuilt/Things API Helper.app/Contents/CodeResources +0 -0
  5. package/deputy/prebuilt/Things API Helper.app/Contents/Helpers/things-reader.app/Contents/Info.plist +20 -0
  6. package/deputy/prebuilt/Things API Helper.app/Contents/Helpers/things-reader.app/Contents/MacOS/things-reader +0 -0
  7. package/deputy/prebuilt/Things API Helper.app/Contents/Helpers/things-reader.app/Contents/_CodeSignature/CodeResources +115 -0
  8. package/deputy/prebuilt/Things API Helper.app/Contents/Info.plist +23 -0
  9. package/deputy/prebuilt/Things API Helper.app/Contents/MacOS/things-deputy +0 -0
  10. package/deputy/prebuilt/Things API Helper.app/Contents/_CodeSignature/CodeResources +125 -0
  11. package/deputy/reader/Info.plist +20 -0
  12. package/deputy/reader/entitlements.plist +15 -0
  13. package/deputy/reader/main.swift +491 -0
  14. package/deputy/src/main.swift +133 -0
  15. package/deputy/src/osascript.swift +102 -0
  16. package/deputy/src/server.swift +350 -0
  17. package/deputy/src/sqlite.swift +121 -0
  18. package/dist/cli/commands/doctor.js +55 -2
  19. package/dist/cli/commands/doctor.js.map +1 -1
  20. package/dist/cli/commands/helpers.d.ts +17 -0
  21. package/dist/cli/commands/helpers.js +148 -0
  22. package/dist/cli/commands/helpers.js.map +1 -0
  23. package/dist/cli/commands/op-result.d.ts +15 -0
  24. package/dist/cli/commands/op-result.js +39 -0
  25. package/dist/cli/commands/op-result.js.map +1 -0
  26. package/dist/cli/commands/writes.js +22 -3
  27. package/dist/cli/commands/writes.js.map +1 -1
  28. package/dist/cli/help.js +4 -0
  29. package/dist/cli/help.js.map +1 -1
  30. package/dist/cli/helpers-check.d.ts +10 -0
  31. package/dist/cli/helpers-check.js +59 -0
  32. package/dist/cli/helpers-check.js.map +1 -0
  33. package/dist/cli/main.js +22 -1
  34. package/dist/cli/main.js.map +1 -1
  35. package/dist/client.js +16 -2
  36. package/dist/client.js.map +1 -1
  37. package/dist/config.d.ts +31 -0
  38. package/dist/config.js +9 -0
  39. package/dist/config.js.map +1 -1
  40. package/dist/contracts.d.ts +1 -1
  41. package/dist/contracts.js +1 -1
  42. package/dist/db/baselines/db-v26.js +8 -4
  43. package/dist/db/baselines/db-v26.js.map +1 -1
  44. package/dist/db/baselines/db-v27.d.ts +42 -0
  45. package/dist/db/baselines/db-v27.js +47 -0
  46. package/dist/db/baselines/db-v27.js.map +1 -0
  47. package/dist/db/baselines/index.js +2 -1
  48. package/dist/db/baselines/index.js.map +1 -1
  49. package/dist/db/locate.d.ts +4 -1
  50. package/dist/db/locate.js +3 -1
  51. package/dist/db/locate.js.map +1 -1
  52. package/dist/db/schema.d.ts +1 -1
  53. package/dist/db/schema.js +9 -0
  54. package/dist/db/schema.js.map +1 -1
  55. package/dist/deputy/bridge-worker.d.ts +1 -0
  56. package/dist/deputy/bridge-worker.js +79 -0
  57. package/dist/deputy/bridge-worker.js.map +1 -0
  58. package/dist/deputy/bridge.d.ts +14 -0
  59. package/dist/deputy/bridge.js +70 -0
  60. package/dist/deputy/bridge.js.map +1 -0
  61. package/dist/deputy/client.d.ts +19 -0
  62. package/dist/deputy/client.js +104 -0
  63. package/dist/deputy/client.js.map +1 -0
  64. package/dist/deputy/db-facade.d.ts +18 -0
  65. package/dist/deputy/db-facade.js +71 -0
  66. package/dist/deputy/db-facade.js.map +1 -0
  67. package/dist/deputy/files.d.ts +1 -0
  68. package/dist/deputy/files.js +16 -0
  69. package/dist/deputy/files.js.map +1 -0
  70. package/dist/deputy/install.d.ts +105 -0
  71. package/dist/deputy/install.js +467 -0
  72. package/dist/deputy/install.js.map +1 -0
  73. package/dist/deputy/notice.d.ts +6 -0
  74. package/dist/deputy/notice.js +28 -0
  75. package/dist/deputy/notice.js.map +1 -0
  76. package/dist/deputy/notices.d.ts +31 -0
  77. package/dist/deputy/notices.js +94 -0
  78. package/dist/deputy/notices.js.map +1 -0
  79. package/dist/deputy/osa.d.ts +21 -0
  80. package/dist/deputy/osa.js +72 -0
  81. package/dist/deputy/osa.js.map +1 -0
  82. package/dist/deputy/protocol.d.ts +86 -0
  83. package/dist/deputy/protocol.js +106 -0
  84. package/dist/deputy/protocol.js.map +1 -0
  85. package/dist/deputy/routing.d.ts +63 -0
  86. package/dist/deputy/routing.js +338 -0
  87. package/dist/deputy/routing.js.map +1 -0
  88. package/dist/deputy/shortcuts-exec.d.ts +10 -0
  89. package/dist/deputy/shortcuts-exec.js +50 -0
  90. package/dist/deputy/shortcuts-exec.js.map +1 -0
  91. package/dist/diagnose.d.ts +43 -1
  92. package/dist/diagnose.js +64 -2
  93. package/dist/diagnose.js.map +1 -1
  94. package/dist/index.d.ts +13 -2
  95. package/dist/index.js +10 -1
  96. package/dist/index.js.map +1 -1
  97. package/dist/mcp/server.js +25 -7
  98. package/dist/mcp/server.js.map +1 -1
  99. package/dist/model/mappers.d.ts +12 -3
  100. package/dist/model/mappers.js +6 -1
  101. package/dist/model/mappers.js.map +1 -1
  102. package/dist/model/recurrence.d.ts +5 -1
  103. package/dist/model/recurrence.js +19 -1
  104. package/dist/model/recurrence.js.map +1 -1
  105. package/dist/model/template-projection.d.ts +26 -0
  106. package/dist/model/template-projection.js +113 -0
  107. package/dist/model/template-projection.js.map +1 -0
  108. package/dist/op-result.d.ts +46 -0
  109. package/dist/op-result.js +156 -0
  110. package/dist/op-result.js.map +1 -0
  111. package/dist/read/detail.js +7 -1
  112. package/dist/read/detail.js.map +1 -1
  113. package/dist/read/queries.js +8 -1
  114. package/dist/read/queries.js.map +1 -1
  115. package/dist/read/views.d.ts +6 -4
  116. package/dist/read/views.js +60 -18
  117. package/dist/read/views.js.map +1 -1
  118. package/dist/sync-health.js +6 -2
  119. package/dist/sync-health.js.map +1 -1
  120. package/dist/write/accessibility-probe.js +4 -2
  121. package/dist/write/accessibility-probe.js.map +1 -1
  122. package/dist/write/automation-probe.js +5 -1
  123. package/dist/write/automation-probe.js.map +1 -1
  124. package/dist/write/availability.js +7 -3
  125. package/dist/write/availability.js.map +1 -1
  126. package/dist/write/commands.js +58 -13
  127. package/dist/write/commands.js.map +1 -1
  128. package/dist/write/experimental.d.ts +19 -0
  129. package/dist/write/experimental.js +50 -0
  130. package/dist/write/experimental.js.map +1 -1
  131. package/dist/write/move.js +14 -6
  132. package/dist/write/move.js.map +1 -1
  133. package/dist/write/operations.d.ts +28 -4
  134. package/dist/write/pipeline.d.ts +2 -0
  135. package/dist/write/pipeline.js +59 -2
  136. package/dist/write/pipeline.js.map +1 -1
  137. package/dist/write/pre-state.js +33 -15
  138. package/dist/write/pre-state.js.map +1 -1
  139. package/dist/write/promote-clone.js +187 -19
  140. package/dist/write/promote-clone.js.map +1 -1
  141. package/dist/write/reorder.js +76 -27
  142. package/dist/write/reorder.js.map +1 -1
  143. package/dist/write/repeat-anchor.d.ts +30 -0
  144. package/dist/write/repeat-anchor.js +166 -1
  145. package/dist/write/repeat-anchor.js.map +1 -1
  146. package/dist/write/repeat-rule.js +10 -0
  147. package/dist/write/repeat-rule.js.map +1 -1
  148. package/dist/write/vectors/applescript.js +7 -16
  149. package/dist/write/vectors/applescript.js.map +1 -1
  150. package/dist/write/vectors/session-reachability.d.ts +55 -0
  151. package/dist/write/vectors/session-reachability.js +56 -8
  152. package/dist/write/vectors/session-reachability.js.map +1 -1
  153. package/dist/write/vectors/shortcuts.js +5 -14
  154. package/dist/write/vectors/shortcuts.js.map +1 -1
  155. package/dist/write/vectors/simulator.d.ts +16 -1
  156. package/dist/write/vectors/simulator.js +61 -10
  157. package/dist/write/vectors/simulator.js.map +1 -1
  158. package/dist/write/vectors/types.d.ts +67 -1
  159. package/dist/write/vectors/ui-recipes.js +128 -38
  160. package/dist/write/vectors/ui-recipes.js.map +1 -1
  161. package/dist/write/vectors/ui.d.ts +76 -0
  162. package/dist/write/vectors/ui.js +443 -37
  163. package/dist/write/vectors/ui.js.map +1 -1
  164. package/dist/write/verify/poller.d.ts +13 -0
  165. package/dist/write/verify/poller.js +38 -0
  166. package/dist/write/verify/poller.js.map +1 -1
  167. package/package.json +8 -1
  168. package/scripts/build-helpers.sh +104 -0
  169. package/scripts/deputy-cert-setup.sh +60 -0
  170. package/skills/things-cli/SKILL.md +8 -3
  171. package/skills/things-cli/references/errors.md +4 -0
  172. package/skills/things-cli/references/repeating.md +69 -0
@@ -1 +1 @@
1
- {"version":3,"file":"ui.js","sourceRoot":"","sources":["../../../src/write/vectors/ui.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ui.js","sourceRoot":"","sources":["../../../src/write/vectors/ui.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,19 @@
8
8
  * asserted field moved → mismatch (partial or contrary write)
9
9
  * only tripwire moved → timeout (something happened, not what we asked)
10
10
  * nothing moved → silent-noop
11
+ *
12
+ * STABLE-MISMATCH EARLY EXIT (DACON1). When an ASSERTED field has moved to a
13
+ * value that is not the target AND that observed value then sits UNCHANGED for a
14
+ * meaningful window, waiting out the rest of the budget cannot change the verdict
15
+ * — the write has settled on the wrong value. The loop returns `mismatch` early
16
+ * once the same mismatching asserted-field observation repeats for ≥
17
+ * {@link STABLE_MISMATCH_MIN_POLLS} consecutive polls spanning ≥
18
+ * {@link STABLE_MISMATCH_MIN_MS}. This is deliberately CONSERVATIVE: ANY change
19
+ * to the observed values resets the window, so it never fires while state is
20
+ * still converging, and it only ever fires on the SAME classification the
21
+ * deadline would have reached (assertedMovement ⇒ mismatch). Short-budget callers
22
+ * (timeout < the window) are unaffected — the window never elapses. It never
23
+ * touches the tripwire (timeout) or silent-noop paths.
11
24
  */
12
25
  import type { DeltaEvaluation, RepeatingDiscovery } from "./delta.ts";
13
26
  export interface PollOutcome {
@@ -1,3 +1,7 @@
1
+ /** Consecutive identical mismatching polls required before an early stable-mismatch exit. */
2
+ const STABLE_MISMATCH_MIN_POLLS = 3;
3
+ /** Minimum wall-clock the mismatching value must sit unchanged before an early exit (ms). */
4
+ const STABLE_MISMATCH_MIN_MS = 5000;
1
5
  export async function pollUntilVerified(evaluate, timeoutMs, deps = {}) {
2
6
  const now = deps.now ?? (() => Date.now());
3
7
  const sleep = deps.sleep ?? ((ms) => new Promise((r) => setTimeout(r, ms)));
@@ -5,6 +9,11 @@ export async function pollUntilVerified(evaluate, timeoutMs, deps = {}) {
5
9
  const deadline = started + timeoutMs;
6
10
  let attempts = 0;
7
11
  let last = null;
12
+ // Stable-mismatch tracking: the serialized observed bag of the current unchanged
13
+ // run, when it began, and how many consecutive polls have shown it.
14
+ let stableKey = null;
15
+ let stableSince = started;
16
+ let stableCount = 0;
8
17
  for (;;) {
9
18
  attempts += 1;
10
19
  last = evaluate();
@@ -41,6 +50,35 @@ export async function pollUntilVerified(evaluate, timeoutMs, deps = {}) {
41
50
  ...(last.detail !== undefined && { detail: last.detail }),
42
51
  };
43
52
  }
53
+ // Stable-mismatch early exit: an asserted field has moved to a non-target value
54
+ // that then holds unchanged. Only ASSERTED movement with a concrete observation
55
+ // counts (never the tripwire/timeout or silent-noop paths); ANY change to the
56
+ // observation resets the window, so a still-converging write can never trip it.
57
+ if (last.assertedMovement && last.observed !== null) {
58
+ const key = JSON.stringify(last.observed);
59
+ if (key === stableKey) {
60
+ stableCount += 1;
61
+ }
62
+ else {
63
+ stableKey = key;
64
+ stableSince = now();
65
+ stableCount = 1;
66
+ }
67
+ if (stableCount >= STABLE_MISMATCH_MIN_POLLS &&
68
+ now() - stableSince >= STABLE_MISMATCH_MIN_MS) {
69
+ return {
70
+ kind: "mismatch",
71
+ attempts,
72
+ elapsedMs: now() - started,
73
+ observed: last.observed,
74
+ ...(last.detail !== undefined && { detail: last.detail }),
75
+ };
76
+ }
77
+ }
78
+ else {
79
+ stableKey = null;
80
+ stableCount = 0;
81
+ }
44
82
  // poll retries are inherently sequential: each attempt must observe the DB state left by the previous wait, never overlap
45
83
  await sleep(elapsed < 2000 ? 100 : 300);
46
84
  }
@@ -1 +1 @@
1
- {"version":3,"file":"poller.js","sourceRoot":"","sources":["../../../src/write/verify/poller.ts"],"names":[],"mappings":"AAgCA,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,QAA+B,EAC/B,SAAiB,EACjB,OAAmB,EAAE;IAErB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IAC3C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,EAAU,EAAE,EAAE,CAAC,IAAI,OAAO,CAAO,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IAC1F,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC;IACtB,MAAM,QAAQ,GAAG,OAAO,GAAG,SAAS,CAAC;IACrC,IAAI,QAAQ,GAAG,CAAC,CAAC;IACjB,IAAI,IAAI,GAA2B,IAAI,CAAC;IAExC,SAAS,CAAC;QACR,QAAQ,IAAI,CAAC,CAAC;QACd,IAAI,GAAG,QAAQ,EAAE,CAAC;QAClB,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,OAAO;gBACL,IAAI,EAAE,IAAI;gBACV,QAAQ;gBACR,SAAS,EAAE,GAAG,EAAE,GAAG,OAAO;gBAC1B,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,GAAG,CAAC,IAAI,CAAC,cAAc,KAAK,SAAS,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC;gBACjF,GAAG,CAAC,IAAI,CAAC,SAAS,KAAK,SAAS,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC;gBAClE,GAAG,CAAC,IAAI,CAAC,iBAAiB,KAAK,SAAS,IAAI,EAAE,iBAAiB,EAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC;aAC3F,CAAC;QACJ,CAAC;QACD,4EAA4E;QAC5E,yEAAyE;QACzE,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;YAC3B,OAAO;gBACL,IAAI,EAAE,UAAU;gBAChB,QAAQ;gBACR,SAAS,EAAE,GAAG,EAAE,GAAG,OAAO;gBAC1B,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,GAAG,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;aAC1D,CAAC;QACJ,CAAC;QACD,MAAM,OAAO,GAAG,GAAG,EAAE,GAAG,OAAO,CAAC;QAChC,IAAI,GAAG,EAAE,IAAI,QAAQ,EAAE,CAAC;YACtB,MAAM,IAAI,GAAG,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC;YAC5F,OAAO;gBACL,IAAI;gBACJ,QAAQ;gBACR,SAAS,EAAE,OAAO;gBAClB,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,GAAG,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;aAC1D,CAAC;QACJ,CAAC;QACD,0HAA0H;QAC1H,MAAM,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAC1C,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"poller.js","sourceRoot":"","sources":["../../../src/write/verify/poller.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "things-api",
3
- "version": "0.17.0",
3
+ "version": "0.18.0",
4
4
  "description": "Typed TypeScript library + CLI for Things 3 (Cultured Code) — verified writes, audit trail, schema-drift detection",
5
5
  "homepage": "https://github.com/mikegreiling/things-api#readme",
6
6
  "bugs": {
@@ -16,8 +16,15 @@
16
16
  },
17
17
  "files": [
18
18
  "bin",
19
+ "deputy/helpers-Info.plist",
20
+ "deputy/prebuilt",
21
+ "deputy/reader",
22
+ "deputy/src",
23
+ "deputy/VERSION",
19
24
  "dist",
20
25
  "schema",
26
+ "scripts/build-helpers.sh",
27
+ "scripts/deputy-cert-setup.sh",
21
28
  "shortcuts",
22
29
  "skills"
23
30
  ],
@@ -0,0 +1,104 @@
1
+ #!/usr/bin/env bash
2
+ # Build (and sign) the things-helpers bundle — ONE .app housing both helpers:
3
+ # the unsandboxed things-deputy (automation verbs) as the bundle's main
4
+ # executable, and the sandboxed things-reader.app (file verbs) nested under
5
+ # Contents/Helpers with its own bundle identity + entitlements.
6
+ #
7
+ # Output: deputy/build/Things API Helper.app
8
+ #
9
+ # Signing: TCC grants attach to the responsible code identity, so the bundle
10
+ # MUST carry a stable identity for grants to survive rebuilds — ad-hoc is
11
+ # deliberately never used (its identity churns per build). The nested reader
12
+ # additionally REQUIRES an Apple-issued chain: amfid refuses ad-hoc AND
13
+ # self-signed roots on sandboxed code (SANDBOX1, docs/lab/
14
+ # sandbox1-scoped-reader.md), so a host with only the self-signed ceremony
15
+ # cert gets a deputy-only bundle. The reader's bundle identifier
16
+ # (com.pixelcog.things-reader) must never change — the user's security-scoped
17
+ # bookmark grant is keyed to it.
18
+ set -euo pipefail
19
+
20
+ cd "$(dirname "$0")/.."
21
+
22
+ # The helpers' OWN version line (deputy/VERSION) — deliberately decoupled from
23
+ # package.json so a package release with unchanged helper sources produces an
24
+ # equivalently versioned bundle and never nags for a reinstall.
25
+ VERSION=$(tr -d '[:space:]' < deputy/VERSION)
26
+ BUILD_DIR=deputy/build
27
+ mkdir -p "$BUILD_DIR"
28
+
29
+ cat >"$BUILD_DIR/Version.swift" <<EOF
30
+ // Generated by scripts/build-helpers.sh — do not edit, not committed.
31
+ let DEPUTY_VERSION = "$VERSION"
32
+ EOF
33
+
34
+ # Identity preference: Developer ID Application (distribution-grade, 5-year,
35
+ # notarizable) > Apple Development (Apple-issued dev cert) > the self-signed
36
+ # ceremony cert (scripts/deputy-cert-setup.sh; deputy-only — see above).
37
+ IDENTITY=""
38
+ APPLE_CHAIN=0
39
+ for candidate in "Developer ID Application" "Apple Development"; do
40
+ if security find-identity -v -p codesigning 2>/dev/null | grep -q "$candidate"; then
41
+ IDENTITY="$candidate"
42
+ APPLE_CHAIN=1
43
+ break
44
+ fi
45
+ done
46
+ if [ -z "$IDENTITY" ] &&
47
+ security find-identity -v -p codesigning 2>/dev/null | grep -q "things-deputy-signing"; then
48
+ IDENTITY="things-deputy-signing"
49
+ fi
50
+
51
+ # Assemble under a temp name and only move the SIGNED bundle into place:
52
+ # swiftc output is deterministic, so an unsigned intermediate at the final
53
+ # path reproduces a hash an EDR may already have convicted — signing before
54
+ # the deliverable path exists keeps that path clean.
55
+ STAGE="$BUILD_DIR/.things-helpers.build.$$"
56
+ trap 'rm -rf "$STAGE"' EXIT
57
+ rm -rf "$STAGE"
58
+ APP="$STAGE/Things API Helper.app"
59
+ mkdir -p "$APP/Contents/MacOS"
60
+
61
+ echo "building things-deputy $VERSION..."
62
+ sed "s/<string>0\.0\.0<\/string>/<string>$VERSION<\/string>/" \
63
+ deputy/helpers-Info.plist > "$APP/Contents/Info.plist"
64
+ swiftc -O deputy/src/*.swift "$BUILD_DIR/Version.swift" -o "$APP/Contents/MacOS/things-deputy"
65
+
66
+ if [ "$APPLE_CHAIN" = "1" ]; then
67
+ echo "building things-reader $VERSION..."
68
+ READER="$APP/Contents/Helpers/things-reader.app"
69
+ mkdir -p "$READER/Contents/MacOS"
70
+ sed "s/<string>0\.0\.0<\/string>/<string>$VERSION<\/string>/" \
71
+ deputy/reader/Info.plist > "$READER/Contents/Info.plist"
72
+ swiftc -O deputy/reader/main.swift deputy/src/sqlite.swift "$BUILD_DIR/Version.swift" \
73
+ -o "$READER/Contents/MacOS/things-reader"
74
+ # Nested-first signing order (never --deep): the reader carries its own
75
+ # sandbox entitlements; the outer signature then seals the whole bundle.
76
+ codesign --force --sign "$IDENTITY" \
77
+ --options runtime --timestamp \
78
+ --entitlements deputy/reader/entitlements.plist \
79
+ "$READER"
80
+ else
81
+ echo "WARNING: skipping things-reader — sandboxed code cannot run without an Apple-issued certificate chain." >&2
82
+ echo "File reads will run direct. Add an Apple Development cert (free Apple ID via Xcode) and rebuild." >&2
83
+ fi
84
+
85
+ if [ -n "$IDENTITY" ]; then
86
+ echo "signing Things API Helper.app with '$IDENTITY' (hardened runtime + timestamp)..."
87
+ codesign --force --sign "$IDENTITY" \
88
+ --identifier com.pixelcog.things-api-helper \
89
+ --options runtime --timestamp \
90
+ "$APP"
91
+ codesign --verify --verbose=1 "$APP"
92
+ else
93
+ echo "WARNING: no signing identity found — bundle is UNSIGNED." >&2
94
+ echo "TCC grants will not survive rebuilds. Create a Developer ID Application cert in Xcode," >&2
95
+ echo "or run scripts/deputy-cert-setup.sh for a local self-signed one, then rebuild." >&2
96
+ fi
97
+
98
+ # Fresh inode for the deliverable (the kernel caches signature state per
99
+ # vnode), and clear any pre-bundle build outputs so nothing stale lingers.
100
+ rm -rf "$BUILD_DIR/Things API Helper.app" "$BUILD_DIR/things-helpers.app" "$BUILD_DIR/things-deputy" "$BUILD_DIR/things-reader.app"
101
+ mv "$APP" "$BUILD_DIR/Things API Helper.app"
102
+ rm -rf "$STAGE"
103
+ trap - EXIT
104
+ echo "built $BUILD_DIR/Things API Helper.app"
@@ -0,0 +1,60 @@
1
+ #!/usr/bin/env bash
2
+ # One-time ceremony: mint the persistent self-signed code-signing certificate
3
+ # ("things-deputy-signing") that scripts/build-helpers.sh signs the deputy with.
4
+ #
5
+ # WHY A PERSISTENT CERT: macOS attaches Automation/Accessibility/file grants to
6
+ # the responsible process's code signature. A stable certificate means every
7
+ # rebuild of the deputy keeps the same identity — grants survive. Ad-hoc
8
+ # signing mints a fresh identity per build, which silently re-introduces the
9
+ # grant churn the deputy exists to end, so it is deliberately not supported.
10
+ #
11
+ # INTERACTIVE: importing trust settings prompts for your login-keychain
12
+ # password / an authorization dialog. Run this yourself at the machine; it is
13
+ # not for unattended execution. Everything stays in your login keychain —
14
+ # nothing is written to the repository.
15
+ #
16
+ # Re-running is safe: if the identity already exists, the script leaves it be.
17
+ set -euo pipefail
18
+
19
+ IDENTITY="things-deputy-signing"
20
+
21
+ if security find-identity -v -p codesigning 2>/dev/null | grep -q "$IDENTITY"; then
22
+ echo "signing identity '$IDENTITY' already exists — nothing to do."
23
+ exit 0
24
+ fi
25
+
26
+ WORK=$(mktemp -d)
27
+ trap 'rm -rf "$WORK"' EXIT
28
+
29
+ cat >"$WORK/ext.cnf" <<'EOF'
30
+ [ req ]
31
+ distinguished_name = dn
32
+ x509_extensions = codesign_ext
33
+ prompt = no
34
+ [ dn ]
35
+ CN = things-deputy-signing
36
+ [ codesign_ext ]
37
+ keyUsage = critical,digitalSignature
38
+ extendedKeyUsage = critical,codeSigning
39
+ basicConstraints = critical,CA:false
40
+ EOF
41
+
42
+ # 10-year self-signed code-signing cert + key, bundled as a throwaway p12.
43
+ openssl req -x509 -newkey rsa:2048 -sha256 -days 3650 -nodes \
44
+ -keyout "$WORK/key.pem" -out "$WORK/cert.pem" -config "$WORK/ext.cnf" >/dev/null 2>&1
45
+ openssl pkcs12 -export -inkey "$WORK/key.pem" -in "$WORK/cert.pem" \
46
+ -name "$IDENTITY" -passout pass:transient -out "$WORK/bundle.p12" >/dev/null 2>&1
47
+
48
+ echo "importing '$IDENTITY' into the login keychain (codesign is granted access)..."
49
+ security import "$WORK/bundle.p12" -k "$HOME/Library/Keychains/login.keychain-db" \
50
+ -P transient -T /usr/bin/codesign
51
+
52
+ echo "marking the certificate trusted for code signing (this may prompt)..."
53
+ security add-trusted-cert -p codeSign \
54
+ -k "$HOME/Library/Keychains/login.keychain-db" "$WORK/cert.pem"
55
+
56
+ echo
57
+ echo "done. Next:"
58
+ echo " bash scripts/build-helpers.sh # now signs with $IDENTITY"
59
+ echo " things deputy install # (re)install the signed helper"
60
+ echo " things deputy status # verify signing: signed ($IDENTITY)"
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: things-cli
3
3
  description: Read and manage a user's tasks in the Things 3 app (macOS) through the `things` CLI — list views like Today/Inbox/Upcoming, search, and create, edit, schedule, complete, move, or organize to-dos, projects, areas, headings, and tags. Use whenever the user asks about their tasks, to-dos, projects, or anything in Things.
4
- version: 0.17.0
4
+ version: 0.18.0
5
5
  ---
6
6
 
7
7
  # Things CLI
@@ -10,7 +10,7 @@ version: 0.17.0
10
10
 
11
11
  `things --help` is the one-screen index; `things <group> --help` lists a group's verbs and flags (always current for the binary you invoke); `things help <topic>` opens a contract guide — topics: `agent`, `filters`, `ids`, `move`, `output`, `repeating`, `writes`.
12
12
 
13
- **This skill's reference files** are exactly `data-model`, `contracts`, `ordering`, `errors`, `banner`, `gui` (all `references/*.md`) — do not guess other names. Read *shapes* (every view's JSON, `stage`/`when`, the compact/full tiers) live in `data-model`; the envelope, exit codes, undo, batch, and recurrence in `contracts`; move/reorder axes in `ordering`; the error contract in `errors`. There is no `reads`/`writes`/`recurrence`/`safety` file. Most tasks need only this page — open a reference only when a link below sends you there.
13
+ **This skill's reference files** are exactly `data-model`, `contracts`, `repeating`, `ordering`, `errors`, `banner`, `gui` (all `references/*.md`) — do not guess other names. Read *shapes* (every view's JSON, `stage`/`when`, the compact/full tiers) live in `data-model`; the envelope, exit codes, undo, batch, and the recurrence contract in `contracts`; the repeating model, scheduling vocabulary, and deadline law in `repeating`; move/reorder axes in `ordering`; the error contract in `errors`. There is no `reads`/`writes`/`recurrence`/`safety` file. Most tasks need only this page — open a reference only when a link below sends you there.
14
14
 
15
15
  ## Data model (read this first)
16
16
 
@@ -66,14 +66,19 @@ Namespaced verb families — run `things <group> --help` for the verbs and `thin
66
66
 
67
67
  **Guarded writes** surface their consequence and require an explicit flag: deleting a NON-EMPTY area needs `--allow-non-empty`, a permanent delete needs `--dangerously-permanent`, and a UI-driving op (e.g. `area reorder`, `make-repeating`) needs `--dangerously-drive-gui` plus `things config set ui-enabled true`. The full acknowledgment contract is in [references/errors.md](references/errors.md).
68
68
 
69
- **UI-driving ops are slow — allow a generous timeout, and NEVER read a timeout as success.** A `--dangerously-drive-gui` op visibly drives the Things app and can take OVER A MINUTE on a large, syncing database. Give the command a longer-than-normal wrapper timeout — **at least 180s** when your harness allows it (120s is the floor), and pass `--verify-timeout 120000` or more so the app's own budget outlasts the drive. The cardinal rule: **a timeout, EMPTY output, or a silent no-op is NOT a success** — treat it as "outcome unknown". If your own timeout kills the command first you get EMPTY output (not a result, not an error) and the change MAY STILL have landed; if the app's budget is exceeded first you get a structured timeout that says the outcome is uncertain. In BOTH cases, before doing anything else **re-read the item with `things show <uuid>`** (and, on a dev checkout, check the trace under `~/.local/state/things-api/trace/`) to learn what actually happened. **Do NOT fire an identical retry** — repeated blind retries after a timeout are exactly how you get duplicate or half-configured series (the original item trashed, a wrong template created). If the state is wrong or ambiguous and a re-read does not clarify it, **STOP and file a bug** with the trace rather than retrying. A genuine success always returns a structured JSON result (with `--json`) naming the new/updated uuid; anything else is not a success. The trace can hold real task titles, so never paste it into a public issue.
69
+ **UI-driving ops are slow — allow a generous timeout, and NEVER read a timeout as success.** A `--dangerously-drive-gui` op visibly drives the Things app and can take OVER A MINUTE on a large, syncing database. Give the command a longer-than-normal wrapper timeout — **at least 180s** when your harness allows it (120s is the floor), and pass `--verify-timeout 120000` or more so the app's own budget outlasts the drive. The cardinal rule: **a timeout, EMPTY output, or a silent no-op is NOT a success** — treat it as "outcome unknown". If your own timeout kills the command first you get EMPTY output (not a result, not an error) and the change MAY STILL have landed; if the app's budget is exceeded first you get a structured timeout that says the outcome is uncertain. In BOTH cases, before doing anything else **re-read the item with `things show <uuid>`** (and, on a dev checkout, check the trace under `~/.local/state/things-api/trace/`) to learn what actually happened. **If your harness KILLS long commands** at a cap you cannot raise, pass `--op-id <key>` on the write, let it die, then run **`things op-result <key>`** in a fresh command — it reads the change history the killed process already wrote and reports whether the op landed (`found`), is still-running/died-mid-flight (`intent-only`, outcome UNCERTAIN), or never recorded (`unknown`). **Do NOT fire an identical retry** — repeated blind retries after a timeout or a kill are exactly how you get duplicate or half-configured series (the original item trashed, a wrong template created). If the state is wrong or ambiguous and a re-read does not clarify it, **STOP and file a bug** with the trace rather than retrying. A genuine success always returns a structured JSON result (with `--json`) naming the new/updated uuid; anything else is not a success. The trace can hold real task titles, so never paste it into a public issue.
70
70
 
71
71
  **Quick skeletons**: `things todo add "T1" "T2" "T3" [shared flags]` creates several to-dos in one call (every shared flag — `--project`/`--area`/`--when`/`--tags`/… — applies to each; `--id-only` prints the new uuids one per line for chaining; one `undoToken` removes the set). To stand up a new project with children, `things project add "<title>" --todo "T1" --todo "T2" …` (repeatable). For richer per-item metadata or cross-item references, use `things batch`.
72
72
 
73
+ ## The CLI is the only interface — never route around it
74
+
75
+ Never construct `things:///` URLs, AppleScript (`tell application "Things3" …`), or Shortcuts invocations yourself — for reads or writes. When this skill is installed, the `things` CLI is the sole supported way to touch Things: raw calls bypass its validation, guards, read-back verification, undo/audit records, and session checks, and some raw shapes crash the app or silently do nothing. If the CLI cannot express something you need, or a command refuses or fails in a way that seems wrong, that is a finding, not an obstacle to work around: capture the exact command and its `--json` error (plus `things op-result <op-id>` output where relevant) and report it on the public issue tracker at github.com/mikegreiling/things-api (synthetic repro data only — never the user's real task content), or surface it to your user if you cannot file. A refusal always names its sanctioned override flag when one exists — that acknowledgment system is the only supported escape hatch.
76
+
73
77
  ## Going deeper
74
78
 
75
79
  - [references/data-model.md](references/data-model.md) — the full data model, `stage`/`when` derivation, the compact/full tiers, view membership, and filters.
76
80
  - [references/contracts.md](references/contracts.md) — the JSON envelope, exit codes, safety/undo/idempotency, batch chaining, and recurrence.
81
+ - [references/repeating.md](references/repeating.md) — repeating series in depth: template vs instances, the scheduling vocabulary, off-schedule first occurrences, the deadline law (the anchor names the DUE date), ends bounds, and the GUI-drive operational rules.
77
82
  - [references/ordering.md](references/ordering.md) — move vs reorder in depth: axes, gates, caps, automatic fallbacks, placement guarantees, and the one dead class (templates).
78
83
  - [references/errors.md](references/errors.md) — the error contract: the candidate shape, dead-row hints, hazard acknowledgments, and the error-code registry.
79
84
  - [references/banner.md](references/banner.md) — the Today "new to-dos" banner, the provisional `•` pip, reminder/evening liveness, and what a watcher sees.
@@ -55,3 +55,7 @@ Every `error.code` is drawn from a frozen registry. Route on the code, and for t
55
55
  | `verify-failed` | A multi-leg move/reorder failed mid-way (`detail.failed`/`completed`). | 3 |
56
56
 
57
57
  A consumer that does not recognize a specific suffix routes on the prefix (`blocked:` / `verify-failed:`) and the exit code.
58
+
59
+ ## A failure is never a license to bypass the CLI
60
+
61
+ Whatever the error, do not fall back to hand-built `things:///` URLs, AppleScript, or Shortcuts calls — those bypass the validation, verification, and undo/audit layers this tool exists to provide, and several raw shapes crash the app or fail silently. Refusals that support an override name their acknowledgment flag in the message; that flag system is the only sanctioned escape hatch. Anything else the CLI cannot do is a reportable finding (see the main skill document), not an invitation to improvise.
@@ -0,0 +1,69 @@
1
+ # Repeating series — the model, the scheduling vocabulary, and the deadline law
2
+
3
+ A repeating item is a **template** plus the **instances** it spawns. The template holds the rule (how often, on what calendar day, with what deadline/reminder/end bound); each occurrence the app materializes is a separate to-do (or project) you complete normally. Completing an instance never touches the template; the template keeps spawning the next occurrence on schedule.
4
+
5
+ ## The verbs
6
+
7
+ - `things todo make-repeating <ref> --frequency … --interval …` — turn an existing plain to-do into a repeating series. This **REPLACES the item**: the original to-do disappears and a fresh template takes its place, so the uuid you get back is the TEMPLATE's, not the original's. Cannot be undone through the normal path (the original is moved to the Trash; `things undo` removes the new series and restores it).
8
+ - `things todo add-repeating "<title>" --frequency … --interval …` — create a new to-do already repeating, in one step.
9
+ - `things todo reschedule-repeat <ref> --frequency … --interval …` — change the rule of an EXISTING template in place (identity preserved). Only the fields you name change; an unnamed deadline/reminder/anchor is left as it was.
10
+ - `things todo pause-repeat <ref>` / `resume-repeat <ref>` — suspend/restart spawning without losing the rule.
11
+ - `things project …` mirrors all of the above for repeating projects.
12
+
13
+ All of these drive the Things app's own Repeat dialog, so they require `--dangerously-drive-gui` (and `things config set ui-enabled true`). See the operational rules at the bottom.
14
+
15
+ ## The scheduling vocabulary
16
+
17
+ - **`--frequency`** `daily | weekly | monthly | yearly`, **`--interval N`** = every N of those units.
18
+ - **`--when <YYYY-MM-DD>`** — the date the FIRST occurrence APPEARS (its start). Later occurrences follow the rule's calendar anchor. If you omit `--when`, `make-repeating` starts from the item's own scheduled date.
19
+ - **The calendar anchor** — WHAT day the series recurs on, per frequency:
20
+ - weekly → `--weekdays monday,wednesday,friday` (one or more).
21
+ - monthly → `--on-day <1–31 | last>`, OR an nth-weekday with `--on-weekday <weekday> --on-ordinal <1–5 | last>`.
22
+ - yearly → `--yearly-month <1–12>` plus `--on-day` (or the nth-weekday pair).
23
+ - **Derived anchor.** If you give `--when` but NO explicit anchor, the anchor is taken FROM `--when` (weekly → its weekday, monthly → its day-of-month, yearly → its month + day). So `make-repeating <ref> --frequency yearly --when 2028-10-16` recurs every October 16 with no anchor flags needed.
24
+
25
+ ## Off-schedule first occurrence (a first-class pattern)
26
+
27
+ The first occurrence does NOT have to sit on the recurring grid. If `--when` disagrees with an explicit anchor, the series APPEARS on `--when` the first time and follows the anchor from the second occurrence on. Example: `--frequency weekly --weekdays wednesday --when <a Thursday>` = a Thursday first occurrence, then Wednesdays every week after. Weekly and yearly rules support this; the command discloses both halves of the landed pattern (`appears <date>; thereafter <rule>`) in its result and in `--dry-run`.
28
+
29
+ **One exception — monthly.** A monthly rule cannot start off its anchor day: the app snaps the first occurrence to the anchor's day-of-month, so an off-anchor monthly first is refused up front. Put `--when` on the anchor day, or omit the anchor to take it from `--when`.
30
+
31
+ ## The deadline law (read this before combining `--deadline` with an anchor)
32
+
33
+ `--deadline` gives each occurrence a due date; `--start-days-earlier N` makes each occurrence APPEAR N days before it is DUE. The key rule: **in deadline mode the calendar anchor names the DUE date, and `--when` is still the APPEAR (start) date.** So an explicit anchor must name `when + N` (the due date), not `--when` itself.
34
+
35
+ Worked example — intent "appears October 16, due October 30" (a 14-day lead):
36
+
37
+ - Simplest: `--frequency yearly --when 2028-10-16 --deadline --start-days-earlier 14` with NO anchor flags — the due-date anchor is derived as October 30 and each occurrence appears 14 days earlier, on October 16.
38
+ - Explicit anchor equivalent: name the DUE date — `--yearly-month 10 --on-day 30 --when 2028-10-16 --deadline --start-days-earlier 14`.
39
+
40
+ If you instead write an explicit anchor on the APPEAR date (`--on-day 16` with the same `--when` and lead), you are asking for an off-schedule first occurrence relative to the due-date anchor — for weekly/yearly this is honored and disclosed (the first occurrence appears/dues on your `--when`, the ongoing series dues on the anchor); a monthly combination of this shape is refused as above. When you want the two to agree, either drop the anchor flags (derived) or set the anchor to the due date (`when + N`).
41
+
42
+ ### Repeating deadlines on `add-repeating`: two spellings for one geometry
43
+
44
+ A concrete `--deadline <date>` on `todo add-repeating` sets each occurrence's due date relative to its own start, and the RULE owns it: every occurrence is deadlined, the FIRST one due on the date you name. You state that geometry in ONE of two equivalent ways — the tool does the arithmetic:
45
+
46
+ - **Concrete** — `--deadline <date>` is the first occurrence's due date; the per-occurrence lead is derived as `deadline − --when`. Reach for this when you know both dates.
47
+ - **Relative** — `--start-days-earlier N` names the lead directly (each occurrence starts N days before its own deadline; the first deadline is derived as `--when + N`). Reach for this when the intent is genuinely relative ("due two weeks after it appears").
48
+
49
+ The steer: state the two dates you actually know, pick the spelling that matches your intent, and **give ONE form or the other, never both** — never compute one from the other yourself. Both need a concrete `--when` (and `--deadline` must be on or after it); the anchor names the DUE date as usual; neither applies to an after-completion series. The safety net: if you do pass both, they must agree (`deadline − --when == N`), and a mismatch is refused up front with a message naming both corrected spellings.
50
+
51
+ One call, no follow-up `reschedule-repeat`: `todo add-repeating "Taxes" --when 2027-03-15 --deadline 2027-05-31 --frequency yearly --yearly-month 5 --on-weekday monday --on-ordinal last` deadlines every occurrence with a 77-day lead. (A concrete `--deadline` now maps to the rule; historically it landed on the seed only and double-booked the first occurrence — see [docs/lab/dblspawn1-preserved-instance.md](../../../docs/lab/dblspawn1-preserved-instance.md).)
52
+
53
+ ## Ends bounds, reminder, and limits worth knowing
54
+
55
+ - **Ends bound** (default: never): `--ends-after N` stops after N total occurrences (the ORIGINAL count, not a remaining tally — it does not tick down), or `--ends-on <date>` stops after that date. An exhausted series reads as `ended`.
56
+ - **Reminder**: `--reminder HH:mm` sets a time-of-day alert on each occurrence.
57
+ - **After-completion cadence**: `--after-completion` repeats N units AFTER each occurrence is completed, rather than on a fixed calendar. It has NO calendar anchor and takes NO end bound — those are refused.
58
+ - **Expressibility**: a rule can carry only ONE end bound (not both a date and a count), and a monthly/yearly rule only ONE calendar anchor. Reschedule cannot restore a rule shape the Repeat dialog itself cannot produce.
59
+
60
+ ## Operational rules for the GUI-driven repeat commands
61
+
62
+ These commands visibly drive the Things app and are slow — often OVER A MINUTE on a large, syncing database. (This is the same guidance as the main skill page and `things help repeating`, condensed.)
63
+
64
+ - Allow a generous wrapper timeout — **at least 180s** where your harness permits (120s floor) — and pass `--verify-timeout 120000` or more so the app's own budget outlasts the drive.
65
+ - **A timeout, empty output, or a silent no-op is NOT success** — treat it as "outcome unknown". Before doing anything else, re-read the item with `things show <ref>` (and, on a dev checkout, the trace under `~/.local/state/things-api/trace/`) to learn what actually landed.
66
+ - **If your environment kills long commands** (a hard wall-time cap you cannot raise): pass `--op-id <key>` on the write, let the command die, then run **`things op-result <key>`** in a fresh command to read what actually happened — it reads the local change history the killed process already wrote and reports `found` (the final result + target), `intent-only` (started but no outcome recorded — still running or the process died mid-flight, outcome UNCERTAIN), or `unknown`. This is the recovery path for a capped harness; do NOT infer the outcome from the kill. (`--op-id` works on the single-op repeat verbs like `reschedule-repeat`; `make-repeating` / `add-repeating` are compounds — express them as a `batch` line with a per-line `opId` if you need this.)
67
+ - **Never fire an identical retry** after a timeout or a kill — a blind retry is how you get a duplicate or half-configured series (original trashed, wrong template created). Learn the real outcome first (`things op-result` / `things show`); if the state is wrong or ambiguous, STOP and file a bug with the trace.
68
+ - These ops need Things reachable on the current desktop (not a locked screen or a covering full-screen app); a session it cannot reach is refused cleanly with a remediation, touching nothing.
69
+ - A genuine success always returns a structured JSON result (with `--json`) naming the new/updated uuid.