@nahisaho/musubix-core 1.0.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.
Files changed (214) hide show
  1. package/bin/musubix.js +18 -0
  2. package/dist/__tests__/index.test.d.ts +2 -0
  3. package/dist/__tests__/index.test.d.ts.map +1 -0
  4. package/dist/__tests__/index.test.js +27 -0
  5. package/dist/__tests__/index.test.js.map +1 -0
  6. package/dist/auth/auth-manager.d.ts +320 -0
  7. package/dist/auth/auth-manager.d.ts.map +1 -0
  8. package/dist/auth/auth-manager.js +580 -0
  9. package/dist/auth/auth-manager.js.map +1 -0
  10. package/dist/cli/base.d.ts +58 -0
  11. package/dist/cli/base.d.ts.map +1 -0
  12. package/dist/cli/base.js +93 -0
  13. package/dist/cli/base.js.map +1 -0
  14. package/dist/cli/commands/help.d.ts +17 -0
  15. package/dist/cli/commands/help.d.ts.map +1 -0
  16. package/dist/cli/commands/help.js +228 -0
  17. package/dist/cli/commands/help.js.map +1 -0
  18. package/dist/cli/commands/index.d.ts +14 -0
  19. package/dist/cli/commands/index.d.ts.map +1 -0
  20. package/dist/cli/commands/index.js +25 -0
  21. package/dist/cli/commands/index.js.map +1 -0
  22. package/dist/cli/commands/init.d.ts +38 -0
  23. package/dist/cli/commands/init.d.ts.map +1 -0
  24. package/dist/cli/commands/init.js +258 -0
  25. package/dist/cli/commands/init.js.map +1 -0
  26. package/dist/cli/index.d.ts +9 -0
  27. package/dist/cli/index.d.ts.map +1 -0
  28. package/dist/cli/index.js +9 -0
  29. package/dist/cli/index.js.map +1 -0
  30. package/dist/codegen/coding-standards.d.ts +250 -0
  31. package/dist/codegen/coding-standards.d.ts.map +1 -0
  32. package/dist/codegen/coding-standards.js +976 -0
  33. package/dist/codegen/coding-standards.js.map +1 -0
  34. package/dist/codegen/coverage-reporter.d.ts +264 -0
  35. package/dist/codegen/coverage-reporter.d.ts.map +1 -0
  36. package/dist/codegen/coverage-reporter.js +697 -0
  37. package/dist/codegen/coverage-reporter.js.map +1 -0
  38. package/dist/codegen/dependency-analyzer.d.ts +271 -0
  39. package/dist/codegen/dependency-analyzer.d.ts.map +1 -0
  40. package/dist/codegen/dependency-analyzer.js +661 -0
  41. package/dist/codegen/dependency-analyzer.js.map +1 -0
  42. package/dist/codegen/generator.d.ts +275 -0
  43. package/dist/codegen/generator.d.ts.map +1 -0
  44. package/dist/codegen/generator.js +781 -0
  45. package/dist/codegen/generator.js.map +1 -0
  46. package/dist/codegen/index.d.ts +18 -0
  47. package/dist/codegen/index.d.ts.map +1 -0
  48. package/dist/codegen/index.js +27 -0
  49. package/dist/codegen/index.js.map +1 -0
  50. package/dist/codegen/integration-test-generator.d.ts +312 -0
  51. package/dist/codegen/integration-test-generator.d.ts.map +1 -0
  52. package/dist/codegen/integration-test-generator.js +765 -0
  53. package/dist/codegen/integration-test-generator.js.map +1 -0
  54. package/dist/codegen/pattern-conformance.d.ts +309 -0
  55. package/dist/codegen/pattern-conformance.d.ts.map +1 -0
  56. package/dist/codegen/pattern-conformance.js +590 -0
  57. package/dist/codegen/pattern-conformance.js.map +1 -0
  58. package/dist/codegen/quality-metrics.d.ts +235 -0
  59. package/dist/codegen/quality-metrics.d.ts.map +1 -0
  60. package/dist/codegen/quality-metrics.js +439 -0
  61. package/dist/codegen/quality-metrics.js.map +1 -0
  62. package/dist/codegen/security-scanner.d.ts +179 -0
  63. package/dist/codegen/security-scanner.d.ts.map +1 -0
  64. package/dist/codegen/security-scanner.js +495 -0
  65. package/dist/codegen/security-scanner.js.map +1 -0
  66. package/dist/codegen/static-analyzer.d.ts +188 -0
  67. package/dist/codegen/static-analyzer.d.ts.map +1 -0
  68. package/dist/codegen/static-analyzer.js +490 -0
  69. package/dist/codegen/static-analyzer.js.map +1 -0
  70. package/dist/codegen/unit-test-generator.d.ts +289 -0
  71. package/dist/codegen/unit-test-generator.d.ts.map +1 -0
  72. package/dist/codegen/unit-test-generator.js +634 -0
  73. package/dist/codegen/unit-test-generator.js.map +1 -0
  74. package/dist/design/adr-generator.d.ts +227 -0
  75. package/dist/design/adr-generator.d.ts.map +1 -0
  76. package/dist/design/adr-generator.js +423 -0
  77. package/dist/design/adr-generator.js.map +1 -0
  78. package/dist/design/c4-generator.d.ts +267 -0
  79. package/dist/design/c4-generator.d.ts.map +1 -0
  80. package/dist/design/c4-generator.js +453 -0
  81. package/dist/design/c4-generator.js.map +1 -0
  82. package/dist/design/framework-optimizer.d.ts +190 -0
  83. package/dist/design/framework-optimizer.d.ts.map +1 -0
  84. package/dist/design/framework-optimizer.js +589 -0
  85. package/dist/design/framework-optimizer.js.map +1 -0
  86. package/dist/design/index.d.ts +12 -0
  87. package/dist/design/index.d.ts.map +1 -0
  88. package/dist/design/index.js +13 -0
  89. package/dist/design/index.js.map +1 -0
  90. package/dist/design/pattern-detector.d.ts +270 -0
  91. package/dist/design/pattern-detector.d.ts.map +1 -0
  92. package/dist/design/pattern-detector.js +621 -0
  93. package/dist/design/pattern-detector.js.map +1 -0
  94. package/dist/design/solid-validator.d.ts +188 -0
  95. package/dist/design/solid-validator.d.ts.map +1 -0
  96. package/dist/design/solid-validator.js +579 -0
  97. package/dist/design/solid-validator.js.map +1 -0
  98. package/dist/error/data-persistence.d.ts +311 -0
  99. package/dist/error/data-persistence.d.ts.map +1 -0
  100. package/dist/error/data-persistence.js +586 -0
  101. package/dist/error/data-persistence.js.map +1 -0
  102. package/dist/error/graceful-degradation.d.ts +309 -0
  103. package/dist/error/graceful-degradation.d.ts.map +1 -0
  104. package/dist/error/graceful-degradation.js +510 -0
  105. package/dist/error/graceful-degradation.js.map +1 -0
  106. package/dist/error/index.d.ts +11 -0
  107. package/dist/error/index.d.ts.map +1 -0
  108. package/dist/error/index.js +19 -0
  109. package/dist/error/index.js.map +1 -0
  110. package/dist/explanation/explanation-generator.d.ts +228 -0
  111. package/dist/explanation/explanation-generator.d.ts.map +1 -0
  112. package/dist/explanation/explanation-generator.js +662 -0
  113. package/dist/explanation/explanation-generator.js.map +1 -0
  114. package/dist/explanation/index.d.ts +11 -0
  115. package/dist/explanation/index.d.ts.map +1 -0
  116. package/dist/explanation/index.js +19 -0
  117. package/dist/explanation/index.js.map +1 -0
  118. package/dist/explanation/reasoning-chain.d.ts +314 -0
  119. package/dist/explanation/reasoning-chain.d.ts.map +1 -0
  120. package/dist/explanation/reasoning-chain.js +414 -0
  121. package/dist/explanation/reasoning-chain.js.map +1 -0
  122. package/dist/explanation/visual-explanation.d.ts +315 -0
  123. package/dist/explanation/visual-explanation.d.ts.map +1 -0
  124. package/dist/explanation/visual-explanation.js +667 -0
  125. package/dist/explanation/visual-explanation.js.map +1 -0
  126. package/dist/index.d.ts +33 -0
  127. package/dist/index.d.ts.map +1 -0
  128. package/dist/index.js +47 -0
  129. package/dist/index.js.map +1 -0
  130. package/dist/requirements/decomposer.d.ts +235 -0
  131. package/dist/requirements/decomposer.d.ts.map +1 -0
  132. package/dist/requirements/decomposer.js +587 -0
  133. package/dist/requirements/decomposer.js.map +1 -0
  134. package/dist/requirements/related-finder.d.ts +261 -0
  135. package/dist/requirements/related-finder.d.ts.map +1 -0
  136. package/dist/requirements/related-finder.js +629 -0
  137. package/dist/requirements/related-finder.js.map +1 -0
  138. package/dist/traceability/impact.d.ts +196 -0
  139. package/dist/traceability/impact.d.ts.map +1 -0
  140. package/dist/traceability/impact.js +438 -0
  141. package/dist/traceability/impact.js.map +1 -0
  142. package/dist/traceability/index.d.ts +9 -0
  143. package/dist/traceability/index.d.ts.map +1 -0
  144. package/dist/traceability/index.js +10 -0
  145. package/dist/traceability/index.js.map +1 -0
  146. package/dist/traceability/manager.d.ts +266 -0
  147. package/dist/traceability/manager.d.ts.map +1 -0
  148. package/dist/traceability/manager.js +412 -0
  149. package/dist/traceability/manager.js.map +1 -0
  150. package/dist/types/common.d.ts +294 -0
  151. package/dist/types/common.d.ts.map +1 -0
  152. package/dist/types/common.js +15 -0
  153. package/dist/types/common.js.map +1 -0
  154. package/dist/types/ears.d.ts +158 -0
  155. package/dist/types/ears.d.ts.map +1 -0
  156. package/dist/types/ears.js +33 -0
  157. package/dist/types/ears.js.map +1 -0
  158. package/dist/types/errors.d.ts +176 -0
  159. package/dist/types/errors.d.ts.map +1 -0
  160. package/dist/types/errors.js +55 -0
  161. package/dist/types/errors.js.map +1 -0
  162. package/dist/types/index.d.ts +10 -0
  163. package/dist/types/index.d.ts.map +1 -0
  164. package/dist/types/index.js +10 -0
  165. package/dist/types/index.js.map +1 -0
  166. package/dist/utils/data-protector.d.ts +122 -0
  167. package/dist/utils/data-protector.d.ts.map +1 -0
  168. package/dist/utils/data-protector.js +275 -0
  169. package/dist/utils/data-protector.js.map +1 -0
  170. package/dist/utils/error-handler.d.ts +101 -0
  171. package/dist/utils/error-handler.d.ts.map +1 -0
  172. package/dist/utils/error-handler.js +324 -0
  173. package/dist/utils/error-handler.js.map +1 -0
  174. package/dist/utils/i18n-manager.d.ts +259 -0
  175. package/dist/utils/i18n-manager.d.ts.map +1 -0
  176. package/dist/utils/i18n-manager.js +554 -0
  177. package/dist/utils/i18n-manager.js.map +1 -0
  178. package/dist/utils/index.d.ts +10 -0
  179. package/dist/utils/index.d.ts.map +1 -0
  180. package/dist/utils/index.js +10 -0
  181. package/dist/utils/index.js.map +1 -0
  182. package/dist/utils/logger.d.ts +120 -0
  183. package/dist/utils/logger.d.ts.map +1 -0
  184. package/dist/utils/logger.js +237 -0
  185. package/dist/utils/logger.js.map +1 -0
  186. package/dist/utils/performance-profiler.d.ts +251 -0
  187. package/dist/utils/performance-profiler.d.ts.map +1 -0
  188. package/dist/utils/performance-profiler.js +458 -0
  189. package/dist/utils/performance-profiler.js.map +1 -0
  190. package/dist/utils/scalability-optimizer.d.ts +294 -0
  191. package/dist/utils/scalability-optimizer.d.ts.map +1 -0
  192. package/dist/utils/scalability-optimizer.js +606 -0
  193. package/dist/utils/scalability-optimizer.js.map +1 -0
  194. package/dist/utils/structured-logger.d.ts +294 -0
  195. package/dist/utils/structured-logger.d.ts.map +1 -0
  196. package/dist/utils/structured-logger.js +630 -0
  197. package/dist/utils/structured-logger.js.map +1 -0
  198. package/dist/utils/version-compatibility.d.ts +217 -0
  199. package/dist/utils/version-compatibility.d.ts.map +1 -0
  200. package/dist/utils/version-compatibility.js +443 -0
  201. package/dist/utils/version-compatibility.js.map +1 -0
  202. package/dist/validators/ears-validator.d.ts +182 -0
  203. package/dist/validators/ears-validator.d.ts.map +1 -0
  204. package/dist/validators/ears-validator.js +357 -0
  205. package/dist/validators/ears-validator.js.map +1 -0
  206. package/dist/validators/index.d.ts +8 -0
  207. package/dist/validators/index.d.ts.map +1 -0
  208. package/dist/validators/index.js +9 -0
  209. package/dist/validators/index.js.map +1 -0
  210. package/dist/version.d.ts +8 -0
  211. package/dist/version.d.ts.map +1 -0
  212. package/dist/version.js +8 -0
  213. package/dist/version.js.map +1 -0
  214. package/package.json +100 -0
package/bin/musubix.js ADDED
@@ -0,0 +1,18 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * MUSUBIX CLI Entry Point
4
+ *
5
+ * @see REQ-ARC-002 - CLI Interface
6
+ *
7
+ * Usage:
8
+ * npx @musubix/core
9
+ * npx musubix
10
+ * musubix <command> [options]
11
+ */
12
+
13
+ import { createProgram } from '../dist/cli/base.js';
14
+ import { registerCommands } from '../dist/cli/commands/index.js';
15
+
16
+ const program = createProgram();
17
+ registerCommands(program);
18
+ program.parse();
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=index.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/index.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * @musubix/core - Basic Tests
3
+ */
4
+ import { describe, it, expect } from 'vitest';
5
+ describe('@musubix/core', () => {
6
+ describe('Package Export', () => {
7
+ it('should export VERSION', async () => {
8
+ const { VERSION } = await import('../index.js');
9
+ expect(VERSION).toBeDefined();
10
+ expect(typeof VERSION).toBe('string');
11
+ });
12
+ it('should export core modules', async () => {
13
+ const core = await import('../index.js');
14
+ // Check that exports exist
15
+ expect(core).toBeDefined();
16
+ expect(Object.keys(core).length).toBeGreaterThan(0);
17
+ });
18
+ });
19
+ describe('Version', () => {
20
+ it('should have valid semver format', async () => {
21
+ const { VERSION } = await import('../index.js');
22
+ const semverPattern = /^\d+\.\d+\.\d+(-[\w.]+)?$/;
23
+ expect(VERSION).toMatch(semverPattern);
24
+ });
25
+ });
26
+ });
27
+ //# sourceMappingURL=index.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../src/__tests__/index.test.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAE9C,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;IAC7B,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;QAC9B,EAAE,CAAC,uBAAuB,EAAE,KAAK,IAAI,EAAE;YACrC,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC;YAChD,MAAM,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;YAC9B,MAAM,CAAC,OAAO,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACxC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,4BAA4B,EAAE,KAAK,IAAI,EAAE;YAC1C,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC;YAEzC,2BAA2B;YAC3B,MAAM,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;YAC3B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;QACtD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,SAAS,EAAE,GAAG,EAAE;QACvB,EAAE,CAAC,iCAAiC,EAAE,KAAK,IAAI,EAAE;YAC/C,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC;YAChD,MAAM,aAAa,GAAG,2BAA2B,CAAC;YAClD,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,320 @@
1
+ /**
2
+ * Authentication Manager
3
+ *
4
+ * Manages authentication and authorization
5
+ *
6
+ * @packageDocumentation
7
+ * @module auth/auth-manager
8
+ *
9
+ * @see REQ-SEC-002 - Authentication & Authorization
10
+ * @see Article VIII - Human Oversight
11
+ */
12
+ /**
13
+ * Auth provider type
14
+ */
15
+ export type AuthProvider = 'local' | 'oauth' | 'saml' | 'ldap' | 'api-key';
16
+ /**
17
+ * Token type
18
+ */
19
+ export type TokenType = 'access' | 'refresh' | 'api-key';
20
+ /**
21
+ * Permission
22
+ */
23
+ export type Permission = 'read' | 'write' | 'delete' | 'admin' | 'requirements:read' | 'requirements:write' | 'design:read' | 'design:write' | 'code:generate' | 'code:execute' | 'explain:access' | 'config:read' | 'config:write';
24
+ /**
25
+ * User info
26
+ */
27
+ export interface UserInfo {
28
+ /** User ID */
29
+ id: string;
30
+ /** Username */
31
+ username: string;
32
+ /** Email */
33
+ email?: string;
34
+ /** Display name */
35
+ displayName?: string;
36
+ /** Roles */
37
+ roles: string[];
38
+ /** Permissions */
39
+ permissions: Permission[];
40
+ /** Auth provider */
41
+ provider: AuthProvider;
42
+ /** Created at */
43
+ createdAt: Date;
44
+ /** Last login */
45
+ lastLogin?: Date;
46
+ /** Is active */
47
+ active: boolean;
48
+ /** Metadata */
49
+ metadata?: Record<string, unknown>;
50
+ }
51
+ /**
52
+ * Auth token
53
+ */
54
+ export interface AuthToken {
55
+ /** Token string */
56
+ token: string;
57
+ /** Token type */
58
+ type: TokenType;
59
+ /** User ID */
60
+ userId: string;
61
+ /** Issued at */
62
+ issuedAt: Date;
63
+ /** Expires at */
64
+ expiresAt: Date;
65
+ /** Scopes */
66
+ scopes: string[];
67
+ /** Is valid */
68
+ valid: boolean;
69
+ }
70
+ /**
71
+ * Auth session
72
+ */
73
+ export interface AuthSession {
74
+ /** Session ID */
75
+ id: string;
76
+ /** User ID */
77
+ userId: string;
78
+ /** Access token */
79
+ accessToken: AuthToken;
80
+ /** Refresh token */
81
+ refreshToken?: AuthToken;
82
+ /** Created at */
83
+ createdAt: Date;
84
+ /** Expires at */
85
+ expiresAt: Date;
86
+ /** IP address */
87
+ ipAddress?: string;
88
+ /** User agent */
89
+ userAgent?: string;
90
+ /** Is active */
91
+ active: boolean;
92
+ }
93
+ /**
94
+ * Login credentials
95
+ */
96
+ export interface LoginCredentials {
97
+ /** Username or email */
98
+ username: string;
99
+ /** Password */
100
+ password: string;
101
+ /** Remember me */
102
+ rememberMe?: boolean;
103
+ /** MFA code */
104
+ mfaCode?: string;
105
+ }
106
+ /**
107
+ * Auth result
108
+ */
109
+ export interface AuthResult {
110
+ /** Success */
111
+ success: boolean;
112
+ /** Session */
113
+ session?: AuthSession;
114
+ /** User */
115
+ user?: UserInfo;
116
+ /** Error message */
117
+ error?: string;
118
+ /** Requires MFA */
119
+ requiresMfa?: boolean;
120
+ }
121
+ /**
122
+ * Role definition
123
+ */
124
+ export interface RoleDefinition {
125
+ /** Role name */
126
+ name: string;
127
+ /** Description */
128
+ description: string;
129
+ /** Permissions */
130
+ permissions: Permission[];
131
+ /** Parent roles (inherit permissions) */
132
+ inherits?: string[];
133
+ }
134
+ /**
135
+ * Auth config
136
+ */
137
+ export interface AuthManagerConfig {
138
+ /** Supported providers */
139
+ providers: AuthProvider[];
140
+ /** Access token lifetime (ms) */
141
+ accessTokenLifetime: number;
142
+ /** Refresh token lifetime (ms) */
143
+ refreshTokenLifetime: number;
144
+ /** Session lifetime (ms) */
145
+ sessionLifetime: number;
146
+ /** Max sessions per user */
147
+ maxSessionsPerUser: number;
148
+ /** Require MFA */
149
+ requireMfa: boolean;
150
+ /** Password policy */
151
+ passwordPolicy: {
152
+ minLength: number;
153
+ requireUppercase: boolean;
154
+ requireLowercase: boolean;
155
+ requireNumbers: boolean;
156
+ requireSpecial: boolean;
157
+ };
158
+ }
159
+ /**
160
+ * Default configuration
161
+ */
162
+ export declare const DEFAULT_AUTH_CONFIG: AuthManagerConfig;
163
+ /**
164
+ * Built-in roles
165
+ */
166
+ export declare const BUILTIN_ROLES: RoleDefinition[];
167
+ /**
168
+ * Authentication Manager
169
+ */
170
+ export declare class AuthManager {
171
+ private config;
172
+ private users;
173
+ private passwords;
174
+ private sessions;
175
+ private tokens;
176
+ private apiKeys;
177
+ private roles;
178
+ private userCounter;
179
+ private sessionCounter;
180
+ constructor(config?: Partial<AuthManagerConfig>);
181
+ /**
182
+ * Initialize built-in roles
183
+ */
184
+ private initializeRoles;
185
+ /**
186
+ * Register a new user
187
+ */
188
+ register(username: string, password: string, email?: string, roles?: string[]): Promise<AuthResult>;
189
+ /**
190
+ * Login with credentials
191
+ */
192
+ login(credentials: LoginCredentials): Promise<AuthResult>;
193
+ /**
194
+ * Logout
195
+ */
196
+ logout(sessionId: string): Promise<boolean>;
197
+ /**
198
+ * Validate token
199
+ */
200
+ validateToken(tokenString: string): AuthToken | null;
201
+ /**
202
+ * Refresh session
203
+ */
204
+ refreshSession(refreshTokenString: string): Promise<AuthResult>;
205
+ /**
206
+ * Create API key
207
+ */
208
+ createApiKey(userId: string, scopes: string[]): string;
209
+ /**
210
+ * Validate API key
211
+ */
212
+ validateApiKey(apiKey: string): {
213
+ user: UserInfo;
214
+ scopes: string[];
215
+ } | null;
216
+ /**
217
+ * Check permission
218
+ */
219
+ hasPermission(userId: string, permission: Permission): boolean;
220
+ /**
221
+ * Check multiple permissions (all required)
222
+ */
223
+ hasAllPermissions(userId: string, permissions: Permission[]): boolean;
224
+ /**
225
+ * Check multiple permissions (any required)
226
+ */
227
+ hasAnyPermission(userId: string, permissions: Permission[]): boolean;
228
+ /**
229
+ * Get user from token
230
+ */
231
+ getUserFromToken(tokenString: string): UserInfo | null;
232
+ /**
233
+ * Add role to user
234
+ */
235
+ addRole(userId: string, roleName: string): boolean;
236
+ /**
237
+ * Remove role from user
238
+ */
239
+ removeRole(userId: string, roleName: string): boolean;
240
+ /**
241
+ * Define custom role
242
+ */
243
+ defineRole(role: RoleDefinition): void;
244
+ /**
245
+ * Get all sessions for user
246
+ */
247
+ getUserSessions(userId: string): AuthSession[];
248
+ /**
249
+ * Revoke all sessions for user
250
+ */
251
+ revokeAllSessions(userId: string): number;
252
+ /**
253
+ * Deactivate user
254
+ */
255
+ deactivateUser(userId: string): boolean;
256
+ /**
257
+ * Activate user
258
+ */
259
+ activateUser(userId: string): boolean;
260
+ /**
261
+ * Change password
262
+ */
263
+ changePassword(userId: string, oldPassword: string, newPassword: string): Promise<{
264
+ success: boolean;
265
+ error?: string;
266
+ }>;
267
+ /**
268
+ * Create session
269
+ */
270
+ private createSession;
271
+ /**
272
+ * Cleanup old sessions for user
273
+ */
274
+ private cleanupSessions;
275
+ /**
276
+ * Resolve permissions from roles
277
+ */
278
+ private resolvePermissions;
279
+ /**
280
+ * Validate password against policy
281
+ */
282
+ private validatePassword;
283
+ /**
284
+ * Hash password (simplified - in production use bcrypt/argon2)
285
+ */
286
+ private hashPassword;
287
+ /**
288
+ * Verify password
289
+ */
290
+ private verifyPassword;
291
+ /**
292
+ * Generate random token
293
+ */
294
+ private generateToken;
295
+ /**
296
+ * Get user by ID
297
+ */
298
+ getUser(userId: string): UserInfo | undefined;
299
+ /**
300
+ * Get all users
301
+ */
302
+ getAllUsers(): UserInfo[];
303
+ /**
304
+ * Get role definition
305
+ */
306
+ getRole(roleName: string): RoleDefinition | undefined;
307
+ /**
308
+ * Get all roles
309
+ */
310
+ getAllRoles(): RoleDefinition[];
311
+ }
312
+ /**
313
+ * Create auth manager instance
314
+ */
315
+ export declare function createAuthManager(config?: Partial<AuthManagerConfig>): AuthManager;
316
+ /**
317
+ * Middleware helper for permission check
318
+ */
319
+ export declare function requirePermission(authManager: AuthManager, ...permissions: Permission[]): (token: string) => boolean;
320
+ //# sourceMappingURL=auth-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth-manager.d.ts","sourceRoot":"","sources":["../../src/auth/auth-manager.ts"],"names":[],"mappings":"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"}