things-api 0.10.0 → 0.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (239) hide show
  1. package/README.md +50 -13
  2. package/dist/audit/schema.d.ts +7 -0
  3. package/dist/audit/schema.js.map +1 -1
  4. package/dist/cli/clock.d.ts +8 -0
  5. package/dist/cli/clock.js +24 -0
  6. package/dist/cli/clock.js.map +1 -0
  7. package/dist/cli/commands/area.d.ts +18 -11
  8. package/dist/cli/commands/area.js +61 -74
  9. package/dist/cli/commands/area.js.map +1 -1
  10. package/dist/cli/commands/doctor.d.ts +1 -2
  11. package/dist/cli/commands/doctor.js +11 -1
  12. package/dist/cli/commands/doctor.js.map +1 -1
  13. package/dist/cli/commands/install-skill.d.ts +60 -0
  14. package/dist/cli/commands/install-skill.js +256 -0
  15. package/dist/cli/commands/install-skill.js.map +1 -0
  16. package/dist/cli/commands/mcp.js +9 -0
  17. package/dist/cli/commands/mcp.js.map +1 -1
  18. package/dist/cli/commands/project.d.ts +1 -0
  19. package/dist/cli/commands/project.js +27 -34
  20. package/dist/cli/commands/project.js.map +1 -1
  21. package/dist/cli/commands/reads.d.ts +15 -2
  22. package/dist/cli/commands/reads.js +144 -44
  23. package/dist/cli/commands/reads.js.map +1 -1
  24. package/dist/cli/commands/setup.js +7 -2
  25. package/dist/cli/commands/setup.js.map +1 -1
  26. package/dist/cli/commands/show.js +38 -14
  27. package/dist/cli/commands/show.js.map +1 -1
  28. package/dist/cli/commands/todo.js +15 -9
  29. package/dist/cli/commands/todo.js.map +1 -1
  30. package/dist/cli/commands/writes.js +797 -174
  31. package/dist/cli/commands/writes.js.map +1 -1
  32. package/dist/cli/did-you-mean.d.ts +14 -3
  33. package/dist/cli/did-you-mean.js +26 -3
  34. package/dist/cli/did-you-mean.js.map +1 -1
  35. package/dist/cli/glyphs.d.ts +32 -2
  36. package/dist/cli/glyphs.js +83 -12
  37. package/dist/cli/glyphs.js.map +1 -1
  38. package/dist/cli/help.js +121 -16
  39. package/dist/cli/help.js.map +1 -1
  40. package/dist/cli/main.js +33 -2
  41. package/dist/cli/main.js.map +1 -1
  42. package/dist/cli/move-hint.d.ts +46 -0
  43. package/dist/cli/move-hint.js +196 -0
  44. package/dist/cli/move-hint.js.map +1 -0
  45. package/dist/cli/period.d.ts +2 -8
  46. package/dist/cli/period.js +44 -30
  47. package/dist/cli/period.js.map +1 -1
  48. package/dist/cli/read-driver.d.ts +43 -5
  49. package/dist/cli/read-driver.js +91 -15
  50. package/dist/cli/read-driver.js.map +1 -1
  51. package/dist/cli/render.d.ts +19 -8
  52. package/dist/cli/render.js +70 -27
  53. package/dist/cli/render.js.map +1 -1
  54. package/dist/cli/resolve-invocation.d.ts +2 -2
  55. package/dist/cli/resolve-invocation.js +3 -3
  56. package/dist/cli/resolve-invocation.js.map +1 -1
  57. package/dist/cli/skill-check.d.ts +27 -0
  58. package/dist/cli/skill-check.js +99 -0
  59. package/dist/cli/skill-check.js.map +1 -0
  60. package/dist/cli/skill.d.ts +70 -0
  61. package/dist/cli/skill.js +152 -0
  62. package/dist/cli/skill.js.map +1 -0
  63. package/dist/cli/tag-filters.d.ts +6 -2
  64. package/dist/cli/tag-filters.js +8 -6
  65. package/dist/cli/tag-filters.js.map +1 -1
  66. package/dist/cli/verb-hint.js +28 -3
  67. package/dist/cli/verb-hint.js.map +1 -1
  68. package/dist/cli/version.d.ts +4 -0
  69. package/dist/cli/version.js +18 -0
  70. package/dist/cli/version.js.map +1 -0
  71. package/dist/client.d.ts +171 -27
  72. package/dist/client.js +279 -40
  73. package/dist/client.js.map +1 -1
  74. package/dist/config.d.ts +66 -2
  75. package/dist/config.js +120 -12
  76. package/dist/config.js.map +1 -1
  77. package/dist/contracts.d.ts +186 -28
  78. package/dist/contracts.js +22 -1
  79. package/dist/contracts.js.map +1 -1
  80. package/dist/diagnose.d.ts +34 -2
  81. package/dist/diagnose.js +36 -1
  82. package/dist/diagnose.js.map +1 -1
  83. package/dist/index.d.ts +25 -9
  84. package/dist/index.js +22 -3
  85. package/dist/index.js.map +1 -1
  86. package/dist/mcp/server.d.ts +9 -0
  87. package/dist/mcp/server.js +1157 -684
  88. package/dist/mcp/server.js.map +1 -1
  89. package/dist/model/clock.d.ts +61 -0
  90. package/dist/model/clock.js +71 -0
  91. package/dist/model/clock.js.map +1 -0
  92. package/dist/model/dates.d.ts +26 -3
  93. package/dist/model/dates.js +84 -3
  94. package/dist/model/dates.js.map +1 -1
  95. package/dist/model/entities.d.ts +60 -3
  96. package/dist/model/entities.js.map +1 -1
  97. package/dist/model/mappers.d.ts +4 -2
  98. package/dist/model/mappers.js +66 -9
  99. package/dist/model/mappers.js.map +1 -1
  100. package/dist/model/recurrence.d.ts +8 -1
  101. package/dist/model/recurrence.js.map +1 -1
  102. package/dist/read/area-filter.d.ts +76 -0
  103. package/dist/read/area-filter.js +59 -0
  104. package/dist/read/area-filter.js.map +1 -0
  105. package/dist/read/area-view.d.ts +12 -12
  106. package/dist/read/area-view.js +58 -34
  107. package/dist/read/area-view.js.map +1 -1
  108. package/dist/read/detail.d.ts +1 -1
  109. package/dist/read/detail.js +26 -12
  110. package/dist/read/detail.js.map +1 -1
  111. package/dist/read/log-boundary.d.ts +1 -1
  112. package/dist/read/log-boundary.js +13 -3
  113. package/dist/read/log-boundary.js.map +1 -1
  114. package/dist/read/predicates.d.ts +18 -0
  115. package/dist/read/predicates.js +19 -0
  116. package/dist/read/predicates.js.map +1 -1
  117. package/dist/read/project-view.d.ts +32 -16
  118. package/dist/read/project-view.js +80 -45
  119. package/dist/read/project-view.js.map +1 -1
  120. package/dist/read/pseudo-area.d.ts +29 -0
  121. package/dist/read/pseudo-area.js +27 -0
  122. package/dist/read/pseudo-area.js.map +1 -0
  123. package/dist/read/queries.d.ts +108 -19
  124. package/dist/read/queries.js +212 -35
  125. package/dist/read/queries.js.map +1 -1
  126. package/dist/read/scope.d.ts +126 -0
  127. package/dist/read/scope.js +162 -0
  128. package/dist/read/scope.js.map +1 -0
  129. package/dist/read/search-rank.d.ts +2 -5
  130. package/dist/read/shape.d.ts +162 -0
  131. package/dist/read/shape.js +686 -0
  132. package/dist/read/shape.js.map +1 -0
  133. package/dist/read/show-target.d.ts +9 -1
  134. package/dist/read/show-target.js +45 -4
  135. package/dist/read/show-target.js.map +1 -1
  136. package/dist/read/snapshot.d.ts +1 -1
  137. package/dist/read/snapshot.js +9 -2
  138. package/dist/read/snapshot.js.map +1 -1
  139. package/dist/read/stage.d.ts +199 -0
  140. package/dist/read/stage.js +125 -0
  141. package/dist/read/stage.js.map +1 -0
  142. package/dist/read/truncation.d.ts +8 -6
  143. package/dist/read/truncation.js +35 -10
  144. package/dist/read/truncation.js.map +1 -1
  145. package/dist/read/views.d.ts +61 -20
  146. package/dist/read/views.js +240 -82
  147. package/dist/read/views.js.map +1 -1
  148. package/dist/surface-copy.d.ts +9 -0
  149. package/dist/surface-copy.js +9 -0
  150. package/dist/surface-copy.js.map +1 -1
  151. package/dist/write/accessibility-probe.d.ts +1 -1
  152. package/dist/write/accessibility-probe.js +8 -0
  153. package/dist/write/accessibility-probe.js.map +1 -1
  154. package/dist/write/automation-probe.d.ts +1 -1
  155. package/dist/write/automation-probe.js +8 -0
  156. package/dist/write/automation-probe.js.map +1 -1
  157. package/dist/write/batch.d.ts +49 -10
  158. package/dist/write/batch.js +423 -70
  159. package/dist/write/batch.js.map +1 -1
  160. package/dist/write/commands.d.ts +1 -1
  161. package/dist/write/commands.js +316 -66
  162. package/dist/write/commands.js.map +1 -1
  163. package/dist/write/guards.d.ts +1 -1
  164. package/dist/write/guards.js +94 -10
  165. package/dist/write/guards.js.map +1 -1
  166. package/dist/write/heading.d.ts +10 -1
  167. package/dist/write/heading.js +35 -5
  168. package/dist/write/heading.js.map +1 -1
  169. package/dist/write/make-repeating-project.d.ts +2 -2
  170. package/dist/write/make-repeating-project.js +9 -9
  171. package/dist/write/make-repeating-project.js.map +1 -1
  172. package/dist/write/move.d.ts +130 -0
  173. package/dist/write/move.js +1533 -0
  174. package/dist/write/move.js.map +1 -0
  175. package/dist/write/operations.d.ts +105 -19
  176. package/dist/write/operations.js +56 -7
  177. package/dist/write/operations.js.map +1 -1
  178. package/dist/write/opid.d.ts +31 -0
  179. package/dist/write/opid.js +30 -0
  180. package/dist/write/opid.js.map +1 -0
  181. package/dist/write/pipeline.d.ts +122 -3
  182. package/dist/write/pipeline.js +309 -52
  183. package/dist/write/pipeline.js.map +1 -1
  184. package/dist/write/planner.js +8 -1
  185. package/dist/write/planner.js.map +1 -1
  186. package/dist/write/pre-state.d.ts +197 -6
  187. package/dist/write/pre-state.js +427 -20
  188. package/dist/write/pre-state.js.map +1 -1
  189. package/dist/write/recurrence-rule-blob.d.ts +65 -0
  190. package/dist/write/recurrence-rule-blob.js +150 -0
  191. package/dist/write/recurrence-rule-blob.js.map +1 -0
  192. package/dist/write/reorder.d.ts +23 -3
  193. package/dist/write/reorder.js +1871 -85
  194. package/dist/write/reorder.js.map +1 -1
  195. package/dist/write/reversibility.js +19 -7
  196. package/dist/write/reversibility.js.map +1 -1
  197. package/dist/write/scope-guard.d.ts +31 -0
  198. package/dist/write/scope-guard.js +162 -0
  199. package/dist/write/scope-guard.js.map +1 -0
  200. package/dist/write/undo.js +120 -13
  201. package/dist/write/undo.js.map +1 -1
  202. package/dist/write/vectors/applescript.js +16 -7
  203. package/dist/write/vectors/applescript.js.map +1 -1
  204. package/dist/write/vectors/registry.d.ts +5 -7
  205. package/dist/write/vectors/registry.js +49 -2
  206. package/dist/write/vectors/registry.js.map +1 -1
  207. package/dist/write/vectors/shortcuts.js +1 -1
  208. package/dist/write/vectors/shortcuts.js.map +1 -1
  209. package/dist/write/vectors/simulator.d.ts +44 -0
  210. package/dist/write/vectors/simulator.js +1192 -0
  211. package/dist/write/vectors/simulator.js.map +1 -0
  212. package/dist/write/vectors/types.d.ts +46 -0
  213. package/dist/write/vectors/ui-certification.d.ts +10 -4
  214. package/dist/write/vectors/ui-certification.js +43 -10
  215. package/dist/write/vectors/ui-certification.js.map +1 -1
  216. package/dist/write/vectors/ui-drag.d.ts +21 -1
  217. package/dist/write/vectors/ui-drag.js +138 -27
  218. package/dist/write/vectors/ui-drag.js.map +1 -1
  219. package/dist/write/vectors/ui-recipes.d.ts +34 -1
  220. package/dist/write/vectors/ui-recipes.js +217 -6
  221. package/dist/write/vectors/ui-recipes.js.map +1 -1
  222. package/dist/write/vectors/ui.d.ts +40 -1
  223. package/dist/write/vectors/ui.js +196 -39
  224. package/dist/write/vectors/ui.js.map +1 -1
  225. package/dist/write/verify/delta.d.ts +127 -2
  226. package/dist/write/verify/delta.js +255 -16
  227. package/dist/write/verify/delta.js.map +1 -1
  228. package/dist/write/verify/poller.d.ts +7 -1
  229. package/dist/write/verify/poller.js +20 -1
  230. package/dist/write/verify/poller.js.map +1 -1
  231. package/package.json +24 -3
  232. package/schema/envelope.schema.json +383 -0
  233. package/skills/things-cli/SKILL.md +70 -0
  234. package/skills/things-cli/references/banner.md +35 -0
  235. package/skills/things-cli/references/contracts.md +62 -0
  236. package/skills/things-cli/references/errors.md +49 -0
  237. package/skills/things-cli/references/gui.md +11 -0
  238. package/skills/things-cli/references/model.md +60 -0
  239. package/skills/things-cli/references/ordering.md +71 -0
@@ -4,7 +4,7 @@ import { type CertificationStatus } from "./write/vectors/ui-certification.ts";
4
4
  import { type AvailabilityDeps, type ShortcutsState, type UrlSchemeState } from "./write/availability.ts";
5
5
  import { type EnvironmentChange, type EnvironmentTracker, type EnvironmentTuple } from "./write/environment.ts";
6
6
  import { type SyncHealth, type SyncHealthDeps } from "./sync-health.ts";
7
- import { ExitCode, type EnvelopeMeta } from "./contracts.ts";
7
+ import { ExitCode, type EnvelopeMeta, type ErrorCode } from "./contracts.ts";
8
8
  export interface DiagnoseReport {
9
9
  db: {
10
10
  path: string;
@@ -21,11 +21,43 @@ export interface DiagnoseReport {
21
21
  };
22
22
  app: {
23
23
  installed: boolean;
24
+ /** Installed app version (CFBundleShortVersionString); null when unreadable. */
25
+ version: string | null;
26
+ /**
27
+ * The app version the behavioral LAWS were last certified against
28
+ * (config `certified-app-version`); null when never set.
29
+ */
30
+ certifiedVersion: string | null;
31
+ /**
32
+ * True when the installed version is known, a certified version is set, and
33
+ * they differ — a PASSIVE signal that the behavioral laws
34
+ * (docs/reference/assumption-register.md) may have moved with zero schema
35
+ * delta. Non-blocking: writes stay enabled; doctor emits a notice pointing
36
+ * at the drift suite. False when unset/unknown/matching.
37
+ */
38
+ behavioralDrift: boolean;
24
39
  };
25
40
  writes: {
26
41
  enabled: boolean;
27
42
  reason: string;
28
43
  };
44
+ /**
45
+ * The active container scope (from THINGS_API_SCOPE / the stored `scope` key),
46
+ * so the jail is never silently on. `requested` is the raw ref (null when
47
+ * unscoped); `resolved` names the container it pins to (null when the ref no
48
+ * longer resolves — a fail-closed empty jail). The MCP `--scope` flag is
49
+ * per-process and not visible here.
50
+ */
51
+ scope: {
52
+ requested: string | null;
53
+ source: "env" | "config" | null;
54
+ resolved: {
55
+ kind: "area" | "project";
56
+ uuid: string;
57
+ title: string;
58
+ } | null;
59
+ detail: string;
60
+ };
29
61
  experimental: {
30
62
  /** config allowExperimental (opt-in for private-surface capabilities). */
31
63
  enabled: boolean;
@@ -132,7 +164,7 @@ export interface DiagnoseOptions {
132
164
  export interface DiagnoseResult {
133
165
  report: DiagnoseReport | null;
134
166
  error: {
135
- code: string;
167
+ code: ErrorCode;
136
168
  message: string;
137
169
  remediation?: string;
138
170
  } | null;
package/dist/diagnose.js CHANGED
@@ -5,6 +5,7 @@
5
5
  */
6
6
  import { existsSync } from "node:fs";
7
7
  import { loadConfig } from "./config.js";
8
+ import { resolveScope } from "./read/scope.js";
8
9
  import { auditDir } from "./paths.js";
9
10
  import { readAuditRecords, scanAuditIntegrity } from "./write/undo.js";
10
11
  import { decodeRecurrenceRule } from "./model/recurrence.js";
@@ -128,6 +129,32 @@ export function diagnose(dbPath, options = {}) {
128
129
  if (t.extraColumns.length > 0)
129
130
  extraColumns[t.table] = t.extraColumns;
130
131
  }
132
+ // Resolve the ambient scope (env / stored) for the report — the MCP flag is
133
+ // per-process and not visible here. A stored ref that no longer resolves is
134
+ // a fail-closed empty jail (reads empty, writes refused), reported as such.
135
+ const scopeReport = (() => {
136
+ if (config.scope == null) {
137
+ return { requested: null, source: null, resolved: null, detail: "unscoped" };
138
+ }
139
+ try {
140
+ const s = resolveScope(conn.db, config.scope.ref, config.scope.source);
141
+ return {
142
+ requested: config.scope.ref,
143
+ source: config.scope.source,
144
+ resolved: { kind: s.kind, uuid: s.uuid, title: s.title },
145
+ detail: `scoped to ${s.kind} "${s.title}" (source: ${config.scope.source})`,
146
+ };
147
+ }
148
+ catch {
149
+ return {
150
+ requested: config.scope.ref,
151
+ source: config.scope.source,
152
+ resolved: null,
153
+ detail: `scope "${config.scope.ref}" (source: ${config.scope.source}) resolves to no ` +
154
+ "container — a fail-closed empty jail (reads empty, writes refused). Clear or fix it.",
155
+ };
156
+ }
157
+ })();
131
158
  const report = {
132
159
  db: {
133
160
  path: located.path,
@@ -142,7 +169,14 @@ export function diagnose(dbPath, options = {}) {
142
169
  detail: status.kind === "drift" ? status.detail : [],
143
170
  extraColumns,
144
171
  },
145
- app: { installed: existsSync(THINGS_APP) },
172
+ app: {
173
+ installed: existsSync(THINGS_APP),
174
+ version: currentEnv.thingsVersion,
175
+ certifiedVersion: config.certifiedAppVersion,
176
+ behavioralDrift: currentEnv.thingsVersion !== null &&
177
+ config.certifiedAppVersion !== null &&
178
+ currentEnv.thingsVersion !== config.certifiedAppVersion,
179
+ },
146
180
  writes: {
147
181
  enabled: writesEnabled,
148
182
  reason: accepted
@@ -154,6 +188,7 @@ export function diagnose(dbPath, options = {}) {
154
188
  ? "schema fingerprint deviates from baseline — writes disabled until revalidated"
155
189
  : "unknown databaseVersion — update things-api or revalidate",
156
190
  },
191
+ scope: scopeReport,
157
192
  experimental: {
158
193
  enabled: config.allowExperimental,
159
194
  sdefDeclaresReorder: sdefCanary,
@@ -1 +1 @@
1
- {"version":3,"file":"diagnose.js","sourceRoot":"","sources":["../src/diagnose.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAErC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACvE,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvE,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACvE,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AACvE,OAAO,EACL,eAAe,EACf,eAAe,GAGhB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,kBAAkB,GAGnB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACL,iBAAiB,EACjB,wBAAwB,GAEzB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EACL,mBAAmB,EACnB,oBAAoB,GAIrB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,wBAAwB,EACxB,eAAe,GAIhB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAC;AACrE,OAAO,EAAE,iBAAiB,EAAwC,MAAM,kBAAkB,CAAC;AAC3F,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAqB,MAAM,gBAAgB,CAAC;AAE1E,MAAM,UAAU,GAAG,2BAA2B,CAAC;AAE/C,uEAAuE;AACvE,SAAS,mBAAmB,CAAC,EAE5B;IACC,IAAI,IAA4C,CAAC;IACjD,IAAI,CAAC;QACH,IAAI,GAAG,EAAE;aACN,OAAO,CACN,0FAA0F,CAC3F;aACA,GAAG,EAA4C,CAAC;IACrD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,MAAM,EAAE,gCAAgC,EAAE,CAAC;IACpF,CAAC;IACD,IAAI,WAAW,GAAG,CAAC,CAAC;IACpB,IAAI,UAAU,GAAG,EAAE,CAAC;IACpB,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,CAAC;YACH,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACjC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,WAAW,IAAI,CAAC,CAAC;YACjB,IAAI,UAAU,KAAK,EAAE;gBAAE,UAAU,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACvF,CAAC;IACH,CAAC;IACD,OAAO;QACL,SAAS,EAAE,IAAI,CAAC,MAAM;QACtB,WAAW;QACX,MAAM,EACJ,WAAW,KAAK,CAAC;YACf,CAAC,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC;gBACjB,CAAC,CAAC,wBAAwB;gBAC1B,CAAC,CAAC,yCAAyC;YAC7C,CAAC,CAAC,GAAG,WAAW,qCAAqC,UAAU,sBAAsB;gBACnF,4EAA4E;gBAC5E,2BAA2B;KAClC,CAAC;AACJ,CAAC;AAoID;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAAC,OAAyB,EAAE;IACzD,OAAO,mBAAmB,CAAC,IAAI,CAAC,CAAC;AACnC,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,MAAe,EAAE,UAA2B,EAAE;IACrE,IAAI,OAA0C,CAAC;IAC/C,IAAI,CAAC;QACH,OAAO,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAC5D,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,YAAY,qBAAqB,EAAE,CAAC;YACzC,OAAO;gBACL,MAAM,EAAE,IAAI;gBACZ,KAAK,EAAE;oBACL,IAAI,EAAE,aAAa;oBACnB,OAAO,EAAE,GAAG,CAAC,OAAO;oBACpB,WAAW,EAAE,wDAAwD;iBACtE;gBACD,QAAQ,EAAE,QAAQ,CAAC,WAAW;gBAC9B,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE;aAClD,CAAC;QACJ,CAAC;QACD,MAAM,GAAG,CAAC;IACZ,CAAC;IAED,IAAI,IAAuC,CAAC;IAC5C,IAAI,CAAC;QACH,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,YAAY,iBAAiB,EAAE,CAAC;YACrC,OAAO;gBACL,MAAM,EAAE,IAAI;gBACZ,KAAK,EAAE;oBACL,IAAI,EAAE,aAAa;oBACnB,OAAO,EAAE,GAAG,CAAC,OAAO;oBACpB,WAAW,EAAE,2DAA2D;iBACzE;gBACD,QAAQ,EAAE,QAAQ,CAAC,WAAW;gBAC9B,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE;aAClD,CAAC;QACJ,CAAC;QACD,MAAM,GAAG,CAAC;IACZ,CAAC;IAED,IAAI,CAAC;QACH,MAAM,WAAW,GAAG,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC3C,MAAM,MAAM,GAAG,iBAAiB,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;QACzD,uEAAuE;QACvE,oEAAoE;QACpE,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;QAC5B,MAAM,QAAQ,GACZ,MAAM,CAAC,IAAI,KAAK,OAAO,IAAI,MAAM,CAAC,mBAAmB,KAAK,WAAW,CAAC,WAAW,CAAC;QACpF,MAAM,iBAAiB,GAAG,QAAQ;YAChC,CAAC,CAAC,eAAe;YACjB,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,IAAI;gBACpB,CAAC,CAAC,IAAI;gBACN,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,OAAO;oBACvB,CAAC,CAAC,OAAO;oBACT,CAAC,CAAC,iBAAiB,CAAC;QAC1B,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,KAAK,IAAI,IAAI,QAAQ,CAAC;QACvD,MAAM,UAAU,GAAG,0BAA0B,EAAE,CAAC;QAChD,MAAM,OAAO,GAAG,OAAO,CAAC,WAAW,IAAI,wBAAwB,CAAC,WAAW,CAAC,CAAC;QAC7E,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;QACrC,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;QACnC,MAAM,YAAY,GAA6B,EAAE,CAAC;QAClD,KAAK,MAAM,CAAC,IAAI,WAAW,CAAC,MAAM,EAAE,CAAC;YACnC,IAAI,CAAC,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC;gBAAE,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,YAAY,CAAC;QACxE,CAAC;QACD,MAAM,MAAM,GAAmB;YAC7B,EAAE,EAAE;gBACF,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,eAAe,EAAE,OAAO,CAAC,eAAe;gBACxC,eAAe,EAAE,WAAW,CAAC,eAAe;aAC7C;YACD,WAAW,EAAE;gBACX,MAAM,EAAE,iBAAiB;gBACzB,KAAK,EAAE,WAAW,CAAC,WAAW;gBAC9B,QAAQ,EAAE,MAAM,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI;gBAC1D,MAAM,EAAE,MAAM,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;gBACpD,YAAY;aACb;YACD,GAAG,EAAE,EAAE,SAAS,EAAE,UAAU,CAAC,UAAU,CAAC,EAAE;YAC1C,MAAM,EAAE;gBACN,OAAO,EAAE,aAAa;gBACtB,MAAM,EAAE,QAAQ;oBACd,CAAC,CAAC,8EAA8E;wBAC9E,gFAAgF;oBAClF,CAAC,CAAC,aAAa;wBACb,CAAC,CAAC,6CAA6C;wBAC/C,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,OAAO;4BACvB,CAAC,CAAC,+EAA+E;4BACjF,CAAC,CAAC,2DAA2D;aACpE;YACD,YAAY,EAAE;gBACZ,OAAO,EAAE,MAAM,CAAC,iBAAiB;gBACjC,mBAAmB,EAAE,UAAU;gBAC/B,MAAM,EAAE,CAAC,MAAM,CAAC,iBAAiB;oBAC/B,CAAC,CAAC,uFAAuF;oBACzF,CAAC,CAAC,UAAU;wBACV,CAAC,CAAC,6DAA6D;wBAC/D,CAAC,CAAC,iFAAiF;4BACjF,uDAAuD;aAC9D;YACD,WAAW,EAAE;gBACX,OAAO,EAAE,UAAU;gBACnB,iBAAiB,EAAE,WAAW;gBAC9B,OAAO,EAAE,eAAe,CAAC,WAAW,EAAE,UAAU,CAAC;aAClD;YACD,UAAU,EACR,OAAO,CAAC,eAAe,KAAK,IAAI;gBAC9B,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,SAAS,CAAC;gBACpC,CAAC,CAAC;oBACE,MAAM,EAAE,YAAY;oBACpB,MAAM,EACJ,2EAA2E;wBAC3E,mEAAmE;iBACtE;YACP,EAAE,EAAE;gBACF,OAAO,EAAE,MAAM,CAAC,EAAE,CAAC,OAAO;gBAC1B,UAAU,EAAE,eAAe,EAAE;gBAC7B,aAAa,EACX,OAAO,CAAC,kBAAkB,KAAK,IAAI;oBACjC,CAAC,CAAC,kBAAkB,CAAC,OAAO,CAAC,sBAAsB,CAAC;oBACpD,CAAC,CAAC;wBACE,MAAM,EAAE,YAAY;wBACpB,MAAM,EACJ,gFAAgF;4BAChF,+EAA+E;qBAClF;gBACP,oBAAoB,EAAE,wBAAwB;gBAC9C,aAAa,EAAE,iBAAiB,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;oBACzD,EAAE;oBACF,MAAM,EAAE,KAAK,CAAC,MAAM;iBACrB,CAAC,CAAC;gBACH,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,OAAO;oBACvB,CAAC,CAAC,qFAAqF;wBACrF,uEAAuE;oBACzE,CAAC,CAAC,mFAAmF;wBACnF,4DAA4D;aACjE;YACD,YAAY,EAAE;gBACZ,SAAS,EAAE,oBAAoB,CAAC,OAAO,CAAC,YAAY,CAAC;gBACrD,SAAS,EAAE,mBAAmB,CAAC,OAAO,CAAC,YAAY,CAAC;aACrD;YACD,UAAU,EAAE,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC;YACxC,UAAU,EAAE,iBAAiB,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC;YACxE,KAAK,EAAE,kBAAkB,CAAC,gBAAgB,CAAC,OAAO,CAAC,QAAQ,IAAI,QAAQ,EAAE,CAAC,CAAC;SAC5E,CAAC;QACF,OAAO;YACL,MAAM;YACN,KAAK,EAAE,IAAI;YACX,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,YAAY;YAC7D,IAAI,EAAE;gBACJ,SAAS,EAAE,WAAW,CAAC,eAAe;gBACtC,WAAW,EAAE,iBAAiB,KAAK,iBAAiB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,iBAAiB;aACrF;SACF,CAAC;IACJ,CAAC;YAAS,CAAC;QACT,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"diagnose.js","sourceRoot":"","sources":["../src/diagnose.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -7,7 +7,7 @@
7
7
  */
8
8
  export { openThings } from "./client.ts";
9
9
  export type { BoundedAreaView, BoundedList, BoundedSectionsView, BoundedTodayView, GroupedBound, ListBound, OpenOptions, ThingsClient, } from "./client.ts";
10
- export type { Truncation, GroupedTruncation, GroupBlock, SectionCount } from "./contracts.ts";
10
+ export type { Truncation, GroupBlock, SectionCount } from "./contracts.ts";
11
11
  export { diagnose } from "./diagnose.ts";
12
12
  export type { DiagnoseOptions, DiagnoseReport, DiagnoseResult } from "./diagnose.ts";
13
13
  export { probeAutomation } from "./write/automation-probe.ts";
@@ -17,14 +17,16 @@ export type { EnvironmentChange, EnvironmentTracker, EnvironmentTuple, } from ".
17
17
  export type { FailureHint, LikelyCause } from "./write/failure-hints.ts";
18
18
  export { capabilitiesTable } from "./write/capabilities.ts";
19
19
  export type { CapabilityEntry } from "./write/capabilities.ts";
20
- export { saveConfigKey } from "./config.ts";
20
+ export { describeConfig, getConfigKey, saveConfigKey } from "./config.ts";
21
+ export type { ConfigKeyView } from "./config.ts";
21
22
  export type { UndoItemResult, UndoOptions, UndoPlan, UndoStep } from "./write/undo.ts";
22
- export type { BatchItemResult, BatchOp, BatchOptions } from "./write/batch.ts";
23
+ export type { BatchItemResult, BatchOp, BatchOptions, BatchResult } from "./write/batch.ts";
23
24
  export type { ReorderResult } from "./write/reorder.ts";
25
+ export type { MoveResult, MoveOk, MoveRefused, MoveLegFailed, MoveDryRun, MovePosition, PlacementClass, ProjectMoveDestination, ProjectMoveRequest, ReorderRequest, TodoMoveDestination, TodoMoveRequest, } from "./write/move.ts";
24
26
  export type { SearchOptions, SomedayFilter, UpcomingFilter, ViewFilter, ChangedItem, } from "./read/views.ts";
25
27
  export { FILTER_CONTRACT, hasTagPresence, tagFlagConflict, tagFilterFields, validateViewArgs, } from "./read/filter-contract.ts";
26
28
  export type { BoundModel, FilterArgs, FilterVocab, TagPresence, TagSemantics, ViewFilterSpec, ViewName, ViewValidation, } from "./read/filter-contract.ts";
27
- export type { Acknowledgements, AreaAddParams, ContainerRef, OperationKind, OperationParamsMap, ProjectAddParams, ProjectCompleteParams, ProjectMoveParams, ProjectUpdateParams, ReorderParams, ReorderScope, ReorderStrategy, TagAddParams, TagUpdateParams, AreaUpdateParams, TodoAddParams, TodoMoveParams, TodoUpdateParams, WhenValue, } from "./write/operations.ts";
29
+ export type { Acknowledgements, AreaAddParams, ContainerRef, HeadingPlacement, MoveHeadingParams, OperationKind, OperationParamsMap, ProjectAddParams, ProjectCompleteParams, ProjectMoveParams, ProjectUpdateParams, ReorderParams, ReorderScope, ReorderStrategy, TagAddParams, TagUpdateParams, AreaUpdateParams, TodoAddParams, TodoMoveParams, TodoUpdateParams, WhenValue, } from "./write/operations.ts";
28
30
  export { OPERATION_KINDS } from "./write/operations.ts";
29
31
  export type { MutationPlan, MutationResult, WriteOptions } from "./write/pipeline.ts";
30
32
  export type { HazardId } from "./write/guards.ts";
@@ -32,39 +34,53 @@ export { HAZARD_IDS } from "./write/guards.ts";
32
34
  export type { CompiledInvocation, VectorId, VectorMatrix, VectorSupport, WriteVector, } from "./write/vectors/types.ts";
33
35
  export { APPLESCRIPT_MATRIX } from "./write/vectors/applescript.ts";
34
36
  export { URL_SCHEME_MATRIX } from "./write/vectors/url-scheme.ts";
35
- export type { DeltaSpec, FieldAssertion } from "./write/verify/delta.ts";
37
+ export { dbCarriesBenchMarker, simFenceActive } from "./write/vectors/simulator.ts";
38
+ export type { DeltaSpec, FieldAssertion, RepeatingDiscovery } from "./write/verify/delta.ts";
36
39
  export type { AuditRecord } from "./audit/schema.ts";
37
40
  export type { DisruptionTier, Profile, ThingsApiConfig } from "./config.ts";
38
41
  export type { AnyTask, Area, ChecklistItem, Heading, IsoDateGroup, Project, Ref, RepeatingInfo, StartState, Tag, TaskStatus, TaskType, Todo, TodaySection, } from "./model/entities.ts";
39
42
  export type { IsoDate } from "./model/dates.ts";
43
+ export { calendarDateInZone, dayBoundInstant, hostTimeZone, isValidTimeZone, } from "./model/dates.ts";
44
+ export { resolveClock, clockMeta, ClockError } from "./model/clock.ts";
45
+ export type { EffectiveClock, ClockMeta } from "./model/clock.ts";
46
+ export type { ClockScopedRead } from "./client.ts";
40
47
  export type { ListItem, SidebarSection, TodayView } from "./read/views.ts";
41
48
  export type { ProjectView } from "./read/project-view.ts";
42
49
  export type { AreaView } from "./read/area-view.ts";
43
50
  export { isActiveProjectRow, isScheduledProjectRow, isSomedayProjectRow, } from "./read/area-view.ts";
44
51
  export { ProjectNotFoundError } from "./read/project-view.ts";
52
+ export { isLooseRef, looseShadowNotice, LOOSE_OPEN_REFUSAL, LOOSE_REF, LOOSE_TO_AREA_REFUSAL, } from "./read/pseudo-area.ts";
53
+ export type { AreaFilterTarget, AreaScopedRead, ViewFilterMeta } from "./read/area-filter.ts";
45
54
  export { ReferenceResolutionError } from "./read/queries.ts";
46
- export type { RefCandidate } from "./read/queries.ts";
55
+ export { candidateRef, CANDIDATE_CAP } from "./read/shape.ts";
56
+ export type { CandidateRef, CandidateType } from "./read/shape.ts";
57
+ export { ScopeResolutionError } from "./read/scope.ts";
58
+ export type { ResolvedScope, ScopeMeta, ScopeSource } from "./read/scope.ts";
47
59
  export { splitWhenSugar, CLI_WHEN_LABELS, MCP_WHEN_LABELS } from "./model/when-sugar.ts";
48
60
  export type { WhenSugar, WhenSugarLabels } from "./model/when-sugar.ts";
49
61
  export { ThingsDbNotFoundError } from "./db/locate.ts";
50
62
  export { ThingsDbOpenError } from "./db/connection.ts";
51
63
  export type { Baseline, FingerprintStatus, SchemaObservation } from "./db/fingerprint.ts";
52
- export { aggregateExitCode, API_VERSION, blockedCode, errorEnvelope, ExitCode, okEnvelope, PKG_VERSION, verifyFailedCode, } from "./contracts.ts";
53
- export type { Envelope, EnvelopeMeta, ErrorEnvelope, OkEnvelope } from "./contracts.ts";
64
+ export { aggregateExitCode, API_VERSION, blockedCode, errorEnvelope, ExitCode, mutationWireData, okEnvelope, PKG_VERSION, verifyFailedCode, } from "./contracts.ts";
65
+ export type { Envelope, EnvelopeMeta, ErrorCode, ErrorEnvelope, OkEnvelope, WireData, WireEnvelope, WireOkEnvelope, WireOkKind, } from "./contracts.ts";
54
66
  export * from "./surface-copy.ts";
55
67
  export { omitEmpty } from "./model/serialize.ts";
68
+ export { shapeReadPayload } from "./read/shape.ts";
56
69
  export { localToday } from "./model/dates.ts";
57
70
  export { templateStatus } from "./model/recurrence.ts";
58
71
  export { isTodayMember } from "./read/views.ts";
72
+ export { entityProvisional, entityWhen } from "./read/stage.ts";
73
+ export type { When } from "./read/stage.ts";
59
74
  export type { LiteCandidate, LiteSearchResult } from "./read/views.ts";
60
75
  export { partitionSomedaySection, splitSectionBlocks } from "./read/sections.ts";
61
76
  export type { GroupedLimits } from "./read/sections.ts";
62
- export { noUuidMatch, stripThingsUri } from "./read/queries.ts";
77
+ export { deadNameMatchHint, noUuidMatch, stripThingsUri } from "./read/queries.ts";
63
78
  export type { Snapshot } from "./read/snapshot.ts";
64
79
  export type { ShowTarget } from "./read/show-target.ts";
65
80
  export type { ChecklistEdit } from "./client.ts";
66
81
  export type { TagRef } from "./model/entities.ts";
67
82
  export { outcomeFailed } from "./write/batch.ts";
83
+ export { OP_ID_RE } from "./write/opid.ts";
68
84
  export { BOUNCE_MAX_ITEMS } from "./write/reorder.ts";
69
85
  export type { MonthlyAnchor, RepeatFrequency, RepeatRuleParams, Weekday, WeekdayOrdinal, YearlyAnchor, } from "./write/operations.ts";
70
86
  export { shortcutProxies } from "./diagnose.ts";
package/dist/index.js CHANGED
@@ -10,7 +10,7 @@ export { diagnose } from "./diagnose.js";
10
10
  export { probeAutomation } from "./write/automation-probe.js";
11
11
  export { createEnvironmentTracker, describeEnvironmentChanges, diffEnvironment, } from "./write/environment.js";
12
12
  export { capabilitiesTable } from "./write/capabilities.js";
13
- export { saveConfigKey } from "./config.js";
13
+ export { describeConfig, getConfigKey, saveConfigKey } from "./config.js";
14
14
  // The per-view read-filter contract: the declarative applicability table plus
15
15
  // the shared tag-conflict predicates both surfaces enforce. See
16
16
  // docs/design/architecture.md (Consumer boundary).
@@ -19,17 +19,31 @@ export { OPERATION_KINDS } from "./write/operations.js";
19
19
  export { HAZARD_IDS } from "./write/guards.js";
20
20
  export { APPLESCRIPT_MATRIX } from "./write/vectors/applescript.js";
21
21
  export { URL_SCHEME_MATRIX } from "./write/vectors/url-scheme.js";
22
+ export { dbCarriesBenchMarker, simFenceActive } from "./write/vectors/simulator.js";
23
+ export { calendarDateInZone, dayBoundInstant, hostTimeZone, isValidTimeZone, } from "./model/dates.js";
24
+ export { resolveClock, clockMeta, ClockError } from "./model/clock.js";
22
25
  export { isActiveProjectRow, isScheduledProjectRow, isSomedayProjectRow, } from "./read/area-view.js";
23
26
  export { ProjectNotFoundError } from "./read/project-view.js";
27
+ // The `loose` pseudo-area: the reserved-word predicate + open/write refusals the
28
+ // consumer surfaces gate on (the null-area composite view is read-only).
29
+ export { isLooseRef, looseShadowNotice, LOOSE_OPEN_REFUSAL, LOOSE_REF, LOOSE_TO_AREA_REFUSAL, } from "./read/pseudo-area.js";
24
30
  // Reference resolution: the stable public error a uuid/partial-uuid/name raises
25
31
  // when it resolves to zero or several entities, carrying the machine shape the
26
32
  // CLI --json envelope and MCP tool errors surface (code + candidates).
27
33
  export { ReferenceResolutionError } from "./read/queries.js";
34
+ // The ONE fixed error-candidate shape and its single-source projector — the DTO
35
+ // a not-found/ambiguous resolution and the did-you-mean fallback list under
36
+ // `error.detail.candidates`. See src/read/shape.ts.
37
+ export { candidateRef, CANDIDATE_CAP } from "./read/shape.js";
38
+ // Container-scoped sandbox: the pinned-scope shape (surfaced as `meta.scope` and
39
+ // `client.scope`) and the fail-closed error a bad `--scope` raises. See
40
+ // docs/design/container-scope.md.
41
+ export { ScopeResolutionError } from "./read/scope.js";
28
42
  // The shared `<when>@<time>` scheduling sugar parser (CLI + MCP).
29
43
  export { splitWhenSugar, CLI_WHEN_LABELS, MCP_WHEN_LABELS } from "./model/when-sugar.js";
30
44
  export { ThingsDbNotFoundError } from "./db/locate.js";
31
45
  export { ThingsDbOpenError } from "./db/connection.js";
32
- export { aggregateExitCode, API_VERSION, blockedCode, errorEnvelope, ExitCode, okEnvelope, PKG_VERSION, verifyFailedCode, } from "./contracts.js";
46
+ export { aggregateExitCode, API_VERSION, blockedCode, errorEnvelope, ExitCode, mutationWireData, okEnvelope, PKG_VERSION, verifyFailedCode, } from "./contracts.js";
33
47
  // ---------------------------------------------------------------------------
34
48
  // Consumer-surface support: everything below is exported so the CLI and MCP
35
49
  // server can consume it through this one entry point (the air-gap boundary,
@@ -39,13 +53,18 @@ export { aggregateExitCode, API_VERSION, blockedCode, errorEnvelope, ExitCode, o
39
53
  export * from "./surface-copy.js";
40
54
  // Pure model/read helpers the presentation layers reuse.
41
55
  export { omitEmpty } from "./model/serialize.js";
56
+ export { shapeReadPayload } from "./read/shape.js";
42
57
  export { localToday } from "./model/dates.js";
43
58
  export { templateStatus } from "./model/recurrence.js";
44
59
  export { isTodayMember } from "./read/views.js";
60
+ // The single-source time-axis derivation the wire emit boundary and the TTY
61
+ // renderers share (a TTY when/pip can never disagree with the emitted `when`).
62
+ export { entityProvisional, entityWhen } from "./read/stage.js";
45
63
  export { partitionSomedaySection, splitSectionBlocks } from "./read/sections.js";
46
- export { noUuidMatch, stripThingsUri } from "./read/queries.js";
64
+ export { deadNameMatchHint, noUuidMatch, stripThingsUri } from "./read/queries.js";
47
65
  // Write-path values/types the surfaces render or gate on.
48
66
  export { outcomeFailed } from "./write/batch.js";
67
+ export { OP_ID_RE } from "./write/opid.js";
49
68
  export { BOUNCE_MAX_ITEMS } from "./write/reorder.js";
50
69
  // Shortcut-proxy availability: a proper library accessor (setup consumes it
51
70
  // without opening a database). See shortcutProxies in diagnose.ts.
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAYzC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAM9D,OAAO,EACL,wBAAwB,EACxB,0BAA0B,EAC1B,eAAe,GAChB,MAAM,wBAAwB,CAAC;AAOhC,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAE5D,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAY5C,8EAA8E;AAC9E,gEAAgE;AAChE,mDAAmD;AACnD,OAAO,EACL,eAAe,EACf,cAAc,EACd,eAAe,EACf,eAAe,EACf,gBAAgB,GACjB,MAAM,2BAA2B,CAAC;AAiCnC,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAGxD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAQ/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAyBlE,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EACrB,mBAAmB,GACpB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE9D,gFAAgF;AAChF,+EAA+E;AAC/E,uEAAuE;AACvE,OAAO,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAG7D,kEAAkE;AAClE,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAGzF,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAGvD,OAAO,EACL,iBAAiB,EACjB,WAAW,EACX,WAAW,EACX,aAAa,EACb,QAAQ,EACR,UAAU,EACV,WAAW,EACX,gBAAgB,GACjB,MAAM,gBAAgB,CAAC;AAGxB,8EAA8E;AAC9E,4EAA4E;AAC5E,4EAA4E;AAC5E,2EAA2E;AAC3E,8EAA8E;AAE9E,2EAA2E;AAC3E,cAAc,mBAAmB,CAAC;AAElC,yDAAyD;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,OAAO,EAAE,uBAAuB,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAEjF,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAMhE,0DAA0D;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAUtD,4EAA4E;AAC5E,mEAAmE;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAYhD,MAAM,UAAU,aAAa;IAC3B,OAAO,MAAM,CAAC,iBAAiB,CAAC,CAAC;AACnC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,15 @@ export interface McpServerOptions {
10
10
  * Undefined leaves the config profile's default in force.
11
11
  */
12
12
  maxDisruption?: DisruptionTier;
13
+ /**
14
+ * Container scope for this server: a ref (uuid / uuid-prefix / unique area or
15
+ * project name) jailing EVERY tool call to one container. This is the real
16
+ * trust boundary — fixed at daemon spawn by whoever controls the launch, and
17
+ * no tool can unscope. It OUTRANKS `THINGS_API_SCOPE` (an agent that can set
18
+ * env must not override the launcher's flag). Unresolvable → the server
19
+ * refuses to start. See docs/design/container-scope.md.
20
+ */
21
+ scope?: string;
13
22
  /** Test seam: forwarded to openThings (fake vectors, pinned clock, env). */
14
23
  openOptions?: OpenOptions;
15
24
  }