diff --git a/.changeset/hungry-falcons-fix.md b/.changeset/hungry-falcons-fix.md new file mode 100644 index 000000000..84532f9aa --- /dev/null +++ b/.changeset/hungry-falcons-fix.md @@ -0,0 +1,5 @@ +--- +"@trigger.dev/core": patch +--- + +fix: run metadata not working when using npx/pnpm dlx diff --git a/packages/core/src/v3/runMetadata/index.ts b/packages/core/src/v3/runMetadata/index.ts index 0c50370a7..178497245 100644 --- a/packages/core/src/v3/runMetadata/index.ts +++ b/packages/core/src/v3/runMetadata/index.ts @@ -1,11 +1,13 @@ import { DeserializedJson } from "../../schemas/json.js"; import { apiClientManager } from "../apiClientManager-api.js"; import { taskContext } from "../task-context-api.js"; +import { getGlobal, registerGlobal } from "../utils/globals.js"; import { ApiRequestOptions } from "../zodfetch.js"; +const API_NAME = "run-metadata"; + export class RunMetadataAPI { private static _instance?: RunMetadataAPI; - private store: Record | undefined; private constructor() {} @@ -17,8 +19,16 @@ export class RunMetadataAPI { return this._instance; } + get store(): Record | undefined { + return getGlobal(API_NAME); + } + + set store(value: Record | undefined) { + registerGlobal(API_NAME, value, true); + } + public enterWithMetadata(metadata: Record): void { - this.store = metadata; + registerGlobal(API_NAME, metadata); } public current(): Record | undefined { diff --git a/packages/core/src/v3/utils/globals.ts b/packages/core/src/v3/utils/globals.ts index 39e17bb3c..f9124bdc8 100644 --- a/packages/core/src/v3/utils/globals.ts +++ b/packages/core/src/v3/utils/globals.ts @@ -1,3 +1,4 @@ +import { DeserializedJson } from "../../schemas/json.js"; import { ApiClientConfiguration } from "../apiClientManager/types.js"; import { Clock } from "../clock/clock.js"; import type { RuntimeManager } from "../runtime/manager.js"; @@ -54,4 +55,5 @@ type TriggerDotDevGlobalAPI = { ["task-catalog"]?: TaskCatalog; ["task-context"]?: TaskContext; ["api-client"]?: ApiClientConfiguration; + ["run-metadata"]?: Record; }; diff --git a/references/v3-catalog/src/trigger/runMetadata.ts b/references/v3-catalog/src/trigger/runMetadata.ts index e4f5dd880..690935da1 100644 --- a/references/v3-catalog/src/trigger/runMetadata.ts +++ b/references/v3-catalog/src/trigger/runMetadata.ts @@ -19,6 +19,8 @@ export const runMetadataTask = task({ export const runMetadataChildTask = task({ id: "run-metadata-child-task", run: async (payload: any, { ctx }) => { + logger.info("metadata", { metadata: metadata.current() }); + await metadata.set("child", "task"); logger.info("metadata", { metadata: metadata.current() });