Conversation
sn0wcat
commented
Sep 15, 2026
Member
- Bump version to 4.0.0 ahead of breaking URL schema migration (mindsphere.io -> siemens.app)
- npm update: bump dependencies within existing semver ranges
- Fix TypeScript strictness errors surfaced by updated @types/node (Buffer generics, EventEmitter listener typing)
- Bump version to 4.0.0 ahead of breaking URL schema migration (mindsphere.io -> siemens.app) - npm update: bump dependencies within existing semver ranges - Fix TypeScript strictness errors surfaced by updated @types/node (Buffer generics, EventEmitter listener typing) Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
…kage.json, CHANGELOG - README: add breaking-change notice with guidance to use 3.x for old mindsphere.io URLs - package.json: update description to mention the breaking change - CHANGELOG: clarify 3.x fallback guidance Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Introduces backward-compatible support for the new Xcelerator siemens.app/sws.siemens.com URL scheme, gated entirely on the presence of a configured systemId: - Add DEFAULT_SYSTEM_ID and systemId threading through auth config, credential entries, and MindSphereCredentials - Rewrite getPiamUrl and addAndStoreConfiguration to build new-scheme gateway/PIAM URLs only when systemId is set, otherwise preserve legacy behavior unchanged (on-premise and existing tenants unaffected) - Add GetSystemId() across auth classes (credential, tokenmanager, user, frontend, browser, agent auth) and thread it through TokenManagerAuth/CredentialAuth construction - Add SdkClient.GetServiceBaseUrl() helper and convert all ~30 SDK client _baseUrl fields to getters using it; special-case messagebroker (v4 legacy / v5 new) and notification (api prefix) - Fix stray hardcoded /api/... URLs in agent-auth, mindconnect-agent, mindconnect-setup, mcapi Ingest(), multipart-uploader, and tenant.ts logo URL to use the new base-url helpers - Add --system-id CLI flag to mc-service-credentials and matching System Id field in the web credential config UI Validated with tsc, ts:build, browser:build, and npm run sanity against the live legacy castidev tenant (28 passing, 9 pending, 2 pre-existing unrelated failures - unchanged baseline). Still pending: docs/CHANGELOG updates for --system-id, live verification against an actual new-scheme tenant. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
…emId) Live testing against a real Xcelerator tenant revealed that the OAuth/PIAM identity zone id (used to build https://<id>.<region>.sws.siemens.com/ auth urls) can be a genuinely different id than the API systemId (used to build https://api.<region>.siemens.app/<service>-<id>/v<version> urls) for the same tenant. The migration docs only document a single, misleading example id that is not a shared constant. - AuthBase/CredentialAuth/TokenManagerAuth: accept an optional _oauthSystemId constructor param (falls back to _systemId when not set) and use it only for getPiamUrl (oauth/token, token_keys). TokenManagerAuth's own technicaltokenmanager exchange keeps using _systemId, since that call is against the API gateway domain, not the PIAM zone. - MindSphereCredentials/authJson/credentialEntry: add optional oauthSystemId field, threaded through SdkClient's CredentialAuth/TokenManagerAuth construction. - CLI (mc-service-credentials): add --oauth-system-id / -z option. - Config UI (index.html/scripts.js): add an "OAuth System Id" field to the add-credentials dialog and the list item display, with help text explaining the distinction and pointing users at their Insights Hub administrator if authentication fails. Also fixes a bug where bindList() mutated the live in-memory credential objects with display-only placeholder strings ("(none)", "(same as System Id)"), which saveData() would then persist verbatim into auth.json, corrupting the real systemId/oauthSystemId values on save. bindList() now renders from a shallow copy instead. Bump MC_VERSION to 4.0.0 (src/version.ts) to match package.json; it was missed during the earlier version bump and still showed 3.24.2 in `mc --version`, the User-Agent header, and the config UI title. Add System Id display to the credential list view and pre-fill the add dialog's System Id field from the server's configured default (GET /sc/config now also returns defaultSystemId). Verified end-to-end: added real Xcelerator technical user credentials with distinct systemId/oauthSystemId via the CLI, successfully acquired an access token (mc service-token) and confirmed the full sanity suite is back to the established baseline (28 passing / 9 pending / 2 pre-existing unrelated failures) after the corrupted local config was repaired. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
…rTenantId Renames the two Xcelerator ids introduced for the siemens.app URL migration to clearer, distinct names: - systemId (API system id, used in service URL paths like /assetmanagement-<id>/v3) -> coreTenantId - oauthSystemId (OAuth/PIAM identity zone id, used in the <id>.<region>.sws.siemens.com auth urls) -> customerTenantId This affects MindSphereCredentials/AppCredentials/ServiceCrendtials fields, the auth.json/credentialEntry config format, the AuthBase-derived classes' constructor params and GetCoreTenantId()/GetCustomerTenantId() getters (was GetSystemId()/GetOAuthSystemId()), the CLI flags (--core-tenant-id/-x, --customer-tenant-id/-z, was --system-id/--oauth-system-id), and the config web UI labels/fields. Not renamed (intentionally): OnboardingConfigurationContent.systemId in mindconnect-models.ts and AgentAuth's GetSystemId() field access - these read/represent the actual onboarding file JSON key as issued by the server, which must not be renamed independently of the server's own wire format. No functional change; this is unreleased (4.0.0 is still unpublished), so no migration/back-compat shim is needed for the new field names. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Service credentials are no longer deprecated, so remove the '(deprecated)' label from the config UI and rename the term to 'technical user credentials' throughout the config UI, README.md, and CLI help/error text. No functional change: the underlying credential type value (SERVICE) and the mc service-credentials command name are left as-is. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Update the Core Tenant Id / Customer Tenant Id descriptions (config UI and CLI --core-tenant-id/--customer-tenant-id help) to: - explain both ids are visible in the URL of any Xcelerator app for the tenant, e.g. https://<customerTenantId>-settings-<coreTenantId>.<region>.siemens.app/ - clarify the tenant name field is unrelated to and not needed for these ids when using technical user credentials against an Xcelerator gateway. No functional change. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
…dentials
Previously the add-credential dialog was a single shared form where
switching the 'Credentials' radio button only hid/showed the app-only
fields (User Tenant, Application Name, Application Version), while all
other inputs (User, Password, Gateway, Core/Customer Tenant Id, Tenant)
were shared and re-labeled generically ('for application credentials'
regardless of the selected type).
Split the dialog into two fully independent field groups
(#appCredentialFields / #serviceCredentialFields), each with its own
inputs, ids, and type-specific descriptions, toggled completely by the
radio selection via showCredentialType(). addNew() now reads from the
active group's fields based on the selected type.
No change to the underlying credential data model or auth logic.
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Trim the overly long help text for Core Tenant Id / Customer Tenant Id in both the Application and Technical User credential forms down to one or two sentences, keeping the essential info (what it is, where to find it, when it's needed). Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
The config UI, CLI help, and JSDoc comments incorrectly implied that
leaving Customer Tenant Id empty and falling back to Core Tenant Id is
a normal/working setup ('the common case where both ids are equal').
In practice the OAuth/PIAM zone id and the API system id are
provisioned independently and are effectively always different for
Xcelerator tenants, so that fallback does not produce a working auth
url. Reworded all of these to state the customer tenant id must
normally be set explicitly, without changing the fallback code itself.
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.