Monorepo for wisp.place. A static site hosting service built on top of the AT Protocol. wisp.place

change namespace to @wispplace

+161 -159
+7 -7
apps/hosting-service/package.json
··· 16 16 "@atproto/sync": "^0.1.36", 17 17 "@atproto/xrpc": "^0.7.5", 18 18 "@hono/node-server": "^1.19.6", 19 - "@wisp/atproto-utils": "workspace:*", 20 - "@wisp/constants": "workspace:*", 21 - "@wisp/database": "workspace:*", 22 - "@wisp/fs-utils": "workspace:*", 23 - "@wisp/lexicons": "workspace:*", 24 - "@wisp/observability": "workspace:*", 25 - "@wisp/safe-fetch": "workspace:*", 19 + "@wispplace/atproto-utils": "workspace:*", 20 + "@wispplace/constants": "workspace:*", 21 + "@wispplace/database": "workspace:*", 22 + "@wispplace/fs-utils": "workspace:*", 23 + "@wispplace/lexicons": "workspace:*", 24 + "@wispplace/observability": "workspace:*", 25 + "@wispplace/safe-fetch": "workspace:*", 26 26 "hono": "^4.10.4", 27 27 "mime-types": "^2.1.35", 28 28 "multiformats": "^13.4.1",
+1 -1
apps/hosting-service/src/index.ts
··· 1 1 import app from './server'; 2 2 import { serve } from '@hono/node-server'; 3 3 import { FirehoseWorker } from './lib/firehose'; 4 - import { createLogger, initializeGrafanaExporters } from '@wisp/observability'; 4 + import { createLogger, initializeGrafanaExporters } from '@wispplace/observability'; 5 5 import { mkdirSync, existsSync } from 'fs'; 6 6 import { backfillCache } from './lib/backfill'; 7 7 import { startDomainCacheCleanup, stopDomainCacheCleanup, setCacheOnlyMode, closeDatabase } from './lib/db';
+1 -1
apps/hosting-service/src/lib/backfill.ts
··· 1 1 import { getAllSites } from './db'; 2 2 import { fetchSiteRecord, getPdsForDid, downloadAndCacheSite, isCached } from './utils'; 3 - import { createLogger } from '@wisp/observability'; 3 + import { createLogger } from '@wispplace/observability'; 4 4 import { markSiteAsBeingCached, unmarkSiteAsBeingCached } from './cache'; 5 5 import { clearRedirectRulesCache } from './site-cache'; 6 6
+1 -1
apps/hosting-service/src/lib/db.ts
··· 1 1 import postgres from 'postgres'; 2 2 import { createHash } from 'crypto'; 3 - import type { DomainLookup, CustomDomainLookup } from '@wisp/database'; 3 + import type { DomainLookup, CustomDomainLookup } from '@wispplace/database'; 4 4 5 5 // Global cache-only mode flag (set by index.ts) 6 6 let cacheOnlyMode = false;
+2 -2
apps/hosting-service/src/lib/file-serving.ts
··· 5 5 6 6 import { readFile } from 'fs/promises'; 7 7 import { lookup } from 'mime-types'; 8 - import type { Record as WispSettings } from '@wisp/lexicons/types/place/wisp/settings'; 9 - import { shouldCompressMimeType } from '@wisp/atproto-utils/compression'; 8 + import type { Record as WispSettings } from '@wispplace/lexicons/types/place/wisp/settings'; 9 + import { shouldCompressMimeType } from '@wispplace/atproto-utils/compression'; 10 10 import { rewrittenHtmlCache, getCacheKey, isSiteBeingCached } from './cache'; 11 11 import { getCachedFilePath, getCachedSettings } from './utils'; 12 12 import { loadRedirectRules, matchRedirectRule, parseCookies, parseQueryString } from './redirects';
+3 -3
apps/hosting-service/src/lib/firehose.ts
··· 5 5 fetchSiteRecord 6 6 } from './utils' 7 7 import { upsertSite, tryAcquireLock, releaseLock } from './db' 8 - import { safeFetch } from '@wisp/safe-fetch' 9 - // import { isRecord, validateRecord } from '@wisp/lexicons/types/place/wisp/fs' 10 - import { isRecord } from '@wisp/lexicons/types/place/wisp/fs' 8 + import { safeFetch } from '@wispplace/safe-fetch' 9 + // import { isRecord, validateRecord } from '@wispplace/lexicons/types/place/wisp/fs' 10 + import { isRecord } from '@wispplace/lexicons/types/place/wisp/fs' 11 11 import { Firehose } from '@atproto/sync' 12 12 import { IdResolver } from '@atproto/identity' 13 13 import { invalidateSiteCache, markSiteAsBeingCached, unmarkSiteAsBeingCached } from './cache'
+2 -2
apps/hosting-service/src/lib/redirects.ts
··· 1 1 import { readFile } from 'fs/promises'; 2 2 import { existsSync } from 'fs'; 3 - import { parseRedirectsFile, type RedirectRule } from '@wisp/fs-utils'; 3 + import { parseRedirectsFile, type RedirectRule } from '@wispplace/fs-utils'; 4 4 5 5 // Re-export everything from the shared package 6 6 export { ··· 11 11 type RedirectRule, 12 12 type RedirectMatch, 13 13 type MatchRedirectContext, 14 - } from '@wisp/fs-utils'; 14 + } from '@wispplace/fs-utils'; 15 15 16 16 /** 17 17 * Load redirect rules from a cached site
+1 -1
apps/hosting-service/src/lib/request-utils.ts
··· 2 2 * Request utilities for validation and helper functions 3 3 */ 4 4 5 - import type { Record as WispSettings } from '@wisp/lexicons/types/place/wisp/settings'; 5 + import type { Record as WispSettings } from '@wispplace/lexicons/types/place/wisp/settings'; 6 6 import { access } from 'fs/promises'; 7 7 8 8 /**
+1 -1
apps/hosting-service/src/lib/site-cache.ts
··· 2 2 * Site caching management utilities 3 3 */ 4 4 5 - import { createLogger } from '@wisp/observability'; 5 + import { createLogger } from '@wispplace/observability'; 6 6 import { fetchSiteRecord, getPdsForDid, downloadAndCacheSite, isCached } from './utils'; 7 7 import { markSiteAsBeingCached, unmarkSiteAsBeingCached, LRUCache } from './cache'; 8 8 import type { RedirectRule } from './redirects';
+3 -3
apps/hosting-service/src/lib/utils.test.ts
··· 8 8 Entry as FsEntry, 9 9 File as FsFile, 10 10 Subfs as FsSubfs, 11 - } from '@wisp/lexicons/types/place/wisp/fs' 11 + } from '@wispplace/lexicons/types/place/wisp/fs' 12 12 import type { 13 13 Record as SubfsRecord, 14 14 Directory as SubfsDirectory, 15 15 Entry as SubfsEntry, 16 16 File as SubfsFile, 17 17 Subfs as SubfsSubfs, 18 - } from '@wisp/lexicons/types/place/wisp/subfs' 19 - import type { $Typed } from '@wisp/lexicons/util' 18 + } from '@wispplace/lexicons/types/place/wisp/subfs' 19 + import type { $Typed } from '@wispplace/lexicons/util' 20 20 21 21 describe('sanitizePath', () => { 22 22 test('allows normal file paths', () => {
+8 -8
apps/hosting-service/src/lib/utils.ts
··· 1 - import type { Record as WispFsRecord, Directory, Entry, File } from '@wisp/lexicons/types/place/wisp/fs'; 2 - import type { Record as SubfsRecord } from '@wisp/lexicons/types/place/wisp/subfs'; 3 - import type { Record as WispSettings } from '@wisp/lexicons/types/place/wisp/settings'; 1 + import type { Record as WispFsRecord, Directory, Entry, File } from '@wispplace/lexicons/types/place/wisp/fs'; 2 + import type { Record as SubfsRecord } from '@wispplace/lexicons/types/place/wisp/subfs'; 3 + import type { Record as WispSettings } from '@wispplace/lexicons/types/place/wisp/settings'; 4 4 import { existsSync, mkdirSync, readFileSync, rmSync } from 'fs'; 5 5 import { writeFile, readFile, rename } from 'fs/promises'; 6 6 import { Readable } from 'stream'; 7 - import { safeFetchJson, safeFetchBlob } from '@wisp/safe-fetch'; 7 + import { safeFetchJson, safeFetchBlob } from '@wispplace/safe-fetch'; 8 8 import { CID } from 'multiformats'; 9 - import { extractBlobCid, resolveDid, getPdsForDid, didWebToHttps } from '@wisp/atproto-utils'; 10 - import { sanitizePath, collectFileCidsFromEntries, countFilesInDirectory } from '@wisp/fs-utils'; 11 - import { shouldCompressMimeType } from '@wisp/atproto-utils/compression'; 12 - import { MAX_BLOB_SIZE, MAX_FILE_COUNT, MAX_SITE_SIZE } from '@wisp/constants'; 9 + import { extractBlobCid, resolveDid, getPdsForDid, didWebToHttps } from '@wispplace/atproto-utils'; 10 + import { sanitizePath, collectFileCidsFromEntries, countFilesInDirectory } from '@wispplace/fs-utils'; 11 + import { shouldCompressMimeType } from '@wispplace/atproto-utils/compression'; 12 + import { MAX_BLOB_SIZE, MAX_FILE_COUNT, MAX_SITE_SIZE } from '@wispplace/constants'; 13 13 import { storage } from './storage'; 14 14 15 15 // Re-export shared utilities for local usage and tests
+3 -3
apps/hosting-service/src/server.ts
··· 7 7 import { cors } from 'hono/cors'; 8 8 import { getWispDomain, getCustomDomain, getCustomDomainByHash } from './lib/db'; 9 9 import { resolveDid } from './lib/utils'; 10 - import { logCollector, errorTracker, metricsCollector } from '@wisp/observability'; 11 - import { observabilityMiddleware, observabilityErrorHandler } from '@wisp/observability/middleware/hono'; 12 - import { sanitizePath } from '@wisp/fs-utils'; 10 + import { logCollector, errorTracker, metricsCollector } from '@wispplace/observability'; 11 + import { observabilityMiddleware, observabilityErrorHandler } from '@wispplace/observability/middleware/hono'; 12 + import { sanitizePath } from '@wispplace/fs-utils'; 13 13 import { isSiteBeingCached } from './lib/cache'; 14 14 import { isValidRkey, extractHeaders } from './lib/request-utils'; 15 15 import { siteUpdatingResponse } from './lib/page-generators';
+1 -1
apps/hosting-service/tsconfig.json
··· 28 28 /* Workspace Paths */ 29 29 "baseUrl": ".", 30 30 "paths": { 31 - "@wisp/*": ["../../packages/@wisp/*/src"] 31 + "@wispplace/*": ["../../packages/@wispplace/*/src"] 32 32 } 33 33 }, 34 34 "include": ["src/**/*"],
+8 -8
apps/main-app/package.json
··· 1 1 { 2 - "name": "@wisp/main-app", 2 + "name": "@wispplace/main-app", 3 3 "version": "1.0.50", 4 4 "private": true, 5 5 "scripts": { ··· 31 31 "@radix-ui/react-slot": "^1.2.3", 32 32 "@radix-ui/react-tabs": "^1.1.13", 33 33 "@tanstack/react-query": "^5.90.2", 34 - "@wisp/atproto-utils": "workspace:*", 35 - "@wisp/css": "workspace:*", 36 - "@wisp/constants": "workspace:*", 37 - "@wisp/database": "workspace:*", 38 - "@wisp/fs-utils": "workspace:*", 39 - "@wisp/lexicons": "workspace:*", 40 - "@wisp/observability": "workspace:*", 34 + "@wispplace/atproto-utils": "workspace:*", 35 + "@wispplace/css": "workspace:*", 36 + "@wispplace/constants": "workspace:*", 37 + "@wispplace/database": "workspace:*", 38 + "@wispplace/fs-utils": "workspace:*", 39 + "@wispplace/lexicons": "workspace:*", 40 + "@wispplace/observability": "workspace:*", 41 41 "actor-typeahead": "^0.1.1", 42 42 "atproto-ui": "^0.12.0", 43 43 "bun-plugin-tailwind": "^0.1.2",
+4 -4
apps/main-app/src/index.ts
··· 7 7 import { staticPlugin } from '@elysiajs/static' 8 8 9 9 import type { Config } from './lib/types' 10 - import { BASE_HOST } from '@wisp/constants' 10 + import { BASE_HOST } from '@wispplace/constants' 11 11 import { 12 12 createClientMetadata, 13 13 getOAuthClient, ··· 23 23 import { siteRoutes } from './routes/site' 24 24 import { csrfProtection } from './lib/csrf' 25 25 import { DNSVerificationWorker } from './lib/dns-verification-worker' 26 - import { createLogger, logCollector, initializeGrafanaExporters } from '@wisp/observability' 27 - import { observabilityMiddleware } from '@wisp/observability/middleware/elysia' 28 - import { css as wispCss } from '@wisp/css' 26 + import { createLogger, logCollector, initializeGrafanaExporters } from '@wispplace/observability' 27 + import { observabilityMiddleware } from '@wispplace/observability/middleware/elysia' 28 + import { css as wispCss } from '@wispplace/css' 29 29 import { promptAdminSetup } from './lib/admin-auth' 30 30 import { adminRoutes } from './routes/admin' 31 31
+1 -1
apps/main-app/src/lib/db.ts
··· 1 1 import { SQL } from "bun"; 2 - import { BASE_HOST } from "@wisp/constants"; 2 + import { BASE_HOST } from "@wispplace/constants"; 3 3 4 4 export const db = new SQL( 5 5 process.env.NODE_ENV === 'production'
+3 -3
apps/main-app/src/lib/logger.ts
··· 1 1 /** 2 - * Main app logger using @wisp/observability 2 + * Main app logger using @wispplace/observability 3 3 * 4 4 * Note: This file is kept for backward compatibility. 5 - * New code should import createLogger from @wisp/observability directly. 5 + * New code should import createLogger from @wispplace/observability directly. 6 6 */ 7 - import { createLogger } from '@wisp/observability' 7 + import { createLogger } from '@wispplace/observability' 8 8 9 9 export const logger = createLogger('main-app')
+1 -1
apps/main-app/src/lib/upload-jobs.ts
··· 1 - import { createLogger } from '@wisp/observability'; 1 + import { createLogger } from '@wispplace/observability'; 2 2 3 3 const logger = createLogger('main-app'); 4 4
+1 -1
apps/main-app/src/routes/admin.ts
··· 1 1 // Admin API routes 2 2 import { Elysia, t } from 'elysia' 3 3 import { adminAuth, requireAdmin } from '../lib/admin-auth' 4 - import { logCollector, errorTracker, metricsCollector } from '@wisp/observability' 4 + import { logCollector, errorTracker, metricsCollector } from '@wispplace/observability' 5 5 import { db } from '../lib/db' 6 6 7 7 export const adminRoutes = (cookieSecret: string) =>
+1 -1
apps/main-app/src/routes/auth.ts
··· 3 3 import { getSitesByDid, getDomainByDid, getCookieSecret } from '../lib/db' 4 4 import { syncSitesFromPDS } from '../lib/sync-sites' 5 5 import { authenticateRequest } from '../lib/wisp-auth' 6 - import { createLogger } from '@wisp/observability' 6 + import { createLogger } from '@wispplace/observability' 7 7 8 8 const logger = createLogger('main-app') 9 9
+1 -1
apps/main-app/src/routes/domain.ts
··· 22 22 } from '../lib/db' 23 23 import { createHash } from 'crypto' 24 24 import { verifyCustomDomain } from '../lib/dns-verify' 25 - import { createLogger } from '@wisp/observability' 25 + import { createLogger } from '@wispplace/observability' 26 26 27 27 const logger = createLogger('main-app') 28 28
+2 -2
apps/main-app/src/routes/site.ts
··· 3 3 import { NodeOAuthClient } from '@atproto/oauth-client-node' 4 4 import { Agent } from '@atproto/api' 5 5 import { deleteSite } from '../lib/db' 6 - import { createLogger } from '@wisp/observability' 7 - import { extractSubfsUris } from '@wisp/atproto-utils' 6 + import { createLogger } from '@wispplace/observability' 7 + import { extractSubfsUris } from '@wispplace/atproto-utils' 8 8 9 9 const logger = createLogger('main-app') 10 10
+2 -2
apps/main-app/src/routes/user.ts
··· 3 3 import { NodeOAuthClient } from '@atproto/oauth-client-node' 4 4 import { getSitesByDid, getDomainByDid, getCustomDomainsByDid, getWispDomainInfo, getDomainsBySite, getAllWispDomains } from '../lib/db' 5 5 import { syncSitesFromPDS } from '../lib/sync-sites' 6 - import { createLogger } from '@wisp/observability' 7 - import { getHandleForDid } from '@wisp/atproto-utils' 6 + import { createLogger } from '@wispplace/observability' 7 + import { getHandleForDid } from '@wispplace/atproto-utils' 8 8 9 9 const logger = createLogger('main-app') 10 10
+8 -8
apps/main-app/src/routes/wisp.ts
··· 11 11 findLargeDirectories, 12 12 replaceDirectoryWithSubfs, 13 13 estimateDirectorySize 14 - } from '@wisp/fs-utils' 14 + } from '@wispplace/fs-utils' 15 15 import { 16 16 shouldCompressFile, 17 17 compressFile, 18 18 computeCID, 19 19 extractBlobMap, 20 20 extractSubfsUris 21 - } from '@wisp/atproto-utils' 22 - import { createManifest } from '@wisp/fs-utils' 21 + } from '@wispplace/atproto-utils' 22 + import { createManifest } from '@wispplace/fs-utils' 23 23 import { upsertSite } from '../lib/db' 24 - import { createLogger } from '@wisp/observability' 25 - // import { validateRecord, type Directory } from '@wisp/lexicons/types/place/wisp/fs' 26 - import { type Directory } from '@wisp/lexicons/types/place/wisp/fs' 27 - // import { validateRecord as validateSubfsRecord } from '@wisp/lexicons/types/place/wisp/subfs' 28 - import { MAX_SITE_SIZE, MAX_FILE_SIZE, MAX_FILE_COUNT } from '@wisp/constants' 24 + import { createLogger } from '@wispplace/observability' 25 + // import { validateRecord, type Directory } from '@wispplace/lexicons/types/place/wisp/fs' 26 + import { type Directory } from '@wispplace/lexicons/types/place/wisp/fs' 27 + // import { validateRecord as validateSubfsRecord } from '@wispplace/lexicons/types/place/wisp/subfs' 28 + import { MAX_SITE_SIZE, MAX_FILE_SIZE, MAX_FILE_COUNT } from '@wispplace/constants' 29 29 import { 30 30 createUploadJob, 31 31 getUploadJob,
+1 -1
apps/main-app/tsconfig.json
··· 6 6 "@server": ["./src/index.ts"], 7 7 "@server/*": ["./src/*"], 8 8 "@public/*": ["./public/*"], 9 - "@wisp/*": ["../../packages/@wisp/*/src"] 9 + "@wispplace/*": ["../../packages/@wispplace/*/src"] 10 10 } 11 11 }, 12 12 "include": ["src/**/*", "public/**/*", "scripts/**/*"],
+53 -51
bun.lock
··· 25 25 "@atproto/sync": "^0.1.36", 26 26 "@atproto/xrpc": "^0.7.5", 27 27 "@hono/node-server": "^1.19.6", 28 - "@wisp/atproto-utils": "workspace:*", 29 - "@wisp/constants": "workspace:*", 30 - "@wisp/database": "workspace:*", 31 - "@wisp/fs-utils": "workspace:*", 32 - "@wisp/lexicons": "workspace:*", 33 - "@wisp/observability": "workspace:*", 34 - "@wisp/safe-fetch": "workspace:*", 28 + "@wispplace/atproto-utils": "workspace:*", 29 + "@wispplace/constants": "workspace:*", 30 + "@wispplace/database": "workspace:*", 31 + "@wispplace/fs-utils": "workspace:*", 32 + "@wispplace/lexicons": "workspace:*", 33 + "@wispplace/observability": "workspace:*", 34 + "@wispplace/safe-fetch": "workspace:*", 35 35 "hono": "^4.10.4", 36 36 "mime-types": "^2.1.35", 37 37 "multiformats": "^13.4.1", ··· 47 47 }, 48 48 }, 49 49 "apps/main-app": { 50 - "name": "@wisp/main-app", 50 + "name": "@wispplace/main-app", 51 51 "version": "1.0.50", 52 52 "dependencies": { 53 53 "@atproto-labs/did-resolver": "^0.2.4", ··· 69 69 "@radix-ui/react-slot": "^1.2.3", 70 70 "@radix-ui/react-tabs": "^1.1.13", 71 71 "@tanstack/react-query": "^5.90.2", 72 - "@wisp/atproto-utils": "workspace:*", 73 - "@wisp/constants": "workspace:*", 74 - "@wisp/css": "workspace:*", 75 - "@wisp/database": "workspace:*", 76 - "@wisp/fs-utils": "workspace:*", 77 - "@wisp/lexicons": "workspace:*", 78 - "@wisp/observability": "workspace:*", 72 + "@wispplace/atproto-utils": "workspace:*", 73 + "@wispplace/constants": "workspace:*", 74 + "@wispplace/css": "workspace:*", 75 + "@wispplace/database": "workspace:*", 76 + "@wispplace/fs-utils": "workspace:*", 77 + "@wispplace/lexicons": "workspace:*", 78 + "@wispplace/observability": "workspace:*", 79 79 "actor-typeahead": "^0.1.1", 80 80 "atproto-ui": "^0.12.0", 81 81 "bun-plugin-tailwind": "^0.1.2", ··· 127 127 "@types/bun": "latest", 128 128 "@types/mime-types": "^3.0.1", 129 129 "@types/node": "^22.0.0", 130 - "@wisp/atproto-utils": "workspace:*", 131 - "@wisp/constants": "workspace:*", 132 - "@wisp/fs-utils": "workspace:*", 133 - "@wisp/lexicons": "workspace:*", 130 + "@wispplace/atproto-utils": "workspace:*", 131 + "@wispplace/constants": "workspace:*", 132 + "@wispplace/fs-utils": "workspace:*", 133 + "@wispplace/lexicons": "workspace:*", 134 134 "commander": "^14.0.2", 135 135 "hono": "^4.7.4", 136 136 "ignore": "^7.0.5", ··· 141 141 "typescript": "^5", 142 142 }, 143 143 }, 144 - "packages/@wisp/atproto-utils": { 145 - "name": "@wisp/atproto-utils", 144 + "packages/@wispplace/atproto-utils": { 145 + "name": "@wispplace/atproto-utils", 146 146 "version": "1.0.0", 147 147 "dependencies": { 148 148 "@atproto/api": "^0.18.17", 149 - "@wisp/lexicons": "workspace:*", 149 + "@wispplace/lexicons": "workspace:*", 150 150 "multiformats": "^13.3.1", 151 151 }, 152 152 "devDependencies": { 153 153 "@atproto/lexicon": "^0.6.1", 154 154 }, 155 155 }, 156 - "packages/@wisp/constants": { 157 - "name": "@wisp/constants", 156 + "packages/@wispplace/constants": { 157 + "name": "@wispplace/constants", 158 158 "version": "1.0.0", 159 159 }, 160 - "packages/@wisp/css": { 161 - "name": "@wisp/css", 160 + "packages/@wispplace/css": { 161 + "name": "@wispplace/css", 162 162 "version": "1.0.0", 163 163 }, 164 - "packages/@wisp/database": { 165 - "name": "@wisp/database", 164 + "packages/@wispplace/database": { 165 + "name": "@wispplace/database", 166 166 "version": "1.0.0", 167 167 "dependencies": { 168 168 "postgres": "^3.4.5", 169 169 }, 170 170 }, 171 - "packages/@wisp/fs-utils": { 172 - "name": "@wisp/fs-utils", 171 + "packages/@wispplace/fs-utils": { 172 + "name": "@wispplace/fs-utils", 173 173 "version": "1.0.0", 174 174 "dependencies": { 175 175 "@atproto/api": "^0.18.17", 176 - "@wisp/lexicons": "workspace:*", 176 + "@wispplace/lexicons": "workspace:*", 177 177 }, 178 178 }, 179 - "packages/@wisp/lexicons": { 180 - "name": "@wisp/lexicons", 179 + "packages/@wispplace/lexicons": { 180 + "name": "@wispplace/lexicons", 181 181 "version": "1.0.0", 182 182 "dependencies": { 183 183 "@atproto/lexicon": "^0.5.1", ··· 188 188 "multiformats": "^13.4.1", 189 189 }, 190 190 }, 191 - "packages/@wisp/observability": { 192 - "name": "@wisp/observability", 191 + "packages/@wispplace/observability": { 192 + "name": "@wispplace/observability", 193 193 "version": "1.0.0", 194 194 "dependencies": { 195 195 "@opentelemetry/api": "^1.9.0", ··· 214 214 "hono", 215 215 ], 216 216 }, 217 - "packages/@wisp/safe-fetch": { 218 - "name": "@wisp/safe-fetch", 217 + "packages/@wispplace/safe-fetch": { 218 + "name": "@wispplace/safe-fetch", 219 219 "version": "1.0.0", 220 220 }, 221 221 }, ··· 838 838 839 839 "@types/shimmer": ["@types/shimmer@1.2.0", "", {}, "sha512-UE7oxhQLLd9gub6JKIAhDq06T0F6FnztwMNRvYgjeQSBeMc1ZG/tA47EwfduvkuQS8apbkM/lpLpWsaCeYsXVg=="], 840 840 841 - "@wisp/atproto-utils": ["@wisp/atproto-utils@workspace:packages/@wisp/atproto-utils"], 841 + "@wispplace/atproto-utils": ["@wispplace/atproto-utils@workspace:packages/@wispplace/atproto-utils"], 842 842 843 - "@wisp/constants": ["@wisp/constants@workspace:packages/@wisp/constants"], 843 + "@wispplace/constants": ["@wispplace/constants@workspace:packages/@wispplace/constants"], 844 844 845 - "@wisp/css": ["@wisp/css@workspace:packages/@wisp/css"], 845 + "@wispplace/css": ["@wispplace/css@workspace:packages/@wispplace/css"], 846 846 847 - "@wisp/database": ["@wisp/database@workspace:packages/@wisp/database"], 847 + "@wispplace/database": ["@wispplace/database@workspace:packages/@wispplace/database"], 848 848 849 - "@wisp/fs-utils": ["@wisp/fs-utils@workspace:packages/@wisp/fs-utils"], 849 + "@wispplace/fs-utils": ["@wispplace/fs-utils@workspace:packages/@wispplace/fs-utils"], 850 850 851 - "@wisp/lexicons": ["@wisp/lexicons@workspace:packages/@wisp/lexicons"], 851 + "@wispplace/lexicons": ["@wispplace/lexicons@workspace:packages/@wispplace/lexicons"], 852 852 853 - "@wisp/main-app": ["@wisp/main-app@workspace:apps/main-app"], 853 + "@wispplace/main-app": ["@wispplace/main-app@workspace:apps/main-app"], 854 854 855 - "@wisp/observability": ["@wisp/observability@workspace:packages/@wisp/observability"], 855 + "@wispplace/observability": ["@wispplace/observability@workspace:packages/@wispplace/observability"], 856 856 857 - "@wisp/safe-fetch": ["@wisp/safe-fetch@workspace:packages/@wisp/safe-fetch"], 857 + "@wispplace/safe-fetch": ["@wispplace/safe-fetch@workspace:packages/@wispplace/safe-fetch"], 858 858 859 859 "abort-controller": ["abort-controller@3.0.0", "", { "dependencies": { "event-target-shim": "^5.0.0" } }, "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg=="], 860 860 ··· 1538 1538 1539 1539 "@types/bun/bun-types": ["bun-types@1.3.6", "", { "dependencies": { "@types/node": "*" } }, "sha512-OlFwHcnNV99r//9v5IIOgQ9Uk37gZqrNMCcqEaExdkVq3Avwqok1bJFmvGMCkCE0FqzdY8VMOZpfpR3lwI+CsQ=="], 1540 1540 1541 - "@wisp/lexicons/@atproto/lexicon": ["@atproto/lexicon@0.5.2", "", { "dependencies": { "@atproto/common-web": "^0.4.4", "@atproto/syntax": "^0.4.1", "iso-datestring-validator": "^2.2.2", "multiformats": "^9.9.0", "zod": "^3.23.8" } }, "sha512-lRmJgMA8f5j7VB5Iu5cp188ald5FuI4FlmZ7nn6EBrk1dgOstWVrI5Ft6K3z2vjyLZRG6nzknlsw+tDP63p7bQ=="], 1541 + "@wispplace/lexicons/@atproto/lexicon": ["@atproto/lexicon@0.5.2", "", { "dependencies": { "@atproto/common-web": "^0.4.4", "@atproto/syntax": "^0.4.1", "iso-datestring-validator": "^2.2.2", "multiformats": "^9.9.0", "zod": "^3.23.8" } }, "sha512-lRmJgMA8f5j7VB5Iu5cp188ald5FuI4FlmZ7nn6EBrk1dgOstWVrI5Ft6K3z2vjyLZRG6nzknlsw+tDP63p7bQ=="], 1542 1542 1543 - "@wisp/main-app/@atproto/api": ["@atproto/api@0.17.7", "", { "dependencies": { "@atproto/common-web": "^0.4.3", "@atproto/lexicon": "^0.5.1", "@atproto/syntax": "^0.4.1", "@atproto/xrpc": "^0.7.5", "await-lock": "^2.2.2", "multiformats": "^9.9.0", "tlds": "^1.234.0", "zod": "^3.23.8" } }, "sha512-V+OJBZq9chcrD21xk1bUa6oc5DSKfQj5DmUPf5rmZncqL1w9ZEbS38H5cMyqqdhfgo2LWeDRdZHD0rvNyJsIaw=="], 1543 + "@wispplace/main-app/@atproto/api": ["@atproto/api@0.17.7", "", { "dependencies": { "@atproto/common-web": "^0.4.3", "@atproto/lexicon": "^0.5.1", "@atproto/syntax": "^0.4.1", "@atproto/xrpc": "^0.7.5", "await-lock": "^2.2.2", "multiformats": "^9.9.0", "tlds": "^1.234.0", "zod": "^3.23.8" } }, "sha512-V+OJBZq9chcrD21xk1bUa6oc5DSKfQj5DmUPf5rmZncqL1w9ZEbS38H5cMyqqdhfgo2LWeDRdZHD0rvNyJsIaw=="], 1544 1544 1545 1545 "express/cookie": ["cookie@0.7.2", "", {}, "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w=="], 1546 1546 ··· 1563 1563 "wisp-hosting-service/@atproto/api": ["@atproto/api@0.17.7", "", { "dependencies": { "@atproto/common-web": "^0.4.3", "@atproto/lexicon": "^0.5.1", "@atproto/syntax": "^0.4.1", "@atproto/xrpc": "^0.7.5", "await-lock": "^2.2.2", "multiformats": "^9.9.0", "tlds": "^1.234.0", "zod": "^3.23.8" } }, "sha512-V+OJBZq9chcrD21xk1bUa6oc5DSKfQj5DmUPf5rmZncqL1w9ZEbS38H5cMyqqdhfgo2LWeDRdZHD0rvNyJsIaw=="], 1564 1564 1565 1565 "wisp-hosting-service/@atproto/lexicon": ["@atproto/lexicon@0.5.2", "", { "dependencies": { "@atproto/common-web": "^0.4.4", "@atproto/syntax": "^0.4.1", "iso-datestring-validator": "^2.2.2", "multiformats": "^9.9.0", "zod": "^3.23.8" } }, "sha512-lRmJgMA8f5j7VB5Iu5cp188ald5FuI4FlmZ7nn6EBrk1dgOstWVrI5Ft6K3z2vjyLZRG6nzknlsw+tDP63p7bQ=="], 1566 + 1567 + "wispctl/@types/bun": ["@types/bun@1.3.8", "", { "dependencies": { "bun-types": "1.3.8" } }, "sha512-3LvWJ2q5GerAXYxO2mffLTqOzEu5qnhEAlh48Vnu8WQfnmSwbgagjGZV6BoHKJztENYEDn6QmVd949W4uESRJA=="], 1566 1568 1567 1569 "wispctl/@types/mime-types": ["@types/mime-types@3.0.1", "", {}, "sha512-xRMsfuQbnRq1Ef+C+RKaENOxXX87Ygl38W1vDfPHRku02TgQr+Qd8iivLtAMcR0KF5/29xlnFihkTlbqFrGOVQ=="], 1568 1570 ··· 1628 1630 1629 1631 "@tokenizer/inflate/debug/ms": ["ms@2.1.3", "", {}, "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="], 1630 1632 1631 - "@wisp/lexicons/@atproto/lexicon/multiformats": ["multiformats@9.9.0", "", {}, "sha512-HoMUjhH9T8DDBNT+6xzkrd9ga/XiBI4xLr58LJACwK6G3HTOPeMz4nB4KJs33L2BelrIJa7P0VuNaVF3hMYfjg=="], 1633 + "@wispplace/lexicons/@atproto/lexicon/multiformats": ["multiformats@9.9.0", "", {}, "sha512-HoMUjhH9T8DDBNT+6xzkrd9ga/XiBI4xLr58LJACwK6G3HTOPeMz4nB4KJs33L2BelrIJa7P0VuNaVF3hMYfjg=="], 1632 1634 1633 - "@wisp/main-app/@atproto/api/@atproto/lexicon": ["@atproto/lexicon@0.5.2", "", { "dependencies": { "@atproto/common-web": "^0.4.4", "@atproto/syntax": "^0.4.1", "iso-datestring-validator": "^2.2.2", "multiformats": "^9.9.0", "zod": "^3.23.8" } }, "sha512-lRmJgMA8f5j7VB5Iu5cp188ald5FuI4FlmZ7nn6EBrk1dgOstWVrI5Ft6K3z2vjyLZRG6nzknlsw+tDP63p7bQ=="], 1635 + "@wispplace/main-app/@atproto/api/@atproto/lexicon": ["@atproto/lexicon@0.5.2", "", { "dependencies": { "@atproto/common-web": "^0.4.4", "@atproto/syntax": "^0.4.1", "iso-datestring-validator": "^2.2.2", "multiformats": "^9.9.0", "zod": "^3.23.8" } }, "sha512-lRmJgMA8f5j7VB5Iu5cp188ald5FuI4FlmZ7nn6EBrk1dgOstWVrI5Ft6K3z2vjyLZRG6nzknlsw+tDP63p7bQ=="], 1634 1636 1635 - "@wisp/main-app/@atproto/api/multiformats": ["multiformats@9.9.0", "", {}, "sha512-HoMUjhH9T8DDBNT+6xzkrd9ga/XiBI4xLr58LJACwK6G3HTOPeMz4nB4KJs33L2BelrIJa7P0VuNaVF3hMYfjg=="], 1637 + "@wispplace/main-app/@atproto/api/multiformats": ["multiformats@9.9.0", "", {}, "sha512-HoMUjhH9T8DDBNT+6xzkrd9ga/XiBI4xLr58LJACwK6G3HTOPeMz4nB4KJs33L2BelrIJa7P0VuNaVF3hMYfjg=="], 1636 1638 1637 1639 "pino-abstract-transport/readable-stream/buffer": ["buffer@6.0.3", "", { "dependencies": { "base64-js": "^1.3.1", "ieee754": "^1.2.1" } }, "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA=="], 1638 1640
+6 -6
cli/commands/deploy.ts
··· 1 1 import type { Agent, BlobRef } from '@atproto/api'; 2 - import type { Directory, Record as FsRecord } from '@wisp/lexicons/types/place/wisp/fs'; 3 - import type { Record as SubfsRecord } from '@wisp/lexicons/types/place/wisp/subfs'; 4 - import type { Record as SettingsRecord } from '@wisp/lexicons/types/place/wisp/settings'; 2 + import type { Directory, Record as FsRecord } from '@wispplace/lexicons/types/place/wisp/fs'; 3 + import type { Record as SubfsRecord } from '@wispplace/lexicons/types/place/wisp/subfs'; 4 + import type { Record as SettingsRecord } from '@wispplace/lexicons/types/place/wisp/settings'; 5 5 import { 6 6 processUploadedFiles, 7 7 updateFileBlobs, ··· 13 13 countFilesInDirectory, 14 14 type UploadedFile, 15 15 type FileUploadResult 16 - } from '@wisp/fs-utils'; 17 - import { computeCID, extractBlobMap, shouldCompressFile, compressFile, extractSubfsUris } from '@wisp/atproto-utils'; 18 - import { MAX_SITE_SIZE, MAX_FILE_COUNT, MAX_FILE_SIZE } from '@wisp/constants'; 16 + } from '@wispplace/fs-utils'; 17 + import { computeCID, extractBlobMap, shouldCompressFile, compressFile, extractSubfsUris } from '@wispplace/atproto-utils'; 18 + import { MAX_SITE_SIZE, MAX_FILE_COUNT, MAX_FILE_SIZE } from '@wispplace/constants'; 19 19 import { readdirSync, statSync, readFileSync, existsSync } from 'fs'; 20 20 import { join, relative, basename } from 'path'; 21 21 import ignore, { type Ignore } from 'ignore';
+4 -4
cli/commands/pull.ts
··· 1 - import type { Directory, Entry, File, Record as FsRecord } from '@wisp/lexicons/types/place/wisp/fs'; 2 - import type { Record as SubfsRecord } from '@wisp/lexicons/types/place/wisp/subfs'; 3 - import { extractBlobCid, resolveDid, getPdsForDid } from '@wisp/atproto-utils'; 4 - import { sanitizePath } from '@wisp/fs-utils'; 1 + import type { Directory, Entry, File, Record as FsRecord } from '@wispplace/lexicons/types/place/wisp/fs'; 2 + import type { Record as SubfsRecord } from '@wispplace/lexicons/types/place/wisp/subfs'; 3 + import { extractBlobCid, resolveDid, getPdsForDid } from '@wispplace/atproto-utils'; 4 + import { sanitizePath } from '@wispplace/fs-utils'; 5 5 import { existsSync, mkdirSync, writeFileSync, rmSync, renameSync, readFileSync } from 'fs'; 6 6 import { dirname, join } from 'path'; 7 7 import { gunzipSync } from 'zlib';
+3 -3
cli/commands/serve.ts
··· 2 2 import { Firehose } from '@atproto/sync'; 3 3 import { Hono } from 'hono'; 4 4 import { serve as honoNodeServe } from '@hono/node-server'; 5 - import type { Record as SettingsRecord } from '@wisp/lexicons/types/place/wisp/settings'; 6 - import { resolveDid, getPdsForDid } from '@wisp/atproto-utils'; 5 + import type { Record as SettingsRecord } from '@wispplace/lexicons/types/place/wisp/settings'; 6 + import { resolveDid, getPdsForDid } from '@wispplace/atproto-utils'; 7 7 import { existsSync, readFileSync, statSync, readdirSync } from 'fs'; 8 8 import { join, extname } from 'path'; 9 9 import { lookup } from 'mime-types'; 10 10 import { pull } from './pull.ts'; 11 11 import { createSpinner, pc } from '../lib/progress.ts'; 12 - import { parseRedirectsFile, matchRedirectRule, parseQueryString, type RedirectRule } from '@wisp/fs-utils'; 12 + import { parseRedirectsFile, matchRedirectRule, parseQueryString, type RedirectRule } from '@wispplace/fs-utils'; 13 13 import { isBun } from '../lib/runtime.ts'; 14 14 import { BunFirehose } from '../lib/firehose.ts'; 15 15
+1 -1
cli/lib/auth.ts
··· 1 1 import { NodeOAuthClient, type NodeSavedSession, type NodeSavedState, type NodeSavedStateStore, type NodeSavedSessionStore } from "@atproto/oauth-client-node"; 2 2 import { Agent, CredentialSession } from "@atproto/api"; 3 - import { resolvePdsFromHandle } from "@wisp/atproto-utils"; 3 + import { resolvePdsFromHandle } from "@wispplace/atproto-utils"; 4 4 import { Hono } from "hono"; 5 5 import { serve as honoNodeServe } from "@hono/node-server"; 6 6 import open from "open";
+4 -4
cli/package.json
··· 30 30 "@types/bun": "latest", 31 31 "@types/mime-types": "^3.0.1", 32 32 "@types/node": "^22.0.0", 33 - "@wisp/atproto-utils": "workspace:*", 34 - "@wisp/constants": "workspace:*", 35 - "@wisp/fs-utils": "workspace:*", 36 - "@wisp/lexicons": "workspace:*", 33 + "@wispplace/atproto-utils": "workspace:*", 34 + "@wispplace/constants": "workspace:*", 35 + "@wispplace/fs-utils": "workspace:*", 36 + "@wispplace/lexicons": "workspace:*", 37 37 "commander": "^14.0.2", 38 38 "hono": "^4.7.4", 39 39 "ignore": "^7.0.5",
+1 -1
cli/tsconfig.json
··· 29 29 // Workspace paths 30 30 "baseUrl": ".", 31 31 "paths": { 32 - "@wisp/*": ["../packages/@wisp/*/src"] 32 + "@wispplace/*": ["../packages/@wispplace/*/src"] 33 33 }, 34 34 "types": ["bun"] 35 35 },
+2 -2
package.json
··· 1 1 { 2 - "name": "@wisp/monorepo", 2 + "name": "@wispplace/monorepo", 3 3 "version": "1.0.50", 4 4 "private": true, 5 5 "workspaces": [ 6 - "packages/@wisp/*", 6 + "packages/@wispplace/*", 7 7 "apps/main-app", 8 8 "apps/hosting-service", 9 9 "cli"
+2 -2
packages/@wisp/atproto-utils/package.json packages/@wispplace/atproto-utils/package.json
··· 1 1 { 2 - "name": "@wisp/atproto-utils", 2 + "name": "@wispplace/atproto-utils", 3 3 "version": "1.0.0", 4 4 "private": true, 5 5 "type": "module", ··· 25 25 }, 26 26 "dependencies": { 27 27 "@atproto/api": "^0.18.17", 28 - "@wisp/lexicons": "workspace:*", 28 + "@wispplace/lexicons": "workspace:*", 29 29 "multiformats": "^13.3.1" 30 30 }, 31 31 "devDependencies": {
+1 -1
packages/@wisp/atproto-utils/src/blob.ts packages/@wispplace/atproto-utils/src/blob.ts
··· 1 1 import type { BlobRef } from "@atproto/api"; 2 - import type { Directory, File } from "@wisp/lexicons/types/place/wisp/fs"; 2 + import type { Directory, File } from "@wispplace/lexicons/types/place/wisp/fs"; 3 3 import { CID } from 'multiformats/cid'; 4 4 import { sha256 } from 'multiformats/hashes/sha2'; 5 5 import * as raw from 'multiformats/codecs/raw';
packages/@wisp/atproto-utils/src/compression.ts packages/@wispplace/atproto-utils/src/compression.ts
packages/@wisp/atproto-utils/src/identity.ts packages/@wispplace/atproto-utils/src/identity.ts
packages/@wisp/atproto-utils/src/index.ts packages/@wispplace/atproto-utils/src/index.ts
+1 -1
packages/@wisp/atproto-utils/src/subfs.ts packages/@wispplace/atproto-utils/src/subfs.ts
··· 1 - import type { Directory } from "@wisp/lexicons/types/place/wisp/fs"; 1 + import type { Directory } from "@wispplace/lexicons/types/place/wisp/fs"; 2 2 3 3 /** 4 4 * Extract all subfs URIs from a directory tree with their mount paths
packages/@wisp/atproto-utils/tsconfig.json packages/@wispplace/atproto-utils/tsconfig.json
+1 -1
packages/@wisp/constants/package.json packages/@wispplace/constants/package.json
··· 1 1 { 2 - "name": "@wisp/constants", 2 + "name": "@wispplace/constants", 3 3 "version": "1.0.0", 4 4 "private": true, 5 5 "type": "module",
packages/@wisp/constants/src/index.ts packages/@wispplace/constants/src/index.ts
packages/@wisp/constants/tsconfig.json packages/@wispplace/constants/tsconfig.json
packages/@wisp/css/README.md packages/@wispplace/css/README.md
packages/@wisp/css/index.html packages/@wispplace/css/index.html
packages/@wisp/css/index.ts packages/@wispplace/css/index.ts
+2 -2
packages/@wisp/css/package.json packages/@wispplace/css/package.json
··· 1 1 { 2 - "name": "@wisp/css", 2 + "name": "@wispplace/css", 3 3 "version": "1.0.0", 4 4 "description": "A minimal, monospace-first CSS stylesheet with automatic light/dark mode", 5 5 "main": "index.ts", ··· 20 20 "license": "MIT", 21 21 "repository": { 22 22 "type": "git", 23 - "url": "https://github.com/nekomimi-pet/wisp.place-monorepo" 23 + "url": "https://tangled.org/nekomimi-pet/wisp.place-monorepo" 24 24 } 25 25 }
packages/@wisp/css/wisp.css packages/@wispplace/css/wisp.css
+1 -1
packages/@wisp/database/package.json packages/@wispplace/database/package.json
··· 1 1 { 2 - "name": "@wisp/database", 2 + "name": "@wispplace/database", 3 3 "version": "1.0.0", 4 4 "private": true, 5 5 "type": "module",
packages/@wisp/database/src/index.ts packages/@wispplace/database/src/index.ts
packages/@wisp/database/src/types.ts packages/@wispplace/database/src/types.ts
packages/@wisp/database/tsconfig.json packages/@wispplace/database/tsconfig.json
+2 -2
packages/@wisp/fs-utils/package.json packages/@wispplace/fs-utils/package.json
··· 1 1 { 2 - "name": "@wisp/fs-utils", 2 + "name": "@wispplace/fs-utils", 3 3 "version": "1.0.0", 4 4 "private": true, 5 5 "type": "module", ··· 33 33 }, 34 34 "dependencies": { 35 35 "@atproto/api": "^0.18.17", 36 - "@wisp/lexicons": "workspace:*" 36 + "@wispplace/lexicons": "workspace:*" 37 37 } 38 38 }
packages/@wisp/fs-utils/src/index.ts packages/@wispplace/fs-utils/src/index.ts
+2 -2
packages/@wisp/fs-utils/src/manifest.ts packages/@wispplace/fs-utils/src/manifest.ts
··· 1 - import type { Record, Directory } from "@wisp/lexicons/types/place/wisp/fs"; 2 - // import { validateRecord } from "@wisp/lexicons/types/place/wisp/fs"; 1 + import type { Record, Directory } from "@wispplace/lexicons/types/place/wisp/fs"; 2 + // import { validateRecord } from "@wispplace/lexicons/types/place/wisp/fs"; 3 3 4 4 /** 5 5 * Create the manifest record for a site
packages/@wisp/fs-utils/src/path.ts packages/@wispplace/fs-utils/src/path.ts
packages/@wisp/fs-utils/src/redirects.test.ts packages/@wispplace/fs-utils/src/redirects.test.ts
packages/@wisp/fs-utils/src/redirects.ts packages/@wispplace/fs-utils/src/redirects.ts
+1 -1
packages/@wisp/fs-utils/src/subfs-split.ts packages/@wispplace/fs-utils/src/subfs-split.ts
··· 1 - import type { Directory } from "@wisp/lexicons/types/place/wisp/fs"; 1 + import type { Directory } from "@wispplace/lexicons/types/place/wisp/fs"; 2 2 3 3 /** 4 4 * Estimate the JSON size of a directory tree
packages/@wisp/fs-utils/src/tree.test.ts packages/@wispplace/fs-utils/src/tree.test.ts
+1 -1
packages/@wisp/fs-utils/src/tree.ts packages/@wispplace/fs-utils/src/tree.ts
··· 1 1 import type { BlobRef } from "@atproto/api"; 2 - import type { Directory, Entry, File } from "@wisp/lexicons/types/place/wisp/fs"; 2 + import type { Directory, Entry, File } from "@wispplace/lexicons/types/place/wisp/fs"; 3 3 4 4 export interface UploadedFile { 5 5 name: string;
packages/@wisp/fs-utils/tsconfig.json packages/@wispplace/fs-utils/tsconfig.json
packages/@wisp/lexicons/README.md packages/@wispplace/lexicons/README.md
+1 -1
packages/@wisp/lexicons/package.json packages/@wispplace/lexicons/package.json
··· 1 1 { 2 - "name": "@wisp/lexicons", 2 + "name": "@wispplace/lexicons", 3 3 "version": "1.0.0", 4 4 "private": true, 5 5 "type": "module",
packages/@wisp/lexicons/src/index.ts packages/@wispplace/lexicons/src/index.ts
packages/@wisp/lexicons/src/lexicons.ts packages/@wispplace/lexicons/src/lexicons.ts
packages/@wisp/lexicons/src/types/place/wisp/fs.ts packages/@wispplace/lexicons/src/types/place/wisp/fs.ts
packages/@wisp/lexicons/src/types/place/wisp/settings.ts packages/@wispplace/lexicons/src/types/place/wisp/settings.ts
packages/@wisp/lexicons/src/types/place/wisp/subfs.ts packages/@wispplace/lexicons/src/types/place/wisp/subfs.ts
packages/@wisp/lexicons/src/util.ts packages/@wispplace/lexicons/src/util.ts
packages/@wisp/lexicons/tsconfig.json packages/@wispplace/lexicons/tsconfig.json
packages/@wisp/observability/.env.example packages/@wispplace/observability/.env.example
packages/@wisp/observability/README.md packages/@wispplace/observability/README.md
+1 -1
packages/@wisp/observability/package.json packages/@wispplace/observability/package.json
··· 1 1 { 2 - "name": "@wisp/observability", 2 + "name": "@wispplace/observability", 3 3 "version": "1.0.0", 4 4 "private": true, 5 5 "type": "module",
packages/@wisp/observability/src/core.ts packages/@wispplace/observability/src/core.ts
packages/@wisp/observability/src/exporters.ts packages/@wispplace/observability/src/exporters.ts
+3 -3
packages/@wisp/observability/src/index.ts packages/@wispplace/observability/src/index.ts
··· 1 1 /** 2 - * @wisp/observability 2 + * @wispplace/observability 3 3 * Framework-agnostic observability package with Elysia and Hono middleware 4 4 */ 5 5 ··· 15 15 } from './exporters' 16 16 17 17 // Note: Middleware should be imported from specific subpaths: 18 - // - import { observabilityMiddleware } from '@wisp/observability/middleware/elysia' 19 - // - import { observabilityMiddleware, observabilityErrorHandler } from '@wisp/observability/middleware/hono' 18 + // - import { observabilityMiddleware } from '@wispplace/observability/middleware/elysia' 19 + // - import { observabilityMiddleware, observabilityErrorHandler } from '@wispplace/observability/middleware/hono'
packages/@wisp/observability/src/integration-test.test.ts packages/@wispplace/observability/src/integration-test.test.ts
packages/@wisp/observability/src/middleware/elysia.ts packages/@wispplace/observability/src/middleware/elysia.ts
packages/@wisp/observability/src/middleware/hono.ts packages/@wispplace/observability/src/middleware/hono.ts
packages/@wisp/observability/tsconfig.json packages/@wispplace/observability/tsconfig.json
+1 -1
packages/@wisp/safe-fetch/package.json packages/@wispplace/safe-fetch/package.json
··· 1 1 { 2 - "name": "@wisp/safe-fetch", 2 + "name": "@wispplace/safe-fetch", 3 3 "version": "1.0.0", 4 4 "private": true, 5 5 "type": "module",
packages/@wisp/safe-fetch/src/index.ts packages/@wispplace/safe-fetch/src/index.ts
packages/@wisp/safe-fetch/tsconfig.json packages/@wispplace/safe-fetch/tsconfig.json