@@ -50,9 +50,9 @@ ObjectStack capabilities are organized into three subsystems that correspond to
5050import type { ObjectStackCapabilities } from ' @objectstack/spec' ;
5151
5252const capabilities: ObjectStackCapabilities = {
53- objectql : { /* ObjectQL capabilities */ },
54- objectui : { /* ObjectUI capabilities */ },
55- objectos : { /* ObjectOS capabilities */ },
53+ data : { /* ObjectQL capabilities */ },
54+ ui : { /* ObjectUI capabilities */ },
55+ system : { /* ObjectOS capabilities */ },
5656};
5757```
5858
@@ -249,7 +249,7 @@ The **System Layer** capabilities define runtime, API, security, and platform se
249249import type { ObjectStackCapabilities } from ' @objectstack/spec' ;
250250
251251const productionCapabilities: ObjectStackCapabilities = {
252- objectql : {
252+ data : {
253253 queryFilters: true ,
254254 queryAggregations: true ,
255255 querySorting: true ,
@@ -272,7 +272,7 @@ const productionCapabilities: ObjectStackCapabilities = {
272272 bulkOperations: true ,
273273 supportedDrivers: [' postgresql' , ' mongodb' , ' mysql' ],
274274 },
275- objectui : {
275+ ui : {
276276 listView: true ,
277277 formView: true ,
278278 kanbanView: true ,
@@ -289,7 +289,7 @@ const productionCapabilities: ObjectStackCapabilities = {
289289 mobileOptimized: true ,
290290 accessibility: true ,
291291 },
292- objectos : {
292+ system : {
293293 version: ' 1.0.0' ,
294294 environment: ' production' ,
295295 restApi: true ,
@@ -326,7 +326,7 @@ const productionCapabilities: ObjectStackCapabilities = {
326326
327327``` typescript
328328const developmentCapabilities: ObjectStackCapabilities = {
329- objectql : {
329+ data : {
330330 // Basic query operations
331331 queryFilters: true ,
332332 queryAggregations: true ,
@@ -350,7 +350,7 @@ const developmentCapabilities: ObjectStackCapabilities = {
350350 bulkOperations: true ,
351351 supportedDrivers: [' memory' , ' sqlite' ],
352352 },
353- objectui : {
353+ ui : {
354354 listView: true ,
355355 formView: true ,
356356 kanbanView: false ,
@@ -367,7 +367,7 @@ const developmentCapabilities: ObjectStackCapabilities = {
367367 mobileOptimized: false ,
368368 accessibility: false ,
369369 },
370- objectos : {
370+ system : {
371371 version: ' 0.1.0' ,
372372 environment: ' development' ,
373373 restApi: true ,
@@ -406,25 +406,25 @@ const developmentCapabilities: ObjectStackCapabilities = {
406406// Helper: Check if a capability is enabled
407407function hasCapability(
408408 capabilities : ObjectStackCapabilities ,
409- subsystem : ' objectql ' | ' objectui ' | ' objectos ' ,
409+ subsystem : ' data ' | ' ui ' | ' system ' ,
410410 capability : string
411411): boolean {
412412 const subsystemCaps = capabilities [subsystem ] as any ;
413413 return subsystemCaps ?.[capability ] === true ;
414414}
415415
416416// Check if vector search is available
417- if (hasCapability (capabilities , ' objectql ' , ' vectorSearch' )) {
417+ if (hasCapability (capabilities , ' data ' , ' vectorSearch' )) {
418418 console .log (' ✅ Vector search is available for RAG workflows' );
419419}
420420
421421// Check if GraphQL API is enabled
422- if (hasCapability (capabilities , ' objectos ' , ' graphqlApi' )) {
422+ if (hasCapability (capabilities , ' system ' , ' graphqlApi' )) {
423423 console .log (' ✅ GraphQL endpoint is available' );
424424}
425425
426426// Check if Kanban view is supported
427- if (hasCapability (capabilities , ' objectui ' , ' kanbanView' )) {
427+ if (hasCapability (capabilities , ' ui ' , ' kanbanView' )) {
428428 console .log (' ✅ Kanban boards are available' );
429429}
430430```
@@ -442,9 +442,9 @@ The capabilities schema is typically exposed via the `/api/discovery` endpoint:
442442 " version" : " 1.0.0" ,
443443 " environment" : " production" ,
444444 " capabilities" : {
445- " objectql " : { /* ... */ },
446- " objectui " : { /* ... */ },
447- " objectos " : { /* ... */ }
445+ " data " : { /* ... */ },
446+ " ui " : { /* ... */ },
447+ " system " : { /* ... */ }
448448 },
449449 " routes" : {
450450 " data" : " /api/data" ,
@@ -471,7 +471,7 @@ Design your application to gracefully handle missing capabilities:
471471
472472``` typescript
473473// Good: Check before using advanced features
474- if (capabilities .objectql .vectorSearch ) {
474+ if (capabilities .data .vectorSearch ) {
475475 await performSemanticSearch (query );
476476} else {
477477 await performTextSearch (query ); // Fallback
@@ -484,7 +484,7 @@ When generating code, AI agents should respect capability constraints:
484484
485485``` typescript
486486// AI Agent checks capabilities before generating code
487- if (! capabilities .objectql .queryWindowFunctions ) {
487+ if (! capabilities .data .queryWindowFunctions ) {
488488 // Don't generate ROW_NUMBER queries
489489 // Use alternative implementation
490490}
0 commit comments