tywrap 0.1.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 (137) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +319 -0
  3. package/dist/cli.d.ts +3 -0
  4. package/dist/cli.d.ts.map +1 -0
  5. package/dist/cli.js +263 -0
  6. package/dist/cli.js.map +1 -0
  7. package/dist/config/index.d.ts +41 -0
  8. package/dist/config/index.d.ts.map +1 -0
  9. package/dist/config/index.js +234 -0
  10. package/dist/config/index.js.map +1 -0
  11. package/dist/core/analyzer.d.ts +63 -0
  12. package/dist/core/analyzer.d.ts.map +1 -0
  13. package/dist/core/analyzer.js +676 -0
  14. package/dist/core/analyzer.js.map +1 -0
  15. package/dist/core/discovery.d.ts +85 -0
  16. package/dist/core/discovery.d.ts.map +1 -0
  17. package/dist/core/discovery.js +344 -0
  18. package/dist/core/discovery.js.map +1 -0
  19. package/dist/core/generator.d.ts +37 -0
  20. package/dist/core/generator.d.ts.map +1 -0
  21. package/dist/core/generator.js +368 -0
  22. package/dist/core/generator.js.map +1 -0
  23. package/dist/core/mapper.d.ts +40 -0
  24. package/dist/core/mapper.d.ts.map +1 -0
  25. package/dist/core/mapper.js +401 -0
  26. package/dist/core/mapper.js.map +1 -0
  27. package/dist/core/validation.d.ts +79 -0
  28. package/dist/core/validation.d.ts.map +1 -0
  29. package/dist/core/validation.js +486 -0
  30. package/dist/core/validation.js.map +1 -0
  31. package/dist/index.d.ts +26 -0
  32. package/dist/index.d.ts.map +1 -0
  33. package/dist/index.js +29 -0
  34. package/dist/index.js.map +1 -0
  35. package/dist/runtime/base.d.ts +12 -0
  36. package/dist/runtime/base.d.ts.map +1 -0
  37. package/dist/runtime/base.js +6 -0
  38. package/dist/runtime/base.js.map +1 -0
  39. package/dist/runtime/errors.d.ts +17 -0
  40. package/dist/runtime/errors.d.ts.map +1 -0
  41. package/dist/runtime/errors.js +21 -0
  42. package/dist/runtime/errors.js.map +1 -0
  43. package/dist/runtime/http.d.ts +22 -0
  44. package/dist/runtime/http.d.ts.map +1 -0
  45. package/dist/runtime/http.js +79 -0
  46. package/dist/runtime/http.js.map +1 -0
  47. package/dist/runtime/index.d.ts +8 -0
  48. package/dist/runtime/index.d.ts.map +1 -0
  49. package/dist/runtime/index.js +17 -0
  50. package/dist/runtime/index.js.map +1 -0
  51. package/dist/runtime/node.d.ts +48 -0
  52. package/dist/runtime/node.d.ts.map +1 -0
  53. package/dist/runtime/node.js +328 -0
  54. package/dist/runtime/node.js.map +1 -0
  55. package/dist/runtime/optimized-node.d.ts +131 -0
  56. package/dist/runtime/optimized-node.d.ts.map +1 -0
  57. package/dist/runtime/optimized-node.js +622 -0
  58. package/dist/runtime/optimized-node.js.map +1 -0
  59. package/dist/runtime/protocol.d.ts +3 -0
  60. package/dist/runtime/protocol.d.ts.map +1 -0
  61. package/dist/runtime/protocol.js +3 -0
  62. package/dist/runtime/protocol.js.map +1 -0
  63. package/dist/runtime/pyodide.d.ts +27 -0
  64. package/dist/runtime/pyodide.d.ts.map +1 -0
  65. package/dist/runtime/pyodide.js +191 -0
  66. package/dist/runtime/pyodide.js.map +1 -0
  67. package/dist/tools/python_suite.js +173 -0
  68. package/dist/tools/python_suite.js.map +1 -0
  69. package/dist/types/index.d.ts +299 -0
  70. package/dist/types/index.d.ts.map +1 -0
  71. package/dist/types/index.js +5 -0
  72. package/dist/types/index.js.map +1 -0
  73. package/dist/tywrap.d.ts +29 -0
  74. package/dist/tywrap.d.ts.map +1 -0
  75. package/dist/tywrap.js +589 -0
  76. package/dist/tywrap.js.map +1 -0
  77. package/dist/utils/bundle-optimizer.d.ts +182 -0
  78. package/dist/utils/bundle-optimizer.d.ts.map +1 -0
  79. package/dist/utils/bundle-optimizer.js +680 -0
  80. package/dist/utils/bundle-optimizer.js.map +1 -0
  81. package/dist/utils/cache.d.ts +149 -0
  82. package/dist/utils/cache.d.ts.map +1 -0
  83. package/dist/utils/cache.js +492 -0
  84. package/dist/utils/cache.js.map +1 -0
  85. package/dist/utils/codec.d.ts +94 -0
  86. package/dist/utils/codec.d.ts.map +1 -0
  87. package/dist/utils/codec.js +150 -0
  88. package/dist/utils/codec.js.map +1 -0
  89. package/dist/utils/logger.d.ts +42 -0
  90. package/dist/utils/logger.d.ts.map +1 -0
  91. package/dist/utils/logger.js +140 -0
  92. package/dist/utils/logger.js.map +1 -0
  93. package/dist/utils/memory-profiler.d.ts +123 -0
  94. package/dist/utils/memory-profiler.d.ts.map +1 -0
  95. package/dist/utils/memory-profiler.js +426 -0
  96. package/dist/utils/memory-profiler.js.map +1 -0
  97. package/dist/utils/parallel-processor.d.ts +146 -0
  98. package/dist/utils/parallel-processor.d.ts.map +1 -0
  99. package/dist/utils/parallel-processor.js +636 -0
  100. package/dist/utils/parallel-processor.js.map +1 -0
  101. package/dist/utils/python.d.ts +8 -0
  102. package/dist/utils/python.d.ts.map +1 -0
  103. package/dist/utils/python.js +56 -0
  104. package/dist/utils/python.js.map +1 -0
  105. package/dist/utils/runtime.d.ts +153 -0
  106. package/dist/utils/runtime.d.ts.map +1 -0
  107. package/dist/utils/runtime.js +519 -0
  108. package/dist/utils/runtime.js.map +1 -0
  109. package/package.json +136 -0
  110. package/runtime/python_bridge.py +476 -0
  111. package/src/cli.ts +331 -0
  112. package/src/config/index.ts +289 -0
  113. package/src/core/analyzer.ts +788 -0
  114. package/src/core/discovery.ts +415 -0
  115. package/src/core/generator.ts +447 -0
  116. package/src/core/mapper.ts +504 -0
  117. package/src/core/validation.ts +693 -0
  118. package/src/index.ts +83 -0
  119. package/src/runtime/base.ts +32 -0
  120. package/src/runtime/errors.ts +19 -0
  121. package/src/runtime/http.ts +132 -0
  122. package/src/runtime/index.ts +24 -0
  123. package/src/runtime/node.ts +431 -0
  124. package/src/runtime/optimized-node.ts +838 -0
  125. package/src/runtime/protocol.ts +2 -0
  126. package/src/runtime/pyodide.ts +228 -0
  127. package/src/types/global.d.ts +60 -0
  128. package/src/types/index.ts +410 -0
  129. package/src/tywrap.ts +669 -0
  130. package/src/utils/bundle-optimizer.ts +876 -0
  131. package/src/utils/cache.ts +634 -0
  132. package/src/utils/codec.ts +275 -0
  133. package/src/utils/logger.ts +201 -0
  134. package/src/utils/memory-profiler.ts +582 -0
  135. package/src/utils/parallel-processor.ts +879 -0
  136. package/src/utils/python.ts +79 -0
  137. package/src/utils/runtime.ts +616 -0
@@ -0,0 +1,486 @@
1
+ /**
2
+ * Error Handling & Validation Framework
3
+ *
4
+ * Comprehensive error handling, syntax validation, and analysis reporting system
5
+ */
6
+ export class ValidationEngine {
7
+ config;
8
+ constructor(config = {}) {
9
+ this.config = {
10
+ strictTypeChecking: config.strictTypeChecking ?? true,
11
+ allowMissingTypeHints: config.allowMissingTypeHints ?? false,
12
+ maxComplexityScore: 10,
13
+ deprecatedPatterns: [],
14
+ requiredDocstrings: false,
15
+ ...config,
16
+ };
17
+ }
18
+ /**
19
+ * Validate Python functions for type safety and best practices
20
+ */
21
+ validateFunction(func, filePath) {
22
+ const errors = [];
23
+ const warnings = [];
24
+ const recommendations = [];
25
+ // Check type hints
26
+ this.validateTypeHints(func, errors, warnings);
27
+ // Check docstring
28
+ this.validateDocstring(func, warnings, filePath);
29
+ // Check parameter patterns
30
+ this.validateParameters(func, warnings, filePath);
31
+ // Check for deprecated patterns
32
+ this.validateDeprecatedPatterns(func, warnings, filePath);
33
+ // Check complexity
34
+ this.validateComplexity(func, warnings, filePath);
35
+ // Generate recommendations
36
+ this.generateFunctionRecommendations(func, recommendations, filePath);
37
+ const statistics = this.calculateFunctionStatistics(func, errors, warnings);
38
+ return {
39
+ errors,
40
+ warnings,
41
+ statistics,
42
+ recommendations,
43
+ };
44
+ }
45
+ /**
46
+ * Validate Python classes for structure and best practices
47
+ */
48
+ validateClass(cls, filePath) {
49
+ const errors = [];
50
+ const warnings = [];
51
+ const recommendations = [];
52
+ // Validate each method
53
+ for (const method of cls.methods) {
54
+ const methodReport = this.validateFunction(method, filePath);
55
+ errors.push(...methodReport.errors);
56
+ warnings.push(...methodReport.warnings);
57
+ recommendations.push(...methodReport.recommendations);
58
+ }
59
+ // Validate class-specific patterns
60
+ this.validateClassStructure(cls, warnings, filePath);
61
+ this.validateInheritance(cls, warnings, filePath);
62
+ const statistics = this.calculateClassStatistics(cls, errors, warnings);
63
+ return {
64
+ errors,
65
+ warnings,
66
+ statistics,
67
+ recommendations,
68
+ };
69
+ }
70
+ /**
71
+ * Validate type annotations for correctness
72
+ */
73
+ validateTypeAnnotation(type, context = '') {
74
+ const errors = [];
75
+ try {
76
+ this.validateTypeStructure(type, errors, context);
77
+ }
78
+ catch (error) {
79
+ errors.push({
80
+ type: 'type',
81
+ message: `Type validation failed: ${error}`,
82
+ });
83
+ }
84
+ return errors;
85
+ }
86
+ /**
87
+ * Generate comprehensive analysis report
88
+ */
89
+ generateReport(functions, classes, filePath) {
90
+ const errors = [];
91
+ const warnings = [];
92
+ const recommendations = [];
93
+ // Validate all functions
94
+ for (const func of functions) {
95
+ const funcReport = this.validateFunction(func, filePath);
96
+ errors.push(...funcReport.errors);
97
+ warnings.push(...funcReport.warnings);
98
+ recommendations.push(...funcReport.recommendations);
99
+ }
100
+ // Validate all classes
101
+ for (const cls of classes) {
102
+ const classReport = this.validateClass(cls, filePath);
103
+ errors.push(...classReport.errors);
104
+ warnings.push(...classReport.warnings);
105
+ recommendations.push(...classReport.recommendations);
106
+ }
107
+ // Generate module-level recommendations
108
+ this.generateModuleRecommendations(functions, classes, recommendations, filePath);
109
+ const statistics = this.calculateModuleStatistics(functions, classes, errors, warnings);
110
+ return {
111
+ errors,
112
+ warnings,
113
+ statistics,
114
+ recommendations,
115
+ };
116
+ }
117
+ /**
118
+ * Private validation methods
119
+ */
120
+ validateTypeHints(func, errors, warnings) {
121
+ // Check return type (skip __init__ methods as they conventionally don't need return type annotations)
122
+ if (this.isEmptyType(func.returnType) && func.name !== '__init__') {
123
+ if (this.config.allowMissingTypeHints) {
124
+ warnings.push({
125
+ type: 'missing-type',
126
+ message: `Function '${func.name}' is missing return type annotation`,
127
+ });
128
+ }
129
+ else if (this.config.strictTypeChecking) {
130
+ // In strict mode without allowMissingTypeHints, we warn first then error
131
+ warnings.push({
132
+ type: 'missing-type',
133
+ message: `Function '${func.name}' is missing return type annotation`,
134
+ });
135
+ errors.push({
136
+ type: 'type',
137
+ message: `Function '${func.name}' requires return type annotation`,
138
+ });
139
+ }
140
+ }
141
+ // Check parameter types (skip 'self' and 'cls' parameters)
142
+ for (const param of func.parameters) {
143
+ if (this.isEmptyType(param.type) && param.name !== 'self' && param.name !== 'cls') {
144
+ if (this.config.allowMissingTypeHints) {
145
+ warnings.push({
146
+ type: 'missing-type',
147
+ message: `Parameter '${param.name}' in function '${func.name}' is missing type annotation`,
148
+ });
149
+ }
150
+ else if (this.config.strictTypeChecking) {
151
+ // In strict mode without allowMissingTypeHints, we warn first then error
152
+ warnings.push({
153
+ type: 'missing-type',
154
+ message: `Parameter '${param.name}' in function '${func.name}' is missing type annotation`,
155
+ });
156
+ errors.push({
157
+ type: 'type',
158
+ message: `Parameter '${param.name}' in function '${func.name}' requires type annotation`,
159
+ });
160
+ }
161
+ }
162
+ // Validate type structure only in strict mode (skip 'self' and 'cls' parameters)
163
+ if (this.config.strictTypeChecking &&
164
+ !this.config.allowMissingTypeHints &&
165
+ param.name !== 'self' &&
166
+ param.name !== 'cls') {
167
+ const typeErrors = this.validateTypeAnnotation(param.type, `parameter '${param.name}'`);
168
+ errors.push(...typeErrors);
169
+ }
170
+ }
171
+ // Validate return type structure only in strict mode
172
+ if (this.config.strictTypeChecking && !this.config.allowMissingTypeHints) {
173
+ const returnTypeErrors = this.validateTypeAnnotation(func.returnType, 'return type');
174
+ errors.push(...returnTypeErrors);
175
+ }
176
+ }
177
+ validateDocstring(func, warnings, filePath) {
178
+ if (this.config.requiredDocstrings && !func.docstring) {
179
+ warnings.push({
180
+ type: 'missing-type',
181
+ message: `Function '${func.name}' is missing docstring`,
182
+ file: filePath,
183
+ });
184
+ }
185
+ // Check docstring quality
186
+ if (func.docstring && func.docstring.length < 10) {
187
+ warnings.push({
188
+ type: 'missing-type',
189
+ message: `Function '${func.name}' has very short docstring`,
190
+ file: filePath,
191
+ });
192
+ }
193
+ }
194
+ validateParameters(func, warnings, filePath) {
195
+ // Check for too many parameters
196
+ if (func.parameters.length > 8) {
197
+ warnings.push({
198
+ type: 'performance',
199
+ message: `Function '${func.name}' has too many parameters (${func.parameters.length})`,
200
+ file: filePath,
201
+ });
202
+ }
203
+ // Check parameter naming
204
+ for (const param of func.parameters) {
205
+ if (param.name.length < 2 && !['x', 'y', 'z', 'i', 'j', 'k'].includes(param.name)) {
206
+ warnings.push({
207
+ type: 'missing-type',
208
+ message: `Parameter '${param.name}' in function '${func.name}' should have a more descriptive name`,
209
+ file: filePath,
210
+ });
211
+ }
212
+ }
213
+ }
214
+ validateDeprecatedPatterns(func, warnings, filePath) {
215
+ for (const pattern of this.config.deprecatedPatterns) {
216
+ if (func.name.includes(pattern)) {
217
+ warnings.push({
218
+ type: 'deprecated',
219
+ message: `Function '${func.name}' uses deprecated pattern '${pattern}'`,
220
+ file: filePath,
221
+ });
222
+ }
223
+ }
224
+ }
225
+ validateComplexity(func, warnings, filePath) {
226
+ // Simple complexity estimation based on parameters and async/generator flags
227
+ let complexity = func.parameters.length * 0.5;
228
+ if (func.isAsync) {
229
+ complexity += 1;
230
+ }
231
+ if (func.isGenerator) {
232
+ complexity += 1;
233
+ }
234
+ if (func.decorators.length > 0) {
235
+ complexity += func.decorators.length * 0.5;
236
+ }
237
+ if (complexity > this.config.maxComplexityScore) {
238
+ warnings.push({
239
+ type: 'performance',
240
+ message: `Function '${func.name}' has high complexity (${complexity.toFixed(1)})`,
241
+ file: filePath,
242
+ });
243
+ }
244
+ }
245
+ validateClassStructure(cls, warnings, filePath) {
246
+ // Check for empty classes
247
+ if (cls.methods.length === 0 && cls.properties.length === 0) {
248
+ warnings.push({
249
+ type: 'missing-type',
250
+ message: `Class '${cls.name}' appears to be empty`,
251
+ file: filePath,
252
+ });
253
+ }
254
+ // Check for missing __init__ method
255
+ const hasInit = cls.methods.some(method => method.name === '__init__');
256
+ if (!hasInit && cls.properties.length > 0) {
257
+ warnings.push({
258
+ type: 'missing-type',
259
+ message: `Class '${cls.name}' has properties but no __init__ method`,
260
+ file: filePath,
261
+ });
262
+ }
263
+ }
264
+ validateInheritance(cls, warnings, filePath) {
265
+ // Check for deep inheritance chains
266
+ if (cls.bases.length > 3) {
267
+ warnings.push({
268
+ type: 'compatibility',
269
+ message: `Class '${cls.name}' inherits from many classes (${cls.bases.length})`,
270
+ file: filePath,
271
+ });
272
+ }
273
+ // Check for diamond inheritance pattern
274
+ if (cls.bases.length > 1) {
275
+ warnings.push({
276
+ type: 'compatibility',
277
+ message: `Class '${cls.name}' uses multiple inheritance, consider composition`,
278
+ file: filePath,
279
+ });
280
+ }
281
+ }
282
+ validateTypeStructure(type, errors, context) {
283
+ switch (type.kind) {
284
+ case 'union':
285
+ if (type.types.length < 2) {
286
+ errors.push({
287
+ type: 'type',
288
+ message: `Union type in ${context} should have at least 2 types`,
289
+ });
290
+ }
291
+ // Recursively validate union member types
292
+ for (const unionType of type.types) {
293
+ this.validateTypeStructure(unionType, errors, context);
294
+ }
295
+ break;
296
+ case 'collection':
297
+ if (type.itemTypes.length === 0 && ['list', 'dict', 'set'].includes(type.name)) {
298
+ errors.push({
299
+ type: 'type',
300
+ message: `Collection type '${type.name}' in ${context} should specify item types`,
301
+ });
302
+ }
303
+ // Recursively validate item types
304
+ for (const itemType of type.itemTypes) {
305
+ this.validateTypeStructure(itemType, errors, context);
306
+ }
307
+ break;
308
+ case 'optional':
309
+ this.validateTypeStructure(type.type, errors, context);
310
+ break;
311
+ case 'generic':
312
+ // Validate generic arguments
313
+ for (const arg of type.typeArgs) {
314
+ this.validateTypeStructure(arg, errors, context);
315
+ }
316
+ break;
317
+ case 'custom':
318
+ // Could add checks for known custom types
319
+ break;
320
+ case 'primitive':
321
+ // Basic types are always valid
322
+ break;
323
+ }
324
+ }
325
+ isEmptyType(type) {
326
+ return type.kind === 'primitive' && type.name === 'None';
327
+ }
328
+ generateFunctionRecommendations(func, recommendations, filePath) {
329
+ // Recommend async for I/O operations
330
+ if ((!func.isAsync && func.name.includes('read')) ||
331
+ func.name.includes('write') ||
332
+ func.name.includes('fetch')) {
333
+ recommendations.push({
334
+ type: 'performance',
335
+ severity: 'medium',
336
+ message: `Consider making '${func.name}' async for I/O operations`,
337
+ suggestion: `Add 'async def' instead of 'def' and use await for I/O operations`,
338
+ file: filePath,
339
+ impact: 'Improved performance for I/O-bound operations',
340
+ });
341
+ }
342
+ // Recommend type hints if missing
343
+ if (func.parameters.some(p => this.isEmptyType(p.type)) || this.isEmptyType(func.returnType)) {
344
+ recommendations.push({
345
+ type: 'type-safety',
346
+ severity: 'high',
347
+ message: `Add type hints to '${func.name}' for better IDE support`,
348
+ suggestion: 'Add type annotations to parameters and return type',
349
+ file: filePath,
350
+ impact: 'Better IDE support, type checking, and documentation',
351
+ });
352
+ }
353
+ // Recommend docstrings
354
+ if (!func.docstring) {
355
+ recommendations.push({
356
+ type: 'documentation',
357
+ severity: 'medium',
358
+ message: `Add docstring to '${func.name}'`,
359
+ suggestion: 'Add a docstring explaining the function purpose, parameters, and return value',
360
+ file: filePath,
361
+ impact: 'Better code documentation and IDE support',
362
+ });
363
+ }
364
+ }
365
+ generateModuleRecommendations(functions, classes, recommendations, filePath) {
366
+ const totalFunctions = functions.length + classes.reduce((acc, cls) => acc + cls.methods.length, 0);
367
+ // Recommend breaking up large modules
368
+ if (totalFunctions > 50) {
369
+ recommendations.push({
370
+ type: 'maintainability',
371
+ severity: 'medium',
372
+ message: 'Module has many functions, consider breaking it up',
373
+ suggestion: 'Split module into smaller, focused modules',
374
+ file: filePath,
375
+ impact: 'Improved maintainability and code organization',
376
+ });
377
+ }
378
+ // Check type hint coverage
379
+ const functionsWithTypes = functions.filter(f => !this.isEmptyType(f.returnType) || f.parameters.some(p => !this.isEmptyType(p.type)));
380
+ const typeHintCoverage = totalFunctions > 0 ? (functionsWithTypes.length / totalFunctions) * 100 : 100;
381
+ if (typeHintCoverage < 50) {
382
+ recommendations.push({
383
+ type: 'type-safety',
384
+ severity: 'high',
385
+ message: `Low type hint coverage (${typeHintCoverage.toFixed(1)}%)`,
386
+ suggestion: 'Add type annotations to improve type safety',
387
+ file: filePath,
388
+ impact: 'Better type checking and IDE support',
389
+ });
390
+ }
391
+ }
392
+ calculateFunctionStatistics(func, errors, warnings) {
393
+ const hasTypeHints = !this.isEmptyType(func.returnType) || func.parameters.some(p => !this.isEmptyType(p.type));
394
+ return {
395
+ totalIssues: errors.length + warnings.length,
396
+ errorCount: errors.length,
397
+ warningCount: warnings.length,
398
+ typeHintCoverage: hasTypeHints ? 100 : 0,
399
+ docstringCoverage: func.docstring ? 100 : 0,
400
+ complexityScore: this.calculateComplexity(func),
401
+ qualityScore: this.calculateQualityScore(func, errors, warnings),
402
+ };
403
+ }
404
+ calculateClassStatistics(cls, errors, warnings) {
405
+ const methodsWithTypes = cls.methods.filter(m => !this.isEmptyType(m.returnType) || m.parameters.some(p => !this.isEmptyType(p.type))).length;
406
+ const methodsWithDocstrings = cls.methods.filter(m => m.docstring).length;
407
+ const typeHintCoverage = cls.methods.length > 0 ? (methodsWithTypes / cls.methods.length) * 100 : 100;
408
+ const docstringCoverage = cls.methods.length > 0 ? (methodsWithDocstrings / cls.methods.length) * 100 : 100;
409
+ return {
410
+ totalIssues: errors.length + warnings.length,
411
+ errorCount: errors.length,
412
+ warningCount: warnings.length,
413
+ typeHintCoverage,
414
+ docstringCoverage,
415
+ complexityScore: Math.max(...cls.methods.map(m => this.calculateComplexity(m)), 0),
416
+ qualityScore: this.calculateClassQualityScore(cls, errors, warnings),
417
+ };
418
+ }
419
+ calculateModuleStatistics(functions, classes, errors, warnings) {
420
+ const allMethods = classes.flatMap(cls => cls.methods);
421
+ const allFunctions = [...functions, ...allMethods];
422
+ const functionsWithTypes = allFunctions.filter(f => !this.isEmptyType(f.returnType) || f.parameters.some(p => !this.isEmptyType(p.type))).length;
423
+ const functionsWithDocstrings = allFunctions.filter(f => f.docstring).length;
424
+ const typeHintCoverage = allFunctions.length > 0 ? (functionsWithTypes / allFunctions.length) * 100 : 100;
425
+ const docstringCoverage = allFunctions.length > 0 ? (functionsWithDocstrings / allFunctions.length) * 100 : 100;
426
+ return {
427
+ totalIssues: errors.length + warnings.length,
428
+ errorCount: errors.length,
429
+ warningCount: warnings.length,
430
+ typeHintCoverage,
431
+ docstringCoverage,
432
+ complexityScore: Math.max(...allFunctions.map(f => this.calculateComplexity(f)), 0),
433
+ qualityScore: this.calculateModuleQualityScore(allFunctions, errors, warnings),
434
+ };
435
+ }
436
+ calculateComplexity(func) {
437
+ let complexity = 1; // Base complexity
438
+ complexity += func.parameters.length * 0.5;
439
+ complexity += func.isAsync ? 1 : 0;
440
+ complexity += func.isGenerator ? 1 : 0;
441
+ complexity += func.decorators.length * 0.5;
442
+ return Math.round(complexity * 10) / 10;
443
+ }
444
+ calculateQualityScore(func, errors, warnings) {
445
+ let score = 100;
446
+ // Deduct points for errors and warnings
447
+ score -= errors.length * 20;
448
+ score -= warnings.length * 10;
449
+ // Add points for good practices
450
+ if (!this.isEmptyType(func.returnType)) {
451
+ score += 10;
452
+ }
453
+ if (func.parameters.every(p => !this.isEmptyType(p.type))) {
454
+ score += 10;
455
+ }
456
+ if (func.docstring) {
457
+ score += 10;
458
+ }
459
+ return Math.max(0, Math.min(100, score));
460
+ }
461
+ calculateClassQualityScore(cls, errors, warnings) {
462
+ let score = 100;
463
+ // Deduct points for errors and warnings
464
+ score -= errors.length * 15;
465
+ score -= warnings.length * 8;
466
+ // Add points for good practices
467
+ if (cls.docstring) {
468
+ score += 10;
469
+ }
470
+ if (cls.methods.some(m => m.name === '__init__')) {
471
+ score += 10;
472
+ }
473
+ if (cls.methods.length > 0) {
474
+ score += 5;
475
+ }
476
+ return Math.max(0, Math.min(100, score));
477
+ }
478
+ calculateModuleQualityScore(functions, errors, warnings) {
479
+ if (functions.length === 0) {
480
+ return 100;
481
+ }
482
+ const functionScores = functions.map(f => this.calculateQualityScore(f, errors.filter(e => e.message?.includes(f.name)), warnings.filter(w => w.message?.includes(f.name))));
483
+ return functionScores.reduce((sum, score) => sum + score, 0) / functionScores.length;
484
+ }
485
+ }
486
+ //# sourceMappingURL=validation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/core/validation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * tywrap - TypeScript wrapper for Python libraries with full type safety
3
+ *
4
+ * @description Build-time code generation system that makes Python libraries
5
+ * feel native in TypeScript with zero runtime overhead
6
+ */
7
+ import { tywrap } from './tywrap.js';
8
+ export type { TywrapConfig } from './config/index.js';
9
+ export { defineConfig, resolveConfig } from './config/index.js';
10
+ export { RuntimeBridge } from './runtime/base.js';
11
+ export { BridgeError, BridgeProtocolError, BridgeTimeoutError, BridgeDisposedError, BridgeExecutionError, } from './runtime/errors.js';
12
+ export { getRuntimeBridge, setRuntimeBridge, clearRuntimeBridge } from './runtime/index.js';
13
+ export { NodeBridge } from './runtime/node.js';
14
+ export { PyodideBridge } from './runtime/pyodide.js';
15
+ export { HttpBridge } from './runtime/http.js';
16
+ export type { PythonModule, PythonFunction, PythonClass, PythonType, PrimitiveType, CollectionType, UnionType, OptionalType, CustomType, GenericType, Parameter, Property, PythonImport, TypescriptType, RuntimeStrategy, TywrapOptions, PythonModuleConfig, OutputConfig, RuntimeConfig, PyodideConfig, NodeConfig, HttpConfig, PerformanceConfig, DevelopmentConfig, TypeMappingConfig, TypePreset, BridgeInfo, AnalysisResult, AnalysisError, AnalysisWarning, AnalysisStatistics, GeneratedCode, } from './types/index.js';
17
+ export { tywrap } from './tywrap.js';
18
+ export { generate } from './tywrap.js';
19
+ export { detectRuntime, isNodejs, isDeno, isBun, isBrowser } from './utils/runtime.js';
20
+ export { decodeValue, decodeValueAsync, registerArrowDecoder, clearArrowDecoder, } from './utils/codec.js';
21
+ export declare const VERSION = "0.1.0";
22
+ /**
23
+ * Quick setup function for getting started
24
+ */
25
+ export default tywrap;
26
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,YAAY,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EACL,WAAW,EACX,mBAAmB,EACnB,kBAAkB,EAClB,mBAAmB,EACnB,oBAAoB,GACrB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAG5F,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAG/C,YAAY,EACV,YAAY,EACZ,cAAc,EACd,WAAW,EACX,UAAU,EACV,aAAa,EACb,cAAc,EACd,SAAS,EACT,YAAY,EACZ,UAAU,EACV,WAAW,EACX,SAAS,EACT,QAAQ,EACR,YAAY,EACZ,cAAc,EACd,eAAe,EACf,aAAa,EACb,kBAAkB,EAClB,YAAY,EACZ,aAAa,EACb,aAAa,EACb,UAAU,EACV,UAAU,EACV,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,UAAU,EACV,UAAU,EACV,cAAc,EACd,aAAa,EACb,eAAe,EACf,kBAAkB,EAClB,aAAa,GACd,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAGvC,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACvF,OAAO,EACL,WAAW,EACX,gBAAgB,EAChB,oBAAoB,EACpB,iBAAiB,GAClB,MAAM,kBAAkB,CAAC;AAG1B,eAAO,MAAM,OAAO,UAAU,CAAC;AAE/B;;GAEG;AAEH,eAAe,MAAM,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,29 @@
1
+ /**
2
+ * tywrap - TypeScript wrapper for Python libraries with full type safety
3
+ *
4
+ * @description Build-time code generation system that makes Python libraries
5
+ * feel native in TypeScript with zero runtime overhead
6
+ */
7
+ import { tywrap } from './tywrap.js';
8
+ export { defineConfig, resolveConfig } from './config/index.js';
9
+ export { RuntimeBridge } from './runtime/base.js';
10
+ export { BridgeError, BridgeProtocolError, BridgeTimeoutError, BridgeDisposedError, BridgeExecutionError, } from './runtime/errors.js';
11
+ export { getRuntimeBridge, setRuntimeBridge, clearRuntimeBridge } from './runtime/index.js';
12
+ // Runtime-specific exports
13
+ export { NodeBridge } from './runtime/node.js';
14
+ export { PyodideBridge } from './runtime/pyodide.js';
15
+ export { HttpBridge } from './runtime/http.js';
16
+ // Main API
17
+ export { tywrap } from './tywrap.js';
18
+ export { generate } from './tywrap.js';
19
+ // Runtime detection utilities
20
+ export { detectRuntime, isNodejs, isDeno, isBun, isBrowser } from './utils/runtime.js';
21
+ export { decodeValue, decodeValueAsync, registerArrowDecoder, clearArrowDecoder, } from './utils/codec.js';
22
+ // Version info
23
+ export const VERSION = '0.1.0';
24
+ /**
25
+ * Quick setup function for getting started
26
+ */
27
+ // Default export for convenience
28
+ export default tywrap;
29
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAGrC,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EACL,WAAW,EACX,mBAAmB,EACnB,kBAAkB,EAClB,mBAAmB,EACnB,oBAAoB,GACrB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAE5F,2BAA2B;AAC3B,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAsC/C,WAAW;AACX,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,8BAA8B;AAC9B,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACvF,OAAO,EACL,WAAW,EACX,gBAAgB,EAChB,oBAAoB,EACpB,iBAAiB,GAClB,MAAM,kBAAkB,CAAC;AAE1B,eAAe;AACf,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC;AAE/B;;GAEG;AACH,iCAAiC;AACjC,eAAe,MAAM,CAAC"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Base runtime bridge
3
+ */
4
+ import type { RuntimeExecution } from '../types/index.js';
5
+ export declare abstract class RuntimeBridge implements RuntimeExecution {
6
+ abstract call<T = unknown>(module: string, functionName: string, args: unknown[], kwargs?: Record<string, unknown>): Promise<T>;
7
+ abstract instantiate<T = unknown>(module: string, className: string, args: unknown[], kwargs?: Record<string, unknown>): Promise<T>;
8
+ abstract callMethod<T = unknown>(handle: string, methodName: string, args: unknown[], kwargs?: Record<string, unknown>): Promise<T>;
9
+ abstract disposeInstance(handle: string): Promise<void>;
10
+ abstract dispose(): Promise<void>;
11
+ }
12
+ //# sourceMappingURL=base.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/runtime/base.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAE1D,8BAAsB,aAAc,YAAW,gBAAgB;IAC7D,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,OAAO,EACvB,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM,EACpB,IAAI,EAAE,OAAO,EAAE,EACf,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC/B,OAAO,CAAC,CAAC,CAAC;IAEb,QAAQ,CAAC,WAAW,CAAC,CAAC,GAAG,OAAO,EAC9B,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,OAAO,EAAE,EACf,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC/B,OAAO,CAAC,CAAC,CAAC;IAEb,QAAQ,CAAC,UAAU,CAAC,CAAC,GAAG,OAAO,EAC7B,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,OAAO,EAAE,EACf,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC/B,OAAO,CAAC,CAAC,CAAC;IAEb,QAAQ,CAAC,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAEvD,QAAQ,CAAC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAClC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Base runtime bridge
3
+ */
4
+ export class RuntimeBridge {
5
+ }
6
+ //# sourceMappingURL=base.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/runtime/base.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,MAAM,OAAgB,aAAa;CAyBlC"}
@@ -0,0 +1,17 @@
1
+ export declare class BridgeError extends Error {
2
+ code?: string;
3
+ constructor(message: string, options?: {
4
+ code?: string;
5
+ cause?: unknown;
6
+ });
7
+ }
8
+ export declare class BridgeProtocolError extends BridgeError {
9
+ }
10
+ export declare class BridgeTimeoutError extends BridgeError {
11
+ }
12
+ export declare class BridgeDisposedError extends BridgeError {
13
+ }
14
+ export declare class BridgeExecutionError extends BridgeError {
15
+ traceback?: string;
16
+ }
17
+ //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/runtime/errors.ts"],"names":[],"mappings":"AAAA,qBAAa,WAAY,SAAQ,KAAK;IACpC,IAAI,CAAC,EAAE,MAAM,CAAC;gBACF,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE;CAQ1E;AAED,qBAAa,mBAAoB,SAAQ,WAAW;CAAG;AACvD,qBAAa,kBAAmB,SAAQ,WAAW;CAAG;AACtD,qBAAa,mBAAoB,SAAQ,WAAW;CAAG;AAEvD,qBAAa,oBAAqB,SAAQ,WAAW;IACnD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB"}
@@ -0,0 +1,21 @@
1
+ export class BridgeError extends Error {
2
+ code;
3
+ constructor(message, options) {
4
+ super(message);
5
+ this.name = new.target.name;
6
+ this.code = options?.code;
7
+ if (options?.cause) {
8
+ this.cause = options.cause;
9
+ }
10
+ }
11
+ }
12
+ export class BridgeProtocolError extends BridgeError {
13
+ }
14
+ export class BridgeTimeoutError extends BridgeError {
15
+ }
16
+ export class BridgeDisposedError extends BridgeError {
17
+ }
18
+ export class BridgeExecutionError extends BridgeError {
19
+ traceback;
20
+ }
21
+ //# sourceMappingURL=errors.js.map