arc-1 1.6.0 → 1.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/README.md +26 -18
- package/dist/adt/application-log.d.ts +36 -0
- package/dist/adt/application-log.d.ts.map +1 -0
- package/dist/adt/application-log.js +143 -0
- package/dist/adt/application-log.js.map +1 -0
- package/dist/adt/aunit-package.d.ts.map +1 -1
- package/dist/adt/aunit-package.js +9 -1
- package/dist/adt/aunit-package.js.map +1 -1
- package/dist/adt/ci-quality.d.ts.map +1 -1
- package/dist/adt/ci-quality.js +1 -1
- package/dist/adt/ci-quality.js.map +1 -1
- package/dist/adt/class-structure.d.ts +2 -1
- package/dist/adt/class-structure.d.ts.map +1 -1
- package/dist/adt/class-structure.js +28 -10
- package/dist/adt/class-structure.js.map +1 -1
- package/dist/adt/client.d.ts +27 -9
- package/dist/adt/client.d.ts.map +1 -1
- package/dist/adt/client.js +23 -16
- package/dist/adt/client.js.map +1 -1
- package/dist/adt/codeintel.d.ts +9 -23
- package/dist/adt/codeintel.d.ts.map +1 -1
- package/dist/adt/codeintel.js +14 -34
- package/dist/adt/codeintel.js.map +1 -1
- package/dist/adt/crud.d.ts +3 -2
- package/dist/adt/crud.d.ts.map +1 -1
- package/dist/adt/crud.js +13 -3
- package/dist/adt/crud.js.map +1 -1
- package/dist/adt/devtools.d.ts +21 -7
- package/dist/adt/devtools.d.ts.map +1 -1
- package/dist/adt/devtools.js +98 -44
- package/dist/adt/devtools.js.map +1 -1
- package/dist/adt/diagnostics.d.ts +2 -0
- package/dist/adt/diagnostics.d.ts.map +1 -1
- package/dist/adt/diagnostics.js +12 -10
- package/dist/adt/diagnostics.js.map +1 -1
- package/dist/adt/errors.d.ts +5 -1
- package/dist/adt/errors.d.ts.map +1 -1
- package/dist/adt/errors.js +26 -0
- package/dist/adt/errors.js.map +1 -1
- package/dist/adt/feed-schema.d.ts +32 -0
- package/dist/adt/feed-schema.d.ts.map +1 -0
- package/dist/adt/feed-schema.js +123 -0
- package/dist/adt/feed-schema.js.map +1 -0
- package/dist/adt/fm-parameter-docs.d.ts +7 -0
- package/dist/adt/fm-parameter-docs.d.ts.map +1 -0
- package/dist/adt/fm-parameter-docs.js +134 -0
- package/dist/adt/fm-parameter-docs.js.map +1 -0
- package/dist/adt/fm-signature.d.ts +8 -1
- package/dist/adt/fm-signature.d.ts.map +1 -1
- package/dist/adt/fm-signature.js +37 -28
- 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 +4 -1
- package/dist/adt/http-deadline.js.map +1 -1
- package/dist/adt/http-retry-after.d.ts +20 -0
- package/dist/adt/http-retry-after.d.ts.map +1 -0
- package/dist/adt/http-retry-after.js +37 -0
- package/dist/adt/http-retry-after.js.map +1 -0
- package/dist/adt/http.d.ts +11 -20
- package/dist/adt/http.d.ts.map +1 -1
- package/dist/adt/http.js +104 -90
- package/dist/adt/http.js.map +1 -1
- package/dist/adt/include-expansion.d.ts +143 -0
- package/dist/adt/include-expansion.d.ts.map +1 -0
- package/dist/adt/include-expansion.js +475 -0
- package/dist/adt/include-expansion.js.map +1 -0
- package/dist/adt/internal-data-operations.d.ts +3 -3
- package/dist/adt/internal-data-operations.d.ts.map +1 -1
- package/dist/adt/internal-data-operations.js +9 -2
- package/dist/adt/internal-data-operations.js.map +1 -1
- package/dist/adt/package-browser.d.ts +23 -0
- package/dist/adt/package-browser.d.ts.map +1 -0
- package/dist/adt/package-browser.js +139 -0
- package/dist/adt/package-browser.js.map +1 -0
- package/dist/adt/package-contents.d.ts +2 -0
- package/dist/adt/package-contents.d.ts.map +1 -1
- package/dist/adt/package-contents.js +3 -1
- package/dist/adt/package-contents.js.map +1 -1
- package/dist/adt/pinned-write-policy.d.ts +15 -0
- package/dist/adt/pinned-write-policy.d.ts.map +1 -0
- package/dist/adt/pinned-write-policy.js +111 -0
- package/dist/adt/pinned-write-policy.js.map +1 -0
- package/dist/adt/revision-feed.d.ts +8 -0
- package/dist/adt/revision-feed.d.ts.map +1 -0
- package/dist/adt/revision-feed.js +108 -0
- package/dist/adt/revision-feed.js.map +1 -0
- package/dist/adt/safety.d.ts +11 -0
- package/dist/adt/safety.d.ts.map +1 -1
- package/dist/adt/safety.js +18 -2
- package/dist/adt/safety.js.map +1 -1
- package/dist/adt/security-session-gate.d.ts +23 -0
- package/dist/adt/security-session-gate.d.ts.map +1 -0
- package/dist/adt/security-session-gate.js +56 -0
- package/dist/adt/security-session-gate.js.map +1 -0
- package/dist/adt/source-diff.d.ts +4 -1
- package/dist/adt/source-diff.d.ts.map +1 -1
- package/dist/adt/source-diff.js +5 -3
- package/dist/adt/source-diff.js.map +1 -1
- package/dist/adt/stored-text/chunks.d.ts +8 -0
- package/dist/adt/stored-text/chunks.d.ts.map +1 -0
- package/dist/adt/stored-text/chunks.js +55 -0
- package/dist/adt/stored-text/chunks.js.map +1 -0
- package/dist/adt/stored-text/decoder.d.ts +31 -0
- package/dist/adt/stored-text/decoder.d.ts.map +1 -0
- package/dist/adt/stored-text/decoder.js +319 -0
- package/dist/adt/stored-text/decoder.js.map +1 -0
- package/dist/adt/stored-text/errors.d.ts +10 -0
- package/dist/adt/stored-text/errors.d.ts.map +1 -0
- package/dist/adt/stored-text/errors.js +10 -0
- package/dist/adt/stored-text/errors.js.map +1 -0
- package/dist/adt/stored-text/index.d.ts +7 -0
- package/dist/adt/stored-text/index.d.ts.map +1 -0
- package/dist/adt/stored-text/index.js +6 -0
- package/dist/adt/stored-text/index.js.map +1 -0
- package/dist/adt/stored-text/key.d.ts +3 -0
- package/dist/adt/stored-text/key.d.ts.map +1 -0
- package/dist/adt/stored-text/key.js +23 -0
- package/dist/adt/stored-text/key.js.map +1 -0
- package/dist/adt/stored-text/reader.d.ts +52 -0
- package/dist/adt/stored-text/reader.d.ts.map +1 -0
- package/dist/adt/stored-text/reader.js +142 -0
- package/dist/adt/stored-text/reader.js.map +1 -0
- package/dist/adt/stored-text/source.d.ts +5 -0
- package/dist/adt/stored-text/source.d.ts.map +1 -0
- package/dist/adt/stored-text/source.js +284 -0
- package/dist/adt/stored-text/source.js.map +1 -0
- package/dist/adt/stored-text/types.d.ts +38 -0
- package/dist/adt/stored-text/types.d.ts.map +1 -0
- package/dist/adt/stored-text/types.js +2 -0
- package/dist/adt/stored-text/types.js.map +1 -0
- package/dist/adt/structure-hierarchy.d.ts.map +1 -1
- package/dist/adt/structure-hierarchy.js +11 -27
- package/dist/adt/structure-hierarchy.js.map +1 -1
- package/dist/adt/syntax-batch.d.ts +66 -0
- package/dist/adt/syntax-batch.d.ts.map +1 -0
- package/dist/adt/syntax-batch.js +115 -0
- package/dist/adt/syntax-batch.js.map +1 -0
- package/dist/adt/table-query.d.ts +3 -1
- package/dist/adt/table-query.d.ts.map +1 -1
- package/dist/adt/table-query.js +32 -4
- package/dist/adt/table-query.js.map +1 -1
- package/dist/adt/table-settings.d.ts +3 -0
- package/dist/adt/table-settings.d.ts.map +1 -1
- package/dist/adt/table-settings.js +11 -1
- package/dist/adt/table-settings.js.map +1 -1
- package/dist/adt/text-elements.js +1 -1
- package/dist/adt/text-elements.js.map +1 -1
- package/dist/adt/transport-diff.d.ts +16 -25
- package/dist/adt/transport-diff.d.ts.map +1 -1
- package/dist/adt/transport-diff.js +201 -103
- package/dist/adt/transport-diff.js.map +1 -1
- package/dist/adt/transport-locks.d.ts +7 -0
- package/dist/adt/transport-locks.d.ts.map +1 -0
- package/dist/adt/transport-locks.js +56 -0
- package/dist/adt/transport-locks.js.map +1 -0
- package/dist/adt/transport-review-budget.d.ts +15 -0
- package/dist/adt/transport-review-budget.d.ts.map +1 -0
- package/dist/adt/transport-review-budget.js +57 -0
- package/dist/adt/transport-review-budget.js.map +1 -0
- package/dist/adt/transport.d.ts +5 -2
- package/dist/adt/transport.d.ts.map +1 -1
- package/dist/adt/transport.js +8 -46
- package/dist/adt/transport.js.map +1 -1
- package/dist/adt/types.d.ts +1 -0
- package/dist/adt/types.d.ts.map +1 -1
- package/dist/adt/user-agent.d.ts +1 -1
- package/dist/adt/where-used-native.d.ts +22 -0
- package/dist/adt/where-used-native.d.ts.map +1 -0
- package/dist/adt/where-used-native.js +111 -0
- package/dist/adt/where-used-native.js.map +1 -0
- package/dist/adt/xml-parser.d.ts +2 -3
- package/dist/adt/xml-parser.d.ts.map +1 -1
- package/dist/adt/xml-parser.js +1 -91
- package/dist/adt/xml-parser.js.map +1 -1
- package/dist/aff/validator.d.ts.map +1 -1
- package/dist/aff/validator.js +8 -2
- package/dist/aff/validator.js.map +1 -1
- package/dist/authz/policy.d.ts.map +1 -1
- package/dist/authz/policy.js +10 -2
- package/dist/authz/policy.js.map +1 -1
- package/dist/cache/sqlite-driver.d.ts +24 -0
- package/dist/cache/sqlite-driver.d.ts.map +1 -0
- package/dist/cache/sqlite-driver.js +59 -0
- package/dist/cache/sqlite-driver.js.map +1 -0
- package/dist/cache/sqlite.d.ts +4 -2
- package/dist/cache/sqlite.d.ts.map +1 -1
- package/dist/cache/sqlite.js +5 -4
- package/dist/cache/sqlite.js.map +1 -1
- package/dist/cli-ide.d.ts +11 -0
- package/dist/cli-ide.d.ts.map +1 -0
- package/dist/cli-ide.js +69 -0
- package/dist/cli-ide.js.map +1 -0
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +9 -2
- package/dist/cli.js.map +1 -1
- package/dist/context/grep.d.ts +2 -0
- package/dist/context/grep.d.ts.map +1 -1
- package/dist/context/grep.js +8 -7
- package/dist/context/grep.js.map +1 -1
- package/dist/extract-sap-cookies.js +1 -0
- package/dist/extract-sap-cookies.js.map +1 -1
- package/dist/handlers/activate.d.ts.map +1 -1
- package/dist/handlers/activate.js +3 -0
- package/dist/handlers/activate.js.map +1 -1
- package/dist/handlers/application-log-input.d.ts +32 -0
- package/dist/handlers/application-log-input.d.ts.map +1 -0
- package/dist/handlers/application-log-input.js +34 -0
- package/dist/handlers/application-log-input.js.map +1 -0
- package/dist/handlers/application-log.d.ts +4 -0
- package/dist/handlers/application-log.d.ts.map +1 -0
- package/dist/handlers/application-log.js +14 -0
- package/dist/handlers/application-log.js.map +1 -0
- package/dist/handlers/cds-hints.d.ts +1 -1
- package/dist/handlers/cds-hints.d.ts.map +1 -1
- package/dist/handlers/cds-hints.js +21 -63
- package/dist/handlers/cds-hints.js.map +1 -1
- package/dist/handlers/context.d.ts.map +1 -1
- package/dist/handlers/context.js +7 -3
- package/dist/handlers/context.js.map +1 -1
- package/dist/handlers/diagnose.d.ts.map +1 -1
- package/dist/handlers/diagnose.js +10 -1
- package/dist/handlers/diagnose.js.map +1 -1
- package/dist/handlers/dispatch.d.ts +2 -1
- package/dist/handlers/dispatch.d.ts.map +1 -1
- package/dist/handlers/dispatch.js +63 -12
- package/dist/handlers/dispatch.js.map +1 -1
- package/dist/handlers/dump-filter-inputs.d.ts +38 -0
- package/dist/handlers/dump-filter-inputs.d.ts.map +1 -0
- package/dist/handlers/dump-filter-inputs.js +44 -0
- package/dist/handlers/dump-filter-inputs.js.map +1 -0
- package/dist/handlers/expanded-read.d.ts +24 -0
- package/dist/handlers/expanded-read.d.ts.map +1 -0
- package/dist/handlers/expanded-read.js +56 -0
- package/dist/handlers/expanded-read.js.map +1 -0
- package/dist/handlers/function-parameter-language.d.ts +5 -0
- package/dist/handlers/function-parameter-language.d.ts.map +1 -0
- package/dist/handlers/function-parameter-language.js +19 -0
- package/dist/handlers/function-parameter-language.js.map +1 -0
- package/dist/handlers/function-processing.d.ts +5 -0
- package/dist/handlers/function-processing.d.ts.map +1 -1
- package/dist/handlers/function-processing.js +5 -0
- package/dist/handlers/function-processing.js.map +1 -1
- package/dist/handlers/hyperfocused.d.ts.map +1 -1
- package/dist/handlers/hyperfocused.js +2 -1
- package/dist/handlers/hyperfocused.js.map +1 -1
- package/dist/handlers/long-text-input.d.ts +113 -0
- package/dist/handlers/long-text-input.d.ts.map +1 -0
- package/dist/handlers/long-text-input.js +113 -0
- package/dist/handlers/long-text-input.js.map +1 -0
- package/dist/handlers/long-text.d.ts +5 -0
- package/dist/handlers/long-text.d.ts.map +1 -0
- package/dist/handlers/long-text.js +122 -0
- package/dist/handlers/long-text.js.map +1 -0
- package/dist/handlers/navigate.d.ts.map +1 -1
- package/dist/handlers/navigate.js +8 -3
- package/dist/handlers/navigate.js.map +1 -1
- package/dist/handlers/object-types.d.ts.map +1 -1
- package/dist/handlers/object-types.js +12 -5
- package/dist/handlers/object-types.js.map +1 -1
- package/dist/handlers/query-input.d.ts +50 -0
- package/dist/handlers/query-input.d.ts.map +1 -0
- package/dist/handlers/query-input.js +59 -0
- package/dist/handlers/query-input.js.map +1 -0
- package/dist/handlers/query-tool.d.ts +11 -0
- package/dist/handlers/query-tool.d.ts.map +1 -0
- package/dist/handlers/query-tool.js +99 -0
- package/dist/handlers/query-tool.js.map +1 -0
- package/dist/handlers/query.d.ts +1 -1
- package/dist/handlers/query.d.ts.map +1 -1
- package/dist/handlers/query.js +7 -1
- package/dist/handlers/query.js.map +1 -1
- package/dist/handlers/read.d.ts +1 -0
- package/dist/handlers/read.d.ts.map +1 -1
- package/dist/handlers/read.js +62 -11
- package/dist/handlers/read.js.map +1 -1
- package/dist/handlers/schemas.d.ts +23 -4
- package/dist/handlers/schemas.d.ts.map +1 -1
- package/dist/handlers/schemas.js +82 -9
- package/dist/handlers/schemas.js.map +1 -1
- package/dist/handlers/syntax.d.ts.map +1 -1
- package/dist/handlers/syntax.js +8 -0
- package/dist/handlers/syntax.js.map +1 -1
- package/dist/handlers/tool-descriptions.js +2 -2
- package/dist/handlers/tool-descriptions.js.map +1 -1
- package/dist/handlers/tools.d.ts.map +1 -1
- package/dist/handlers/tools.js +81 -74
- package/dist/handlers/tools.js.map +1 -1
- package/dist/handlers/transport-review.d.ts +5 -0
- package/dist/handlers/transport-review.d.ts.map +1 -0
- package/dist/handlers/transport-review.js +108 -0
- package/dist/handlers/transport-review.js.map +1 -0
- package/dist/handlers/transport.d.ts.map +1 -1
- package/dist/handlers/transport.js +3 -58
- package/dist/handlers/transport.js.map +1 -1
- package/dist/handlers/where-used-details.d.ts +28 -0
- package/dist/handlers/where-used-details.d.ts.map +1 -0
- package/dist/handlers/where-used-details.js +67 -0
- package/dist/handlers/where-used-details.js.map +1 -0
- package/dist/handlers/where-used.d.ts +8 -3
- package/dist/handlers/where-used.d.ts.map +1 -1
- package/dist/handlers/where-used.js +40 -18
- package/dist/handlers/where-used.js.map +1 -1
- package/dist/handlers/write/create.d.ts.map +1 -1
- package/dist/handlers/write/create.js +15 -12
- package/dist/handlers/write/create.js.map +1 -1
- package/dist/handlers/write/pinned-activation.d.ts +8 -0
- package/dist/handlers/write/pinned-activation.d.ts.map +1 -0
- package/dist/handlers/write/pinned-activation.js +68 -0
- package/dist/handlers/write/pinned-activation.js.map +1 -0
- package/dist/handlers/write/pinned.d.ts +10 -0
- package/dist/handlers/write/pinned.d.ts.map +1 -0
- package/dist/handlers/write/pinned.js +202 -0
- package/dist/handlers/write/pinned.js.map +1 -0
- package/dist/handlers/write/update-delete.d.ts.map +1 -1
- package/dist/handlers/write/update-delete.js +5 -3
- package/dist/handlers/write/update-delete.js.map +1 -1
- package/dist/handlers/write-helpers.d.ts +2 -2
- package/dist/handlers/write-helpers.d.ts.map +1 -1
- package/dist/handlers/write-helpers.js +8 -6
- package/dist/handlers/write-helpers.js.map +1 -1
- package/dist/handlers/write.d.ts.map +1 -1
- package/dist/handlers/write.js +4 -1
- package/dist/handlers/write.js.map +1 -1
- package/dist/server/audit.d.ts +1 -0
- package/dist/server/audit.d.ts.map +1 -1
- package/dist/server/audit.js +49 -2
- package/dist/server/audit.js.map +1 -1
- package/dist/server/config.d.ts.map +1 -1
- package/dist/server/config.js +29 -1
- package/dist/server/config.js.map +1 -1
- package/dist/server/destination-registry.d.ts +14 -0
- package/dist/server/destination-registry.d.ts.map +1 -1
- package/dist/server/destination-registry.js +43 -4
- package/dist/server/destination-registry.js.map +1 -1
- package/dist/server/http.d.ts.map +1 -1
- package/dist/server/http.js +25 -5
- package/dist/server/http.js.map +1 -1
- package/dist/server/ide-links.d.ts +14 -0
- package/dist/server/ide-links.d.ts.map +1 -0
- package/dist/server/ide-links.js +146 -0
- package/dist/server/ide-links.js.map +1 -0
- package/dist/server/ide-request.d.ts +13 -0
- package/dist/server/ide-request.d.ts.map +1 -0
- package/dist/server/ide-request.js +14 -0
- package/dist/server/ide-request.js.map +1 -0
- package/dist/server/multi-target-authorization.d.ts +1 -1
- package/dist/server/multi-target-authorization.d.ts.map +1 -1
- package/dist/server/multi-target-authorization.js +5 -3
- package/dist/server/multi-target-authorization.js.map +1 -1
- package/dist/server/multi-target-catalog-enforced.d.ts +6 -1
- package/dist/server/multi-target-catalog-enforced.d.ts.map +1 -1
- package/dist/server/multi-target-catalog-enforced.js +3 -0
- package/dist/server/multi-target-catalog-enforced.js.map +1 -1
- package/dist/server/multi-target-catalog-projection.d.ts.map +1 -1
- package/dist/server/multi-target-catalog-projection.js +1 -0
- package/dist/server/multi-target-catalog-projection.js.map +1 -1
- package/dist/server/multi-target-catalog.d.ts.map +1 -1
- package/dist/server/multi-target-catalog.js +1 -0
- package/dist/server/multi-target-catalog.js.map +1 -1
- package/dist/server/multi-target-destination-config.d.ts +2 -0
- package/dist/server/multi-target-destination-config.d.ts.map +1 -1
- package/dist/server/multi-target-destination-config.js +18 -0
- package/dist/server/multi-target-destination-config.js.map +1 -1
- package/dist/server/multi-target-identity.d.ts.map +1 -1
- package/dist/server/multi-target-identity.js +4 -3
- package/dist/server/multi-target-identity.js.map +1 -1
- package/dist/server/multi-target-request-projection.d.ts +2 -0
- package/dist/server/multi-target-request-projection.d.ts.map +1 -1
- package/dist/server/multi-target-request-projection.js +2 -0
- package/dist/server/multi-target-request-projection.js.map +1 -1
- package/dist/server/multi-target-runtime.d.ts +5 -1
- package/dist/server/multi-target-runtime.d.ts.map +1 -1
- package/dist/server/multi-target-runtime.js +30 -3
- package/dist/server/multi-target-runtime.js.map +1 -1
- package/dist/server/multi-target-server.d.ts.map +1 -1
- package/dist/server/multi-target-server.js +42 -6
- package/dist/server/multi-target-server.js.map +1 -1
- package/dist/server/multi-target-tools.d.ts.map +1 -1
- package/dist/server/multi-target-tools.js +64 -7
- package/dist/server/multi-target-tools.js.map +1 -1
- package/dist/server/multi-target-write-surface.d.ts +9 -0
- package/dist/server/multi-target-write-surface.d.ts.map +1 -0
- package/dist/server/multi-target-write-surface.js +42 -0
- package/dist/server/multi-target-write-surface.js.map +1 -0
- package/dist/server/per-user-transport.d.ts +18 -0
- package/dist/server/per-user-transport.d.ts.map +1 -0
- package/dist/server/per-user-transport.js +72 -0
- package/dist/server/per-user-transport.js.map +1 -0
- package/dist/server/server-instructions.d.ts +2 -0
- package/dist/server/server-instructions.d.ts.map +1 -1
- package/dist/server/server-instructions.js +10 -12
- package/dist/server/server-instructions.js.map +1 -1
- package/dist/server/server.d.ts +3 -0
- package/dist/server/server.d.ts.map +1 -1
- package/dist/server/server.js +22 -8
- package/dist/server/server.js.map +1 -1
- package/dist/server/tool-auth.d.ts +1 -1
- package/dist/server/tool-auth.d.ts.map +1 -1
- package/dist/server/tool-auth.js +24 -4
- package/dist/server/tool-auth.js.map +1 -1
- package/dist/server/types.d.ts +7 -0
- package/dist/server/types.d.ts.map +1 -1
- package/dist/server/types.js +3 -0
- package/dist/server/types.js.map +1 -1
- package/dist/server/ui-state.d.ts.map +1 -1
- package/dist/server/ui-state.js +1 -0
- package/dist/server/ui-state.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +14 -10
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
import { clampSearchResults } from '../adt/client.js';
|
|
2
|
+
import { throwIfRequestCancelled } from '../adt/http-deadline.js';
|
|
3
|
+
import { getTransport } from '../adt/transport.js';
|
|
4
|
+
import { diffTransportObject, rollupTransportObjects } from '../adt/transport-diff.js';
|
|
5
|
+
import { ReviewBudget } from '../adt/transport-review-budget.js';
|
|
6
|
+
import { getCurrentContext } from '../server/context.js';
|
|
7
|
+
import { errorResult, textResult, toolJson } from './shared.js';
|
|
8
|
+
export const REVIEW_OUTPUT_BYTES = 64 * 1024;
|
|
9
|
+
export async function handleTransportReview(client, args, config) {
|
|
10
|
+
const id = String(args.id ?? '')
|
|
11
|
+
.trim()
|
|
12
|
+
.toUpperCase();
|
|
13
|
+
if (!id)
|
|
14
|
+
return errorResult('Transport ID is required for "diff" action.');
|
|
15
|
+
const budget = new ReviewBudget();
|
|
16
|
+
const transport = await budget.read((request) => getTransport(client.http, client.safety, id, request));
|
|
17
|
+
if (!transport)
|
|
18
|
+
return errorResult(`Transport ${id.slice(0, 40)} not found. If this is a task, use its parent request.`);
|
|
19
|
+
// TRSTATUS: R/N are released; D/L are modifiable. O/P are transitional.
|
|
20
|
+
const mode = ['R', 'N'].includes(transport.status)
|
|
21
|
+
? 'released'
|
|
22
|
+
: ['D', 'L'].includes(transport.status)
|
|
23
|
+
? 'active'
|
|
24
|
+
: undefined;
|
|
25
|
+
if (!mode)
|
|
26
|
+
return errorResult(`Transport ${id.slice(0, 40)} has status ${String(transport.status || 'unknown').slice(0, 16)}; a stable comparison state cannot be selected. Retry after release finishes or inspect the request in SAP.`);
|
|
27
|
+
const key = (o) => `${o.pgmid}:${o.type}:${o.name}`.toUpperCase();
|
|
28
|
+
const taskKeys = new Set(transport.tasks.flatMap((t) => t.objects.map(key)));
|
|
29
|
+
const requestOnly = (transport.requestObjects ?? []).filter((o) => !taskKeys.has(key(o)));
|
|
30
|
+
const inventory = rollupTransportObjects([
|
|
31
|
+
...transport.tasks,
|
|
32
|
+
...(requestOnly.length ? [{ id: transport.id, objects: requestOnly }] : []),
|
|
33
|
+
]);
|
|
34
|
+
inventory.sort((a, b) => (key(a) < key(b) ? -1 : key(a) > key(b) ? 1 : 0));
|
|
35
|
+
const offset = Math.max(0, Math.floor(Number(args.offset) || 0));
|
|
36
|
+
if (offset > 0 && offset >= inventory.length)
|
|
37
|
+
return errorResult(`Review offset is outside this transport inventory (${inventory.length} objects).`);
|
|
38
|
+
const limit = Math.min(clampSearchResults(args.limit, 20), 40);
|
|
39
|
+
const ids = new Set([transport.id, ...transport.tasks.map((t) => t.id)]);
|
|
40
|
+
const objects = [];
|
|
41
|
+
let stoppedBy;
|
|
42
|
+
const fits = (object) => Buffer.byteLength(toolJson([...objects, object])) <= REVIEW_OUTPUT_BYTES - 8192;
|
|
43
|
+
for (const object of inventory.slice(offset, offset + limit)) {
|
|
44
|
+
if (budget.exhausted)
|
|
45
|
+
break;
|
|
46
|
+
const diff = await diffTransportObject(client, object, ids, {
|
|
47
|
+
mode,
|
|
48
|
+
budget,
|
|
49
|
+
summary: args.summary === true,
|
|
50
|
+
minimalErrors: config.minimalErrors || Boolean(config.targetId),
|
|
51
|
+
});
|
|
52
|
+
// Cancellation ends the call, rather than becoming a successful review with missing parts.
|
|
53
|
+
throwIfRequestCancelled({ signal: getCurrentContext()?.signal });
|
|
54
|
+
// Retry an unfinished later object on a fresh page. Always report the first object,
|
|
55
|
+
// even if it alone exceeds the allowance, so nextOffset cannot loop at the same object.
|
|
56
|
+
if (budget.exhausted && objects.length)
|
|
57
|
+
break;
|
|
58
|
+
if (!fits(diff)) {
|
|
59
|
+
stoppedBy = 'output limit';
|
|
60
|
+
if (objects.length)
|
|
61
|
+
break;
|
|
62
|
+
for (const part of [...diff.parts].reverse()) {
|
|
63
|
+
if (fits(diff))
|
|
64
|
+
break;
|
|
65
|
+
if (part.diff) {
|
|
66
|
+
part.diff = '';
|
|
67
|
+
part.hunksOmitted = true;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
if (!fits(diff))
|
|
71
|
+
return errorResult('Review metadata for the first object exceeds the output budget. Inspect this object in SAP.');
|
|
72
|
+
}
|
|
73
|
+
objects.push(diff);
|
|
74
|
+
}
|
|
75
|
+
const nextOffset = offset + objects.length;
|
|
76
|
+
const baselines = {};
|
|
77
|
+
for (const object of objects)
|
|
78
|
+
for (const part of object.parts)
|
|
79
|
+
baselines[part.baselineStatus] = (baselines[part.baselineStatus] ?? 0) + 1;
|
|
80
|
+
const payload = {
|
|
81
|
+
transport: {
|
|
82
|
+
id: transport.id,
|
|
83
|
+
description: transport.description,
|
|
84
|
+
owner: transport.owner,
|
|
85
|
+
status: transport.status,
|
|
86
|
+
},
|
|
87
|
+
comparison: mode === 'released'
|
|
88
|
+
? 'released transport snapshot against preceding snapshot'
|
|
89
|
+
: 'active source against preceding transport snapshot',
|
|
90
|
+
totalObjects: inventory.length,
|
|
91
|
+
offset,
|
|
92
|
+
shown: objects.length,
|
|
93
|
+
...(nextOffset < inventory.length ? { nextOffset } : {}),
|
|
94
|
+
...(budget.exhausted || stoppedBy ? { stoppedBy: budget.stopReason ?? stoppedBy ?? 'collection limit' } : {}),
|
|
95
|
+
pageSummary: {
|
|
96
|
+
baselines,
|
|
97
|
+
inventoryOnly: objects.filter((o) => o.inventoryReason).length,
|
|
98
|
+
objectsWithUncomparedScope: objects.filter((o) => o.notCompared?.length).length,
|
|
99
|
+
},
|
|
100
|
+
note: 'Source comparison only; not a release verdict. Each page rereads inventory and sources, not an atomic snapshot.',
|
|
101
|
+
objects,
|
|
102
|
+
};
|
|
103
|
+
const output = toolJson(payload);
|
|
104
|
+
if (Buffer.byteLength(output) > REVIEW_OUTPUT_BYTES)
|
|
105
|
+
return errorResult('Review metadata exceeds output budget. Narrow the page with limit=1.');
|
|
106
|
+
return textResult(output);
|
|
107
|
+
}
|
|
108
|
+
//# sourceMappingURL=transport-review.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transport-review.js","sourceRoot":"","sources":["../../src/handlers/transport-review.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../../src/handlers/transport.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,KAAK,SAAS,EAAsB,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../../src/handlers/transport.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,KAAK,SAAS,EAAsB,MAAM,kBAAkB,CAAC;AAyBtE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD,OAAO,EAAe,KAAK,UAAU,EAAwB,MAAM,aAAa,CAAC;AAoLjF,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,SAAS,EACjB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,MAAM,EAAE,YAAY,GACnB,OAAO,CAAC,UAAU,CAAC,CA+ZrB"}
|
|
@@ -6,16 +6,13 @@ import { clampSearchResults } from '../adt/client.js';
|
|
|
6
6
|
import { AdtApiError } from '../adt/errors.js';
|
|
7
7
|
import { checkTransport } from '../adt/safety.js';
|
|
8
8
|
import { checkRecursiveTransportReleaseScope, createTransport, createTransportWithTarget, deleteTransport, failedReleaseReports, getObjectTransports, getTransport, getTransportInfo, inactiveObjectsForTransport, listTransportLayers, listTransports, listTransportTargets, reassignTransport, releaseTransportAndWait, releaseTransportRecursive, removeObjectFromTransport, supportsExplicitTransportTarget, } from '../adt/transport.js';
|
|
9
|
-
import { diffTransportObject, rollupTransportObjects } from '../adt/transport-diff.js';
|
|
10
9
|
import { logger } from '../server/logger.js';
|
|
11
10
|
import { functionGroupObjectUrl, functionModuleObjectUrl, objectUrlForType } from './object-types.js';
|
|
12
11
|
import { errorResult, textResult, toolJson } from './shared.js';
|
|
12
|
+
import { handleTransportReview } from './transport-review.js';
|
|
13
13
|
/** Default page size for `list`. Object lists dominate the payload, so the backlog sets the cost. */
|
|
14
14
|
const DEFAULT_TRANSPORT_RESULTS = 50;
|
|
15
15
|
const DEFAULT_TRANSPORT_CHECK_RESULTS = 10;
|
|
16
|
-
/** `diff` page size. Cap matches SAP's own transport-diff tool (pageSize max 40) so results compare. */
|
|
17
|
-
const DEFAULT_DIFF_OBJECTS = 20;
|
|
18
|
-
const MAX_DIFF_OBJECTS = 40;
|
|
19
16
|
/**
|
|
20
17
|
* Pre-release guard: find inactive objects that belong to `transportId`. Releasing a transport that
|
|
21
18
|
* still contains inactive objects makes SAP's release pipeline hang (it activates before exporting),
|
|
@@ -197,60 +194,8 @@ export async function handleSAPTransport(client, args, config) {
|
|
|
197
194
|
return textResult(`Transport ${id} not found.`);
|
|
198
195
|
return textResult(toolJson(transport));
|
|
199
196
|
}
|
|
200
|
-
case 'diff':
|
|
201
|
-
|
|
202
|
-
if (!id)
|
|
203
|
-
return errorResult('Transport ID is required for "diff" action.');
|
|
204
|
-
const transport = await getTransport(client.http, client.safety, id);
|
|
205
|
-
if (!transport)
|
|
206
|
-
return textResult(`Transport ${id} not found.`);
|
|
207
|
-
// A transport of copies records its objects on the REQUEST, not under a task, so
|
|
208
|
-
// reviewing only `tasks` returns an empty change set. A released workbench request also
|
|
209
|
-
// MIRRORS its task objects at request level — add only the entries no task already
|
|
210
|
-
// carries, otherwise the request id lands in `taskIds` and reads as an extra task.
|
|
211
|
-
const taskObjectKeys = new Set(transport.tasks.flatMap((t) => t.objects.map((o) => `${o.pgmid}:${o.type}:${o.name}`.toUpperCase())));
|
|
212
|
-
const requestOnly = (transport.requestObjects ?? []).filter((o) => !taskObjectKeys.has(`${o.pgmid}:${o.type}:${o.name}`.toUpperCase()));
|
|
213
|
-
const objects = rollupTransportObjects([
|
|
214
|
-
...transport.tasks,
|
|
215
|
-
...(requestOnly.length ? [{ id: transport.id, objects: requestOnly }] : []),
|
|
216
|
-
]);
|
|
217
|
-
const offset = Math.max(0, Number(args.offset ?? 0) || 0);
|
|
218
|
-
const limit = Math.min(clampSearchResults(args.limit, DEFAULT_DIFF_OBJECTS), MAX_DIFF_OBJECTS);
|
|
219
|
-
// Stable order across pages: the transport is re-read per call, and SAP does not promise
|
|
220
|
-
// a fixed task/object sequence, so an unsorted slice could skip or repeat an object.
|
|
221
|
-
// Plain code-point comparison, NOT localeCompare — collation is ICU/locale dependent
|
|
222
|
-
// (da-DK sorts "AA" after "Z"), so two instances behind a load balancer would page
|
|
223
|
-
// differently. The key mirrors the rollup key so entries can never compare equal.
|
|
224
|
-
const sortKey = (o) => `${o.pgmid}:${o.type}:${o.name}`;
|
|
225
|
-
objects.sort((a, b) => (sortKey(a) < sortKey(b) ? -1 : sortKey(a) > sortKey(b) ? 1 : 0));
|
|
226
|
-
const page = objects.slice(offset, offset + limit);
|
|
227
|
-
// Match the request AND its tasks: version records reference the request on the systems
|
|
228
|
-
// verified so far, but matching both can only add correct matches, never remove one.
|
|
229
|
-
const transportIds = new Set([transport.id, ...transport.tasks.map((t) => t.id)].filter(Boolean));
|
|
230
|
-
// Objects are independent reads; http.ts caps real concurrency via the shared Semaphore.
|
|
231
|
-
const diffs = await Promise.all(page.map((object) => diffTransportObject(client, object, transportIds, { minimalErrors: config.minimalErrors })));
|
|
232
|
-
return textResult(toolJson({
|
|
233
|
-
transport: {
|
|
234
|
-
id: transport.id,
|
|
235
|
-
description: transport.description,
|
|
236
|
-
owner: transport.owner,
|
|
237
|
-
status: transport.status,
|
|
238
|
-
},
|
|
239
|
-
// One model for released and open transports alike: while a transport is open its
|
|
240
|
-
// objects are locked, so the active revision carries its id and matches the same way.
|
|
241
|
-
comparison: 'transport-correction-to-immediate-previous',
|
|
242
|
-
totalObjects: objects.length,
|
|
243
|
-
offset,
|
|
244
|
-
shown: page.length,
|
|
245
|
-
// parseTransportList only harvests objects nested under <tm:task>; a request whose
|
|
246
|
-
// objects sit at request level would otherwise read as "nothing changed".
|
|
247
|
-
...(objects.length === 0 ? { note: 'This transport records no reviewable objects.' } : {}),
|
|
248
|
-
...(offset + page.length < objects.length
|
|
249
|
-
? { hint: `Showing ${page.length} of ${objects.length}. Next page: offset=${offset + page.length}.` }
|
|
250
|
-
: {}),
|
|
251
|
-
objects: diffs,
|
|
252
|
-
}));
|
|
253
|
-
}
|
|
197
|
+
case 'diff':
|
|
198
|
+
return handleTransportReview(client, args, config);
|
|
254
199
|
case 'create': {
|
|
255
200
|
const description = String(args.description ?? '');
|
|
256
201
|
if (!description)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transport.js","sourceRoot":"","sources":["../../src/handlers/transport.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"transport.js","sourceRoot":"","sources":["../../src/handlers/transport.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { AdtClient } from '../adt/client.js';
|
|
2
|
+
import type { WhereUsedResult } from '../adt/codeintel.js';
|
|
3
|
+
import { type UsageOptions } from '../adt/where-used-native.js';
|
|
4
|
+
export declare function expandUsageDetails(client: AdtClient, rows: WhereUsedResult[], filter: string | undefined, options: UsageOptions, limit: number, supportsSnippets: boolean, deadline: number): Promise<{
|
|
5
|
+
detail: "objects" | "positions" | "snippets" | undefined;
|
|
6
|
+
identifiersAvailable: number;
|
|
7
|
+
identifiersExpanded: number;
|
|
8
|
+
identifiersWithoutUsages: number;
|
|
9
|
+
unexpandedEntries: number;
|
|
10
|
+
shown: number;
|
|
11
|
+
truncated: boolean;
|
|
12
|
+
warning?: string | undefined;
|
|
13
|
+
countMeaning: string;
|
|
14
|
+
coordinateMeaning: string;
|
|
15
|
+
usages: {
|
|
16
|
+
object: string;
|
|
17
|
+
type: string;
|
|
18
|
+
packageName: string;
|
|
19
|
+
uri: string;
|
|
20
|
+
component?: string | null | undefined;
|
|
21
|
+
line?: number | undefined;
|
|
22
|
+
column?: number | undefined;
|
|
23
|
+
matches: string;
|
|
24
|
+
snippet?: string | undefined;
|
|
25
|
+
snippetTruncated?: boolean | undefined;
|
|
26
|
+
}[];
|
|
27
|
+
}>;
|
|
28
|
+
//# sourceMappingURL=where-used-details.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"where-used-details.d.ts","sourceRoot":"","sources":["../../src/handlers/where-used-details.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAuC,KAAK,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAerG,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,SAAS,EACjB,IAAI,EAAE,eAAe,EAAE,EACvB,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,OAAO,EAAE,YAAY,EACrB,KAAK,EAAE,MAAM,EACb,gBAAgB,EAAE,OAAO,EACzB,QAAQ,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;GA2DjB"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { loadUsageSnippets, matchesUsageType } from '../adt/where-used-native.js';
|
|
2
|
+
/** Native method/include nodes may omit their type; inherit it only through the returned tree. */
|
|
3
|
+
function ownerOf(row, byUri) {
|
|
4
|
+
let owner = row;
|
|
5
|
+
const seen = new Set();
|
|
6
|
+
for (let depth = 0; depth < 32 && !owner.type && owner.parentUri && !seen.has(owner.parentUri); depth++) {
|
|
7
|
+
seen.add(owner.parentUri);
|
|
8
|
+
const parent = byUri.get(owner.parentUri);
|
|
9
|
+
if (!parent)
|
|
10
|
+
break;
|
|
11
|
+
owner = parent;
|
|
12
|
+
}
|
|
13
|
+
return owner;
|
|
14
|
+
}
|
|
15
|
+
export async function expandUsageDetails(client, rows, filter, options, limit, supportsSnippets, deadline) {
|
|
16
|
+
const byUri = new Map(rows.map((row) => [row.uri, row]));
|
|
17
|
+
const relevant = rows
|
|
18
|
+
.map((row) => ({ row, owner: ownerOf(row, byUri) }))
|
|
19
|
+
.filter(({ row, owner }) => (!filter || matchesUsageType(owner.type, filter)) &&
|
|
20
|
+
(!options.packages?.length ||
|
|
21
|
+
(owner.type !== 'DEVC/K' &&
|
|
22
|
+
options.packages.includes((row.packageName || owner.packageName || '').toUpperCase()))));
|
|
23
|
+
const identified = new Map(relevant.filter(({ row }) => row.objectIdentifier).map((entry) => [entry.row.objectIdentifier, entry]));
|
|
24
|
+
const identifiers = supportsSnippets ? [...identified.keys()].slice(0, 10) : [];
|
|
25
|
+
const snippets = await loadUsageSnippets(client, identifiers, deadline);
|
|
26
|
+
const requested = new Set(identifiers);
|
|
27
|
+
if (snippets.some((snippet) => !requested.has(snippet.objectIdentifier)))
|
|
28
|
+
throw new Error('SAP returned snippets for an unrequested where-used identifier.');
|
|
29
|
+
const unexpandedEntries = relevant.filter(({ row }) => row.isResult !== false && !row.objectIdentifier).length;
|
|
30
|
+
const truncated = identified.size > identifiers.length || snippets.length > limit;
|
|
31
|
+
return {
|
|
32
|
+
detail: options.detail,
|
|
33
|
+
identifiersAvailable: identified.size,
|
|
34
|
+
identifiersExpanded: identifiers.length,
|
|
35
|
+
identifiersWithoutUsages: identifiers.filter((id) => !snippets.some((snippet) => snippet.objectIdentifier === id))
|
|
36
|
+
.length,
|
|
37
|
+
unexpandedEntries,
|
|
38
|
+
shown: Math.min(snippets.length, limit),
|
|
39
|
+
truncated,
|
|
40
|
+
...(supportsSnippets
|
|
41
|
+
? {}
|
|
42
|
+
: { warning: 'Usage snippets are unavailable for this lookup. Use the object list and SAPRead.' }),
|
|
43
|
+
countMeaning: 'Usage entries from at most 10 expandable nodes; entries without native identifiers are not expanded. Not a complete inventory.',
|
|
44
|
+
coordinateMeaning: 'SAP coordinates: line is 1-based; columns follow the native match range. A component identifies method-relative positions.',
|
|
45
|
+
usages: snippets.slice(0, limit).map((snippet) => {
|
|
46
|
+
const { row, owner } = identified.get(snippet.objectIdentifier);
|
|
47
|
+
const fragment = new URLSearchParams(snippet.uri.split('#')[1]?.replaceAll(';', '&'));
|
|
48
|
+
const start = fragment.get('start')?.split(',');
|
|
49
|
+
const column = start?.[1] ?? /^(\d+)-/.exec(snippet.matches)?.[1];
|
|
50
|
+
const content = snippet.content;
|
|
51
|
+
return {
|
|
52
|
+
object: owner.name,
|
|
53
|
+
type: owner.type,
|
|
54
|
+
packageName: row.packageName || owner.packageName,
|
|
55
|
+
uri: snippet.uri,
|
|
56
|
+
...(fragment.get('name') ? { component: fragment.get('name') } : {}),
|
|
57
|
+
...(start?.[0] && /^\d+$/.test(start[0]) ? { line: Number(start[0]) } : {}),
|
|
58
|
+
...(column && /^\d+$/.test(column) ? { column: Number(column) } : {}),
|
|
59
|
+
matches: snippet.matches,
|
|
60
|
+
...(options.detail === 'snippets'
|
|
61
|
+
? { snippet: content.slice(0, 1000), ...(content.length > 1000 ? { snippetTruncated: true } : {}) }
|
|
62
|
+
: {}),
|
|
63
|
+
};
|
|
64
|
+
}),
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
//# sourceMappingURL=where-used-details.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"where-used-details.js","sourceRoot":"","sources":["../../src/handlers/where-used-details.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { type AdtClient } from '../adt/client.js';
|
|
2
2
|
import { type ReferenceResult, type WhereUsedResult } from '../adt/codeintel.js';
|
|
3
|
+
import { type UsageOptions } from '../adt/where-used-native.js';
|
|
4
|
+
import { expandUsageDetails } from './where-used-details.js';
|
|
3
5
|
export type LiveUsageResult = WhereUsedResult | ReferenceResult;
|
|
4
6
|
export interface LiveUsageLookup {
|
|
5
7
|
/** At most `maxResults` entries. */
|
|
@@ -12,6 +14,8 @@ export interface LiveUsageLookup {
|
|
|
12
14
|
warning?: string;
|
|
13
15
|
/** The symbol SAP searched for, from its result scope (absent on the fallback endpoint). */
|
|
14
16
|
searchedFor?: string;
|
|
17
|
+
scopeFiltering?: 'server' | 'client';
|
|
18
|
+
usageDetails?: Awaited<ReturnType<typeof expandUsageDetails>>;
|
|
15
19
|
}
|
|
16
20
|
/** Resolve the canonical ADT object URI used by the where-used APIs. */
|
|
17
21
|
export declare function resolveWhereUsedUri(client: AdtClient, objectType: string, objectName: string): Promise<string | null>;
|
|
@@ -19,11 +23,12 @@ export declare function resolveWhereUsedUri(client: AdtClient, objectType: strin
|
|
|
19
23
|
* Run the live SAP-authorized where-used lookup shared by SAPNavigate.references and
|
|
20
24
|
* SAPContext.usages. Older systems fall back to the simple references endpoint.
|
|
21
25
|
*
|
|
22
|
-
*
|
|
26
|
+
* Legacy filtering and paging are client-side: the older `usageReferences` endpoint declares only
|
|
23
27
|
* `{?uri}` and ignores every limit/filter we can send — `objectTypeFilter` in the body, and
|
|
24
28
|
* `maxResults`/`maxItemCount`/`searchFromIndex` as query params all return byte-identical
|
|
25
29
|
* responses (verified live on 758, 9 variants). So the full set always crosses the wire; we bound
|
|
26
|
-
* what reaches the model, not what SAP computes.
|
|
30
|
+
* what reaches the model, not what SAP computes. SAPNavigate optionally uses native scope
|
|
31
|
+
* on systems advertising it; paging remains client-side.
|
|
27
32
|
*/
|
|
28
|
-
export declare function lookupLiveUsages(client: AdtClient, uri: string, objectType?: string, maxResults?: number): Promise<LiveUsageLookup>;
|
|
33
|
+
export declare function lookupLiveUsages(client: AdtClient, uri: string, objectType?: string, maxResults?: number, options?: UsageOptions): Promise<LiveUsageLookup>;
|
|
29
34
|
//# sourceMappingURL=where-used.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"where-used.d.ts","sourceRoot":"","sources":["../../src/handlers/where-used.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAsB,MAAM,kBAAkB,CAAC;AACtE,OAAO,EAIL,KAAK,eAAe,EACpB,KAAK,eAAe,EACrB,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"where-used.d.ts","sourceRoot":"","sources":["../../src/handlers/where-used.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAsB,MAAM,kBAAkB,CAAC;AACtE,OAAO,EAIL,KAAK,eAAe,EACpB,KAAK,eAAe,EACrB,MAAM,qBAAqB,CAAC;AAK7B,OAAO,EAAsC,KAAK,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAEpG,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAE7D,MAAM,MAAM,eAAe,GAAG,eAAe,GAAG,eAAe,CAAC;AAMhE,MAAM,WAAW,eAAe;IAC9B,oCAAoC;IACpC,OAAO,EAAE,eAAe,EAAE,CAAC;IAC3B,+FAA+F;IAC/F,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,OAAO,CAAC;IACnB,YAAY,EAAE,OAAO,CAAC;IACtB,4FAA4F;IAC5F,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,4FAA4F;IAC5F,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC;IACrC,YAAY,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAC,CAAC;CAC/D;AAED,wEAAwE;AACxE,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,SAAS,EACjB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAaxB;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,SAAS,EACjB,GAAG,EAAE,MAAM,EACX,UAAU,CAAC,EAAE,MAAM,EACnB,UAAU,CAAC,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE,YAAY,GACrB,OAAO,CAAC,eAAe,CAAC,CAyF1B"}
|
|
@@ -4,17 +4,12 @@ import { DataSourcePolicyError } from '../adt/data-source-policy.js';
|
|
|
4
4
|
import { AdtApiError } from '../adt/errors.js';
|
|
5
5
|
import { internalOperationWarning } from '../adt/internal-data-operations.js';
|
|
6
6
|
import { isOperationAllowed, OperationType } from '../adt/safety.js';
|
|
7
|
+
import { loadNativeUsages, matchesUsageType } from '../adt/where-used-native.js';
|
|
7
8
|
import { normalizeObjectType, objectUrlForType } from './object-types.js';
|
|
9
|
+
import { expandUsageDetails } from './where-used-details.js';
|
|
8
10
|
/** Default page size for where-used. A bare lookup on a common type returns thousands of rows
|
|
9
11
|
* (CL_ABAP_TYPEDESCR: 6,644 refs ≈ 968k tokens) — far past any context window. */
|
|
10
12
|
const DEFAULT_USAGE_RESULTS = 100;
|
|
11
|
-
/** Match a result's ADT type against a filter: "CLAS" matches "CLAS/OC", "CLAS/OC" matches exactly.
|
|
12
|
-
* Trimmed — a padded `" CLAS "` would otherwise match nothing and read as "no references found". */
|
|
13
|
-
function matchesObjectType(resultType, filter) {
|
|
14
|
-
const type = resultType.trim().toUpperCase();
|
|
15
|
-
const wanted = filter.trim().toUpperCase();
|
|
16
|
-
return type === wanted || type.startsWith(`${wanted}/`);
|
|
17
|
-
}
|
|
18
13
|
/** Resolve the canonical ADT object URI used by the where-used APIs. */
|
|
19
14
|
export async function resolveWhereUsedUri(client, objectType, objectName) {
|
|
20
15
|
const type = normalizeObjectType(objectType);
|
|
@@ -34,13 +29,14 @@ export async function resolveWhereUsedUri(client, objectType, objectName) {
|
|
|
34
29
|
* Run the live SAP-authorized where-used lookup shared by SAPNavigate.references and
|
|
35
30
|
* SAPContext.usages. Older systems fall back to the simple references endpoint.
|
|
36
31
|
*
|
|
37
|
-
*
|
|
32
|
+
* Legacy filtering and paging are client-side: the older `usageReferences` endpoint declares only
|
|
38
33
|
* `{?uri}` and ignores every limit/filter we can send — `objectTypeFilter` in the body, and
|
|
39
34
|
* `maxResults`/`maxItemCount`/`searchFromIndex` as query params all return byte-identical
|
|
40
35
|
* responses (verified live on 758, 9 variants). So the full set always crosses the wire; we bound
|
|
41
|
-
* what reaches the model, not what SAP computes.
|
|
36
|
+
* what reaches the model, not what SAP computes. SAPNavigate optionally uses native scope
|
|
37
|
+
* on systems advertising it; paging remains client-side.
|
|
42
38
|
*/
|
|
43
|
-
export async function lookupLiveUsages(client, uri, objectType, maxResults) {
|
|
39
|
+
export async function lookupLiveUsages(client, uri, objectType, maxResults, options) {
|
|
44
40
|
// Normalize the filter ONCE, at the entry, and use only this value below. A whitespace-only filter
|
|
45
41
|
// means "no filter" (matching the empty type would match nothing and read as "No references
|
|
46
42
|
// found"). Trimming here rather than at the comparison is what keeps `" CLAS/OC "` behaving like
|
|
@@ -52,29 +48,53 @@ export async function lookupLiveUsages(client, uri, objectType, maxResults) {
|
|
|
52
48
|
let searchedFor;
|
|
53
49
|
let referencedObjectIdentifier;
|
|
54
50
|
let fallbackUsed = false;
|
|
51
|
+
let native;
|
|
55
52
|
try {
|
|
56
|
-
|
|
53
|
+
native =
|
|
54
|
+
options && (options.packages?.length || (options.detail && options.detail !== 'objects'))
|
|
55
|
+
? await loadNativeUsages(client, uri, options)
|
|
56
|
+
: undefined;
|
|
57
|
+
({ results, searchedFor, referencedObjectIdentifier } =
|
|
58
|
+
native ?? (await findWhereUsedWithScope(client.http, client.safety, uri, filter)));
|
|
57
59
|
}
|
|
58
60
|
catch (err) {
|
|
59
|
-
if (!(err instanceof AdtApiError) ||
|
|
61
|
+
if (!(err instanceof AdtApiError) ||
|
|
62
|
+
![404, 405, 415, 501].includes(err.statusCode) ||
|
|
63
|
+
!/\/usageReferences(?:\?|$)/.test(err.path))
|
|
60
64
|
throw err;
|
|
65
|
+
if (options?.packages?.length)
|
|
66
|
+
throw new Error('This legacy reference endpoint cannot provide package-filtered results. Retry without packages.');
|
|
61
67
|
results = await findReferences(client.http, client.safety, uri);
|
|
62
68
|
fallbackUsed = true;
|
|
63
69
|
}
|
|
64
70
|
// Kept outside the try: an augment failure must not be mistaken for a missing where-used endpoint.
|
|
65
71
|
let warning;
|
|
66
|
-
// Empty
|
|
67
|
-
|
|
68
|
-
|
|
72
|
+
// Empty also occurs when SAP reports an unsupported search. Require native rows before
|
|
73
|
+
// treating an empty cursor identifier as fallback to the original object.
|
|
74
|
+
if (!fallbackUsed && (!scoped || (referencedObjectIdentifier === '' && results.length > 0))) {
|
|
75
|
+
warning = await augmentInterfaceImplementers(client, uri, filter, results, Boolean(options?.packages?.length));
|
|
69
76
|
}
|
|
70
77
|
if (scoped && !searchedFor) {
|
|
71
78
|
const scopeWarning = 'SAP did not report the searched symbol. Results may refer to the whole object; confirm the scope before using them.';
|
|
72
79
|
warning = warning ? `${warning} ${scopeWarning}` : scopeWarning;
|
|
73
80
|
}
|
|
74
|
-
const filtered =
|
|
81
|
+
const filtered = results.filter((result) => (!filter || matchesUsageType(result.type, filter)) &&
|
|
82
|
+
(!options?.packages?.length ||
|
|
83
|
+
(result.type !== 'DEVC/K' &&
|
|
84
|
+
'packageName' in result &&
|
|
85
|
+
options.packages.includes(result.packageName.toUpperCase()))));
|
|
75
86
|
const limit = clampSearchResults(maxResults, DEFAULT_USAGE_RESULTS);
|
|
87
|
+
const usageDetails = options?.detail && options.detail !== 'objects'
|
|
88
|
+
? await expandUsageDetails(client, results, filter, options, limit, native?.supportsSnippets ?? false, native?.deadline ?? Date.now())
|
|
89
|
+
: undefined;
|
|
76
90
|
return {
|
|
77
|
-
results: filtered.slice(0, limit)
|
|
91
|
+
results: filtered.slice(0, limit).map(({ ...row }) => {
|
|
92
|
+
if ('objectIdentifier' in row)
|
|
93
|
+
delete row.objectIdentifier;
|
|
94
|
+
return row;
|
|
95
|
+
}),
|
|
96
|
+
...(native && options?.packages?.length ? { scopeFiltering: native.scopeFiltering } : {}),
|
|
97
|
+
...(usageDetails ? { usageDetails } : {}),
|
|
78
98
|
total: filtered.length,
|
|
79
99
|
truncated: filtered.length > limit,
|
|
80
100
|
fallbackUsed,
|
|
@@ -82,13 +102,15 @@ export async function lookupLiveUsages(client, uri, objectType, maxResults) {
|
|
|
82
102
|
...(searchedFor ? { searchedFor } : {}),
|
|
83
103
|
};
|
|
84
104
|
}
|
|
85
|
-
async function augmentInterfaceImplementers(client, uri, objectType, results) {
|
|
105
|
+
async function augmentInterfaceImplementers(client, uri, objectType, results, packageFiltered) {
|
|
86
106
|
const intfMatch = uri.match(/\/sap\/bc\/adt\/oo\/interfaces\/([^/?#]+)/i);
|
|
87
107
|
if (!intfMatch || (objectType && !/^CLAS/i.test(objectType)))
|
|
88
108
|
return undefined;
|
|
89
109
|
const interfaceName = decodeURIComponent(intfMatch[1]).toUpperCase();
|
|
90
110
|
const canFreeSQL = isOperationAllowed(client.safety, OperationType.FreeSQL);
|
|
91
111
|
const canQuery = isOperationAllowed(client.safety, OperationType.Query);
|
|
112
|
+
if (packageFiltered && (canFreeSQL || canQuery))
|
|
113
|
+
return 'Interface-implementer enrichment was skipped: SEOMETAREL does not provide packages for filtering. Native results are retained.';
|
|
92
114
|
try {
|
|
93
115
|
let implementers = [];
|
|
94
116
|
if (canFreeSQL) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"where-used.js","sourceRoot":"","sources":["../../src/handlers/where-used.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtE,OAAO,EACL,sCAAsC,EACtC,cAAc,EACd,sBAAsB,GAGvB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,wBAAwB,EAAE,MAAM,oCAAoC,CAAC;AAC9E,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACrE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"where-used.js","sourceRoot":"","sources":["../../src/handlers/where-used.ts"],"names":[],"mappings":"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"}
|