/** @typedef {'DOCUMENT'|'STRUCTURED_DATA'|'GRAPH'} RagSourceType */
/** @typedef {'pending'|'running'|'success'|'failed'} RagStepStatus */

/**
 * @typedef {Object} RagEvidence
 * @property {string=} id
 * @property {RagSourceType} sourceType
 * @property {string=} evidenceType
 * @property {string=} title
 * @property {string=} content
 * @property {number=} score
 * @property {string=} sourceName
 * @property {Object=} sourceRef
 * @property {Object=} payload
 * @property {Object=} metadata
 */

/**
 * @typedef {Object} RagStep
 * @property {'document'|'structured'|'graph'|'kb'|'fusion'} key
 * @property {string} title
 * @property {string} description
 * @property {RagStepStatus} status
 * @property {string=} time
 * @property {string=} error
 */

export const RAG_SOURCE = Object.freeze({ DOCUMENT: 'DOCUMENT', STRUCTURED: 'STRUCTURED_DATA', GRAPH: 'GRAPH' })
