v0.5.2 — dump tools verified against real ADT
v0.5.2 — dump tools verified against real ADT
v0.5.0 shipped the new adt_list_dumps / adt_get_dump tools without
real-system verification, and several layers of bugs only showed up when
the server was pointed at an on-prem ADT (S/4HANA, NetWeaver-class). This
patch lands the fixes from two rounds of E4D testing.
If you installed 0.5.0 via npx claude-for-abap, upgrade — adt_get_dump
is fully broken on 0.5.0 and the list response can blow past tool-output
token limits.
Fixed in adt_list_dumps
- Accept header now sends
application/atom+xml;type=feed. Bare
application/atom+xmlreturns HTTP 406. - Parser handles namespace-prefixed Atom tags (
<atom:entry>,
<atom:author>, …). Real feeds use the prefix; v0.5.0 returnedcount: 0
against feeds of 245+ entries. - Per-entry
runtimeErrorandprogramextracted from<atom:category>
elements (real shape), not just<title>(often absent). - Server-side
maxResultsis unreliable across releases — trim client-side
after parse and reporttotalReturnedByServerso the truncation is
visible. - Strip the per-entry HTML
summaryfield. On real systems it's a 10+KB
chunk per dump (chapter index + back-link) that on a 20-row list pushed
responses past the tool-output token limit.
Fixed in adt_get_dump
- Path corrected to
/sap/bc/adt/runtime/dump/<id>(singular). The plural
feed path 404s. - Feed ids arrive already URL-encoded; the tool no longer re-encodes them
(which produced%25doubled escapes and a 404). - Detail Accept is
application/vnd.sap.adt.runtime.dump.v1+xml. The
endpoint returns metadata + a<dump:link relation="contents">
sub-resource link. Tool now performs the two-step fetch (metadata, then
the formatted text from the link). - Root-element attributes are parsed (
xmlnsfiltered out). Real on-prem
payload (title,error,terminatedProgram,author,datetime,
serverInstance, …) lives there, not in child elements. runtimeError,program,user,time,server,titleare lifted
to the top level of the response so the agent doesn't have to probe
thefieldsmap.- Chapter parser handles boxed (pipe-wrapped) dump text and skips
separator rules; recognizes both "What can you do?" and "What can I do?"
phrasings.
Added in adt_get_dump
- Structured
chaptersmap with the six critical sections by default
(shortText,whatHappened,errorAnalysis,howToCorrect,
whereTerminated,sourceCodeExtract), plus seven more recognized
on-demand. Passchapters: [...]to limit orfull: trueto also
include the raw text (typically 100KB+). chaptersAvailablelists every chapter the parser recognized, even when
the response is filtered, so the agent can see what else is fetchable.
Tests: 62 → 91 across this release line, all passing. Lint clean. Existing
tool behavior unchanged.
Full diff: CHANGELOG.md.