12 Commits
Author SHA1 Message Date
Sayt-0 d50e228ddf fix(paths): preserve native Windows home directory 2026-07-31 16:32:05 +02:00
Sayt-0 5fd42ab2d8 fix(paths): honor HOME across platforms 2026-07-30 11:16:14 +02:00
piyush0049 ca1cbacca5 fix: resolve A2A silent failure and cross-platform test stability on Windows 2026-07-21 14:59:59 +05:30
David Gageot 537d066a06 chore: address lint findings in TUI embedding helpers 2026-06-11 17:41:53 +02:00
David Gageot d68e1964c9 feat(paths): add SetRoot to re-home all agent state in one call
Embedders that isolate the embedded agent's state from a docker-agent
installation (e.g. the Gordon assistant in Docker Sandboxes, which homes
everything under ~/.sbx/gordon) currently call the three per-directory
setters with hand-built subpaths. SetRoot owns that layout in one place.
2026-06-11 17:23:44 +02:00
David Gageot cb001a241b Remove package to github.com/docker/docker-agent
Signed-off-by: David Gageot <david.gageot@docker.com>
2026-03-09 12:04:59 +01:00
David Gageot 5aed75d972 Fix cobra command and rename more things from cagent to docker agent
Signed-off-by: David Gageot <david.gageot@docker.com>
2026-03-07 19:20:39 +01:00
David Gageot 9fabf375f4 Add --config-dir and --data-dir global CLI flags to override default paths
Add SetCacheDir, SetConfigDir, and SetDataDir to the paths package,
allowing callers to override the default ~/.config/cagent and ~/.cagent
directories at runtime. The getters check for an override (protected by
a RWMutex) before falling back to the platform-specific defaults.

Two new persistent flags are wired in the root command:
  --config-dir  overrides ~/.config/cagent
  --data-dir    overrides ~/.cagent

These are applied in PersistentPreRunE before logging and telemetry
initialization so all downstream consumers honour the overrides. This
is useful when running cagent inside a sandbox where the home directory
is not writable or mapped to a non-standard location.

Assisted-By: cagent
2026-03-03 18:52:47 +01:00
Djordje Lukic 0ab3e4987c Implement remote skills discovery with disk cache and dedicated tools
Add support for remote skill sources via the well-known skills discovery
spec (https://github.com/cloudflare/agent-skills-discovery-rfc). The
skills config now accepts both the existing boolean form and a list of
sources:

  skills: true          # equivalent to ["local"]
  skills:
    - local
    - https://example.com

Remote skills are fetched from /.well-known/skills/index.json, and all
files listed in the index are prefetched into a disk cache under the
XDG cache directory (~/.cache/cagent/skills/ on Linux). Cache-Control
headers are respected for expiry.

Instead of depending on read_file/fetch tools, skills now get their own
dedicated toolset (SkillsToolset) with two tools:
- read_skill: loads a skill's SKILL.md by name
- read_skill_file: loads supporting resources (references, scripts,
  assets) by skill name and relative path

The agent never sees whether a skill is local or remote. The toolset
handles progressive disclosure per the spec: only name+description at
startup, SKILL.md on activation, supporting files on demand.

Other changes:
- Replace Skills *bool config field with SkillsConfig supporting both
  bool and list-of-sources YAML/JSON formats
- Add paths.GetCacheDir() using os.UserCacheDir() for XDG compliance
- Remove skills system prompt injection from session.go (now handled
  by the toolset's Instructable interface)
- Remove filesystem/read_file validation requirement for skills
- Validate skill sources (must be "local" or HTTP/HTTPS URL)

Assisted-By: cagent
2026-02-23 08:05:47 +01:00
pnkcaht 56cad5ab28 docs(paths): add clarifying comments for config and data dirs
Signed-off-by: pnkcaht <samzoovsk19@gmail.com>
2026-01-20 20:41:12 -05:00
Jean-Laurent de Morlhon 9e77bab5e4 Refactor GetHomeDir in a single function
Signed-off-by: Jean-Laurent de Morlhon <jeanlaurent@morlhon.net>
2025-12-08 16:09:52 +01:00
David Gageot 9d9cafae6f Move the rest of internal to pkg
Signed-off-by: David Gageot <david.gageot@docker.com>
2025-09-16 12:46:38 +02:00