tywrap 0.1.0 → 0.1.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.
Files changed (63) hide show
  1. package/README.md +54 -221
  2. package/dist/cli.js +70 -3
  3. package/dist/cli.js.map +1 -1
  4. package/dist/config/index.d.ts.map +1 -1
  5. package/dist/config/index.js +56 -12
  6. package/dist/config/index.js.map +1 -1
  7. package/dist/core/generator.d.ts.map +1 -1
  8. package/dist/core/generator.js +6 -2
  9. package/dist/core/generator.js.map +1 -1
  10. package/dist/core/mapper.d.ts.map +1 -1
  11. package/dist/core/mapper.js +20 -5
  12. package/dist/core/mapper.js.map +1 -1
  13. package/dist/index.d.ts +2 -2
  14. package/dist/index.d.ts.map +1 -1
  15. package/dist/index.js +2 -2
  16. package/dist/index.js.map +1 -1
  17. package/dist/runtime/bridge-core.d.ts +64 -0
  18. package/dist/runtime/bridge-core.d.ts.map +1 -0
  19. package/dist/runtime/bridge-core.js +344 -0
  20. package/dist/runtime/bridge-core.js.map +1 -0
  21. package/dist/runtime/node.d.ts +5 -6
  22. package/dist/runtime/node.d.ts.map +1 -1
  23. package/dist/runtime/node.js +95 -193
  24. package/dist/runtime/node.js.map +1 -1
  25. package/dist/runtime/optimized-node.d.ts +4 -7
  26. package/dist/runtime/optimized-node.d.ts.map +1 -1
  27. package/dist/runtime/optimized-node.js +117 -186
  28. package/dist/runtime/optimized-node.js.map +1 -1
  29. package/dist/runtime/timed-out-request-tracker.d.ts +20 -0
  30. package/dist/runtime/timed-out-request-tracker.d.ts.map +1 -0
  31. package/dist/runtime/timed-out-request-tracker.js +48 -0
  32. package/dist/runtime/timed-out-request-tracker.js.map +1 -0
  33. package/dist/types/index.d.ts +3 -0
  34. package/dist/types/index.d.ts.map +1 -1
  35. package/dist/tywrap.d.ts +17 -4
  36. package/dist/tywrap.d.ts.map +1 -1
  37. package/dist/tywrap.js +68 -35
  38. package/dist/tywrap.js.map +1 -1
  39. package/dist/utils/codec.d.ts +22 -0
  40. package/dist/utils/codec.d.ts.map +1 -1
  41. package/dist/utils/codec.js +245 -55
  42. package/dist/utils/codec.js.map +1 -1
  43. package/dist/utils/logger.d.ts.map +1 -1
  44. package/dist/utils/logger.js +7 -4
  45. package/dist/utils/logger.js.map +1 -1
  46. package/dist/utils/python.d.ts.map +1 -1
  47. package/dist/utils/python.js.map +1 -1
  48. package/package.json +11 -2
  49. package/runtime/python_bridge.py +450 -69
  50. package/src/cli.ts +81 -5
  51. package/src/config/index.ts +67 -16
  52. package/src/core/generator.ts +6 -2
  53. package/src/core/mapper.ts +21 -8
  54. package/src/index.ts +2 -1
  55. package/src/runtime/bridge-core.ts +454 -0
  56. package/src/runtime/node.ts +117 -224
  57. package/src/runtime/optimized-node.ts +160 -235
  58. package/src/runtime/timed-out-request-tracker.ts +58 -0
  59. package/src/types/index.ts +3 -0
  60. package/src/tywrap.ts +91 -36
  61. package/src/utils/codec.ts +306 -83
  62. package/src/utils/logger.ts +11 -7
  63. package/src/utils/python.ts +0 -1
@@ -71,9 +71,10 @@ function getEnvJsonOutput(): boolean {
71
71
 
72
72
  function formatHumanReadable(entry: LogEntry): string {
73
73
  const componentPart = entry.component ? ` [${entry.component}]` : '';
74
- const contextPart = entry.context && Object.keys(entry.context).length > 0
75
- ? ` ${JSON.stringify(entry.context)}`
76
- : '';
74
+ const contextPart =
75
+ entry.context && Object.keys(entry.context).length > 0
76
+ ? ` ${JSON.stringify(entry.context)}`
77
+ : '';
77
78
  return `${entry.timestamp} [${entry.level}]${componentPart} ${entry.message}${contextPart}`;
78
79
  }
79
80
 
@@ -104,7 +105,11 @@ class LoggerImpl implements Logger {
104
105
  this.component = options.component;
105
106
  this.jsonOutput = options.jsonOutput ?? getEnvJsonOutput();
106
107
  this.enabled = options.enabled ?? true;
107
- this.output = options.output ?? (typeof process !== 'undefined' ? process.stderr : undefined as unknown as NodeJS.WritableStream);
108
+ this.output =
109
+ options.output ??
110
+ (typeof process !== 'undefined'
111
+ ? process.stderr
112
+ : (undefined as unknown as NodeJS.WritableStream));
108
113
  }
109
114
 
110
115
  configure(options: Partial<LoggerOptions>): void {
@@ -129,6 +134,7 @@ class LoggerImpl implements Logger {
129
134
  if (!this.enabled) {
130
135
  return false;
131
136
  }
137
+ // eslint-disable-next-line security/detect-object-injection -- level is constrained to LogLevel
132
138
  return LOG_LEVEL_PRIORITY[level] >= LOG_LEVEL_PRIORITY[this.level];
133
139
  }
134
140
 
@@ -170,9 +176,7 @@ class LoggerImpl implements Logger {
170
176
  }
171
177
 
172
178
  child(component: string): Logger {
173
- const childComponent = this.component
174
- ? `${this.component}:${component}`
175
- : component;
179
+ const childComponent = this.component ? `${this.component}:${component}` : component;
176
180
 
177
181
  return new LoggerImpl({
178
182
  level: this.level,
@@ -1,7 +1,6 @@
1
1
  import {
2
2
  detectRuntime,
3
3
  pathUtils,
4
- isWindows,
5
4
  isAbsolutePath,
6
5
  getPythonExecutableName,
7
6
  getVenvBinDir,