@infinitetoken/lumber-kit 0.2.3 → 0.3.2

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.
@@ -6,6 +6,14 @@ export declare const enum LogLevel {
6
6
  Error = 3,
7
7
  Fatal = 4
8
8
  }
9
+ /** String name for each log level. */
10
+ export type LogLevelName = 'debug' | 'info' | 'warn' | 'error' | 'fatal';
11
+ /** Maps numeric log level to its lowercase string name. */
12
+ export declare const logLevelToName: Record<number, LogLevelName>;
13
+ /** Maps lowercase log level name to its numeric value. */
14
+ export declare const logLevelNameToLevel: Record<LogLevelName, LogLevel>;
15
+ /** All valid log levels, ordered from least to most severe. */
16
+ export declare const logLevels: readonly LogLevel[];
9
17
  /** User subscription level. Mirrors User.subscriptionLevel in Lumber-API. */
10
18
  export declare const enum SubscriptionLevel {
11
19
  Hobby = 0,
@@ -16,7 +24,9 @@ export declare const enum SubscriptionLevel {
16
24
  /** String name for each subscription level, suitable for display and Redux state. */
17
25
  export type SubscriptionLevelName = 'hobby' | 'dev' | 'pro' | 'enterprise';
18
26
  /** Maps numeric subscription level to its string level name. */
19
- export declare const levelToName: Record<SubscriptionLevel, SubscriptionLevelName>;
27
+ export declare const subscriptionLevelToName: Record<SubscriptionLevel, SubscriptionLevelName>;
28
+ /** All valid subscription levels, ordered from least to most severe. */
29
+ export declare const subscriptionLevels: readonly SubscriptionLevel[];
20
30
  export type SubscriptionLimits = {
21
31
  apps: number;
22
32
  memberships: number;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/constants/index.ts"],"names":[],"mappings":"AAEA,oFAAoF;AACpF,0BAAkB,QAAQ;IACxB,KAAK,IAAI;IACT,IAAI,IAAI;IACR,IAAI,IAAI;IACR,KAAK,IAAI;IACT,KAAK,IAAI;CACV;AAED,6EAA6E;AAC7E,0BAAkB,iBAAiB;IACjC,KAAK,IAAI;IACT,GAAG,IAAI;IACP,GAAG,IAAI;IACP,UAAU,IAAI;CACf;AAED,qFAAqF;AACrF,MAAM,MAAM,qBAAqB,GAAG,OAAO,GAAG,KAAK,GAAG,KAAK,GAAG,YAAY,CAAA;AAE1E,gEAAgE;AAChE,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,iBAAiB,EAAE,qBAAqB,CAKxE,CAAA;AACD,MAAM,MAAM,kBAAkB,GAAG;IAC/B,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE,MAAM,CAAA;IACf,gBAAgB,EAAE,MAAM,CAAA;IACxB,WAAW,EAAE,MAAM,CAAA;CACpB,CAAA;AAED,iEAAiE;AACjE,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,iBAAiB,EAAE,kBAAkB,CAK5E,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/constants/index.ts"],"names":[],"mappings":"AAEA,oFAAoF;AACpF,0BAAkB,QAAQ;IACxB,KAAK,IAAI;IACT,IAAI,IAAI;IACR,IAAI,IAAI;IACR,KAAK,IAAI;IACT,KAAK,IAAI;CACV;AAED,sCAAsC;AACtC,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,CAAA;AAExE,2DAA2D;AAC3D,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAMvD,CAAA;AAED,0DAA0D;AAC1D,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,YAAY,EAAE,QAAQ,CAM9D,CAAA;AAED,+DAA+D;AAC/D,eAAO,MAAM,SAAS,EAAE,SAAS,QAAQ,EAAmF,CAAA;AAE5H,6EAA6E;AAC7E,0BAAkB,iBAAiB;IACjC,KAAK,IAAI;IACT,GAAG,IAAI;IACP,GAAG,IAAI;IACP,UAAU,IAAI;CACf;AAED,qFAAqF;AACrF,MAAM,MAAM,qBAAqB,GAAG,OAAO,GAAG,KAAK,GAAG,KAAK,GAAG,YAAY,CAAA;AAE1E,gEAAgE;AAChE,eAAO,MAAM,uBAAuB,EAAE,MAAM,CAAC,iBAAiB,EAAE,qBAAqB,CAKpF,CAAA;AAED,wEAAwE;AACxE,eAAO,MAAM,kBAAkB,EAAE,SAAS,iBAAiB,EAA0G,CAAA;AAErK,MAAM,MAAM,kBAAkB,GAAG;IAC/B,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE,MAAM,CAAA;IACf,gBAAgB,EAAE,MAAM,CAAA;IACxB,WAAW,EAAE,MAAM,CAAA;CACpB,CAAA;AAED,iEAAiE;AACjE,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,iBAAiB,EAAE,kBAAkB,CAK5E,CAAA"}
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  // Source: D-01, D-02 (locked decisions — do not change numeric values without a semver major bump)
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.subscriptionLimits = exports.levelToName = exports.SubscriptionLevel = exports.LogLevel = void 0;
4
+ exports.subscriptionLimits = exports.subscriptionLevels = exports.subscriptionLevelToName = exports.SubscriptionLevel = exports.logLevels = exports.logLevelNameToLevel = exports.logLevelToName = exports.LogLevel = void 0;
5
5
  /** Log severity level. Numeric values match the existing Lumber-API level field. */
6
6
  var LogLevel;
7
7
  (function (LogLevel) {
@@ -11,6 +11,24 @@ var LogLevel;
11
11
  LogLevel[LogLevel["Error"] = 3] = "Error";
12
12
  LogLevel[LogLevel["Fatal"] = 4] = "Fatal";
13
13
  })(LogLevel || (exports.LogLevel = LogLevel = {}));
14
+ /** Maps numeric log level to its lowercase string name. */
15
+ exports.logLevelToName = {
16
+ [0 /* LogLevel.Debug */]: 'debug',
17
+ [1 /* LogLevel.Info */]: 'info',
18
+ [2 /* LogLevel.Warn */]: 'warn',
19
+ [3 /* LogLevel.Error */]: 'error',
20
+ [4 /* LogLevel.Fatal */]: 'fatal'
21
+ };
22
+ /** Maps lowercase log level name to its numeric value. */
23
+ exports.logLevelNameToLevel = {
24
+ debug: 0 /* LogLevel.Debug */,
25
+ info: 1 /* LogLevel.Info */,
26
+ warn: 2 /* LogLevel.Warn */,
27
+ error: 3 /* LogLevel.Error */,
28
+ fatal: 4 /* LogLevel.Fatal */
29
+ };
30
+ /** All valid log levels, ordered from least to most severe. */
31
+ exports.logLevels = [0 /* LogLevel.Debug */, 1 /* LogLevel.Info */, 2 /* LogLevel.Warn */, 3 /* LogLevel.Error */, 4 /* LogLevel.Fatal */];
14
32
  /** User subscription level. Mirrors User.subscriptionLevel in Lumber-API. */
15
33
  var SubscriptionLevel;
16
34
  (function (SubscriptionLevel) {
@@ -20,12 +38,14 @@ var SubscriptionLevel;
20
38
  SubscriptionLevel[SubscriptionLevel["Enterprise"] = 3] = "Enterprise";
21
39
  })(SubscriptionLevel || (exports.SubscriptionLevel = SubscriptionLevel = {}));
22
40
  /** Maps numeric subscription level to its string level name. */
23
- exports.levelToName = {
41
+ exports.subscriptionLevelToName = {
24
42
  [0 /* SubscriptionLevel.Hobby */]: 'hobby',
25
43
  [1 /* SubscriptionLevel.Dev */]: 'dev',
26
44
  [2 /* SubscriptionLevel.Pro */]: 'pro',
27
45
  [3 /* SubscriptionLevel.Enterprise */]: 'enterprise'
28
46
  };
47
+ /** All valid subscription levels, ordered from least to most severe. */
48
+ exports.subscriptionLevels = [0 /* SubscriptionLevel.Hobby */, 1 /* SubscriptionLevel.Dev */, 2 /* SubscriptionLevel.Pro */, 3 /* SubscriptionLevel.Enterprise */];
29
49
  /** Per-level resource limits. Use Infinity to mean unlimited. */
30
50
  exports.subscriptionLimits = {
31
51
  [0 /* SubscriptionLevel.Hobby */]: { apps: 1, memberships: 1, apiKeys: 1, logRetentionDays: 7, monthlyLogs: 10000 },
@@ -1,3 +1,4 @@
1
1
  export * from './constants';
2
2
  export * from './types';
3
+ export * from './utils';
3
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,SAAS,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,SAAS,CAAA;AACvB,cAAc,SAAS,CAAA"}
package/dist/cjs/index.js CHANGED
@@ -16,3 +16,4 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./constants"), exports);
18
18
  __exportStar(require("./types"), exports);
19
+ __exportStar(require("./utils"), exports);
@@ -1,4 +1,5 @@
1
1
  import { LogLevel, SubscriptionLevel } from '../constants';
2
+ export type Appearance = 'system' | 'dark' | 'light';
2
3
  /**
3
4
  * Structured log context content.
4
5
  */
@@ -56,6 +57,8 @@ export interface AppRecord {
56
57
  createdAt: string;
57
58
  updatedAt: string;
58
59
  name: string;
60
+ color?: string;
61
+ logoUrl?: string;
59
62
  encryptedKeys?: AppEncryptedKey[];
60
63
  }
61
64
  /**
@@ -109,6 +112,8 @@ export interface UserRecord {
109
112
  updatedAt: string;
110
113
  email: string;
111
114
  publicKey?: string;
115
+ appearance?: Appearance;
116
+ color?: string;
112
117
  subscriptionLevel: SubscriptionLevel;
113
118
  agreedToTermsVersion?: string;
114
119
  notificationPreferences: NotificationPreferences;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { LogLevel, SubscriptionLevel } from '../constants';
2
+ import { Appearance } from '../types';
3
+ export declare const isValidAppearance: (value: unknown) => value is Appearance;
4
+ /** Accepts 3- and 6-digit hex color strings (#rgb, #rrggbb). */
5
+ export declare const isValidColor: (value: string) => boolean;
6
+ export declare const isValidLogLevel: (value: unknown) => value is LogLevel;
7
+ export declare const isValidSubscriptionLevel: (value: unknown) => value is SubscriptionLevel;
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAa,iBAAiB,EAAsB,MAAM,cAAc,CAAA;AACzF,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AAIrC,eAAO,MAAM,iBAAiB,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,UAA4D,CAAA;AAExH,gEAAgE;AAChE,eAAO,MAAM,YAAY,GAAI,OAAO,MAAM,KAAG,OAA2D,CAAA;AAExG,eAAO,MAAM,eAAe,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,QAA6D,CAAA;AAEvH,eAAO,MAAM,wBAAwB,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,iBAAyF,CAAA"}
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isValidSubscriptionLevel = exports.isValidLogLevel = exports.isValidColor = exports.isValidAppearance = void 0;
4
+ const constants_1 = require("../constants");
5
+ const appearanceValues = ['system', 'dark', 'light'];
6
+ const isValidAppearance = (value) => appearanceValues.includes(value);
7
+ exports.isValidAppearance = isValidAppearance;
8
+ /** Accepts 3- and 6-digit hex color strings (#rgb, #rrggbb). */
9
+ const isValidColor = (value) => /^#([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$/.test(value);
10
+ exports.isValidColor = isValidColor;
11
+ const isValidLogLevel = (value) => constants_1.logLevels.includes(value);
12
+ exports.isValidLogLevel = isValidLogLevel;
13
+ const isValidSubscriptionLevel = (value) => constants_1.subscriptionLevels.includes(value);
14
+ exports.isValidSubscriptionLevel = isValidSubscriptionLevel;
@@ -6,6 +6,14 @@ export declare const enum LogLevel {
6
6
  Error = 3,
7
7
  Fatal = 4
8
8
  }
9
+ /** String name for each log level. */
10
+ export type LogLevelName = 'debug' | 'info' | 'warn' | 'error' | 'fatal';
11
+ /** Maps numeric log level to its lowercase string name. */
12
+ export declare const logLevelToName: Record<number, LogLevelName>;
13
+ /** Maps lowercase log level name to its numeric value. */
14
+ export declare const logLevelNameToLevel: Record<LogLevelName, LogLevel>;
15
+ /** All valid log levels, ordered from least to most severe. */
16
+ export declare const logLevels: readonly LogLevel[];
9
17
  /** User subscription level. Mirrors User.subscriptionLevel in Lumber-API. */
10
18
  export declare const enum SubscriptionLevel {
11
19
  Hobby = 0,
@@ -16,7 +24,9 @@ export declare const enum SubscriptionLevel {
16
24
  /** String name for each subscription level, suitable for display and Redux state. */
17
25
  export type SubscriptionLevelName = 'hobby' | 'dev' | 'pro' | 'enterprise';
18
26
  /** Maps numeric subscription level to its string level name. */
19
- export declare const levelToName: Record<SubscriptionLevel, SubscriptionLevelName>;
27
+ export declare const subscriptionLevelToName: Record<SubscriptionLevel, SubscriptionLevelName>;
28
+ /** All valid subscription levels, ordered from least to most severe. */
29
+ export declare const subscriptionLevels: readonly SubscriptionLevel[];
20
30
  export type SubscriptionLimits = {
21
31
  apps: number;
22
32
  memberships: number;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/constants/index.ts"],"names":[],"mappings":"AAEA,oFAAoF;AACpF,0BAAkB,QAAQ;IACxB,KAAK,IAAI;IACT,IAAI,IAAI;IACR,IAAI,IAAI;IACR,KAAK,IAAI;IACT,KAAK,IAAI;CACV;AAED,6EAA6E;AAC7E,0BAAkB,iBAAiB;IACjC,KAAK,IAAI;IACT,GAAG,IAAI;IACP,GAAG,IAAI;IACP,UAAU,IAAI;CACf;AAED,qFAAqF;AACrF,MAAM,MAAM,qBAAqB,GAAG,OAAO,GAAG,KAAK,GAAG,KAAK,GAAG,YAAY,CAAA;AAE1E,gEAAgE;AAChE,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,iBAAiB,EAAE,qBAAqB,CAKxE,CAAA;AACD,MAAM,MAAM,kBAAkB,GAAG;IAC/B,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE,MAAM,CAAA;IACf,gBAAgB,EAAE,MAAM,CAAA;IACxB,WAAW,EAAE,MAAM,CAAA;CACpB,CAAA;AAED,iEAAiE;AACjE,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,iBAAiB,EAAE,kBAAkB,CAK5E,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/constants/index.ts"],"names":[],"mappings":"AAEA,oFAAoF;AACpF,0BAAkB,QAAQ;IACxB,KAAK,IAAI;IACT,IAAI,IAAI;IACR,IAAI,IAAI;IACR,KAAK,IAAI;IACT,KAAK,IAAI;CACV;AAED,sCAAsC;AACtC,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,CAAA;AAExE,2DAA2D;AAC3D,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAMvD,CAAA;AAED,0DAA0D;AAC1D,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,YAAY,EAAE,QAAQ,CAM9D,CAAA;AAED,+DAA+D;AAC/D,eAAO,MAAM,SAAS,EAAE,SAAS,QAAQ,EAAmF,CAAA;AAE5H,6EAA6E;AAC7E,0BAAkB,iBAAiB;IACjC,KAAK,IAAI;IACT,GAAG,IAAI;IACP,GAAG,IAAI;IACP,UAAU,IAAI;CACf;AAED,qFAAqF;AACrF,MAAM,MAAM,qBAAqB,GAAG,OAAO,GAAG,KAAK,GAAG,KAAK,GAAG,YAAY,CAAA;AAE1E,gEAAgE;AAChE,eAAO,MAAM,uBAAuB,EAAE,MAAM,CAAC,iBAAiB,EAAE,qBAAqB,CAKpF,CAAA;AAED,wEAAwE;AACxE,eAAO,MAAM,kBAAkB,EAAE,SAAS,iBAAiB,EAA0G,CAAA;AAErK,MAAM,MAAM,kBAAkB,GAAG;IAC/B,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE,MAAM,CAAA;IACf,gBAAgB,EAAE,MAAM,CAAA;IACxB,WAAW,EAAE,MAAM,CAAA;CACpB,CAAA;AAED,iEAAiE;AACjE,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,iBAAiB,EAAE,kBAAkB,CAK5E,CAAA"}
@@ -8,6 +8,24 @@ export var LogLevel;
8
8
  LogLevel[LogLevel["Error"] = 3] = "Error";
9
9
  LogLevel[LogLevel["Fatal"] = 4] = "Fatal";
10
10
  })(LogLevel || (LogLevel = {}));
11
+ /** Maps numeric log level to its lowercase string name. */
12
+ export const logLevelToName = {
13
+ [0 /* LogLevel.Debug */]: 'debug',
14
+ [1 /* LogLevel.Info */]: 'info',
15
+ [2 /* LogLevel.Warn */]: 'warn',
16
+ [3 /* LogLevel.Error */]: 'error',
17
+ [4 /* LogLevel.Fatal */]: 'fatal'
18
+ };
19
+ /** Maps lowercase log level name to its numeric value. */
20
+ export const logLevelNameToLevel = {
21
+ debug: 0 /* LogLevel.Debug */,
22
+ info: 1 /* LogLevel.Info */,
23
+ warn: 2 /* LogLevel.Warn */,
24
+ error: 3 /* LogLevel.Error */,
25
+ fatal: 4 /* LogLevel.Fatal */
26
+ };
27
+ /** All valid log levels, ordered from least to most severe. */
28
+ export const logLevels = [0 /* LogLevel.Debug */, 1 /* LogLevel.Info */, 2 /* LogLevel.Warn */, 3 /* LogLevel.Error */, 4 /* LogLevel.Fatal */];
11
29
  /** User subscription level. Mirrors User.subscriptionLevel in Lumber-API. */
12
30
  export var SubscriptionLevel;
13
31
  (function (SubscriptionLevel) {
@@ -17,12 +35,14 @@ export var SubscriptionLevel;
17
35
  SubscriptionLevel[SubscriptionLevel["Enterprise"] = 3] = "Enterprise";
18
36
  })(SubscriptionLevel || (SubscriptionLevel = {}));
19
37
  /** Maps numeric subscription level to its string level name. */
20
- export const levelToName = {
38
+ export const subscriptionLevelToName = {
21
39
  [0 /* SubscriptionLevel.Hobby */]: 'hobby',
22
40
  [1 /* SubscriptionLevel.Dev */]: 'dev',
23
41
  [2 /* SubscriptionLevel.Pro */]: 'pro',
24
42
  [3 /* SubscriptionLevel.Enterprise */]: 'enterprise'
25
43
  };
44
+ /** All valid subscription levels, ordered from least to most severe. */
45
+ export const subscriptionLevels = [0 /* SubscriptionLevel.Hobby */, 1 /* SubscriptionLevel.Dev */, 2 /* SubscriptionLevel.Pro */, 3 /* SubscriptionLevel.Enterprise */];
26
46
  /** Per-level resource limits. Use Infinity to mean unlimited. */
27
47
  export const subscriptionLimits = {
28
48
  [0 /* SubscriptionLevel.Hobby */]: { apps: 1, memberships: 1, apiKeys: 1, logRetentionDays: 7, monthlyLogs: 10000 },
@@ -1,3 +1,4 @@
1
1
  export * from './constants';
2
2
  export * from './types';
3
+ export * from './utils';
3
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,SAAS,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,SAAS,CAAA;AACvB,cAAc,SAAS,CAAA"}
package/dist/esm/index.js CHANGED
@@ -1,2 +1,3 @@
1
1
  export * from './constants';
2
2
  export * from './types';
3
+ export * from './utils';
@@ -1,4 +1,5 @@
1
1
  import { LogLevel, SubscriptionLevel } from '../constants';
2
+ export type Appearance = 'system' | 'dark' | 'light';
2
3
  /**
3
4
  * Structured log context content.
4
5
  */
@@ -56,6 +57,8 @@ export interface AppRecord {
56
57
  createdAt: string;
57
58
  updatedAt: string;
58
59
  name: string;
60
+ color?: string;
61
+ logoUrl?: string;
59
62
  encryptedKeys?: AppEncryptedKey[];
60
63
  }
61
64
  /**
@@ -109,6 +112,8 @@ export interface UserRecord {
109
112
  updatedAt: string;
110
113
  email: string;
111
114
  publicKey?: string;
115
+ appearance?: Appearance;
116
+ color?: string;
112
117
  subscriptionLevel: SubscriptionLevel;
113
118
  agreedToTermsVersion?: string;
114
119
  notificationPreferences: NotificationPreferences;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { LogLevel, SubscriptionLevel } from '../constants';
2
+ import { Appearance } from '../types';
3
+ export declare const isValidAppearance: (value: unknown) => value is Appearance;
4
+ /** Accepts 3- and 6-digit hex color strings (#rgb, #rrggbb). */
5
+ export declare const isValidColor: (value: string) => boolean;
6
+ export declare const isValidLogLevel: (value: unknown) => value is LogLevel;
7
+ export declare const isValidSubscriptionLevel: (value: unknown) => value is SubscriptionLevel;
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAa,iBAAiB,EAAsB,MAAM,cAAc,CAAA;AACzF,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AAIrC,eAAO,MAAM,iBAAiB,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,UAA4D,CAAA;AAExH,gEAAgE;AAChE,eAAO,MAAM,YAAY,GAAI,OAAO,MAAM,KAAG,OAA2D,CAAA;AAExG,eAAO,MAAM,eAAe,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,QAA6D,CAAA;AAEvH,eAAO,MAAM,wBAAwB,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,iBAAyF,CAAA"}
@@ -0,0 +1,7 @@
1
+ import { logLevels, subscriptionLevels } from '../constants';
2
+ const appearanceValues = ['system', 'dark', 'light'];
3
+ export const isValidAppearance = (value) => appearanceValues.includes(value);
4
+ /** Accepts 3- and 6-digit hex color strings (#rgb, #rrggbb). */
5
+ export const isValidColor = (value) => /^#([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$/.test(value);
6
+ export const isValidLogLevel = (value) => logLevels.includes(value);
7
+ export const isValidSubscriptionLevel = (value) => subscriptionLevels.includes(value);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@infinitetoken/lumber-kit",
3
- "version": "0.2.3",
3
+ "version": "0.3.2",
4
4
  "description": "Shared TypeScript types and wire format contracts for the Lumber cloud logging suite",
5
5
  "main": "./dist/cjs/index.js",
6
6
  "module": "./dist/esm/index.js",
@@ -32,8 +32,8 @@
32
32
  "@typescript-eslint/eslint-plugin": "^8.59.1",
33
33
  "@typescript-eslint/parser": "^8.59.1",
34
34
  "eslint": "^10.2.1",
35
- "eslint-config-prettier": "^10.0.0",
36
- "eslint-plugin-prettier": "^5.0.0",
35
+ "eslint-config-prettier": "^10.1.8",
36
+ "eslint-plugin-prettier": "^5.5.4",
37
37
  "eslint-plugin-simple-import-sort": "^13.0.0",
38
38
  "jest": "^30.3.0",
39
39
  "prettier": "^3.8.3",