Transform qualifying scenarios into marketing-ready use cases with: - AI-generated titles, descriptions, ROI estimates, business value - Persona/industry/category taxonomy for targeting - Browseable feed with filtering and ranking - SEO-optimized case study pages - Daily cron job for generation and ranking Database: - Add Persona, Industry, Category lookup tables - Add UseCase model with marketing content fields - Add junction tables for personas/industries/categories - Add SocialProof model for cached metrics API: - GET /api/use-cases - Global directory with filtering - GET /api/use-cases/[id] - Individual use case details - GET /api/public/users/[username]/collections/[slug]/use-cases - POST /api/cron/use-cases - Nightly generation job Frontend: - /use-cases - Global feed with persona dropdown - /use-cases/[slug] - SEO case study page - /[username]/collections/[slug]/use-cases - Collection feed - UseCasesFeed component - Sortable table component - UseCaseCaseStudy component - Full case study layout
149 lines
2.7 KiB
TypeScript
149 lines
2.7 KiB
TypeScript
/**
|
|
* Block metadata for unsandbox tools
|
|
* This file provides metadata for the blocks validator
|
|
*/
|
|
import {
|
|
cloneSnapshot,
|
|
// Service tools
|
|
createService,
|
|
createServiceSnapshot,
|
|
// Session tools
|
|
createSession,
|
|
createSessionSnapshot,
|
|
// Snapshot tools
|
|
createSnapshot,
|
|
deleteImage,
|
|
deleteJob,
|
|
deleteService,
|
|
deleteServiceEnv,
|
|
deleteSession,
|
|
deleteSnapshot,
|
|
execute,
|
|
// Execution tools
|
|
executeCodeAsync,
|
|
executeInService,
|
|
executeInSession,
|
|
freezeService,
|
|
freezeSession,
|
|
getClusterStatus,
|
|
getImage,
|
|
getImageTrustedKeys,
|
|
// Job tools
|
|
getJob,
|
|
// Languages tools
|
|
getLanguages,
|
|
getService,
|
|
getServiceEnv,
|
|
getServiceLogs,
|
|
getSession,
|
|
getShells,
|
|
getSnapshot,
|
|
getSystemStats,
|
|
grantImageAccess,
|
|
// System tools
|
|
healthCheck,
|
|
listImages,
|
|
listJobs,
|
|
listPools,
|
|
listServices,
|
|
listSessions,
|
|
listSnapshots,
|
|
lockImage,
|
|
lockService,
|
|
lockSession,
|
|
lockSnapshot,
|
|
// Image tools
|
|
publishImage,
|
|
redeployService,
|
|
restoreSession,
|
|
restoreSnapshot,
|
|
revokeImageAccess,
|
|
run,
|
|
runAsync,
|
|
setImageVisibility,
|
|
setServiceEnv,
|
|
spawnFromImage,
|
|
transferImage,
|
|
unfreezeService,
|
|
unfreezeSession,
|
|
unlockImage,
|
|
unlockService,
|
|
unlockSession,
|
|
unlockSnapshot,
|
|
} from './src/index.js';
|
|
|
|
export const block = {
|
|
name: 'unsandbox',
|
|
description: 'Execute code in a secure sandbox environment supporting 42+ languages',
|
|
tools: {
|
|
// Execution tools
|
|
executeCodeAsync,
|
|
execute,
|
|
run,
|
|
runAsync,
|
|
// Job tools
|
|
getJob,
|
|
listJobs,
|
|
deleteJob,
|
|
// Languages tools
|
|
getLanguages,
|
|
getShells,
|
|
// Session tools
|
|
createSession,
|
|
getSession,
|
|
listSessions,
|
|
executeInSession,
|
|
freezeSession,
|
|
unfreezeSession,
|
|
lockSession,
|
|
unlockSession,
|
|
createSessionSnapshot,
|
|
restoreSession,
|
|
deleteSession,
|
|
// Service tools
|
|
createService,
|
|
getService,
|
|
listServices,
|
|
executeInService,
|
|
freezeService,
|
|
unfreezeService,
|
|
lockService,
|
|
unlockService,
|
|
redeployService,
|
|
getServiceLogs,
|
|
createServiceSnapshot,
|
|
getServiceEnv,
|
|
setServiceEnv,
|
|
deleteServiceEnv,
|
|
deleteService,
|
|
// Snapshot tools
|
|
createSnapshot,
|
|
getSnapshot,
|
|
listSnapshots,
|
|
lockSnapshot,
|
|
unlockSnapshot,
|
|
restoreSnapshot,
|
|
cloneSnapshot,
|
|
deleteSnapshot,
|
|
// Image tools
|
|
publishImage,
|
|
getImage,
|
|
listImages,
|
|
lockImage,
|
|
unlockImage,
|
|
grantImageAccess,
|
|
revokeImageAccess,
|
|
transferImage,
|
|
setImageVisibility,
|
|
spawnFromImage,
|
|
getImageTrustedKeys,
|
|
deleteImage,
|
|
// System tools
|
|
healthCheck,
|
|
getClusterStatus,
|
|
getSystemStats,
|
|
listPools,
|
|
},
|
|
};
|
|
|
|
export default block;
|