npm package diff
Package: @forge/tunnel
Versions: 6.0.0-next.13 - 6.0.0-next.14
File: package/out/services/local-invocation-service.js
Index: package/out/services/local-invocation-service.js
===================================================================
--- package/out/services/local-invocation-service.js
+++ package/out/services/local-invocation-service.js
@@ -2,58 +2,35 @@
Object.defineProperty(exports, "__esModule", { value: true });
exports.LocalInvocationService = void 0;
const tslib_1 = require("tslib");
const util_1 = require("../util");
-const index_1 = require("../index");
-const uuid_1 = require("uuid");
-const runtime_1 = require("@forge/runtime");
const cli_shared_1 = require("@forge/cli-shared");
const zlib = tslib_1.__importStar(require("node:zlib"));
const DEFAULT_INVOCATION_TIMEOUT = 25;
class LocalInvocationService {
logger;
- inspector;
- constructor(logger, inspector) {
+ constructor(logger) {
this.logger = logger;
- this.inspector = inspector;
}
async invoke(handler, request) {
this.logger.info('');
this.logger.info((0, util_1.formatInvocation)(handler, request));
const sandbox = util_1.SandboxesContainer.get()[handler];
if (!sandbox) {
throw new cli_shared_1.ValidationError(cli_shared_1.Text.tunnel.error.handler.notFound(handler));
}
- const inspect = (0, index_1.isInspectorEnabled)();
- if (inspect && this.inspector.isServerStopped()) {
- const inspectorUrl = this.inspector.startServer(index_1.INSPECTOR_PORT);
- this.logger.info(cli_shared_1.Text.tunnel.startedInspector(inspectorUrl));
- }
- const variables = request.variables || [];
- const requestId = (0, util_1.getRequestId)(request, (0, uuid_1.v4)());
const timeout = request._meta.timeout ?? DEFAULT_INVOCATION_TIMEOUT;
- const xenInvocationRequest = (0, runtime_1.xenInvocationRequestFactory)({
- request: { ...request, variables },
- ctx: { requestId, traceId: requestId, timeout }
- });
- const invocationLimits = (0, runtime_1.perInvocationLimitsTrackerFactory)(xenInvocationRequest);
const tunnelWarningTimeout = setTimeout(() => {
this.logger.warn(cli_shared_1.Text.tunnel.invocationTimeout(timeout));
}, timeout * 1000);
- const { body, metrics, success, error, metricsCompressed } = await (0, runtime_1.invoke)({
- sandbox,
- xenInvocationRequest,
- invocationLimits,
- inspector: inspect ? this.inspector : undefined
- });
+ const { body, metrics, success, error, metricsCompressed } = await sandbox.execute(request);
clearTimeout(tunnelWarningTimeout);
- const reportMetrics = xenInvocationRequest.isFeatureFlagEnabled(runtime_1.XEN_RUNTIME_SHOULD_REPORT_METRICS);
- LocalInvocationService.printMetrics(reportMetrics, metrics, metricsCompressed, this.logger);
- return reportMetrics ? { body, metrics, success, error, metricsCompressed } : body;
+ LocalInvocationService.printMetrics(metrics, metricsCompressed, this.logger);
+ return { body, metrics, success, error, metricsCompressed };
}
static INTERNAL_METRICS = ['execute.setup-request-context', 'invoke.setup-isolate'];
- static printMetrics = (shouldReportMetrics, metrics, metricsCompressed, logger) => {
- if (shouldReportMetrics && metrics?.length) {
+ static printMetrics = (metrics, metricsCompressed, logger) => {
+ if (metrics?.length) {
if (metricsCompressed) {
metrics = JSON.parse(zlib.unzipSync(Buffer.from(metricsCompressed, 'base64')).toString());
}
logger.debug(`Metrics: ${JSON.stringify(metrics?.filter((m) => !LocalInvocationService.INTERNAL_METRICS.includes(m.name)), null, 2)}`);