Commit Graph
818 Commits
Author SHA1 Message Date
Dark-Alex-17 7f5b75dbdf fix: properly anchored the role frontmatter regex so it doesn't catch in-instruction separators 2026-09-09 13:23:33 -06:00
Dark-Alex-17 dbec2f77d1 fix: support non-object tool result outputs for bedrock 2026-09-09 12:32:54 -06:00
Dark-Alex-17 13ebe04472 feat: support setting the tool_timeout in the main config file instead of only via an environment variable 2026-09-08 17:22:21 -06:00
Dark-Alex-17 695153f88e feat: Added new environment variable to force showing tool call logging when not in a tty 2026-09-08 16:47:40 -06:00
Dark-Alex-17 4651658b34 fix: suppress subagent error and warning output to stderr/stdout 2026-09-08 11:24:43 -06:00
Dark-Alex-17 a0dc4550b1 feat: added a clear line separator for the end of LLM turns to make it more clear where they are 2026-09-03 22:01:54 -06:00
Dark-Alex-17 f66036e9d8 feat: sort models by release date 2026-09-03 21:48:10 -06:00
Dark-Alex-17 eaab57375e fix: --generate-models parsed before vault initialization 2026-09-03 19:55:03 -06:00
Dark-Alex-17 206f36d826 fix: drive tool rounds iteratively instead of recursively to prevent stack overflow on long agentic turns to fix latent stack overflow recursion bug 2026-09-03 16:09:41 -06:00
Dark-Alex-17 cb5b46800f feat: support auto continuation in subagents and prevent them from calling todo__pause 2026-09-03 15:50:00 -06:00
Dark-Alex-17 101b706be5 fix: session replays now include mid-turn messages so the full session gets replayed 2026-09-03 15:12:49 -06:00
Dark-Alex-17 9a5f587e74 test: deflake windows graph script tests
python3 first-start on fresh Windows runners (AV interpreter scans) blew
the 5s/10s/30s script timeouts. Drop the incidental python3 spawns from
the bash fixtures (pure-bash JSON extraction) and give the genuinely
python tests 60s headroom.
2026-09-03 14:09:14 -06:00
Dark-Alex-17 74b8c17392 perf: probe models-override staleness in the background refresh task 2026-09-03 13:48:02 -06:00
Dark-Alex-17 67cf8e42d9 docs: removed trailing whitespace in models.yaml generated header 2026-09-03 13:38:10 -06:00
Dark-Alex-17 154330c5a0 fix: resolve duplicate model ids by requested type 2026-09-03 13:25:37 -06:00
Dark-Alex-17 b50b033520 style: Removed redundant comments 2026-09-03 13:09:42 -06:00
Dark-Alex-17 3b01ae8f18 fix: let ctrl-c interrupt blocking job and agent collects 2026-09-03 13:03:10 -06:00
Dark-Alex-17 dc41e9d5df style: Cleaned up comments and organization of quirks.yaml file 2026-09-03 12:40:08 -06:00
Dark-Alex-17 49bd5d86b4 fix: skip terminal color-scheme queries in test builds 2026-09-03 12:35:12 -06:00
Dark-Alex-17 41d5fa9800 fix: memoize quirk glob patterns and isolate concurrent override writes 2026-09-03 11:17:58 -06:00
Dark-Alex-17 012212a998 feat: apply provider quirks to models created from a name
Unknown chat/reranker models resolved through the create-from-name
fallback now inherit their provider's family rules (require_max_tokens,
reasoning defaults, etc.) from the quirks overlay, and the model
completion table marks reasoning-capable models with a brain glyph.
2026-09-03 11:17:58 -06:00
Dark-Alex-17 f1cb6589bc feat: refresh the model catalog from live API data at runtime 2026-09-03 11:17:58 -06:00
Dark-Alex-17 539b57aded feat: generate the model catalog from live API data
Add a hidden --generate-models flag that rebuilds models.yaml from
models.dev and OpenRouter merged with the hand-owned quirks overlay,
regenerate the committed catalog with it (393 -> 1090 models), and
retire the Python updater. GitHub becomes fully quirks-owned since
upstream only tracks Copilot ids, legacy ids upstream dropped are
preserved as hand-owned quirks entries, and non-chat model families
(image/tts/audio/realtime) are excluded from generation.
2026-09-03 11:17:58 -06:00
Dark-Alex-17 2d7a759fc0 feat: add model catalog source adapters and merge engine 2026-09-03 11:17:58 -06:00
Dark-Alex-17 078e5c757d feat: add hand-owned model quirks overlay 2026-09-03 11:17:58 -06:00
Dark-Alex-17 af7d37890c fix: children subagents couldn't properly send messages to parent inboxes 2026-09-02 14:18:16 -06:00
Dark-Alex-17 c0a17031c5 feat: added tab completions to --update-bundle flag 2026-09-01 12:53:24 -06:00
Dark-Alex-17 affa5e7cef feat: added a dedicated config_dir output to coyote --info/.info 2026-09-01 10:51:41 -06:00
Dark-Alex-17 016f2654e4 fix: make binary shims for custom tools cross-device compatible so users can't accidentally break sandboxes via sbx cp ~/.config/coyote <sbx-name>:/home/agent/.config 2026-08-31 13:48:56 -06:00
Dark-Alex-17 f0661b4ea4 feat: Support Linux ARM64 GNU 2026-08-28 22:49:58 -06:00
Dark-Alex-17 0946e3ec64 feat: Note that duckdb RAG driver is unavailable on MUSL Linux builds when initializing a RAG so users know when using the binary, not just based on docs 2026-08-28 22:35:39 -06:00
Dark-Alex-17 65e6249adb feat: updated coyote installation scripts to detect when gnu is installable 2026-08-28 22:23:31 -06:00
Dark-Alex-17 18c2cfeb41 fix: Prefer GNU linux builds in install scripts for duckdb support, and gate duckdb support on linux hosts that are MUSL until MUSL support is added 2026-08-28 20:06:39 -06:00
Dark-Alex-17 5039b74926 test: fix Windows crlf issue and pin the template to lf to prevent future regressions 2026-08-28 18:03:12 -06:00
Dark-Alex-17 176a81412a feat: improved first-time run experience and included a templated configuration file that now has comments like the config.example.yaml so users don't have to go to the repo to see all the knobs
CI / All (ubuntu-latest) (push) Failing after 29s
CI / All (macos-latest) (push) Canceled after 0s
CI / All (windows-latest) (push) Canceled after 0s
2026-08-28 15:15:10 -06:00
Dark-Alex-17 f323c919f5 feat(repl): color .info mcp-server verdicts and complete only running servers 2026-08-28 12:32:45 -06:00
Dark-Alex-17 544a6bbbbc feat(cli): rename mcp_config asset category to mcp-config with snake_case alias 2026-08-28 12:22:21 -06:00
Dark-Alex-17 1e15bc31d5 style: applied uniform style across files 2026-08-28 11:35:45 -06:00
Dark-Alex-17 c170d08654 fix(mcp): omit declared-but-empty prompt/resource capabilities from .info mcp-server 2026-08-28 11:33:03 -06:00
Dark-Alex-17 c707aaf3ee fix(mcp): annotate declared-but-empty prompt/resource capabilities in .info mcp-server 2026-08-28 10:48:43 -06:00
Dark-Alex-17 e7811a6b87 feat(mcp): add .info mcp-server, .set mcp_tools, and filtered-server listing to the REPL 2026-08-27 15:45:39 -06:00
Dark-Alex-17 c0224e20cb test(mcp): drive session re-attach and RAG attach filter guards through their real entry points
- use_session_applies_persisted_mcp_tools_immediately now loads a session
  file from disk through the real use_session, proving the post-assignment
  filter refresh applies a re-attached session's persisted allowlist.
- New use_rag_does_not_drop_role_filters loads a yaml-driver RAG through
  the real use_rag and proves the tool-scope rebuild recomputes the role's
  filter layer instead of dropping it.
- Seed the process-wide client/model registries in a pre-main ctor (new
  ctor dev-dependency) so model resolution is deterministic across test
  orderings; the seed exposes only an embedding model so tests that assert
  'no chat model available' keep their premise.
2026-08-27 15:12:22 -06:00
Dark-Alex-17 92d9464b38 feat(mcp): enforce per-server tool allowlists across runtime, jobs, agents, and graph nodes 2026-08-27 14:43:18 -06:00
Dark-Alex-17 a92ebb5b94 feat(mcp): add mcp_tools allowlist config surfaces across roles, sessions, agents, graphs, and skills 2026-08-27 14:13:35 -06:00
Dark-Alex-17 5711432ac4 feat(mcp): add per-server tool allowlist policy module and allowedTools config field 2026-08-27 13:37:46 -06:00
Dark-Alex-17 ee45e42013 fix: also support the .continue edge case for session crashing checkpointing 2026-08-27 12:55:26 -06:00
Dark-Alex-17 3d640b9efa fix: checkpoint sessions that crash for easy resuming 2026-08-27 12:49:07 -06:00
Dark-Alex-17 2efeda0ba7 fix: job__check ring buffer also collects file output for LLM_OUTPUT as well as stdout 2026-08-27 12:17:34 -06:00
Dark-Alex-17 df62c32822 feat: support mcp.json in the root of bundle repos as well as in the legacy functions directory 2026-08-26 15:48:16 -06:00
Dark-Alex-17 3762bbe09f feat: prefer ~/.config/coyote/mcp.json for the user-scope MCP config
The user-scope MCP config historically lived at
<config-dir>/functions/mcp.json, a leftover from when MCP support was
part of the llm-functions tooling. It now resolves through a single
choke point with these semantics:

- Preferred location: <config-dir>/mcp.json (created there on first run)
- Historical <config-dir>/functions/mcp.json still honored when the
  preferred file does not exist, so existing installs are unchanged
- If both exist, the preferred location wins

--info/.info now reports the resolved location as mcp_config_file, and
the --scope help text plus config.agent.example.yaml reference the new
default. This also removes the asymmetry with the workspace scope,
which already used .coyote/mcp.json directly.
2026-08-26 15:34:20 -06:00