hzl-cli 1.4.0 → 1.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (97) hide show
  1. package/README.md +335 -0
  2. package/dist/commands/config.js +2 -1
  3. package/dist/commands/config.js.map +1 -1
  4. package/dist/commands/export-events.d.ts.map +1 -1
  5. package/dist/commands/export-events.js +2 -1
  6. package/dist/commands/export-events.js.map +1 -1
  7. package/dist/commands/init.d.ts.map +1 -1
  8. package/dist/commands/init.js +4 -2
  9. package/dist/commands/init.js.map +1 -1
  10. package/dist/commands/project/create.d.ts.map +1 -1
  11. package/dist/commands/project/create.js +2 -1
  12. package/dist/commands/project/create.js.map +1 -1
  13. package/dist/commands/project/delete.d.ts.map +1 -1
  14. package/dist/commands/project/delete.js +10 -2
  15. package/dist/commands/project/delete.js.map +1 -1
  16. package/dist/commands/project/list.js +2 -1
  17. package/dist/commands/project/list.js.map +1 -1
  18. package/dist/commands/project/rename.js +2 -1
  19. package/dist/commands/project/rename.js.map +1 -1
  20. package/dist/commands/project/show.js +2 -1
  21. package/dist/commands/project/show.js.map +1 -1
  22. package/dist/commands/sample-project.d.ts.map +1 -1
  23. package/dist/commands/sample-project.js +7 -4
  24. package/dist/commands/sample-project.js.map +1 -1
  25. package/dist/commands/stats.d.ts.map +1 -1
  26. package/dist/commands/stats.js +2 -1
  27. package/dist/commands/stats.js.map +1 -1
  28. package/dist/commands/task/add-dep.d.ts.map +1 -1
  29. package/dist/commands/task/add-dep.js +2 -2
  30. package/dist/commands/task/add-dep.js.map +1 -1
  31. package/dist/commands/task/add.d.ts.map +1 -1
  32. package/dist/commands/task/add.js +3 -2
  33. package/dist/commands/task/add.js.map +1 -1
  34. package/dist/commands/task/archive.d.ts.map +1 -1
  35. package/dist/commands/task/archive.js +2 -1
  36. package/dist/commands/task/archive.js.map +1 -1
  37. package/dist/commands/task/checkpoint.d.ts.map +1 -1
  38. package/dist/commands/task/checkpoint.js +2 -1
  39. package/dist/commands/task/checkpoint.js.map +1 -1
  40. package/dist/commands/task/claim.d.ts.map +1 -1
  41. package/dist/commands/task/claim.js +2 -1
  42. package/dist/commands/task/claim.js.map +1 -1
  43. package/dist/commands/task/comment.d.ts.map +1 -1
  44. package/dist/commands/task/comment.js +2 -1
  45. package/dist/commands/task/comment.js.map +1 -1
  46. package/dist/commands/task/complete.d.ts.map +1 -1
  47. package/dist/commands/task/complete.js +2 -1
  48. package/dist/commands/task/complete.js.map +1 -1
  49. package/dist/commands/task/history.d.ts.map +1 -1
  50. package/dist/commands/task/history.js +5 -4
  51. package/dist/commands/task/history.js.map +1 -1
  52. package/dist/commands/task/list.d.ts.map +1 -1
  53. package/dist/commands/task/list.js +9 -3
  54. package/dist/commands/task/list.js.map +1 -1
  55. package/dist/commands/task/move.js +2 -1
  56. package/dist/commands/task/move.js.map +1 -1
  57. package/dist/commands/task/next.d.ts.map +1 -1
  58. package/dist/commands/task/next.js +2 -1
  59. package/dist/commands/task/next.js.map +1 -1
  60. package/dist/commands/task/release.d.ts.map +1 -1
  61. package/dist/commands/task/release.js +2 -1
  62. package/dist/commands/task/release.js.map +1 -1
  63. package/dist/commands/task/remove-dep.js +2 -1
  64. package/dist/commands/task/remove-dep.js.map +1 -1
  65. package/dist/commands/task/reopen.d.ts.map +1 -1
  66. package/dist/commands/task/reopen.js +2 -1
  67. package/dist/commands/task/reopen.js.map +1 -1
  68. package/dist/commands/task/search.d.ts.map +1 -1
  69. package/dist/commands/task/search.js +3 -2
  70. package/dist/commands/task/search.js.map +1 -1
  71. package/dist/commands/task/set-status.d.ts.map +1 -1
  72. package/dist/commands/task/set-status.js +2 -1
  73. package/dist/commands/task/set-status.js.map +1 -1
  74. package/dist/commands/task/show.js +2 -1
  75. package/dist/commands/task/show.js.map +1 -1
  76. package/dist/commands/task/steal.d.ts.map +1 -1
  77. package/dist/commands/task/steal.js +2 -1
  78. package/dist/commands/task/steal.js.map +1 -1
  79. package/dist/commands/task/stuck.d.ts +1 -1
  80. package/dist/commands/task/stuck.d.ts.map +1 -1
  81. package/dist/commands/task/stuck.js +9 -9
  82. package/dist/commands/task/stuck.js.map +1 -1
  83. package/dist/commands/task/update.d.ts.map +1 -1
  84. package/dist/commands/task/update.js +2 -1
  85. package/dist/commands/task/update.js.map +1 -1
  86. package/dist/commands/validate.d.ts.map +1 -1
  87. package/dist/commands/validate.js +2 -1
  88. package/dist/commands/validate.js.map +1 -1
  89. package/dist/commands/which-db.js +2 -1
  90. package/dist/commands/which-db.js.map +1 -1
  91. package/dist/config.d.ts.map +1 -1
  92. package/dist/config.js +9 -3
  93. package/dist/config.js.map +1 -1
  94. package/dist/output.d.ts.map +1 -1
  95. package/dist/output.js +13 -1
  96. package/dist/output.js.map +1 -1
  97. package/package.json +7 -7
package/README.md ADDED
@@ -0,0 +1,335 @@
1
+ # HZL (Hazel)
2
+
3
+ **A shared task ledger for OpenClaw and poly-agent workflows.**
4
+
5
+ OpenClaw is great at doing work: running tools, coordinating sub-agents, and maintaining memory.
6
+ What it (and most agent tools) do not give you is a durable, shared backlog that survives:
7
+
8
+ - session boundaries
9
+ - crashes/reboots
10
+ - switching between different agent runtimes (Claude Code, Codex, Gemini, etc.)
11
+
12
+ HZL fills that gap: a lightweight, local-first task tracker that any agent can read/write.
13
+
14
+ Using OpenClaw? Start here: [OpenClaw integration](#openclaw-integration)
15
+
16
+ Not using OpenClaw? Jump to: [Using HZL with Claude Code, Codex, Gemini CLI, or any coding agent](#using-hzl-with-claude-code-codex-gemini-cli-or-any-coding-agent)
17
+
18
+ HZL provides:
19
+
20
+ - Projects and tasks
21
+ - Dependencies (`B` waits for `A`)
22
+ - Checkpoints (progress snapshots you can resume from)
23
+ - Leases (time-limited claims for multi-agent coordination)
24
+ - Event history (audit trail)
25
+ - A CLI + JSON output that agents can script against
26
+
27
+ Data is stored in SQLite. Default location: `$XDG_DATA_HOME/hzl/data.db` (fallback `~/.local/share/hzl/data.db`); Windows: `%LOCALAPPDATA%\\hzl\\data.db`.
28
+
29
+ ---
30
+
31
+ ## Why another task tracker?
32
+
33
+ Because most task trackers are built for humans.
34
+
35
+ HZL is built for agents:
36
+
37
+ - It is backend-first, not UI-first. Think "task database with a CLI," not "another Trello."
38
+ - It is model-agnostic. Your tasks live outside any one vendor's memory or chat history.
39
+ - It is multi-agent safe. Leases prevent orphaned work and enable clean handoffs.
40
+ - It is resumable. Checkpoints let an agent crash, reboot, or swap models and keep going.
41
+
42
+ If you already have a favorite human todo app, keep it.
43
+ If you need a shared task state that multiple agents can read/write, that is HZL.
44
+
45
+ ---
46
+
47
+ ## Where HZL fits
48
+
49
+ ### 1) OpenClaw orchestrator + sub-agents
50
+
51
+ ```mermaid
52
+ flowchart LR
53
+ You[You] --> OC["OpenClaw (orchestrator)"]
54
+ OC --> Tools["OpenClaw tools<br/>(browser, exec, email, etc.)"]
55
+ OC <--> HZL[(HZL task ledger)]
56
+ OC --> S1[Claude Code]
57
+ OC --> S2[Codex / other]
58
+ S1 <--> HZL
59
+ S2 <--> HZL
60
+ ```
61
+
62
+ OpenClaw coordinates the work. HZL is the shared, durable task board that OpenClaw and its sub-agents can use across sessions.
63
+
64
+ ### 2) Any poly-agent system (no OpenClaw required)
65
+
66
+ ```mermaid
67
+ flowchart LR
68
+ U[You] --> O["Orchestrator (human or agent)"]
69
+ O <--> HZL[(HZL)]
70
+ O --> C[Claude Code]
71
+ O --> X[Codex]
72
+ O --> G[Gemini]
73
+ C <--> HZL
74
+ X <--> HZL
75
+ G <--> HZL
76
+ ```
77
+
78
+ Same idea: once you are switching tools/models, you need a shared ledger.
79
+
80
+ ### 3) One agent, many sessions
81
+
82
+ ```mermaid
83
+ flowchart LR
84
+ U[You] --> A[Coding agent]
85
+ A <--> HZL
86
+ A --> R[Repo / files]
87
+ ```
88
+
89
+ Use HZL to persist "what's next" and "what changed" between sessions.
90
+
91
+ ### 4) HZL as the backend for your own UI
92
+
93
+ ```mermaid
94
+ flowchart LR
95
+ UI[Your lightweight web app] --> HZL
96
+ Agents[Agents + scripts] --> HZL
97
+ ```
98
+
99
+ If you want a human-friendly interface, build one. HZL stays the durable backend that both humans and agents can use.
100
+
101
+ ---
102
+
103
+ ## Quickstart
104
+
105
+ ### Install
106
+
107
+ Requires Node.js 22.14+.
108
+
109
+ ```bash
110
+ npm install -g hzl-cli
111
+ hzl init
112
+ ```
113
+
114
+ ### Create a project and tasks
115
+
116
+ ```bash
117
+ hzl project create portland-trip
118
+
119
+ hzl task add "Check calendars for March weekends" -P portland-trip --priority 5
120
+ hzl task add "Research neighborhoods + activities" -P portland-trip --priority 4
121
+ hzl task add "Shortlist 2-3 weekend options" -P portland-trip --priority 3 \
122
+ --depends-on <calendar-task-id> --depends-on <research-task-id>
123
+ ```
124
+
125
+ ### Work with checkpoints
126
+
127
+ ```bash
128
+ hzl task claim <calendar-task-id> --author trevin-agent
129
+ hzl task checkpoint <calendar-task-id> "Found 3 options: Mar 7-9, 14-16, 21-23"
130
+ hzl task complete <calendar-task-id>
131
+ ```
132
+
133
+ ### Use JSON output when scripting
134
+
135
+ ```bash
136
+ hzl task show <id> --json
137
+ hzl task next --project portland-trip --json
138
+ ```
139
+
140
+ ---
141
+
142
+ ## Core concepts (the stuff that matters)
143
+
144
+ ### Tasks are units of work, not reminders
145
+
146
+ HZL is optimized for "do work, report progress, unblock the next step."
147
+
148
+ If you need time-based reminders, pair HZL with a scheduler (cron, OpenClaw cron, etc.).
149
+
150
+ ### Checkpoints are progress snapshots
151
+
152
+ A checkpoint is a compact, durable record of what happened:
153
+
154
+ - what you tried
155
+ - what you found
156
+ - what's still missing
157
+ - links, commands, or file paths needed to resume
158
+
159
+ ### Dependencies encode ordering
160
+
161
+ Dependencies are how an agent avoids premature work:
162
+
163
+ - "Don't search flights before you know dates."
164
+ - "Don't open a PR before tests pass."
165
+
166
+ ### Leases make multi-agent handoffs reliable
167
+
168
+ Leases are time-limited claims:
169
+
170
+ - A worker agent claims a task with `--lease 30`
171
+ - If it disappears, the lease expires
172
+ - Another agent can detect stuck work and take over
173
+
174
+ ---
175
+
176
+ ## Patterns
177
+
178
+ ### Pattern: Poly-agent backlog (recommended)
179
+
180
+ Conventions that help:
181
+
182
+ - Use consistent author IDs: `openclaw`, `claude-code`, `codex`, `gemini`, etc.
183
+ - Claim tasks before work.
184
+ - Checkpoint whenever you learn something that would be painful to rediscover.
185
+
186
+ Example handoff:
187
+
188
+ ```bash
189
+ # Orchestrator creates task
190
+ hzl task add "Implement REST API endpoints" -P myapp --priority 2
191
+ TASK_ID=<id>
192
+
193
+ # Worker agent claims with a lease
194
+ hzl task claim "$TASK_ID" --author claude-code --lease 30
195
+ hzl task checkpoint "$TASK_ID" "Endpoints scaffolded; next: auth middleware"
196
+ hzl task complete "$TASK_ID"
197
+ ```
198
+
199
+ ### Pattern: Personal todo list (it works, but bring your own UI)
200
+
201
+ HZL can track personal tasks and has the advantage of centralizing agent and personal tasks.
202
+ This enables scenarios like OpenClaw assigning you tasks without needing to sync with other todo systems.
203
+
204
+ HZL itself is not trying to be a polished, human-first todo app. You bring other pieces for that.
205
+
206
+ If you want a todo app, build or use a UI:
207
+
208
+ - a tiny web app
209
+ - a TUI wrapper
210
+ - a menu bar widget
211
+
212
+ HZL stays the storage layer and concurrency-safe ledger underneath.
213
+
214
+ ---
215
+
216
+ ## Using HZL with Claude Code, Codex, Gemini CLI, or any coding agent
217
+
218
+ If your coding agent supports an instruction file (for example `CLAUDE.md`, `AGENTS.md`, `GEMINI.md`, etc.), add a short policy so the agent reaches for HZL consistently.
219
+
220
+ ### Drop-in policy snippet
221
+
222
+ ```md
223
+ ### HZL task ledger (use for multi-step work)
224
+
225
+ When a request has multiple steps, spans multiple sessions, or involves coordination with other agents/tools:
226
+ 1) Create or use an HZL project for the work.
227
+ 2) Break work into tasks with dependencies.
228
+ 3) Claim tasks before work and checkpoint after meaningful progress.
229
+ 4) Use `--json` when producing output another tool will parse.
230
+
231
+ Key commands:
232
+ - `hzl project create <name>`
233
+ - `hzl task add "<title>" -P <project> [--depends-on <id>]`
234
+ - `hzl task claim <id> --author <agent-id> [--lease 30]`
235
+ - `hzl task checkpoint <id> "<progress + next step>"`
236
+ - `hzl task complete <id>`
237
+ ```
238
+
239
+ That snippet is intentionally short. The goal is consistency, not ceremony.
240
+
241
+ ### Claude Code marketplace (optional)
242
+
243
+ HZL includes a Claude Code plugin marketplace with skills that help agents work effectively with HZL.
244
+
245
+ ```bash
246
+ # Add the marketplace
247
+ /plugin marketplace add tmchow/hzl
248
+
249
+ # Install the skills plugin
250
+ /plugin install hzl-skills@hzl-marketplace
251
+ ```
252
+
253
+ See [`packages/hzl-marketplace`](./packages/hzl-marketplace) for details.
254
+
255
+ ## OpenClaw integration
256
+
257
+ OpenClaw is a self-hosted AI assistant that can coordinate tools and sub-agents.
258
+ HZL fits well as the task ledger that OpenClaw (and its sub-agents) can share.
259
+
260
+ ### Quick start (recommended)
261
+
262
+ Copy/paste this into an OpenClaw chat (single prompt):
263
+
264
+ ```
265
+ Install HZL from https://github.com/tmchow/hzl and run hzl init. Install the HZL skill from https://www.clawhub.ai/tmchow/hzl. Then append the HZL policy from https://raw.githubusercontent.com/tmchow/hzl/main/docs/openclaw/tools-prompt.md to my TOOLS.md.
266
+ ```
267
+
268
+ ### Manual setup
269
+
270
+ 1) Install HZL on the machine running OpenClaw:
271
+
272
+ ```bash
273
+ npm install -g hzl-cli
274
+ hzl init
275
+ ```
276
+
277
+ 2) Install the HZL skill from https://www.clawhub.ai/tmchow/hzl
278
+ Skill source (for reference only): **[`docs/openclaw/skill-hzl.md`](./docs/openclaw/skill-hzl.md)**
279
+
280
+ 3) Teach OpenClaw when to use HZL (important):
281
+ - Copy/paste from: **[`docs/openclaw/tools-prompt.md`](./docs/openclaw/tools-prompt.md)**
282
+ - Or tell OpenClaw to add this policy to `TOOLS.md`:
283
+
284
+ ```
285
+ HZL is a tool available to you for task management in certain cases. I want you to add this information to your TOOLS.md in the right way so you remember how to use it:
286
+ https://raw.githubusercontent.com/tmchow/hzl/main/docs/openclaw/tools-prompt.md
287
+ ```
288
+
289
+ ---
290
+
291
+ ## When to use HZL (and when not to)
292
+
293
+ ### Use HZL when:
294
+
295
+ - work has multiple steps and you want explicit sequencing
296
+ - work spans multiple sessions (resume tomorrow with confidence)
297
+ - you are coordinating multiple agents or model providers
298
+ - you need durable status reporting (done / in progress / blocked / next)
299
+ - you want a task ledger your own UI can sit on top of
300
+
301
+ ### Consider something else when:
302
+
303
+ - you need time-based reminders or notifications (use a scheduler + a notifier)
304
+ - you need rich human workflow features (due dates, recurring tasks, calendar views)
305
+ - you are tracking an org-wide backlog (GitHub/Jira/etc. may be a better fit)
306
+
307
+ ---
308
+
309
+ ## CLI reference (short)
310
+
311
+ ```bash
312
+ hzl init
313
+
314
+ hzl project create <name>
315
+ hzl project list
316
+
317
+ hzl task add "<title>" -P <project>
318
+ hzl task list --project <project>
319
+ hzl task next --project <project>
320
+
321
+ hzl task claim <id> --author <name> [--lease <minutes>]
322
+ hzl task checkpoint <id> "<message>"
323
+ hzl task complete <id>
324
+
325
+ hzl task stuck
326
+ hzl task steal <id> --if-expired
327
+
328
+ hzl task show <id> --json
329
+ ```
330
+
331
+ ---
332
+
333
+ ## License
334
+
335
+ MIT
@@ -1,5 +1,6 @@
1
1
  import { Command } from 'commander';
2
2
  import { readConfig, getDefaultDbPath, getConfigPath } from '../config.js';
3
+ import { GlobalOptionsSchema } from '../types.js';
3
4
  export function runConfig(options) {
4
5
  const { cliPath, json, configPath = getConfigPath() } = options;
5
6
  // Determine db source and value
@@ -39,7 +40,7 @@ export function createConfigCommand() {
39
40
  return new Command('config')
40
41
  .description('Show current configuration')
41
42
  .action(function () {
42
- const globalOpts = this.optsWithGlobals();
43
+ const globalOpts = GlobalOptionsSchema.parse(this.optsWithGlobals());
43
44
  runConfig({
44
45
  cliPath: globalOpts.db,
45
46
  json: globalOpts.json ?? false,
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAgB3E,MAAM,UAAU,SAAS,CAAC,OAAsB;IAC9C,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,GAAG,aAAa,EAAE,EAAE,GAAG,OAAO,CAAC;IAEhE,gCAAgC;IAChC,IAAI,QAAsC,CAAC;IAC3C,IAAI,OAAe,CAAC;IAEpB,IAAI,OAAO,EAAE,CAAC;QACZ,QAAQ,GAAG,KAAK,CAAC;QACjB,OAAO,GAAG,OAAO,CAAC;IACpB,CAAC;SAAM,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;QAC9B,QAAQ,GAAG,KAAK,CAAC;QACjB,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC;IAC/B,CAAC;SAAM,CAAC;QACN,MAAM,MAAM,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC;QACtC,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAClB,QAAQ,GAAG,QAAQ,CAAC;YACpB,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC;QAC1B,CAAC;aAAM,CAAC;YACN,QAAQ,GAAG,SAAS,CAAC;YACrB,OAAO,GAAG,gBAAgB,EAAE,CAAC;QAC/B,CAAC;IACH,CAAC;IAED,MAAM,MAAM,GAAiB;QAC3B,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE;KACzC,CAAC;IAEF,IAAI,IAAI,EAAE,CAAC;QACT,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;IACtC,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,OAAO,OAAO,UAAU,QAAQ,GAAG,CAAC,CAAC;IACnD,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,mBAAmB;IACjC,OAAO,IAAI,OAAO,CAAC,QAAQ,CAAC;SACzB,WAAW,CAAC,4BAA4B,CAAC;SACzC,MAAM,CAAC;QACN,MAAM,UAAU,GAAG,IAAI,CAAC,eAAe,EAAmB,CAAC;QAC3D,SAAS,CAAC;YACR,OAAO,EAAE,UAAU,CAAC,EAAE;YACtB,IAAI,EAAE,UAAU,CAAC,IAAI,IAAI,KAAK;SAC/B,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACP,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC3E,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAelD,MAAM,UAAU,SAAS,CAAC,OAAsB;IAC9C,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,GAAG,aAAa,EAAE,EAAE,GAAG,OAAO,CAAC;IAEhE,gCAAgC;IAChC,IAAI,QAAsC,CAAC;IAC3C,IAAI,OAAe,CAAC;IAEpB,IAAI,OAAO,EAAE,CAAC;QACZ,QAAQ,GAAG,KAAK,CAAC;QACjB,OAAO,GAAG,OAAO,CAAC;IACpB,CAAC;SAAM,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;QAC9B,QAAQ,GAAG,KAAK,CAAC;QACjB,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC;IAC/B,CAAC;SAAM,CAAC;QACN,MAAM,MAAM,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC;QACtC,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAClB,QAAQ,GAAG,QAAQ,CAAC;YACpB,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC;QAC1B,CAAC;aAAM,CAAC;YACN,QAAQ,GAAG,SAAS,CAAC;YACrB,OAAO,GAAG,gBAAgB,EAAE,CAAC;QAC/B,CAAC;IACH,CAAC;IAED,MAAM,MAAM,GAAiB;QAC3B,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE;KACzC,CAAC;IAEF,IAAI,IAAI,EAAE,CAAC;QACT,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;IACtC,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,OAAO,OAAO,UAAU,QAAQ,GAAG,CAAC,CAAC;IACnD,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,mBAAmB;IACjC,OAAO,IAAI,OAAO,CAAC,QAAQ,CAAC;SACzB,WAAW,CAAC,4BAA4B,CAAC;SACzC,MAAM,CAAC;QACN,MAAM,UAAU,GAAG,mBAAmB,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC;QACrE,SAAS,CAAC;YACR,OAAO,EAAE,UAAU,CAAC,EAAE;YACtB,IAAI,EAAE,UAAU,CAAC,IAAI,IAAI,KAAK;SAC/B,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"export-events.d.ts","sourceRoot":"","sources":["../../src/commands/export-events.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC,OAAO,EAAyB,KAAK,QAAQ,EAAE,MAAM,UAAU,CAAC;AAIhE,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE;IACvC,QAAQ,EAAE,QAAQ,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,OAAO,CAAC;CACf,GAAG,kBAAkB,CAmCrB;AAED,wBAAgB,yBAAyB,IAAI,OAAO,CAsBnD"}
1
+ {"version":3,"file":"export-events.d.ts","sourceRoot":"","sources":["../../src/commands/export-events.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC,OAAO,EAAyB,KAAK,QAAQ,EAAE,MAAM,UAAU,CAAC;AAIhE,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE;IACvC,QAAQ,EAAE,QAAQ,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,OAAO,CAAC;CACf,GAAG,kBAAkB,CAmCrB;AAED,wBAAgB,yBAAyB,IAAI,OAAO,CA0BnD"}
@@ -4,6 +4,7 @@ import fs from 'fs';
4
4
  import { resolveDbPath } from '../config.js';
5
5
  import { initializeDb, closeDb } from '../db.js';
6
6
  import { handleError } from '../errors.js';
7
+ import { GlobalOptionsSchema } from '../types.js';
7
8
  export function runExportEvents(options) {
8
9
  const { services, outputPath, fromId, json } = options;
9
10
  const { db } = services;
@@ -42,7 +43,7 @@ export function createExportEventsCommand() {
42
43
  .argument('[output]', 'Output file path (use - for stdout)', '-')
43
44
  .option('--from <id>', 'Export events starting from rowid')
44
45
  .action(function (output, opts) {
45
- const globalOpts = this.optsWithGlobals();
46
+ const globalOpts = GlobalOptionsSchema.parse(this.optsWithGlobals());
46
47
  const dbPath = resolveDbPath(globalOpts.db);
47
48
  const services = initializeDb(dbPath);
48
49
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"export-events.js","sourceRoot":"","sources":["../../src/commands/export-events.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"export-events.js","sourceRoot":"","sources":["../../src/commands/export-events.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAQL,KAAK,YAAY,EAClB,MAAM,cAAc,CAAC;AAGtB,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,YAAY,CAAC;CACtB;AAED,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,YAAY,CAAC;IACzB,IAAI,EAAE,OAAO,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAgBD;;;GAGG;AACH,wBAAsB,OAAO,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,CAyCvE;AAED,wBAAgB,iBAAiB,IAAI,OAAO,CAmC3C"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC,OAAO,EAQL,KAAK,YAAY,EAClB,MAAM,cAAc,CAAC;AAGtB,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,YAAY,CAAC;CACtB;AAED,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,YAAY,CAAC;IACzB,IAAI,EAAE,OAAO,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAgBD;;;GAGG;AACH,wBAAsB,OAAO,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,CAyCvE;AAED,wBAAgB,iBAAiB,IAAI,OAAO,CAmC3C"}
@@ -1,7 +1,9 @@
1
1
  // packages/hzl-cli/src/commands/init.ts
2
2
  import { Command } from 'commander';
3
3
  import fs from 'fs';
4
+ import { z } from 'zod';
4
5
  import { resolveDbPathWithSource, getDefaultDbPath, ensureDbDirectory, writeConfig, readConfig, getConfigPath, isDevMode } from '../config.js';
6
+ import { GlobalOptionsSchema } from '../types.js';
5
7
  function formatSourceHint(source) {
6
8
  switch (source) {
7
9
  case 'cli': return `(from --db flag)`;
@@ -56,8 +58,8 @@ export function createInitCommand() {
56
58
  .description('Initialize a new HZL database')
57
59
  .option('-f, --force', 'Reset to default location (or use with --db for specific path)')
58
60
  .action(async function () {
59
- const globalOpts = this.optsWithGlobals();
60
- const opts = this.opts();
61
+ const globalOpts = GlobalOptionsSchema.parse(this.optsWithGlobals());
62
+ const opts = z.object({ force: z.boolean().optional() }).parse(this.opts());
61
63
  const force = opts.force ?? false;
62
64
  let dbPath;
63
65
  let pathSource;
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../src/commands/project/create.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAyB,KAAK,QAAQ,EAAE,MAAM,aAAa,CAAC;AAInE,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,YAAY,EAAE,OAAO,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,QAAQ,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,OAAO,CAAC;CACf;AAED,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,oBAAoB,GAC5B,mBAAmB,CAqBrB;AAED,wBAAgB,0BAA0B,IAAI,OAAO,CAsBpD"}
1
+ {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../src/commands/project/create.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAyB,KAAK,QAAQ,EAAE,MAAM,aAAa,CAAC;AAInE,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,YAAY,EAAE,OAAO,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,QAAQ,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,OAAO,CAAC;CACf;AAMD,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,oBAAoB,GAC5B,mBAAmB,CAqBrB;AAED,wBAAgB,0BAA0B,IAAI,OAAO,CAsBpD"}
@@ -2,6 +2,7 @@ import { Command } from 'commander';
2
2
  import { resolveDbPath } from '../../config.js';
3
3
  import { initializeDb, closeDb } from '../../db.js';
4
4
  import { handleError } from '../../errors.js';
5
+ import { GlobalOptionsSchema } from '../../types.js';
5
6
  export function runProjectCreate(options) {
6
7
  const { services, name, description, json } = options;
7
8
  const project = services.projectService.createProject(name, {
@@ -27,7 +28,7 @@ export function createProjectCreateCommand() {
27
28
  .argument('<name>', 'Project name')
28
29
  .option('-d, --description <desc>', 'Project description')
29
30
  .action(function (name, opts) {
30
- const globalOpts = this.optsWithGlobals();
31
+ const globalOpts = GlobalOptionsSchema.parse(this.optsWithGlobals());
31
32
  const dbPath = resolveDbPath(globalOpts.db);
32
33
  const services = initializeDb(dbPath);
33
34
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/commands/project/create.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,OAAO,EAAiB,MAAM,aAAa,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAiB9C,MAAM,UAAU,gBAAgB,CAC9B,OAA6B;IAE7B,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;IAEtD,MAAM,OAAO,GAAG,QAAQ,CAAC,cAAc,CAAC,aAAa,CAAC,IAAI,EAAE;QAC1D,WAAW;KACZ,CAAC,CAAC;IAEH,MAAM,MAAM,GAAwB;QAClC,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,YAAY,EAAE,OAAO,CAAC,YAAY;QAClC,UAAU,EAAE,OAAO,CAAC,UAAU;KAC/B,CAAC;IAEF,IAAI,IAAI,EAAE,CAAC;QACT,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;IACtC,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,qBAAqB,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IACnD,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,0BAA0B;IACxC,OAAO,IAAI,OAAO,CAAC,QAAQ,CAAC;SACzB,WAAW,CAAC,sBAAsB,CAAC;SACnC,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;SAClC,MAAM,CAAC,0BAA0B,EAAE,qBAAqB,CAAC;SACzD,MAAM,CAAC,UAAyB,IAAY,EAAE,IAAS;QACtD,MAAM,UAAU,GAAG,IAAI,CAAC,eAAe,EAAmB,CAAC;QAC3D,MAAM,MAAM,GAAG,aAAa,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QAC5C,MAAM,QAAQ,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;QACtC,IAAI,CAAC;YACH,gBAAgB,CAAC;gBACf,QAAQ;gBACR,IAAI;gBACJ,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,IAAI,EAAE,UAAU,CAAC,IAAI,IAAI,KAAK;aAC/B,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,WAAW,CAAC,CAAC,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;QAClC,CAAC;gBAAS,CAAC;YACT,OAAO,CAAC,QAAQ,CAAC,CAAC;QACpB,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
1
+ {"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/commands/project/create.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,OAAO,EAAiB,MAAM,aAAa,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAoBrD,MAAM,UAAU,gBAAgB,CAC9B,OAA6B;IAE7B,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;IAEtD,MAAM,OAAO,GAAG,QAAQ,CAAC,cAAc,CAAC,aAAa,CAAC,IAAI,EAAE;QAC1D,WAAW;KACZ,CAAC,CAAC;IAEH,MAAM,MAAM,GAAwB;QAClC,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,YAAY,EAAE,OAAO,CAAC,YAAY;QAClC,UAAU,EAAE,OAAO,CAAC,UAAU;KAC/B,CAAC;IAEF,IAAI,IAAI,EAAE,CAAC;QACT,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;IACtC,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,qBAAqB,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IACnD,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,0BAA0B;IACxC,OAAO,IAAI,OAAO,CAAC,QAAQ,CAAC;SACzB,WAAW,CAAC,sBAAsB,CAAC;SACnC,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;SAClC,MAAM,CAAC,0BAA0B,EAAE,qBAAqB,CAAC;SACzD,MAAM,CAAC,UAAyB,IAAY,EAAE,IAAiC;QAC9E,MAAM,UAAU,GAAG,mBAAmB,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC;QACrE,MAAM,MAAM,GAAG,aAAa,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QAC5C,MAAM,QAAQ,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;QACtC,IAAI,CAAC;YACH,gBAAgB,CAAC;gBACf,QAAQ;gBACR,IAAI;gBACJ,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,IAAI,EAAE,UAAU,CAAC,IAAI,IAAI,KAAK;aAC/B,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,WAAW,CAAC,CAAC,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;QAClC,CAAC;gBAAS,CAAC;YACT,OAAO,CAAC,QAAQ,CAAC,CAAC;QACpB,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"delete.d.ts","sourceRoot":"","sources":["../../../src/commands/project/delete.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAyB,KAAK,QAAQ,EAAE,MAAM,aAAa,CAAC;AAMnE,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,GAAG,QAAQ,CAAC;CAChD;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,QAAQ,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,IAAI,EAAE,OAAO,CAAC;CACf;AA0CD,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,oBAAoB,GAAG,mBAAmB,CAkGnF;AAED,wBAAgB,0BAA0B,IAAI,OAAO,CA0BpD"}
1
+ {"version":3,"file":"delete.d.ts","sourceRoot":"","sources":["../../../src/commands/project/delete.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAyB,KAAK,QAAQ,EAAE,MAAM,aAAa,CAAC;AAMnE,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,GAAG,QAAQ,CAAC;CAChD;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,QAAQ,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,IAAI,EAAE,OAAO,CAAC;CACf;AAgDD,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,oBAAoB,GAAG,mBAAmB,CA0GnF;AAED,wBAAgB,0BAA0B,IAAI,OAAO,CA8BpD"}
@@ -2,6 +2,7 @@ import { Command } from 'commander';
2
2
  import { resolveDbPath } from '../../config.js';
3
3
  import { initializeDb, closeDb } from '../../db.js';
4
4
  import { CLIError, ExitCode, handleError } from '../../errors.js';
5
+ import { GlobalOptionsSchema } from '../../types.js';
5
6
  import { EventType, PROJECT_EVENT_TASK_ID } from 'hzl-core/events/types.js';
6
7
  import { withWriteTransaction } from 'hzl-core/db/connection.js';
7
8
  /**
@@ -106,11 +107,18 @@ export function runProjectDelete(options) {
106
107
  },
107
108
  });
108
109
  services.projectionEngine.applyEvent(event);
110
+ const action = moveTo
111
+ ? 'move'
112
+ : archiveTasks
113
+ ? 'archive'
114
+ : deleteTasks
115
+ ? 'delete'
116
+ : 'none';
109
117
  return {
110
118
  name,
111
119
  task_count: activeCount,
112
120
  archived_task_count: archivedCount,
113
- action: moveTo ? 'move' : archiveTasks ? 'archive' : deleteTasks ? 'delete' : 'none',
121
+ action,
114
122
  };
115
123
  });
116
124
  if (json) {
@@ -129,7 +137,7 @@ export function createProjectDeleteCommand() {
129
137
  .option('--archive-tasks', 'Archive tasks before deleting project')
130
138
  .option('--delete-tasks', 'Delete tasks before deleting project')
131
139
  .action(function (name, opts) {
132
- const globalOpts = this.optsWithGlobals();
140
+ const globalOpts = GlobalOptionsSchema.parse(this.optsWithGlobals());
133
141
  const dbPath = resolveDbPath(globalOpts.db);
134
142
  const services = initializeDb(dbPath);
135
143
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"delete.js","sourceRoot":"","sources":["../../../src/commands/project/delete.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"delete.js","sourceRoot":"","sources":["../../../src/commands/project/delete.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ import { Command } from 'commander';
2
2
  import { resolveDbPath } from '../../config.js';
3
3
  import { initializeDb, closeDb } from '../../db.js';
4
4
  import { handleError } from '../../errors.js';
5
+ import { GlobalOptionsSchema } from '../../types.js';
5
6
  export function runProjectList(options) {
6
7
  const { services, json } = options;
7
8
  const rows = services.db
@@ -51,7 +52,7 @@ export function createProjectListCommand() {
51
52
  return new Command('list')
52
53
  .description('List projects with task counts')
53
54
  .action(function () {
54
- const globalOpts = this.optsWithGlobals();
55
+ const globalOpts = GlobalOptionsSchema.parse(this.optsWithGlobals());
55
56
  const dbPath = resolveDbPath(globalOpts.db);
56
57
  const services = initializeDb(dbPath);
57
58
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"list.js","sourceRoot":"","sources":["../../../src/commands/project/list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,OAAO,EAAiB,MAAM,aAAa,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAgB9C,MAAM,UAAU,cAAc,CAAC,OAG9B;IACC,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;IAEnC,MAAM,IAAI,GAAG,QAAQ,CAAC,EAAE;SACrB,OAAO,CACN;;;;;;;;;;;KAWD,CACA;SACA,GAAG,EAMH,CAAC;IAEJ,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;QAChC,MAAM,aAAa,GAAG,GAAG,CAAC,mBAAmB,IAAI,CAAC,CAAC;QACnD,MAAM,UAAU,GAAG,GAAG,CAAC,UAAU,IAAI,CAAC,CAAC;QACvC,OAAO;YACL,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,WAAW,EAAE,GAAG,CAAC,WAAW;YAC5B,YAAY,EAAE,GAAG,CAAC,YAAY,KAAK,CAAC;YACpC,UAAU,EAAE,UAAU;YACtB,mBAAmB,EAAE,aAAa;YAClC,iBAAiB,EAAE,UAAU,GAAG,aAAa;SAC9C,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,MAAM,MAAM,GAAsB,EAAE,QAAQ,EAAE,CAAC;IAE/C,IAAI,IAAI,EAAE,CAAC;QACT,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;IACtC,CAAC;SAAM,CAAC;QACN,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;QACnC,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YACzB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC/B,OAAO,CAAC,GAAG,CACT,KAAK,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC,iBAAiB,YAAY,OAAO,CAAC,mBAAmB,WAAW,CAClG,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,wBAAwB;IACtC,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC;SACvB,WAAW,CAAC,gCAAgC,CAAC;SAC7C,MAAM,CAAC;QACN,MAAM,UAAU,GAAG,IAAI,CAAC,eAAe,EAAmB,CAAC;QAC3D,MAAM,MAAM,GAAG,aAAa,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QAC5C,MAAM,QAAQ,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;QACtC,IAAI,CAAC;YACH,cAAc,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,IAAI,KAAK,EAAE,CAAC,CAAC;QAC/D,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,WAAW,CAAC,CAAC,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;QAClC,CAAC;gBAAS,CAAC;YACT,OAAO,CAAC,QAAQ,CAAC,CAAC;QACpB,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
1
+ {"version":3,"file":"list.js","sourceRoot":"","sources":["../../../src/commands/project/list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,OAAO,EAAiB,MAAM,aAAa,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAerD,MAAM,UAAU,cAAc,CAAC,OAG9B;IACC,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;IAEnC,MAAM,IAAI,GAAG,QAAQ,CAAC,EAAE;SACrB,OAAO,CACN;;;;;;;;;;;KAWD,CACA;SACA,GAAG,EAMH,CAAC;IAEJ,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;QAChC,MAAM,aAAa,GAAG,GAAG,CAAC,mBAAmB,IAAI,CAAC,CAAC;QACnD,MAAM,UAAU,GAAG,GAAG,CAAC,UAAU,IAAI,CAAC,CAAC;QACvC,OAAO;YACL,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,WAAW,EAAE,GAAG,CAAC,WAAW;YAC5B,YAAY,EAAE,GAAG,CAAC,YAAY,KAAK,CAAC;YACpC,UAAU,EAAE,UAAU;YACtB,mBAAmB,EAAE,aAAa;YAClC,iBAAiB,EAAE,UAAU,GAAG,aAAa;SAC9C,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,MAAM,MAAM,GAAsB,EAAE,QAAQ,EAAE,CAAC;IAE/C,IAAI,IAAI,EAAE,CAAC;QACT,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;IACtC,CAAC;SAAM,CAAC;QACN,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;QACnC,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YACzB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC/B,OAAO,CAAC,GAAG,CACT,KAAK,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC,iBAAiB,YAAY,OAAO,CAAC,mBAAmB,WAAW,CAClG,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,wBAAwB;IACtC,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC;SACvB,WAAW,CAAC,gCAAgC,CAAC;SAC7C,MAAM,CAAC;QACN,MAAM,UAAU,GAAG,mBAAmB,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC;QACrE,MAAM,MAAM,GAAG,aAAa,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QAC5C,MAAM,QAAQ,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;QACtC,IAAI,CAAC;YACH,cAAc,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,IAAI,KAAK,EAAE,CAAC,CAAC;QAC/D,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,WAAW,CAAC,CAAC,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;QAClC,CAAC;gBAAS,CAAC;YACT,OAAO,CAAC,QAAQ,CAAC,CAAC;QACpB,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -2,6 +2,7 @@ import { Command } from 'commander';
2
2
  import { resolveDbPath } from '../../config.js';
3
3
  import { initializeDb, closeDb } from '../../db.js';
4
4
  import { handleError } from '../../errors.js';
5
+ import { GlobalOptionsSchema } from '../../types.js';
5
6
  export function runProjectRename(options) {
6
7
  const { services, oldName, newName, json } = options;
7
8
  services.projectService.renameProject(oldName, newName);
@@ -23,7 +24,7 @@ export function createProjectRenameCommand() {
23
24
  .argument('<oldName>', 'Current project name')
24
25
  .argument('<newName>', 'New project name')
25
26
  .action(function (oldName, newName) {
26
- const globalOpts = this.optsWithGlobals();
27
+ const globalOpts = GlobalOptionsSchema.parse(this.optsWithGlobals());
27
28
  const dbPath = resolveDbPath(globalOpts.db);
28
29
  const services = initializeDb(dbPath);
29
30
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"rename.js","sourceRoot":"","sources":["../../../src/commands/project/rename.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,OAAO,EAAiB,MAAM,aAAa,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAe9C,MAAM,UAAU,gBAAgB,CAC9B,OAA6B;IAE7B,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;IAErD,QAAQ,CAAC,cAAc,CAAC,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAExD,MAAM,MAAM,GAAwB;QAClC,QAAQ,EAAE,OAAO;QACjB,QAAQ,EAAE,OAAO;KAClB,CAAC;IAEF,IAAI,IAAI,EAAE,CAAC;QACT,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;IACtC,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,sBAAsB,OAAO,SAAS,OAAO,GAAG,CAAC,CAAC;IAChE,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,0BAA0B;IACxC,OAAO,IAAI,OAAO,CAAC,QAAQ,CAAC;SACzB,WAAW,CAAC,kBAAkB,CAAC;SAC/B,QAAQ,CAAC,WAAW,EAAE,sBAAsB,CAAC;SAC7C,QAAQ,CAAC,WAAW,EAAE,kBAAkB,CAAC;SACzC,MAAM,CAAC,UAAyB,OAAe,EAAE,OAAe;QAC/D,MAAM,UAAU,GAAG,IAAI,CAAC,eAAe,EAAmB,CAAC;QAC3D,MAAM,MAAM,GAAG,aAAa,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QAC5C,MAAM,QAAQ,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;QACtC,IAAI,CAAC;YACH,gBAAgB,CAAC;gBACf,QAAQ;gBACR,OAAO;gBACP,OAAO;gBACP,IAAI,EAAE,UAAU,CAAC,IAAI,IAAI,KAAK;aAC/B,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,WAAW,CAAC,CAAC,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;QAClC,CAAC;gBAAS,CAAC;YACT,OAAO,CAAC,QAAQ,CAAC,CAAC;QACpB,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
1
+ {"version":3,"file":"rename.js","sourceRoot":"","sources":["../../../src/commands/project/rename.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,OAAO,EAAiB,MAAM,aAAa,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAcrD,MAAM,UAAU,gBAAgB,CAC9B,OAA6B;IAE7B,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;IAErD,QAAQ,CAAC,cAAc,CAAC,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAExD,MAAM,MAAM,GAAwB;QAClC,QAAQ,EAAE,OAAO;QACjB,QAAQ,EAAE,OAAO;KAClB,CAAC;IAEF,IAAI,IAAI,EAAE,CAAC;QACT,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;IACtC,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,sBAAsB,OAAO,SAAS,OAAO,GAAG,CAAC,CAAC;IAChE,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,0BAA0B;IACxC,OAAO,IAAI,OAAO,CAAC,QAAQ,CAAC;SACzB,WAAW,CAAC,kBAAkB,CAAC;SAC/B,QAAQ,CAAC,WAAW,EAAE,sBAAsB,CAAC;SAC7C,QAAQ,CAAC,WAAW,EAAE,kBAAkB,CAAC;SACzC,MAAM,CAAC,UAAyB,OAAe,EAAE,OAAe;QAC/D,MAAM,UAAU,GAAG,mBAAmB,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC;QACrE,MAAM,MAAM,GAAG,aAAa,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QAC5C,MAAM,QAAQ,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;QACtC,IAAI,CAAC;YACH,gBAAgB,CAAC;gBACf,QAAQ;gBACR,OAAO;gBACP,OAAO;gBACP,IAAI,EAAE,UAAU,CAAC,IAAI,IAAI,KAAK;aAC/B,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,WAAW,CAAC,CAAC,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;QAClC,CAAC;gBAAS,CAAC;YACT,OAAO,CAAC,QAAQ,CAAC,CAAC;QACpB,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -2,6 +2,7 @@ import { Command } from 'commander';
2
2
  import { resolveDbPath } from '../../config.js';
3
3
  import { initializeDb, closeDb } from '../../db.js';
4
4
  import { CLIError, ExitCode, handleError } from '../../errors.js';
5
+ import { GlobalOptionsSchema } from '../../types.js';
5
6
  export function runProjectShow(options) {
6
7
  const { services, name, json } = options;
7
8
  const project = services.projectService.getProject(name);
@@ -60,7 +61,7 @@ export function createProjectShowCommand() {
60
61
  .description('Show project details')
61
62
  .argument('<name>', 'Project name')
62
63
  .action(function (name) {
63
- const globalOpts = this.optsWithGlobals();
64
+ const globalOpts = GlobalOptionsSchema.parse(this.optsWithGlobals());
64
65
  const dbPath = resolveDbPath(globalOpts.db);
65
66
  const services = initializeDb(dbPath);
66
67
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"show.js","sourceRoot":"","sources":["../../../src/commands/project/show.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"show.js","sourceRoot":"","sources":["../../../src/commands/project/show.ts"],"names":[],"mappings":"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"}