@objectstack/core 15.0.0 → 15.1.1

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/dist/index.cjs CHANGED
@@ -30,6 +30,10 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
30
30
  // src/index.ts
31
31
  var index_exports = {};
32
32
  __export(index_exports, {
33
+ ANONYMOUS_DENY_BODY: () => ANONYMOUS_DENY_BODY,
34
+ ANONYMOUS_DENY_CODE: () => ANONYMOUS_DENY_CODE,
35
+ ANONYMOUS_DENY_MESSAGE: () => ANONYMOUS_DENY_MESSAGE,
36
+ ANONYMOUS_DENY_STATUS: () => ANONYMOUS_DENY_STATUS,
33
37
  API_KEY_PREFIX: () => API_KEY_PREFIX,
34
38
  ApiRegistry: () => ApiRegistry,
35
39
  CORE_FALLBACK_FACTORIES: () => CORE_FALLBACK_FACTORIES,
@@ -94,6 +98,7 @@ __export(index_exports, {
94
98
  resolveLocale: () => resolveLocale,
95
99
  resolveLocalizationContext: () => resolveLocalizationContext,
96
100
  safeExit: () => safeExit,
101
+ shouldDenyAnonymous: () => shouldDenyAnonymous,
97
102
  signPayload: () => signPayload,
98
103
  verifyPayload: () => verifyPayload,
99
104
  verifyPlatformSignature: () => verifyPlatformSignature,
@@ -1642,6 +1647,8 @@ var ObjectKernel = class {
1642
1647
  this.validateSystemRequirements();
1643
1648
  this.logger.debug("Triggering kernel:ready hook");
1644
1649
  await this.context.trigger("kernel:ready");
1650
+ this.logger.debug("Triggering kernel:bootstrapped hook");
1651
+ await this.context.trigger("kernel:bootstrapped");
1645
1652
  this.logger.debug("Triggering kernel:listening hook");
1646
1653
  await this.context.trigger("kernel:listening");
1647
1654
  this.logger.info("\u2705 Bootstrap complete");
@@ -1925,6 +1932,7 @@ var LiteKernel = class extends ObjectKernelBase {
1925
1932
  await this.runPluginStart(plugin);
1926
1933
  }
1927
1934
  await this.triggerHook("kernel:ready");
1935
+ await this.triggerHook("kernel:bootstrapped");
1928
1936
  await this.triggerHook("kernel:listening");
1929
1937
  this.logger.info("\u2705 Bootstrap complete", {
1930
1938
  pluginCount: this.plugins.size
@@ -4539,6 +4547,26 @@ function evaluateAuthGate(sessionUser, path) {
4539
4547
  };
4540
4548
  }
4541
4549
 
4550
+ // src/security/anonymous-deny.ts
4551
+ var ANONYMOUS_DENY_STATUS = 401;
4552
+ var ANONYMOUS_DENY_CODE = "unauthenticated";
4553
+ var ANONYMOUS_DENY_MESSAGE = "Authentication is required to access this endpoint.";
4554
+ var ANONYMOUS_DENY_BODY = {
4555
+ error: ANONYMOUS_DENY_CODE,
4556
+ message: ANONYMOUS_DENY_MESSAGE
4557
+ };
4558
+ function shouldDenyAnonymous(input) {
4559
+ if (!input.requireAuth) return false;
4560
+ if (typeof input.method === "string" && input.method.toUpperCase() === "OPTIONS") {
4561
+ return false;
4562
+ }
4563
+ if (input.userId || input.isSystem) return false;
4564
+ if (typeof input.path === "string" && input.path.length > 0 && isAuthGateAllowlisted(input.path)) {
4565
+ return false;
4566
+ }
4567
+ return true;
4568
+ }
4569
+
4542
4570
  // src/utils/datetime.ts
4543
4571
  function calendarPartsInTz(d, tz) {
4544
4572
  const parts = new Intl.DateTimeFormat("en-US", {
@@ -5560,6 +5588,10 @@ var NamespaceResolver = class {
5560
5588
  };
5561
5589
  // Annotate the CommonJS export names for ESM import in node:
5562
5590
  0 && (module.exports = {
5591
+ ANONYMOUS_DENY_BODY,
5592
+ ANONYMOUS_DENY_CODE,
5593
+ ANONYMOUS_DENY_MESSAGE,
5594
+ ANONYMOUS_DENY_STATUS,
5563
5595
  API_KEY_PREFIX,
5564
5596
  ApiRegistry,
5565
5597
  CORE_FALLBACK_FACTORIES,
@@ -5624,6 +5656,7 @@ var NamespaceResolver = class {
5624
5656
  resolveLocale,
5625
5657
  resolveLocalizationContext,
5626
5658
  safeExit,
5659
+ shouldDenyAnonymous,
5627
5660
  signPayload,
5628
5661
  verifyPayload,
5629
5662
  verifyPlatformSignature,