@mcp-abap-adt/core 6.7.0 → 6.8.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/CHANGELOG.md +9 -0
- package/dist/handlers/system/readonly/handleSearchSource.d.ts +1 -1
- package/dist/handlers/system/readonly/handleSearchSource.d.ts.map +1 -1
- package/dist/handlers/system/readonly/handleSearchSource.js +2 -2
- package/dist/handlers/system/readonly/handleSearchSource.js.map +1 -1
- package/dist/lib/search-source/orchestrator.d.ts +1 -0
- package/dist/lib/search-source/orchestrator.d.ts.map +1 -1
- package/dist/lib/search-source/orchestrator.js +10 -3
- package/dist/lib/search-source/orchestrator.js.map +1 -1
- package/dist/lib/search-source/packageResolver.d.ts +13 -0
- package/dist/lib/search-source/packageResolver.d.ts.map +1 -0
- package/dist/lib/search-source/packageResolver.js +63 -0
- package/dist/lib/search-source/packageResolver.js.map +1 -0
- package/docs/user-guide/AVAILABLE_TOOLS.md +2 -2
- package/docs/user-guide/AVAILABLE_TOOLS_COMPACT.md +1 -1
- package/docs/user-guide/AVAILABLE_TOOLS_HIGH.md +1 -1
- package/docs/user-guide/AVAILABLE_TOOLS_LEGACY.md +2 -2
- package/docs/user-guide/AVAILABLE_TOOLS_LOW.md +1 -1
- package/docs/user-guide/AVAILABLE_TOOLS_READONLY.md +2 -2
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,15 @@
|
|
|
2
2
|
|
|
3
3
|
## [Unreleased]
|
|
4
4
|
|
|
5
|
+
## [6.8.0] - 2026-05-16
|
|
6
|
+
|
|
7
|
+
### Changed
|
|
8
|
+
- `SearchSource.packages` now accepts ABAP `*` masks (e.g. `Z*`, `ZFI_*`, `/NS/Z*`) alongside exact dev-class names. Mask resolution reuses the same ADT informationsystem/search path that `SearchObject` uses for `objectType=DEVC`. Mask resolution is best-effort and capped at the ADT result window (1000 references); for certainty, pass concrete package names. The tool description carries the no-guarantees disclosure so an LLM caller sees it.
|
|
9
|
+
- `SearchSource.scanned.packages` now reports the resolved-and-deduplicated starting-package count (post-mask resolution, post-dedup) instead of raw input length. Closes #87.
|
|
10
|
+
|
|
11
|
+
### Notes
|
|
12
|
+
- `+` (single-char) wildcard probed against an onprem E19 system and found unsupported by the ADT `informationsystem/search` endpoint (despite SAP CP-pattern docs). Dropped from public examples; the resolver still detects `+` for forward-compat with backends that may honor it.
|
|
13
|
+
|
|
5
14
|
## [6.7.0] - 2026-05-14
|
|
6
15
|
|
|
7
16
|
### Added
|
|
@@ -4,7 +4,7 @@ import { type OrchestratorInput } from '../../../lib/search-source/orchestrator'
|
|
|
4
4
|
export declare const TOOL_DEFINITION: {
|
|
5
5
|
readonly name: "SearchSource";
|
|
6
6
|
readonly available_in: readonly ["onprem", "legacy"];
|
|
7
|
-
readonly description: "[read-only] Search ABAP source text inside one or more packages (programs, function groups, classes). Onprem-only (cloud lacks an indexed source-search endpoint). Comments are searched by default; set exclude_comments=true to drop col-1 `*` and full-line `\"` comments. The `version` parameter affects PROG and CLAS main include reads only — FUGR subinclude reads always go against the active version (the include endpoint exposes no version selector).";
|
|
7
|
+
readonly description: "[read-only] Search ABAP source text inside one or more packages (programs, function groups, classes). Onprem-only (cloud lacks an indexed source-search endpoint). `packages` accepts `*` masks (Z*, ZFI_*, /NS/Z*) alongside exact names; mask resolution is best-effort and scoped to the ADT repository-search result window — there is no guarantee that every matching package is scanned. If you need certainty, pass concrete package names. When using masks, narrow the mask itself and use `object_types`, `object_filter`, and `max_objects` as scan-target controls that apply after package resolution. Comments are searched by default; set exclude_comments=true to drop col-1 `*` and full-line `\"` comments. The `version` parameter affects PROG and CLAS main include reads only — FUGR subinclude reads always go against the active version (the include endpoint exposes no version selector).";
|
|
8
8
|
readonly inputSchema: {
|
|
9
9
|
readonly query: z.ZodString;
|
|
10
10
|
readonly query2: z.ZodOptional<z.ZodString>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handleSearchSource.d.ts","sourceRoot":"","sources":["../../../../src/handlers/system/readonly/handleSearchSource.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AACzB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,EACL,KAAK,iBAAiB,EAEvB,MAAM,yCAAyC,CAAC;AAGjD,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"handleSearchSource.d.ts","sourceRoot":"","sources":["../../../../src/handlers/system/readonly/handleSearchSource.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AACzB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,EACL,KAAK,iBAAiB,EAEvB,MAAM,yCAAyC,CAAC;AAGjD,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;CAqFlB,CAAC;AAEX,KAAK,gBAAgB,GAAG,iBAAiB,CAAC;AAE1C,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,cAAc,EACvB,IAAI,EAAE,gBAAgB;;;;;;GAsBvB"}
|
|
@@ -41,7 +41,7 @@ const utils_1 = require("../../../lib/utils");
|
|
|
41
41
|
exports.TOOL_DEFINITION = {
|
|
42
42
|
name: 'SearchSource',
|
|
43
43
|
available_in: ['onprem', 'legacy'],
|
|
44
|
-
description: '[read-only] Search ABAP source text inside one or more packages (programs, function groups, classes). Onprem-only (cloud lacks an indexed source-search endpoint). Comments are searched by default; set exclude_comments=true to drop col-1 `*` and full-line `"` comments. The `version` parameter affects PROG and CLAS main include reads only — FUGR subinclude reads always go against the active version (the include endpoint exposes no version selector).',
|
|
44
|
+
description: '[read-only] Search ABAP source text inside one or more packages (programs, function groups, classes). Onprem-only (cloud lacks an indexed source-search endpoint). `packages` accepts `*` masks (Z*, ZFI_*, /NS/Z*) alongside exact names; mask resolution is best-effort and scoped to the ADT repository-search result window — there is no guarantee that every matching package is scanned. If you need certainty, pass concrete package names. When using masks, narrow the mask itself and use `object_types`, `object_filter`, and `max_objects` as scan-target controls that apply after package resolution. Comments are searched by default; set exclude_comments=true to drop col-1 `*` and full-line `"` comments. The `version` parameter affects PROG and CLAS main include reads only — FUGR subinclude reads always go against the active version (the include endpoint exposes no version selector).',
|
|
45
45
|
inputSchema: {
|
|
46
46
|
query: z
|
|
47
47
|
.string()
|
|
@@ -59,7 +59,7 @@ exports.TOOL_DEFINITION = {
|
|
|
59
59
|
packages: z
|
|
60
60
|
.array(z.string().min(1))
|
|
61
61
|
.min(1)
|
|
62
|
-
.describe('Packages to scan
|
|
62
|
+
.describe('Packages to scan. Each entry is either an exact dev-class name or a `*` mask (* = any chars). Examples: "ZFI_OBSOLETE", "Z*", "ZFI_*", "/NS/Z*".'),
|
|
63
63
|
include_subpackages: z
|
|
64
64
|
.boolean()
|
|
65
65
|
.optional()
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handleSearchSource.js","sourceRoot":"","sources":["../../../../src/handlers/system/readonly/handleSearchSource.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"handleSearchSource.js","sourceRoot":"","sources":["../../../../src/handlers/system/readonly/handleSearchSource.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiGA,gDAwBC;AAzHD,uCAAyB;AAEzB,0EAGiD;AACjD,8CAAkD;AAErC,QAAA,eAAe,GAAG;IAC7B,IAAI,EAAE,cAAc;IACpB,YAAY,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAU;IAC3C,WAAW,EACT,u3BAAu3B;IACz3B,WAAW,EAAE;QACX,KAAK,EAAE,CAAC;aACL,MAAM,EAAE;aACR,GAAG,CAAC,CAAC,CAAC;aACN,QAAQ,CAAC,yDAAyD,CAAC;QACtE,MAAM,EAAE,CAAC;aACN,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CACP,0FAA0F,CAC3F;QACH,OAAO,EAAE,CAAC;aACP,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;aACjB,GAAG,CAAC,CAAC,CAAC;aACN,QAAQ,EAAE;aACV,QAAQ,CACP,+DAA+D,CAChE;QACH,QAAQ,EAAE,CAAC;aACR,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;aACxB,GAAG,CAAC,CAAC,CAAC;aACN,QAAQ,CACP,kJAAkJ,CACnJ;QACH,mBAAmB,EAAE,CAAC;aACnB,OAAO,EAAE;aACT,QAAQ,EAAE;aACV,QAAQ,CAAC,0CAA0C,CAAC;QACvD,aAAa,EAAE,CAAC;aACb,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CACP,+DAA+D,CAChE;QACH,YAAY,EAAE,CAAC;aACZ,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;aACvC,QAAQ,EAAE;aACV,QAAQ,CAAC,yDAAyD,CAAC;QACtE,gBAAgB,EAAE,CAAC;aAChB,OAAO,EAAE;aACT,QAAQ,EAAE;aACV,QAAQ,CACP,wFAAwF,CACzF;QACH,mBAAmB,EAAE,CAAC;aACnB,MAAM,EAAE;aACR,GAAG,EAAE;aACL,GAAG,CAAC,CAAC,CAAC;aACN,QAAQ,EAAE;aACV,QAAQ,CACP,+DAA+D,CAChE;QACH,YAAY,EAAE,CAAC;aACZ,OAAO,EAAE;aACT,QAAQ,EAAE;aACV,QAAQ,CACP,8EAA8E,CAC/E;QACH,WAAW,EAAE,CAAC;aACX,MAAM,EAAE;aACR,GAAG,EAAE;aACL,GAAG,CAAC,CAAC,CAAC;aACN,QAAQ,EAAE;aACV,QAAQ,CACP,uHAAuH,CACxH;QACH,WAAW,EAAE,CAAC;aACX,MAAM,EAAE;aACR,GAAG,EAAE;aACL,GAAG,CAAC,CAAC,CAAC;aACN,GAAG,CAAC,EAAE,CAAC;aACP,QAAQ,EAAE;aACV,QAAQ,CAAC,8CAA8C,CAAC;QAC3D,OAAO,EAAE,CAAC;aACP,IAAI,CAAC,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;aAC5B,QAAQ,EAAE;aACV,QAAQ,CACP,uHAAuH,CACxH;KACJ;CACO,CAAC;AAIJ,KAAK,UAAU,kBAAkB,CACtC,OAAuB,EACvB,IAAsB;IAEtB,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IAC3B,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,IAAA,yCAA0B,EAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAC/D,OAAO;YACL,OAAO,EAAE,KAAK;YACd,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;iBACtC;aACF;SACF,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,EAAE,KAAK,CACX,wBAAwB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CACjF,CAAC;QACF,OAAO,IAAA,oBAAY,EACjB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAC1D,CAAC;IACJ,CAAC;AACH,CAAC"}
|
|
@@ -45,6 +45,7 @@ export interface OrchestratorResult {
|
|
|
45
45
|
export interface OrchestratorDeps {
|
|
46
46
|
fetchPackageContents: PackageContentsFetcher;
|
|
47
47
|
sourceReader: ReadSourceUnitsDeps;
|
|
48
|
+
resolvePackages: (entries: string[]) => Promise<string[]>;
|
|
48
49
|
}
|
|
49
50
|
export declare function runSearchSource(deps: OrchestratorDeps, input: OrchestratorInput): Promise<OrchestratorResult>;
|
|
50
51
|
export declare function runSearchSourceWithContext(ctx: HandlerContext, input: OrchestratorInput): Promise<OrchestratorResult>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"orchestrator.d.ts","sourceRoot":"","sources":["../../../src/lib/search-source/orchestrator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAE7D,OAAO,
|
|
1
|
+
{"version":3,"file":"orchestrator.d.ts","sourceRoot":"","sources":["../../../src/lib/search-source/orchestrator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAE7D,OAAO,EAIL,KAAK,sBAAsB,EAC3B,KAAK,cAAc,EACpB,MAAM,qBAAqB,CAAC;AAM7B,OAAO,EAEL,KAAK,mBAAmB,EAExB,KAAK,aAAa,EACnB,MAAM,gBAAgB,CAAC;AAExB,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,SAAS,cAAc,EAAE,CAAC;IACzC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,aAAa,CAAC;CACzB;AAED,MAAM,WAAW,SAAS;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,cAAc,CAAC;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,cAAc,CAAC;IAC5B,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,SAAS,EAAE,CAAC;IACrB,OAAO,CAAC,EAAE,UAAU,EAAE,CAAC;IACvB,OAAO,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAChE,SAAS,EAAE;QAAE,aAAa,EAAE,OAAO,CAAC;QAAC,cAAc,EAAE,OAAO,CAAA;KAAE,CAAC;CAChE;AAED,MAAM,WAAW,gBAAgB;IAC/B,oBAAoB,EAAE,sBAAsB,CAAC;IAC7C,YAAY,EAAE,mBAAmB,CAAC;IAClC,eAAe,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;CAC3D;AA8BD,wBAAsB,eAAe,CACnC,IAAI,EAAE,gBAAgB,EACtB,KAAK,EAAE,iBAAiB,GACvB,OAAO,CAAC,kBAAkB,CAAC,CAuI7B;AAED,wBAAgB,0BAA0B,CACxC,GAAG,EAAE,cAAc,EACnB,KAAK,EAAE,iBAAiB,GACvB,OAAO,CAAC,kBAAkB,CAAC,CAY7B"}
|
|
@@ -4,6 +4,7 @@ exports.runSearchSource = runSearchSource;
|
|
|
4
4
|
exports.runSearchSourceWithContext = runSearchSourceWithContext;
|
|
5
5
|
const lineScanner_1 = require("./lineScanner");
|
|
6
6
|
const packageEnumerator_1 = require("./packageEnumerator");
|
|
7
|
+
const packageResolver_1 = require("./packageResolver");
|
|
7
8
|
const sourceReader_1 = require("./sourceReader");
|
|
8
9
|
const DEFAULTS = {
|
|
9
10
|
include_subpackages: true,
|
|
@@ -43,13 +44,16 @@ async function runSearchSource(deps, input) {
|
|
|
43
44
|
const concurrency = Math.min(16, Math.max(1, input.concurrency ?? DEFAULTS.concurrency));
|
|
44
45
|
const emitNoHits = input.emit_no_hits ?? DEFAULTS.emit_no_hits;
|
|
45
46
|
const version = input.version ?? DEFAULTS.version;
|
|
47
|
+
const resolvedPackages = await deps.resolvePackages(input.packages);
|
|
46
48
|
const enumerateInput = {
|
|
47
|
-
packages:
|
|
49
|
+
packages: resolvedPackages,
|
|
48
50
|
include_subpackages: input.include_subpackages ?? DEFAULTS.include_subpackages,
|
|
49
51
|
object_filter: input.object_filter,
|
|
50
52
|
object_types: input.object_types ?? DEFAULTS.object_types,
|
|
51
53
|
};
|
|
52
|
-
const allTargets =
|
|
54
|
+
const allTargets = resolvedPackages.length === 0
|
|
55
|
+
? []
|
|
56
|
+
: await (0, packageEnumerator_1.enumerateScanTargets)(deps.fetchPackageContents, enumerateInput);
|
|
53
57
|
const truncatedByMaxObjects = allTargets.length > maxObjects;
|
|
54
58
|
const targets = truncatedByMaxObjects
|
|
55
59
|
? allTargets.slice(0, maxObjects)
|
|
@@ -136,7 +140,7 @@ async function runSearchSource(deps, input) {
|
|
|
136
140
|
const result = {
|
|
137
141
|
results: allHits,
|
|
138
142
|
scanned: {
|
|
139
|
-
packages:
|
|
143
|
+
packages: resolvedPackages.length,
|
|
140
144
|
objects: targets.length,
|
|
141
145
|
sources: sourcesScanned,
|
|
142
146
|
},
|
|
@@ -150,9 +154,12 @@ async function runSearchSource(deps, input) {
|
|
|
150
154
|
return result;
|
|
151
155
|
}
|
|
152
156
|
function runSearchSourceWithContext(ctx, input) {
|
|
157
|
+
const searchObjects = (0, packageResolver_1.createPackagePatternResolver)(ctx);
|
|
158
|
+
const resolverDeps = { searchObjects };
|
|
153
159
|
return runSearchSource({
|
|
154
160
|
fetchPackageContents: (0, packageEnumerator_1.createPackageContentsFetcher)(ctx),
|
|
155
161
|
sourceReader: (0, sourceReader_1.createSourceReaderDeps)(ctx),
|
|
162
|
+
resolvePackages: (entries) => (0, packageResolver_1.resolvePackagePatterns)(resolverDeps, entries),
|
|
156
163
|
}, input);
|
|
157
164
|
}
|
|
158
165
|
//# sourceMappingURL=orchestrator.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"orchestrator.js","sourceRoot":"","sources":["../../../src/lib/search-source/orchestrator.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"orchestrator.js","sourceRoot":"","sources":["../../../src/lib/search-source/orchestrator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { HandlerContext } from '../handlers/interfaces';
|
|
2
|
+
export interface SearchObjectsArgs {
|
|
3
|
+
query: string;
|
|
4
|
+
objectType: 'DEVC';
|
|
5
|
+
maxResults: number;
|
|
6
|
+
}
|
|
7
|
+
export type SearchObjectsFn = (args: SearchObjectsArgs) => Promise<string[]>;
|
|
8
|
+
export interface PackageResolverDeps {
|
|
9
|
+
searchObjects: SearchObjectsFn;
|
|
10
|
+
}
|
|
11
|
+
export declare function resolvePackagePatterns(deps: PackageResolverDeps, entries: string[]): Promise<string[]>;
|
|
12
|
+
export declare function createPackagePatternResolver(ctx: HandlerContext): SearchObjectsFn;
|
|
13
|
+
//# sourceMappingURL=packageResolver.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"packageResolver.d.ts","sourceRoot":"","sources":["../../../src/lib/search-source/packageResolver.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAE7D,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,MAAM,eAAe,GAAG,CAAC,IAAI,EAAE,iBAAiB,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;AAE7E,MAAM,WAAW,mBAAmB;IAClC,aAAa,EAAE,eAAe,CAAC;CAChC;AAQD,wBAAsB,sBAAsB,CAC1C,IAAI,EAAE,mBAAmB,EACzB,OAAO,EAAE,MAAM,EAAE,GAChB,OAAO,CAAC,MAAM,EAAE,CAAC,CAwBnB;AAED,wBAAgB,4BAA4B,CAC1C,GAAG,EAAE,cAAc,GAClB,eAAe,CAyBjB"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.resolvePackagePatterns = resolvePackagePatterns;
|
|
4
|
+
exports.createPackagePatternResolver = createPackagePatternResolver;
|
|
5
|
+
const clients_1 = require("../clients");
|
|
6
|
+
const WILDCARD_RE = /[*+]/;
|
|
7
|
+
function isPattern(entry) {
|
|
8
|
+
return WILDCARD_RE.test(entry);
|
|
9
|
+
}
|
|
10
|
+
async function resolvePackagePatterns(deps, entries) {
|
|
11
|
+
const exact = [];
|
|
12
|
+
const resolved = [];
|
|
13
|
+
for (const entry of entries) {
|
|
14
|
+
if (isPattern(entry)) {
|
|
15
|
+
const names = await deps.searchObjects({
|
|
16
|
+
query: entry,
|
|
17
|
+
objectType: 'DEVC',
|
|
18
|
+
maxResults: 1000,
|
|
19
|
+
});
|
|
20
|
+
resolved.push(...names);
|
|
21
|
+
}
|
|
22
|
+
else {
|
|
23
|
+
exact.push(entry);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
const seen = new Set();
|
|
27
|
+
const out = [];
|
|
28
|
+
for (const name of [...exact, ...resolved]) {
|
|
29
|
+
const key = name.toUpperCase();
|
|
30
|
+
if (seen.has(key))
|
|
31
|
+
continue;
|
|
32
|
+
seen.add(key);
|
|
33
|
+
out.push(name);
|
|
34
|
+
}
|
|
35
|
+
return out;
|
|
36
|
+
}
|
|
37
|
+
function createPackagePatternResolver(ctx) {
|
|
38
|
+
const client = (0, clients_1.createAdtClient)(ctx.connection, ctx.logger);
|
|
39
|
+
const utils = client.getUtils();
|
|
40
|
+
return async ({ query, objectType, maxResults }) => {
|
|
41
|
+
const response = await utils.searchObjects({
|
|
42
|
+
query,
|
|
43
|
+
objectType,
|
|
44
|
+
maxResults,
|
|
45
|
+
});
|
|
46
|
+
const status = response?.status;
|
|
47
|
+
if (status && status !== 200) {
|
|
48
|
+
throw new Error(`ADT request failed (status ${status})`);
|
|
49
|
+
}
|
|
50
|
+
const xml = typeof response?.data === 'string'
|
|
51
|
+
? response.data
|
|
52
|
+
: String(response?.data ?? '');
|
|
53
|
+
const names = [];
|
|
54
|
+
for (const m of xml.matchAll(/<adtcore:objectReference\s+([^>]*)\/>/g)) {
|
|
55
|
+
const attrs = m[1];
|
|
56
|
+
const name = attrs.match(/adtcore:name="([^"]*)"/)?.[1];
|
|
57
|
+
if (name)
|
|
58
|
+
names.push(name);
|
|
59
|
+
}
|
|
60
|
+
return names;
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=packageResolver.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"packageResolver.js","sourceRoot":"","sources":["../../../src/lib/search-source/packageResolver.ts"],"names":[],"mappings":";;AAqBA,wDA2BC;AAED,oEA2BC;AA7ED,wCAA6C;AAe7C,MAAM,WAAW,GAAG,MAAM,CAAC;AAE3B,SAAS,SAAS,CAAC,KAAa;IAC9B,OAAO,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACjC,CAAC;AAEM,KAAK,UAAU,sBAAsB,CAC1C,IAAyB,EACzB,OAAiB;IAEjB,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,IAAI,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;YACrB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC;gBACrC,KAAK,EAAE,KAAK;gBACZ,UAAU,EAAE,MAAM;gBAClB,UAAU,EAAE,IAAI;aACjB,CAAC,CAAC;YACH,QAAQ,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC;QAC1B,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACpB,CAAC;IACH,CAAC;IACD,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,KAAK,MAAM,IAAI,IAAI,CAAC,GAAG,KAAK,EAAE,GAAG,QAAQ,CAAC,EAAE,CAAC;QAC3C,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAC/B,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,SAAS;QAC5B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACd,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjB,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAgB,4BAA4B,CAC1C,GAAmB;IAEnB,MAAM,MAAM,GAAG,IAAA,yBAAe,EAAC,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC3D,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;IAChC,OAAO,KAAK,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,EAAE,EAAE;QACjD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,aAAa,CAAC;YACzC,KAAK;YACL,UAAU;YACV,UAAU;SACX,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,QAAQ,EAAE,MAAM,CAAC;QAChC,IAAI,MAAM,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,8BAA8B,MAAM,GAAG,CAAC,CAAC;QAC3D,CAAC;QACD,MAAM,GAAG,GACP,OAAO,QAAQ,EAAE,IAAI,KAAK,QAAQ;YAChC,CAAC,CAAC,QAAQ,CAAC,IAAI;YACf,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;QACnC,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,wCAAwC,CAAC,EAAE,CAAC;YACvE,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YACnB,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,wBAAwB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YACxD,IAAI,IAAI;gBAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7B,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -1146,7 +1146,7 @@ Generated from code in `src/handlers/**` (not from docs).
|
|
|
1146
1146
|
|
|
1147
1147
|
<a id="searchsource-read-only-system"></a>
|
|
1148
1148
|
#### SearchSource (Read-Only / System)
|
|
1149
|
-
**Description:** [read-only] Search ABAP source text inside one or more packages (programs, function groups, classes). Onprem-only (cloud lacks an indexed source-search endpoint). Comments are searched by default; set exclude_comments=true to drop col-1 `*` and full-line `
|
|
1149
|
+
**Description:** [read-only] Search ABAP source text inside one or more packages (programs, function groups, classes). Onprem-only (cloud lacks an indexed source-search endpoint). `packages` accepts `*` masks (Z*, ZFI_*, /NS/Z*) alongside exact names; mask resolution is best-effort and scoped to the ADT repository-search result window — there is no guarantee that every matching package is scanned. If you need certainty, pass concrete package names. When using masks, narrow the mask itself and use `object_types`, `object_filter`, and `max_objects` as scan-target controls that apply after package resolution. Comments are searched by default; set exclude_comments=true to drop col-1 `*` and full-line `
|
|
1150
1150
|
|
|
1151
1151
|
**Source:** `src/handlers/system/readonly/handleSearchSource.ts`
|
|
1152
1152
|
|
|
@@ -4951,4 +4951,4 @@ Generated from code in `src/handlers/**` (not from docs).
|
|
|
4951
4951
|
|
|
4952
4952
|
---
|
|
4953
4953
|
|
|
4954
|
-
*Last updated: 2026-05-
|
|
4954
|
+
*Last updated: 2026-05-15*
|
|
@@ -344,7 +344,7 @@ Legacy systems support a subset of tools — primarily Class, Interface, View, P
|
|
|
344
344
|
|
|
345
345
|
<a id="searchsource-read-only-system"></a>
|
|
346
346
|
#### SearchSource (Read-Only / System)
|
|
347
|
-
**Description:** [read-only] Search ABAP source text inside one or more packages (programs, function groups, classes). Onprem-only (cloud lacks an indexed source-search endpoint). Comments are searched by default; set exclude_comments=true to drop col-1 `*` and full-line `
|
|
347
|
+
**Description:** [read-only] Search ABAP source text inside one or more packages (programs, function groups, classes). Onprem-only (cloud lacks an indexed source-search endpoint). `packages` accepts `*` masks (Z*, ZFI_*, /NS/Z*) alongside exact names; mask resolution is best-effort and scoped to the ADT repository-search result window — there is no guarantee that every matching package is scanned. If you need certainty, pass concrete package names. When using masks, narrow the mask itself and use `object_types`, `object_filter`, and `max_objects` as scan-target controls that apply after package resolution. Comments are searched by default; set exclude_comments=true to drop col-1 `*` and full-line `
|
|
348
348
|
|
|
349
349
|
**Source:** `src/handlers/system/readonly/handleSearchSource.ts`
|
|
350
350
|
|
|
@@ -2271,4 +2271,4 @@ Legacy systems support a subset of tools — primarily Class, Interface, View, P
|
|
|
2271
2271
|
|
|
2272
2272
|
---
|
|
2273
2273
|
|
|
2274
|
-
*Last updated: 2026-05-
|
|
2274
|
+
*Last updated: 2026-05-15*
|
|
@@ -838,7 +838,7 @@ Generated from code in `src/handlers/**` (not from docs).
|
|
|
838
838
|
|
|
839
839
|
<a id="searchsource-read-only-system"></a>
|
|
840
840
|
#### SearchSource (Read-Only / System)
|
|
841
|
-
**Description:** [read-only] Search ABAP source text inside one or more packages (programs, function groups, classes). Onprem-only (cloud lacks an indexed source-search endpoint). Comments are searched by default; set exclude_comments=true to drop col-1 `*` and full-line `
|
|
841
|
+
**Description:** [read-only] Search ABAP source text inside one or more packages (programs, function groups, classes). Onprem-only (cloud lacks an indexed source-search endpoint). `packages` accepts `*` masks (Z*, ZFI_*, /NS/Z*) alongside exact names; mask resolution is best-effort and scoped to the ADT repository-search result window — there is no guarantee that every matching package is scanned. If you need certainty, pass concrete package names. When using masks, narrow the mask itself and use `object_types`, `object_filter`, and `max_objects` as scan-target controls that apply after package resolution. Comments are searched by default; set exclude_comments=true to drop col-1 `*` and full-line `
|
|
842
842
|
|
|
843
843
|
**Source:** `src/handlers/system/readonly/handleSearchSource.ts`
|
|
844
844
|
|
|
@@ -916,4 +916,4 @@ Generated from code in `src/handlers/**` (not from docs).
|
|
|
916
916
|
|
|
917
917
|
---
|
|
918
918
|
|
|
919
|
-
*Last updated: 2026-05-
|
|
919
|
+
*Last updated: 2026-05-15*
|