This is an automated email from the ASF dual-hosted git repository.

davsclaus pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel.git


The following commit(s) were added to refs/heads/main by this push:
     new 20cdb309f7d0 CAMEL-25784: camel_get_errors says in its description 
that it answers for an integration that is not running (#28127)
20cdb309f7d0 is described below

commit 20cdb309f7d0daf89945b826d8cc7c71fc9b450c
Author: Claus Ibsen <[email protected]>
AuthorDate: Mon Oct 19 22:07:53 2026 +0200

    CAMEL-25784: camel_get_errors says in its description that it answers for 
an integration that is not running (#28127)
    
    camel_get_errors says how the previous run of an integration that is not 
running ended (#28108), but its description
    only spoke of a running integration, so an agent would not call it for one 
that stopped. The MCP docs say it, and
    that camel_get_log gets the log of the previous run, with previous=true for 
it while the integration runs again.
    
    
    Claude-Session: https://claude.ai/code/session_01STT6whBgK1AqsSsUKrnE8m
    
    Co-authored-by: Claude Opus 5.5 (1M context) <[email protected]>
---
 docs/user-manual/modules/ROOT/pages/camel-jbang-mcp.adoc             | 5 ++++-
 .../org/apache/camel/dsl/jbang/core/commands/ai/AuthoringTools.java  | 3 ++-
 .../org/apache/camel/dsl/jbang/core/commands/mcp/AuthoringTools.java | 3 ++-
 3 files changed, 8 insertions(+), 3 deletions(-)

diff --git a/docs/user-manual/modules/ROOT/pages/camel-jbang-mcp.adoc 
b/docs/user-manual/modules/ROOT/pages/camel-jbang-mcp.adoc
index b1de8a6580cb..7c0cd31eecbc 100644
--- a/docs/user-manual/modules/ROOT/pages/camel-jbang-mcp.adoc
+++ b/docs/user-manual/modules/ROOT/pages/camel-jbang-mcp.adoc
@@ -435,10 +435,13 @@ project `directory` as an argument, the runtime tools 
take the integration `name
   as `at` the first frame of the user's own code, looked for from the root 
cause up (a bean, a processor, a
   script), so a `NullPointerException` without a message still says where it 
happened.
   `details=true` returns the stack traces; `camel_get_errors` has them for 
every failed exchange. Other
-  multi-line text, such as a pretty-printed body, stays as a `detail` block.
+  multi-line text, such as a pretty-printed body, stays as a `detail` block. 
An integration that is not running
+  gets the log of its previous run, such as one that failed to start, and 
`previous=true` asks for that log while
+  the integration runs again.
 
 | `camel_get_errors`
 | The failed exchanges of a running integration: route, exchange, exception 
with stack trace, body and headers.
+  For an integration that is not running, it says how its previous run ended: 
when, the exit code, and the failure.
 
 | `camel_eval_expression`
 | Evaluates an expression (simple by default) in the running integration, or 
locally when none is named,
diff --git 
a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ai/AuthoringTools.java
 
b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ai/AuthoringTools.java
index b9d7f2d8302e..6b878fa93f25 100644
--- 
a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ai/AuthoringTools.java
+++ 
b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ai/AuthoringTools.java
@@ -356,7 +356,8 @@ public final class AuthoringTools {
 
         registry.accept(tool("camel_get_errors",
                 "The failed exchanges of a running integration: routeId, 
exchangeId, exception with stack trace, "
-                                                 + "body and headers.")
+                                                 + "body and headers. For an 
integration that is not running, it says "
+                                                 + "how its previous run 
ended.")
                 .param("name", "string", NAME_DESC, false)
                 .core(true)
                 .executor((ctx, args) -> {
diff --git 
a/dsl/camel-jbang/camel-jbang-mcp/src/main/java/org/apache/camel/dsl/jbang/core/commands/mcp/AuthoringTools.java
 
b/dsl/camel-jbang/camel-jbang-mcp/src/main/java/org/apache/camel/dsl/jbang/core/commands/mcp/AuthoringTools.java
index 226bfbaf4cee..e6c637197059 100644
--- 
a/dsl/camel-jbang/camel-jbang-mcp/src/main/java/org/apache/camel/dsl/jbang/core/commands/mcp/AuthoringTools.java
+++ 
b/dsl/camel-jbang/camel-jbang-mcp/src/main/java/org/apache/camel/dsl/jbang/core/commands/mcp/AuthoringTools.java
@@ -300,7 +300,8 @@ public class AuthoringTools {
 
     @Tool(annotations = @Tool.Annotations(readOnlyHint = true, destructiveHint 
= false, openWorldHint = false),
           description = "The failed exchanges of a running integration: 
routeId, exchangeId, exception with stack "
-                        + "trace, body and headers.")
+                        + "trace, body and headers. For an integration that is 
not running, it says how its previous "
+                        + "run ended.")
     public JsonObject camel_get_errors(
             @ToolArg(description = NAME_DESC, required = false) String name) {
         return call("camel_get_errors", args("name", name));

Reply via email to