arc-1 1.3.0 → 1.5.0
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/README.md +1 -1
- package/dist/adt/abapgit.d.ts.map +1 -1
- package/dist/adt/abapgit.js +64 -7
- package/dist/adt/abapgit.js.map +1 -1
- package/dist/adt/aunit.js +4 -4
- package/dist/adt/aunit.js.map +1 -1
- package/dist/adt/class-structure.d.ts +4 -2
- package/dist/adt/class-structure.d.ts.map +1 -1
- package/dist/adt/class-structure.js +18 -9
- package/dist/adt/class-structure.js.map +1 -1
- package/dist/adt/client.d.ts +18 -52
- package/dist/adt/client.d.ts.map +1 -1
- package/dist/adt/client.js +69 -92
- package/dist/adt/client.js.map +1 -1
- package/dist/adt/config.d.ts +5 -0
- package/dist/adt/config.d.ts.map +1 -1
- package/dist/adt/config.js.map +1 -1
- package/dist/adt/create-request.d.ts +4 -0
- package/dist/adt/create-request.d.ts.map +1 -0
- package/dist/adt/create-request.js +16 -0
- package/dist/adt/create-request.js.map +1 -0
- package/dist/adt/crud.d.ts +3 -3
- package/dist/adt/crud.d.ts.map +1 -1
- package/dist/adt/crud.js +28 -9
- package/dist/adt/crud.js.map +1 -1
- package/dist/adt/data-source-policy.d.ts +20 -8
- package/dist/adt/data-source-policy.d.ts.map +1 -1
- package/dist/adt/data-source-policy.js +55 -109
- package/dist/adt/data-source-policy.js.map +1 -1
- package/dist/adt/ddic-xml.d.ts +9 -0
- package/dist/adt/ddic-xml.d.ts.map +1 -1
- package/dist/adt/ddic-xml.js +17 -3
- package/dist/adt/ddic-xml.js.map +1 -1
- package/dist/adt/devtools.d.ts.map +1 -1
- package/dist/adt/devtools.js +10 -7
- package/dist/adt/devtools.js.map +1 -1
- package/dist/adt/diagnostics.d.ts +11 -9
- package/dist/adt/diagnostics.d.ts.map +1 -1
- package/dist/adt/diagnostics.js +88 -14
- package/dist/adt/diagnostics.js.map +1 -1
- package/dist/adt/enhancements.d.ts +7 -0
- package/dist/adt/enhancements.d.ts.map +1 -0
- package/dist/adt/enhancements.js +89 -0
- package/dist/adt/enhancements.js.map +1 -0
- package/dist/adt/errors.d.ts +21 -10
- package/dist/adt/errors.d.ts.map +1 -1
- package/dist/adt/errors.js +76 -54
- package/dist/adt/errors.js.map +1 -1
- package/dist/adt/features.d.ts.map +1 -1
- package/dist/adt/features.js +2 -0
- package/dist/adt/features.js.map +1 -1
- package/dist/adt/flp.d.ts.map +1 -1
- package/dist/adt/flp.js +5 -4
- package/dist/adt/flp.js.map +1 -1
- package/dist/adt/fm-signature.d.ts +1 -1
- package/dist/adt/fm-signature.d.ts.map +1 -1
- package/dist/adt/fm-signature.js +9 -1
- package/dist/adt/fm-signature.js.map +1 -1
- package/dist/adt/http-deadline.d.ts +2 -0
- package/dist/adt/http-deadline.d.ts.map +1 -1
- package/dist/adt/http-deadline.js.map +1 -1
- package/dist/adt/http.d.ts +12 -29
- package/dist/adt/http.d.ts.map +1 -1
- package/dist/adt/http.js +102 -95
- package/dist/adt/http.js.map +1 -1
- package/dist/adt/internal-data-operations.d.ts +3 -2
- package/dist/adt/internal-data-operations.d.ts.map +1 -1
- package/dist/adt/internal-data-operations.js +8 -1
- package/dist/adt/internal-data-operations.js.map +1 -1
- package/dist/adt/lock-object.d.ts +92 -0
- package/dist/adt/lock-object.d.ts.map +1 -0
- package/dist/adt/lock-object.js +195 -0
- package/dist/adt/lock-object.js.map +1 -0
- package/dist/adt/publish-state.d.ts +4 -0
- package/dist/adt/publish-state.d.ts.map +1 -0
- package/dist/adt/publish-state.js +61 -0
- package/dist/adt/publish-state.js.map +1 -0
- package/dist/adt/rap-generate.d.ts +5 -1
- package/dist/adt/rap-generate.d.ts.map +1 -1
- package/dist/adt/rap-generate.js +112 -100
- package/dist/adt/rap-generate.js.map +1 -1
- package/dist/adt/server-driven.d.ts +56 -13
- package/dist/adt/server-driven.d.ts.map +1 -1
- package/dist/adt/server-driven.js +114 -23
- package/dist/adt/server-driven.js.map +1 -1
- package/dist/adt/source-precondition.d.ts +3 -0
- package/dist/adt/source-precondition.d.ts.map +1 -0
- package/dist/adt/source-precondition.js +12 -0
- package/dist/adt/source-precondition.js.map +1 -0
- package/dist/adt/text-search.js +5 -5
- package/dist/adt/text-search.js.map +1 -1
- package/dist/adt/transport.d.ts +1 -2
- package/dist/adt/transport.d.ts.map +1 -1
- package/dist/adt/transport.js +20 -15
- package/dist/adt/transport.js.map +1 -1
- package/dist/adt/types.d.ts +21 -1
- package/dist/adt/types.d.ts.map +1 -1
- package/dist/adt/user-agent.d.ts +4 -0
- package/dist/adt/user-agent.d.ts.map +1 -0
- package/dist/adt/user-agent.js +11 -0
- package/dist/adt/user-agent.js.map +1 -0
- package/dist/adt/xml-entities.d.ts +3 -0
- package/dist/adt/xml-entities.d.ts.map +1 -0
- package/dist/adt/xml-entities.js +19 -0
- package/dist/adt/xml-entities.js.map +1 -0
- package/dist/adt/xml-parser.d.ts +7 -30
- package/dist/adt/xml-parser.d.ts.map +1 -1
- package/dist/adt/xml-parser.js +25 -54
- package/dist/adt/xml-parser.js.map +1 -1
- package/dist/authz/policy.d.ts.map +1 -1
- package/dist/authz/policy.js +2 -0
- package/dist/authz/policy.js.map +1 -1
- package/dist/cache/caching-layer.d.ts.map +1 -1
- package/dist/cache/caching-layer.js +5 -10
- package/dist/cache/caching-layer.js.map +1 -1
- package/dist/cli.js +1 -1
- package/dist/cli.js.map +1 -1
- package/dist/context/grep.d.ts +14 -0
- package/dist/context/grep.d.ts.map +1 -1
- package/dist/context/grep.js +49 -0
- package/dist/context/grep.js.map +1 -1
- package/dist/context/unit-surgery.d.ts +4 -2
- package/dist/context/unit-surgery.d.ts.map +1 -1
- package/dist/context/unit-surgery.js +54 -6
- package/dist/context/unit-surgery.js.map +1 -1
- package/dist/handlers/activate.d.ts.map +1 -1
- package/dist/handlers/activate.js +11 -20
- package/dist/handlers/activate.js.map +1 -1
- package/dist/handlers/diagnose.d.ts.map +1 -1
- package/dist/handlers/diagnose.js +11 -30
- package/dist/handlers/diagnose.js.map +1 -1
- package/dist/handlers/dispatch.d.ts.map +1 -1
- package/dist/handlers/dispatch.js +63 -8
- package/dist/handlers/dispatch.js.map +1 -1
- package/dist/handlers/editable-source.d.ts +6 -0
- package/dist/handlers/editable-source.d.ts.map +1 -0
- package/dist/handlers/editable-source.js +53 -0
- package/dist/handlers/editable-source.js.map +1 -0
- package/dist/handlers/feature-cache.d.ts +2 -0
- package/dist/handlers/feature-cache.d.ts.map +1 -1
- package/dist/handlers/feature-cache.js +8 -0
- package/dist/handlers/feature-cache.js.map +1 -1
- package/dist/handlers/hyperfocused.js +1 -1
- package/dist/handlers/hyperfocused.js.map +1 -1
- package/dist/handlers/lint.d.ts.map +1 -1
- package/dist/handlers/lint.js +13 -4
- package/dist/handlers/lint.js.map +1 -1
- package/dist/handlers/object-types.d.ts +2 -3
- package/dist/handlers/object-types.d.ts.map +1 -1
- package/dist/handlers/object-types.js +13 -5
- package/dist/handlers/object-types.js.map +1 -1
- package/dist/handlers/publish-failure.d.ts +7 -0
- package/dist/handlers/publish-failure.d.ts.map +1 -0
- package/dist/handlers/publish-failure.js +42 -0
- package/dist/handlers/publish-failure.js.map +1 -0
- package/dist/handlers/read.d.ts.map +1 -1
- package/dist/handlers/read.js +39 -9
- package/dist/handlers/read.js.map +1 -1
- package/dist/handlers/schemas.d.ts +45 -0
- package/dist/handlers/schemas.d.ts.map +1 -1
- package/dist/handlers/schemas.js +50 -7
- package/dist/handlers/schemas.js.map +1 -1
- package/dist/handlers/syntax.d.ts +5 -0
- package/dist/handlers/syntax.d.ts.map +1 -0
- package/dist/handlers/syntax.js +35 -0
- package/dist/handlers/syntax.js.map +1 -0
- package/dist/handlers/tool-descriptions.d.ts.map +1 -1
- package/dist/handlers/tool-descriptions.js +7 -5
- package/dist/handlers/tool-descriptions.js.map +1 -1
- package/dist/handlers/tool-registry.d.ts +4 -4
- package/dist/handlers/tool-registry.d.ts.map +1 -1
- package/dist/handlers/tool-registry.js +4 -0
- package/dist/handlers/tool-registry.js.map +1 -1
- package/dist/handlers/tools.d.ts +1 -16
- package/dist/handlers/tools.d.ts.map +1 -1
- package/dist/handlers/tools.js +44 -55
- package/dist/handlers/tools.js.map +1 -1
- package/dist/handlers/transport.d.ts.map +1 -1
- package/dist/handlers/transport.js +17 -3
- package/dist/handlers/transport.js.map +1 -1
- package/dist/handlers/write/class-edit.d.ts +16 -0
- package/dist/handlers/write/class-edit.d.ts.map +1 -0
- package/dist/handlers/write/class-edit.js +55 -0
- package/dist/handlers/write/class-edit.js.map +1 -0
- package/dist/handlers/write/class-surgery.d.ts +2 -2
- package/dist/handlers/write/class-surgery.d.ts.map +1 -1
- package/dist/handlers/write/class-surgery.js +189 -220
- package/dist/handlers/write/class-surgery.js.map +1 -1
- package/dist/handlers/write/context.d.ts +1 -8
- package/dist/handlers/write/context.d.ts.map +1 -1
- package/dist/handlers/write/create.d.ts.map +1 -1
- package/dist/handlers/write/create.js +11 -4
- package/dist/handlers/write/create.js.map +1 -1
- package/dist/handlers/write/metadata-update.d.ts +4 -0
- package/dist/handlers/write/metadata-update.d.ts.map +1 -0
- package/dist/handlers/write/metadata-update.js +58 -0
- package/dist/handlers/write/metadata-update.js.map +1 -0
- package/dist/handlers/write/rap.d.ts.map +1 -1
- package/dist/handlers/write/rap.js +132 -155
- package/dist/handlers/write/rap.js.map +1 -1
- package/dist/handlers/write/unit-surgery.d.ts +2 -2
- package/dist/handlers/write/unit-surgery.d.ts.map +1 -1
- package/dist/handlers/write/unit-surgery.js +58 -34
- package/dist/handlers/write/unit-surgery.js.map +1 -1
- package/dist/handlers/write/update-delete.d.ts.map +1 -1
- package/dist/handlers/write/update-delete.js +34 -82
- package/dist/handlers/write/update-delete.js.map +1 -1
- package/dist/handlers/write-helpers.d.ts +4 -3
- package/dist/handlers/write-helpers.d.ts.map +1 -1
- package/dist/handlers/write-helpers.js +135 -21
- package/dist/handlers/write-helpers.js.map +1 -1
- package/dist/handlers/write.d.ts.map +1 -1
- package/dist/handlers/write.js +13 -31
- package/dist/handlers/write.js.map +1 -1
- package/dist/lint/config-builder.d.ts +10 -1
- package/dist/lint/config-builder.d.ts.map +1 -1
- package/dist/lint/config-builder.js +4 -0
- package/dist/lint/config-builder.js.map +1 -1
- package/dist/lint/lint.d.ts +3 -1
- package/dist/lint/lint.d.ts.map +1 -1
- package/dist/lint/lint.js +2 -1
- package/dist/lint/lint.js.map +1 -1
- package/dist/public/read-only-client.d.ts +6 -0
- package/dist/public/read-only-client.d.ts.map +1 -0
- package/dist/public/read-only-client.js +66 -0
- package/dist/public/read-only-client.js.map +1 -0
- package/dist/public/testing.d.ts +4 -0
- package/dist/public/testing.d.ts.map +1 -1
- package/dist/public/testing.js +6 -0
- package/dist/public/testing.js.map +1 -1
- package/dist/public/types.d.ts +14 -15
- package/dist/public/types.d.ts.map +1 -1
- package/dist/server/audit.d.ts +6 -1
- package/dist/server/audit.d.ts.map +1 -1
- package/dist/server/audit.js.map +1 -1
- package/dist/server/config.d.ts.map +1 -1
- package/dist/server/config.js +9 -2
- package/dist/server/config.js.map +1 -1
- package/dist/server/deny-actions.d.ts +2 -1
- package/dist/server/deny-actions.d.ts.map +1 -1
- package/dist/server/deny-actions.js +13 -2
- package/dist/server/deny-actions.js.map +1 -1
- package/dist/server/http.d.ts.map +1 -1
- package/dist/server/http.js +7 -5
- package/dist/server/http.js.map +1 -1
- package/dist/server/logger.d.ts +3 -3
- package/dist/server/logger.d.ts.map +1 -1
- package/dist/server/logger.js +7 -7
- package/dist/server/logger.js.map +1 -1
- package/dist/server/multi-target-basic-auth.d.ts.map +1 -1
- package/dist/server/multi-target-basic-auth.js +1 -0
- package/dist/server/multi-target-basic-auth.js.map +1 -1
- package/dist/server/multi-target-runtime.d.ts.map +1 -1
- package/dist/server/multi-target-runtime.js +1 -0
- package/dist/server/multi-target-runtime.js.map +1 -1
- package/dist/server/oauth-redirect-policy.d.ts +13 -0
- package/dist/server/oauth-redirect-policy.d.ts.map +1 -0
- package/dist/server/oauth-redirect-policy.js +21 -0
- package/dist/server/oauth-redirect-policy.js.map +1 -0
- package/dist/server/plugin-loader.d.ts.map +1 -1
- package/dist/server/plugin-loader.js +1 -3
- package/dist/server/plugin-loader.js.map +1 -1
- package/dist/server/safe-http-client.d.ts +8 -14
- package/dist/server/safe-http-client.d.ts.map +1 -1
- package/dist/server/safe-http-client.js +51 -73
- package/dist/server/safe-http-client.js.map +1 -1
- package/dist/server/server.d.ts +5 -4
- package/dist/server/server.d.ts.map +1 -1
- package/dist/server/server.js +36 -27
- package/dist/server/server.js.map +1 -1
- package/dist/server/types.d.ts +6 -4
- package/dist/server/types.d.ts.map +1 -1
- package/dist/server/types.js +2 -0
- package/dist/server/types.js.map +1 -1
- package/dist/version.d.ts +3 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +3 -0
- package/dist/version.js.map +1 -0
- package/package.json +15 -15
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
/** Conservative publication evidence; the general SRVB parser defaults absent flags to false. */
|
|
2
|
+
import { XMLParser, XMLValidator } from 'fast-xml-parser';
|
|
3
|
+
const SRVB = 'http://www.sap.com/adt/ddic/ServiceBindings';
|
|
4
|
+
const CORE = 'http://www.sap.com/adt/core';
|
|
5
|
+
const parser = new XMLParser({
|
|
6
|
+
ignoreAttributes: false,
|
|
7
|
+
parseAttributeValue: false,
|
|
8
|
+
parseTagValue: false,
|
|
9
|
+
ignoreDeclaration: true,
|
|
10
|
+
ignorePiTags: true,
|
|
11
|
+
});
|
|
12
|
+
/** Only report a known state for the live-verified, single-version active V4 UI shape. */
|
|
13
|
+
export function readPublishState(xml, name, version) {
|
|
14
|
+
if (Buffer.byteLength(xml) > 256 * 1024 || /<!DOCTYPE/i.test(xml) || XMLValidator.validate(xml) !== true)
|
|
15
|
+
return 'unknown';
|
|
16
|
+
try {
|
|
17
|
+
const doc = parser.parse(xml);
|
|
18
|
+
const roots = Object.keys(doc).filter((key) => key !== '#text');
|
|
19
|
+
if (roots.length !== 1)
|
|
20
|
+
return 'unknown';
|
|
21
|
+
const root = doc[roots[0]];
|
|
22
|
+
if (!root || typeof root !== 'object' || Array.isArray(root))
|
|
23
|
+
return 'unknown';
|
|
24
|
+
const qname = (key, uri, local) => {
|
|
25
|
+
const [prefix, suffix] = key.split(':');
|
|
26
|
+
return suffix === local && root[`@_xmlns:${prefix}`] === uri;
|
|
27
|
+
};
|
|
28
|
+
if (!qname(roots[0], SRVB, 'serviceBinding'))
|
|
29
|
+
return 'unknown';
|
|
30
|
+
const value = (node, uri, local, attribute = false) => {
|
|
31
|
+
if (!node || typeof node !== 'object' || Array.isArray(node))
|
|
32
|
+
return undefined;
|
|
33
|
+
const keys = Object.keys(node).filter((key) => attribute ? key.startsWith('@_') && qname(key.slice(2), uri, local) : qname(key, uri, local));
|
|
34
|
+
return keys.length === 1 ? node[keys[0]] : undefined;
|
|
35
|
+
};
|
|
36
|
+
// Unrelated local Atom declarations are normal; rebinding an interpreted prefix is ambiguous.
|
|
37
|
+
const rebound = (node, top = false) => !!node &&
|
|
38
|
+
typeof node === 'object' &&
|
|
39
|
+
Object.entries(node).some(([key, val]) => (!top && key.startsWith('@_xmlns:') && [SRVB, CORE].includes(root[key]) && val !== root[key]) || rebound(val));
|
|
40
|
+
if (rebound(root, true))
|
|
41
|
+
return 'unknown';
|
|
42
|
+
if (value(root, CORE, 'name', true) !== name ||
|
|
43
|
+
value(root, CORE, 'type', true) !== 'SRVB/SVB' ||
|
|
44
|
+
value(root, CORE, 'version', true) !== 'active')
|
|
45
|
+
return 'unknown';
|
|
46
|
+
const binding = value(root, SRVB, 'binding');
|
|
47
|
+
const services = value(root, SRVB, 'services');
|
|
48
|
+
if (value(binding, SRVB, 'type', true) !== 'ODATA' ||
|
|
49
|
+
value(binding, SRVB, 'version', true) !== 'V4' ||
|
|
50
|
+
value(binding, SRVB, 'category', true) !== '0' ||
|
|
51
|
+
value(services, SRVB, 'name', true) !== name ||
|
|
52
|
+
value(value(services, SRVB, 'content'), SRVB, 'version', true) !== version)
|
|
53
|
+
return 'unknown';
|
|
54
|
+
const published = value(root, SRVB, 'published', true);
|
|
55
|
+
return published === 'true' ? 'published' : published === 'false' ? 'unpublished' : 'unknown';
|
|
56
|
+
}
|
|
57
|
+
catch {
|
|
58
|
+
return 'unknown';
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=publish-state.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"publish-state.js","sourceRoot":"","sources":["../../src/adt/publish-state.ts"],"names":[],"mappings":"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"}
|
|
@@ -31,7 +31,9 @@
|
|
|
31
31
|
* failures rethrow.
|
|
32
32
|
*/
|
|
33
33
|
import type { AdtClient } from './client.js';
|
|
34
|
-
import {
|
|
34
|
+
import type { AdtHttpClient } from './http.js';
|
|
35
|
+
import { type RapHandlerRequirement, type RapHandlerSourceSections } from './rap-handlers.js';
|
|
36
|
+
import { type SafetyConfig } from './safety.js';
|
|
35
37
|
/** Options for `generateBehaviorImplementation`. */
|
|
36
38
|
export interface RapGenerateOptions {
|
|
37
39
|
/** Explicit BDEF name (overrides rootEntityRef auto-discovery). */
|
|
@@ -107,4 +109,6 @@ export declare function isRapGenerateResultSuccess(result: RapGenerateResult): b
|
|
|
107
109
|
* behavior pool class. See module-level docs for the contract.
|
|
108
110
|
*/
|
|
109
111
|
export declare function generateBehaviorImplementation(client: AdtClient, className: string, options?: RapGenerateOptions): Promise<RapGenerateResult>;
|
|
112
|
+
/** Read only the three RAP source sections. Serial reads keep one stateful SAP context in order. */
|
|
113
|
+
export declare function readRapClassSources(http: AdtHttpClient, safety: SafetyConfig, name: string): Promise<RapHandlerSourceSections>;
|
|
110
114
|
//# sourceMappingURL=rap-generate.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rap-generate.d.ts","sourceRoot":"","sources":["../../src/adt/rap-generate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAI7C,OAAO,EAKL,KAAK,qBAAqB,
|
|
1
|
+
{"version":3,"file":"rap-generate.d.ts","sourceRoot":"","sources":["../../src/adt/rap-generate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAI7C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAKL,KAAK,qBAAqB,EAC1B,KAAK,wBAAwB,EAC9B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAiC,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC;AAE/E,oDAAoD;AACpD,MAAM,WAAW,kBAAkB;IACjC,mEAAmE;IACnE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,qEAAqE;IACrE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,0EAA0E;IAC1E,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,wEAAwE;IACxE,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,yDAAyD;IACzD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,0CAA0C;AAC1C,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,qCAAqC;IACrC,MAAM,EAAE,eAAe,GAAG,UAAU,CAAC;IACrC,wDAAwD;IACxD,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,qBAAqB;IACpC,iGAAiG;IACjG,oBAAoB,EAAE,OAAO,CAAC;IAC9B,gHAAgH;IAChH,cAAc,EAAE,OAAO,CAAC;IACxB,uEAAuE;IACvE,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,OAAO,CAAC;IACjB,2FAA2F;IAC3F,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,+DAA+D;IAC/D,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB;AAED,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,oBAAoB,CAAC;IAChC,UAAU,EAAE,qBAAqB,CAAC;IAClC,sEAAsE;IACtE,eAAe,EAAE,OAAO,CAAC;IACzB,kFAAkF;IAClF,eAAe,EAAE,KAAK,CAAC,MAAM,GAAG,aAAa,GAAG,iBAAiB,CAAC,CAAC;IACnE,qDAAqD;IACrD,QAAQ,EAAE;QACR,UAAU,EAAE,MAAM,CAAC;QACnB,KAAK,EAAE,MAAM,CAAC;QACd,oBAAoB,EAAE,MAAM,CAAC;KAC9B,CAAC;IACF,4EAA4E;IAC5E,QAAQ,EAAE,qBAAqB,EAAE,CAAC;IAClC,wFAAwF;IACxF,UAAU,CAAC,EAAE,qBAAqB,CAAC;IACnC,+DAA+D;IAC/D,MAAM,EAAE,OAAO,CAAC;CACjB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAI7E;AA8CD;;;GAGG;AACH,wBAAsB,8BAA8B,CAClD,MAAM,EAAE,SAAS,EACjB,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,kBAAuB,GAC/B,OAAO,CAAC,iBAAiB,CAAC,CAsL5B;AAED,oGAAoG;AACpG,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,aAAa,EACnB,MAAM,EAAE,YAAY,EACpB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,wBAAwB,CAAC,CAqBnC"}
|
package/dist/adt/rap-generate.js
CHANGED
|
@@ -32,8 +32,9 @@
|
|
|
32
32
|
*/
|
|
33
33
|
import { lockObject, unlockObject, updateSource } from './crud.js';
|
|
34
34
|
import { activateBatch } from './devtools.js';
|
|
35
|
-
import { AdtApiError, AdtSafetyError } from './errors.js';
|
|
35
|
+
import { AdtApiError, AdtSafetyError, isNotFoundError } from './errors.js';
|
|
36
36
|
import { applyRapHandlerScaffold, extractRapHandlerRequirements, findMissingRapHandlerImplementationStubs, findMissingRapHandlerRequirements, } from './rap-handlers.js';
|
|
37
|
+
import { checkOperation, OperationType } from './safety.js';
|
|
37
38
|
/**
|
|
38
39
|
* Classify a `generate_behavior_implementation` outcome as MCP success vs error.
|
|
39
40
|
*
|
|
@@ -117,108 +118,100 @@ export async function generateBehaviorImplementation(client, className, options
|
|
|
117
118
|
`class metadata has no rootEntityRef. Pass an explicit "bdefName" parameter to override.`);
|
|
118
119
|
}
|
|
119
120
|
bdefName = bdefName.toUpperCase();
|
|
120
|
-
// ── Phase 2: read sources + cross-validate ────────────────────────────
|
|
121
|
-
const structured = await client.getClassStructured(cleanClassName);
|
|
122
|
-
const mainSource = structured.main ?? '';
|
|
123
|
-
const definitionsSource = structured.definitions ?? '';
|
|
124
|
-
const implementationsSource = structured.implementations ?? '';
|
|
125
121
|
const bdefRead = await client.getBdef(bdefName);
|
|
126
122
|
const bdefSource = bdefRead.source;
|
|
127
|
-
const mainBdefMatch = FOR_BEHAVIOR_OF_RE.exec(mainSource);
|
|
128
|
-
const bdefClassMatch = MANAGED_IMPL_RE.exec(bdefSource);
|
|
129
|
-
const mainBdefRef = mainBdefMatch?.[1]?.toUpperCase();
|
|
130
|
-
const bdefClassRef = bdefClassMatch?.[1]?.toUpperCase();
|
|
131
|
-
const validation = {
|
|
132
|
-
mainHasForBehaviorOf: Boolean(mainBdefRef),
|
|
133
|
-
bdefBindsClass: Boolean(bdefClassRef),
|
|
134
|
-
};
|
|
135
|
-
const mismatches = [];
|
|
136
|
-
if (!mainBdefRef) {
|
|
137
|
-
mismatches.push(`MAIN source for ${cleanClassName} does not contain "FOR BEHAVIOR OF <bdef>"`);
|
|
138
|
-
}
|
|
139
|
-
else if (mainBdefRef !== bdefName) {
|
|
140
|
-
mismatches.push(`MAIN binds BDEF ${mainBdefRef} but discovery resolved to ${bdefName}`);
|
|
141
|
-
}
|
|
142
|
-
if (!bdefClassRef) {
|
|
143
|
-
mismatches.push(`BDEF ${bdefName} does not contain "managed implementation in class <class> unique"`);
|
|
144
|
-
}
|
|
145
|
-
else if (bdefClassRef !== cleanClassName.toUpperCase()) {
|
|
146
|
-
mismatches.push(`BDEF ${bdefName} binds class ${bdefClassRef} but we are generating for ${cleanClassName}`);
|
|
147
|
-
}
|
|
148
|
-
if (mismatches.length > 0) {
|
|
149
|
-
validation.mismatchReason = mismatches.join('; ');
|
|
150
|
-
}
|
|
151
|
-
if (validation.mismatchReason && !dryRun) {
|
|
152
|
-
throw new AdtSafetyError(`generate_behavior_implementation: cross-reference validation failed (${validation.mismatchReason}). ` +
|
|
153
|
-
`Refusing to mutate. Re-run with dryRun=true to inspect the report and fix the source files first.`);
|
|
154
|
-
}
|
|
155
|
-
// ── Phase 3: scaffold plan ────────────────────────────────────────────
|
|
156
|
-
let requirements = extractRapHandlerRequirements(bdefSource);
|
|
157
|
-
if (targetAlias) {
|
|
158
|
-
requirements = requirements.filter((req) => req.entityAlias.toLowerCase() === targetAlias);
|
|
159
|
-
}
|
|
160
|
-
const combinedSource = [mainSource, definitionsSource, implementationsSource].filter(Boolean).join('\n\n');
|
|
161
|
-
const missingSignatures = findMissingRapHandlerRequirements(requirements, combinedSource);
|
|
162
|
-
const missingStubs = findMissingRapHandlerImplementationStubs(requirements, combinedSource);
|
|
163
|
-
const scaffoldPlan = applyRapHandlerScaffold({
|
|
164
|
-
main: mainSource,
|
|
165
|
-
definitions: definitionsSource || undefined,
|
|
166
|
-
implementations: implementationsSource || undefined,
|
|
167
|
-
}, missingSignatures, missingStubs);
|
|
168
|
-
const result = {
|
|
169
|
-
discovery: {
|
|
170
|
-
className: cleanClassName,
|
|
171
|
-
bdefName,
|
|
172
|
-
source: discoverySource,
|
|
173
|
-
classCategory: metadata.category,
|
|
174
|
-
},
|
|
175
|
-
validation,
|
|
176
|
-
scaffoldChanged: scaffoldPlan.changedSections.length > 0,
|
|
177
|
-
changedSections: scaffoldPlan.changedSections.filter((section) => section === 'main' || section === 'definitions' || section === 'implementations'),
|
|
178
|
-
inserted: {
|
|
179
|
-
signatures: scaffoldPlan.insertedSignatureCount,
|
|
180
|
-
stubs: scaffoldPlan.insertedImplementationStubCount,
|
|
181
|
-
autoCreatedSkeletons: (scaffoldPlan.skeletons?.createdDefinitions.length ?? 0) +
|
|
182
|
-
(scaffoldPlan.skeletons?.createdImplementations.length ?? 0),
|
|
183
|
-
},
|
|
184
|
-
required: requirements,
|
|
185
|
-
dryRun,
|
|
186
|
-
};
|
|
187
|
-
// Dry-run short-circuits before any side effects.
|
|
188
|
-
if (dryRun) {
|
|
189
|
-
return result;
|
|
190
|
-
}
|
|
191
123
|
const objectUrl = classObjectUrl(cleanClassName);
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
}
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
124
|
+
const scaffold = async (session, save) => {
|
|
125
|
+
// Read the editable view through the locked session before deriving replacements.
|
|
126
|
+
const structured = await readRapClassSources(session, client.safety, cleanClassName);
|
|
127
|
+
const mainSource = structured.main;
|
|
128
|
+
const definitionsSource = structured.definitions ?? '';
|
|
129
|
+
const implementationsSource = structured.implementations ?? '';
|
|
130
|
+
const mainBdefMatch = FOR_BEHAVIOR_OF_RE.exec(mainSource);
|
|
131
|
+
const bdefClassMatch = MANAGED_IMPL_RE.exec(bdefSource);
|
|
132
|
+
const mainBdefRef = mainBdefMatch?.[1]?.toUpperCase();
|
|
133
|
+
const bdefClassRef = bdefClassMatch?.[1]?.toUpperCase();
|
|
134
|
+
const validation = {
|
|
135
|
+
mainHasForBehaviorOf: Boolean(mainBdefRef),
|
|
136
|
+
bdefBindsClass: Boolean(bdefClassRef),
|
|
137
|
+
};
|
|
138
|
+
const mismatches = [];
|
|
139
|
+
if (!mainBdefRef) {
|
|
140
|
+
mismatches.push(`MAIN source for ${cleanClassName} does not contain "FOR BEHAVIOR OF <bdef>"`);
|
|
141
|
+
}
|
|
142
|
+
else if (mainBdefRef !== bdefName) {
|
|
143
|
+
mismatches.push(`MAIN binds BDEF ${mainBdefRef} but discovery resolved to ${bdefName}`);
|
|
144
|
+
}
|
|
145
|
+
if (!bdefClassRef) {
|
|
146
|
+
mismatches.push(`BDEF ${bdefName} does not contain "managed implementation in class <class> unique"`);
|
|
147
|
+
}
|
|
148
|
+
else if (bdefClassRef !== cleanClassName.toUpperCase()) {
|
|
149
|
+
mismatches.push(`BDEF ${bdefName} binds class ${bdefClassRef} but we are generating for ${cleanClassName}`);
|
|
150
|
+
}
|
|
151
|
+
if (mismatches.length > 0) {
|
|
152
|
+
validation.mismatchReason = mismatches.join('; ');
|
|
153
|
+
}
|
|
154
|
+
if (validation.mismatchReason && !dryRun) {
|
|
155
|
+
throw new AdtSafetyError(`generate_behavior_implementation: cross-reference validation failed (${validation.mismatchReason}). ` +
|
|
156
|
+
`Refusing to mutate. Re-run with dryRun=true to inspect the report and fix the source files first.`);
|
|
157
|
+
}
|
|
158
|
+
// ── Phase 3: scaffold plan ────────────────────────────────────────────
|
|
159
|
+
let requirements = extractRapHandlerRequirements(bdefSource);
|
|
160
|
+
if (targetAlias) {
|
|
161
|
+
requirements = requirements.filter((req) => req.entityAlias.toLowerCase() === targetAlias);
|
|
162
|
+
}
|
|
163
|
+
const combinedSource = [mainSource, definitionsSource, implementationsSource].filter(Boolean).join('\n\n');
|
|
164
|
+
const missingSignatures = findMissingRapHandlerRequirements(requirements, combinedSource);
|
|
165
|
+
const missingStubs = findMissingRapHandlerImplementationStubs(requirements, combinedSource);
|
|
166
|
+
const scaffoldPlan = applyRapHandlerScaffold({
|
|
167
|
+
main: mainSource,
|
|
168
|
+
definitions: definitionsSource || undefined,
|
|
169
|
+
implementations: implementationsSource || undefined,
|
|
170
|
+
}, missingSignatures, missingStubs);
|
|
171
|
+
const result = {
|
|
172
|
+
discovery: {
|
|
173
|
+
className: cleanClassName,
|
|
174
|
+
bdefName,
|
|
175
|
+
source: discoverySource,
|
|
176
|
+
classCategory: metadata.category,
|
|
177
|
+
},
|
|
178
|
+
validation,
|
|
179
|
+
scaffoldChanged: scaffoldPlan.changedSections.length > 0,
|
|
180
|
+
changedSections: scaffoldPlan.changedSections.filter((section) => section === 'main' || section === 'definitions' || section === 'implementations'),
|
|
181
|
+
inserted: {
|
|
182
|
+
signatures: scaffoldPlan.insertedSignatureCount,
|
|
183
|
+
stubs: scaffoldPlan.insertedImplementationStubCount,
|
|
184
|
+
autoCreatedSkeletons: (scaffoldPlan.skeletons?.createdDefinitions.length ?? 0) +
|
|
185
|
+
(scaffoldPlan.skeletons?.createdImplementations.length ?? 0),
|
|
186
|
+
},
|
|
187
|
+
required: requirements,
|
|
188
|
+
dryRun,
|
|
189
|
+
};
|
|
190
|
+
if (!save)
|
|
191
|
+
return result;
|
|
192
|
+
if (scaffoldPlan.changed.main && scaffoldPlan.sections.main !== mainSource) {
|
|
193
|
+
await save(classMainSourceUrl(cleanClassName), scaffoldPlan.sections.main);
|
|
194
|
+
}
|
|
195
|
+
if (scaffoldPlan.changed.definitions && scaffoldPlan.sections.definitions) {
|
|
196
|
+
await save(classIncludeUrlFor(cleanClassName, 'definitions'), scaffoldPlan.sections.definitions);
|
|
197
|
+
}
|
|
198
|
+
if (scaffoldPlan.changed.implementations && scaffoldPlan.sections.implementations) {
|
|
199
|
+
await save(classIncludeUrlFor(cleanClassName, 'implementations'), scaffoldPlan.sections.implementations);
|
|
200
|
+
}
|
|
201
|
+
return result;
|
|
202
|
+
};
|
|
203
|
+
if (dryRun)
|
|
204
|
+
return scaffold(client.http);
|
|
205
|
+
// Even activation-only reruns need the lock to establish that no source change is needed.
|
|
206
|
+
const result = await client.http.withStatefulSession(async (session) => {
|
|
207
|
+
const lock = await lockObject(session, client.safety, objectUrl, 'MODIFY');
|
|
208
|
+
try {
|
|
209
|
+
return await scaffold(session, (url, source) => updateSource(session, client.safety, url, source, lock.lockHandle, transport ?? (lock.corrNr || undefined)));
|
|
210
|
+
}
|
|
211
|
+
finally {
|
|
212
|
+
await unlockObject(session, objectUrl, lock.lockHandle);
|
|
213
|
+
}
|
|
214
|
+
});
|
|
222
215
|
// ── Phase 5: optional activation ──────────────────────────────────────
|
|
223
216
|
if (activateRequested) {
|
|
224
217
|
try {
|
|
@@ -259,4 +252,23 @@ export async function generateBehaviorImplementation(client, className, options
|
|
|
259
252
|
}
|
|
260
253
|
return result;
|
|
261
254
|
}
|
|
255
|
+
/** Read only the three RAP source sections. Serial reads keep one stateful SAP context in order. */
|
|
256
|
+
export async function readRapClassSources(http, safety, name) {
|
|
257
|
+
checkOperation(safety, OperationType.Read, 'GetRapClassSources');
|
|
258
|
+
const sections = {
|
|
259
|
+
main: (await http.get(classMainSourceUrl(name), { 'Cache-Control': 'no-cache' })).body,
|
|
260
|
+
};
|
|
261
|
+
for (const include of ['definitions', 'implementations']) {
|
|
262
|
+
try {
|
|
263
|
+
sections[include] = (await http.get(classIncludeUrlFor(name, include), { 'Cache-Control': 'no-cache' }, {
|
|
264
|
+
suppressNotFoundLog: true,
|
|
265
|
+
})).body;
|
|
266
|
+
}
|
|
267
|
+
catch (err) {
|
|
268
|
+
if (!isNotFoundError(err))
|
|
269
|
+
throw err;
|
|
270
|
+
}
|
|
271
|
+
}
|
|
272
|
+
return sections;
|
|
273
|
+
}
|
|
262
274
|
//# sourceMappingURL=rap-generate.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rap-generate.js","sourceRoot":"","sources":["../../src/adt/rap-generate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAGH,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"rap-generate.js","sourceRoot":"","sources":["../../src/adt/rap-generate.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,7 +14,7 @@ export interface SdoRegistryEntry {
|
|
|
14
14
|
createType: string;
|
|
15
15
|
/**
|
|
16
16
|
* Metadata content-type for BOTH the metadata GET (Accept) and the create POST (Content-Type).
|
|
17
|
-
* Most types use `application/vnd.sap.adt.blues.vN+xml` (
|
|
17
|
+
* Most types use `application/vnd.sap.adt.blues.vN+xml` (version set per entry); DTDC uses its
|
|
18
18
|
* own `application/vnd.sap.adt.ddic.dtdc.v1+xml`. Matched by `discoveryMarker` in the gate.
|
|
19
19
|
*/
|
|
20
20
|
metadataContentType: string;
|
|
@@ -38,7 +38,7 @@ export interface SdoRegistryEntry {
|
|
|
38
38
|
discoveryMarker: string;
|
|
39
39
|
/**
|
|
40
40
|
* Source flavor — drives BOTH the client-side validation and the PUT Content-Type. NOT uniform:
|
|
41
|
-
* the AFF-JSON types 415 on text/plain, and the DDL-text types
|
|
41
|
+
* the AFF-JSON types 415 on text/plain, and the DDL-text types 415 on
|
|
42
42
|
* application/json. Live-verified per type on 816.
|
|
43
43
|
*/
|
|
44
44
|
sourceFormat: SdoSourceFormat;
|
|
@@ -55,7 +55,7 @@ export declare function serverDrivenSourceFormat(code: string): SdoSourceFormat;
|
|
|
55
55
|
* here is the ONLY step needed to expose it — `btp: true` by construction (runtime availability is
|
|
56
56
|
* discovery-gated per system, so a type absent on a release degrades cleanly).
|
|
57
57
|
*/
|
|
58
|
-
export declare const SDO_TYPES: readonly ['DESD', 'DTSC', 'CSNM', 'EVTB', 'EVTO', 'COTA', 'DSFD', 'DTDC', 'UIAD'];
|
|
58
|
+
export declare const SDO_TYPES: readonly ['DESD', 'DTSC', 'CSNM', 'EVTB', 'EVTO', 'COTA', 'DSFD', 'DTDC', 'UIAD', 'DRTY', 'APLO', 'SAJC', 'SAJT'];
|
|
59
59
|
/** Curated registry of high-value server-driven object types — keys are exactly SDO_TYPES. */
|
|
60
60
|
export declare const SDO_REGISTRY: {
|
|
61
61
|
DESD: {
|
|
@@ -157,6 +157,50 @@ export declare const SDO_REGISTRY: {
|
|
|
157
157
|
metadataContentType: string;
|
|
158
158
|
sourceFormat: "json";
|
|
159
159
|
};
|
|
160
|
+
DRTY: {
|
|
161
|
+
metadataRootLocalName: 'blueSource';
|
|
162
|
+
metadataRootQName: 'blue:blueSource';
|
|
163
|
+
metadataNamespace: 'http://www.sap.com/wbobj/blue';
|
|
164
|
+
discoveryMarker: 'blues';
|
|
165
|
+
href: string;
|
|
166
|
+
label: string;
|
|
167
|
+
createType: string;
|
|
168
|
+
metadataContentType: string;
|
|
169
|
+
sourceFormat: "text";
|
|
170
|
+
};
|
|
171
|
+
APLO: {
|
|
172
|
+
metadataRootLocalName: 'blueSource';
|
|
173
|
+
metadataRootQName: 'blue:blueSource';
|
|
174
|
+
metadataNamespace: 'http://www.sap.com/wbobj/blue';
|
|
175
|
+
discoveryMarker: 'blues';
|
|
176
|
+
href: string;
|
|
177
|
+
label: string;
|
|
178
|
+
createType: string;
|
|
179
|
+
metadataContentType: string;
|
|
180
|
+
sourceFormat: "json";
|
|
181
|
+
};
|
|
182
|
+
SAJC: {
|
|
183
|
+
metadataRootLocalName: 'blueSource';
|
|
184
|
+
metadataRootQName: 'blue:blueSource';
|
|
185
|
+
metadataNamespace: 'http://www.sap.com/wbobj/blue';
|
|
186
|
+
discoveryMarker: 'blues';
|
|
187
|
+
href: string;
|
|
188
|
+
label: string;
|
|
189
|
+
createType: string;
|
|
190
|
+
metadataContentType: string;
|
|
191
|
+
sourceFormat: "json";
|
|
192
|
+
};
|
|
193
|
+
SAJT: {
|
|
194
|
+
metadataRootLocalName: 'blueSource';
|
|
195
|
+
metadataRootQName: 'blue:blueSource';
|
|
196
|
+
metadataNamespace: 'http://www.sap.com/wbobj/blue';
|
|
197
|
+
discoveryMarker: 'blues';
|
|
198
|
+
href: string;
|
|
199
|
+
label: string;
|
|
200
|
+
createType: string;
|
|
201
|
+
metadataContentType: string;
|
|
202
|
+
sourceFormat: "json";
|
|
203
|
+
};
|
|
160
204
|
};
|
|
161
205
|
/** True when `code` is one of the registered server-driven object types. */
|
|
162
206
|
export declare function isServerDrivenObjectType(code: string): boolean;
|
|
@@ -202,9 +246,10 @@ export declare function serverDrivenUnavailableMessage(tool: string, code: strin
|
|
|
202
246
|
/**
|
|
203
247
|
* Read a server-driven object: its metadata (blue:blueSource or dtdc:dtdcSource) + source (AFF JSON
|
|
204
248
|
* or DDL text). The source is JSON-parsed when possible (raw text otherwise). Throws AdtApiError 404
|
|
205
|
-
* for a nonexistent object.
|
|
249
|
+
* for a nonexistent object. Explicit versions must match the returned metadata; omission keeps
|
|
250
|
+
* SAP's developer view. Gate availability with supportsServerDrivenObject() on unknown systems.
|
|
206
251
|
*/
|
|
207
|
-
export declare function getServerDrivenObject(http: AdtHttpClient, safety: SafetyConfig, code: string, name: string): Promise<ServerDrivenObjectResult>;
|
|
252
|
+
export declare function getServerDrivenObject(http: AdtHttpClient, safety: SafetyConfig, code: string, name: string, version?: 'active' | 'inactive'): Promise<ServerDrivenObjectResult>;
|
|
208
253
|
/**
|
|
209
254
|
* Build the minimal metadata create body for a server-driven object — the per-type root element
|
|
210
255
|
* (blue:blueSource or dtdc:dtdcSource) with the verified `createType` for `adtcore:type`
|
|
@@ -218,7 +263,7 @@ export declare function getServerDrivenObject(http: AdtHttpClient, safety: Safet
|
|
|
218
263
|
* registered type.
|
|
219
264
|
*/
|
|
220
265
|
export type UiadLanguageVersion = 'standard' | 'keyUser' | 'cloudDevelopment';
|
|
221
|
-
export declare function buildServerDrivenMetadataXml(code: string, name: string, pkg: string, description: string, uiadLanguageVersion?: UiadLanguageVersion): string;
|
|
266
|
+
export declare function buildServerDrivenMetadataXml(code: string, name: string, pkg: string, description: string, uiadLanguageVersion?: UiadLanguageVersion, creationProperties?: Record<string, string>): string;
|
|
222
267
|
/** Options shared by the SDO write operations. */
|
|
223
268
|
export interface ServerDrivenWriteOptions {
|
|
224
269
|
transport?: string;
|
|
@@ -228,26 +273,24 @@ export interface ServerDrivenWriteOptions {
|
|
|
228
273
|
}
|
|
229
274
|
/**
|
|
230
275
|
* Create a server-driven object (metadata only — POST the <blue:blueSource> body to the collection
|
|
231
|
-
* href with the type's
|
|
232
|
-
*
|
|
276
|
+
* href with the type's metadata content-type). APLO is immediately active; other generic types
|
|
277
|
+
* need activation. Job objects also need their creation reference. Returns the raw response body.
|
|
233
278
|
*/
|
|
234
279
|
export declare function createServerDrivenObject(http: AdtHttpClient, safety: SafetyConfig, code: string, name: string, opts: {
|
|
235
280
|
package: string;
|
|
236
281
|
description: string;
|
|
237
282
|
transport?: string;
|
|
238
283
|
uiadLanguageVersion?: UiadLanguageVersion;
|
|
284
|
+
creationProperties?: Record<string, string>;
|
|
239
285
|
}): Promise<string>;
|
|
240
286
|
/**
|
|
241
287
|
* Write the source of a server-driven object: lock → PUT …/source/main → unlock (guaranteed via
|
|
242
288
|
* try-finally). The Content-Type comes from the type's declared sourceFormat — AFF-JSON types take
|
|
243
|
-
* application/json,
|
|
289
|
+
* application/json, entries with sourceFormat='text' take text/plain; the wrong one is a 415.
|
|
244
290
|
* Auto-propagates the lock's corrNr when no explicit transport is supplied (same contract as
|
|
245
291
|
* crud.ts safeUpdateSource).
|
|
246
292
|
*/
|
|
247
293
|
export declare function updateServerDrivenObjectSource(http: AdtHttpClient, safety: SafetyConfig, code: string, name: string, source: string, opts?: ServerDrivenWriteOptions): Promise<void>;
|
|
248
|
-
/**
|
|
249
|
-
* Delete a server-driven object: lock → http.delete(…?lockHandle=…) → best-effort unlock.
|
|
250
|
-
* The unlock is swallowed on failure (the object is already gone after the delete).
|
|
251
|
-
*/
|
|
294
|
+
/** Delete under a lock, then verify canonical metadata absence in a fresh request. */
|
|
252
295
|
export declare function deleteServerDrivenObject(http: AdtHttpClient, safety: SafetyConfig, code: string, name: string, opts?: ServerDrivenWriteOptions): Promise<void>;
|
|
253
296
|
//# sourceMappingURL=server-driven.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server-driven.d.ts","sourceRoot":"","sources":["../../src/adt/server-driven.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"server-driven.d.ts","sourceRoot":"","sources":["../../src/adt/server-driven.ts"],"names":[],"mappings":"AA+BA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAiC,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC;AAC/E,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAG3D,8DAA8D;AAC9D,MAAM,WAAW,gBAAgB;IAC/B,iEAAiE;IACjE,IAAI,EAAE,MAAM,CAAC;IACb,4BAA4B;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,UAAU,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,mBAAmB,EAAE,MAAM,CAAC;IAC5B;;;;OAIG;IACH,qBAAqB,EAAE,MAAM,CAAC;IAC9B;;;;OAIG;IACH,iBAAiB,EAAE,MAAM,CAAC;IAC1B,iBAAiB,EAAE,MAAM,CAAC;IAC1B;;;OAGG;IACH,eAAe,EAAE,MAAM,CAAC;IACxB;;;;OAIG;IACH,YAAY,EAAE,eAAe,CAAC;CAC/B;AAED,kGAAkG;AAClG,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,MAAM,CAAC;AAiB9C,uFAAuF;AACvF,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAclE;AAED,6FAA6F;AAC7F,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,CAEtE;AAED;;;;;GAKG;AACH,eAAO,MAAM,SAAS,YACpB,MAAM,EACN,MAAM,EACN,MAAM,EACN,MAAM,EACN,MAAM,EACN,MAAM,EACN,MAAM,EACN,MAAM,EACN,MAAM,EACN,MAAM,EACN,MAAM,EACN,MAAM,EACN,MAAM,CACE,CAAC;AAEX,8FAA8F;AAC9F,eAAO,MAAM,YAAY;;+BAtDA,YAAY;2BAChB,iBAAiB;2BACjB,+BAA+B;yBACjC,OAAO;;;;;;;;+BAHD,YAAY;2BAChB,iBAAiB;2BACjB,+BAA+B;yBACjC,OAAO;;;;;;;;+BAHD,YAAY;2BAChB,iBAAiB;2BACjB,+BAA+B;yBACjC,OAAO;;;;;;;;+BAHD,YAAY;2BAChB,iBAAiB;2BACjB,+BAA+B;yBACjC,OAAO;;;;;;;;+BAHD,YAAY;2BAChB,iBAAiB;2BACjB,+BAA+B;yBACjC,OAAO;;;;;;;;+BAHD,YAAY;2BAChB,iBAAiB;2BACjB,+BAA+B;yBACjC,OAAO;;;;;;;;+BAHD,YAAY;2BAChB,iBAAiB;2BACjB,+BAA+B;yBACjC,OAAO;;;;;;;;;;;;;;;;;;;+BAHD,YAAY;2BAChB,iBAAiB;2BACjB,+BAA+B;yBACjC,OAAO;;;;;;;;+BAHD,YAAY;2BAChB,iBAAiB;2BACjB,+BAA+B;yBACjC,OAAO;;;;;;;;+BAHD,YAAY;2BAChB,iBAAiB;2BACjB,+BAA+B;yBACjC,OAAO;;;;;;;;+BAHD,YAAY;2BAChB,iBAAiB;2BACjB,+BAA+B;yBACjC,OAAO;;;;;;;;+BAHD,YAAY;2BAChB,iBAAiB;2BACjB,+BAA+B;yBACjC,OAAO;;;;;;;CA0KsC,CAAC;AAMjE,4EAA4E;AAC5E,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAE9D;AASD,qFAAqF;AACrF,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAExE;AAED;;;;GAIG;AACH,wBAAgB,+BAA+B,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEpE;AAED;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAKjG;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,yBAAyB,CAC7C,IAAI,EAAE,aAAa,EACnB,MAAM,EAAE,YAAY,EACpB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,OAAO,CAAC,CAWlB;AAED,4FAA4F;AAC5F,wBAAgB,8BAA8B,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAMjF;AAED;;;;;GAKG;AACH,wBAAsB,qBAAqB,CACzC,IAAI,EAAE,aAAa,EACnB,MAAM,EAAE,YAAY,EACpB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,QAAQ,GAAG,UAAU,GAC9B,OAAO,CAAC,wBAAwB,CAAC,CAyBnC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,mBAAmB,GAAG,UAAU,GAAG,SAAS,GAAG,kBAAkB,CAAC;AAE9E,wBAAgB,4BAA4B,CAC1C,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,EACX,WAAW,EAAE,MAAM,EACnB,mBAAmB,CAAC,EAAE,mBAAmB,EACzC,kBAAkB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC1C,MAAM,CAOR;AAED,kDAAkD;AAClD,MAAM,WAAW,wBAAwB;IACvC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,wDAAwD;IACxD,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,GAAG,WAAW,KAAK,IAAI,CAAC;IAC3D,eAAe,CAAC,EAAE,MAAM,IAAI,CAAC;CAC9B;AAED;;;;GAIG;AACH,wBAAsB,wBAAwB,CAC5C,IAAI,EAAE,aAAa,EACnB,MAAM,EAAE,YAAY,EACpB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE;IACJ,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IAC1C,kBAAkB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC7C,GACA,OAAO,CAAC,MAAM,CAAC,CAcjB;AAED;;;;;;GAMG;AACH,wBAAsB,8BAA8B,CAClD,IAAI,EAAE,aAAa,EACnB,MAAM,EAAE,YAAY,EACpB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,IAAI,GAAE,wBAA6B,GAClC,OAAO,CAAC,IAAI,CAAC,CA4Bf;AAmCD,sFAAsF;AACtF,wBAAsB,wBAAwB,CAC5C,IAAI,EAAE,aAAa,EACnB,MAAM,EAAE,YAAY,EACpB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,IAAI,GAAE,wBAA6B,GAClC,OAAO,CAAC,IAAI,CAAC,CAoCf"}
|