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
|
@@ -19,9 +19,14 @@
|
|
|
19
19
|
* `selectionMethod` and `baselineStatus` ride the result so a reviewer can tell exact
|
|
20
20
|
* evidence from a fallback guess; SAP's tool reports neither.
|
|
21
21
|
*/
|
|
22
|
+
import { getCurrentContext } from '../server/context.js';
|
|
22
23
|
import { CLASS_REVISION_INCLUDES, REVISION_TYPES } from './client.js';
|
|
23
|
-
import { AdtApiError, isNotFoundError } from './errors.js';
|
|
24
|
+
import { AdtApiError, AdtNetworkError, AdtResponseLimitError, isNotFoundError } from './errors.js';
|
|
25
|
+
import { throwIfRequestCancelled } from './http-deadline.js';
|
|
26
|
+
import { AdtRequestBudgetError } from './request-attempt-budget.js';
|
|
27
|
+
import { RevisionHistoryError } from './revision-feed.js';
|
|
24
28
|
import { unifiedDiff } from './source-diff.js';
|
|
29
|
+
import { ReviewBudget } from './transport-review-budget.js';
|
|
25
30
|
/**
|
|
26
31
|
* Error text for a result NOTE (not a thrown error).
|
|
27
32
|
*
|
|
@@ -30,16 +35,39 @@ import { unifiedDiff } from './source-diff.js';
|
|
|
30
35
|
* the status code alone is enough for a reviewer to see that something failed.
|
|
31
36
|
*/
|
|
32
37
|
function describeError(err, minimalErrors) {
|
|
38
|
+
// Explain the cause, not the budget state: SAP may fail on the last allowed read.
|
|
39
|
+
if (err instanceof AdtApiError)
|
|
40
|
+
return minimalErrors ? `SAP request failed (status ${err.statusCode})` : err.message;
|
|
41
|
+
if (err instanceof AdtResponseLimitError)
|
|
42
|
+
return `ARC-1 response exceeded its ${err.limitBytes}-byte review allowance; inspect this part in SAP.`;
|
|
43
|
+
if (err instanceof AdtRequestBudgetError)
|
|
44
|
+
return err.message;
|
|
45
|
+
if (err instanceof RevisionHistoryError)
|
|
46
|
+
return err.message;
|
|
47
|
+
if (err instanceof AdtNetworkError && err.cause?.name === 'TimeoutError')
|
|
48
|
+
return 'ARC-1 review request time limit reached; source evidence was not collected.';
|
|
49
|
+
if (err instanceof Error && err.message === 'Review collection budget exhausted.')
|
|
50
|
+
return 'ARC-1 review page budget exhausted; remaining source evidence was not collected.';
|
|
33
51
|
if (!minimalErrors)
|
|
34
52
|
return err instanceof Error ? err.message : String(err);
|
|
35
|
-
if (err instanceof AdtApiError)
|
|
36
|
-
return `SAP request failed (status ${err.statusCode})`;
|
|
37
53
|
return 'request failed';
|
|
38
54
|
}
|
|
55
|
+
/** Authentication and caller cancellation end the review, even inside per-part recovery. */
|
|
56
|
+
function throwIfReviewInterrupted(error) {
|
|
57
|
+
throwIfRequestCancelled({ signal: getCurrentContext()?.signal });
|
|
58
|
+
if (error instanceof AdtApiError && error.statusCode === 401)
|
|
59
|
+
throw error;
|
|
60
|
+
}
|
|
61
|
+
export function revisionSourceState(r) {
|
|
62
|
+
if (!r)
|
|
63
|
+
return 'unknown';
|
|
64
|
+
const num = revisionNumber(r);
|
|
65
|
+
return num === ACTIVE_VERSION ? 'active' : num === INACTIVE_VERSION ? 'draft' : num ? 'released' : 'unknown';
|
|
66
|
+
}
|
|
39
67
|
/**
|
|
40
68
|
* The two pseudo-versions SAP's `IRevision` maps to UI text rather than a number: `00000` is the
|
|
41
|
-
* ACTIVE work state and `99999` the INACTIVE draft.
|
|
42
|
-
*
|
|
69
|
+
* ACTIVE work state and `99999` the INACTIVE draft. Only active source can be the current side of an open-request
|
|
70
|
+
* review; neither work state is a transported baseline.
|
|
43
71
|
*/
|
|
44
72
|
const ACTIVE_VERSION = '00000';
|
|
45
73
|
const INACTIVE_VERSION = '99999';
|
|
@@ -99,7 +127,7 @@ function compareDesc(a, b) {
|
|
|
99
127
|
* the request on the systems verified so far, but matching both is a superset that can
|
|
100
128
|
* only add correct matches.
|
|
101
129
|
*/
|
|
102
|
-
export function selectTransportRevisionPair(revisions, transportIds) {
|
|
130
|
+
export function selectTransportRevisionPair(revisions, transportIds, mode = 'released') {
|
|
103
131
|
const sorted = sortNewestFirst(revisions);
|
|
104
132
|
const wanted = new Set([...transportIds].map((id) => String(id).trim().toUpperCase()).filter(Boolean));
|
|
105
133
|
const belongsToTransport = (r) => {
|
|
@@ -111,26 +139,25 @@ export function selectTransportRevisionPair(revisions, transportIds) {
|
|
|
111
139
|
if (!sorted.length) {
|
|
112
140
|
return { current: null, previous: null, selectionMethod: 'no-revisions', skipped: [] };
|
|
113
141
|
}
|
|
114
|
-
//
|
|
115
|
-
//
|
|
116
|
-
|
|
117
|
-
// code path as "what did this transport ship", with the same evidence labels.
|
|
118
|
-
let currentIndex = sorted.findIndex(belongsToTransport);
|
|
142
|
+
// A released review needs an attributed historical snapshot. An open request uses
|
|
143
|
+
// active source, never an inactive draft or an unrelated released version.
|
|
144
|
+
let currentIndex = sorted.findIndex((r) => belongsToTransport(r) && revisionSourceState(r) === mode);
|
|
119
145
|
let selectionMethod = 'exact-transport';
|
|
120
|
-
if (currentIndex === -1) {
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
currentIndex = sorted.findIndex((r) => !WORK_STATE_VERSIONS.has(revisionNumber(r)));
|
|
124
|
-
selectionMethod = 'latest-revision-fallback';
|
|
146
|
+
if (currentIndex === -1 && mode === 'active') {
|
|
147
|
+
currentIndex = sorted.findIndex((r) => revisionSourceState(r) === 'active');
|
|
148
|
+
selectionMethod = 'active-only-fallback';
|
|
125
149
|
}
|
|
126
150
|
if (currentIndex === -1) {
|
|
127
|
-
|
|
128
|
-
selectionMethod = 'active-only-fallback';
|
|
151
|
+
return { current: null, previous: null, selectionMethod: 'no-revisions', skipped: [] };
|
|
129
152
|
}
|
|
130
153
|
const skipped = [];
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
154
|
+
const current = sorted[currentIndex];
|
|
155
|
+
// Active timestamps can predate the latest snapshot (verified on A4H). They are not
|
|
156
|
+
// historical boundaries: compare active source to the latest foreign snapshot.
|
|
157
|
+
const candidates = mode === 'active' ? sorted.filter((r) => revisionSourceState(r) === 'released') : sorted.slice(currentIndex + 1);
|
|
158
|
+
let previousIndex = 0;
|
|
159
|
+
while (previousIndex < candidates.length) {
|
|
160
|
+
const candidate = candidates[previousIndex];
|
|
134
161
|
const num = revisionNumber(candidate);
|
|
135
162
|
if (WORK_STATE_VERSIONS.has(num)) {
|
|
136
163
|
const kind = num === ACTIVE_VERSION ? 'active work state' : 'inactive draft';
|
|
@@ -144,37 +171,53 @@ export function selectTransportRevisionPair(revisions, transportIds) {
|
|
|
144
171
|
}
|
|
145
172
|
previousIndex += 1;
|
|
146
173
|
}
|
|
174
|
+
const previous = candidates[previousIndex] ?? null;
|
|
175
|
+
// Missing dates sort last, so date order cannot prove the pair: a predecessor numbered at or
|
|
176
|
+
// after `current`, or a foreign snapshot numbered between the two, leaves chronology open.
|
|
177
|
+
const [before, after] = [previous ? revisionNumber(previous) : '', revisionNumber(current)];
|
|
178
|
+
const currentIsWorkState = WORK_STATE_VERSIONS.has(after);
|
|
179
|
+
const undatedWorkState = currentIsWorkState && !Number.isFinite(Date.parse(current.timestamp)) && candidates.length > 0;
|
|
180
|
+
const conflictingCurrent = sorted.some((r) => belongsToTransport(r) && revisionSourceState(r) === mode && revisionNumber(r) > after);
|
|
181
|
+
const conflictingOrder = previous &&
|
|
182
|
+
((revisionSourceState(current) === 'released' && before >= after) ||
|
|
183
|
+
sorted.some((r) => revisionSourceState(r) === 'released' &&
|
|
184
|
+
!belongsToTransport(r) &&
|
|
185
|
+
revisionNumber(r) > before &&
|
|
186
|
+
(currentIsWorkState || revisionNumber(r) < after)));
|
|
147
187
|
return {
|
|
148
|
-
current
|
|
149
|
-
previous
|
|
188
|
+
current,
|
|
189
|
+
previous,
|
|
150
190
|
selectionMethod,
|
|
151
191
|
skipped,
|
|
192
|
+
...(undatedWorkState || conflictingCurrent || conflictingOrder ? { baselineAmbiguous: true } : {}),
|
|
152
193
|
};
|
|
153
194
|
}
|
|
154
195
|
/**
|
|
155
196
|
* Classify the "before" side.
|
|
156
197
|
*
|
|
157
|
-
*
|
|
158
|
-
*
|
|
198
|
+
* No prior snapshot means only that no predecessor was found; it is not proof of creation.
|
|
199
|
+
* An exact transport match identifies attribution, not the completeness of retained history. A missing predecessor under a fallback selection is ambiguous — it may
|
|
159
200
|
* simply mean the object's history was never snapshotted.
|
|
160
201
|
*/
|
|
161
202
|
export function baselineStatusFor(pair, allRevisions = []) {
|
|
162
203
|
if (!pair.current)
|
|
163
204
|
return 'baseline-unavailable';
|
|
205
|
+
if (pair.baselineAmbiguous)
|
|
206
|
+
return 'baseline-ambiguous';
|
|
164
207
|
const matched = pair.selectionMethod === 'exact-transport';
|
|
165
208
|
if (pair.previous)
|
|
166
209
|
return matched ? 'prior-revision' : 'prior-revision-unverified';
|
|
167
210
|
if (!matched)
|
|
168
211
|
return 'baseline-ambiguous';
|
|
169
|
-
//
|
|
170
|
-
//
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
// is undated and sorts last). Creation is asserted only when nothing older exists.
|
|
174
|
-
const currentNum = Number(revisionNumber(pair.current));
|
|
212
|
+
// A lower numbered snapshot is evidence that the walk-back missed existing history
|
|
213
|
+
// (for example an undated current row sorted last). Neither result proves creation.
|
|
214
|
+
const currentVersion = revisionNumber(pair.current);
|
|
215
|
+
const currentNum = Number(currentVersion);
|
|
175
216
|
const hasOlder = allRevisions.some((r) => {
|
|
176
217
|
const raw = revisionNumber(r);
|
|
177
|
-
return /^\d+$/.test(raw) &&
|
|
218
|
+
return (/^\d+$/.test(raw) &&
|
|
219
|
+
!WORK_STATE_VERSIONS.has(raw) &&
|
|
220
|
+
(WORK_STATE_VERSIONS.has(currentVersion) || Number(raw) < currentNum));
|
|
178
221
|
});
|
|
179
222
|
return hasOlder ? 'baseline-ambiguous' : 'no-prior-snapshot';
|
|
180
223
|
}
|
|
@@ -324,6 +367,8 @@ export function classIncludesFor(object) {
|
|
|
324
367
|
// ~640k LIMU rows on 758, zero counterexamples), so fall back to every include.
|
|
325
368
|
if (c.pgmid !== 'LIMU')
|
|
326
369
|
return { includes: [...CLASS_REVISION_INCLUDES], fromComponents: false };
|
|
370
|
+
if (c.type === 'REPT')
|
|
371
|
+
continue;
|
|
327
372
|
// The suffix starts at a FIXED offset: CTS pads the class name into a 30-char field. It
|
|
328
373
|
// pads with '=' only when the name is shorter — 6.6% of live CINC rows are 30-char names
|
|
329
374
|
// with no padding at all, where splitting on '=' returns the whole string and silently
|
|
@@ -337,7 +382,7 @@ export function classIncludesFor(object) {
|
|
|
337
382
|
: { includes: [...CLASS_REVISION_INCLUDES], fromComponents: false };
|
|
338
383
|
}
|
|
339
384
|
/**
|
|
340
|
-
* Per-part diff cap. A
|
|
385
|
+
* Per-part diff cap. A missing predecessor displays available source as additions, so a page of
|
|
341
386
|
* 20 such objects is otherwise unbounded — `MAX_DIFF_OBJECTS` limits the object count, never
|
|
342
387
|
* the bytes. `added`/`removed` are counted before truncation, so the totals stay honest.
|
|
343
388
|
*/
|
|
@@ -345,10 +390,16 @@ const MAX_DIFF_LINES = 400;
|
|
|
345
390
|
/** Trim a unified diff to `MAX_DIFF_LINES` body lines, keeping the header. */
|
|
346
391
|
function capDiff(diff) {
|
|
347
392
|
const lines = diff.split('\n');
|
|
348
|
-
|
|
393
|
+
const maxBytes = 16 * 1024;
|
|
394
|
+
if (lines.length <= MAX_DIFF_LINES && Buffer.byteLength(diff) <= maxBytes)
|
|
349
395
|
return { diff, truncated: false };
|
|
396
|
+
// Decode only complete UTF-8 code points; reserve space for the omission marker.
|
|
397
|
+
const capped = Buffer.from(lines.slice(0, MAX_DIFF_LINES).join('\n'))
|
|
398
|
+
.subarray(0, maxBytes - 100)
|
|
399
|
+
.toString('utf8')
|
|
400
|
+
.replace(/\uFFFD$/, '');
|
|
350
401
|
return {
|
|
351
|
-
diff: `${
|
|
402
|
+
diff: `${capped}\n… diff truncated (400-line / 16-KiB display limit)`,
|
|
352
403
|
truncated: true,
|
|
353
404
|
};
|
|
354
405
|
}
|
|
@@ -367,6 +418,7 @@ function revisionLabel(revision) {
|
|
|
367
418
|
*/
|
|
368
419
|
function unavailablePart(part, note, resolved) {
|
|
369
420
|
return {
|
|
421
|
+
...resolved,
|
|
370
422
|
part,
|
|
371
423
|
baselineStatus: 'baseline-unavailable',
|
|
372
424
|
selectionMethod: resolved?.selectionMethod ?? 'no-revisions',
|
|
@@ -375,83 +427,154 @@ function unavailablePart(part, note, resolved) {
|
|
|
375
427
|
added: 0,
|
|
376
428
|
removed: 0,
|
|
377
429
|
diff: '',
|
|
378
|
-
note,
|
|
430
|
+
note: [resolved?.note, note].filter(Boolean).join(' '),
|
|
379
431
|
};
|
|
380
432
|
}
|
|
381
433
|
/**
|
|
382
434
|
* Diff one source part of one object across the transport boundary.
|
|
383
435
|
*
|
|
384
|
-
*
|
|
385
|
-
*
|
|
386
|
-
* read error can never masquerade as "unchanged".
|
|
436
|
+
* Every selected or speculative part receives a result. A 404 cannot establish absence,
|
|
437
|
+
* deletion or unchanged source; report it as an evidence gap.
|
|
387
438
|
*/
|
|
388
439
|
async function diffPart(client, type, name, part, transportIds, opts) {
|
|
389
440
|
const include = type === 'CLAS' ? part : undefined;
|
|
390
441
|
let revisions;
|
|
442
|
+
let historyIncomplete = false;
|
|
391
443
|
try {
|
|
392
|
-
|
|
444
|
+
const history = await (opts.budget
|
|
445
|
+
? opts.budget.read((request) => client.getRevisions(type, name, { include, group: opts.group }, request))
|
|
446
|
+
: client.getRevisions(type, name, { include, group: opts.group }));
|
|
447
|
+
revisions = history.revisions;
|
|
448
|
+
historyIncomplete = history.historyComplete === false;
|
|
393
449
|
}
|
|
394
450
|
catch (err) {
|
|
395
|
-
|
|
396
|
-
|
|
451
|
+
throwIfReviewInterrupted(err);
|
|
452
|
+
if (type === 'CLAS' && part !== 'main' && isNotFoundError(err)) {
|
|
453
|
+
return unavailablePart(part, `${opts.speculative ? 'Speculative part' : 'CTS-selected part'}: revision history returned 404; absence or deletion is not established`);
|
|
454
|
+
}
|
|
397
455
|
return unavailablePart(part, `revision history unavailable: ${describeError(err, opts.minimalErrors)}`);
|
|
398
456
|
}
|
|
399
|
-
const pair = selectTransportRevisionPair(revisions, transportIds);
|
|
457
|
+
const pair = selectTransportRevisionPair(revisions, transportIds, opts.mode);
|
|
458
|
+
const baselineStatus = historyIncomplete && pair.current ? 'baseline-ambiguous' : baselineStatusFor(pair, revisions);
|
|
400
459
|
const base = {
|
|
401
460
|
part,
|
|
402
|
-
baselineStatus
|
|
461
|
+
baselineStatus,
|
|
403
462
|
selectionMethod: pair.selectionMethod,
|
|
404
463
|
from: pair.previous ? revisionLabel(pair.previous) : null,
|
|
405
464
|
to: pair.current ? revisionLabel(pair.current) : null,
|
|
465
|
+
...(opts.mode === 'active' &&
|
|
466
|
+
revisions.some((r) => revisionSourceState(r) === 'draft' && transportIds.has((r.transport ?? '').trim().toUpperCase()))
|
|
467
|
+
? { note: 'Inactive draft pending for this request; not compared.' }
|
|
468
|
+
: {}),
|
|
406
469
|
};
|
|
407
470
|
if (!pair.current) {
|
|
408
|
-
return
|
|
471
|
+
return unavailablePart(part, opts.speculative && opts.mode !== 'active'
|
|
472
|
+
? 'Speculative part: no snapshot attributed to this request; unchanged source is not established.'
|
|
473
|
+
: 'No revision satisfies the requested source state and attribution.', base);
|
|
409
474
|
}
|
|
410
475
|
let after;
|
|
411
476
|
let before;
|
|
412
477
|
try {
|
|
413
|
-
//
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
client.getRevisionSource(
|
|
417
|
-
|
|
418
|
-
|
|
478
|
+
// Without a predecessor, additions only display the available source; they do not prove creation.
|
|
479
|
+
const read = (uri) => opts.budget
|
|
480
|
+
? opts.budget.read((request) => client.getRevisionSource(uri, request))
|
|
481
|
+
: client.getRevisionSource(uri);
|
|
482
|
+
after = await read(pair.current.uri);
|
|
483
|
+
before = pair.previous ? await read(pair.previous.uri) : '';
|
|
419
484
|
}
|
|
420
485
|
catch (err) {
|
|
486
|
+
throwIfReviewInterrupted(err);
|
|
421
487
|
return unavailablePart(part, `source read failed: ${describeError(err, opts.minimalErrors)}`, base);
|
|
422
488
|
}
|
|
423
|
-
|
|
489
|
+
let result;
|
|
490
|
+
try {
|
|
491
|
+
result = unifiedDiff(before, after, `${name} (${base.from ?? 'none'})`, `${name} (${base.to})`, 3, true, {
|
|
492
|
+
timeout: 100,
|
|
493
|
+
maxEditLength: 20_000,
|
|
494
|
+
});
|
|
495
|
+
}
|
|
496
|
+
catch {
|
|
497
|
+
return unavailablePart(part, 'Diff calculation failed or exceeded its work budget; statistics are unavailable.', {
|
|
498
|
+
...base,
|
|
499
|
+
});
|
|
500
|
+
}
|
|
424
501
|
const capped = capDiff(result.diff);
|
|
425
|
-
const note =
|
|
426
|
-
|
|
427
|
-
:
|
|
428
|
-
|
|
429
|
-
|
|
502
|
+
const note = [
|
|
503
|
+
base.note,
|
|
504
|
+
historyIncomplete ? 'History advertises more revisions; the selected baseline is uncertain.' : '',
|
|
505
|
+
pair.selectionMethod !== 'exact-transport'
|
|
506
|
+
? 'Active source is not attributed to this request; this is a candidate comparison.'
|
|
507
|
+
: '',
|
|
508
|
+
result.cosmeticOnly
|
|
509
|
+
? 'whitespace-only change (trailing blanks / final newline)'
|
|
510
|
+
: result.identical
|
|
511
|
+
? 'no source change between the selected revisions'
|
|
512
|
+
: '',
|
|
513
|
+
]
|
|
514
|
+
.filter(Boolean)
|
|
515
|
+
.join(' ');
|
|
430
516
|
return {
|
|
431
517
|
...base,
|
|
432
518
|
added: result.added,
|
|
433
519
|
removed: result.removed,
|
|
434
|
-
diff: capped.diff,
|
|
520
|
+
diff: opts.summary ? '' : capped.diff,
|
|
521
|
+
...(opts.summary && result.diff ? { hunksOmitted: true } : {}),
|
|
435
522
|
...(capped.truncated ? { diffTruncated: true } : {}),
|
|
436
523
|
...(note ? { note } : {}),
|
|
437
524
|
};
|
|
438
525
|
}
|
|
439
526
|
/** Diff every source part of one logical object. Never throws — failures become visible rows. */
|
|
440
527
|
export async function diffTransportObject(client, object, transportIds, opts = {}) {
|
|
528
|
+
opts = { ...opts, budget: opts.budget ?? new ReviewBudget() };
|
|
441
529
|
const { type, name, taskIds } = object;
|
|
442
|
-
const
|
|
530
|
+
const textGap = 'Text-pool components are in scope; historical symbols, selection texts and headings were not compared.';
|
|
531
|
+
// A text-only CTS key names no source part; diffing main would review something CTS never selected.
|
|
532
|
+
if (object.components.length && object.components.every((c) => c.type === 'REPT')) {
|
|
533
|
+
return { type, name, taskIds, parts: [], inventoryReason: textGap };
|
|
534
|
+
}
|
|
535
|
+
if (object.pgmid !== 'R3TR' && object.pgmid !== 'LIMU') {
|
|
536
|
+
return {
|
|
537
|
+
type,
|
|
538
|
+
name,
|
|
539
|
+
taskIds,
|
|
540
|
+
parts: [],
|
|
541
|
+
inventoryReason: `${object.pgmid} entry: non-source scope has no verified historical adapter.`,
|
|
542
|
+
};
|
|
543
|
+
}
|
|
544
|
+
const wholeObject = object.components.some((c) => c.pgmid === 'R3TR');
|
|
545
|
+
const notCompared = new Set();
|
|
546
|
+
if (wholeObject && REVISION_TYPES.has(type))
|
|
547
|
+
notCompared.add('metadata');
|
|
548
|
+
if ((wholeObject && (type === 'PROG' || type === 'CLAS')) || object.components.some((c) => c.type === 'REPT')) {
|
|
549
|
+
notCompared.add('text pool');
|
|
550
|
+
}
|
|
551
|
+
if (wholeObject && type === 'PROG') {
|
|
552
|
+
notCompared.add('screens');
|
|
553
|
+
notCompared.add('GUI status');
|
|
554
|
+
}
|
|
555
|
+
const head = {
|
|
556
|
+
type,
|
|
557
|
+
name,
|
|
558
|
+
taskIds,
|
|
559
|
+
...(notCompared.size ? { notCompared: [...notCompared] } : {}),
|
|
560
|
+
...(object.components.some((c) => c.type === 'METH')
|
|
561
|
+
? {
|
|
562
|
+
scopeNote: 'CTS method keys select whole class source; hunks are not attributed per method.',
|
|
563
|
+
}
|
|
564
|
+
: {}),
|
|
565
|
+
};
|
|
443
566
|
if (type === FUGR_INCLUDE_TYPE) {
|
|
444
567
|
return {
|
|
445
568
|
...head,
|
|
446
569
|
parts: [],
|
|
447
|
-
inventoryReason: 'function-group source (wbtype FUGR/*) — in scope
|
|
570
|
+
inventoryReason: 'function-group source (wbtype FUGR/*) — in scope; historical include ownership and before/after coverage are not verified by this adapter',
|
|
448
571
|
};
|
|
449
572
|
}
|
|
450
573
|
if (!REVISION_TYPES.has(type)) {
|
|
451
574
|
return {
|
|
452
575
|
...head,
|
|
453
576
|
parts: [],
|
|
454
|
-
inventoryReason: `type ${type} has no
|
|
577
|
+
inventoryReason: `type ${type} has no verified historical adapter — in scope, but no source diff available`,
|
|
455
578
|
};
|
|
456
579
|
}
|
|
457
580
|
// FUNC revisions are addressed under their group. A lookup failure must not abort the whole
|
|
@@ -459,9 +582,13 @@ export async function diffTransportObject(client, object, transportIds, opts = {
|
|
|
459
582
|
let group;
|
|
460
583
|
if (type === 'FUNC') {
|
|
461
584
|
try {
|
|
462
|
-
group =
|
|
585
|
+
group =
|
|
586
|
+
(await (opts.budget
|
|
587
|
+
? opts.budget.read((request) => client.resolveFunctionGroup(name, request))
|
|
588
|
+
: client.resolveFunctionGroup(name))) ?? undefined;
|
|
463
589
|
}
|
|
464
590
|
catch (err) {
|
|
591
|
+
throwIfReviewInterrupted(err);
|
|
465
592
|
return {
|
|
466
593
|
...head,
|
|
467
594
|
parts: [],
|
|
@@ -472,53 +599,24 @@ export async function diffTransportObject(client, object, transportIds, opts = {
|
|
|
472
599
|
return { ...head, parts: [], inventoryReason: `cannot resolve the function group for FUNC ${name}` };
|
|
473
600
|
}
|
|
474
601
|
}
|
|
475
|
-
//
|
|
476
|
-
// (ARC1_MAX_CONCURRENT), so fanning out here is bounded without extra bookkeeping.
|
|
602
|
+
// Sequence parts within the shared page budget; never enqueue an unbounded batch.
|
|
477
603
|
const selection = type === 'CLAS' ? classIncludesFor(object) : { includes: ['main'], fromComponents: true };
|
|
478
604
|
const wanted = selection.includes;
|
|
479
|
-
const
|
|
605
|
+
const parts = [];
|
|
606
|
+
for (const part of wanted) {
|
|
480
607
|
try {
|
|
481
|
-
|
|
608
|
+
const result = await diffPart(client, type, name, part, transportIds, {
|
|
609
|
+
...opts,
|
|
610
|
+
group,
|
|
611
|
+
speculative: !selection.fromComponents,
|
|
612
|
+
});
|
|
613
|
+
parts.push(result);
|
|
482
614
|
}
|
|
483
615
|
catch (err) {
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
return unavailablePart(part, `source read failed: ${describeError(err, opts.minimalErrors)}`);
|
|
616
|
+
throwIfReviewInterrupted(err);
|
|
617
|
+
parts.push(unavailablePart(part, `source read failed: ${describeError(err, opts.minimalErrors)}`));
|
|
487
618
|
}
|
|
488
|
-
}));
|
|
489
|
-
const parts = settled.filter((p) => p !== null);
|
|
490
|
-
// Every selected part turned out not to exist. Dropping them all would emit an object with
|
|
491
|
-
// no rows and no reason — indistinguishable from "nothing changed", which is the one thing
|
|
492
|
-
// this tool must never say by accident.
|
|
493
|
-
if (!parts.length) {
|
|
494
|
-
return {
|
|
495
|
-
...head,
|
|
496
|
-
parts: [],
|
|
497
|
-
inventoryReason: `no readable source for ${wanted.join(', ')} — the object or its includes could not be found`,
|
|
498
|
-
};
|
|
499
619
|
}
|
|
500
|
-
return { ...head, parts
|
|
501
|
-
}
|
|
502
|
-
/**
|
|
503
|
-
* Blank the DIFF of parts this transport did not touch, keeping the row for coverage.
|
|
504
|
-
*
|
|
505
|
-
* ONLY valid for a SPECULATIVE part list. When the includes came from the transport's own
|
|
506
|
-
* components, every selected part was named by CTS and therefore WAS changed — suppressing
|
|
507
|
-
* one because its revision happens to carry no CTS id (a live-verified shape) would erase a
|
|
508
|
-
* real diff and report it clean. The caller enforces that; this function assumes the parts
|
|
509
|
-
* were probed blindly.
|
|
510
|
-
*
|
|
511
|
-
* Without it, the whole-class (`R3TR CLAS`) shape renders SAP's boilerplate headers in the
|
|
512
|
-
* four untouched includes as fresh additions — noise around one real change.
|
|
513
|
-
*
|
|
514
|
-
* Two further guards: suppress only when a sibling part DID match the transport (so
|
|
515
|
-
* attribution demonstrably works for this object), and NEVER touch a row whose read failed.
|
|
516
|
-
*/
|
|
517
|
-
function suppressUntouchedParts(parts) {
|
|
518
|
-
if (!parts.some((p) => p.selectionMethod === 'exact-transport'))
|
|
519
|
-
return parts;
|
|
520
|
-
return parts.map((p) => p.selectionMethod === 'exact-transport' || p.baselineStatus === 'baseline-unavailable'
|
|
521
|
-
? p
|
|
522
|
-
: { ...p, added: 0, removed: 0, diff: '', note: 'not changed by this transport' });
|
|
620
|
+
return { ...head, parts };
|
|
523
621
|
}
|
|
524
622
|
//# sourceMappingURL=transport-diff.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transport-diff.js","sourceRoot":"","sources":["../../src/adt/transport-diff.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"transport-diff.js","sourceRoot":"","sources":["../../src/adt/transport-diff.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { type AdtRequestOptions } from './http-deadline.js';
|
|
2
|
+
import { RequestAttemptBudget } from './request-attempt-budget.js';
|
|
3
|
+
export declare const REVIEW_DEADLINE_MS = 20000;
|
|
4
|
+
/** One review page: bounded sequential reads, including inventory, retries and CSRF. */
|
|
5
|
+
export declare class ReviewBudget {
|
|
6
|
+
readonly started: number;
|
|
7
|
+
readonly deadline: number;
|
|
8
|
+
readonly attempts: RequestAttemptBudget;
|
|
9
|
+
bytes: number;
|
|
10
|
+
reads: number;
|
|
11
|
+
exhausted: boolean;
|
|
12
|
+
stopReason?: string;
|
|
13
|
+
read<T>(operation: (request: AdtRequestOptions) => Promise<T>): Promise<T>;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=transport-review-budget.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transport-review-budget.d.ts","sourceRoot":"","sources":["../../src/adt/transport-review-budget.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,iBAAiB,EAA2B,MAAM,oBAAoB,CAAC;AACrF,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAEnE,eAAO,MAAM,kBAAkB,QAAS,CAAC;AAEzC,wFAAwF;AACxF,qBAAa,YAAY;IACvB,QAAQ,CAAC,OAAO,SAAc;IAC9B,QAAQ,CAAC,QAAQ,SAAqC;IACtD,QAAQ,CAAC,QAAQ,uBAAiC;IAClD,KAAK,SAAK;IACV,KAAK,SAAK;IACV,SAAS,UAAS;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IAEd,IAAI,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,OAAO,EAAE,iBAAiB,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAiC/E;CACF"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { getCurrentContext } from '../server/context.js';
|
|
2
|
+
import { DataResponseBudget } from './data-result-context.js';
|
|
3
|
+
import { AdtResponseLimitError } from './errors.js';
|
|
4
|
+
import { throwIfRequestCancelled } from './http-deadline.js';
|
|
5
|
+
import { RequestAttemptBudget } from './request-attempt-budget.js';
|
|
6
|
+
export const REVIEW_DEADLINE_MS = 20_000;
|
|
7
|
+
/** One review page: bounded sequential reads, including inventory, retries and CSRF. */
|
|
8
|
+
export class ReviewBudget {
|
|
9
|
+
started = Date.now();
|
|
10
|
+
deadline = this.started + REVIEW_DEADLINE_MS;
|
|
11
|
+
attempts = new RequestAttemptBudget(180);
|
|
12
|
+
bytes = 0;
|
|
13
|
+
reads = 0;
|
|
14
|
+
exhausted = false;
|
|
15
|
+
stopReason;
|
|
16
|
+
async read(operation) {
|
|
17
|
+
const remaining = 8 * 1024 * 1024 - this.bytes;
|
|
18
|
+
const responseBudget = new DataResponseBudget(Math.max(1, Math.min(1024 * 1024, remaining)), 'transport-review');
|
|
19
|
+
const request = {
|
|
20
|
+
deadline: this.deadline,
|
|
21
|
+
signal: getCurrentContext()?.signal,
|
|
22
|
+
responseBudget,
|
|
23
|
+
attemptBudget: this.attempts,
|
|
24
|
+
};
|
|
25
|
+
try {
|
|
26
|
+
throwIfRequestCancelled(request);
|
|
27
|
+
if (remaining <= 0 || this.exhausted || this.reads >= 180)
|
|
28
|
+
throw new Error('Review collection budget exhausted.');
|
|
29
|
+
this.reads++;
|
|
30
|
+
return await operation(request);
|
|
31
|
+
}
|
|
32
|
+
catch (error) {
|
|
33
|
+
// Failed streaming reservations are released by HTTP. Stop this page rather than
|
|
34
|
+
// repeatedly downloading oversized bodies whose bytes would otherwise go uncharged.
|
|
35
|
+
if (error instanceof AdtResponseLimitError) {
|
|
36
|
+
this.bytes += Math.max(0, error.observedBytes - responseBudget.consumedBytes);
|
|
37
|
+
this.exhausted = true;
|
|
38
|
+
this.stopReason = 'response byte limit';
|
|
39
|
+
}
|
|
40
|
+
if (remaining <= 0 || Date.now() >= this.deadline || this.attempts.used >= 180 || this.reads >= 180)
|
|
41
|
+
this.exhausted = true;
|
|
42
|
+
if (request.signal?.aborted) {
|
|
43
|
+
this.exhausted = true;
|
|
44
|
+
this.stopReason = 'cancelled';
|
|
45
|
+
}
|
|
46
|
+
else if (Date.now() >= this.deadline)
|
|
47
|
+
this.stopReason = 'deadline';
|
|
48
|
+
else if (this.exhausted && !this.stopReason)
|
|
49
|
+
this.stopReason = 'collection limit';
|
|
50
|
+
throw error;
|
|
51
|
+
}
|
|
52
|
+
finally {
|
|
53
|
+
this.bytes += responseBudget.consumedBytes;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=transport-review-budget.js.map
|