From 12fee0975bad38cd461ae39d492eed21abc65e0d Mon Sep 17 00:00:00 2001 From: speakeasybot Date: Wed, 11 Mar 2026 09:07:22 +0000 Subject: [PATCH 1/2] ## Java SDK Changes: * `glean.client.chat.create()`: * `request.chatRequest.messages[].fragments[].action.metadata.auth.tokenEndpointAuthMethod` **Added** * `response.messages[].fragments[].action.metadata.auth.tokenEndpointAuthMethod` **Added** * `glean.client.chat.retrieve()`: `response.chatResult.chat.messages[].fragments[].action.metadata.auth.tokenEndpointAuthMethod` **Added** * `glean.client.chat.createStream()`: * `request.chatRequest.messages[].fragments[].action.metadata.auth.tokenEndpointAuthMethod` **Added** * `glean.client.agents.retrieveSchemas()`: `response.name` **Added** --- .speakeasy/gen.lock | 52 ++++--- .speakeasy/gen.yaml | 2 +- .speakeasy/glean-merged-spec.yaml | 16 +- .speakeasy/workflow.lock | 12 +- README.md | 4 +- RELEASES.md | 12 +- docs/models/components/AgentSchemas.md | 1 + docs/models/components/AuthConfig.md | 27 ++-- .../components/TokenEndpointAuthMethod.md | 23 +++ gradle.properties | 2 +- .../glean_api_client/SDKConfiguration.java | 4 +- .../models/components/AgentSchemas.java | 72 ++++++++- .../models/components/AuthConfig.java | 97 +++++++++++- .../components/TokenEndpointAuthMethod.java | 142 ++++++++++++++++++ 14 files changed, 407 insertions(+), 59 deletions(-) create mode 100644 docs/models/components/TokenEndpointAuthMethod.md create mode 100644 src/main/java/com/glean/api_client/glean_api_client/models/components/TokenEndpointAuthMethod.java diff --git a/.speakeasy/gen.lock b/.speakeasy/gen.lock index 0e06ec62..3f76e6cc 100644 --- a/.speakeasy/gen.lock +++ b/.speakeasy/gen.lock @@ -1,19 +1,19 @@ lockVersion: 2.0.0 id: 0359d4fe-2923-46fc-aaca-cf70b48dcfa1 management: - docChecksum: c3e8d632c494016ee2d149b060c5b122 + docChecksum: 57d941bf65abd419f42d9dbbad9f20eb docVersion: 0.9.0 - speakeasyVersion: 1.750.0 - generationVersion: 2.856.1 - releaseVersion: 0.12.24 - configChecksum: 9078cf068dfadd9a830305a23c3f8ec4 + speakeasyVersion: 1.751.0 + generationVersion: 2.858.2 + releaseVersion: 0.12.25 + configChecksum: fa65060f27e9e7b07bb2713111ced77a repoURL: https://github.com/gleanwork/api-client-java.git installationURL: https://github.com/gleanwork/api-client-java published: true persistentEdits: - generation_id: cae28f74-f540-42a1-80d0-25e5a295040c - pristine_commit_hash: 3b41f82894268f7443de86a01fc6146bca40ac02 - pristine_tree_hash: 66c1cf26b9d99bd28f17f4186350c54b159c3e64 + generation_id: e21e28b7-db42-46f3-975f-cac4dc0cf81e + pristine_commit_hash: 0d54aea99bbd3f9d31142fb584ae9acaf009a91d + pristine_tree_hash: 1c33fe1e6d5e42cc7766a2de22ce834aaaa7b3d2 features: java: additionalDependencies: 0.1.0 @@ -127,8 +127,8 @@ trackedFiles: pristine_git_object: 5e5611432044c99482cf6e2939c2606a610b8e93 docs/models/components/AgentSchemas.md: id: f240e68c81d1 - last_write_checksum: sha1:2b24ded0b2dac09d8a00d02daadd26f8dfa02256 - pristine_git_object: 67080de2fe2343bd17de35dbab4b80c84ffd86df + last_write_checksum: sha1:66a407d9859305998077569ad6b94a325d9b1089 + pristine_git_object: e4cff60c1d4a041e48ce077b05be3ae9c8ce59af docs/models/components/AgentUsersInsight.md: id: bc38ed2da541 last_write_checksum: sha1:7af0299c9bc3f3c01762a22fd5541b0931d416bb @@ -211,8 +211,8 @@ trackedFiles: pristine_git_object: c38e5af7600a3cd74195b17c57687a61365198dc docs/models/components/AuthConfig.md: id: 2451e4f26cfe - last_write_checksum: sha1:6830c72ff070134da9459283b7e21b30d51899cd - pristine_git_object: 87573f9e2da864c90e7bdbdc5e289ef61811020f + last_write_checksum: sha1:9c64703d38095009a92101e17f298a390d7da94b + pristine_git_object: 78dda944bf5ee24a89be356249123f31b1e75164 docs/models/components/AuthConfigStatus.md: id: 63d264b1dcb8 last_write_checksum: sha1:34347918b01c5353113291b037f70930bf183d6c @@ -2061,6 +2061,10 @@ trackedFiles: id: e904cb4053c3 last_write_checksum: sha1:a54c7536fcb960499c75b32149cd26d7723d3cf7 pristine_git_object: 92bddd80556cd2606b1df041bd5851218c9e7927 + docs/models/components/TokenEndpointAuthMethod.md: + id: f0dbbb493d41 + last_write_checksum: sha1:55bfbd9e1b0d264386806166c589a7c24a28ddb3 + pristine_git_object: f0d55db22ac5b5089e564bd8c4a76fde70093aad docs/models/components/Tool.md: id: f6c5e55759ba last_write_checksum: sha1:77f54197c302623be07682d97af289905a492f57 @@ -3207,8 +3211,8 @@ trackedFiles: pristine_git_object: 3decbce5bd40edbe278c1c5d2dbf585808e51d9a gradle.properties: id: 2afbb999f001 - last_write_checksum: sha1:bc4b390762ed973209913575ee32c4f9263fbe4a - pristine_git_object: dac2a0f630d3df9ba05d7cdf8a48443d13debc5c + last_write_checksum: sha1:290b19eca967cff525d614a3932f9ba5817d1434 + pristine_git_object: 8c9d3d32d07b8ec594274870ecda04daef44f03e gradle/wrapper/gradle-wrapper.jar: id: ec27dae6e852 last_write_checksum: sha1:f725fb1467084142d74fd7cd8eab691ab3442611 @@ -3527,8 +3531,8 @@ trackedFiles: pristine_git_object: ffae914775eb41ff311371f62504344a59d090fd src/main/java/com/glean/api_client/glean_api_client/SDKConfiguration.java: id: d5fcc61f5992 - last_write_checksum: sha1:7bfaf422b99fdd1d179d5493dd892ad7a7d966c1 - pristine_git_object: 0172dffb5f2da20d0bb1ea3d245e4b6a6fef14bd + last_write_checksum: sha1:3aad142302500585a62f441a78975e4119109444 + pristine_git_object: 76eac433a919e850dc2b4bd4b6715d0524bf5364 src/main/java/com/glean/api_client/glean_api_client/Search.java: id: f22d94b920b5 last_write_checksum: sha1:ac38d1ed47be207940dd6fb7e4c688dddccc6a8b @@ -3631,8 +3635,8 @@ trackedFiles: pristine_git_object: 64e949ec21e9471ac70e3a960126d99cdf66afd7 src/main/java/com/glean/api_client/glean_api_client/models/components/AgentSchemas.java: id: 02499cd63d02 - last_write_checksum: sha1:d858d9c440ab39a80f5f95de0c7d4d2122680917 - pristine_git_object: 422995f5125a7bcbb5480c723fda799d5aa166c0 + last_write_checksum: sha1:4a8b0dcf668ce807f7573b271fa35bd52a47d892 + pristine_git_object: 550b769c68904420884f30ab814f01851fe82512 src/main/java/com/glean/api_client/glean_api_client/models/components/AgentUsersInsight.java: id: b702924bc01d last_write_checksum: sha1:c377b022e7b5a29a207d28dc990f37647eb2c746 @@ -3715,8 +3719,8 @@ trackedFiles: pristine_git_object: 6277c7fb78f265273fb9cf2ff9088e141751c743 src/main/java/com/glean/api_client/glean_api_client/models/components/AuthConfig.java: id: 266268058b7c - last_write_checksum: sha1:30a41c9e93e326e07bd2d2ffc65aebac22cf838a - pristine_git_object: ce3989100e7cb78064c990cae375b705b3f7e0cf + last_write_checksum: sha1:2e30ccb9e89703ea04bb49e05eab0fe620d461e1 + pristine_git_object: 8fad1cfc8319a2bab6cc42eb6400b47ede4e80e4 src/main/java/com/glean/api_client/glean_api_client/models/components/AuthConfigStatus.java: id: 0a61a8a7ad53 last_write_checksum: sha1:6e54be8efb093ba70e23041e64354d870cf2a555 @@ -5565,6 +5569,10 @@ trackedFiles: id: 918e887eb4d1 last_write_checksum: sha1:7a923380785590f920cc35e3fb83e2e4d4db6fd6 pristine_git_object: 0a75fbc5328d2db26e9fd0c0096e552d873ef82d + src/main/java/com/glean/api_client/glean_api_client/models/components/TokenEndpointAuthMethod.java: + id: a296643b32ae + last_write_checksum: sha1:bdf30d939a6c81faab4cdba505518a3ce34d1562 + pristine_git_object: 82c531beedbb509dc97a5dc9886a72faaf315fd9 src/main/java/com/glean/api_client/glean_api_client/models/components/Tool.java: id: b1f1d0700edb last_write_checksum: sha1:710f692edb9b3de5e0676c7a382c8ceeeaa68716 @@ -8920,7 +8928,7 @@ examples: query: {} responses: "200": - application/json: {"agent_id": "mho4lwzylcozgoc2", "input_schema": {}, "output_schema": {}} + application/json: {"agent_id": "mho4lwzylcozgoc2", "name": "HR Policy Agent", "input_schema": {}, "output_schema": {}} "404": application/json: {} searchAgents: @@ -9648,7 +9656,7 @@ generatedTests: get_/rest/api/v1/tools/list: "2025-06-09T18:03:44Z" post_/rest/api/v1/tools/call: "2025-06-09T18:03:44Z" listpolicies: "2025-06-09T18:03:44Z" -releaseNotes: "## Java SDK Changes:\n* `glean.client.chat.create()`: \n * `request.chatRequest.messages[]` **Changed**\n * `response` **Changed** (Breaking ⚠️)\n* `glean.client.search.query()`: \n * `request.searchRequest.sourceDocument.metadata.author.relatedDocuments[].results[].structuredResults[].snippets[].snippet` **Changed**\n * `response` **Changed** (Breaking ⚠️)\n * `error.unauthorizedDatasourceInstances` **Removed** (Breaking ⚠️)\n* `glean.client.search.recommendations()`: \n * `request.recommendationsRequest.sourceDocument.metadata.author.relatedDocuments[].results[].structuredResults[].snippets[].snippet` **Changed**\n * `response` **Changed** (Breaking ⚠️)\n* `glean.client.search.autocomplete()`: `response` **Changed** (Breaking ⚠️)\n* `glean.client.search.queryAsAdmin()`: \n * `request.searchRequest.sourceDocument.metadata.author.relatedDocuments[].results[].structuredResults[].snippets[].snippet` **Changed**\n * `response` **Changed** (Breaking ⚠️)\n * `error.unauthorizedDatasourceInstances` **Removed** (Breaking ⚠️)\n* `glean.client.messages.retrieve()`: `response.searchResponse` **Changed** (Breaking ⚠️)\n* `glean.client.collections.list()`: `response.collections[].addedRoles[].person.relatedDocuments[].results[].structuredResults[].snippets[].snippet` **Changed**\n* `glean.client.insights.retrieve()`: `response.gleanAssist.activityInsights[].user.relatedDocuments[].results[].structuredResults[].snippets[].snippet` **Changed**\n* `glean.client.answers.retrieve()`: `response.answerResult.answer.addedRoles[].person.relatedDocuments[].results[].structuredResults[].snippets[].snippet` **Changed**\n* `glean.client.chat.retrieve()`: `response.chatResult.chat` **Changed**\n* `glean.client.chat.list()`: `response` **Changed**\n* `glean.client.chat.createStream()`: \n * `request.chatRequest.messages[]` **Changed**\n* `glean.client.agents.retrieve()`: `error.status[404]` **Added**\n* `glean.client.agents.retrieveSchemas()`: \n * `response.tools[]` **Changed**\n * `error` **Changed**\n* `glean.client.agents.list()`: `error` **Changed**\n* `glean.client.agents.runStream()`: `error` **Changed**\n* `glean.client.collections.addItems()`: `response.collection.addedRoles[].person.relatedDocuments[].results[].structuredResults[].snippets[].snippet` **Changed**\n* `glean.client.collections.create()`: \n * `request.createCollectionRequest.addedRoles[].person.relatedDocuments[].results[].structuredResults[].snippets[].snippet` **Changed**\n * `response.union(class (0)).collection.addedRoles[].person.relatedDocuments[].results[].structuredResults[].snippets[].snippet` **Changed**\n* `glean.client.collections.deleteItem()`: `response.collection.addedRoles[].person.relatedDocuments[].results[].structuredResults[].snippets[].snippet` **Changed**\n* `glean.client.collections.update()`: \n * `request.editCollectionRequest.addedRoles[].person.relatedDocuments[].results[].structuredResults[].snippets[].snippet` **Changed**\n * `response.addedRoles[].person.relatedDocuments[].results[].structuredResults[].snippets[].snippet` **Changed**\n* `glean.client.collections.updateItem()`: `response.collection.addedRoles[].person.relatedDocuments[].results[].structuredResults[].snippets[].snippet` **Changed**\n* `glean.client.collections.retrieve()`: `response.collection.addedRoles[].person.relatedDocuments[].results[].structuredResults[].snippets[].snippet` **Changed**\n* `glean.datasources.getDatasourceInstanceConfiguration()`: **Added**\n* `glean.client.documents.retrieve()`: `response.documents.Map.union(Document).metadata.author.relatedDocuments[].results[].structuredResults[].snippets[].snippet` **Changed**\n* `glean.client.documents.retrieveByFacets()`: `response.documents[].metadata.author.relatedDocuments[].results[].structuredResults[].snippets[].snippet` **Changed**\n* `glean.client.answers.list()`: `response.answerResults[].answer.addedRoles[].person.relatedDocuments[].results[].structuredResults[].snippets[].snippet` **Changed**\n* `glean.client.answers.update()`: \n * `request.editAnswerRequest.addedRoles[].person.relatedDocuments[].results[].structuredResults[].snippets[].snippet` **Changed**\n * `response.addedRoles[].person.relatedDocuments[].results[].structuredResults[].snippets[].snippet` **Changed**\n* `glean.client.pins.update()`: `response.attribution.relatedDocuments[].results[].structuredResults[].snippets[].snippet` **Changed**\n* `glean.client.pins.retrieve()`: `response.pin.attribution.relatedDocuments[].results[].structuredResults[].snippets[].snippet` **Changed**\n* `glean.client.pins.list()`: `response.pins[].attribution.relatedDocuments[].results[].structuredResults[].snippets[].snippet` **Changed**\n* `glean.client.pins.create()`: `response.attribution.relatedDocuments[].results[].structuredResults[].snippets[].snippet` **Changed**\n* `glean.client.answers.create()`: \n * `request.createAnswerRequest.data.addedRoles[].person.relatedDocuments[].results[].structuredResults[].snippets[].snippet` **Changed**\n * `response.addedRoles[].person.relatedDocuments[].results[].structuredResults[].snippets[].snippet` **Changed**\n* `glean.client.announcements.update()`: \n * `request.updateAnnouncementRequest.body.structuredList[].document.metadata.author.relatedDocuments[].results[].structuredResults[].snippets[].snippet` **Changed**\n * `response.body.structuredList[].document.metadata.author.relatedDocuments[].results[].structuredResults[].snippets[].snippet` **Changed**\n* `glean.client.search.retrieveFeed()`: `response.results[]` **Changed**\n* `glean.client.announcements.create()`: \n * `request.createAnnouncementRequest.body.structuredList[].document.metadata.author.relatedDocuments[].results[].structuredResults[].snippets[].snippet` **Changed**\n * `response.body.structuredList[].document.metadata.author.relatedDocuments[].results[].structuredResults[].snippets[].snippet` **Changed**\n* `glean.datasources.updateDatasourceInstanceConfiguration()`: **Added**\n* `glean.client.entities.list()`: `response.results[].relatedDocuments[].results[].structuredResults[].snippets[].snippet` **Changed**\n* `glean.client.entities.readPeople()`: `response.results[].relatedDocuments[].results[].structuredResults[].snippets[].snippet` **Changed**\n* `glean.client.shortcuts.create()`: \n * `request.createShortcutRequest.data.addedRoles[].person.relatedDocuments[].results[].structuredResults[].snippets[].snippet` **Changed**\n * `response.shortcut.addedRoles[].person.relatedDocuments[].results[].structuredResults[].snippets[].snippet` **Changed**\n* `glean.client.shortcuts.retrieve()`: `response.shortcut.addedRoles[].person.relatedDocuments[].results[].structuredResults[].snippets[].snippet` **Changed**\n* `glean.client.shortcuts.list()`: `response.shortcuts[].addedRoles[].person.relatedDocuments[].results[].structuredResults[].snippets[].snippet` **Changed**\n* `glean.client.shortcuts.update()`: \n * `request.updateShortcutRequest.addedRoles[].person.relatedDocuments[].results[].structuredResults[].snippets[].snippet` **Changed**\n * `response.shortcut.addedRoles[].person.relatedDocuments[].results[].structuredResults[].snippets[].snippet` **Changed**\n* `glean.client.verification.addReminder()`: `response.metadata.lastVerifier.relatedDocuments[].results[].structuredResults[].snippets[].snippet` **Changed**\n* `glean.client.verification.list()`: `response.documents[].metadata.lastVerifier.relatedDocuments[].results[].structuredResults[].snippets[].snippet` **Changed**\n* `glean.client.verification.verify()`: `response.metadata.lastVerifier.relatedDocuments[].results[].structuredResults[].snippets[].snippet` **Changed**\n* `glean.indexing.people.bulkIndex()`: **Deprecated**\n" +releaseNotes: "## Java SDK Changes:\n* `glean.client.chat.create()`: \n * `request.chatRequest.messages[].fragments[].action.metadata.auth.tokenEndpointAuthMethod` **Added**\n * `response.messages[].fragments[].action.metadata.auth.tokenEndpointAuthMethod` **Added**\n* `glean.client.chat.retrieve()`: `response.chatResult.chat.messages[].fragments[].action.metadata.auth.tokenEndpointAuthMethod` **Added**\n* `glean.client.chat.createStream()`: \n * `request.chatRequest.messages[].fragments[].action.metadata.auth.tokenEndpointAuthMethod` **Added**\n* `glean.client.agents.retrieveSchemas()`: `response.name` **Added**\n" generatedFiles: - .gitattributes - USAGE.md diff --git a/.speakeasy/gen.yaml b/.speakeasy/gen.yaml index 7c2f9bdb..a9b9849b 100644 --- a/.speakeasy/gen.yaml +++ b/.speakeasy/gen.yaml @@ -30,7 +30,7 @@ generation: generateNewTests: false skipResponseBodyAssertions: false java: - version: 0.12.24 + version: 0.12.25 additionalDependencies: [] additionalPlugins: [] artifactID: glean-api-client diff --git a/.speakeasy/glean-merged-spec.yaml b/.speakeasy/glean-merged-spec.yaml index 67e779f1..3e990daa 100644 --- a/.speakeasy/glean-merged-spec.yaml +++ b/.speakeasy/glean-merged-spec.yaml @@ -2,7 +2,7 @@ openapi: 3.0.0 info: version: 0.9.0 title: Glean API - x-source-commit-sha: 019fa78169e9b442a41ce6c77fc17a855db29347 + x-source-commit-sha: a5baf32ff20e181a9adf12f9b9eba1c2421e5024 description: | # Introduction In addition to the data sources that Glean has built-in support for, Glean also provides a REST API that enables customers to put arbitrary content in the search index. This is useful, for example, for doing permissions-aware search over content in internal tools that reside on-prem as well as for searching over applications that Glean does not currently support first class. In addition these APIs allow the customer to push organization data (people info, organization structure etc) into Glean. @@ -22,7 +22,7 @@ info: These API clients provide type-safe, idiomatic interfaces for working with Glean IndexingAPIs in your language of choice. x-logo: url: https://app.glean.com/images/glean-text2.svg - x-open-api-commit-sha: b6a55d676d9794248f2cd49c3935feff817d05d7 + x-open-api-commit-sha: 238bce820eef8f0f78d4793d3424d4e78944d066 x-speakeasy-name: 'Glean API' servers: - url: https://{instance}-be.glean.com @@ -7969,6 +7969,13 @@ components: type: string format: url description: The OAuth 2.0 Resource Indicator (RFC 8707) for the protected resource. Discovered from Protected Resource Metadata (RFC 9728) during DCR. Included in authorization and token exchange requests when present. + token_endpoint_auth_method: + type: string + enum: + - client_secret_post + - client_secret_basic + - none + description: The OAuth 2.0 token endpoint authentication method (RFC 7591). Determines how the client authenticates when exchanging an authorization code for a token. client_secret_post sends credentials as form fields, client_secret_basic sends them via Authorization header, none omits client secret and relies on PKCE only. Values use lowercase to match the OAuth 2.0 wire format (RFC 7591 Section 2). lastAuthorizedAt: type: string format: date-time @@ -8514,6 +8521,11 @@ components: title: Agent Id description: The ID of the agent. example: mho4lwzylcozgoc2 + name: + type: string + title: Agent Name + description: The name of the agent. + example: HR Policy Agent input_schema: type: object title: Input Schema diff --git a/.speakeasy/workflow.lock b/.speakeasy/workflow.lock index f045ce80..93aae09f 100644 --- a/.speakeasy/workflow.lock +++ b/.speakeasy/workflow.lock @@ -1,9 +1,9 @@ -speakeasyVersion: 1.750.0 +speakeasyVersion: 1.751.0 sources: Glean API: sourceNamespace: glean-api-specs - sourceRevisionDigest: sha256:6424153a91d5bb333b40f80a1b5228e02d4486ccdc6f57a19a9a2245b4812ae2 - sourceBlobDigest: sha256:e3f2e470a2e1963b3919b05eed4ee93d1dfa5bbafea1a3199944b5ccce93bfe1 + sourceRevisionDigest: sha256:f166c61c7e7a52f62d5ddcc80f0e1247867cfa9a89d6bdf2679daca84d0efadc + sourceBlobDigest: sha256:a5efacbcf3c78ffd7268b357723e4892a115562dd5392fbcd6ab6141c014516f tags: - latest Glean-OAS: @@ -17,10 +17,10 @@ targets: glean: source: Glean API sourceNamespace: glean-api-specs - sourceRevisionDigest: sha256:6424153a91d5bb333b40f80a1b5228e02d4486ccdc6f57a19a9a2245b4812ae2 - sourceBlobDigest: sha256:e3f2e470a2e1963b3919b05eed4ee93d1dfa5bbafea1a3199944b5ccce93bfe1 + sourceRevisionDigest: sha256:f166c61c7e7a52f62d5ddcc80f0e1247867cfa9a89d6bdf2679daca84d0efadc + sourceBlobDigest: sha256:a5efacbcf3c78ffd7268b357723e4892a115562dd5392fbcd6ab6141c014516f codeSamplesNamespace: glean-api-specs-java-code-samples - codeSamplesRevisionDigest: sha256:718f331f044b6ff5f45534fcec7c55888d69530f561c88f8a59b176520983f0b + codeSamplesRevisionDigest: sha256:997c51ca00238eee520c837f818834fe1628f8ef7e1d155b3444c3a6092dcedb workflow: workflowVersion: 1.0.0 speakeasyVersion: latest diff --git a/README.md b/README.md index b0b84ec7..9923500e 100644 --- a/README.md +++ b/README.md @@ -67,7 +67,7 @@ The samples below show how a published SDK artifact is used: Gradle: ```groovy -implementation 'com.glean.api-client:glean-api-client:0.12.24' +implementation 'com.glean.api-client:glean-api-client:0.12.25' ``` Maven: @@ -75,7 +75,7 @@ Maven: com.glean.api-client glean-api-client - 0.12.24 + 0.12.25 ``` diff --git a/RELEASES.md b/RELEASES.md index 3211fa68..5ca4c95a 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -588,4 +588,14 @@ Based on: ### Generated - [java v0.12.24] . ### Releases -- [Maven Central v0.12.24] https://central.sonatype.com/artifact/com.glean.api-client/glean-api-client/0.12.24 - . \ No newline at end of file +- [Maven Central v0.12.24] https://central.sonatype.com/artifact/com.glean.api-client/glean-api-client/0.12.24 - . + +## 2026-03-11 09:01:38 +### Changes +Based on: +- OpenAPI Doc +- Speakeasy CLI 1.751.0 (2.858.2) https://github.com/speakeasy-api/speakeasy +### Generated +- [java v0.12.25] . +### Releases +- [Maven Central v0.12.25] https://central.sonatype.com/artifact/com.glean.api-client/glean-api-client/0.12.25 - . \ No newline at end of file diff --git a/docs/models/components/AgentSchemas.md b/docs/models/components/AgentSchemas.md index 67080de2..e4cff60c 100644 --- a/docs/models/components/AgentSchemas.md +++ b/docs/models/components/AgentSchemas.md @@ -8,6 +8,7 @@ Defines the structure and properties of an agent. | Field | Type | Required | Description | Example | | --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | | `agentId` | *String* | :heavy_check_mark: | The ID of the agent. | mho4lwzylcozgoc2 | +| `name` | *Optional\* | :heavy_minus_sign: | The name of the agent. | HR Policy Agent | | `inputSchema` | [InputSchema](../../models/components/InputSchema.md) | :heavy_check_mark: | The schema for the agent input. In JSON Schema format. | | | `outputSchema` | [OutputSchema](../../models/components/OutputSchema.md) | :heavy_check_mark: | The schema for the agent output. In JSON Schema format. | | | `tools` | List\<[ActionSummary](../../models/components/ActionSummary.md)> | :heavy_minus_sign: | List of tools that the agent can invoke. Only included when include_tools query parameter is set to true. | | \ No newline at end of file diff --git a/docs/models/components/AuthConfig.md b/docs/models/components/AuthConfig.md index 87573f9e..78dda944 100644 --- a/docs/models/components/AuthConfig.md +++ b/docs/models/components/AuthConfig.md @@ -5,16 +5,17 @@ Config for tool's authentication method. ## Fields -| Field | Type | Required | Description | -| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `isOnPrem` | *Optional\* | :heavy_minus_sign: | Whether or not this tool is hosted on-premise. | -| `usesCentralAuth` | *Optional\* | :heavy_minus_sign: | Whether or not this uses central auth. | -| `type` | [Optional\](../../models/components/AuthConfigType.md) | :heavy_minus_sign: | The type of authentication being used.
Use 'OAUTH_*' when Glean calls an external API (e.g., Jira) on behalf of a user to obtain an OAuth token.
'OAUTH_ADMIN' utilizes an admin token for external API calls on behalf all users.
'OAUTH_USER' uses individual user tokens for external API calls.
'DWD' refers to domain wide delegation.
| -| `grantType` | [Optional\](../../models/components/GrantType.md) | :heavy_minus_sign: | The type of grant type being used. | -| `status` | [Optional\](../../models/components/AuthConfigStatus.md) | :heavy_minus_sign: | Auth status of the tool. | -| `clientUrl` | *Optional\* | :heavy_minus_sign: | The URL where users will be directed to start the OAuth flow. | -| `scopes` | List\<*String*> | :heavy_minus_sign: | A list of strings denoting the different scopes or access levels required by the tool. | -| `audiences` | List\<*String*> | :heavy_minus_sign: | A list of strings denoting the different audience which can access the tool. | -| `authorizationUrl` | *Optional\* | :heavy_minus_sign: | The OAuth provider's endpoint, where access tokens are requested. | -| `resource` | *Optional\* | :heavy_minus_sign: | The OAuth 2.0 Resource Indicator (RFC 8707) for the protected resource. Discovered from Protected Resource Metadata (RFC 9728) during DCR. Included in authorization and token exchange requests when present. | -| `lastAuthorizedAt` | [OffsetDateTime](https://docs.oracle.com/javase/8/docs/api/java/time/OffsetDateTime.html) | :heavy_minus_sign: | The time the tool was last authorized in ISO format (ISO 8601). | \ No newline at end of file +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `isOnPrem` | *Optional\* | :heavy_minus_sign: | Whether or not this tool is hosted on-premise. | +| `usesCentralAuth` | *Optional\* | :heavy_minus_sign: | Whether or not this uses central auth. | +| `type` | [Optional\](../../models/components/AuthConfigType.md) | :heavy_minus_sign: | The type of authentication being used.
Use 'OAUTH_*' when Glean calls an external API (e.g., Jira) on behalf of a user to obtain an OAuth token.
'OAUTH_ADMIN' utilizes an admin token for external API calls on behalf all users.
'OAUTH_USER' uses individual user tokens for external API calls.
'DWD' refers to domain wide delegation.
| +| `grantType` | [Optional\](../../models/components/GrantType.md) | :heavy_minus_sign: | The type of grant type being used. | +| `status` | [Optional\](../../models/components/AuthConfigStatus.md) | :heavy_minus_sign: | Auth status of the tool. | +| `clientUrl` | *Optional\* | :heavy_minus_sign: | The URL where users will be directed to start the OAuth flow. | +| `scopes` | List\<*String*> | :heavy_minus_sign: | A list of strings denoting the different scopes or access levels required by the tool. | +| `audiences` | List\<*String*> | :heavy_minus_sign: | A list of strings denoting the different audience which can access the tool. | +| `authorizationUrl` | *Optional\* | :heavy_minus_sign: | The OAuth provider's endpoint, where access tokens are requested. | +| `resource` | *Optional\* | :heavy_minus_sign: | The OAuth 2.0 Resource Indicator (RFC 8707) for the protected resource. Discovered from Protected Resource Metadata (RFC 9728) during DCR. Included in authorization and token exchange requests when present. | +| `tokenEndpointAuthMethod` | [Optional\](../../models/components/TokenEndpointAuthMethod.md) | :heavy_minus_sign: | The OAuth 2.0 token endpoint authentication method (RFC 7591). Determines how the client authenticates when exchanging an authorization code for a token. client_secret_post sends credentials as form fields, client_secret_basic sends them via Authorization header, none omits client secret and relies on PKCE only. Values use lowercase to match the OAuth 2.0 wire format (RFC 7591 Section 2). | +| `lastAuthorizedAt` | [OffsetDateTime](https://docs.oracle.com/javase/8/docs/api/java/time/OffsetDateTime.html) | :heavy_minus_sign: | The time the tool was last authorized in ISO format (ISO 8601). | \ No newline at end of file diff --git a/docs/models/components/TokenEndpointAuthMethod.md b/docs/models/components/TokenEndpointAuthMethod.md new file mode 100644 index 00000000..f0d55db2 --- /dev/null +++ b/docs/models/components/TokenEndpointAuthMethod.md @@ -0,0 +1,23 @@ +# TokenEndpointAuthMethod + +The OAuth 2.0 token endpoint authentication method (RFC 7591). Determines how the client authenticates when exchanging an authorization code for a token. client_secret_post sends credentials as form fields, client_secret_basic sends them via Authorization header, none omits client secret and relies on PKCE only. Values use lowercase to match the OAuth 2.0 wire format (RFC 7591 Section 2). + +## Example Usage + +```java +import com.glean.api_client.glean_api_client.models.components.TokenEndpointAuthMethod; + +TokenEndpointAuthMethod value = TokenEndpointAuthMethod.CLIENT_SECRET_POST; + +// Open enum: use .of() to create instances from custom string values +TokenEndpointAuthMethod custom = TokenEndpointAuthMethod.of("custom_value"); +``` + + +## Values + +| Name | Value | +| --------------------- | --------------------- | +| `CLIENT_SECRET_POST` | client_secret_post | +| `CLIENT_SECRET_BASIC` | client_secret_basic | +| `NONE` | none | \ No newline at end of file diff --git a/gradle.properties b/gradle.properties index dac2a0f6..8c9d3d32 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,4 +1,4 @@ groupId=com.glean.api-client artifactId=glean-api-client -version=0.12.24 +version=0.12.25 org.gradle.jvmargs=-Xmx4g -XX:MaxMetaspaceSize=1g diff --git a/src/main/java/com/glean/api_client/glean_api_client/SDKConfiguration.java b/src/main/java/com/glean/api_client/glean_api_client/SDKConfiguration.java index 0172dffb..76eac433 100644 --- a/src/main/java/com/glean/api_client/glean_api_client/SDKConfiguration.java +++ b/src/main/java/com/glean/api_client/glean_api_client/SDKConfiguration.java @@ -25,8 +25,8 @@ public class SDKConfiguration { private static final String LANGUAGE = "java"; public static final String OPENAPI_DOC_VERSION = "0.9.0"; - public static final String SDK_VERSION = "0.12.24"; - public static final String GEN_VERSION = "2.856.1"; + public static final String SDK_VERSION = "0.12.25"; + public static final String GEN_VERSION = "2.858.2"; private static final String BASE_PACKAGE = "com.glean.api_client.glean_api_client"; public static final String USER_AGENT = String.format("speakeasy-sdk/%s %s %s %s %s", diff --git a/src/main/java/com/glean/api_client/glean_api_client/models/components/AgentSchemas.java b/src/main/java/com/glean/api_client/glean_api_client/models/components/AgentSchemas.java index 422995f5..550b769c 100644 --- a/src/main/java/com/glean/api_client/glean_api_client/models/components/AgentSchemas.java +++ b/src/main/java/com/glean/api_client/glean_api_client/models/components/AgentSchemas.java @@ -28,6 +28,13 @@ public class AgentSchemas { @JsonProperty("agent_id") private String agentId; + /** + * The name of the agent. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("name") + private Optional name; + /** * The schema for the agent input. In JSON Schema format. */ @@ -51,14 +58,17 @@ public class AgentSchemas { @JsonCreator public AgentSchemas( @JsonProperty("agent_id") String agentId, + @JsonProperty("name") Optional name, @JsonProperty("input_schema") InputSchema inputSchema, @JsonProperty("output_schema") OutputSchema outputSchema, @JsonProperty("tools") Optional> tools) { Utils.checkNotNull(agentId, "agentId"); + Utils.checkNotNull(name, "name"); Utils.checkNotNull(inputSchema, "inputSchema"); Utils.checkNotNull(outputSchema, "outputSchema"); Utils.checkNotNull(tools, "tools"); this.agentId = agentId; + this.name = name; this.inputSchema = inputSchema; this.outputSchema = outputSchema; this.tools = tools; @@ -68,8 +78,8 @@ public AgentSchemas( String agentId, InputSchema inputSchema, OutputSchema outputSchema) { - this(agentId, inputSchema, outputSchema, - Optional.empty()); + this(agentId, Optional.empty(), inputSchema, + outputSchema, Optional.empty()); } /** @@ -80,6 +90,14 @@ public String agentId() { return agentId; } + /** + * The name of the agent. + */ + @JsonIgnore + public Optional name() { + return name; + } + /** * The schema for the agent input. In JSON Schema format. */ @@ -120,6 +138,25 @@ public AgentSchemas withAgentId(String agentId) { return this; } + /** + * The name of the agent. + */ + public AgentSchemas withName(String name) { + Utils.checkNotNull(name, "name"); + this.name = Optional.ofNullable(name); + return this; + } + + + /** + * The name of the agent. + */ + public AgentSchemas withName(Optional name) { + Utils.checkNotNull(name, "name"); + this.name = name; + return this; + } + /** * The schema for the agent input. In JSON Schema format. */ @@ -170,6 +207,7 @@ public boolean equals(java.lang.Object o) { AgentSchemas other = (AgentSchemas) o; return Utils.enhancedDeepEquals(this.agentId, other.agentId) && + Utils.enhancedDeepEquals(this.name, other.name) && Utils.enhancedDeepEquals(this.inputSchema, other.inputSchema) && Utils.enhancedDeepEquals(this.outputSchema, other.outputSchema) && Utils.enhancedDeepEquals(this.tools, other.tools); @@ -178,14 +216,15 @@ public boolean equals(java.lang.Object o) { @Override public int hashCode() { return Utils.enhancedHash( - agentId, inputSchema, outputSchema, - tools); + agentId, name, inputSchema, + outputSchema, tools); } @Override public String toString() { return Utils.toString(AgentSchemas.class, "agentId", agentId, + "name", name, "inputSchema", inputSchema, "outputSchema", outputSchema, "tools", tools); @@ -196,6 +235,8 @@ public final static class Builder { private String agentId; + private Optional name = Optional.empty(); + private InputSchema inputSchema; private OutputSchema outputSchema; @@ -217,6 +258,25 @@ public Builder agentId(String agentId) { } + /** + * The name of the agent. + */ + public Builder name(String name) { + Utils.checkNotNull(name, "name"); + this.name = Optional.ofNullable(name); + return this; + } + + /** + * The name of the agent. + */ + public Builder name(Optional name) { + Utils.checkNotNull(name, "name"); + this.name = name; + return this; + } + + /** * The schema for the agent input. In JSON Schema format. */ @@ -260,8 +320,8 @@ public Builder tools(Optional> tools) { public AgentSchemas build() { return new AgentSchemas( - agentId, inputSchema, outputSchema, - tools); + agentId, name, inputSchema, + outputSchema, tools); } } diff --git a/src/main/java/com/glean/api_client/glean_api_client/models/components/AuthConfig.java b/src/main/java/com/glean/api_client/glean_api_client/models/components/AuthConfig.java index ce398910..8fad1cfc 100644 --- a/src/main/java/com/glean/api_client/glean_api_client/models/components/AuthConfig.java +++ b/src/main/java/com/glean/api_client/glean_api_client/models/components/AuthConfig.java @@ -101,6 +101,18 @@ public class AuthConfig { @JsonProperty("resource") private Optional resource; + /** + * The OAuth 2.0 token endpoint authentication method (RFC 7591). Determines how the client + * authenticates when exchanging an authorization code for a token. client_secret_post sends + * credentials as form fields, client_secret_basic sends them via Authorization header, none omits + * client secret and relies on PKCE only. + * + *

Values use lowercase to match the OAuth 2.0 wire format (RFC 7591 Section 2). + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("token_endpoint_auth_method") + private Optional tokenEndpointAuthMethod; + /** * The time the tool was last authorized in ISO format (ISO 8601). */ @@ -120,6 +132,7 @@ public AuthConfig( @JsonProperty("audiences") Optional> audiences, @JsonProperty("authorization_url") Optional authorizationUrl, @JsonProperty("resource") Optional resource, + @JsonProperty("token_endpoint_auth_method") Optional tokenEndpointAuthMethod, @JsonProperty("lastAuthorizedAt") Optional lastAuthorizedAt) { Utils.checkNotNull(isOnPrem, "isOnPrem"); Utils.checkNotNull(usesCentralAuth, "usesCentralAuth"); @@ -131,6 +144,7 @@ public AuthConfig( Utils.checkNotNull(audiences, "audiences"); Utils.checkNotNull(authorizationUrl, "authorizationUrl"); Utils.checkNotNull(resource, "resource"); + Utils.checkNotNull(tokenEndpointAuthMethod, "tokenEndpointAuthMethod"); Utils.checkNotNull(lastAuthorizedAt, "lastAuthorizedAt"); this.isOnPrem = isOnPrem; this.usesCentralAuth = usesCentralAuth; @@ -142,6 +156,7 @@ public AuthConfig( this.audiences = audiences; this.authorizationUrl = authorizationUrl; this.resource = resource; + this.tokenEndpointAuthMethod = tokenEndpointAuthMethod; this.lastAuthorizedAt = lastAuthorizedAt; } @@ -149,7 +164,7 @@ public AuthConfig() { this(Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), - Optional.empty(), Optional.empty()); + Optional.empty(), Optional.empty(), Optional.empty()); } /** @@ -244,6 +259,20 @@ public Optional resource() { return resource; } + /** + * The OAuth 2.0 token endpoint authentication method (RFC 7591). Determines how the client + * authenticates when exchanging an authorization code for a token. client_secret_post sends + * credentials as form fields, client_secret_basic sends them via Authorization header, none omits + * client secret and relies on PKCE only. + * + *

Values use lowercase to match the OAuth 2.0 wire format (RFC 7591 Section 2). + */ + @SuppressWarnings("unchecked") + @JsonIgnore + public Optional tokenEndpointAuthMethod() { + return (Optional) tokenEndpointAuthMethod; + } + /** * The time the tool was last authorized in ISO format (ISO 8601). */ @@ -461,6 +490,35 @@ public AuthConfig withResource(Optional resource) { return this; } + /** + * The OAuth 2.0 token endpoint authentication method (RFC 7591). Determines how the client + * authenticates when exchanging an authorization code for a token. client_secret_post sends + * credentials as form fields, client_secret_basic sends them via Authorization header, none omits + * client secret and relies on PKCE only. + * + *

Values use lowercase to match the OAuth 2.0 wire format (RFC 7591 Section 2). + */ + public AuthConfig withTokenEndpointAuthMethod(TokenEndpointAuthMethod tokenEndpointAuthMethod) { + Utils.checkNotNull(tokenEndpointAuthMethod, "tokenEndpointAuthMethod"); + this.tokenEndpointAuthMethod = Optional.ofNullable(tokenEndpointAuthMethod); + return this; + } + + + /** + * The OAuth 2.0 token endpoint authentication method (RFC 7591). Determines how the client + * authenticates when exchanging an authorization code for a token. client_secret_post sends + * credentials as form fields, client_secret_basic sends them via Authorization header, none omits + * client secret and relies on PKCE only. + * + *

Values use lowercase to match the OAuth 2.0 wire format (RFC 7591 Section 2). + */ + public AuthConfig withTokenEndpointAuthMethod(Optional tokenEndpointAuthMethod) { + Utils.checkNotNull(tokenEndpointAuthMethod, "tokenEndpointAuthMethod"); + this.tokenEndpointAuthMethod = tokenEndpointAuthMethod; + return this; + } + /** * The time the tool was last authorized in ISO format (ISO 8601). */ @@ -500,6 +558,7 @@ public boolean equals(java.lang.Object o) { Utils.enhancedDeepEquals(this.audiences, other.audiences) && Utils.enhancedDeepEquals(this.authorizationUrl, other.authorizationUrl) && Utils.enhancedDeepEquals(this.resource, other.resource) && + Utils.enhancedDeepEquals(this.tokenEndpointAuthMethod, other.tokenEndpointAuthMethod) && Utils.enhancedDeepEquals(this.lastAuthorizedAt, other.lastAuthorizedAt); } @@ -509,7 +568,7 @@ public int hashCode() { isOnPrem, usesCentralAuth, type, grantType, status, clientUrl, scopes, audiences, authorizationUrl, - resource, lastAuthorizedAt); + resource, tokenEndpointAuthMethod, lastAuthorizedAt); } @Override @@ -525,6 +584,7 @@ public String toString() { "audiences", audiences, "authorizationUrl", authorizationUrl, "resource", resource, + "tokenEndpointAuthMethod", tokenEndpointAuthMethod, "lastAuthorizedAt", lastAuthorizedAt); } @@ -551,6 +611,8 @@ public final static class Builder { private Optional resource = Optional.empty(); + private Optional tokenEndpointAuthMethod = Optional.empty(); + private Optional lastAuthorizedAt = Optional.empty(); private Builder() { @@ -762,6 +824,35 @@ public Builder resource(Optional resource) { } + /** + * The OAuth 2.0 token endpoint authentication method (RFC 7591). Determines how the client + * authenticates when exchanging an authorization code for a token. client_secret_post sends + * credentials as form fields, client_secret_basic sends them via Authorization header, none omits + * client secret and relies on PKCE only. + * + *

Values use lowercase to match the OAuth 2.0 wire format (RFC 7591 Section 2). + */ + public Builder tokenEndpointAuthMethod(TokenEndpointAuthMethod tokenEndpointAuthMethod) { + Utils.checkNotNull(tokenEndpointAuthMethod, "tokenEndpointAuthMethod"); + this.tokenEndpointAuthMethod = Optional.ofNullable(tokenEndpointAuthMethod); + return this; + } + + /** + * The OAuth 2.0 token endpoint authentication method (RFC 7591). Determines how the client + * authenticates when exchanging an authorization code for a token. client_secret_post sends + * credentials as form fields, client_secret_basic sends them via Authorization header, none omits + * client secret and relies on PKCE only. + * + *

Values use lowercase to match the OAuth 2.0 wire format (RFC 7591 Section 2). + */ + public Builder tokenEndpointAuthMethod(Optional tokenEndpointAuthMethod) { + Utils.checkNotNull(tokenEndpointAuthMethod, "tokenEndpointAuthMethod"); + this.tokenEndpointAuthMethod = tokenEndpointAuthMethod; + return this; + } + + /** * The time the tool was last authorized in ISO format (ISO 8601). */ @@ -786,7 +877,7 @@ public AuthConfig build() { isOnPrem, usesCentralAuth, type, grantType, status, clientUrl, scopes, audiences, authorizationUrl, - resource, lastAuthorizedAt); + resource, tokenEndpointAuthMethod, lastAuthorizedAt); } } diff --git a/src/main/java/com/glean/api_client/glean_api_client/models/components/TokenEndpointAuthMethod.java b/src/main/java/com/glean/api_client/glean_api_client/models/components/TokenEndpointAuthMethod.java new file mode 100644 index 00000000..82c531be --- /dev/null +++ b/src/main/java/com/glean/api_client/glean_api_client/models/components/TokenEndpointAuthMethod.java @@ -0,0 +1,142 @@ +/* + * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + * @generated-id: a296643b32ae + */ +package com.glean.api_client.glean_api_client.models.components; + +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import java.lang.Override; +import java.lang.String; +import java.util.HashMap; +import java.util.LinkedHashMap; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; + +/** + * Wrapper for an "open" enum that can handle unknown values from API responses + * without runtime errors. Instances are immutable singletons with reference equality. + * Use {@code asEnum()} for switch expressions. + */ +/** + * TokenEndpointAuthMethod + * + *

The OAuth 2.0 token endpoint authentication method (RFC 7591). Determines how the client + * authenticates when exchanging an authorization code for a token. client_secret_post sends + * credentials as form fields, client_secret_basic sends them via Authorization header, none omits + * client secret and relies on PKCE only. + * + *

Values use lowercase to match the OAuth 2.0 wire format (RFC 7591 Section 2). + */ +public class TokenEndpointAuthMethod { + + public static final TokenEndpointAuthMethod CLIENT_SECRET_POST = new TokenEndpointAuthMethod("client_secret_post"); + public static final TokenEndpointAuthMethod CLIENT_SECRET_BASIC = new TokenEndpointAuthMethod("client_secret_basic"); + public static final TokenEndpointAuthMethod NONE = new TokenEndpointAuthMethod("none"); + + // This map will grow whenever a Color gets created with a new + // unrecognized value (a potential memory leak if the user is not + // careful). Keep this field lower case to avoid clashing with + // generated member names which will always be upper cased (Java + // convention) + private static final Map values = createValuesMap(); + private static final Map enums = createEnumsMap(); + + private final String value; + + private TokenEndpointAuthMethod(String value) { + this.value = value; + } + + /** + * Returns a TokenEndpointAuthMethod with the given value. For a specific value the + * returned object will always be a singleton so reference equality + * is satisfied when the values are the same. + * + * @param value value to be wrapped as TokenEndpointAuthMethod + */ + @JsonCreator + public static TokenEndpointAuthMethod of(String value) { + synchronized (TokenEndpointAuthMethod.class) { + return values.computeIfAbsent(value, v -> new TokenEndpointAuthMethod(v)); + } + } + + @JsonValue + public String value() { + return value; + } + + public Optional asEnum() { + return Optional.ofNullable(enums.getOrDefault(value, null)); + } + + public boolean isKnown() { + return asEnum().isPresent(); + } + + @Override + public int hashCode() { + return Objects.hash(value); + } + + @Override + public boolean equals(java.lang.Object obj) { + if (this == obj) + return true; + if (obj == null) + return false; + if (getClass() != obj.getClass()) + return false; + TokenEndpointAuthMethod other = (TokenEndpointAuthMethod) obj; + return Objects.equals(value, other.value); + } + + @Override + public String toString() { + return "TokenEndpointAuthMethod [value=" + value + "]"; + } + + // return an array just like an enum + public static TokenEndpointAuthMethod[] values() { + synchronized (TokenEndpointAuthMethod.class) { + return values.values().toArray(new TokenEndpointAuthMethod[] {}); + } + } + + private static final Map createValuesMap() { + Map map = new LinkedHashMap<>(); + map.put("client_secret_post", CLIENT_SECRET_POST); + map.put("client_secret_basic", CLIENT_SECRET_BASIC); + map.put("none", NONE); + return map; + } + + private static final Map createEnumsMap() { + Map map = new HashMap<>(); + map.put("client_secret_post", TokenEndpointAuthMethodEnum.CLIENT_SECRET_POST); + map.put("client_secret_basic", TokenEndpointAuthMethodEnum.CLIENT_SECRET_BASIC); + map.put("none", TokenEndpointAuthMethodEnum.NONE); + return map; + } + + + public enum TokenEndpointAuthMethodEnum { + + CLIENT_SECRET_POST("client_secret_post"), + CLIENT_SECRET_BASIC("client_secret_basic"), + NONE("none"),; + + private final String value; + + private TokenEndpointAuthMethodEnum(String value) { + this.value = value; + } + + public String value() { + return value; + } + } +} + From 2721c715b65def5955c7d82660b685072d4d9bb9 Mon Sep 17 00:00:00 2001 From: "speakeasy-github[bot]" <128539517+speakeasy-github[bot]@users.noreply.github.com> Date: Wed, 11 Mar 2026 09:07:42 +0000 Subject: [PATCH 2/2] empty commit to trigger [run-tests] workflow