Skip to content

Commit ac5972d

Browse files
Copilothotlong
andcommitted
feat: implement all 57 ObjectStackProtocol methods per kernel-services spec
- Add CoreServiceName type with 17 service names - Add ServiceStatus, ServiceCriticality, KernelDiscoveryResponse types - Add SERVICE_CRITICALITY mapping per spec - Rewrite protocol.ts with all 57 methods: - metadata (7): getDiscovery with per-service status map, getMetaTypes, getMetaItems, getMetaItem, saveMetaItem, getMetaItemCached, getUiView - data (9): findData, getData, createData, updateData, deleteData, batchData, createManyData, updateManyData, deleteManyData - analytics (2): analyticsQuery, getAnalyticsMeta with auto-generated measures/dimensions - auth (3): checkPermission, getObjectPermissions, getEffectivePermissions (plugin stubs) - ui (5): listViews, getView, createView, updateView, deleteView (plugin stubs) - workflow (5): getWorkflowConfig, getWorkflowState, workflowTransition, workflowApprove, workflowReject (plugin stubs) - automation (1): triggerAutomation (plugin stub) - realtime (6): connect, disconnect, subscribe, unsubscribe, setPresence, getPresence (plugin stubs) - notification (7): registerDevice, unregisterDevice, getNotificationPreferences, updateNotificationPreferences, listNotifications, markNotificationsRead, markAllNotificationsRead (plugin stubs) - ai (4): aiNlq, aiChat, aiSuggest, aiInsights (plugin stubs) - i18n (3): getLocales, getTranslations, getFieldLabels (plugin stubs) - packages (6): listPackages, getPackage, installPackage, uninstallPackage, enablePackage, disablePackage - Register analytics service alias in plugin.ts - Add 15 new tests covering discovery, batch ops, analytics, and plugin stubs Co-authored-by: hotlong <50353452+hotlong@users.noreply.github.com>
1 parent bd66acb commit ac5972d

5 files changed

Lines changed: 722 additions & 154 deletions

File tree

packages/foundation/core/src/plugin.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -192,6 +192,12 @@ export class ObjectQLPlugin implements RuntimePlugin {
192192
const dataService = kernel.queryService || kernel;
193193
registerService('data', dataService);
194194
this.logger.debug('Registered data service alias');
195+
196+
// 3. Analytics service (via QueryService)
197+
if (kernel.queryService) {
198+
registerService('analytics', kernel.queryService);
199+
this.logger.debug('Registered analytics service alias');
200+
}
195201
}
196202

197203
this.logger.info('Plugin installed successfully');

0 commit comments

Comments
 (0)