@tekmidian/pai 0.18.6 → 0.19.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli/index.mjs +1 -1
- package/dist/cli/program.mjs +1 -1
- package/dist/config-CcdkNSWa.mjs.map +1 -1
- package/dist/pick-IuhHkAJn.mjs +12983 -0
- package/dist/pick-IuhHkAJn.mjs.map +1 -0
- package/docs/commands/README.md +1 -1
- package/docs/commands/task.md +8 -2
- package/docs/task-bus.md +19 -6
- package/package.json +1 -1
package/docs/commands/README.md
CHANGED
|
@@ -167,7 +167,7 @@ Generated man pages for every `pai` command area. Read any page in the terminal
|
|
|
167
167
|
| `pai task add <title>` | File a task onto the bus |
|
|
168
168
|
| `pai task config` | View or change task bus settings without running the full setup wizard |
|
|
169
169
|
| `pai task dispatch` | Hand open tasks to the PAI sessions that own them |
|
|
170
|
-
| `pai task done <id>` | Mark a task complete on the tracker |
|
|
170
|
+
| `pai task done <id>` | Mark a task complete on the tracker, keeping its discussion |
|
|
171
171
|
| `pai task list` | List open tasks on the bus |
|
|
172
172
|
| `pai task poll` | One scheduler tick: dispatch what is due, check what is running, report |
|
|
173
173
|
| `pai task projects` | Show which sessions can be given work from the tracker, and create the missing projects |
|
package/docs/commands/task.md
CHANGED
|
@@ -23,7 +23,7 @@ pai task <subcommand> [options]
|
|
|
23
23
|
| [`pai task poll`](#pai-task-poll) | One scheduler tick: dispatch what is due, check what is running, report |
|
|
24
24
|
| [`pai task schedule`](#pai-task-schedule) | Install, remove or inspect the launchd agent that ticks the scheduler |
|
|
25
25
|
| [`pai task config`](#pai-task-config) | View or change task bus settings without running the full setup wizard |
|
|
26
|
-
| [`pai task done <id>`](#pai-task-done-id) | Mark a task complete on the tracker |
|
|
26
|
+
| [`pai task done <id>`](#pai-task-done-id) | Mark a task complete on the tracker, keeping its discussion |
|
|
27
27
|
|
|
28
28
|
### pai task projects
|
|
29
29
|
|
|
@@ -144,7 +144,7 @@ View or change task bus settings without running the full setup wizard
|
|
|
144
144
|
|
|
145
145
|
### pai task done <id>
|
|
146
146
|
|
|
147
|
-
Mark a task complete on the tracker
|
|
147
|
+
Mark a task complete on the tracker, keeping its discussion
|
|
148
148
|
|
|
149
149
|
**Arguments**
|
|
150
150
|
|
|
@@ -152,6 +152,12 @@ Mark a task complete on the tracker
|
|
|
152
152
|
|----------|------|
|
|
153
153
|
| `<id>` | required |
|
|
154
154
|
|
|
155
|
+
**Options**
|
|
156
|
+
|
|
157
|
+
| Option | Description | Default |
|
|
158
|
+
|--------|-------------|---------|
|
|
159
|
+
| `--no-archive` | Complete without saving the comment thread | |
|
|
160
|
+
|
|
155
161
|
|
|
156
162
|
## See also
|
|
157
163
|
|
package/docs/task-bus.md
CHANGED
|
@@ -158,12 +158,25 @@ account that had genuinely authorised. Trust `aibroker todoist status`.
|
|
|
158
158
|
**4. A lapsed grant looks like a healthy channel.** Webhooks are verified with
|
|
159
159
|
the client *secret*, not the token, so **task delivery keeps working**. What
|
|
160
160
|
breaks is everything needing the API: comment routing (a comment payload has no
|
|
161
|
-
project or labels, so the parent must be fetched) and replying on a task.
|
|
162
|
-
signature is
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
161
|
+
project or labels, so the parent must be fetched) and replying on a task. So the
|
|
162
|
+
signature is the asymmetry itself — **tasks arrive, comments do not.**
|
|
163
|
+
|
|
164
|
+
The response is `401` with `error_code 477` and a `retry_after` that climbs:
|
|
165
|
+
3, 7, 65, 129 seconds.
|
|
166
|
+
|
|
167
|
+
**That climb is not throttling, and this document said it was.** Todoist's
|
|
168
|
+
reference states that `retry_after` is backoff metadata not limited to 429s, and
|
|
169
|
+
that on a 477 you must *not* wait and retry the same token — an invalid token is
|
|
170
|
+
invalid, and waiting changes nothing. The escalating numbers look exactly like
|
|
171
|
+
rate limiting and are not. Corrected 2026-08-02, after the wrong explanation had
|
|
172
|
+
been repeated between two codebases and written down here as fact.
|
|
173
|
+
|
|
174
|
+
**Enable refresh tokens on the Todoist app.** Without them, Todoist issues
|
|
175
|
+
tokens with no `expires_in` and no refresh path: they die and can only be fixed
|
|
176
|
+
by re-authorising by hand, which is what produced two lapses in twenty hours.
|
|
177
|
+
With them, the token refreshes on demand and the daily re-auth disappears.
|
|
178
|
+
|
|
179
|
+
Fix for a grant that has already died: `aibroker todoist auth` and one click.
|
|
167
180
|
|
|
168
181
|
---
|
|
169
182
|
|