/**
 * Shared execution types used by Task Scheduler, Command Queue, and other execution systems.
 */

/**
 * Target resource to execute (agent or workflow).
 * Used by both TaskScheduler and CommandQueue.
 */
export interface ExecutionTarget {
  resourceType: 'agent' | 'workflow'
  resourceId: string
  payload: unknown
}

/**
 * Origin resource type - where an execution/task originated from.
 * Used for audit trails and tracking execution lineage.
 */
export type OriginResourceType = 'agent' | 'workflow' | 'scheduler' | 'api'

/**
 * Origin tracking metadata - who/what created this execution/task.
 * Used by both TaskScheduler and CommandQueue for complete audit trails.
 */
export interface OriginTracking {
  originExecutionId: string
  originResourceType: OriginResourceType
  originResourceId: string
}
