Skip to content

Commit 9cd8def

Browse files
committed
## Typescript SDK Changes:
* `opalmcp.groups.getGroups()`: * `request.groupTypeFilter` **Changed** * `response.results[]` **Changed** (Breaking ⚠️) * `opalmcp.uars.getUar()`: `response` **Changed** (Breaking ⚠️) * `opalmcp.uars.createUar()`: * `request` **Changed** * `response` **Changed** (Breaking ⚠️) * `opalmcp.uars.getUaRs()`: `response.results[]` **Changed** (Breaking ⚠️) * `opalmcp.nonHumanIdentities.getNhis()`: `response.results[]` **Changed** (Breaking ⚠️) * `opalmcp.resources.setResourceScopedRolePermissions()`: * `request.scopedRolePermissionList.permissions[].targetType.enum(owner)` **Added** * `response.permissions[].targetType.enum(owner)` **Added** (Breaking ⚠️) * `opalmcp.resources.getResourceScopedRolePermissions()`: `response.permissions[].targetType.enum(owner)` **Added** (Breaking ⚠️) * `opalmcp.resources.getResource()`: `response` **Changed** (Breaking ⚠️) * `opalmcp.resources.createResource()`: * `request` **Changed** * `response` **Changed** (Breaking ⚠️) * `opalmcp.resources.getResources()`: * `request` **Changed** * `response.results[]` **Changed** (Breaking ⚠️) * `opalmcp.requests.approveRequest()`: `response` **Changed** (Breaking ⚠️) * `opalmcp.groupBindings.getGroupBinding()`: `response.groups[].groupType` **Changed** (Breaking ⚠️) * `opalmcp.groupBindings.createGroupBinding()`: `response.groups[].groupType` **Changed** (Breaking ⚠️) * `opalmcp.groupBindings.getGroupBindings()`: `response.results[].groups[].groupType` **Changed** (Breaking ⚠️) * `opalmcp.groups.getGroup()`: `response` **Changed** (Breaking ⚠️) * `opalmcp.apps.getApps()`: * `request.appTypeFilter` **Changed** * `response.apps[].appType` **Changed** (Breaking ⚠️) * `opalmcp.apps.getApp()`: `response.appType` **Changed** (Breaking ⚠️) * `opalmcp.groups.createGroup()`: * `request` **Changed** * `response` **Changed** (Breaking ⚠️) * `opalmcp.delegations.deleteDelegation()`: **Added** * `opalmcp.requests.getRequests()`: * `request` **Changed** * `response.requests[]` **Changed** * `opalmcp.groups.updateGroups()`: * `request.groups[]` **Changed** * `response.groups[]` **Changed** * `opalmcp.configurationTemplates.createConfigurationTemplate()`: * `request.requestConfigurations[].extensionsDurationInMinutes` **Added** * `opalmcp.scopedRolePermissions.setResourceScopedRolePermissions()`: **Removed** (Breaking ⚠️) * `opalmcp.groups.getGroupContainingGroups()`: `response.containingGroups[]` **Changed** * `opalmcp.groups.addGroupContainingGroup()`: * `request.groupContainingGroup` **Changed** * `response` **Changed** * `opalmcp.groups.getGroupContainingGroup()`: `response` **Changed** * `opalmcp.groups.getGroupUsers()`: * `request` **Changed** * `response` **Changed** * `opalmcp.groups.updateGroupUser()`: `response` **Changed** * `opalmcp.groups.addGroupUser()`: `response` **Changed** * `opalmcp.scopedRolePermissions.getResourceScopedRolePermissions()`: **Removed** (Breaking ⚠️) * `opalmcp.groups.getUserGroups()`: **Added** * `opalmcp.delegations.getDelegation()`: **Added** * `opalmcp.idpGroupMappings.getIdpGroupMappings()`: `response.mappings[].appResourceId` **Added** * `opalmcp.configurationTemplates.updateConfigurationTemplate()`: * `request.requestConfigurations[].extensionsDurationInMinutes` **Added** * `opalmcp.requests.getRequestsRelay()`: `response.edges[].node` **Changed** * `opalmcp.requests.getRequest()`: `response` **Changed** * `opalmcp.delegations.createDelegation()`: **Added** * `opalmcp.delegations.getDelegations()`: **Added** * `opalmcp.resources.updateResources()`: * `request.resources[]` **Changed** * `response.resources[]` **Changed** * `opalmcp.users.getRemoteUsers()`: **Added** * `opalmcp.resources.getResourceGroups()`: **Added** * `opalmcp.resources.getResourceUsers()`: `response` **Changed** * `opalmcp.resources.getUserResources()`: **Added** * `opalmcp.requests.createRequestComment()`: **Added** * `opalmcp.requests.getRequestComments()`: **Added** * `opalmcp.requests.denyRequest()`: **Added** * `opalmcp.idpGroupMappings.createIdpGroupMapping()`: **Added** * `opalmcp.idpGroupMappings.getIdpGroupMapping()`: **Added**
1 parent 6a02e81 commit 9cd8def

622 files changed

Lines changed: 20416 additions & 7696 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.devcontainer/setup.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@ curl -fsSL https://raw.githubusercontent.com/speakeasy-api/speakeasy/main/instal
77
rmdir samples || true
88
mkdir samples
99

10-
npm install
11-
npm install -g ts-node
10+
npm install --ignore-scripts
11+
npm install -g ts-node --ignore-scripts
1212
npm link
1313
npm link opal-mcp
1414
TS_CONFIG_CONTENT=$(cat <<EOL

.speakeasy/gen.lock

Lines changed: 5196 additions & 937 deletions
Large diffs are not rendered by default.

.speakeasy/gen.yaml

Lines changed: 28 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,32 +16,47 @@ generation:
1616
requestResponseComponentNamesFeb2024: true
1717
securityFeb2025: true
1818
sharedErrorComponentsApr2025: false
19+
sharedNestedComponentsJan2026: false
1920
auth:
2021
oAuth2ClientCredentialsEnabled: true
2122
oAuth2PasswordEnabled: true
23+
hoistGlobalSecurity: true
24+
schemas:
25+
allOfMergeStrategy: shallowMerge
26+
requestBodyFieldName: ""
27+
versioningStrategy: automatic
28+
persistentEdits: {}
2229
tests:
2330
generateTests: true
2431
generateNewTests: false
2532
skipResponseBodyAssertions: false
2633
typescript:
27-
version: 0.7.0
34+
version: 0.8.0
35+
acceptHeaderEnum: true
2836
additionalDependencies:
2937
dependencies: {}
3038
devDependencies: {}
3139
peerDependencies: {}
3240
additionalPackageJSON: {}
41+
additionalScripts: {}
42+
alwaysIncludeInboundAndOutbound: false
3343
author: Speakeasy
3444
baseErrorName: OpalMcpError
3545
clientServerStatusCodesAsErrors: true
36-
constFieldsAlwaysOptional: true
46+
constFieldsAlwaysOptional: false
3747
defaultErrorName: APIError
3848
enableCustomCodeRegions: false
3949
enableMCPServer: true
4050
enableReactQuery: false
4151
enumFormat: union
4252
envVarPrefix: OPALMCP
53+
exportZodModelNamespace: false
54+
flatAdditionalProperties: false
4355
flattenGlobalSecurity: true
4456
flatteningOrder: parameters-first
57+
formStringArrayEncodeMode: encoded-string
58+
forwardCompatibleEnumsByDefault: false
59+
forwardCompatibleUnionsByDefault: "false"
4560
generateExamples: true
4661
imports:
4762
option: openapi
@@ -51,13 +66,24 @@ typescript:
5166
operations: models/operations
5267
shared: models/components
5368
webhooks: models/webhooks
69+
inferUnionDiscriminators: true
5470
inputModelSuffix: input
5571
jsonpath: rfc9535
72+
laxMode: strict
73+
legacyFileNaming: true
5674
maxMethodParams: 0
5775
methodArguments: require-security-and-request
76+
modelPropertyCasing: camel
5877
moduleFormat: dual
78+
multipartArrayFormat: legacy
5979
outputModelSuffix: output
6080
packageName: opal-mcp
81+
preApplyUnionDiscriminators: true
82+
preserveModelFieldNames: false
6183
responseFormat: flat
84+
sseFlatResponse: false
6285
templateVersion: v2
86+
unionStrategy: left-to-right
87+
usageSDKInitImports: []
6388
useIndexModules: true
89+
zodVersion: v3

.speakeasy/workflow.lock

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,21 @@
1-
speakeasyVersion: 1.592.1
1+
speakeasyVersion: 1.708.2
22
sources:
33
Opal API:
44
sourceNamespace: opal-api
5-
sourceRevisionDigest: sha256:4a4bd5ee1457eec63bff5d655817c4b617e109ead6e9f1132644d856d9ff2209
6-
sourceBlobDigest: sha256:353c5629289a76065ee83e77014e064454e57c4eb73955c10c6b018b9da09623
5+
sourceRevisionDigest: sha256:7d9ed6d1fba0cd0f8db24f5a23d89cbb836a410ef0af81a37dd2e06f350c0089
6+
sourceBlobDigest: sha256:34731d2e05d37a9bc9e7f24f4235831a6c7fb102e58cb33db4fa2ab0375e05b1
77
tags:
88
- latest
9+
- speakeasy-sdk-regen-1762733295
910
- "1.0"
1011
targets:
1112
opal-mcp:
1213
source: Opal API
1314
sourceNamespace: opal-api
14-
sourceRevisionDigest: sha256:4a4bd5ee1457eec63bff5d655817c4b617e109ead6e9f1132644d856d9ff2209
15-
sourceBlobDigest: sha256:353c5629289a76065ee83e77014e064454e57c4eb73955c10c6b018b9da09623
15+
sourceRevisionDigest: sha256:7d9ed6d1fba0cd0f8db24f5a23d89cbb836a410ef0af81a37dd2e06f350c0089
16+
sourceBlobDigest: sha256:34731d2e05d37a9bc9e7f24f4235831a6c7fb102e58cb33db4fa2ab0375e05b1
1617
codeSamplesNamespace: opal-api-typescript-code-samples
17-
codeSamplesRevisionDigest: sha256:744f37e853a8eda4f41141b669cc712de2583e769c3ab8d2dae7ab10f54b390f
18+
codeSamplesRevisionDigest: sha256:8f1b17060d062ebb635a606ed9c6e97ad5d34c85f851f13f1a4851a3859f6a69
1819
workflow:
1920
workflowVersion: 1.0.0
2021
speakeasyVersion: latest

README.md

Lines changed: 64 additions & 49 deletions
Large diffs are not rendered by default.

RELEASES.md

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,4 +18,14 @@ Based on:
1818
### Generated
1919
- [typescript v0.1.0] .
2020
### Releases
21-
- [NPM v0.1.0] https://www.npmjs.com/package/opal-mcp/v/0.1.0 - .
21+
- [NPM v0.1.0] https://www.npmjs.com/package/opal-mcp/v/0.1.0 - .
22+
23+
## 2026-02-07 00:10:54
24+
### Changes
25+
Based on:
26+
- OpenAPI Doc
27+
- Speakeasy CLI 1.708.2 (2.811.4) https://github.com/speakeasy-api/speakeasy
28+
### Generated
29+
- [typescript v0.8.0] .
30+
### Releases
31+
- [NPM v0.8.0] https://www.npmjs.com/package/opal-mcp/v/0.8.0 - .

RUNTIMES.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@
22

33
This SDK is intended to be used in JavaScript runtimes that support ECMAScript 2020 or newer. The SDK uses the following features:
44

5-
* [Web Fetch API][web-fetch]
6-
* [Web Streams API][web-streams] and in particular `ReadableStream`
7-
* [Async iterables][async-iter] using `Symbol.asyncIterator`
5+
- [Web Fetch API][web-fetch]
6+
- [Web Streams API][web-streams] and in particular `ReadableStream`
7+
- [Async iterables][async-iter] using `Symbol.asyncIterator`
88

99
[web-fetch]: https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API
1010
[web-streams]: https://developer.mozilla.org/en-US/docs/Web/API/Streams_API
@@ -25,7 +25,7 @@ Runtime environments that are explicitly supported are:
2525

2626
The following `tsconfig.json` options are recommended for projects using this
2727
SDK in order to get static type support for features like async iterables,
28-
streams and `fetch`-related APIs ([`for await...of`][for-await-of],
28+
streams and `fetch`-related APIs ([`for await...of`][for-await-of],
2929
[`AbortSignal`][abort-signal], [`Request`][request], [`Response`][response] and
3030
so on):
3131

@@ -38,11 +38,11 @@ so on):
3838
{
3939
"compilerOptions": {
4040
"target": "es2020", // or higher
41-
"lib": ["es2020", "dom", "dom.iterable"],
41+
"lib": ["es2020", "dom", "dom.iterable"]
4242
}
4343
}
4444
```
4545

4646
While `target` can be set to older ECMAScript versions, it may result in extra,
4747
unnecessary compatibility code being generated if you are not targeting old
48-
runtimes.
48+
runtimes.
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
# AnthropicWorkspace
2+
3+
Remote info for Anthropic workspace.
4+
5+
## Example Usage
6+
7+
```typescript
8+
import { AnthropicWorkspace } from "opal-mcp/models/components";
9+
10+
let value: AnthropicWorkspace = {
11+
workspaceId: "ws-123456",
12+
};
13+
```
14+
15+
## Fields
16+
17+
| Field | Type | Required | Description | Example |
18+
| ------------------------ | ------------------------ | ------------------------ | ------------------------ | ------------------------ |
19+
| `workspaceId` | *string* | :heavy_check_mark: | The id of the workspace. | ws-123456 |

docs/models/components/apptypeenum.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,5 +13,5 @@ let value: AppTypeEnum = "OKTA_DIRECTORY";
1313
## Values
1414

1515
```typescript
16-
"ACTIVE_DIRECTORY" | "AZURE_AD" | "AWS" | "AWS_SSO" | "CUSTOM" | "DUO" | "GCP" | "GIT_HUB" | "GIT_LAB" | "GOOGLE_GROUPS" | "GOOGLE_WORKSPACE" | "LDAP" | "MARIADB" | "MONGO" | "MONGO_ATLAS" | "MYSQL" | "OKTA_DIRECTORY" | "OPAL" | "PAGERDUTY" | "SALESFORCE" | "TAILSCALE" | "TELEPORT" | "WORKDAY"
16+
"ACTIVE_DIRECTORY" | "ANTHROPIC" | "AZURE_AD" | "AWS" | "AWS_SSO" | "COUPA" | "CURSOR" | "CUSTOM" | "DATABRICKS" | "DATASTAX_ASTRA" | "DUO" | "GCP" | "GIT_HUB" | "GIT_LAB" | "GOOGLE_GROUPS" | "GOOGLE_WORKSPACE" | "ILEVEL" | "INCIDENTIO" | "LDAP" | "MARIADB" | "MONGO" | "MONGO_ATLAS" | "MYSQL" | "OKTA_DIRECTORY" | "OPENAI_PLATFORM" | "OPAL" | "PAGERDUTY" | "SALESFORCE" | "SNOWFLAKE" | "TAILSCALE" | "TELEPORT" | "WORKDAY"
1717
```
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
# AwsRdsCluster
2+
3+
Remote info for AWS RDS cluster.
4+
5+
## Example Usage
6+
7+
```typescript
8+
import { AwsRdsCluster } from "opal-mcp/models/components";
9+
10+
let value: AwsRdsCluster = {
11+
clusterId: "demo-mysql-cluster",
12+
region: "us-east-2",
13+
resourceId: "cluster-AOO8V0XUCNU13XLZXQDQRSN0NQ",
14+
accountId: "234234234234",
15+
databaseName: "mydatabase",
16+
engine: "POSTGRESQL",
17+
};
18+
```
19+
20+
## Fields
21+
22+
| Field | Type | Required | Description | Example |
23+
| ------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------ |
24+
| `clusterId` | *string* | :heavy_check_mark: | The clusterId of the RDS cluster. | demo-mysql-cluster |
25+
| `region` | *string* | :heavy_check_mark: | The region of the RDS cluster. | us-east-2 |
26+
| `resourceId` | *string* | :heavy_check_mark: | The resourceId of the RDS cluster. | cluster-AOO8V0XUCNU13XLZXQDQRSN0NQ |
27+
| `accountId` | *string* | :heavy_check_mark: | The id of the AWS account. Required for AWS Organizations. | 234234234234 |
28+
| `databaseName` | *string* | :heavy_check_mark: | The name of the database in the RDS cluster. This can be the value of the tag `opal:database-name` or the database name. | mydatabase |
29+
| `engine` | [components.RDSEngineEnum](../../models/components/rdsengineenum.md) | :heavy_check_mark: | N/A | |

0 commit comments

Comments
 (0)