Oriboto
10f7436a68
feat: agent event hooks, thinking lifecycle, and token usage for plugins
...
- Add thinking_start/thinking_end plugin hooks with durationMs tracking
- Add token usage (input/output/cache) and toolCallCount to agent_end hook
- Expose onAgentEvent() in plugin API with optional sessionKey filtering
- Gate onAgentEvent behind registrationMode='full' to prevent listener leaks
- Emit synthetic thinking_start before orphaned thinking_end events
- Track toolCallCount independently of compaction retry resets
- Fire thinking hooks for <think> tag reasoning flows (not just native events)
- Hoist tag transition tracking outside if(next) gate for pure-thinking chunks
2026-03-16 16:16:54 -05:00
Vincent Koc
7b2a7da549
Gateway: import normalizeAgentId in hooks
2026-03-15 23:20:11 -07:00
Vincent Koc
853d8c0d8e
Tests: cover plugin capability matrix
2026-03-15 23:17:58 -07:00
Vincent Koc
81d3c6c909
Tests: fix Feishu full registration mock
2026-03-15 23:13:45 -07:00
Vincent Koc
ed82c7e57b
Status: lazy-load tailscale and memory scan deps
2026-03-15 23:12:27 -07:00
Peter Steinberger
f0f934556e
build: remove land gate script
2026-03-16 06:08:41 +00:00
Tak Hoffman
fa62231afc
feishu: add structured card actions and interactive approval flows ( #47873 )
...
* feishu: add structured card actions and interactive approval flows
* feishu: address review fixes and test-gate regressions
* feishu: hold inflight card dedup until completion
* feishu: restore fire-and-forget bot menu handling
* feishu: format card interaction helpers
* Feishu: add changelog entry for card interactions
* Feishu: add changelog entry for ACP session binding
2026-03-16 01:07:09 -05:00
Peter Steinberger
aa97368f7d
test: add openshell sandbox e2e smoke
2026-03-15 23:02:36 -07:00
Peter Steinberger
ddd34b6cc3
refactor(plugins): simplify provider auth choice metadata
2026-03-15 23:01:12 -07:00
Vincent Koc
c4b18ab3c9
Status: split lightweight gateway agent list
2026-03-15 22:55:27 -07:00
Vincent Koc
d47fc009de
Config: keep native command defaults off heavy channel registry
2026-03-15 22:55:27 -07:00
Vincent Koc
5f42389d8d
Security: lazy-load audit config snapshot IO
2026-03-15 22:55:26 -07:00
Vincent Koc
a2119efe1c
Security: lazy-load deep skill audit helpers
2026-03-15 22:55:26 -07:00
Vincent Koc
4cb46f223c
Security: trim audit policy import surfaces
2026-03-15 22:55:26 -07:00
Vincent Koc
ebfd32efc3
Status: split heartbeat summary helpers
2026-03-15 22:55:26 -07:00
Peter Steinberger
0a6f22a694
docs: sync config baseline
2026-03-16 05:54:58 +00:00
Peter Steinberger
465567b1eb
test: fix setup wizard smoke mocks
2026-03-16 05:54:58 +00:00
Peter Steinberger
2852eab323
build: add land gate parity script
2026-03-16 05:54:16 +00:00
Peter Steinberger
ecaafb6a4f
refactor: unify telegram interactive button resolution
2026-03-16 05:54:16 +00:00
Peter Steinberger
ff558862f0
refactor: extract discord shared interactive mapper
2026-03-16 05:54:16 +00:00
Peter Steinberger
7bea559166
refactor: unify reply content checks
2026-03-16 05:54:16 +00:00
Peter Steinberger
3963408871
refactor: split plugin interactive dispatch adapters
2026-03-16 05:53:35 +00:00
Peter Steinberger
9cd9c7a488
refactor: split slack block action handling
2026-03-16 05:53:35 +00:00
Peter Steinberger
2580b81bd2
refactor: move channel capability diagnostics into plugins
2026-03-15 22:53:03 -07:00
Peter Steinberger
f9e185887f
docs: restore onboard docs references
2026-03-16 05:50:57 +00:00
Peter Steinberger
2acbea0da7
docs: restore onboard as canonical setup command
2026-03-16 05:50:57 +00:00
Peter Steinberger
55cbfb6e6a
refactor(plugins): move provider onboarding auth into plugins
2026-03-15 22:43:10 -07:00
Peter Steinberger
0b58a1cc13
fix: stabilize windows parallels smoke harness
2026-03-15 22:41:35 -07:00
Peter Steinberger
ad97c581e2
refactor: move channel messaging hooks into plugins
2026-03-15 22:39:00 -07:00
Peter Steinberger
680eff63fb
fix: land SIGUSR1 orphan recovery regressions ( #47719 ) (thanks @joeykrug)
2026-03-15 22:32:36 -07:00
bot_apk
98f6ec50aa
fix: address 6 review comments on PR #47719
...
1. [P1] Treat remap failures as resume failures — if replaceSubagentRunAfterSteer
returns false, do NOT clear abortedLastRun, increment failed count.
2. [P2] Count scan-level exceptions as retryable failures — set result.failed > 0
in the outer catch block so scheduleOrphanRecovery retry logic triggers.
3. [P2] Persist resumed-session dedupe across recovery retries — accept
resumedSessionKeys as a parameter; scheduleOrphanRecovery lifts the Set to
its own scope and passes it through retries.
4. [Greptile] Use typed config accessors instead of raw structural cast for TLS
check in lifecycle.ts.
5. [Greptile] Forward gateway.reload.deferralTimeoutMs to deferGatewayRestartUntilIdle
in scheduleGatewaySigusr1Restart so user-configured value is not silently ignored.
6. [Greptile] Same as #4 — already addressed by the typed config fix.
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-03-15 22:32:36 -07:00
Joey Krug
c780b6a6ab
fix: address all review comments on PR #47719 + implement resume context and config idempotency guard
2026-03-15 22:32:36 -07:00
Joey Krug
44304ba24a
fix: add retry with exponential backoff for orphan recovery
...
Addresses Codex review feedback — if recovery fails (e.g. gateway
still booting), retries up to 3 times with exponential backoff
(5s → 10s → 20s) before giving up.
2026-03-15 22:32:36 -07:00
Joey Krug
0311ff05d7
fix: address Greptile review feedback
...
- Remove unrelated pnpm-lock.yaml changes
- Move abortedLastRun flag clearing to AFTER successful resume
(prevents permanent session loss on transient gateway failures)
- Use dynamic import for orphan recovery module to avoid startup
memory overhead
- Add test assertion that flag is preserved on resume failure
2026-03-15 22:32:36 -07:00
Joey Krug
304703f165
fix: resume orphaned subagent sessions after SIGUSR1 reload
...
Closes #47711
After a SIGUSR1 gateway reload aborts in-flight subagent LLM calls, the gateway now scans for orphaned sessions and sends a synthetic resume message to restart their work. Also makes the deferral timeout configurable via gateway.reload.deferralTimeoutMs (default: 5 minutes, up from 90s).
2026-03-15 22:32:36 -07:00
Peter Steinberger
e627a5069f
refactor(plugins): move auth profile hooks into providers
2026-03-15 22:23:55 -07:00
Peter Steinberger
abe7ea4373
fix: accept schtasks Last Result key on Windows ( #47844 ) (thanks @MoerAI)
2026-03-15 22:20:34 -07:00
MoerAI
3e8bc9f16a
fix(daemon): accept 'Last Result' schtasks key variant on Windows ( #47726 )
...
Some Windows locales/versions emit 'Last Result' instead of 'Last Run Result' in schtasks output, causing gateway status to falsely report 'Runtime: unknown'. Fall back to the shorter key when the canonical key is absent.
2026-03-15 22:20:34 -07:00
Peter Steinberger
69c12c2b11
fix(plugins): resolve lazy runtime from package root
2026-03-16 05:12:30 +00:00
Peter Steinberger
d937b61fb3
fix: follow up shared interactive regressions ( #47715 )
2026-03-16 05:03:46 +00:00
Peter Steinberger
823039c000
docs: prefer setup wizard command
2026-03-15 22:01:04 -07:00
Peter Steinberger
f6f0045e0f
test: move setup surface coverage
2026-03-15 22:01:04 -07:00
Peter Steinberger
5c120cb36c
refactor: make setup the primary wizard surface
2026-03-15 22:01:04 -07:00
Vincent Koc
98877dc413
Slack: fail oversized merged block payloads
2026-03-15 21:55:45 -07:00
Vincent Koc
0277aa0159
Slack: fix review regressions
2026-03-15 21:55:45 -07:00
Vincent Koc
c7d31bae8a
Channels: centralize shared interactive rendering
2026-03-15 21:55:45 -07:00
Vincent Koc
92bea9704e
Channels: add message action capabilities
2026-03-15 21:55:45 -07:00
Vincent Koc
69a85325c3
Matrix: guard optional outbound handlers
2026-03-15 21:55:45 -07:00
Vincent Koc
e77aa26af6
Slack: test shared interactive renderer
2026-03-15 21:55:45 -07:00
Vincent Koc
6ed8ad1844
Discord: test shared interactive renderer
2026-03-15 21:55:45 -07:00