Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
74 commits
Select commit Hold shift + click to select a range
d080dc2
fix(gateway): skip topic recovery for non-DM messages
evgyur Jul 26, 2026
f1da9d0
fix(docker): skip redundant stage2 chown walks
LeonSGP43 Jul 11, 2026
4983c57
fix(docker): gate the remaining every-boot chown walks (cron, pairing)
kshitijk4poor Aug 2, 2026
0d9f17f
chore: add contributor email mapping for ZachariahChu
kshitijk4poor Aug 2, 2026
9060e3c
Merge pull request #76921 from kshitijk4poor/chore-zachariahchu-email
kshitijk4poor Aug 2, 2026
5d1875f
chore: map rkt.2@hotmail.com to sparkeros
kshitijk4poor Aug 2, 2026
68a7839
Merge pull request #76927 from kshitijk4poor/chore/attrib-sparkeros
kshitijk4poor Aug 2, 2026
a50bd2a
chore: add contributor email mapping for JeffStone69
kshitijk4poor Aug 2, 2026
ca10ac5
Merge pull request #76929 from kshitijk4poor/chore-jeffstone-email
kshitijk4poor Aug 2, 2026
9929743
fix(auth): memoize resolve_nous_access_token to collapse startup burst
JeffStone69 Jul 17, 2026
06b4f64
fix(auth): memoize the valid-token fast path too, add memo tests
kshitijk4poor Aug 2, 2026
d15b638
fix(compression): let explicit interrupts cancel safely
suparious Aug 2, 2026
4ea379c
fix(gateway): timed-out turn abandonment is an explicit hard stop
kshitijk4poor Aug 2, 2026
de0ce24
perf(cli): cap /model picker custom-endpoint probe at 1.5s
ZachariahChu Jul 26, 2026
45c15d3
test: update fetch_api_models call-shape assertions for explicit timeout
kshitijk4poor Aug 2, 2026
fe497d8
test(update): make EOL-churn dirtiness deterministic under racy-git s…
teknium1 Aug 2, 2026
696fae8
fix(agent): strip UTF-8 BOM when loading profile .env into secret scope
fangliquanflq Jul 23, 2026
55abf20
fix(agent): unescape quoted .env values in secret_scope.load_env_file
spfcraze Jul 30, 2026
3fb066c
fix(agent): dotenv-compatible inline-comment stripping in load_env_file
teknium1 Aug 2, 2026
f7efe3d
fix(weixin): Slack-pattern secret scoping for WEIXIN_* credential reads
teknium1 Aug 2, 2026
4464014
fix(secrets): allowlist API_SERVER listener settings as global deploy…
teknium1 Aug 2, 2026
062d44b
fix(xai): fail closed in xai_http.get_env_value — honor get_secret's …
rayjun Aug 2, 2026
d7404f1
fix(secrets): Slack-pattern scoped credential reads — IRC, LINE, Team…
teknium1 Aug 2, 2026
6333180
fix(secrets): Slack-pattern scoped credential reads — ntfy, Home Assi…
teknium1 Aug 2, 2026
f4b268b
fix(secrets): Slack-pattern scoped credential reads — Feishu, WeCom, …
teknium1 Aug 2, 2026
7d4c8f9
fix(secrets): scoped BLUEBUBBLES_PASSWORD + API_SERVER_KEY init read;…
teknium1 Aug 2, 2026
224e59d
fix(qqbot): resolve credentials under the active profile secret scope
Da7-Tech Jul 7, 2026
e8c5cb5
fix(qqbot): scope the authz, startup-validation, and direct-send QQ r…
Da7-Tech Jul 16, 2026
4804c58
test(qqbot): pin the scoped platform user-allowlist authz read
Da7-Tech Jul 16, 2026
ed99868
test(qqbot): mark environ-opt-in isolation case xfail pending authz_m…
teknium1 Aug 2, 2026
f08f403
fix(email): honor profile secret scope for email adapter env reads
Jul 5, 2026
ff89f1b
fix(email): Slack-pattern helper for unscoped default-profile adapter…
teknium1 Aug 2, 2026
6dec4bf
fix(tui_gateway): install the parent profile's secret scope on sessio…
Frowtek Jul 26, 2026
e4306ac
chore(contributors): map salvaged PR author emails (#60420, #59076)
teknium1 Aug 2, 2026
dbbfcff
fix(secrets): route authz gate and pairing allowlist reads through th…
teknium1 Aug 2, 2026
359ff01
fix(secrets): scope-aware standalone-send and startup credential read…
teknium1 Aug 2, 2026
5c6cc38
fix(secrets): scope-aware credential reads in core tool/gateway/web-s…
teknium1 Aug 2, 2026
ca5ce11
fix(secrets): route auxiliary-client provider key reads through the p…
teknium1 Aug 2, 2026
5239b4d
fix(secrets): scope-aware Azure credential presence reads in identity…
teknium1 Aug 2, 2026
2c9bbda
test(secrets): consolidated tier-1 migration regression suite
teknium1 Aug 2, 2026
50c4afe
perf(gateway): single-row routing UPSERT fast path for metadata-only …
Soju06 Jul 14, 2026
54eafee
refactor(gateway): single allocator for the shared routing counter
kshitijk4poor Aug 2, 2026
958ffd1
perf(memory): store holographic vectors as float32
JabberELF May 22, 2026
7a450ca
fix(memory): resolve dim=1 float32/float64 blob ambiguity
JabberELF Jul 13, 2026
94b10ec
feat(memory/hindsight): order background prefetch after pending retains
Jul 11, 2026
1be353b
fix(memory/hindsight): gate prefetch on server-side retain completion…
Jul 12, 2026
9bbd956
fix(memory/hindsight): evict timed-out retain ops + coarser status polls
kshitijk4poor Aug 2, 2026
74b28c8
fix(secrets): scope memory plugin credential reads (hindsight/honcho/…
teknium1 Aug 2, 2026
a23ede5
fix(secrets): scope image_gen plugin credential reads (openai/deepinf…
teknium1 Aug 2, 2026
2438305
fix(secrets): scope browser plugin credential reads (browser_use/brow…
teknium1 Aug 2, 2026
ebd61ce
fix(secrets): scope tier-3 credential reads (teams_pipeline, deepinfr…
teknium1 Aug 2, 2026
99533f7
fix(secrets): resolve google_meet realtime key via secret scope at sp…
teknium1 Aug 2, 2026
da43a85
feat(mem): config-driven allocator trim with telemetry and lifecycle …
RyderFreeman4Logos Jul 17, 2026
3fad8fd
polish(mem): readonly config read, debug-level trim logs, loud frame …
kshitijk4poor Aug 2, 2026
c575351
fix(mem): 5s force floor so delegate-batch closes don't stack trims
kshitijk4poor Aug 2, 2026
acfb40c
perf(tools): negative-result cache for read_file + search misses
KentTeague May 14, 2026
4fa8d7b
fix(tools): staleness + tracking-parity fixes for the not-found cache
kshitijk4poor Aug 2, 2026
9b50a99
refactor(tools): existence stat outside the global tracker lock
kshitijk4poor Aug 2, 2026
0137799
fix(agent): fail fast on custom-provider /models auth errors
bounce12340 Jul 23, 2026
9d7c2d4
fix: _check_disk_usage_warning runs full rglob on every terminal call
amathxbt May 9, 2026
69f68e5
chore: map jesse.casco@gmail.com to FixItFoundry
kshitijk4poor Aug 2, 2026
710b026
Merge pull request #76966 from kshitijk4poor/chore/attrib-fixitfoundry
kshitijk4poor Aug 2, 2026
47fa438
fix(serve): cache /api/status profile-gateway topology scan
lost9999 Jul 25, 2026
af077ef
fix(api_server): run the cron-fire token verifier off the event loop
Frowtek Jul 16, 2026
94a0a06
chore: add contributor email mapping for wayne1992127
kshitijk4poor Aug 2, 2026
2bf2bc1
Merge pull request #76976 from kshitijk4poor/chore-wayne-email
kshitijk4poor Aug 2, 2026
9eb8e20
fix: use lazy logging with %s formatting in logger calls
AlexFucuson9 Jun 30, 2026
d5cf89f
fix(tool-executor): use lazy logging format in debug calls
annguyenNous Aug 2, 2026
2a2e6ee
fix(gateway): reap orphans on stop_profile_gateway (#75936)
RelaxJonh Aug 2, 2026
fe9bdd1
fix: exclude killed PID from orphan sweep, fix test, add regression test
kshitijk4poor Aug 2, 2026
579672d
fix(desktop): keep cold gateway config off event loop
wayne1992127 Jul 27, 2026
70a3c2d
perf(discord): stream voice PCM to ffmpeg instead of a temp file
FixItFoundry Jul 20, 2026
c2ff2e8
polish(discord): surface ffmpeg stderr on pcm_to_wav failure
kshitijk4poor Aug 2, 2026
4092ca5
test(tools): pin the WSL2 PowerShell TTS fallback in voice tests
spfcraze Aug 2, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 3 additions & 2 deletions acp_adapter/server.py
Original file line number Diff line number Diff line change
Expand Up @@ -78,6 +78,7 @@
COMPRESSED_SUMMARY_METADATA_KEY,
ContextCompressor,
)
from agent.interrupt_compat import request_hard_interrupt
from tools.approval import (
reset_hermes_interactive_context,
set_hermes_interactive_context,
Expand Down Expand Up @@ -1547,8 +1548,8 @@ async def cancel(self, session_id: str, **kwargs: Any) -> None:
# redirectable work.
state.cancel_event.set()
try:
if getattr(state, "agent", None) and hasattr(state.agent, "interrupt"):
state.agent.interrupt()
if getattr(state, "agent", None):
request_hard_interrupt(state.agent)
except Exception:
logger.debug(
"Failed to interrupt ACP session %s",
Expand Down
3 changes: 3 additions & 0 deletions agent/agent_init.py
Original file line number Diff line number Diff line change
Expand Up @@ -765,6 +765,9 @@ def init_agent(
# Interrupt mechanism for breaking out of tool loops
agent._interrupt_requested = False
agent._interrupt_message = None # Optional message that triggered interrupt
# Explicit hard cancellation is separate from redirect/message state. A
# thread-safe Event makes the cause atomic for auxiliary stream pollers.
agent._hard_interrupt_requested = threading.Event()
agent._execution_thread_id: int | None = None # Set at run_conversation() start
agent._interrupt_thread_signal_pending = False
agent._client_lock = threading.RLock()
Expand Down
6 changes: 3 additions & 3 deletions agent/agent_runtime_helpers.py
Original file line number Diff line number Diff line change
Expand Up @@ -151,7 +151,7 @@ def convert_to_trajectory_format(agent, messages: List[Dict[str, Any]], user_que
except json.JSONDecodeError:
# This shouldn't happen since we validate and retry during conversation,
# but if it does, log warning and use empty dict
logger.warning(f"Unexpected invalid JSON in trajectory conversion: {tool_call['function']['arguments'][:100]}")
logger.warning("Unexpected invalid JSON in trajectory conversion: %s", tool_call['function']['arguments'][:100])
arguments = {}

tool_call_json = {
Expand Down Expand Up @@ -1210,7 +1210,7 @@ def _rotate_failed_credential(rotate_status: int):
refreshed_id,
)
return False, has_retried_429
_ra().logger.info(f"Credential auth failure — refreshed pool entry {getattr(refreshed, 'id', '?')}")
_ra().logger.info("Credential auth failure — refreshed pool entry %s", getattr(refreshed, 'id', '?'))
agent._swap_credential(refreshed)
return True, has_retried_429
# Refresh failed — rotate to next credential instead of giving up.
Expand Down Expand Up @@ -1835,7 +1835,7 @@ def dump_api_request_debug(
return dump_file
except Exception as dump_error:
if agent.verbose_logging:
logger.warning(f"Failed to dump API request debug payload: {dump_error}")
logger.warning("Failed to dump API request debug payload: %s", dump_error)
return None


Expand Down
Loading
Loading