@objectstack/runtime 0.2.0 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +9 -0
- package/dist/index.js +4 -25
- package/dist/kernel.js +9 -46
- package/dist/protocol.js +6 -10
- package/dist/types.js +1 -2
- package/package.json +4 -4
- package/src/kernel.ts +1 -1
- package/tsconfig.json +2 -1
package/CHANGELOG.md
CHANGED
package/dist/index.js
CHANGED
|
@@ -1,26 +1,5 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
exports.ObjectStackRuntimeProtocol = exports.ObjectStackKernel = exports.SchemaRegistry = exports.ObjectQL = void 0;
|
|
18
1
|
// Export core engine
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
Object.defineProperty(exports, "ObjectStackKernel", { enumerable: true, get: function () { return kernel_1.ObjectStackKernel; } });
|
|
24
|
-
var protocol_1 = require("./protocol");
|
|
25
|
-
Object.defineProperty(exports, "ObjectStackRuntimeProtocol", { enumerable: true, get: function () { return protocol_1.ObjectStackRuntimeProtocol; } });
|
|
26
|
-
__exportStar(require("./types"), exports);
|
|
2
|
+
export { ObjectQL, SchemaRegistry } from '@objectstack/objectql';
|
|
3
|
+
export { ObjectStackKernel } from './kernel';
|
|
4
|
+
export { ObjectStackRuntimeProtocol } from './protocol';
|
|
5
|
+
export * from './types';
|
package/dist/kernel.js
CHANGED
|
@@ -1,50 +1,14 @@
|
|
|
1
|
-
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
-
var ownKeys = function(o) {
|
|
20
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
-
var ar = [];
|
|
22
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
-
return ar;
|
|
24
|
-
};
|
|
25
|
-
return ownKeys(o);
|
|
26
|
-
};
|
|
27
|
-
return function (mod) {
|
|
28
|
-
if (mod && mod.__esModule) return mod;
|
|
29
|
-
var result = {};
|
|
30
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
-
__setModuleDefault(result, mod);
|
|
32
|
-
return result;
|
|
33
|
-
};
|
|
34
|
-
})();
|
|
35
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
-
exports.ObjectStackKernel = void 0;
|
|
37
|
-
const objectql_1 = require("@objectstack/objectql");
|
|
1
|
+
import { SchemaRegistry, ObjectQL } from '@objectstack/objectql';
|
|
38
2
|
/**
|
|
39
3
|
* ObjectStack Kernel (Microkernel)
|
|
40
4
|
*
|
|
41
5
|
* The central container orchestrating the application lifecycle,
|
|
42
6
|
* plugins, and the core ObjectQL engine.
|
|
43
7
|
*/
|
|
44
|
-
class ObjectStackKernel {
|
|
8
|
+
export class ObjectStackKernel {
|
|
45
9
|
constructor(plugins = []) {
|
|
46
10
|
// 1. Initialize Engine with Host Context (Simulated OS services)
|
|
47
|
-
this.ql = new
|
|
11
|
+
this.ql = new ObjectQL({
|
|
48
12
|
env: process.env.NODE_ENV || 'development'
|
|
49
13
|
});
|
|
50
14
|
this.plugins = plugins;
|
|
@@ -62,11 +26,11 @@ class ObjectStackKernel {
|
|
|
62
26
|
}
|
|
63
27
|
// Otherwise treat as App Manifest
|
|
64
28
|
console.log(`[Kernel] Loading App Manifest: ${p.id || p.name}`);
|
|
65
|
-
|
|
29
|
+
SchemaRegistry.registerPlugin(p);
|
|
66
30
|
// Register Objects from App/Plugin
|
|
67
31
|
if (p.objects) {
|
|
68
32
|
for (const obj of p.objects) {
|
|
69
|
-
|
|
33
|
+
SchemaRegistry.registerObject(obj);
|
|
70
34
|
console.log(`[Kernel] Registered Object: ${obj.name}`);
|
|
71
35
|
}
|
|
72
36
|
}
|
|
@@ -78,7 +42,7 @@ class ObjectStackKernel {
|
|
|
78
42
|
// For Backwards Compat / Easy Dev, try dynamic import of memory driver if installed
|
|
79
43
|
try {
|
|
80
44
|
// @ts-ignore
|
|
81
|
-
const { InMemoryDriver } = await
|
|
45
|
+
const { InMemoryDriver } = await import('@objectstack/driver-memory');
|
|
82
46
|
const driver = new InMemoryDriver();
|
|
83
47
|
this.ql.registerDriver(driver);
|
|
84
48
|
}
|
|
@@ -108,11 +72,11 @@ class ObjectStackKernel {
|
|
|
108
72
|
}
|
|
109
73
|
catch { }
|
|
110
74
|
// Iterate over all registered plugins/apps and check for 'data' property in manifest
|
|
111
|
-
const plugins =
|
|
75
|
+
const plugins = SchemaRegistry.getRegisteredTypes(); // This returns types like 'plugin', 'app'
|
|
112
76
|
// This is a bit hacky because we don't have a direct "getAllManifests" API exposed easily
|
|
113
77
|
// We will iterate known apps for now, or improve Registry API later.
|
|
114
78
|
// Actually, SchemaRegistry.listItems('app') returns the manifests!
|
|
115
|
-
const apps = [...
|
|
79
|
+
const apps = [...SchemaRegistry.listItems('app'), ...SchemaRegistry.listItems('plugin')];
|
|
116
80
|
for (const appItem of apps) {
|
|
117
81
|
const app = appItem; // Cast to access data prop safely
|
|
118
82
|
if (app.data && Array.isArray(app.data)) {
|
|
@@ -185,10 +149,9 @@ class ObjectStackKernel {
|
|
|
185
149
|
return null;
|
|
186
150
|
}
|
|
187
151
|
ensureSchema(name) {
|
|
188
|
-
const schema =
|
|
152
|
+
const schema = SchemaRegistry.getObject(name);
|
|
189
153
|
if (!schema)
|
|
190
154
|
throw new Error(`Unknown object: ${name}`);
|
|
191
155
|
return schema;
|
|
192
156
|
}
|
|
193
157
|
}
|
|
194
|
-
exports.ObjectStackKernel = ObjectStackKernel;
|
package/dist/protocol.js
CHANGED
|
@@ -1,8 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
exports.ObjectStackRuntimeProtocol = void 0;
|
|
4
|
-
const objectql_1 = require("@objectstack/objectql");
|
|
5
|
-
class ObjectStackRuntimeProtocol {
|
|
1
|
+
import { SchemaRegistry } from '@objectstack/objectql';
|
|
2
|
+
export class ObjectStackRuntimeProtocol {
|
|
6
3
|
constructor(engine) {
|
|
7
4
|
this.engine = engine;
|
|
8
5
|
}
|
|
@@ -27,12 +24,12 @@ class ObjectStackRuntimeProtocol {
|
|
|
27
24
|
}
|
|
28
25
|
// 2. Metadata: List Types
|
|
29
26
|
getMetaTypes() {
|
|
30
|
-
const types =
|
|
27
|
+
const types = SchemaRegistry.getRegisteredTypes();
|
|
31
28
|
return {
|
|
32
29
|
data: types.map(type => ({
|
|
33
30
|
type,
|
|
34
31
|
href: `/api/v1/meta/${type}s`,
|
|
35
|
-
count:
|
|
32
|
+
count: SchemaRegistry.listItems(type).length
|
|
36
33
|
}))
|
|
37
34
|
};
|
|
38
35
|
}
|
|
@@ -48,7 +45,7 @@ class ObjectStackRuntimeProtocol {
|
|
|
48
45
|
'kinds': 'kind'
|
|
49
46
|
};
|
|
50
47
|
const type = typeMap[typePlural] || typePlural;
|
|
51
|
-
const items =
|
|
48
|
+
const items = SchemaRegistry.listItems(type);
|
|
52
49
|
const summaries = items.map((item) => ({
|
|
53
50
|
id: item.id,
|
|
54
51
|
name: item.name,
|
|
@@ -72,7 +69,7 @@ class ObjectStackRuntimeProtocol {
|
|
|
72
69
|
'kinds': 'kind'
|
|
73
70
|
};
|
|
74
71
|
const type = typeMap[typePlural] || typePlural;
|
|
75
|
-
const item =
|
|
72
|
+
const item = SchemaRegistry.getItem(type, name);
|
|
76
73
|
if (!item)
|
|
77
74
|
throw new Error(`Metadata not found: ${type}/${name}`);
|
|
78
75
|
return item;
|
|
@@ -109,4 +106,3 @@ class ObjectStackRuntimeProtocol {
|
|
|
109
106
|
return await this.engine.delete(objectName, id);
|
|
110
107
|
}
|
|
111
108
|
}
|
|
112
|
-
exports.ObjectStackRuntimeProtocol = ObjectStackRuntimeProtocol;
|
package/dist/types.js
CHANGED
|
@@ -1,2 +1 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
1
|
+
export {};
|
package/package.json
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@objectstack/runtime",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.0",
|
|
4
4
|
"description": "ObjectStack Core Runtime & Query Engine",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
7
7
|
"dependencies": {
|
|
8
|
-
"@objectstack/objectql": "0.
|
|
9
|
-
"@objectstack/types": "0.
|
|
10
|
-
"@objectstack/spec": "0.
|
|
8
|
+
"@objectstack/objectql": "0.3.0",
|
|
9
|
+
"@objectstack/types": "0.3.0",
|
|
10
|
+
"@objectstack/spec": "0.3.0"
|
|
11
11
|
},
|
|
12
12
|
"devDependencies": {
|
|
13
13
|
"typescript": "^5.0.0"
|
package/src/kernel.ts
CHANGED