Skip to content

LAB-611 Cloud Matrix Endpoint Specifications#126

Merged
elliot-huffman merged 112 commits intomainfrom
feature/LAB-611_CMA_Endpoints_Descriptions
Mar 30, 2026
Merged

LAB-611 Cloud Matrix Endpoint Specifications#126
elliot-huffman merged 112 commits intomainfrom
feature/LAB-611_CMA_Endpoints_Descriptions

Conversation

@JonnyPound90
Copy link
Copy Markdown
Contributor

@JonnyPound90 JonnyPound90 commented Mar 11, 2026

This pull request introduces configuration changes to the workspace settings and updates to the TypeScript SDK exports. The main changes involve disabling GitHub Copilot features in the workspace and ensuring all necessary types are exported from the SDK for better TypeScript support.

EDIT:
This pull request updates the Data Gateway TypeScript SDK to version 3.2.0 and improves type exports for easier usage. The most significant changes include updating the package version and enhancing type exports for better TypeScript support.

Version Update:

  • Bumped the package version from 3.1.0 to 3.2.0 in both package.json and package-lock.json to reflect new changes and ensure correct versioning. [1] [2]

TypeScript Type Improvements:

  • Added a named export for the DataGatewayClient type from dataGatewayClient.js in index.ts to make it directly accessible to SDK consumers.

Dependency and Build Metadata:

  • Removed the libc field from several platform-specific dependency entries in package-lock.json, simplifying the lockfile and potentially improving cross-platform compatibility. [1] [2] [3] [4] [5] [6] [7] [8]

JagdishKhunti and others added 30 commits December 16, 2025 09:49
- Introduces the CloudMatrix schema to the API specification, representing cloud matrix assessment records.
- Adds the /Api/CloudMatrix/Dashboard GET endpoint for retrieving cloud matrix records with optional date filters.
- Adds the 'Cloud Matrix Assessment' tag for API documentation.
Corrected wording in the 'assessmentId' and 'discoverDate' property descriptions to improve clarity and fix typographical errors.
Changed the 'isComplete' field type from integer to boolean in the Data-Gateway.json spec, updated example values, and removed the 'format' property. This improves schema accuracy and aligns example data with the new type.
- Updated the schema name from CloudMatrix to CloudMatrixAssessmentRecord in Data-Gateway.json.
- Adjusted references, property descriptions, and example values to reflect the new naming and provide clearer documentation.
- Updated the version in package and package.lock json
…/LAB-1051_Create-OpenAPI-Spec-For-CMA-Dashboard-Data

LAB-1051
- Updated the CloudMatrixAssessment schema and related references to use 'correlationId' instead of 'assessmentId'.
- Also renamed the schema from CloudMatrixAssessmentRecord to CloudMatrixAssessment.Correlation for clarity and consistency.
…elation

Updated schema references, endpoint descriptions, tags, and summaries to use 'CloudMatrix.Correlation' instead of 'CloudMatrixAssessment.Correlation' for consistency and clarity in the API specification.
Updated schema references and descriptions from 'CloudMatrix.Correlation' to 'CloudMatrixCorrelationRecord' for clarity and consistency. Also updated related descriptions and titles to reflect the new naming, and adjusted the operation name and description for the cloud matrix feature.
Renamed the tag from 'Cloud Matrix Correlation' to 'Cloud Matrix' and revised the description for clarity in the Data-Gateway.json specification.
Revised descriptions for CloudMatrixCorrelationRecord and Cloud Matrix to improve clarity and consistency in terminology within the Data-Gateway.json specification.
…/LAB-1198_Update_OpenAPI_Description_For_CM_Updated_Table

Feature/lab 1198 update open api description for cm updated table
…create-open-api-spec

LAB-1054 Create OpenAPI Spec for GET /Api/CloudMatrix/Assessment endpoint
…-open-api-update-get-dashboard-spec-to-use-template

LAB-1367 Rename publisher to template for Cloud Matrix Correlation Record.
Fix the example values of the get Dashboard endpoint to values to align with the current database schema.
Initial check in
- Normalize and enrich the MyData-Gateway OpenAPI schema: correct OpenAPI version.
- Introduce a reusable Uuid schema, and reorganize many component schemas under a CloudMatrix namespace.
- Update numerous $ref targets to the new paths.
- Replace single `example` fields with `examples` arrays, and add descriptive `description` and `examples` metadata across schemas.
- Expand and restructure example payloads (assessment, displacements, features, costs) and adjust a few content values.
- These changes improve schema clarity, reuse, and sample coverage for validation and documentation.
- Refactor and expand the CloudMatrix definition in specs/Data-Gateway.json.
- Tighten validation (additionalProperties=false, required lists), reorder properties
- Add detailed nested component schemas (ValueAssessment, ActionPlan, UserProfile, AssessmentElement, AssessmentMetadata, YearConfig, Feature/Product/Subscription entries, Displacement/Provider/Cost types, Breakout and BreakoutFeature)
- Update examples and sample IDs/values, and fix $ref targets.
JonnyPound90 and others added 10 commits March 27, 2026 14:01
Do not need the required property as it exists on the underlying accountId object
…port/Correlation/{correlationId}/Tenant/{tenantId}/Data endpoint parameters
…nt/{accountId}/Correlation/{correlationId}/Data endpoint parameters
…nt/{accountId}/Correlation/{correlationId} and /Api/CloudMatrix/Correlation/{correlationId}/Data endpoint parameters
…-implement-internal-external-user-branching-logic

Lab 1735 implement internal external user branching logic
…llable-primitive-types

LAB-1874 - Fix OpenAPI spec for Kiota limitation.
Copilot AI review requested due to automatic review settings March 27, 2026 16:16
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 2 out of 4 changed files in this pull request and generated 1 comment.

Files not reviewed (1)
  • src/dataGateway/TypeScript/package-lock.json: Language not supported
Comments suppressed due to low confidence (8)

src/dataGateway/TypeScript/package-lock.json:1413

  • libc constraints were removed from the @unrs/resolver-binding linux-* entries. Without libc, npm may treat both the *-gnu and *-musl bindings as installable on the same Linux+CPU combination, which can cause extra/incorrect native binding installs (notably on Alpine/musl). Regenerate the lockfile in a way that preserves libc filtering (compare to src/urlShortener/TypeScript/package-lock.json where these entries include libc).
    src/dataGateway/TypeScript/package-lock.json:1427
  • libc constraints were removed from the @unrs/resolver-binding linux-* entries. Without libc, npm may treat both the *-gnu and *-musl bindings as installable on the same Linux+CPU combination, which can cause extra/incorrect native binding installs (notably on Alpine/musl). Regenerate the lockfile in a way that preserves libc filtering (compare to src/urlShortener/TypeScript/package-lock.json where these entries include libc).
    src/dataGateway/TypeScript/package-lock.json:1469
  • libc constraints were removed from the @unrs/resolver-binding linux-* entries. Without libc, npm may treat both the *-gnu and *-musl bindings as installable on the same Linux+CPU combination, which can cause extra/incorrect native binding installs (notably on Alpine/musl). Regenerate the lockfile in a way that preserves libc filtering (compare to src/urlShortener/TypeScript/package-lock.json where these entries include libc).
    src/dataGateway/TypeScript/package-lock.json:1441
  • libc constraints were removed from the @unrs/resolver-binding linux-* entries. Without libc, npm may treat both the *-gnu and *-musl bindings as installable on the same Linux+CPU combination, which can cause extra/incorrect native binding installs (notably on Alpine/musl). Regenerate the lockfile in a way that preserves libc filtering (compare to src/urlShortener/TypeScript/package-lock.json where these entries include libc).
    src/dataGateway/TypeScript/package-lock.json:1455
  • libc constraints were removed from the @unrs/resolver-binding linux-* entries. Without libc, npm may treat both the *-gnu and *-musl bindings as installable on the same Linux+CPU combination, which can cause extra/incorrect native binding installs (notably on Alpine/musl). Regenerate the lockfile in a way that preserves libc filtering (compare to src/urlShortener/TypeScript/package-lock.json where these entries include libc).
    src/dataGateway/TypeScript/package-lock.json:1483
  • libc constraints were removed from the @unrs/resolver-binding linux-* entries. Without libc, npm may treat both the *-gnu and *-musl bindings as installable on the same Linux+CPU combination, which can cause extra/incorrect native binding installs (notably on Alpine/musl). Regenerate the lockfile in a way that preserves libc filtering (compare to src/urlShortener/TypeScript/package-lock.json where these entries include libc).
    src/dataGateway/TypeScript/package-lock.json:1497
  • libc constraints were removed from the @unrs/resolver-binding linux-* entries. Without libc, npm may treat both the *-gnu and *-musl bindings as installable on the same Linux+CPU combination, which can cause extra/incorrect native binding installs (notably on Alpine/musl). Regenerate the lockfile in a way that preserves libc filtering (compare to src/urlShortener/TypeScript/package-lock.json where these entries include libc).
    src/dataGateway/TypeScript/package-lock.json:1399
  • libc constraints were removed from the @unrs/resolver-binding linux-* entries. Without libc, npm may treat both the *-gnu and *-musl bindings as installable on the same Linux+CPU combination, which can cause extra/incorrect native binding installs (notably on Alpine/musl). Regenerate the lockfile in a way that preserves libc filtering (compare to src/urlShortener/TypeScript/package-lock.json where these entries include libc).

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Update specs/Data-Gateway.json by replacing occurrences of the tenant property "displayName" with "tenantDisplayName" for tenant entries to align with the API model and ensure consistent property naming. Also add a missing newline at end of file to fix formatting.
Copy link
Copy Markdown
Contributor

@pasha-zayko pasha-zayko left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Overall changes are accurate.
There is a swap in the description of 2 paths where tenant restriction applies or does not apply.
However, there is general missing information - all paths for CloudMatrix should have descriptions updated to list all permissions (especially including all .Del permissions that were newly introduced), as code outlines, that would allow access.

pasha-zayko and others added 2 commits March 27, 2026 16:12
…-implement-internal-external-user-branching-logic

LAB-1735:- Rename displayName to tenantDisplayName in spec
…trix/Account/{accountId}/Correlation/{correlationId}/Data and /Api/CloudMatrix/Correlation/{correlationId}/Data
Copilot AI review requested due to automatic review settings March 30, 2026 10:16
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 2 out of 4 changed files in this pull request and generated 1 comment.

Files not reviewed (1)
  • src/dataGateway/TypeScript/package-lock.json: Language not supported
Comments suppressed due to low confidence (1)

src/dataGateway/TypeScript/package-lock.json:1401

  • This lockfile drops the libc constraints for the platform-specific @unrs/resolver-binding-*-gnu/*-musl packages (they now only have os/cpu). In other SDK lockfiles these entries still include libc, and removing it can cause npm to attempt installing both gnu and musl variants on the same Linux platform (larger installs and potential native install noise). Regenerate the lockfile with the repo-standard npm version/config so these constraints are preserved (or make lockfile generation consistent across SDK packages).

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Copilot AI review requested due to automatic review settings March 30, 2026 12:52
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 1 out of 3 changed files in this pull request and generated no new comments.

Files not reviewed (1)
  • src/dataGateway/TypeScript/package-lock.json: Language not supported
Comments suppressed due to low confidence (8)

src/dataGateway/TypeScript/package-lock.json:1399

  • package-lock.json removes the libc constraint from the @unrs/resolver-binding-linux-*-gnu optional binary entry. These gnu vs musl variants typically rely on the libc field to prevent installing the wrong binary on Alpine/musl vs glibc systems; removing it can break installs at runtime. This repository’s other TypeScript lockfile still includes these libc fields (e.g., src/urlShortener/TypeScript/package-lock.json), so this looks accidental—please regenerate the lockfile with the pinned npm version and keep the libc constraints (or explain why they’re safe to remove).
    src/dataGateway/TypeScript/package-lock.json:1427
  • package-lock.json drops the libc field from another @unrs/resolver-binding Linux binary (ppc64 gnu). This makes the lockfile inconsistent with the urlShortener TypeScript lockfile and can lead to incorrect binary selection on different Linux libc environments. Please regenerate/restored the libc constraints across all @unrs/resolver-binding-linux-* entries.
    src/dataGateway/TypeScript/package-lock.json:1497
  • package-lock.json removes the libc selector from the @unrs/resolver-binding-linux-x64-musl entry. This may allow the musl binary to be installed on glibc systems (and vice versa), which can break runtime resolution of native bindings. Please restore the libc constraints by regenerating the lockfile with the pinned npm version.
    src/dataGateway/TypeScript/package-lock.json:1413
  • package-lock.json removes the libc constraint from the @unrs/resolver-binding-linux-*-musl optional binary entry. Without libc: ["musl"], npm can treat the musl variant as eligible on glibc Linux (and vice versa), which can cause incorrect native bindings to be installed. Please restore by regenerating the lockfile (and keep it consistent with src/urlShortener/TypeScript/package-lock.json, which still has these constraints).
    src/dataGateway/TypeScript/package-lock.json:1441
  • package-lock.json removes the libc selector from the @unrs/resolver-binding-linux-riscv64-gnu entry. Since there is also a -musl variant for the same OS/CPU, omitting libc can cause wrong native binding installs depending on the target distro. Please restore libc by regenerating the lockfile.
    src/dataGateway/TypeScript/package-lock.json:1455
  • package-lock.json removes the libc selector from the @unrs/resolver-binding-linux-riscv64-musl entry. With only os/cpu constraints, npm can no longer reliably filter between the -gnu and -musl packages. Please restore the libc constraints by regenerating the lockfile with the repo’s pinned npm version.
    src/dataGateway/TypeScript/package-lock.json:1469
  • package-lock.json removes the libc selector from the @unrs/resolver-binding-linux-s390x-gnu entry. This changes platform filtering semantics for optional native packages and can cause installs to break on musl-based distros. Please restore the libc constraints (preferably via npm install using the pinned npm version) so the lockfile stays consistent across packages.
    src/dataGateway/TypeScript/package-lock.json:1483
  • package-lock.json removes the libc selector from the @unrs/resolver-binding-linux-x64-gnu entry. Given the presence of a corresponding -musl variant, dropping libc can lead to incorrect binary selection on Alpine vs non-Alpine Linux. Please restore by regenerating the lockfile, keeping libc constraints intact (as in src/urlShortener/TypeScript/package-lock.json).

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@elliot-huffman elliot-huffman merged commit 621fdec into main Mar 30, 2026
10 checks passed
@elliot-huffman elliot-huffman deleted the feature/LAB-611_CMA_Endpoints_Descriptions branch March 30, 2026 15:04
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.

7 participants