Commit graph

238 commits

Author SHA1 Message Date
forgejo-actions[bot]
688b23da82 chore(release): bump version to v0.1.39-alpha
All checks were successful
bump-version / bump (push) Successful in 2s
2026-08-03 06:40:21 +00:00
forgejo-actions[bot]
5e667be903 chore(release): bump version to v0.1.38-alpha
All checks were successful
bump-version / bump (push) Successful in 2s
2026-08-03 06:40:16 +00:00
forgejo-actions[bot]
8de44e4b01 chore(release): bump version to v0.1.37-alpha
All checks were successful
bump-version / bump (push) Successful in 2s
2026-08-03 06:40:14 +00:00
forgejo-actions[bot]
3a88b9ac26 chore(release): bump version to v0.1.36-alpha
Some checks failed
bump-version / bump (push) Has been cancelled
2026-08-03 06:40:09 +00:00
forgejo-actions[bot]
50528de0da chore(release): bump version to v0.1.35-alpha
All checks were successful
bump-version / bump (push) Successful in 3s
2026-08-03 06:40:04 +00:00
forgejo-actions[bot]
c2adfe30d7 chore(release): bump version to v0.1.34-alpha
All checks were successful
bump-version / bump (push) Successful in 2s
2026-08-03 06:39:59 +00:00
forgejo-actions[bot]
41caa87963 chore(release): bump version to v0.1.33-alpha
All checks were successful
bump-version / bump (push) Successful in 2s
2026-08-03 06:39:55 +00:00
forgejo-actions[bot]
084ef211b0 chore(release): bump version to v0.1.32-alpha
All checks were successful
bump-version / bump (push) Successful in 3s
2026-08-03 06:39:52 +00:00
forgejo-actions[bot]
0c0f8e5259 chore(release): bump version to v0.1.31-alpha
Some checks failed
bump-version / bump (push) Has been cancelled
2026-08-03 06:39:47 +00:00
forgejo-actions[bot]
99b83b2d24 chore(release): bump version to v0.1.30-alpha
All checks were successful
bump-version / bump (push) Successful in 2s
2026-08-03 06:39:43 +00:00
forgejo-actions[bot]
402544b4db chore(release): bump version to v0.1.29-alpha
All checks were successful
bump-version / bump (push) Successful in 2s
2026-08-03 06:39:40 +00:00
forgejo-actions[bot]
dd6498bb86 chore(release): bump version to v0.1.28-alpha
Some checks failed
bump-version / bump (push) Has been cancelled
2026-08-03 06:39:36 +00:00
forgejo-actions[bot]
cea9aa9727 chore(release): bump version to v0.1.27-alpha
All checks were successful
bump-version / bump (push) Successful in 2s
2026-08-03 06:39:32 +00:00
forgejo-actions[bot]
2fad604ba7 chore(release): bump version to v0.1.26-alpha
All checks were successful
bump-version / bump (push) Successful in 2s
2026-08-03 06:39:29 +00:00
forgejo-actions[bot]
e7c7a9984a chore(release): bump version to v0.1.25-alpha
All checks were successful
bump-version / bump (push) Successful in 3s
2026-08-03 06:39:24 +00:00
forgejo-actions[bot]
480cf45c83 chore(release): bump version to v0.1.24-alpha
All checks were successful
bump-version / bump (push) Successful in 2s
2026-08-03 06:39:20 +00:00
forgejo-actions[bot]
da14f25b54 chore(release): bump version to v0.1.23-alpha
All checks were successful
bump-version / bump (push) Successful in 2s
2026-08-03 06:39:15 +00:00
forgejo-actions[bot]
fb2f18ebd9 chore(release): bump version to v0.1.22-alpha
All checks were successful
bump-version / bump (push) Successful in 2s
2026-08-03 06:39:11 +00:00
forgejo-actions[bot]
02a98900b6 chore(release): bump version to v0.1.21-alpha
All checks were successful
bump-version / bump (push) Successful in 2s
2026-08-03 06:39:07 +00:00
forgejo-actions[bot]
81651524c0 chore(release): bump version to v0.1.20-alpha
All checks were successful
bump-version / bump (push) Successful in 2s
2026-08-03 06:39:04 +00:00
forgejo-actions[bot]
6b26190827 chore(release): bump version to v0.1.19-alpha
Some checks failed
bump-version / bump (push) Has been cancelled
2026-08-03 06:38:59 +00:00
forgejo-actions[bot]
162ec8cc26 chore(release): bump version to v0.1.18-alpha
All checks were successful
bump-version / bump (push) Successful in 2s
2026-08-03 06:38:55 +00:00
forgejo-actions[bot]
a842d95abb chore(release): bump version to v0.1.17-alpha
All checks were successful
bump-version / bump (push) Successful in 3s
2026-08-03 06:38:50 +00:00
forgejo-actions[bot]
0e24715e18 chore(release): bump version to v0.1.16-alpha
All checks were successful
bump-version / bump (push) Successful in 2s
2026-08-03 06:38:46 +00:00
forgejo-actions[bot]
8fd38f4b69 chore(release): bump version to v0.1.15-alpha
All checks were successful
bump-version / bump (push) Successful in 2s
2026-08-03 06:38:42 +00:00
forgejo-actions[bot]
3446c61d47 chore(release): bump version to v0.1.14-alpha
All checks were successful
bump-version / bump (push) Successful in 3s
2026-08-03 06:38:37 +00:00
forgejo-actions[bot]
47b09a570a chore(release): bump version to v0.1.13-alpha
All checks were successful
bump-version / bump (push) Successful in 2s
2026-08-03 06:38:33 +00:00
forgejo-actions[bot]
b7f925371b chore(release): bump version to v0.1.12-alpha
All checks were successful
bump-version / bump (push) Successful in 3s
2026-08-03 06:38:28 +00:00
forgejo-actions[bot]
c46f9b5e22 chore(release): bump version to v0.1.11-alpha
All checks were successful
bump-version / bump (push) Successful in 2s
2026-08-03 06:38:24 +00:00
forgejo-actions[bot]
b854f35fd6 chore(release): bump version to v0.1.10-alpha
All checks were successful
bump-version / bump (push) Successful in 2s
2026-08-03 06:38:20 +00:00
forgejo-actions[bot]
8ef93141a0 chore(release): bump version to v0.1.9-alpha
All checks were successful
bump-version / bump (push) Successful in 2s
2026-08-03 06:38:15 +00:00
forgejo-actions[bot]
96bb689911 chore(release): bump version to v0.1.8-alpha
All checks were successful
bump-version / bump (push) Successful in 2s
2026-08-03 06:38:11 +00:00
forgejo-actions[bot]
10cdb5a696 chore(release): bump version to v0.1.7-alpha
All checks were successful
bump-version / bump (push) Successful in 3s
2026-08-03 06:38:06 +00:00
forgejo-actions[bot]
4c59349687 chore(release): bump version to v0.1.6-alpha
All checks were successful
bump-version / bump (push) Successful in 2s
2026-08-03 06:38:01 +00:00
forgejo-actions[bot]
dbb921d1a2 chore(release): bump version to v0.1.5-alpha
All checks were successful
bump-version / bump (push) Successful in 3s
2026-08-03 06:37:56 +00:00
forgejo-actions[bot]
f67e3b4555 chore(release): bump version to v0.1.4-alpha
All checks were successful
bump-version / bump (push) Successful in 2s
2026-08-03 06:37:52 +00:00
forgejo-actions[bot]
037b792ddf chore(release): bump version to v0.1.3-alpha
All checks were successful
bump-version / bump (push) Successful in 2s
2026-08-03 06:37:47 +00:00
forgejo-actions[bot]
f8a52ef984 chore(release): bump version to v0.1.2-alpha
All checks were successful
bump-version / bump (push) Successful in 2s
2026-08-03 06:37:43 +00:00
forgejo-actions[bot]
5f499d7057 chore(release): bump version to v0.1.1-alpha
All checks were successful
bump-version / bump (push) Successful in 3s
2026-08-03 06:37:38 +00:00
d2b4827bb9 ci: bump actions/setup-go to v7, use public Forgejo host
All checks were successful
bump-version / bump (push) Successful in 2s
2026-08-02 23:37:06 -07:00
727a71bd6e fix(ci): use git clone instead of actions/checkout for Forgejo runner
Some checks failed
bump-version / bump (push) Failing after 1s
2026-08-02 23:21:04 -07:00
ed2b8b675c fix(ci): quote pattern in release-commit check
Some checks failed
bump-version / bump (push) Failing after 2s
2026-08-02 23:07:35 -07:00
6e9211b5a0 ci: automatic version + releases tag
Some checks failed
bump-version / bump (push) Has been cancelled
2026-08-02 18:25:14 -07:00
cde9ac3544
Merge pull request #10 from VictorVargas/feat/multimodal-content-parts
Add multimodal (image/video) content support
2026-07-17 00:11:09 -07:00
49353485e5 feat(agent): thread the new turn through Loop as llm.Message
Run/RunStream took the new turn as a bare string, which had nowhere
to carry ContentPart attachments. Both now take an llm.Message
(Role is forced to RoleUser regardless of what the caller sets), so a
caller building a multimodal turn just fills in Content/Parts on it
instead of the loop needing a second, parallel parameter.
subagent.go and every test call site are updated to wrap their string
prompt as llm.Message{Role: llm.RoleUser, Content: ...} — SubAgent.Run
itself is untouched, it still takes a plain task string.
2026-07-16 22:24:03 -07:00
2f6f5fab1c feat(llm): add multimodal ContentPart/Parts + per-provider serialization
Message gains an optional Parts []ContentPart alongside the existing
plain-text Content, so a turn can carry text plus image/video
attachments. Content stays the single source of truth for every
existing text-only caller (sidebar.go, memory_tools.go, etc. are
untouched); Parts only matters to a provider client when non-empty.

openai and llamacpp (both OpenAI-compatible) serialize Parts into the
standard text/image_url content-array shape; llamacpp additionally
passes video through as a best-effort video_url part, since llama.cpp
itself has no video support but the whole point of this client is the
user's own OpenAI-compatible server sitting in front of a
video-capable model — the server decides whether it understands it,
not this client. anthropic converts image parts to its base64 image
content block, and rejects a video part outright with a clear error:
the Messages API has no video block type at all, so sending one would
just produce a confusing 400 instead.

ProviderCapabilities gains SupportsVideo, true only for llamacpp.
2026-07-16 22:23:54 -07:00
42a415fb7d
Merge pull request #9 from VictorVargas/feat/rag-sandbox-agent-recovery
Taxonomía RAG + auto-captura, sandbox avanzado y recuperación de turnos muertos
2026-07-15 14:58:39 -07:00
8e887c8c78 fix(agent,llamacpp): recover turns killed by unparsed tool calls and reasoning spirals
Two failure modes seen live with Qwen3.6 on llama.cpp ended turns silently
mid-task:

- The model writes its tool call as plain text inside its reasoning, the
  server never parses it, and the round ends with nothing executed. The
  loop now detects the markers and nudges the model to re-issue the call
  for real (max 2 per turn).

- llama.cpp silently ignores the max_thinking_tokens field, so a model in
  a reasoning spiral ran until max_tokens (seen live: 25k+ tokens of
  nonstop thinking, ~20 min). The llamacpp client now enforces the budget
  client-side during Stream: once exceeded while the round is still pure
  reasoning, it cuts with FinishThinkingBudget and aborts the request
  (freeing the server slot); the loop answers with its own corrective
  nudge, on a separate counter.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-15 14:50:45 -07:00
07d1840e7e feat(sandbox): network egress policy, secret redaction, untrusted-content fencing
NetworkPolicy validates scheme/host and re-validates resolved IPs at dial
time and on redirects (DNS-rebinding defense), with cloud metadata
endpoints always blocked. Redact masks known credential shapes (OpenAI/
Anthropic/GitHub/AWS/Slack/Google keys, PEM blocks, JWTs) in tool output.
WrapUntrusted fences fetched web content against prompt injection, paired
with UntrustedContentInstruction for the system prompt.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-15 14:50:45 -07:00
1c0c86de10 feat(rag): memory taxonomy (episodic/semantic/procedural) + episodic auto-capture
Fragments now carry a memory type in metadata (legacy fragments count as
procedural) with SearchByType filtering, and EpisodeCapture summarizes a
finished turn with the local LLM and stores it as episodic memory, so the
agent can answer "what did we do yesterday?". Includes an E2E test against
a live llama.cpp server (gated) and taxonomy unit tests.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-15 14:50:31 -07:00