Skip to content

chore: bump version to 4.0.0, update in-range dependencies - #361

Open
sn0wcat wants to merge 5 commits into
masterfrom
feature/url-schema-v4
Open

sn0wcat wants to merge 5 commits into
masterfrom
feature/url-schema-v4

Conversation

@sn0wcat

@sn0wcat sn0wcat commented Sep 15, 2026

Copy link
Copy Markdown
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)

sn0wcat and others added 5 commits September 15, 2026 11:26
- 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>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant