diff --git a/README.md b/README.md index 9e318b5a8..18eb9aaa8 100644 --- a/README.md +++ b/README.md @@ -39,12 +39,18 @@ OpenClaude is also mirrored to GitLawb: Xiaomi MiMo logo + + + Atlas Cloud logo + + GitLawb Bankr.bot Atomic Chat Xiaomi MiMo + Atlas Cloud diff --git a/docs/assets/atlas-cloud-banner.png b/docs/assets/atlas-cloud-banner.png new file mode 100644 index 000000000..9d3926a8c Binary files /dev/null and b/docs/assets/atlas-cloud-banner.png differ diff --git a/src/services/tips/sponsoredTips.test.ts b/src/services/tips/sponsoredTips.test.ts index 7d9f3ccd5..8d3aa341e 100644 --- a/src/services/tips/sponsoredTips.test.ts +++ b/src/services/tips/sponsoredTips.test.ts @@ -104,8 +104,13 @@ describe('sponsored tip catalog', () => { (t: { sponsor?: { name: string; url?: string } }) => t.sponsor?.name === 'Xiaomi MiMo', ) + const atlasTips = sponsoredTips.sponsoredTips.filter( + (t: { sponsor?: { name: string; url?: string } }) => + t.sponsor?.name === 'Atlas Cloud', + ) expect(atomicTips.length).toBe(4) expect(xiaomiTips.length).toBe(5) + expect(atlasTips.length).toBe(1) expect( atomicTips.every( (t: { sponsor?: { url?: string } }) => @@ -118,6 +123,12 @@ describe('sponsored tip catalog', () => { t.sponsor?.url === 'https://api.xiaomimimo.com/v1', ), ).toBe(true) + expect( + atlasTips.every( + (t: { sponsor?: { url?: string } }) => + t.sponsor?.url === 'https://www.atlascloud.ai/', + ), + ).toBe(true) }) test('all tips have unique sponsor-prefixed ids', async () => { @@ -128,7 +139,9 @@ describe('sponsored tip catalog', () => { expect( ids.every( (id: string) => - id.startsWith('atomic-') || id.startsWith('xiaomi-mimo-'), + id.startsWith('atomic-') || + id.startsWith('xiaomi-mimo-') || + id.startsWith('atlas-cloud-'), ), ).toBe(true) }) diff --git a/src/services/tips/sponsoredTips.ts b/src/services/tips/sponsoredTips.ts index a63f638e2..2740be081 100644 --- a/src/services/tips/sponsoredTips.ts +++ b/src/services/tips/sponsoredTips.ts @@ -29,6 +29,11 @@ const XIAOMI_MIMO: TipSponsor = { url: 'https://api.xiaomimimo.com/v1', } +const ATLAS_CLOUD: TipSponsor = { + name: 'Atlas Cloud', + url: 'https://www.atlascloud.ai/', +} + function renderSponsoredTip( sponsor: TipSponsor, body: string, @@ -151,4 +156,16 @@ export const sponsoredTips: Tip[] = [ cooldownSessions: 20, isRelevant: async () => sponsoredTipsEnabled(), }, + { + id: 'atlas-cloud-platform', + sponsor: ATLAS_CLOUD, + content: async ctx => + renderSponsoredTip( + ATLAS_CLOUD, + 'Single AI API · full-modal AI inference platform · 300+ curated models', + ctx, + ), + cooldownSessions: 20, + isRelevant: async () => sponsoredTipsEnabled(), + }, ]