@holo-js/core 0.1.3 → 0.1.5

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.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { GeneratedProjectRegistry, HoloRuntime, HoloSessionRuntimeBinding, HoloAuthRuntimeBinding, CreateHoloOptions } from './runtime/index.js';
2
- export { HoloQueueRuntimeBinding, HoloServerViewRenderInput, HoloServerViewRenderer, configureHoloRenderingRuntime, createHolo, ensureHolo, getHolo, holoRuntimeInternals, initializeHolo, loadGeneratedBroadcastManifest, loadGeneratedProjectRegistry, peekHolo, reconfigureOptionalHoloSubsystems, registryInternals, resetHoloRenderingRuntime, resetHoloRuntime, resetOptionalHoloSubsystems, resolveGeneratedProjectRegistryPath } from './runtime/index.js';
2
+ export { GeneratedBroadcastManifest, GeneratedBroadcastManifestChannel, GeneratedBroadcastManifestEvent, HoloQueueRuntimeBinding, HoloServerViewRenderInput, HoloServerViewRenderer, configureHoloRenderingRuntime, createHolo, ensureHolo, getHolo, holoRuntimeInternals, initializeHolo, loadGeneratedBroadcastManifest, loadGeneratedProjectRegistry, peekHolo, reconfigureOptionalHoloSubsystems, registryInternals, resetHoloRenderingRuntime, resetHoloRuntime, resetOptionalHoloSubsystems, resolveGeneratedProjectRegistryPath } from './runtime/index.js';
3
3
  import { HoloConfigMap, LoadedHoloConfig, DotPath, ValueAtPath } from '@holo-js/config';
4
4
  export { createRuntimeConnectionOptions, resolveRuntimeConnectionManagerOptions } from '@holo-js/db';
5
5
 
package/dist/index.mjs CHANGED
@@ -17,11 +17,11 @@ import {
17
17
  resolveGeneratedProjectRegistryPath,
18
18
  resolveRuntimeConnectionManagerOptions,
19
19
  resolveStorageKeyPath
20
- } from "./chunk-AD2ZYGLN.mjs";
20
+ } from "./chunk-5ZJO35LB.mjs";
21
21
 
22
22
  // src/adapter.ts
23
- import { readdir, stat } from "fs/promises";
24
- import { extname, join, resolve } from "path";
23
+ import { readdir, stat } from "node:fs/promises";
24
+ import { extname, join, resolve } from "node:path";
25
25
  import { configureConfigRuntime, resolveEnvironmentFileOrder } from "@holo-js/config";
26
26
  import { configureDB } from "@holo-js/db";
27
27
  var HOLO_MINIMUM_ADAPTER_CAPABILITIES = Object.freeze({
@@ -75,12 +75,15 @@ async function resolveProjectSourceSignature(projectRoot, envName) {
75
75
  function resolveHoloFrameworkOptions(options = {}) {
76
76
  const processEnv = options.processEnv ?? process.env;
77
77
  return {
78
- projectRoot: resolve(options.projectRoot ?? process.cwd()),
78
+ projectRoot: resolve(options.projectRoot ?? /* turbopackIgnore: true */
79
+ process.cwd()),
79
80
  runtime: {
80
81
  envName: options.envName,
81
82
  preferCache: options.preferCache ?? processEnv.NODE_ENV === "production",
82
83
  processEnv,
83
84
  renderView: options.renderView,
85
+ authRequest: options.authRequest,
86
+ authorizationError: options.authorizationError,
84
87
  registerProjectQueueJobs: options.registerProjectQueueJobs
85
88
  }
86
89
  };
@@ -111,6 +114,12 @@ function createHoloProjectAccessors(resolveProject) {
111
114
  async function initializeSingletonFrameworkProject(stateKey, displayName, options, createProject) {
112
115
  const resolved = resolveHoloFrameworkOptions(options);
113
116
  const state = getFrameworkAdapterStateContainer(stateKey);
117
+ if (state.initialization) {
118
+ if (state.initialization.projectRoot !== resolved.projectRoot) {
119
+ throw new Error(`${displayName} Holo project already initialized for "${state.initialization.projectRoot}".`);
120
+ }
121
+ return state.initialization.promise;
122
+ }
114
123
  if (state.project) {
115
124
  if (state.projectRoot !== resolved.projectRoot) {
116
125
  throw new Error(`${displayName} Holo project already initialized for "${state.projectRoot}".`);
@@ -135,10 +144,11 @@ async function initializeSingletonFrameworkProject(stateKey, displayName, option
135
144
  configureConfigRuntime(currentRuntime.loadedConfig.all);
136
145
  configureDB(currentRuntime.manager);
137
146
  await reconfigureOptionalHoloSubsystems(state.project.projectRoot, currentRuntime.loadedConfig, {
138
- renderView: resolved.runtime.renderView
147
+ renderView: resolved.runtime.renderView,
148
+ authRequest: resolved.runtime.authRequest,
149
+ authorizationError: resolved.runtime.authorizationError
139
150
  });
140
151
  if (state.project.runtime !== currentRuntime) {
141
- ;
142
152
  state.project = {
143
153
  ...state.project,
144
154
  config: currentRuntime.loadedConfig,
@@ -148,20 +158,38 @@ async function initializeSingletonFrameworkProject(stateKey, displayName, option
148
158
  }
149
159
  return state.project;
150
160
  }
151
- ;
152
161
  state.project = void 0;
153
162
  }
154
- const project = await createProject(resolved);
155
163
  state.projectRoot = resolved.projectRoot;
156
- state.project = project;
157
- state.sourceSignature = resolved.runtime.preferCache === false ? await resolveProjectSourceSignature(resolved.projectRoot, project.config.environment.name) : void 0;
158
- return project;
164
+ const initialization = Promise.resolve().then(() => createProject(resolved)).then(async (project) => {
165
+ state.projectRoot = resolved.projectRoot;
166
+ state.project = project;
167
+ state.sourceSignature = resolved.runtime.preferCache === false ? await resolveProjectSourceSignature(resolved.projectRoot, project.config.environment.name) : void 0;
168
+ return project;
169
+ }).catch((error) => {
170
+ if (state.initialization?.promise === initialization) {
171
+ state.project = void 0;
172
+ state.projectRoot = void 0;
173
+ state.sourceSignature = void 0;
174
+ }
175
+ throw error;
176
+ }).finally(() => {
177
+ if (state.initialization?.promise === initialization) {
178
+ state.initialization = void 0;
179
+ }
180
+ });
181
+ state.initialization = {
182
+ projectRoot: resolved.projectRoot,
183
+ promise: initialization
184
+ };
185
+ return initialization;
159
186
  }
160
187
  async function resetSingletonFrameworkProject(stateKey) {
161
188
  const state = getFrameworkAdapterStateContainer(stateKey);
162
189
  state.project = void 0;
163
190
  state.projectRoot = void 0;
164
191
  state.sourceSignature = void 0;
192
+ state.initialization = void 0;
165
193
  await resetOptionalHoloSubsystems();
166
194
  await resetHoloRuntime();
167
195
  }
@@ -210,7 +238,9 @@ async function initializeHoloAdapterProject(projectRoot, options = {}) {
210
238
  const project = await createHoloAdapterProject(projectRoot, options);
211
239
  const runtime = await ensureHolo(project.projectRoot, options);
212
240
  await reconfigureOptionalHoloSubsystems(project.projectRoot, runtime.loadedConfig, {
213
- renderView: options.renderView
241
+ renderView: options.renderView,
242
+ authRequest: options.authRequest,
243
+ authorizationError: options.authorizationError
214
244
  });
215
245
  return {
216
246
  ...project,
@@ -1,4 +1,4 @@
1
- import { HoloConfigMap, LoadedHoloConfig, DotPath, ValueAtPath } from '@holo-js/config';
1
+ import { HoloConfigMap, LoadedHoloConfig, DotPath, ValueAtPath, AuthHostedIdentityStore } from '@holo-js/config';
2
2
  import { resolveRuntimeConnectionManagerOptions } from '@holo-js/db';
3
3
  export { RuntimeConfigInput, RuntimeConnectionConfig, RuntimeDatabaseConfig, RuntimeHoloConfig, SupportedDatabaseDriver, createAdapter, createDialect, createRuntimeConnectionOptions, createRuntimeLogger, isSupportedDatabaseDriver, parseDatabaseDriver, resolveRuntimeConnectionManagerOptions } from '@holo-js/db';
4
4
 
@@ -147,6 +147,33 @@ interface CoreNotificationDatabaseRoute {
147
147
  readonly id: string | number;
148
148
  readonly type: string;
149
149
  }
150
+ type HoloAuthResult<TData> = {
151
+ readonly data: TData;
152
+ readonly error: null;
153
+ } | {
154
+ readonly data: null;
155
+ readonly error: {
156
+ readonly code: string;
157
+ readonly message: string;
158
+ readonly status: number;
159
+ readonly fields: Readonly<Partial<Record<string, readonly string[]>>>;
160
+ };
161
+ };
162
+ type CoreHostedIdentityRecord = {
163
+ readonly provider: string;
164
+ readonly providerUserId: string;
165
+ readonly guard: string;
166
+ readonly authProvider: string;
167
+ readonly userId: string | number;
168
+ readonly email?: string;
169
+ readonly emailVerified: boolean;
170
+ readonly profile: Readonly<Record<string, unknown>>;
171
+ readonly linkedAt: Date;
172
+ readonly updatedAt: Date;
173
+ };
174
+ type CoreHostedIdentityStore = AuthHostedIdentityStore & {
175
+ claim(record: CoreHostedIdentityRecord): Promise<CoreHostedIdentityRecord>;
176
+ };
150
177
  interface CoreNotificationRecord<TData extends CoreNotificationJsonValue = CoreNotificationJsonValue> {
151
178
  readonly id: string;
152
179
  readonly type?: string;
@@ -207,13 +234,13 @@ interface HoloAuthRuntimeBinding {
207
234
  login(credentials: Readonly<Record<string, unknown>> & {
208
235
  readonly password: string;
209
236
  readonly remember?: boolean;
210
- }): Promise<{
237
+ }): Promise<HoloAuthResult<{
211
238
  readonly guard: string;
212
239
  readonly user: unknown;
213
240
  readonly sessionId: string;
214
241
  readonly rememberToken?: string;
215
242
  readonly cookies: readonly string[];
216
- }>;
243
+ }>>;
217
244
  loginUsing(user: unknown, options?: {
218
245
  readonly remember?: boolean;
219
246
  }): Promise<{
@@ -262,7 +289,7 @@ interface HoloAuthRuntimeBinding {
262
289
  readonly password: string;
263
290
  readonly passwordConfirmation: string;
264
291
  readonly remember?: boolean;
265
- }): Promise<unknown>;
292
+ }): Promise<HoloAuthResult<unknown>>;
266
293
  logoutAll(guardName?: string): Promise<readonly {
267
294
  readonly guard: string;
268
295
  readonly cookies: readonly string[];
@@ -276,13 +303,13 @@ interface HoloAuthRuntimeBinding {
276
303
  login(credentials: Readonly<Record<string, unknown>> & {
277
304
  readonly password: string;
278
305
  readonly remember?: boolean;
279
- }): Promise<{
306
+ }): Promise<HoloAuthResult<{
280
307
  readonly guard: string;
281
308
  readonly user: unknown;
282
309
  readonly sessionId: string;
283
310
  readonly rememberToken?: string;
284
311
  readonly cookies: readonly string[];
285
- }>;
312
+ }>>;
286
313
  loginUsing(user: unknown, options?: {
287
314
  readonly remember?: boolean;
288
315
  }): Promise<{
@@ -352,19 +379,33 @@ interface HoloAuthRuntimeBinding {
352
379
  readonly guard?: string;
353
380
  readonly expiresAt?: Date;
354
381
  }): Promise<unknown>;
355
- consume(plainTextToken: string): Promise<unknown>;
356
- };
357
- passwords: {
358
- request(email: string, options?: {
359
- readonly broker?: string;
382
+ resend(options?: {
383
+ readonly guard?: string;
360
384
  readonly expiresAt?: Date;
361
- }): Promise<void>;
362
- consume(input: {
363
- readonly token: string;
364
- readonly password: string;
365
- readonly passwordConfirmation: string;
366
- }): Promise<unknown>;
385
+ readonly email?: string;
386
+ }): Promise<HoloAuthResult<unknown>>;
387
+ consume(plainTextToken: string): Promise<HoloAuthResult<unknown>>;
367
388
  };
389
+ verifyEmail(token: string): Promise<HoloAuthResult<unknown>>;
390
+ sendEmailVerification(email?: string, options?: {
391
+ readonly guard?: string;
392
+ readonly expiresAt?: Date;
393
+ }): Promise<HoloAuthResult<unknown>>;
394
+ resendEmailVerification(email?: string, options?: {
395
+ readonly guard?: string;
396
+ readonly expiresAt?: Date;
397
+ }): Promise<HoloAuthResult<unknown>>;
398
+ requestPasswordReset(input: {
399
+ readonly email: string;
400
+ }, options?: {
401
+ readonly broker?: string;
402
+ readonly expiresAt?: Date;
403
+ }): Promise<HoloAuthResult<void>>;
404
+ resetPassword(input: {
405
+ readonly token: string;
406
+ readonly password: string;
407
+ readonly passwordConfirmation: string;
408
+ }): Promise<HoloAuthResult<unknown>>;
368
409
  }
369
410
  interface HoloQueueRuntimeBinding {
370
411
  readonly config: LoadedHoloConfig['queue'];
@@ -623,6 +664,10 @@ type AuthorizationModule = {
623
664
  hasGuard(guardName: string): boolean;
624
665
  resolveDefaultActor(): Promise<object | null> | object | null;
625
666
  resolveGuardActor(guardName: string): Promise<object | null> | object | null;
667
+ createError?(decision: {
668
+ readonly message?: string;
669
+ readonly status: 200 | 403 | 404;
670
+ }): Error;
626
671
  };
627
672
  registerPolicyDefinition?(definition: unknown): unknown;
628
673
  registerAbilityDefinition?(definition: unknown): unknown;
@@ -630,6 +675,10 @@ type AuthorizationModule = {
630
675
  hasGuard(guardName: string): boolean;
631
676
  resolveDefaultActor(): Promise<object | null> | object | null;
632
677
  resolveGuardActor(guardName: string): Promise<object | null> | object | null;
678
+ createError?(decision: {
679
+ readonly message?: string;
680
+ readonly status: 200 | 403 | 404;
681
+ }): Error;
633
682
  }): void;
634
683
  resetAuthorizationAuthIntegration(): void;
635
684
  resetAuthorizationRuntimeState(): void;
@@ -651,6 +700,18 @@ interface CreateHoloOptions {
651
700
  readonly processEnv?: NodeJS.ProcessEnv;
652
701
  readonly registerProjectQueueJobs?: boolean;
653
702
  readonly renderView?: HoloServerViewRenderer;
703
+ readonly authRequest?: {
704
+ readonly getCookie?: (name: string) => string | undefined | Promise<string | undefined>;
705
+ readonly getHeader?: (name: string) => string | undefined | Promise<string | undefined>;
706
+ readonly appendResponseCookie?: (cookie: string) => void | Promise<void>;
707
+ readonly redirectResponse?: (url: string, status?: 301 | 302 | 303 | 307 | 308) => void | Promise<void>;
708
+ };
709
+ readonly authorizationError?: {
710
+ readonly createError?: (decision: {
711
+ readonly message?: string;
712
+ readonly status: 200 | 403 | 404;
713
+ }) => Error;
714
+ };
654
715
  }
655
716
  interface HoloRuntime<TCustom extends HoloConfigMap = HoloConfigMap> {
656
717
  readonly projectRoot: string;
@@ -675,9 +736,6 @@ declare function resetHoloRenderingRuntime(): void;
675
736
  declare function importOptionalModule<TModule>(specifier: string, options?: {
676
737
  readonly projectRoot?: string;
677
738
  }): Promise<TModule | undefined>;
678
- declare function bindAuthRuntimeToContext(runtime: HoloAuthRuntimeBinding, authContext: {
679
- activate(): void;
680
- }): HoloAuthRuntimeBinding;
681
739
  declare function loadAuthorizationModule(required?: boolean): Promise<AuthorizationModule | undefined>;
682
740
  declare function resolveAuthorizationDefinitionExport(moduleValue: unknown, exportName: string | undefined, matcher: (value: unknown) => boolean): unknown | undefined;
683
741
  declare function normalizeNotificationRecordFromRow(row: Record<string, unknown>): CoreNotificationRecord<CoreNotificationJsonValue>;
@@ -698,7 +756,7 @@ declare function createCoreSessionStores<TCustom extends HoloConfigMap>(projectR
698
756
  delete(sessionId: string): Promise<void>;
699
757
  }>>>;
700
758
  declare function createCoreNotificationStore<TCustom extends HoloConfigMap>(loadedConfig: LoadedHoloConfig<TCustom>): CoreNotificationStore;
701
- declare function createAuthNotificationsDeliveryHook(notificationsModule: NotificationsModule): {
759
+ declare function createAuthNotificationsDeliveryHook(notificationsModule: NotificationsModule, appUrl: string, projectRoot?: string): {
702
760
  sendEmailVerification(input: {
703
761
  readonly provider: string;
704
762
  readonly user: unknown;
@@ -708,8 +766,10 @@ declare function createAuthNotificationsDeliveryHook(notificationsModule: Notifi
708
766
  readonly plainTextToken: string;
709
767
  readonly expiresAt: Date;
710
768
  };
769
+ readonly route: string;
711
770
  }): Promise<void>;
712
771
  sendPasswordReset(input: {
772
+ readonly broker: string;
713
773
  readonly provider: string;
714
774
  readonly email: string;
715
775
  readonly token: {
@@ -717,6 +777,7 @@ declare function createAuthNotificationsDeliveryHook(notificationsModule: Notifi
717
777
  readonly plainTextToken: string;
718
778
  readonly expiresAt: Date;
719
779
  };
780
+ readonly route: string;
720
781
  }): Promise<void>;
721
782
  };
722
783
  declare function createCoreNotificationBroadcaster(broadcastModule: BroadcastModule): {
@@ -755,7 +816,7 @@ declare function createCoreNotificationMailSender(mailModule: MailModule): {
755
816
  };
756
817
  }): Promise<void>;
757
818
  };
758
- declare function createAuthMailDeliveryHook(mailModule: MailModule): {
819
+ declare function createAuthMailDeliveryHook(mailModule: MailModule, appUrl: string): {
759
820
  sendEmailVerification(input: {
760
821
  readonly provider: string;
761
822
  readonly user: unknown;
@@ -765,8 +826,10 @@ declare function createAuthMailDeliveryHook(mailModule: MailModule): {
765
826
  readonly plainTextToken: string;
766
827
  readonly expiresAt: Date;
767
828
  };
829
+ readonly route: string;
768
830
  }): Promise<void>;
769
831
  sendPasswordReset(input: {
832
+ readonly broker: string;
770
833
  readonly provider: string;
771
834
  readonly email: string;
772
835
  readonly token: {
@@ -774,6 +837,7 @@ declare function createAuthMailDeliveryHook(mailModule: MailModule): {
774
837
  readonly plainTextToken: string;
775
838
  readonly expiresAt: Date;
776
839
  };
840
+ readonly route: string;
777
841
  }): Promise<void>;
778
842
  };
779
843
  declare function loadConfiguredSocialProviders<TCustom extends HoloConfigMap>(projectRootOrLoadedConfig: string | LoadedHoloConfig<TCustom>, maybeLoadedConfig?: LoadedHoloConfig<TCustom>): Promise<Readonly<Record<string, unknown>>>;
@@ -805,6 +869,7 @@ declare function createCoreSocialBindings<TCustom extends HoloConfigMap>(project
805
869
  readonly state: string;
806
870
  readonly codeVerifier: string;
807
871
  readonly guard: string;
872
+ readonly browserBinding?: string;
808
873
  readonly createdAt: Date;
809
874
  }): Promise<void>;
810
875
  read(provider: string, state: string): Promise<{
@@ -812,6 +877,7 @@ declare function createCoreSocialBindings<TCustom extends HoloConfigMap>(project
812
877
  readonly state: string;
813
878
  readonly codeVerifier: string;
814
879
  readonly guard: string;
880
+ readonly browserBinding?: string;
815
881
  readonly createdAt: Date;
816
882
  } | null>;
817
883
  delete(provider: string, state: string): Promise<void>;
@@ -822,11 +888,7 @@ declare function createCoreSocialBindings<TCustom extends HoloConfigMap>(project
822
888
  };
823
889
  }>;
824
890
  declare function fromHostedIdentityProviderValue(namespace: string, provider: string): string;
825
- declare function createCoreHostedIdentityStore(namespace: string): {
826
- findByProviderUserId(provider: string, providerUserId: string): Promise<unknown | null>;
827
- findByUserId(provider: string, authProvider: string, userId: string | number): Promise<unknown | null>;
828
- save(record: unknown): Promise<void>;
829
- };
891
+ declare function createCoreHostedIdentityStore(namespace: string): CoreHostedIdentityStore;
830
892
  declare function createCoreAuthStores<TCustom extends HoloConfigMap>(loadedConfig: LoadedHoloConfig<TCustom>): {
831
893
  readonly tokens: {
832
894
  create(record: unknown): Promise<void>;
@@ -864,12 +926,15 @@ declare function registerProjectAuthorizationDefinitions(projectRoot: string, re
864
926
  declare function unregisterProjectAuthorizationDefinitions(authorizationModule: AuthorizationModule | undefined, policyNames: readonly string[], abilityNames: readonly string[]): void;
865
927
  declare function reconfigureOptionalHoloSubsystems<TCustom extends HoloConfigMap = HoloConfigMap>(projectRoot: string, loadedConfig: LoadedHoloConfig<TCustom>, options?: {
866
928
  readonly renderView?: HoloServerViewRenderer;
929
+ readonly authRequest?: CreateHoloOptions['authRequest'];
930
+ readonly authorizationError?: CreateHoloOptions['authorizationError'];
867
931
  }): Promise<{
868
932
  readonly queueModule?: QueueModule;
869
933
  readonly session?: HoloSessionRuntimeBinding;
870
934
  readonly auth?: HoloAuthRuntimeBinding;
871
935
  readonly authContext?: {
872
936
  activate(): void;
937
+ setRequestAccessors?(accessors?: CreateHoloOptions['authRequest']): void;
873
938
  };
874
939
  }>;
875
940
  declare function resetOptionalHoloSubsystems(): Promise<void>;
@@ -886,7 +951,6 @@ declare const holoRuntimeInternals: {
886
951
  createAuthNotificationsDeliveryHook: typeof createAuthNotificationsDeliveryHook;
887
952
  createCoreNotificationBroadcaster: typeof createCoreNotificationBroadcaster;
888
953
  createCoreNotificationMailSender: typeof createCoreNotificationMailSender;
889
- bindAuthRuntimeToContext: typeof bindAuthRuntimeToContext;
890
954
  createCoreAuthProviders: typeof createCoreAuthProviders;
891
955
  createCoreAuthStores: typeof createCoreAuthStores;
892
956
  createCoreHostedIdentityStore: typeof createCoreHostedIdentityStore;
@@ -22,7 +22,7 @@ import {
22
22
  resetOptionalHoloSubsystems,
23
23
  resolveGeneratedProjectRegistryPath,
24
24
  resolveRuntimeConnectionManagerOptions
25
- } from "../chunk-AD2ZYGLN.mjs";
25
+ } from "../chunk-5ZJO35LB.mjs";
26
26
  export {
27
27
  configureHoloRenderingRuntime,
28
28
  createAdapter,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@holo-js/core",
3
- "version": "0.1.3",
3
+ "version": "0.1.5",
4
4
  "description": "Holo-JS Framework - Portable runtime core",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -28,22 +28,26 @@
28
28
  "test": "vitest --run"
29
29
  },
30
30
  "dependencies": {
31
- "@holo-js/config": "^0.1.3",
32
- "@holo-js/db": "^0.1.3",
31
+ "@holo-js/config": "^0.1.5",
32
+ "@holo-js/db": "^0.1.5",
33
33
  "esbuild": "^0.27.4"
34
34
  },
35
35
  "peerDependencies": {
36
- "@holo-js/auth": "^0.1.3",
37
- "@holo-js/auth-clerk": "^0.1.3",
38
- "@holo-js/auth-social": "^0.1.3",
39
- "@holo-js/auth-workos": "^0.1.3",
40
- "@holo-js/authorization": "^0.1.3",
41
- "@holo-js/mail": "^0.1.3",
42
- "@holo-js/notifications": "^0.1.3",
43
- "@holo-js/queue": "^0.1.3",
44
- "@holo-js/security": "^0.1.3",
45
- "@holo-js/session": "^0.1.3",
46
- "@holo-js/storage": "^0.1.3"
36
+ "@holo-js/auth": "^0.1.5",
37
+ "@holo-js/auth-clerk": "^0.1.5",
38
+ "@holo-js/auth-social": "^0.1.5",
39
+ "@holo-js/auth-workos": "^0.1.5",
40
+ "@holo-js/authorization": "^0.1.5",
41
+ "@holo-js/broadcast": "^0.1.5",
42
+ "@holo-js/cache": "^0.1.5",
43
+ "@holo-js/events": "^0.1.5",
44
+ "@holo-js/mail": "^0.1.5",
45
+ "@holo-js/notifications": "^0.1.5",
46
+ "@holo-js/queue": "^0.1.5",
47
+ "@holo-js/queue-db": "^0.1.5",
48
+ "@holo-js/security": "^0.1.5",
49
+ "@holo-js/session": "^0.1.5",
50
+ "@holo-js/storage": "^0.1.5"
47
51
  },
48
52
  "peerDependenciesMeta": {
49
53
  "@holo-js/auth": {
@@ -61,6 +65,15 @@
61
65
  "@holo-js/authorization": {
62
66
  "optional": true
63
67
  },
68
+ "@holo-js/broadcast": {
69
+ "optional": true
70
+ },
71
+ "@holo-js/cache": {
72
+ "optional": true
73
+ },
74
+ "@holo-js/events": {
75
+ "optional": true
76
+ },
64
77
  "@holo-js/mail": {
65
78
  "optional": true
66
79
  },
@@ -70,6 +83,9 @@
70
83
  "@holo-js/queue": {
71
84
  "optional": true
72
85
  },
86
+ "@holo-js/queue-db": {
87
+ "optional": true
88
+ },
73
89
  "@holo-js/security": {
74
90
  "optional": true
75
91
  },
@@ -81,17 +97,18 @@
81
97
  }
82
98
  },
83
99
  "devDependencies": {
84
- "@holo-js/auth": "^0.1.3",
85
- "@holo-js/authorization": "^0.1.3",
86
- "@holo-js/events": "^0.1.3",
87
- "@holo-js/mail": "^0.1.3",
88
- "@holo-js/notifications": "^0.1.3",
89
- "@holo-js/queue-db": "^0.1.3",
90
- "@holo-js/session": "^0.1.3",
91
- "@holo-js/storage": "^0.1.3",
100
+ "@holo-js/auth": "^0.1.5",
101
+ "@holo-js/auth-social-google": "^0.1.5",
102
+ "@holo-js/authorization": "^0.1.5",
103
+ "@holo-js/events": "^0.1.5",
104
+ "@holo-js/mail": "^0.1.5",
105
+ "@holo-js/notifications": "^0.1.5",
106
+ "@holo-js/queue-db": "^0.1.5",
107
+ "@holo-js/session": "^0.1.5",
108
+ "@holo-js/storage": "^0.1.5",
92
109
  "@types/node": "^22.10.2",
93
110
  "tsup": "^8.3.5",
94
111
  "typescript": "^5.7.2",
95
- "vitest": "^2.1.8"
112
+ "vitest": "^4.1.5"
96
113
  }
97
114
  }