tabstax-cli 0.1.6 → 0.1.8
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 +308 -57
- package/dist/commands/ts.d.ts +9 -0
- package/dist/commands/ts.d.ts.map +1 -0
- package/dist/commands/ts.js +371 -0
- package/dist/commands/ts.js.map +1 -0
- package/dist/index.js +9 -0
- package/dist/index.js.map +1 -1
- package/dist/lib/api.d.ts +30 -0
- package/dist/lib/api.d.ts.map +1 -1
- package/dist/lib/api.js +137 -5
- package/dist/lib/api.js.map +1 -1
- package/dist/lib/output.d.ts.map +1 -1
- package/dist/lib/output.js +9 -3
- package/dist/lib/output.js.map +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -1,107 +1,358 @@
|
|
|
1
|
-
#
|
|
1
|
+
# hey — TabStax CLI
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
**Log what you're doing. See what the team is doing. Stay in flow.**
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
`hey` is the terminal interface for [TabStax](https://tabstax.app) — a lightweight command for individuals and teams to track next actions, breadcrumb decisions, and coordinate work without leaving the tools where the work actually happens: your shell, your editor, Claude Code, or a CI pipeline.
|
|
6
6
|
|
|
7
7
|
```bash
|
|
8
8
|
npm install -g tabstax-cli
|
|
9
9
|
```
|
|
10
10
|
|
|
11
|
-
|
|
11
|
+
Requires Node.js 18+ and a [TabStax account](https://tabstax.app).
|
|
12
12
|
|
|
13
|
-
|
|
14
|
-
# Login to your TabStax account
|
|
15
|
-
hey login
|
|
13
|
+
---
|
|
16
14
|
|
|
17
|
-
|
|
18
|
-
hey use "My Project"
|
|
15
|
+
## The idea
|
|
19
16
|
|
|
20
|
-
|
|
21
|
-
hey "Build the login page"
|
|
17
|
+
Most task tools pull you out of flow. You stop, switch to a browser, navigate, type something, switch back. Two minutes gone, context broken.
|
|
22
18
|
|
|
23
|
-
|
|
24
|
-
hey -x "Fixed the auth bug"
|
|
19
|
+
`hey` is one command. You're already in the terminal. Log the next thing, see the team board, mark something done — and you're back. Every action is synced to the [TabStax web app](https://dash.tabstax.app) and the browser extension, with your `@handle` attached, so the team always sees who's doing what without a standup.
|
|
25
20
|
|
|
26
|
-
|
|
27
|
-
|
|
21
|
+
**Works wherever you work:**
|
|
22
|
+
|
|
23
|
+
| Where | How |
|
|
24
|
+
|-------|-----|
|
|
25
|
+
| **Terminal** | `hey "message"` — one command, no context switch |
|
|
26
|
+
| **Claude Code** | Ask Claude to read `hey ls --all` and act on it |
|
|
27
|
+
| **Web app** | `dash.tabstax.app` — attention board with handle pills and filters |
|
|
28
|
+
| **Browser extension** | Start Here page per project, actions synced live |
|
|
29
|
+
| **CI / scripts** | Pipe failures, deploys, or events directly into a shared stax |
|
|
28
30
|
|
|
29
|
-
|
|
31
|
+
---
|
|
32
|
+
|
|
33
|
+
## Quick start
|
|
34
|
+
|
|
35
|
+
```bash
|
|
36
|
+
hey login
|
|
37
|
+
hey use "my-project"
|
|
38
|
+
hey "Fix the token refresh race condition"
|
|
39
|
+
hey ls
|
|
30
40
|
hey done 1
|
|
31
41
|
```
|
|
32
42
|
|
|
43
|
+
---
|
|
44
|
+
|
|
33
45
|
## Commands
|
|
34
46
|
|
|
35
|
-
###
|
|
47
|
+
### Add and complete actions
|
|
48
|
+
|
|
36
49
|
| Command | Description |
|
|
37
50
|
|---------|-------------|
|
|
38
|
-
| `hey "message"` | Add a next action |
|
|
39
|
-
| `hey -x "message"` |
|
|
40
|
-
| `hey done [n]` | Mark action #n as
|
|
51
|
+
| `hey "message"` | Add a next action to your current project |
|
|
52
|
+
| `hey -x "message"` | Log a breadcrumb — something you already did |
|
|
53
|
+
| `hey done [n]` | Mark action #n as done (default: first action) |
|
|
41
54
|
| `hey rm <n>` | Remove action #n |
|
|
42
|
-
| `hey edit <n> "text"` | Edit action #n
|
|
43
|
-
| `hey mv <from> <to>` |
|
|
55
|
+
| `hey edit <n> "text"` | Edit action #n |
|
|
56
|
+
| `hey mv <from> <to>` | Reorder: move action to a different position |
|
|
57
|
+
|
|
58
|
+
### See what's on
|
|
44
59
|
|
|
45
|
-
### Listing
|
|
46
60
|
| Command | Description |
|
|
47
61
|
|---------|-------------|
|
|
48
|
-
| `hey ls` | List actions for current project |
|
|
49
|
-
| `hey ls stax` |
|
|
50
|
-
| `hey ls --all` | Expanded
|
|
51
|
-
| `hey ls --done` |
|
|
62
|
+
| `hey ls` | List actions for the current project |
|
|
63
|
+
| `hey ls stax` | All your projects with priorities |
|
|
64
|
+
| `hey ls --all` | Expanded: top 3 actions per project |
|
|
65
|
+
| `hey ls --done` | Breadcrumbs — what's been completed |
|
|
66
|
+
| `hey ls -c 20` | Show up to 20 items |
|
|
67
|
+
|
|
68
|
+
### Projects and context
|
|
52
69
|
|
|
53
|
-
### Projects & Priority
|
|
54
70
|
| Command | Description |
|
|
55
71
|
|---------|-------------|
|
|
56
|
-
| `hey use <project>` |
|
|
57
|
-
| `hey
|
|
58
|
-
| `hey
|
|
72
|
+
| `hey use <project>` | Switch default project (fuzzy matched) |
|
|
73
|
+
| `hey which` | Show current project and logged-in user |
|
|
74
|
+
| `hey pri <project> <level>` | Set priority: `must` `should` `good` `meh` |
|
|
75
|
+
|
|
76
|
+
### Auth
|
|
59
77
|
|
|
60
|
-
### Authentication
|
|
61
78
|
| Command | Description |
|
|
62
79
|
|---------|-------------|
|
|
63
|
-
| `hey login` | Log in
|
|
80
|
+
| `hey login` | Log in (interactive, password masked) |
|
|
64
81
|
| `hey logout` | Log out |
|
|
65
|
-
| `hey whoami` | Show current user |
|
|
66
|
-
| `hey status` |
|
|
82
|
+
| `hey whoami` | Show current user and handle |
|
|
83
|
+
| `hey status` | Session and config summary |
|
|
67
84
|
|
|
68
|
-
|
|
85
|
+
---
|
|
69
86
|
|
|
70
|
-
|
|
71
|
-
- **Fuzzy project matching** - `hey use tab` matches "TabStax"
|
|
72
|
-
- **Priority icons** - ★ must, ◆ should, ○ good, · meh
|
|
73
|
-
- **Breadcrumbs** - Track what you've done, not just what's next
|
|
74
|
-
- **Syncs with extension** - Changes appear in TabStax browser extension instantly
|
|
87
|
+
## For individuals
|
|
75
88
|
|
|
76
|
-
|
|
89
|
+
### Daily dev flow
|
|
77
90
|
|
|
78
91
|
```bash
|
|
79
|
-
#
|
|
80
|
-
hey use "
|
|
81
|
-
hey
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
hey
|
|
92
|
+
# Morning: pick up exactly where you left off
|
|
93
|
+
hey use "backend-api"
|
|
94
|
+
hey ls
|
|
95
|
+
|
|
96
|
+
# Log as you go — one line, stay in the terminal
|
|
97
|
+
hey "Investigate N+1 query in /dashboard endpoint"
|
|
98
|
+
hey "Write test for edge case in token refresh"
|
|
99
|
+
hey -x "Fixed auth middleware — sessions now persist across restarts"
|
|
100
|
+
|
|
101
|
+
# End of day
|
|
102
|
+
hey ls --done
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
### Keeping a decision log
|
|
106
|
+
|
|
107
|
+
The `-x` flag is for breadcrumbs: things you *already did*, decisions made, or context you want to preserve. They appear in the **Start Here** page on the extension so future-you (or a teammate) can see why the project is in its current state.
|
|
108
|
+
|
|
109
|
+
```bash
|
|
110
|
+
hey -x "Decided against Redis for session cache — latency was fine without it"
|
|
111
|
+
hey -x "Upgraded to Postgres 16 — no breaking changes, pooler config updated"
|
|
112
|
+
hey -x "Deprioritised dark mode until v2 — product call on 2026-03-03"
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
---
|
|
116
|
+
|
|
117
|
+
## For teams — collaborative stax
|
|
118
|
+
|
|
119
|
+
Add collaborators to a stax and now all work is together in flow. No Jira board, no Notion page, no standup doc — just a shared list of what's next, updated in real time from wherever each person works. Excellent for high-velocity work where you're just building rapidly.
|
|
120
|
+
|
|
121
|
+
### How it works
|
|
122
|
+
|
|
123
|
+
1. Owner opens [dash.tabstax.app](https://dash.tabstax.app), finds the stax, and sets it to **Collaborative** from the share menu
|
|
124
|
+
2. Add collaborators by their `@handle` — they get access instantly
|
|
125
|
+
3. Each person runs `hey use <stax-name>` once
|
|
126
|
+
4. Everyone adds actions from wherever they work — terminal, Claude Code, CI scripts
|
|
127
|
+
5. The web app and Start Here page show each person's actions with a colour-coded handle pill
|
|
128
|
+
6. A filter bar lets anyone narrow by contributor in one click
|
|
129
|
+
|
|
130
|
+
```bash
|
|
131
|
+
# Join a team stax
|
|
132
|
+
hey use "sprint-47"
|
|
133
|
+
|
|
134
|
+
# Add your actions — they'll show up under your @handle
|
|
135
|
+
hey "Implement OAuth handshake"
|
|
136
|
+
hey "Write migration for invites table"
|
|
137
|
+
|
|
138
|
+
# Log what you shipped
|
|
139
|
+
hey -x "Deployed API gateway — load balanced across 3 nodes"
|
|
140
|
+
|
|
141
|
+
# See the full team board
|
|
85
142
|
hey ls
|
|
86
143
|
|
|
87
|
-
#
|
|
144
|
+
# Check all projects
|
|
88
145
|
hey ls stax
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
Every action is visible in real time on `dash.tabstax.app` — no standup needed to answer "what's everyone working on?"
|
|
149
|
+
|
|
150
|
+
### @handle attribution
|
|
151
|
+
|
|
152
|
+
Every action added via `hey` is tagged with your `@handle` (set when you create your TabStax account). In the web app and the extension Start Here page:
|
|
89
153
|
|
|
90
|
-
|
|
91
|
-
|
|
154
|
+
- Each action shows a **pastel @handle pill** to the right of the text
|
|
155
|
+
- Colour is consistent per person across all views and projects
|
|
156
|
+
- A **filter bar** lets you show one or more contributors' actions at a time
|
|
157
|
+
- Done actions can be shown or hidden independently
|
|
92
158
|
|
|
93
|
-
|
|
94
|
-
|
|
159
|
+
Check your handle:
|
|
160
|
+
|
|
161
|
+
```bash
|
|
162
|
+
hey whoami
|
|
95
163
|
```
|
|
96
164
|
|
|
97
|
-
|
|
165
|
+
---
|
|
166
|
+
|
|
167
|
+
## Team workflows
|
|
168
|
+
|
|
169
|
+
### Sprint coordination
|
|
170
|
+
|
|
171
|
+
```bash
|
|
172
|
+
# Sprint kickoff: team lead creates the stax, everyone joins once
|
|
173
|
+
hey use "sprint-47"
|
|
174
|
+
|
|
175
|
+
# During the sprint: add as you pick up work
|
|
176
|
+
hey "Implement dark mode toggle"
|
|
177
|
+
hey "Write unit tests for payment service"
|
|
178
|
+
|
|
179
|
+
# Mark done as you go — updates the board for everyone
|
|
180
|
+
hey done 1
|
|
181
|
+
|
|
182
|
+
# Sprint review: full breadcrumb trail of what shipped
|
|
183
|
+
hey ls --done
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
### Incident response
|
|
187
|
+
|
|
188
|
+
When something breaks, `hey` gives every responder a shared log so nothing gets lost between shifts or calls.
|
|
189
|
+
|
|
190
|
+
```bash
|
|
191
|
+
# Everyone joins the incident stax
|
|
192
|
+
hey use "incident-2026-03-03"
|
|
193
|
+
|
|
194
|
+
# Log what you're trying in real time
|
|
195
|
+
hey "Check database connection pool — seeing timeouts"
|
|
196
|
+
hey "Rolling restart of API pods"
|
|
197
|
+
hey -x "Confirmed: root cause was stale connection pool config"
|
|
198
|
+
hey done 1
|
|
199
|
+
|
|
200
|
+
# Hand off cleanly — full timeline is in the web app
|
|
201
|
+
hey ls --done -c 50
|
|
202
|
+
```
|
|
203
|
+
|
|
204
|
+
### AI agent governance
|
|
205
|
+
|
|
206
|
+
When multiple AI agents are running in parallel (Claude Code subagents, CI bots, automated pipelines), `hey` gives you a shared log of what each agent did. Point each agent at a shared stax and every action and decision is recorded with attribution.
|
|
207
|
+
|
|
208
|
+
```bash
|
|
209
|
+
# Each agent logs to the shared stax before and after major steps
|
|
210
|
+
hey -x "Agent:researcher — analysed 47 files, found 3 auth patterns"
|
|
211
|
+
hey -x "Agent:coder — implemented OAuth flow, 312 lines changed"
|
|
212
|
+
hey "Agent:tester — run contract tests before merge"
|
|
213
|
+
```
|
|
214
|
+
|
|
215
|
+
The web app shows the full timeline, colour-coded by agent, so a human reviewer can see exactly what happened and what still needs sign-off.
|
|
216
|
+
|
|
217
|
+
### Open source / research coordination
|
|
218
|
+
|
|
219
|
+
```bash
|
|
220
|
+
hey use "oss-backlog"
|
|
221
|
+
|
|
222
|
+
hey "Review PR #412 — new auth provider"
|
|
223
|
+
hey "Triage issues labelled good-first-issue"
|
|
224
|
+
hey -x "Merged PR #389 — storage quota fix"
|
|
225
|
+
```
|
|
226
|
+
|
|
227
|
+
### Why sharing is just "add collaborator"
|
|
228
|
+
|
|
229
|
+
Set up sharing from the dashboard at [dash.tabstax.app](https://dash.tabstax.app) — click the share icon on any stax, switch to Collaborative, and add team members by `@handle`. That's it. No invite links, no permissions matrix. The mental model is simple:
|
|
230
|
+
|
|
231
|
+
- **Your stax** = your project context (tabs + next actions)
|
|
232
|
+
- **Collaborative stax** = same thing, but the team can see and contribute
|
|
233
|
+
- **`hey` in terminal** = the fastest way to add to it
|
|
234
|
+
|
|
235
|
+
When you add a collaborator, they immediately see the stax on their attention board and can `hey use` it from the CLI. Actions flow in from all directions — one person in VS Code, another in Claude Code, a third on mobile — and everything merges into the same timeline with `@handle` attribution.
|
|
236
|
+
|
|
237
|
+
This is built for teams that ship fast and communicate through the work itself, not through status updates about the work.
|
|
238
|
+
|
|
239
|
+
---
|
|
240
|
+
|
|
241
|
+
## Timesheets
|
|
242
|
+
|
|
243
|
+
Track weekly hours from the terminal. Timesheets live at [time.tabstax.app](https://time.tabstax.app) and are also accessible via CLI.
|
|
244
|
+
|
|
245
|
+
### Commands
|
|
246
|
+
|
|
247
|
+
| Command | Description |
|
|
248
|
+
|---------|-------------|
|
|
249
|
+
| `hey ts` | View current week's timesheet |
|
|
250
|
+
| `hey ts 8` | Set Mon–Fri to 8h each |
|
|
251
|
+
| `hey ts wed 7.5` | Set single day hours |
|
|
252
|
+
| `hey ts mon=8 tue=7 fri=6` | Matrix input — multiple days at once |
|
|
253
|
+
| `hey ts submit` | Submit current week for approval |
|
|
254
|
+
| `hey ts reopen` | Reopen a submitted timesheet |
|
|
255
|
+
| `hey ts ls` | List past 8 weeks |
|
|
256
|
+
| `hey ts ls --all` | Full timesheet history |
|
|
257
|
+
|
|
258
|
+
### Flow
|
|
259
|
+
|
|
260
|
+
```bash
|
|
261
|
+
# Friday afternoon: log your week
|
|
262
|
+
hey ts 8 # 8h Mon-Fri
|
|
263
|
+
hey ts fri 6 # actually left early Friday
|
|
264
|
+
hey ts submit # done — shows up for admin approval
|
|
265
|
+
|
|
266
|
+
# Oops, forgot Thursday was a half day
|
|
267
|
+
hey ts reopen
|
|
268
|
+
hey ts thu 4
|
|
269
|
+
hey ts submit
|
|
270
|
+
```
|
|
271
|
+
|
|
272
|
+
Timesheets show evidence counts (actions logged per day) alongside hours — so approvers can see what was actually done, not just what was claimed.
|
|
273
|
+
|
|
274
|
+
---
|
|
275
|
+
|
|
276
|
+
## Claude Code integrations
|
|
277
|
+
|
|
278
|
+
`hey` + Claude Code turns your stax into a programmable task queue. Because `hey ls` outputs plain text, Claude can read, reason about, and act on it directly.
|
|
279
|
+
|
|
280
|
+
### Morning standup digest
|
|
281
|
+
|
|
282
|
+
```
|
|
283
|
+
Read my current stax using `hey ls --all` and write a short standup update
|
|
284
|
+
I can paste into Slack. Group by project, highlight the top action per project,
|
|
285
|
+
and flag anything that's been sitting for more than 3 days.
|
|
286
|
+
```
|
|
287
|
+
|
|
288
|
+
### Sprint health check
|
|
289
|
+
|
|
290
|
+
```
|
|
291
|
+
Run `hey ls stax` to see all my projects. For any project at 6+ actions out of 7
|
|
292
|
+
(near the limit), suggest which actions could be combined, deferred, or done first.
|
|
293
|
+
Output a prioritised plan.
|
|
294
|
+
```
|
|
295
|
+
|
|
296
|
+
### Incident post-mortem
|
|
297
|
+
|
|
298
|
+
```
|
|
299
|
+
The shared stax "incident-2026-03-03" has a full breadcrumb trail.
|
|
300
|
+
Run `hey ls --done -c 50` to get all completed actions.
|
|
301
|
+
Draft a post-mortem with timeline, root cause, and action items.
|
|
302
|
+
```
|
|
303
|
+
|
|
304
|
+
### Auto-log CI failures
|
|
305
|
+
|
|
306
|
+
```bash
|
|
307
|
+
# In your CI script — on test failure:
|
|
308
|
+
hey "CI failed: $(git log -1 --pretty='%s') — $(git rev-parse --short HEAD)"
|
|
309
|
+
```
|
|
310
|
+
|
|
311
|
+
```
|
|
312
|
+
Watch `hey ls` for actions containing "CI failed". For each one, look up
|
|
313
|
+
the commit, fetch the test output, and suggest a fix.
|
|
314
|
+
```
|
|
315
|
+
|
|
316
|
+
### End-of-week retrospective
|
|
317
|
+
|
|
318
|
+
```
|
|
319
|
+
Run `hey ls --done -c 100` across my top 3 stax. Summarise what shipped
|
|
320
|
+
this week, what's still in flight, and suggest 3 focus areas for next week
|
|
321
|
+
based on what's been sitting longest.
|
|
322
|
+
```
|
|
323
|
+
|
|
324
|
+
---
|
|
325
|
+
|
|
326
|
+
## Features
|
|
327
|
+
|
|
328
|
+
- **7-action limit per project** keeps lists focused and forces prioritisation (`--force` to bypass)
|
|
329
|
+
- **Fuzzy project matching** — `hey use tab` matches "TabStax Backend"
|
|
330
|
+
- **Priority icons** — ★ must · ◆ should · ○ good · · meh
|
|
331
|
+
- **Breadcrumbs** (`-x`) — log decisions and completed work, not just what's next
|
|
332
|
+
- **@handle attribution** — every action tagged to you; colour-coded pills in web + extension
|
|
333
|
+
- **Shared stax** — any team member can add to a collaborative stax; syncs in real time
|
|
334
|
+
- **Auto session refresh** — stays logged in across restarts; prompts cleanly on expiry
|
|
335
|
+
- **Works in CI/scripts** — no interactive mode required for adding actions
|
|
336
|
+
|
|
337
|
+
---
|
|
338
|
+
|
|
339
|
+
## Session management
|
|
340
|
+
|
|
341
|
+
Sessions use a long-lived refresh token and auto-refresh 5 minutes before expiry. You won't be interrupted mid-session. If your refresh token expires (7+ days of no use), you'll get a clear prompt to re-login.
|
|
342
|
+
|
|
343
|
+
```bash
|
|
344
|
+
hey login # interactive, password masked
|
|
345
|
+
hey whoami # check session state
|
|
346
|
+
hey status # full config + auth info
|
|
347
|
+
```
|
|
98
348
|
|
|
99
|
-
|
|
100
|
-
- TabStax account (free or paid)
|
|
349
|
+
---
|
|
101
350
|
|
|
102
351
|
## Links
|
|
103
352
|
|
|
104
|
-
- [TabStax
|
|
353
|
+
- [TabStax](https://tabstax.app)
|
|
354
|
+
- [Attention board](https://dash.tabstax.app)
|
|
355
|
+
- [Chrome Web Store](https://chromewebstore.google.com/detail/tabstax-pick-up-where-you/mjplcglfdelgdcoalbgechkeophncjmf)
|
|
105
356
|
- [GitHub](https://github.com/Hulupeep/tabstax)
|
|
106
357
|
- [Issues](https://github.com/Hulupeep/tabstax/issues)
|
|
107
358
|
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Timesheet commands for Hey CLI
|
|
3
|
+
* hey ts, hey ts <hours>, hey ts <day> <hours>, hey ts submit, hey ts reopen, hey ts ls
|
|
4
|
+
*/
|
|
5
|
+
export interface TsOptions {
|
|
6
|
+
all?: boolean;
|
|
7
|
+
}
|
|
8
|
+
export declare function ts(args: string[], options?: TsOptions): Promise<void>;
|
|
9
|
+
//# sourceMappingURL=ts.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ts.d.ts","sourceRoot":"","sources":["../../src/commands/ts.ts"],"names":[],"mappings":"AAAA;;;GAGG;AA0WH,MAAM,WAAW,SAAS;IACxB,GAAG,CAAC,EAAE,OAAO,CAAA;CACd;AAED,wBAAsB,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,OAAO,GAAE,SAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAqF/E"}
|
|
@@ -0,0 +1,371 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Timesheet commands for Hey CLI
|
|
3
|
+
* hey ts, hey ts <hours>, hey ts <day> <hours>, hey ts submit, hey ts reopen, hey ts ls
|
|
4
|
+
*/
|
|
5
|
+
import { createInterface } from 'readline';
|
|
6
|
+
import chalk from 'chalk';
|
|
7
|
+
import { config } from '../lib/config.js';
|
|
8
|
+
import { api } from '../lib/api.js';
|
|
9
|
+
import { printError, printSuccess, printInfo, printWarning } from '../lib/output.js';
|
|
10
|
+
// ---------------------------------------------------------------------------
|
|
11
|
+
// Helpers
|
|
12
|
+
// ---------------------------------------------------------------------------
|
|
13
|
+
const DAY_NAMES = ['mon', 'tue', 'wed', 'thu', 'fri', 'sat', 'sun'];
|
|
14
|
+
const DAY_LABELS = {
|
|
15
|
+
mon: 'Mon', tue: 'Tue', wed: 'Wed', thu: 'Thu', fri: 'Fri', sat: 'Sat', sun: 'Sun',
|
|
16
|
+
};
|
|
17
|
+
/** ISO day-of-week: Mon=1 ... Sun=7 */
|
|
18
|
+
const DAY_ISO_OFFSET = {
|
|
19
|
+
mon: 0, tue: 1, wed: 2, thu: 3, fri: 4, sat: 5, sun: 6,
|
|
20
|
+
};
|
|
21
|
+
function requireAuth() {
|
|
22
|
+
if (!config.isAuthenticated()) {
|
|
23
|
+
printError('Not logged in. Run: hey login');
|
|
24
|
+
process.exit(1);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
async function requireProPlan() {
|
|
28
|
+
const plan = await api.getUserPlan();
|
|
29
|
+
if (plan === 'free') {
|
|
30
|
+
printError('Timesheets requires a Pro plan');
|
|
31
|
+
printInfo('Upgrade at https://tabstax.app to unlock timesheets');
|
|
32
|
+
process.exit(1);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
function getISOMonday(date = new Date()) {
|
|
36
|
+
const d = new Date(date);
|
|
37
|
+
const day = d.getDay(); // 0=Sun ... 6=Sat
|
|
38
|
+
const diff = day === 0 ? -6 : 1 - day;
|
|
39
|
+
d.setDate(d.getDate() + diff);
|
|
40
|
+
return formatDate(d);
|
|
41
|
+
}
|
|
42
|
+
function formatDate(d) {
|
|
43
|
+
return d.toISOString().slice(0, 10);
|
|
44
|
+
}
|
|
45
|
+
function addDays(dateStr, n) {
|
|
46
|
+
const d = new Date(dateStr + 'T00:00:00Z');
|
|
47
|
+
d.setUTCDate(d.getUTCDate() + n);
|
|
48
|
+
return d.toISOString().slice(0, 10);
|
|
49
|
+
}
|
|
50
|
+
function formatWeekRange(monday) {
|
|
51
|
+
const fri = addDays(monday, 4);
|
|
52
|
+
const monDate = new Date(monday + 'T00:00:00Z');
|
|
53
|
+
const friDate = new Date(fri + 'T00:00:00Z');
|
|
54
|
+
const monStr = monDate.toLocaleDateString('en-US', { month: 'short', day: 'numeric', timeZone: 'UTC' });
|
|
55
|
+
const friStr = friDate.toLocaleDateString('en-US', { month: 'short', day: 'numeric', timeZone: 'UTC' });
|
|
56
|
+
return `${monStr} - ${friStr}`;
|
|
57
|
+
}
|
|
58
|
+
function parseDayName(input) {
|
|
59
|
+
const lower = input.toLowerCase();
|
|
60
|
+
return DAY_NAMES.includes(lower) ? lower : null;
|
|
61
|
+
}
|
|
62
|
+
function validateHours(value) {
|
|
63
|
+
return !isNaN(value) && value >= 0 && value <= 24;
|
|
64
|
+
}
|
|
65
|
+
function buildDayMap(days) {
|
|
66
|
+
const map = {};
|
|
67
|
+
for (const d of days) {
|
|
68
|
+
map[d.date] = d.hours;
|
|
69
|
+
}
|
|
70
|
+
return map;
|
|
71
|
+
}
|
|
72
|
+
async function confirm(question) {
|
|
73
|
+
return new Promise((resolve) => {
|
|
74
|
+
const rl = createInterface({ input: process.stdin, output: process.stdout });
|
|
75
|
+
rl.question(question, (answer) => {
|
|
76
|
+
rl.close();
|
|
77
|
+
resolve(answer.trim().toLowerCase() === 'y');
|
|
78
|
+
});
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
function statusColor(status) {
|
|
82
|
+
switch (status) {
|
|
83
|
+
case 'draft': return chalk.yellow;
|
|
84
|
+
case 'submitted': return chalk.blue;
|
|
85
|
+
case 'approved': return chalk.green;
|
|
86
|
+
case 'paid': return chalk.green.bold;
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
function statusLabel(status) {
|
|
90
|
+
return statusColor(status)(status.charAt(0).toUpperCase() + status.slice(1));
|
|
91
|
+
}
|
|
92
|
+
function guardEditable(sheet) {
|
|
93
|
+
if (sheet.status !== 'draft') {
|
|
94
|
+
printError(`Cannot edit a ${sheet.status} timesheet. Reopen it first: hey ts reopen`);
|
|
95
|
+
process.exit(1);
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
// ---------------------------------------------------------------------------
|
|
99
|
+
// Display: hey ts (view current week)
|
|
100
|
+
// ---------------------------------------------------------------------------
|
|
101
|
+
async function viewCurrentWeek() {
|
|
102
|
+
const monday = getISOMonday();
|
|
103
|
+
const sheet = await api.getOrCreateTimesheet(monday);
|
|
104
|
+
const days = await api.getTimesheetDays(sheet.id);
|
|
105
|
+
const dayMap = buildDayMap(days);
|
|
106
|
+
const auth = config.getAuth();
|
|
107
|
+
const sunday = addDays(monday, 6);
|
|
108
|
+
const evidence = await api.getEvidenceCounts(auth.userId, monday, sunday);
|
|
109
|
+
console.log();
|
|
110
|
+
console.log(chalk.bold(`Timesheet: ${formatWeekRange(monday)}`));
|
|
111
|
+
console.log(chalk.gray(`Status: `) + statusLabel(sheet.status));
|
|
112
|
+
console.log();
|
|
113
|
+
// Header row
|
|
114
|
+
const headerCols = DAY_NAMES.map((d) => DAY_LABELS[d].padStart(6));
|
|
115
|
+
console.log(chalk.gray(' ') + headerCols.join(' '));
|
|
116
|
+
// Hours row
|
|
117
|
+
const hoursCols = DAY_NAMES.map((d) => {
|
|
118
|
+
const date = addDays(monday, DAY_ISO_OFFSET[d]);
|
|
119
|
+
const h = dayMap[date];
|
|
120
|
+
const val = h !== undefined && h > 0 ? String(h) : '\u2014';
|
|
121
|
+
return val.padStart(6);
|
|
122
|
+
});
|
|
123
|
+
console.log(chalk.gray(' Hours ') + hoursCols.join(' '));
|
|
124
|
+
// Evidence row
|
|
125
|
+
const evidenceCols = DAY_NAMES.map((d) => {
|
|
126
|
+
const date = addDays(monday, DAY_ISO_OFFSET[d]);
|
|
127
|
+
const count = evidence[date] ?? 0;
|
|
128
|
+
const val = count > 0 ? chalk.gray(`${count} ev`) : '';
|
|
129
|
+
return val.padStart(6);
|
|
130
|
+
});
|
|
131
|
+
console.log(chalk.gray(' Events ') + evidenceCols.join(' '));
|
|
132
|
+
// Total
|
|
133
|
+
const total = Object.values(dayMap).reduce((sum, h) => sum + h, 0);
|
|
134
|
+
console.log();
|
|
135
|
+
console.log(chalk.bold(` Total: ${total}h`));
|
|
136
|
+
// Missing weekdays warning
|
|
137
|
+
const weekdays = ['mon', 'tue', 'wed', 'thu', 'fri'];
|
|
138
|
+
const missing = weekdays.filter((d) => {
|
|
139
|
+
const date = addDays(monday, DAY_ISO_OFFSET[d]);
|
|
140
|
+
return !dayMap[date] || dayMap[date] === 0;
|
|
141
|
+
});
|
|
142
|
+
if (missing.length > 0 && sheet.status === 'draft') {
|
|
143
|
+
console.log();
|
|
144
|
+
printWarning(`Missing hours for: ${missing.map((d) => DAY_LABELS[d]).join(', ')}`);
|
|
145
|
+
}
|
|
146
|
+
console.log();
|
|
147
|
+
}
|
|
148
|
+
// ---------------------------------------------------------------------------
|
|
149
|
+
// Bulk set: hey ts 8
|
|
150
|
+
// ---------------------------------------------------------------------------
|
|
151
|
+
async function bulkSet(hours) {
|
|
152
|
+
if (!validateHours(hours)) {
|
|
153
|
+
printError(`Invalid hours: ${hours}. Must be between 0 and 24.`);
|
|
154
|
+
process.exit(1);
|
|
155
|
+
}
|
|
156
|
+
const monday = getISOMonday();
|
|
157
|
+
const sheet = await api.getOrCreateTimesheet(monday);
|
|
158
|
+
guardEditable(sheet);
|
|
159
|
+
const weekdays = ['mon', 'tue', 'wed', 'thu', 'fri'];
|
|
160
|
+
const summary = weekdays.map((d) => `${DAY_LABELS[d]}=${hours}h`).join(', ');
|
|
161
|
+
console.log();
|
|
162
|
+
console.log(`Set ${formatWeekRange(monday)}: ${summary}`);
|
|
163
|
+
const ok = await confirm('Confirm? (y/n) ');
|
|
164
|
+
if (!ok) {
|
|
165
|
+
printInfo('Cancelled');
|
|
166
|
+
return;
|
|
167
|
+
}
|
|
168
|
+
for (const d of weekdays) {
|
|
169
|
+
const date = addDays(monday, DAY_ISO_OFFSET[d]);
|
|
170
|
+
await api.setTimesheetHours(sheet.id, date, hours);
|
|
171
|
+
}
|
|
172
|
+
printSuccess(`Set Mon-Fri to ${hours}h each (${hours * 5}h total)`);
|
|
173
|
+
}
|
|
174
|
+
// ---------------------------------------------------------------------------
|
|
175
|
+
// Single day: hey ts wed 7.5
|
|
176
|
+
// ---------------------------------------------------------------------------
|
|
177
|
+
async function setSingleDay(dayName, hours) {
|
|
178
|
+
if (!validateHours(hours)) {
|
|
179
|
+
printError(`Invalid hours: ${hours}. Must be between 0 and 24.`);
|
|
180
|
+
process.exit(1);
|
|
181
|
+
}
|
|
182
|
+
const monday = getISOMonday();
|
|
183
|
+
const sheet = await api.getOrCreateTimesheet(monday);
|
|
184
|
+
guardEditable(sheet);
|
|
185
|
+
const date = addDays(monday, DAY_ISO_OFFSET[dayName]);
|
|
186
|
+
await api.setTimesheetHours(sheet.id, date, hours);
|
|
187
|
+
printSuccess(`${DAY_LABELS[dayName]} ${date} set to ${hours}h`);
|
|
188
|
+
}
|
|
189
|
+
// ---------------------------------------------------------------------------
|
|
190
|
+
// Matrix: hey ts mon=8 tue=8 ...
|
|
191
|
+
// ---------------------------------------------------------------------------
|
|
192
|
+
async function matrixSet(pairs) {
|
|
193
|
+
const monday = getISOMonday();
|
|
194
|
+
const sheet = await api.getOrCreateTimesheet(monday);
|
|
195
|
+
guardEditable(sheet);
|
|
196
|
+
for (const { day, hours } of pairs) {
|
|
197
|
+
if (!validateHours(hours)) {
|
|
198
|
+
printError(`Invalid hours for ${DAY_LABELS[day]}: ${hours}. Must be between 0 and 24.`);
|
|
199
|
+
process.exit(1);
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
for (const { day, hours } of pairs) {
|
|
203
|
+
const date = addDays(monday, DAY_ISO_OFFSET[day]);
|
|
204
|
+
await api.setTimesheetHours(sheet.id, date, hours);
|
|
205
|
+
}
|
|
206
|
+
const summary = pairs.map((p) => `${DAY_LABELS[p.day]}=${p.hours}h`).join(', ');
|
|
207
|
+
printSuccess(`Set ${summary}`);
|
|
208
|
+
}
|
|
209
|
+
// ---------------------------------------------------------------------------
|
|
210
|
+
// Submit: hey ts submit
|
|
211
|
+
// ---------------------------------------------------------------------------
|
|
212
|
+
async function submitSheet() {
|
|
213
|
+
const monday = getISOMonday();
|
|
214
|
+
const sheet = await api.getOrCreateTimesheet(monday);
|
|
215
|
+
if (sheet.status === 'submitted') {
|
|
216
|
+
printInfo('Timesheet is already submitted');
|
|
217
|
+
return;
|
|
218
|
+
}
|
|
219
|
+
if (sheet.status === 'approved' || sheet.status === 'paid') {
|
|
220
|
+
printError(`Cannot submit: timesheet is already ${sheet.status}`);
|
|
221
|
+
process.exit(1);
|
|
222
|
+
}
|
|
223
|
+
const days = await api.getTimesheetDays(sheet.id);
|
|
224
|
+
const total = days.reduce((sum, d) => sum + d.hours, 0);
|
|
225
|
+
if (total === 0) {
|
|
226
|
+
printError('Cannot submit: no hours logged');
|
|
227
|
+
process.exit(1);
|
|
228
|
+
}
|
|
229
|
+
console.log();
|
|
230
|
+
console.log(chalk.bold(`Submit timesheet: ${formatWeekRange(monday)}`));
|
|
231
|
+
console.log(` Total: ${total}h across ${days.length} days`);
|
|
232
|
+
console.log();
|
|
233
|
+
const ok = await confirm('Submit? (y/n) ');
|
|
234
|
+
if (!ok) {
|
|
235
|
+
printInfo('Cancelled');
|
|
236
|
+
return;
|
|
237
|
+
}
|
|
238
|
+
await api.submitTimesheet(sheet.id);
|
|
239
|
+
printSuccess(`Timesheet submitted (${total}h)`);
|
|
240
|
+
}
|
|
241
|
+
// ---------------------------------------------------------------------------
|
|
242
|
+
// Reopen: hey ts reopen
|
|
243
|
+
// ---------------------------------------------------------------------------
|
|
244
|
+
async function reopenSheet() {
|
|
245
|
+
const monday = getISOMonday();
|
|
246
|
+
const sheet = await api.getOrCreateTimesheet(monday);
|
|
247
|
+
if (sheet.status === 'draft') {
|
|
248
|
+
printInfo('Timesheet is already a draft');
|
|
249
|
+
return;
|
|
250
|
+
}
|
|
251
|
+
if (sheet.status === 'approved' || sheet.status === 'paid') {
|
|
252
|
+
printError(`Cannot reopen: timesheet is ${sheet.status}`);
|
|
253
|
+
process.exit(1);
|
|
254
|
+
}
|
|
255
|
+
await api.reopenTimesheet(sheet.id);
|
|
256
|
+
printSuccess('Timesheet reopened as draft');
|
|
257
|
+
}
|
|
258
|
+
// ---------------------------------------------------------------------------
|
|
259
|
+
// List: hey ts ls
|
|
260
|
+
// ---------------------------------------------------------------------------
|
|
261
|
+
async function listSheets(all) {
|
|
262
|
+
const limit = all ? undefined : 8;
|
|
263
|
+
const sheets = await api.listTimesheets(limit);
|
|
264
|
+
if (sheets.length === 0) {
|
|
265
|
+
printInfo('No timesheets found');
|
|
266
|
+
return;
|
|
267
|
+
}
|
|
268
|
+
console.log();
|
|
269
|
+
console.log(chalk.bold('Timesheets'));
|
|
270
|
+
console.log();
|
|
271
|
+
// Header
|
|
272
|
+
console.log(chalk.gray(' Week'.padEnd(24)) +
|
|
273
|
+
chalk.gray('Hours'.padStart(7)) +
|
|
274
|
+
chalk.gray(' Status'));
|
|
275
|
+
console.log(chalk.gray(' ' + '\u2500'.repeat(42)));
|
|
276
|
+
for (const sheet of sheets) {
|
|
277
|
+
const days = await api.getTimesheetDays(sheet.id);
|
|
278
|
+
const total = days.reduce((sum, d) => sum + d.hours, 0);
|
|
279
|
+
const range = formatWeekRange(sheet.week_start_date);
|
|
280
|
+
const line = ` ${range.padEnd(22)}` +
|
|
281
|
+
`${(total > 0 ? `${total}h` : '\u2014').padStart(7)}` +
|
|
282
|
+
` ${statusLabel(sheet.status)}`;
|
|
283
|
+
console.log(line);
|
|
284
|
+
}
|
|
285
|
+
console.log();
|
|
286
|
+
if (!all && sheets.length === 8) {
|
|
287
|
+
printInfo('Showing last 8 weeks. Use --all for full history.');
|
|
288
|
+
}
|
|
289
|
+
}
|
|
290
|
+
export async function ts(args, options = {}) {
|
|
291
|
+
requireAuth();
|
|
292
|
+
try {
|
|
293
|
+
await requireProPlan();
|
|
294
|
+
// No args: view current week
|
|
295
|
+
if (args.length === 0) {
|
|
296
|
+
await viewCurrentWeek();
|
|
297
|
+
return;
|
|
298
|
+
}
|
|
299
|
+
const first = args[0];
|
|
300
|
+
// hey ts submit
|
|
301
|
+
if (first === 'submit') {
|
|
302
|
+
await submitSheet();
|
|
303
|
+
return;
|
|
304
|
+
}
|
|
305
|
+
// hey ts reopen
|
|
306
|
+
if (first === 'reopen') {
|
|
307
|
+
await reopenSheet();
|
|
308
|
+
return;
|
|
309
|
+
}
|
|
310
|
+
// hey ts ls [--all]
|
|
311
|
+
if (first === 'ls') {
|
|
312
|
+
await listSheets(!!options.all);
|
|
313
|
+
return;
|
|
314
|
+
}
|
|
315
|
+
// hey ts <number> (bulk set)
|
|
316
|
+
const bulkHours = parseFloat(first);
|
|
317
|
+
if (args.length === 1 && !isNaN(bulkHours) && !parseDayName(first)) {
|
|
318
|
+
await bulkSet(bulkHours);
|
|
319
|
+
return;
|
|
320
|
+
}
|
|
321
|
+
// hey ts <day> <hours> (single day)
|
|
322
|
+
if (args.length === 2) {
|
|
323
|
+
const day = parseDayName(first);
|
|
324
|
+
const hours = parseFloat(args[1]);
|
|
325
|
+
if (day && !isNaN(hours)) {
|
|
326
|
+
await setSingleDay(day, hours);
|
|
327
|
+
return;
|
|
328
|
+
}
|
|
329
|
+
}
|
|
330
|
+
// hey ts mon=8 tue=8 ... (matrix)
|
|
331
|
+
const matrixPairs = [];
|
|
332
|
+
let isMatrix = true;
|
|
333
|
+
for (const arg of args) {
|
|
334
|
+
const match = arg.match(/^(\w{3})=(.+)$/);
|
|
335
|
+
if (!match) {
|
|
336
|
+
isMatrix = false;
|
|
337
|
+
break;
|
|
338
|
+
}
|
|
339
|
+
const day = parseDayName(match[1]);
|
|
340
|
+
const hours = parseFloat(match[2]);
|
|
341
|
+
if (!day || isNaN(hours)) {
|
|
342
|
+
isMatrix = false;
|
|
343
|
+
break;
|
|
344
|
+
}
|
|
345
|
+
matrixPairs.push({ day, hours });
|
|
346
|
+
}
|
|
347
|
+
if (isMatrix && matrixPairs.length > 0) {
|
|
348
|
+
await matrixSet(matrixPairs);
|
|
349
|
+
return;
|
|
350
|
+
}
|
|
351
|
+
// Unknown
|
|
352
|
+
printError(`Unknown timesheet command: ${args.join(' ')}`);
|
|
353
|
+
console.log();
|
|
354
|
+
console.log('Usage:');
|
|
355
|
+
console.log(' hey ts View current week');
|
|
356
|
+
console.log(' hey ts 8 Set Mon-Fri to 8h each');
|
|
357
|
+
console.log(' hey ts wed 7.5 Set single day hours');
|
|
358
|
+
console.log(' hey ts mon=8 tue=8 Matrix input');
|
|
359
|
+
console.log(' hey ts submit Submit current week');
|
|
360
|
+
console.log(' hey ts reopen Reopen submitted sheet');
|
|
361
|
+
console.log(' hey ts ls List past weeks');
|
|
362
|
+
console.log(' hey ts ls --all List all history');
|
|
363
|
+
process.exit(1);
|
|
364
|
+
}
|
|
365
|
+
catch (error) {
|
|
366
|
+
const message = error instanceof Error ? error.message : 'Timesheet command failed';
|
|
367
|
+
printError(message);
|
|
368
|
+
process.exit(1);
|
|
369
|
+
}
|
|
370
|
+
}
|
|
371
|
+
//# sourceMappingURL=ts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ts.js","sourceRoot":"","sources":["../../src/commands/ts.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -13,6 +13,7 @@ import { done, doneFirst } from './commands/done.js';
|
|
|
13
13
|
import { remove } from './commands/remove.js';
|
|
14
14
|
import { edit, priority, move } from './commands/edit.js';
|
|
15
15
|
import { use, which } from './commands/context.js';
|
|
16
|
+
import { ts } from './commands/ts.js';
|
|
16
17
|
const program = new Command();
|
|
17
18
|
program
|
|
18
19
|
.name('hey')
|
|
@@ -119,6 +120,14 @@ program
|
|
|
119
120
|
.command('which')
|
|
120
121
|
.description('Show current context')
|
|
121
122
|
.action(which);
|
|
123
|
+
// hey ts [args...]
|
|
124
|
+
program
|
|
125
|
+
.command('ts [args...]')
|
|
126
|
+
.description('Timesheet: view, log hours, submit, list')
|
|
127
|
+
.option('-a, --all', 'Show full history (with ls)')
|
|
128
|
+
.action(async (args, options) => {
|
|
129
|
+
await ts(args, options);
|
|
130
|
+
});
|
|
122
131
|
// Auto-refresh expired session before running any command
|
|
123
132
|
// Skip for auth commands that don't need a valid session
|
|
124
133
|
const authCommands = new Set(['login', 'logout', 'help', '--help', '-h', '--version', '-V']);
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AACxC,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAA;AAClC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAClE,OAAO,EAAE,IAAI,EAAoB,MAAM,oBAAoB,CAAA;AAC3D,OAAO,EAAE,GAAG,EAAmB,MAAM,mBAAmB,CAAA;AACxD,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAC7C,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAA;AACzD,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/api.d.ts
CHANGED
|
@@ -25,6 +25,26 @@ export interface NextAction {
|
|
|
25
25
|
completed_at?: string | null;
|
|
26
26
|
completed_by?: string | null;
|
|
27
27
|
cli_context?: Record<string, unknown> | null;
|
|
28
|
+
assigned_to_handle?: string | null;
|
|
29
|
+
created_by?: string | null;
|
|
30
|
+
created_by_handle?: string | null;
|
|
31
|
+
}
|
|
32
|
+
export interface Timesheet {
|
|
33
|
+
id: string;
|
|
34
|
+
user_id: string;
|
|
35
|
+
week_start_date: string;
|
|
36
|
+
status: 'draft' | 'submitted' | 'approved' | 'paid';
|
|
37
|
+
submitted_at?: string;
|
|
38
|
+
approved_at?: string;
|
|
39
|
+
paid_at?: string;
|
|
40
|
+
paid_by?: string;
|
|
41
|
+
created_at: string;
|
|
42
|
+
}
|
|
43
|
+
export interface TimesheetDay {
|
|
44
|
+
id: string;
|
|
45
|
+
timesheet_id: string;
|
|
46
|
+
date: string;
|
|
47
|
+
hours: number;
|
|
28
48
|
}
|
|
29
49
|
export interface AttentionBlock {
|
|
30
50
|
id: string;
|
|
@@ -64,6 +84,16 @@ declare class ApiClient {
|
|
|
64
84
|
getAttentionBlock(staxId: string): Promise<AttentionBlock | null>;
|
|
65
85
|
setAttentionBlock(staxId: string, priority: 'must' | 'should' | 'good' | 'meh'): Promise<AttentionBlock>;
|
|
66
86
|
getStaxWithActions(): Promise<StaxWithActions[]>;
|
|
87
|
+
getUserPlan(): Promise<string>;
|
|
88
|
+
getOrCreateTimesheet(weekStartDate: string): Promise<Timesheet>;
|
|
89
|
+
getTimesheetDays(timesheetId: string): Promise<TimesheetDay[]>;
|
|
90
|
+
setTimesheetHours(timesheetId: string, date: string, hours: number): Promise<void>;
|
|
91
|
+
submitTimesheet(timesheetId: string): Promise<void>;
|
|
92
|
+
reopenTimesheet(timesheetId: string): Promise<void>;
|
|
93
|
+
listTimesheets(limit?: number): Promise<Timesheet[]>;
|
|
94
|
+
getEvidenceCounts(userId: string, startDate: string, endDate: string): Promise<Record<string, number>>;
|
|
95
|
+
/** Resolve created_by UUIDs to handles via profiles table */
|
|
96
|
+
private resolveHandles;
|
|
67
97
|
private updateStaxActivity;
|
|
68
98
|
}
|
|
69
99
|
export declare const api: ApiClient;
|
package/dist/lib/api.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/lib/api.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,MAAM,WAAW,IAAI;IACnB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,EAAE,CAAA;IACd,SAAS,EAAE,OAAO,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAC1B;AAED,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAA;IACV,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,OAAO,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,MAAM,CAAA;IAClB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAA;
|
|
1
|
+
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/lib/api.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/api.js
CHANGED
|
@@ -150,30 +150,32 @@ class ApiClient {
|
|
|
150
150
|
async getActions(staxId, includeCompleted = false) {
|
|
151
151
|
let query = this.getClient()
|
|
152
152
|
.from('next_actions')
|
|
153
|
-
.select('
|
|
153
|
+
.select('*, assigned_to_handle, created_by')
|
|
154
154
|
.eq('stax_id', staxId)
|
|
155
|
-
.order('
|
|
155
|
+
.order('created_at', { ascending: false });
|
|
156
156
|
if (!includeCompleted) {
|
|
157
157
|
query = query.eq('done', false);
|
|
158
158
|
}
|
|
159
159
|
const { data, error } = await query;
|
|
160
160
|
if (error)
|
|
161
161
|
throw new Error(`Failed to fetch actions: ${error.message}`);
|
|
162
|
-
|
|
162
|
+
const actions = data ?? [];
|
|
163
|
+
return this.resolveHandles(actions);
|
|
163
164
|
}
|
|
164
165
|
async getRecentBreadcrumbs(staxId, days = 7) {
|
|
165
166
|
const cutoff = new Date();
|
|
166
167
|
cutoff.setDate(cutoff.getDate() - days);
|
|
167
168
|
const { data, error } = await this.getClient()
|
|
168
169
|
.from('next_actions')
|
|
169
|
-
.select('
|
|
170
|
+
.select('*, assigned_to_handle, created_by')
|
|
170
171
|
.eq('stax_id', staxId)
|
|
171
172
|
.eq('done', true)
|
|
172
173
|
.gte('completed_at', cutoff.toISOString())
|
|
173
174
|
.order('completed_at', { ascending: false });
|
|
174
175
|
if (error)
|
|
175
176
|
throw new Error(`Failed to fetch breadcrumbs: ${error.message}`);
|
|
176
|
-
|
|
177
|
+
const actions = data ?? [];
|
|
178
|
+
return this.resolveHandles(actions);
|
|
177
179
|
}
|
|
178
180
|
async addAction(staxId, content, isCompleted = false) {
|
|
179
181
|
const auth = config.getAuth();
|
|
@@ -331,6 +333,136 @@ class ApiClient {
|
|
|
331
333
|
}
|
|
332
334
|
return results;
|
|
333
335
|
}
|
|
336
|
+
// User plan
|
|
337
|
+
async getUserPlan() {
|
|
338
|
+
const auth = config.getAuth();
|
|
339
|
+
if (!auth.userId)
|
|
340
|
+
throw new Error('Not authenticated');
|
|
341
|
+
const { data, error } = await this.getClient()
|
|
342
|
+
.from('profiles')
|
|
343
|
+
.select('plan_type')
|
|
344
|
+
.eq('auth_uid', auth.userId)
|
|
345
|
+
.maybeSingle();
|
|
346
|
+
if (error)
|
|
347
|
+
throw new Error(`Failed to fetch plan: ${error.message}`);
|
|
348
|
+
return data?.plan_type ?? 'free';
|
|
349
|
+
}
|
|
350
|
+
// Timesheet methods
|
|
351
|
+
async getOrCreateTimesheet(weekStartDate) {
|
|
352
|
+
const auth = config.getAuth();
|
|
353
|
+
if (!auth.userId)
|
|
354
|
+
throw new Error('Not authenticated');
|
|
355
|
+
// Try to find existing
|
|
356
|
+
const { data: existing, error: findError } = await this.getClient()
|
|
357
|
+
.from('timesheets')
|
|
358
|
+
.select('*')
|
|
359
|
+
.eq('user_id', auth.userId)
|
|
360
|
+
.eq('week_start_date', weekStartDate)
|
|
361
|
+
.maybeSingle();
|
|
362
|
+
if (findError)
|
|
363
|
+
throw new Error(`Failed to fetch timesheet: ${findError.message}`);
|
|
364
|
+
if (existing)
|
|
365
|
+
return existing;
|
|
366
|
+
// Create new
|
|
367
|
+
const { data, error } = await this.getClient()
|
|
368
|
+
.from('timesheets')
|
|
369
|
+
.insert({ user_id: auth.userId, week_start_date: weekStartDate, status: 'draft' })
|
|
370
|
+
.select()
|
|
371
|
+
.single();
|
|
372
|
+
if (error)
|
|
373
|
+
throw new Error(`Failed to create timesheet: ${error.message}`);
|
|
374
|
+
return data;
|
|
375
|
+
}
|
|
376
|
+
async getTimesheetDays(timesheetId) {
|
|
377
|
+
const { data, error } = await this.getClient()
|
|
378
|
+
.from('timesheet_days')
|
|
379
|
+
.select('*')
|
|
380
|
+
.eq('timesheet_id', timesheetId)
|
|
381
|
+
.order('date', { ascending: true });
|
|
382
|
+
if (error)
|
|
383
|
+
throw new Error(`Failed to fetch timesheet days: ${error.message}`);
|
|
384
|
+
return data ?? [];
|
|
385
|
+
}
|
|
386
|
+
async setTimesheetHours(timesheetId, date, hours) {
|
|
387
|
+
// Upsert: insert or update
|
|
388
|
+
const { error } = await this.getClient()
|
|
389
|
+
.from('timesheet_days')
|
|
390
|
+
.upsert({ timesheet_id: timesheetId, date, hours }, { onConflict: 'timesheet_id,date' });
|
|
391
|
+
if (error)
|
|
392
|
+
throw new Error(`Failed to set hours: ${error.message}`);
|
|
393
|
+
}
|
|
394
|
+
async submitTimesheet(timesheetId) {
|
|
395
|
+
const { error } = await this.getClient()
|
|
396
|
+
.from('timesheets')
|
|
397
|
+
.update({ status: 'submitted', submitted_at: new Date().toISOString() })
|
|
398
|
+
.eq('id', timesheetId);
|
|
399
|
+
if (error)
|
|
400
|
+
throw new Error(`Failed to submit timesheet: ${error.message}`);
|
|
401
|
+
}
|
|
402
|
+
async reopenTimesheet(timesheetId) {
|
|
403
|
+
const { error } = await this.getClient()
|
|
404
|
+
.from('timesheets')
|
|
405
|
+
.update({ status: 'draft', submitted_at: null })
|
|
406
|
+
.eq('id', timesheetId);
|
|
407
|
+
if (error)
|
|
408
|
+
throw new Error(`Failed to reopen timesheet: ${error.message}`);
|
|
409
|
+
}
|
|
410
|
+
async listTimesheets(limit) {
|
|
411
|
+
const auth = config.getAuth();
|
|
412
|
+
if (!auth.userId)
|
|
413
|
+
throw new Error('Not authenticated');
|
|
414
|
+
let query = this.getClient()
|
|
415
|
+
.from('timesheets')
|
|
416
|
+
.select('*')
|
|
417
|
+
.eq('user_id', auth.userId)
|
|
418
|
+
.order('week_start_date', { ascending: false });
|
|
419
|
+
if (limit) {
|
|
420
|
+
query = query.limit(limit);
|
|
421
|
+
}
|
|
422
|
+
const { data, error } = await query;
|
|
423
|
+
if (error)
|
|
424
|
+
throw new Error(`Failed to list timesheets: ${error.message}`);
|
|
425
|
+
return data ?? [];
|
|
426
|
+
}
|
|
427
|
+
async getEvidenceCounts(userId, startDate, endDate) {
|
|
428
|
+
// Count completed next_actions per day as evidence
|
|
429
|
+
const { data, error } = await this.getClient()
|
|
430
|
+
.from('next_actions')
|
|
431
|
+
.select('completed_at')
|
|
432
|
+
.eq('user_id', userId)
|
|
433
|
+
.eq('done', true)
|
|
434
|
+
.gte('completed_at', startDate)
|
|
435
|
+
.lte('completed_at', endDate);
|
|
436
|
+
if (error)
|
|
437
|
+
throw new Error(`Failed to fetch evidence: ${error.message}`);
|
|
438
|
+
const counts = {};
|
|
439
|
+
for (const row of data ?? []) {
|
|
440
|
+
if (row.completed_at) {
|
|
441
|
+
const day = row.completed_at.slice(0, 10); // YYYY-MM-DD
|
|
442
|
+
counts[day] = (counts[day] ?? 0) + 1;
|
|
443
|
+
}
|
|
444
|
+
}
|
|
445
|
+
return counts;
|
|
446
|
+
}
|
|
447
|
+
/** Resolve created_by UUIDs to handles via profiles table */
|
|
448
|
+
async resolveHandles(actions) {
|
|
449
|
+
const uids = [...new Set(actions.map(a => a.created_by).filter((v) => !!v))];
|
|
450
|
+
if (uids.length === 0)
|
|
451
|
+
return actions;
|
|
452
|
+
const { data: profiles } = await this.getClient()
|
|
453
|
+
.from('profiles')
|
|
454
|
+
.select('auth_uid, handle')
|
|
455
|
+
.in('auth_uid', uids);
|
|
456
|
+
const handleMap = new Map();
|
|
457
|
+
for (const p of profiles ?? []) {
|
|
458
|
+
if (p.handle)
|
|
459
|
+
handleMap.set(p.auth_uid, p.handle);
|
|
460
|
+
}
|
|
461
|
+
return actions.map(a => ({
|
|
462
|
+
...a,
|
|
463
|
+
created_by_handle: a.created_by ? handleMap.get(a.created_by) ?? null : null,
|
|
464
|
+
}));
|
|
465
|
+
}
|
|
334
466
|
// Helper
|
|
335
467
|
async updateStaxActivity(staxId) {
|
|
336
468
|
await this.getClient()
|
package/dist/lib/api.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/lib/api.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/lib/api.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,YAAY,EAAkB,MAAM,uBAAuB,CAAA;AACpE,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAiEpC,MAAM,SAAS;IACL,MAAM,GAA0B,IAAI,CAAA;IAEpC,SAAS;QACf,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,EAAE,CAAA;YAC7B,MAAM,GAAG,GAAG,MAAM,CAAC,cAAc,EAAE,CAAA;YACnC,MAAM,OAAO,GAAG,MAAM,CAAC,kBAAkB,EAAE,CAAA;YAE3C,IAAI,CAAC,MAAM,GAAG,YAAY,CAAC,GAAG,EAAE,OAAO,EAAE;gBACvC,IAAI,EAAE;oBACJ,gBAAgB,EAAE,KAAK;oBACvB,cAAc,EAAE,KAAK;iBACtB;gBACD,MAAM,EAAE;oBACN,OAAO,EAAE,IAAI,CAAC,WAAW;wBACvB,CAAC,CAAC,EAAE,aAAa,EAAE,UAAU,IAAI,CAAC,WAAW,EAAE,EAAE;wBACjD,CAAC,CAAC,EAAE;iBACP;aACF,CAAC,CAAA;QACJ,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,CAAA;IACpB,CAAC;IAED,yCAAyC;IACzC,WAAW;QACT,IAAI,CAAC,MAAM,GAAG,IAAI,CAAA;IACpB,CAAC;IAED,eAAe;IACf,KAAK,CAAC,MAAM,CAAC,KAAa,EAAE,QAAgB;QAC1C,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,cAAc,EAAE,EAAE,MAAM,CAAC,kBAAkB,EAAE,CAAC,CAAA;QAEjF,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC;YAC3D,KAAK;YACL,QAAQ;SACT,CAAC,CAAA;QAEF,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,IAAI,KAAK,CAAC,iBAAiB,KAAK,CAAC,OAAO,EAAE,CAAC,CAAA;QACnD,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YAChC,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAA;QACtD,CAAC;QAED,eAAe;QACf,MAAM,CAAC,OAAO,CAAC;YACb,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,YAAY;YACtC,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,aAAa;YACxC,SAAS,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAW,GAAG,IAAI,CAAC,CAAC,WAAW,EAAE;YAClE,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI;YAClC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE;SACrB,CAAC,CAAA;QAEF,IAAI,CAAC,WAAW,EAAE,CAAA;QAElB,OAAO;YACL,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE;YACpB,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,KAAK;SAChC,CAAA;IACH,CAAC;IAED,KAAK,CAAC,OAAO;QACX,MAAM,CAAC,SAAS,EAAE,CAAA;QAClB,IAAI,CAAC,WAAW,EAAE,CAAA;IACpB,CAAC;IAED,gGAAgG;IAChG,KAAK,CAAC,iBAAiB;QACrB,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,EAAE,CAAA;QAC7B,IAAI,CAAC,IAAI,CAAC,YAAY;YAAE,OAAO,KAAK,CAAA;QAEpC,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,YAAY,CAAC,MAAM,CAAC,cAAc,EAAE,EAAE,MAAM,CAAC,kBAAkB,EAAE,CAAC,CAAA;YACrF,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,cAAc,CAAC;gBAC3D,aAAa,EAAE,IAAI,CAAC,YAAY;aACjC,CAAC,CAAA;YAEF,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,OAAO;gBAAE,OAAO,KAAK,CAAA;YAExC,MAAM,CAAC,OAAO,CAAC;gBACb,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,YAAY;gBACtC,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,aAAa;gBACxC,SAAS,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAW,GAAG,IAAI,CAAC,CAAC,WAAW,EAAE;aACnE,CAAC,CAAA;YAEF,IAAI,CAAC,WAAW,EAAE,CAAA;YAClB,OAAO,IAAI,CAAA;QACb,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAA;QACd,CAAC;IACH,CAAC;IAED,eAAe;IACf,KAAK,CAAC,UAAU;QACd,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,EAAE,CAAA;QAC7B,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAA;QAEtD,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE;aAC3C,IAAI,CAAC,MAAM,CAAC;aACZ,MAAM,CAAC,GAAG,CAAC;aACX,EAAE,CAAC,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC;aAC1B,KAAK,CAAC,kBAAkB,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAA;QAErE,IAAI,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,yBAAyB,KAAK,CAAC,OAAO,EAAE,CAAC,CAAA;QACpE,MAAM,KAAK,GAAG,IAAI,IAAI,EAAE,CAAA;QAExB,4EAA4E;QAC5E,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE;aAChD,IAAI,CAAC,oBAAoB,CAAC;aAC1B,MAAM,CAAC,SAAS,CAAC;aACjB,EAAE,CAAC,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC;aAC1B,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC;aACpB,EAAE,CAAC,WAAW,EAAE,IAAI,CAAC,CAAA;QAExB,MAAM,aAAa,GAAG,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;QACnF,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,KAAK,CAAA;QAE5C,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE;aAChD,IAAI,CAAC,MAAM,CAAC;aACZ,MAAM,CAAC,GAAG,CAAC;aACX,EAAE,CAAC,IAAI,EAAE,aAAa,CAAC,CAAA;QAE1B,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;QAChD,MAAM,UAAU,GAAG,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;QAC7E,OAAO,CAAC,GAAG,KAAK,EAAE,GAAG,UAAU,CAAC,CAAA;IAClC,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,IAAY;QAC9B,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,EAAE,CAAA;QAC7B,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAA;QAEtD,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE;aAC3C,IAAI,CAAC,MAAM,CAAC;aACZ,MAAM,CAAC,GAAG,CAAC;aACX,EAAE,CAAC,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC;aAC1B,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC;aACnB,KAAK,CAAC,CAAC,CAAC;aACR,MAAM,EAAE,CAAA;QAEX,IAAI,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YACvC,MAAM,IAAI,KAAK,CAAC,yBAAyB,KAAK,CAAC,OAAO,EAAE,CAAC,CAAA;QAC3D,CAAC;QAED,OAAO,IAAI,CAAA;IACb,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,KAAa;QAC/B,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAA;QACvC,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,EAAE,CAAA;QAEtC,oBAAoB;QACpB,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,UAAU,CAAC,CAAA;QACpE,IAAI,KAAK;YAAE,OAAO,CAAC,KAAK,CAAC,CAAA;QAEzB,cAAc;QACd,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CACpC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,CAC5C,CAAA;QACD,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,UAAU,CAAA;QAE5C,WAAW;QACX,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAClC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,CAC1C,CAAA;QACD,OAAO,QAAQ,CAAA;IACjB,CAAC;IAED,uBAAuB;IACvB,KAAK,CAAC,UAAU,CAAC,MAAc,EAAE,gBAAgB,GAAG,KAAK;QACvD,IAAI,KAAK,GAAG,IAAI,CAAC,SAAS,EAAE;aACzB,IAAI,CAAC,cAAc,CAAC;aACpB,MAAM,CAAC,mCAAmC,CAAC;aAC3C,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;aACrB,KAAK,CAAC,YAAY,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAA;QAE5C,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,KAAK,GAAG,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;QACjC,CAAC;QAED,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,KAAK,CAAA;QAEnC,IAAI,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,KAAK,CAAC,OAAO,EAAE,CAAC,CAAA;QACvE,MAAM,OAAO,GAAG,IAAI,IAAI,EAAE,CAAA;QAE1B,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAA;IACrC,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,MAAc,EAAE,IAAI,GAAG,CAAC;QACjD,MAAM,MAAM,GAAG,IAAI,IAAI,EAAE,CAAA;QACzB,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAA;QAEvC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE;aAC3C,IAAI,CAAC,cAAc,CAAC;aACpB,MAAM,CAAC,mCAAmC,CAAC;aAC3C,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;aACrB,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;aAChB,GAAG,CAAC,cAAc,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC;aACzC,KAAK,CAAC,cAAc,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAA;QAE9C,IAAI,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAA;QAC3E,MAAM,OAAO,GAAG,IAAI,IAAI,EAAE,CAAA;QAE1B,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAA;IACrC,CAAC;IAED,KAAK,CAAC,SAAS,CACb,MAAc,EACd,OAAe,EACf,WAAW,GAAG,KAAK;QAEnB,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,EAAE,CAAA;QAC7B,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAA;QAEtD,2BAA2B;QAC3B,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE;aAC9C,IAAI,CAAC,cAAc,CAAC;aACpB,MAAM,CAAC,UAAU,CAAC;aAClB,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;aACrB,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC;aACjB,KAAK,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;aACvC,KAAK,CAAC,CAAC,CAAC,CAAA;QAEX,MAAM,YAAY,GAAG,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;YAClD,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,GAAG,CAAC;YACjC,CAAC,CAAC,CAAC,CAAA;QAEL,MAAM,OAAO,GAAG;YACd,OAAO,EAAE,MAAM;YACf,OAAO,EAAE,IAAI,CAAC,MAAM;YACpB,UAAU,EAAE,IAAI,CAAC,MAAM;YACvB,OAAO;YACP,IAAI,EAAE,WAAW;YACjB,QAAQ,EAAE,YAAY;YACtB,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI;YAC3D,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI;SAC/C,CAAA;QAED,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE;aAC3C,IAAI,CAAC,cAAc,CAAC;aACpB,MAAM,CAAC,OAAO,CAAC;aACf,MAAM,EAAE;aACR,MAAM,EAAE,CAAA;QAEX,IAAI,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,yBAAyB,KAAK,CAAC,OAAO,EAAE,CAAC,CAAA;QAEpE,+BAA+B;QAC/B,MAAM,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAA;QAErC,OAAO,IAAI,CAAA;IACb,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,QAAgB;QACnC,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,EAAE,CAAA;QAC7B,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE;aAC3C,IAAI,CAAC,cAAc,CAAC;aACpB,MAAM,CAAC;YACN,IAAI,EAAE,IAAI;YACV,YAAY,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACtC,YAAY,EAAE,IAAI,CAAC,MAAM;SAC1B,CAAC;aACD,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC;aAClB,MAAM,EAAE;aACR,MAAM,EAAE,CAAA;QAEX,IAAI,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,8BAA8B,KAAK,CAAC,OAAO,EAAE,CAAC,CAAA;QAEzE,uBAAuB;QACvB,IAAI,IAAI,EAAE,OAAO,EAAE,CAAC;YAClB,MAAM,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAC7C,CAAC;QAED,OAAO,IAAI,CAAA;IACb,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,QAAgB;QACjC,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE;aACrC,IAAI,CAAC,cAAc,CAAC;aACpB,MAAM,EAAE;aACR,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;QAErB,IAAI,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,KAAK,CAAC,OAAO,EAAE,CAAC,CAAA;IACzE,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,QAAgB,EAAE,OAAe;QAChD,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE;aAC3C,IAAI,CAAC,cAAc,CAAC;aACpB,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC;aACnB,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC;aAClB,MAAM,EAAE;aACR,MAAM,EAAE,CAAA;QAEX,IAAI,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,KAAK,CAAC,OAAO,EAAE,CAAC,CAAA;QACrE,OAAO,IAAI,CAAA;IACb,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,QAAgB,EAAE,QAAgB;QAC3D,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE;aACrC,IAAI,CAAC,cAAc,CAAC;aACpB,MAAM,CAAC,EAAE,QAAQ,EAAE,CAAC;aACpB,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;QAErB,IAAI,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,8BAA8B,KAAK,CAAC,OAAO,EAAE,CAAC,CAAA;IAC3E,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,MAAc;QACrC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE;aAC5C,IAAI,CAAC,cAAc,CAAC;aACpB,MAAM,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;aAC3C,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;aACrB,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;QAEpB,IAAI,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,KAAK,CAAC,OAAO,EAAE,CAAC,CAAA;QACvE,OAAO,KAAK,IAAI,CAAC,CAAA;IACnB,CAAC;IAED,mBAAmB;IACnB,KAAK,CAAC,iBAAiB,CAAC,MAAc;QACpC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE;aAC3C,IAAI,CAAC,kBAAkB,CAAC;aACxB,MAAM,CAAC,GAAG,CAAC;aACX,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;aACrB,KAAK,CAAC,CAAC,CAAC;aACR,WAAW,EAAE,CAAA;QAEhB,IAAI,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,oCAAoC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAA;QAC/E,OAAO,IAAI,CAAA;IACb,CAAC;IAED,KAAK,CAAC,iBAAiB,CACrB,MAAc,EACd,QAA4C;QAE5C,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,EAAE,CAAA;QAC7B,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAA;QAEtD,kBAAkB;QAClB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAA;QAErD,IAAI,QAAQ,EAAE,CAAC;YACb,SAAS;YACT,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE;iBAC3C,IAAI,CAAC,kBAAkB,CAAC;iBACxB,MAAM,CAAC,EAAE,QAAQ,EAAE,CAAC;iBACpB,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,CAAC;iBACrB,MAAM,EAAE;iBACR,MAAM,EAAE,CAAA;YAEX,IAAI,KAAK;gBAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,KAAK,CAAC,OAAO,EAAE,CAAC,CAAA;YACtE,OAAO,IAAI,CAAA;QACb,CAAC;aAAM,CAAC;YACN,SAAS;YACT,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE;iBAC3C,IAAI,CAAC,kBAAkB,CAAC;iBACxB,MAAM,CAAC;gBACN,OAAO,EAAE,MAAM;gBACf,OAAO,EAAE,IAAI,CAAC,MAAM;gBACpB,QAAQ;aACT,CAAC;iBACD,MAAM,EAAE;iBACR,MAAM,EAAE,CAAA;YAEX,IAAI,KAAK;gBAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,KAAK,CAAC,OAAO,EAAE,CAAC,CAAA;YACtE,OAAO,IAAI,CAAA;QACb,CAAC;IACH,CAAC;IAED,mBAAmB;IACnB,KAAK,CAAC,kBAAkB;QACtB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAA;QACpC,MAAM,OAAO,GAAsB,EAAE,CAAA;QAErC,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;YACrB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE,KAAK,CAAC,CAAA;YAClD,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;YAEpD,OAAO,CAAC,IAAI,CAAC;gBACX,GAAG,CAAC;gBACJ,OAAO;gBACP,WAAW,EAAE,OAAO,CAAC,MAAM;gBAC3B,cAAc,EAAE,CAAC,EAAE,wBAAwB;gBAC3C,QAAQ,EAAE,SAAS,EAAE,QAAQ,IAAI,IAAI;aACtC,CAAC,CAAA;QACJ,CAAC;QAED,OAAO,OAAO,CAAA;IAChB,CAAC;IAED,YAAY;IACZ,KAAK,CAAC,WAAW;QACf,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,EAAE,CAAA;QAC7B,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAA;QAEtD,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE;aAC3C,IAAI,CAAC,UAAU,CAAC;aAChB,MAAM,CAAC,WAAW,CAAC;aACnB,EAAE,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC;aAC3B,WAAW,EAAE,CAAA;QAEhB,IAAI,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,yBAAyB,KAAK,CAAC,OAAO,EAAE,CAAC,CAAA;QACpE,OAAO,IAAI,EAAE,SAAS,IAAI,MAAM,CAAA;IAClC,CAAC;IAED,oBAAoB;IACpB,KAAK,CAAC,oBAAoB,CAAC,aAAqB;QAC9C,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,EAAE,CAAA;QAC7B,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAA;QAEtD,uBAAuB;QACvB,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE;aAChE,IAAI,CAAC,YAAY,CAAC;aAClB,MAAM,CAAC,GAAG,CAAC;aACX,EAAE,CAAC,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC;aAC1B,EAAE,CAAC,iBAAiB,EAAE,aAAa,CAAC;aACpC,WAAW,EAAE,CAAA;QAEhB,IAAI,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,8BAA8B,SAAS,CAAC,OAAO,EAAE,CAAC,CAAA;QACjF,IAAI,QAAQ;YAAE,OAAO,QAAQ,CAAA;QAE7B,aAAa;QACb,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE;aAC3C,IAAI,CAAC,YAAY,CAAC;aAClB,MAAM,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;aACjF,MAAM,EAAE;aACR,MAAM,EAAE,CAAA;QAEX,IAAI,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,+BAA+B,KAAK,CAAC,OAAO,EAAE,CAAC,CAAA;QAC1E,OAAO,IAAI,CAAA;IACb,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,WAAmB;QACxC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE;aAC3C,IAAI,CAAC,gBAAgB,CAAC;aACtB,MAAM,CAAC,GAAG,CAAC;aACX,EAAE,CAAC,cAAc,EAAE,WAAW,CAAC;aAC/B,KAAK,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;QAErC,IAAI,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,mCAAmC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAA;QAC9E,OAAO,IAAI,IAAI,EAAE,CAAA;IACnB,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,WAAmB,EAAE,IAAY,EAAE,KAAa;QACtE,2BAA2B;QAC3B,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE;aACrC,IAAI,CAAC,gBAAgB,CAAC;aACtB,MAAM,CACL,EAAE,YAAY,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE,EAC1C,EAAE,UAAU,EAAE,mBAAmB,EAAE,CACpC,CAAA;QAEH,IAAI,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,wBAAwB,KAAK,CAAC,OAAO,EAAE,CAAC,CAAA;IACrE,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,WAAmB;QACvC,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE;aACrC,IAAI,CAAC,YAAY,CAAC;aAClB,MAAM,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC;aACvE,EAAE,CAAC,IAAI,EAAE,WAAW,CAAC,CAAA;QAExB,IAAI,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,+BAA+B,KAAK,CAAC,OAAO,EAAE,CAAC,CAAA;IAC5E,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,WAAmB;QACvC,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE;aACrC,IAAI,CAAC,YAAY,CAAC;aAClB,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;aAC/C,EAAE,CAAC,IAAI,EAAE,WAAW,CAAC,CAAA;QAExB,IAAI,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,+BAA+B,KAAK,CAAC,OAAO,EAAE,CAAC,CAAA;IAC5E,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,KAAc;QACjC,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,EAAE,CAAA;QAC7B,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAA;QAEtD,IAAI,KAAK,GAAG,IAAI,CAAC,SAAS,EAAE;aACzB,IAAI,CAAC,YAAY,CAAC;aAClB,MAAM,CAAC,GAAG,CAAC;aACX,EAAE,CAAC,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC;aAC1B,KAAK,CAAC,iBAAiB,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAA;QAEjD,IAAI,KAAK,EAAE,CAAC;YACV,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;QAC5B,CAAC;QAED,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,KAAK,CAAA;QAEnC,IAAI,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,8BAA8B,KAAK,CAAC,OAAO,EAAE,CAAC,CAAA;QACzE,OAAO,IAAI,IAAI,EAAE,CAAA;IACnB,CAAC;IAED,KAAK,CAAC,iBAAiB,CACrB,MAAc,EACd,SAAiB,EACjB,OAAe;QAEf,mDAAmD;QACnD,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE;aAC3C,IAAI,CAAC,cAAc,CAAC;aACpB,MAAM,CAAC,cAAc,CAAC;aACtB,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;aACrB,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;aAChB,GAAG,CAAC,cAAc,EAAE,SAAS,CAAC;aAC9B,GAAG,CAAC,cAAc,EAAE,OAAO,CAAC,CAAA;QAE/B,IAAI,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,KAAK,CAAC,OAAO,EAAE,CAAC,CAAA;QAExE,MAAM,MAAM,GAA2B,EAAE,CAAA;QACzC,KAAK,MAAM,GAAG,IAAI,IAAI,IAAI,EAAE,EAAE,CAAC;YAC7B,IAAI,GAAG,CAAC,YAAY,EAAE,CAAC;gBACrB,MAAM,GAAG,GAAG,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA,CAAC,aAAa;gBACvD,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAA;YACtC,CAAC;QACH,CAAC;QACD,OAAO,MAAM,CAAA;IACf,CAAC;IAED,6DAA6D;IACrD,KAAK,CAAC,cAAc,CAAC,OAAqB;QAChD,MAAM,IAAI,GAAG,CAAC,GAAG,IAAI,GAAG,CACtB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAC/D,CAAC,CAAA;QAEF,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,OAAO,CAAA;QAErC,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE;aAC9C,IAAI,CAAC,UAAU,CAAC;aAChB,MAAM,CAAC,kBAAkB,CAAC;aAC1B,EAAE,CAAC,UAAU,EAAE,IAAI,CAAC,CAAA;QAEvB,MAAM,SAAS,GAAG,IAAI,GAAG,EAAkB,CAAA;QAC3C,KAAK,MAAM,CAAC,IAAI,QAAQ,IAAI,EAAE,EAAE,CAAC;YAC/B,IAAI,CAAC,CAAC,MAAM;gBAAE,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,CAAA;QACnD,CAAC;QAED,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACvB,GAAG,CAAC;YACJ,iBAAiB,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI;SAC7E,CAAC,CAAC,CAAA;IACL,CAAC;IAED,SAAS;IACD,KAAK,CAAC,kBAAkB,CAAC,MAAc;QAC7C,MAAM,IAAI,CAAC,SAAS,EAAE;aACnB,IAAI,CAAC,MAAM,CAAC;aACZ,MAAM,CAAC,EAAE,gBAAgB,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC;aACtD,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;IACrB,CAAC;CACF;AAED,YAAY;AACZ,MAAM,CAAC,MAAM,GAAG,GAAG,IAAI,SAAS,EAAE,CAAA"}
|
package/dist/lib/output.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"output.d.ts","sourceRoot":"","sources":["../../src/lib/output.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAGjE,eAAO,MAAM,cAAc;;;;;;CAMjB,CAAA;AAEV,eAAO,MAAM,eAAe;;;;;;CAMlB,CAAA;AAEV,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,CAK1E;AAED,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,CAMnF;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAiB9D;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAa3D;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,GAAE,MAAU,GAAG,MAAM,CAOxE;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"output.d.ts","sourceRoot":"","sources":["../../src/lib/output.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAGjE,eAAO,MAAM,cAAc;;;;;;CAMjB,CAAA;AAEV,eAAO,MAAM,eAAe;;;;;;CAMlB,CAAA;AAEV,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,CAK1E;AAED,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,CAMnF;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAiB9D;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAa3D;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,GAAE,MAAU,GAAG,MAAM,CAOxE;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAQtE;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,CAQ3D;AAED,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,IAAI,GAAG,eAAe,EAC5B,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,EACxB,WAAW,CAAC,EAAE,MAAM,EACpB,UAAU,GAAE,MAAU,GACrB,MAAM,CAQR;AAED,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,eAAe,EACrB,UAAU,GAAE,MAAU,GACrB,MAAM,CAQR;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAElD;AAED,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAEhD;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAElD;AAED,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAE/C;AAED,wBAAgB,YAAY,CAC1B,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,UAAU,EAAE,EACrB,WAAW,GAAE,UAAU,EAAO,EAC9B,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,GACvB,IAAI,CAyBN;AAED,wBAAgB,aAAa,CAAC,QAAQ,EAAE,eAAe,EAAE,GAAG,IAAI,CAkC/D;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,eAAe,EAAE,EAAE,cAAc,SAAI,GAAG,IAAI,CAiCvF;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAQ1F"}
|
package/dist/lib/output.js
CHANGED
|
@@ -79,13 +79,17 @@ export function formatAction(action, index) {
|
|
|
79
79
|
const num = chalk.gray(`${index + 1}.`);
|
|
80
80
|
const content = action.content;
|
|
81
81
|
const age = chalk.gray(formatActionAge(action.created_at));
|
|
82
|
-
|
|
82
|
+
const handle = action.assigned_to_handle ?? action.created_by_handle;
|
|
83
|
+
const handleStr = handle ? chalk.gray(` @${handle}`) : '';
|
|
84
|
+
return ` ${num} ${content.padEnd(45)} ${age}${handleStr}`;
|
|
83
85
|
}
|
|
84
86
|
export function formatBreadcrumb(action) {
|
|
85
87
|
const check = chalk.green('✓');
|
|
86
88
|
const content = chalk.gray(action.content);
|
|
87
89
|
const age = chalk.gray(formatRelativeTime(action.completed_at ?? action.created_at));
|
|
88
|
-
|
|
90
|
+
const handle = action.assigned_to_handle ?? action.created_by_handle;
|
|
91
|
+
const handleStr = handle ? chalk.gray(` @${handle}`) : '';
|
|
92
|
+
return ` ${check} ${content.padEnd(45)} ${age}${handleStr}`;
|
|
89
93
|
}
|
|
90
94
|
export function formatStaxHeader(stax, priority, actionCount, maxActions = 7) {
|
|
91
95
|
const name = chalk.bold(stax.name);
|
|
@@ -188,7 +192,9 @@ export function printStaxExpanded(staxList, actionsPerStax = 3) {
|
|
|
188
192
|
console.log(`${chalk.bold(stax.name)} ${pri} ${count} ${lastActivity}`);
|
|
189
193
|
const actions = stax.actions.slice(0, actionsPerStax);
|
|
190
194
|
actions.forEach((action, i) => {
|
|
191
|
-
|
|
195
|
+
const handle = action.assigned_to_handle ?? action.created_by_handle;
|
|
196
|
+
const handleStr = handle ? chalk.gray(` @${handle}`) : '';
|
|
197
|
+
console.log(` ${chalk.gray(`${i + 1}.`)} ${action.content}${handleStr}`);
|
|
192
198
|
});
|
|
193
199
|
const remaining = stax.actionCount - actionsPerStax;
|
|
194
200
|
if (remaining > 0) {
|
package/dist/lib/output.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"output.js","sourceRoot":"","sources":["../../src/lib/output.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"output.js","sourceRoot":"","sources":["../../src/lib/output.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "tabstax-cli",
|
|
3
|
-
"version": "0.1.
|
|
4
|
-
"description": "
|
|
3
|
+
"version": "0.1.8",
|
|
4
|
+
"description": "Log what you're doing. See what the team is doing. Stay in flow. The terminal interface for TabStax.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
7
7
|
"bin": {
|