arc-1 1.5.2 → 1.7.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 -16
- package/bin/arc1-source.js +83 -0
- package/dist/adt/accept-fallback.d.ts +4 -0
- package/dist/adt/accept-fallback.d.ts.map +1 -0
- package/dist/adt/accept-fallback.js +27 -0
- package/dist/adt/accept-fallback.js.map +1 -0
- package/dist/adt/api-release.d.ts +40 -0
- package/dist/adt/api-release.d.ts.map +1 -0
- package/dist/adt/api-release.js +224 -0
- package/dist/adt/api-release.js.map +1 -0
- 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/authorization-trace.d.ts.map +1 -1
- package/dist/adt/authorization-trace.js +2 -1
- package/dist/adt/authorization-trace.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 +12 -6
- package/dist/adt/client.d.ts.map +1 -1
- package/dist/adt/client.js +32 -49
- 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/ddic-xml.d.ts +5 -3
- package/dist/adt/ddic-xml.d.ts.map +1 -1
- package/dist/adt/ddic-xml.js +14 -0
- package/dist/adt/ddic-xml.js.map +1 -1
- package/dist/adt/devtools.d.ts +8 -1
- package/dist/adt/devtools.d.ts.map +1 -1
- package/dist/adt/devtools.js +94 -40
- 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 +10 -8
- package/dist/adt/diagnostics.js.map +1 -1
- package/dist/adt/enhancement-impl.d.ts +125 -0
- package/dist/adt/enhancement-impl.d.ts.map +1 -0
- package/dist/adt/enhancement-impl.js +408 -0
- package/dist/adt/enhancement-impl.js.map +1 -0
- package/dist/adt/enhancements.d.ts.map +1 -1
- package/dist/adt/enhancements.js +4 -2
- package/dist/adt/enhancements.js.map +1 -1
- package/dist/adt/enho-filter.d.ts +49 -0
- package/dist/adt/enho-filter.d.ts.map +1 -0
- package/dist/adt/enho-filter.js +229 -0
- package/dist/adt/enho-filter.js.map +1 -0
- package/dist/adt/errors.d.ts +5 -1
- package/dist/adt/errors.d.ts.map +1 -1
- package/dist/adt/errors.js +32 -8
- package/dist/adt/errors.js.map +1 -1
- package/dist/adt/features.d.ts +3 -9
- package/dist/adt/features.d.ts.map +1 -1
- package/dist/adt/features.js +24 -8
- package/dist/adt/features.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.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 +7 -20
- package/dist/adt/http.d.ts.map +1 -1
- package/dist/adt/http.js +112 -135
- 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/legacy-content-handler.d.ts +2 -0
- package/dist/adt/legacy-content-handler.d.ts.map +1 -1
- package/dist/adt/legacy-content-handler.js +13 -1
- package/dist/adt/legacy-content-handler.js.map +1 -1
- package/dist/adt/package-contents.d.ts +5 -0
- package/dist/adt/package-contents.d.ts.map +1 -1
- package/dist/adt/package-contents.js +31 -0
- package/dist/adt/package-contents.js.map +1 -1
- package/dist/adt/rap-generate.d.ts +2 -4
- package/dist/adt/rap-generate.d.ts.map +1 -1
- package/dist/adt/rap-generate.js +2 -4
- package/dist/adt/rap-generate.js.map +1 -1
- 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/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/server-driven.d.ts +12 -1
- package/dist/adt/server-driven.d.ts.map +1 -1
- package/dist/adt/server-driven.js +22 -4
- package/dist/adt/server-driven.js.map +1 -1
- 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-index.d.ts +23 -0
- package/dist/adt/table-index.d.ts.map +1 -0
- package/dist/adt/table-index.js +69 -0
- package/dist/adt/table-index.js.map +1 -0
- package/dist/adt/table-query.d.ts +4 -2
- package/dist/adt/table-query.d.ts.map +1 -1
- package/dist/adt/table-query.js +37 -10
- package/dist/adt/table-query.js.map +1 -1
- package/dist/adt/table-settings.d.ts +67 -0
- package/dist/adt/table-settings.d.ts.map +1 -0
- package/dist/adt/table-settings.js +207 -0
- package/dist/adt/table-settings.js.map +1 -0
- package/dist/adt/text-elements.d.ts +7 -1
- package/dist/adt/text-elements.d.ts.map +1 -1
- package/dist/adt/text-elements.js +67 -25
- package/dist/adt/text-elements.js.map +1 -1
- package/dist/adt/text-part-changes.d.ts +4 -0
- package/dist/adt/text-part-changes.d.ts.map +1 -0
- package/dist/adt/text-part-changes.js +43 -0
- package/dist/adt/text-part-changes.js.map +1 -0
- 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-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 +1 -1
- package/dist/adt/transport.d.ts.map +1 -1
- package/dist/adt/transport.js +4 -3
- package/dist/adt/transport.js.map +1 -1
- package/dist/adt/types.d.ts +10 -4
- 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 +6 -36
- package/dist/adt/xml-parser.d.ts.map +1 -1
- package/dist/adt/xml-parser.js +28 -235
- 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.js +4 -1
- 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/context/line-range.d.ts +6 -0
- package/dist/context/line-range.d.ts.map +1 -0
- package/dist/context/line-range.js +23 -0
- package/dist/context/line-range.js.map +1 -0
- 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 +69 -7
- package/dist/handlers/activate.js.map +1 -1
- package/dist/handlers/activation-results.d.ts.map +1 -1
- package/dist/handlers/activation-results.js +9 -1
- package/dist/handlers/activation-results.js.map +1 -1
- package/dist/handlers/api-release-fields.d.ts +23 -0
- package/dist/handlers/api-release-fields.d.ts.map +1 -0
- package/dist/handlers/api-release-fields.js +21 -0
- package/dist/handlers/api-release-fields.js.map +1 -0
- 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 +2 -2
- 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.map +1 -1
- package/dist/handlers/dispatch.js +54 -9
- 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/feature-cache.d.ts +11 -3
- package/dist/handlers/feature-cache.d.ts.map +1 -1
- package/dist/handlers/feature-cache.js +57 -3
- package/dist/handlers/feature-cache.js.map +1 -1
- 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 +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/manage.d.ts.map +1 -1
- package/dist/handlers/manage.js +7 -23
- package/dist/handlers/manage.js.map +1 -1
- 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 +31 -7
- 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 +119 -14
- package/dist/handlers/read.js.map +1 -1
- package/dist/handlers/schemas.d.ts +57 -4
- package/dist/handlers/schemas.d.ts.map +1 -1
- package/dist/handlers/schemas.js +140 -17
- package/dist/handlers/schemas.js.map +1 -1
- package/dist/handlers/search.d.ts.map +1 -1
- package/dist/handlers/search.js +10 -6
- package/dist/handlers/search.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/table-type-fields.d.ts +33 -0
- package/dist/handlers/table-type-fields.d.ts.map +1 -0
- package/dist/handlers/table-type-fields.js +22 -0
- package/dist/handlers/table-type-fields.js.map +1 -0
- package/dist/handlers/tool-descriptions.d.ts.map +1 -1
- package/dist/handlers/tool-descriptions.js +8 -3
- package/dist/handlers/tool-descriptions.js.map +1 -1
- package/dist/handlers/tool-registry.d.ts +5 -5
- package/dist/handlers/tool-registry.d.ts.map +1 -1
- package/dist/handlers/tool-registry.js +10 -7
- package/dist/handlers/tool-registry.js.map +1 -1
- package/dist/handlers/tools.d.ts +1 -1
- package/dist/handlers/tools.d.ts.map +1 -1
- package/dist/handlers/tools.js +99 -101
- 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 +69 -27
- package/dist/handlers/write/create.js.map +1 -1
- package/dist/handlers/write/rap.d.ts.map +1 -1
- package/dist/handlers/write/rap.js +2 -4
- package/dist/handlers/write/rap.js.map +1 -1
- package/dist/handlers/write/table-settings.d.ts +5 -0
- package/dist/handlers/write/table-settings.d.ts.map +1 -0
- package/dist/handlers/write/table-settings.js +27 -0
- package/dist/handlers/write/table-settings.js.map +1 -0
- package/dist/handlers/write/update-delete.d.ts +1 -1
- package/dist/handlers/write/update-delete.d.ts.map +1 -1
- package/dist/handlers/write/update-delete.js +32 -12
- package/dist/handlers/write/update-delete.js.map +1 -1
- package/dist/handlers/write-helpers.d.ts +4 -1
- package/dist/handlers/write-helpers.d.ts.map +1 -1
- package/dist/handlers/write-helpers.js +68 -8
- package/dist/handlers/write-helpers.js.map +1 -1
- package/dist/handlers/write.d.ts.map +1 -1
- package/dist/handlers/write.js +6 -10
- package/dist/handlers/write.js.map +1 -1
- package/dist/server/audit.d.ts +4 -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 +43 -2
- package/dist/server/config.js.map +1 -1
- package/dist/server/destination-discovery.d.ts +12 -2
- package/dist/server/destination-discovery.d.ts.map +1 -1
- package/dist/server/destination-discovery.js +33 -7
- package/dist/server/destination-discovery.js.map +1 -1
- package/dist/server/destination-registry.d.ts +10 -6
- package/dist/server/destination-registry.d.ts.map +1 -1
- package/dist/server/destination-registry.js +38 -15
- package/dist/server/destination-registry.js.map +1 -1
- package/dist/server/http-request-body.d.ts +4 -0
- package/dist/server/http-request-body.d.ts.map +1 -0
- package/dist/server/http-request-body.js +65 -0
- package/dist/server/http-request-body.js.map +1 -0
- package/dist/server/http.d.ts +5 -2
- package/dist/server/http.d.ts.map +1 -1
- package/dist/server/http.js +71 -9
- package/dist/server/http.js.map +1 -1
- package/dist/server/multi-target-authorization-audit.d.ts +5 -0
- package/dist/server/multi-target-authorization-audit.d.ts.map +1 -0
- package/dist/server/multi-target-authorization-audit.js +18 -0
- package/dist/server/multi-target-authorization-audit.js.map +1 -0
- package/dist/server/multi-target-authorization-startup.d.ts +8 -0
- package/dist/server/multi-target-authorization-startup.d.ts.map +1 -0
- package/dist/server/multi-target-authorization-startup.js +38 -0
- package/dist/server/multi-target-authorization-startup.js.map +1 -0
- package/dist/server/multi-target-authorization.d.ts +29 -0
- package/dist/server/multi-target-authorization.d.ts.map +1 -0
- package/dist/server/multi-target-authorization.js +97 -0
- package/dist/server/multi-target-authorization.js.map +1 -0
- package/dist/server/multi-target-bearer-auth.d.ts +5 -0
- package/dist/server/multi-target-bearer-auth.d.ts.map +1 -0
- package/dist/server/multi-target-bearer-auth.js +39 -0
- package/dist/server/multi-target-bearer-auth.js.map +1 -0
- package/dist/server/multi-target-catalog-enforced.d.ts +29 -0
- package/dist/server/multi-target-catalog-enforced.d.ts.map +1 -0
- package/dist/server/multi-target-catalog-enforced.js +142 -0
- package/dist/server/multi-target-catalog-enforced.js.map +1 -0
- package/dist/server/multi-target-catalog-projection.d.ts +7 -0
- package/dist/server/multi-target-catalog-projection.d.ts.map +1 -0
- package/dist/server/multi-target-catalog-projection.js +52 -0
- package/dist/server/multi-target-catalog-projection.js.map +1 -0
- package/dist/server/multi-target-feature-state.d.ts +0 -2
- package/dist/server/multi-target-feature-state.d.ts.map +1 -1
- package/dist/server/multi-target-feature-state.js +0 -19
- package/dist/server/multi-target-feature-state.js.map +1 -1
- package/dist/server/multi-target-identity.d.ts +3 -0
- package/dist/server/multi-target-identity.d.ts.map +1 -1
- package/dist/server/multi-target-identity.js +9 -0
- package/dist/server/multi-target-identity.js.map +1 -1
- package/dist/server/multi-target-request-projection.d.ts +14 -0
- package/dist/server/multi-target-request-projection.d.ts.map +1 -0
- package/dist/server/multi-target-request-projection.js +16 -0
- package/dist/server/multi-target-request-projection.js.map +1 -0
- package/dist/server/multi-target-runtime.d.ts.map +1 -1
- package/dist/server/multi-target-runtime.js +1 -0
- package/dist/server/multi-target-runtime.js.map +1 -1
- package/dist/server/multi-target-server.d.ts +4 -1
- package/dist/server/multi-target-server.d.ts.map +1 -1
- package/dist/server/multi-target-server.js +111 -11
- package/dist/server/multi-target-server.js.map +1 -1
- package/dist/server/multi-target-tools.d.ts +1 -1
- package/dist/server/multi-target-tools.d.ts.map +1 -1
- package/dist/server/multi-target-tools.js +22 -15
- package/dist/server/multi-target-tools.js.map +1 -1
- package/dist/server/private-mcp-response.d.ts +4 -0
- package/dist/server/private-mcp-response.d.ts.map +1 -0
- package/dist/server/private-mcp-response.js +14 -0
- package/dist/server/private-mcp-response.js.map +1 -0
- package/dist/server/server-cache.d.ts +5 -0
- package/dist/server/server-cache.d.ts.map +1 -0
- package/dist/server/server-cache.js +30 -0
- package/dist/server/server-cache.js.map +1 -0
- package/dist/server/server.d.ts +7 -21
- package/dist/server/server.d.ts.map +1 -1
- package/dist/server/server.js +60 -89
- package/dist/server/server.js.map +1 -1
- package/dist/server/sinks/btp-auditlog.d.ts.map +1 -1
- package/dist/server/sinks/btp-auditlog.js +4 -1
- package/dist/server/sinks/btp-auditlog.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 +4 -0
- package/dist/server/types.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +21 -13
package/dist/handlers/tools.js
CHANGED
|
@@ -3,12 +3,16 @@ import { ATC_BATCH_MAX_OBJECTS, ATC_BATCH_NAME_MAX_LENGTH, ATC_BATCH_NAME_PATTER
|
|
|
3
3
|
import { KTD_SHORT_TEXT_MAX_LENGTH } from '../adt/ddic-xml.js';
|
|
4
4
|
import { TEXT_ELEMENT_PARTS } from '../adt/text-elements.js';
|
|
5
5
|
import { MAX_GREP_PATTERN_LENGTH } from '../context/grep.js';
|
|
6
|
+
import { API_RELEASE_FIELDS } from './api-release-fields.js';
|
|
6
7
|
import * as DtelFields from './data-element-fields.js';
|
|
7
8
|
import { SAPDIAGNOSE_ADDITIONAL_INPUTS } from './diagnose-fields.js';
|
|
9
|
+
import { dumpFiltersJson } from './dump-filter-inputs.js';
|
|
8
10
|
import * as FuncProcessing from './function-processing.js';
|
|
9
11
|
import { getHyperfocusedToolDefinition } from './hyperfocused.js';
|
|
10
12
|
import { CLASS_WRITE_INCLUDES } from './object-types.js';
|
|
13
|
+
import { createQueryDefinition } from './query-tool.js';
|
|
11
14
|
import { addLiveRelationsDefinition } from './relation-tool.js';
|
|
15
|
+
import { TABLE_TYPE_BATCH_TOOL_PROPERTIES, TABLE_TYPE_DIMENSION_TOOL_PROPERTIES, TABLE_TYPE_TOOL_PROPERTIES, } from './table-type-fields.js';
|
|
12
16
|
import { SAPWRITE_DESC_BTP, SAPWRITE_DESC_ONPREM } from './tool-descriptions.js';
|
|
13
17
|
import { ATC_BATCH_TYPES_BTP, isGitToolVisible, SAPCONTEXT_TYPES_BTP, SAPCONTEXT_TYPES_ONPREM, SAPREAD_TYPES_BTP, SAPREAD_TYPES_ONPREM, SAPWRITE_TYPES_BTP, SAPWRITE_TYPES_ONPREM, } from './tool-registry.js';
|
|
14
18
|
import { BATCH_CREATE_MAX_OBJECTS } from './write/batch-results.js';
|
|
@@ -41,12 +45,12 @@ const TOOL_ANNOTATIONS = {
|
|
|
41
45
|
function isBtpMode(config) {
|
|
42
46
|
return config.systemType === 'btp';
|
|
43
47
|
}
|
|
44
|
-
const SAPREAD_DESC_ONPREM = 'Read SAP ABAP source, metadata
|
|
45
|
-
'
|
|
46
|
-
'
|
|
47
|
-
'
|
|
48
|
+
const SAPREAD_DESC_ONPREM = 'Read SAP ABAP source, metadata and syntax results. ' +
|
|
49
|
+
'For source purpose, explanations, specs, reviews or pre-change context, prefer SAPContext first. DDIC metadata: omit format (default text); structured is CLAS-only for ordinary reads. ' +
|
|
50
|
+
'TABLE_QUERY: multi-column filters, data preview required; CDS needs SAP_BASIS 752+. TABLE_CONTENTS: single-column filter. INACTIVE_OBJECTS: no name. TABL/DTT: technical settings. ' +
|
|
51
|
+
'SYNTAX: read-only SAP check (objectType+name, optional source for unsaved text). CLAS: method="*" for signatures, method="NAME" for one body, or grep. Global class declaration/implementation: MAIN (omit include). definitions/implementations contain local helpers.';
|
|
48
52
|
const SAPREAD_DESC_BTP = 'Read SAP ABAP source, metadata or syntax-check results (BTP ABAP Environment). For purpose, explanations, specs, reviews or pre-change context, prefer SAPContext first. DDIC metadata: omit format (default text); structured is CLAS-only for ordinary reads. ' +
|
|
49
|
-
'Types: CLAS, INTF, FUNC (released/custom only), FUGR (released/custom only), DDLS (primary data model on BTP), DCLS, DDLX, BDEF, SRVD, SRVB, SKTD/KTD (KTD aliases SKTD), TABL (custom tables AND structures — no separate STRU type), DOMA, DTEL, TABLE_CONTENTS (custom tables + released CDS only; standard tables blocked), TABLE_QUERY (multi-column WHERE on custom tables + released CDS; needs SAP_BASIS 752+), DEVC, SYSTEM, COMPONENTS, MSAG (custom only), BSP, BSP_DEPLOY, API_STATE (contract states C0-C4; objectType for non-class), INACTIVE_OBJECTS (no name; pending-activation list). PROG/INCL/VIEW/TRAN/TEXT_ELEMENTS/VARIANTS and VERSIONS/VERSION_SOURCE are not available on BTP (use CLAS with IF_OO_ADT_CLASSRUN for console apps, DDLS for data models). ' +
|
|
53
|
+
'Types: CLAS, INTF, FUNC (released/custom only), FUGR (released/custom only), DDLS (primary data model on BTP), DCLS, DDLX, BDEF, SRVD, SRVB, SKTD/KTD (KTD aliases SKTD), TABL (custom tables AND structures — no separate STRU type), TABL/DTT (technical settings), TTYP, DOMA, DTEL, TABLE_CONTENTS (custom tables + released CDS only; standard tables blocked), TABLE_QUERY (multi-column WHERE on custom tables + released CDS; needs SAP_BASIS 752+), DEVC, SYSTEM, COMPONENTS, MSAG (custom only), BSP, BSP_DEPLOY, API_STATE (contract states C0-C4; objectType for non-class), INACTIVE_OBJECTS (no name; pending-activation list), ENHO. PROG/INCL/VIEW/TRAN/TEXT_ELEMENTS/VARIANTS and VERSIONS/VERSION_SOURCE are not available on BTP (use CLAS with IF_OO_ADT_CLASSRUN for console apps, DDLS for data models). ' +
|
|
50
54
|
'SYNTAX: read-only SAP check (objectType+name, optional source for unsaved text). CLAS: method="*" for signatures, method="NAME" for one body, or grep. Global class declaration/implementation: MAIN (omit include). definitions/implementations contain local helpers. ' +
|
|
51
55
|
'grep: case-insensitive regex; returns matching lines, context and line numbers, with owning class/method for CLAS.';
|
|
52
56
|
// ─── SAPContext Types ───────────────────────────────────────────────
|
|
@@ -70,15 +74,6 @@ const SAPCONTEXT_DESC_BTP = 'Primary tool for understanding ABAP/CDS objects bef
|
|
|
70
74
|
'deps: target KTD when available + selected dependency contracts, derived from source (not SAP-native relationships or a complete inventory). Counts distinguish root candidates from recursive attempts. On BTP, CL_ABAP_*/IF_ABAP_* and custom Z/Y are included.\n' +
|
|
71
75
|
'structure (TABL only): the DDIC include/append tree.\n\n' +
|
|
72
76
|
'Full detail: docs_page SAPContext.';
|
|
73
|
-
// ─── SAPQuery ───────────────────────────────────────────────────────
|
|
74
|
-
const SAPQUERY_DIALECT_GUIDE = 'ADT freestyle ABAP SQL: one read-only SELECT. Use AS aliases, alias~field/alias~*, ASCENDING/DESCENDING, single-quoted literals (no @/:/? parameters), and maxRows (not TOP/LIMIT/OFFSET/FETCH). JOINs, GROUP BY, aggregates, UNION and subqueries work. CTEs, FULL JOIN, derived/window tables, INTERSECT/EXCEPT, comments, semicolons and schema prefixes do not. ARC-1 auto-chunks long literal IN-lists in plain projection SELECTs. ';
|
|
75
|
-
const SAPQUERY_DESC_ONPREM = 'Query SAP tables with ABAP SQL; returns columns + rows. For reverse-engineering metadata: DD02L, DD03L, TADIR, TFDIR, SWOTLV. Unknown tables get suggestions. ' +
|
|
76
|
-
SAPQUERY_DIALECT_GUIDE +
|
|
77
|
-
'For CDS consumers, do not scan DDDDLSRC/ACMDCLSRC/DDLXSRC_SRC; use SAPContext(action="impact", type="DDLS").';
|
|
78
|
-
const SAPQUERY_DESC_BTP = 'Query BTP ABAP Environment with ABAP SQL; returns columns + rows. ' +
|
|
79
|
-
SAPQUERY_DIALECT_GUIDE +
|
|
80
|
-
'BTP permits custom Z/Y tables and released CDS entities; standard tables are blocked. ' +
|
|
81
|
-
'Use released views such as I_LANGUAGE. Unknown tables get suggestions.';
|
|
82
77
|
// ─── SAPSearch ──────────────────────────────────────────────────────
|
|
83
78
|
const SAPSEARCH_DESC_ONPREM = 'Search for ABAP objects, exact object-directory entries, or source code. Modes:\n' +
|
|
84
79
|
'1. Object search (default): name pattern with wildcards (*); returns type, name, package, description, ADT URI.\n' +
|
|
@@ -306,8 +301,10 @@ export function getToolDefinitions(config, textSearchAvailable, resolvedFeatures
|
|
|
306
301
|
type: {
|
|
307
302
|
type: 'string',
|
|
308
303
|
enum: btp ? SAPREAD_TYPES_BTP : SAPREAD_TYPES_ONPREM,
|
|
309
|
-
description: '
|
|
310
|
-
(btp ? '
|
|
304
|
+
description: 'Repository or metadata type. TABL includes structures. KTD aliases SKTD; MESSAGES aliases MSAG. ' +
|
|
305
|
+
(btp ? '' : 'FTG2 aliases FEATURE_TOGGLE. ') +
|
|
306
|
+
'SYNTAX requires objectType+name. Server-driven: discovery-gated XML metadata, AFF JSON source; DTSC/DSFD/DTDC/DRTY use DDL text. ENQU: JSON. TABL/DTI: TABLE~INDEX, prefers pending JSON. ' +
|
|
307
|
+
'DESD external schema; EVTB/EVTO event binding/object; CSNM CSN model; COTA communication target; DTSC/DTDC static/dynamic cache; DSFD scalar function; UIAD launchpad descriptor; DRTY CDS type; APLO log object; SAJC/SAJT job catalog/template.',
|
|
311
308
|
},
|
|
312
309
|
name: { type: 'string', description: 'Object name (e.g., ZTEST_PROGRAM, ZCL_ORDER, MARA)' },
|
|
313
310
|
action: {
|
|
@@ -325,17 +322,16 @@ export function getToolDefinitions(config, textSearchAvailable, resolvedFeatures
|
|
|
325
322
|
},
|
|
326
323
|
fromLabel: {
|
|
327
324
|
type: 'string',
|
|
328
|
-
description: '
|
|
325
|
+
description: 'Diff OLD-side display label; does not change source resolution.',
|
|
329
326
|
},
|
|
330
327
|
toLabel: {
|
|
331
328
|
type: 'string',
|
|
332
|
-
description: '
|
|
329
|
+
description: 'Diff NEW-side display label; does not change source resolution.',
|
|
333
330
|
},
|
|
334
331
|
include: {
|
|
335
332
|
type: 'string',
|
|
336
|
-
description: 'CLAS: omit include or use main for
|
|
337
|
-
'
|
|
338
|
-
'For VERSIONS (CLAS): include selects the class include history to query (main, definitions, implementations, macros, testclasses). BSP: case-sensitive path; name may also be APP/path.' +
|
|
333
|
+
description: 'TABL: indexes. CLAS: omit include or use main for global class; definitions/implementations are local helpers; macros/testclasses as named. Explicit include wins over method routing. ' +
|
|
334
|
+
'DDLS: elements returns field catalog (keys, aliases, associations, types). VERSIONS CLAS: selects include history. BSP: case-sensitive path; name also accepts APP/path.' +
|
|
339
335
|
// TEXT_ELEMENTS does not exist on BTP — keep the BTP surface byte-identical.
|
|
340
336
|
(btp ? '' : ' TEXT_ELEMENTS: symbols|selections|headings; omit for pool (CLAS: symbols).'),
|
|
341
337
|
},
|
|
@@ -352,18 +348,29 @@ export function getToolDefinitions(config, textSearchAvailable, resolvedFeatures
|
|
|
352
348
|
grep: {
|
|
353
349
|
type: 'string',
|
|
354
350
|
maxLength: MAX_GREP_PATTERN_LENGTH,
|
|
355
|
-
description: '
|
|
356
|
-
'For CLAS, matches are annotated with the owning class/method; combine with include= to scope a section, but do NOT combine with method= (use grep to find, then method= to read). ' +
|
|
351
|
+
description: 'Case-insensitive source regex: matching lines, 1-based numbers and ±3 context; invalid regex becomes literal. CLAS adds owning class/method; include scopes a section. Never combine with method. ' +
|
|
357
352
|
'Works for source-bearing types (CLAS, INTF, DDLS, DCLS, BDEF, SRVD, SRVB, SKTD/KTD, DDLX, TABL' +
|
|
358
353
|
(btp ? '' : ', PROG, FUNC, FUGR, INCL, VIEW') +
|
|
359
|
-
').
|
|
354
|
+
').',
|
|
355
|
+
},
|
|
356
|
+
lineStart: {
|
|
357
|
+
type: 'integer',
|
|
358
|
+
minimum: 1,
|
|
359
|
+
description: 'First source line (1-based, inclusive); requires lineEnd. Text reads only: CLAS, INTF, DDLS, DCLS, BDEF, SRVD, DDLX, TABL' +
|
|
360
|
+
(btp ? '' : ', PROG, FUNC, INCL') +
|
|
361
|
+
'. Supports CLAS include; incompatible with grep, method, diff, structured/editable output and signature/element extraction.',
|
|
362
|
+
},
|
|
363
|
+
lineEnd: {
|
|
364
|
+
type: 'integer',
|
|
365
|
+
minimum: 1,
|
|
366
|
+
description: 'Last source line (inclusive); requires lineStart. Clamped to the source end; a start beyond the source is an error.',
|
|
360
367
|
},
|
|
361
368
|
...(btp
|
|
362
369
|
? {}
|
|
363
370
|
: {
|
|
364
371
|
expand_includes: {
|
|
365
372
|
type: 'boolean',
|
|
366
|
-
description: '
|
|
373
|
+
description: 'PROG/INCL/FUGR: add nested includes as "=== name ===" blocks; bounded, a closing note reports omissions. With grep: search all (FUGR: implied). No dynpros.',
|
|
367
374
|
},
|
|
368
375
|
}),
|
|
369
376
|
format: {
|
|
@@ -378,7 +385,7 @@ export function getToolDefinitions(config, textSearchAvailable, resolvedFeatures
|
|
|
378
385
|
},
|
|
379
386
|
includeSignature: {
|
|
380
387
|
type: 'boolean',
|
|
381
|
-
description: '
|
|
388
|
+
description: 'FUNC: JSON {source,signature,processingType?,updateTaskKind?}. Signature and descriptions come from source. Default false: raw source.',
|
|
382
389
|
},
|
|
383
390
|
force_refresh: {
|
|
384
391
|
type: 'boolean',
|
|
@@ -417,8 +424,8 @@ export function getToolDefinitions(config, textSearchAvailable, resolvedFeatures
|
|
|
417
424
|
where: {
|
|
418
425
|
type: 'array',
|
|
419
426
|
description: 'For TABLE_QUERY: structured WHERE conditions, ANDed together. Each item: {field, op, value?}. ' +
|
|
420
|
-
'Ops: =, <>, <, <=, >, >=, LIKE, NOT LIKE, IN, NOT IN, IS NULL, IS NOT NULL;
|
|
421
|
-
'
|
|
427
|
+
'Ops: =, <>, <, <=, >, >=, LIKE, NOT LIKE, IN, NOT IN, IS NULL, IS NOT NULL; STARTS_WITH: literal prefix. Use <>; 758 rejects !=. ' +
|
|
428
|
+
'IN/NOT IN: bare comma-separated values, e.g. "261,262". ARC-1 quotes/escapes them; no subqueries. ' +
|
|
422
429
|
'Example: [{"field":"MATNR","op":"=","value":"300006888"},{"field":"BUDAT_MKPF","op":">=","value":"20250101"}].',
|
|
423
430
|
items: {
|
|
424
431
|
type: 'object',
|
|
@@ -468,9 +475,7 @@ export function getToolDefinitions(config, textSearchAvailable, resolvedFeatures
|
|
|
468
475
|
'batch_create',
|
|
469
476
|
'scaffold_rap_handlers',
|
|
470
477
|
'generate_behavior_implementation',
|
|
471
|
-
|
|
472
|
-
// of the BTP action enum so the zod↔json-schema parity check stays green.
|
|
473
|
-
...(btp ? [] : ['edit_text_symbols']),
|
|
478
|
+
'edit_text_symbols',
|
|
474
479
|
],
|
|
475
480
|
// This is where an LLM decides WHICH action to use, so every action gets a line —
|
|
476
481
|
// especially the destructive and refusing ones, whose behaviour is not guessable.
|
|
@@ -485,20 +490,20 @@ export function getToolDefinitions(config, textSearchAvailable, resolvedFeatures
|
|
|
485
490
|
'delete_method is destructive — it discards the body, so to re-section a method use change_method_visibility, never delete+add. ' +
|
|
486
491
|
'scaffold_rap_handlers / generate_behavior_implementation: derive behavior-pool handlers from a BDEF (the latter is the equivalent of Eclipse\'s "Generate Behavior Implementation").' +
|
|
487
492
|
(btp
|
|
488
|
-
? ''
|
|
493
|
+
? ' edit_text_symbols: replace CLAS symbols (@MaxLength:NN\\nNNN=text; blank-line separated). Read first with SAPRead CLAS include=text_symbols; source="" clears the pool. Activates texts only.'
|
|
489
494
|
: ' edit_text_symbols: replace a CLAS/PROG/FUGR textpool part; read first, retain other entries. source="" clears it.'),
|
|
490
495
|
},
|
|
491
496
|
type: {
|
|
492
497
|
type: 'string',
|
|
493
498
|
enum: btp ? SAPWRITE_TYPES_BTP : SAPWRITE_TYPES_ONPREM,
|
|
494
499
|
description: btp
|
|
495
|
-
? 'Object type
|
|
500
|
+
? 'Object type. Class-section surgery actions require type=CLAS. UIAD: checks AFF JSON; create honors header.abapLanguageVersion. Manual cloudDevelopment items are editable; generated items may be read-only.'
|
|
496
501
|
: 'Object type (for create/update/delete/edit_method/edit_unit/add_unit/edit_class_definition/add_method/edit_method_signature/delete_method/change_method_visibility). Supported on-prem: PROG, CLAS, INTF, FUNC, FUGR, INCL, DDLS, DCLS, DDLX, BDEF, SRVD, SRVB, SKTD or KTD (Knowledge Transfer Documents), TABL, TABL/DT, TABL/DS, DOMA, DTEL, MSAG. Class-section surgery actions require CLAS. UIAD: validates AFF JSON and saves active; create honors header.abapLanguageVersion. Manual cloudDevelopment items are editable; generated items can be read-only.',
|
|
497
502
|
},
|
|
498
503
|
name: {
|
|
499
504
|
type: 'string',
|
|
500
505
|
description: btp
|
|
501
|
-
? 'Object name
|
|
506
|
+
? 'Object name.'
|
|
502
507
|
: 'Object name (for create/update/delete/edit_method/edit_unit/add_unit/edit_class_definition/add_method/edit_method_signature/delete_method/change_method_visibility).',
|
|
503
508
|
},
|
|
504
509
|
expectedSourceHash: {
|
|
@@ -517,7 +522,7 @@ export function getToolDefinitions(config, textSearchAvailable, resolvedFeatures
|
|
|
517
522
|
description: 'CLAS-ONLY. Do NOT send unless type=CLAS AND action is update / edit_method / edit_class_definition. OMIT it entirely for every other type and for delete / batch_create / add_method / edit_method_signature / delete_method / change_method_visibility (those use /source/main). Targets a class-local include: definitions (CCDEF), implementations (CCIMP), macros, testclasses. edit_method auto-detects it from the method specifier (lhc_*/lcl_* → implementations, ltc_* → testclasses), so you rarely pass it; use include=testclasses to create a new local test class. Whole-include writes auto-create a missing include and produce an inactive draft (read with SAPRead version="inactive" before activation).',
|
|
518
523
|
},
|
|
519
524
|
...(btp
|
|
520
|
-
? {}
|
|
525
|
+
? { textPart: { type: 'string', enum: ['symbols'] } }
|
|
521
526
|
: {
|
|
522
527
|
textPart: {
|
|
523
528
|
type: 'string',
|
|
@@ -588,15 +593,8 @@ export function getToolDefinitions(config, textSearchAvailable, resolvedFeatures
|
|
|
588
593
|
},
|
|
589
594
|
...(btp ? {} : FuncProcessing.FUNCTION_PROCESSING_TOOL_PROPERTIES),
|
|
590
595
|
dataType: { type: 'string', description: 'DOMA/DTEL: ABAP data type (e.g., CHAR, NUMC, DEC)' },
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
description: 'TTYP create: the row type — a built-in ABAP type (STRING, I, …) or a DDIC structure/type name. Required for TTYP create.',
|
|
594
|
-
},
|
|
595
|
-
rowTypeKind: {
|
|
596
|
-
type: 'string',
|
|
597
|
-
enum: ['builtin', 'structure'],
|
|
598
|
-
description: 'TTYP create: row-type mode (auto-detected from rowType if omitted).',
|
|
599
|
-
},
|
|
596
|
+
...TABLE_TYPE_TOOL_PROPERTIES,
|
|
597
|
+
...TABLE_TYPE_DIMENSION_TOOL_PROPERTIES,
|
|
600
598
|
length: { type: 'number', description: 'DOMA/DTEL: data type length' },
|
|
601
599
|
decimals: { type: 'number', description: 'DOMA/DTEL: decimal places' },
|
|
602
600
|
outputLength: { type: 'number', description: 'DOMA: output length' },
|
|
@@ -648,19 +646,25 @@ export function getToolDefinitions(config, textSearchAvailable, resolvedFeatures
|
|
|
648
646
|
},
|
|
649
647
|
parameters: {
|
|
650
648
|
type: 'array',
|
|
651
|
-
description: 'FUNC:
|
|
649
|
+
description: 'FUNC: replace the source signature with these parameters; preserve the body. Omit to PUT source verbatim.',
|
|
652
650
|
items: {
|
|
653
651
|
type: 'object',
|
|
654
652
|
properties: {
|
|
655
653
|
kind: {
|
|
656
654
|
type: 'string',
|
|
657
655
|
enum: ['importing', 'exporting', 'changing', 'tables', 'exceptions', 'raising'],
|
|
658
|
-
description: '
|
|
656
|
+
description: 'EXCEPTIONS/RAISING need only name; other kinds need type.',
|
|
659
657
|
},
|
|
660
658
|
name: { type: 'string', description: 'Parameter / exception name (uppercased on emit).' },
|
|
659
|
+
description: {
|
|
660
|
+
type: 'string',
|
|
661
|
+
minLength: 1,
|
|
662
|
+
maxLength: 60,
|
|
663
|
+
description: 'Importing/exporting/changing/tables short text: 1–60 printable characters in the original language; omit to preserve.',
|
|
664
|
+
},
|
|
661
665
|
type: {
|
|
662
666
|
type: 'string',
|
|
663
|
-
description: 'ABAP type
|
|
667
|
+
description: 'ABAP type, e.g. STRING, I, BAPIRET2. TABLES includes TYPE/LIKE, e.g. TYPE STANDARD TABLE OF X or LIKE DOKHL-OBJECT. Ignored for exceptions/raising.',
|
|
664
668
|
},
|
|
665
669
|
byValue: {
|
|
666
670
|
type: 'boolean',
|
|
@@ -668,7 +672,7 @@ export function getToolDefinitions(config, textSearchAvailable, resolvedFeatures
|
|
|
668
672
|
},
|
|
669
673
|
default: {
|
|
670
674
|
type: 'string',
|
|
671
|
-
description: 'Raw ABAP literal
|
|
675
|
+
description: 'Raw ABAP literal for IMPORTING/CHANGING, e.g. "\'X\'", "0", "SPACE".',
|
|
672
676
|
},
|
|
673
677
|
optional: { type: 'boolean', description: 'Emit `OPTIONAL` keyword.' },
|
|
674
678
|
},
|
|
@@ -713,7 +717,7 @@ export function getToolDefinitions(config, textSearchAvailable, resolvedFeatures
|
|
|
713
717
|
},
|
|
714
718
|
refObjectDescription: {
|
|
715
719
|
type: 'string',
|
|
716
|
-
description: 'SKTD/KTD create: parent description;
|
|
720
|
+
description: 'SKTD/KTD create: optional parent description; blank values are omitted.',
|
|
717
721
|
},
|
|
718
722
|
shortTexts: {
|
|
719
723
|
type: 'array',
|
|
@@ -735,8 +739,8 @@ export function getToolDefinitions(config, textSearchAvailable, resolvedFeatures
|
|
|
735
739
|
properties: {
|
|
736
740
|
type: {
|
|
737
741
|
type: 'string',
|
|
738
|
-
enum: btp ? SAPWRITE_TYPES_BTP : SAPWRITE_TYPES_ONPREM,
|
|
739
|
-
description: '
|
|
742
|
+
enum: (btp ? SAPWRITE_TYPES_BTP : SAPWRITE_TYPES_ONPREM).filter((type) => type !== 'TABL/DTT'),
|
|
743
|
+
description: 'Creatable object type; technical settings TABL/DTT are update-only',
|
|
740
744
|
},
|
|
741
745
|
name: { type: 'string', description: 'Object name' },
|
|
742
746
|
source: { type: 'string', description: 'ABAP source code (optional — some objects have no source)' },
|
|
@@ -753,8 +757,8 @@ export function getToolDefinitions(config, textSearchAvailable, resolvedFeatures
|
|
|
753
757
|
// DDIC metadata fields (DOMA/DTEL/TTYP/MSAG/SRVB) mirror the top-level SAPWrite
|
|
754
758
|
// params 1:1 — descriptions omitted here to keep the tools/list payload small (#520).
|
|
755
759
|
dataType: { type: 'string' },
|
|
756
|
-
|
|
757
|
-
|
|
760
|
+
...TABLE_TYPE_BATCH_TOOL_PROPERTIES,
|
|
761
|
+
...TABLE_TYPE_DIMENSION_TOOL_PROPERTIES,
|
|
758
762
|
length: { type: 'number' },
|
|
759
763
|
decimals: { type: 'number' },
|
|
760
764
|
outputLength: { type: 'number' },
|
|
@@ -864,8 +868,8 @@ export function getToolDefinitions(config, textSearchAvailable, resolvedFeatures
|
|
|
864
868
|
tools.push({
|
|
865
869
|
name: 'SAPNavigate',
|
|
866
870
|
description: btp
|
|
867
|
-
? 'Navigate code (BTP ABAP Environment): definitions, references, completion, hierarchy. references:
|
|
868
|
-
: 'Navigate code: definitions, references, completion, hierarchy. references:
|
|
871
|
+
? 'Navigate code (BTP ABAP Environment): definitions, references, completion, hierarchy. references: where-used objects by default; detail=positions/snippets adds bounded native usages; objectType filters results (e.g. CLAS/OC); type+name replaces uri. Scope = released SAP + custom Z/Y. hierarchy queries SEOMETAREL: requires data/SQL opt-in + matching scope; otherwise inspect class MAIN with SAPRead. CDS (DDLS) impact: SAPContext(action="impact") classifies where-used into RAP buckets.'
|
|
872
|
+
: 'Navigate code: definitions, references, completion, hierarchy. references: where-used objects by default; detail=positions/snippets adds bounded native usages; objectType filters results (e.g. CLAS/OC, PROG/P); type+name replaces uri. hierarchy queries SEOMETAREL for superclass/interfaces/direct subclasses: requires data/SQL opt-in + matching scope; otherwise inspect class MAIN with SAPRead. CDS (DDLS) impact: SAPContext(action="impact") classifies where-used into RAP buckets.',
|
|
869
873
|
inputSchema: {
|
|
870
874
|
type: 'object',
|
|
871
875
|
properties: {
|
|
@@ -887,6 +891,18 @@ export function getToolDefinitions(config, textSearchAvailable, resolvedFeatures
|
|
|
887
891
|
type: 'string',
|
|
888
892
|
description: 'references RESULT filter, not the root type: CLAS/OC, PROG/P, FUGR/FF. Omit for all consumer types. A bare prefix ("CLAS") matches every subtype.',
|
|
889
893
|
},
|
|
894
|
+
packages: {
|
|
895
|
+
type: 'array',
|
|
896
|
+
minItems: 1,
|
|
897
|
+
maxItems: 20,
|
|
898
|
+
items: { type: 'string', maxLength: 30 },
|
|
899
|
+
description: 'references: exact package names (e.g. ["$TMP"]); no wildcards or implicit subpackages. Native scope when available, otherwise local filtering.',
|
|
900
|
+
},
|
|
901
|
+
detail: {
|
|
902
|
+
type: 'string',
|
|
903
|
+
enum: ['objects', 'positions', 'snippets'],
|
|
904
|
+
description: 'references: objects (default), or expand at most 10 native nodes for positions/snippets. Method positions can be component-relative; inspect usageDetails limits.',
|
|
905
|
+
},
|
|
890
906
|
maxResults: {
|
|
891
907
|
type: 'number',
|
|
892
908
|
description: 'references: max entries (default 100, max 1000). "total" counts every match of the filter.',
|
|
@@ -900,24 +916,9 @@ export function getToolDefinitions(config, textSearchAvailable, resolvedFeatures
|
|
|
900
916
|
});
|
|
901
917
|
const navigation = tools.find((tool) => tool.name === 'SAPNavigate');
|
|
902
918
|
addLiveRelationsDefinition(navigation, config, options.discoveryMap ?? resolvedFeatures?.discoveryMap);
|
|
903
|
-
|
|
904
|
-
if (
|
|
905
|
-
tools.push(
|
|
906
|
-
name: 'SAPQuery',
|
|
907
|
-
description: btp ? SAPQUERY_DESC_BTP : SAPQUERY_DESC_ONPREM,
|
|
908
|
-
inputSchema: {
|
|
909
|
-
type: 'object',
|
|
910
|
-
properties: {
|
|
911
|
-
sql: { type: 'string', description: 'ABAP SQL SELECT statement' },
|
|
912
|
-
maxRows: {
|
|
913
|
-
type: 'number',
|
|
914
|
-
description: 'Rows (default 100, max 10,000; byte limit may apply sooner).',
|
|
915
|
-
},
|
|
916
|
-
},
|
|
917
|
-
required: ['sql'],
|
|
918
|
-
},
|
|
919
|
-
});
|
|
920
|
-
}
|
|
919
|
+
const query = createQueryDefinition(config, resolvedFeatures);
|
|
920
|
+
if (query)
|
|
921
|
+
tools.push(query);
|
|
921
922
|
tools.push({
|
|
922
923
|
name: 'SAPLint',
|
|
923
924
|
description: 'Run local abaplint rules on ABAP/CDS source (auto-selects cloud or on-prem rules by system type). Actions:\n' +
|
|
@@ -958,26 +959,27 @@ export function getToolDefinitions(config, textSearchAvailable, resolvedFeatures
|
|
|
958
959
|
},
|
|
959
960
|
}, {
|
|
960
961
|
name: 'SAPDiagnose',
|
|
961
|
-
description: 'ABAP diagnostics
|
|
962
|
-
'- "syntax":
|
|
962
|
+
description: 'ABAP diagnostics:\n' +
|
|
963
|
+
'- "syntax": check objects[] (CLAS/INTF/PROG/DDLS; version active/inactive). Single: prefer SAPRead SYNTAX.\n' +
|
|
963
964
|
'- "unittest": harmless ABAP Unit for CLAS/PROG/FUGR or DEVC (exact; includeSubpackages recurses).\n' +
|
|
964
965
|
'- "unittest_ci": harmless package tests with source reconciliation; empty/incomplete runs fail.\n' +
|
|
965
|
-
'- "atc":
|
|
966
|
+
'- "atc": ATC (name+type or objects [{type,name}], max 20). Omit variant for system default; unknown variant errors. "atc_variants": read variants/default, optional variant name filter.\n' +
|
|
966
967
|
'- "atc_ci": package ATC CI; requires available API and verified selection.\n' +
|
|
967
|
-
'- "cds_testcases":
|
|
968
|
-
'- "object_state": active/inactive ETags
|
|
969
|
-
'- "quickfix": proposals
|
|
970
|
-
'- "apply_quickfix":
|
|
971
|
-
'- "dumps":
|
|
968
|
+
'- "cds_testcases": read suggested CDS Unit tests (name; SAP_BASIS 8.16+).\n' +
|
|
969
|
+
'- "object_state": active/inactive ETags/hashes/divergence (name+type; CLAS includes). No server-driven types.\n' +
|
|
970
|
+
'- "quickfix": proposals: name+type+source+line; optional column/sourceUri.\n' +
|
|
971
|
+
'- "apply_quickfix": text deltas, no save; quickfix inputs + proposalUri/proposalUserContent.\n' +
|
|
972
|
+
'- "dumps": ST22, newest: user/from/to/maxResults/filters; id=detail.\n' +
|
|
973
|
+
'- "feed_schema": optional dump filters; action only.\n' +
|
|
972
974
|
'- "traces": list profiler traces; id+analysis analyzes one.\n' +
|
|
973
|
-
'- "trace_start": arm
|
|
974
|
-
'- "trace_requests": list armed
|
|
975
|
+
'- "trace_start": arm NEXT matching execution (write; defaults HTTP, SQL on); reproduce, then read "traces".\n' +
|
|
976
|
+
'- "trace_requests": list armed traces. "trace_cancel": cancel by id (write).\n' +
|
|
975
977
|
'- "system_messages": list SM02 messages. "gateway_errors": list /IWFND/ERROR_LOG (on-prem; detailUrl or id+errorType for detail).\n' +
|
|
976
|
-
'- "odata_perf":
|
|
977
|
-
'- "authorization_trace": read
|
|
978
|
-
'- "cds_sql":
|
|
978
|
+
'- "odata_perf": read OData timing (url: host-relative; DB/ABAP/framework/auth); needs allowDataPreview.\n' +
|
|
979
|
+
'- "authorization_trace": read STUSERTRACE/SUAUTHVALTRC (on-prem; needs SAP_ALLOW_DATA_PREVIEW).\n' +
|
|
980
|
+
'- "cds_sql": read CDS native SQL (name).\n' +
|
|
979
981
|
'- "sql_trace_state" / "set_sql_trace_state" (sqlOn; needs SAP_ALLOW_WRITES) / "sql_trace_directory": ST05 SQL-trace control.\n' +
|
|
980
|
-
'Quickfix
|
|
982
|
+
'Quickfix: syntax/ATC → quickfix → apply_quickfix → SAPWrite.',
|
|
981
983
|
inputSchema: {
|
|
982
984
|
type: 'object',
|
|
983
985
|
properties: {
|
|
@@ -992,6 +994,7 @@ export function getToolDefinitions(config, textSearchAvailable, resolvedFeatures
|
|
|
992
994
|
'atc_variants',
|
|
993
995
|
'cds_testcases',
|
|
994
996
|
'dumps',
|
|
997
|
+
'feed_schema',
|
|
995
998
|
'traces',
|
|
996
999
|
'trace_start',
|
|
997
1000
|
'trace_requests',
|
|
@@ -1025,7 +1028,7 @@ export function getToolDefinitions(config, textSearchAvailable, resolvedFeatures
|
|
|
1025
1028
|
type: 'array',
|
|
1026
1029
|
minItems: 1,
|
|
1027
1030
|
maxItems: ATC_BATCH_MAX_OBJECTS,
|
|
1028
|
-
description: 'ATC
|
|
1031
|
+
description: 'ATC/syntax list instead of name/type/url. ATC may verify once. Missing reports stay incomplete. No packages.',
|
|
1029
1032
|
items: {
|
|
1030
1033
|
type: 'object',
|
|
1031
1034
|
required: ['type', 'name'],
|
|
@@ -1087,7 +1090,7 @@ export function getToolDefinitions(config, textSearchAvailable, resolvedFeatures
|
|
|
1087
1090
|
},
|
|
1088
1091
|
id: {
|
|
1089
1092
|
type: 'string',
|
|
1090
|
-
description: '
|
|
1093
|
+
description: 'dumps/traces: omit to list, supply for detail. trace_cancel: request ID.',
|
|
1091
1094
|
},
|
|
1092
1095
|
detailUrl: {
|
|
1093
1096
|
type: 'string',
|
|
@@ -1098,6 +1101,10 @@ export function getToolDefinitions(config, textSearchAvailable, resolvedFeatures
|
|
|
1098
1101
|
description: 'gateway_errors: required with id instead of detailUrl, e.g. "Frontend Error".',
|
|
1099
1102
|
},
|
|
1100
1103
|
user: { type: 'string', description: 'SAP-user filter for dumps, feeds, or authorization_trace.' },
|
|
1104
|
+
filters: {
|
|
1105
|
+
...dumpFiltersJson,
|
|
1106
|
+
description: 'AND ≤8 incl. user: [{attribute:"runtimeError",operator:"equals",values:["MESSAGE_TYPE_X"]}].',
|
|
1107
|
+
},
|
|
1101
1108
|
authObject: { type: 'string', description: 'Authorization object filter, e.g. S_TCODE.' },
|
|
1102
1109
|
from: {
|
|
1103
1110
|
type: 'string',
|
|
@@ -1314,16 +1321,7 @@ export function getToolDefinitions(config, textSearchAvailable, resolvedFeatures
|
|
|
1314
1321
|
type: 'string',
|
|
1315
1322
|
description: 'ADT object type (e.g., CLAS/OC, DDLS/DF, PROG/P). Required for change_package. For set_api_state: object type of "name" when objectUri is omitted (e.g. CLAS, INTF, DDLS, TABL).',
|
|
1316
1323
|
},
|
|
1317
|
-
|
|
1318
|
-
type: 'string',
|
|
1319
|
-
enum: ['RELEASED', 'NOT_RELEASED'],
|
|
1320
|
-
description: 'For set_api_state: target state of the object\'s API release contract — RELEASED (mark released for ABAP Cloud / Clean Core) or NOT_RELEASED (revoke). Default RELEASED. Visibility (ABAP Cloud / Key User Apps) follows the contract\'s defaults. Read the current state first with SAPRead(type="API_STATE").',
|
|
1321
|
-
},
|
|
1322
|
-
contract: {
|
|
1323
|
-
type: 'string',
|
|
1324
|
-
enum: ['C0', 'C1', 'C2', 'C3', 'C4'],
|
|
1325
|
-
description: 'For set_api_state: which release contract to set. Default C1 (Key-User/Cloud — the common clean-core contract). Object types support different contracts: e.g. service definitions (SRVD) only support C0, classic DDIC views only C3, behavior definitions and tables support C0+C1. If the object does not support the chosen contract, the error lists the ones it does.',
|
|
1326
|
-
},
|
|
1324
|
+
...API_RELEASE_FIELDS,
|
|
1327
1325
|
objectName: {
|
|
1328
1326
|
type: 'string',
|
|
1329
1327
|
description: 'Object name to move (e.g., ZCL_MY_CLASS). Required for change_package.',
|
|
@@ -1391,7 +1389,7 @@ export function getToolDefinitions(config, textSearchAvailable, resolvedFeatures
|
|
|
1391
1389
|
enum: sapTransportActions,
|
|
1392
1390
|
description: "list: show transports (defaults to current user, modifiable only). Pass summary=true for a headers-only overview that omits each transport's object lists (keeps an objectCount) — far cheaper when many transports are open. " +
|
|
1393
1391
|
'get: fetch transport details including tasks and objects. ' +
|
|
1394
|
-
'diff:
|
|
1392
|
+
'diff: source review. Released requests need attributed snapshots; open requests use active source, never drafts. baselineStatus: prior-revision=attributed pair; prior-revision-unverified=unattributed candidate; no-prior-snapshot=missing history, NOT creation; baseline-ambiguous=uncertain predecessor; baseline-unavailable=no comparison, NOT unchanged. Non-source gaps are explicit. Follow nextOffset; pages are not snapshots. ' +
|
|
1395
1393
|
'create: create a new transport request (description required). To target another system, pass target=<system | system.client | /group/> (the Transportziel / TR_TARGET, e.g. "/TRG/" or "C11"; the group and system.client forms require extended transport control to be active). Otherwise omit target and pass an optional package to let SAP infer the route (defaults to $TMP). The response reports the resolved transport target; an empty target means a LOCAL request (cannot be transported onward). ' +
|
|
1396
1394
|
'release: release a single transport or task. ' +
|
|
1397
1395
|
'delete: delete a transport (use recursive=true to delete tasks first; removeLockedObjects=true to strip locked objects that otherwise block deletion with "...contains locked objects"). ' +
|
|
@@ -1456,7 +1454,7 @@ export function getToolDefinitions(config, textSearchAvailable, resolvedFeatures
|
|
|
1456
1454
|
},
|
|
1457
1455
|
summary: {
|
|
1458
1456
|
type: 'boolean',
|
|
1459
|
-
description: 'For list
|
|
1457
|
+
description: 'diff: true omits hunks, retaining counts and evidence (same SAP reads). For list, DEFAULT true: headers-only — drops each transport\'s (and task\'s) object lists, keeping id/description/owner/status/target + objectCount; use action="get" for one in full. Pass false for full object lists (~5x larger).',
|
|
1460
1458
|
},
|
|
1461
1459
|
maxResults: {
|
|
1462
1460
|
type: 'number',
|