arc-1 0.9.13 → 0.9.15
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 +17 -4
- package/dist/adt/class-structure.d.ts +1 -1
- package/dist/adt/class-structure.js +1 -1
- package/dist/adt/client.d.ts +16 -3
- package/dist/adt/client.d.ts.map +1 -1
- package/dist/adt/client.js +40 -35
- package/dist/adt/client.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 +49 -53
- package/dist/adt/ddic-xml.js.map +1 -1
- package/dist/adt/devtools.d.ts.map +1 -1
- package/dist/adt/devtools.js +46 -15
- package/dist/adt/devtools.js.map +1 -1
- package/dist/adt/fm-signature.d.ts +1 -1
- package/dist/adt/fm-signature.js +1 -1
- package/dist/adt/rap-generate.js +1 -1
- package/dist/adt/rap-generate.js.map +1 -1
- package/dist/adt/rap-handlers.d.ts +1 -1
- package/dist/adt/rap-handlers.js +1 -1
- package/dist/adt/refactoring.d.ts.map +1 -1
- package/dist/adt/refactoring.js +11 -14
- package/dist/adt/refactoring.js.map +1 -1
- package/dist/adt/server-driven.d.ts +46 -2
- package/dist/adt/server-driven.d.ts.map +1 -1
- package/dist/adt/server-driven.js +13 -3
- package/dist/adt/server-driven.js.map +1 -1
- package/dist/adt/xml-parser.d.ts +8 -1
- package/dist/adt/xml-parser.d.ts.map +1 -1
- package/dist/adt/xml-parser.js +57 -49
- package/dist/adt/xml-parser.js.map +1 -1
- package/dist/authz/policy.d.ts +1 -1
- package/dist/authz/policy.js +1 -1
- package/dist/cache/cache.d.ts +1 -0
- package/dist/cache/cache.d.ts.map +1 -1
- package/dist/cache/cache.js.map +1 -1
- package/dist/cache/inactive-list-cache.d.ts +4 -4
- package/dist/cache/inactive-list-cache.d.ts.map +1 -1
- package/dist/cache/inactive-list-cache.js +19 -12
- package/dist/cache/inactive-list-cache.js.map +1 -1
- package/dist/cache/memory.d.ts +1 -0
- package/dist/cache/memory.d.ts.map +1 -1
- package/dist/cache/memory.js +3 -0
- package/dist/cache/memory.js.map +1 -1
- package/dist/cache/sqlite.d.ts +1 -0
- package/dist/cache/sqlite.d.ts.map +1 -1
- package/dist/cache/sqlite.js +3 -0
- package/dist/cache/sqlite.js.map +1 -1
- package/dist/cache/warmup.d.ts.map +1 -1
- package/dist/cache/warmup.js +85 -38
- package/dist/cache/warmup.js.map +1 -1
- package/dist/cli.d.ts +1 -1
- package/dist/cli.js +2 -2
- package/dist/cli.js.map +1 -1
- package/dist/context/compressor.d.ts.map +1 -1
- package/dist/context/compressor.js +22 -13
- package/dist/context/compressor.js.map +1 -1
- package/dist/context/contract.d.ts.map +1 -1
- package/dist/context/contract.js +4 -3
- package/dist/context/contract.js.map +1 -1
- package/dist/context/deps.d.ts.map +1 -1
- package/dist/context/deps.js +3 -2
- package/dist/context/deps.js.map +1 -1
- package/dist/context/grep.d.ts +3 -1
- package/dist/context/grep.d.ts.map +1 -1
- package/dist/context/grep.js +83 -1
- package/dist/context/grep.js.map +1 -1
- package/dist/context/method-surgery.d.ts.map +1 -1
- package/dist/context/method-surgery.js +3 -2
- package/dist/context/method-surgery.js.map +1 -1
- package/dist/handlers/activate.d.ts +25 -0
- package/dist/handlers/activate.d.ts.map +1 -0
- package/dist/handlers/activate.js +334 -0
- package/dist/handlers/activate.js.map +1 -0
- package/dist/handlers/cache-security.d.ts +22 -0
- package/dist/handlers/cache-security.d.ts.map +1 -0
- package/dist/handlers/cache-security.js +51 -0
- package/dist/handlers/cache-security.js.map +1 -0
- package/dist/handlers/cds-hints.d.ts +26 -0
- package/dist/handlers/cds-hints.d.ts.map +1 -0
- package/dist/handlers/cds-hints.js +380 -0
- package/dist/handlers/cds-hints.js.map +1 -0
- package/dist/handlers/context.d.ts +10 -0
- package/dist/handlers/context.d.ts.map +1 -0
- package/dist/handlers/context.js +344 -0
- package/dist/handlers/context.js.map +1 -0
- package/dist/handlers/diagnose.d.ts +8 -0
- package/dist/handlers/diagnose.d.ts.map +1 -0
- package/dist/handlers/diagnose.js +274 -0
- package/dist/handlers/diagnose.js.map +1 -0
- package/dist/handlers/dispatch.d.ts +39 -0
- package/dist/handlers/dispatch.d.ts.map +1 -0
- package/dist/handlers/dispatch.js +640 -0
- package/dist/handlers/dispatch.js.map +1 -0
- package/dist/handlers/feature-cache.d.ts +26 -0
- package/dist/handlers/feature-cache.d.ts.map +1 -0
- package/dist/handlers/feature-cache.js +45 -0
- package/dist/handlers/feature-cache.js.map +1 -0
- package/dist/handlers/git.d.ts +9 -0
- package/dist/handlers/git.d.ts.map +1 -0
- package/dist/handlers/git.js +227 -0
- package/dist/handlers/git.js.map +1 -0
- package/dist/handlers/lint.d.ts +9 -0
- package/dist/handlers/lint.d.ts.map +1 -0
- package/dist/handlers/lint.js +82 -0
- package/dist/handlers/lint.js.map +1 -0
- package/dist/handlers/manage.d.ts +10 -0
- package/dist/handlers/manage.d.ts.map +1 -0
- package/dist/handlers/manage.js +375 -0
- package/dist/handlers/manage.js.map +1 -0
- package/dist/handlers/navigate.d.ts +8 -0
- package/dist/handlers/navigate.d.ts.map +1 -0
- package/dist/handlers/navigate.js +188 -0
- package/dist/handlers/navigate.js.map +1 -0
- package/dist/handlers/object-types.d.ts +103 -0
- package/dist/handlers/object-types.d.ts.map +1 -0
- package/dist/handlers/object-types.js +476 -0
- package/dist/handlers/object-types.js.map +1 -0
- package/dist/handlers/query.d.ts +7 -0
- package/dist/handlers/query.d.ts.map +1 -0
- package/dist/handlers/query.js +190 -0
- package/dist/handlers/query.js.map +1 -0
- package/dist/handlers/read.d.ts +18 -0
- package/dist/handlers/read.d.ts.map +1 -0
- package/dist/handlers/read.js +581 -0
- package/dist/handlers/read.js.map +1 -0
- package/dist/handlers/schemas.d.ts +28 -26
- package/dist/handlers/schemas.d.ts.map +1 -1
- package/dist/handlers/schemas.js +17 -153
- package/dist/handlers/schemas.js.map +1 -1
- package/dist/handlers/search.d.ts +24 -0
- package/dist/handlers/search.d.ts.map +1 -0
- package/dist/handlers/search.js +208 -0
- package/dist/handlers/search.js.map +1 -0
- package/dist/handlers/shared.d.ts +19 -0
- package/dist/handlers/shared.d.ts.map +1 -0
- package/dist/handlers/shared.js +23 -0
- package/dist/handlers/shared.js.map +1 -0
- package/dist/handlers/tool-registry.d.ts +44 -0
- package/dist/handlers/tool-registry.d.ts.map +1 -0
- package/dist/handlers/tool-registry.js +152 -0
- package/dist/handlers/tool-registry.js.map +1 -0
- package/dist/handlers/tools.d.ts +9 -0
- package/dist/handlers/tools.d.ts.map +1 -1
- package/dist/handlers/tools.js +40 -141
- package/dist/handlers/tools.js.map +1 -1
- package/dist/handlers/transport.d.ts +8 -0
- package/dist/handlers/transport.d.ts.map +1 -0
- package/dist/handlers/transport.js +281 -0
- package/dist/handlers/transport.js.map +1 -0
- package/dist/handlers/write/class-surgery.d.ts +18 -0
- package/dist/handlers/write/class-surgery.d.ts.map +1 -0
- package/dist/handlers/write/class-surgery.js +366 -0
- package/dist/handlers/write/class-surgery.js.map +1 -0
- package/dist/handlers/write/context.d.ts +43 -0
- package/dist/handlers/write/context.d.ts.map +1 -0
- package/dist/handlers/write/context.js +5 -0
- package/dist/handlers/write/context.js.map +1 -0
- package/dist/handlers/write/create.d.ts +8 -0
- package/dist/handlers/write/create.d.ts.map +1 -0
- package/dist/handlers/write/create.js +603 -0
- package/dist/handlers/write/create.js.map +1 -0
- package/dist/handlers/write/rap.d.ts +8 -0
- package/dist/handlers/write/rap.d.ts.map +1 -0
- package/dist/handlers/write/rap.js +235 -0
- package/dist/handlers/write/rap.js.map +1 -0
- package/dist/handlers/write/update-delete.d.ts +8 -0
- package/dist/handlers/write/update-delete.d.ts.map +1 -0
- package/dist/handlers/write/update-delete.js +182 -0
- package/dist/handlers/write/update-delete.js.map +1 -0
- package/dist/handlers/write-helpers.d.ts +155 -0
- package/dist/handlers/write-helpers.d.ts.map +1 -0
- package/dist/handlers/write-helpers.js +859 -0
- package/dist/handlers/write-helpers.js.map +1 -0
- package/dist/handlers/write.d.ts +16 -0
- package/dist/handlers/write.d.ts.map +1 -0
- package/dist/handlers/write.js +210 -0
- package/dist/handlers/write.js.map +1 -0
- package/dist/handlers/zod-errors.d.ts +1 -1
- package/dist/handlers/zod-errors.js +1 -1
- package/dist/lint/abaplint-config-cache.d.ts +5 -0
- package/dist/lint/abaplint-config-cache.d.ts.map +1 -0
- package/dist/lint/abaplint-config-cache.js +29 -0
- package/dist/lint/abaplint-config-cache.js.map +1 -0
- package/dist/lint/config-builder.d.ts.map +1 -1
- package/dist/lint/config-builder.js +3 -4
- package/dist/lint/config-builder.js.map +1 -1
- package/dist/lint/lint.d.ts +1 -1
- package/dist/lint/lint.d.ts.map +1 -1
- package/dist/lint/lint.js +3 -2
- package/dist/lint/lint.js.map +1 -1
- package/dist/server/config.d.ts.map +1 -1
- package/dist/server/config.js +22 -8
- package/dist/server/config.js.map +1 -1
- package/dist/server/mcp-rate-limit.d.ts +1 -1
- package/dist/server/mcp-rate-limit.js +1 -1
- package/dist/server/server.d.ts +1 -1
- package/dist/server/server.js +3 -2
- package/dist/server/server.js.map +1 -1
- package/package.json +15 -10
- package/dist/handlers/intent.d.ts +0 -144
- package/dist/handlers/intent.d.ts.map +0 -1
- package/dist/handlers/intent.js +0 -6782
- package/dist/handlers/intent.js.map +0 -1
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Write + pre-write-validation helpers.
|
|
3
|
+
*
|
|
4
|
+
* Content-type negotiation, DDIC metadata write properties, buildCreateXml, the pre-write
|
|
5
|
+
* lint/syntax/RAP-preflight gates, package enforcement, and the server-driven-object write engine.
|
|
6
|
+
* Shared by the SAPWrite and SAPLint handlers.
|
|
7
|
+
*/
|
|
8
|
+
import type { AdtClient } from '../adt/client.js';
|
|
9
|
+
import type { ResolvedFeatures } from '../adt/types.js';
|
|
10
|
+
import type { CachingLayer } from '../cache/caching-layer.js';
|
|
11
|
+
import type { LintConfigOptions, RuleOverrides } from '../lint/config-builder.js';
|
|
12
|
+
import type { ServerConfig } from '../server/types.js';
|
|
13
|
+
import { type CacheSecurityContext } from './cache-security.js';
|
|
14
|
+
import { type ToolResult } from './shared.js';
|
|
15
|
+
/**
|
|
16
|
+
* Build LintConfigOptions from server config and cached features.
|
|
17
|
+
*
|
|
18
|
+
* Uses cachedFeatures (from SAPManage probe) when available, but falls back
|
|
19
|
+
* to config.systemType so that --system-type btp works even before the first
|
|
20
|
+
* probe. Without this fallback, cloud lint rules wouldn't apply until a probe
|
|
21
|
+
* populates cachedFeatures.
|
|
22
|
+
*/
|
|
23
|
+
export declare function buildLintConfigOptions(config: ServerConfig, ruleOverrides?: RuleOverrides): LintConfigOptions;
|
|
24
|
+
export declare const DOMAIN_V2_CONTENT_TYPE = "application/vnd.sap.adt.domains.v2+xml; charset=utf-8";
|
|
25
|
+
export declare const DATAELEMENT_V2_CONTENT_TYPE = "application/vnd.sap.adt.dataelements.v2+xml; charset=utf-8";
|
|
26
|
+
export declare const SERVICEBINDING_V2_CONTENT_TYPE = "application/vnd.sap.adt.businessservices.servicebinding.v2+xml; charset=utf-8";
|
|
27
|
+
export declare const SERVICEBINDING_V2_ACCEPT = "application/vnd.sap.adt.businessservices.servicebinding.v2+xml";
|
|
28
|
+
export declare const SKTD_V2_CONTENT_TYPE = "application/vnd.sap.adt.sktdv2+xml";
|
|
29
|
+
export declare function isMetadataWriteType(type: string): boolean;
|
|
30
|
+
/** Content type used for create POST */
|
|
31
|
+
export declare function createContentTypeForType(type: string): string;
|
|
32
|
+
/**
|
|
33
|
+
* Check if a DTEL create has properties that SAP ignores on POST but accepts on PUT.
|
|
34
|
+
* SAP's DTEL POST only stores the shell (name, description, package, typeKind, typeName, dataType, length).
|
|
35
|
+
* Labels, searchHelp, setGetParameter, etc. require a follow-up PUT to take effect.
|
|
36
|
+
*/
|
|
37
|
+
export declare function dtelNeedsPostCreateUpdate(props: Record<string, unknown>): boolean;
|
|
38
|
+
export declare function vendorContentTypeForType(type: string): string;
|
|
39
|
+
export declare function getMetadataWriteProperties(input: Record<string, unknown>): Record<string, unknown>;
|
|
40
|
+
export declare function mergeMetadataWriteProperties(client: AdtClient, type: string, name: string, provided: Record<string, unknown>): Promise<Record<string, unknown>>;
|
|
41
|
+
/**
|
|
42
|
+
* Build the type-specific XML body for ADT object creation.
|
|
43
|
+
*
|
|
44
|
+
* SAP ADT requires each object type to have its own root XML element.
|
|
45
|
+
* Using a generic body (e.g. adtcore:objectReferences) returns 400:
|
|
46
|
+
* "System expected the element '{http://www.sap.com/adt/programs/programs}abapProgram'"
|
|
47
|
+
*/
|
|
48
|
+
export declare function buildCreateXml(type: string, name: string, pkg: string, description: string, properties?: Record<string, unknown>, language?: string, responsible?: string): string;
|
|
49
|
+
/**
|
|
50
|
+
* Strip SAPGUI-style function-module parameter comment blocks from an FM source body.
|
|
51
|
+
*
|
|
52
|
+
* SAP rejects PUT-to-source/main with parameter comment blocks (verified live on a4h
|
|
53
|
+
* S/4HANA 2023 — issue #250):
|
|
54
|
+
* HTTP 400 / com.sap.adt.sedi / ExceptionResourceScanDuringSaveFailure
|
|
55
|
+
* "Parameter comment blocks are not allowed" (T100KEY FUNC_ADT028)
|
|
56
|
+
*
|
|
57
|
+
* The signature is metadata, not source. LLMs frequently emit the SAPGUI block out
|
|
58
|
+
* of muscle memory (every released FM ships with one). This helper strips lines whose
|
|
59
|
+
* first non-whitespace tokens are `*"` so the PUT succeeds, and reports back whether
|
|
60
|
+
* stripping occurred so the caller can append a warning to the response.
|
|
61
|
+
*
|
|
62
|
+
* Only `*"…` lines are stripped — single `*` ABAP comments and inline `"` comments
|
|
63
|
+
* are preserved. Exported for unit tests.
|
|
64
|
+
*/
|
|
65
|
+
export declare function stripFmParamCommentBlock(source: string): {
|
|
66
|
+
source: string;
|
|
67
|
+
wasStripped: boolean;
|
|
68
|
+
};
|
|
69
|
+
/**
|
|
70
|
+
* Single-object actions whose top-level `name` is an SAP object name and must be
|
|
71
|
+
* uppercase (TADIR convention). `batch_create` is excluded — its names live in
|
|
72
|
+
* the `objects[]` items and are validated per item in the batch_create branch.
|
|
73
|
+
*/
|
|
74
|
+
export declare const NAME_CASE_GUARD_ACTIONS: Set<string>;
|
|
75
|
+
/**
|
|
76
|
+
* Enforce the `allowedPackages` ceiling for an EXISTING object addressed by its
|
|
77
|
+
* ADT object URL. Resolves the object's REAL package from ADT metadata and gates
|
|
78
|
+
* it via `checkPackage`. Fail-closed: if the package can't be determined, refuse
|
|
79
|
+
* the operation rather than passing the gate. No-op (and no HTTP round-trip) when
|
|
80
|
+
* no package restrictions are configured.
|
|
81
|
+
*
|
|
82
|
+
* Shared by every mutating operation that targets an existing object —
|
|
83
|
+
* update/delete/surgery (via `enforcePackageForExistingObject`), activation, and
|
|
84
|
+
* change_package — so they all honor the same package boundary against the
|
|
85
|
+
* object's true package, never a caller-supplied package string.
|
|
86
|
+
*/
|
|
87
|
+
export declare function enforceAllowedPackageForObjectUrl(client: AdtClient, objectUrl: string, label: string, accept?: string): Promise<string | undefined>;
|
|
88
|
+
/**
|
|
89
|
+
* SAPWrite for server-driven objects (8.16+): create / update-source / delete via the generic AFF
|
|
90
|
+
* blue:blueSource + JSON-source engine. Discovery-gated (clean 8.16 error otherwise), allowWrites-gated
|
|
91
|
+
* (through the engine's checkOperation), and allowedPackages-gated against the REAL package
|
|
92
|
+
* (create gates the caller-supplied package like every create; update/delete resolve the object's true
|
|
93
|
+
* package under the blues Accept). The `source` param carries the AFF JSON — parse-validated before the
|
|
94
|
+
* PUT; ABAP-specific pre-write steps (lint, RAP preflight, CDS guard) do not apply. Create leaves the
|
|
95
|
+
* object inactive — callers follow with SAPActivate (never auto-activated).
|
|
96
|
+
*/
|
|
97
|
+
export declare function handleServerDrivenObjectWrite(client: AdtClient, action: string, type: string, name: string, args: Record<string, unknown>, cachingLayer: CachingLayer | undefined, cacheSecurity: CacheSecurityContext): Promise<ToolResult>;
|
|
98
|
+
/** Pre-write lint check result */
|
|
99
|
+
export interface PreWriteLintResult {
|
|
100
|
+
/** Whether the write was blocked by lint errors */
|
|
101
|
+
blocked: boolean;
|
|
102
|
+
/** Error result to return if blocked */
|
|
103
|
+
result?: ToolResult;
|
|
104
|
+
/** Warning text to append to success message */
|
|
105
|
+
warnings?: string;
|
|
106
|
+
}
|
|
107
|
+
/** Pre-write RAP preflight check result */
|
|
108
|
+
interface PreWriteRapPreflightResult {
|
|
109
|
+
/** Whether the write was blocked by RAP preflight errors */
|
|
110
|
+
blocked: boolean;
|
|
111
|
+
/** Error result to return if blocked */
|
|
112
|
+
result?: ToolResult;
|
|
113
|
+
/** Warning text to append to success message */
|
|
114
|
+
warnings?: string;
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Run deterministic RAP preflight checks for non-ABAP RAP artifact types.
|
|
118
|
+
*
|
|
119
|
+
* Unlike lint, this check is intentionally narrow and rule-based. It focuses on
|
|
120
|
+
* known activation churn patterns (TABL curr/quan semantics, BDEF enum/header
|
|
121
|
+
* misuse, DDLX scope/duplicate annotations) and can cover types that offline
|
|
122
|
+
* abaplint does not parse well.
|
|
123
|
+
*/
|
|
124
|
+
export declare function runRapPreflightValidation(source: string, type: string, name: string, features: ResolvedFeatures | undefined, configSystemType: ServerConfig['systemType'], perCallOverride?: boolean): PreWriteRapPreflightResult;
|
|
125
|
+
export declare function mergePreWriteWarnings(...warnings: Array<string | undefined>): string | undefined;
|
|
126
|
+
/**
|
|
127
|
+
* Run pre-write lint validation on source code.
|
|
128
|
+
*
|
|
129
|
+
* This is a "lint-before-lock" optimization (pattern from vibing-steampunk):
|
|
130
|
+
* by validating locally before acquiring the SAP object lock, we avoid
|
|
131
|
+
* holding locks on objects that would fail validation anyway.
|
|
132
|
+
*
|
|
133
|
+
* Only runs a strict subset of correctness rules (parser_error, cloud_types, etc.)
|
|
134
|
+
* — not style/formatting rules. This prevents false rejections from opinionated
|
|
135
|
+
* style checks while catching genuine errors that would fail server-side anyway.
|
|
136
|
+
*
|
|
137
|
+
* If lint itself throws (e.g., abaplint bug on unusual syntax), we don't block
|
|
138
|
+
* the write — we let the SAP server-side syntax check handle it instead.
|
|
139
|
+
*/
|
|
140
|
+
export declare function runPreWriteLint(source: string, type: string, name: string, config: ServerConfig, perCallOverride?: boolean): PreWriteLintResult;
|
|
141
|
+
/** Pre-write SAP server-side syntax check via /checkruns with inline <chkrun:content>.
|
|
142
|
+
* Sends the proposed source to SAP's compiler without writing. Surfaces errors AND
|
|
143
|
+
* warnings as informational text appended to the write's success message — never
|
|
144
|
+
* blocks the write. Rationale: multi-file edits have inter-object dependencies, so
|
|
145
|
+
* intermediate writes legitimately trip compile errors that resolve once the whole
|
|
146
|
+
* sequence lands. Real blocking is deferred to SAPActivate, which runs after all
|
|
147
|
+
* dependencies are in place. Best-effort: network/endpoint failures return ''. */
|
|
148
|
+
export declare function runPreWriteSyntaxCheck(client: AdtClient, type: string, source: string, objectUrl: string, config: ServerConfig, perCallOverride?: boolean): Promise<string>;
|
|
149
|
+
/** Run a syntax check on the inactive version and format the errors for appending to an
|
|
150
|
+
* error message. Returns '' on any failure or when no errors are reported. */
|
|
151
|
+
export declare function inactiveSyntaxDiagnostic(client: AdtClient, type: string, name: string): Promise<string>;
|
|
152
|
+
export declare function tryPostSaveSyntaxCheck(client: AdtClient, type: string, name: string): Promise<string>;
|
|
153
|
+
export declare const TABL_DT_WRITE_UNAVAILABLE_HINT: string;
|
|
154
|
+
export {};
|
|
155
|
+
//# sourceMappingURL=write-helpers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"write-helpers.d.ts","sourceRoot":"","sources":["../../src/handlers/write-helpers.ts"],"names":[],"mappings":"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"}
|