From 4f20fbb8075b10170c1505502d72fb851186c724 Mon Sep 17 00:00:00 2001 From: speakeasybot Date: Wed, 11 Nov 2026 04:37:36 +0000 Subject: [PATCH 1/2] ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.808.1 --- .speakeasy/gen.lock | 48 ++++++++-------- .speakeasy/gen.yaml | 2 +- .speakeasy/glean-merged-spec.yaml | 4 +- .speakeasy/workflow.lock | 12 ++-- README.md | 2 +- RELEASES.md | 12 +++- examples/package-lock.json | 4 +- jsr.json | 2 +- package-lock.json | 6 +- package.json | 4 +- .../pathpostrestapiv1createcollection.go | 20 +++---- src/__tests__/summarize.test.ts | 5 +- src/lib/config.ts | 6 +- src/lib/env.ts | 8 ++- src/lib/event-streams.ts | 57 +++++++++++++++---- 15 files changed, 120 insertions(+), 72 deletions(-) diff --git a/.speakeasy/gen.lock b/.speakeasy/gen.lock index b0605607a..d1c6c1c07 100644 --- a/.speakeasy/gen.lock +++ b/.speakeasy/gen.lock @@ -1,19 +1,19 @@ lockVersion: 2.0.0 id: 664aaca5-a41f-4434-8f2a-642dba92fe68 management: - docChecksum: 95692313381fbb5eca84b518bbfd374c + docChecksum: ed13e77a19577b3ef21f957e7eca8fd9 docVersion: 0.9.0 - speakeasyVersion: 1.807.0 - generationVersion: 2.956.1 - releaseVersion: 0.20.20 - configChecksum: 50cbe9d2af2200a52cc6c41640314b69 + speakeasyVersion: 1.808.1 + generationVersion: 2.960.8 + releaseVersion: 0.20.21 + configChecksum: a44b82cfe76733187d46fa304ce89665 repoURL: https://github.com/gleanwork/api-client-typescript.git installationURL: https://github.com/gleanwork/api-client-typescript published: true persistentEdits: - generation_id: 15154a0b-ea6a-47d7-8260-2b5ce6abb742 - pristine_commit_hash: 0945e01b098224c5b7ef0f8b9b4f81fd451424fd - pristine_tree_hash: 1f8e9e721318bd08549fcde053f7b513a6d2421d + generation_id: 5d7f6a38-9c8d-4980-9a4e-2503ec97e837 + pristine_commit_hash: 8478bb65791322ef419905ee977e85714553289e + pristine_tree_hash: 50e544fa8b4cadb0c0143d5e7fad6e0b130f0d6d features: typescript: acceptHeaders: 2.81.2 @@ -21,7 +21,7 @@ features: additionalProperties: 0.1.4 callbacks: 1.0.1 constsAndDefaults: 0.1.14 - core: 3.31.8 + core: 3.31.11 defaultEnabledRetries: 0.1.0 deprecations: 2.81.1 devContainers: 2.90.1 @@ -44,7 +44,7 @@ features: responseFormat: 0.3.0 retries: 2.83.2 sdkHooks: 0.4.0 - serverEvents: 0.2.4 + serverEvents: 0.2.5 tests: 0.17.7 unions: 2.86.8 uploadStreams: 0.1.1 @@ -4343,12 +4343,12 @@ trackedFiles: pristine_git_object: 5a2797590d4be351d62915017d5b2a0f853537c8 jsr.json: id: 7f6ab7767282 - last_write_checksum: sha1:cb8dbdd311a08b378e5441a4509a0f8b3839a184 - pristine_git_object: 5d0d29d336232d428f55df7477eacf8282aa8f5a + last_write_checksum: sha1:eb4010040f16ffbf968662152fba851dc27014eb + pristine_git_object: 7a3995d9b363fc89786bb4a56b5f1b1342e23254 package.json: id: 7030d0b2f71b - last_write_checksum: sha1:9297fb6fb6f4fa4163fc3bc5c42c1d56a8a8f498 - pristine_git_object: fe8fb69223c846267bdb593974bd8c9a824c953e + last_write_checksum: sha1:1084670ffced63820215f84fa65e65da7d6d6ea8 + pristine_git_object: b027484b07b16c04677092c9c75999fb16a3992c src/__tests__/activities.test.ts: id: 65fa859b8f59 last_write_checksum: sha1:756bc40095f4495bbf62739b8218bb4a559a24f2 @@ -4963,8 +4963,8 @@ trackedFiles: pristine_git_object: 759610d9e14b656b2a8671c25618d94bd6dd13fb src/__tests__/mockserver/internal/handler/pathpostrestapiv1createcollection.go: id: a5a57be97594 - last_write_checksum: sha1:9b962c4ca4d653411bc410023c49401518b209fe - pristine_git_object: a4b193767e8924ecc8a22aa8df6d0030f8786874 + last_write_checksum: sha1:018cc7286107290e649b6b3b03aa3dbb954fac49 + pristine_git_object: 673b01bb8e674296a9eaae2e614c08d07b3700a2 src/__tests__/mockserver/internal/handler/pathpostrestapiv1createshortcut.go: id: 440deca160f6 last_write_checksum: sha1:e2bba9884dd04f8d9b158c88fb32ff9f06687846 @@ -8767,8 +8767,8 @@ trackedFiles: pristine_git_object: 80853fce6d86d20766336fb2fd27c8669cd12ca8 src/__tests__/summarize.test.ts: id: 3105d6ebc7eb - last_write_checksum: sha1:47aba69feca28ec8bd0bd64eef696347117333ec - pristine_git_object: 008cba19fe98d46d205df9f892b66cbec0239986 + last_write_checksum: sha1:593e8da8d5044fbed5e0cdfab94c31f093739241 + pristine_git_object: 3dfcfe72a4ddce9bca60341ef3fe67881b9e12dc src/__tests__/testclient.ts: id: f142c080bff8 last_write_checksum: sha1:3a38647391f52221c009a9273eebf90793b3d430 @@ -9559,20 +9559,20 @@ trackedFiles: pristine_git_object: 42d9739ab67c2fec0689f83777ffa5e1f875e5d5 src/lib/config.ts: id: 320761608fb3 - last_write_checksum: sha1:96bf5cc0ed442f71c651a04ef47c55f5b2dbccdb - pristine_git_object: 329a82b5ed179374f6b41344e85ba0540c2d5288 + last_write_checksum: sha1:7d693d49bb96cff150b056da54b339a37d571f94 + pristine_git_object: 90dcfd63f5487be09c48f9ddb379c15a409cf31f src/lib/encodings.ts: id: 3bd8ead98afd last_write_checksum: sha1:d1917169abb226ccb0d2e93fd211a1d2987822b4 pristine_git_object: fed425b4dfcc4e2cb0604570d4142c8d2fba2840 src/lib/env.ts: id: c52972a3b198 - last_write_checksum: sha1:02e4ab0da51816bc062d2a91440dc0fe6c3f5f5b - pristine_git_object: e870c7c3f1b1be519f11fc3ddfb5e019b7fd9f07 + last_write_checksum: sha1:14ea45be7a8ab7b08186f9c325af0aa0999bf8ba + pristine_git_object: d2a0b922bf706b61577a63cac07c9aab8971e5f3 src/lib/event-streams.ts: id: 3f731f808a79 - last_write_checksum: sha1:2b7c424ea7c71f704cbc20cb68d23c636ff2d965 - pristine_git_object: 9c4c400f203aa7e513a3932a00ffd4a585a35ca9 + last_write_checksum: sha1:1fd3290e65f2911f9b3373f81dc227de318f852f + pristine_git_object: 7ce624d572a9143a02b2b9082441273f40c663fe src/lib/files.ts: id: e5efa54fcb95 last_write_checksum: sha1:eca69f15b691e2fbe6d5b15e9b84add4c730c3d7 diff --git a/.speakeasy/gen.yaml b/.speakeasy/gen.yaml index 5b1721bc8..19c057699 100644 --- a/.speakeasy/gen.yaml +++ b/.speakeasy/gen.yaml @@ -36,7 +36,7 @@ generation: generateNewTests: true skipResponseBodyAssertions: true typescript: - version: 0.20.20 + version: 0.20.21 acceptHeaderEnum: true additionalDependencies: dependencies: {} diff --git a/.speakeasy/glean-merged-spec.yaml b/.speakeasy/glean-merged-spec.yaml index 47dbe02b0..6141e6c05 100644 --- a/.speakeasy/glean-merged-spec.yaml +++ b/.speakeasy/glean-merged-spec.yaml @@ -2,8 +2,8 @@ openapi: 3.1.0 info: version: "0.9.0" title: Glean API - x-source-commit-sha: 5b8e2db54b79325d9011ef719ee02f678cd90f4d - x-open-api-commit-sha: 31aecb2bfcc712b611947189f94a7777bb824a35 + x-source-commit-sha: bb7907273db6459cbde6e66333718ee1de739c8e + x-open-api-commit-sha: dbfaeddbafcfcf34433a264950cfa8785098aa16 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. diff --git a/.speakeasy/workflow.lock b/.speakeasy/workflow.lock index 6e595bb87..90a7a5d00 100644 --- a/.speakeasy/workflow.lock +++ b/.speakeasy/workflow.lock @@ -1,9 +1,9 @@ -speakeasyVersion: 1.807.0 +speakeasyVersion: 1.808.1 sources: Glean API: sourceNamespace: glean-api-specs - sourceRevisionDigest: sha256:350b1d0247e2ac788120757f3421895772840423590048e18591b6af58797f37 - sourceBlobDigest: sha256:83e770acbb2cc276f9ef67f1a0dd98266bfd30511ab8fc0d8a14c0457c8d46bd + sourceRevisionDigest: sha256:235e3d54216b951fb33149c6447411cd7c020dc183ff43f1976c85a65ceb1966 + sourceBlobDigest: sha256:68a1d2a2167d136041d9e1e2367448aac20ae0d13edbada308fbf51fb09344ca tags: - latest Glean Client API: @@ -17,10 +17,10 @@ targets: glean: source: Glean API sourceNamespace: glean-api-specs - sourceRevisionDigest: sha256:350b1d0247e2ac788120757f3421895772840423590048e18591b6af58797f37 - sourceBlobDigest: sha256:83e770acbb2cc276f9ef67f1a0dd98266bfd30511ab8fc0d8a14c0457c8d46bd + sourceRevisionDigest: sha256:235e3d54216b951fb33149c6447411cd7c020dc183ff43f1976c85a65ceb1966 + sourceBlobDigest: sha256:68a1d2a2167d136041d9e1e2367448aac20ae0d13edbada308fbf51fb09344ca codeSamplesNamespace: glean-api-specs-typescript-code-samples - codeSamplesRevisionDigest: sha256:2899cc4cd37fff84f33d973bc6fbebcc64a238b9c0090509a2af33f0b6046af6 + codeSamplesRevisionDigest: sha256:58ca1a11c0c8679e783eeeb2aae7b92828b21528eb751f8e7cd8e5a8008b2ea8 workflow: workflowVersion: 1.0.0 speakeasyVersion: latest diff --git a/README.md b/README.md index 43ab5764b..3a948e942 100644 --- a/README.md +++ b/README.md @@ -1374,7 +1374,7 @@ import { Glean } from "@gleanwork/api-client"; const sdk = new Glean({ debugLogger: console }); ``` -You can also enable a default debug logger by setting an environment variable `GLEAN_DEBUG` to true. +You can also enable a default debug logger by setting an environment variable `GLEAN_DEBUG` to `true`, `1`, `yes` or `on` (case-insensitive). Any other value leaves it off. ## Experimental Features and Deprecation Testing diff --git a/RELEASES.md b/RELEASES.md index 61188ae5a..f79cddb15 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -1088,4 +1088,14 @@ Based on: ### Generated - [typescript v0.20.20] . ### Releases -- [NPM v0.20.20] https://www.npmjs.com/package/@gleanwork/api-client/v/0.20.20 - . \ No newline at end of file +- [NPM v0.20.20] https://www.npmjs.com/package/@gleanwork/api-client/v/0.20.20 - . + +## 2026-11-11 04:29:20 +### Changes +Based on: +- OpenAPI Doc +- Speakeasy CLI 1.808.1 (2.960.8) https://github.com/speakeasy-api/speakeasy +### Generated +- [typescript v0.20.21] . +### Releases +- [NPM v0.20.21] https://www.npmjs.com/package/@gleanwork/api-client/v/0.20.21 - . \ No newline at end of file diff --git a/examples/package-lock.json b/examples/package-lock.json index 5a6206ee1..0acc92d67 100644 --- a/examples/package-lock.json +++ b/examples/package-lock.json @@ -18,9 +18,9 @@ }, "..": { "name": "@gleanwork/api-client", - "version": "0.20.20", + "version": "0.20.21", "dependencies": { - "zod": "^3.25.0 || ^4.0.0" + "zod": "^3.25.0 || ^4.6.6" }, "devDependencies": { "@eslint/js": "^9.26.0", diff --git a/jsr.json b/jsr.json index 5d0d29d33..7a3995d9b 100644 --- a/jsr.json +++ b/jsr.json @@ -2,7 +2,7 @@ { "name": "@gleanwork/api-client", - "version": "0.20.20", + "version": "0.20.21", "exports": { ".": "./src/index.ts", "./models/errors": "./src/models/errors/index.ts", diff --git a/package-lock.json b/package-lock.json index c33632135..d6c050075 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,14 +1,14 @@ { "name": "@gleanwork/api-client", - "version": "0.20.20", + "version": "0.20.21", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@gleanwork/api-client", - "version": "0.20.20", + "version": "0.20.21", "dependencies": { - "zod": "^3.25.0 || ^4.0.0" + "zod": "^3.25.0 || ^4.6.6" }, "devDependencies": { "@eslint/js": "^9.26.0", diff --git a/package.json b/package.json index fe8fb6922..b027484b0 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@gleanwork/api-client", - "version": "0.20.20", + "version": "0.20.21", "author": "Speakeasy", "tshy": { "sourceDialects": [ @@ -61,7 +61,7 @@ "vitest": "^3.2.6" }, "dependencies": { - "zod": "^3.25.0 || ^4.0.0" + "zod": "^3.25.0 || ^4.6.6" }, "exports": { ".": { diff --git a/src/__tests__/mockserver/internal/handler/pathpostrestapiv1createcollection.go b/src/__tests__/mockserver/internal/handler/pathpostrestapiv1createcollection.go index a4b193767..673b01bb8 100644 --- a/src/__tests__/mockserver/internal/handler/pathpostrestapiv1createcollection.go +++ b/src/__tests__/mockserver/internal/handler/pathpostrestapiv1createcollection.go @@ -57,14 +57,14 @@ func testCreatecollectionCreatecollection0(w http.ResponseWriter, req *http.Requ operations.ResponseBody2{ Collection: &components.Collection{ Name: "", - Description: "motionless whenever paintwork import over cuckoo", + Description: "whole busily jive hawk gee basic minus hence", AddedRoles: []components.UserRoleSpecification{ components.UserRoleSpecification{ Person: &components.Person{ Name: "George Clooney", ObfuscatedID: "abc123", }, - Role: components.UserRoleOwner, + Role: components.UserRoleAnswerModerator, }, }, RemovedRoles: []components.UserRoleSpecification{ @@ -91,7 +91,7 @@ func testCreatecollectionCreatecollection0(w http.ResponseWriter, req *http.Requ }, }, }, - ID: 363711, + ID: 158969, Creator: &components.Person{ Name: "George Clooney", ObfuscatedID: "abc123", @@ -102,7 +102,7 @@ func testCreatecollectionCreatecollection0(w http.ResponseWriter, req *http.Requ }, Items: []components.CollectionItem{ components.CollectionItem{ - CollectionID: 570197, + CollectionID: 110375, CreatedBy: &components.Person{ Name: "George Clooney", ObfuscatedID: "abc123", @@ -279,13 +279,13 @@ func testCreatecollectionCreatecollection0(w http.ResponseWriter, req *http.Requ Name: "George Clooney", ObfuscatedID: "abc123", }, - Role: components.UserRoleAnswerModerator, + Role: components.UserRoleEditor, }, }, }, Collection: &components.Collection{ Name: "", - Description: "athwart skateboard newsstand farm bourgeoisie ah how elliptical aha well-to-do", + Description: "wedge colorfully orientate rally", AudienceFilters: []components.FacetFilter{ components.FacetFilter{ FieldName: types.String("type"), @@ -301,7 +301,7 @@ func testCreatecollectionCreatecollection0(w http.ResponseWriter, req *http.Requ }, }, }, - ID: 643990, + ID: 131797, Creator: &components.Person{ Name: "George Clooney", ObfuscatedID: "abc123", @@ -313,7 +313,7 @@ func testCreatecollectionCreatecollection0(w http.ResponseWriter, req *http.Requ Children: []components.Collection{ components.Collection{ Name: "", - Description: "woot purse salty even as advanced", + Description: "outside yippee sidetrack mature regularly mouser inject worth", AudienceFilters: []components.FacetFilter{ components.FacetFilter{ FieldName: types.String("type"), @@ -329,7 +329,7 @@ func testCreatecollectionCreatecollection0(w http.ResponseWriter, req *http.Requ }, }, }, - ID: 359978, + ID: 149448, Creator: &components.Person{ Name: "George Clooney", ObfuscatedID: "abc123", @@ -341,7 +341,7 @@ func testCreatecollectionCreatecollection0(w http.ResponseWriter, req *http.Requ }, }, }, - ItemType: components.CollectionItemItemTypeURL, + ItemType: components.CollectionItemItemTypeCollection, }, }, }, diff --git a/src/__tests__/summarize.test.ts b/src/__tests__/summarize.test.ts index 008cba19f..3dfcfe72a 100644 --- a/src/__tests__/summarize.test.ts +++ b/src/__tests__/summarize.test.ts @@ -19,11 +19,10 @@ test("Summarize Summarize", async () => { const result = await glean.client.documents.summarize({ documentSpecs: [ { - ugcType: "ANSWERS", - ugcId: "", + url: "https://judicious-squid.info", }, { - url: "https://potable-pine.org", + id: "", }, ], }); diff --git a/src/lib/config.ts b/src/lib/config.ts index eda230c05..32d80dab9 100644 --- a/src/lib/config.ts +++ b/src/lib/config.ts @@ -73,8 +73,8 @@ export function serverURLFromOptions(options: SDKOptions): URL | null { export const SDK_METADATA = { language: "typescript", openapiDocVersion: "0.9.0", - sdkVersion: "0.20.20", - genVersion: "2.956.1", + sdkVersion: "0.20.21", + genVersion: "2.960.8", userAgent: - "speakeasy-sdk/typescript 0.20.20 2.956.1 0.9.0 @gleanwork/api-client", + "speakeasy-sdk/typescript 0.20.21 2.960.8 0.9.0 @gleanwork/api-client", } as const; diff --git a/src/lib/env.ts b/src/lib/env.ts index e870c7c3f..d2a0b922b 100644 --- a/src/lib/env.ts +++ b/src/lib/env.ts @@ -14,9 +14,15 @@ export interface Env { export const envSchema: z.ZodType = z.object({ GLEAN_API_TOKEN: z.string().optional(), - GLEAN_DEBUG: z.coerce.boolean().optional(), + GLEAN_DEBUG: z.unknown().transform(parseEnvFlag).optional(), }); +function parseEnvFlag(value: unknown): boolean { + return ["true", "1", "yes", "on"].includes( + String(value).trim().toLowerCase(), + ); +} + /** * Checks for the existence of the Deno global object to determine the environment. * @returns {boolean} True if the runtime is Deno, false otherwise. diff --git a/src/lib/event-streams.ts b/src/lib/event-streams.ts index 9c4c400f2..7ce624d57 100644 --- a/src/lib/event-streams.ts +++ b/src/lib/event-streams.ts @@ -17,6 +17,17 @@ declare global { } } +type StreamIterator = ( + & ReadableStream[typeof Symbol.asyncIterator] + & (() => unknown) +) extends { + (options?: any): infer A; + (options?: any): infer B; + (options?: any): infer C; + (options?: any): infer D; +} ? A & B & C & D + : never; + export type SseMessage = { data?: T | undefined; event?: string | null | undefined; @@ -89,35 +100,57 @@ export class EventStream> // Use ReadableStream's iterator return type instead of `any` so stream events // keep their generated type in for-await loops. - override [Symbol.asyncIterator](): ReturnType< - ReadableStream[typeof Symbol.asyncIterator] - > { + override [Symbol.asyncIterator](): StreamIterator { const fn = (ReadableStream.prototype as any)[Symbol.asyncIterator]; if (typeof fn === "function") return fn.call(this); const reader = this.getReader(); - return { + let released = false; + const release = () => { + released = true; + reader.releaseLock(); + }; + const iterator = { next: async () => { - const r = await reader.read(); + if (released) return { done: true, value: undefined }; + const r = await reader.read().catch((e: unknown) => { + release(); + throw e; + }); if (r.done) { - reader.releaseLock(); + release(); return { done: true, value: undefined }; } return { done: false, value: r.value }; }, - throw: async (e) => { - await reader.cancel(e); - reader.releaseLock(); + throw: async (e?: unknown) => { + if (released) return { done: true, value: undefined }; + try { + await reader.cancel(e); + } finally { + release(); + } return { done: true, value: undefined }; }, return: async () => { - await reader.cancel("done"); - reader.releaseLock(); + if (released) return { done: true, value: undefined }; + try { + await reader.cancel("done"); + } finally { + release(); + } return { done: true, value: undefined }; }, [Symbol.asyncIterator]() { return this; }, - } as ReturnType[typeof Symbol.asyncIterator]>; + }; + const asyncDispose = (Symbol as any).asyncDispose; + if (asyncDispose) { + (iterator as any)[asyncDispose] = async () => { + await iterator.return(); + }; + } + return iterator as unknown as StreamIterator; } } From 1413e1f7b6ea8a8b3c4dd4bad94b0f6625d89a2f Mon Sep 17 00:00:00 2001 From: "speakeasy-github[bot]" <128539517+speakeasy-github[bot]@users.noreply.github.com> Date: Wed, 11 Nov 2026 04:37:44 +0000 Subject: [PATCH 2/2] empty commit to trigger [run-tests] workflow