Commit Graph
13 Commits
Author SHA1 Message Date
Arnaud Héritier 2b6265314f docs: address review feedback on PR #4772
- code-mode: fix approval warning to reflect that handoff/transfer_task stay directly callable (Copilot review comment)
- compaction: remove internals-level paragraph on concurrent compaction (rumpl review comment)
2026-10-31 11:10:32 +00:00
Arnaud Héritier 036a9a7093 docs: update for PR #4754 - keep runtime-handled tools out of code mode
Reflects changes from docker/docker-agent#4754.
Source PR: https://github.com/docker/docker-agent/pull/4754
2026-10-31 05:01:07 +00:00
David Gageot 95ae304d50 feat: add datetime toolset
Resolves the browser's IANA timezone via Intl on every call in WASM
builds, since time.Local there caches a fixed offset with no DST
support, falling back to the per-instant JS offset when Intl isn't
available. Native builds are unchanged.

Assisted-By: Docker Agent
Signed-off-by: David Gageot <david.gageot@docker.com>
2026-10-08 08:46:41 +02:00
David Gageot ad68f57e89 feat: add random toolset for agent-chosen integer draws
Adds a random toolset so agents can draw integers within inclusive
int64 bounds, with input validation, catalog/toolset registrations,
docs and examples. Successful draws are exempt from the duplicate-call
loop detector so repeated legitimate draws aren't flagged. Includes
regression tests and WASM toolset coverage.

Signed-off-by: David Gageot <david.gageot@docker.com>
2026-10-08 08:46:40 +02:00
Djordje Lukic 55ab6b2b01 feat: expose codemode tool calls and highlight scripts in TUIs
Signed-off-by: Djordje Lukic <djordje.lukic@docker.com>
2026-10-01 15:37:10 +02:00
Djordje Lukic e0e0395c7e feat: return promises from codemode tool calls
Signed-off-by: Djordje Lukic <djordje.lukic@docker.com>
2026-09-30 12:56:46 +02:00
Arnaud Héritier a13b3eefbb docs: fix broken relref in code-mode backoff-gate link
../mcp/index.md from docs/features/code-mode/ resolves to the
nonexistent docs/features/mcp/index.md; the mcp docs actually live at
docs/tools/mcp/index.md.
2026-09-03 16:39:13 +00:00
Arnaud Héritier 646efe1d78 fix: pace retryable partial-start failures in code-mode composites
PR #4062 exempted PartialStartError from the backoff gate so a
composite toolset's healthy subset keeps listing while degraded, but
this also cleared the gate on every retryable partial failure (e.g. a
RAG toolset inside a code_mode composite hitting 429s), so the failed
subset burst-retried on every turn just like #4060.

startLocked now calls setStartBackoff instead of resetStartBackoff for
a PartialStartError: it arms the gate when the aggregated cause is
retryable (errors.As walks the whole errors.Join tree, so any single
retryable inner cause is enough) and still resets it otherwise,
preserving today's fail-fast behaviour for non-retryable partial
failures. s.started stays latched either way, so the healthy subset
is unaffected.

Fixes #4067
2026-09-03 16:22:45 +00:00
Arnaud Héritier 39fbbf9caf docs: update for PR #4008 - Code Mode partial startup
Reflects changes from docker/docker-agent#4008.
Source PR: https://github.com/docker/docker-agent/pull/4008
2026-08-25 04:02:28 +00:00
Djordje Lukic e6b355bc16 Use typescript types for codemode
Signed-off-by: Djordje Lukic <djordje.lukic@docker.com>
2026-08-09 21:56:22 +02:00
Arnaud Héritier 1eb04abb59 docs: fix Code Mode delegation and Sessions cost-tracking overstatements
Code Mode (docs/features/code-mode/index.md): a configured
force_handoff target still runs deterministically after a natural
stop regardless of Code Mode (pkg/runtime/loop.go:937-951) - it's
applied by the runtime outside the tool-call dispatch path Code Mode
replaces. Only the model *choosing* to call handoff/transfer_task as
a tool fails in Code Mode; qualify the 'cannot delegate at all' claim
accordingly.

Sessions (docs/features/sessions/index.md): automatic session-title
generation calls the title model directly
(pkg/app/app.go:502-505, pkg/sessiontitle/generator.go:134-165)
without going through the usage-tracking call sites
(pkg/runtime/harness.go, pkg/runtime/streaming.go), so it is not
folded into the session's cumulative cost/token totals. Clarify that
'every model call' means every tracked conversation/compaction call.
2026-07-17 10:37:02 +02:00
Arnaud Héritier 5b7493c83c docs(code-mode): drop unworkable handoff/transfer_task isolation advice
The page recommended keeping a destructive toolset on a separate,
non-Code-Mode agent 'reached via handoff or transfer_task'. Both tools
are handlerless (pkg/tools/builtin/handoff, .../transfertask) and, once
wrapped by Code Mode, are rejected at call time with 'tool "handoff"
is not available in code mode' (pkg/tools/codemode/exec.go,
pkg/teamloader/teamloader.go). A Code-Mode agent cannot delegate to
another agent at all, so the advice was unworkable. Replaced it with
the actual limitation: keep code_mode_tools off any agent that needs to
hand off or transfer to one holding a destructive toolset. The core,
already-correct claim that nested Code Mode calls bypass per-call
permission dispatch is unchanged.
2026-07-17 10:37:02 +02:00
Arnaud Héritier d3d1db2f46 docs(features): add Code Mode page
Documents code_mode_tools: running an agent's tools as JavaScript
functions callable from a single run_tools_with_javascript tool
instead of one model round-trip per tool call, when it helps, its
script/security limits, and its coarser tool-approval granularity
(individual tool calls made from inside the script bypass the
runtime's normal per-call permission checks). Fixes an inaccurate
one-liner for code_mode_tools in the Agent Config reference (it did
not format tool responses; it swaps in the JS-orchestration tool) and
turns it into a cross-link. Wires the page into nav.yml under
Features.
2026-07-17 10:37:02 +02:00