Task 010 implement research manifest flow
This commit is contained in:
@@ -0,0 +1,55 @@
|
||||
import assert from "node:assert/strict";
|
||||
import { readFileSync } from "node:fs";
|
||||
import path from "node:path";
|
||||
import { fileURLToPath } from "node:url";
|
||||
|
||||
import ts from "typescript";
|
||||
|
||||
const testDir = path.dirname(fileURLToPath(import.meta.url));
|
||||
const sourcePath = path.resolve(
|
||||
testDir,
|
||||
"../src/features/research-manifest/model.ts",
|
||||
);
|
||||
const source = readFileSync(sourcePath, "utf8");
|
||||
const compiled = ts.transpileModule(source, {
|
||||
compilerOptions: { module: ts.ModuleKind.CommonJS, target: ts.ScriptTarget.ES2022 },
|
||||
});
|
||||
|
||||
const moduleExports = {};
|
||||
new Function("exports", compiled.outputText)(moduleExports);
|
||||
|
||||
const { buildResearchSourceRows } = moduleExports;
|
||||
|
||||
const rows = buildResearchSourceRows([
|
||||
{
|
||||
id: "11111111-1111-1111-1111-111111111111",
|
||||
article_id: "22222222-2222-2222-2222-222222222222",
|
||||
agent_job_id: "33333333-3333-3333-3333-333333333333",
|
||||
s3_prefix: "research/article/run",
|
||||
created_at: "2026-05-21T00:00:00Z",
|
||||
artifacts: [
|
||||
{
|
||||
artifact_type: "source_section_snapshot",
|
||||
source_url: "https://example.com/source",
|
||||
object_key: "research/article/run/source-1/section.json",
|
||||
content_hash: "abc123",
|
||||
metadata: {
|
||||
source_title: "Source title",
|
||||
domain: "example.com",
|
||||
source_type: "primary_reference",
|
||||
summary: "Useful source summary",
|
||||
retrieved_at: "2026-05-21T00:00:01Z",
|
||||
artifact_link: "research/article/run/source-1/section.json",
|
||||
},
|
||||
},
|
||||
],
|
||||
},
|
||||
]);
|
||||
|
||||
assert.equal(rows.length, 1);
|
||||
assert.equal(rows[0].sourceUrl, "https://example.com/source");
|
||||
assert.equal(rows[0].title, "Source title");
|
||||
assert.equal(rows[0].domain, "example.com");
|
||||
assert.equal(rows[0].type, "primary_reference");
|
||||
assert.equal(rows[0].summary, "Useful source summary");
|
||||
assert.equal(rows[0].artifactLink, "research/article/run/source-1/section.json");
|
||||
Reference in New Issue
Block a user