@objectstack/core 3.0.2 → 3.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 +15 -0
- package/dist/index.cjs +113 -2
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +64 -1
- package/dist/index.d.ts +64 -1
- package/dist/index.js +109 -2
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
- package/src/fallbacks/fallbacks.test.ts +158 -0
- package/src/fallbacks/index.ts +20 -0
- package/src/fallbacks/memory-cache.ts +34 -0
- package/src/fallbacks/memory-job.ts +23 -0
- package/src/fallbacks/memory-queue.ts +28 -0
- package/src/index.ts +3 -0
- package/src/kernel.ts +11 -2
package/.turbo/turbo-build.log
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
|
|
2
|
-
> @objectstack/core@3.0.
|
|
2
|
+
> @objectstack/core@3.0.4 build /home/runner/work/spec/spec/packages/core
|
|
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
|
-
[
|
|
14
|
-
[
|
|
15
|
-
[
|
|
16
|
-
[
|
|
17
|
-
[
|
|
18
|
-
[
|
|
13
|
+
[32mCJS[39m [1mdist/index.cjs [22m[32m138.85 KB[39m
|
|
14
|
+
[32mCJS[39m [1mdist/index.cjs.map [22m[32m287.67 KB[39m
|
|
15
|
+
[32mCJS[39m ⚡️ Build success in 96ms
|
|
16
|
+
[32mESM[39m [1mdist/index.js [22m[32m135.90 KB[39m
|
|
17
|
+
[32mESM[39m [1mdist/index.js.map [22m[32m286.19 KB[39m
|
|
18
|
+
[32mESM[39m ⚡️ Build success in 96ms
|
|
19
19
|
[34mDTS[39m Build start
|
|
20
|
-
[32mDTS[39m ⚡️ Build success in
|
|
21
|
-
[32mDTS[39m [1mdist/index.d.ts [22m[
|
|
22
|
-
[32mDTS[39m [1mdist/index.d.cts [22m[
|
|
20
|
+
[32mDTS[39m ⚡️ Build success in 3375ms
|
|
21
|
+
[32mDTS[39m [1mdist/index.d.ts [22m[32m54.89 KB[39m
|
|
22
|
+
[32mDTS[39m [1mdist/index.d.cts [22m[32m54.89 KB[39m
|
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,20 @@
|
|
|
1
1
|
# @objectstack/core
|
|
2
2
|
|
|
3
|
+
## 3.0.4
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- Updated dependencies [d738987]
|
|
8
|
+
- @objectstack/spec@3.0.4
|
|
9
|
+
|
|
10
|
+
## 3.0.3
|
|
11
|
+
|
|
12
|
+
### Patch Changes
|
|
13
|
+
|
|
14
|
+
- c7267f6: Patch release for maintenance updates and improvements.
|
|
15
|
+
- Updated dependencies [c7267f6]
|
|
16
|
+
- @objectstack/spec@3.0.3
|
|
17
|
+
|
|
3
18
|
## 3.0.2
|
|
4
19
|
|
|
5
20
|
### Patch Changes
|
package/dist/index.cjs
CHANGED
|
@@ -31,6 +31,7 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
31
31
|
var index_exports = {};
|
|
32
32
|
__export(index_exports, {
|
|
33
33
|
ApiRegistry: () => ApiRegistry,
|
|
34
|
+
CORE_FALLBACK_FACTORIES: () => CORE_FALLBACK_FACTORIES,
|
|
34
35
|
DependencyResolver: () => DependencyResolver,
|
|
35
36
|
HotReloadManager: () => HotReloadManager,
|
|
36
37
|
LiteKernel: () => LiteKernel,
|
|
@@ -51,6 +52,9 @@ __export(index_exports, {
|
|
|
51
52
|
ServiceLifecycle: () => ServiceLifecycle,
|
|
52
53
|
createApiRegistryPlugin: () => createApiRegistryPlugin,
|
|
53
54
|
createLogger: () => createLogger,
|
|
55
|
+
createMemoryCache: () => createMemoryCache,
|
|
56
|
+
createMemoryJob: () => createMemoryJob,
|
|
57
|
+
createMemoryQueue: () => createMemoryQueue,
|
|
54
58
|
createPluginConfigValidator: () => createPluginConfigValidator,
|
|
55
59
|
createPluginPermissionEnforcer: () => createPluginPermissionEnforcer,
|
|
56
60
|
getEnv: () => getEnv,
|
|
@@ -998,6 +1002,102 @@ var PluginLoader = class {
|
|
|
998
1002
|
}
|
|
999
1003
|
};
|
|
1000
1004
|
|
|
1005
|
+
// src/fallbacks/memory-cache.ts
|
|
1006
|
+
function createMemoryCache() {
|
|
1007
|
+
const store = /* @__PURE__ */ new Map();
|
|
1008
|
+
let hits = 0;
|
|
1009
|
+
let misses = 0;
|
|
1010
|
+
return {
|
|
1011
|
+
_fallback: true,
|
|
1012
|
+
_serviceName: "cache",
|
|
1013
|
+
async get(key) {
|
|
1014
|
+
const entry = store.get(key);
|
|
1015
|
+
if (!entry || entry.expires && Date.now() > entry.expires) {
|
|
1016
|
+
store.delete(key);
|
|
1017
|
+
misses++;
|
|
1018
|
+
return void 0;
|
|
1019
|
+
}
|
|
1020
|
+
hits++;
|
|
1021
|
+
return entry.value;
|
|
1022
|
+
},
|
|
1023
|
+
async set(key, value, ttl) {
|
|
1024
|
+
store.set(key, { value, expires: ttl ? Date.now() + ttl * 1e3 : void 0 });
|
|
1025
|
+
},
|
|
1026
|
+
async delete(key) {
|
|
1027
|
+
return store.delete(key);
|
|
1028
|
+
},
|
|
1029
|
+
async has(key) {
|
|
1030
|
+
return store.has(key);
|
|
1031
|
+
},
|
|
1032
|
+
async clear() {
|
|
1033
|
+
store.clear();
|
|
1034
|
+
},
|
|
1035
|
+
async stats() {
|
|
1036
|
+
return { hits, misses, keyCount: store.size };
|
|
1037
|
+
}
|
|
1038
|
+
};
|
|
1039
|
+
}
|
|
1040
|
+
|
|
1041
|
+
// src/fallbacks/memory-queue.ts
|
|
1042
|
+
function createMemoryQueue() {
|
|
1043
|
+
const handlers = /* @__PURE__ */ new Map();
|
|
1044
|
+
let msgId = 0;
|
|
1045
|
+
return {
|
|
1046
|
+
_fallback: true,
|
|
1047
|
+
_serviceName: "queue",
|
|
1048
|
+
async publish(queue, data) {
|
|
1049
|
+
const id = `fallback-msg-${++msgId}`;
|
|
1050
|
+
const fns = handlers.get(queue) ?? [];
|
|
1051
|
+
for (const fn of fns) fn({ id, data, attempts: 1, timestamp: Date.now() });
|
|
1052
|
+
return id;
|
|
1053
|
+
},
|
|
1054
|
+
async subscribe(queue, handler) {
|
|
1055
|
+
handlers.set(queue, [...handlers.get(queue) ?? [], handler]);
|
|
1056
|
+
},
|
|
1057
|
+
async unsubscribe(queue) {
|
|
1058
|
+
handlers.delete(queue);
|
|
1059
|
+
},
|
|
1060
|
+
async getQueueSize() {
|
|
1061
|
+
return 0;
|
|
1062
|
+
},
|
|
1063
|
+
async purge(queue) {
|
|
1064
|
+
handlers.delete(queue);
|
|
1065
|
+
}
|
|
1066
|
+
};
|
|
1067
|
+
}
|
|
1068
|
+
|
|
1069
|
+
// src/fallbacks/memory-job.ts
|
|
1070
|
+
function createMemoryJob() {
|
|
1071
|
+
const jobs = /* @__PURE__ */ new Map();
|
|
1072
|
+
return {
|
|
1073
|
+
_fallback: true,
|
|
1074
|
+
_serviceName: "job",
|
|
1075
|
+
async schedule(name, schedule, handler) {
|
|
1076
|
+
jobs.set(name, { schedule, handler });
|
|
1077
|
+
},
|
|
1078
|
+
async cancel(name) {
|
|
1079
|
+
jobs.delete(name);
|
|
1080
|
+
},
|
|
1081
|
+
async trigger(name, data) {
|
|
1082
|
+
const job = jobs.get(name);
|
|
1083
|
+
if (job?.handler) await job.handler({ jobId: name, data });
|
|
1084
|
+
},
|
|
1085
|
+
async getExecutions() {
|
|
1086
|
+
return [];
|
|
1087
|
+
},
|
|
1088
|
+
async listJobs() {
|
|
1089
|
+
return [...jobs.keys()];
|
|
1090
|
+
}
|
|
1091
|
+
};
|
|
1092
|
+
}
|
|
1093
|
+
|
|
1094
|
+
// src/fallbacks/index.ts
|
|
1095
|
+
var CORE_FALLBACK_FACTORIES = {
|
|
1096
|
+
cache: createMemoryCache,
|
|
1097
|
+
queue: createMemoryQueue,
|
|
1098
|
+
job: createMemoryJob
|
|
1099
|
+
};
|
|
1100
|
+
|
|
1001
1101
|
// src/kernel.ts
|
|
1002
1102
|
var ObjectKernel = class {
|
|
1003
1103
|
constructor(config = {}) {
|
|
@@ -1146,8 +1246,15 @@ var ObjectKernel = class {
|
|
|
1146
1246
|
this.logger.error(`CRITICAL: Required service missing: ${serviceName}`);
|
|
1147
1247
|
missingServices.push(serviceName);
|
|
1148
1248
|
} else if (criticality === "core") {
|
|
1149
|
-
|
|
1150
|
-
|
|
1249
|
+
const factory = CORE_FALLBACK_FACTORIES[serviceName];
|
|
1250
|
+
if (factory) {
|
|
1251
|
+
const fallback = factory();
|
|
1252
|
+
this.registerService(serviceName, fallback);
|
|
1253
|
+
this.logger.warn(`Service '${serviceName}' not provided \u2014 using in-memory fallback`);
|
|
1254
|
+
} else {
|
|
1255
|
+
this.logger.warn(`CORE: Core service missing, functionality may be degraded: ${serviceName}`);
|
|
1256
|
+
missingCoreServices.push(serviceName);
|
|
1257
|
+
}
|
|
1151
1258
|
} else {
|
|
1152
1259
|
this.logger.info(`Info: Optional service not present: ${serviceName}`);
|
|
1153
1260
|
}
|
|
@@ -4395,6 +4502,7 @@ var DependencyResolver = class {
|
|
|
4395
4502
|
// Annotate the CommonJS export names for ESM import in node:
|
|
4396
4503
|
0 && (module.exports = {
|
|
4397
4504
|
ApiRegistry,
|
|
4505
|
+
CORE_FALLBACK_FACTORIES,
|
|
4398
4506
|
DependencyResolver,
|
|
4399
4507
|
HotReloadManager,
|
|
4400
4508
|
LiteKernel,
|
|
@@ -4415,6 +4523,9 @@ var DependencyResolver = class {
|
|
|
4415
4523
|
ServiceLifecycle,
|
|
4416
4524
|
createApiRegistryPlugin,
|
|
4417
4525
|
createLogger,
|
|
4526
|
+
createMemoryCache,
|
|
4527
|
+
createMemoryJob,
|
|
4528
|
+
createMemoryQueue,
|
|
4418
4529
|
createPluginConfigValidator,
|
|
4419
4530
|
createPluginPermissionEnforcer,
|
|
4420
4531
|
getEnv,
|