@actalk/inkos-core 1.6.1 → 1.6.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/agent/agent-session.d.ts +16 -0
- package/dist/agent/agent-session.d.ts.map +1 -1
- package/dist/agent/agent-session.js +98 -12
- package/dist/agent/agent-session.js.map +1 -1
- package/dist/agent/agent-system-prompt.d.ts.map +1 -1
- package/dist/agent/agent-system-prompt.js +20 -16
- package/dist/agent/agent-system-prompt.js.map +1 -1
- package/dist/agent/agent-tools.d.ts +16 -0
- package/dist/agent/agent-tools.d.ts.map +1 -1
- package/dist/agent/agent-tools.js +157 -3
- package/dist/agent/agent-tools.js.map +1 -1
- package/dist/agent/index.d.ts +2 -2
- package/dist/agent/index.d.ts.map +1 -1
- package/dist/agent/index.js +2 -2
- package/dist/agent/index.js.map +1 -1
- package/dist/agents/base.d.ts +1 -0
- package/dist/agents/base.d.ts.map +1 -1
- package/dist/agents/base.js +7 -0
- package/dist/agents/base.js.map +1 -1
- package/dist/agents/composer.d.ts.map +1 -1
- package/dist/agents/composer.js +9 -0
- package/dist/agents/composer.js.map +1 -1
- package/dist/agents/continuity.d.ts.map +1 -1
- package/dist/agents/continuity.js +2 -1
- package/dist/agents/continuity.js.map +1 -1
- package/dist/agents/reviser.d.ts.map +1 -1
- package/dist/agents/reviser.js +2 -1
- package/dist/agents/reviser.js.map +1 -1
- package/dist/agents/writer.js +1 -1
- package/dist/agents/writer.js.map +1 -1
- package/dist/materials/ingest.d.ts +31 -0
- package/dist/materials/ingest.d.ts.map +1 -0
- package/dist/materials/ingest.js +223 -0
- package/dist/materials/ingest.js.map +1 -0
- package/dist/materials/retrieve.d.ts +20 -0
- package/dist/materials/retrieve.d.ts.map +1 -0
- package/dist/materials/retrieve.js +119 -0
- package/dist/materials/retrieve.js.map +1 -0
- package/dist/models/input-governance.d.ts +38 -0
- package/dist/models/input-governance.d.ts.map +1 -1
- package/dist/models/input-governance.js +8 -0
- package/dist/models/input-governance.js.map +1 -1
- package/dist/pipeline/runner.d.ts +21 -2
- package/dist/pipeline/runner.d.ts.map +1 -1
- package/dist/pipeline/runner.js +27 -3
- package/dist/pipeline/runner.js.map +1 -1
- package/dist/utils/context-assembly.d.ts +1 -0
- package/dist/utils/context-assembly.d.ts.map +1 -1
- package/dist/utils/context-assembly.js +1 -0
- package/dist/utils/context-assembly.js.map +1 -1
- package/package.json +12 -8
- package/LICENSE +0 -661
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
export type MaterialPurpose = "reference" | "worldbuilding" | "script" | "storyboard" | "research" | "general";
|
|
2
|
+
export type MaterialSourceKind = "url" | "file";
|
|
3
|
+
export type MaterialKind = "webpage" | "pdf" | "text";
|
|
4
|
+
export interface IngestMaterialInput {
|
|
5
|
+
readonly sourceKind: MaterialSourceKind;
|
|
6
|
+
readonly url?: string;
|
|
7
|
+
readonly filePath?: string;
|
|
8
|
+
readonly filename?: string;
|
|
9
|
+
readonly mimeType?: string;
|
|
10
|
+
readonly title?: string;
|
|
11
|
+
readonly purpose?: MaterialPurpose;
|
|
12
|
+
}
|
|
13
|
+
export interface MaterialAsset {
|
|
14
|
+
readonly id: string;
|
|
15
|
+
readonly title: string;
|
|
16
|
+
readonly kind: MaterialKind;
|
|
17
|
+
readonly purpose: MaterialPurpose;
|
|
18
|
+
readonly source: string;
|
|
19
|
+
readonly mimeType: string;
|
|
20
|
+
readonly markdownPath: string;
|
|
21
|
+
readonly manifestPath: string;
|
|
22
|
+
readonly charCount: number;
|
|
23
|
+
readonly excerpt: string;
|
|
24
|
+
readonly totalPages?: number;
|
|
25
|
+
}
|
|
26
|
+
export interface IngestMaterialDeps {
|
|
27
|
+
readonly fetch?: typeof fetch;
|
|
28
|
+
readonly now?: () => Date;
|
|
29
|
+
}
|
|
30
|
+
export declare function ingestMaterial(projectRoot: string, input: IngestMaterialInput, deps?: IngestMaterialDeps): Promise<MaterialAsset>;
|
|
31
|
+
//# sourceMappingURL=ingest.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ingest.d.ts","sourceRoot":"","sources":["../../src/materials/ingest.ts"],"names":[],"mappings":"AAKA,MAAM,MAAM,eAAe,GAAG,WAAW,GAAG,eAAe,GAAG,QAAQ,GAAG,YAAY,GAAG,UAAU,GAAG,SAAS,CAAC;AAC/G,MAAM,MAAM,kBAAkB,GAAG,KAAK,GAAG,MAAM,CAAC;AAChD,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,KAAK,GAAG,MAAM,CAAC;AAEtD,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,UAAU,EAAE,kBAAkB,CAAC;IACxC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,CAAC,EAAE,eAAe,CAAC;CACpC;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC;IAClC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;IAC9B,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC;CAC3B;AAKD,wBAAsB,cAAc,CAClC,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,mBAAmB,EAC1B,IAAI,GAAE,kBAAuB,GAC5B,OAAO,CAAC,aAAa,CAAC,CAoCxB"}
|
|
@@ -0,0 +1,223 @@
|
|
|
1
|
+
import { mkdir, readFile, writeFile } from "node:fs/promises";
|
|
2
|
+
import { basename, extname, join, relative } from "node:path";
|
|
3
|
+
import { extractText, getDocumentProxy } from "unpdf";
|
|
4
|
+
import { safeChildPath } from "../utils/path-safety.js";
|
|
5
|
+
const MAX_SOURCE_BYTES = 18 * 1024 * 1024;
|
|
6
|
+
const EXCERPT_CHARS = 1600;
|
|
7
|
+
export async function ingestMaterial(projectRoot, input, deps = {}) {
|
|
8
|
+
const now = deps.now?.() ?? new Date();
|
|
9
|
+
const purpose = input.purpose ?? "reference";
|
|
10
|
+
const source = await readMaterialSource(projectRoot, input, deps);
|
|
11
|
+
const title = (input.title?.trim() || source.title || titleFromSource(input) || "material").slice(0, 120);
|
|
12
|
+
const id = `${now.toISOString().replace(/[:.]/g, "-")}-${slug(title)}`;
|
|
13
|
+
const materialsDir = join(projectRoot, ".inkos", "materials");
|
|
14
|
+
await mkdir(materialsDir, { recursive: true });
|
|
15
|
+
const markdown = renderMaterialMarkdown({
|
|
16
|
+
title,
|
|
17
|
+
kind: source.kind,
|
|
18
|
+
purpose,
|
|
19
|
+
source: source.source,
|
|
20
|
+
mimeType: source.mimeType,
|
|
21
|
+
totalPages: source.totalPages,
|
|
22
|
+
text: source.text,
|
|
23
|
+
});
|
|
24
|
+
const markdownPathAbs = join(materialsDir, `${id}.md`);
|
|
25
|
+
const manifestPathAbs = join(materialsDir, `${id}.json`);
|
|
26
|
+
await writeFile(markdownPathAbs, markdown, "utf-8");
|
|
27
|
+
const asset = {
|
|
28
|
+
id,
|
|
29
|
+
title,
|
|
30
|
+
kind: source.kind,
|
|
31
|
+
purpose,
|
|
32
|
+
source: source.source,
|
|
33
|
+
mimeType: source.mimeType,
|
|
34
|
+
markdownPath: relative(projectRoot, markdownPathAbs),
|
|
35
|
+
manifestPath: relative(projectRoot, manifestPathAbs),
|
|
36
|
+
charCount: source.text.length,
|
|
37
|
+
excerpt: source.text.slice(0, EXCERPT_CHARS),
|
|
38
|
+
...(source.totalPages !== undefined ? { totalPages: source.totalPages } : {}),
|
|
39
|
+
};
|
|
40
|
+
await writeFile(manifestPathAbs, JSON.stringify(asset, null, 2), "utf-8");
|
|
41
|
+
return asset;
|
|
42
|
+
}
|
|
43
|
+
async function readMaterialSource(projectRoot, input, deps) {
|
|
44
|
+
if (input.sourceKind === "url") {
|
|
45
|
+
if (!input.url)
|
|
46
|
+
throw new Error("ingest_material.url is required for URL sources.");
|
|
47
|
+
return readUrlMaterial(input.url, deps.fetch ?? fetch);
|
|
48
|
+
}
|
|
49
|
+
if (!input.filePath)
|
|
50
|
+
throw new Error("ingest_material.filePath is required for file sources.");
|
|
51
|
+
const safePath = safeChildPath(projectRoot, input.filePath);
|
|
52
|
+
const buffer = await readFile(safePath);
|
|
53
|
+
if (buffer.byteLength > MAX_SOURCE_BYTES) {
|
|
54
|
+
throw new Error(`Material file is too large (${buffer.byteLength} bytes).`);
|
|
55
|
+
}
|
|
56
|
+
const filename = input.filename || basename(safePath);
|
|
57
|
+
const mimeType = input.mimeType || mimeFromFilename(filename);
|
|
58
|
+
return extractBufferMaterial(buffer, {
|
|
59
|
+
source: relative(projectRoot, safePath),
|
|
60
|
+
filename,
|
|
61
|
+
mimeType,
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
async function readUrlMaterial(url, fetchImpl) {
|
|
65
|
+
const parsed = new URL(url);
|
|
66
|
+
if (!["http:", "https:"].includes(parsed.protocol)) {
|
|
67
|
+
throw new Error(`Unsupported URL protocol: ${parsed.protocol}`);
|
|
68
|
+
}
|
|
69
|
+
const response = await fetchImpl(url, {
|
|
70
|
+
headers: {
|
|
71
|
+
"User-Agent": "InkOS/1.6 material-ingestion",
|
|
72
|
+
"Accept": "text/html, text/plain, application/json, application/pdf, */*",
|
|
73
|
+
},
|
|
74
|
+
signal: AbortSignal.timeout(20_000),
|
|
75
|
+
});
|
|
76
|
+
if (!response.ok) {
|
|
77
|
+
throw new Error(`Fetch failed: ${response.status} ${response.statusText}`);
|
|
78
|
+
}
|
|
79
|
+
const mimeType = response.headers.get("content-type")?.split(";")[0]?.trim() || mimeFromFilename(parsed.pathname);
|
|
80
|
+
const arrayBuffer = await response.arrayBuffer();
|
|
81
|
+
const buffer = Buffer.from(arrayBuffer);
|
|
82
|
+
if (buffer.byteLength > MAX_SOURCE_BYTES) {
|
|
83
|
+
throw new Error(`Fetched material is too large (${buffer.byteLength} bytes).`);
|
|
84
|
+
}
|
|
85
|
+
return extractBufferMaterial(buffer, {
|
|
86
|
+
source: url,
|
|
87
|
+
filename: basename(parsed.pathname) || parsed.hostname,
|
|
88
|
+
mimeType,
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
async function extractBufferMaterial(buffer, meta) {
|
|
92
|
+
const mimeType = meta.mimeType || mimeFromFilename(meta.filename);
|
|
93
|
+
if (isPdf(meta.filename, mimeType)) {
|
|
94
|
+
const pdf = await getDocumentProxy(new Uint8Array(buffer));
|
|
95
|
+
const extracted = await extractText(pdf, { mergePages: true });
|
|
96
|
+
const text = normalizeText(extracted.text);
|
|
97
|
+
if (!text)
|
|
98
|
+
throw new Error("PDF text extraction returned no text. Scanned PDFs require OCR and are not supported yet.");
|
|
99
|
+
return {
|
|
100
|
+
kind: "pdf",
|
|
101
|
+
source: meta.source,
|
|
102
|
+
title: stripExtension(meta.filename),
|
|
103
|
+
mimeType: "application/pdf",
|
|
104
|
+
text,
|
|
105
|
+
totalPages: extracted.totalPages,
|
|
106
|
+
};
|
|
107
|
+
}
|
|
108
|
+
const raw = buffer.toString("utf-8");
|
|
109
|
+
if (isHtml(meta.filename, mimeType)) {
|
|
110
|
+
return {
|
|
111
|
+
kind: "webpage",
|
|
112
|
+
source: meta.source,
|
|
113
|
+
title: extractHtmlTitle(raw) || stripExtension(meta.filename),
|
|
114
|
+
mimeType,
|
|
115
|
+
text: normalizeText(htmlToText(raw)),
|
|
116
|
+
};
|
|
117
|
+
}
|
|
118
|
+
if (isTextLike(meta.filename, mimeType)) {
|
|
119
|
+
return {
|
|
120
|
+
kind: "text",
|
|
121
|
+
source: meta.source,
|
|
122
|
+
title: stripExtension(meta.filename),
|
|
123
|
+
mimeType,
|
|
124
|
+
text: normalizeText(raw),
|
|
125
|
+
};
|
|
126
|
+
}
|
|
127
|
+
throw new Error(`Unsupported material type: ${mimeType || meta.filename}`);
|
|
128
|
+
}
|
|
129
|
+
function renderMaterialMarkdown(input) {
|
|
130
|
+
return [
|
|
131
|
+
`# ${input.title}`,
|
|
132
|
+
"",
|
|
133
|
+
"## Metadata",
|
|
134
|
+
`- kind: ${input.kind}`,
|
|
135
|
+
`- purpose: ${input.purpose}`,
|
|
136
|
+
`- source: ${input.source}`,
|
|
137
|
+
`- mime_type: ${input.mimeType}`,
|
|
138
|
+
input.totalPages !== undefined ? `- total_pages: ${input.totalPages}` : "",
|
|
139
|
+
`- char_count: ${input.text.length}`,
|
|
140
|
+
"",
|
|
141
|
+
"## Extracted content",
|
|
142
|
+
input.text,
|
|
143
|
+
"",
|
|
144
|
+
].filter((line) => line !== "").join("\n");
|
|
145
|
+
}
|
|
146
|
+
function mimeFromFilename(filename) {
|
|
147
|
+
const ext = extname(filename).toLowerCase();
|
|
148
|
+
if (ext === ".pdf")
|
|
149
|
+
return "application/pdf";
|
|
150
|
+
if (ext === ".html" || ext === ".htm")
|
|
151
|
+
return "text/html";
|
|
152
|
+
if (ext === ".json")
|
|
153
|
+
return "application/json";
|
|
154
|
+
if (ext === ".md" || ext === ".markdown")
|
|
155
|
+
return "text/markdown";
|
|
156
|
+
if (ext === ".csv")
|
|
157
|
+
return "text/csv";
|
|
158
|
+
return "text/plain";
|
|
159
|
+
}
|
|
160
|
+
function isPdf(filename, mimeType) {
|
|
161
|
+
return mimeType.includes("pdf") || extname(filename).toLowerCase() === ".pdf";
|
|
162
|
+
}
|
|
163
|
+
function isHtml(filename, mimeType) {
|
|
164
|
+
const ext = extname(filename).toLowerCase();
|
|
165
|
+
return mimeType.includes("html") || ext === ".html" || ext === ".htm";
|
|
166
|
+
}
|
|
167
|
+
function isTextLike(filename, mimeType) {
|
|
168
|
+
if (mimeType.startsWith("text/"))
|
|
169
|
+
return true;
|
|
170
|
+
if (mimeType.includes("json") || mimeType.includes("xml") || mimeType.includes("yaml"))
|
|
171
|
+
return true;
|
|
172
|
+
return [".txt", ".md", ".markdown", ".json", ".csv", ".tsv", ".yaml", ".yml", ".log"].includes(extname(filename).toLowerCase());
|
|
173
|
+
}
|
|
174
|
+
function htmlToText(html) {
|
|
175
|
+
return html
|
|
176
|
+
.replace(/<script[\s\S]*?<\/script>/gi, " ")
|
|
177
|
+
.replace(/<style[\s\S]*?<\/style>/gi, " ")
|
|
178
|
+
.replace(/<[^>]+>/g, " ");
|
|
179
|
+
}
|
|
180
|
+
function extractHtmlTitle(html) {
|
|
181
|
+
const match = /<title[^>]*>([\s\S]*?)<\/title>/i.exec(html);
|
|
182
|
+
return match ? decodeHtml(match[1]).trim().slice(0, 120) : undefined;
|
|
183
|
+
}
|
|
184
|
+
function decodeHtml(value) {
|
|
185
|
+
return value
|
|
186
|
+
.replace(/ /gi, " ")
|
|
187
|
+
.replace(/&/gi, "&")
|
|
188
|
+
.replace(/</gi, "<")
|
|
189
|
+
.replace(/>/gi, ">")
|
|
190
|
+
.replace(/"/gi, "\"")
|
|
191
|
+
.replace(/'/gi, "'");
|
|
192
|
+
}
|
|
193
|
+
function normalizeText(value) {
|
|
194
|
+
return decodeHtml(value).replace(/\r\n/g, "\n").replace(/[ \t]+\n/g, "\n").replace(/\n{3,}/g, "\n\n").trim();
|
|
195
|
+
}
|
|
196
|
+
function stripExtension(filename) {
|
|
197
|
+
const ext = extname(filename);
|
|
198
|
+
return ext ? filename.slice(0, -ext.length) : filename;
|
|
199
|
+
}
|
|
200
|
+
function titleFromSource(input) {
|
|
201
|
+
if (input.filename)
|
|
202
|
+
return stripExtension(input.filename);
|
|
203
|
+
if (input.filePath)
|
|
204
|
+
return stripExtension(basename(input.filePath));
|
|
205
|
+
if (!input.url)
|
|
206
|
+
return undefined;
|
|
207
|
+
try {
|
|
208
|
+
const parsed = new URL(input.url);
|
|
209
|
+
return stripExtension(basename(parsed.pathname)) || parsed.hostname;
|
|
210
|
+
}
|
|
211
|
+
catch {
|
|
212
|
+
return undefined;
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
function slug(value) {
|
|
216
|
+
return value
|
|
217
|
+
.trim()
|
|
218
|
+
.toLowerCase()
|
|
219
|
+
.replace(/[^\p{L}\p{N}]+/gu, "-")
|
|
220
|
+
.replace(/^-+|-+$/g, "")
|
|
221
|
+
.slice(0, 80) || "material";
|
|
222
|
+
}
|
|
223
|
+
//# sourceMappingURL=ingest.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ingest.js","sourceRoot":"","sources":["../../src/materials/ingest.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { MaterialAsset, MaterialPurpose } from "./ingest.js";
|
|
2
|
+
export interface RetrieveMaterialsInput {
|
|
3
|
+
readonly query: string;
|
|
4
|
+
readonly purpose?: MaterialPurpose;
|
|
5
|
+
readonly limit?: number;
|
|
6
|
+
}
|
|
7
|
+
export interface RetrievedMaterial {
|
|
8
|
+
readonly id: string;
|
|
9
|
+
readonly title: string;
|
|
10
|
+
readonly kind: MaterialAsset["kind"];
|
|
11
|
+
readonly purpose: MaterialPurpose;
|
|
12
|
+
readonly source: string;
|
|
13
|
+
readonly markdownPath: string;
|
|
14
|
+
readonly score: number;
|
|
15
|
+
readonly excerpt: string;
|
|
16
|
+
readonly charStart: number;
|
|
17
|
+
readonly charEnd: number;
|
|
18
|
+
}
|
|
19
|
+
export declare function retrieveMaterials(projectRoot: string, input: RetrieveMaterialsInput): Promise<RetrievedMaterial[]>;
|
|
20
|
+
//# sourceMappingURL=retrieve.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"retrieve.d.ts","sourceRoot":"","sources":["../../src/materials/retrieve.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAElE,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,CAAC,EAAE,eAAe,CAAC;IACnC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IACrC,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC;IAClC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAMD,wBAAsB,iBAAiB,CACrC,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,sBAAsB,GAC5B,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAgC9B"}
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
import { readdir, readFile } from "node:fs/promises";
|
|
2
|
+
import { join } from "node:path";
|
|
3
|
+
import { safeChildPath } from "../utils/path-safety.js";
|
|
4
|
+
const DEFAULT_LIMIT = 5;
|
|
5
|
+
const MAX_LIMIT = 12;
|
|
6
|
+
const SNIPPET_RADIUS = 700;
|
|
7
|
+
export async function retrieveMaterials(projectRoot, input) {
|
|
8
|
+
const queryTerms = extractTerms(input.query);
|
|
9
|
+
const assets = await listMaterialAssets(projectRoot);
|
|
10
|
+
const results = [];
|
|
11
|
+
for (const asset of assets) {
|
|
12
|
+
if (input.purpose && asset.purpose !== input.purpose)
|
|
13
|
+
continue;
|
|
14
|
+
const markdownPath = safeChildPath(projectRoot, asset.markdownPath);
|
|
15
|
+
let markdown = "";
|
|
16
|
+
try {
|
|
17
|
+
markdown = await readFile(markdownPath, "utf-8");
|
|
18
|
+
}
|
|
19
|
+
catch {
|
|
20
|
+
continue;
|
|
21
|
+
}
|
|
22
|
+
const score = scoreMaterial(asset, markdown, queryTerms);
|
|
23
|
+
if (queryTerms.length > 0 && score <= 0)
|
|
24
|
+
continue;
|
|
25
|
+
const snippet = buildSnippet(markdown, queryTerms);
|
|
26
|
+
results.push({
|
|
27
|
+
id: asset.id,
|
|
28
|
+
title: asset.title,
|
|
29
|
+
kind: asset.kind,
|
|
30
|
+
purpose: asset.purpose,
|
|
31
|
+
source: asset.source,
|
|
32
|
+
markdownPath: asset.markdownPath,
|
|
33
|
+
score,
|
|
34
|
+
excerpt: snippet.excerpt,
|
|
35
|
+
charStart: snippet.charStart,
|
|
36
|
+
charEnd: snippet.charEnd,
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
return results
|
|
40
|
+
.sort((a, b) => b.score - a.score || a.title.localeCompare(b.title))
|
|
41
|
+
.slice(0, normalizeLimit(input.limit));
|
|
42
|
+
}
|
|
43
|
+
async function listMaterialAssets(projectRoot) {
|
|
44
|
+
const materialsDir = join(projectRoot, ".inkos", "materials");
|
|
45
|
+
let entries = [];
|
|
46
|
+
try {
|
|
47
|
+
entries = await readdir(materialsDir);
|
|
48
|
+
}
|
|
49
|
+
catch {
|
|
50
|
+
return [];
|
|
51
|
+
}
|
|
52
|
+
const assets = [];
|
|
53
|
+
for (const entry of entries) {
|
|
54
|
+
if (!entry.endsWith(".json"))
|
|
55
|
+
continue;
|
|
56
|
+
try {
|
|
57
|
+
const raw = await readFile(join(materialsDir, entry), "utf-8");
|
|
58
|
+
const asset = JSON.parse(raw);
|
|
59
|
+
if (asset.id && asset.markdownPath && asset.title)
|
|
60
|
+
assets.push(asset);
|
|
61
|
+
}
|
|
62
|
+
catch {
|
|
63
|
+
// Ignore corrupt stale manifests; retrieval should not break the chat turn.
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
return assets;
|
|
67
|
+
}
|
|
68
|
+
function scoreMaterial(asset, markdown, terms) {
|
|
69
|
+
if (terms.length === 0)
|
|
70
|
+
return 1;
|
|
71
|
+
const title = asset.title.toLowerCase();
|
|
72
|
+
const source = asset.source.toLowerCase();
|
|
73
|
+
const body = markdown.toLowerCase();
|
|
74
|
+
let score = 0;
|
|
75
|
+
for (const term of terms) {
|
|
76
|
+
const normalized = term.toLowerCase();
|
|
77
|
+
if (title.includes(normalized))
|
|
78
|
+
score += 8;
|
|
79
|
+
if (source.includes(normalized))
|
|
80
|
+
score += 4;
|
|
81
|
+
const first = body.indexOf(normalized);
|
|
82
|
+
if (first >= 0)
|
|
83
|
+
score += 2 + Math.max(0, 2 - first / 4000);
|
|
84
|
+
}
|
|
85
|
+
return score;
|
|
86
|
+
}
|
|
87
|
+
function buildSnippet(markdown, terms) {
|
|
88
|
+
const lower = markdown.toLowerCase();
|
|
89
|
+
let hit = -1;
|
|
90
|
+
for (const term of terms) {
|
|
91
|
+
const idx = lower.indexOf(term.toLowerCase());
|
|
92
|
+
if (idx >= 0 && (hit < 0 || idx < hit))
|
|
93
|
+
hit = idx;
|
|
94
|
+
}
|
|
95
|
+
const center = hit >= 0 ? hit : Math.min(markdown.length, 500);
|
|
96
|
+
const charStart = Math.max(0, center - SNIPPET_RADIUS);
|
|
97
|
+
const charEnd = Math.min(markdown.length, center + SNIPPET_RADIUS);
|
|
98
|
+
return {
|
|
99
|
+
excerpt: markdown.slice(charStart, charEnd).trim(),
|
|
100
|
+
charStart,
|
|
101
|
+
charEnd,
|
|
102
|
+
};
|
|
103
|
+
}
|
|
104
|
+
function normalizeLimit(limit) {
|
|
105
|
+
if (!Number.isFinite(limit ?? DEFAULT_LIMIT))
|
|
106
|
+
return DEFAULT_LIMIT;
|
|
107
|
+
return Math.max(1, Math.min(MAX_LIMIT, Math.floor(limit ?? DEFAULT_LIMIT)));
|
|
108
|
+
}
|
|
109
|
+
function extractTerms(query) {
|
|
110
|
+
const raw = query.normalize("NFKC").trim().toLowerCase();
|
|
111
|
+
if (!raw)
|
|
112
|
+
return [];
|
|
113
|
+
const terms = new Set();
|
|
114
|
+
for (const match of raw.matchAll(/[\p{L}\p{N}]{2,}/gu)) {
|
|
115
|
+
terms.add(match[0]);
|
|
116
|
+
}
|
|
117
|
+
return [...terms].slice(0, 24);
|
|
118
|
+
}
|
|
119
|
+
//# sourceMappingURL=retrieve.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"retrieve.js","sourceRoot":"","sources":["../../src/materials/retrieve.ts"],"names":[],"mappings":"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"}
|
|
@@ -300,6 +300,28 @@ export declare const ChapterTraceSchema: z.ZodObject<{
|
|
|
300
300
|
compressibleTokens?: number | undefined;
|
|
301
301
|
totalSelectedTokens?: number | undefined;
|
|
302
302
|
}>>;
|
|
303
|
+
compression: z.ZodOptional<z.ZodObject<{
|
|
304
|
+
compiledSource: z.ZodString;
|
|
305
|
+
protectedSources: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
|
|
306
|
+
compressedSources: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
|
|
307
|
+
protectedTokens: z.ZodDefault<z.ZodNumber>;
|
|
308
|
+
compressibleTokens: z.ZodDefault<z.ZodNumber>;
|
|
309
|
+
budgetTokens: z.ZodDefault<z.ZodNumber>;
|
|
310
|
+
}, "strip", z.ZodTypeAny, {
|
|
311
|
+
protectedSources: string[];
|
|
312
|
+
protectedTokens: number;
|
|
313
|
+
compressibleTokens: number;
|
|
314
|
+
compiledSource: string;
|
|
315
|
+
compressedSources: string[];
|
|
316
|
+
budgetTokens: number;
|
|
317
|
+
}, {
|
|
318
|
+
compiledSource: string;
|
|
319
|
+
protectedSources?: string[] | undefined;
|
|
320
|
+
protectedTokens?: number | undefined;
|
|
321
|
+
compressibleTokens?: number | undefined;
|
|
322
|
+
compressedSources?: string[] | undefined;
|
|
323
|
+
budgetTokens?: number | undefined;
|
|
324
|
+
}>>;
|
|
303
325
|
notes: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
|
|
304
326
|
}, "strip", z.ZodTypeAny, {
|
|
305
327
|
chapter: number;
|
|
@@ -319,6 +341,14 @@ export declare const ChapterTraceSchema: z.ZodObject<{
|
|
|
319
341
|
compressibleTokens: number;
|
|
320
342
|
totalSelectedTokens: number;
|
|
321
343
|
};
|
|
344
|
+
compression?: {
|
|
345
|
+
protectedSources: string[];
|
|
346
|
+
protectedTokens: number;
|
|
347
|
+
compressibleTokens: number;
|
|
348
|
+
compiledSource: string;
|
|
349
|
+
compressedSources: string[];
|
|
350
|
+
budgetTokens: number;
|
|
351
|
+
} | undefined;
|
|
322
352
|
}, {
|
|
323
353
|
chapter: number;
|
|
324
354
|
plannerInputs: string[];
|
|
@@ -337,6 +367,14 @@ export declare const ChapterTraceSchema: z.ZodObject<{
|
|
|
337
367
|
compressibleTokens?: number | undefined;
|
|
338
368
|
totalSelectedTokens?: number | undefined;
|
|
339
369
|
} | undefined;
|
|
370
|
+
compression?: {
|
|
371
|
+
compiledSource: string;
|
|
372
|
+
protectedSources?: string[] | undefined;
|
|
373
|
+
protectedTokens?: number | undefined;
|
|
374
|
+
compressibleTokens?: number | undefined;
|
|
375
|
+
compressedSources?: string[] | undefined;
|
|
376
|
+
budgetTokens?: number | undefined;
|
|
377
|
+
} | undefined;
|
|
340
378
|
}>;
|
|
341
379
|
export type ChapterTrace = z.infer<typeof ChapterTraceSchema>;
|
|
342
380
|
//# sourceMappingURL=input-governance.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"input-governance.d.ts","sourceRoot":"","sources":["../../src/models/input-governance.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;EAM5B,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;EAQ9B,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE,eAAO,MAAM,mBAAmB;;;;;;;;;;;;EAI9B,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAG/B,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE,eAAO,MAAM,oBAAoB,+CAA6C,CAAC;AAC/E,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;EAK1B,CAAC;AAEH,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAExD,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;EAK7B,CAAC;AAEH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;EAK/B,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE,eAAO,MAAM,uBAAuB;;;;;;;;;;;;EAIlC,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAExE,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAS1B,CAAC;AAEH,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAExD,eAAO,MAAM,kBAAkB
|
|
1
|
+
{"version":3,"file":"input-governance.d.ts","sourceRoot":"","sources":["../../src/models/input-governance.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;EAM5B,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;EAQ9B,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE,eAAO,MAAM,mBAAmB;;;;;;;;;;;;EAI9B,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAG/B,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE,eAAO,MAAM,oBAAoB,+CAA6C,CAAC;AAC/E,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;EAK1B,CAAC;AAEH,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAExD,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;EAK7B,CAAC;AAEH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;EAK/B,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE,eAAO,MAAM,uBAAuB;;;;;;;;;;;;EAIlC,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAExE,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAS1B,CAAC;AAEH,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAExD,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiC7B,CAAC;AAEH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC"}
|
|
@@ -82,6 +82,14 @@ export const ChapterTraceSchema = z.object({
|
|
|
82
82
|
compressibleTokens: 0,
|
|
83
83
|
totalSelectedTokens: 0,
|
|
84
84
|
}),
|
|
85
|
+
compression: z.object({
|
|
86
|
+
compiledSource: z.string().min(1),
|
|
87
|
+
protectedSources: z.array(z.string()).default([]),
|
|
88
|
+
compressedSources: z.array(z.string()).default([]),
|
|
89
|
+
protectedTokens: z.number().int().nonnegative().default(0),
|
|
90
|
+
compressibleTokens: z.number().int().nonnegative().default(0),
|
|
91
|
+
budgetTokens: z.number().int().nonnegative().default(0),
|
|
92
|
+
}).optional(),
|
|
85
93
|
notes: z.array(z.string()).default([]),
|
|
86
94
|
});
|
|
87
95
|
//# sourceMappingURL=input-governance.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"input-governance.js","sourceRoot":"","sources":["../../src/models/input-governance.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"input-governance.js","sourceRoot":"","sources":["../../src/models/input-governance.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,7 +6,7 @@ import type { NotifyChannel, LLMConfig, AgentLLMOverride, InputGovernanceMode }
|
|
|
6
6
|
import { type ReviseMode } from "../agents/reviser.js";
|
|
7
7
|
import type { RadarSource } from "../agents/radar-source.js";
|
|
8
8
|
import type { AgentContext } from "../agents/base.js";
|
|
9
|
-
import type { AuditResult } from "../agents/continuity.js";
|
|
9
|
+
import type { AuditResult, AuditIssue } from "../agents/continuity.js";
|
|
10
10
|
import type { RadarResult } from "../agents/radar.js";
|
|
11
11
|
import type { LengthTelemetry } from "../models/length-governance.js";
|
|
12
12
|
import type { ContextCompressionCallback } from "../models/context-compression.js";
|
|
@@ -94,6 +94,25 @@ export interface ReviseResult {
|
|
|
94
94
|
readonly applied: boolean;
|
|
95
95
|
readonly status: "unchanged" | "ready-for-review" | "audit-failed";
|
|
96
96
|
readonly skippedReason?: string;
|
|
97
|
+
readonly revisionDiagnostics?: {
|
|
98
|
+
readonly standard: string;
|
|
99
|
+
readonly before: {
|
|
100
|
+
readonly blockingCount: number;
|
|
101
|
+
readonly criticalCount: number;
|
|
102
|
+
readonly aiTellCount: number;
|
|
103
|
+
};
|
|
104
|
+
readonly after: {
|
|
105
|
+
readonly blockingCount: number;
|
|
106
|
+
readonly criticalCount: number;
|
|
107
|
+
readonly aiTellCount: number;
|
|
108
|
+
};
|
|
109
|
+
readonly remainingIssues: ReadonlyArray<{
|
|
110
|
+
readonly severity: AuditIssue["severity"];
|
|
111
|
+
readonly category: string;
|
|
112
|
+
readonly description: string;
|
|
113
|
+
readonly suggestion?: string;
|
|
114
|
+
}>;
|
|
115
|
+
};
|
|
97
116
|
readonly lengthWarnings?: ReadonlyArray<string>;
|
|
98
117
|
readonly lengthTelemetry?: LengthTelemetry;
|
|
99
118
|
}
|
|
@@ -202,7 +221,7 @@ export declare class PipelineRunner {
|
|
|
202
221
|
readonly chapterNumber: number;
|
|
203
222
|
}>;
|
|
204
223
|
/** Revise the latest (or specified) chapter based on audit issues. */
|
|
205
|
-
reviseDraft(bookId: string, chapterNumber?: number, mode?: ReviseMode): Promise<ReviseResult>;
|
|
224
|
+
reviseDraft(bookId: string, chapterNumber?: number, mode?: ReviseMode, externalContext?: string): Promise<ReviseResult>;
|
|
206
225
|
/** Read all truth files for a book. */
|
|
207
226
|
readTruthFiles(bookId: string): Promise<TruthFiles>;
|
|
208
227
|
/** Get book status overview. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../src/pipeline/runner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAChE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAU5G,OAAO,EAAqC,KAAK,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAG1F,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAQ7D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,WAAW,
|
|
1
|
+
{"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../src/pipeline/runner.ts"],"names":[],"mappings":"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"}
|