-2
api.md
-2
api.md
···
+2
-2
lexicons/fs.json
+2
-2
lexicons/fs.json
···+"blob": { "type": "blob", "accept": ["*/*"], "maxSize": 1000000, "description": "Content blob ref" }
+123
public/editor/editor.tsx
+123
public/editor/editor.tsx
···+className="w-full px-3 py-2 border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500"+className="w-full px-3 py-2 border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500"+className="w-full bg-blue-600 hover:bg-blue-700 disabled:bg-gray-400 text-white font-semibold py-2 px-4 rounded-md transition-colors"
+12
public/editor/index.html
+12
public/editor/index.html
···
+4
-21
src/index.ts
+4
-21
src/index.ts
······
+6
-4
src/lexicon/lexicons.ts
+6
-4
src/lexicon/lexicons.ts
···
+2
-2
src/lexicon/types/place/wisp/fs.ts
+2
-2
src/lexicon/types/place/wisp/fs.ts
+37
src/lib/wisp-auth.ts
+37
src/lib/wisp-auth.ts
···
+203
src/lib/wisp-utils.ts
+203
src/lib/wisp-utils.ts
···+console.log(`๐ Updating file blobs: ${uploadResults.length} results for ${filePaths.length} paths`);+console.log(` ๐ Updating blob for file: ${entry.name} -> ${uploadResults[fileIndex].hash}`);
+25
src/routes/auth.ts
+25
src/routes/auth.ts
···
+230
src/routes/wisp.ts
+230
src/routes/wisp.ts
···+console.log('๐ Starting upload process', { siteName, fileCount: Array.isArray(files) ? files.length : 1 });+console.log(`๐ Processing file ${i + 1}/${fileArray.length}: ${file.name} (${file.size} bytes, ${file.type})`);+console.log(`โญ๏ธ Skipping large file: ${file.name} (${(file.size / 1024 / 1024).toFixed(2)}MB > 100MB limit)`);+console.log(`๐ Filtered to ${uploadedFiles.length} files from ${fileArray.length} total files`);+throw new Error(`Total upload size ${(totalSize / 1024 / 1024).toFixed(2)}MB exceeds 300MB limit`);+throw new Error('No valid web files found to upload. Allowed types: HTML, CSS, JS, images, fonts, PDFs, and other web assets.');+throw new Error(`Failed to upload files: ${error instanceof Error ? error.message : 'Unknown error'}`);