@@ -1184,90 +1184,101 @@ export type {
11841184 PackageStatus ,
11851185} ;
11861186
1187- export type ObjectStackProtocol = z . infer < typeof ObjectStackProtocolSchema > ;
1187+ /**
1188+ * Zod-inferred protocol type (for runtime validation only).
1189+ * Use ObjectStackProtocol interface for implementation contracts.
1190+ */
1191+ export type ObjectStackProtocolZod = z . infer < typeof ObjectStackProtocolSchema > ;
11881192
11891193/**
1190- * Legacy Interface Export
1191- * Maintained for backward compatibility
1192- * @deprecated Use ObjectStackProtocol type from protocol.zod.ts instead
1194+ * ObjectStack Protocol Interface
1195+ *
1196+ * Properly typed interface for implementing the ObjectStack API protocol.
1197+ * The Zod schema (ObjectStackProtocolSchema) is used for runtime validation,
1198+ * while this interface provides compile-time type safety for implementations.
11931199 */
1194- export interface IObjectStackProtocolLegacy {
1195- getDiscovery ( ) : Promise < GetDiscoveryResponse > ;
1196- getMetaTypes ( ) : Promise < GetMetaTypesResponse > ;
1200+ export interface ObjectStackProtocol {
1201+ // Discovery & Metadata (core)
1202+ getDiscovery ( request ?: GetDiscoveryRequest ) : Promise < GetDiscoveryResponse > ;
1203+ getMetaTypes ( request ?: GetMetaTypesRequest ) : Promise < GetMetaTypesResponse > ;
11971204 getMetaItems ( request : GetMetaItemsRequest ) : Promise < GetMetaItemsResponse > ;
11981205 getMetaItem ( request : GetMetaItemRequest ) : Promise < GetMetaItemResponse > ;
11991206 saveMetaItem ( request : SaveMetaItemRequest ) : Promise < SaveMetaItemResponse > ;
1200- getMetaItemCached ( request : GetMetaItemCachedRequest ) : Promise < GetMetaItemCachedResponse > ;
1201- getUiView ( request : GetUiViewRequest ) : Promise < GetUiViewResponse > ;
1207+ getMetaItemCached ? ( request : GetMetaItemCachedRequest ) : Promise < GetMetaItemCachedResponse > ;
1208+ getUiView ? ( request : GetUiViewRequest ) : Promise < GetUiViewResponse > ;
12021209
1203- analyticsQuery ( request : AnalyticsQueryRequest ) : Promise < AnalyticsResultResponse > ;
1204- getAnalyticsMeta ( request : GetAnalyticsMetaRequest ) : Promise < GetAnalyticsMetaResponse > ;
1205-
1206- triggerAutomation ( request : AutomationTriggerRequest ) : Promise < AutomationTriggerResponse > ;
1207-
1208- // Package Management
1209- listPackages ( request : ListPackagesRequest ) : Promise < ListPackagesResponse > ;
1210- getPackage ( request : GetPackageRequest ) : Promise < GetPackageResponse > ;
1211- installPackage ( request : InstallPackageRequest ) : Promise < InstallPackageResponse > ;
1212- uninstallPackage ( request : UninstallPackageRequest ) : Promise < UninstallPackageResponse > ;
1213- enablePackage ( request : EnablePackageRequest ) : Promise < EnablePackageResponse > ;
1214- disablePackage ( request : DisablePackageRequest ) : Promise < DisablePackageResponse > ;
1215-
1210+ // Analytics (optional)
1211+ analyticsQuery ?( request : AnalyticsQueryRequest ) : Promise < AnalyticsResultResponse > ;
1212+ getAnalyticsMeta ?( request : GetAnalyticsMetaRequest ) : Promise < GetAnalyticsMetaResponse > ;
1213+
1214+ // Automation (optional)
1215+ triggerAutomation ?( request : AutomationTriggerRequest ) : Promise < AutomationTriggerResponse > ;
1216+
1217+ // Package Management (optional)
1218+ listPackages ?( request : ListPackagesRequest ) : Promise < ListPackagesResponse > ;
1219+ getPackage ?( request : GetPackageRequest ) : Promise < GetPackageResponse > ;
1220+ installPackage ?( request : InstallPackageRequest ) : Promise < InstallPackageResponse > ;
1221+ uninstallPackage ?( request : UninstallPackageRequest ) : Promise < UninstallPackageResponse > ;
1222+ enablePackage ?( request : EnablePackageRequest ) : Promise < EnablePackageResponse > ;
1223+ disablePackage ?( request : DisablePackageRequest ) : Promise < DisablePackageResponse > ;
1224+
1225+ // Data Operations (core)
12161226 findData ( request : FindDataRequest ) : Promise < FindDataResponse > ;
12171227 getData ( request : GetDataRequest ) : Promise < GetDataResponse > ;
12181228 createData ( request : CreateDataRequest ) : Promise < CreateDataResponse > ;
12191229 updateData ( request : UpdateDataRequest ) : Promise < UpdateDataResponse > ;
12201230 deleteData ( request : DeleteDataRequest ) : Promise < DeleteDataResponse > ;
12211231
1222- batchData ( request : BatchDataRequest ) : Promise < BatchDataResponse > ;
1223- createManyData ( request : CreateManyDataRequest ) : Promise < CreateManyDataResponse > ;
1224- updateManyData ( request : UpdateManyDataRequest ) : Promise < UpdateManyDataResponse > ;
1225- deleteManyData ( request : DeleteManyDataRequest ) : Promise < DeleteManyDataResponse > ;
1226-
1227- // View Management
1228- listViews ( request : ListViewsRequest ) : Promise < ListViewsResponse > ;
1229- getView ( request : GetViewRequest ) : Promise < GetViewResponse > ;
1230- createView ( request : CreateViewRequest ) : Promise < CreateViewResponse > ;
1231- updateView ( request : UpdateViewRequest ) : Promise < UpdateViewResponse > ;
1232- deleteView ( request : DeleteViewRequest ) : Promise < DeleteViewResponse > ;
1233-
1234- // Permissions
1235- checkPermission ( request : CheckPermissionRequest ) : Promise < CheckPermissionResponse > ;
1236- getObjectPermissions ( request : GetObjectPermissionsRequest ) : Promise < GetObjectPermissionsResponse > ;
1237- getEffectivePermissions ( request : GetEffectivePermissionsRequest ) : Promise < GetEffectivePermissionsResponse > ;
1238-
1239- // Workflows
1240- getWorkflowConfig ( request : GetWorkflowConfigRequest ) : Promise < GetWorkflowConfigResponse > ;
1241- getWorkflowState ( request : GetWorkflowStateRequest ) : Promise < GetWorkflowStateResponse > ;
1242- workflowTransition ( request : WorkflowTransitionRequest ) : Promise < WorkflowTransitionResponse > ;
1243- workflowApprove ( request : WorkflowApproveRequest ) : Promise < WorkflowApproveResponse > ;
1244- workflowReject ( request : WorkflowRejectRequest ) : Promise < WorkflowRejectResponse > ;
1245-
1246- // Realtime
1247- realtimeConnect ( request : RealtimeConnectRequest ) : Promise < RealtimeConnectResponse > ;
1248- realtimeDisconnect ( request : RealtimeDisconnectRequest ) : Promise < RealtimeDisconnectResponse > ;
1249- realtimeSubscribe ( request : RealtimeSubscribeRequest ) : Promise < RealtimeSubscribeResponse > ;
1250- realtimeUnsubscribe ( request : RealtimeUnsubscribeRequest ) : Promise < RealtimeUnsubscribeResponse > ;
1251- setPresence ( request : SetPresenceRequest ) : Promise < SetPresenceResponse > ;
1252- getPresence ( request : GetPresenceRequest ) : Promise < GetPresenceResponse > ;
1253-
1254- // Notifications
1255- registerDevice ( request : RegisterDeviceRequest ) : Promise < RegisterDeviceResponse > ;
1256- unregisterDevice ( request : UnregisterDeviceRequest ) : Promise < UnregisterDeviceResponse > ;
1257- getNotificationPreferences ( request : GetNotificationPreferencesRequest ) : Promise < GetNotificationPreferencesResponse > ;
1258- updateNotificationPreferences ( request : UpdateNotificationPreferencesRequest ) : Promise < UpdateNotificationPreferencesResponse > ;
1259- listNotifications ( request : ListNotificationsRequest ) : Promise < ListNotificationsResponse > ;
1260- markNotificationsRead ( request : MarkNotificationsReadRequest ) : Promise < MarkNotificationsReadResponse > ;
1261- markAllNotificationsRead ( request : MarkAllNotificationsReadRequest ) : Promise < MarkAllNotificationsReadResponse > ;
1262-
1263- // AI
1264- aiNlq ( request : AiNlqRequest ) : Promise < AiNlqResponse > ;
1265- aiChat ( request : AiChatRequest ) : Promise < AiChatResponse > ;
1266- aiSuggest ( request : AiSuggestRequest ) : Promise < AiSuggestResponse > ;
1267- aiInsights ( request : AiInsightsRequest ) : Promise < AiInsightsResponse > ;
1268-
1269- // i18n
1270- getLocales ( request : GetLocalesRequest ) : Promise < GetLocalesResponse > ;
1271- getTranslations ( request : GetTranslationsRequest ) : Promise < GetTranslationsResponse > ;
1272- getFieldLabels ( request : GetFieldLabelsRequest ) : Promise < GetFieldLabelsResponse > ;
1232+ // Batch Operations (optional)
1233+ batchData ?( request : BatchDataRequest ) : Promise < BatchDataResponse > ;
1234+ createManyData ?( request : CreateManyDataRequest ) : Promise < CreateManyDataResponse > ;
1235+ updateManyData ?( request : UpdateManyDataRequest ) : Promise < UpdateManyDataResponse > ;
1236+ deleteManyData ?( request : DeleteManyDataRequest ) : Promise < DeleteManyDataResponse > ;
1237+
1238+ // View Management (optional)
1239+ listViews ?( request : ListViewsRequest ) : Promise < ListViewsResponse > ;
1240+ getView ?( request : GetViewRequest ) : Promise < GetViewResponse > ;
1241+ createView ?( request : CreateViewRequest ) : Promise < CreateViewResponse > ;
1242+ updateView ?( request : UpdateViewRequest ) : Promise < UpdateViewResponse > ;
1243+ deleteView ?( request : DeleteViewRequest ) : Promise < DeleteViewResponse > ;
1244+
1245+ // Permissions (optional)
1246+ checkPermission ?( request : CheckPermissionRequest ) : Promise < CheckPermissionResponse > ;
1247+ getObjectPermissions ?( request : GetObjectPermissionsRequest ) : Promise < GetObjectPermissionsResponse > ;
1248+ getEffectivePermissions ?( request : GetEffectivePermissionsRequest ) : Promise < GetEffectivePermissionsResponse > ;
1249+
1250+ // Workflows (optional)
1251+ getWorkflowConfig ?( request : GetWorkflowConfigRequest ) : Promise < GetWorkflowConfigResponse > ;
1252+ getWorkflowState ?( request : GetWorkflowStateRequest ) : Promise < GetWorkflowStateResponse > ;
1253+ workflowTransition ?( request : WorkflowTransitionRequest ) : Promise < WorkflowTransitionResponse > ;
1254+ workflowApprove ?( request : WorkflowApproveRequest ) : Promise < WorkflowApproveResponse > ;
1255+ workflowReject ?( request : WorkflowRejectRequest ) : Promise < WorkflowRejectResponse > ;
1256+
1257+ // Realtime (optional)
1258+ realtimeConnect ?( request : RealtimeConnectRequest ) : Promise < RealtimeConnectResponse > ;
1259+ realtimeDisconnect ?( request : RealtimeDisconnectRequest ) : Promise < RealtimeDisconnectResponse > ;
1260+ realtimeSubscribe ?( request : RealtimeSubscribeRequest ) : Promise < RealtimeSubscribeResponse > ;
1261+ realtimeUnsubscribe ?( request : RealtimeUnsubscribeRequest ) : Promise < RealtimeUnsubscribeResponse > ;
1262+ setPresence ?( request : SetPresenceRequest ) : Promise < SetPresenceResponse > ;
1263+ getPresence ?( request : GetPresenceRequest ) : Promise < GetPresenceResponse > ;
1264+
1265+ // Notifications (optional)
1266+ registerDevice ?( request : RegisterDeviceRequest ) : Promise < RegisterDeviceResponse > ;
1267+ unregisterDevice ?( request : UnregisterDeviceRequest ) : Promise < UnregisterDeviceResponse > ;
1268+ getNotificationPreferences ?( request : GetNotificationPreferencesRequest ) : Promise < GetNotificationPreferencesResponse > ;
1269+ updateNotificationPreferences ?( request : UpdateNotificationPreferencesRequest ) : Promise < UpdateNotificationPreferencesResponse > ;
1270+ listNotifications ?( request : ListNotificationsRequest ) : Promise < ListNotificationsResponse > ;
1271+ markNotificationsRead ?( request : MarkNotificationsReadRequest ) : Promise < MarkNotificationsReadResponse > ;
1272+ markAllNotificationsRead ?( request : MarkAllNotificationsReadRequest ) : Promise < MarkAllNotificationsReadResponse > ;
1273+
1274+ // AI (optional)
1275+ aiNlq ?( request : AiNlqRequest ) : Promise < AiNlqResponse > ;
1276+ aiChat ?( request : AiChatRequest ) : Promise < AiChatResponse > ;
1277+ aiSuggest ?( request : AiSuggestRequest ) : Promise < AiSuggestResponse > ;
1278+ aiInsights ?( request : AiInsightsRequest ) : Promise < AiInsightsResponse > ;
1279+
1280+ // i18n (optional)
1281+ getLocales ?( request : GetLocalesRequest ) : Promise < GetLocalesResponse > ;
1282+ getTranslations ?( request : GetTranslationsRequest ) : Promise < GetTranslationsResponse > ;
1283+ getFieldLabels ?( request : GetFieldLabelsRequest ) : Promise < GetFieldLabelsResponse > ;
12731284}
0 commit comments