@c4a/context-cli 0.7.61 → 0.7.62
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/cli.js +18 -4
- package/indexers/contracts/profile-contract.json +245 -245
- package/indexers/release-manifest.json +1 -1
- package/package.json +12 -12
- package/plugins/VERSION +1 -1
- package/plugins/claude/.claude-plugin/plugin.json +1 -1
- package/plugins/codex/.codex-plugin/plugin.json +2 -2
- package/plugins/cursor/.cursor-plugin/plugin.json +1 -1
- package/providers/context/manifest.json +3 -3
- package/providers/context/provider.yaml +1 -1
package/cli.js
CHANGED
|
@@ -86607,6 +86607,9 @@ var init_packageBuildReceipt = __esm(() => {
|
|
|
86607
86607
|
// src/project/knowledgeMapCoverage.ts
|
|
86608
86608
|
import { readFile as readFile55 } from "node:fs/promises";
|
|
86609
86609
|
import { join as join66 } from "node:path";
|
|
86610
|
+
function packageMenuTargets(packages) {
|
|
86611
|
+
return new Set(packages.flatMap((pkg) => pkg.kind === "package.kb" ? (pkg.site?.more ?? []).flatMap((item) => item.target ? [item.target.artifact_ref] : []) : []));
|
|
86612
|
+
}
|
|
86610
86613
|
function knowledgeMapArticleTargets(files) {
|
|
86611
86614
|
return files.flatMap((file) => {
|
|
86612
86615
|
const meta = parseKnowledgeFrontmatter(file.content);
|
|
@@ -86677,6 +86680,7 @@ var init_knowledgeMapCoverage = __esm(() => {
|
|
|
86677
86680
|
var exports_knowledgeMap = {};
|
|
86678
86681
|
__export(exports_knowledgeMap, {
|
|
86679
86682
|
readKnowledgeMap: () => readKnowledgeMap,
|
|
86683
|
+
projectMenuTargets: () => projectMenuTargets,
|
|
86680
86684
|
inspectKnowledgeMap: () => inspectKnowledgeMap,
|
|
86681
86685
|
applyKnowledgeMapUpdate: () => applyKnowledgeMapUpdate,
|
|
86682
86686
|
acceptStructureDecision: () => acceptStructureDecision,
|
|
@@ -86697,6 +86701,12 @@ async function readKnowledgeMap(root) {
|
|
|
86697
86701
|
const content3 = await optionalText(root, KNOWLEDGE_MAP_PATH);
|
|
86698
86702
|
return content3 === undefined ? undefined : validateKnowledgeMap(import_yaml39.parse(content3));
|
|
86699
86703
|
}
|
|
86704
|
+
async function projectMenuTargets(root) {
|
|
86705
|
+
const { isContextProjectRoot: isContextProjectRoot2, loadContextProjectModule: loadContextProjectModule2 } = await Promise.resolve().then(() => (init_workspace(), exports_workspace));
|
|
86706
|
+
if (!isContextProjectRoot2(root))
|
|
86707
|
+
return new Set;
|
|
86708
|
+
return packageMenuTargets((await loadContextProjectModule2(root)).project.packages);
|
|
86709
|
+
}
|
|
86700
86710
|
async function inspectKnowledgeMap(root) {
|
|
86701
86711
|
const current2 = await readKnowledgeMap(root);
|
|
86702
86712
|
return {
|
|
@@ -86728,7 +86738,8 @@ async function acceptStructureDecision(input) {
|
|
|
86728
86738
|
const next = input.knowledge_map === undefined ? current2 : updateKnowledgeMap(current2, input.knowledge_map);
|
|
86729
86739
|
if (input.article_targets !== undefined) {
|
|
86730
86740
|
const known = [...await approvedKnowledgeMapTargets(input.projectRoot), ...input.article_targets];
|
|
86731
|
-
|
|
86741
|
+
const menu = await projectMenuTargets(input.projectRoot);
|
|
86742
|
+
assertKnowledgeMapCoverage(next, known.filter((target) => !menu.has(target.artifact_ref)), { known, require_update: true, has_update: input.knowledge_map !== undefined, revision: input.revision, current_revision: current2?.revision ?? null });
|
|
86732
86743
|
}
|
|
86733
86744
|
const writes = [{ path: input.decisionPath, content: canonicalIndexerJson({ revision: input.revision, decision: "approved" }) }];
|
|
86734
86745
|
if (input.knowledge_map !== undefined)
|
|
@@ -86762,7 +86773,8 @@ async function applyKnowledgeMapUpdate(projectRoot, update) {
|
|
|
86762
86773
|
title: candidate.review.title,
|
|
86763
86774
|
section_keys: candidate.indexer_candidate.sections.map((section) => section.section_key)
|
|
86764
86775
|
}));
|
|
86765
|
-
|
|
86776
|
+
const menu = await projectMenuTargets(projectRoot);
|
|
86777
|
+
assertKnowledgeMapCoverage(next, approved.filter((target) => !menu.has(target.artifact_ref)), { known: [...approved, ...planned, ...accepted], current_revision: current2?.revision ?? null });
|
|
86766
86778
|
const content3 = import_yaml39.stringify(next);
|
|
86767
86779
|
const previous2 = await optionalText(projectRoot, KNOWLEDGE_MAP_PATH);
|
|
86768
86780
|
await runDurableMultiFileTransaction({
|
|
@@ -86820,7 +86832,8 @@ function packageKnowledgeMapTargets(pkg, files) {
|
|
|
86820
86832
|
return targets;
|
|
86821
86833
|
}
|
|
86822
86834
|
async function writePackageKnowledgeMap(input) {
|
|
86823
|
-
|
|
86835
|
+
const menu = packageMenuTargets([input.pkg]);
|
|
86836
|
+
assertKnowledgeMapCoverage(input.structure, knowledgeMapArticleTargets(input.selected).filter((target) => !menu.has(target.artifact_ref)));
|
|
86824
86837
|
if (input.structure === undefined || input.pkg.kind !== "package.kb")
|
|
86825
86838
|
return [];
|
|
86826
86839
|
const projected = projectKnowledgeMap(input.structure, packageKnowledgeMapTargets(input.pkg, input.selected));
|
|
@@ -108952,7 +108965,8 @@ async function writeReviewHtml(input) {
|
|
|
108952
108965
|
}
|
|
108953
108966
|
await writeFile28(outPath, renderReviewHtml(model, diagramScript), "utf8");
|
|
108954
108967
|
await saveReviewReportScope(input.projectRoot, reviewScope, candidates, model.baselineHash);
|
|
108955
|
-
const
|
|
108968
|
+
const menu = await projectMenuTargets(input.projectRoot);
|
|
108969
|
+
const unplaced = model.pages.filter((page) => page.candidate_id && !menu.has(page.id) && !model.nodes.some((node3) => node3.page === page.id && node3.parent !== "review-unplaced" && !node3.removed)).map((page) => ({ article_id: page.id, candidate_id: page.candidate_id, path: page.path, title: page.title }));
|
|
108956
108970
|
return {
|
|
108957
108971
|
navigation: {
|
|
108958
108972
|
current_revision: (await readKnowledgeMap(input.projectRoot))?.revision ?? null,
|