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.
- package/README.md +50 -13
- package/dist/audit/schema.d.ts +7 -0
- 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 +18 -11
- package/dist/cli/commands/area.js +61 -74
- package/dist/cli/commands/area.js.map +1 -1
- package/dist/cli/commands/doctor.d.ts +1 -2
- package/dist/cli/commands/doctor.js +11 -1
- package/dist/cli/commands/doctor.js.map +1 -1
- package/dist/cli/commands/install-skill.d.ts +60 -0
- package/dist/cli/commands/install-skill.js +256 -0
- package/dist/cli/commands/install-skill.js.map +1 -0
- package/dist/cli/commands/mcp.js +9 -0
- package/dist/cli/commands/mcp.js.map +1 -1
- package/dist/cli/commands/project.d.ts +1 -0
- package/dist/cli/commands/project.js +27 -34
- package/dist/cli/commands/project.js.map +1 -1
- package/dist/cli/commands/reads.d.ts +15 -2
- package/dist/cli/commands/reads.js +144 -44
- package/dist/cli/commands/reads.js.map +1 -1
- package/dist/cli/commands/setup.js +7 -2
- package/dist/cli/commands/setup.js.map +1 -1
- package/dist/cli/commands/show.js +38 -14
- package/dist/cli/commands/show.js.map +1 -1
- package/dist/cli/commands/todo.js +15 -9
- package/dist/cli/commands/todo.js.map +1 -1
- package/dist/cli/commands/writes.js +797 -174
- package/dist/cli/commands/writes.js.map +1 -1
- package/dist/cli/did-you-mean.d.ts +14 -3
- package/dist/cli/did-you-mean.js +26 -3
- package/dist/cli/did-you-mean.js.map +1 -1
- package/dist/cli/glyphs.d.ts +32 -2
- package/dist/cli/glyphs.js +83 -12
- package/dist/cli/glyphs.js.map +1 -1
- package/dist/cli/help.js +121 -16
- package/dist/cli/help.js.map +1 -1
- package/dist/cli/main.js +33 -2
- package/dist/cli/main.js.map +1 -1
- package/dist/cli/move-hint.d.ts +46 -0
- package/dist/cli/move-hint.js +196 -0
- package/dist/cli/move-hint.js.map +1 -0
- package/dist/cli/period.d.ts +2 -8
- package/dist/cli/period.js +44 -30
- package/dist/cli/period.js.map +1 -1
- package/dist/cli/read-driver.d.ts +43 -5
- package/dist/cli/read-driver.js +91 -15
- package/dist/cli/read-driver.js.map +1 -1
- package/dist/cli/render.d.ts +19 -8
- package/dist/cli/render.js +70 -27
- package/dist/cli/render.js.map +1 -1
- package/dist/cli/resolve-invocation.d.ts +2 -2
- package/dist/cli/resolve-invocation.js +3 -3
- package/dist/cli/resolve-invocation.js.map +1 -1
- package/dist/cli/skill-check.d.ts +27 -0
- package/dist/cli/skill-check.js +99 -0
- package/dist/cli/skill-check.js.map +1 -0
- package/dist/cli/skill.d.ts +70 -0
- package/dist/cli/skill.js +152 -0
- package/dist/cli/skill.js.map +1 -0
- package/dist/cli/tag-filters.d.ts +6 -2
- package/dist/cli/tag-filters.js +8 -6
- package/dist/cli/tag-filters.js.map +1 -1
- package/dist/cli/verb-hint.js +28 -3
- package/dist/cli/verb-hint.js.map +1 -1
- 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/client.d.ts +171 -27
- package/dist/client.js +279 -40
- package/dist/client.js.map +1 -1
- package/dist/config.d.ts +66 -2
- package/dist/config.js +120 -12
- package/dist/config.js.map +1 -1
- package/dist/contracts.d.ts +186 -28
- package/dist/contracts.js +22 -1
- package/dist/contracts.js.map +1 -1
- package/dist/diagnose.d.ts +34 -2
- package/dist/diagnose.js +36 -1
- package/dist/diagnose.js.map +1 -1
- package/dist/index.d.ts +25 -9
- package/dist/index.js +22 -3
- package/dist/index.js.map +1 -1
- package/dist/mcp/server.d.ts +9 -0
- package/dist/mcp/server.js +1157 -684
- 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 +60 -3
- package/dist/model/entities.js.map +1 -1
- package/dist/model/mappers.d.ts +4 -2
- package/dist/model/mappers.js +66 -9
- package/dist/model/mappers.js.map +1 -1
- package/dist/model/recurrence.d.ts +8 -1
- package/dist/model/recurrence.js.map +1 -1
- package/dist/read/area-filter.d.ts +76 -0
- package/dist/read/area-filter.js +59 -0
- package/dist/read/area-filter.js.map +1 -0
- package/dist/read/area-view.d.ts +12 -12
- package/dist/read/area-view.js +58 -34
- package/dist/read/area-view.js.map +1 -1
- package/dist/read/detail.d.ts +1 -1
- package/dist/read/detail.js +26 -12
- package/dist/read/detail.js.map +1 -1
- 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 +18 -0
- package/dist/read/predicates.js +19 -0
- package/dist/read/predicates.js.map +1 -1
- package/dist/read/project-view.d.ts +32 -16
- package/dist/read/project-view.js +80 -45
- package/dist/read/project-view.js.map +1 -1
- package/dist/read/pseudo-area.d.ts +29 -0
- package/dist/read/pseudo-area.js +27 -0
- package/dist/read/pseudo-area.js.map +1 -0
- package/dist/read/queries.d.ts +108 -19
- package/dist/read/queries.js +212 -35
- package/dist/read/queries.js.map +1 -1
- package/dist/read/scope.d.ts +126 -0
- package/dist/read/scope.js +162 -0
- package/dist/read/scope.js.map +1 -0
- package/dist/read/search-rank.d.ts +2 -5
- package/dist/read/shape.d.ts +162 -0
- package/dist/read/shape.js +686 -0
- package/dist/read/shape.js.map +1 -0
- package/dist/read/show-target.d.ts +9 -1
- package/dist/read/show-target.js +45 -4
- package/dist/read/show-target.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/stage.d.ts +199 -0
- package/dist/read/stage.js +125 -0
- package/dist/read/stage.js.map +1 -0
- package/dist/read/truncation.d.ts +8 -6
- package/dist/read/truncation.js +35 -10
- package/dist/read/truncation.js.map +1 -1
- package/dist/read/views.d.ts +61 -20
- package/dist/read/views.js +240 -82
- package/dist/read/views.js.map +1 -1
- package/dist/surface-copy.d.ts +9 -0
- package/dist/surface-copy.js +9 -0
- package/dist/surface-copy.js.map +1 -1
- package/dist/write/accessibility-probe.d.ts +1 -1
- package/dist/write/accessibility-probe.js +8 -0
- package/dist/write/accessibility-probe.js.map +1 -1
- package/dist/write/automation-probe.d.ts +1 -1
- package/dist/write/automation-probe.js +8 -0
- package/dist/write/automation-probe.js.map +1 -1
- package/dist/write/batch.d.ts +49 -10
- package/dist/write/batch.js +423 -70
- package/dist/write/batch.js.map +1 -1
- package/dist/write/commands.d.ts +1 -1
- package/dist/write/commands.js +316 -66
- package/dist/write/commands.js.map +1 -1
- package/dist/write/guards.d.ts +1 -1
- package/dist/write/guards.js +94 -10
- package/dist/write/guards.js.map +1 -1
- package/dist/write/heading.d.ts +10 -1
- package/dist/write/heading.js +35 -5
- package/dist/write/heading.js.map +1 -1
- package/dist/write/make-repeating-project.d.ts +2 -2
- package/dist/write/make-repeating-project.js +9 -9
- package/dist/write/make-repeating-project.js.map +1 -1
- package/dist/write/move.d.ts +130 -0
- package/dist/write/move.js +1533 -0
- package/dist/write/move.js.map +1 -0
- package/dist/write/operations.d.ts +105 -19
- package/dist/write/operations.js +56 -7
- package/dist/write/operations.js.map +1 -1
- package/dist/write/opid.d.ts +31 -0
- package/dist/write/opid.js +30 -0
- package/dist/write/opid.js.map +1 -0
- package/dist/write/pipeline.d.ts +122 -3
- package/dist/write/pipeline.js +309 -52
- 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 +197 -6
- package/dist/write/pre-state.js +427 -20
- 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/reorder.d.ts +23 -3
- package/dist/write/reorder.js +1871 -85
- package/dist/write/reorder.js.map +1 -1
- package/dist/write/reversibility.js +19 -7
- package/dist/write/reversibility.js.map +1 -1
- package/dist/write/scope-guard.d.ts +31 -0
- package/dist/write/scope-guard.js +162 -0
- package/dist/write/scope-guard.js.map +1 -0
- package/dist/write/undo.js +120 -13
- package/dist/write/undo.js.map +1 -1
- package/dist/write/vectors/applescript.js +16 -7
- package/dist/write/vectors/applescript.js.map +1 -1
- package/dist/write/vectors/registry.d.ts +5 -7
- package/dist/write/vectors/registry.js +49 -2
- package/dist/write/vectors/registry.js.map +1 -1
- package/dist/write/vectors/shortcuts.js +1 -1
- package/dist/write/vectors/shortcuts.js.map +1 -1
- package/dist/write/vectors/simulator.d.ts +44 -0
- package/dist/write/vectors/simulator.js +1192 -0
- package/dist/write/vectors/simulator.js.map +1 -0
- package/dist/write/vectors/types.d.ts +46 -0
- package/dist/write/vectors/ui-certification.d.ts +10 -4
- package/dist/write/vectors/ui-certification.js +43 -10
- package/dist/write/vectors/ui-certification.js.map +1 -1
- package/dist/write/vectors/ui-drag.d.ts +21 -1
- package/dist/write/vectors/ui-drag.js +138 -27
- package/dist/write/vectors/ui-drag.js.map +1 -1
- package/dist/write/vectors/ui-recipes.d.ts +34 -1
- package/dist/write/vectors/ui-recipes.js +217 -6
- package/dist/write/vectors/ui-recipes.js.map +1 -1
- package/dist/write/vectors/ui.d.ts +40 -1
- package/dist/write/vectors/ui.js +196 -39
- package/dist/write/vectors/ui.js.map +1 -1
- package/dist/write/verify/delta.d.ts +127 -2
- package/dist/write/verify/delta.js +255 -16
- package/dist/write/verify/delta.js.map +1 -1
- package/dist/write/verify/poller.d.ts +7 -1
- package/dist/write/verify/poller.js +20 -1
- package/dist/write/verify/poller.js.map +1 -1
- package/package.json +24 -3
- package/schema/envelope.schema.json +383 -0
- package/skills/things-cli/SKILL.md +70 -0
- package/skills/things-cli/references/banner.md +35 -0
- package/skills/things-cli/references/contracts.md +62 -0
- package/skills/things-cli/references/errors.md +49 -0
- package/skills/things-cli/references/gui.md +11 -0
- package/skills/things-cli/references/model.md +60 -0
- package/skills/things-cli/references/ordering.md +71 -0
package/dist/cli/glyphs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"glyphs.js","sourceRoot":"","sources":["../../src/cli/glyphs.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"glyphs.js","sourceRoot":"","sources":["../../src/cli/glyphs.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EAAE,UAAU,EAAwC,MAAM,aAAa,CAAC;AAC/E,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAEhG,MAAM,MAAM,GAAG;IACb,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;CACG,CAAC;AAEX,MAAM,QAAQ,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAU,CAAC;AAE5E,yEAAyE;AACzE,MAAM,UAAU,SAAS,CAAC,GAAW,EAAE,QAAgB;IACrD,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC7C,MAAM,KAAK,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;IAC7C,OAAO,MAAM,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,CAAC,EAAE,CAAC;AACtE,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,WAAW,CAAC,GAAW,EAAE,QAAgB;IACvD,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC7C,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC;IACvF,OAAO,GAAG,OAAO,KAAK,SAAS,CAAC,GAAG,EAAE,QAAQ,CAAC,EAAE,CAAC;AACnD,CAAC;AAED,yEAAyE;AACzE,MAAM,UAAU,QAAQ,CAAC,GAAW,EAAE,QAAgB;IACpD,OAAO,GAAG,CAAC,IAAI,SAAS,CAAC,GAAG,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC;AAC9C,CAAC;AAED,6EAA6E;AAC7E,MAAM,UAAU,UAAU,CAAC,OAAa,EAAE,QAAgB;IACxD,MAAM,GAAG,GAAG,GAAG,OAAO,CAAC,WAAW,EAAE,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;IACxI,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;AAC9C,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,OAAO,CAAC,IAAU;IAChC,IAAI,IAAI,CAAC,MAAM,KAAK,WAAW;QAAE,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC;IACpD,IAAI,IAAI,CAAC,MAAM,KAAK,UAAU;QAAE,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC;IACnD,0EAA0E;IAC1E,oEAAoE;IACpE,sEAAsE;IACtE,uEAAuE;IACvE,4EAA4E;IAC5E,6EAA6E;IAC7E,iDAAiD;IACjD,IAAI,IAAI,CAAC,SAAS,CAAC,UAAU;QAAE,OAAO,KAAK,CAAC;IAC5C,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI;QAAE,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;IAC3E,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAAC,IAAa;IACzC,IAAI,IAAI,CAAC,MAAM,KAAK,WAAW;QAAE,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC;IACpD,IAAI,IAAI,CAAC,MAAM,KAAK,UAAU;QAAE,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC;IACnD,yEAAyE;IACzE,4EAA4E;IAC5E,4CAA4C;IAC5C,IAAI,IAAI,CAAC,SAAS,CAAC,UAAU;QAAE,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC;IAClD,2EAA2E;IAC3E,2EAA2E;IAC3E,2EAA2E;IAC3E,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI;QAAE,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;IAC3E,yEAAyE;IACzE,0EAA0E;IAC1E,6BAA6B;IAC7B,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC;AACrB,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAAa;IAC9C,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC;AACrB,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,GAAG,CAAC;AAE/B;;;;;;;;GAQG;AACH,MAAM,UAAU,cAAc,CAAC,KAAa,EAAE,mBAAmB,GAAG,KAAK;IACvE,OAAO,mBAAmB,CAAC,CAAC,CAAC,GAAG,WAAW,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;AACjE,CAAC;AAED,mGAAmG;AACnG,MAAM,UAAU,SAAS,CAAC,IAAa;IACrC,MAAM,KAAK,GAAG,IAAI,CAAC,yBAAyB,CAAC;IAC7C,OAAO,GAAG,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,6BAA6B,IAAI,KAAK,GAAG,CAAC,CAAC;AACvF,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,cAAc,CAAC,SAAmB;IAChD,OAAO,GAAG,CAAC,IAAI,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC7D,CAAC;AAED,iFAAiF;AACjF,MAAM,CAAC,MAAM,QAAQ,GAAG,GAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AAEjD,6EAA6E;AAC7E,SAAS,WAAW,CAAC,OAAe,EAAE,KAAa;IACjD,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACpD,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAClD,OAAO,IAAI,CAAC,KAAK,CACf,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC;QACrF,UAAU,CACb,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,SAAS,gBAAgB,CAAC,GAAW,EAAE,QAAgB;IACrD,MAAM,IAAI,GAAG,WAAW,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;IACxC,IAAI,IAAI,KAAK,CAAC;QAAE,OAAO,WAAW,CAAC;IACnC,OAAO,IAAI,GAAG,CAAC;QACb,CAAC,CAAC,GAAG,IAAI,OAAO,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,OAAO;QAC5C,CAAC,CAAC,GAAG,CAAC,IAAI,OAAO,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC;AACtD,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,cAAc,CAAC,WAAmB,EAAE,QAAgB;IAClE,MAAM,IAAI,GAAG,WAAW,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;IAChD,MAAM,UAAU,GAAG,WAAW,CAAC,QAAQ,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1F,OAAO,GAAG,UAAU,IAAI,GAAG,CAAC,IAAI,gBAAgB,CAAC,WAAW,EAAE,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;AAChF,CAAC;AAED,2FAA2F;AAC3F,MAAM,UAAU,UAAU,CAAC,IAAY;IACrC,OAAO,GAAG,CAAC,qBAAqB,IAAI,EAAE,CAAC,CAAC;AAC1C,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,SAAS,CAAC,IAAoB,EAAE,QAAgB;IAC9D,yEAAyE;IACzE,2EAA2E;IAC3E,8EAA8E;IAC9E,2EAA2E;IAC3E,0EAA0E;IAC1E,WAAW;IACX,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;IAC9B,IAAI,KAAoB,CAAC;IACzB,IAAI,IAAI,KAAK,SAAS;QAAE,KAAK,GAAG,GAAG,WAAW,EAAE,eAAe,CAAC;SAC3D,IAAI,IAAI,KAAK,OAAO;QAAE,KAAK,GAAG,GAAG,SAAS,EAAE,QAAQ,CAAC;SACrD,IAAI,IAAI,KAAK,SAAS;QAAE,KAAK,GAAG,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;SAC1D,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS;QAAE,KAAK,GAAG,SAAS,CAAC;;QAChD,KAAK,GAAG,IAAI,CAAC;IAClB,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAChC,+EAA+E;IAC/E,uEAAuE;IACvE,8EAA8E;IAC9E,uEAAuE;IACvE,OAAO,IAAI,CAAC,YAAY,KAAK,IAAI,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI;QACzD,CAAC,CAAC,KAAK;QACP,CAAC,CAAC,GAAG,KAAK,IAAI,GAAG,CAAC,aAAa,CAAC,IAAI,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;AAC5E,CAAC;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,UAAU,aAAa,CAAC,WAAmB,EAAE,QAAgB,EAAE,OAAO,GAAG,KAAK;IAClF,MAAM,IAAI,GAAG,WAAW,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;IAChD,IAAI,KAAa,CAAC;IAClB,IAAI,IAAI,KAAK,CAAC;QAAE,KAAK,GAAG,OAAO,CAAC;SAC3B,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,IAAI,EAAE;QAC7B,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI,OAAO,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC;SAC5E,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE;QAC9B,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,OAAO,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC;SAC7E,CAAC;QACJ,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACrD,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACnC,wEAAwE;QACxE,0DAA0D;QAC1D,KAAK;YACH,MAAM,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;gBAChC,CAAC,CAAC,OAAO;oBACP,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;oBACb,CAAC,CAAC,GAAG,KAAK,IAAI,CAAC,EAAE;gBACnB,CAAC,CAAC,OAAO;oBACP,CAAC,CAAC,GAAG,CAAC,EAAE;oBACR,CAAC,CAAC,GAAG,KAAK,IAAI,CAAC,EAAE,CAAC;IAC1B,CAAC;IACD,MAAM,IAAI,GAAG,KAAK,KAAK,EAAE,CAAC;IAC1B,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;AACvD,CAAC;AAED,4DAA4D;AAC5D,MAAM,CAAC,MAAM,UAAU,GAAG,GAAG,CAAC;AAE9B;;;;GAIG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,GAAG,CAAC;AAEjC;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAAY;IAC7C,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACrC,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;IACvB,MAAM,MAAM,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IACpC,MAAM,MAAM,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;IAC1C,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,MAAM,EAAE,CAAC;AACjE,CAAC;AAED,4DAA4D;AAC5D,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,CAAC;AAElC,uFAAuF;AACvF,MAAM,CAAC,MAAM,SAAS,GAAG,GAAW,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AACnD,MAAM,CAAC,MAAM,WAAW,GAAG,GAAW,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;AAEzD;;;;;GAKG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,GAAW,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AAUxD,MAAM,CAAC,MAAM,aAAa,GAA2B;IACnD,QAAQ;IACR,UAAU;IACV,iBAAiB;IACjB,iBAAiB;IACjB,kBAAkB;CACV,CAAC;AAUX;;;;;GAKG;AACH,MAAM,CAAC,MAAM,MAAM,GAA2B;IAC5C,iEAAiE;IACjE,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,QAAQ,EAAE;IACzD,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,kBAAkB,EAAE,KAAK,EAAE,QAAQ,EAAE;IACpE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,wCAAwC,EAAE,KAAK,EAAE,QAAQ,EAAE;IAC1F,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,0BAA0B,EAAE,KAAK,EAAE,QAAQ,EAAE;IAC3E;QACE,KAAK,EAAE,KAAK;QACZ,OAAO,EAAE,gEAAgE;QACzE,KAAK,EAAE,QAAQ;KAChB;IACD,mEAAmE;IACnE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE,UAAU,EAAE;IACnE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,oBAAoB,EAAE,KAAK,EAAE,UAAU,EAAE;IACxE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,mBAAmB,EAAE,KAAK,EAAE,UAAU,EAAE;IACvE,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,4BAA4B,EAAE,KAAK,EAAE,UAAU,EAAE;IAC/E;QACE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC;QAClB,OAAO,EAAE,+CAA+C;QACxD,KAAK,EAAE,UAAU;KAClB;IACD;QACE,KAAK,EAAE,GAAG,CAAC,OAAO,CAAC;QACnB,OAAO,EAAE,iEAAiE;QAC1E,KAAK,EAAE,UAAU;KAClB;IACD,4EAA4E;IAC5E,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,iBAAiB,EAAE;IACzE,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,OAAO,EAAE,qBAAqB,EAAE,KAAK,EAAE,iBAAiB,EAAE;IAClF;QACE,KAAK,EAAE,cAAc,EAAE;QACvB,OAAO,EAAE,8DAA8D;QACvE,KAAK,EAAE,iBAAiB;KACzB;IACD;QACE,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACrB,OAAO,EAAE,mEAAmE;QAC5E,KAAK,EAAE,iBAAiB;KACzB;IACD,EAAE,KAAK,EAAE,GAAG,CAAC,UAAU,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,iBAAiB,EAAE;IAC1E,EAAE,KAAK,EAAE,GAAG,CAAC,aAAa,CAAC,EAAE,OAAO,EAAE,qBAAqB,EAAE,KAAK,EAAE,iBAAiB,EAAE;IACvF,EAAE,KAAK,EAAE,GAAG,CAAC,cAAc,CAAC,EAAE,OAAO,EAAE,iBAAiB,EAAE,KAAK,EAAE,iBAAiB,EAAE;IACpF,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,iBAAiB,EAAE;IAChE;QACE,KAAK,EAAE,GAAG,CAAC,UAAU,CAAC;QACtB,OAAO,EAAE,oEAAoE;QAC7E,KAAK,EAAE,iBAAiB;KACzB;IACD;QACE,KAAK,EAAE,GAAG,CAAC,aAAa,CAAC;QACzB,OAAO,EAAE,gEAAgE;QACzE,KAAK,EAAE,iBAAiB;KACzB;IACD;QACE,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC;QACpB,OAAO,EAAE,oDAAoD;QAC7D,KAAK,EAAE,iBAAiB;KACzB;IACD,0EAA0E;IAC1E;QACE,KAAK,EAAE,GAAG,CAAC,UAAU,CAAC;QACtB,OAAO,EAAE,oEAAoE;QAC7E,KAAK,EAAE,iBAAiB;KACzB;IACD;QACE,KAAK,EAAE,GAAG,CAAC,UAAU,CAAC;QACtB,OAAO,EAAE,yDAAyD;QAClE,KAAK,EAAE,iBAAiB;KACzB;IACD;QACE,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC;QACvB,OAAO,EAAE,gDAAgD;QACzD,KAAK,EAAE,iBAAiB;KACzB;IACD;QACE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC;QACnB,OAAO,EAAE,+DAA+D;QACxE,KAAK,EAAE,iBAAiB;KACzB;IACD;QACE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC;QACnB,OAAO,EAAE,wCAAwC;QACjD,KAAK,EAAE,iBAAiB;KACzB;IACD;QACE,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;QACxC,OAAO,EAAE,6DAA6D;QACtE,KAAK,EAAE,iBAAiB;KACzB;IACD,wEAAwE;IACxE;QACE,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC;QACjB,OAAO,EAAE,qEAAqE;QAC9E,KAAK,EAAE,kBAAkB;KAC1B;IACD;QACE,KAAK,EAAE,GAAG,CAAC,mBAAmB,CAAC;QAC/B,OAAO,EAAE,0DAA0D;QACnE,KAAK,EAAE,kBAAkB;KAC1B;IACD;QACE,KAAK,EAAE,GAAG,CAAC,wBAAwB,CAAC;QACpC,OAAO,EAAE,mDAAmD;QAC5D,KAAK,EAAE,kBAAkB;KAC1B;CACO,CAAC"}
|
package/dist/cli/help.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { CLI_VERSION } from "./version.js";
|
|
2
|
+
import { ExitCode } from "../index.js";
|
|
2
3
|
/** The index groups, in display order. Every top-level command lands in one. */
|
|
3
4
|
export const HELP_GROUPS = [
|
|
4
5
|
{
|
|
@@ -11,11 +12,20 @@ export const HELP_GROUPS = [
|
|
|
11
12
|
},
|
|
12
13
|
{
|
|
13
14
|
title: "Write — create and change items",
|
|
14
|
-
commands: ["todo", "project", "area", "tag", "
|
|
15
|
+
commands: ["todo", "project", "area", "tag", "batch", "undo", "reorder"],
|
|
15
16
|
},
|
|
16
17
|
{
|
|
17
18
|
title: "Setup & diagnostics",
|
|
18
|
-
commands: [
|
|
19
|
+
commands: [
|
|
20
|
+
"config",
|
|
21
|
+
"doctor",
|
|
22
|
+
"capabilities",
|
|
23
|
+
"setup",
|
|
24
|
+
"install-skill",
|
|
25
|
+
"mcp",
|
|
26
|
+
"snapshot",
|
|
27
|
+
"legend",
|
|
28
|
+
],
|
|
19
29
|
},
|
|
20
30
|
];
|
|
21
31
|
/**
|
|
@@ -42,18 +52,21 @@ export const INDEX = {
|
|
|
42
52
|
changes: { args: "", desc: "items created or changed since a moment (--since)" },
|
|
43
53
|
// Write
|
|
44
54
|
todo: { args: "<verb>", desc: "add, edit, schedule, complete, move to-dos" },
|
|
45
|
-
project: { args: "<verb>", desc: "add, edit,
|
|
55
|
+
project: { args: "<verb>", desc: "add, edit, move projects and their headings" },
|
|
46
56
|
area: { args: "<verb>", desc: "add, rename, retag, reorder, delete areas" },
|
|
47
57
|
tag: { args: "<verb>", desc: "add, rename, nest, delete tags" },
|
|
48
|
-
heading: { args: "<verb>", desc: "add, rename, archive headings in a project" },
|
|
49
58
|
batch: { args: "[file]", desc: "run many changes from a JSONL script" },
|
|
50
59
|
undo: { args: "", desc: "reverse recent changes made through this tool" },
|
|
51
|
-
reorder: {
|
|
60
|
+
reorder: {
|
|
61
|
+
args: "<refs…>",
|
|
62
|
+
desc: "rearrange items in place; --in for a dual-axis set",
|
|
63
|
+
},
|
|
52
64
|
// Setup & diagnostics
|
|
53
|
-
config: { args: "<verb>", desc: "show or set configuration keys" },
|
|
65
|
+
config: { args: "<verb>", desc: "show, get, or set configuration keys" },
|
|
54
66
|
doctor: { args: "", desc: "check environment health and pending setup" },
|
|
55
67
|
capabilities: { args: "", desc: "what each write operation supports" },
|
|
56
68
|
setup: { args: "<verb>", desc: "one-time setup (install the Shortcuts)" },
|
|
69
|
+
"install-skill": { args: "", desc: "install the agent skill for coding agents" },
|
|
57
70
|
mcp: { args: "", desc: "serve the Model Context Protocol server on stdio" },
|
|
58
71
|
snapshot: { args: "", desc: "full normalized dump of every record" },
|
|
59
72
|
legend: { args: "", desc: "the symbols and colors list output uses" },
|
|
@@ -136,15 +149,16 @@ export function renderTopLevelHelp(program, width) {
|
|
|
136
149
|
lines.push("");
|
|
137
150
|
}
|
|
138
151
|
lines.push("Global options (accepted by most commands)");
|
|
139
|
-
lines.push(`${" --json".padEnd(col)}emit
|
|
152
|
+
lines.push(`${" --json".padEnd(col)}emit {apiVersion, ok, kind, data, meta}; payload=.data; entity id=.uuid (not .id)`);
|
|
140
153
|
lines.push(`${" --db <path>".padEnd(col)}read from an explicit database path`);
|
|
141
154
|
lines.push(`${" -h, --help".padEnd(col)}help for things, or for any <command>`);
|
|
142
|
-
lines.push(`${" -V, --version".padEnd(col)}print the version (${
|
|
155
|
+
lines.push(`${" -V, --version".padEnd(col)}print the version (${CLI_VERSION})`);
|
|
143
156
|
lines.push("");
|
|
144
157
|
lines.push("Run `things <command> --help` for the behavior and options of any command.");
|
|
145
158
|
lines.push("Most commands take a ref (uuid, prefix, share link, or name) — see `things help ids`.");
|
|
146
|
-
lines.push("Guides: `things help <topic>` — agent, filters, ids, output, writes.");
|
|
159
|
+
lines.push("Guides: `things help <topic>` — agent, filters, ids, move, output, repeating, writes.");
|
|
147
160
|
lines.push("New to Things? Start with `things help agent`.");
|
|
161
|
+
lines.push("Agent skill available: run `things install-skill`.");
|
|
148
162
|
return lines.join("\n");
|
|
149
163
|
}
|
|
150
164
|
// ── Topics ───────────────────────────────────────────────────────────────────
|
|
@@ -163,6 +177,7 @@ const AGENT_NOTE_BULLETS = [
|
|
|
163
177
|
"Symbols & colors in list output: run `things legend` (add --json for the table).",
|
|
164
178
|
"Every write supports --dry-run: preview the planned change and its expected effect without executing anything.",
|
|
165
179
|
"Failures are loud: a change that does not take effect exits 3; refused changes exit 4 with machine-readable remediation.",
|
|
180
|
+
"An agent skill is available: `things install-skill`. On human output the tool reads your installed skill under ~/.agents and ~/.claude and notes (once, on stderr) when it is well behind this binary; silence it with THINGS_API_NO_SKILL_CHECK=1.",
|
|
166
181
|
];
|
|
167
182
|
function renderAgentTopic(width) {
|
|
168
183
|
const room = Math.max(40, width);
|
|
@@ -189,7 +204,8 @@ Content scope (which items qualify):
|
|
|
189
204
|
(today, inbox, anytime, someday, search; and the
|
|
190
205
|
containers projects, project show, area show — by each
|
|
191
206
|
entity's OWN deadline, no recursion; not the areas list)
|
|
192
|
-
--area <ref> restrict to one area
|
|
207
|
+
--area <ref> restrict to one area — today, anytime, someday, upcoming,
|
|
208
|
+
logbook, search; \`loose\` selects the area-less items
|
|
193
209
|
--project <ref> restrict to one project (logbook, search)
|
|
194
210
|
--type <kind> search only: todo | project
|
|
195
211
|
|
|
@@ -242,7 +258,11 @@ does not resolve, the error offers close title matches you can copy.
|
|
|
242
258
|
|
|
243
259
|
WRITE targets: project, area, and tag verbs accept a uuid OR a unique name (a
|
|
244
260
|
duplicated project name is refused, listing the candidates to pick from by uuid);
|
|
245
|
-
to-do
|
|
261
|
+
to-do writes take a uuid or prefix only. The project heading verbs
|
|
262
|
+
(\`project add-heading|rename-heading|archive-heading|unarchive-heading|
|
|
263
|
+
promote-heading|move-heading\`) take a project ref then a heading selector — an
|
|
264
|
+
exact title or a uuid (never an ordinal); a duplicate title is refused with uuid
|
|
265
|
+
candidates.`,
|
|
246
266
|
output: `OUTPUT — human tables vs. --json
|
|
247
267
|
|
|
248
268
|
Human output (the default): compact aligned tables and detail cards, fit to the
|
|
@@ -285,21 +305,106 @@ Undo — \`things undo\`:
|
|
|
285
305
|
deletes, unknown prior state) are reported, never guessed. Changes made directly
|
|
286
306
|
in the Things app cannot be undone here.
|
|
287
307
|
|
|
288
|
-
Configuration that affects writes — \`things config set <key> <value
|
|
308
|
+
Configuration that affects writes — \`things config set <key> <value>\`
|
|
309
|
+
(read one back with \`things config get <key>\`, or every effective value with
|
|
310
|
+
\`things config get\`). Precedence: a THINGS_API_* env var overrides a stored value,
|
|
311
|
+
which overrides the built-in default.
|
|
289
312
|
actor author name recorded on each change
|
|
290
313
|
maxDisruption ceiling for how disruptive a change may be
|
|
291
314
|
ui-enabled allow the GUI-driven operations
|
|
292
|
-
allow-experimental
|
|
315
|
+
allow-experimental use the app's private reorder command (default on; off-switch)
|
|
316
|
+
bounce-enabled / bounce-max-items when= bounce reorder: on by default, ≤30 items
|
|
317
|
+
scope limit this host to one area/project — jails EVERY command,
|
|
318
|
+
your own terminal included, until \`config set scope ""\`; for
|
|
319
|
+
one process prefer \`things mcp --scope\` / THINGS_API_SCOPE
|
|
293
320
|
|
|
294
321
|
Writes are NAMESPACED: a bare \`things <verb> …\` (update, add, delete, complete,
|
|
295
322
|
cancel, move, …) is not a command — it points you at the typed form
|
|
296
|
-
(\`things todo|project|area|tag
|
|
323
|
+
(\`things todo|project|area|tag <verb> …\`), never running the change.
|
|
297
324
|
|
|
298
325
|
Discover every operation and the flags it needs: \`things capabilities\`.
|
|
299
326
|
A few operations need the bundled Shortcuts: \`things setup shortcuts\`.`,
|
|
327
|
+
move: `MOVE vs REORDER — membership vs arrangement
|
|
328
|
+
|
|
329
|
+
move changes WHAT an item belongs to (a to-do's project/area/heading; a
|
|
330
|
+
project's area).
|
|
331
|
+
reorder changes only the ARRANGEMENT of items already sharing a container —
|
|
332
|
+
never membership. Unmentioned siblings keep their order.
|
|
333
|
+
|
|
334
|
+
things todo move <refs…> [destination] [position] (pick one destination)
|
|
335
|
+
--to-project <ref> · --to-heading <sel> · --to-area <ref> place into a container
|
|
336
|
+
--no-heading leave heading, keep project --loose sever heading+project+area
|
|
337
|
+
--inbox back to the Inbox (drops schedule)
|
|
338
|
+
No --detach (removed); no --no-area on a to-do (area is inherited — use --loose).
|
|
339
|
+
Mixed-stage selection: --first/--last apply PER sub-bucket; --before/--after need
|
|
340
|
+
every movee in the anchor's sub-bucket, else refused.
|
|
341
|
+
|
|
342
|
+
things reorder <refs…> [position] [--in <target>]
|
|
343
|
+
One kind-neutral in-place verb (replaces the old \`todo reorder\` and the raw
|
|
344
|
+
\`reorder --scope\`). Bare (no position): assemble the items as one block at the
|
|
345
|
+
EARLIEST slot, argument order (--first NOT implied); partial fine. Takes to-dos +
|
|
346
|
+
the project rows Today/Evening/day lists intermix. A Today/Evening member sits on
|
|
347
|
+
TWO axes (view + container index) — a set coherent on both is refused; --in picks
|
|
348
|
+
it: today|evening|anytime|someday|inbox, or a project/area/heading ref. Forcing the
|
|
349
|
+
container index on a Today/Evening member now PRESERVES the flag — a flag-safe move
|
|
350
|
+
protocol routes it off the de-Today bounce (only the someday/inbox loose axes refuse).
|
|
351
|
+
|
|
352
|
+
things project move <refs…> [--to-area <ref> | --no-area] [position]
|
|
353
|
+
--no-area is a project's detach (--loose is a to-do word, refused). A position here
|
|
354
|
+
reorders projects in their sidebar/area/someday order.
|
|
355
|
+
|
|
356
|
+
Positions: --first · --last · --before <ref> · --after <ref>. An anchor POSITIONS,
|
|
357
|
+
never MIGRATES — it needs items already in its container+bucket; a cross-container/
|
|
358
|
+
bucket anchor fails closed. Selection order = landing order (reverse by naming back).
|
|
359
|
+
|
|
360
|
+
PLACEMENT HONESTY. "Top of bucket in selection order" is GUARANTEED where a lab-clean
|
|
361
|
+
protocol exists — loose inbox/today/evening/someday/anytime, project/area members
|
|
362
|
+
(anytime+someday), a heading's anytime/someday children, any container child's evening
|
|
363
|
+
slot, and area-less someday/anytime projects. A whole FUTURE day-group (any container,
|
|
364
|
+
incl. scheduled PROJECT rows — area'd too) sorts on the shared day axis: one native call
|
|
365
|
+
for TOMORROW / a single unheaded project, else the dated when= bounce. Day/evening/
|
|
366
|
+
someday orders bounce; --before/--after co-touches siblings; caps 30; flags=false refuse.`,
|
|
367
|
+
repeating: `REPEATING — rules for recurring to-dos and projects
|
|
368
|
+
|
|
369
|
+
Verbs: \`things todo|project make-repeating <ref>\` (turn an existing item into a
|
|
370
|
+
repeater), \`things project add-repeating "<title>"\`, \`… reschedule-repeat <ref>\`
|
|
371
|
+
(change a rule in place). Every rule takes \`--frequency <daily|weekly|monthly|yearly>\`
|
|
372
|
+
and a required \`--interval <n>\` (\`--interval 1\` = every unit). Repeating operations
|
|
373
|
+
require \`--allow-disruptive\`, including \`--dry-run\` previews.
|
|
374
|
+
|
|
375
|
+
Two modes:
|
|
376
|
+
fixed (default) occurrences land on calendar dates. NOTE: this REPLACES the
|
|
377
|
+
item — the response returns the new uuids (see below).
|
|
378
|
+
--after-completion next occurrence lands N units after you complete the current
|
|
379
|
+
one. The item keeps its uuid.
|
|
380
|
+
|
|
381
|
+
Shaping the rule (compose with the frequency):
|
|
382
|
+
--weekdays mon,thu,fri weekly: MULTIPLE days in ONE rule — never make two
|
|
383
|
+
repeaters for "every Thursday and Friday"
|
|
384
|
+
--on-day <1-31|last> monthly/yearly: a date anchor
|
|
385
|
+
--on-weekday <day> --on-ordinal <1-5|last> nth-weekday anchor; yearly adds
|
|
386
|
+
--yearly-month <1-12> e.g. last Sunday of December, every year:
|
|
387
|
+
--frequency yearly --yearly-month 12
|
|
388
|
+
--on-weekday sunday --on-ordinal last
|
|
389
|
+
--ends-after <n> | --ends-on YYYY-MM-DD stop bounds
|
|
390
|
+
--reminder HH:mm · --deadline · --start-days-earlier <n>
|
|
391
|
+
|
|
392
|
+
make-repeating returns a \`repeating\` block: \`instanceUuid\` is the visible current
|
|
393
|
+
occurrence (use it to reach the item), \`templateUuid\` the recurring rule (use it as
|
|
394
|
+
the <ref> for \`reschedule-repeat\`), and \`replacedUuid\` the original when it was
|
|
395
|
+
replaced. Typical chain: \`things todo add "<title>" --json\`, then
|
|
396
|
+
\`things todo make-repeating <returned-uuid> --frequency … --allow-disruptive\`.`,
|
|
300
397
|
};
|
|
301
398
|
/** The valid topic names, in the order the "unknown topic" hint lists them. */
|
|
302
|
-
export const TOPIC_NAMES = [
|
|
399
|
+
export const TOPIC_NAMES = [
|
|
400
|
+
"agent",
|
|
401
|
+
"filters",
|
|
402
|
+
"ids",
|
|
403
|
+
"move",
|
|
404
|
+
"output",
|
|
405
|
+
"repeating",
|
|
406
|
+
"writes",
|
|
407
|
+
];
|
|
303
408
|
/** Render one topic to `width`, or null when `name` is not a topic. */
|
|
304
409
|
export function renderTopic(name, width) {
|
|
305
410
|
if (name === "agent")
|
package/dist/cli/help.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"help.js","sourceRoot":"","sources":["../../src/cli/help.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"help.js","sourceRoot":"","sources":["../../src/cli/help.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/main.js
CHANGED
|
@@ -15,20 +15,25 @@ import { registerAreaCommands } from "./commands/area.js";
|
|
|
15
15
|
import { registerProjectCommands } from "./commands/project.js";
|
|
16
16
|
import { registerReadCommands } from "./commands/reads.js";
|
|
17
17
|
import { registerSetup } from "./commands/setup.js";
|
|
18
|
+
import { registerInstallSkill } from "./commands/install-skill.js";
|
|
18
19
|
import { registerShowCommands } from "./commands/show.js";
|
|
19
20
|
import { registerSnapshot } from "./commands/snapshot.js";
|
|
20
21
|
import { registerTodoCommands } from "./commands/todo.js";
|
|
21
22
|
import { registerWriteCommands } from "./commands/writes.js";
|
|
22
23
|
import { resolveInvocation } from "./resolve-invocation.js";
|
|
23
24
|
import { runVerbHint } from "./verb-hint.js";
|
|
25
|
+
import { detectMoveHint, runMoveHint } from "./move-hint.js";
|
|
26
|
+
import { setRenderClock } from "./clock.js";
|
|
27
|
+
import { maybeEmitSkillDriftNote } from "./skill-check.js";
|
|
24
28
|
import { resolveWidth, setFitWidth } from "./width.js";
|
|
25
|
-
import {
|
|
29
|
+
import { CLI_VERSION } from "./version.js";
|
|
30
|
+
import { ExitCode, resolveClock } from "../index.js";
|
|
26
31
|
export function buildProgram() {
|
|
27
32
|
const program = new Command();
|
|
28
33
|
program
|
|
29
34
|
.name("things")
|
|
30
35
|
.description("Programmatic interface to Things 3 (Cultured Code)")
|
|
31
|
-
.version(
|
|
36
|
+
.version(CLI_VERSION)
|
|
32
37
|
// Unknown-command typos are answered with "did you mean …" (default on;
|
|
33
38
|
// stated for the record — most top-level typos route through the bare-noun
|
|
34
39
|
// did-you-mean instead, this covers the subcommand groups).
|
|
@@ -41,6 +46,7 @@ export function buildProgram() {
|
|
|
41
46
|
registerTodoCommands(program);
|
|
42
47
|
registerWriteCommands(program);
|
|
43
48
|
registerSetup(program);
|
|
49
|
+
registerInstallSkill(program);
|
|
44
50
|
registerSnapshot(program);
|
|
45
51
|
registerMcp(program);
|
|
46
52
|
// The signpost index + `help [topic]` replace the multi-scroll epilog; the
|
|
@@ -60,6 +66,22 @@ export function runCli() {
|
|
|
60
66
|
columns: process.stdout.columns,
|
|
61
67
|
isTTY: process.stdout.isTTY === true,
|
|
62
68
|
}));
|
|
69
|
+
// Resolve the consumer clock ONCE (THINGS_TZ / THINGS_NOW) so the human
|
|
70
|
+
// renderers and period parsers evaluate dates in the same zone the library
|
|
71
|
+
// does. A malformed value is NOT fatal here: the command's own client-open
|
|
72
|
+
// re-resolves it and surfaces the usage error with --json awareness — so
|
|
73
|
+
// leave the render clock on the host default if resolution throws.
|
|
74
|
+
try {
|
|
75
|
+
const clock = resolveClock({ env: process.env });
|
|
76
|
+
setRenderClock({ now: clock.now, zone: clock.zone });
|
|
77
|
+
}
|
|
78
|
+
catch {
|
|
79
|
+
// handled by the command path (openThings → runRead/runWrite usage error)
|
|
80
|
+
}
|
|
81
|
+
// Passive skill-drift notice: one stderr line when the installed agent skill
|
|
82
|
+
// is well behind this binary's own version (human paths only, never --json /
|
|
83
|
+
// mcp; kill switch THINGS_API_NO_SKILL_CHECK=1). Silent on any error/absence.
|
|
84
|
+
maybeEmitSkillDriftNote({ argv: process.argv.slice(2), env: process.env });
|
|
63
85
|
const program = buildProgram();
|
|
64
86
|
program.exitOverride((err) => {
|
|
65
87
|
process.exit(err.exitCode === 0 ? ExitCode.Ok : ExitCode.Usage);
|
|
@@ -75,6 +97,15 @@ export function runCli() {
|
|
|
75
97
|
runVerbHint(program, resolved.argv);
|
|
76
98
|
return;
|
|
77
99
|
}
|
|
100
|
+
// A namespaced `move` carrying scheduling intent (`todo move X --when today`,
|
|
101
|
+
// `todo move X someday`) is answered with the command that actually schedules
|
|
102
|
+
// an item, instead of a bare unknown-option / excess-argument usage error
|
|
103
|
+
// (docs/design/cli-grammar.md). Never fires on a valid container move.
|
|
104
|
+
const moveHint = detectMoveHint(program, resolved.argv);
|
|
105
|
+
if (moveHint !== null) {
|
|
106
|
+
runMoveHint(moveHint);
|
|
107
|
+
return;
|
|
108
|
+
}
|
|
78
109
|
program.parse(resolved.argv, { from: "user" });
|
|
79
110
|
}
|
|
80
111
|
// Direct-run detection must survive the npm .bin symlink (argv[1] ends with
|
package/dist/cli/main.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/cli/main.ts"],"names":[],"mappings":";AACA;;;;GAIG;AACH,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,
|
|
1
|
+
{"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/cli/main.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The scheduling-intent hint for a namespaced `move` (docs/design/cli-grammar.md).
|
|
3
|
+
* `things todo move <refs…>` and `things project move <refs…>` take CONTAINER
|
|
4
|
+
* destinations only (--to-area/--to-project/--to-heading/--no-heading/--loose;
|
|
5
|
+
* todo also --inbox) plus positions (--first/--last/--before/--after).
|
|
6
|
+
* An agent carrying scheduling intent ("move X to Someday") reaches for
|
|
7
|
+
* spellings `move` does not accept — `--to someday`, `--when today`,
|
|
8
|
+
* `--someday`, or a bare `someday` positional — and would otherwise land on a
|
|
9
|
+
* bare unknown-option / excess-argument usage error that never names the
|
|
10
|
+
* command which actually schedules an item.
|
|
11
|
+
*
|
|
12
|
+
* This runs BEFORE commander parses (like the bare-verb hint) and, when it
|
|
13
|
+
* recognizes scheduling vocabulary on a `move` invocation, answers with the
|
|
14
|
+
* concrete command that works:
|
|
15
|
+
*
|
|
16
|
+
* - a scheduling term (`someday`/`today`/`evening`/`anytime`/a date), as a
|
|
17
|
+
* flag value or a stray positional → `things <group> update <ref> --when <value>`.
|
|
18
|
+
* - a bare `inbox` positional on `todo move` → `things todo move <ref> --inbox`
|
|
19
|
+
* (the real Inbox-return; `--when inbox` is not a thing).
|
|
20
|
+
*
|
|
21
|
+
* It NEVER fires on a valid move: every trapped spelling is already a usage
|
|
22
|
+
* error, so the accepted grammar is unchanged. Exit class stays Usage (2);
|
|
23
|
+
* under `--json` the suggestion rides `error.details.suggestions`.
|
|
24
|
+
*/
|
|
25
|
+
import type { Command } from "commander";
|
|
26
|
+
/** The corrected command this hint points at. */
|
|
27
|
+
export interface MoveHint {
|
|
28
|
+
group: "todo" | "project";
|
|
29
|
+
/** Whether the caller asked for a --json envelope. */
|
|
30
|
+
json: boolean;
|
|
31
|
+
/** Inbox return vs. a schedule change — selects the wording. */
|
|
32
|
+
intent: "schedule" | "inbox";
|
|
33
|
+
/** The full, runnable suggestion (already shell-quoted). */
|
|
34
|
+
suggestion: string;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Classify a `<group> move` invocation for scheduling intent. Returns the
|
|
38
|
+
* corrected-command hint when a trapped spelling is present, else null (the
|
|
39
|
+
* invocation falls through to commander unchanged).
|
|
40
|
+
*/
|
|
41
|
+
export declare function detectMoveHint(program: Command, argv: string[]): MoveHint | null;
|
|
42
|
+
/**
|
|
43
|
+
* Emit the scheduling-intent hint and set the Usage exit code. Never opens the
|
|
44
|
+
* write pipeline — it only rewrites the failing invocation into a working one.
|
|
45
|
+
*/
|
|
46
|
+
export declare function runMoveHint(hint: MoveHint): void;
|
|
@@ -0,0 +1,196 @@
|
|
|
1
|
+
import { errorEnvelope, ExitCode } from "../index.js";
|
|
2
|
+
import { indexPastLeadingFlags } from "./resolve-invocation.js";
|
|
3
|
+
import { shellQuote } from "./shell-quote.js";
|
|
4
|
+
/** The write groups whose `move` subcommand this hint guards. */
|
|
5
|
+
const MOVE_GROUPS = new Set(["todo", "project"]);
|
|
6
|
+
/**
|
|
7
|
+
* Flag spellings that signal scheduling intent on a `move` — none is a real
|
|
8
|
+
* `move` option, so their presence is always a usage error we can improve.
|
|
9
|
+
* `--inbox` is deliberately absent: it is a genuine `todo move` destination.
|
|
10
|
+
*/
|
|
11
|
+
const SCHEDULING_FLAGS = new Set([
|
|
12
|
+
"--to",
|
|
13
|
+
"--when",
|
|
14
|
+
"--someday",
|
|
15
|
+
"--today",
|
|
16
|
+
"--evening",
|
|
17
|
+
"--anytime",
|
|
18
|
+
"--date",
|
|
19
|
+
"--schedule",
|
|
20
|
+
]);
|
|
21
|
+
/** Scheduling flags that carry their term as the NEXT token (or `--flag=term`). */
|
|
22
|
+
const VALUE_SCHEDULING_FLAGS = new Set(["--to", "--when", "--date", "--schedule"]);
|
|
23
|
+
/** Boolean-style scheduling flags whose name IS the `--when` term. */
|
|
24
|
+
const FLAG_TERM = {
|
|
25
|
+
"--someday": "someday",
|
|
26
|
+
"--today": "today",
|
|
27
|
+
"--evening": "evening",
|
|
28
|
+
"--anytime": "anytime",
|
|
29
|
+
};
|
|
30
|
+
/** Recognized `--when` terms (a date is matched separately). */
|
|
31
|
+
const WHEN_TERMS = new Set(["today", "evening", "anytime", "someday"]);
|
|
32
|
+
/** Positional destinations that read as scheduling intent, not a container. */
|
|
33
|
+
const SCHEDULING_POSITIONALS = new Set(["someday", "today", "evening", "anytime", "inbox"]);
|
|
34
|
+
/** A bare `YYYY-MM-DD` — a valid `--when` value, never a container name. */
|
|
35
|
+
function isDate(token) {
|
|
36
|
+
return /^\d{4}-\d{2}-\d{2}$/.test(token);
|
|
37
|
+
}
|
|
38
|
+
/** Long/short flag names of `<group> move` that consume the following token. */
|
|
39
|
+
function valueFlagsFor(program, group) {
|
|
40
|
+
const names = new Set();
|
|
41
|
+
const groupCmd = program.commands.find((c) => c.name() === group);
|
|
42
|
+
const moveCmd = groupCmd?.commands.find((c) => c.name() === "move");
|
|
43
|
+
if (moveCmd === undefined)
|
|
44
|
+
return names;
|
|
45
|
+
for (const opt of moveCmd.options) {
|
|
46
|
+
// Commander marks value-taking options `<x>` (required) or `[x]` (optional).
|
|
47
|
+
if (opt.required === true || opt.optional === true) {
|
|
48
|
+
if (opt.long !== undefined)
|
|
49
|
+
names.add(opt.long);
|
|
50
|
+
if (opt.short !== undefined)
|
|
51
|
+
names.add(opt.short);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
return names;
|
|
55
|
+
}
|
|
56
|
+
/** Map a raw scheduling term to a valid `--when` value (park by default). */
|
|
57
|
+
function whenValue(term) {
|
|
58
|
+
if (term !== null && (WHEN_TERMS.has(term.toLowerCase()) || isDate(term))) {
|
|
59
|
+
return term.toLowerCase() === term ? term : term.toLowerCase();
|
|
60
|
+
}
|
|
61
|
+
return "someday";
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Walk the tokens after `<group> move`, skipping global/known value flags so
|
|
65
|
+
* their values are never misread as a positional destination (`--heading
|
|
66
|
+
* someday` moves under a heading literally named "someday" — not a trap).
|
|
67
|
+
*/
|
|
68
|
+
function scan(tokens, valueFlags) {
|
|
69
|
+
const positionals = [];
|
|
70
|
+
let flagTerm = null;
|
|
71
|
+
let flagIntent = false;
|
|
72
|
+
for (let i = 0; i < tokens.length; i++) {
|
|
73
|
+
const tok = tokens[i] ?? "";
|
|
74
|
+
if (tok.startsWith("-")) {
|
|
75
|
+
const eq = tok.indexOf("=");
|
|
76
|
+
const name = eq >= 0 ? tok.slice(0, eq) : tok;
|
|
77
|
+
const inline = eq >= 0 ? tok.slice(eq + 1) : undefined;
|
|
78
|
+
if (SCHEDULING_FLAGS.has(name)) {
|
|
79
|
+
if (!flagIntent) {
|
|
80
|
+
if (VALUE_SCHEDULING_FLAGS.has(name)) {
|
|
81
|
+
flagTerm = inline ?? tokens[i + 1] ?? null;
|
|
82
|
+
}
|
|
83
|
+
else {
|
|
84
|
+
flagTerm = FLAG_TERM[name] ?? null;
|
|
85
|
+
}
|
|
86
|
+
flagIntent = true;
|
|
87
|
+
}
|
|
88
|
+
if (VALUE_SCHEDULING_FLAGS.has(name) && inline === undefined)
|
|
89
|
+
i++; // consume its term
|
|
90
|
+
}
|
|
91
|
+
else if (valueFlags.has(name) && inline === undefined) {
|
|
92
|
+
i++; // a known value flag — skip its value, it is not a positional
|
|
93
|
+
}
|
|
94
|
+
// boolean / unknown flags carry no positional to protect
|
|
95
|
+
}
|
|
96
|
+
else {
|
|
97
|
+
positionals.push(tok);
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
return {
|
|
101
|
+
ref: positionals[0] ?? null,
|
|
102
|
+
dest: positionals[1] ?? null,
|
|
103
|
+
flagTerm,
|
|
104
|
+
flagIntent,
|
|
105
|
+
};
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Classify a `<group> move` invocation for scheduling intent. Returns the
|
|
109
|
+
* corrected-command hint when a trapped spelling is present, else null (the
|
|
110
|
+
* invocation falls through to commander unchanged).
|
|
111
|
+
*/
|
|
112
|
+
export function detectMoveHint(program, argv) {
|
|
113
|
+
const at = indexPastLeadingFlags(argv);
|
|
114
|
+
if (at === null)
|
|
115
|
+
return null;
|
|
116
|
+
const group = argv[at];
|
|
117
|
+
if (group === undefined || !MOVE_GROUPS.has(group))
|
|
118
|
+
return null;
|
|
119
|
+
if (argv[at + 1] !== "move")
|
|
120
|
+
return null;
|
|
121
|
+
const g = group;
|
|
122
|
+
const s = scan(argv.slice(at + 2), valueFlagsFor(program, group));
|
|
123
|
+
const json = argv.includes("--json");
|
|
124
|
+
const refEcho = s.ref !== null ? shellQuote(s.ref) : "<ref>";
|
|
125
|
+
// Precedence: an explicit scheduling FLAG wins over a positional read.
|
|
126
|
+
if (s.flagIntent) {
|
|
127
|
+
return {
|
|
128
|
+
group: g,
|
|
129
|
+
json,
|
|
130
|
+
intent: "schedule",
|
|
131
|
+
suggestion: `things ${g} update ${refEcho} --when ${whenValue(s.flagTerm)}`,
|
|
132
|
+
};
|
|
133
|
+
}
|
|
134
|
+
// A stray positional destination that reads as scheduling vocabulary.
|
|
135
|
+
const dest = s.dest;
|
|
136
|
+
if (dest === null)
|
|
137
|
+
return null;
|
|
138
|
+
const lower = dest.toLowerCase();
|
|
139
|
+
if (lower === "inbox") {
|
|
140
|
+
// Only to-dos have an Inbox, and its return is a flag (`--when inbox` is not
|
|
141
|
+
// a thing). A project has no Inbox — leave that to commander.
|
|
142
|
+
if (g !== "todo")
|
|
143
|
+
return null;
|
|
144
|
+
return {
|
|
145
|
+
group: g,
|
|
146
|
+
json,
|
|
147
|
+
intent: "inbox",
|
|
148
|
+
suggestion: `things todo move ${refEcho} --inbox`,
|
|
149
|
+
};
|
|
150
|
+
}
|
|
151
|
+
if (SCHEDULING_POSITIONALS.has(lower) || isDate(dest)) {
|
|
152
|
+
return {
|
|
153
|
+
group: g,
|
|
154
|
+
json,
|
|
155
|
+
intent: "schedule",
|
|
156
|
+
suggestion: `things ${g} update ${refEcho} --when ${whenValue(dest)}`,
|
|
157
|
+
};
|
|
158
|
+
}
|
|
159
|
+
return null;
|
|
160
|
+
}
|
|
161
|
+
/** The lead line naming what `move` does — scheduling vs. Inbox framing. */
|
|
162
|
+
function leadLine(hint) {
|
|
163
|
+
return hint.intent === "inbox"
|
|
164
|
+
? `error: \`things ${hint.group} move\` takes a container flag, not a positional destination.`
|
|
165
|
+
: `error: \`things ${hint.group} move\` changes an item's container, not its schedule.`;
|
|
166
|
+
}
|
|
167
|
+
/** The action line inviting the corrected command. */
|
|
168
|
+
function actionLine(hint) {
|
|
169
|
+
return hint.intent === "inbox"
|
|
170
|
+
? `to send an item back to the Inbox use: ${hint.suggestion}`
|
|
171
|
+
: `to schedule or park an item use: ${hint.suggestion}`;
|
|
172
|
+
}
|
|
173
|
+
/** Human render: the framing line, the corrected command, the container reminder. */
|
|
174
|
+
function renderHuman(hint) {
|
|
175
|
+
return [
|
|
176
|
+
leadLine(hint),
|
|
177
|
+
actionLine(hint),
|
|
178
|
+
`move changes containers (--to-area/--to-project/--to-heading/--no-heading/--loose).`,
|
|
179
|
+
].join("\n");
|
|
180
|
+
}
|
|
181
|
+
/**
|
|
182
|
+
* Emit the scheduling-intent hint and set the Usage exit code. Never opens the
|
|
183
|
+
* write pipeline — it only rewrites the failing invocation into a working one.
|
|
184
|
+
*/
|
|
185
|
+
export function runMoveHint(hint) {
|
|
186
|
+
if (hint.json) {
|
|
187
|
+
const meta = { dbVersion: null, fingerprint: "unknown", elapsedMs: 0 };
|
|
188
|
+
const message = `${leadLine(hint).replace(/^error: /, "")} ${actionLine(hint)}`;
|
|
189
|
+
process.stdout.write(`${JSON.stringify(errorEnvelope({ code: "usage", message, detail: { suggestions: [hint.suggestion] } }, meta))}\n`);
|
|
190
|
+
}
|
|
191
|
+
else {
|
|
192
|
+
process.stderr.write(`${renderHuman(hint)}\n`);
|
|
193
|
+
}
|
|
194
|
+
process.exitCode = ExitCode.Usage;
|
|
195
|
+
}
|
|
196
|
+
//# sourceMappingURL=move-hint.js.map
|