frontend-harness 0.7.10 → 0.8.1
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/README.md +18 -10
- package/dist/cli/index.js +399 -65
- package/dist/cli/index.js.map +1 -1
- package/dist/runtime/builtin-skills.js +2 -1
- package/dist/runtime/builtin-skills.js.map +1 -1
- package/dist/runtime/clean.js +1 -0
- package/dist/runtime/clean.js.map +1 -1
- package/dist/runtime/command-taxonomy.js +7 -1
- package/dist/runtime/command-taxonomy.js.map +1 -1
- package/dist/runtime/context.d.ts +33 -2
- package/dist/runtime/context.js +63 -8
- package/dist/runtime/context.js.map +1 -1
- package/dist/runtime/evidence.d.ts +27 -0
- package/dist/runtime/evidence.js +240 -12
- package/dist/runtime/evidence.js.map +1 -1
- package/dist/runtime/ingest.d.ts +38 -0
- package/dist/runtime/ingest.js +157 -0
- package/dist/runtime/ingest.js.map +1 -0
- package/dist/runtime/knowledge/constants.js +1 -0
- package/dist/runtime/knowledge/constants.js.map +1 -1
- package/dist/runtime/knowledge/core.d.ts +10 -1
- package/dist/runtime/knowledge/core.js +582 -24
- package/dist/runtime/knowledge/core.js.map +1 -1
- package/dist/runtime/knowledge/types.d.ts +125 -1
- package/dist/runtime/knowledge.d.ts +2 -2
- package/dist/runtime/knowledge.js +1 -1
- package/dist/runtime/knowledge.js.map +1 -1
- package/dist/runtime/plan/guidance.d.ts +1 -1
- package/dist/runtime/plan/guidance.js +88 -25
- package/dist/runtime/plan/guidance.js.map +1 -1
- package/dist/runtime/plan/workflow.d.ts +1 -0
- package/dist/runtime/plan/workflow.js +32 -1
- package/dist/runtime/plan/workflow.js.map +1 -1
- package/dist/runtime/plan.d.ts +13 -0
- package/dist/runtime/plan.js +132 -79
- package/dist/runtime/plan.js.map +1 -1
- package/dist/runtime/policy-provenance.d.ts +17 -1
- package/dist/runtime/policy-provenance.js +42 -12
- package/dist/runtime/policy-provenance.js.map +1 -1
- package/dist/runtime/protocol-init.js +12 -7
- package/dist/runtime/protocol-init.js.map +1 -1
- package/dist/runtime/repair-packet.js +86 -4
- package/dist/runtime/repair-packet.js.map +1 -1
- package/dist/runtime/skills.d.ts +9 -0
- package/dist/runtime/skills.js +13 -0
- package/dist/runtime/skills.js.map +1 -1
- package/dist/runtime/state-explain.js +39 -7
- package/dist/runtime/state-explain.js.map +1 -1
- package/dist/runtime/state.js +36 -2
- package/dist/runtime/state.js.map +1 -1
- package/dist/runtime/task-context.d.ts +122 -0
- package/dist/runtime/task-context.js +1322 -0
- package/dist/runtime/task-context.js.map +1 -0
- package/dist/runtime/task-signals.d.ts +1 -0
- package/dist/runtime/task-signals.js +1 -1
- package/dist/runtime/task-signals.js.map +1 -1
- package/dist/runtime/ui-restoration.d.ts +3 -3
- package/dist/runtime/ui-restoration.js +3 -3
- package/dist/runtime/ui-restoration.js.map +1 -1
- package/dist/runtime/ui-source.d.ts +6 -0
- package/dist/runtime/ui-source.js +66 -0
- package/dist/runtime/ui-source.js.map +1 -0
- package/dist/runtime/verify.js +65 -25
- package/dist/runtime/verify.js.map +1 -1
- package/dist/schemas/types.d.ts +75 -2
- package/dist/schemas/validation.js +42 -7
- package/dist/schemas/validation.js.map +1 -1
- package/docs/DIRECTION.md +13 -11
- package/package.json +1 -1
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
import fs from "node:fs";
|
|
2
|
+
import path from "node:path";
|
|
3
|
+
import { createHash } from "node:crypto";
|
|
4
|
+
import { harnessPath, relativeHarnessPath } from "../storage/paths.js";
|
|
5
|
+
import { isRegularFileWithoutSymlink, readJson, writeJson } from "../storage/json.js";
|
|
6
|
+
import { resolveProjectRelativePath } from "./project-paths.js";
|
|
7
|
+
const MAX_INGEST_SOURCE_HASH_BYTES = 10 * 1024 * 1024;
|
|
8
|
+
const MAX_INGEST_RECORD_BYTES = 256 * 1024;
|
|
9
|
+
export const MAX_INGEST_LIST_RECORDS = 20;
|
|
10
|
+
export function recordIngestSource(projectRoot, input) {
|
|
11
|
+
const kind = parseIngestKind(input.kind);
|
|
12
|
+
const id = parseIngestId(input.id);
|
|
13
|
+
const source = input.source?.trim();
|
|
14
|
+
const summary = input.summary?.trim();
|
|
15
|
+
if (!source) {
|
|
16
|
+
throw new Error("ingest record requires --source");
|
|
17
|
+
}
|
|
18
|
+
if (!summary) {
|
|
19
|
+
throw new Error("ingest record requires --summary");
|
|
20
|
+
}
|
|
21
|
+
const sourceInfo = describeSource(projectRoot, source);
|
|
22
|
+
const artifactPath = relativeHarnessPath("ingest", kind, `${id}.json`);
|
|
23
|
+
const record = {
|
|
24
|
+
contractVersion: 1,
|
|
25
|
+
id,
|
|
26
|
+
kind,
|
|
27
|
+
ingestRef: `ingest://${kind}/${id}`,
|
|
28
|
+
source: sourceInfo,
|
|
29
|
+
summary,
|
|
30
|
+
producedKnowledgeCardIds: splitList(input.cards),
|
|
31
|
+
recordedAt: new Date().toISOString(),
|
|
32
|
+
artifactPath
|
|
33
|
+
};
|
|
34
|
+
writeJson(path.join(projectRoot, artifactPath), record);
|
|
35
|
+
return record;
|
|
36
|
+
}
|
|
37
|
+
export function listIngestRecords(projectRoot, kindInput, options = {}) {
|
|
38
|
+
const kind = kindInput ? parseIngestKind(kindInput) : null;
|
|
39
|
+
const root = harnessPath(projectRoot, "ingest");
|
|
40
|
+
const records = [];
|
|
41
|
+
const kinds = kind ? [kind] : ["openapi", "prd", "ui-package"];
|
|
42
|
+
for (const entryKind of kinds) {
|
|
43
|
+
const dir = path.join(root, entryKind);
|
|
44
|
+
const stat = fs.lstatSync(dir, { throwIfNoEntry: false });
|
|
45
|
+
if (!stat?.isDirectory() || stat.isSymbolicLink()) {
|
|
46
|
+
continue;
|
|
47
|
+
}
|
|
48
|
+
for (const entry of fs.readdirSync(dir, { withFileTypes: true })) {
|
|
49
|
+
if (!entry.isFile() || !entry.name.endsWith(".json")) {
|
|
50
|
+
continue;
|
|
51
|
+
}
|
|
52
|
+
const record = readIngestRecordFile(path.join(dir, entry.name));
|
|
53
|
+
if (record) {
|
|
54
|
+
records.push(record);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
const sortedRecords = records.sort((left, right) => left.ingestRef.localeCompare(right.ingestRef));
|
|
59
|
+
const limit = options.limit === "all" ? sortedRecords.length : Math.max(0, options.limit ?? MAX_INGEST_LIST_RECORDS);
|
|
60
|
+
const selectedRecords = sortedRecords.slice(0, limit);
|
|
61
|
+
return {
|
|
62
|
+
records: selectedRecords,
|
|
63
|
+
limits: {
|
|
64
|
+
selected: selectedRecords.length,
|
|
65
|
+
total: sortedRecords.length,
|
|
66
|
+
omitted: Math.max(0, sortedRecords.length - selectedRecords.length)
|
|
67
|
+
}
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
export function showIngestRecord(projectRoot, refOrId) {
|
|
71
|
+
const value = refOrId?.trim();
|
|
72
|
+
if (!value) {
|
|
73
|
+
throw new Error("ingest show requires --ref ingest://<kind>/<source-id>");
|
|
74
|
+
}
|
|
75
|
+
const { kind, id } = parseIngestRef(value);
|
|
76
|
+
const fullPath = harnessPath(projectRoot, "ingest", kind, `${id}.json`);
|
|
77
|
+
const record = readIngestRecordFile(fullPath);
|
|
78
|
+
if (!record) {
|
|
79
|
+
throw new Error(`ingest record not found: ${value}`);
|
|
80
|
+
}
|
|
81
|
+
return record;
|
|
82
|
+
}
|
|
83
|
+
function describeSource(projectRoot, source) {
|
|
84
|
+
if (isExternalReference(source)) {
|
|
85
|
+
return {
|
|
86
|
+
value: source,
|
|
87
|
+
type: "external-reference",
|
|
88
|
+
sha256: null,
|
|
89
|
+
sizeBytes: null
|
|
90
|
+
};
|
|
91
|
+
}
|
|
92
|
+
const { relativePath, fullPath } = resolveProjectRelativePath(projectRoot, source, "ingest source");
|
|
93
|
+
if (!isRegularFileWithoutSymlink(fullPath)) {
|
|
94
|
+
throw new Error(`ingest source cannot be read: ${source}`);
|
|
95
|
+
}
|
|
96
|
+
const stat = fs.statSync(fullPath);
|
|
97
|
+
if (stat.size > MAX_INGEST_SOURCE_HASH_BYTES) {
|
|
98
|
+
throw new Error(`ingest source exceeds ${MAX_INGEST_SOURCE_HASH_BYTES} bytes: ${relativePath}`);
|
|
99
|
+
}
|
|
100
|
+
return {
|
|
101
|
+
value: relativePath,
|
|
102
|
+
type: "project-file",
|
|
103
|
+
sha256: sha256File(fullPath),
|
|
104
|
+
sizeBytes: stat.size
|
|
105
|
+
};
|
|
106
|
+
}
|
|
107
|
+
function readIngestRecordFile(fullPath) {
|
|
108
|
+
const record = readJson(fullPath, {
|
|
109
|
+
maxBytes: MAX_INGEST_RECORD_BYTES,
|
|
110
|
+
label: "ingest record"
|
|
111
|
+
});
|
|
112
|
+
if (!record || record.contractVersion !== 1 || record.artifactPath === undefined) {
|
|
113
|
+
return null;
|
|
114
|
+
}
|
|
115
|
+
return record;
|
|
116
|
+
}
|
|
117
|
+
function parseIngestKind(value) {
|
|
118
|
+
const normalized = value?.toLowerCase();
|
|
119
|
+
if (normalized === "prd" || normalized === "openapi" || normalized === "ui-package") {
|
|
120
|
+
return normalized;
|
|
121
|
+
}
|
|
122
|
+
throw new Error("ingest --kind must be one of: prd, openapi, ui-package");
|
|
123
|
+
}
|
|
124
|
+
function parseIngestId(value) {
|
|
125
|
+
const id = value?.trim();
|
|
126
|
+
if (!id || !/^[a-z0-9][a-z0-9._-]{1,80}$/i.test(id)) {
|
|
127
|
+
throw new Error("ingest record requires --id with letters, numbers, dots, underscores, or dashes");
|
|
128
|
+
}
|
|
129
|
+
return id;
|
|
130
|
+
}
|
|
131
|
+
function parseIngestRef(value) {
|
|
132
|
+
const match = /^ingest:\/\/(prd|openapi|ui-package)\/([a-z0-9][a-z0-9._-]{1,80})$/i.exec(value);
|
|
133
|
+
if (!match?.[1] || !match[2]) {
|
|
134
|
+
throw new Error("ingest --ref must look like ingest://<kind>/source-id where kind is prd, openapi, or ui-package");
|
|
135
|
+
}
|
|
136
|
+
return {
|
|
137
|
+
kind: parseIngestKind(match[1]),
|
|
138
|
+
id: parseIngestId(match[2])
|
|
139
|
+
};
|
|
140
|
+
}
|
|
141
|
+
function splitList(value) {
|
|
142
|
+
return value
|
|
143
|
+
? [...new Set(value.split(",").map((item) => item.trim()).filter(Boolean))]
|
|
144
|
+
: [];
|
|
145
|
+
}
|
|
146
|
+
function isExternalReference(value) {
|
|
147
|
+
if (/^[A-Za-z]:/.test(value)) {
|
|
148
|
+
return false;
|
|
149
|
+
}
|
|
150
|
+
return /^https?:\/\//i.test(value);
|
|
151
|
+
}
|
|
152
|
+
function sha256File(filePath) {
|
|
153
|
+
const hash = createHash("sha256");
|
|
154
|
+
hash.update(fs.readFileSync(filePath));
|
|
155
|
+
return hash.digest("hex");
|
|
156
|
+
}
|
|
157
|
+
//# sourceMappingURL=ingest.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ingest.js","sourceRoot":"","sources":["../../src/runtime/ingest.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/runtime/knowledge/constants.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,GAAG,CAAgB;IACnD,eAAe;IACf,gBAAgB;IAChB,oBAAoB;IACpB,iBAAiB;IACjB,SAAS;IACT,UAAU;CACX,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAkB,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC;AACpF,MAAM,CAAC,MAAM,oBAAoB,GAAG,IAAI,GAAG,CAAqB,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC;AACxF,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,GAAG,CAAgB,CAAC,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC,CAAC;AACtI,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;AAC5D,MAAM,CAAC,MAAM,4BAA4B,GAAG,IAAI,CAAC;AACjD,MAAM,CAAC,MAAM,6BAA6B,GAAG,EAAE,CAAC;AAEhD,MAAM,CAAC,MAAM,WAAW,GAAyC;IAC/D,IAAI,EAAE,eAAe;IACrB,QAAQ,EAAE,eAAe;IACzB,UAAU,EAAE,eAAe;IAC3B,IAAI,EAAE,UAAU;IAChB,OAAO,EAAE,SAAS;IAClB,QAAQ,EAAE,iBAAiB;IAC3B,UAAU,EAAE,oBAAoB;CACjC,CAAC"}
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/runtime/knowledge/constants.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,GAAG,CAAgB;IACnD,eAAe;IACf,cAAc;IACd,gBAAgB;IAChB,oBAAoB;IACpB,iBAAiB;IACjB,SAAS;IACT,UAAU;CACX,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAkB,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC;AACpF,MAAM,CAAC,MAAM,oBAAoB,GAAG,IAAI,GAAG,CAAqB,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC;AACxF,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,GAAG,CAAgB,CAAC,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC,CAAC;AACtI,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;AAC5D,MAAM,CAAC,MAAM,4BAA4B,GAAG,IAAI,CAAC;AACjD,MAAM,CAAC,MAAM,6BAA6B,GAAG,EAAE,CAAC;AAEhD,MAAM,CAAC,MAAM,WAAW,GAAyC;IAC/D,IAAI,EAAE,eAAe;IACrB,QAAQ,EAAE,eAAe;IACzB,UAAU,EAAE,eAAe;IAC3B,IAAI,EAAE,UAAU;IAChB,OAAO,EAAE,SAAS;IAClB,QAAQ,EAAE,iBAAiB;IAC3B,UAAU,EAAE,oBAAoB;CACjC,CAAC"}
|
|
@@ -1,7 +1,16 @@
|
|
|
1
|
-
import type { AddKnowledgeInput, KnowledgeCard, KnowledgeCheckResult, KnowledgeCoverageResult, KnowledgeIndexResult, KnowledgeListResult, KnowledgeSearchResult, KnowledgeShowResult, ModuleKnowledgeInput, PromotedKnowledge, PromoteKnowledgeInput, UpdateKnowledgeInput } from "./types.js";
|
|
1
|
+
import type { AddKnowledgeInput, KnowledgeCard, KnowledgeCheckResult, KnowledgeCoverageResult, KnowledgeDraftInput, KnowledgeDraftResult, KnowledgeIndexResult, KnowledgeListResult, KnowledgeOutlineInput, KnowledgeOutlineResult, KnowledgeSearchResult, KnowledgeShowResult, ModuleKnowledgeInput, PromotedKnowledge, PromoteKnowledgeInput, UpdateKnowledgeInput } from "./types.js";
|
|
2
|
+
export declare const MAX_KNOWLEDGE_LIST_CARDS = 20;
|
|
3
|
+
export declare const MAX_KNOWLEDGE_SEARCH_RESULTS = 8;
|
|
4
|
+
export declare const MAX_KNOWLEDGE_DRAFT_UPDATE_CANDIDATES = 8;
|
|
5
|
+
export declare const MAX_KNOWLEDGE_OUTLINE_HEADINGS = 80;
|
|
6
|
+
export declare const MAX_KNOWLEDGE_DRAFT_EXTRACTION_ITEMS = 40;
|
|
7
|
+
export declare const MAX_KNOWLEDGE_INDEX_CARDS = 20;
|
|
8
|
+
export declare const MAX_KNOWLEDGE_INDEX_DETAIL_ITEMS = 20;
|
|
2
9
|
export declare function promoteKnowledge(projectRoot: string, input: PromoteKnowledgeInput): PromotedKnowledge;
|
|
3
10
|
export declare function createModuleKnowledge(projectRoot: string, input: ModuleKnowledgeInput): PromotedKnowledge;
|
|
4
11
|
export declare function addKnowledge(projectRoot: string, input: AddKnowledgeInput): PromotedKnowledge;
|
|
12
|
+
export declare function outlineKnowledgeFromIngest(projectRoot: string, input: KnowledgeOutlineInput): KnowledgeOutlineResult;
|
|
13
|
+
export declare function draftKnowledgeFromIngest(projectRoot: string, input: KnowledgeDraftInput): KnowledgeDraftResult;
|
|
5
14
|
export declare function updateKnowledge(projectRoot: string, input: UpdateKnowledgeInput): PromotedKnowledge;
|
|
6
15
|
export declare function discoverKnowledgeCards(projectRoot: string): KnowledgeCard[];
|
|
7
16
|
export declare function indexKnowledge(projectRoot: string): KnowledgeIndexResult;
|