@vectorx/functions-framework 0.6.2 → 0.8.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.
@@ -12,6 +12,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.newExecutionContext = newExecutionContext;
13
13
  exports.getCurrentEventID = getCurrentEventID;
14
14
  exports.getCurrentAsyncContext = getCurrentAsyncContext;
15
+ exports.updateApmMeasurementData = updateApmMeasurementData;
15
16
  exports.isInFrameworkAsyncContext = isInFrameworkAsyncContext;
16
17
  exports.done = done;
17
18
  exports.wrapWithAsyncContext = wrapWithAsyncContext;
@@ -34,6 +35,15 @@ function getCurrentEventID() {
34
35
  function getCurrentAsyncContext() {
35
36
  return asyncLocalStorage.getStore();
36
37
  }
38
+ function updateApmMeasurementData(updates) {
39
+ const context = asyncLocalStorage.getStore();
40
+ if (context !== undefined) {
41
+ if (!context.apmMeasurementData) {
42
+ context.apmMeasurementData = {};
43
+ }
44
+ Object.assign(context.apmMeasurementData, updates);
45
+ }
46
+ }
37
47
  function isInFrameworkAsyncContext() {
38
48
  const context = asyncLocalStorage.getStore();
39
49
  return context !== undefined && context.id === CONTEXT_ID;
package/lib/index.js CHANGED
@@ -21,3 +21,4 @@ __exportStar(require("./function-registry"), exports);
21
21
  __exportStar(require("./sse"), exports);
22
22
  __exportStar(require("./server"), exports);
23
23
  __exportStar(require("./logger"), exports);
24
+ __exportStar(require("./async-context"), exports);
package/lib/logger.js CHANGED
@@ -68,7 +68,16 @@ class FunctionsLogger {
68
68
  const eventId = (asyncContext === null || asyncContext === void 0 ? void 0 : asyncContext.eventID) || "";
69
69
  if (this.apmReporter && (asyncContext === null || asyncContext === void 0 ? void 0 : asyncContext.apmMeasurementData)) {
70
70
  const measurementData = Object.assign({}, asyncContext.apmMeasurementData);
71
- this.apmReporter.report(apm_config_1.APM_MEASUREMENT_NAME, Object.assign(Object.assign({}, measurementData), { kit_runtime_event_type: LogType.ACCESS, kit_runtime_event_id: eventId, kit_runtime_event_data: message, kit_event_extInfo: {} }));
71
+ let kit_event_scene;
72
+ try {
73
+ const parsedMessage = JSON.parse(message);
74
+ if (parsedMessage.scene) {
75
+ kit_event_scene = parsedMessage.scene;
76
+ }
77
+ }
78
+ catch (_a) {
79
+ }
80
+ this.apmReporter.report(apm_config_1.APM_MEASUREMENT_NAME, Object.assign(Object.assign({}, measurementData), { kit_runtime_event_type: LogType.ACCESS, kit_runtime_event_id: eventId, kit_runtime_event_data: message, kit_event_scene: kit_event_scene, kit_event_extInfo: {} }));
72
81
  }
73
82
  }
74
83
  logUserCodelog() {
@@ -31,6 +31,11 @@ function apmMiddleware() {
31
31
  kit_function_framework_version: kitInfo.functionsFrameworkVersion,
32
32
  kit_cloud_env: env,
33
33
  kit_runtime_event_id: (0, async_context_1.getCurrentEventID)(),
34
+ kit_event_scene: undefined,
35
+ kit_model_name: undefined,
36
+ kit_model_service_url: undefined,
37
+ kit_model_status_code: undefined,
38
+ kit_model_rt: undefined,
34
39
  };
35
40
  ctx.state.apmMeasurementData = baseMeasurementData;
36
41
  yield next();
@@ -59,6 +59,11 @@ function loggerMiddleware() {
59
59
  userAgent: ctx.headers["user-agent"],
60
60
  };
61
61
  logger_1.functionsLogger.logAccesslog(logger_1.LogLevel.INFO, JSON.stringify(accessLog));
62
+ const asyncContext = (0, async_context_1.getCurrentAsyncContext)();
63
+ if (asyncContext === null || asyncContext === void 0 ? void 0 : asyncContext.userCodeLogsFlushTimer) {
64
+ clearTimeout(asyncContext.userCodeLogsFlushTimer);
65
+ asyncContext.userCodeLogsFlushTimer = undefined;
66
+ }
62
67
  logger_1.functionsLogger.logUserCodelog();
63
68
  process.stdout.write(chalk_1.default.greenBright(`▶️ ${chalk_1.default.gray(`[${new Date().toLocaleString()} - ${eventId.slice(0, -10)}]`)} - ${duration}ms\n`));
64
69
  process.stdout.write(chalk_1.default.greenBright(`\n`));
package/lib/utils/apm.js CHANGED
@@ -54,7 +54,7 @@ class ApmReporter {
54
54
  context_appVersion: "unknown",
55
55
  context_osVersion: os.release(),
56
56
  context_userAgent: `Node/${process.version} ${os.platform()}/${os.release()} (${os.arch()})`,
57
- context_artifactName: "xhsmpcloudbase",
57
+ context_artifactName: "miniprogram",
58
58
  context_deviceModel: "",
59
59
  context_matchedPath: "",
60
60
  context_deviceId: (0, machineId_1.machineIdSync)(true),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vectorx/functions-framework",
3
- "version": "0.6.2",
3
+ "version": "0.8.0",
4
4
  "description": "VectorX Functions Framework",
5
5
  "main": "lib/index.js",
6
6
  "types": "types/index.d.ts",
@@ -25,7 +25,7 @@
25
25
  "node": ">=18.0.0"
26
26
  },
27
27
  "dependencies": {
28
- "@vectorx/ai-types": "0.5.2",
28
+ "@vectorx/ai-types": "0.7.0",
29
29
  "async_hooks": "^1.0.0",
30
30
  "chalk": "4",
31
31
  "commander": "^12.1.0",
@@ -11,6 +11,7 @@ export interface ExecutionContext {
11
11
  export declare function newExecutionContext(eventId: string, apmData?: Record<string, any>): ExecutionContext;
12
12
  export declare function getCurrentEventID(): string;
13
13
  export declare function getCurrentAsyncContext(): ExecutionContext | undefined;
14
+ export declare function updateApmMeasurementData(updates: Record<string, any>): void;
14
15
  export declare function isInFrameworkAsyncContext(): boolean;
15
16
  export declare function done(): Promise<void>;
16
17
  export declare function wrapWithAsyncContext<T>(executionContext: ExecutionContext, fn: () => Promise<T>): Promise<T>;
package/types/index.d.ts CHANGED
@@ -5,3 +5,4 @@ export * from "./function-registry";
5
5
  export * from "./sse";
6
6
  export * from "./server";
7
7
  export * from "./logger";
8
+ export * from "./async-context";