arc-1 0.9.19 → 0.9.21

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.
Files changed (177) hide show
  1. package/README.md +7 -4
  2. package/dist/adt/client.d.ts +29 -1
  3. package/dist/adt/client.d.ts.map +1 -1
  4. package/dist/adt/client.js +72 -3
  5. package/dist/adt/client.js.map +1 -1
  6. package/dist/adt/ddic-xml.d.ts +29 -0
  7. package/dist/adt/ddic-xml.d.ts.map +1 -1
  8. package/dist/adt/ddic-xml.js +112 -1
  9. package/dist/adt/ddic-xml.js.map +1 -1
  10. package/dist/adt/devtools.d.ts +9 -2
  11. package/dist/adt/devtools.d.ts.map +1 -1
  12. package/dist/adt/devtools.js +126 -5
  13. package/dist/adt/devtools.js.map +1 -1
  14. package/dist/adt/diagnostics.d.ts +99 -4
  15. package/dist/adt/diagnostics.d.ts.map +1 -1
  16. package/dist/adt/diagnostics.js +443 -10
  17. package/dist/adt/diagnostics.js.map +1 -1
  18. package/dist/adt/errors.d.ts +13 -1
  19. package/dist/adt/errors.d.ts.map +1 -1
  20. package/dist/adt/errors.js +244 -25
  21. package/dist/adt/errors.js.map +1 -1
  22. package/dist/adt/features.d.ts.map +1 -1
  23. package/dist/adt/features.js +2 -1
  24. package/dist/adt/features.js.map +1 -1
  25. package/dist/adt/gcts.d.ts +3 -3
  26. package/dist/adt/gcts.d.ts.map +1 -1
  27. package/dist/adt/gcts.js +24 -3
  28. package/dist/adt/gcts.js.map +1 -1
  29. package/dist/adt/http.d.ts.map +1 -1
  30. package/dist/adt/http.js +4 -3
  31. package/dist/adt/http.js.map +1 -1
  32. package/dist/adt/transport.d.ts +43 -4
  33. package/dist/adt/transport.d.ts.map +1 -1
  34. package/dist/adt/transport.js +84 -10
  35. package/dist/adt/transport.js.map +1 -1
  36. package/dist/adt/types.d.ts +104 -0
  37. package/dist/adt/types.d.ts.map +1 -1
  38. package/dist/adt/xml-parser.d.ts +37 -0
  39. package/dist/adt/xml-parser.d.ts.map +1 -1
  40. package/dist/adt/xml-parser.js +102 -0
  41. package/dist/adt/xml-parser.js.map +1 -1
  42. package/dist/authz/policy.d.ts.map +1 -1
  43. package/dist/authz/policy.js +11 -1
  44. package/dist/authz/policy.js.map +1 -1
  45. package/dist/cache/cache.d.ts +25 -0
  46. package/dist/cache/cache.d.ts.map +1 -1
  47. package/dist/cache/cache.js.map +1 -1
  48. package/dist/cache/caching-layer.d.ts +31 -2
  49. package/dist/cache/caching-layer.d.ts.map +1 -1
  50. package/dist/cache/caching-layer.js +102 -2
  51. package/dist/cache/caching-layer.js.map +1 -1
  52. package/dist/cache/memory.d.ts +2 -1
  53. package/dist/cache/memory.d.ts.map +1 -1
  54. package/dist/cache/memory.js +46 -0
  55. package/dist/cache/memory.js.map +1 -1
  56. package/dist/cache/sqlite.d.ts +2 -1
  57. package/dist/cache/sqlite.d.ts.map +1 -1
  58. package/dist/cache/sqlite.js +64 -0
  59. package/dist/cache/sqlite.js.map +1 -1
  60. package/dist/cli.js +4 -2
  61. package/dist/cli.js.map +1 -1
  62. package/dist/handlers/context.d.ts.map +1 -1
  63. package/dist/handlers/context.js +27 -4
  64. package/dist/handlers/context.js.map +1 -1
  65. package/dist/handlers/diagnose.d.ts.map +1 -1
  66. package/dist/handlers/diagnose.js +88 -4
  67. package/dist/handlers/diagnose.js.map +1 -1
  68. package/dist/handlers/dispatch.d.ts.map +1 -1
  69. package/dist/handlers/dispatch.js +9 -0
  70. package/dist/handlers/dispatch.js.map +1 -1
  71. package/dist/handlers/feature-cache.d.ts +5 -0
  72. package/dist/handlers/feature-cache.d.ts.map +1 -1
  73. package/dist/handlers/feature-cache.js +10 -0
  74. package/dist/handlers/feature-cache.js.map +1 -1
  75. package/dist/handlers/git.d.ts.map +1 -1
  76. package/dist/handlers/git.js +3 -3
  77. package/dist/handlers/git.js.map +1 -1
  78. package/dist/handlers/manage.d.ts.map +1 -1
  79. package/dist/handlers/manage.js +44 -0
  80. package/dist/handlers/manage.js.map +1 -1
  81. package/dist/handlers/object-types.d.ts +1 -1
  82. package/dist/handlers/object-types.d.ts.map +1 -1
  83. package/dist/handlers/object-types.js +17 -2
  84. package/dist/handlers/object-types.js.map +1 -1
  85. package/dist/handlers/query.d.ts.map +1 -1
  86. package/dist/handlers/query.js +35 -3
  87. package/dist/handlers/query.js.map +1 -1
  88. package/dist/handlers/read.d.ts.map +1 -1
  89. package/dist/handlers/read.js +33 -8
  90. package/dist/handlers/read.js.map +1 -1
  91. package/dist/handlers/schemas.d.ts +79 -5
  92. package/dist/handlers/schemas.d.ts.map +1 -1
  93. package/dist/handlers/schemas.js +33 -0
  94. package/dist/handlers/schemas.js.map +1 -1
  95. package/dist/handlers/tool-registry.d.ts +4 -4
  96. package/dist/handlers/tool-registry.d.ts.map +1 -1
  97. package/dist/handlers/tool-registry.js +6 -0
  98. package/dist/handlers/tool-registry.js.map +1 -1
  99. package/dist/handlers/tools.d.ts.map +1 -1
  100. package/dist/handlers/tools.js +132 -34
  101. package/dist/handlers/tools.js.map +1 -1
  102. package/dist/handlers/transport.d.ts.map +1 -1
  103. package/dist/handlers/transport.js +82 -5
  104. package/dist/handlers/transport.js.map +1 -1
  105. package/dist/handlers/write/create.d.ts.map +1 -1
  106. package/dist/handlers/write/create.js +224 -7
  107. package/dist/handlers/write/create.js.map +1 -1
  108. package/dist/handlers/write-helpers.d.ts +1 -0
  109. package/dist/handlers/write-helpers.d.ts.map +1 -1
  110. package/dist/handlers/write-helpers.js +49 -5
  111. package/dist/handlers/write-helpers.js.map +1 -1
  112. package/dist/handlers/write.d.ts.map +1 -1
  113. package/dist/handlers/write.js +18 -2
  114. package/dist/handlers/write.js.map +1 -1
  115. package/dist/plugins/manifest-interpreter.d.ts.map +1 -1
  116. package/dist/plugins/manifest-interpreter.js +3 -1
  117. package/dist/plugins/manifest-interpreter.js.map +1 -1
  118. package/dist/public/testing.d.ts +2 -1
  119. package/dist/public/testing.d.ts.map +1 -1
  120. package/dist/public/testing.js +13 -0
  121. package/dist/public/testing.js.map +1 -1
  122. package/dist/public/types.d.ts +2 -2
  123. package/dist/public/types.d.ts.map +1 -1
  124. package/dist/public/ui/app.js +1044 -0
  125. package/dist/public/ui/arc-mark.svg +5 -0
  126. package/dist/public/ui/index.html +43 -0
  127. package/dist/public/ui/styles.css +563 -0
  128. package/dist/server/audit.d.ts +4 -2
  129. package/dist/server/audit.d.ts.map +1 -1
  130. package/dist/server/audit.js +42 -13
  131. package/dist/server/audit.js.map +1 -1
  132. package/dist/server/config.d.ts.map +1 -1
  133. package/dist/server/config.js +103 -1
  134. package/dist/server/config.js.map +1 -1
  135. package/dist/server/http.d.ts +2 -1
  136. package/dist/server/http.d.ts.map +1 -1
  137. package/dist/server/http.js +22 -1
  138. package/dist/server/http.js.map +1 -1
  139. package/dist/server/logger.d.ts +1 -1
  140. package/dist/server/logger.d.ts.map +1 -1
  141. package/dist/server/logger.js +9 -4
  142. package/dist/server/logger.js.map +1 -1
  143. package/dist/server/plugin-loader.d.ts.map +1 -1
  144. package/dist/server/plugin-loader.js +1 -1
  145. package/dist/server/plugin-loader.js.map +1 -1
  146. package/dist/server/safe-http-client.d.ts +12 -6
  147. package/dist/server/safe-http-client.d.ts.map +1 -1
  148. package/dist/server/safe-http-client.js +84 -15
  149. package/dist/server/safe-http-client.js.map +1 -1
  150. package/dist/server/server.d.ts +1 -1
  151. package/dist/server/server.d.ts.map +1 -1
  152. package/dist/server/server.js +29 -4
  153. package/dist/server/server.js.map +1 -1
  154. package/dist/server/sinks/file.d.ts +3 -0
  155. package/dist/server/sinks/file.d.ts.map +1 -1
  156. package/dist/server/sinks/file.js +15 -3
  157. package/dist/server/sinks/file.js.map +1 -1
  158. package/dist/server/sinks/stderr.d.ts.map +1 -1
  159. package/dist/server/sinks/stderr.js +2 -30
  160. package/dist/server/sinks/stderr.js.map +1 -1
  161. package/dist/server/types.d.ts +22 -0
  162. package/dist/server/types.d.ts.map +1 -1
  163. package/dist/server/types.js +7 -0
  164. package/dist/server/types.js.map +1 -1
  165. package/dist/server/ui-log-buffer.d.ts +29 -0
  166. package/dist/server/ui-log-buffer.d.ts.map +1 -0
  167. package/dist/server/ui-log-buffer.js +72 -0
  168. package/dist/server/ui-log-buffer.js.map +1 -0
  169. package/dist/server/ui-state.d.ts +32 -0
  170. package/dist/server/ui-state.d.ts.map +1 -0
  171. package/dist/server/ui-state.js +230 -0
  172. package/dist/server/ui-state.js.map +1 -0
  173. package/dist/server/ui.d.ts +20 -0
  174. package/dist/server/ui.d.ts.map +1 -0
  175. package/dist/server/ui.js +275 -0
  176. package/dist/server/ui.js.map +1 -0
  177. package/package.json +13 -9
@@ -14,10 +14,10 @@ import { logger } from '../../server/logger.js';
14
14
  import { buildBatchActivationStatuses, formatBatchActivationStatuses, } from '../activate.js';
15
15
  import { invalidateInactiveList } from '../cache-security.js';
16
16
  import { guardCdsSyntax } from '../cds-hints.js';
17
- import { cachedFeatures, isTablesEndpointAvailable } from '../feature-cache.js';
17
+ import { cachedFeatures, isTablesEndpointAvailable, isTableTypesEndpointAvailable } from '../feature-cache.js';
18
18
  import { normalizeObjectType, normalizeWriteObjectType, objectBasePath, objectUrlForType, sourceUrlForType, } from '../object-types.js';
19
19
  import { errorResult, textResult } from '../shared.js';
20
- import { buildCreateXml, createContentTypeForType, dtelNeedsPostCreateUpdate, getMetadataWriteProperties, isMetadataWriteType, mergePreWriteWarnings, runPreWriteLint, runRapPreflightValidation, SKTD_V2_CONTENT_TYPE, stripFmParamCommentBlock, TABL_DT_WRITE_UNAVAILABLE_HINT, tryPostSaveSyntaxCheck, vendorContentTypeForType, } from '../write-helpers.js';
20
+ import { buildCreateXml, createContentTypeForType, dtelNeedsPostCreateUpdate, getMetadataWriteProperties, isMetadataWriteType, mergePreWriteWarnings, runPreWriteLint, runRapPreflightValidation, SKTD_V2_CONTENT_TYPE, stripFmParamCommentBlock, TABL_DT_WRITE_UNAVAILABLE_HINT, TTYP_WRITE_UNAVAILABLE_HINT, tryPostSaveSyntaxCheck, vendorContentTypeForType, } from '../write-helpers.js';
21
21
  function normalizePackageOverride(rawPackage, fallback) {
22
22
  if (rawPackage === undefined || rawPackage === null) {
23
23
  return fallback;
@@ -32,6 +32,182 @@ function normalizeTransportOverride(rawTransport) {
32
32
  const value = String(rawTransport).trim();
33
33
  return value || undefined;
34
34
  }
35
+ function ttypPostCreateFailureMessage(name, cause) {
36
+ const detail = cause instanceof Error ? cause.message : String(cause);
37
+ return (`TTYP post-create update failed for ${name} after SAP accepted the create POST. ` +
38
+ `The object may remain as SAP's default metadata shell (CHAR). To recover, run ` +
39
+ `SAPWrite(action="update", type="TTYP", name="${name}", rowType=…) to write the intended row type, ` +
40
+ `or delete it — a plain re-create fails with "already exists". Verify with SAPRead first. ` +
41
+ detail);
42
+ }
43
+ async function putTtypMetadataAfterCreate(client, objectUrl, name, body, contentType, transport) {
44
+ try {
45
+ await client.http.withStatefulSession(async (session) => {
46
+ const lock = await lockObject(session, client.safety, objectUrl, 'MODIFY', cachedFeatures?.abapRelease);
47
+ const lockTransport = transport ?? (lock.corrNr || undefined);
48
+ try {
49
+ await updateObject(session, client.safety, objectUrl, body, lock.lockHandle, contentType, lockTransport);
50
+ }
51
+ finally {
52
+ await unlockObject(session, objectUrl, lock.lockHandle);
53
+ }
54
+ });
55
+ }
56
+ catch (err) {
57
+ throw new Error(ttypPostCreateFailureMessage(name, err));
58
+ }
59
+ }
60
+ const KTD_REF_OBJECT_TYPES_ROUTABLE_BY_ARC = new Set([
61
+ 'BDEF/BAC',
62
+ 'BDEF/BAE',
63
+ 'BDEF/BAF',
64
+ 'BDEF/BAS',
65
+ 'BDEF/BDE',
66
+ 'BDEF/BDO',
67
+ 'BDEF/BSO',
68
+ 'BDEF/BVA',
69
+ 'DDLS/DF',
70
+ 'DEVC/K',
71
+ 'SRVB/SVB',
72
+ 'SRVD/SRV',
73
+ ]);
74
+ // Live WBOBJTYPES_SCOPE registry entries for SCOPE_ID = 'DOCUMENTATION' observed on
75
+ // SAP_BASIS 758 and 816. This is diagnostic evidence, not a create allowlist:
76
+ // KTD create still needs a verified ADT parent URI route for <sktd:refObject>.
77
+ const KTD_REF_OBJECT_TYPES_SAP_DOCUMENTATION_SCOPE = new Set([
78
+ ...KTD_REF_OBJECT_TYPES_ROUTABLE_BY_ARC,
79
+ 'APIC/TYP',
80
+ 'CFDB/CFB',
81
+ 'CFDG/CFG',
82
+ 'CFDS/CFS',
83
+ 'CHKO/TYP',
84
+ 'DDLA/ADF',
85
+ 'DRTY/STY',
86
+ 'DSFD/SCF',
87
+ 'EEEC/EVC',
88
+ 'EVTB/EVB',
89
+ 'PARA/R',
90
+ 'RONT/ROT',
91
+ 'SMBC/TYP',
92
+ 'SOD1',
93
+ 'SOD2',
94
+ ]);
95
+ const KTD_REF_OBJECT_TYPES_HINT = 'DDLS/DF, BDEF/BDO, SRVD/SRV, SRVB/SVB, DEVC/K';
96
+ const KTD_SAP_DOCUMENTATION_SCOPE_HINT = 'APIC/TYP, BDEF/*, CFDB/CFB, CFDG/CFG, CFDS/CFS, CHKO/TYP, DDLA/ADF, DDLS/DF, DEVC/K, ' +
97
+ 'DRTY/STY, DSFD/SCF, EEEC/EVC, EVTB/EVB, PARA/R, RONT/ROT, SMBC/TYP, SOD1, SOD2, ' +
98
+ 'SRVB/SVB, SRVD/SRV';
99
+ function normalizeKtdRefObjectType(refObjectType) {
100
+ return refObjectType.trim().toUpperCase();
101
+ }
102
+ function validateKtdRefObjectType(refObjectType) {
103
+ const normalized = normalizeKtdRefObjectType(refObjectType);
104
+ if (KTD_REF_OBJECT_TYPES_ROUTABLE_BY_ARC.has(normalized)) {
105
+ return undefined;
106
+ }
107
+ if (KTD_REF_OBJECT_TYPES_SAP_DOCUMENTATION_SCOPE.has(normalized)) {
108
+ return (`SKTD/KTD create recognizes refObjectType "${normalized}" as observed SAP-registered for KTD DOCUMENTATION scope on SAP_BASIS 758/816, ` +
109
+ `but ARC-1 does not yet have verified ADT parent URI routing for this type. ` +
110
+ `ARC-1 only creates KTDs when it can build both the SAP refObjectType and the parent adtcore:uri. ` +
111
+ `ARC-1 currently supports KTD creation for: ${KTD_REF_OBJECT_TYPES_HINT}. ` +
112
+ `Other SAP-registered KTD parent types verified from WBOBJTYPES_SCOPE: ${KTD_SAP_DOCUMENTATION_SCOPE_HINT}.`);
113
+ }
114
+ const codeDocumentationHint = normalized === 'CLAS/OC' || normalized === 'INTF/OI' || normalized === 'PROG/P'
115
+ ? '\n\nUse ABAP Doc for classes, interfaces, and programs. These object types were not registered for KTD DOCUMENTATION scope on the tested SAP_BASIS 758 and 816 systems; SAP documentation positions ABAP Doc as the source-code documentation mechanism for classes and interfaces.'
116
+ : '';
117
+ return (`SKTD/KTD create will not attempt unverified refObjectType "${normalized}". ` +
118
+ `KTD creation requires both a SAP Workbench DOCUMENTATION scope handler for the parent object type and an exact ADT parent object URI; ` +
119
+ `posting unknown parent types can trigger a SAP short dump in CL_KTD_UTILITY=>GET_DOCU_STRUCTURE before SAP returns a normal validation error. ` +
120
+ `ARC-1 currently supports KTD creation for: ${KTD_REF_OBJECT_TYPES_HINT}.` +
121
+ codeDocumentationHint);
122
+ }
123
+ const BDEF_IDENTIFIER_PATTERN = '(?:/[A-Za-z0-9_]+/[A-Za-z_][A-Za-z0-9_]*|[A-Za-z_][A-Za-z0-9_]*)';
124
+ const BDEF_EXTENSION_PATTERN = new RegExp(String.raw `\bextend\s+behavior\s+for\s+(${BDEF_IDENTIFIER_PATTERN})\b`, 'i');
125
+ function replaceNonNewlineWithSpaces(text) {
126
+ return text.replace(/[^\n]/g, ' ');
127
+ }
128
+ function stripBdefCommentsAndStrings(source) {
129
+ const withoutBlockComments = source.replace(/\/\*[\s\S]*?\*\//g, replaceNonNewlineWithSpaces);
130
+ return withoutBlockComments
131
+ .split('\n')
132
+ .map((line) => {
133
+ if (/^\s*\*/.test(line))
134
+ return '';
135
+ let stripped = '';
136
+ let inString = false;
137
+ for (let i = 0; i < line.length; i++) {
138
+ const ch = line[i];
139
+ const next = line[i + 1];
140
+ if (!inString) {
141
+ if (ch === '"' || (ch === '/' && next === '/'))
142
+ break;
143
+ if (ch === "'") {
144
+ inString = true;
145
+ stripped += ' ';
146
+ continue;
147
+ }
148
+ stripped += ch;
149
+ continue;
150
+ }
151
+ if (ch === "'" && next === "'") {
152
+ stripped += ' ';
153
+ i++;
154
+ continue;
155
+ }
156
+ if (ch === "'") {
157
+ inString = false;
158
+ stripped += ' ';
159
+ continue;
160
+ }
161
+ stripped += ' ';
162
+ }
163
+ return stripped;
164
+ })
165
+ .join('\n');
166
+ }
167
+ function extractBdefBehaviorExtensionBase(source) {
168
+ return BDEF_EXTENSION_PATTERN.exec(stripBdefCommentsAndStrings(source))?.[1];
169
+ }
170
+ function sameBdefName(left, right) {
171
+ return left.toUpperCase() === right.toUpperCase();
172
+ }
173
+ function applyBdefBehaviorExtensionMetadata(type, source, metadataProperties) {
174
+ if (type !== 'BDEF' || !source)
175
+ return undefined;
176
+ const baseBdef = extractBdefBehaviorExtensionBase(source);
177
+ if (!baseBdef)
178
+ return undefined;
179
+ metadataProperties.behaviorExtension = true;
180
+ metadataProperties.baseBdef = baseBdef;
181
+ return baseBdef;
182
+ }
183
+ /**
184
+ * After a behavior-extension create+PUT, read the inactive draft back and confirm it really is an
185
+ * `extend behavior for <base>` extension. Returns a NON-BLOCKING warning string if it isn't (the
186
+ * object was still created — SAP may have scaffolded a plain definition, e.g. if a future release
187
+ * ignores the ADT template). On the tested releases (758/816) this never fires; it's a cheap
188
+ * data-integrity hint, not a hard gate. Returns undefined when the extension is confirmed.
189
+ */
190
+ async function warnIfBdefExtensionUnconfirmed(client, name, expectedBaseBdef) {
191
+ const readBack = await client.getBdef(name, { version: 'inactive' });
192
+ const actualBaseBdef = extractBdefBehaviorExtensionBase(readBack.source);
193
+ if (actualBaseBdef && sameBdefName(actualBaseBdef, expectedBaseBdef))
194
+ return undefined;
195
+ const actual = actualBaseBdef !== undefined
196
+ ? `read-back shows \`extend behavior for ${actualBaseBdef}\` instead`
197
+ : 'read-back shows no `extend behavior for` declaration';
198
+ return (`Warning: created BDEF ${name}, but the inactive read-back did not confirm ` +
199
+ `\`extend behavior for ${expectedBaseBdef}\` (${actual}). SAP may have scaffolded a plain behavior ` +
200
+ 'definition (e.g. if the ADT template was ignored or the base BDEF is not extensible). ' +
201
+ `Verify with SAPRead(type="BDEF", name="${name}", version="inactive") before activating.`);
202
+ }
203
+ function isKtdCreateEndpointUnavailable(err) {
204
+ if (!(err instanceof AdtApiError))
205
+ return false;
206
+ if (err.statusCode !== 404 || err.path !== '/sap/bc/adt/documentation/ktd/documents')
207
+ return false;
208
+ const combined = `${err.message}\n${err.responseBody ?? ''}`.toLowerCase();
209
+ return combined.includes('resource') && combined.includes('/sap/bc/adt/documentation/ktd/documents');
210
+ }
35
211
  export async function writeActionCreate(ctx) {
36
212
  const { client, args, config, type, name, source, transport, lintOverride, preflightOverride, objectUrl, srcUrl, invalidateWrittenObject, } = ctx;
37
213
  const pkg = String(args.package ?? '$TMP');
@@ -99,12 +275,15 @@ export async function writeActionCreate(ctx) {
99
275
  return errorResult(`AFF metadata validation failed for ${type} ${name}:\n- ${(affResult.errors ?? []).join('\n- ')}\n\nFix the metadata and retry.`);
100
276
  }
101
277
  if (type === 'SKTD') {
102
- // A KTD is not a standalone object — it documents a parent object (e.g., a DDLS view or a CLAS).
278
+ // A KTD is not a standalone object — it documents a parent object with a WB DOCUMENTATION handler.
103
279
  // The create POST goes to the collection URL with a sktd:docu XML body that references the parent.
104
- const refType = String(args.refObjectType ?? '');
280
+ const refType = normalizeKtdRefObjectType(String(args.refObjectType ?? ''));
105
281
  if (!refType) {
106
- return errorResult('"refObjectType" is required for SKTD create — the ADT type+subtype of the parent object being documented (e.g., "DDLS/DF", "CLAS/OC", "PROG/P", "INTF/OI", "BDEF/BDO", "SRVD/SRV").');
282
+ return errorResult(`"refObjectType" is required for SKTD/KTD create — the ADT type+subtype of the parent object being documented (for example: ${KTD_REF_OBJECT_TYPES_HINT}).`);
107
283
  }
284
+ const refTypeError = validateKtdRefObjectType(refType);
285
+ if (refTypeError)
286
+ return errorResult(refTypeError);
108
287
  const refName = String(args.refObjectName ?? name);
109
288
  // SAP rule: a KTD's own name must equal the parent object's name (one KTD per object).
110
289
  // Creating a KTD named differently from its parent fails server-side with a cryptic
@@ -123,7 +302,18 @@ export async function writeActionCreate(ctx) {
123
302
  <sktd:refObject adtcore:description="${escapeXmlAttr(refDescription)}" adtcore:name="${escapeXmlAttr(refName)}" adtcore:type="${escapeXmlAttr(refType)}" adtcore:uri="${escapeXmlAttr(refUri)}"/>
124
303
  </sktd:docu>`;
125
304
  const ktdCreateUrl = '/sap/bc/adt/documentation/ktd/documents';
126
- const ktdResult = await createObject(client.http, client.safety, ktdCreateUrl, ktdBody, SKTD_V2_CONTENT_TYPE, effectiveTransport, undefined, cachedFeatures?.abapRelease);
305
+ let ktdResult;
306
+ try {
307
+ ktdResult = await createObject(client.http, client.safety, ktdCreateUrl, ktdBody, SKTD_V2_CONTENT_TYPE, effectiveTransport, undefined, cachedFeatures?.abapRelease);
308
+ }
309
+ catch (err) {
310
+ if (isKtdCreateEndpointUnavailable(err)) {
311
+ return errorResult(`SKTD/KTD create endpoint is not available on this SAP system: ${ktdCreateUrl} returned 404. ` +
312
+ `KTD creation requires SAP_BASIS 7.55+ with the ADT Knowledge Transfer Document service active. ` +
313
+ `ARC-1 did not create "${name}". On older systems, use the documentation mechanism supported by that release or connect to a KTD-capable backend.`);
314
+ }
315
+ throw err;
316
+ }
127
317
  // If initial Markdown was provided, follow up with an update PUT to write it.
128
318
  // Same envelope contract as the update path: fetch-then-rewrite ensures we
129
319
  // PUT back exactly the shape SAP gave us (with all the server-assigned
@@ -142,6 +332,7 @@ export async function writeActionCreate(ctx) {
142
332
  // SAP ADT requires the root element to match the object type —
143
333
  // a generic objectReferences body returns 400 "System expected the element ...".
144
334
  const metadataProperties = getMetadataWriteProperties(args);
335
+ const bdefExtensionBase = applyBdefBehaviorExtensionMetadata(type, source, metadataProperties);
145
336
  const body = buildCreateXml(type, name, pkg, description, metadataProperties, config.language, config.username);
146
337
  // Step 1: Create the object (metadata only)
147
338
  const createUrl = objectUrl.replace(/\/[^/]+$/, ''); // parent collection URL
@@ -194,6 +385,11 @@ export async function writeActionCreate(ctx) {
194
385
  }
195
386
  });
196
387
  }
388
+ // TTYP: the POST creates a default-typed (CHAR) shell — a follow-up PUT writes the real row type.
389
+ if (type === 'TTYP') {
390
+ const ct = vendorContentTypeForType(type);
391
+ await putTtypMetadataAfterCreate(client, objectUrl, name, body, ct, effectiveTransport);
392
+ }
197
393
  invalidateWrittenObject();
198
394
  const followUpHint = type === 'SRVB'
199
395
  ? `\n\nNext steps:\n1. SAPActivate(type="SRVB", name="${name}")\n2. SAPActivate(action="publish_srvb", name="${name}")`
@@ -248,9 +444,12 @@ export async function writeActionCreate(ctx) {
248
444
  return textResult(`Created ${type} ${name} in package ${pkg}, but source was rejected by lint:\n${lintWarnings.result.content[0].text}`);
249
445
  }
250
446
  await safeUpdateSource(client.http, client.safety, objectUrl, srcUrl, createSource, effectiveTransport, cachedFeatures?.abapRelease);
447
+ const bdefExtensionWarning = bdefExtensionBase
448
+ ? await warnIfBdefExtensionUnconfirmed(client, name, bdefExtensionBase)
449
+ : undefined;
251
450
  invalidateWrittenObject(type, name);
252
451
  const msg = `Created ${type} ${name} in package ${pkg} and wrote source code.`;
253
- const warnings = mergePreWriteWarnings(preflightWarnings.warnings, lintWarnings.warnings, fmParamStripWarning, fmParamMergeWarning);
452
+ const warnings = mergePreWriteWarnings(preflightWarnings.warnings, lintWarnings.warnings, fmParamStripWarning, fmParamMergeWarning, bdefExtensionWarning);
254
453
  return warnings ? textResult(`${msg}\n\n${warnings}`) : textResult(msg);
255
454
  }
256
455
  return textResult(`Created ${type} ${name} in package ${pkg}.\n${result}`);
@@ -426,9 +625,23 @@ export async function writeActionBatchCreate(ctx) {
426
625
  });
427
626
  break;
428
627
  }
628
+ // TTYP create needs /ddic/tabletypes/ (absent on NW 7.50) — mirror the TABL/DT gate above.
629
+ if (objType === 'TTYP' && isTableTypesEndpointAvailable() === false) {
630
+ results.push({
631
+ type: objType,
632
+ name: objName,
633
+ packageName: objPackage,
634
+ status: 'failed',
635
+ error: TTYP_WRITE_UNAVAILABLE_HINT,
636
+ });
637
+ break;
638
+ }
429
639
  const objUrl = objectUrlForType(objType, objName);
430
640
  const createUrl = objUrl.replace(/\/[^/]+$/, '');
431
641
  const objMetadataProps = getMetadataWriteProperties(obj);
642
+ // Sets behaviorExtension + baseBdef on the metadata so buildCreateXml emits the adtTemplate;
643
+ // the return value (used for the optional read-back warning) isn't needed in the batch path.
644
+ applyBdefBehaviorExtensionMetadata(objType, objSource, objMetadataProps);
432
645
  const body = buildCreateXml(objType, objName, objPackage, objDescription, objMetadataProps, config.language, config.username);
433
646
  const contentType = createContentTypeForType(objType);
434
647
  const needsPackageParam = objType === 'BDEF' || objType === 'TABL' || objType === 'TABL/DT' || objType === 'TABL/DS';
@@ -457,6 +670,10 @@ export async function writeActionBatchCreate(ctx) {
457
670
  }
458
671
  });
459
672
  }
673
+ // TTYP POST creates SAP's default table-type shell; PUT the real row type before activation.
674
+ if (objType === 'TTYP') {
675
+ await putTtypMetadataAfterCreate(client, objUrl, objName, body, contentType, objTransport);
676
+ }
460
677
  // Step 2: Write source if provided
461
678
  if (!metadataObject && objSource) {
462
679
  const srcUrl = sourceUrlForType(objType, objName);
@@ -1 +1 @@
1
- {"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/handlers/write/create.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/handlers/write/create.ts"],"names":[],"mappings":"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"}
@@ -151,5 +151,6 @@ export declare function runPreWriteSyntaxCheck(client: AdtClient, type: string,
151
151
  export declare function inactiveSyntaxDiagnostic(client: AdtClient, type: string, name: string): Promise<string>;
152
152
  export declare function tryPostSaveSyntaxCheck(client: AdtClient, type: string, name: string): Promise<string>;
153
153
  export declare const TABL_DT_WRITE_UNAVAILABLE_HINT: string;
154
+ export declare const TTYP_WRITE_UNAVAILABLE_HINT: string;
154
155
  export {};
155
156
  //# sourceMappingURL=write-helpers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"write-helpers.d.ts","sourceRoot":"","sources":["../../src/handlers/write-helpers.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAyBlD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAExD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,KAAK,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAElF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,KAAK,oBAAoB,EAA0B,MAAM,qBAAqB,CAAC;AAGxF,OAAO,EAAe,KAAK,UAAU,EAAc,MAAM,aAAa,CAAC;AAEvE;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,YAAY,EAAE,aAAa,CAAC,EAAE,aAAa,GAAG,iBAAiB,CAS7G;AAID,eAAO,MAAM,sBAAsB,0DAA0D,CAAC;AAC9F,eAAO,MAAM,2BAA2B,+DAA+D,CAAC;AACxG,eAAO,MAAM,8BAA8B,kFACsC,CAAC;AAOlF,eAAO,MAAM,wBAAwB,mEAAmE,CAAC;AAGzG,eAAO,MAAM,oBAAoB,uCAAuC,CAAC;AAMzE,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEzD;AAeD,wCAAwC;AACxC,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAI7D;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAYjF;AAED,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAwB7D;AAaD,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAmClG;AAiBD,wBAAsB,4BAA4B,CAChD,MAAM,EAAE,SAAS,EACjB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAChC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAiElC;AAED;;;;;;GAMG;AAEH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,EACX,WAAW,EAAE,MAAM,EACnB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACpC,QAAQ,CAAC,EAAE,MAAM,EACjB,WAAW,CAAC,EAAE,MAAM,GACnB,MAAM,CAqRR;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,MAAM,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,OAAO,CAAA;CAAE,CAIjG;AAID;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,aAAyD,CAAC;AAE9F;;;;;;;;;;;GAWG;AACH,wBAAsB,iCAAiC,CACrD,MAAM,EAAE,SAAS,EACjB,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,EACb,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAW7B;AAED;;;;;;;;GAQG;AACH,wBAAsB,6BAA6B,CACjD,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,YAAY,EAAE,YAAY,GAAG,SAAS,EACtC,aAAa,EAAE,oBAAoB,GAClC,OAAO,CAAC,UAAU,CAAC,CAmFrB;AAED,kCAAkC;AAClC,MAAM,WAAW,kBAAkB;IACjC,mDAAmD;IACnD,OAAO,EAAE,OAAO,CAAC;IACjB,wCAAwC;IACxC,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,gDAAgD;IAChD,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,2CAA2C;AAC3C,UAAU,0BAA0B;IAClC,4DAA4D;IAC5D,OAAO,EAAE,OAAO,CAAC;IACjB,wCAAwC;IACxC,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,gDAAgD;IAChD,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;;GAOG;AACH,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,gBAAgB,GAAG,SAAS,EACtC,gBAAgB,EAAE,YAAY,CAAC,YAAY,CAAC,EAC5C,eAAe,CAAC,EAAE,OAAO,GACxB,0BAA0B,CAgC5B;AAED,wBAAgB,qBAAqB,CAAC,GAAG,QAAQ,EAAE,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,GAAG,MAAM,GAAG,SAAS,CAIhG;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,YAAY,EACpB,eAAe,CAAC,EAAE,OAAO,GACxB,kBAAkB,CA0DpB;AAkBD;;;;;;mFAMmF;AACnF,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE,SAAS,EACjB,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,YAAY,EACpB,eAAe,CAAC,EAAE,OAAO,GACxB,OAAO,CAAC,MAAM,CAAC,CA4BjB;AAKD;+EAC+E;AAC/E,wBAAsB,wBAAwB,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAoB7G;AAED,wBAAsB,sBAAsB,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAG3G;AAID,eAAO,MAAM,8BAA8B,QAMQ,CAAC"}
1
+ {"version":3,"file":"write-helpers.d.ts","sourceRoot":"","sources":["../../src/handlers/write-helpers.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@
5
5
  * lint/syntax/RAP-preflight gates, package enforcement, and the server-driven-object write engine.
6
6
  * Shared by the SAPWrite and SAPLint handlers.
7
7
  */
8
- import { buildDataElementXml, buildDomainXml, buildMessageClassXml, buildServiceBindingXml, normalizeAdtLanguage, normalizeAdtResponsible, } from '../adt/ddic-xml.js';
8
+ import { buildDataElementXml, buildDomainXml, buildMessageClassXml, buildServiceBindingXml, buildTableTypeXml, normalizeAdtLanguage, normalizeAdtResponsible, } from '../adt/ddic-xml.js';
9
9
  import { syntaxCheck } from '../adt/devtools.js';
10
10
  import { AdtSafetyError } from '../adt/errors.js';
11
11
  import { formatRapPreflightFindings, validateRapSource } from '../adt/rap-preflight.js';
@@ -49,12 +49,14 @@ export const SERVICEBINDING_V2_ACCEPT = 'application/vnd.sap.adt.businessservice
49
49
  const BDEF_CONTENT_TYPE = 'application/vnd.sap.adt.blues.v1+xml';
50
50
  const MESSAGECLASS_CONTENT_TYPE = 'application/vnd.sap.adt.mc.messageclass+xml';
51
51
  export const SKTD_V2_CONTENT_TYPE = 'application/vnd.sap.adt.sktdv2+xml';
52
+ // Table type (TTYP) create/read — verified live on a4h 758 + 816 (POST → 201).
53
+ const TABLETYPE_CONTENT_TYPE = 'application/vnd.sap.adt.tabletype.v1+xml';
52
54
  // Function group + function module content types — verified live on a4h S/4HANA 2023
53
55
  // (issue #250). FUGR uses the v3 group envelope; FUNC uses the unversioned fmodule envelope.
54
56
  const FUNCTION_GROUP_CONTENT_TYPE = 'application/vnd.sap.adt.functions.groups.v3+xml';
55
57
  const FUNCTION_MODULE_CONTENT_TYPE = 'application/vnd.sap.adt.functions.fmodules+xml';
56
58
  export function isMetadataWriteType(type) {
57
- return type === 'DOMA' || type === 'DTEL' || type === 'MSAG' || type === 'SRVB';
59
+ return type === 'DOMA' || type === 'DTEL' || type === 'MSAG' || type === 'SRVB' || type === 'TTYP';
58
60
  }
59
61
  /** Types that require a specific vendor content type for creation (not application/*) */
60
62
  function needsVendorContentType(type) {
@@ -63,6 +65,7 @@ function needsVendorContentType(type) {
63
65
  type === 'BDEF' ||
64
66
  type === 'MSAG' ||
65
67
  type === 'SKTD' ||
68
+ type === 'TTYP' ||
66
69
  type === 'FUGR' ||
67
70
  type === 'FUNC');
68
71
  }
@@ -103,6 +106,8 @@ export function vendorContentTypeForType(type) {
103
106
  return MESSAGECLASS_CONTENT_TYPE;
104
107
  case 'SKTD':
105
108
  return SKTD_V2_CONTENT_TYPE;
109
+ case 'TTYP':
110
+ return TABLETYPE_CONTENT_TYPE;
106
111
  case 'FUGR':
107
112
  return FUNCTION_GROUP_CONTENT_TYPE;
108
113
  case 'FUNC':
@@ -141,6 +146,8 @@ export function getMetadataWriteProperties(input) {
141
146
  valueTable: input.valueTable,
142
147
  typeKind: input.typeKind,
143
148
  typeName: input.typeName,
149
+ rowType: input.rowType,
150
+ rowTypeKind: input.rowTypeKind,
144
151
  domainName: input.domainName,
145
152
  shortLabel: input.shortLabel,
146
153
  mediumLabel: input.mediumLabel,
@@ -357,9 +364,20 @@ export function buildCreateXml(type, name, pkg, description, properties, languag
357
364
  <adtcore:packageRef adtcore:name="${escapeXmlAttr(pkg)}"/>
358
365
  </blue:blueSource>`;
359
366
  }
360
- case 'BDEF':
367
+ case 'BDEF': {
361
368
  // BDEF uses SAP's "blue" framework — blue:blueSource with http://www.sap.com/wbobj/blue namespace.
362
369
  // Confirmed by vibing-steampunk (Go) and fr0ster (TypeScript) reference implementations.
370
+ // A behavior EXTENSION (`extend behavior for …`) is still adtcore:type BDEF/BDO, but its create
371
+ // POST carries an `adtcore:adtTemplate` naming the base BDEF — and it MUST precede packageRef
372
+ // (the elements are schema-ordered; a trailing template is silently ignored — live-verified a4h
373
+ // 816). Without it SAP scaffolds a plain definition; with it SAP scaffolds `extend behavior for`.
374
+ const baseBdef = String(properties?.baseBdef ?? '').trim();
375
+ if (properties?.behaviorExtension && !baseBdef) {
376
+ throw new Error('BDEF behavior extension create requires a non-empty baseBdef metadata property.');
377
+ }
378
+ const extTemplate = properties?.behaviorExtension
379
+ ? `\n <adtcore:adtTemplate>\n <adtcore:adtProperty adtcore:key="base_bdef">${escapeXmlAttr(baseBdef)}</adtcore:adtProperty>\n </adtcore:adtTemplate>`
380
+ : '';
363
381
  return `<?xml version="1.0" encoding="UTF-8"?>
364
382
  <blue:blueSource xmlns:blue="http://www.sap.com/wbobj/blue"
365
383
  xmlns:adtcore="http://www.sap.com/adt/core"
@@ -368,9 +386,10 @@ export function buildCreateXml(type, name, pkg, description, properties, languag
368
386
  adtcore:type="BDEF/BDO"
369
387
  adtcore:masterLanguage="${masterLanguage}"
370
388
  adtcore:masterSystem="H00"
371
- adtcore:responsible="${escapeXmlAttr(responsibleUser)}">
389
+ adtcore:responsible="${escapeXmlAttr(responsibleUser)}">${extTemplate}
372
390
  <adtcore:packageRef adtcore:name="${escapeXmlAttr(pkg)}"/>
373
391
  </blue:blueSource>`;
392
+ }
374
393
  case 'SRVD':
375
394
  return `<?xml version="1.0" encoding="UTF-8"?>
376
395
  <srvd:srvdSource xmlns:srvd="http://www.sap.com/adt/ddic/srvdsources"
@@ -444,6 +463,23 @@ export function buildCreateXml(type, name, pkg, description, properties, languag
444
463
  };
445
464
  return buildDomainXml(params);
446
465
  }
466
+ case 'TTYP': {
467
+ const rowType = String(properties?.rowType ?? '').trim();
468
+ if (!rowType) {
469
+ throw new Error('SAPWrite create type=TTYP requires "rowType" — a built-in ABAP type (STRING, I, …) or a DDIC structure/type name.');
470
+ }
471
+ const rowTypeKindRaw = String(properties?.rowTypeKind ?? '');
472
+ const rowTypeKind = rowTypeKindRaw === 'builtin' || rowTypeKindRaw === 'structure' ? rowTypeKindRaw : undefined;
473
+ return buildTableTypeXml({
474
+ name,
475
+ description,
476
+ package: pkg,
477
+ rowType,
478
+ rowTypeKind,
479
+ language: masterLanguage,
480
+ responsible: responsibleUser,
481
+ });
482
+ }
447
483
  case 'DTEL': {
448
484
  const typeKindRaw = String(properties?.typeKind ?? '');
449
485
  const typeKind = typeKindRaw === 'domain' || typeKindRaw === 'predefinedAbapType' ? typeKindRaw : undefined;
@@ -741,7 +777,12 @@ export function runPreWriteLint(source, type, name, config, perCallOverride) {
741
777
  return { blocked: false };
742
778
  }
743
779
  try {
744
- const filename = detectFilename(source, name);
780
+ let filename = detectFilename(source, name);
781
+ if (type === 'INCL' && filename.endsWith('.clas.abap')) {
782
+ // ABAP includes are often source fragments (FORM/MODULE/DATA...) without a REPORT/CLASS header.
783
+ // Lint them as program-style source; treating the fallback as a class rejects valid include fragments.
784
+ filename = `${name.toLowerCase()}.prog.abap`;
785
+ }
745
786
  // Reuse the single systemType/abapRelease/configFile resolution (avoids drift with SAPLint's
746
787
  // own config — a release-ceiling fix applied to one copy only would split lint behavior).
747
788
  const configOptions = buildLintConfigOptions(config);
@@ -856,4 +897,7 @@ export const TABL_DT_WRITE_UNAVAILABLE_HINT = 'Transparent table writes via ADT
856
897
  'Use SE11 in SAPGUI, or connect ARC-1 to an SAP_BASIS ≥ 7.52 system. ' +
857
898
  'Writing the source via /sap/bc/adt/ddic/structures/ would silently flip ' +
858
899
  'DD02L-TABCLASS to INTTAB and corrupt the table.';
900
+ export const TTYP_WRITE_UNAVAILABLE_HINT = 'Table type (TTYP) writes are not available on this system ' +
901
+ '(/sap/bc/adt/ddic/tabletypes/ is not exposed by ADT discovery — verified absent on NW 7.50). ' +
902
+ 'Use SE11 in SAPGUI, or connect ARC-1 to a system that exposes the table-type endpoint (S/4HANA 2023 / ABAP Platform 2025 verified).';
859
903
  //# sourceMappingURL=write-helpers.js.map