typescript 7.0.1-rc → 7.1.0-beta
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.
- package/NOTICE.txt +5 -36
- package/README.md +39 -14
- package/dist/api/async/api.d.ts +827 -123
- package/dist/api/async/api.d.ts.map +1 -1
- package/dist/api/async/api.js +2367 -340
- package/dist/api/async/api.js.map +1 -1
- package/dist/api/async/client.d.ts +35 -2
- package/dist/api/async/client.d.ts.map +1 -1
- package/dist/api/async/client.js +317 -59
- package/dist/api/async/client.js.map +1 -1
- package/dist/api/async/types.d.ts +199 -53
- package/dist/api/async/types.d.ts.map +1 -1
- package/dist/api/compilerOptions.generated.d.ts +123 -0
- package/dist/api/compilerOptions.generated.d.ts.map +1 -0
- package/dist/api/compilerOptions.generated.js +8 -0
- package/dist/api/compilerOptions.generated.js.map +1 -0
- package/dist/api/diagnosticFormatter.d.ts +9 -0
- package/dist/api/diagnosticFormatter.d.ts.map +1 -0
- package/dist/api/diagnosticFormatter.js +169 -0
- package/dist/api/diagnosticFormatter.js.map +1 -0
- package/dist/api/fs.d.ts +68 -13
- package/dist/api/fs.d.ts.map +1 -1
- package/dist/api/fs.js +62 -101
- package/dist/api/fs.js.map +1 -1
- package/dist/api/fsCallbacks.d.ts +27 -0
- package/dist/api/fsCallbacks.d.ts.map +1 -0
- package/dist/api/fsCallbacks.js +111 -0
- package/dist/api/fsCallbacks.js.map +1 -0
- package/dist/api/node/encoder.d.ts +3 -0
- package/dist/api/node/encoder.d.ts.map +1 -1
- package/dist/api/node/encoder.generated.js +2 -2
- package/dist/api/node/encoder.generated.js.map +1 -1
- package/dist/api/node/encoder.js +21 -33
- package/dist/api/node/encoder.js.map +1 -1
- package/dist/api/node/msgpack.d.ts.map +1 -1
- package/dist/api/node/msgpack.js +3 -3
- package/dist/api/node/msgpack.js.map +1 -1
- package/dist/api/node/node.d.ts +43 -10
- package/dist/api/node/node.d.ts.map +1 -1
- package/dist/api/node/node.generated.d.ts +20 -2
- package/dist/api/node/node.generated.d.ts.map +1 -1
- package/dist/api/node/node.generated.js +122 -52
- package/dist/api/node/node.generated.js.map +1 -1
- package/dist/api/node/node.infrastructure.d.ts +16 -3
- package/dist/api/node/node.infrastructure.d.ts.map +1 -1
- package/dist/api/node/node.infrastructure.js +20 -40
- package/dist/api/node/node.infrastructure.js.map +1 -1
- package/dist/api/node/node.js +269 -30
- package/dist/api/node/node.js.map +1 -1
- package/dist/api/node/protocol.d.ts +5 -2
- package/dist/api/node/protocol.d.ts.map +1 -1
- package/dist/api/node/protocol.generated.js +2 -2
- package/dist/api/node/protocol.generated.js.map +1 -1
- package/dist/api/node/protocol.js +5 -2
- package/dist/api/node/protocol.js.map +1 -1
- package/dist/api/node/wtf8.d.ts +10 -0
- package/dist/api/node/wtf8.d.ts.map +1 -0
- package/dist/api/node/wtf8.js +130 -0
- package/dist/api/node/wtf8.js.map +1 -0
- package/dist/api/options.d.ts +26 -6
- package/dist/api/options.d.ts.map +1 -1
- package/dist/api/options.js +21 -0
- package/dist/api/options.js.map +1 -1
- package/dist/api/path.d.ts +49 -39
- package/dist/api/path.d.ts.map +1 -1
- package/dist/api/path.js +409 -33
- package/dist/api/path.js.map +1 -1
- package/dist/api/prepareCompilerOptions.generated.d.ts +5 -0
- package/dist/api/prepareCompilerOptions.generated.d.ts.map +1 -0
- package/dist/api/prepareCompilerOptions.generated.js +24 -0
- package/dist/api/prepareCompilerOptions.generated.js.map +1 -0
- package/dist/api/proto.d.ts +58 -164
- package/dist/api/proto.d.ts.map +1 -1
- package/dist/api/proto.generated.d.ts +1419 -0
- package/dist/api/proto.generated.d.ts.map +1 -0
- package/dist/api/proto.generated.js +21 -0
- package/dist/api/proto.generated.js.map +1 -0
- package/dist/api/proto.js +28 -0
- package/dist/api/proto.js.map +1 -1
- package/dist/api/sourceFileCache.d.ts +51 -20
- package/dist/api/sourceFileCache.d.ts.map +1 -1
- package/dist/api/sourceFileCache.js +168 -37
- package/dist/api/sourceFileCache.js.map +1 -1
- package/dist/api/sync/api.d.ts +1553 -179
- package/dist/api/sync/api.d.ts.map +1 -1
- package/dist/api/sync/api.js +5086 -758
- package/dist/api/sync/api.js.map +1 -1
- package/dist/api/sync/client.d.ts +25 -2
- package/dist/api/sync/client.d.ts.map +1 -1
- package/dist/api/sync/client.js +132 -30
- package/dist/api/sync/client.js.map +1 -1
- package/dist/api/sync/generatorSupport.d.ts +32 -0
- package/dist/api/sync/generatorSupport.d.ts.map +1 -0
- package/dist/api/sync/generatorSupport.js +338 -0
- package/dist/api/sync/generatorSupport.js.map +1 -0
- package/dist/api/sync/types.d.ts +341 -68
- package/dist/api/sync/types.d.ts.map +1 -1
- package/dist/api/syncChannel.d.ts +7 -1
- package/dist/api/syncChannel.d.ts.map +1 -1
- package/dist/api/syncChannel.js +41 -3
- package/dist/api/syncChannel.js.map +1 -1
- package/dist/api/timing.d.ts +175 -0
- package/dist/api/timing.d.ts.map +1 -0
- package/dist/api/timing.js +149 -0
- package/dist/api/timing.js.map +1 -0
- package/dist/api/timingDump.d.ts +13 -0
- package/dist/api/timingDump.d.ts.map +1 -0
- package/dist/api/timingDump.js +38 -0
- package/dist/api/timingDump.js.map +1 -0
- package/dist/api/typedPaths.d.ts +3 -0
- package/dist/api/typedPaths.d.ts.map +1 -0
- package/dist/api/typedPaths.js +2 -0
- package/dist/api/typedPaths.js.map +1 -0
- package/dist/api/userPreferences.generated.d.ts +195 -0
- package/dist/api/userPreferences.generated.d.ts.map +1 -0
- package/dist/api/userPreferences.generated.js +3 -0
- package/dist/api/userPreferences.generated.js.map +1 -0
- package/dist/ast/ast.d.ts +125 -8
- package/dist/ast/ast.d.ts.map +1 -1
- package/dist/ast/ast.generated.d.ts +48 -42
- package/dist/ast/ast.generated.d.ts.map +1 -1
- package/dist/ast/ast.generated.js +1 -1
- package/dist/ast/ast.generated.js.map +1 -1
- package/dist/ast/ast.js +1 -0
- package/dist/ast/ast.js.map +1 -1
- package/dist/ast/astnav.d.ts +3 -2
- package/dist/ast/astnav.d.ts.map +1 -1
- package/dist/ast/astnav.js +148 -3
- package/dist/ast/astnav.js.map +1 -1
- package/dist/ast/factory.generated.d.ts +12 -150
- package/dist/ast/factory.generated.d.ts.map +1 -1
- package/dist/ast/factory.generated.js +2736 -8
- package/dist/ast/factory.generated.js.map +1 -1
- package/dist/ast/index.d.ts +7 -0
- package/dist/ast/index.d.ts.map +1 -1
- package/dist/ast/index.js +7 -0
- package/dist/ast/index.js.map +1 -1
- package/dist/ast/is.d.ts +3 -12
- package/dist/ast/is.d.ts.map +1 -1
- package/dist/ast/is.generated.d.ts +890 -2
- package/dist/ast/is.generated.d.ts.map +1 -1
- package/dist/ast/is.generated.js +303 -7
- package/dist/ast/is.generated.js.map +1 -1
- package/dist/ast/is.js +231 -1
- package/dist/ast/is.js.map +1 -1
- package/dist/ast/jsdoc.d.ts +12 -0
- package/dist/ast/jsdoc.d.ts.map +1 -0
- package/dist/ast/jsdoc.js +208 -0
- package/dist/ast/jsdoc.js.map +1 -0
- package/dist/ast/modifiers.d.ts +4 -0
- package/dist/ast/modifiers.d.ts.map +1 -0
- package/dist/ast/modifiers.js +41 -0
- package/dist/ast/modifiers.js.map +1 -0
- package/dist/ast/scanner.d.ts.map +1 -1
- package/dist/ast/scanner.js +2 -1
- package/dist/ast/scanner.js.map +1 -1
- package/dist/ast/spanMap.d.ts +88 -0
- package/dist/ast/spanMap.d.ts.map +1 -0
- package/dist/ast/spanMap.js +417 -0
- package/dist/ast/spanMap.js.map +1 -0
- package/dist/ast/utils.d.ts +25 -0
- package/dist/ast/utils.d.ts.map +1 -1
- package/dist/ast/utils.js +291 -0
- package/dist/ast/utils.js.map +1 -1
- package/dist/ast/visitor.d.ts +2 -0
- package/dist/ast/visitor.d.ts.map +1 -1
- package/dist/ast/visitor.generated.d.ts.map +1 -1
- package/dist/ast/visitor.generated.js +5 -4
- package/dist/ast/visitor.generated.js.map +1 -1
- package/dist/ast/visitor.js +40 -0
- package/dist/ast/visitor.js.map +1 -1
- package/dist/enums/caseSensitivity.d.ts +2 -0
- package/dist/enums/caseSensitivity.d.ts.map +1 -0
- package/dist/enums/caseSensitivity.enum.d.ts +5 -0
- package/dist/enums/caseSensitivity.enum.d.ts.map +1 -0
- package/dist/enums/caseSensitivity.enum.js +7 -0
- package/dist/enums/caseSensitivity.enum.js.map +1 -0
- package/dist/enums/caseSensitivity.js +7 -0
- package/dist/enums/caseSensitivity.js.map +1 -0
- package/dist/enums/checkFlags.d.ts +2 -0
- package/dist/enums/checkFlags.d.ts.map +1 -0
- package/dist/enums/checkFlags.enum.d.ts +34 -0
- package/dist/enums/checkFlags.enum.d.ts.map +1 -0
- package/dist/enums/checkFlags.enum.js +36 -0
- package/dist/enums/checkFlags.enum.js.map +1 -0
- package/dist/enums/checkFlags.js +36 -0
- package/dist/enums/checkFlags.js.map +1 -0
- package/dist/enums/completionItemKind.enum.js +1 -1
- package/dist/enums/completionItemKind.enum.js.map +1 -1
- package/dist/enums/completionItemKind.js +1 -1
- package/dist/enums/completionItemKind.js.map +1 -1
- package/dist/enums/diagnosticCategory.enum.js +1 -1
- package/dist/enums/diagnosticCategory.enum.js.map +1 -1
- package/dist/enums/diagnosticCategory.js +1 -1
- package/dist/enums/diagnosticCategory.js.map +1 -1
- package/dist/enums/diagnosticDirectivePolicy.d.ts +2 -0
- package/dist/enums/diagnosticDirectivePolicy.d.ts.map +1 -0
- package/dist/enums/diagnosticDirectivePolicy.enum.d.ts +5 -0
- package/dist/enums/diagnosticDirectivePolicy.enum.d.ts.map +1 -0
- package/dist/enums/diagnosticDirectivePolicy.enum.js +7 -0
- package/dist/enums/diagnosticDirectivePolicy.enum.js.map +1 -0
- package/dist/enums/diagnosticDirectivePolicy.js +7 -0
- package/dist/enums/diagnosticDirectivePolicy.js.map +1 -0
- package/dist/enums/elementFlags.enum.js +1 -1
- package/dist/enums/elementFlags.enum.js.map +1 -1
- package/dist/enums/elementFlags.js +1 -1
- package/dist/enums/elementFlags.js.map +1 -1
- package/dist/enums/emitOnly.d.ts +2 -0
- package/dist/enums/emitOnly.d.ts.map +1 -0
- package/dist/enums/emitOnly.enum.d.ts +6 -0
- package/dist/enums/emitOnly.enum.d.ts.map +1 -0
- package/dist/enums/emitOnly.enum.js +8 -0
- package/dist/enums/emitOnly.enum.js.map +1 -0
- package/dist/enums/emitOnly.js +8 -0
- package/dist/enums/emitOnly.js.map +1 -0
- package/dist/enums/indexKind.d.ts +2 -0
- package/dist/enums/indexKind.d.ts.map +1 -0
- package/dist/enums/indexKind.enum.d.ts +5 -0
- package/dist/enums/indexKind.enum.d.ts.map +1 -0
- package/dist/enums/indexKind.enum.js +7 -0
- package/dist/enums/indexKind.enum.js.map +1 -0
- package/dist/enums/indexKind.js +7 -0
- package/dist/enums/indexKind.js.map +1 -0
- package/dist/enums/internalSymbolName.d.ts +2 -0
- package/dist/enums/internalSymbolName.d.ts.map +1 -0
- package/dist/enums/internalSymbolName.enum.d.ts +23 -0
- package/dist/enums/internalSymbolName.enum.d.ts.map +1 -0
- package/dist/enums/internalSymbolName.enum.js +25 -0
- package/dist/enums/internalSymbolName.enum.js.map +1 -0
- package/dist/enums/internalSymbolName.js +25 -0
- package/dist/enums/internalSymbolName.js.map +1 -0
- package/dist/enums/jsDeclarationKind.d.ts +2 -0
- package/dist/enums/jsDeclarationKind.d.ts.map +1 -0
- package/dist/enums/jsDeclarationKind.enum.d.ts +10 -0
- package/dist/enums/jsDeclarationKind.enum.d.ts.map +1 -0
- package/dist/enums/jsDeclarationKind.enum.js +12 -0
- package/dist/enums/jsDeclarationKind.enum.js.map +1 -0
- package/dist/enums/jsDeclarationKind.js +12 -0
- package/dist/enums/jsDeclarationKind.js.map +1 -0
- package/dist/enums/jsxEmit.d.ts +2 -0
- package/dist/enums/jsxEmit.d.ts.map +1 -0
- package/dist/enums/jsxEmit.enum.d.ts +9 -0
- package/dist/enums/jsxEmit.enum.d.ts.map +1 -0
- package/dist/enums/jsxEmit.enum.js +11 -0
- package/dist/enums/jsxEmit.enum.js.map +1 -0
- package/dist/enums/jsxEmit.js +11 -0
- package/dist/enums/jsxEmit.js.map +1 -0
- package/dist/enums/modifierFlags.enum.js +1 -1
- package/dist/enums/modifierFlags.enum.js.map +1 -1
- package/dist/enums/modifierFlags.js +1 -1
- package/dist/enums/modifierFlags.js.map +1 -1
- package/dist/enums/moduleDetectionKind.d.ts +2 -0
- package/dist/enums/moduleDetectionKind.d.ts.map +1 -0
- package/dist/enums/moduleDetectionKind.enum.d.ts +7 -0
- package/dist/enums/moduleDetectionKind.enum.d.ts.map +1 -0
- package/dist/enums/moduleDetectionKind.enum.js +9 -0
- package/dist/enums/moduleDetectionKind.enum.js.map +1 -0
- package/dist/enums/moduleDetectionKind.js +9 -0
- package/dist/enums/moduleDetectionKind.js.map +1 -0
- package/dist/enums/moduleKind.d.ts +2 -0
- package/dist/enums/moduleKind.d.ts.map +1 -0
- package/dist/enums/moduleKind.enum.d.ts +17 -0
- package/dist/enums/moduleKind.enum.d.ts.map +1 -0
- package/dist/enums/moduleKind.enum.js +19 -0
- package/dist/enums/moduleKind.enum.js.map +1 -0
- package/dist/enums/moduleKind.js +19 -0
- package/dist/enums/moduleKind.js.map +1 -0
- package/dist/enums/moduleResolutionKind.d.ts +2 -0
- package/dist/enums/moduleResolutionKind.d.ts.map +1 -0
- package/dist/enums/moduleResolutionKind.enum.d.ts +9 -0
- package/dist/enums/moduleResolutionKind.enum.d.ts.map +1 -0
- package/dist/enums/moduleResolutionKind.enum.js +11 -0
- package/dist/enums/moduleResolutionKind.enum.js.map +1 -0
- package/dist/enums/moduleResolutionKind.js +11 -0
- package/dist/enums/moduleResolutionKind.js.map +1 -0
- package/dist/enums/newLineKind.d.ts +2 -0
- package/dist/enums/newLineKind.d.ts.map +1 -0
- package/dist/enums/newLineKind.enum.d.ts +6 -0
- package/dist/enums/newLineKind.enum.d.ts.map +1 -0
- package/dist/enums/newLineKind.enum.js +8 -0
- package/dist/enums/newLineKind.enum.js.map +1 -0
- package/dist/enums/newLineKind.js +8 -0
- package/dist/enums/newLineKind.js.map +1 -0
- package/dist/enums/nodeBuilderFlags.enum.js +1 -1
- package/dist/enums/nodeBuilderFlags.enum.js.map +1 -1
- package/dist/enums/nodeBuilderFlags.js +1 -1
- package/dist/enums/nodeBuilderFlags.js.map +1 -1
- package/dist/enums/nodeFlags.enum.js +1 -1
- package/dist/enums/nodeFlags.enum.js.map +1 -1
- package/dist/enums/nodeFlags.js +1 -1
- package/dist/enums/nodeFlags.js.map +1 -1
- package/dist/enums/objectFlags.enum.d.ts +3 -2
- package/dist/enums/objectFlags.enum.d.ts.map +1 -1
- package/dist/enums/objectFlags.enum.js +4 -3
- package/dist/enums/objectFlags.enum.js.map +1 -1
- package/dist/enums/objectFlags.js +4 -3
- package/dist/enums/objectFlags.js.map +1 -1
- package/dist/enums/outerExpressionKinds.enum.d.ts +5 -1
- package/dist/enums/outerExpressionKinds.enum.d.ts.map +1 -1
- package/dist/enums/outerExpressionKinds.enum.js +5 -1
- package/dist/enums/outerExpressionKinds.enum.js.map +1 -1
- package/dist/enums/outerExpressionKinds.js +5 -1
- package/dist/enums/outerExpressionKinds.js.map +1 -1
- package/dist/enums/scriptKind.d.ts.map +1 -1
- package/dist/enums/scriptKind.enum.d.ts +1 -3
- package/dist/enums/scriptKind.enum.d.ts.map +1 -1
- package/dist/enums/scriptKind.enum.js +1 -2
- package/dist/enums/scriptKind.enum.js.map +1 -1
- package/dist/enums/scriptKind.js +1 -2
- package/dist/enums/scriptKind.js.map +1 -1
- package/dist/enums/scriptTarget.d.ts.map +1 -1
- package/dist/enums/scriptTarget.enum.d.ts +1 -0
- package/dist/enums/scriptTarget.enum.d.ts.map +1 -1
- package/dist/enums/scriptTarget.enum.js +2 -0
- package/dist/enums/scriptTarget.enum.js.map +1 -1
- package/dist/enums/scriptTarget.js +2 -0
- package/dist/enums/scriptTarget.js.map +1 -1
- package/dist/enums/signatureFlags.enum.js +1 -1
- package/dist/enums/signatureFlags.enum.js.map +1 -1
- package/dist/enums/signatureFlags.js +1 -1
- package/dist/enums/signatureFlags.js.map +1 -1
- package/dist/enums/signatureKind.enum.js +1 -1
- package/dist/enums/signatureKind.enum.js.map +1 -1
- package/dist/enums/signatureKind.js +1 -1
- package/dist/enums/signatureKind.js.map +1 -1
- package/dist/enums/spanMapFeature.d.ts +2 -0
- package/dist/enums/spanMapFeature.d.ts.map +1 -0
- package/dist/enums/spanMapFeature.enum.d.ts +25 -0
- package/dist/enums/spanMapFeature.enum.d.ts.map +1 -0
- package/dist/enums/spanMapFeature.enum.js +27 -0
- package/dist/enums/spanMapFeature.enum.js.map +1 -0
- package/dist/enums/spanMapFeature.js +27 -0
- package/dist/enums/spanMapFeature.js.map +1 -0
- package/dist/enums/spanMapFidelity.d.ts +2 -0
- package/dist/enums/spanMapFidelity.d.ts.map +1 -0
- package/dist/enums/spanMapFidelity.enum.d.ts +7 -0
- package/dist/enums/spanMapFidelity.enum.d.ts.map +1 -0
- package/dist/enums/spanMapFidelity.enum.js +9 -0
- package/dist/enums/spanMapFidelity.enum.js.map +1 -0
- package/dist/enums/spanMapFidelity.js +9 -0
- package/dist/enums/spanMapFidelity.js.map +1 -0
- package/dist/enums/spanMapKind.d.ts +2 -0
- package/dist/enums/spanMapKind.d.ts.map +1 -0
- package/dist/enums/spanMapKind.enum.d.ts +6 -0
- package/dist/enums/spanMapKind.enum.d.ts.map +1 -0
- package/dist/enums/spanMapKind.enum.js +8 -0
- package/dist/enums/spanMapKind.enum.js.map +1 -0
- package/dist/enums/spanMapKind.js +8 -0
- package/dist/enums/spanMapKind.js.map +1 -0
- package/dist/enums/symbolFlags.enum.d.ts +1 -2
- package/dist/enums/symbolFlags.enum.d.ts.map +1 -1
- package/dist/enums/symbolFlags.enum.js +2 -3
- package/dist/enums/symbolFlags.enum.js.map +1 -1
- package/dist/enums/symbolFlags.js +2 -3
- package/dist/enums/symbolFlags.js.map +1 -1
- package/dist/enums/symbolOwnerKind.d.ts +2 -0
- package/dist/enums/symbolOwnerKind.d.ts.map +1 -0
- package/dist/enums/symbolOwnerKind.enum.d.ts +5 -0
- package/dist/enums/symbolOwnerKind.enum.d.ts.map +1 -0
- package/dist/enums/symbolOwnerKind.enum.js +7 -0
- package/dist/enums/symbolOwnerKind.enum.js.map +1 -0
- package/dist/enums/symbolOwnerKind.js +7 -0
- package/dist/enums/symbolOwnerKind.js.map +1 -0
- package/dist/enums/syntaxKind.enum.d.ts +198 -197
- package/dist/enums/syntaxKind.enum.d.ts.map +1 -1
- package/dist/enums/syntaxKind.enum.js +199 -198
- package/dist/enums/syntaxKind.enum.js.map +1 -1
- package/dist/enums/syntaxKind.js +199 -198
- package/dist/enums/syntaxKind.js.map +1 -1
- package/dist/enums/tokenFlags.enum.js +1 -1
- package/dist/enums/tokenFlags.enum.js.map +1 -1
- package/dist/enums/tokenFlags.js +1 -1
- package/dist/enums/tokenFlags.js.map +1 -1
- package/dist/enums/typeFlags.enum.js +1 -1
- package/dist/enums/typeFlags.enum.js.map +1 -1
- package/dist/enums/typeFlags.js +1 -1
- package/dist/enums/typeFlags.js.map +1 -1
- package/dist/enums/typeFormatFlags.d.ts +2 -0
- package/dist/enums/typeFormatFlags.d.ts.map +1 -0
- package/dist/enums/typeFormatFlags.enum.d.ts +29 -0
- package/dist/enums/typeFormatFlags.enum.d.ts.map +1 -0
- package/dist/enums/typeFormatFlags.enum.js +31 -0
- package/dist/enums/typeFormatFlags.enum.js.map +1 -0
- package/dist/enums/typeFormatFlags.js +31 -0
- package/dist/enums/typeFormatFlags.js.map +1 -0
- package/dist/enums/typePredicateKind.enum.js +1 -1
- package/dist/enums/typePredicateKind.enum.js.map +1 -1
- package/dist/enums/typePredicateKind.js +1 -1
- package/dist/enums/typePredicateKind.js.map +1 -1
- package/dist/internal/utils.d.ts +23 -0
- package/dist/internal/utils.d.ts.map +1 -0
- package/dist/internal/utils.js +25 -0
- package/dist/internal/utils.js.map +1 -0
- package/dist/vscode/extensionApi.d.ts +101 -0
- package/dist/vscode/extensionApi.d.ts.map +1 -0
- package/dist/vscode/extensionApi.js +2 -0
- package/dist/vscode/extensionApi.js.map +1 -0
- package/dist/vscode/moduleLoader.d.ts +14 -0
- package/dist/vscode/moduleLoader.d.ts.map +1 -0
- package/dist/vscode/moduleLoader.js +36 -0
- package/dist/vscode/moduleLoader.js.map +1 -0
- package/dist/vscode/protocol.generated.d.ts +2886 -0
- package/dist/vscode/protocol.generated.d.ts.map +1 -0
- package/dist/vscode/protocol.generated.js +4 -0
- package/dist/vscode/protocol.generated.js.map +1 -0
- package/lib/getExePath.js +8 -5
- package/lib/tsc.js +1 -1
- package/lib/version.cjs +3 -0
- package/lib/version.d.cts +2 -0
- package/package.json +48 -41
- package/schemas/jsconfig.schema.json +2207 -0
- package/schemas/tsconfig.schema.json +2206 -0
- package/vendor/vscode-jsonrpc/lib/node/main.js +1 -1
- package/vendor/vscode-jsonrpc/package.json +1 -1
- package/dist/api/objectRegistry.d.ts +0 -40
- package/dist/api/objectRegistry.d.ts.map +0 -1
- package/dist/api/objectRegistry.js +0 -61
- package/dist/api/objectRegistry.js.map +0 -1
package/dist/api/syncChannel.js
CHANGED
|
@@ -10,6 +10,7 @@
|
|
|
10
10
|
* ChildProcess.
|
|
11
11
|
*/
|
|
12
12
|
import { spawn, } from "node:child_process";
|
|
13
|
+
import { randomBytes } from "node:crypto";
|
|
13
14
|
import { closeSync, openSync, readSync, writeSync, } from "node:fs";
|
|
14
15
|
import { binHeaderSize, MSGPACK_BIN16, MSGPACK_BIN32, MSGPACK_BIN8, MSGPACK_FIXARRAY3, MSGPACK_UINT8, writeBinHeader, } from "./node/msgpack.js";
|
|
15
16
|
// ── MessageType constants ────────────────────────────────────────────
|
|
@@ -43,6 +44,9 @@ process.on("exit", () => {
|
|
|
43
44
|
}
|
|
44
45
|
liveChildren.clear();
|
|
45
46
|
});
|
|
47
|
+
export function createPipePath() {
|
|
48
|
+
return `\\\\.\\pipe\\tsgo-sync-${process.pid}-${randomBytes(16).toString("hex")}`;
|
|
49
|
+
}
|
|
46
50
|
/**
|
|
47
51
|
* SyncRpcChannel – drop-in replacement for the native libsyncrpc class.
|
|
48
52
|
*
|
|
@@ -65,7 +69,18 @@ export class SyncRpcChannel {
|
|
|
65
69
|
writeFd;
|
|
66
70
|
pipeFd;
|
|
67
71
|
callbacks = new Map();
|
|
72
|
+
callbackFailure;
|
|
68
73
|
methodBufCache = new Map();
|
|
74
|
+
// When true, the payload byte lengths of each request/response are recorded
|
|
75
|
+
// and exposed via the `last*` fields below. These count only the JSON/binary
|
|
76
|
+
// payload bytes, not the MessagePack tuple framing (message type, method
|
|
77
|
+
// name, and length headers).
|
|
78
|
+
collectTiming;
|
|
79
|
+
// Per-request payload byte measurements for the most recently completed
|
|
80
|
+
// request. Only meaningful when `collectTiming` is true. Callers read these
|
|
81
|
+
// immediately after a request returns (the channel is strictly serial).
|
|
82
|
+
lastBytesSent = 0;
|
|
83
|
+
lastBytesReceived = 0;
|
|
69
84
|
_msgType = 0;
|
|
70
85
|
_msgName = EMPTY_BUF;
|
|
71
86
|
_msgPayload = EMPTY_BUF;
|
|
@@ -76,7 +91,8 @@ export class SyncRpcChannel {
|
|
|
76
91
|
readBufLen = 0;
|
|
77
92
|
// Write buffer – assembles entire tuples for a single writeSync.
|
|
78
93
|
writeBuf = Buffer.allocUnsafe(65536);
|
|
79
|
-
constructor(exe, args) {
|
|
94
|
+
constructor(exe, args, collectTiming = false) {
|
|
95
|
+
this.collectTiming = collectTiming;
|
|
80
96
|
const isWindows = process.platform === "win32";
|
|
81
97
|
if (isWindows) {
|
|
82
98
|
// On Windows, libuv pipe handles don't expose POSIX fds, so
|
|
@@ -84,7 +100,7 @@ export class SyncRpcChannel {
|
|
|
84
100
|
// we create a Windows named pipe path, pass it to the child
|
|
85
101
|
// via --pipe, and open it with fs.openSync which returns a
|
|
86
102
|
// real C-runtime fd backed by a proper HANDLE.
|
|
87
|
-
const pipePath =
|
|
103
|
+
const pipePath = createPipePath();
|
|
88
104
|
this.child = spawn(exe, [...args, "--pipe", pipePath], {
|
|
89
105
|
stdio: ["ignore", "ignore", "inherit"],
|
|
90
106
|
});
|
|
@@ -165,6 +181,9 @@ export class SyncRpcChannel {
|
|
|
165
181
|
registerCallback(name, callback) {
|
|
166
182
|
this.callbacks.set(name, callback);
|
|
167
183
|
}
|
|
184
|
+
unregisterCallback(name) {
|
|
185
|
+
this.callbacks.delete(name);
|
|
186
|
+
}
|
|
168
187
|
/** Kill the child process and release resources. */
|
|
169
188
|
close() {
|
|
170
189
|
try {
|
|
@@ -190,6 +209,9 @@ export class SyncRpcChannel {
|
|
|
190
209
|
if (this.readFd < 0) {
|
|
191
210
|
throw new Error("SyncRpcChannel is closed");
|
|
192
211
|
}
|
|
212
|
+
if (this.callbackFailure) {
|
|
213
|
+
throw this.callbackFailure.error;
|
|
214
|
+
}
|
|
193
215
|
}
|
|
194
216
|
getMethodBuf(method) {
|
|
195
217
|
let buf = this.methodBufCache.get(method);
|
|
@@ -201,6 +223,12 @@ export class SyncRpcChannel {
|
|
|
201
223
|
}
|
|
202
224
|
requestBytesSync(method, payload) {
|
|
203
225
|
const methodBuf = this.getMethodBuf(method);
|
|
226
|
+
if (this.collectTiming) {
|
|
227
|
+
this.lastBytesSent = typeof payload === "string"
|
|
228
|
+
? Buffer.byteLength(payload, "utf-8")
|
|
229
|
+
: payload.length;
|
|
230
|
+
this.lastBytesReceived = 0;
|
|
231
|
+
}
|
|
204
232
|
this.writeTuple(MSG_REQUEST, methodBuf, payload);
|
|
205
233
|
for (;;) {
|
|
206
234
|
this.readTuple();
|
|
@@ -210,6 +238,9 @@ export class SyncRpcChannel {
|
|
|
210
238
|
if (!methodBuf.equals(this._msgName)) {
|
|
211
239
|
throw new Error(`name mismatch for response: expected \`${method}\`, got \`${this._msgName.toString("utf-8")}\``);
|
|
212
240
|
}
|
|
241
|
+
if (this.collectTiming) {
|
|
242
|
+
this.lastBytesReceived = this._msgPayload.length;
|
|
243
|
+
}
|
|
213
244
|
return this._msgPayload;
|
|
214
245
|
}
|
|
215
246
|
case MSG_ERROR: {
|
|
@@ -219,7 +250,14 @@ export class SyncRpcChannel {
|
|
|
219
250
|
throw new Error(`name mismatch for response: expected \`${method}\`, got \`${this._msgName.toString("utf-8")}\``);
|
|
220
251
|
}
|
|
221
252
|
case MSG_CALL: {
|
|
222
|
-
|
|
253
|
+
try {
|
|
254
|
+
this.handleCall(this._msgName.toString("utf-8"), this._msgPayload);
|
|
255
|
+
}
|
|
256
|
+
catch (error) {
|
|
257
|
+
// The pending response is unread, so further I/O cannot be synchronized.
|
|
258
|
+
this.callbackFailure = { error };
|
|
259
|
+
throw error;
|
|
260
|
+
}
|
|
223
261
|
break;
|
|
224
262
|
}
|
|
225
263
|
default:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"syncChannel.js","sourceRoot":"","sources":["../../src/api/syncChannel.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"syncChannel.js","sourceRoot":"","sources":["../../src/api/syncChannel.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Client-side collection of per-request timing and transfer measurements.
|
|
3
|
+
*
|
|
4
|
+
* When enabled, each request records its round-trip latency and the number of
|
|
5
|
+
* payload bytes sent and received, accumulated into running totals and a
|
|
6
|
+
* fixed-size ring buffer of the most recent requests.
|
|
7
|
+
*
|
|
8
|
+
* The server measures its own per-request processing time independently. When a
|
|
9
|
+
* timing snapshot is requested, the client fetches the server's collection via
|
|
10
|
+
* a `getServerTiming` request and folds it into the returned {@link TimingInfo},
|
|
11
|
+
* yielding per-request and total server processing time and an estimated
|
|
12
|
+
* transport overhead (round-trip minus server processing time). Normal response
|
|
13
|
+
* messages are left unchanged.
|
|
14
|
+
*/
|
|
15
|
+
/** Number of most-recent requests retained in the ring buffer. */
|
|
16
|
+
export declare const RECENT_REQUEST_CAPACITY = 5;
|
|
17
|
+
/** A single request's measured timing and transfer sample. */
|
|
18
|
+
export interface RequestTiming {
|
|
19
|
+
/** The API method that was invoked. */
|
|
20
|
+
method: string;
|
|
21
|
+
/** Wall-clock round-trip time measured by the client, in milliseconds. */
|
|
22
|
+
roundTripMs: number;
|
|
23
|
+
/** Number of request payload bytes sent to the server. */
|
|
24
|
+
bytesSent: number;
|
|
25
|
+
/** Number of response payload bytes received from the server. */
|
|
26
|
+
bytesReceived: number;
|
|
27
|
+
/** Wall-clock timestamp ({@link Date.now}) captured when the request completed. */
|
|
28
|
+
timestamp: number;
|
|
29
|
+
/**
|
|
30
|
+
* Server-side processing time for this request, in milliseconds, as folded
|
|
31
|
+
* in from the server's own timing collection. Undefined when server timing
|
|
32
|
+
* for the request could not be matched.
|
|
33
|
+
*/
|
|
34
|
+
serverTimeMs?: number | undefined;
|
|
35
|
+
/**
|
|
36
|
+
* Estimated transport overhead for this request, in milliseconds
|
|
37
|
+
* (`roundTripMs - serverTimeMs`, clamped to be non-negative). Present
|
|
38
|
+
* exactly when {@link serverTimeMs} is.
|
|
39
|
+
*/
|
|
40
|
+
transportOverheadMs?: number | undefined;
|
|
41
|
+
}
|
|
42
|
+
/** Running totals accumulated across every measured request. */
|
|
43
|
+
export interface TimingAccumulators {
|
|
44
|
+
/** Number of requests measured. */
|
|
45
|
+
requestCount: number;
|
|
46
|
+
/** Sum of round-trip latencies, in milliseconds. */
|
|
47
|
+
roundTripMs: number;
|
|
48
|
+
/** Sum of request payload bytes sent. */
|
|
49
|
+
bytesSent: number;
|
|
50
|
+
/** Sum of response payload bytes received. */
|
|
51
|
+
bytesReceived: number;
|
|
52
|
+
/** Sum of server-side processing time, in milliseconds. */
|
|
53
|
+
serverTimeMs: number;
|
|
54
|
+
/**
|
|
55
|
+
* Estimated total transport overhead, in milliseconds
|
|
56
|
+
* (`roundTripMs - serverTimeMs`, clamped to be non-negative).
|
|
57
|
+
*/
|
|
58
|
+
transportOverheadMs: number;
|
|
59
|
+
/**
|
|
60
|
+
* Number of AST nodes materialized from binary source-file responses as the
|
|
61
|
+
* client walked the returned trees. Materialization is lazy and happens on
|
|
62
|
+
* demand, so this accrues after the originating request completes.
|
|
63
|
+
*/
|
|
64
|
+
nodesMaterialized: number;
|
|
65
|
+
/**
|
|
66
|
+
* Number of source files fetched from the server (each decoded into a
|
|
67
|
+
* lazily-materialized tree).
|
|
68
|
+
*/
|
|
69
|
+
sourceFilesFetched: number;
|
|
70
|
+
/**
|
|
71
|
+
* Number of AST nodes across all fetched source files that can be
|
|
72
|
+
* materialized on demand. Each fetched file contributes its full node count
|
|
73
|
+
* (excluding the pre-materialized source-file node), whether or not those
|
|
74
|
+
* nodes are ever walked. Serves as the denominator for the share of fetched
|
|
75
|
+
* nodes that end up materialized (`nodesMaterialized / nodesFetched`).
|
|
76
|
+
*/
|
|
77
|
+
nodesFetched: number;
|
|
78
|
+
}
|
|
79
|
+
/** A point-in-time snapshot of collected timing information. */
|
|
80
|
+
export interface TimingInfo {
|
|
81
|
+
/** Whether timing collection is enabled for this API instance. */
|
|
82
|
+
enabled: boolean;
|
|
83
|
+
/** Running totals across every measured request. */
|
|
84
|
+
totals: TimingAccumulators;
|
|
85
|
+
/**
|
|
86
|
+
* The most recent requests, up to {@link RECENT_REQUEST_CAPACITY}, ordered
|
|
87
|
+
* from oldest to newest.
|
|
88
|
+
*/
|
|
89
|
+
recentRequests: RequestTiming[];
|
|
90
|
+
}
|
|
91
|
+
/** A raw measurement handed to {@link TimingCollector.record}. */
|
|
92
|
+
export interface TimingSample {
|
|
93
|
+
method: string;
|
|
94
|
+
roundTripMs: number;
|
|
95
|
+
bytesSent: number;
|
|
96
|
+
bytesReceived: number;
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* A single server-side request's processing-time sample, as returned by a
|
|
100
|
+
* `getServerTiming` request. This is an internal wire shape; consumers see the
|
|
101
|
+
* folded-in {@link RequestTiming.serverTimeMs}.
|
|
102
|
+
*/
|
|
103
|
+
export interface ServerRequestTiming {
|
|
104
|
+
/** The API method that was handled. */
|
|
105
|
+
method: string;
|
|
106
|
+
/** Server-side processing time, in milliseconds. */
|
|
107
|
+
processingTimeMs: number;
|
|
108
|
+
/** Unix timestamp in milliseconds captured when the request completed. */
|
|
109
|
+
timestamp: number;
|
|
110
|
+
}
|
|
111
|
+
/** Running totals accumulated on the server across every handled request. */
|
|
112
|
+
export interface ServerTimingTotals {
|
|
113
|
+
/** Total number of requests handled. */
|
|
114
|
+
requestCount: number;
|
|
115
|
+
/** Sum of server-side processing time, in milliseconds. */
|
|
116
|
+
totalProcessingTimeMs: number;
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* A snapshot of the server's own timing collection, retrieved via a
|
|
120
|
+
* `getServerTiming` request. This is an internal wire shape used to compute the
|
|
121
|
+
* server-derived fields of {@link TimingInfo}.
|
|
122
|
+
*/
|
|
123
|
+
export interface ServerTimingInfo {
|
|
124
|
+
/** Whether server-side timing collection is enabled. */
|
|
125
|
+
enabled: boolean;
|
|
126
|
+
/** Running totals across every request the server handled. */
|
|
127
|
+
totals: ServerTimingTotals;
|
|
128
|
+
/**
|
|
129
|
+
* The most recent requests as seen by the server, ordered from oldest to
|
|
130
|
+
* newest.
|
|
131
|
+
*/
|
|
132
|
+
recentRequests: ServerRequestTiming[];
|
|
133
|
+
}
|
|
134
|
+
/** Returns a snapshot representing a disabled (never-collecting) timing state. */
|
|
135
|
+
export declare function disabledTimingInfo(): TimingInfo;
|
|
136
|
+
/** Returns a snapshot representing disabled server-side timing collection. */
|
|
137
|
+
export declare function disabledServerTimingInfo(): ServerTimingInfo;
|
|
138
|
+
/**
|
|
139
|
+
* Folds a server-side timing snapshot into a client-side snapshot, producing a
|
|
140
|
+
* combined {@link TimingInfo} with per-request and total server processing time
|
|
141
|
+
* plus estimated transport overhead.
|
|
142
|
+
*
|
|
143
|
+
* Recent requests are paired newest-to-newest and only matched when the method
|
|
144
|
+
* names agree, so that requests recorded by only one side (e.g. the meta
|
|
145
|
+
* requests used to fetch timing) do not misalign the two ring buffers.
|
|
146
|
+
*/
|
|
147
|
+
export declare function combineTimingInfo(client: TimingInfo, server: ServerTimingInfo): TimingInfo;
|
|
148
|
+
/**
|
|
149
|
+
* Accumulates request timing samples into running totals and a fixed-size ring
|
|
150
|
+
* buffer of the most recent requests.
|
|
151
|
+
*/
|
|
152
|
+
export declare class TimingCollector {
|
|
153
|
+
private totals;
|
|
154
|
+
private ring;
|
|
155
|
+
private head;
|
|
156
|
+
/** Records a single request's measurements. */
|
|
157
|
+
record(sample: TimingSample): void;
|
|
158
|
+
/**
|
|
159
|
+
* Records a single AST node materialization. Called on demand as the consumer
|
|
160
|
+
* walks a binary source-file response's tree, so it is not tied to any one
|
|
161
|
+
* request.
|
|
162
|
+
*/
|
|
163
|
+
recordMaterialization(): void;
|
|
164
|
+
/**
|
|
165
|
+
* Records a fetched source file: increments the fetched-file counter and adds
|
|
166
|
+
* the file's materializable node count to the fetched-node total, which serves
|
|
167
|
+
* as the denominator for the share of fetched nodes that end up materialized.
|
|
168
|
+
*/
|
|
169
|
+
recordSourceFileFetched(materializableNodeCount: number): void;
|
|
170
|
+
/** Returns a snapshot of the collected timing information. */
|
|
171
|
+
getInfo(): TimingInfo;
|
|
172
|
+
/** Clears all accumulated totals and recent-request history. */
|
|
173
|
+
reset(): void;
|
|
174
|
+
}
|
|
175
|
+
//# sourceMappingURL=timing.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"timing.d.ts","sourceRoot":"","sources":["../../src/api/timing.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Client-side collection of per-request timing and transfer measurements.
|
|
3
|
+
*
|
|
4
|
+
* When enabled, each request records its round-trip latency and the number of
|
|
5
|
+
* payload bytes sent and received, accumulated into running totals and a
|
|
6
|
+
* fixed-size ring buffer of the most recent requests.
|
|
7
|
+
*
|
|
8
|
+
* The server measures its own per-request processing time independently. When a
|
|
9
|
+
* timing snapshot is requested, the client fetches the server's collection via
|
|
10
|
+
* a `getServerTiming` request and folds it into the returned {@link TimingInfo},
|
|
11
|
+
* yielding per-request and total server processing time and an estimated
|
|
12
|
+
* transport overhead (round-trip minus server processing time). Normal response
|
|
13
|
+
* messages are left unchanged.
|
|
14
|
+
*/
|
|
15
|
+
/** Number of most-recent requests retained in the ring buffer. */
|
|
16
|
+
export const RECENT_REQUEST_CAPACITY = 5;
|
|
17
|
+
function emptyAccumulators() {
|
|
18
|
+
return {
|
|
19
|
+
requestCount: 0,
|
|
20
|
+
roundTripMs: 0,
|
|
21
|
+
bytesSent: 0,
|
|
22
|
+
bytesReceived: 0,
|
|
23
|
+
serverTimeMs: 0,
|
|
24
|
+
transportOverheadMs: 0,
|
|
25
|
+
nodesMaterialized: 0,
|
|
26
|
+
sourceFilesFetched: 0,
|
|
27
|
+
nodesFetched: 0,
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
/** Returns a snapshot representing a disabled (never-collecting) timing state. */
|
|
31
|
+
export function disabledTimingInfo() {
|
|
32
|
+
return {
|
|
33
|
+
enabled: false,
|
|
34
|
+
totals: emptyAccumulators(),
|
|
35
|
+
recentRequests: [],
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
/** Returns a snapshot representing disabled server-side timing collection. */
|
|
39
|
+
export function disabledServerTimingInfo() {
|
|
40
|
+
return {
|
|
41
|
+
enabled: false,
|
|
42
|
+
totals: { requestCount: 0, totalProcessingTimeMs: 0 },
|
|
43
|
+
recentRequests: [],
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Folds a server-side timing snapshot into a client-side snapshot, producing a
|
|
48
|
+
* combined {@link TimingInfo} with per-request and total server processing time
|
|
49
|
+
* plus estimated transport overhead.
|
|
50
|
+
*
|
|
51
|
+
* Recent requests are paired newest-to-newest and only matched when the method
|
|
52
|
+
* names agree, so that requests recorded by only one side (e.g. the meta
|
|
53
|
+
* requests used to fetch timing) do not misalign the two ring buffers.
|
|
54
|
+
*/
|
|
55
|
+
export function combineTimingInfo(client, server) {
|
|
56
|
+
if (!client.enabled || !server.enabled) {
|
|
57
|
+
return client;
|
|
58
|
+
}
|
|
59
|
+
const serverTimeMs = server.totals.totalProcessingTimeMs;
|
|
60
|
+
const totals = {
|
|
61
|
+
...client.totals,
|
|
62
|
+
serverTimeMs,
|
|
63
|
+
transportOverheadMs: Math.max(0, client.totals.roundTripMs - serverTimeMs),
|
|
64
|
+
};
|
|
65
|
+
const recentRequests = client.recentRequests.map(r => ({ ...r }));
|
|
66
|
+
const serverRecent = server.recentRequests;
|
|
67
|
+
const pairs = Math.min(recentRequests.length, serverRecent.length);
|
|
68
|
+
for (let i = 1; i <= pairs; i++) {
|
|
69
|
+
const c = recentRequests[recentRequests.length - i];
|
|
70
|
+
const s = serverRecent[serverRecent.length - i];
|
|
71
|
+
if (c.method === s.method) {
|
|
72
|
+
c.serverTimeMs = s.processingTimeMs;
|
|
73
|
+
c.transportOverheadMs = Math.max(0, c.roundTripMs - s.processingTimeMs);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
return {
|
|
77
|
+
enabled: true,
|
|
78
|
+
totals,
|
|
79
|
+
recentRequests,
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Accumulates request timing samples into running totals and a fixed-size ring
|
|
84
|
+
* buffer of the most recent requests.
|
|
85
|
+
*/
|
|
86
|
+
export class TimingCollector {
|
|
87
|
+
totals = emptyAccumulators();
|
|
88
|
+
// Ring buffer of the most recent requests. `ring` grows to at most
|
|
89
|
+
// RECENT_REQUEST_CAPACITY; once full, `head` marks the oldest entry.
|
|
90
|
+
ring = [];
|
|
91
|
+
head = 0;
|
|
92
|
+
/** Records a single request's measurements. */
|
|
93
|
+
record(sample) {
|
|
94
|
+
this.totals.requestCount++;
|
|
95
|
+
this.totals.roundTripMs += sample.roundTripMs;
|
|
96
|
+
this.totals.bytesSent += sample.bytesSent;
|
|
97
|
+
this.totals.bytesReceived += sample.bytesReceived;
|
|
98
|
+
const entry = {
|
|
99
|
+
method: sample.method,
|
|
100
|
+
roundTripMs: sample.roundTripMs,
|
|
101
|
+
bytesSent: sample.bytesSent,
|
|
102
|
+
bytesReceived: sample.bytesReceived,
|
|
103
|
+
timestamp: Date.now(),
|
|
104
|
+
};
|
|
105
|
+
if (this.ring.length < RECENT_REQUEST_CAPACITY) {
|
|
106
|
+
this.ring.push(entry);
|
|
107
|
+
}
|
|
108
|
+
else {
|
|
109
|
+
this.ring[this.head] = entry;
|
|
110
|
+
this.head = (this.head + 1) % RECENT_REQUEST_CAPACITY;
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Records a single AST node materialization. Called on demand as the consumer
|
|
115
|
+
* walks a binary source-file response's tree, so it is not tied to any one
|
|
116
|
+
* request.
|
|
117
|
+
*/
|
|
118
|
+
recordMaterialization() {
|
|
119
|
+
this.totals.nodesMaterialized++;
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* Records a fetched source file: increments the fetched-file counter and adds
|
|
123
|
+
* the file's materializable node count to the fetched-node total, which serves
|
|
124
|
+
* as the denominator for the share of fetched nodes that end up materialized.
|
|
125
|
+
*/
|
|
126
|
+
recordSourceFileFetched(materializableNodeCount) {
|
|
127
|
+
this.totals.sourceFilesFetched++;
|
|
128
|
+
this.totals.nodesFetched += materializableNodeCount;
|
|
129
|
+
}
|
|
130
|
+
/** Returns a snapshot of the collected timing information. */
|
|
131
|
+
getInfo() {
|
|
132
|
+
const recentRequests = [];
|
|
133
|
+
for (let i = 0; i < this.ring.length; i++) {
|
|
134
|
+
recentRequests.push(this.ring[(this.head + i) % this.ring.length]);
|
|
135
|
+
}
|
|
136
|
+
return {
|
|
137
|
+
enabled: true,
|
|
138
|
+
totals: { ...this.totals },
|
|
139
|
+
recentRequests,
|
|
140
|
+
};
|
|
141
|
+
}
|
|
142
|
+
/** Clears all accumulated totals and recent-request history. */
|
|
143
|
+
reset() {
|
|
144
|
+
this.totals = emptyAccumulators();
|
|
145
|
+
this.ring = [];
|
|
146
|
+
this.head = 0;
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
//# sourceMappingURL=timing.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"timing.js","sourceRoot":"","sources":["../../src/api/timing.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { type ServerTimingInfo, type TimingInfo } from "./timing.ts";
|
|
2
|
+
/** One final snapshot per client, written before its connection is closed. */
|
|
3
|
+
export declare class TimingDump {
|
|
4
|
+
private readonly instanceId;
|
|
5
|
+
private readonly startedAt;
|
|
6
|
+
private readonly directory;
|
|
7
|
+
private readonly mode;
|
|
8
|
+
private readonly transport;
|
|
9
|
+
static fromEnvironment(mode: "sync" | "async", transport: "spawn" | "socket"): TimingDump | undefined;
|
|
10
|
+
private constructor();
|
|
11
|
+
write(client: TimingInfo, server: ServerTimingInfo | undefined, serverTimingError?: string): void;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=timingDump.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"timingDump.d.ts","sourceRoot":"","sources":["../../src/api/timingDump.ts"],"names":[],"mappings":"AASA,OAAO,EAEH,KAAK,gBAAgB,EACrB,KAAK,UAAU,EAClB,MAAM,aAAa,CAAC;AAErB,8EAA8E;AAC9E,qBAAa,UAAU;IACnB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAgB;IAC3C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA4B;IACtD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAmB;IACxC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAqB;IAE/C,MAAM,CAAC,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,EAAE,SAAS,EAAE,OAAO,GAAG,QAAQ,GAAG,UAAU,GAAG,SAAS,CAGpG;IAED,OAAO,eAIN;IAED,KAAK,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,gBAAgB,GAAG,SAAS,EAAE,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAmBhG;CACJ"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { randomUUID } from "node:crypto";
|
|
2
|
+
import { mkdirSync, writeFileSync, } from "node:fs";
|
|
3
|
+
import { join, resolve, } from "node:path";
|
|
4
|
+
import { combineTimingInfo, } from "./timing.js";
|
|
5
|
+
/** One final snapshot per client, written before its connection is closed. */
|
|
6
|
+
export class TimingDump {
|
|
7
|
+
instanceId = randomUUID();
|
|
8
|
+
startedAt = new Date().toISOString();
|
|
9
|
+
directory;
|
|
10
|
+
mode;
|
|
11
|
+
transport;
|
|
12
|
+
static fromEnvironment(mode, transport) {
|
|
13
|
+
const directory = process.env.TS_API_TIMING_DIR;
|
|
14
|
+
return directory ? new TimingDump(resolve(directory), mode, transport) : undefined;
|
|
15
|
+
}
|
|
16
|
+
constructor(directory, mode, transport) {
|
|
17
|
+
this.directory = directory;
|
|
18
|
+
this.mode = mode;
|
|
19
|
+
this.transport = transport;
|
|
20
|
+
}
|
|
21
|
+
write(client, server, serverTimingError) {
|
|
22
|
+
const snapshot = {
|
|
23
|
+
schemaVersion: 1,
|
|
24
|
+
instanceId: this.instanceId,
|
|
25
|
+
pid: process.pid,
|
|
26
|
+
mode: this.mode,
|
|
27
|
+
transport: this.transport,
|
|
28
|
+
startedAt: this.startedAt,
|
|
29
|
+
closedAt: new Date().toISOString(),
|
|
30
|
+
timing: server ? combineTimingInfo(client, server) : client,
|
|
31
|
+
serverTiming: server ?? null,
|
|
32
|
+
serverTimingError,
|
|
33
|
+
};
|
|
34
|
+
mkdirSync(this.directory, { recursive: true });
|
|
35
|
+
writeFileSync(join(this.directory, `timing-${process.pid}-${this.instanceId}.json`), JSON.stringify(snapshot) + "\n", { flag: "wx" });
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=timingDump.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"timingDump.js","sourceRoot":"","sources":["../../src/api/timingDump.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EACH,SAAS,EACT,aAAa,GAChB,MAAM,SAAS,CAAC;AACjB,OAAO,EACH,IAAI,EACJ,OAAO,GACV,MAAM,WAAW,CAAC;AACnB,OAAO,EACH,iBAAiB,GAGpB,MAAM,aAAa,CAAC;AAErB,8EAA8E;AAC9E,MAAM,OAAO,UAAU;IACF,UAAU,GAAG,UAAU,EAAE,CAAC;IAC1B,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACrC,SAAS,CAAS;IAClB,IAAI,CAAmB;IACvB,SAAS,CAAqB;IAE/C,MAAM,CAAC,eAAe,CAAC,IAAsB,EAAE,SAA6B;QACxE,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;QAChD,OAAO,SAAS,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACvF,CAAC;IAED,YAAoB,SAAiB,EAAE,IAAsB,EAAE,SAA6B;QACxF,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,MAAkB,EAAE,MAAoC,EAAE,iBAA0B;QACtF,MAAM,QAAQ,GAAG;YACb,aAAa,EAAE,CAAC;YAChB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,QAAQ,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YAClC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,iBAAiB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM;YAC3D,YAAY,EAAE,MAAM,IAAI,IAAI;YAC5B,iBAAiB;SACpB,CAAC;QACF,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/C,aAAa,CACT,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,OAAO,CAAC,GAAG,IAAI,IAAI,CAAC,UAAU,OAAO,CAAC,EACrE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,IAAI,EAC/B,EAAE,IAAI,EAAE,IAAI,EAAE,CACjB,CAAC;IACN,CAAC;CACJ"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export type { PathKey, RootedDirectoryPath, RootedFilePath, RootedPath } from "../ast/index.ts";
|
|
2
|
+
export { canonicalize, CaseSensitivity, isCaseInsensitive, isCaseSensitive, pathKey, rootedDirectoryPathFromPath, rootedFilePathFromPath, rootedPathFromNormalized, toRootedDirectoryPath, toRootedFilePath, toRootedPath, tryPathKeyFromCanonical, tryRootedPathFromNormalized } from "./path.ts";
|
|
3
|
+
//# sourceMappingURL=typedPaths.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"typedPaths.d.ts","sourceRoot":"","sources":["../../src/api/typedPaths.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAChG,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,iBAAiB,EAAE,eAAe,EAAE,OAAO,EAAE,2BAA2B,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,YAAY,EAAE,uBAAuB,EAAE,2BAA2B,EAAE,MAAM,WAAW,CAAC"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export { canonicalize, CaseSensitivity, isCaseInsensitive, isCaseSensitive, pathKey, rootedDirectoryPathFromPath, rootedFilePathFromPath, rootedPathFromNormalized, toRootedDirectoryPath, toRootedFilePath, toRootedPath, tryPathKeyFromCanonical, tryRootedPathFromNormalized } from "./path.js";
|
|
2
|
+
//# sourceMappingURL=typedPaths.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"typedPaths.js","sourceRoot":"","sources":["../../src/api/typedPaths.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,iBAAiB,EAAE,eAAe,EAAE,OAAO,EAAE,2BAA2B,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,YAAY,EAAE,uBAAuB,EAAE,2BAA2B,EAAE,MAAM,WAAW,CAAC"}
|