(owner?: string)
| 1896 | } |
| 1897 | |
| 1898 | getTaskEmbeddings(owner?: string): Array<{ taskId: string; vector: number[] }> { |
| 1899 | let sql = `SELECT te.task_id, te.vector, te.dimensions |
| 1900 | FROM task_embeddings te |
| 1901 | JOIN tasks t ON t.id = te.task_id`; |
| 1902 | const params: any[] = []; |
| 1903 | if (owner) { |
| 1904 | sql += ` WHERE (t.owner = ? OR t.owner = 'public')`; |
| 1905 | params.push(owner); |
| 1906 | } |
| 1907 | const rows = this.db.prepare(sql).all(...params) as Array<{ task_id: string; vector: Buffer; dimensions: number }>; |
| 1908 | return rows.map((r) => ({ |
| 1909 | taskId: r.task_id, |
| 1910 | vector: Array.from(new Float32Array(r.vector.buffer, r.vector.byteOffset, r.dimensions)), |
| 1911 | })); |
| 1912 | } |
| 1913 | |
| 1914 | taskFtsSearch(query: string, limit: number, owner?: string): Array<{ taskId: string; score: number }> { |
| 1915 | const sanitized = sanitizeFtsQuery(query); |
no test coverage detected