prividium 0.7.0 → 0.9.0

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.
@@ -1,9 +1,9 @@
1
- import { buildServer } from '../server/server.js';
2
1
  import { log } from '@clack/prompts';
3
2
  import color from 'kleur';
4
- import { CreationWorkflow } from '../server/connection-workflow.js';
5
- import { ConfigFile } from '../server/config-file.js';
6
3
  import { z } from 'zod';
4
+ import { ConfigFile } from '../server/config-file.js';
5
+ import { CreationWorkflow } from '../server/connection-workflow.js';
6
+ import { buildServer } from '../server/server.js';
7
7
  const envSchema = z.object({
8
8
  PRIVIDIUM_RPC_URL: z.string().optional(),
9
9
  USER_PANEL_URL: z.string().optional()
package/dist/cli/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { BASE_CLI } from './base-cli.js';
2
- import { addProxy } from './commands/proxy.js';
3
2
  import { addConfig } from './commands/config.js';
3
+ import { addProxy } from './commands/proxy.js';
4
4
  const actions = [addProxy, addConfig];
5
5
  const baseCli = actions.reduce((argv, applyAction) => {
6
6
  return applyAction(argv);
@@ -1,10 +1,10 @@
1
- import appDirs from 'appdirsjs';
2
- import path from 'node:path';
3
1
  import { existsSync, mkdirSync, readFileSync, rmSync, writeFileSync } from 'node:fs';
4
- import { z } from 'zod';
2
+ import path from 'node:path';
5
3
  import { log } from '@clack/prompts';
4
+ import appDirs from 'appdirsjs';
6
5
  import color from 'kleur';
7
- // eslint-disable-next-line @typescript-eslint/no-explicit-any,@typescript-eslint/no-unsafe-member-access
6
+ import { z } from 'zod';
7
+ // biome-ignore lint/suspicious/noExplicitAny: CJS/ESM interop
8
8
  const appDirsFn = appDirs.default;
9
9
  const dirs = appDirsFn({ appName: 'prividium-proxy' });
10
10
  const urlConfigSchema = z.object({
@@ -1,8 +1,8 @@
1
+ import { setTimeout } from 'node:timers/promises';
1
2
  import { confirm, intro, log, tasks, text } from '@clack/prompts';
2
3
  import color from 'kleur';
3
- import { z } from 'zod';
4
- import { setTimeout } from 'node:timers/promises';
5
4
  import open from 'open';
5
+ import { z } from 'zod';
6
6
  const HEADER = ` .__ .__ .___.__ .__ .__
7
7
  _____________|__|__ _|__| __| _/|__|__ __ _____ ____ | | |__|
8
8
  \\____ \\_ __ \\ \\ \\/ / |/ __ | | | | \\/ \\ ______ _/ ___\\| | | |
@@ -1,12 +1,12 @@
1
- import Fastify from 'fastify';
2
- import { validatorCompiler } from 'fastify-type-provider-zod';
3
- import fastifyStatic from '@fastify/static';
4
- import path from 'node:path';
5
- import { z } from 'zod';
6
- import { fastifyHttpProxy } from '@fastify/http-proxy';
7
1
  import { randomBytes } from 'node:crypto';
2
+ import path from 'node:path';
8
3
  import { log } from '@clack/prompts';
4
+ import { fastifyHttpProxy } from '@fastify/http-proxy';
5
+ import fastifyStatic from '@fastify/static';
9
6
  import { addYears } from 'date-fns/addYears';
7
+ import Fastify from 'fastify';
8
+ import { validatorCompiler } from 'fastify-type-provider-zod';
9
+ import { z } from 'zod';
10
10
  function fastifyApp() {
11
11
  return Fastify().withTypeProvider();
12
12
  }
@@ -25,6 +25,7 @@
25
25
  fill="none"
26
26
  viewBox="0 0 24 24"
27
27
  >
28
+ <title>Loader</title>
28
29
  <circle class="opacity-25" cx="12" cy="12" r="10" stroke="currentColor" stroke-width="4"></circle>
29
30
  <path
30
31
  class="opacity-75"
@@ -1,33 +1,37 @@
1
1
  <!doctype html>
2
2
  <html lang="en">
3
+
3
4
  <head>
4
5
  <meta charset="UTF-8">
5
6
  <meta name="viewport" content="width=device-width, initial-scale=1">
6
7
  <title>Prividium</title>
7
8
  <script src="https://cdn.tailwindcss.com"></script>
8
9
  </head>
10
+
9
11
  <body class="bg-gray-900 text-white flex items-center justify-center h-screen">
10
- <div class="text-center">
11
- <h1 id="main-title" class="text-2xl font-bold">Redirecting...</h1>
12
- <div class="mt-4">
13
- <svg class="animate-spin h-8 w-8 text-white mx-auto" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24">
14
- <circle class="opacity-25" cx="12" cy="12" r="10" stroke="currentColor" stroke-width="4"></circle>
15
- <path class="opacity-75" fill="currentColor" d="M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"></path>
16
- </svg>
12
+ <div class="text-center">
13
+ <h1 id="main-title" class="text-2xl font-bold">Redirecting...</h1>
14
+ <div class="mt-4">
15
+ <svg class="animate-spin h-8 w-8 text-white mx-auto" xmlns="http://www.w3.org/2000/svg"
16
+ fill="none" viewBox="0 0 24 24">
17
+ <title>Loader</title>
18
+ <circle class="opacity-25" cx="12" cy="12" r="10" stroke="currentColor" stroke-width="4"></circle>
19
+ <path class="opacity-75" fill="currentColor"
20
+ d="M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z">
21
+ </path>
22
+ </svg>
23
+ </div>
17
24
  </div>
18
- </div>
19
- <script>
20
- const hashPath = window.location.hash;
21
- const params = new URLSearchParams(hashPath.replace(/^#/, ''));
22
-
23
- fetch('/redirect-uri').then(
24
- (r) => {
25
- return r.text();
26
- },
27
- console.error
28
- ).then(url => {
29
- window.location.assign(url);
30
- });
31
- </script>
25
+ <script>
26
+ fetch('/redirect-uri').then(
27
+ (r) => {
28
+ return r.text();
29
+ },
30
+ console.error
31
+ ).then(url => {
32
+ window.location.assign(url);
33
+ });
34
+ </script>
32
35
  </body>
33
- </html>
36
+
37
+ </html>
@@ -1,5 +1,5 @@
1
1
  import type { Chain } from 'viem';
2
- import { z, type ZodType } from 'zod';
2
+ import { type ZodType, z } from 'zod';
3
3
  import { type AuthorizeTransactionParams, type AuthorizeTransactionResponse, type UserProfile } from './types.js';
4
4
  export declare function rpcUrl(apiUrl: string): string;
5
5
  export declare function walletRpcUrl(apiUrl: string, token: string): string;
@@ -1,8 +1,8 @@
1
+ export { createPrividiumClient } from './create-prividium-client.js';
2
+ export { type AuthCallbackMessage, handleAuthCallback, type OauthScope, PopupAuth } from './popup-auth.js';
1
3
  export { createPrividiumChain } from './prividium-chain.js';
2
- export type { PrividiumConfig, PrividiumChain, PopupOptions, Storage, TokenData, UserProfile, UserRole, AddNetworkParams } from './types.js';
3
- export { AUTH_ERRORS, STORAGE_KEYS } from './types.js';
4
+ export { FORBIDDEN_ERROR_CODE, UNAUTHORIZED_ERROR_CODE } from './rpc-error-codes.js';
4
5
  export { LocalStorage, TokenManager } from './storage.js';
5
6
  export { generateRandomState } from './token-utils.js';
6
- export { PopupAuth, handleAuthCallback, type AuthCallbackMessage, type OauthScope } from './popup-auth.js';
7
- export { UNAUTHORIZED_ERROR_CODE, FORBIDDEN_ERROR_CODE } from './rpc-error-codes.js';
8
- export { createPrividiumClient } from './create-prividium-client.js';
7
+ export type { AddNetworkParams, PopupOptions, PrividiumChain, PrividiumConfig, Storage, TokenData, UserProfile, UserRole } from './types.js';
8
+ export { AUTH_ERRORS, STORAGE_KEYS } from './types.js';
package/dist/sdk/index.js CHANGED
@@ -1,7 +1,7 @@
1
+ export { createPrividiumClient } from './create-prividium-client.js';
2
+ export { handleAuthCallback, PopupAuth } from './popup-auth.js';
1
3
  export { createPrividiumChain } from './prividium-chain.js';
2
- export { AUTH_ERRORS, STORAGE_KEYS } from './types.js';
4
+ export { FORBIDDEN_ERROR_CODE, UNAUTHORIZED_ERROR_CODE } from './rpc-error-codes.js';
3
5
  export { LocalStorage, TokenManager } from './storage.js';
4
6
  export { generateRandomState } from './token-utils.js';
5
- export { PopupAuth, handleAuthCallback } from './popup-auth.js';
6
- export { UNAUTHORIZED_ERROR_CODE, FORBIDDEN_ERROR_CODE } from './rpc-error-codes.js';
7
- export { createPrividiumClient } from './create-prividium-client.js';
7
+ export { AUTH_ERRORS, STORAGE_KEYS } from './types.js';
@@ -1,5 +1,5 @@
1
- import { type PopupOptions } from './types.js';
2
1
  import type { TokenManager } from './storage.js';
2
+ import { type PopupOptions } from './types.js';
3
3
  /**
4
4
  * OAuth scopes that can be requested during authorization
5
5
  *
@@ -1,5 +1,5 @@
1
- import { AUTH_ERRORS } from './types.js';
2
1
  import { generateRandomState } from './token-utils.js';
2
+ import { AUTH_ERRORS } from './types.js';
3
3
  export class PopupAuth {
4
4
  config;
5
5
  constructor(config) {
@@ -84,7 +84,6 @@ export class PopupAuth {
84
84
  cleanup();
85
85
  this.config.tokenManager.clearState();
86
86
  this.config.tokenManager.clearToken();
87
- // eslint-disable-next-line @typescript-eslint/prefer-promise-reject-errors
88
87
  reject(error);
89
88
  });
90
89
  };
@@ -1,9 +1,9 @@
1
1
  import { http } from 'viem';
2
- import { LocalStorage, TokenManager } from './storage.js';
3
- import { PopupAuth } from './popup-auth.js';
2
+ import { buildChainObject, createApiMethods, rpcUrl } from './chain-core.js';
4
3
  import { extractResponseError, hasPrividiumUnauthorizedError } from './error-utils.js';
5
4
  import { PrividiumSessionError } from './errors.js';
6
- import { buildChainObject, createApiMethods, rpcUrl } from './chain-core.js';
5
+ import { PopupAuth } from './popup-auth.js';
6
+ import { LocalStorage, TokenManager } from './storage.js';
7
7
  export function createPrividiumChain(config) {
8
8
  if (config.permissionsApiBaseUrl !== undefined) {
9
9
  throw new Error('"permissionsApiBaseUrl" was deprecated. Please use "prividiumApiBaseUrl" instead.');
@@ -1,10 +1,10 @@
1
1
  import { http } from 'viem';
2
- import { TokenManager } from './storage.js';
3
- import { MemoryStorage } from './memory-storage.js';
4
- import { SiweAuth } from './siwe-auth.js';
2
+ import { buildChainObject, createApiMethods, rpcUrl } from './chain-core.js';
5
3
  import { extractResponseError, hasPrividiumUnauthorizedError } from './error-utils.js';
6
4
  import { PrividiumSessionError } from './errors.js';
7
- import { buildChainObject, createApiMethods, rpcUrl } from './chain-core.js';
5
+ import { MemoryStorage } from './memory-storage.js';
6
+ import { SiweAuth } from './siwe-auth.js';
7
+ import { TokenManager } from './storage.js';
8
8
  export function createPrividiumSiweChain(config) {
9
9
  const autoReauth = config.autoReauthenticate ?? true;
10
10
  const storage = config.storage ?? new MemoryStorage();
@@ -1,11 +1,10 @@
1
- export { createPrividiumSiweChain } from './siwe-chain.js';
2
- export type { PrividiumSiweConfig, PrividiumSiweChain } from './siwe-chain.js';
3
- export { SiweAuth } from './siwe-auth.js';
4
- export type { SiweAuthConfig } from './siwe-auth.js';
1
+ export { createPrividiumClient } from './create-prividium-client.js';
5
2
  export { MemoryStorage } from './memory-storage.js';
3
+ export { FORBIDDEN_ERROR_CODE, UNAUTHORIZED_ERROR_CODE } from './rpc-error-codes.js';
4
+ export type { SiweAuthConfig } from './siwe-auth.js';
5
+ export { SiweAuth } from './siwe-auth.js';
6
+ export type { PrividiumSiweChain, PrividiumSiweConfig } from './siwe-chain.js';
7
+ export { createPrividiumSiweChain } from './siwe-chain.js';
6
8
  export { TokenManager } from './storage.js';
7
- export type { Storage, TokenData } from './types.js';
8
- export { createPrividiumClient } from './create-prividium-client.js';
9
- export type { UserProfile, UserRole, AuthorizeTransactionParams, AuthorizeTransactionResponse } from './types.js';
9
+ export type { AuthorizeTransactionParams, AuthorizeTransactionResponse, Storage, TokenData, UserProfile, UserRole } from './types.js';
10
10
  export { AUTH_ERRORS } from './types.js';
11
- export { UNAUTHORIZED_ERROR_CODE, FORBIDDEN_ERROR_CODE } from './rpc-error-codes.js';
package/dist/sdk/siwe.js CHANGED
@@ -1,11 +1,11 @@
1
1
  // Core factory + types
2
- export { createPrividiumSiweChain } from './siwe-chain.js';
3
- // Auth strategy
4
- export { SiweAuth } from './siwe-auth.js';
2
+ // Viem client (reusable with SIWE chain)
3
+ export { createPrividiumClient } from './create-prividium-client.js';
5
4
  // Storage (MemoryStorage is the default for SIWE, but expose both + interface)
6
5
  export { MemoryStorage } from './memory-storage.js';
6
+ export { FORBIDDEN_ERROR_CODE, UNAUTHORIZED_ERROR_CODE } from './rpc-error-codes.js';
7
+ // Auth strategy
8
+ export { SiweAuth } from './siwe-auth.js';
9
+ export { createPrividiumSiweChain } from './siwe-chain.js';
7
10
  export { TokenManager } from './storage.js';
8
- // Viem client (reusable with SIWE chain)
9
- export { createPrividiumClient } from './create-prividium-client.js';
10
11
  export { AUTH_ERRORS } from './types.js';
11
- export { UNAUTHORIZED_ERROR_CODE, FORBIDDEN_ERROR_CODE } from './rpc-error-codes.js';
@@ -1,6 +1,6 @@
1
- import { STORAGE_KEYS, tokenDataSchema } from './types.js';
2
- import { z } from 'zod';
3
1
  import { addYears } from 'date-fns/addYears';
2
+ import { z } from 'zod';
3
+ import { STORAGE_KEYS, tokenDataSchema } from './types.js';
4
4
  export class LocalStorage {
5
5
  getItem(key) {
6
6
  if (typeof localStorage === 'undefined') {
@@ -1,5 +1,5 @@
1
- import { vi } from 'vitest';
2
1
  import { addMinutes } from 'date-fns';
2
+ import { vi } from 'vitest';
3
3
  export function minutesInTheFuture(minutes) {
4
4
  return addMinutes(new Date(), minutes);
5
5
  }
@@ -1,6 +1,6 @@
1
1
  import type { Address, Chain, Hex, Transport } from 'viem';
2
- import type { OauthScope } from './popup-auth.js';
3
2
  import { z } from 'zod';
3
+ import type { OauthScope } from './popup-auth.js';
4
4
  export interface Storage {
5
5
  getItem(key: string): string | null;
6
6
  setItem(key: string, value: string): void;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "prividium",
3
- "version": "0.7.0",
3
+ "version": "0.9.0",
4
4
  "type": "module",
5
5
  "bin": {
6
6
  "prividium": "bin/cli.js"
@@ -35,7 +35,7 @@
35
35
  "dependencies": {
36
36
  "@clack/prompts": "^0.11.0",
37
37
  "@fastify/http-proxy": "^11.3.0",
38
- "@fastify/static": "^8.3.0",
38
+ "@fastify/static": "^9.0.0",
39
39
  "appdirsjs": "^1.2.7",
40
40
  "date-fns": "^4.1.0",
41
41
  "fastify": "^5.7.2",