19307 Commits

Author SHA1 Message Date
jiarung
d2b7b46604 fix(usage-log): increase lock stale window to 30 s to prevent active-lock steals
appendRecord rewrites the full token-usage.json on every write, so lock
hold time grows with file size and disk speed.  The previous stale: 5_000
was too tight: on large histories or slow disks a write can legitimately
take longer than 5 s, allowing a concurrent waiter to treat the still-
active lock as stale, reclaim it, and run an overlapping read-modify-write
cycle that silently drops the earlier writer's entry.

The risk is amplified by the attempt path where recordTokenUsage is fired
without awaiting, so multiple concurrent runs can legitimately overlap.

Fix:
• Raise stale to 30_000 ms — gives ample headroom for large files on
  slow disks while still reclaiming crashed-process locks within 30 s.
• Match the retry budget: 150 retries × 200 ms ≈ 30 s with jitter,
  so waiters exhaust retries only when the holder exceeds the stale
  window (i.e., is genuinely stuck or has crashed).
2026-03-16 03:07:58 +00:00
jiarung
ef90401a49
Merge branch 'main' into fix/token-usage-input-output-breakdown 2026-03-16 10:29:47 +08:00
Vincent Koc
ecc688d205 Google Chat: split setup adapter helpers 2026-03-15 19:29:19 -07:00
Peter Steinberger
acae0b60c2
perf(plugins): lazy-load channel setup entrypoints 2026-03-15 19:27:55 -07:00
Peter Steinberger
bcdbd03579 docs: refresh zh-CN model providers 2026-03-16 02:26:45 +00:00
Peter Steinberger
47a9c1a893 refactor: merge minimax bundled plugins 2026-03-16 02:26:45 +00:00
Vincent Koc
6513749ef6 Mattermost: split setup adapter helpers 2026-03-15 19:26:13 -07:00
Peter Steinberger
c8576ec78b fix: resolve line setup rebase drift 2026-03-16 02:25:02 +00:00
Peter Steinberger
38abdea8ce fix: restore ci type checks 2026-03-16 02:23:44 +00:00
Vincent Koc
6a2efa541b LINE: split setup adapter helpers 2026-03-15 19:21:40 -07:00
Vincent Koc
c89527f389 Tlon: split setup adapter helpers 2026-03-15 19:19:28 -07:00
Peter Steinberger
c6950367fb fix: allow plugin package id hints 2026-03-16 02:19:02 +00:00
Vincent Koc
067215629f Telegram: split setup adapter helpers 2026-03-15 19:15:50 -07:00
Peter Steinberger
60bf58ddbc
refactor: trim onboarding sdk exports 2026-03-15 19:14:36 -07:00
Peter Steinberger
ec93398d7b
refactor: move line to setup wizard 2026-03-15 19:14:36 -07:00
Vincent Koc
9785b44307 IRC: split setup adapter helpers 2026-03-15 19:12:58 -07:00
Peter Steinberger
10f4a03de8 docs(google): remove stale plugin references 2026-03-16 02:11:19 +00:00
Peter Steinberger
2b57d3bb34 build(plugin-sdk): enforce export sync in check 2026-03-16 02:11:19 +00:00
Peter Steinberger
39aba198f1 fix(docs): run i18n through a local rpc client 2026-03-16 02:11:18 +00:00
Peter Steinberger
6987a3c8b5 docs(i18n): sync zh-CN google plugin references 2026-03-16 02:11:18 +00:00
Peter Steinberger
0a136f1b90 fix(docs): harden i18n prompt failures 2026-03-16 02:11:18 +00:00
Peter Steinberger
59940cb3ee refactor(plugin-sdk): centralize entrypoint manifest 2026-03-16 02:11:18 +00:00
Peter Steinberger
92e765cdee refactor(google): split oauth flow modules 2026-03-16 02:11:18 +00:00
Peter Steinberger
7c0cac2740 refactor(plugins): share bundled compat transforms 2026-03-16 02:11:18 +00:00
Peter Steinberger
bb76a90dd1 refactor(tests): share plugin registration helpers 2026-03-16 02:11:18 +00:00
Peter Steinberger
6b28668104 test(plugins): cover retired google auth compatibility 2026-03-16 02:11:18 +00:00
Vincent Koc
4ed30abc7a BlueBubbles: split setup adapter helpers 2026-03-15 19:10:54 -07:00
Peter Steinberger
70a6d40d37 fix: remove stale dist plugin dirs 2026-03-16 02:10:36 +00:00
Vincent Koc
7d2ddf70c1 Nextcloud Talk: split setup adapter helpers 2026-03-15 18:59:58 -07:00
jiarung
01a13e6ab4 fix(attempt): pass resolved workspace path into recordTokenUsage
runEmbeddedAttempt calls process.chdir(effectiveWorkspace) early in the
run, then later invokes recordTokenUsage with the raw params.workspaceDir
string.  If workspaceDir is a relative path (e.g. ./ws) recordTokenUsage
resolves it from the already-changed cwd, producing a nested path
(`./ws/ws/memory/token-usage.json`) or an outright failure.

Fix: pass effectiveWorkspace (the fully-resolved, sandbox-aware absolute
path that was used for every other workspace operation in the run) into
recordTokenUsage so usage logs always land in the correct directory.
2026-03-16 01:59:27 +00:00
Vincent Koc
413d2ff3da iMessage: lazy-load setup wizard surface 2026-03-15 18:53:58 -07:00
Vincent Koc
399b6f745a Signal: restore setup surface helper exports 2026-03-15 18:53:58 -07:00
Peter Steinberger
57a0534f93
fix(cli): repair preaction merge typo 2026-03-15 18:47:23 -07:00
Peter Steinberger
fb991e6f31
perf(plugins): lazy-load setup surfaces 2026-03-15 18:46:54 -07:00
Vincent Koc
de6666b895 Signal: lazy-load setup wizard surface 2026-03-15 18:44:59 -07:00
Vincent Koc
d663df7a74 Discord: lazy-load setup wizard surface 2026-03-15 18:36:57 -07:00
Vincent Koc
1c4f52d6a1 Feishu: drop stale runtime onboarding export 2026-03-15 18:36:41 -07:00
Vincent Koc
961f42e0cf Slack: lazy-load setup wizard surface 2026-03-15 18:29:40 -07:00
Peter Steinberger
1e196db49d fix: quiet discord startup logs 2026-03-16 01:27:09 +00:00
Peter Steinberger
26a8aee01c
refactor: drop channel onboarding fallback 2026-03-15 18:24:39 -07:00
Peter Steinberger
0958aea112
refactor: move matrix msteams twitch to setup wizard 2026-03-15 18:24:39 -07:00
Peter Steinberger
40be12db96
refactor: move feishu zalo zalouser to setup wizard 2026-03-15 18:24:39 -07:00
Peter Steinberger
71a69e5337
refactor: extend setup wizard account resolution 2026-03-15 18:23:40 -07:00
Peter Steinberger
9cca8a6de5
fix(matrix): assert outbound runtime hooks 2026-03-15 18:20:53 -07:00
Peter Steinberger
83ee5c0328
perf(status): defer heavy startup loading 2026-03-15 18:20:53 -07:00
Peter Steinberger
9c89a74f84
perf(cli): trim help startup imports 2026-03-15 18:20:52 -07:00
Peter Steinberger
74a57ace10
refactor(plugins): lazy load provider runtime shims 2026-03-15 18:20:52 -07:00
Peter Steinberger
b54e37c71f
feat(plugins): merge openai vendor seams into one plugin 2026-03-15 18:20:52 -07:00
Peter Steinberger
bc5054ce68 refactor(google): merge gemini auth into google plugin 2026-03-16 01:19:32 +00:00
Peter Steinberger
d56559bad7 fix: repair node24 ci type drift 2026-03-16 01:15:31 +00:00