things-api 0.9.0 → 0.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +57 -12
- package/dist/audit/log.js +56 -2
- package/dist/audit/log.js.map +1 -1
- package/dist/audit/schema.d.ts +26 -8
- package/dist/audit/schema.js +42 -1
- package/dist/audit/schema.js.map +1 -1
- package/dist/cli/clock.d.ts +8 -0
- package/dist/cli/clock.js +24 -0
- package/dist/cli/clock.js.map +1 -0
- package/dist/cli/commands/area.d.ts +26 -3
- package/dist/cli/commands/area.js +129 -75
- package/dist/cli/commands/area.js.map +1 -1
- package/dist/cli/commands/doctor.d.ts +1 -1
- package/dist/cli/commands/doctor.js +44 -5
- package/dist/cli/commands/doctor.js.map +1 -1
- package/dist/cli/commands/install-skill.d.ts +45 -0
- package/dist/cli/commands/install-skill.js +207 -0
- package/dist/cli/commands/install-skill.js.map +1 -0
- package/dist/cli/commands/mcp.js +23 -4
- package/dist/cli/commands/mcp.js.map +1 -1
- package/dist/cli/commands/project.d.ts +18 -1
- package/dist/cli/commands/project.js +74 -35
- package/dist/cli/commands/project.js.map +1 -1
- package/dist/cli/commands/reads.d.ts +15 -2
- package/dist/cli/commands/reads.js +459 -165
- package/dist/cli/commands/reads.js.map +1 -1
- package/dist/cli/commands/repeat-flags.d.ts +20 -0
- package/dist/cli/commands/repeat-flags.js +76 -0
- package/dist/cli/commands/repeat-flags.js.map +1 -0
- package/dist/cli/commands/setup.js +8 -4
- package/dist/cli/commands/setup.js.map +1 -1
- package/dist/cli/commands/show.js +53 -30
- package/dist/cli/commands/show.js.map +1 -1
- package/dist/cli/commands/todo.d.ts +1 -1
- package/dist/cli/commands/todo.js +20 -13
- package/dist/cli/commands/todo.js.map +1 -1
- package/dist/cli/commands/writes.js +388 -161
- package/dist/cli/commands/writes.js.map +1 -1
- package/dist/cli/did-you-mean.d.ts +1 -1
- package/dist/cli/excess-args.d.ts +15 -0
- package/dist/cli/excess-args.js +51 -0
- package/dist/cli/excess-args.js.map +1 -0
- package/dist/cli/glyphs.d.ts +55 -2
- package/dist/cli/glyphs.js +114 -21
- package/dist/cli/glyphs.js.map +1 -1
- package/dist/cli/help.d.ts +54 -0
- package/dist/cli/help.js +405 -0
- package/dist/cli/help.js.map +1 -0
- package/dist/cli/main.js +64 -26
- package/dist/cli/main.js.map +1 -1
- package/dist/cli/move-hint.d.ts +45 -0
- package/dist/cli/move-hint.js +196 -0
- package/dist/cli/move-hint.js.map +1 -0
- package/dist/cli/period.d.ts +9 -8
- package/dist/cli/period.js +56 -30
- package/dist/cli/period.js.map +1 -1
- package/dist/cli/read-driver.d.ts +26 -19
- package/dist/cli/read-driver.js +77 -33
- package/dist/cli/read-driver.js.map +1 -1
- package/dist/cli/render.d.ts +92 -28
- package/dist/cli/render.js +333 -103
- package/dist/cli/render.js.map +1 -1
- package/dist/cli/resolve-invocation.d.ts +42 -4
- package/dist/cli/resolve-invocation.js +97 -14
- package/dist/cli/resolve-invocation.js.map +1 -1
- package/dist/cli/skill-check.d.ts +21 -0
- package/dist/cli/skill-check.js +82 -0
- package/dist/cli/skill-check.js.map +1 -0
- package/dist/cli/skill.d.ts +62 -0
- package/dist/cli/skill.js +142 -0
- package/dist/cli/skill.js.map +1 -0
- package/dist/cli/tag-filters.d.ts +63 -0
- package/dist/cli/tag-filters.js +59 -0
- package/dist/cli/tag-filters.js.map +1 -0
- package/dist/cli/verb-hint.d.ts +25 -0
- package/dist/cli/verb-hint.js +163 -0
- package/dist/cli/verb-hint.js.map +1 -0
- package/dist/cli/version.d.ts +4 -0
- package/dist/cli/version.js +18 -0
- package/dist/cli/version.js.map +1 -0
- package/dist/cli/width.d.ts +135 -0
- package/dist/cli/width.js +313 -0
- package/dist/cli/width.js.map +1 -0
- package/dist/client.d.ts +160 -24
- package/dist/client.js +132 -19
- package/dist/client.js.map +1 -1
- package/dist/config.d.ts +11 -0
- package/dist/config.js +3 -0
- package/dist/config.js.map +1 -1
- package/dist/contracts.d.ts +97 -17
- package/dist/contracts.js +44 -1
- package/dist/contracts.js.map +1 -1
- package/dist/db/fingerprint.d.ts +12 -0
- package/dist/db/fingerprint.js +15 -1
- package/dist/db/fingerprint.js.map +1 -1
- package/dist/db/locate.js +1 -1
- package/dist/db/locate.js.map +1 -1
- package/dist/diagnose.d.ts +63 -0
- package/dist/diagnose.js +38 -1
- package/dist/diagnose.js.map +1 -1
- package/dist/index.d.ts +36 -5
- package/dist/index.js +38 -2
- package/dist/index.js.map +1 -1
- package/dist/mcp/server.d.ts +9 -1
- package/dist/mcp/server.js +1038 -436
- package/dist/mcp/server.js.map +1 -1
- package/dist/model/clock.d.ts +61 -0
- package/dist/model/clock.js +71 -0
- package/dist/model/clock.js.map +1 -0
- package/dist/model/dates.d.ts +26 -3
- package/dist/model/dates.js +84 -3
- package/dist/model/dates.js.map +1 -1
- package/dist/model/entities.d.ts +48 -10
- package/dist/model/entities.js.map +1 -1
- package/dist/model/mappers.d.ts +9 -2
- package/dist/model/mappers.js +32 -9
- package/dist/model/mappers.js.map +1 -1
- package/dist/model/serialize.d.ts +28 -0
- package/dist/model/serialize.js +80 -0
- package/dist/model/serialize.js.map +1 -0
- package/dist/model/when-sugar.d.ts +47 -0
- package/dist/model/when-sugar.js +45 -0
- package/dist/model/when-sugar.js.map +1 -0
- package/dist/read/area-view.d.ts +8 -1
- package/dist/read/area-view.js +55 -17
- package/dist/read/area-view.js.map +1 -1
- package/dist/read/detail.d.ts +1 -1
- package/dist/read/detail.js +11 -4
- package/dist/read/detail.js.map +1 -1
- package/dist/read/filter-contract.d.ts +117 -0
- package/dist/read/filter-contract.js +78 -0
- package/dist/read/filter-contract.js.map +1 -0
- package/dist/read/log-boundary.d.ts +1 -1
- package/dist/read/log-boundary.js +13 -3
- package/dist/read/log-boundary.js.map +1 -1
- package/dist/read/predicates.d.ts +30 -0
- package/dist/read/predicates.js +30 -0
- package/dist/read/predicates.js.map +1 -1
- package/dist/read/project-view.d.ts +12 -1
- package/dist/read/project-view.js +45 -12
- package/dist/read/project-view.js.map +1 -1
- package/dist/read/queries.d.ts +152 -7
- package/dist/read/queries.js +277 -36
- package/dist/read/queries.js.map +1 -1
- package/dist/read/sections.d.ts +51 -0
- package/dist/read/sections.js +37 -0
- package/dist/read/sections.js.map +1 -0
- package/dist/read/sidebar-order.js +2 -1
- package/dist/read/sidebar-order.js.map +1 -1
- package/dist/read/snapshot.d.ts +1 -1
- package/dist/read/snapshot.js +9 -2
- package/dist/read/snapshot.js.map +1 -1
- package/dist/read/tags.d.ts +27 -3
- package/dist/read/tags.js +83 -12
- package/dist/read/tags.js.map +1 -1
- package/dist/read/truncation.d.ts +71 -0
- package/dist/read/{pagination.js → truncation.js} +103 -94
- package/dist/read/truncation.js.map +1 -0
- package/dist/read/views.d.ts +147 -22
- package/dist/read/views.js +282 -80
- package/dist/read/views.js.map +1 -1
- package/dist/surface-copy.d.ts +19 -0
- package/dist/surface-copy.js +32 -0
- package/dist/surface-copy.js.map +1 -1
- package/dist/sync-health.d.ts +78 -0
- package/dist/sync-health.js +312 -0
- package/dist/sync-health.js.map +1 -0
- package/dist/write/accessibility-probe.d.ts +12 -0
- package/dist/write/accessibility-probe.js +71 -0
- package/dist/write/accessibility-probe.js.map +1 -0
- package/dist/write/automation-probe.d.ts +8 -1
- package/dist/write/automation-probe.js +16 -1
- package/dist/write/automation-probe.js.map +1 -1
- package/dist/write/batch.js +5 -2
- package/dist/write/batch.js.map +1 -1
- package/dist/write/capabilities.d.ts +8 -0
- package/dist/write/capabilities.js +13 -6
- package/dist/write/capabilities.js.map +1 -1
- package/dist/write/commands.d.ts +3 -1
- package/dist/write/commands.js +602 -49
- package/dist/write/commands.js.map +1 -1
- package/dist/write/edit-checklist.js +3 -2
- package/dist/write/edit-checklist.js.map +1 -1
- package/dist/write/guards.d.ts +2 -7
- package/dist/write/guards.js +87 -6
- package/dist/write/guards.js.map +1 -1
- package/dist/write/heading.js +2 -0
- package/dist/write/heading.js.map +1 -1
- package/dist/write/lock.d.ts +40 -2
- package/dist/write/lock.js +91 -14
- package/dist/write/lock.js.map +1 -1
- package/dist/write/make-repeating-project.d.ts +4 -0
- package/dist/write/make-repeating-project.js +253 -0
- package/dist/write/make-repeating-project.js.map +1 -0
- package/dist/write/operations.d.ts +145 -1
- package/dist/write/operations.js +48 -0
- package/dist/write/operations.js.map +1 -1
- package/dist/write/pipeline.d.ts +73 -2
- package/dist/write/pipeline.js +218 -43
- package/dist/write/pipeline.js.map +1 -1
- package/dist/write/planner.js +8 -1
- package/dist/write/planner.js.map +1 -1
- package/dist/write/pre-state.d.ts +105 -3
- package/dist/write/pre-state.js +144 -3
- package/dist/write/pre-state.js.map +1 -1
- package/dist/write/recurrence-rule-blob.d.ts +65 -0
- package/dist/write/recurrence-rule-blob.js +150 -0
- package/dist/write/recurrence-rule-blob.js.map +1 -0
- package/dist/write/reopen.js +3 -2
- package/dist/write/reopen.js.map +1 -1
- package/dist/write/reorder.js +27 -17
- package/dist/write/reorder.js.map +1 -1
- package/dist/write/repeat-rule.d.ts +22 -0
- package/dist/write/repeat-rule.js +258 -0
- package/dist/write/repeat-rule.js.map +1 -0
- package/dist/write/reversibility.js +49 -0
- package/dist/write/reversibility.js.map +1 -1
- package/dist/write/tag-refs.d.ts +47 -0
- package/dist/write/tag-refs.js +126 -0
- package/dist/write/tag-refs.js.map +1 -0
- package/dist/write/undo.d.ts +74 -5
- package/dist/write/undo.js +493 -80
- package/dist/write/undo.js.map +1 -1
- package/dist/write/vectors/registry.d.ts +15 -1
- package/dist/write/vectors/registry.js +65 -2
- package/dist/write/vectors/registry.js.map +1 -1
- package/dist/write/vectors/simulator.d.ts +44 -0
- package/dist/write/vectors/simulator.js +1136 -0
- package/dist/write/vectors/simulator.js.map +1 -0
- package/dist/write/vectors/types.d.ts +154 -3
- package/dist/write/vectors/ui-certification.d.ts +54 -0
- package/dist/write/vectors/ui-certification.js +43 -0
- package/dist/write/vectors/ui-certification.js.map +1 -0
- package/dist/write/vectors/ui-drag.d.ts +188 -0
- package/dist/write/vectors/ui-drag.js +1095 -0
- package/dist/write/vectors/ui-drag.js.map +1 -0
- package/dist/write/vectors/ui-recipes.d.ts +83 -0
- package/dist/write/vectors/ui-recipes.js +610 -0
- package/dist/write/vectors/ui-recipes.js.map +1 -0
- package/dist/write/vectors/ui.d.ts +152 -0
- package/dist/write/vectors/ui.js +704 -0
- package/dist/write/vectors/ui.js.map +1 -0
- package/dist/write/verify/delta.d.ts +141 -4
- package/dist/write/verify/delta.js +199 -21
- package/dist/write/verify/delta.js.map +1 -1
- package/dist/write/verify/poller.d.ts +7 -1
- package/dist/write/verify/poller.js +21 -1
- package/dist/write/verify/poller.js.map +1 -1
- package/package.json +18 -3
- package/skills/things-cli/SKILL.md +53 -0
- package/skills/things-cli/references/contracts.md +41 -0
- package/skills/things-cli/references/gui.md +11 -0
- package/skills/things-cli/references/model.md +51 -0
- package/dist/cli/exit-codes.d.ts +0 -26
- package/dist/cli/exit-codes.js +0 -26
- package/dist/cli/exit-codes.js.map +0 -1
- package/dist/cli/output.d.ts +0 -42
- package/dist/cli/output.js +0 -16
- package/dist/cli/output.js.map +0 -1
- package/dist/read/pagination.d.ts +0 -104
- package/dist/read/pagination.js.map +0 -1
package/dist/client.js
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { createAuditWriter } from "./audit/log.js";
|
|
2
2
|
import { loadConfig } from "./config.js";
|
|
3
|
+
import { resolveClock, clockMeta as buildClockMeta } from "./model/clock.js";
|
|
3
4
|
import { PKG_VERSION } from "./contracts.js";
|
|
4
5
|
import { BASELINES } from "./db/baselines/index.js";
|
|
5
6
|
import { openConnection } from "./db/connection.js";
|
|
6
|
-
import { compareToBaseline, observeSchema } from "./db/fingerprint.js";
|
|
7
|
+
import { compareToBaseline, observeSchema, toSchemaStatus, } from "./db/fingerprint.js";
|
|
7
8
|
import { locateThingsDb } from "./db/locate.js";
|
|
8
9
|
import { auditDir, mutationLockPath } from "./paths.js";
|
|
9
10
|
import { byUuid } from "./read/detail.js";
|
|
@@ -14,22 +15,61 @@ import { snapshotView } from "./read/snapshot.js";
|
|
|
14
15
|
import { classifyShowTarget } from "./read/show-target.js";
|
|
15
16
|
import { areasView, tagsView } from "./read/tags.js";
|
|
16
17
|
import { anytimeView, changesView, inboxView, liteTitleSearch, logbookView, projectsView, searchView, somedayView, todayView, trashView, upcomingView, } from "./read/views.js";
|
|
18
|
+
import { capAreaSections, previewSections, previewSomedaySections, truncateList, truncateToday, } from "./read/truncation.js";
|
|
19
|
+
import { resolveCap } from "./read/caps.js";
|
|
20
|
+
import { AREA_PREVIEW_LIMIT, DEFAULT_LIST_LIMIT, PROJECT_PREVIEW_LIMIT } from "./surface-copy.js";
|
|
17
21
|
import { readAuthToken, runMutation, } from "./write/pipeline.js";
|
|
18
22
|
import { runBatch } from "./write/batch.js";
|
|
23
|
+
import { planTagCreation } from "./write/tag-refs.js";
|
|
19
24
|
import { createEnvironmentTracker } from "./write/environment.js";
|
|
20
25
|
import { runHeadingArchive, runHeadingUnarchive, } from "./write/heading.js";
|
|
21
26
|
import { runClearReminder } from "./write/clear-reminder.js";
|
|
22
27
|
import { runEditChecklist } from "./write/edit-checklist.js";
|
|
28
|
+
import { runCreateRepeatingProject, runMakeRepeatingProject, } from "./write/make-repeating-project.js";
|
|
23
29
|
import { runReorder } from "./write/reorder.js";
|
|
24
30
|
import { runUndo } from "./write/undo.js";
|
|
25
31
|
import { runProjectReopen, } from "./write/reopen.js";
|
|
26
32
|
import { defaultVectors } from "./write/vectors/registry.js";
|
|
33
|
+
import { createUiDriveAux } from "./write/vectors/ui-drag.js";
|
|
34
|
+
/** Resolve a flat-view row cap (omitted → default 50; null or all → unbounded). */
|
|
35
|
+
function listCap(bound) {
|
|
36
|
+
if (bound?.limit === null)
|
|
37
|
+
return null;
|
|
38
|
+
const decision = resolveCap(bound?.limit, bound?.all, DEFAULT_LIST_LIMIT);
|
|
39
|
+
return decision === "conflict" ? null : decision;
|
|
40
|
+
}
|
|
41
|
+
/** Resolve per-block caps (each omitted → its view default; null on a cap, or all, lifts it). */
|
|
42
|
+
function groupedCaps(bound, areaDefault, projectDefault) {
|
|
43
|
+
const one = (value, dflt) => {
|
|
44
|
+
if (bound?.all === true)
|
|
45
|
+
return null;
|
|
46
|
+
if (value === null)
|
|
47
|
+
return null;
|
|
48
|
+
return value ?? dflt;
|
|
49
|
+
};
|
|
50
|
+
return {
|
|
51
|
+
area: one(bound?.areaLimit, areaDefault),
|
|
52
|
+
project: one(bound?.projectLimit, projectDefault),
|
|
53
|
+
};
|
|
54
|
+
}
|
|
27
55
|
export { applyChecklistEdit } from "./write/checklist.js";
|
|
28
56
|
export function openThings(options = {}) {
|
|
29
57
|
const located = locateThingsDb(options.dbPath ? { dbPath: options.dbPath } : undefined);
|
|
30
58
|
const conn = openConnection(located.path);
|
|
31
|
-
const now = options.now ?? (() => new Date());
|
|
32
59
|
const env = options.env ?? process.env;
|
|
60
|
+
// The effective clock, resolved once from the environment (THINGS_TZ /
|
|
61
|
+
// THINGS_NOW) plus any explicit embedding overrides. Every read/write date
|
|
62
|
+
// boundary rides `now` + `defaultZone`; a per-read `zone` overrides the zone.
|
|
63
|
+
// Malformed values throw ClockError here (fail closed — never a silent host
|
|
64
|
+
// fallback), surfaced by the CLI/MCP as a usage error.
|
|
65
|
+
const clock = resolveClock({
|
|
66
|
+
env,
|
|
67
|
+
...(options.now !== undefined && { now: options.now }),
|
|
68
|
+
...(options.zone !== undefined && { tz: options.zone }),
|
|
69
|
+
});
|
|
70
|
+
const now = clock.now;
|
|
71
|
+
const defaultZone = clock.zone;
|
|
72
|
+
const zoneOf = (o) => o?.zone ?? defaultZone;
|
|
33
73
|
const config = loadConfig(env);
|
|
34
74
|
let cachedStatus = null;
|
|
35
75
|
const fingerprint = () => {
|
|
@@ -45,12 +85,15 @@ export function openThings(options = {}) {
|
|
|
45
85
|
});
|
|
46
86
|
const writeDeps = {
|
|
47
87
|
db: conn.db,
|
|
48
|
-
vectors: options.vectors ?? defaultVectors(),
|
|
88
|
+
vectors: options.vectors ?? defaultVectors(config, createUiDriveAux(conn.db), located.path),
|
|
49
89
|
config,
|
|
50
90
|
audit,
|
|
51
91
|
fingerprint,
|
|
52
92
|
lockPath: mutationLockPath(env),
|
|
53
93
|
now,
|
|
94
|
+
// The consumer zone normalizes clock-relative `when` tokens (today/evening)
|
|
95
|
+
// to explicit dates before dispatch; a per-write `zone` overrides it.
|
|
96
|
+
...(defaultZone !== undefined && { zone: defaultZone }),
|
|
54
97
|
...(options.writeOverrides?.ensureRunning !== undefined && {
|
|
55
98
|
ensureRunning: options.writeOverrides.ensureRunning,
|
|
56
99
|
}),
|
|
@@ -65,32 +108,100 @@ export function openThings(options = {}) {
|
|
|
65
108
|
}),
|
|
66
109
|
environment: options.writeOverrides?.environment ?? createEnvironmentTracker(PKG_VERSION, env),
|
|
67
110
|
};
|
|
68
|
-
const run = (op, params, writeOptions) =>
|
|
111
|
+
const run = async (op, params, writeOptions) => {
|
|
112
|
+
// --create-tags: create any missing tag named in this op's tags (clean
|
|
113
|
+
// `make new tag` path, mkdir-p for parent/child) before applying. Skipped
|
|
114
|
+
// on a dry run (no side effects). A failed creation leg short-circuits and
|
|
115
|
+
// is returned as this op's result.
|
|
116
|
+
const tags = params.tags;
|
|
117
|
+
if (writeOptions?.createTags === true && writeOptions.dryRun !== true && Array.isArray(tags)) {
|
|
118
|
+
const legOptions = { ...writeOptions, createTags: false };
|
|
119
|
+
for (const step of planTagCreation(conn.db, tags)) {
|
|
120
|
+
// parents must land before children (mkdir-p ordering)
|
|
121
|
+
const legResult = await runMutation(writeDeps, "tag.add", step.parent === undefined
|
|
122
|
+
? { title: step.title }
|
|
123
|
+
: { title: step.title, parent: step.parent }, legOptions);
|
|
124
|
+
if (legResult.kind !== "ok")
|
|
125
|
+
return legResult;
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
// Consumer entry point: normalize a consumer-provided `when` (today/evening)
|
|
129
|
+
// to the effective zone before dispatch (a no-op without a zone).
|
|
130
|
+
return runMutation(writeDeps, op, params, { ...writeOptions, normalizeWhen: true });
|
|
131
|
+
};
|
|
69
132
|
return {
|
|
70
133
|
dbPath: located.path,
|
|
71
134
|
config,
|
|
72
135
|
fingerprint,
|
|
136
|
+
schemaStatus: () => toSchemaStatus(fingerprint()),
|
|
137
|
+
clockMeta: (zoneOverride) => buildClockMeta(clock, zoneOverride),
|
|
73
138
|
read: {
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
139
|
+
// The list views own their bounding: run the full filtered query, then
|
|
140
|
+
// truncate to the resolved cap (default 50 / per-block 30·3) — the exact
|
|
141
|
+
// move the CLI/MCP surfaces used to make. The bounded shape carries the
|
|
142
|
+
// capped view plus the truncation/grouped metadata (the human renderers
|
|
143
|
+
// derive their hidden-count hints from that metadata alone).
|
|
144
|
+
today: (o) => {
|
|
145
|
+
const { data, truncation } = truncateToday(todayView(conn.db, now(), o, zoneOf(o)), listCap(o));
|
|
146
|
+
return { view: data, truncation };
|
|
147
|
+
},
|
|
148
|
+
inbox: (o) => {
|
|
149
|
+
const { data, truncation } = truncateList(inboxView(conn.db, now(), o, zoneOf(o)), listCap(o));
|
|
150
|
+
return { items: data, truncation };
|
|
151
|
+
},
|
|
152
|
+
anytime: (o) => {
|
|
153
|
+
const { data, grouped } = previewSections(anytimeView(conn.db, now(), o, zoneOf(o)), groupedCaps(o, AREA_PREVIEW_LIMIT, PROJECT_PREVIEW_LIMIT));
|
|
154
|
+
return { view: data, grouped };
|
|
155
|
+
},
|
|
156
|
+
upcoming: (o) => {
|
|
157
|
+
const { data, truncation } = truncateList(upcomingView(conn.db, now(), o, zoneOf(o)), listCap(o));
|
|
158
|
+
return { items: data, truncation };
|
|
159
|
+
},
|
|
160
|
+
someday: (o) => {
|
|
161
|
+
const { data, grouped } = previewSomedaySections(somedayView(conn.db, now(), o, zoneOf(o)), groupedCaps(o, AREA_PREVIEW_LIMIT, null));
|
|
162
|
+
return { view: data, grouped };
|
|
163
|
+
},
|
|
164
|
+
logbook: (o) => {
|
|
165
|
+
// The bound is the truncation cap; the underlying query stays unbounded
|
|
166
|
+
// (limit: null) so the exact total behind the cut is honest.
|
|
167
|
+
const { limit: _limit, all: _all, ...filter } = o ?? {};
|
|
168
|
+
const { data, truncation } = truncateList(logbookView(conn.db, now(), { ...filter, limit: null }, zoneOf(o)), listCap(o));
|
|
169
|
+
return { items: data, truncation };
|
|
170
|
+
},
|
|
171
|
+
trash: (o) => {
|
|
172
|
+
const { data, truncation } = truncateList(trashView(conn.db, now(), { limit: null }, zoneOf(o)), listCap(o));
|
|
173
|
+
return { items: data, truncation };
|
|
174
|
+
},
|
|
175
|
+
// Thread the injected clock so `--overdue`'s (and later's) today boundary
|
|
176
|
+
// rides the same clock as every other view — never a hardcoded date.
|
|
177
|
+
projects: (o) => {
|
|
178
|
+
const zone = zoneOf(o);
|
|
179
|
+
return projectsView(conn.db, { ...o, now: now(), ...(zone !== undefined && { zone }) });
|
|
180
|
+
},
|
|
181
|
+
projectView: (ref, o) => projectView(conn.db, resolveProjectUuid(conn.db, ref, { trashed: true }), now(), o ?? {}, zoneOf(o)),
|
|
182
|
+
areaView: (ref, o) => {
|
|
183
|
+
const { data, grouped } = capAreaSections(areaView(conn.db, ref, now(), o ?? {}, zoneOf(o)), groupedCaps(o, AREA_PREVIEW_LIMIT, AREA_PREVIEW_LIMIT), now(), zoneOf(o));
|
|
184
|
+
return { view: data, grouped };
|
|
185
|
+
},
|
|
84
186
|
areas: () => areasView(conn.db),
|
|
85
187
|
tags: () => tagsView(conn.db),
|
|
86
|
-
search: (query, o) =>
|
|
87
|
-
|
|
88
|
-
|
|
188
|
+
search: (query, o) => {
|
|
189
|
+
const { limit: _limit, ...rest } = o ?? {};
|
|
190
|
+
const { data, truncation } = truncateList(searchView(conn.db, query, { ...rest, limit: null }, now(), zoneOf(o)), listCap(o));
|
|
191
|
+
return { items: data, truncation };
|
|
192
|
+
},
|
|
193
|
+
liteTitleSearch: (query, o) => liteTitleSearch(conn.db, query, o, now(), defaultZone),
|
|
194
|
+
changes: (o) => {
|
|
195
|
+
const { data, truncation } = truncateList(changesView(conn.db, now(), { since: o.since, limit: null }, zoneOf(o)), listCap(o));
|
|
196
|
+
return { items: data, truncation };
|
|
197
|
+
},
|
|
89
198
|
showTarget: (ref) => classifyShowTarget(conn.db, ref),
|
|
90
199
|
byUuid: (uuid) => {
|
|
91
200
|
// Prefix-friendly: unknown refs keep the null contract; ambiguity throws.
|
|
201
|
+
// The injected clock gates `todaySection` to Today members under the
|
|
202
|
+
// consumer's own today (a pinned-clock/lab run reads honestly).
|
|
92
203
|
try {
|
|
93
|
-
return byUuid(conn.db, resolveTaskUuidPrefix(conn.db, uuid));
|
|
204
|
+
return byUuid(conn.db, resolveTaskUuidPrefix(conn.db, uuid), now(), defaultZone);
|
|
94
205
|
}
|
|
95
206
|
catch (err) {
|
|
96
207
|
if (err instanceof RangeError && !err.message.includes("ambiguous"))
|
|
@@ -98,7 +209,7 @@ export function openThings(options = {}) {
|
|
|
98
209
|
throw err;
|
|
99
210
|
}
|
|
100
211
|
},
|
|
101
|
-
snapshot: () => snapshotView(conn.db),
|
|
212
|
+
snapshot: () => snapshotView(conn.db, now(), defaultZone),
|
|
102
213
|
},
|
|
103
214
|
write: {
|
|
104
215
|
run,
|
|
@@ -138,6 +249,8 @@ export function openThings(options = {}) {
|
|
|
138
249
|
restoreProject: (uuid, o) => run("project.restore", { uuid }, o),
|
|
139
250
|
duplicateProject: (uuid, o) => run("project.duplicate", { uuid }, o),
|
|
140
251
|
deleteProject: (uuid, o) => run("project.delete", { uuid }, o),
|
|
252
|
+
makeRepeatingProject: (uuid, rule, o) => runMakeRepeatingProject(writeDeps, { uuid, ...rule }, o ?? {}),
|
|
253
|
+
createRepeatingProject: (params, o) => runCreateRepeatingProject(writeDeps, params, o ?? {}),
|
|
141
254
|
setProjectTags: (uuid, tags, o) => run("project.set-tags", { uuid, tags }, o),
|
|
142
255
|
addProjectTags(uuid, tags, o) {
|
|
143
256
|
const current = byUuid(conn.db, uuid);
|
package/dist/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
package/dist/config.d.ts
CHANGED
|
@@ -15,6 +15,16 @@ export interface ThingsApiConfig {
|
|
|
15
15
|
* sdef reorder command). Guarded further by the pipeline's sdef canary.
|
|
16
16
|
*/
|
|
17
17
|
allowExperimental: boolean;
|
|
18
|
+
/**
|
|
19
|
+
* The Accessibility GUI ("ui") write vector. When disabled the vector does
|
|
20
|
+
* not exist on this machine: its GUI-only operations report unsupported.
|
|
21
|
+
* Enabling it is the FIRST of two keys — every ui-vector call still needs a
|
|
22
|
+
* per-call `dangerouslyDriveGui` acknowledgement. Intended for a dedicated
|
|
23
|
+
* always-on Mac ("closet mini") kept unlocked; see docs/design/ui-vector.md.
|
|
24
|
+
*/
|
|
25
|
+
ui: {
|
|
26
|
+
enabled: boolean;
|
|
27
|
+
};
|
|
18
28
|
host: string;
|
|
19
29
|
}
|
|
20
30
|
interface ConfigFile {
|
|
@@ -24,6 +34,7 @@ interface ConfigFile {
|
|
|
24
34
|
auditEnabled?: boolean;
|
|
25
35
|
acceptedFingerprint?: string;
|
|
26
36
|
allowExperimental?: boolean;
|
|
37
|
+
uiEnabled?: boolean;
|
|
27
38
|
}
|
|
28
39
|
export declare function loadConfig(env?: NodeJS.ProcessEnv): ThingsApiConfig;
|
|
29
40
|
/** Persist one config key (CLI `things config set`). */
|
package/dist/config.js
CHANGED
|
@@ -48,6 +48,9 @@ export function loadConfig(env = process.env) {
|
|
|
48
48
|
auditEnabled: env["THINGS_API_AUDIT"] === "off" ? false : (file.auditEnabled ?? true),
|
|
49
49
|
acceptedFingerprint: file.acceptedFingerprint ?? null,
|
|
50
50
|
allowExperimental: env["THINGS_API_ALLOW_EXPERIMENTAL"] === "true" || file.allowExperimental === true,
|
|
51
|
+
ui: {
|
|
52
|
+
enabled: env["THINGS_API_UI_ENABLED"] === "true" || file.uiEnabled === true,
|
|
53
|
+
},
|
|
51
54
|
host: hostname(),
|
|
52
55
|
};
|
|
53
56
|
}
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
package/dist/contracts.d.ts
CHANGED
|
@@ -13,7 +13,7 @@ export declare const API_VERSION = 1;
|
|
|
13
13
|
* Package version, surfaced by `things --version` and the MCP serverInfo.
|
|
14
14
|
* Kept in lockstep with package.json by a contract test.
|
|
15
15
|
*/
|
|
16
|
-
export declare const PKG_VERSION = "0.
|
|
16
|
+
export declare const PKG_VERSION = "0.11.0";
|
|
17
17
|
/**
|
|
18
18
|
* Stable exit-code contract for the `things` CLI (mirrored by MCP error
|
|
19
19
|
* codes). Part of the public API surface consumed by agents and scripts —
|
|
@@ -38,31 +38,54 @@ export declare const ExitCode: {
|
|
|
38
38
|
readonly Environment: 7;
|
|
39
39
|
};
|
|
40
40
|
export type ExitCode = (typeof ExitCode)[keyof typeof ExitCode];
|
|
41
|
+
/**
|
|
42
|
+
* Per-section counts for a SPLIT flat view — currently only `today`'s
|
|
43
|
+
* Today / This-Evening split. One entry per section IN RENDER ORDER, each
|
|
44
|
+
* reporting the rows `shown` of the `total` that matched after all filters.
|
|
45
|
+
* Lets a renderer keep a downstream section (This Evening) honest under a
|
|
46
|
+
* single global cap without a pre-truncation copy of the view.
|
|
47
|
+
*/
|
|
48
|
+
export interface SectionCount {
|
|
49
|
+
key: "today" | "evening";
|
|
50
|
+
shown: number;
|
|
51
|
+
total: number;
|
|
52
|
+
}
|
|
41
53
|
/**
|
|
42
54
|
* List-view truncation metadata (ADDITIVE). Present on the meta of any read
|
|
43
55
|
* command that applies a row limit; absent on unbounded/structured views.
|
|
44
56
|
* `shown` items were returned of `total` that matched after all filters;
|
|
45
57
|
* `limit` is the effective cap (null when the caller asked for all rows);
|
|
46
58
|
* `truncated` is true exactly when `shown < total`. The dropped remainder is
|
|
47
|
-
* `total - shown`.
|
|
59
|
+
* `total - shown`. `sections` is present only on a split flat view (the Today
|
|
60
|
+
* split), breaking the whole-view counts down per render section.
|
|
48
61
|
*/
|
|
49
|
-
export interface
|
|
62
|
+
export interface Truncation {
|
|
50
63
|
shown: number;
|
|
51
64
|
total: number;
|
|
52
65
|
limit: number | null;
|
|
53
66
|
truncated: boolean;
|
|
67
|
+
/** Per-section shown/total breakdown for a split flat view; absent otherwise. */
|
|
68
|
+
sections?: SectionCount[];
|
|
54
69
|
}
|
|
55
70
|
/**
|
|
56
|
-
*
|
|
57
|
-
* sectioned detail
|
|
58
|
-
*
|
|
59
|
-
*
|
|
60
|
-
*
|
|
71
|
+
* One identity-carrying block of a grouped catalogue (anytime/someday) or a
|
|
72
|
+
* sectioned detail view (`area show`). Every header/section is always rendered;
|
|
73
|
+
* only the innermost item lists are capped. Emitted for every block that has
|
|
74
|
+
* rows to cap (`total > 0`) — including a block whose rows were ALL dropped
|
|
75
|
+
* (`shown: 0`), so no truncated header is untraceable. A block with no
|
|
76
|
+
* cappable rows of its own (`total: 0`) is omitted UNLESS it wraps truncated
|
|
77
|
+
* `children` — an area whose only capped content is its project item-lists
|
|
78
|
+
* still appears as their container.
|
|
79
|
+
*
|
|
80
|
+
* Blocks are NESTED: an area/loose block carries its project blocks in
|
|
81
|
+
* `children` — in anytime the project item-lists inside the area, in someday
|
|
82
|
+
* the active-project child groups found in that section. The `area show`
|
|
83
|
+
* `projects`/`area` blocks are siblings of one area and stay top-level.
|
|
61
84
|
*/
|
|
62
|
-
export interface
|
|
85
|
+
export interface GroupBlock {
|
|
63
86
|
kind: "loose" | "area" | "project" | "projects";
|
|
64
|
-
/** Container
|
|
65
|
-
|
|
87
|
+
/** Container reference (area or project uuid); null for the loose block. */
|
|
88
|
+
ref: string | null;
|
|
66
89
|
/** Container title; null for the loose block. */
|
|
67
90
|
title: string | null;
|
|
68
91
|
shown: number;
|
|
@@ -77,12 +100,14 @@ export interface BlockCount {
|
|
|
77
100
|
*/
|
|
78
101
|
totalProjects?: number;
|
|
79
102
|
totalTodos?: number;
|
|
103
|
+
/** Nested project blocks (anytime item-lists / someday active-project groups). Absent when none. */
|
|
104
|
+
children?: GroupBlock[];
|
|
80
105
|
}
|
|
81
|
-
/** Grouped-view truncation metadata (ADDITIVE); the per-block counterpart of {@link
|
|
82
|
-
export interface
|
|
106
|
+
/** Grouped-view truncation metadata (ADDITIVE); the per-block counterpart of {@link Truncation}. */
|
|
107
|
+
export interface GroupedTruncation {
|
|
83
108
|
/** True when any block hid items. */
|
|
84
109
|
truncated: boolean;
|
|
85
|
-
blocks:
|
|
110
|
+
blocks: GroupBlock[];
|
|
86
111
|
}
|
|
87
112
|
export interface EnvelopeMeta {
|
|
88
113
|
/** Things database schema version (`Meta.databaseVersion`), null when no DB was opened. */
|
|
@@ -92,15 +117,32 @@ export interface EnvelopeMeta {
|
|
|
92
117
|
/** Wall-clock duration of the command in milliseconds. */
|
|
93
118
|
elapsedMs: number;
|
|
94
119
|
/** List-view truncation metadata; present only on limited flat read views. */
|
|
95
|
-
|
|
120
|
+
truncation?: Truncation;
|
|
96
121
|
/** Per-block truncation metadata; present only on grouped views (anytime/someday). */
|
|
97
|
-
grouped?:
|
|
122
|
+
grouped?: GroupedTruncation;
|
|
98
123
|
/**
|
|
99
124
|
* The canonical `things …` command a sugar invocation normalized to (bare
|
|
100
125
|
* noun, keyword-in-show, uuid/share-link routing). Present only on routed
|
|
101
126
|
* reads reached via a sugar form; absent for canonical invocations.
|
|
102
127
|
*/
|
|
103
128
|
resolvedCommand?: string;
|
|
129
|
+
/**
|
|
130
|
+
* Non-blocking advisories about this read (ADDITIVE). Present only when there
|
|
131
|
+
* is something to flag — currently a one-line note when the Things database
|
|
132
|
+
* schema no longer matches the version this build was validated against
|
|
133
|
+
* (reads stay best-effort; run `things doctor`). Absent means none.
|
|
134
|
+
*/
|
|
135
|
+
warnings?: string[];
|
|
136
|
+
/**
|
|
137
|
+
* The effective clock this response's date boundaries were computed for
|
|
138
|
+
* (ADDITIVE honesty field). Present ONLY when a consumer zone (`THINGS_TZ` /
|
|
139
|
+
* the MCP `tz` argument) or a pinned `THINGS_NOW` is in effect; ABSENT on the
|
|
140
|
+
* host clock, so the wire shape is unchanged for ordinary consumers.
|
|
141
|
+
*/
|
|
142
|
+
clock?: {
|
|
143
|
+
timezone: string;
|
|
144
|
+
today: string;
|
|
145
|
+
};
|
|
104
146
|
}
|
|
105
147
|
export interface OkEnvelope<T> {
|
|
106
148
|
apiVersion: typeof API_VERSION;
|
|
@@ -131,10 +173,13 @@ export interface ErrorEnvelope {
|
|
|
131
173
|
* Structured, machine-readable failure context (ADDITIVE). For an
|
|
132
174
|
* unresolved show/bare-noun subject it carries `candidates` — the
|
|
133
175
|
* did-you-mean title matches (standard item shapes, capped) so an agent
|
|
134
|
-
* can self-correct without a second round-trip.
|
|
176
|
+
* can self-correct without a second round-trip. For a bare mutation verb
|
|
177
|
+
* (`things update <ref>`) it carries `suggestions` — the concrete
|
|
178
|
+
* namespaced command(s) to run instead.
|
|
135
179
|
*/
|
|
136
180
|
details?: {
|
|
137
181
|
candidates?: unknown[];
|
|
182
|
+
suggestions?: string[];
|
|
138
183
|
};
|
|
139
184
|
};
|
|
140
185
|
meta: EnvelopeMeta;
|
|
@@ -142,3 +187,38 @@ export interface ErrorEnvelope {
|
|
|
142
187
|
export type Envelope<T> = OkEnvelope<T> | ErrorEnvelope;
|
|
143
188
|
export declare function okEnvelope<T>(kind: string, data: T, meta: EnvelopeMeta): OkEnvelope<T>;
|
|
144
189
|
export declare function errorEnvelope(error: ErrorEnvelope["error"], meta: EnvelopeMeta): ErrorEnvelope;
|
|
190
|
+
/**
|
|
191
|
+
* Canonical machine-readable error CODE for a refused ("blocked") mutation: the
|
|
192
|
+
* specific hazard id when one is named, else the block reason. Every surface —
|
|
193
|
+
* the CLI `--json` envelope, the MCP tool error, and the audit trail — builds
|
|
194
|
+
* the `blocked:*` string HERE so the format lives in exactly one place. The
|
|
195
|
+
* input is a structural subset of the blocked mutation outcome (`hazard`,
|
|
196
|
+
* `reason`), kept as plain strings so the core never depends on the write layer.
|
|
197
|
+
*/
|
|
198
|
+
export declare function blockedCode(outcome: {
|
|
199
|
+
hazard?: string;
|
|
200
|
+
reason: string;
|
|
201
|
+
}): `blocked:${string}`;
|
|
202
|
+
/**
|
|
203
|
+
* Canonical error CODE for a mutation that executed but failed read-after-write
|
|
204
|
+
* verification (`verify-failed:<reason>`). Companion to {@link blockedCode}; see
|
|
205
|
+
* it for why this lives in the core and takes a plain-string shape.
|
|
206
|
+
*/
|
|
207
|
+
export declare function verifyFailedCode<R extends string>(outcome: {
|
|
208
|
+
reason: R;
|
|
209
|
+
}): `verify-failed:${R}`;
|
|
210
|
+
/**
|
|
211
|
+
* Aggregate exit code for a multi-op run (`things batch`): the single WORST
|
|
212
|
+
* failure decides, by the documented precedence
|
|
213
|
+
*
|
|
214
|
+
* drift-blocked > blocked > unsupported > verify-failed
|
|
215
|
+
*
|
|
216
|
+
* mirroring the per-outcome mapping the single-op path applies (drift→5,
|
|
217
|
+
* blocked→4, unsupported→6, everything else that failed→3). `failures` is the
|
|
218
|
+
* failed ops' outcomes: each carries its `kind`, plus the block `reason` so a
|
|
219
|
+
* drift block can be told apart from a policy block. An empty list is success.
|
|
220
|
+
*/
|
|
221
|
+
export declare function aggregateExitCode(failures: readonly {
|
|
222
|
+
kind: string;
|
|
223
|
+
reason?: string;
|
|
224
|
+
}[]): ExitCode;
|
package/dist/contracts.js
CHANGED
|
@@ -13,7 +13,7 @@ export const API_VERSION = 1;
|
|
|
13
13
|
* Package version, surfaced by `things --version` and the MCP serverInfo.
|
|
14
14
|
* Kept in lockstep with package.json by a contract test.
|
|
15
15
|
*/
|
|
16
|
-
export const PKG_VERSION = "0.
|
|
16
|
+
export const PKG_VERSION = "0.11.0";
|
|
17
17
|
/**
|
|
18
18
|
* Stable exit-code contract for the `things` CLI (mirrored by MCP error
|
|
19
19
|
* codes). Part of the public API surface consumed by agents and scripts —
|
|
@@ -43,4 +43,47 @@ export function okEnvelope(kind, data, meta) {
|
|
|
43
43
|
export function errorEnvelope(error, meta) {
|
|
44
44
|
return { apiVersion: API_VERSION, ok: false, kind: "error", error, meta };
|
|
45
45
|
}
|
|
46
|
+
/**
|
|
47
|
+
* Canonical machine-readable error CODE for a refused ("blocked") mutation: the
|
|
48
|
+
* specific hazard id when one is named, else the block reason. Every surface —
|
|
49
|
+
* the CLI `--json` envelope, the MCP tool error, and the audit trail — builds
|
|
50
|
+
* the `blocked:*` string HERE so the format lives in exactly one place. The
|
|
51
|
+
* input is a structural subset of the blocked mutation outcome (`hazard`,
|
|
52
|
+
* `reason`), kept as plain strings so the core never depends on the write layer.
|
|
53
|
+
*/
|
|
54
|
+
export function blockedCode(outcome) {
|
|
55
|
+
return `blocked:${outcome.hazard ?? outcome.reason}`;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Canonical error CODE for a mutation that executed but failed read-after-write
|
|
59
|
+
* verification (`verify-failed:<reason>`). Companion to {@link blockedCode}; see
|
|
60
|
+
* it for why this lives in the core and takes a plain-string shape.
|
|
61
|
+
*/
|
|
62
|
+
export function verifyFailedCode(outcome) {
|
|
63
|
+
return `verify-failed:${outcome.reason}`;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Aggregate exit code for a multi-op run (`things batch`): the single WORST
|
|
67
|
+
* failure decides, by the documented precedence
|
|
68
|
+
*
|
|
69
|
+
* drift-blocked > blocked > unsupported > verify-failed
|
|
70
|
+
*
|
|
71
|
+
* mirroring the per-outcome mapping the single-op path applies (drift→5,
|
|
72
|
+
* blocked→4, unsupported→6, everything else that failed→3). `failures` is the
|
|
73
|
+
* failed ops' outcomes: each carries its `kind`, plus the block `reason` so a
|
|
74
|
+
* drift block can be told apart from a policy block. An empty list is success.
|
|
75
|
+
*/
|
|
76
|
+
export function aggregateExitCode(failures) {
|
|
77
|
+
if (failures.length === 0)
|
|
78
|
+
return ExitCode.Ok;
|
|
79
|
+
const kinds = new Set(failures.map((f) => f.kind));
|
|
80
|
+
if (failures.some((f) => f.kind === "blocked" && f.reason === "drift")) {
|
|
81
|
+
return ExitCode.DriftBlocked;
|
|
82
|
+
}
|
|
83
|
+
if (kinds.has("blocked"))
|
|
84
|
+
return ExitCode.Blocked;
|
|
85
|
+
if (kinds.has("unsupported"))
|
|
86
|
+
return ExitCode.Unsupported;
|
|
87
|
+
return ExitCode.VerifyFailed;
|
|
88
|
+
}
|
|
46
89
|
//# sourceMappingURL=contracts.js.map
|
package/dist/contracts.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contracts.js","sourceRoot":"","sources":["../src/contracts.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,CAAC;AAE7B;;;GAGG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,
|
|
1
|
+
{"version":3,"file":"contracts.js","sourceRoot":"","sources":["../src/contracts.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,CAAC;AAE7B;;;GAGG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,QAAQ,CAAC;AAEpC;;;;GAIG;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;AAyJX,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;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,WAAW,CAAC,OAA4C;IACtE,OAAO,WAAW,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;AACvD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAmB,OAAsB;IACvE,OAAO,iBAAiB,OAAO,CAAC,MAAM,EAAE,CAAC;AAC3C,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,iBAAiB,CAC/B,QAAsD;IAEtD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,QAAQ,CAAC,EAAE,CAAC;IAC9C,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IACnD,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,CAAC,MAAM,KAAK,OAAO,CAAC,EAAE,CAAC;QACvE,OAAO,QAAQ,CAAC,YAAY,CAAC;IAC/B,CAAC;IACD,IAAI,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC;QAAE,OAAO,QAAQ,CAAC,OAAO,CAAC;IAClD,IAAI,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC;QAAE,OAAO,QAAQ,CAAC,WAAW,CAAC;IAC1D,OAAO,QAAQ,CAAC,YAAY,CAAC;AAC/B,CAAC"}
|
package/dist/db/fingerprint.d.ts
CHANGED
|
@@ -40,3 +40,15 @@ export interface Baseline {
|
|
|
40
40
|
knownThingsAppVersions: string[];
|
|
41
41
|
}
|
|
42
42
|
export declare function compareToBaseline(observation: SchemaObservation, baselines: readonly Baseline[]): FingerprintStatus;
|
|
43
|
+
/**
|
|
44
|
+
* The read-path view of {@link FingerprintStatus}: the comparison outcome
|
|
45
|
+
* reduced to the discriminant a consumer surface acts on, plus the human
|
|
46
|
+
* detail lines (for drift, the missing tables/columns). Reads consult this to
|
|
47
|
+
* WARN — never to block; the write path keeps using the full FingerprintStatus.
|
|
48
|
+
*/
|
|
49
|
+
export interface SchemaStatus {
|
|
50
|
+
status: "ok" | "drift" | "unknown-version";
|
|
51
|
+
detail: string[];
|
|
52
|
+
}
|
|
53
|
+
/** Reduce a cached {@link FingerprintStatus} to the read-path {@link SchemaStatus}. */
|
|
54
|
+
export declare function toSchemaStatus(fp: FingerprintStatus): SchemaStatus;
|
package/dist/db/fingerprint.js
CHANGED
|
@@ -29,7 +29,7 @@ export function observeSchema(db) {
|
|
|
29
29
|
const extraColumns = rows
|
|
30
30
|
.map((r) => r.name)
|
|
31
31
|
.filter((name) => !declaredSet.has(name))
|
|
32
|
-
.
|
|
32
|
+
.toSorted();
|
|
33
33
|
return { table, present: rows.length > 0, columns, extraColumns };
|
|
34
34
|
});
|
|
35
35
|
const canonical = tables.map((t) => ({
|
|
@@ -79,4 +79,18 @@ export function compareToBaseline(observation, baselines) {
|
|
|
79
79
|
});
|
|
80
80
|
return { kind: "drift", observation, expected: baseline.fingerprint, detail };
|
|
81
81
|
}
|
|
82
|
+
/** Reduce a cached {@link FingerprintStatus} to the read-path {@link SchemaStatus}. */
|
|
83
|
+
export function toSchemaStatus(fp) {
|
|
84
|
+
switch (fp.kind) {
|
|
85
|
+
case "ok":
|
|
86
|
+
return { status: "ok", detail: [] };
|
|
87
|
+
case "drift":
|
|
88
|
+
return { status: "drift", detail: fp.detail };
|
|
89
|
+
case "unknown-version":
|
|
90
|
+
return {
|
|
91
|
+
status: "unknown-version",
|
|
92
|
+
detail: [`unrecognized databaseVersion: ${fp.observation.databaseVersion ?? "unknown"}`],
|
|
93
|
+
};
|
|
94
|
+
}
|
|
95
|
+
}
|
|
82
96
|
//# sourceMappingURL=fingerprint.js.map
|