@objectstack/objectql 2.0.2 → 2.0.4
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/.turbo/turbo-build.log +10 -10
- package/CHANGELOG.md +20 -0
- package/dist/index.d.mts +38 -93
- package/dist/index.d.ts +38 -93
- package/dist/index.js +241 -45
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +241 -45
- package/dist/index.mjs.map +1 -1
- package/package.json +4 -4
- package/src/engine.ts +86 -0
- package/src/plugin.integration.test.ts +241 -0
- package/src/plugin.ts +87 -5
- package/src/protocol-discovery.test.ts +137 -0
- package/src/protocol.ts +107 -41
package/.turbo/turbo-build.log
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
|
|
2
|
-
> @objectstack/objectql@2.0.
|
|
2
|
+
> @objectstack/objectql@2.0.4 build /home/runner/work/spec/spec/packages/objectql
|
|
3
3
|
> tsup --config ../../tsup.config.ts
|
|
4
4
|
|
|
5
5
|
[34mCLI[39m Building entry: src/index.ts
|
|
@@ -10,13 +10,13 @@
|
|
|
10
10
|
[34mCLI[39m Cleaning output folder
|
|
11
11
|
[34mESM[39m Build start
|
|
12
12
|
[34mCJS[39m Build start
|
|
13
|
-
[32mCJS[39m [1mdist/index.js [22m[
|
|
14
|
-
[32mCJS[39m [1mdist/index.js.map [22m[
|
|
15
|
-
[32mCJS[39m ⚡️ Build success in
|
|
16
|
-
[32mESM[39m [1mdist/index.mjs [22m[
|
|
17
|
-
[32mESM[39m [1mdist/index.mjs.map [22m[
|
|
18
|
-
[32mESM[39m ⚡️ Build success in
|
|
13
|
+
[32mCJS[39m [1mdist/index.js [22m[32m62.77 KB[39m
|
|
14
|
+
[32mCJS[39m [1mdist/index.js.map [22m[32m126.84 KB[39m
|
|
15
|
+
[32mCJS[39m ⚡️ Build success in 81ms
|
|
16
|
+
[32mESM[39m [1mdist/index.mjs [22m[32m61.35 KB[39m
|
|
17
|
+
[32mESM[39m [1mdist/index.mjs.map [22m[32m126.13 KB[39m
|
|
18
|
+
[32mESM[39m ⚡️ Build success in 94ms
|
|
19
19
|
[34mDTS[39m Build start
|
|
20
|
-
[32mDTS[39m ⚡️ Build success in
|
|
21
|
-
[32mDTS[39m [1mdist/index.d.mts [22m[
|
|
22
|
-
[32mDTS[39m [1mdist/index.d.ts [22m[
|
|
20
|
+
[32mDTS[39m ⚡️ Build success in 12002ms
|
|
21
|
+
[32mDTS[39m [1mdist/index.d.mts [22m[32m66.66 KB[39m
|
|
22
|
+
[32mDTS[39m [1mdist/index.d.ts [22m[32m66.66 KB[39m
|
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,25 @@
|
|
|
1
1
|
# @objectstack/objectql
|
|
2
2
|
|
|
3
|
+
## 2.0.4
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- Patch release for maintenance and stability improvements
|
|
8
|
+
- Updated dependencies
|
|
9
|
+
- @objectstack/spec@2.0.4
|
|
10
|
+
- @objectstack/core@2.0.4
|
|
11
|
+
- @objectstack/types@2.0.4
|
|
12
|
+
|
|
13
|
+
## 2.0.3
|
|
14
|
+
|
|
15
|
+
### Patch Changes
|
|
16
|
+
|
|
17
|
+
- Patch release for maintenance and stability improvements
|
|
18
|
+
- Updated dependencies
|
|
19
|
+
- @objectstack/spec@2.0.3
|
|
20
|
+
- @objectstack/core@2.0.3
|
|
21
|
+
- @objectstack/types@2.0.3
|
|
22
|
+
|
|
3
23
|
## 2.0.2
|
|
4
24
|
|
|
5
25
|
### Patch Changes
|
package/dist/index.d.mts
CHANGED
|
@@ -1121,7 +1121,8 @@ declare class SchemaRegistry {
|
|
|
1121
1121
|
|
|
1122
1122
|
declare class ObjectStackProtocolImplementation implements ObjectStackProtocol {
|
|
1123
1123
|
private engine;
|
|
1124
|
-
|
|
1124
|
+
private getServicesRegistry?;
|
|
1125
|
+
constructor(engine: IDataEngine, getServicesRegistry?: () => Map<string, any>);
|
|
1125
1126
|
getDiscovery(): Promise<{
|
|
1126
1127
|
version: string;
|
|
1127
1128
|
apiName: string;
|
|
@@ -1139,99 +1140,26 @@ declare class ObjectStackProtocolImplementation implements ObjectStackProtocol {
|
|
|
1139
1140
|
endpoints: {
|
|
1140
1141
|
data: string;
|
|
1141
1142
|
metadata: string;
|
|
1142
|
-
|
|
1143
|
-
|
|
1144
|
-
|
|
1145
|
-
|
|
1146
|
-
|
|
1147
|
-
|
|
1148
|
-
|
|
1149
|
-
|
|
1150
|
-
|
|
1151
|
-
|
|
1152
|
-
|
|
1153
|
-
|
|
1154
|
-
status: "available";
|
|
1155
|
-
route: string;
|
|
1156
|
-
provider: string;
|
|
1157
|
-
};
|
|
1158
|
-
analytics: {
|
|
1159
|
-
enabled: boolean;
|
|
1160
|
-
status: "available";
|
|
1161
|
-
route: string;
|
|
1162
|
-
provider: string;
|
|
1163
|
-
};
|
|
1164
|
-
auth: {
|
|
1165
|
-
enabled: boolean;
|
|
1166
|
-
status: "unavailable";
|
|
1167
|
-
message: string;
|
|
1168
|
-
};
|
|
1169
|
-
automation: {
|
|
1170
|
-
enabled: boolean;
|
|
1171
|
-
status: "unavailable";
|
|
1172
|
-
message: string;
|
|
1173
|
-
};
|
|
1174
|
-
cache: {
|
|
1175
|
-
enabled: boolean;
|
|
1176
|
-
status: "unavailable";
|
|
1177
|
-
message: string;
|
|
1178
|
-
};
|
|
1179
|
-
queue: {
|
|
1180
|
-
enabled: boolean;
|
|
1181
|
-
status: "unavailable";
|
|
1182
|
-
message: string;
|
|
1183
|
-
};
|
|
1184
|
-
job: {
|
|
1185
|
-
enabled: boolean;
|
|
1186
|
-
status: "unavailable";
|
|
1187
|
-
message: string;
|
|
1188
|
-
};
|
|
1189
|
-
ui: {
|
|
1190
|
-
enabled: boolean;
|
|
1191
|
-
status: "unavailable";
|
|
1192
|
-
message: string;
|
|
1193
|
-
};
|
|
1194
|
-
workflow: {
|
|
1195
|
-
enabled: boolean;
|
|
1196
|
-
status: "unavailable";
|
|
1197
|
-
message: string;
|
|
1198
|
-
};
|
|
1199
|
-
realtime: {
|
|
1200
|
-
enabled: boolean;
|
|
1201
|
-
status: "unavailable";
|
|
1202
|
-
message: string;
|
|
1203
|
-
};
|
|
1204
|
-
notification: {
|
|
1205
|
-
enabled: boolean;
|
|
1206
|
-
status: "unavailable";
|
|
1207
|
-
message: string;
|
|
1208
|
-
};
|
|
1209
|
-
ai: {
|
|
1210
|
-
enabled: boolean;
|
|
1211
|
-
status: "unavailable";
|
|
1212
|
-
message: string;
|
|
1213
|
-
};
|
|
1214
|
-
i18n: {
|
|
1215
|
-
enabled: boolean;
|
|
1216
|
-
status: "unavailable";
|
|
1217
|
-
message: string;
|
|
1218
|
-
};
|
|
1219
|
-
graphql: {
|
|
1220
|
-
enabled: boolean;
|
|
1221
|
-
status: "unavailable";
|
|
1222
|
-
message: string;
|
|
1223
|
-
};
|
|
1224
|
-
'file-storage': {
|
|
1225
|
-
enabled: boolean;
|
|
1226
|
-
status: "unavailable";
|
|
1227
|
-
message: string;
|
|
1228
|
-
};
|
|
1229
|
-
search: {
|
|
1230
|
-
enabled: boolean;
|
|
1231
|
-
status: "unavailable";
|
|
1232
|
-
message: string;
|
|
1233
|
-
};
|
|
1143
|
+
ui?: string | undefined;
|
|
1144
|
+
auth?: string | undefined;
|
|
1145
|
+
automation?: string | undefined;
|
|
1146
|
+
storage?: string | undefined;
|
|
1147
|
+
analytics?: string | undefined;
|
|
1148
|
+
graphql?: string | undefined;
|
|
1149
|
+
packages?: string | undefined;
|
|
1150
|
+
workflow?: string | undefined;
|
|
1151
|
+
realtime?: string | undefined;
|
|
1152
|
+
notifications?: string | undefined;
|
|
1153
|
+
ai?: string | undefined;
|
|
1154
|
+
i18n?: string | undefined;
|
|
1234
1155
|
};
|
|
1156
|
+
services: Record<string, {
|
|
1157
|
+
enabled: boolean;
|
|
1158
|
+
status: "degraded" | "available" | "unavailable" | "stub";
|
|
1159
|
+
route?: string | undefined;
|
|
1160
|
+
provider?: string | undefined;
|
|
1161
|
+
message?: string | undefined;
|
|
1162
|
+
}>;
|
|
1235
1163
|
}>;
|
|
1236
1164
|
getMetaTypes(): Promise<{
|
|
1237
1165
|
types: string[];
|
|
@@ -1421,6 +1349,18 @@ declare class ObjectQL implements IDataEngine {
|
|
|
1421
1349
|
* the manifest contains UI navigation definitions (AppSchema).
|
|
1422
1350
|
*/
|
|
1423
1351
|
registerApp(manifest: any): void;
|
|
1352
|
+
/**
|
|
1353
|
+
* Register a nested plugin's metadata (objects, actions, views, etc.)
|
|
1354
|
+
*
|
|
1355
|
+
* Unlike registerApp(), this does NOT call SchemaRegistry.installPackage()
|
|
1356
|
+
* because plugins are not formal manifests — they are lightweight config
|
|
1357
|
+
* bundles with objects, actions, triggers, and navigation.
|
|
1358
|
+
*
|
|
1359
|
+
* @param plugin - The plugin config object
|
|
1360
|
+
* @param parentId - The parent package ID (for ownership tracking)
|
|
1361
|
+
* @param parentNamespace - The parent package's namespace (for FQN resolution)
|
|
1362
|
+
*/
|
|
1363
|
+
private registerPlugin;
|
|
1424
1364
|
/**
|
|
1425
1365
|
* Register a new storage driver
|
|
1426
1366
|
*/
|
|
@@ -1724,6 +1664,11 @@ declare class ObjectQLPlugin implements Plugin {
|
|
|
1724
1664
|
constructor(ql?: ObjectQL, hostContext?: Record<string, any>);
|
|
1725
1665
|
init: (ctx: PluginContext) => Promise<void>;
|
|
1726
1666
|
start: (ctx: PluginContext) => Promise<void>;
|
|
1667
|
+
/**
|
|
1668
|
+
* Load metadata from external metadata service into ObjectQL registry
|
|
1669
|
+
* This enables ObjectQL to use file-based or remote metadata
|
|
1670
|
+
*/
|
|
1671
|
+
private loadMetadataFromService;
|
|
1727
1672
|
}
|
|
1728
1673
|
|
|
1729
1674
|
export { DEFAULT_EXTENDER_PRIORITY, DEFAULT_OWNER_PRIORITY, type HookHandler, type ObjectContributor, ObjectQL, type ObjectQLHostContext, ObjectQLPlugin, ObjectStackProtocolImplementation, RESERVED_NAMESPACES, SchemaRegistry, computeFQN, parseFQN };
|
package/dist/index.d.ts
CHANGED
|
@@ -1121,7 +1121,8 @@ declare class SchemaRegistry {
|
|
|
1121
1121
|
|
|
1122
1122
|
declare class ObjectStackProtocolImplementation implements ObjectStackProtocol {
|
|
1123
1123
|
private engine;
|
|
1124
|
-
|
|
1124
|
+
private getServicesRegistry?;
|
|
1125
|
+
constructor(engine: IDataEngine, getServicesRegistry?: () => Map<string, any>);
|
|
1125
1126
|
getDiscovery(): Promise<{
|
|
1126
1127
|
version: string;
|
|
1127
1128
|
apiName: string;
|
|
@@ -1139,99 +1140,26 @@ declare class ObjectStackProtocolImplementation implements ObjectStackProtocol {
|
|
|
1139
1140
|
endpoints: {
|
|
1140
1141
|
data: string;
|
|
1141
1142
|
metadata: string;
|
|
1142
|
-
|
|
1143
|
-
|
|
1144
|
-
|
|
1145
|
-
|
|
1146
|
-
|
|
1147
|
-
|
|
1148
|
-
|
|
1149
|
-
|
|
1150
|
-
|
|
1151
|
-
|
|
1152
|
-
|
|
1153
|
-
|
|
1154
|
-
status: "available";
|
|
1155
|
-
route: string;
|
|
1156
|
-
provider: string;
|
|
1157
|
-
};
|
|
1158
|
-
analytics: {
|
|
1159
|
-
enabled: boolean;
|
|
1160
|
-
status: "available";
|
|
1161
|
-
route: string;
|
|
1162
|
-
provider: string;
|
|
1163
|
-
};
|
|
1164
|
-
auth: {
|
|
1165
|
-
enabled: boolean;
|
|
1166
|
-
status: "unavailable";
|
|
1167
|
-
message: string;
|
|
1168
|
-
};
|
|
1169
|
-
automation: {
|
|
1170
|
-
enabled: boolean;
|
|
1171
|
-
status: "unavailable";
|
|
1172
|
-
message: string;
|
|
1173
|
-
};
|
|
1174
|
-
cache: {
|
|
1175
|
-
enabled: boolean;
|
|
1176
|
-
status: "unavailable";
|
|
1177
|
-
message: string;
|
|
1178
|
-
};
|
|
1179
|
-
queue: {
|
|
1180
|
-
enabled: boolean;
|
|
1181
|
-
status: "unavailable";
|
|
1182
|
-
message: string;
|
|
1183
|
-
};
|
|
1184
|
-
job: {
|
|
1185
|
-
enabled: boolean;
|
|
1186
|
-
status: "unavailable";
|
|
1187
|
-
message: string;
|
|
1188
|
-
};
|
|
1189
|
-
ui: {
|
|
1190
|
-
enabled: boolean;
|
|
1191
|
-
status: "unavailable";
|
|
1192
|
-
message: string;
|
|
1193
|
-
};
|
|
1194
|
-
workflow: {
|
|
1195
|
-
enabled: boolean;
|
|
1196
|
-
status: "unavailable";
|
|
1197
|
-
message: string;
|
|
1198
|
-
};
|
|
1199
|
-
realtime: {
|
|
1200
|
-
enabled: boolean;
|
|
1201
|
-
status: "unavailable";
|
|
1202
|
-
message: string;
|
|
1203
|
-
};
|
|
1204
|
-
notification: {
|
|
1205
|
-
enabled: boolean;
|
|
1206
|
-
status: "unavailable";
|
|
1207
|
-
message: string;
|
|
1208
|
-
};
|
|
1209
|
-
ai: {
|
|
1210
|
-
enabled: boolean;
|
|
1211
|
-
status: "unavailable";
|
|
1212
|
-
message: string;
|
|
1213
|
-
};
|
|
1214
|
-
i18n: {
|
|
1215
|
-
enabled: boolean;
|
|
1216
|
-
status: "unavailable";
|
|
1217
|
-
message: string;
|
|
1218
|
-
};
|
|
1219
|
-
graphql: {
|
|
1220
|
-
enabled: boolean;
|
|
1221
|
-
status: "unavailable";
|
|
1222
|
-
message: string;
|
|
1223
|
-
};
|
|
1224
|
-
'file-storage': {
|
|
1225
|
-
enabled: boolean;
|
|
1226
|
-
status: "unavailable";
|
|
1227
|
-
message: string;
|
|
1228
|
-
};
|
|
1229
|
-
search: {
|
|
1230
|
-
enabled: boolean;
|
|
1231
|
-
status: "unavailable";
|
|
1232
|
-
message: string;
|
|
1233
|
-
};
|
|
1143
|
+
ui?: string | undefined;
|
|
1144
|
+
auth?: string | undefined;
|
|
1145
|
+
automation?: string | undefined;
|
|
1146
|
+
storage?: string | undefined;
|
|
1147
|
+
analytics?: string | undefined;
|
|
1148
|
+
graphql?: string | undefined;
|
|
1149
|
+
packages?: string | undefined;
|
|
1150
|
+
workflow?: string | undefined;
|
|
1151
|
+
realtime?: string | undefined;
|
|
1152
|
+
notifications?: string | undefined;
|
|
1153
|
+
ai?: string | undefined;
|
|
1154
|
+
i18n?: string | undefined;
|
|
1234
1155
|
};
|
|
1156
|
+
services: Record<string, {
|
|
1157
|
+
enabled: boolean;
|
|
1158
|
+
status: "degraded" | "available" | "unavailable" | "stub";
|
|
1159
|
+
route?: string | undefined;
|
|
1160
|
+
provider?: string | undefined;
|
|
1161
|
+
message?: string | undefined;
|
|
1162
|
+
}>;
|
|
1235
1163
|
}>;
|
|
1236
1164
|
getMetaTypes(): Promise<{
|
|
1237
1165
|
types: string[];
|
|
@@ -1421,6 +1349,18 @@ declare class ObjectQL implements IDataEngine {
|
|
|
1421
1349
|
* the manifest contains UI navigation definitions (AppSchema).
|
|
1422
1350
|
*/
|
|
1423
1351
|
registerApp(manifest: any): void;
|
|
1352
|
+
/**
|
|
1353
|
+
* Register a nested plugin's metadata (objects, actions, views, etc.)
|
|
1354
|
+
*
|
|
1355
|
+
* Unlike registerApp(), this does NOT call SchemaRegistry.installPackage()
|
|
1356
|
+
* because plugins are not formal manifests — they are lightweight config
|
|
1357
|
+
* bundles with objects, actions, triggers, and navigation.
|
|
1358
|
+
*
|
|
1359
|
+
* @param plugin - The plugin config object
|
|
1360
|
+
* @param parentId - The parent package ID (for ownership tracking)
|
|
1361
|
+
* @param parentNamespace - The parent package's namespace (for FQN resolution)
|
|
1362
|
+
*/
|
|
1363
|
+
private registerPlugin;
|
|
1424
1364
|
/**
|
|
1425
1365
|
* Register a new storage driver
|
|
1426
1366
|
*/
|
|
@@ -1724,6 +1664,11 @@ declare class ObjectQLPlugin implements Plugin {
|
|
|
1724
1664
|
constructor(ql?: ObjectQL, hostContext?: Record<string, any>);
|
|
1725
1665
|
init: (ctx: PluginContext) => Promise<void>;
|
|
1726
1666
|
start: (ctx: PluginContext) => Promise<void>;
|
|
1667
|
+
/**
|
|
1668
|
+
* Load metadata from external metadata service into ObjectQL registry
|
|
1669
|
+
* This enables ObjectQL to use file-based or remote metadata
|
|
1670
|
+
*/
|
|
1671
|
+
private loadMetadataFromService;
|
|
1727
1672
|
}
|
|
1728
1673
|
|
|
1729
1674
|
export { DEFAULT_EXTENDER_PRIORITY, DEFAULT_OWNER_PRIORITY, type HookHandler, type ObjectContributor, ObjectQL, type ObjectQLHostContext, ObjectQLPlugin, ObjectStackProtocolImplementation, RESERVED_NAMESPACES, SchemaRegistry, computeFQN, parseFQN };
|