@soulcraft/brainy 0.58.0 → 0.59.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 (154) hide show
  1. package/bin/brainy.js +539 -387
  2. package/dist/augmentations/conduitAugmentations.js +1 -1
  3. package/dist/augmentations/conduitAugmentations.js.map +1 -1
  4. package/dist/augmentations/cortexSense.js +3 -3
  5. package/dist/augmentations/cortexSense.js.map +1 -1
  6. package/dist/brainyData.js +2 -1
  7. package/dist/brainyData.js.map +1 -1
  8. package/dist/browserFramework.minimal.d.ts +14 -0
  9. package/dist/browserFramework.minimal.js +31 -0
  10. package/dist/browserFramework.minimal.js.map +1 -0
  11. package/dist/cortex/backupRestore.js +2 -2
  12. package/dist/cortex/backupRestore.js.map +1 -1
  13. package/dist/cortex/cortex.d.ts +17 -2
  14. package/dist/cortex/cortex.js +262 -103
  15. package/dist/cortex/cortex.js.map +1 -1
  16. package/dist/cortex/neuralImport.js +2 -2
  17. package/dist/cortex/neuralImport.js.map +1 -1
  18. package/dist/cortex/serviceIntegration.js +2 -2
  19. package/dist/cortex/serviceIntegration.js.map +1 -1
  20. package/dist/distributed/configManager.js +1 -1
  21. package/dist/distributed/configManager.js.map +1 -1
  22. package/dist/index.d.ts +0 -1
  23. package/dist/index.js +2 -2
  24. package/dist/index.js.map +1 -1
  25. package/dist/mcp/brainyMCPAdapter.js +1 -1
  26. package/dist/mcp/brainyMCPAdapter.js.map +1 -1
  27. package/dist/mcp/brainyMCPBroadcast.d.ts +82 -0
  28. package/dist/mcp/brainyMCPBroadcast.js +303 -0
  29. package/dist/mcp/brainyMCPBroadcast.js.map +1 -0
  30. package/dist/mcp/brainyMCPClient.d.ts +92 -0
  31. package/dist/mcp/brainyMCPClient.js +254 -0
  32. package/dist/mcp/brainyMCPClient.js.map +1 -0
  33. package/dist/mcp/brainyMCPService.js +1 -1
  34. package/dist/mcp/brainyMCPService.js.map +1 -1
  35. package/dist/mcp/mcpAugmentationToolset.js +1 -1
  36. package/dist/mcp/mcpAugmentationToolset.js.map +1 -1
  37. package/dist/universal/crypto.d.ts +64 -0
  38. package/dist/universal/crypto.js +215 -0
  39. package/dist/universal/crypto.js.map +1 -0
  40. package/dist/universal/events.d.ts +31 -0
  41. package/dist/universal/events.js +156 -0
  42. package/dist/universal/events.js.map +1 -0
  43. package/dist/universal/fs.d.ts +102 -0
  44. package/dist/universal/fs.js +304 -0
  45. package/dist/universal/fs.js.map +1 -0
  46. package/dist/universal/index.d.ts +16 -0
  47. package/dist/universal/index.js +23 -0
  48. package/dist/universal/index.js.map +1 -0
  49. package/dist/universal/path.d.ts +51 -0
  50. package/dist/universal/path.js +161 -0
  51. package/dist/universal/path.js.map +1 -0
  52. package/dist/universal/uuid.d.ts +10 -0
  53. package/dist/universal/uuid.js +21 -0
  54. package/dist/universal/uuid.js.map +1 -0
  55. package/package.json +55 -2
  56. package/dist/augmentationFactory.d.ts.map +0 -1
  57. package/dist/augmentationPipeline.d.ts.map +0 -1
  58. package/dist/augmentationRegistry.d.ts.map +0 -1
  59. package/dist/augmentationRegistryLoader.d.ts.map +0 -1
  60. package/dist/augmentations/conduitAugmentations.d.ts.map +0 -1
  61. package/dist/augmentations/memoryAugmentations.d.ts.map +0 -1
  62. package/dist/augmentations/serverSearchAugmentations.d.ts.map +0 -1
  63. package/dist/brainyData.d.ts.map +0 -1
  64. package/dist/browserFramework.d.ts.map +0 -1
  65. package/dist/coreTypes.d.ts.map +0 -1
  66. package/dist/cortex/cli.d.ts +0 -8
  67. package/dist/cortex/cli.js +0 -207
  68. package/dist/cortex/cli.js.map +0 -1
  69. package/dist/cortex/commands/index.d.ts +0 -79
  70. package/dist/cortex/commands/index.js +0 -614
  71. package/dist/cortex/commands/index.js.map +0 -1
  72. package/dist/cortex/config.d.ts +0 -112
  73. package/dist/cortex/config.js +0 -312
  74. package/dist/cortex/config.js.map +0 -1
  75. package/dist/cortex/licensingSystem.d.ts +0 -126
  76. package/dist/cortex/licensingSystem.js +0 -474
  77. package/dist/cortex/licensingSystem.js.map +0 -1
  78. package/dist/cortex/webhookManager.d.ts +0 -39
  79. package/dist/cortex/webhookManager.js +0 -326
  80. package/dist/cortex/webhookManager.js.map +0 -1
  81. package/dist/demo.d.ts.map +0 -1
  82. package/dist/distributed/configManager.d.ts.map +0 -1
  83. package/dist/distributed/domainDetector.d.ts.map +0 -1
  84. package/dist/distributed/hashPartitioner.d.ts.map +0 -1
  85. package/dist/distributed/healthMonitor.d.ts.map +0 -1
  86. package/dist/distributed/index.d.ts.map +0 -1
  87. package/dist/distributed/operationalModes.d.ts.map +0 -1
  88. package/dist/errors/brainyError.d.ts.map +0 -1
  89. package/dist/examples/basicUsage.d.ts.map +0 -1
  90. package/dist/hnsw/distributedSearch.d.ts.map +0 -1
  91. package/dist/hnsw/hnswIndex.d.ts.map +0 -1
  92. package/dist/hnsw/hnswIndexOptimized.d.ts.map +0 -1
  93. package/dist/hnsw/optimizedHNSWIndex.d.ts.map +0 -1
  94. package/dist/hnsw/partitionedHNSWIndex.d.ts.map +0 -1
  95. package/dist/hnsw/scaledHNSWSystem.d.ts.map +0 -1
  96. package/dist/index.d.ts.map +0 -1
  97. package/dist/mcp/brainyMCPAdapter.d.ts.map +0 -1
  98. package/dist/mcp/brainyMCPService.d.ts.map +0 -1
  99. package/dist/mcp/index.d.ts.map +0 -1
  100. package/dist/mcp/mcpAugmentationToolset.d.ts.map +0 -1
  101. package/dist/pipeline.d.ts.map +0 -1
  102. package/dist/sequentialPipeline.d.ts.map +0 -1
  103. package/dist/setup.d.ts.map +0 -1
  104. package/dist/storage/adapters/baseStorageAdapter.d.ts.map +0 -1
  105. package/dist/storage/adapters/batchS3Operations.d.ts.map +0 -1
  106. package/dist/storage/adapters/fileSystemStorage.d.ts.map +0 -1
  107. package/dist/storage/adapters/memoryStorage.d.ts.map +0 -1
  108. package/dist/storage/adapters/opfsStorage.d.ts.map +0 -1
  109. package/dist/storage/adapters/optimizedS3Search.d.ts.map +0 -1
  110. package/dist/storage/adapters/s3CompatibleStorage.d.ts.map +0 -1
  111. package/dist/storage/baseStorage.d.ts.map +0 -1
  112. package/dist/storage/cacheManager.d.ts.map +0 -1
  113. package/dist/storage/enhancedCacheManager.d.ts.map +0 -1
  114. package/dist/storage/readOnlyOptimizations.d.ts.map +0 -1
  115. package/dist/storage/storageFactory.d.ts.map +0 -1
  116. package/dist/types/augmentations.d.ts.map +0 -1
  117. package/dist/types/brainyDataInterface.d.ts.map +0 -1
  118. package/dist/types/distributedTypes.d.ts.map +0 -1
  119. package/dist/types/fileSystemTypes.d.ts.map +0 -1
  120. package/dist/types/graphTypes.d.ts.map +0 -1
  121. package/dist/types/mcpTypes.d.ts.map +0 -1
  122. package/dist/types/paginationTypes.d.ts.map +0 -1
  123. package/dist/types/pipelineTypes.d.ts.map +0 -1
  124. package/dist/types/tensorflowTypes.d.ts +0 -26
  125. package/dist/types/tensorflowTypes.d.ts.map +0 -1
  126. package/dist/types/tensorflowTypes.js +0 -6
  127. package/dist/types/tensorflowTypes.js.map +0 -1
  128. package/dist/unified.d.ts.map +0 -1
  129. package/dist/utils/autoConfiguration.d.ts.map +0 -1
  130. package/dist/utils/cacheAutoConfig.d.ts.map +0 -1
  131. package/dist/utils/crypto.d.ts.map +0 -1
  132. package/dist/utils/distance.d.ts.map +0 -1
  133. package/dist/utils/embedding.d.ts.map +0 -1
  134. package/dist/utils/environment.d.ts.map +0 -1
  135. package/dist/utils/fieldNameTracking.d.ts.map +0 -1
  136. package/dist/utils/index.d.ts.map +0 -1
  137. package/dist/utils/jsonProcessing.d.ts.map +0 -1
  138. package/dist/utils/logger.d.ts.map +0 -1
  139. package/dist/utils/operationUtils.d.ts.map +0 -1
  140. package/dist/utils/robustModelLoader.d.ts +0 -112
  141. package/dist/utils/robustModelLoader.d.ts.map +0 -1
  142. package/dist/utils/robustModelLoader.js +0 -624
  143. package/dist/utils/robustModelLoader.js.map +0 -1
  144. package/dist/utils/searchCache.d.ts.map +0 -1
  145. package/dist/utils/statistics.d.ts.map +0 -1
  146. package/dist/utils/statisticsCollector.d.ts.map +0 -1
  147. package/dist/utils/textEncoding.d.ts.map +0 -1
  148. package/dist/utils/typeUtils.d.ts.map +0 -1
  149. package/dist/utils/version.d.ts.map +0 -1
  150. package/dist/utils/workerUtils.d.ts.map +0 -1
  151. package/dist/webhooks/webhookSystem.d.ts +0 -114
  152. package/dist/webhooks/webhookSystem.js +0 -321
  153. package/dist/webhooks/webhookSystem.js.map +0 -1
  154. package/dist/worker.d.ts.map +0 -1
@@ -0,0 +1,304 @@
1
+ /**
2
+ * Universal File System implementation
3
+ * Browser: Uses OPFS (Origin Private File System)
4
+ * Node.js: Uses built-in fs/promises
5
+ * Serverless: Uses memory-based fallback
6
+ */
7
+ import { isBrowser, isNode } from '../utils/environment.js';
8
+ let nodeFs = null;
9
+ // Dynamic import for Node.js fs (only in Node.js environment)
10
+ if (isNode()) {
11
+ try {
12
+ nodeFs = await import('fs/promises');
13
+ }
14
+ catch {
15
+ // Ignore import errors in non-Node environments
16
+ }
17
+ }
18
+ /**
19
+ * Browser implementation using OPFS
20
+ */
21
+ class BrowserFS {
22
+ async getRoot() {
23
+ if ('storage' in navigator && 'getDirectory' in navigator.storage) {
24
+ return await navigator.storage.getDirectory();
25
+ }
26
+ throw new Error('OPFS not supported in this browser');
27
+ }
28
+ async getFileHandle(path, create = false) {
29
+ const root = await this.getRoot();
30
+ const parts = path.split('/').filter(p => p);
31
+ let dir = root;
32
+ for (let i = 0; i < parts.length - 1; i++) {
33
+ dir = await dir.getDirectoryHandle(parts[i], { create });
34
+ }
35
+ const fileName = parts[parts.length - 1];
36
+ return await dir.getFileHandle(fileName, { create });
37
+ }
38
+ async getDirHandle(path, create = false) {
39
+ const root = await this.getRoot();
40
+ const parts = path.split('/').filter(p => p);
41
+ let dir = root;
42
+ for (const part of parts) {
43
+ dir = await dir.getDirectoryHandle(part, { create });
44
+ }
45
+ return dir;
46
+ }
47
+ async readFile(path, encoding) {
48
+ try {
49
+ const fileHandle = await this.getFileHandle(path);
50
+ const file = await fileHandle.getFile();
51
+ return await file.text();
52
+ }
53
+ catch (error) {
54
+ throw new Error(`File not found: ${path}`);
55
+ }
56
+ }
57
+ async writeFile(path, data, encoding) {
58
+ const fileHandle = await this.getFileHandle(path, true);
59
+ const writable = await fileHandle.createWritable();
60
+ await writable.write(data);
61
+ await writable.close();
62
+ }
63
+ async mkdir(path, options = { recursive: true }) {
64
+ await this.getDirHandle(path, true);
65
+ }
66
+ async exists(path) {
67
+ try {
68
+ await this.getFileHandle(path);
69
+ return true;
70
+ }
71
+ catch {
72
+ try {
73
+ await this.getDirHandle(path);
74
+ return true;
75
+ }
76
+ catch {
77
+ return false;
78
+ }
79
+ }
80
+ }
81
+ async readdir(path, options) {
82
+ const dir = await this.getDirHandle(path);
83
+ if (options?.withFileTypes) {
84
+ const entries = [];
85
+ for await (const [name, handle] of dir.entries()) {
86
+ entries.push({
87
+ name,
88
+ isDirectory: () => handle.kind === 'directory',
89
+ isFile: () => handle.kind === 'file'
90
+ });
91
+ }
92
+ return entries;
93
+ }
94
+ else {
95
+ const entries = [];
96
+ for await (const [name] of dir.entries()) {
97
+ entries.push(name);
98
+ }
99
+ return entries;
100
+ }
101
+ }
102
+ async unlink(path) {
103
+ const parts = path.split('/').filter(p => p);
104
+ const fileName = parts.pop();
105
+ const dirPath = parts.join('/');
106
+ if (dirPath) {
107
+ const dir = await this.getDirHandle(dirPath);
108
+ await dir.removeEntry(fileName);
109
+ }
110
+ else {
111
+ const root = await this.getRoot();
112
+ await root.removeEntry(fileName);
113
+ }
114
+ }
115
+ async stat(path) {
116
+ try {
117
+ await this.getFileHandle(path);
118
+ return { isFile: () => true, isDirectory: () => false };
119
+ }
120
+ catch {
121
+ try {
122
+ await this.getDirHandle(path);
123
+ return { isFile: () => false, isDirectory: () => true };
124
+ }
125
+ catch {
126
+ throw new Error(`Path not found: ${path}`);
127
+ }
128
+ }
129
+ }
130
+ async access(path, mode) {
131
+ const exists = await this.exists(path);
132
+ if (!exists) {
133
+ throw new Error(`ENOENT: no such file or directory, access '${path}'`);
134
+ }
135
+ }
136
+ }
137
+ /**
138
+ * Node.js implementation using fs/promises
139
+ */
140
+ class NodeFS {
141
+ async readFile(path, encoding = 'utf-8') {
142
+ return await nodeFs.readFile(path, encoding);
143
+ }
144
+ async writeFile(path, data, encoding = 'utf-8') {
145
+ await nodeFs.writeFile(path, data, encoding);
146
+ }
147
+ async mkdir(path, options = { recursive: true }) {
148
+ await nodeFs.mkdir(path, options);
149
+ }
150
+ async exists(path) {
151
+ try {
152
+ await nodeFs.access(path);
153
+ return true;
154
+ }
155
+ catch {
156
+ return false;
157
+ }
158
+ }
159
+ async readdir(path, options) {
160
+ if (options?.withFileTypes) {
161
+ return await nodeFs.readdir(path, { withFileTypes: true });
162
+ }
163
+ return await nodeFs.readdir(path);
164
+ }
165
+ async unlink(path) {
166
+ await nodeFs.unlink(path);
167
+ }
168
+ async stat(path) {
169
+ const stats = await nodeFs.stat(path);
170
+ return {
171
+ isFile: () => stats.isFile(),
172
+ isDirectory: () => stats.isDirectory()
173
+ };
174
+ }
175
+ async access(path, mode) {
176
+ await nodeFs.access(path, mode);
177
+ }
178
+ }
179
+ /**
180
+ * Memory-based fallback for serverless/edge environments
181
+ */
182
+ class MemoryFS {
183
+ constructor() {
184
+ this.files = new Map();
185
+ this.dirs = new Set();
186
+ }
187
+ async readFile(path, encoding) {
188
+ const content = this.files.get(path);
189
+ if (content === undefined) {
190
+ throw new Error(`File not found: ${path}`);
191
+ }
192
+ return content;
193
+ }
194
+ async writeFile(path, data, encoding) {
195
+ this.files.set(path, data);
196
+ // Ensure parent directories exist
197
+ const parts = path.split('/').slice(0, -1);
198
+ for (let i = 1; i <= parts.length; i++) {
199
+ this.dirs.add(parts.slice(0, i).join('/'));
200
+ }
201
+ }
202
+ async mkdir(path, options = { recursive: true }) {
203
+ this.dirs.add(path);
204
+ if (options.recursive) {
205
+ const parts = path.split('/');
206
+ for (let i = 1; i <= parts.length; i++) {
207
+ this.dirs.add(parts.slice(0, i).join('/'));
208
+ }
209
+ }
210
+ }
211
+ async exists(path) {
212
+ return this.files.has(path) || this.dirs.has(path);
213
+ }
214
+ async readdir(path, options) {
215
+ const entries = new Set();
216
+ const pathPrefix = path + '/';
217
+ for (const filePath of this.files.keys()) {
218
+ if (filePath.startsWith(pathPrefix)) {
219
+ const relativePath = filePath.slice(pathPrefix.length);
220
+ const firstSegment = relativePath.split('/')[0];
221
+ entries.add(firstSegment);
222
+ }
223
+ }
224
+ for (const dirPath of this.dirs) {
225
+ if (dirPath.startsWith(pathPrefix)) {
226
+ const relativePath = dirPath.slice(pathPrefix.length);
227
+ const firstSegment = relativePath.split('/')[0];
228
+ if (firstSegment)
229
+ entries.add(firstSegment);
230
+ }
231
+ }
232
+ if (options?.withFileTypes) {
233
+ return Array.from(entries).map(name => ({
234
+ name,
235
+ isDirectory: () => this.dirs.has(path + '/' + name),
236
+ isFile: () => this.files.has(path + '/' + name)
237
+ }));
238
+ }
239
+ return Array.from(entries);
240
+ }
241
+ async unlink(path) {
242
+ this.files.delete(path);
243
+ }
244
+ async stat(path) {
245
+ const isFile = this.files.has(path);
246
+ const isDir = this.dirs.has(path);
247
+ if (!isFile && !isDir) {
248
+ throw new Error(`Path not found: ${path}`);
249
+ }
250
+ return {
251
+ isFile: () => isFile,
252
+ isDirectory: () => isDir
253
+ };
254
+ }
255
+ async access(path, mode) {
256
+ const exists = await this.exists(path);
257
+ if (!exists) {
258
+ throw new Error(`ENOENT: no such file or directory, access '${path}'`);
259
+ }
260
+ }
261
+ }
262
+ // Create the appropriate filesystem implementation
263
+ let fsImpl;
264
+ if (isBrowser()) {
265
+ fsImpl = new BrowserFS();
266
+ }
267
+ else if (isNode() && nodeFs) {
268
+ fsImpl = new NodeFS();
269
+ }
270
+ else {
271
+ fsImpl = new MemoryFS();
272
+ }
273
+ // Export the filesystem operations
274
+ export const readFile = fsImpl.readFile.bind(fsImpl);
275
+ export const writeFile = fsImpl.writeFile.bind(fsImpl);
276
+ export const mkdir = fsImpl.mkdir.bind(fsImpl);
277
+ export const exists = fsImpl.exists.bind(fsImpl);
278
+ export const readdir = fsImpl.readdir.bind(fsImpl);
279
+ export const unlink = fsImpl.unlink.bind(fsImpl);
280
+ export const stat = fsImpl.stat.bind(fsImpl);
281
+ export const access = fsImpl.access.bind(fsImpl);
282
+ // Default export with promises namespace compatibility
283
+ export default {
284
+ readFile,
285
+ writeFile,
286
+ mkdir,
287
+ exists,
288
+ readdir,
289
+ unlink,
290
+ stat,
291
+ access
292
+ };
293
+ // Named export for fs/promises compatibility
294
+ export const promises = {
295
+ readFile,
296
+ writeFile,
297
+ mkdir,
298
+ exists,
299
+ readdir,
300
+ unlink,
301
+ stat,
302
+ access
303
+ };
304
+ //# sourceMappingURL=fs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fs.js","sourceRoot":"","sources":["../../src/universal/fs.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Universal adapters for cross-environment compatibility
3
+ * Provides consistent APIs across Browser, Node.js, and Serverless environments
4
+ */
5
+ export * from './uuid.js';
6
+ export { default as uuid } from './uuid.js';
7
+ export * from './crypto.js';
8
+ export { default as crypto } from './crypto.js';
9
+ export * from './fs.js';
10
+ export { default as fs } from './fs.js';
11
+ export * from './path.js';
12
+ export { default as path } from './path.js';
13
+ export * from './events.js';
14
+ export { default as events } from './events.js';
15
+ export { v4 as uuidv4 } from './uuid.js';
16
+ export { EventEmitter } from './events.js';
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Universal adapters for cross-environment compatibility
3
+ * Provides consistent APIs across Browser, Node.js, and Serverless environments
4
+ */
5
+ // UUID adapter
6
+ export * from './uuid.js';
7
+ export { default as uuid } from './uuid.js';
8
+ // Crypto adapter
9
+ export * from './crypto.js';
10
+ export { default as crypto } from './crypto.js';
11
+ // File system adapter
12
+ export * from './fs.js';
13
+ export { default as fs } from './fs.js';
14
+ // Path adapter
15
+ export * from './path.js';
16
+ export { default as path } from './path.js';
17
+ // Events adapter
18
+ export * from './events.js';
19
+ export { default as events } from './events.js';
20
+ // Convenience re-exports for common patterns
21
+ export { v4 as uuidv4 } from './uuid.js';
22
+ export { EventEmitter } from './events.js';
23
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/universal/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,eAAe;AACf,cAAc,WAAW,CAAA;AACzB,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,WAAW,CAAA;AAE3C,mBAAmB;AACnB,cAAc,aAAa,CAAA;AAC3B,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,aAAa,CAAA;AAE/C,sBAAsB;AACtB,cAAc,SAAS,CAAA;AACvB,OAAO,EAAE,OAAO,IAAI,EAAE,EAAE,MAAM,SAAS,CAAA;AAEvC,eAAe;AACf,cAAc,WAAW,CAAA;AACzB,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,WAAW,CAAA;AAE3C,iBAAiB;AACjB,cAAc,aAAa,CAAA;AAC3B,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,aAAa,CAAA;AAE/C,6CAA6C;AAC7C,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,WAAW,CAAA;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA"}
@@ -0,0 +1,51 @@
1
+ /**
2
+ * Universal Path implementation
3
+ * Browser: Manual path operations
4
+ * Node.js: Uses built-in path module
5
+ */
6
+ /**
7
+ * Universal path operations
8
+ */
9
+ export declare function join(...paths: string[]): string;
10
+ export declare function dirname(path: string): string;
11
+ export declare function basename(path: string, ext?: string): string;
12
+ export declare function extname(path: string): string;
13
+ export declare function resolve(...paths: string[]): string;
14
+ export declare function relative(from: string, to: string): string;
15
+ export declare function isAbsolute(path: string): boolean;
16
+ export declare const sep = "/";
17
+ export declare const delimiter = ":";
18
+ export declare const posix: {
19
+ join: typeof join;
20
+ dirname: typeof dirname;
21
+ basename: typeof basename;
22
+ extname: typeof extname;
23
+ resolve: typeof resolve;
24
+ relative: typeof relative;
25
+ isAbsolute: typeof isAbsolute;
26
+ sep: string;
27
+ delimiter: string;
28
+ };
29
+ declare const _default: {
30
+ join: typeof join;
31
+ dirname: typeof dirname;
32
+ basename: typeof basename;
33
+ extname: typeof extname;
34
+ resolve: typeof resolve;
35
+ relative: typeof relative;
36
+ isAbsolute: typeof isAbsolute;
37
+ sep: string;
38
+ delimiter: string;
39
+ posix: {
40
+ join: typeof join;
41
+ dirname: typeof dirname;
42
+ basename: typeof basename;
43
+ extname: typeof extname;
44
+ resolve: typeof resolve;
45
+ relative: typeof relative;
46
+ isAbsolute: typeof isAbsolute;
47
+ sep: string;
48
+ delimiter: string;
49
+ };
50
+ };
51
+ export default _default;
@@ -0,0 +1,161 @@
1
+ /**
2
+ * Universal Path implementation
3
+ * Browser: Manual path operations
4
+ * Node.js: Uses built-in path module
5
+ */
6
+ import { isNode } from '../utils/environment.js';
7
+ let nodePath = null;
8
+ // Dynamic import for Node.js path (only in Node.js environment)
9
+ if (isNode()) {
10
+ try {
11
+ nodePath = await import('path');
12
+ }
13
+ catch {
14
+ // Ignore import errors in non-Node environments
15
+ }
16
+ }
17
+ /**
18
+ * Universal path operations
19
+ */
20
+ export function join(...paths) {
21
+ if (nodePath) {
22
+ return nodePath.join(...paths);
23
+ }
24
+ // Browser fallback implementation
25
+ const parts = [];
26
+ for (const path of paths) {
27
+ if (path) {
28
+ parts.push(...path.split('/').filter(p => p));
29
+ }
30
+ }
31
+ return parts.join('/');
32
+ }
33
+ export function dirname(path) {
34
+ if (nodePath) {
35
+ return nodePath.dirname(path);
36
+ }
37
+ // Browser fallback implementation
38
+ const parts = path.split('/').filter(p => p);
39
+ if (parts.length <= 1)
40
+ return '.';
41
+ return parts.slice(0, -1).join('/');
42
+ }
43
+ export function basename(path, ext) {
44
+ if (nodePath) {
45
+ return nodePath.basename(path, ext);
46
+ }
47
+ // Browser fallback implementation
48
+ const parts = path.split('/');
49
+ let name = parts[parts.length - 1];
50
+ if (ext && name.endsWith(ext)) {
51
+ name = name.slice(0, -ext.length);
52
+ }
53
+ return name;
54
+ }
55
+ export function extname(path) {
56
+ if (nodePath) {
57
+ return nodePath.extname(path);
58
+ }
59
+ // Browser fallback implementation
60
+ const name = basename(path);
61
+ const lastDot = name.lastIndexOf('.');
62
+ return lastDot === -1 ? '' : name.slice(lastDot);
63
+ }
64
+ export function resolve(...paths) {
65
+ if (nodePath) {
66
+ return nodePath.resolve(...paths);
67
+ }
68
+ // Browser fallback implementation
69
+ let resolved = '';
70
+ let resolvedAbsolute = false;
71
+ for (let i = paths.length - 1; i >= -1 && !resolvedAbsolute; i--) {
72
+ const path = i >= 0 ? paths[i] : '/';
73
+ if (!path)
74
+ continue;
75
+ resolved = path + '/' + resolved;
76
+ resolvedAbsolute = path.charAt(0) === '/';
77
+ }
78
+ // Normalize the path
79
+ resolved = normalizeArray(resolved.split('/').filter(p => p), !resolvedAbsolute).join('/');
80
+ return (resolvedAbsolute ? '/' : '') + resolved;
81
+ }
82
+ export function relative(from, to) {
83
+ if (nodePath) {
84
+ return nodePath.relative(from, to);
85
+ }
86
+ // Browser fallback implementation
87
+ const fromParts = resolve(from).split('/').filter(p => p);
88
+ const toParts = resolve(to).split('/').filter(p => p);
89
+ let commonLength = 0;
90
+ for (let i = 0; i < Math.min(fromParts.length, toParts.length); i++) {
91
+ if (fromParts[i] === toParts[i]) {
92
+ commonLength++;
93
+ }
94
+ else {
95
+ break;
96
+ }
97
+ }
98
+ const upCount = fromParts.length - commonLength;
99
+ const upParts = new Array(upCount).fill('..');
100
+ const downParts = toParts.slice(commonLength);
101
+ return [...upParts, ...downParts].join('/');
102
+ }
103
+ export function isAbsolute(path) {
104
+ if (nodePath) {
105
+ return nodePath.isAbsolute(path);
106
+ }
107
+ // Browser fallback implementation
108
+ return path.charAt(0) === '/';
109
+ }
110
+ /**
111
+ * Normalize array helper function
112
+ */
113
+ function normalizeArray(parts, allowAboveRoot) {
114
+ const res = [];
115
+ for (let i = 0; i < parts.length; i++) {
116
+ const p = parts[i];
117
+ if (!p || p === '.')
118
+ continue;
119
+ if (p === '..') {
120
+ if (res.length && res[res.length - 1] !== '..') {
121
+ res.pop();
122
+ }
123
+ else if (allowAboveRoot) {
124
+ res.push('..');
125
+ }
126
+ }
127
+ else {
128
+ res.push(p);
129
+ }
130
+ }
131
+ return res;
132
+ }
133
+ // Path separator (always use forward slash for consistency)
134
+ export const sep = '/';
135
+ export const delimiter = ':';
136
+ // POSIX path object for compatibility
137
+ export const posix = {
138
+ join,
139
+ dirname,
140
+ basename,
141
+ extname,
142
+ resolve,
143
+ relative,
144
+ isAbsolute,
145
+ sep: '/',
146
+ delimiter: ':'
147
+ };
148
+ // Default export
149
+ export default {
150
+ join,
151
+ dirname,
152
+ basename,
153
+ extname,
154
+ resolve,
155
+ relative,
156
+ isAbsolute,
157
+ sep,
158
+ delimiter,
159
+ posix
160
+ };
161
+ //# sourceMappingURL=path.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"path.js","sourceRoot":"","sources":["../../src/universal/path.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Universal UUID implementation
3
+ * Works in all environments: Browser, Node.js, Serverless
4
+ */
5
+ export declare function v4(): string;
6
+ export { v4 as uuidv4 };
7
+ declare const _default: {
8
+ v4: typeof v4;
9
+ };
10
+ export default _default;
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Universal UUID implementation
3
+ * Works in all environments: Browser, Node.js, Serverless
4
+ */
5
+ export function v4() {
6
+ // Use crypto.randomUUID if available (Node.js 19+, modern browsers)
7
+ if (typeof crypto !== 'undefined' && crypto.randomUUID) {
8
+ return crypto.randomUUID();
9
+ }
10
+ // Fallback implementation for older environments
11
+ return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, (c) => {
12
+ const r = Math.random() * 16 | 0;
13
+ const v = c === 'x' ? r : (r & 0x3 | 0x8);
14
+ return v.toString(16);
15
+ });
16
+ }
17
+ // Named export to match uuid package API
18
+ export { v4 as uuidv4 };
19
+ // Default export for convenience
20
+ export default { v4 };
21
+ //# sourceMappingURL=uuid.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uuid.js","sourceRoot":"","sources":["../../src/universal/uuid.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,MAAM,UAAU,EAAE;IAChB,oEAAoE;IACpE,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;QACvD,OAAO,MAAM,CAAC,UAAU,EAAE,CAAA;IAC5B,CAAC;IAED,iDAAiD;IACjD,OAAO,sCAAsC,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE;QACnE,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;QAChC,MAAM,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,CAAA;QACzC,OAAO,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;IACvB,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,yCAAyC;AACzC,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,CAAA;AAEvB,iCAAiC;AACjC,eAAe,EAAE,EAAE,EAAE,CAAA"}