ticketlens 0.21.8 → 0.21.9
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
CHANGED
|
@@ -401,7 +401,7 @@ Every note is scanned before saving — anything shaped like a real secret (API
|
|
|
401
401
|
|
|
402
402
|
**Quality loop:** inside a Claude Code session using the jtb skill, a saved note can be silently refined afterward — a generator subagent drafts a more actionable version, a validator subagent checks it against other notes on the same ticket for duplication, up to 3 rounds — and the improved draft overwrites the original via the internal `note patch` command (not typically invoked by hand). This makes zero API calls and costs zero extra tokens beyond your already-running session; it never runs for a bare shell invocation of `note add`, which is skipped silently. Known limitation: a refined draft is not re-synced to your team even if the original was — teammates who already pulled the note keep the earlier draft.
|
|
403
403
|
|
|
404
|
-
**Team sync:** on a Team plan with Recall enabled for your account (owner-managed, per-tier or per-client), notes also sync to your team's shared pool — `note add` pushes in the background, `recall` pulls the team's notes (
|
|
404
|
+
**Team sync:** on a Team plan with Recall enabled for your account (owner-managed, per-tier or per-client), notes also sync to your team's shared pool — `note add` pushes in the background, `recall` always pulls the team's notes fresh before searching, so a manager's verify/delete in Console is visible on that very search. (Ticket-brief injection uses a separate, short-timeout 4h-cached pull so it never slows down your everyday `ticketlens PROJ-123` — it doesn't need to be instant the way an explicit search does.) A team manager reviews and verifies incoming notes at `console/admin/recall` before they're marked trusted. Without Team Recall entitlement, everything stays on your machine — no network call.
|
|
405
405
|
|
|
406
406
|
**Offline resilience:** if a team push fails for a transient reason (network error, timeout, or a 5xx from the backend), the note stays safely in your local vault and is queued for retry — nothing is lost. The queue flushes automatically in the background before every command, not just `recall`/`note add` — a short timeout on that check means it never stalls an unrelated command — or on demand with `ticketlens recall sync`. A session-expired (401) or not-entitled (403) push is never queued — those need you to act (`ticketlens login`, or an owner grant), not a retry. Switching accounts never flushes a note under the wrong login.
|
|
407
407
|
|
package/package.json
CHANGED
package/skills/jtb/SKILL.md
CHANGED
|
@@ -55,6 +55,7 @@ Fetches a Jira ticket and produces a structured brief with code references, then
|
|
|
55
55
|
/jtb note "gotcha text" --ticket=PROD-1234 # save a Recall note (Pro)
|
|
56
56
|
/jtb recall PROD-1234 # search saved Recall notes (Pro)
|
|
57
57
|
/jtb recall sync # retry any notes stuck in the local queue (Pro)
|
|
58
|
+
/jtb recall settings # show effective retry-queue settings, fetched live (Pro)
|
|
58
59
|
```
|
|
59
60
|
|
|
60
61
|
## Prerequisites
|
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Implements `tl recall <query|TICKET-KEY>` — a search over saved Recall
|
|
3
|
-
* notes, local-first. When logged in, pulls the team vault
|
|
4
|
-
* searching (
|
|
5
|
-
*
|
|
3
|
+
* notes, local-first. When logged in, always pulls the team vault fresh
|
|
4
|
+
* before searching (ttlMs: 0, bypassing the TTL cache entirely) — the user
|
|
5
|
+
* is explicitly waiting on this command, so a manager's Console verify/
|
|
6
|
+
* delete action is visible on this very invocation, not up to 4h later.
|
|
7
|
+
* The full request timeout applies here — unlike the passive brief-fetch
|
|
8
|
+
* pull path (fetch-ticket.mjs), which deliberately keeps its short timeout
|
|
9
|
+
* and TTL cache since it runs on nearly every command, not just this one.
|
|
6
10
|
* A pull failure never blocks the local search from returning results.
|
|
7
11
|
*/
|
|
8
12
|
|
|
@@ -43,11 +47,7 @@ export async function runRecall(cmdArgs, {
|
|
|
43
47
|
|
|
44
48
|
const cliToken = readCliTokenFn(configDir);
|
|
45
49
|
if (cliToken) {
|
|
46
|
-
await pullNotesFn({
|
|
47
|
-
cliToken,
|
|
48
|
-
configDir,
|
|
49
|
-
...(cmdArgs.includes('--no-cache') && { ttlMs: 0 }),
|
|
50
|
-
});
|
|
50
|
+
await pullNotesFn({ cliToken, configDir, ttlMs: 0 });
|
|
51
51
|
await maybeAutoFlushFn({ cliToken, configDir });
|
|
52
52
|
}
|
|
53
53
|
|