@luxexchange/sessions 1.0.0 → 1.0.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.
Files changed (47) hide show
  1. package/package.json +3 -3
  2. package/project.json +1 -1
  3. package/src/challenge-solvers/createChallengeSolverService.ts +5 -5
  4. package/src/challenge-solvers/createHashcashMockSolver.ts +1 -1
  5. package/src/challenge-solvers/createHashcashSolver.test.ts +4 -4
  6. package/src/challenge-solvers/createHashcashSolver.ts +4 -4
  7. package/src/challenge-solvers/createTurnstileMockSolver.ts +1 -1
  8. package/src/challenge-solvers/createTurnstileSolver.ts +5 -5
  9. package/src/challenge-solvers/hashcash/core.native.ts +4 -4
  10. package/src/challenge-solvers/hashcash/core.ts +4 -4
  11. package/src/challenge-solvers/hashcash/core.web.ts +4 -4
  12. package/src/challenge-solvers/hashcash/createWorkerHashcashSolver.test.ts +3 -3
  13. package/src/challenge-solvers/hashcash/createWorkerHashcashSolver.ts +4 -4
  14. package/src/challenge-solvers/hashcash/worker/createHashcashMultiWorkerChannel.native.ts +2 -2
  15. package/src/challenge-solvers/hashcash/worker/createHashcashMultiWorkerChannel.ts +2 -2
  16. package/src/challenge-solvers/hashcash/worker/createHashcashMultiWorkerChannel.web.ts +2 -2
  17. package/src/challenge-solvers/hashcash/worker/createHashcashWorkerChannel.native.ts +2 -2
  18. package/src/challenge-solvers/hashcash/worker/createHashcashWorkerChannel.ts +2 -2
  19. package/src/challenge-solvers/hashcash/worker/createHashcashWorkerChannel.web.ts +2 -2
  20. package/src/challenge-solvers/hashcash/worker/types.ts +1 -1
  21. package/src/challenge-solvers/turnstileErrors.ts +1 -1
  22. package/src/challenge-solvers/turnstileScriptLoader.ts +2 -2
  23. package/src/challenge-solvers/turnstileSolver.integration.test.ts +3 -3
  24. package/src/challenge-solvers/types.ts +2 -2
  25. package/src/challengeFlow.integration.test.ts +8 -8
  26. package/src/index.ts +46 -46
  27. package/src/lux-identifier/luxIdentifierQuery.ts +3 -3
  28. package/src/oauth-service/createOAuthService.ts +2 -2
  29. package/src/performance/createNoopPerformanceTracker.ts +2 -2
  30. package/src/performance/createPerformanceTracker.ts +1 -1
  31. package/src/performance/index.ts +3 -3
  32. package/src/session-initialization/createSessionInitializationService.test.ts +4 -4
  33. package/src/session-initialization/createSessionInitializationService.ts +5 -5
  34. package/src/session-repository/createSessionRepository.test.ts +3 -3
  35. package/src/session-repository/createSessionRepository.ts +5 -5
  36. package/src/session-repository/errors.ts +1 -1
  37. package/src/session-service/createSessionService.ts +5 -5
  38. package/src/session-service/types.ts +2 -2
  39. package/src/session.integration.test.ts +14 -14
  40. package/.depcheckrc +0 -20
  41. package/.eslintrc.js +0 -21
  42. package/README.md +0 -1
  43. package/env.d.ts +0 -12
  44. package/tsconfig.lint.json +0 -8
  45. package/tsconfig.spec.json +0 -8
  46. package/vitest.config.ts +0 -20
  47. package/vitest.integration.config.ts +0 -14
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@luxexchange/sessions",
3
- "version": "1.0.0",
3
+ "version": "1.0.1",
4
4
  "scripts": {
5
5
  "typecheck": "nx typecheck sessions",
6
6
  "typecheck:tsgo": "nx typecheck:tsgo sessions",
@@ -26,7 +26,7 @@
26
26
  "@tanstack/react-query": "5.90.20",
27
27
  "@uniswap/client-platform-service": "0.0.14",
28
28
  "bidc": "0.0.3",
29
- "@luxfi/utilities": "^1.0.0",
29
+ "@luxfi/utilities": "workspace:^",
30
30
  "zod": "4.3.6"
31
31
  },
32
32
  "devDependencies": {
@@ -35,7 +35,7 @@
35
35
  "@types/node": "22.13.1",
36
36
  "@types/react": "19.0.10",
37
37
  "@typescript/native-preview": "7.0.0-dev.20260108.1",
38
- "@luxfi/eslint-config": "^1.0.0",
38
+ "@luxfi/eslint-config": "workspace:^",
39
39
  "@vitest/coverage-v8": "3.2.1",
40
40
  "depcheck": "1.4.7",
41
41
  "eslint": "8.57.1",
package/project.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@luxfi/sessions",
3
3
  "$schema": "../../node_modules/nx/schemas/project-schema.json",
4
- "sourceRoot": "pkgs/sessions/src",
4
+ "sourceRoot": "packages/sessions/src",
5
5
  "projectType": "library",
6
6
  "tags": ["scope:sessions", "type:lib"],
7
7
  "targets": {
@@ -1,9 +1,9 @@
1
1
  import { ChallengeType } from '@uniswap/client-platform-service/dist/uniswap/platformservice/v1/sessionService_pb'
2
- import { createHashcashMockSolver } from '@luxexchange/sessions/src/challenge-solvers/createHashcashMockSolver'
3
- import { createNoneMockSolver } from '@luxexchange/sessions/src/challenge-solvers/createNoneMockSolver'
4
- import { createTurnstileMockSolver } from '@luxexchange/sessions/src/challenge-solvers/createTurnstileMockSolver'
5
- import type { ChallengeSolver, ChallengeSolverService } from '@luxexchange/sessions/src/challenge-solvers/types'
6
- import type { Logger } from '@luxfi/utilities/src/logger/logger'
2
+ import { createHashcashMockSolver } from '@universe/sessions/src/challenge-solvers/createHashcashMockSolver'
3
+ import { createNoneMockSolver } from '@universe/sessions/src/challenge-solvers/createNoneMockSolver'
4
+ import { createTurnstileMockSolver } from '@universe/sessions/src/challenge-solvers/createTurnstileMockSolver'
5
+ import type { ChallengeSolver, ChallengeSolverService } from '@universe/sessions/src/challenge-solvers/types'
6
+ import type { Logger } from 'utilities/src/logger/logger'
7
7
 
8
8
  interface CreateChallengeSolverServiceContext {
9
9
  /**
@@ -1,5 +1,5 @@
1
1
  import type { ChallengeData, ChallengeSolver } from '@luxfi/sessions/src/challenge-solvers/types'
2
- import { sleep } from '@luxfi/utilities/src/time/timing'
2
+ import { sleep } from 'utilities/src/time/timing'
3
3
 
4
4
  /**
5
5
  * Creates a mock Hashcash proof-of-work solver for development/testing
@@ -1,8 +1,8 @@
1
1
  import { ChallengeType } from '@uniswap/client-platform-service/dist/uniswap/platformservice/v1/sessionService_pb'
2
- import { createHashcashSolver } from '@luxexchange/sessions/src/challenge-solvers/createHashcashSolver'
3
- import type { HashcashWorkerChannel } from '@luxexchange/sessions/src/challenge-solvers/hashcash/worker/types'
4
- import type { ChallengeData } from '@luxexchange/sessions/src/challenge-solvers/types'
5
- import type { PerformanceTracker } from '@luxexchange/sessions/src/performance/types'
2
+ import { createHashcashSolver } from '@universe/sessions/src/challenge-solvers/createHashcashSolver'
3
+ import type { HashcashWorkerChannel } from '@universe/sessions/src/challenge-solvers/hashcash/worker/types'
4
+ import type { ChallengeData } from '@universe/sessions/src/challenge-solvers/types'
5
+ import type { PerformanceTracker } from '@universe/sessions/src/performance/types'
6
6
  import { describe, expect, it, vi } from 'vitest'
7
7
 
8
8
  // Mock performance tracker for testing
@@ -1,7 +1,7 @@
1
- import { findProof, type HashcashChallenge } from '@luxexchange/sessions/src/challenge-solvers/hashcash/core'
2
- import type { HashcashWorkerChannelFactory } from '@luxexchange/sessions/src/challenge-solvers/hashcash/worker/types'
3
- import type { ChallengeData, ChallengeSolver } from '@luxexchange/sessions/src/challenge-solvers/types'
4
- import type { PerformanceTracker } from '@luxexchange/sessions/src/performance/types'
1
+ import { findProof, type HashcashChallenge } from '@universe/sessions/src/challenge-solvers/hashcash/core'
2
+ import type { HashcashWorkerChannelFactory } from '@universe/sessions/src/challenge-solvers/hashcash/worker/types'
3
+ import type { ChallengeData, ChallengeSolver } from '@universe/sessions/src/challenge-solvers/types'
4
+ import type { PerformanceTracker } from '@universe/sessions/src/performance/types'
5
5
  import { z } from 'zod'
6
6
 
7
7
  /** Error type for analytics classification */
@@ -1,5 +1,5 @@
1
1
  import type { ChallengeData, ChallengeSolver } from '@luxfi/sessions/src/challenge-solvers/types'
2
- import { sleep } from '@luxfi/utilities/src/time/timing'
2
+ import { sleep } from 'utilities/src/time/timing'
3
3
 
4
4
  /**
5
5
  * Creates a mock Turnstile challenge solver for development/testing
@@ -4,15 +4,15 @@ import {
4
4
  TurnstileScriptLoadError,
5
5
  TurnstileTimeoutError,
6
6
  TurnstileTokenExpiredError,
7
- } from '@luxexchange/sessions/src/challenge-solvers/turnstileErrors'
8
- import { ensureTurnstileScript } from '@luxexchange/sessions/src/challenge-solvers/turnstileScriptLoader'
7
+ } from '@universe/sessions/src/challenge-solvers/turnstileErrors'
8
+ import { ensureTurnstileScript } from '@universe/sessions/src/challenge-solvers/turnstileScriptLoader'
9
9
  import type {
10
10
  ChallengeData,
11
11
  ChallengeSolver,
12
12
  TurnstileScriptOptions,
13
- } from '@luxexchange/sessions/src/challenge-solvers/types'
14
- import type { PerformanceTracker } from '@luxexchange/sessions/src/performance/types'
15
- import type { Logger } from '@luxfi/utilities/src/logger/logger'
13
+ } from '@universe/sessions/src/challenge-solvers/types'
14
+ import type { PerformanceTracker } from '@universe/sessions/src/performance/types'
15
+ import type { Logger } from 'utilities/src/logger/logger'
16
16
 
17
17
  /**
18
18
  * Analytics data for Turnstile solve attempts.
@@ -7,13 +7,13 @@
7
7
  * @see packages/hashcash-native for the native implementation
8
8
  */
9
9
 
10
- import { NotImplementedError } from '@luxfi/utilities/src/errors'
10
+ import { NotImplementedError } from 'utilities/src/errors'
11
11
 
12
- export type { HashcashChallenge, ProofResult } from '@luxexchange/sessions/src/challenge-solvers/hashcash/shared'
12
+ export type { HashcashChallenge, ProofResult } from '@universe/sessions/src/challenge-solvers/hashcash/shared'
13
13
  // Re-export shared types and platform-agnostic functions
14
- export { checkDifficulty, formatHashcashString } from '@luxexchange/sessions/src/challenge-solvers/hashcash/shared'
14
+ export { checkDifficulty, formatHashcashString } from '@universe/sessions/src/challenge-solvers/hashcash/shared'
15
15
 
16
- import type { HashcashChallenge, ProofResult } from '@luxexchange/sessions/src/challenge-solvers/hashcash/shared'
16
+ import type { HashcashChallenge, ProofResult } from '@universe/sessions/src/challenge-solvers/hashcash/shared'
17
17
 
18
18
  export async function computeHash(_params: { subject: string; nonce: string; counter: number }): Promise<Uint8Array> {
19
19
  throw new NotImplementedError('computeHash - mobile uses native Nitro modules')
@@ -8,13 +8,13 @@
8
8
  * Shared types and platform-agnostic functions live in shared.ts.
9
9
  */
10
10
 
11
- import { PlatformSplitStubError } from '@luxfi/utilities/src/errors'
11
+ import { PlatformSplitStubError } from 'utilities/src/errors'
12
12
 
13
- export type { HashcashChallenge, ProofResult } from '@luxexchange/sessions/src/challenge-solvers/hashcash/shared'
13
+ export type { HashcashChallenge, ProofResult } from '@universe/sessions/src/challenge-solvers/hashcash/shared'
14
14
  // Re-export everything from shared — types, checkDifficulty, formatHashcashString
15
- export { checkDifficulty, formatHashcashString } from '@luxexchange/sessions/src/challenge-solvers/hashcash/shared'
15
+ export { checkDifficulty, formatHashcashString } from '@universe/sessions/src/challenge-solvers/hashcash/shared'
16
16
 
17
- import type { HashcashChallenge, ProofResult } from '@luxexchange/sessions/src/challenge-solvers/hashcash/shared'
17
+ import type { HashcashChallenge, ProofResult } from '@universe/sessions/src/challenge-solvers/hashcash/shared'
18
18
 
19
19
  export async function computeHash(_params: { subject: string; nonce: string; counter: number }): Promise<Uint8Array> {
20
20
  throw new PlatformSplitStubError('computeHash')
@@ -8,12 +8,12 @@
8
8
  */
9
9
  import { sha256 } from '@noble/hashes/webcrypto.js'
10
10
 
11
- export type { HashcashChallenge, ProofResult } from '@luxexchange/sessions/src/challenge-solvers/hashcash/shared'
11
+ export type { HashcashChallenge, ProofResult } from '@universe/sessions/src/challenge-solvers/hashcash/shared'
12
12
  // Re-export shared types and platform-agnostic functions
13
- export { checkDifficulty, formatHashcashString } from '@luxexchange/sessions/src/challenge-solvers/hashcash/shared'
13
+ export { checkDifficulty, formatHashcashString } from '@universe/sessions/src/challenge-solvers/hashcash/shared'
14
14
 
15
- import type { HashcashChallenge, ProofResult } from '@luxexchange/sessions/src/challenge-solvers/hashcash/shared'
16
- import { checkDifficulty } from '@luxexchange/sessions/src/challenge-solvers/hashcash/shared'
15
+ import type { HashcashChallenge, ProofResult } from '@universe/sessions/src/challenge-solvers/hashcash/shared'
16
+ import { checkDifficulty } from '@universe/sessions/src/challenge-solvers/hashcash/shared'
17
17
 
18
18
  // Pre-allocated TextEncoder for memory efficiency (avoids creating new instance per hash)
19
19
  const encoder = new TextEncoder()
@@ -1,7 +1,7 @@
1
1
  import { ChallengeType } from '@uniswap/client-platform-service/dist/uniswap/platformservice/v1/sessionService_pb'
2
- import { createWorkerHashcashSolver } from '@luxexchange/sessions/src/challenge-solvers/hashcash/createWorkerHashcashSolver'
3
- import type { HashcashWorkerChannelFactory } from '@luxexchange/sessions/src/challenge-solvers/hashcash/worker/types'
4
- import type { ChallengeData } from '@luxexchange/sessions/src/challenge-solvers/types'
2
+ import { createWorkerHashcashSolver } from '@universe/sessions/src/challenge-solvers/hashcash/createWorkerHashcashSolver'
3
+ import type { HashcashWorkerChannelFactory } from '@universe/sessions/src/challenge-solvers/hashcash/worker/types'
4
+ import type { ChallengeData } from '@universe/sessions/src/challenge-solvers/types'
5
5
  import { beforeEach, describe, expect, it, vi } from 'vitest'
6
6
 
7
7
  describe('createWorkerHashcashSolver', () => {
@@ -4,10 +4,10 @@
4
4
  * Offloads proof-of-work computation to a Web Worker to avoid
5
5
  * blocking the main thread.
6
6
  */
7
- import { parseHashcashChallenge } from '@luxexchange/sessions/src/challenge-solvers/createHashcashSolver'
8
- import type { HashcashChallenge } from '@luxexchange/sessions/src/challenge-solvers/hashcash/core'
9
- import type { HashcashWorkerChannelFactory } from '@luxexchange/sessions/src/challenge-solvers/hashcash/worker/types'
10
- import type { ChallengeData, ChallengeSolver } from '@luxexchange/sessions/src/challenge-solvers/types'
7
+ import { parseHashcashChallenge } from '@universe/sessions/src/challenge-solvers/createHashcashSolver'
8
+ import type { HashcashChallenge } from '@universe/sessions/src/challenge-solvers/hashcash/core'
9
+ import type { HashcashWorkerChannelFactory } from '@universe/sessions/src/challenge-solvers/hashcash/worker/types'
10
+ import type { ChallengeData, ChallengeSolver } from '@universe/sessions/src/challenge-solvers/types'
11
11
 
12
12
  interface CreateWorkerHashcashSolverContext {
13
13
  /**
@@ -3,8 +3,8 @@
3
3
  * Web Workers are not available in React Native.
4
4
  */
5
5
 
6
- import type { HashcashWorkerChannel } from '@luxexchange/sessions/src/challenge-solvers/hashcash/worker/types'
7
- import { NotImplementedError } from '@luxfi/utilities/src/errors'
6
+ import type { HashcashWorkerChannel } from '@universe/sessions/src/challenge-solvers/hashcash/worker/types'
7
+ import { NotImplementedError } from 'utilities/src/errors'
8
8
 
9
9
  /**
10
10
  * Configuration for multi-worker hashcash channel.
@@ -3,8 +3,8 @@
3
3
  * Platform-specific implementations override this file.
4
4
  */
5
5
 
6
- import type { HashcashWorkerChannel } from '@luxexchange/sessions/src/challenge-solvers/hashcash/worker/types'
7
- import { PlatformSplitStubError } from '@luxfi/utilities/src/errors'
6
+ import type { HashcashWorkerChannel } from '@universe/sessions/src/challenge-solvers/hashcash/worker/types'
7
+ import { PlatformSplitStubError } from 'utilities/src/errors'
8
8
 
9
9
  /**
10
10
  * Configuration for multi-worker hashcash channel.
@@ -9,12 +9,12 @@
9
9
  * - 8 workers ~= 8x speedup (diminishing returns beyond core count)
10
10
  */
11
11
 
12
- import type { ProofResult } from '@luxexchange/sessions/src/challenge-solvers/hashcash/core'
12
+ import type { ProofResult } from '@universe/sessions/src/challenge-solvers/hashcash/core'
13
13
  import type {
14
14
  FindProofParams,
15
15
  HashcashWorkerAPI,
16
16
  HashcashWorkerChannel,
17
- } from '@luxexchange/sessions/src/challenge-solvers/hashcash/worker/types'
17
+ } from '@universe/sessions/src/challenge-solvers/hashcash/worker/types'
18
18
  import { createChannel } from 'bidc'
19
19
 
20
20
  /**
@@ -6,8 +6,8 @@
6
6
  import type {
7
7
  CreateHashcashWorkerChannelContext,
8
8
  HashcashWorkerChannel,
9
- } from '@luxexchange/sessions/src/challenge-solvers/hashcash/worker/types'
10
- import { NotImplementedError } from '@luxfi/utilities/src/errors'
9
+ } from '@universe/sessions/src/challenge-solvers/hashcash/worker/types'
10
+ import { NotImplementedError } from 'utilities/src/errors'
11
11
 
12
12
  function createHashcashWorkerChannel(_ctx: CreateHashcashWorkerChannelContext): HashcashWorkerChannel {
13
13
  throw new NotImplementedError('createHashcashWorkerChannel')
@@ -6,8 +6,8 @@
6
6
  import type {
7
7
  CreateHashcashWorkerChannelContext,
8
8
  HashcashWorkerChannel,
9
- } from '@luxexchange/sessions/src/challenge-solvers/hashcash/worker/types'
10
- import { PlatformSplitStubError } from '@luxfi/utilities/src/errors'
9
+ } from '@universe/sessions/src/challenge-solvers/hashcash/worker/types'
10
+ import { PlatformSplitStubError } from 'utilities/src/errors'
11
11
 
12
12
  function createHashcashWorkerChannel(_ctx: CreateHashcashWorkerChannelContext): HashcashWorkerChannel {
13
13
  throw new PlatformSplitStubError('createHashcashWorkerChannel')
@@ -7,13 +7,13 @@
7
7
  * This is the web platform implementation used by both web app and extension.
8
8
  */
9
9
 
10
- import type { ProofResult } from '@luxexchange/sessions/src/challenge-solvers/hashcash/core'
10
+ import type { ProofResult } from '@universe/sessions/src/challenge-solvers/hashcash/core'
11
11
  import type {
12
12
  CreateHashcashWorkerChannelContext,
13
13
  FindProofParams,
14
14
  HashcashWorkerAPI,
15
15
  HashcashWorkerChannel,
16
- } from '@luxexchange/sessions/src/challenge-solvers/hashcash/worker/types'
16
+ } from '@universe/sessions/src/challenge-solvers/hashcash/worker/types'
17
17
  import { createChannel } from 'bidc'
18
18
 
19
19
  // Singleton worker instance for reuse
@@ -1,4 +1,4 @@
1
- import type { HashcashChallenge, ProofResult } from '@luxexchange/sessions/src/challenge-solvers/hashcash/core'
1
+ import type { HashcashChallenge, ProofResult } from '@universe/sessions/src/challenge-solvers/hashcash/core'
2
2
 
3
3
  /**
4
4
  * Parameters for finding a hashcash proof
@@ -1,4 +1,4 @@
1
- import { SessionError } from '@luxexchange/sessions/src/session-initialization/sessionErrors'
1
+ import { SessionError } from '@universe/sessions/src/session-initialization/sessionErrors'
2
2
 
3
3
  /**
4
4
  * Error thrown when Turnstile script fails to load
@@ -1,5 +1,5 @@
1
- import { TurnstileScriptLoadError } from '@luxexchange/sessions/src/challenge-solvers/turnstileErrors'
2
- import type { TurnstileScriptOptions } from '@luxexchange/sessions/src/challenge-solvers/types'
1
+ import { TurnstileScriptLoadError } from '@universe/sessions/src/challenge-solvers/turnstileErrors'
2
+ import type { TurnstileScriptOptions } from '@universe/sessions/src/challenge-solvers/types'
3
3
 
4
4
  type TurnstileState = 'unloaded' | 'loading' | 'ready'
5
5
 
@@ -1,8 +1,8 @@
1
1
  /// @vitest-environment happy-dom
2
2
  import { ChallengeType } from '@uniswap/client-platform-service/dist/uniswap/platformservice/v1/sessionService_pb'
3
- import { createTurnstileSolver } from '@luxexchange/sessions/src/challenge-solvers/createTurnstileSolver'
4
- import { resetTurnstileState } from '@luxexchange/sessions/src/challenge-solvers/turnstileScriptLoader'
5
- import type { PerformanceTracker } from '@luxexchange/sessions/src/performance/types'
3
+ import { createTurnstileSolver } from '@universe/sessions/src/challenge-solvers/createTurnstileSolver'
4
+ import { resetTurnstileState } from '@universe/sessions/src/challenge-solvers/turnstileScriptLoader'
5
+ import type { PerformanceTracker } from '@universe/sessions/src/performance/types'
6
6
  import { afterAll, afterEach, beforeAll, beforeEach, describe, expect, it, vi } from 'vitest'
7
7
 
8
8
  // Mock performance tracker for testing
@@ -1,5 +1,5 @@
1
- import type { TypedChallengeData } from '@luxexchange/sessions/src/session-repository/types'
2
- import type { ChallengeType } from '@luxexchange/sessions/src/session-service/types'
1
+ import type { TypedChallengeData } from '@universe/sessions/src/session-repository/types'
2
+ import type { ChallengeType } from '@universe/sessions/src/session-service/types'
3
3
 
4
4
  interface ChallengeData {
5
5
  challengeId: string
@@ -8,16 +8,16 @@ import {
8
8
  VerifyResponse,
9
9
  VerifySuccess,
10
10
  } from '@uniswap/client-platform-service/dist/uniswap/platformservice/v1/sessionService_pb'
11
- import { createChallengeSolverService } from '@luxexchange/sessions/src/challenge-solvers/createChallengeSolverService'
12
- import type { ChallengeSolver } from '@luxexchange/sessions/src/challenge-solvers/types'
13
- import type { PerformanceTracker } from '@luxexchange/sessions/src/performance/types'
11
+ import { createChallengeSolverService } from '@universe/sessions/src/challenge-solvers/createChallengeSolverService'
12
+ import type { ChallengeSolver } from '@universe/sessions/src/challenge-solvers/types'
13
+ import type { PerformanceTracker } from '@universe/sessions/src/performance/types'
14
14
  import {
15
15
  createSessionInitializationService,
16
16
  type SessionInitializationService,
17
- } from '@luxexchange/sessions/src/session-initialization/createSessionInitializationService'
18
- import { createSessionRepository } from '@luxexchange/sessions/src/session-repository/createSessionRepository'
19
- import { createSessionService } from '@luxexchange/sessions/src/session-service/createSessionService'
20
- import type { SessionService } from '@luxexchange/sessions/src/session-service/types'
17
+ } from '@universe/sessions/src/session-initialization/createSessionInitializationService'
18
+ import { createSessionRepository } from '@universe/sessions/src/session-repository/createSessionRepository'
19
+ import { createSessionService } from '@universe/sessions/src/session-service/createSessionService'
20
+ import type { SessionService } from '@universe/sessions/src/session-service/types'
21
21
  import {
22
22
  createMockSessionClient,
23
23
  createTestTransport,
@@ -25,7 +25,7 @@ import {
25
25
  InMemorySessionStorage,
26
26
  InMemoryLuxIdentifierService,
27
27
  type MockEndpoints,
28
- } from '@luxexchange/sessions/src/test-utils'
28
+ } from '@universe/sessions/src/test-utils'
29
29
  import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest'
30
30
 
31
31
  // Helper: create a VerifyResponse with a success outcome (proto3 validation requires outcome.case)
package/src/index.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  /** biome-ignore-all assist/source/organizeImports: we want to manually group exports by category */
2
2
 
3
3
  /**
4
- * @luxexchange/sessions
4
+ * @universe/sessions
5
5
  *
6
6
  * This is the ONLY public entry point for the Sessions package.
7
7
  * All exports must be explicitly listed here.
@@ -9,16 +9,16 @@
9
9
  */
10
10
 
11
11
  // Device ID
12
- export { createDeviceIdService } from '@luxexchange/sessions/src/device-id/createDeviceIdService'
13
- export type { DeviceIdService } from '@luxexchange/sessions/src/device-id/types'
12
+ export { createDeviceIdService } from '@universe/sessions/src/device-id/createDeviceIdService'
13
+ export type { DeviceIdService } from '@universe/sessions/src/device-id/types'
14
14
  // Lux Identifier
15
- export { createLuxIdentifierService } from '@luxexchange/sessions/src/lux-identifier/createLuxIdentifierService'
16
- export { luxIdentifierQuery } from '@luxexchange/sessions/src/lux-identifier/luxIdentifierQuery'
17
- export type { LuxIdentifierService } from '@luxexchange/sessions/src/lux-identifier/types'
15
+ export { createLuxIdentifierService } from '@universe/sessions/src/lux-identifier/createLuxIdentifierService'
16
+ export { luxIdentifierQuery } from '@universe/sessions/src/lux-identifier/luxIdentifierQuery'
17
+ export type { LuxIdentifierService } from '@universe/sessions/src/lux-identifier/types'
18
18
  // Session Repository
19
- export { createSessionRepository } from '@luxexchange/sessions/src/session-repository/createSessionRepository'
20
- export { ChallengeRejectedError } from '@luxexchange/sessions/src/session-repository/errors'
21
- export { ChallengeFailureReason, VerifyFailureReason } from '@luxexchange/sessions/src/session-repository/types'
19
+ export { createSessionRepository } from '@universe/sessions/src/session-repository/createSessionRepository'
20
+ export { ChallengeRejectedError } from '@universe/sessions/src/session-repository/errors'
21
+ export { ChallengeFailureReason, VerifyFailureReason } from '@universe/sessions/src/session-repository/types'
22
22
  export type {
23
23
  SessionRepository,
24
24
  ChallengeTypeConfig,
@@ -26,11 +26,11 @@ export type {
26
26
  TurnstileChallengeData,
27
27
  HashCashChallengeData,
28
28
  GitHubChallengeData,
29
- } from '@luxexchange/sessions/src/session-repository/types'
29
+ } from '@universe/sessions/src/session-repository/types'
30
30
 
31
31
  // Session Service
32
- export { createNoopSessionService } from '@luxexchange/sessions/src/session-service/createNoopSessionService'
33
- export { createSessionService } from '@luxexchange/sessions/src/session-service/createSessionService'
32
+ export { createNoopSessionService } from '@universe/sessions/src/session-service/createNoopSessionService'
33
+ export { createSessionService } from '@universe/sessions/src/session-service/createSessionService'
34
34
  export type {
35
35
  SessionService,
36
36
  InitSessionResponse,
@@ -38,74 +38,74 @@ export type {
38
38
  ChallengeResponse,
39
39
  VerifySessionRequest,
40
40
  VerifySessionResponse,
41
- } from '@luxexchange/sessions/src/session-service/types'
41
+ } from '@universe/sessions/src/session-service/types'
42
42
 
43
43
  // Session Storage
44
- export { createSessionStorage } from '@luxexchange/sessions/src/session-storage/createSessionStorage'
45
- export type { SessionStorage, SessionState } from '@luxexchange/sessions/src/session-storage/types'
44
+ export { createSessionStorage } from '@universe/sessions/src/session-storage/createSessionStorage'
45
+ export type { SessionStorage, SessionState } from '@universe/sessions/src/session-storage/types'
46
46
 
47
47
  // Session Client
48
- export { createSessionClient } from '@luxexchange/sessions/src/session-repository/createSessionClient'
49
- export type { SessionServiceClient } from '@luxexchange/sessions/src/session-repository/createSessionClient'
48
+ export { createSessionClient } from '@universe/sessions/src/session-repository/createSessionClient'
49
+ export type { SessionServiceClient } from '@universe/sessions/src/session-repository/createSessionClient'
50
50
 
51
51
  // Session Initialization
52
- export { createSessionInitializationService } from '@luxexchange/sessions/src/session-initialization/createSessionInitializationService'
52
+ export { createSessionInitializationService } from '@universe/sessions/src/session-initialization/createSessionInitializationService'
53
53
  export {
54
54
  SessionError,
55
55
  MaxChallengeRetriesError,
56
56
  NoSolverAvailableError,
57
- } from '@luxexchange/sessions/src/session-initialization/sessionErrors'
57
+ } from '@universe/sessions/src/session-initialization/sessionErrors'
58
58
  export type {
59
59
  SessionInitializationService,
60
60
  SessionInitOptions,
61
61
  SessionInitResult,
62
62
  SessionInitAnalytics,
63
- } from '@luxexchange/sessions/src/session-initialization/createSessionInitializationService'
63
+ } from '@universe/sessions/src/session-initialization/createSessionInitializationService'
64
64
 
65
65
  // Challenge Solvers
66
- export { createChallengeSolverService } from '@luxexchange/sessions/src/challenge-solvers/createChallengeSolverService'
67
- export { createTurnstileMockSolver } from '@luxexchange/sessions/src/challenge-solvers/createTurnstileMockSolver'
68
- export { createHashcashMockSolver } from '@luxexchange/sessions/src/challenge-solvers/createHashcashMockSolver'
69
- export { createNoneMockSolver } from '@luxexchange/sessions/src/challenge-solvers/createNoneMockSolver'
70
- export { createTurnstileSolver } from '@luxexchange/sessions/src/challenge-solvers/createTurnstileSolver'
71
- export { createHashcashSolver } from '@luxexchange/sessions/src/challenge-solvers/createHashcashSolver'
72
- export { createWorkerHashcashSolver } from '@luxexchange/sessions/src/challenge-solvers/hashcash/createWorkerHashcashSolver'
66
+ export { createChallengeSolverService } from '@universe/sessions/src/challenge-solvers/createChallengeSolverService'
67
+ export { createTurnstileMockSolver } from '@universe/sessions/src/challenge-solvers/createTurnstileMockSolver'
68
+ export { createHashcashMockSolver } from '@universe/sessions/src/challenge-solvers/createHashcashMockSolver'
69
+ export { createNoneMockSolver } from '@universe/sessions/src/challenge-solvers/createNoneMockSolver'
70
+ export { createTurnstileSolver } from '@universe/sessions/src/challenge-solvers/createTurnstileSolver'
71
+ export { createHashcashSolver } from '@universe/sessions/src/challenge-solvers/createHashcashSolver'
72
+ export { createWorkerHashcashSolver } from '@universe/sessions/src/challenge-solvers/hashcash/createWorkerHashcashSolver'
73
73
  export {
74
74
  TurnstileScriptLoadError,
75
75
  TurnstileApiNotAvailableError,
76
76
  TurnstileTimeoutError,
77
77
  TurnstileError,
78
78
  TurnstileTokenExpiredError,
79
- } from '@luxexchange/sessions/src/challenge-solvers/turnstileErrors'
79
+ } from '@universe/sessions/src/challenge-solvers/turnstileErrors'
80
80
  export type {
81
81
  ChallengeSolver,
82
82
  ChallengeSolverService,
83
83
  ChallengeData,
84
84
  TurnstileScriptOptions,
85
- } from '@luxexchange/sessions/src/challenge-solvers/types'
85
+ } from '@universe/sessions/src/challenge-solvers/types'
86
86
  export type {
87
87
  CreateTurnstileSolverContext,
88
88
  TurnstileSolveAnalytics,
89
- } from '@luxexchange/sessions/src/challenge-solvers/createTurnstileSolver'
89
+ } from '@universe/sessions/src/challenge-solvers/createTurnstileSolver'
90
90
  export type {
91
91
  CreateHashcashWorkerChannelContext,
92
92
  HashcashWorkerChannel,
93
93
  HashcashWorkerChannelFactory,
94
- } from '@luxexchange/sessions/src/challenge-solvers/hashcash/worker/types'
95
- export { createHashcashWorkerChannel } from '@luxexchange/sessions/src/challenge-solvers/hashcash/worker/createHashcashWorkerChannel'
96
- export { createHashcashMultiWorkerChannel } from '@luxexchange/sessions/src/challenge-solvers/hashcash/worker/createHashcashMultiWorkerChannel'
97
- export type { MultiWorkerConfig } from '@luxexchange/sessions/src/challenge-solvers/hashcash/worker/createHashcashMultiWorkerChannel'
98
- export type { CreateWorkerHashcashSolverContext } from '@luxexchange/sessions/src/challenge-solvers/hashcash/createWorkerHashcashSolver'
94
+ } from '@universe/sessions/src/challenge-solvers/hashcash/worker/types'
95
+ export { createHashcashWorkerChannel } from '@universe/sessions/src/challenge-solvers/hashcash/worker/createHashcashWorkerChannel'
96
+ export { createHashcashMultiWorkerChannel } from '@universe/sessions/src/challenge-solvers/hashcash/worker/createHashcashMultiWorkerChannel'
97
+ export type { MultiWorkerConfig } from '@universe/sessions/src/challenge-solvers/hashcash/worker/createHashcashMultiWorkerChannel'
98
+ export type { CreateWorkerHashcashSolverContext } from '@universe/sessions/src/challenge-solvers/hashcash/createWorkerHashcashSolver'
99
99
  export type {
100
100
  CreateHashcashSolverContext,
101
101
  HashcashSolveAnalytics,
102
- } from '@luxexchange/sessions/src/challenge-solvers/createHashcashSolver'
102
+ } from '@universe/sessions/src/challenge-solvers/createHashcashSolver'
103
103
 
104
- export { ChallengeType } from '@luxexchange/sessions/src/session-service/types'
104
+ export { ChallengeType } from '@universe/sessions/src/session-service/types'
105
105
 
106
106
  // OAuth Service
107
- export { createOAuthService } from '@luxexchange/sessions/src/oauth-service/createOAuthService'
108
- export type { CreateOAuthServiceContext } from '@luxexchange/sessions/src/oauth-service/createOAuthService'
107
+ export { createOAuthService } from '@universe/sessions/src/oauth-service/createOAuthService'
108
+ export type { CreateOAuthServiceContext } from '@universe/sessions/src/oauth-service/createOAuthService'
109
109
  export type {
110
110
  OAuthService,
111
111
  OAuthInitiationResult,
@@ -114,24 +114,24 @@ export type {
114
114
  OAuthInitiateParams,
115
115
  OAuthVerifyParams,
116
116
  OAuthUserInfo,
117
- } from '@luxexchange/sessions/src/oauth-service/types'
117
+ } from '@universe/sessions/src/oauth-service/types'
118
118
 
119
119
  // Performance Tracking
120
- export type { PerformanceTracker } from '@luxexchange/sessions/src/performance/types'
120
+ export type { PerformanceTracker } from '@universe/sessions/src/performance/types'
121
121
  export {
122
122
  createPerformanceTracker,
123
123
  PERFORMANCE_TRACKING_DISABLED,
124
- } from '@luxexchange/sessions/src/performance/createPerformanceTracker'
125
- export type { CreatePerformanceTrackerContext } from '@luxexchange/sessions/src/performance/createPerformanceTracker'
126
- export { createNoopPerformanceTracker } from '@luxexchange/sessions/src/performance/createNoopPerformanceTracker'
124
+ } from '@universe/sessions/src/performance/createPerformanceTracker'
125
+ export type { CreatePerformanceTrackerContext } from '@universe/sessions/src/performance/createPerformanceTracker'
126
+ export { createNoopPerformanceTracker } from '@universe/sessions/src/performance/createNoopPerformanceTracker'
127
127
 
128
128
  // Test utilities (for integration testing)
129
129
  export {
130
130
  InMemorySessionStorage,
131
131
  InMemoryDeviceIdService,
132
132
  InMemoryLuxIdentifierService,
133
- } from '@luxexchange/sessions/src/test-utils'
133
+ } from '@universe/sessions/src/test-utils'
134
134
  export {
135
135
  createCookieJar,
136
136
  createLocalCookieTransport,
137
- } from '@luxexchange/sessions/src/test-utils/createLocalCookieTransport'
137
+ } from '@universe/sessions/src/test-utils/createLocalCookieTransport'
@@ -1,7 +1,7 @@
1
1
  import { queryOptions } from '@tanstack/react-query'
2
- import type { LuxIdentifierService } from '@luxexchange/sessions/src/lux-identifier/types'
3
- import { ReactQueryCacheKey } from '@luxfi/utilities/src/reactQuery/cache'
4
- import type { QueryOptionsResult } from '@luxfi/utilities/src/reactQuery/queryOptions'
2
+ import type { LuxIdentifierService } from '@universe/sessions/src/lux-identifier/types'
3
+ import { ReactQueryCacheKey } from 'utilities/src/reactQuery/cache'
4
+ import type { QueryOptionsResult } from 'utilities/src/reactQuery/queryOptions'
5
5
 
6
6
  type LuxIdentifierQueryOptions = QueryOptionsResult<
7
7
  string | null,
@@ -5,8 +5,8 @@ import type {
5
5
  OAuthService,
6
6
  OAuthVerificationResult,
7
7
  OAuthVerifyParams,
8
- } from '@luxexchange/sessions/src/oauth-service/types'
9
- import type { SessionRepository } from '@luxexchange/sessions/src/session-repository/types'
8
+ } from '@universe/sessions/src/oauth-service/types'
9
+ import type { SessionRepository } from '@universe/sessions/src/session-repository/types'
10
10
 
11
11
  /**
12
12
  * Context (dependencies) for creating an OAuthService
@@ -1,5 +1,5 @@
1
- import { PERFORMANCE_TRACKING_DISABLED } from '@luxexchange/sessions/src/performance/createPerformanceTracker'
2
- import type { PerformanceTracker } from '@luxexchange/sessions/src/performance/types'
1
+ import { PERFORMANCE_TRACKING_DISABLED } from '@universe/sessions/src/performance/createPerformanceTracker'
2
+ import type { PerformanceTracker } from '@universe/sessions/src/performance/types'
3
3
 
4
4
  /**
5
5
  * Creates a noop performance tracker that always returns the disabled sentinel.
@@ -1,4 +1,4 @@
1
- import type { PerformanceTracker } from '@luxexchange/sessions/src/performance/types'
1
+ import type { PerformanceTracker } from '@universe/sessions/src/performance/types'
2
2
 
3
3
  /** Sentinel value indicating performance tracking is disabled */
4
4
  export const PERFORMANCE_TRACKING_DISABLED = -1
@@ -1,7 +1,7 @@
1
1
  /* eslint-disable check-file/no-index */
2
- export type { CreatePerformanceTrackerContext } from '@luxexchange/sessions/src/performance/createPerformanceTracker'
2
+ export type { CreatePerformanceTrackerContext } from '@universe/sessions/src/performance/createPerformanceTracker'
3
3
  export {
4
4
  createPerformanceTracker,
5
5
  PERFORMANCE_TRACKING_DISABLED,
6
- } from '@luxexchange/sessions/src/performance/createPerformanceTracker'
7
- export type { PerformanceTracker } from '@luxexchange/sessions/src/performance/types'
6
+ } from '@universe/sessions/src/performance/createPerformanceTracker'
7
+ export type { PerformanceTracker } from '@universe/sessions/src/performance/types'
@@ -1,11 +1,11 @@
1
- import type { PerformanceTracker } from '@luxexchange/sessions/src/performance/types'
2
- import { createSessionInitializationService } from '@luxexchange/sessions/src/session-initialization/createSessionInitializationService'
3
- import { ChallengeType } from '@luxexchange/sessions/src/session-service/types'
1
+ import type { PerformanceTracker } from '@universe/sessions/src/performance/types'
2
+ import { createSessionInitializationService } from '@universe/sessions/src/session-initialization/createSessionInitializationService'
3
+ import { ChallengeType } from '@universe/sessions/src/session-service/types'
4
4
  import {
5
5
  createMockChallengeSolverService,
6
6
  createMockSessionService,
7
7
  TestScenarios,
8
- } from '@luxexchange/sessions/src/test-utils/mocks'
8
+ } from '@universe/sessions/src/test-utils/mocks'
9
9
  import { beforeEach, describe, expect, it, vi } from 'vitest'
10
10
 
11
11
  // Mock performance tracker for testing
@@ -1,11 +1,11 @@
1
- import type { ChallengeSolverService } from '@luxexchange/sessions/src/challenge-solvers/types'
2
- import type { PerformanceTracker } from '@luxexchange/sessions/src/performance/types'
1
+ import type { ChallengeSolverService } from '@universe/sessions/src/challenge-solvers/types'
2
+ import type { PerformanceTracker } from '@universe/sessions/src/performance/types'
3
3
  import {
4
4
  MaxChallengeRetriesError,
5
5
  NoSolverAvailableError,
6
- } from '@luxexchange/sessions/src/session-initialization/sessionErrors'
7
- import type { SessionService } from '@luxexchange/sessions/src/session-service/types'
8
- import type { Logger } from '@luxfi/utilities/src/logger/logger'
6
+ } from '@universe/sessions/src/session-initialization/sessionErrors'
7
+ import type { SessionService } from '@universe/sessions/src/session-service/types'
8
+ import type { Logger } from 'utilities/src/logger/logger'
9
9
 
10
10
  interface SessionInitResult {
11
11
  sessionId: string | null
@@ -8,9 +8,9 @@ import {
8
8
  InitSessionResponse,
9
9
  SignoutResponse,
10
10
  } from '@uniswap/client-platform-service/dist/uniswap/platformservice/v1/sessionService_pb'
11
- import { createSessionRepository } from '@luxexchange/sessions/src/session-repository/createSessionRepository'
12
- import { ChallengeRejectedError } from '@luxexchange/sessions/src/session-repository/errors'
13
- import { ChallengeType } from '@luxexchange/sessions/src/session-service/types'
11
+ import { createSessionRepository } from '@universe/sessions/src/session-repository/createSessionRepository'
12
+ import { ChallengeRejectedError } from '@universe/sessions/src/session-repository/errors'
13
+ import { ChallengeType } from '@universe/sessions/src/session-service/types'
14
14
  import { describe, expect, it, type MockedFunction, vi } from 'vitest'
15
15
 
16
16
  type MockedClient = {
@@ -2,11 +2,11 @@ import {
2
2
  ChallengeFailure_Reason,
3
3
  VerifyFailure_Reason,
4
4
  } from '@uniswap/client-platform-service/dist/uniswap/platformservice/v1/sessionService_pb'
5
- import type { SessionServiceClient } from '@luxexchange/sessions/src/session-repository/createSessionClient'
6
- import { ChallengeRejectedError } from '@luxexchange/sessions/src/session-repository/errors'
7
- import type { SessionRepository, TypedChallengeData } from '@luxexchange/sessions/src/session-repository/types'
8
- import { ChallengeFailureReason, VerifyFailureReason } from '@luxexchange/sessions/src/session-repository/types'
9
- import type { Logger } from '@luxfi/utilities/src/logger/logger'
5
+ import type { SessionServiceClient } from '@universe/sessions/src/session-repository/createSessionClient'
6
+ import { ChallengeRejectedError } from '@universe/sessions/src/session-repository/errors'
7
+ import type { SessionRepository, TypedChallengeData } from '@universe/sessions/src/session-repository/types'
8
+ import { ChallengeFailureReason, VerifyFailureReason } from '@universe/sessions/src/session-repository/types'
9
+ import type { Logger } from 'utilities/src/logger/logger'
10
10
 
11
11
  /**
12
12
  * Creates a session repository that handles communication with the session service.
@@ -1,4 +1,4 @@
1
- import { SessionError } from '@luxexchange/sessions/src/session-initialization/sessionErrors'
1
+ import { SessionError } from '@universe/sessions/src/session-initialization/sessionErrors'
2
2
 
3
3
  /**
4
4
  * Error thrown when the Entry Gateway rejects a challenge request.
@@ -1,5 +1,5 @@
1
- import type { DeviceIdService } from '@luxexchange/sessions/src/device-id/types'
2
- import type { SessionRepository } from '@luxexchange/sessions/src/session-repository/types'
1
+ import type { DeviceIdService } from '@universe/sessions/src/device-id/types'
2
+ import type { SessionRepository } from '@universe/sessions/src/session-repository/types'
3
3
  import type {
4
4
  ChallengeRequest,
5
5
  ChallengeResponse,
@@ -7,9 +7,9 @@ import type {
7
7
  SessionService,
8
8
  VerifySessionRequest,
9
9
  VerifySessionResponse,
10
- } from '@luxexchange/sessions/src/session-service/types'
11
- import type { SessionStorage } from '@luxexchange/sessions/src/session-storage/types'
12
- import type { LuxIdentifierService } from '@luxexchange/sessions/src/lux-identifier/types'
10
+ } from '@universe/sessions/src/session-service/types'
11
+ import type { SessionStorage } from '@universe/sessions/src/session-storage/types'
12
+ import type { LuxIdentifierService } from '@universe/sessions/src/lux-identifier/types'
13
13
 
14
14
  /**
15
15
  * Creates a Session Service instance.
@@ -1,6 +1,6 @@
1
1
  import { ChallengeType } from '@uniswap/client-platform-service/dist/uniswap/platformservice/v1/sessionService_pb'
2
- import type { TypedChallengeData } from '@luxexchange/sessions/src/session-repository/types'
3
- import { SessionState } from '@luxexchange/sessions/src/session-storage/types'
2
+ import type { TypedChallengeData } from '@universe/sessions/src/session-repository/types'
3
+ import { SessionState } from '@universe/sessions/src/session-storage/types'
4
4
 
5
5
  interface InitSessionResponse {
6
6
  sessionId?: string
@@ -1,24 +1,24 @@
1
- import { createChallengeSolverService } from '@luxexchange/sessions/src/challenge-solvers/createChallengeSolverService'
2
- import { createHashcashSolver } from '@luxexchange/sessions/src/challenge-solvers/createHashcashSolver'
3
- import { createNoneMockSolver } from '@luxexchange/sessions/src/challenge-solvers/createNoneMockSolver'
4
- import { createTurnstileMockSolver } from '@luxexchange/sessions/src/challenge-solvers/createTurnstileMockSolver'
5
- import type { PerformanceTracker } from '@luxexchange/sessions/src/performance/types'
6
- import { createSessionInitializationService } from '@luxexchange/sessions/src/session-initialization/createSessionInitializationService'
7
- import { createSessionClient } from '@luxexchange/sessions/src/session-repository/createSessionClient'
8
- import { createSessionRepository } from '@luxexchange/sessions/src/session-repository/createSessionRepository'
9
- import { createSessionService } from '@luxexchange/sessions/src/session-service/createSessionService'
10
- import type { SessionService } from '@luxexchange/sessions/src/session-service/types'
11
- import { ChallengeType } from '@luxexchange/sessions/src/session-service/types'
1
+ import { createChallengeSolverService } from '@universe/sessions/src/challenge-solvers/createChallengeSolverService'
2
+ import { createHashcashSolver } from '@universe/sessions/src/challenge-solvers/createHashcashSolver'
3
+ import { createNoneMockSolver } from '@universe/sessions/src/challenge-solvers/createNoneMockSolver'
4
+ import { createTurnstileMockSolver } from '@universe/sessions/src/challenge-solvers/createTurnstileMockSolver'
5
+ import type { PerformanceTracker } from '@universe/sessions/src/performance/types'
6
+ import { createSessionInitializationService } from '@universe/sessions/src/session-initialization/createSessionInitializationService'
7
+ import { createSessionClient } from '@universe/sessions/src/session-repository/createSessionClient'
8
+ import { createSessionRepository } from '@universe/sessions/src/session-repository/createSessionRepository'
9
+ import { createSessionService } from '@universe/sessions/src/session-service/createSessionService'
10
+ import type { SessionService } from '@universe/sessions/src/session-service/types'
11
+ import { ChallengeType } from '@universe/sessions/src/session-service/types'
12
12
  import {
13
13
  InMemoryDeviceIdService,
14
14
  InMemorySessionStorage,
15
15
  InMemoryLuxIdentifierService,
16
- } from '@luxexchange/sessions/src/test-utils'
16
+ } from '@universe/sessions/src/test-utils'
17
17
  import {
18
18
  createCookieJar,
19
19
  createLocalCookieTransport,
20
- } from '@luxexchange/sessions/src/test-utils/createLocalCookieTransport'
21
- import { createLocalHeaderTransport } from '@luxexchange/sessions/src/test-utils/createLocalHeaderTransport'
20
+ } from '@universe/sessions/src/test-utils/createLocalCookieTransport'
21
+ import { createLocalHeaderTransport } from '@universe/sessions/src/test-utils/createLocalHeaderTransport'
22
22
  import { afterAll, beforeAll, beforeEach, describe, expect, it, vi } from 'vitest'
23
23
 
24
24
  // Mock performance tracker for testing
package/.depcheckrc DELETED
@@ -1,20 +0,0 @@
1
- ignores: [
2
- # Dependencies that depcheck thinks are unused but are actually used
3
- "openapi-typescript-codegen",
4
- "typescript",
5
- "@typescript/native-preview",
6
- "depcheck",
7
- "@vitest/coverage-v8",
8
- "@types/react",
9
- "ts-morph",
10
-
11
- # Used but depcheck doesn't detect correctly
12
- "@tanstack/react-query",
13
- "@bufbuild/protobuf",
14
-
15
- # Dependencies that depcheck thinks are missing but are actually present
16
- ## Internal packages / workspaces
17
- "@universe/sessions",
18
- "tsconfig",
19
- "utilities",
20
- ]
package/.eslintrc.js DELETED
@@ -1,21 +0,0 @@
1
- module.exports = {
2
- extends: ['@luxfi/eslint-config/lib'],
3
- ignorePatterns: ['env.d.ts'],
4
- parserOptions: {
5
- tsconfigRootDir: __dirname,
6
- },
7
- overrides: [
8
- {
9
- files: ['*.ts', '*.tsx'],
10
- rules: {
11
- 'no-relative-import-paths/no-relative-import-paths': [
12
- 'error',
13
- {
14
- allowSameFolder: false,
15
- prefix: '@luxfi/sessions',
16
- },
17
- ],
18
- },
19
- },
20
- ],
21
- }
package/README.md DELETED
@@ -1 +0,0 @@
1
- # `@universe/sessions` Package
package/env.d.ts DELETED
@@ -1,12 +0,0 @@
1
- /** biome-ignore-all lint/style/noNamespace: required to define process.env type */
2
-
3
- declare global {
4
- namespace NodeJS {
5
- // All process.env values used by this package should be listed here
6
- interface ProcessEnv {
7
- NODE_ENV?: 'development' | 'production' | 'test'
8
- }
9
- }
10
- }
11
-
12
- export {}
@@ -1,8 +0,0 @@
1
- {
2
- "extends": "./tsconfig.json",
3
- "compilerOptions": {
4
- "preserveSymlinks": true
5
- },
6
- "include": ["src/**/*.ts", "src/**/*.tsx", "*.config.ts"],
7
- "exclude": []
8
- }
@@ -1,8 +0,0 @@
1
- {
2
- "extends": "./tsconfig.json",
3
- "compilerOptions": {
4
- "types": ["node"]
5
- },
6
- "include": ["src/**/*.test.ts", "src/**/*.spec.ts", "src/**/*.d.ts"],
7
- "exclude": []
8
- }
package/vitest.config.ts DELETED
@@ -1,20 +0,0 @@
1
- import { defineConfig } from 'vitest/config'
2
-
3
- export default defineConfig({
4
- test: {
5
- watch: false,
6
- environment: 'edge-runtime',
7
- exclude: [
8
- '**/node_modules/**',
9
- '**/dist/**',
10
- // Exclude real backend integration tests - these run in a separate optional CI workflow
11
- '**/session.integration.test.ts',
12
- ],
13
- coverage: {
14
- exclude: ['**/__generated__/**', '**/node_modules/**', '**/dist/**', '**/*.config.*', '**/scripts/**'],
15
- },
16
- },
17
- resolve: {
18
- extensions: ['.web.ts', '.web.tsx', '.ts', '.tsx', '.js', '.jsx', '.json'],
19
- },
20
- })
@@ -1,14 +0,0 @@
1
- import { defineConfig } from 'vitest/config'
2
-
3
- export default defineConfig({
4
- test: {
5
- watch: false,
6
- environment: 'edge-runtime',
7
- include: ['**/session.integration.test.ts'],
8
- testTimeout: 60000,
9
- hookTimeout: 60000,
10
- },
11
- resolve: {
12
- extensions: ['.web.ts', '.web.tsx', '.ts', '.tsx', '.js', '.jsx', '.json'],
13
- },
14
- })