@mcp-abap-adt/adt-clients 22.0.0 → 22.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.
@@ -219,6 +219,11 @@ export declare class AdtRequest<R extends ITransportResults = typeof transportDo
219
219
  * request/task."* That is a third lock flavour — not the enqueue lock, not
220
220
  * the request-versus-task one — and it is the server's verdict to read,
221
221
  * not a state this client checks for beforehand.
222
+ *
223
+ * **The same message, with longtext TK127, was also returned for an
224
+ * Unclassified task** on an on-premise system, 2026-09-25 — including one
225
+ * created explicitly through {@link createTask}. Classify it through
226
+ * {@link changeTaskType} before adding objects directly.
222
227
  */
223
228
  addObject<E extends IAdtError = IAdtError>(transportNumber: string, object: IAbapObjectEntry, options?: IAdtOperationOptions<E>): Promise<IAdtResponse<ReturnType<NonNullable<R['addedObject']>>, E>>;
224
229
  /**
@@ -256,9 +261,27 @@ export declare class AdtRequest<R extends ITransportResults = typeof transportDo
256
261
  * **A task is born without one**, and passing a type to
257
262
  * {@link createTask} does not change that: measured against BTP ABAP on
258
263
  * 2026-09-23, `tm:type` on the creating call is accepted and ignored, and
259
- * every task — including ones created long before this library — reads back
260
- * as `Unclassified`. CTS assigns a type when the first object lands, or a
261
- * caller assigns it here.
264
+ * every task on that system read back as `Unclassified`. That system is a
265
+ * trial with no transport system configured, so the CTS edit flow never
266
+ * creates a request there and every request and task is made by hand. All
267
+ * of them came through `newtask`, from this library's tests and from
268
+ * mcp-abap-adt's, and until this member existed neither changed a task's
269
+ * type.
270
+ *
271
+ * **The creation path matters.** When locking an object starts the normal
272
+ * CTS flow and the user chooses to create a request, CTS creates both the
273
+ * request and its task and classifies that task correctly. It can likewise
274
+ * classify an existing Unclassified task selected in that flow. That is not
275
+ * what this client's direct `addobject` action does. A task created
276
+ * explicitly through {@link createTask} stays `Unclassified`, and
277
+ * {@link addObject} onto it was refused on an on-premise system, 2026-09-25,
278
+ * with `400 SCTS_ADT_MSG 009` / TK127, *"Changes to objects are only allowed
279
+ * in correction/repair"*. After `changeTaskType(task, 'S')` the same call
280
+ * answered 200. A caller that intends to add objects directly must
281
+ * therefore classify the task first. SAP states the same rule in
282
+ * [Changing a Task Type](https://help.sap.com/docs/ABAP_Cloud/bbcee501b99848bdadecd4e290db3ae4/36fa0d5b537d499ab361d862bcfa51ce.html):
283
+ * *"You cannot add any objects if the task type is Unclassified. You need
284
+ * to change the task type to Development/Correction or Repair."*
262
285
  *
263
286
  * ```ts
264
287
  * await request.changeTaskType(task, ADT_TASK_TYPE.developmentCorrection);
@@ -1 +1 @@
1
- {"version":3,"file":"AdtRequest.d.ts","sourceRoot":"","sources":["../../../src/core/transport/AdtRequest.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AdtRequest.d.ts","sourceRoot":"","sources":["../../../src/core/transport/AdtRequest.ts"],"names":[],"mappings":"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"}
@@ -300,6 +300,11 @@ class AdtRequest {
300
300
  * request/task."* That is a third lock flavour — not the enqueue lock, not
301
301
  * the request-versus-task one — and it is the server's verdict to read,
302
302
  * not a state this client checks for beforehand.
303
+ *
304
+ * **The same message, with longtext TK127, was also returned for an
305
+ * Unclassified task** on an on-premise system, 2026-09-25 — including one
306
+ * created explicitly through {@link createTask}. Classify it through
307
+ * {@link changeTaskType} before adding objects directly.
303
308
  */
304
309
  async addObject(transportNumber, object, options) {
305
310
  const connection = (0, callTimeout_1.withCallTimeout)(this.connection, options?.timeout);
@@ -350,9 +355,27 @@ class AdtRequest {
350
355
  * **A task is born without one**, and passing a type to
351
356
  * {@link createTask} does not change that: measured against BTP ABAP on
352
357
  * 2026-09-23, `tm:type` on the creating call is accepted and ignored, and
353
- * every task — including ones created long before this library — reads back
354
- * as `Unclassified`. CTS assigns a type when the first object lands, or a
355
- * caller assigns it here.
358
+ * every task on that system read back as `Unclassified`. That system is a
359
+ * trial with no transport system configured, so the CTS edit flow never
360
+ * creates a request there and every request and task is made by hand. All
361
+ * of them came through `newtask`, from this library's tests and from
362
+ * mcp-abap-adt's, and until this member existed neither changed a task's
363
+ * type.
364
+ *
365
+ * **The creation path matters.** When locking an object starts the normal
366
+ * CTS flow and the user chooses to create a request, CTS creates both the
367
+ * request and its task and classifies that task correctly. It can likewise
368
+ * classify an existing Unclassified task selected in that flow. That is not
369
+ * what this client's direct `addobject` action does. A task created
370
+ * explicitly through {@link createTask} stays `Unclassified`, and
371
+ * {@link addObject} onto it was refused on an on-premise system, 2026-09-25,
372
+ * with `400 SCTS_ADT_MSG 009` / TK127, *"Changes to objects are only allowed
373
+ * in correction/repair"*. After `changeTaskType(task, 'S')` the same call
374
+ * answered 200. A caller that intends to add objects directly must
375
+ * therefore classify the task first. SAP states the same rule in
376
+ * [Changing a Task Type](https://help.sap.com/docs/ABAP_Cloud/bbcee501b99848bdadecd4e290db3ae4/36fa0d5b537d499ab361d862bcfa51ce.html):
377
+ * *"You cannot add any objects if the task type is Unclassified. You need
378
+ * to change the task type to Development/Correction or Repair."*
356
379
  *
357
380
  * ```ts
358
381
  * await request.changeTaskType(task, ADT_TASK_TYPE.developmentCorrection);
@@ -57,6 +57,11 @@ export declare function removeObjectFromTransport(connection: IAbapConnection, t
57
57
  * flavour, distinct from the enqueue lock and from the request-versus-task
58
58
  * one, and it is the server's answer to read rather than a state this client
59
59
  * checks for.
60
+ *
61
+ * On an on-premise system, 2026-09-25, the same `SCTS_ADT_MSG 009` also
62
+ * arrived, with longtext TK127, when the target was Unclassified — including
63
+ * a task created explicitly through `newtask`. Classify it first through
64
+ * {@link changeTransportTaskType}.
60
65
  */
61
66
  export declare function addObjectToTransport(connection: IAbapConnection, transportNumber: string, object: IAbapObjectEntry): Promise<IAdtWireResponse>;
62
67
  /**
@@ -115,10 +120,28 @@ export declare function readTransportObjects(connection: IAbapConnection, transp
115
120
  * Give a task its type — `useraction="changetasktype"`.
116
121
  *
117
122
  * **A task is born without one.** Measured against BTP ABAP, 2026-09-23:
118
- * every task a `newtask` creates reads back as `Unclassified`, including ones
119
- * created before this library existed, and passing `tm:type` on the creating
120
- * call changes nothing — the attribute is accepted and ignored. CTS assigns
121
- * the type when the first object lands, or a caller assigns it here.
123
+ * every task on that system read back as `Unclassified`, and passing
124
+ * `tm:type` on the creating call changes nothing — the attribute is accepted
125
+ * and ignored. That system is a trial with no transport system configured,
126
+ * so the CTS edit flow never creates a request there and every request and
127
+ * task is made by hand. All of them came through `newtask`, from this
128
+ * library's tests and from mcp-abap-adt's, and until this function existed
129
+ * neither changed a task's type.
130
+ *
131
+ * **The creation path matters.** When locking an object starts the normal CTS
132
+ * flow and the user chooses to create a request, CTS creates both the request
133
+ * and its task and classifies that task correctly. It can likewise classify
134
+ * an existing Unclassified task selected in that flow. The direct `addobject`
135
+ * action here is not that flow. On an on-premise system, 2026-09-25,
136
+ * `addobject` onto a task made through `newtask` was refused with
137
+ * `400 SCTS_ADT_MSG 009` / TK127 — *"Changes to objects are only allowed in
138
+ * correction/repair"*. The same call answered 200 once
139
+ * {@link changeTransportTaskType} had given the task type `S`. A caller that
140
+ * intends to add objects directly must therefore classify the task first.
141
+ * SAP states the same rule in
142
+ * [Changing a Task Type](https://help.sap.com/docs/ABAP_Cloud/bbcee501b99848bdadecd4e290db3ae4/36fa0d5b537d499ab361d862bcfa51ce.html):
143
+ * *"You cannot add any objects if the task type is Unclassified. You need to
144
+ * change the task type to Development/Correction or Repair."*
122
145
  *
123
146
  * **The document nests, and that is the whole of the difficulty.** The type
124
147
  * goes on a `tm:task` child, not on the root: six attribute spellings on the
@@ -1 +1 @@
1
- {"version":3,"file":"objects.d.ts","sourceRoot":"","sources":["../../../src/core/transport/objects.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,KAAK,EACV,WAAW,EACX,eAAe,EACf,gBAAgB,EACjB,MAAM,8BAA8B,CAAC;AAItC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAkDhD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,yBAAyB,CAC7C,UAAU,EAAE,eAAe,EAC3B,eAAe,EAAE,MAAM,EACvB,MAAM,EAAE,gBAAgB,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,GAC9C,OAAO,CAAC,gBAAgB,CAAC,CAQ3B;AAED;;;;;;;;GAQG;AACH,wBAAsB,oBAAoB,CACxC,UAAU,EAAE,eAAe,EAC3B,eAAe,EAAE,MAAM,EACvB,MAAM,EAAE,gBAAgB,GACvB,OAAO,CAAC,gBAAgB,CAAC,CAQ3B;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAsB,mBAAmB,CACvC,UAAU,EAAE,eAAe,EAC3B,eAAe,EAAE,MAAM,EACvB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,gBAAgB,CAAC,CAU3B;AAED;;;;;;GAMG;AACH,wBAAsB,sBAAsB,CAC1C,UAAU,EAAE,eAAe,EAC3B,eAAe,EAAE,MAAM,GACtB,OAAO,CAAC,gBAAgB,CAAC,CAO3B;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,oBAAoB,CACxC,UAAU,EAAE,eAAe,EAC3B,eAAe,EAAE,MAAM,GACtB,OAAO,CAAC,gBAAgB,CAAC,CAO3B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,wBAAsB,uBAAuB,CAC3C,UAAU,EAAE,eAAe,EAC3B,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,WAAW,GAChB,OAAO,CAAC,gBAAgB,CAAC,CAa3B"}
1
+ {"version":3,"file":"objects.d.ts","sourceRoot":"","sources":["../../../src/core/transport/objects.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,KAAK,EACV,WAAW,EACX,eAAe,EACf,gBAAgB,EACjB,MAAM,8BAA8B,CAAC;AAItC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAkDhD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,yBAAyB,CAC7C,UAAU,EAAE,eAAe,EAC3B,eAAe,EAAE,MAAM,EACvB,MAAM,EAAE,gBAAgB,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,GAC9C,OAAO,CAAC,gBAAgB,CAAC,CAQ3B;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,oBAAoB,CACxC,UAAU,EAAE,eAAe,EAC3B,eAAe,EAAE,MAAM,EACvB,MAAM,EAAE,gBAAgB,GACvB,OAAO,CAAC,gBAAgB,CAAC,CAQ3B;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAsB,mBAAmB,CACvC,UAAU,EAAE,eAAe,EAC3B,eAAe,EAAE,MAAM,EACvB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,gBAAgB,CAAC,CAU3B;AAED;;;;;;GAMG;AACH,wBAAsB,sBAAsB,CAC1C,UAAU,EAAE,eAAe,EAC3B,eAAe,EAAE,MAAM,GACtB,OAAO,CAAC,gBAAgB,CAAC,CAO3B;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,oBAAoB,CACxC,UAAU,EAAE,eAAe,EAC3B,eAAe,EAAE,MAAM,GACtB,OAAO,CAAC,gBAAgB,CAAC,CAO3B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDG;AACH,wBAAsB,uBAAuB,CAC3C,UAAU,EAAE,eAAe,EAC3B,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,WAAW,GAChB,OAAO,CAAC,gBAAgB,CAAC,CAa3B"}
@@ -107,6 +107,11 @@ async function removeObjectFromTransport(connection, transportNumber, object) {
107
107
  * flavour, distinct from the enqueue lock and from the request-versus-task
108
108
  * one, and it is the server's answer to read rather than a state this client
109
109
  * checks for.
110
+ *
111
+ * On an on-premise system, 2026-09-25, the same `SCTS_ADT_MSG 009` also
112
+ * arrived, with longtext TK127, when the target was Unclassified — including
113
+ * a task created explicitly through `newtask`. Classify it first through
114
+ * {@link changeTransportTaskType}.
110
115
  */
111
116
  async function addObjectToTransport(connection, transportNumber, object) {
112
117
  return connection.makeAdtRequest({
@@ -196,10 +201,28 @@ async function readTransportObjects(connection, transportNumber) {
196
201
  * Give a task its type — `useraction="changetasktype"`.
197
202
  *
198
203
  * **A task is born without one.** Measured against BTP ABAP, 2026-09-23:
199
- * every task a `newtask` creates reads back as `Unclassified`, including ones
200
- * created before this library existed, and passing `tm:type` on the creating
201
- * call changes nothing — the attribute is accepted and ignored. CTS assigns
202
- * the type when the first object lands, or a caller assigns it here.
204
+ * every task on that system read back as `Unclassified`, and passing
205
+ * `tm:type` on the creating call changes nothing — the attribute is accepted
206
+ * and ignored. That system is a trial with no transport system configured,
207
+ * so the CTS edit flow never creates a request there and every request and
208
+ * task is made by hand. All of them came through `newtask`, from this
209
+ * library's tests and from mcp-abap-adt's, and until this function existed
210
+ * neither changed a task's type.
211
+ *
212
+ * **The creation path matters.** When locking an object starts the normal CTS
213
+ * flow and the user chooses to create a request, CTS creates both the request
214
+ * and its task and classifies that task correctly. It can likewise classify
215
+ * an existing Unclassified task selected in that flow. The direct `addobject`
216
+ * action here is not that flow. On an on-premise system, 2026-09-25,
217
+ * `addobject` onto a task made through `newtask` was refused with
218
+ * `400 SCTS_ADT_MSG 009` / TK127 — *"Changes to objects are only allowed in
219
+ * correction/repair"*. The same call answered 200 once
220
+ * {@link changeTransportTaskType} had given the task type `S`. A caller that
221
+ * intends to add objects directly must therefore classify the task first.
222
+ * SAP states the same rule in
223
+ * [Changing a Task Type](https://help.sap.com/docs/ABAP_Cloud/bbcee501b99848bdadecd4e290db3ae4/36fa0d5b537d499ab361d862bcfa51ce.html):
224
+ * *"You cannot add any objects if the task type is Unclassified. You need to
225
+ * change the task type to Development/Correction or Repair."*
203
226
  *
204
227
  * **The document nests, and that is the whole of the difficulty.** The type
205
228
  * goes on a `tm:task` child, not on the root: six attribute spellings on the
@@ -496,14 +496,25 @@ had:
496
496
  no capture of Eclipse showed the gap. This client cannot fill it in: the
497
497
  connection does not say who is authenticated, and asking would cost a second
498
498
  request.
499
- - **A task is born unclassified, and `createTask` cannot change that.**
500
- Measured against BTP ABAP on 2026-09-23: `tm:type` passed to the creating
501
- call is accepted and ignored, and every task on that system — including
502
- ones created long before this library — reads back as `Unclassified`. CTS
503
- assigns the type when the first object lands, or `changeTaskType()` assigns
504
- it. The measured vocabulary is `S` (Development/Correction), `R` (Repair)
505
- and `X` (back to Unclassified); `Q` is a customizing type and is refused on
506
- a workbench request, and `K`/`W` are *request* types, refused as unknown.
499
+ - **A task created explicitly through `createTask()` is born unclassified,
500
+ and the creating call cannot change that.** Measured against BTP ABAP on
501
+ 2026-09-23: `tm:type` passed to `newtask` is accepted and ignored, and every
502
+ task on that system read back as `Unclassified`. That system is a trial with
503
+ no transport system configured, so the CTS edit flow never creates a request
504
+ there and every request and task is made by hand. All of them came through
505
+ `newtask`, from this library's tests and from mcp-abap-adt's, and until
506
+ `changeTaskType()` existed neither changed a task's type. When locking an object starts the normal CTS flow and
507
+ the user creates a request, CTS creates and correctly classifies its task; it
508
+ can also classify an existing task selected in that flow. The direct `addobject` action is not that flow. On premise, 2026-09-25,
509
+ `addObject()` onto a fresh Unclassified task was refused with
510
+ `SCTS_ADT_MSG 009` / TK127; after `changeTaskType(task, 'S')` the same call
511
+ answered 200. Classify a task before adding objects directly — SAP states
512
+ the same rule in [Changing a Task Type](https://help.sap.com/docs/ABAP_Cloud/bbcee501b99848bdadecd4e290db3ae4/36fa0d5b537d499ab361d862bcfa51ce.html):
513
+ *"You cannot add any objects if the task type is Unclassified. You need to
514
+ change the task type to Development/Correction or Repair."* The measured
515
+ vocabulary is `S` (Development/Correction), `R` (Repair) and `X` (back to
516
+ Unclassified); `Q` is a customizing type and is refused on a workbench
517
+ request, and `K`/`W` are *request* types, refused as unknown.
507
518
 
508
519
  The type goes on a `tm:task` child of the document, not on its root — six
509
520
  spellings on the root were each answered `400 "Specified request type or
@@ -516,8 +527,11 @@ had:
516
527
  `SCTS_ADT_MSG 009` and a longtext naming the holder: *"There are no links to
517
528
  this request/task."* That is a third lock flavour, distinct from the enqueue
518
529
  lock and from the request-versus-task one, and it is the server's verdict to
519
- read rather than a state the client checks for first. `pgmid` defaults to
520
- `R3TR`, and `obj_desc` is sent only when given.
530
+ read rather than a state the client checks for first. On premise,
531
+ 2026-09-25, the same message with longtext TK127 was returned for an
532
+ Unclassified target task; classify it with `changeTaskType()` before adding
533
+ objects directly. `pgmid` defaults to `R3TR`,
534
+ and `obj_desc` is sent only when given.
521
535
 
522
536
  `IAbapObjectEntry`, the type those two members take, comes from
523
537
  `@mcp-abap-adt/interfaces` — import it from there, or from
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mcp-abap-adt/adt-clients",
3
- "version": "22.0.0",
3
+ "version": "22.0.1",
4
4
  "description": "ADT clients for SAP ABAP systems - AdtClient and AdtRuntimeClient",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",