From c3df7e726937a88d7edb478a600186eeeddc06e8 Mon Sep 17 00:00:00 2001 From: speakeasybot Date: Tue, 19 May 2026 00:27:24 +0000 Subject: [PATCH 1/2] ## Java SDK Changes: * `novu.integrations.list()`: `response.[].credentials` **Changed** * `novu.integrations.create()`: * `request.body.credentials` **Changed** * `response.credentials` **Changed** * `novu.integrations.update()`: * `request.body.credentials` **Changed** * `response.credentials` **Changed** * `novu.integrations.delete()`: `response.[].credentials` **Changed** * `novu.integrations.setPrimary()`: `response.credentials` **Changed** * `novu.integrations.listActive()`: `response.[].credentials` **Changed** --- .speakeasy/gen.lock | 36 ++--- .speakeasy/gen.yaml | 2 +- .speakeasy/workflow.lock | 12 +- README.md | 4 +- RELEASES.md | 12 +- docs/models/components/CredentialsDto.md | 107 ++++++------- gradle.properties | 2 +- src/main/java/co/novu/SDKConfiguration.java | 4 +- .../models/components/CredentialsDto.java | 144 +++++++++++++++++- 9 files changed, 235 insertions(+), 88 deletions(-) diff --git a/.speakeasy/gen.lock b/.speakeasy/gen.lock index 0e524d7..bf230f5 100644 --- a/.speakeasy/gen.lock +++ b/.speakeasy/gen.lock @@ -1,19 +1,19 @@ lockVersion: 2.0.0 id: caaab73e-db12-4a8b-93a0-536b113afa44 management: - docChecksum: fe70f45d3eb67d8bc426fc73eab4236b + docChecksum: 8fc2833210e44a33f6b176eeec44825e docVersion: 3.15.0 - speakeasyVersion: 1.763.0 - generationVersion: 2.884.0 - releaseVersion: 3.16.0 - configChecksum: 6fb3168b569bb329314b0b442e4b6a38 + speakeasyVersion: 1.763.1 + generationVersion: 2.884.4 + releaseVersion: 3.16.1 + configChecksum: edb9abc162feb00c1ecbda2cfb951abc repoURL: https://github.com/novuhq/novu-java.git installationURL: https://github.com/novuhq/novu-java published: true persistentEdits: - generation_id: c848417d-670b-4a4c-96a8-639b4b24af12 - pristine_commit_hash: 29633b410ee727e9dd971f1601425966f17b5772 - pristine_tree_hash: 77731a7c2168bce509e223cfa096fb7dda57f49c + generation_id: 0a671a22-be8c-411a-ae5a-6ef8008083fa + pristine_commit_hash: 2cb42aad9f80358a426675cee860f104011867ea + pristine_tree_hash: 0fce09e0e464efa005a36070763409bcca20631e features: java: additionalDependencies: 0.1.0 @@ -474,8 +474,8 @@ trackedFiles: pristine_git_object: 44a3ee8358425717003033c33b00a0ab16744748 docs/models/components/CredentialsDto.md: id: 6ebe08550c4d - last_write_checksum: sha1:11dc19e68a7807be8f21bd8cb96bb6f58d87cb65 - pristine_git_object: 50cbb299d4320b5d217a8502c276cac1f46f8c55 + last_write_checksum: sha1:0ab2da45634ce4e272363846f96a2732ad4e9657 + pristine_git_object: e1fcc7ce7d1860492f3422969c3ea5bc1a9ba55b docs/models/components/CustomControlDto.md: id: d230a1b3bbc2 last_write_checksum: sha1:7de06ca568306819ce8390730217c8aa4486fa4a @@ -3782,8 +3782,8 @@ trackedFiles: pristine_git_object: ebaa3566af4ce4249639e5a2dd8bca0edd2979bf gradle.properties: id: 2afbb999f001 - last_write_checksum: sha1:738f88cec3a0f1ab09d4b05ad1452281c6e61b03 - pristine_git_object: ad02fab9117d572a9c9518afcb9ac6cf0c2082f6 + last_write_checksum: sha1:e9ac30a14c2a9655de774f12ebcf12e4b4238935 + pristine_git_object: 9af863ef9184d32f2e20ad45b8d13fb6600bc062 gradle/wrapper/gradle-wrapper.jar: id: ec27dae6e852 last_write_checksum: sha1:f725fb1467084142d74fd7cd8eab691ab3442611 @@ -4026,8 +4026,8 @@ trackedFiles: pristine_git_object: 0bc7879c4969a671f7b07828c633f616543adfd5 src/main/java/co/novu/SDKConfiguration.java: id: c8d0f1a7e696 - last_write_checksum: sha1:7a797d58ea0aa3f96e17ed1ab96ccdaeb5767a42 - pristine_git_object: 320c1f8dbbd12a89f9a1520054f11c309e0a680f + last_write_checksum: sha1:7da1ef506ee3adce2fbb43db68f09e79796a8251 + pristine_git_object: 7190dd4d95e254978186010b94d1f951b031e0e8 src/main/java/co/novu/SecuritySource.java: id: 8b19fc2daaf0 last_write_checksum: sha1:b876d0191046515ce80a9ea832f7c9b06bcfaa40 @@ -4522,8 +4522,8 @@ trackedFiles: pristine_git_object: bb0e467b201ab0a957c3e4407163bdf043cff250 src/main/java/co/novu/models/components/CredentialsDto.java: id: a766b0749a47 - last_write_checksum: sha1:1b279fe98d94803c4ba8674f728a470025db3b50 - pristine_git_object: d821b548844aac361e0252cee867d3170b1a8fb3 + last_write_checksum: sha1:b55c9ee5f2b62382682950b77a5009dca73cb17a + pristine_git_object: 2fc24bfdd41171913f3d2a07c23318f12a18588f src/main/java/co/novu/models/components/CustomControlDto.java: id: 177f30fce4e3 last_write_checksum: sha1:4c61c2c720fac06d1124c2a46e386679a5ff8777 @@ -12202,7 +12202,7 @@ examples: "400": application/json: {"statusCode": 404, "timestamp": "2024-12-12T13:00:00Z", "path": "/api/v1/resource", "message": "xx xx xx ", "ctx": {"workflowId": "some_wf_id", "stepId": "some_wf_id"}, "errorId": "abc123"} "422": - application/json: {"statusCode": 404, "timestamp": "2024-12-12T13:00:00Z", "path": "/api/v1/resource", "message": "xx xx xx ", "ctx": {"workflowId": "some_wf_id", "stepId": "some_wf_id"}, "errorId": "abc123", "errors": {"fieldName1": {"messages": ["Field is required", "Must be a valid email address"], "value": "invalidEmail"}, "fieldName2": {"messages": ["Must be at least 18 years old"], "value": 17}, "fieldName3": {"messages": ["Must be a boolean value"], "value": true}, "fieldName4": {"messages": ["Must be a valid object"], "value": []}, "fieldName5": {"messages": ["Field is missing"], "value": null}, "fieldName6": {"messages": ["Undefined value"]}}} + application/json: {"statusCode": 404, "timestamp": "2024-12-12T13:00:00Z", "path": "/api/v1/resource", "message": "xx xx xx ", "ctx": {"workflowId": "some_wf_id", "stepId": "some_wf_id"}, "errorId": "abc123", "errors": {"fieldName1": {"messages": ["Field is required", "Must be a valid email address"], "value": "invalidEmail"}, "fieldName2": {"messages": ["Must be at least 18 years old"], "value": 17}, "fieldName3": {"messages": ["Must be a boolean value"], "value": true}, "fieldName4": {"messages": ["Must be a valid object"], "value": {}}, "fieldName5": {"messages": ["Field is missing"], "value": null}, "fieldName6": {"messages": ["Undefined value"]}}} "500": application/json: {"statusCode": 404, "timestamp": "2024-12-12T13:00:00Z", "path": "/api/v1/resource", "message": "xx xx xx ", "ctx": {"workflowId": "some_wf_id", "stepId": "some_wf_id"}, "errorId": "abc123"} DomainsController_diagnoseDomain: @@ -12408,4 +12408,4 @@ examples: "500": application/json: {"statusCode": 404, "timestamp": "2024-12-12T13:00:00Z", "path": "/api/v1/resource", "message": "xx xx xx ", "ctx": {"workflowId": "some_wf_id", "stepId": "some_wf_id"}, "errorId": "abc123"} examplesVersion: 1.0.2 -releaseNotes: "## Java SDK Changes:\n* `novu.workflows.create()`: \n * `request.body.steps[].union(http_request).controlValues.union(HttpRequestControlDto).body` **Changed** (Breaking ⚠️)\n * `response.steps[].union(http_request)` **Changed** (Breaking ⚠️)\n* `novu.workflows.sync()`: `response.steps[].union(http_request)` **Changed** (Breaking ⚠️)\n* `novu.workflows.modify()`: `response.steps[].union(http_request)` **Changed** (Breaking ⚠️)\n* `novu.workflows.workflowDetails()`: `response.steps[].union(http_request)` **Changed** (Breaking ⚠️)\n* `novu.workflows.update()`: \n * `request.body.steps[].union(http_request).controlValues.union(HttpRequestControlDto).body` **Changed** (Breaking ⚠️)\n * `response.steps[].union(http_request)` **Changed** (Breaking ⚠️)\n* `novu.domains.routes.create()`: **Added**\n* `novu.domains.create()`: **Added**\n* `novu.domains.autoConfigure.retrieve()`: **Added**\n* `novu.domains.autoConfigure.start()`: **Added**\n* `novu.domains.routes.list()`: **Added**\n* `novu.domains.list()`: **Added**\n* `novu.domains.routes.retrieve()`: **Added**\n* `novu.domains.routes.update()`: **Added**\n* `novu.domains.routes.delete()`: **Added**\n* `novu.domains.routes.test()`: **Added**\n* `novu.integrations.generateConnectOAuthUrl()`: **Added**\n* `novu.integrations.generateLinkUserOAuthUrl()`: **Added**\n* `novu.layouts.duplicate()`: \n * `request.body.layoutId` **Added**\n* `novu.domains.diagnose()`: **Added**\n* `novu.domains.delete()`: **Added**\n* `novu.domains.update()`: **Added**\n* `novu.domains.retrieve()`: **Added**\n* `novu.domains.verify()`: **Added**\n* `novu.channelConnections.list()`: \n * `request.providerId` **Changed**\n * `response.data[].providerId` **Changed**\n* `novu.channelConnections.create()`: \n * `request.body.connectionMode` **Added**\n * `response.providerId` **Changed**\n* `novu.channelConnections.retrieve()`: `response.providerId` **Changed**\n* `novu.channelConnections.update()`: `response.providerId` **Changed**\n* `novu.channelEndpoints.list()`: \n * `request.providerId` **Changed**\n * `response.data[].providerId` **Changed**\n* `novu.channelEndpoints.create()`: `response.providerId` **Changed**\n* `novu.channelEndpoints.get()`: `response.providerId` **Changed**\n* `novu.channelEndpoints.update()`: `response.providerId` **Changed**\n* `novu.integrations.list()`: `response.[]` **Changed**\n* `novu.integrations.create()`: \n * `request.body` **Changed**\n * `response` **Changed**\n* `novu.integrations.update()`: \n * `request.body.credentials` **Changed**\n * `response` **Changed**\n* `novu.integrations.delete()`: `response.[]` **Changed**\n* `novu.integrations.setPrimary()`: `response` **Changed**\n* `novu.integrations.listActive()`: `response.[]` **Changed**\n* `novu.integrations.generateChatOAuthUrl()`: **Deprecated**\n* `novu.integrations.generateChatOAuthUrl()`: `request.body` **Changed**\n* `novu.notifications.list()`: `response.data[].jobs[].executionDetails[].providerId` **Changed**\n* `novu.notifications.get()`: `response.jobs[].executionDetails[].providerId` **Changed**\n" +releaseNotes: "## Java SDK Changes:\n* `novu.integrations.list()`: `response.[].credentials` **Changed**\n* `novu.integrations.create()`: \n * `request.body.credentials` **Changed**\n * `response.credentials` **Changed**\n* `novu.integrations.update()`: \n * `request.body.credentials` **Changed**\n * `response.credentials` **Changed**\n* `novu.integrations.delete()`: `response.[].credentials` **Changed**\n* `novu.integrations.setPrimary()`: `response.credentials` **Changed**\n* `novu.integrations.listActive()`: `response.[].credentials` **Changed**\n" diff --git a/.speakeasy/gen.yaml b/.speakeasy/gen.yaml index 21b1d79..97f5902 100644 --- a/.speakeasy/gen.yaml +++ b/.speakeasy/gen.yaml @@ -31,7 +31,7 @@ generation: generateNewTests: true skipResponseBodyAssertions: false java: - version: 3.16.0 + version: 3.16.1 additionalDependencies: [] additionalPlugins: [] artifactID: novu-java diff --git a/.speakeasy/workflow.lock b/.speakeasy/workflow.lock index b18459b..8a67bdd 100644 --- a/.speakeasy/workflow.lock +++ b/.speakeasy/workflow.lock @@ -1,4 +1,4 @@ -speakeasyVersion: 1.763.0 +speakeasyVersion: 1.763.1 sources: 'DEPRECATED: Novu API. Use -openapi.{json,yaml} instead.': sourceNamespace: novu-oas @@ -9,8 +9,8 @@ sources: - 3.12.0 novu-OAS: sourceNamespace: novu-oas - sourceRevisionDigest: sha256:b0153e43959ae1e379bfb479423ddd197c7fa43ec7ffec968c4cea6d5ced7809 - sourceBlobDigest: sha256:df2166cd1ac9e9195d7942c6b32551b660f9b4e7d8a149de22a69b86bd10bb29 + sourceRevisionDigest: sha256:1b87a8033284d984078b30efcae3370debacdf2586ca202754598acffeb13115 + sourceBlobDigest: sha256:a3052e960a73c09fdde0ddae9fdacf5bcea5031986792c0c611223ee2790ec74 tags: - latest - 3.15.0 @@ -18,10 +18,10 @@ targets: novu: source: novu-OAS sourceNamespace: novu-oas - sourceRevisionDigest: sha256:b0153e43959ae1e379bfb479423ddd197c7fa43ec7ffec968c4cea6d5ced7809 - sourceBlobDigest: sha256:df2166cd1ac9e9195d7942c6b32551b660f9b4e7d8a149de22a69b86bd10bb29 + sourceRevisionDigest: sha256:1b87a8033284d984078b30efcae3370debacdf2586ca202754598acffeb13115 + sourceBlobDigest: sha256:a3052e960a73c09fdde0ddae9fdacf5bcea5031986792c0c611223ee2790ec74 codeSamplesNamespace: novu-oas-java-code-samples - codeSamplesRevisionDigest: sha256:51cc3f60750824baf3b1059a1a590859f5305c57462d97c01c6453999aaa0bf7 + codeSamplesRevisionDigest: sha256:01be7579e2de8e54487f8735bf3486a4ccc7fafbe243e1ae6d320f27d9b74daf workflow: workflowVersion: 1.0.0 speakeasyVersion: latest diff --git a/README.md b/README.md index 6a03c86..1ff885f 100644 --- a/README.md +++ b/README.md @@ -74,7 +74,7 @@ The samples below show how a published SDK artifact is used: Gradle: ```groovy -implementation 'co.novu:novu-java:3.16.0' +implementation 'co.novu:novu-java:3.16.1' ``` Maven: @@ -82,7 +82,7 @@ Maven: co.novu novu-java - 3.16.0 + 3.16.1 ``` diff --git a/RELEASES.md b/RELEASES.md index 64d63fa..707ceda 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -38,4 +38,14 @@ Based on: ### Generated - [java v3.16.0] . ### Releases -- [Maven Central v3.16.0] https://central.sonatype.com/artifact/co.novu/novu-java/3.16.0 - . \ No newline at end of file +- [Maven Central v3.16.0] https://central.sonatype.com/artifact/co.novu/novu-java/3.16.0 - . + +## 2026-05-19 00:25:16 +### Changes +Based on: +- OpenAPI Doc +- Speakeasy CLI 1.763.1 (2.884.4) https://github.com/speakeasy-api/speakeasy +### Generated +- [java v3.16.1] . +### Releases +- [Maven Central v3.16.1] https://central.sonatype.com/artifact/co.novu/novu-java/3.16.1 - . \ No newline at end of file diff --git a/docs/models/components/CredentialsDto.md b/docs/models/components/CredentialsDto.md index 50cbb29..e1fcc7c 100644 --- a/docs/models/components/CredentialsDto.md +++ b/docs/models/components/CredentialsDto.md @@ -3,55 +3,58 @@ ## Fields -| Field | Type | Required | Description | -| -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -| `apiKey` | *Optional\* | :heavy_minus_sign: | N/A | -| `user` | *Optional\* | :heavy_minus_sign: | N/A | -| `secretKey` | *Optional\* | :heavy_minus_sign: | N/A | -| `domain` | *Optional\* | :heavy_minus_sign: | N/A | -| `password` | *Optional\* | :heavy_minus_sign: | N/A | -| `host` | *Optional\* | :heavy_minus_sign: | N/A | -| `port` | *Optional\* | :heavy_minus_sign: | N/A | -| `secure` | *Optional\* | :heavy_minus_sign: | N/A | -| `region` | *Optional\* | :heavy_minus_sign: | N/A | -| `accountSid` | *Optional\* | :heavy_minus_sign: | N/A | -| `messageProfileId` | *Optional\* | :heavy_minus_sign: | N/A | -| `token` | *Optional\* | :heavy_minus_sign: | N/A | -| `from` | *Optional\* | :heavy_minus_sign: | N/A | -| `senderName` | *Optional\* | :heavy_minus_sign: | N/A | -| `projectName` | *Optional\* | :heavy_minus_sign: | N/A | -| `applicationId` | *Optional\* | :heavy_minus_sign: | N/A | -| `clientId` | *Optional\* | :heavy_minus_sign: | N/A | -| `requireTls` | *Optional\* | :heavy_minus_sign: | N/A | -| `ignoreTls` | *Optional\* | :heavy_minus_sign: | N/A | -| `tlsOptions` | [Optional\](../../models/components/TlsOptions.md) | :heavy_minus_sign: | N/A | -| `baseUrl` | *Optional\* | :heavy_minus_sign: | N/A | -| `webhookUrl` | *Optional\* | :heavy_minus_sign: | N/A | -| `redirectUrl` | *Optional\* | :heavy_minus_sign: | N/A | -| `hmac` | *Optional\* | :heavy_minus_sign: | N/A | -| `serviceAccount` | *Optional\* | :heavy_minus_sign: | N/A | -| `ipPoolName` | *Optional\* | :heavy_minus_sign: | N/A | -| `apiKeyRequestHeader` | *Optional\* | :heavy_minus_sign: | N/A | -| `secretKeyRequestHeader` | *Optional\* | :heavy_minus_sign: | N/A | -| `idPath` | *Optional\* | :heavy_minus_sign: | N/A | -| `datePath` | *Optional\* | :heavy_minus_sign: | N/A | -| `apiToken` | *Optional\* | :heavy_minus_sign: | N/A | -| `authenticateByToken` | *Optional\* | :heavy_minus_sign: | N/A | -| `authenticationTokenKey` | *Optional\* | :heavy_minus_sign: | N/A | -| `instanceId` | *Optional\* | :heavy_minus_sign: | N/A | -| `alertUid` | *Optional\* | :heavy_minus_sign: | N/A | -| `title` | *Optional\* | :heavy_minus_sign: | N/A | -| `imageUrl` | *Optional\* | :heavy_minus_sign: | N/A | -| `state` | *Optional\* | :heavy_minus_sign: | N/A | -| `externalLink` | *Optional\* | :heavy_minus_sign: | N/A | -| `channelId` | *Optional\* | :heavy_minus_sign: | N/A | -| `phoneNumberIdentification` | *Optional\* | :heavy_minus_sign: | N/A | -| `accessKey` | *Optional\* | :heavy_minus_sign: | N/A | -| `appSid` | *Optional\* | :heavy_minus_sign: | N/A | -| `senderId` | *Optional\* | :heavy_minus_sign: | N/A | -| `tenantId` | *Optional\* | :heavy_minus_sign: | N/A | -| `appIOBaseUrl` | *Optional\* | :heavy_minus_sign: | N/A | -| `signingSecret` | *Optional\* | :heavy_minus_sign: | N/A | -| `outboundIntegrationId` | *Optional\* | :heavy_minus_sign: | N/A | -| `useFromAddressOverride` | *Optional\* | :heavy_minus_sign: | N/A | -| `fromAddressOverride` | *Optional\* | :heavy_minus_sign: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `apiKey` | *Optional\* | :heavy_minus_sign: | N/A | +| `user` | *Optional\* | :heavy_minus_sign: | N/A | +| `secretKey` | *Optional\* | :heavy_minus_sign: | N/A | +| `domain` | *Optional\* | :heavy_minus_sign: | N/A | +| `password` | *Optional\* | :heavy_minus_sign: | N/A | +| `host` | *Optional\* | :heavy_minus_sign: | N/A | +| `port` | *Optional\* | :heavy_minus_sign: | N/A | +| `secure` | *Optional\* | :heavy_minus_sign: | N/A | +| `region` | *Optional\* | :heavy_minus_sign: | N/A | +| `accountSid` | *Optional\* | :heavy_minus_sign: | N/A | +| `messageProfileId` | *Optional\* | :heavy_minus_sign: | N/A | +| `token` | *Optional\* | :heavy_minus_sign: | N/A | +| `from` | *Optional\* | :heavy_minus_sign: | N/A | +| `senderName` | *Optional\* | :heavy_minus_sign: | N/A | +| `projectName` | *Optional\* | :heavy_minus_sign: | N/A | +| `applicationId` | *Optional\* | :heavy_minus_sign: | N/A | +| `clientId` | *Optional\* | :heavy_minus_sign: | N/A | +| `requireTls` | *Optional\* | :heavy_minus_sign: | N/A | +| `ignoreTls` | *Optional\* | :heavy_minus_sign: | N/A | +| `tlsOptions` | [Optional\](../../models/components/TlsOptions.md) | :heavy_minus_sign: | N/A | +| `baseUrl` | *Optional\* | :heavy_minus_sign: | N/A | +| `webhookUrl` | *Optional\* | :heavy_minus_sign: | N/A | +| `redirectUrl` | *Optional\* | :heavy_minus_sign: | N/A | +| `hmac` | *Optional\* | :heavy_minus_sign: | N/A | +| `serviceAccount` | *Optional\* | :heavy_minus_sign: | N/A | +| `ipPoolName` | *Optional\* | :heavy_minus_sign: | N/A | +| `apiKeyRequestHeader` | *Optional\* | :heavy_minus_sign: | N/A | +| `secretKeyRequestHeader` | *Optional\* | :heavy_minus_sign: | N/A | +| `idPath` | *Optional\* | :heavy_minus_sign: | N/A | +| `datePath` | *Optional\* | :heavy_minus_sign: | N/A | +| `apiToken` | *Optional\* | :heavy_minus_sign: | N/A | +| `authenticateByToken` | *Optional\* | :heavy_minus_sign: | N/A | +| `authenticationTokenKey` | *Optional\* | :heavy_minus_sign: | N/A | +| `instanceId` | *Optional\* | :heavy_minus_sign: | N/A | +| `alertUid` | *Optional\* | :heavy_minus_sign: | N/A | +| `title` | *Optional\* | :heavy_minus_sign: | N/A | +| `imageUrl` | *Optional\* | :heavy_minus_sign: | N/A | +| `state` | *Optional\* | :heavy_minus_sign: | N/A | +| `externalLink` | *Optional\* | :heavy_minus_sign: | N/A | +| `channelId` | *Optional\* | :heavy_minus_sign: | N/A | +| `phoneNumberIdentification` | *Optional\* | :heavy_minus_sign: | N/A | +| `accessKey` | *Optional\* | :heavy_minus_sign: | N/A | +| `appSid` | *Optional\* | :heavy_minus_sign: | N/A | +| `senderId` | *Optional\* | :heavy_minus_sign: | N/A | +| `tenantId` | *Optional\* | :heavy_minus_sign: | N/A | +| `appIOBaseUrl` | *Optional\* | :heavy_minus_sign: | N/A | +| `signingSecret` | *Optional\* | :heavy_minus_sign: | N/A | +| `outboundIntegrationId` | *Optional\* | :heavy_minus_sign: | N/A | +| `useFromAddressOverride` | *Optional\* | :heavy_minus_sign: | N/A | +| `fromAddressOverride` | *Optional\* | :heavy_minus_sign: | N/A | +| `emailSlugPrefix` | *Optional\* | :heavy_minus_sign: | Agent default shared inbox slug prefix used in `{emailSlugPrefix}-{agentId}@`. Only meaningful on the NovuAgent email integration. | +| `externalEnvironmentId` | *Optional\* | :heavy_minus_sign: | Claude Managed Agents: ID of the Anthropic environment tied to this integration. Hydrated by the API at integration provisioning time. | +| `externalWorkspaceId` | *Optional\* | :heavy_minus_sign: | Claude Managed Agents: id of the Anthropic workspace used in console deep links. Defaults to `'default'` (the Default Workspace). Set this when the API key is scoped to a custom workspace (e.g. `wrkspc_…`). | \ No newline at end of file diff --git a/gradle.properties b/gradle.properties index ad02fab..9af863e 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,4 +1,4 @@ groupId=co.novu artifactId=novu-java -version=3.16.0 +version=3.16.1 org.gradle.jvmargs=-Xmx4g -XX:MaxMetaspaceSize=1g diff --git a/src/main/java/co/novu/SDKConfiguration.java b/src/main/java/co/novu/SDKConfiguration.java index 320c1f8..7190dd4 100644 --- a/src/main/java/co/novu/SDKConfiguration.java +++ b/src/main/java/co/novu/SDKConfiguration.java @@ -19,8 +19,8 @@ public class SDKConfiguration { private static final String LANGUAGE = "java"; public static final String OPENAPI_DOC_VERSION = "3.15.0"; - public static final String SDK_VERSION = "3.16.0"; - public static final String GEN_VERSION = "2.884.0"; + public static final String SDK_VERSION = "3.16.1"; + public static final String GEN_VERSION = "2.884.4"; private static final String BASE_PACKAGE = "co.novu"; public static final String USER_AGENT = String.format("speakeasy-sdk/%s %s %s %s %s", diff --git a/src/main/java/co/novu/models/components/CredentialsDto.java b/src/main/java/co/novu/models/components/CredentialsDto.java index d821b54..2fc24bf 100644 --- a/src/main/java/co/novu/models/components/CredentialsDto.java +++ b/src/main/java/co/novu/models/components/CredentialsDto.java @@ -266,6 +266,32 @@ public class CredentialsDto { @JsonProperty("fromAddressOverride") private String fromAddressOverride; + /** + * Agent default shared inbox slug prefix used in `{emailSlugPrefix}-{agentId}@<shared-domain>`. + * Only meaningful on the NovuAgent email integration. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("emailSlugPrefix") + private String emailSlugPrefix; + + /** + * Claude Managed Agents: ID of the Anthropic environment tied to this integration. Hydrated by the API + * at integration provisioning time. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("externalEnvironmentId") + private String externalEnvironmentId; + + /** + * Claude Managed Agents: id of the Anthropic workspace used in console deep links. Defaults to + * `'default'` (the Default Workspace). Set this when the API key is scoped to a custom workspace (e.g. + * + *

`wrkspc_…`). + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("externalWorkspaceId") + private String externalWorkspaceId; + @JsonCreator public CredentialsDto( @JsonProperty("apiKey") @Nullable String apiKey, @@ -317,7 +343,10 @@ public CredentialsDto( @JsonProperty("signingSecret") @Nullable String signingSecret, @JsonProperty("outboundIntegrationId") @Nullable String outboundIntegrationId, @JsonProperty("useFromAddressOverride") @Nullable Boolean useFromAddressOverride, - @JsonProperty("fromAddressOverride") @Nullable String fromAddressOverride) { + @JsonProperty("fromAddressOverride") @Nullable String fromAddressOverride, + @JsonProperty("emailSlugPrefix") @Nullable String emailSlugPrefix, + @JsonProperty("externalEnvironmentId") @Nullable String externalEnvironmentId, + @JsonProperty("externalWorkspaceId") @Nullable String externalWorkspaceId) { this.apiKey = apiKey; this.user = user; this.secretKey = secretKey; @@ -368,6 +397,9 @@ public CredentialsDto( this.outboundIntegrationId = outboundIntegrationId; this.useFromAddressOverride = useFromAddressOverride; this.fromAddressOverride = fromAddressOverride; + this.emailSlugPrefix = emailSlugPrefix; + this.externalEnvironmentId = externalEnvironmentId; + this.externalWorkspaceId = externalWorkspaceId; } public CredentialsDto() { @@ -387,6 +419,7 @@ public CredentialsDto() { null, null, null, null, null, null, null, null, null, + null, null, null, null, null); } @@ -590,6 +623,32 @@ public Optional fromAddressOverride() { return Optional.ofNullable(this.fromAddressOverride); } + /** + * Agent default shared inbox slug prefix used in `{emailSlugPrefix}-{agentId}@<shared-domain>`. + * Only meaningful on the NovuAgent email integration. + */ + public Optional emailSlugPrefix() { + return Optional.ofNullable(this.emailSlugPrefix); + } + + /** + * Claude Managed Agents: ID of the Anthropic environment tied to this integration. Hydrated by the API + * at integration provisioning time. + */ + public Optional externalEnvironmentId() { + return Optional.ofNullable(this.externalEnvironmentId); + } + + /** + * Claude Managed Agents: id of the Anthropic workspace used in console deep links. Defaults to + * `'default'` (the Default Workspace). Set this when the API key is scoped to a custom workspace (e.g. + * + *

`wrkspc_…`). + */ + public Optional externalWorkspaceId() { + return Optional.ofNullable(this.externalWorkspaceId); + } + public static Builder builder() { return new Builder(); } @@ -895,6 +954,38 @@ public CredentialsDto withFromAddressOverride(@Nullable String fromAddressOverri } + /** + * Agent default shared inbox slug prefix used in `{emailSlugPrefix}-{agentId}@<shared-domain>`. + * Only meaningful on the NovuAgent email integration. + */ + public CredentialsDto withEmailSlugPrefix(@Nullable String emailSlugPrefix) { + this.emailSlugPrefix = emailSlugPrefix; + return this; + } + + + /** + * Claude Managed Agents: ID of the Anthropic environment tied to this integration. Hydrated by the API + * at integration provisioning time. + */ + public CredentialsDto withExternalEnvironmentId(@Nullable String externalEnvironmentId) { + this.externalEnvironmentId = externalEnvironmentId; + return this; + } + + + /** + * Claude Managed Agents: id of the Anthropic workspace used in console deep links. Defaults to + * `'default'` (the Default Workspace). Set this when the API key is scoped to a custom workspace (e.g. + * + *

`wrkspc_…`). + */ + public CredentialsDto withExternalWorkspaceId(@Nullable String externalWorkspaceId) { + this.externalWorkspaceId = externalWorkspaceId; + return this; + } + + @Override public boolean equals(java.lang.Object o) { if (this == o) { @@ -954,7 +1045,10 @@ public boolean equals(java.lang.Object o) { Utils.enhancedDeepEquals(this.signingSecret, other.signingSecret) && Utils.enhancedDeepEquals(this.outboundIntegrationId, other.outboundIntegrationId) && Utils.enhancedDeepEquals(this.useFromAddressOverride, other.useFromAddressOverride) && - Utils.enhancedDeepEquals(this.fromAddressOverride, other.fromAddressOverride); + Utils.enhancedDeepEquals(this.fromAddressOverride, other.fromAddressOverride) && + Utils.enhancedDeepEquals(this.emailSlugPrefix, other.emailSlugPrefix) && + Utils.enhancedDeepEquals(this.externalEnvironmentId, other.externalEnvironmentId) && + Utils.enhancedDeepEquals(this.externalWorkspaceId, other.externalWorkspaceId); } @Override @@ -976,7 +1070,8 @@ public int hashCode() { channelId, phoneNumberIdentification, accessKey, appSid, senderId, tenantId, appIOBaseUrl, signingSecret, outboundIntegrationId, - useFromAddressOverride, fromAddressOverride); + useFromAddressOverride, fromAddressOverride, emailSlugPrefix, + externalEnvironmentId, externalWorkspaceId); } @Override @@ -1031,7 +1126,10 @@ public String toString() { "signingSecret", signingSecret, "outboundIntegrationId", outboundIntegrationId, "useFromAddressOverride", useFromAddressOverride, - "fromAddressOverride", fromAddressOverride); + "fromAddressOverride", fromAddressOverride, + "emailSlugPrefix", emailSlugPrefix, + "externalEnvironmentId", externalEnvironmentId, + "externalWorkspaceId", externalWorkspaceId); } @SuppressWarnings("UnusedReturnValue") @@ -1137,6 +1235,12 @@ public final static class Builder { private String fromAddressOverride; + private String emailSlugPrefix; + + private String externalEnvironmentId; + + private String externalWorkspaceId; + private Builder() { // force use of static builder() method } @@ -1391,6 +1495,35 @@ public Builder fromAddressOverride(@Nullable String fromAddressOverride) { return this; } + /** + * Agent default shared inbox slug prefix used in `{emailSlugPrefix}-{agentId}@<shared-domain>`. + * Only meaningful on the NovuAgent email integration. + */ + public Builder emailSlugPrefix(@Nullable String emailSlugPrefix) { + this.emailSlugPrefix = emailSlugPrefix; + return this; + } + + /** + * Claude Managed Agents: ID of the Anthropic environment tied to this integration. Hydrated by the API + * at integration provisioning time. + */ + public Builder externalEnvironmentId(@Nullable String externalEnvironmentId) { + this.externalEnvironmentId = externalEnvironmentId; + return this; + } + + /** + * Claude Managed Agents: id of the Anthropic workspace used in console deep links. Defaults to + * `'default'` (the Default Workspace). Set this when the API key is scoped to a custom workspace (e.g. + * + *

`wrkspc_…`). + */ + public Builder externalWorkspaceId(@Nullable String externalWorkspaceId) { + this.externalWorkspaceId = externalWorkspaceId; + return this; + } + public CredentialsDto build() { return new CredentialsDto( apiKey, user, secretKey, @@ -1409,7 +1542,8 @@ public CredentialsDto build() { channelId, phoneNumberIdentification, accessKey, appSid, senderId, tenantId, appIOBaseUrl, signingSecret, outboundIntegrationId, - useFromAddressOverride, fromAddressOverride); + useFromAddressOverride, fromAddressOverride, emailSlugPrefix, + externalEnvironmentId, externalWorkspaceId); } } From 1afe1bff11603bc6064b5351b77240e52570abd1 Mon Sep 17 00:00:00 2001 From: "speakeasy-github[bot]" <128539517+speakeasy-github[bot]@users.noreply.github.com> Date: Tue, 19 May 2026 00:27:50 +0000 Subject: [PATCH 2/2] empty commit to trigger [run-tests] workflow