@mcp-abap-adt/interfaces-adt 2.0.0 → 2.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +32 -7
- package/README.md +1 -1
- package/dist/adt/IAdtTransport.d.ts +20 -13
- package/dist/adt/IAdtTransport.d.ts.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,31 @@ All notable changes to this project will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [2.0.1] - 2026-09-22
|
|
9
|
+
|
|
10
|
+
### Changed
|
|
11
|
+
|
|
12
|
+
- **A measurement asserted in 2.0.0 is retracted.** The documentation for
|
|
13
|
+
`readObjects` said a metadata read gets a representation carrying no
|
|
14
|
+
`tm:abap_object`, because the request names no `Accept`, and that positions
|
|
15
|
+
therefore could not be read from it however it was parsed.
|
|
16
|
+
|
|
17
|
+
Measured against an on-premise system on 2026-09-22 — the same URL with
|
|
18
|
+
`application/vnd.sap.adt.transportorganizer.v1+xml` and without it — the two
|
|
19
|
+
answers are byte for byte identical: 95411 bytes and 166 `tm:abap_object`
|
|
20
|
+
for a request, 55549 and 88 for a task. The header settles nothing.
|
|
21
|
+
|
|
22
|
+
The member stays, because the reason it exists does: `removeObject` requires
|
|
23
|
+
a position and nothing else here hands one back, which would leave a caller
|
|
24
|
+
parsing a transport document for a `tm:position` themselves. What it
|
|
25
|
+
promises is the answer — entries, each with its position as a value — and
|
|
26
|
+
not how an implementation obtains them. A contract is no place to assert
|
|
27
|
+
something about a wire that was not measured, and this one now says only
|
|
28
|
+
what must come back.
|
|
29
|
+
|
|
30
|
+
Documentation only; no type changed. `@mcp-abap-adt/adt-clients` corrected
|
|
31
|
+
the same claim in its own comments and API reference on 2026-09-21.
|
|
32
|
+
|
|
8
33
|
## [2.0.0] - 2026-09-21
|
|
9
34
|
|
|
10
35
|
### Changed
|
|
@@ -42,13 +67,13 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
42
67
|
- **`readObjects`** — the objects a request or task holds, each with the
|
|
43
68
|
`tm:position` that `removeObject` now needs.
|
|
44
69
|
|
|
45
|
-
It is a separate member because it
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
70
|
+
It is a separate member because it answers a separate thing: entries, each
|
|
71
|
+
with its position as a value, where a metadata read answers a document.
|
|
72
|
+
|
|
73
|
+
> **Retracted in 2.0.1.** This entry also claimed that a reader sending no
|
|
74
|
+
> `Accept` cannot answer it however its result is parsed. That was measured
|
|
75
|
+
> false the next day — the same URL with and without the header is byte for
|
|
76
|
+
> byte identical. See the 2.0.1 entry above.
|
|
52
77
|
|
|
53
78
|
Without it `removeObject` would require a value the package offers no way to
|
|
54
79
|
obtain, leaving a caller to assemble the request themselves — the layering
|
package/README.md
CHANGED
|
@@ -41,7 +41,7 @@ Two of the signatures say things a capture cannot. 1.2.0 was declared from captu
|
|
|
41
41
|
| `createTask` without `tm:targetuser` | refused — `400 SCTS_ADT_MSG 009`, *"User does not exist in the system (or locked)"*: two spaces, because the owner resolved to an empty name |
|
|
42
42
|
| `removeObject` without `tm:position` | `200` with the usual echo document and **nothing removed** — 22 entries asked for by `pgmid`/`type`/`name` alone, 22 still on the task afterwards |
|
|
43
43
|
|
|
44
|
-
So `createTask` requires `targetUser` and `removeObject` requires `position`, and `readObjects` was added because otherwise the second would require a value this package offers no way to obtain
|
|
44
|
+
So `createTask` requires `targetUser` and `removeObject` requires `position`, and `readObjects` was added because otherwise the second would require a value this package offers no way to obtain — leaving a caller to parse a transport document themselves for a `tm:position`. It is its own member because it answers its own thing: entries, each with its position as a value, rather than a document. What an implementation sends to get them is its own business; the contract says what must come back.
|
|
45
45
|
|
|
46
46
|
`addObject` still takes an entry without a position — one that does not exist yet has none.
|
|
47
47
|
|
|
@@ -234,19 +234,26 @@ export interface IAdtTransportObjectActions<TRemoved, TAdded, TTask, TActionLog,
|
|
|
234
234
|
* The objects a request or task holds, each with the `tm:position` that
|
|
235
235
|
* {@link IAdtTransportObjectActions.removeObject} needs.
|
|
236
236
|
*
|
|
237
|
-
* **A separate reading, not
|
|
238
|
-
*
|
|
239
|
-
*
|
|
240
|
-
*
|
|
241
|
-
*
|
|
242
|
-
*
|
|
243
|
-
*
|
|
244
|
-
*
|
|
245
|
-
*
|
|
246
|
-
*
|
|
247
|
-
*
|
|
248
|
-
*
|
|
249
|
-
*
|
|
237
|
+
* **A separate reading, not a separate request.** This member exists
|
|
238
|
+
* because `removeObject` requires a position and nothing else here hands
|
|
239
|
+
* one back: without it a caller has to parse a transport document
|
|
240
|
+
* themselves to find a `tm:position`, which is the layering this package
|
|
241
|
+
* exists to prevent. What it promises is therefore about the answer —
|
|
242
|
+
* entries, each with its position as a value — and not about how an
|
|
243
|
+
* implementation obtains them.
|
|
244
|
+
*
|
|
245
|
+
* **A claim that was here is retracted.** 2.0.0 said a metadata read gets a
|
|
246
|
+
* representation carrying no `tm:abap_object`, because the request names no
|
|
247
|
+
* `Accept`, and that positions therefore could not be read from it however
|
|
248
|
+
* it was parsed. Measured against an on-premise system, 2026-09-22 — the
|
|
249
|
+
* same URL with `application/vnd.sap.adt.transportorganizer.v1+xml` and
|
|
250
|
+
* without it — the two answers are byte for byte identical: 95411 bytes and
|
|
251
|
+
* 166 `tm:abap_object` for a request, 55549 and 88 for a task. The header
|
|
252
|
+
* settles nothing, and a contract is no place to assert something about a
|
|
253
|
+
* wire that was not measured.
|
|
254
|
+
*
|
|
255
|
+
* What an implementation sends is its own business either way. This says
|
|
256
|
+
* what must come back.
|
|
250
257
|
*/
|
|
251
258
|
readObjects<E extends IAdtError = IAdtError>(transportNumber: string, options?: IAdtOperationOptions<E>): Promise<IAdtResponse<TObjects, E>>;
|
|
252
259
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IAdtTransport.d.ts","sourceRoot":"","sources":["../../src/adt/IAdtTransport.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"IAdtTransport.d.ts","sourceRoot":"","sources":["../../src/adt/IAdtTransport.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mcp-abap-adt/interfaces-adt",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.1",
|
|
4
4
|
"description": "ADT contracts, the ABAP and Cloud ALM connections, and SAP/BTP configuration and authentication contracts",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|