After deployment to Vercel, the Studio's left sidebar shows fewer AI metadata items (agents and tools are missing).
The protocol's getMetaTypes() and getMetaItems() methods access the metadata service via getServicesRegistry() callback. The diagnostic logging was added to trace:
- Whether services registry is accessible
- Whether metadata service is available
- Whether runtime types/items are being retrieved
- How many items are being merged
-
Added comprehensive diagnostic logging in
getMetaTypes()method:- Log services registry availability and size
- Log metadata service availability and method presence
- Log runtime types retrieved from metadata service
- Log final merged types
-
Added comprehensive diagnostic logging in
getMetaItems()method:- Log services availability for each metadata type request
- Log metadata service list() method availability
- Log runtime items count from metadata service
- Log merged items count after combining SchemaRegistry and MetadataService
- Fixed protocol constructor to include the feed service callback (3rd parameter)
- Previously:
new ObjectStackProtocolImplementation(this.ql, getServicesCallback) - Now:
new ObjectStackProtocolImplementation(this.ql, getServicesCallback, getFeedCallback)
Created /tmp/test-protocol-metadata.js to verify the metadata service integration logic.
Test Scenario:
- Mock metadata service with agents and tools
- Simulate protocol's getMetaTypes() and getMetaItems() logic
- Verify services registry callback works correctly
- Verify metadata service methods are called
- Verify items are merged correctly
Results:
✅ All tests passed! Metadata service integration is working correctly.
Test Output:
- Services registry available: true (size: 1)
- Metadata service available: true
- Runtime types retrieved: ['agent', 'tool', 'ragPipeline']
- Final types: ['object', 'view', 'app', 'agent', 'tool', 'ragPipeline']
- Agent items: 2 items retrieved successfully
- Tool items: 3 items retrieved successfully
✅ Constructor parameters are optional, existing tests remain compatible:
new ObjectStackProtocolImplementation(engine)- still worksnew ObjectStackProtocolImplementation(engine, getServices)- still worksnew ObjectStackProtocolImplementation(engine, getServices, getFeed)- new full signature
Once deployed, the diagnostic logs will show:
- Whether the services registry callback returns a valid Map
- Whether the metadata service is registered and accessible
- How many agent/tool types are returned from MetadataService.getRegisteredTypes()
- How many agent/tool items are returned from MetadataService.list()
This will help identify if:
- The metadata service is not accessible (callback issue)
- The metadata service is empty (registration timing issue)
- The metadata service has data but it's not being merged (merge logic issue)
- Deploy to Vercel and check console logs
- Verify diagnostic output shows metadata service is accessible
- Verify agents and tools appear in the sidebar
- Remove diagnostic logging once issue is confirmed fixed
- Local integration test passes
- Backward compatibility maintained
- Diagnostic logging added
- Protocol initialization fixed
- Vercel deployment successful
- Metadata visible in Studio sidebar
- Diagnostic logs confirm root cause
Date: 2026-04-10 Commit: cc592e0