Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions ROADMAP.md
Original file line number Diff line number Diff line change
Expand Up @@ -759,6 +759,7 @@ Final polish and advanced features.
- [ ] Page Builder — drag-and-drop page designer with element palette (see [Gap Analysis](docs/design/airtable-interface-gap-analysis.md))
- [x] Flow Builder Protocol — canvas node shapes, edge styles, BPMN node descriptors (parallel_gateway, join_gateway, boundary_event, wait), layout algorithms, palette categories (`studio/flow-builder.zod.ts`)
- [ ] Flow Builder Runtime — visual automation flow editor with drag-and-drop canvas, node palette, property panel, minimap
- [x] Global REST API Console — auto-discover all registered REST APIs, grouped endpoint tree with search/filter, request/response panel with history and replay (`ApiConsolePage`, `useApiDiscovery`)
- [ ] Security Console — permission matrix, RLS policy editor
- [ ] AI Playground — agent testing, NLQ sandbox
- [ ] Code Editor — Monaco-based TypeScript editing with live preview
Expand Down
5 changes: 4 additions & 1 deletion apps/studio/src/App.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -9,13 +9,14 @@ import { SiteHeader } from "@/components/site-header"
import { SidebarProvider } from "@/components/ui/sidebar"
import { DeveloperOverview } from './components/DeveloperOverview';
import { PackageManager } from './components/PackageManager';
import { ApiConsolePage } from './components/ApiConsolePage';
import { Toaster } from "@/components/ui/toaster"
import { getApiBaseUrl, config } from './lib/config';
import { PluginRegistryProvider, PluginHost } from './plugins';
import { builtInPlugins } from './plugins/built-in';
import type { InstalledPackage } from '@objectstack/spec/kernel';

type ViewType = 'overview' | 'packages' | 'object' | 'metadata';
type ViewType = 'overview' | 'packages' | 'object' | 'metadata' | 'api-console';

export default function App() {
const [client, setClient] = useState<ObjectStackClient | null>(null);
Expand Down Expand Up @@ -129,6 +130,8 @@ export default function App() {
<PluginHost metadataType={selectedMeta.type} metadataName={selectedMeta.name} />
) : selectedView === 'packages' ? (
<PackageManager />
) : selectedView === 'api-console' ? (
<ApiConsolePage />
) : (
<DeveloperOverview
packages={packages}
Expand Down
Loading