From c07cf7e80e5b45820974bca40eca3e1af733d0a2 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 21 Oct 2026 19:46:37 +0000 Subject: [PATCH 1/2] Update dependency @effect/tsgo to v0.53.0 --- bun.lock | 18 +++++++++--------- package.json | 2 +- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/bun.lock b/bun.lock index d6ec48f..be3ab99 100644 --- a/bun.lock +++ b/bun.lock @@ -17,7 +17,7 @@ "devDependencies": { "@biomejs/biome": "2.5.15", "@commy/testing": "workspace:*", - "@effect/tsgo": "0.52.0", + "@effect/tsgo": "0.53.0", "bun-types": "1.4.3", "turbo": "2.11.9", "typescript": "7.0.2", @@ -128,21 +128,21 @@ "@effect/sql": ["@effect/sql@0.52.1", "", { "dependencies": { "uuid": "^11.0.3" }, "peerDependencies": { "@effect/experimental": "^0.61.1", "@effect/platform": "^0.97.1", "effect": "^3.22.1" } }, "sha512-dUVPjlUgpga6sDa/MtYipHAqzHx2St41hxI00nXTBt4IBBJaf2lTGaOvlEoBg/q6PHVAgSoKnxe19pWUvabC9g=="], - "@effect/tsgo": ["@effect/tsgo@0.52.0", "", { "optionalDependencies": { "@effect/tsgo-darwin-arm64": "0.52.0", "@effect/tsgo-darwin-x64": "0.52.0", "@effect/tsgo-linux-arm": "0.52.0", "@effect/tsgo-linux-arm64": "0.52.0", "@effect/tsgo-linux-x64": "0.52.0", "@effect/tsgo-win32-arm64": "0.52.0", "@effect/tsgo-win32-x64": "0.52.0" }, "bin": { "effect-tsgo": "dist/effect-tsgo.cjs" } }, "sha512-ue6Xl8lbamtOXY4pH2W7aLr/Vb2Bhv/kOy3xoL/Hgdai1ns+16xCmhSQbUkKYl75kKCAPl6I1TwpdsQkfk6OOw=="], + "@effect/tsgo": ["@effect/tsgo@0.53.0", "", { "optionalDependencies": { "@effect/tsgo-darwin-arm64": "0.53.0", "@effect/tsgo-darwin-x64": "0.53.0", "@effect/tsgo-linux-arm": "0.53.0", "@effect/tsgo-linux-arm64": "0.53.0", "@effect/tsgo-linux-x64": "0.53.0", "@effect/tsgo-win32-arm64": "0.53.0", "@effect/tsgo-win32-x64": "0.53.0" }, "bin": { "effect-tsgo": "dist/effect-tsgo.cjs" } }, "sha512-a8Ss/rI9QoOvJTQPet0YUpLqXp+/Qaydil+WpIHOhhsqvCu3l6aqN5xB+C/Mff/QW51r54n3Frk7a/joFszHgw=="], - "@effect/tsgo-darwin-arm64": ["@effect/tsgo-darwin-arm64@0.52.0", "", { "os": "darwin", "cpu": "arm64" }, "sha512-UkC9wLIaO/8R8a3Z4M0GBUamaCYipjHcHFiO2K01dmnmQ2VFDG4SsWktfnAZOxGh+Dc0cVo8dUVQMYLoOxycpA=="], + "@effect/tsgo-darwin-arm64": ["@effect/tsgo-darwin-arm64@0.53.0", "", { "os": "darwin", "cpu": "arm64" }, "sha512-YDwx3cFpohEMtjbd+65iH/tVxIZs39pkR8KW2Vy7c5GB1LjOzkB+jo2rcku6DOueV/bfpS1wiSmsD1jsTVNIRg=="], - "@effect/tsgo-darwin-x64": ["@effect/tsgo-darwin-x64@0.52.0", "", { "os": "darwin", "cpu": "x64" }, "sha512-UhGdUAK947Cl/khX/yAAleA65qyPcGyGuVrgYIdpJ2/q08YcaDPWoEI5S+yKlluNGvHubt2V8LCG8qUvKwX4fQ=="], + "@effect/tsgo-darwin-x64": ["@effect/tsgo-darwin-x64@0.53.0", "", { "os": "darwin", "cpu": "x64" }, "sha512-6XvsEyNo5HAxSOum/zdvHHANu4sp5u6GqOyqZ00Pq+jPP1gFAvavS4kp3PZVR6mBaGv4sLRu6QMjwc3SbQz4uA=="], - "@effect/tsgo-linux-arm": ["@effect/tsgo-linux-arm@0.52.0", "", { "os": "linux", "cpu": "arm" }, "sha512-QUZlIzXcM0xuHoKwfLeYo4H/SsVHWzcD8RFjBkF5wQ7PsQYmmPizOXx9ntTLGhRNEJhNm+3SaLIsITgMu4fxVg=="], + "@effect/tsgo-linux-arm": ["@effect/tsgo-linux-arm@0.53.0", "", { "os": "linux", "cpu": "arm" }, "sha512-JXPq2BJdMu1TEc71bb6kCHnDgBImKqdxbk1etI4uoEot6PeUYogvjSCTjw7y+Lo2Uk/i1hVYx9sxR+824Dm5Mg=="], - "@effect/tsgo-linux-arm64": ["@effect/tsgo-linux-arm64@0.52.0", "", { "os": "linux", "cpu": "arm64" }, "sha512-5eLXezrIODBQQGVUTyhxJb2byXoA62c4OyVIcRwZpyGK/ZivjWbpxj3pEPqzDADo7s85s2QDHTix4gt3xDiqBA=="], + "@effect/tsgo-linux-arm64": ["@effect/tsgo-linux-arm64@0.53.0", "", { "os": "linux", "cpu": "arm64" }, "sha512-Io1RblTJ6hvff99rqsZSjEz18Yyprq8R7eZS7g/fzqMQ3aYqzbouUjpZaiCGRnZZfXS4Ft6I/1b4Nu3lBrEMhQ=="], - "@effect/tsgo-linux-x64": ["@effect/tsgo-linux-x64@0.52.0", "", { "os": "linux", "cpu": "x64" }, "sha512-UhqpcF9QYkR8Ow94Pc77bXLeHWuudRkYb4WRKpZgMQ9WIgtHpgRscQL4kys1XEBmq4NzHlWcoHPoMjrtddd/TA=="], + "@effect/tsgo-linux-x64": ["@effect/tsgo-linux-x64@0.53.0", "", { "os": "linux", "cpu": "x64" }, "sha512-4A0osORqB2HG9egjPe7JPz1X2KwZM8H0hkl81pYsJ4qEYOVHoFVdNDvZ0Y6qxLS2eZBmsxdS+/jXuZJ39nzuvw=="], - "@effect/tsgo-win32-arm64": ["@effect/tsgo-win32-arm64@0.52.0", "", { "os": "win32", "cpu": "arm64" }, "sha512-Q1lwa5gxiH09NxU/li8fklCiGACSsht/Zru3je26NVRpu1G7oahbhVF9xoINU8twLi7/jc50mdJc1DZrLg5dTw=="], + "@effect/tsgo-win32-arm64": ["@effect/tsgo-win32-arm64@0.53.0", "", { "os": "win32", "cpu": "arm64" }, "sha512-qM7Aqw1uGmMDs8x/Iy2/kxKzzXx0WzH3/u66bjlEExSTv6DzHuAMXZmmb/1iUsth+TfqrwHwhHErFkwyyaLATg=="], - "@effect/tsgo-win32-x64": ["@effect/tsgo-win32-x64@0.52.0", "", { "os": "win32", "cpu": "x64" }, "sha512-34nH7qthdhaWaFjeUamZtC7OnV4rv36kLuJy2SVJxi+gRmLMDtXXI+Jo2f1G/dDs2SsudHga+nmwDFbxnuIbkg=="], + "@effect/tsgo-win32-x64": ["@effect/tsgo-win32-x64@0.53.0", "", { "os": "win32", "cpu": "x64" }, "sha512-87/Ep6F7yU06vev9LZMU0MxpUkuD9joOMwXrx9OH3aXDL1SlImHlux/uHqXWGrFcKND7oMe/SX15XWAjWdy4Ag=="], "@effect/workflow": ["@effect/workflow@0.19.1", "", { "peerDependencies": { "@effect/experimental": "^0.61.1", "@effect/platform": "^0.97.1", "@effect/rpc": "^0.76.2", "effect": "^3.22.1" } }, "sha512-irU6ddHdIxYOhv0cJiJTk2AUxRmPYjRJ5JdB5UCvpJC4vLCyR2XyKspiCNDiEX1aSGPhVWEXhVMWXR1cErMS3A=="], diff --git a/package.json b/package.json index 4a0c149..ea59e94 100644 --- a/package.json +++ b/package.json @@ -41,7 +41,7 @@ "devDependencies": { "@commy/testing": "workspace:*", "@biomejs/biome": "2.5.15", - "@effect/tsgo": "0.52.0", + "@effect/tsgo": "0.53.0", "bun-types": "1.4.3", "turbo": "2.11.9", "typescript": "7.0.2" From f63ab45f9c88ec4c0531cd255100c323c1ef8515 Mon Sep 17 00:00:00 2001 From: Graeme Foster <80714+GraemeF@users.noreply.github.com> Date: Wed, 21 Oct 2026 20:51:22 +0100 Subject: [PATCH 2/2] Rename the name payload field on two identity errors to botName @effect/tsgo 0.53 adds errorPayloadShadowsName. A payload field called name is copied onto the error instance and replaces the error type, so logs and String(error) showed the bot name instead of UnknownIdentity or AttachIdentityNotFound. --- packages/core/ports.test.ts | 10 ++++++++-- packages/core/ports.ts | 4 ++-- packages/memory/adapter.ts | 2 +- packages/zulip/adapter.ts | 6 +++--- 4 files changed, 14 insertions(+), 8 deletions(-) diff --git a/packages/core/ports.test.ts b/packages/core/ports.test.ts index 5d725fe..d085c43 100644 --- a/packages/core/ports.test.ts +++ b/packages/core/ports.test.ts @@ -17,14 +17,20 @@ import { UnknownIdentity, } from './ports.ts' -test('UnknownIdentity names both the name and the substrate in its message', () => { - const err = new UnknownIdentity({ name: 'polecat-7', substrate: 'discord' }) +test('UnknownIdentity names both the bot name and the substrate in its message', () => { + const err = new UnknownIdentity({ botName: 'polecat-7', substrate: 'discord' }) expect(err).toBeInstanceOf(Error) expect(err.message).toContain('polecat-7') expect(err.message).toContain('discord') expect(err._tag).toBe('UnknownIdentity') }) +test('UnknownIdentity keeps its error type as its name', () => { + const err = new UnknownIdentity({ botName: 'polecat-7', substrate: 'discord' }) + expect(err.name).not.toBe('polecat-7') + expect(String(err)).not.toStartWith('polecat-7') +}) + const runEither = (effect: Effect.Effect): Either.Either => Effect.runSync(Effect.either(effect)) diff --git a/packages/core/ports.ts b/packages/core/ports.ts index e7a8917..91a8172 100644 --- a/packages/core/ports.ts +++ b/packages/core/ports.ts @@ -889,11 +889,11 @@ export interface AgentComms { * from a generic `IdentityError`. */ export class UnknownIdentity extends Data.TaggedError('UnknownIdentity')<{ - readonly name: string + readonly botName: string readonly substrate: string }> { override get message(): string { - return `acquire(${this.name}) failed — ${this.substrate} substrate has no entry for that name and cannot mint one` + return `acquire(${this.botName}) failed — ${this.substrate} substrate has no entry for that name and cannot mint one` } } diff --git a/packages/memory/adapter.ts b/packages/memory/adapter.ts index 55f1428..43c404a 100644 --- a/packages/memory/adapter.ts +++ b/packages/memory/adapter.ts @@ -621,7 +621,7 @@ const memorySeat = (realm: MemoryRealm, config: MemorySeatConfig): Effect.Effect ), onNone: (): Effect.Effect => allowlist !== undefined && !allowlist.has(name) - ? Effect.fail(new UnknownIdentity({ name, substrate: 'memory' })) + ? Effect.fail(new UnknownIdentity({ botName: name, substrate: 'memory' })) : isCaseVariantOfExisting(name) || isNameOfHuman(name) ? Effect.fail( new IdentityError({ diff --git a/packages/zulip/adapter.ts b/packages/zulip/adapter.ts index 92783e6..d028a1f 100644 --- a/packages/zulip/adapter.ts +++ b/packages/zulip/adapter.ts @@ -258,11 +258,11 @@ const identityError = (operation: IdentityError['operation'], cause: unknown): I * an operator provisioning gap, not something to paper over by self-minting. */ class AttachIdentityNotFound extends Data.TaggedError('AttachIdentityNotFound')<{ - readonly name: BotName + readonly botName: BotName }> { override get message(): string { return ( - `attach mode: no provisioned bot named '${this.name}' on the realm. ` + + `attach mode: no provisioned bot named '${this.botName}' on the realm. ` + `Provision the persona once and supply its stable api key before attaching.` ) } @@ -1182,7 +1182,7 @@ export const zulipAdapter = ( Effect.flatMap( Option.match({ onNone: (): Effect.Effect => - Effect.fail(new AttachIdentityNotFound({ name })), + Effect.fail(new AttachIdentityNotFound({ botName: name })), onSome: ( existing, ): Effect.Effect =>