diff --git a/package.json b/package.json index 1563ac1..d607cca 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "pitworld", - "version": "0.30.0", + "version": "0.30.1", "mcpName": "world.pit/pit", "description": "pit.world MCP server: private web search and Moshpit name lookups for AI agents (stdio, no API key). Also a web app, API, CLI and TUI.", "license": "MIT", diff --git a/src/ring.ts b/src/ring.ts index 0b330a9..8df699d 100644 --- a/src/ring.ts +++ b/src/ring.ts @@ -60,6 +60,7 @@ export const RING: RingSite[] = [ { name: 'live.streaming', about: 'Radio and TV stations, live now: AI-composed music, tracks shared by listeners, and more.', moshpit: true, keywords: ['radio', 'live tv', 'stations', 'stream'] }, { name: 'pics.collage', about: 'Make photo collages on your phone: grids, freestyle, stickers, text and backgrounds. Free, no account, works offline.', moshpit: true, keywords: ['collage', 'photo grid', 'photo editor'] }, { name: 'my.ip', about: 'Your public IPv4 and IPv6 in one answer, as text or JSON. curl -L my.ip.pit.world', moshpit: true, keywords: ['my ip', 'what is my ip', 'ip address', 'ipv6', 'ipv4'] }, + { name: 'auctions.pit.world', about: 'Art Auctions House: a public gallery for art and artists. Add a photo of your piece and the story behind it.', moshpit: false, keywords: ['auction', 'auctions', 'art auction', 'art auctions', 'art gallery', 'sell art'] }, { name: 'mums.flower', about: "Flowers for moms: remember her birthday and Mother's Day, learn what flowers mean, send her a bouquet card. API, MCP, CLI.", moshpit: true, keywords: ["mother's day", 'mothers day', 'mothering sunday', 'flowers for mom', 'flower meanings', 'bouquet'] }, ] diff --git a/test/featured.test.ts b/test/featured.test.ts index e2d8e93..7e693fc 100644 --- a/test/featured.test.ts +++ b/test/featured.test.ts @@ -24,6 +24,8 @@ describe('featured ring sites in search', () => { expect(names('group call')[0]).toBe('group.call.pit.world') expect(names('pics collage')[0]).toBe('pics.collage') expect(names('what is my ip')[0]).toBe('my.ip') + expect(names('auctions')[0]).toBe('auctions.pit.world') + expect(names('art auction')[0]).toBe('auctions.pit.world') }) test('by what people search for', () => { expect(names('family tree maker')).toContain('family.ancestry') diff --git a/test/pit.test.ts b/test/pit.test.ts index b257c7a..7c92863 100644 --- a/test/pit.test.ts +++ b/test/pit.test.ts @@ -948,7 +948,8 @@ describe('the Moshpit ring', () => { expect(neighbors('offtherecord.podcast').next.name).toBe('live.streaming') expect(neighbors('live.streaming').next.name).toBe('pics.collage') expect(neighbors('pics.collage').next.name).toBe('my.ip') - expect(neighbors('my.ip').next.name).toBe('mums.flower') + expect(neighbors('my.ip').next.name).toBe('auctions.pit.world') + expect(neighbors('auctions.pit.world').next.name).toBe('mums.flower') expect(neighbors('mums.flower').next.name).toBe('pit.world') expect(neighbors('pit.world').prev.name).toBe('mums.flower') expect(neighbors('WWW.SEO.RANK.').next.name).toBe('family.ancestry') diff --git a/test/pros.test.ts b/test/pros.test.ts index 64d2b6d..f813c83 100644 --- a/test/pros.test.ts +++ b/test/pros.test.ts @@ -266,7 +266,7 @@ describe('the pit.world ring: claimed listings join it', () => { expect(names).not.toContain('acme-plumbing.com') expect((await h.listings.get('acme-plumbing.com'))!.ring).toBe(false) expect(await (await h.request('/b/acme-plumbing.com/edit')).text()).not.toContain('Leave the ring') - expect(names.slice(0, 17)).toEqual([ + expect(names.slice(0, 18)).toEqual([ 'pit.world', 'seo.rank', 'family.ancestry', @@ -283,10 +283,12 @@ describe('the pit.world ring: claimed listings join it', () => { 'live.streaming', 'pics.collage', 'my.ip', + 'auctions.pit.world', 'mums.flower', ]) expect(ring.sites.at(-1)).toMatchObject({ name: 'acme.pit.world', listing: true, moshpit: false, feed: 'https://acme.pit.world/rss.xml' }) - expect((await h.request('/ring/next?from=https%3A%2F%2Fmy.ip%2F&direct=1')).headers.get('location')).toBe('https://mums.flower/') + expect((await h.request('/ring/next?from=https%3A%2F%2Fmy.ip%2F&direct=1')).headers.get('location')).toBe('https://auctions.pit.world/') + expect((await h.request('/ring/next?from=https%3A%2F%2Fauctions.pit.world%2F&direct=1')).headers.get('location')).toBe('https://mums.flower/') expect((await h.request('/ring/next?from=https%3A%2F%2Fmums.flower%2F&direct=1')).headers.get('location')).toBe('https://acme.pit.world/') expect((await h.request('/ring/next?from=acme.pit.world')).headers.get('location')).toBe('https://pit.world/') expect((await h.request('/ring/prev', { headers: { referer: 'https://www.acme.pit.world/about' } })).headers.get('location')).toBe('https://mums.flower.pit.world/')