@mastra/core
Version:
1 lines • 37.4 kB
Source Map (JSON)
{"version":3,"sources":["../src/schedules/worker.ts"],"names":["MastraWorker","PullTransport","RequestContext"],"mappings":"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","file":"worker-LDMM7GO4.cjs","sourcesContent":["import type { AgentSignalIfIdleOptions } from '../agent/types';\nimport type { Event, EventCallback } from '../events/types';\nimport type { Mastra } from '../mastra';\nimport { RequestContext } from '../request-context';\nimport type { ScheduleTarget } from '../storage/domains/schedules/base';\nimport { PullTransport } from '../worker/transport/pull-transport';\nimport type { WorkerTransport } from '../worker/transport/transport';\nimport { MastraWorker } from '../worker/worker';\nimport type { WorkerDeps } from '../worker/worker';\nimport type {\n ScheduleEffective,\n ScheduleHooks,\n ScheduleIfIdle,\n SchedulePrepareContext,\n SchedulePrepareResult,\n ScheduleRunStatus,\n ScheduleTriggerInfo,\n} from './types';\n\n/** PubSub topic on which the scheduler publishes `agent-schedule.fire` events. */\nexport const TOPIC_AGENT_SCHEDULES = 'agent-schedules';\n\nconst DEFAULT_GROUP = 'mastra-agent-schedules';\n\nexport interface AgentScheduleWorkerConfig {\n group?: string;\n}\n\nexport interface AgentScheduleFireEventData {\n scheduleId: string;\n claimId: string;\n scheduledFireAt: number;\n target: Extract<ScheduleTarget, { type: 'agent' }>;\n /** Defaults to `'schedule-fire'`. `'manual'` for fire-now invocations. */\n triggerKind?: 'schedule-fire' | 'manual';\n}\n\n/**\n * Consumes `agent-schedule.fire` events published by the scheduler and runs\n * the configured agent — either by `sendSignal` (threaded) or\n * `agent.generate` (threadless). Mirrors `OrchestrationWorker`'s\n * subscribe-on-start / unsubscribe-on-stop lifecycle.\n *\n * Records the schedule trigger after dispatching so the trigger row\n * carries the agent's runId (not just the scheduler's claim id),\n * letting the UI link triggers to real agent runs.\n */\nexport class AgentScheduleWorker extends MastraWorker {\n readonly name = 'agent-schedule';\n\n #config: AgentScheduleWorkerConfig;\n #transport?: WorkerTransport;\n #pushCb?: EventCallback;\n #running = false;\n\n constructor(config: AgentScheduleWorkerConfig = {}) {\n super();\n this.#config = config;\n }\n\n async init(deps: WorkerDeps): Promise<void> {\n await super.init(deps);\n\n if (!deps.mastra) {\n throw new Error('AgentScheduleWorker requires Mastra instance');\n }\n }\n\n async start(): Promise<void> {\n if (this.#running) return;\n if (!this.deps) throw new Error('AgentScheduleWorker: call init() before start()');\n\n // Push-only pubsubs (EventEmitter, UnixSocketPubSub) don't support the\n // grouped pull subscription a PullTransport requires. They deliver every\n // event to every in-process subscriber, so subscribe directly without a\n // group — mirroring how Mastra.startWorkers handles workflow events for\n // push-only transports instead of running the pull-based worker.\n const modes = this.deps.pubsub.supportedModes ?? ['pull'];\n if (!modes.includes('pull')) {\n const cb: EventCallback = (event, ack, nack) => {\n void this.#handleEvent(event, ack, nack);\n };\n this.#pushCb = cb;\n await this.deps.pubsub.subscribe(TOPIC_AGENT_SCHEDULES, cb);\n this.#running = true;\n return;\n }\n\n const group = this.#config.group ?? DEFAULT_GROUP;\n this.#transport = new PullTransport({\n pubsub: this.deps.pubsub,\n group,\n topic: TOPIC_AGENT_SCHEDULES,\n logger: this.deps.logger,\n });\n\n await this.#transport.start({\n route: (event, ack, nack) => this.#handleEvent(event, ack, nack),\n });\n\n this.#running = true;\n }\n\n async stop(): Promise<void> {\n if (!this.#running) return;\n try {\n if (this.#transport) {\n await this.#transport.stop();\n this.#transport = undefined;\n }\n if (this.#pushCb && this.deps) {\n await this.deps.pubsub.unsubscribe(TOPIC_AGENT_SCHEDULES, this.#pushCb);\n this.#pushCb = undefined;\n }\n } finally {\n this.#running = false;\n }\n }\n\n get isRunning(): boolean {\n return this.#running;\n }\n\n async #handleEvent(event: Event, ack?: () => Promise<void>, nack?: () => Promise<void>): Promise<void> {\n if (event.type !== 'agent-schedule.fire') {\n // Not ours — ack and ignore.\n await ack?.();\n return;\n }\n\n const mastra = this.mastra!;\n const payload = event.data as AgentScheduleFireEventData;\n try {\n await this.#dispatch(mastra, payload);\n await ack?.();\n } catch (err) {\n this.deps?.logger?.error('AgentScheduleWorker: error processing agent-schedule.fire', {\n scheduleId: payload?.scheduleId,\n claimId: payload?.claimId,\n error: err,\n });\n await nack?.();\n }\n }\n\n async #dispatch(mastra: Mastra, data: AgentScheduleFireEventData): Promise<void> {\n const { scheduleId, claimId, scheduledFireAt, target } = data;\n const actualFireAt = Date.now();\n\n const result = await executeAgentSchedule(mastra, scheduleId, target, {\n triggerKind: data.triggerKind ?? 'schedule-fire',\n firedAt: new Date(actualFireAt),\n logger: this.deps?.logger,\n });\n\n await this.#recordTrigger({\n scheduleId,\n claimId,\n scheduledFireAt,\n actualFireAt,\n outcome: result.outcome,\n runId: result.runId,\n error: result.reason,\n triggerKind: data.triggerKind ?? 'schedule-fire',\n });\n }\n\n async #recordTrigger(args: {\n scheduleId: string;\n claimId: string;\n scheduledFireAt: number;\n actualFireAt: number;\n outcome: ScheduleTriggerOutcome;\n runId?: string;\n error?: string;\n triggerKind: 'schedule-fire' | 'manual';\n }): Promise<void> {\n const store = await this.deps?.storage.getStore('schedules');\n if (!store) return;\n try {\n await store.recordTrigger({\n scheduleId: args.scheduleId,\n runId: args.runId ?? args.claimId,\n scheduledFireAt: args.scheduledFireAt,\n actualFireAt: args.actualFireAt,\n outcome: args.outcome,\n error: args.error,\n triggerKind: args.triggerKind,\n });\n } catch (err) {\n this.deps?.logger?.error('AgentScheduleWorker: failed to record trigger', {\n scheduleId: args.scheduleId,\n claimId: args.claimId,\n error: err,\n });\n }\n }\n}\n\n/** Outcome union written to the schedule trigger row for an agent-schedule fire. */\nexport type ScheduleTriggerOutcome =\n | 'succeeded'\n | 'delivered'\n | 'persisted'\n | 'discarded'\n | 'skipped'\n | 'aborted'\n | 'failed';\n\n/**\n * Best-effort delete of the schedule row. Self-clean is best-effort —\n * an explicit `schedules.delete()` may have raced us. Swallow errors.\n */\nasync function selfClean(mastra: Mastra, scheduleId: string): Promise<void> {\n try {\n const store = await mastra.getStorage()?.getStore('schedules');\n if (!store) return;\n await store.deleteSchedule(scheduleId);\n } catch (error) {\n mastra.getLogger?.()?.debug?.('agent-schedule self-clean failed', { scheduleId, error });\n }\n}\n\ntype LooseLogger = {\n error?: (message: string, ...args: any[]) => void;\n debug?: (message: string, ...args: any[]) => void;\n};\n\n/** Optional context the `AgentScheduleWorker` passes to `executeAgentSchedule`. */\nexport interface ExecuteAgentScheduleContext {\n triggerKind?: 'schedule-fire' | 'manual';\n firedAt?: Date;\n logger?: LooseLogger;\n}\n\n/**\n * Resolves the agent, runs the user `prepare` hook (if any), applies\n * idle filters, and either `sendSignal`s into the target\n * thread or runs `agent.generate`. The returned `runId` is the agent\n * run id from the SDK call (when a run was actually started), suitable\n * for trigger-row linkability.\n *\n * `outcome` is the final outcome for the schedule trigger row and is\n * also the one that drove the `onFinish`/`onError`/`onAbort` hook\n * selection. `status` is retained for back-compat with existing tests.\n */\nexport async function executeAgentSchedule(\n mastra: Mastra,\n scheduleId: string,\n target: Extract<ScheduleTarget, { type: 'agent' }>,\n ctx: ExecuteAgentScheduleContext = {},\n): Promise<{ status: ScheduleRunStatus; outcome: ScheduleTriggerOutcome; reason?: string; runId?: string }> {\n const { agentId } = target;\n const trigger: ScheduleTriggerInfo = {\n kind: ctx.triggerKind === 'manual' ? 'manual' : 'cron',\n firedAt: ctx.firedAt ?? new Date(),\n };\n const log = ctx.logger ?? mastra.getLogger?.();\n\n const agent = (() => {\n try {\n return mastra.getAgentById(agentId);\n } catch {\n return null;\n }\n })();\n if (!agent) {\n await selfClean(mastra, scheduleId);\n return {\n status: 'agent-missing',\n outcome: 'failed',\n reason: `agent \"${agentId}\" no longer registered`,\n };\n }\n\n const hooks =\n (\n mastra as unknown as {\n __getScheduleHooks?: () => ScheduleHooks | null | undefined;\n }\n ).__getScheduleHooks?.() ?? undefined;\n\n // Build a partial `AgentSchedule` view for hook contexts. Best-effort —\n // pulls from the live schedule row when hooks are configured (so they see\n // fresh fields), otherwise a cheap projection from the event target. The\n // ref is only ever passed to hooks, so hookless fires skip the extra\n // storage round-trip entirely.\n const scheduleRef = hooks\n ? await loadScheduleRef(mastra, scheduleId, target, log)\n : scheduleRefFromTarget(scheduleId, target);\n\n const rowDefaults: ScheduleEffective = buildEffectiveFromTarget(target);\n\n // 1. prepare hook\n let prepared: SchedulePrepareResult | null | undefined;\n if (hooks?.prepare) {\n try {\n const prepareCtx: SchedulePrepareContext = {\n mastra,\n agentId,\n schedule: scheduleRef,\n trigger,\n };\n prepared = await hooks.prepare(prepareCtx);\n } catch (err) {\n await safeHookCall(log, () =>\n hooks.onError?.({\n mastra,\n agentId,\n schedule: scheduleRef,\n trigger,\n phase: 'prepare',\n error: err instanceof Error ? err : new Error(String(err)),\n effective: rowDefaults,\n }),\n );\n return {\n status: 'invalid-input',\n outcome: 'failed',\n reason: err instanceof Error ? err.message : String(err),\n };\n }\n }\n\n if (prepared === null) {\n // Hook explicitly asked to skip this fire.\n await safeHookCall(log, () =>\n hooks?.onFinish?.({\n mastra,\n agentId,\n schedule: scheduleRef,\n trigger,\n outcome: 'skipped',\n effective: rowDefaults,\n }),\n );\n return { status: 'fired', outcome: 'skipped' };\n }\n\n const effective: ScheduleEffective = mergeEffective(rowDefaults, prepared);\n\n // Run-level marker carried on the signal / agent run so consumers\n // (typing status, UI badges) can detect that this run was\n // schedule-driven.\n const scheduleRunMeta = {\n scheduleId,\n ...(effective.threadId ? { threadId: effective.threadId } : {}),\n };\n\n // 2. threaded vs threadless\n if (effective.threadId) {\n if (!effective.resourceId) {\n const reason = 'resourceId required when threadId is set';\n await safeHookCall(log, () =>\n hooks?.onError?.({\n mastra,\n agentId,\n schedule: scheduleRef,\n trigger,\n phase: 'run',\n error: new Error(reason),\n effective,\n }),\n );\n return { status: 'invalid-input', outcome: 'failed', reason };\n }\n\n const memory = await agent.getMemory();\n if (memory) {\n const thread = await memory.getThreadById({ threadId: effective.threadId });\n if (!thread) {\n await selfClean(mastra, scheduleId);\n const reason = `thread \"${effective.threadId}\" not found`;\n await safeHookCall(log, () =>\n hooks?.onError?.({\n mastra,\n agentId,\n schedule: scheduleRef,\n trigger,\n phase: 'run',\n error: new Error(reason),\n effective,\n }),\n );\n return { status: 'thread-missing', outcome: 'failed', reason };\n }\n }\n\n let signalResult;\n try {\n signalResult = agent.sendSignal(\n {\n type: effective.signalType ?? 'notification',\n tagName: effective.tagName ?? 'schedule',\n contents: effective.prompt,\n ...(effective.attributes ? { attributes: effective.attributes } : {}),\n providerOptions: mergeProviderOptions(effective.providerOptions, scheduleRunMeta),\n },\n {\n resourceId: effective.resourceId,\n threadId: effective.threadId,\n ...(effective.ifActive ? { ifActive: effective.ifActive } : {}),\n ...(effective.ifIdle ? { ifIdle: buildIfIdleOptions(effective.ifIdle) } : {}),\n },\n );\n } catch (err) {\n const error = err instanceof Error ? err : new Error(String(err));\n await safeHookCall(log, () =>\n hooks?.onError?.({\n mastra,\n agentId,\n schedule: scheduleRef,\n trigger,\n phase: 'run',\n error,\n effective,\n }),\n );\n return { status: 'invalid-input', outcome: 'failed', reason: error.message };\n }\n\n // The signal runtime resolves `accepted` at routing-decision time with the\n // concrete action it took. It only *rejects* when the signal could not be\n // routed at all (e.g. a misconfigured agent) — generation errors on a woken\n // run surface through the run's own stream, never by rejecting here.\n let settled;\n try {\n settled = await signalResult.accepted;\n } catch (err) {\n const error = err instanceof Error ? err : new Error(String(err));\n await safeHookCall(log, () =>\n hooks?.onError?.({\n mastra,\n agentId,\n schedule: scheduleRef,\n trigger,\n phase: 'run',\n error,\n effective,\n }),\n );\n return { status: 'invalid-input', outcome: 'failed', reason: error.message };\n }\n\n const action = settled.action;\n // `runId` is present on `wake`/`deliver`/`blocked` — the actions that reference a\n // concrete agent run. `persist`/`discard` never produce a run id.\n const runId = 'runId' in settled ? settled.runId : undefined;\n\n if (action === 'deliver') {\n await safeHookCall(log, () =>\n hooks?.onFinish?.({\n mastra,\n agentId,\n schedule: scheduleRef,\n trigger,\n outcome: 'delivered',\n runId,\n joinedExistingRun: true,\n effective,\n }),\n );\n return { status: 'signal-accepted', outcome: 'delivered', runId };\n }\n if (action === 'persist') {\n // Wait briefly for persist write so the trigger row reflects the truth.\n if (signalResult.persisted) {\n try {\n await signalResult.persisted;\n } catch {\n // Persist write failure is surfaced via the signal's own machinery.\n }\n }\n await safeHookCall(log, () =>\n hooks?.onFinish?.({\n mastra,\n agentId,\n schedule: scheduleRef,\n trigger,\n outcome: 'persisted',\n runId,\n effective,\n }),\n );\n return { status: 'signal-accepted', outcome: 'persisted', runId };\n }\n if (action === 'discard') {\n await safeHookCall(log, () =>\n hooks?.onFinish?.({\n mastra,\n agentId,\n schedule: scheduleRef,\n trigger,\n outcome: 'discarded',\n runId,\n effective,\n }),\n );\n return { status: 'signal-accepted', outcome: 'discarded', runId };\n }\n\n if (action === 'blocked') {\n // The thread was suspended and could not accept an idle wake. Nothing ran\n // and nothing was stored; report as skipped so the trigger row is truthful.\n await safeHookCall(log, () =>\n hooks?.onFinish?.({\n mastra,\n agentId,\n schedule: scheduleRef,\n trigger,\n outcome: 'skipped',\n runId,\n effective,\n }),\n );\n return { status: 'skipped-thread-blocked', outcome: 'skipped', runId };\n }\n\n // action === 'wake' — a new run was started for this signal. The thread-stream\n // runtime drives the run's stream to completion on its own (so the active-run\n // record and thread lease release without requiring a consumer here); the\n // schedule fire is fire-and-forget for trigger-row purposes.\n await safeHookCall(log, () =>\n hooks?.onFinish?.({\n mastra,\n agentId,\n schedule: scheduleRef,\n trigger,\n outcome: 'succeeded',\n runId,\n effective,\n }),\n );\n return { status: 'signal-accepted', outcome: 'succeeded', runId };\n }\n\n // 4. threadless path: agent.generate\n try {\n const result = await agent.generate(effective.prompt, {\n providerOptions: mergeProviderOptions(effective.providerOptions, scheduleRunMeta),\n });\n const runId = extractRunId(result);\n await safeHookCall(log, () =>\n hooks?.onFinish?.({\n mastra,\n agentId,\n schedule: scheduleRef,\n trigger,\n outcome: 'succeeded',\n runId,\n result: extractRunSnapshot(result),\n effective,\n }),\n );\n return { status: 'fired', outcome: 'succeeded', runId };\n } catch (err) {\n const error = err instanceof Error ? err : new Error(String(err));\n if (isAbortError(error)) {\n await safeHookCall(log, () =>\n hooks?.onAbort?.({\n mastra,\n agentId,\n schedule: scheduleRef,\n trigger,\n runId: extractRunId(error) ?? scheduleId,\n effective,\n }),\n );\n return { status: 'fired', outcome: 'aborted' };\n }\n await safeHookCall(log, () =>\n hooks?.onError?.({\n mastra,\n agentId,\n schedule: scheduleRef,\n trigger,\n phase: 'run',\n error,\n effective,\n }),\n );\n return { status: 'invalid-input', outcome: 'failed', reason: error.message };\n }\n}\n\nfunction buildEffectiveFromTarget(target: Extract<ScheduleTarget, { type: 'agent' }>): ScheduleEffective {\n return {\n threadId: target.threadId,\n resourceId: target.resourceId,\n prompt: target.prompt,\n signalType: target.signalType,\n tagName: target.tagName,\n attributes: target.attributes,\n providerOptions: target.providerOptions,\n ifActive: target.ifActive,\n ifIdle: target.ifIdle,\n };\n}\n\n/**\n * Maps the stored, JSON-safe `ifIdle` config onto the signal API's\n * `AgentSignalIfIdleOptions`, rehydrating the plain `streamOptions.requestContext`\n * object into a live `RequestContext` before the wake signal runs.\n */\nfunction buildIfIdleOptions(ifIdle: ScheduleIfIdle): AgentSignalIfIdleOptions {\n const requestContext = ifIdle.streamOptions?.requestContext;\n return {\n ...(ifIdle.behavior ? { behavior: ifIdle.behavior } : {}),\n ...(ifIdle.attributes ? { attributes: ifIdle.attributes } : {}),\n ...(requestContext\n ? { streamOptions: { requestContext: new RequestContext(Object.entries(requestContext)) } }\n : {}),\n };\n}\n\nfunction mergeEffective(base: ScheduleEffective, overrides: SchedulePrepareResult | undefined): ScheduleEffective {\n if (!overrides) return base;\n return {\n ...base,\n ...overrides,\n };\n}\n\nfunction mergeProviderOptions(\n fromHook: Record<string, unknown> | undefined,\n scheduleRunMeta: Record<string, unknown>,\n): Record<string, any> {\n const base = (fromHook ?? {}) as Record<string, any>;\n const baseMastra = (base.mastra ?? {}) as Record<string, unknown>;\n return {\n ...base,\n mastra: {\n ...baseMastra,\n schedule: scheduleRunMeta,\n },\n };\n}\n\nasync function loadScheduleRef(\n mastra: Mastra,\n scheduleId: string,\n target: Extract<ScheduleTarget, { type: 'agent' }>,\n logger?: LooseLogger,\n): Promise<{ id: string; agentId: string; name?: string; [key: string]: unknown }> {\n try {\n const schedule = await mastra.schedules.get(scheduleId);\n if (schedule && schedule.agentId !== undefined) return { ...schedule, agentId: schedule.agentId };\n } catch (err) {\n // Fall back to a minimal projection from the event target, but surface\n // the failure so a persistently-broken schedules store isn't invisible.\n logger?.debug?.('AgentScheduleWorker: failed to load schedule row for hook context', { scheduleId, error: err });\n }\n return scheduleRefFromTarget(scheduleId, target);\n}\n\n/** Minimal hook-context projection built from the fire event's target. */\nfunction scheduleRefFromTarget(\n scheduleId: string,\n target: Extract<ScheduleTarget, { type: 'agent' }>,\n): { id: string; agentId: string; name?: string } {\n return {\n id: scheduleId,\n agentId: target.agentId,\n ...(target.name !== undefined ? { name: target.name } : {}),\n };\n}\n\nasync function safeHookCall(logger: LooseLogger | undefined, fn: () => unknown): Promise<void> {\n try {\n await fn();\n } catch (err) {\n logger?.error?.('AgentScheduleWorker: hook threw, ignoring', { error: err });\n }\n}\n\nfunction isAbortError(err: unknown): boolean {\n if (!err || typeof err !== 'object') return false;\n const name = (err as { name?: unknown }).name;\n return name === 'AbortError';\n}\n\nfunction extractRunId(value: unknown): string | undefined {\n if (value && typeof value === 'object' && 'runId' in value) {\n const runId = (value as { runId?: unknown }).runId;\n if (typeof runId === 'string') return runId;\n }\n return undefined;\n}\n\nfunction extractRunSnapshot(\n value: unknown,\n): { text?: string; usage?: Record<string, unknown>; finishReason?: string } | undefined {\n if (!value || typeof value !== 'object') return undefined;\n const v = value as { text?: unknown; usage?: unknown; finishReason?: unknown };\n const snapshot: { text?: string; usage?: Record<string, unknown>; finishReason?: string } = {};\n if (typeof v.text === 'string') snapshot.text = v.text;\n if (v.usage && typeof v.usage === 'object') snapshot.usage = v.usage as Record<string, unknown>;\n if (typeof v.finishReason === 'string') snapshot.finishReason = v.finishReason;\n return Object.keys(snapshot).length > 0 ? snapshot : undefined;\n}\n"]}