@warpgogol/forge 0.24.0 → 0.26.0
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/AGENTS.md +14 -2
- package/dist/os/adr/adr.module.d.ts.map +1 -1
- package/dist/os/adr/adr.module.js +31 -0
- package/dist/os/adr/adr.module.js.map +1 -1
- package/dist/os/adr/handlers/archive.d.ts.map +1 -1
- package/dist/os/adr/handlers/archive.js +26 -0
- package/dist/os/adr/handlers/archive.js.map +1 -1
- package/dist/os/adr/handlers/implement-stamp.d.ts +4 -0
- package/dist/os/adr/handlers/implement-stamp.d.ts.map +1 -0
- package/dist/os/adr/handlers/implement-stamp.js +258 -0
- package/dist/os/adr/handlers/implement-stamp.js.map +1 -0
- package/dist/os/adr/handlers/validate.js +1 -1
- package/dist/os/adr/handlers/validate.js.map +1 -1
- package/dist/os/adr/types.d.ts +16 -0
- package/dist/os/adr/types.d.ts.map +1 -1
- package/dist/os/adr/types.js +1 -0
- package/dist/os/adr/types.js.map +1 -1
- package/dist/os/audit/handlers/archive.d.ts.map +1 -1
- package/dist/os/audit/handlers/archive.js +34 -0
- package/dist/os/audit/handlers/archive.js.map +1 -1
- package/dist/os/core/core.module.d.ts.map +1 -1
- package/dist/os/core/core.module.js +55 -0
- package/dist/os/core/core.module.js.map +1 -1
- package/dist/os/core/handlers/pinned-check.d.ts +39 -0
- package/dist/os/core/handlers/pinned-check.d.ts.map +1 -0
- package/dist/os/core/handlers/pinned-check.js +135 -0
- package/dist/os/core/handlers/pinned-check.js.map +1 -0
- package/dist/os/core/handlers/pinned-init.d.ts +19 -0
- package/dist/os/core/handlers/pinned-init.d.ts.map +1 -0
- package/dist/os/core/handlers/pinned-init.js +282 -0
- package/dist/os/core/handlers/pinned-init.js.map +1 -0
- package/dist/os/core/handlers/pinned-types.d.ts +29 -0
- package/dist/os/core/handlers/pinned-types.d.ts.map +1 -0
- package/dist/os/core/handlers/pinned-types.js +16 -0
- package/dist/os/core/handlers/pinned-types.js.map +1 -0
- package/dist/os/core/handlers/pinned-validate.d.ts +4 -0
- package/dist/os/core/handlers/pinned-validate.d.ts.map +1 -0
- package/dist/os/core/handlers/pinned-validate.js +228 -0
- package/dist/os/core/handlers/pinned-validate.js.map +1 -0
- package/dist/os/mission/handlers/archive.d.ts.map +1 -1
- package/dist/os/mission/handlers/archive.js +34 -0
- package/dist/os/mission/handlers/archive.js.map +1 -1
- package/dist/os/plan/handlers/archive.d.ts.map +1 -1
- package/dist/os/plan/handlers/archive.js +34 -0
- package/dist/os/plan/handlers/archive.js.map +1 -1
- package/dist/os/rfc/acceptance.d.ts.map +1 -1
- package/dist/os/rfc/acceptance.js +20 -2
- package/dist/os/rfc/acceptance.js.map +1 -1
- package/dist/os/rfc/handlers/archive.d.ts.map +1 -1
- package/dist/os/rfc/handlers/archive.js +26 -0
- package/dist/os/rfc/handlers/archive.js.map +1 -1
- package/dist/os/session/handlers/archive.d.ts.map +1 -1
- package/dist/os/session/handlers/archive.js +26 -0
- package/dist/os/session/handlers/archive.js.map +1 -1
- package/package.json +1 -1
- package/skills/_shared/fo-pipeline-conventions.md +22 -0
- package/skills/fo/fo-fix/SKILL.md +3 -1
- package/skills/fo/fo-idea-implement/SKILL.md +15 -9
- package/skills/fo/fo-idea-plan/SKILL.md +2 -2
- package/skills/fo/fo-review/SKILL.md +1 -0
|
@@ -13,6 +13,7 @@ files (not matching audit-rfc-XXXX-*) are silently excluded.
|
|
|
13
13
|
</MODULE_CONTRACT>
|
|
14
14
|
<CHANGE_SUMMARY>
|
|
15
15
|
<item>RFC-0521: implement audit.archive command.</item>
|
|
16
|
+
<item>RFC-0733: add pinned-files pre-check — skip pinned files with warning instead of moving them.</item>
|
|
16
17
|
</CHANGE_SUMMARY>
|
|
17
18
|
*/
|
|
18
19
|
import fs from "node:fs/promises";
|
|
@@ -20,6 +21,7 @@ import path from "node:path";
|
|
|
20
21
|
import { listAuditFiles, extractRfcIdFromAuditFile } from "../frontmatter-io.js";
|
|
21
22
|
import { loadRfcStatusMap } from "../../rfc/frontmatter-io.js";
|
|
22
23
|
import { AUDIT_DIR } from "../types.js";
|
|
24
|
+
import { loadPinnedManifest, isPinned } from "../../core/handlers/pinned-check.js";
|
|
23
25
|
const TERMINAL_STATUSES = ["implemented", "rejected", "superseded"];
|
|
24
26
|
export async function runAuditArchive(input, context) {
|
|
25
27
|
const { workspaceRoot, logger, outputFormat } = context;
|
|
@@ -34,6 +36,14 @@ export async function runAuditArchive(input, context) {
|
|
|
34
36
|
const rfcStatusMap = await loadRfcStatusMap(rfcDirPath);
|
|
35
37
|
const moved = [];
|
|
36
38
|
const skipped = [];
|
|
39
|
+
// RFC-0733: Load pinned manifest once per invocation
|
|
40
|
+
let pinnedManifest = null;
|
|
41
|
+
try {
|
|
42
|
+
pinnedManifest = await loadPinnedManifest(workspaceRoot);
|
|
43
|
+
}
|
|
44
|
+
catch {
|
|
45
|
+
// Malformed manifest — skip pre-check
|
|
46
|
+
}
|
|
37
47
|
for (const fileName of files) {
|
|
38
48
|
const rfcId = extractRfcIdFromAuditFile(fileName);
|
|
39
49
|
const relFile = path.join(AUDIT_DIR, fileName);
|
|
@@ -58,6 +68,18 @@ export async function runAuditArchive(input, context) {
|
|
|
58
68
|
continue;
|
|
59
69
|
}
|
|
60
70
|
if (isTerminal && !isInArchive) {
|
|
71
|
+
// RFC-0733: Check if file is pinned before moving
|
|
72
|
+
if (pinnedManifest && isPinned(pinnedManifest, relFile)) {
|
|
73
|
+
skipped.push({
|
|
74
|
+
id: rfcId,
|
|
75
|
+
file: relFile,
|
|
76
|
+
reason: "pinned (protected by .forge/pinned.yaml)",
|
|
77
|
+
});
|
|
78
|
+
if (outputFormat === "pretty") {
|
|
79
|
+
logger.warn(` pinned: skipping ${relFile} (protected)`);
|
|
80
|
+
}
|
|
81
|
+
continue;
|
|
82
|
+
}
|
|
61
83
|
const targetDir = path.join(auditDirPath, "archive", rfcStatus);
|
|
62
84
|
const targetPath = path.join(targetDir, basename);
|
|
63
85
|
const targetRel = path.join(AUDIT_DIR, "archive", rfcStatus, basename);
|
|
@@ -92,6 +114,18 @@ export async function runAuditArchive(input, context) {
|
|
|
92
114
|
});
|
|
93
115
|
}
|
|
94
116
|
else if (!isTerminal && isInArchive) {
|
|
117
|
+
// RFC-0733: Check if file is pinned before moving
|
|
118
|
+
if (pinnedManifest && isPinned(pinnedManifest, relFile)) {
|
|
119
|
+
skipped.push({
|
|
120
|
+
id: rfcId,
|
|
121
|
+
file: relFile,
|
|
122
|
+
reason: "pinned (protected by .forge/pinned.yaml)",
|
|
123
|
+
});
|
|
124
|
+
if (outputFormat === "pretty") {
|
|
125
|
+
logger.warn(` pinned: skipping ${relFile} (protected)`);
|
|
126
|
+
}
|
|
127
|
+
continue;
|
|
128
|
+
}
|
|
95
129
|
const targetPath = path.join(auditDirPath, basename);
|
|
96
130
|
const targetRel = path.join(AUDIT_DIR, basename);
|
|
97
131
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"archive.js","sourceRoot":"","sources":["../../../../os/audit/handlers/archive.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"archive.js","sourceRoot":"","sources":["../../../../os/audit/handlers/archive.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core.module.d.ts","sourceRoot":"","sources":["../../../os/core/core.module.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"core.module.d.ts","sourceRoot":"","sources":["../../../os/core/core.module.ts"],"names":[],"mappings":"AA4BA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAgB7D,eAAO,MAAM,eAAe,EAAE,WAqxB7B,CAAC"}
|
|
@@ -22,6 +22,7 @@
|
|
|
22
22
|
<item>RFC-0680: register forge.release.prepare, forge.release.publish commands.</item>
|
|
23
23
|
<item>ADR-0021: profile-driven video lifecycle — all lifecycle commands read behavior from profile YAML, zero domain-specific code in Forge source.</item>
|
|
24
24
|
<item>RFC-0711: docs.archive post-loop step calls spec.live.merge for implemented RFCs with liveSpec field; skips rejected RFCs.</item>
|
|
25
|
+
<item>RFC-0733: register forge pinned.validate and forge pinned.init commands for pinned-files protection system.</item>
|
|
25
26
|
</CHANGE_SUMMARY>
|
|
26
27
|
*/
|
|
27
28
|
import path from "node:path";
|
|
@@ -43,6 +44,8 @@ export const forgeCoreModule = {
|
|
|
43
44
|
const { runDev } = await import("./handlers/dev.js");
|
|
44
45
|
const { runBuild } = await import("./handlers/build.js");
|
|
45
46
|
const { runValidate } = await import("./handlers/validate.js");
|
|
47
|
+
const { runPinnedValidate } = await import("./handlers/pinned-validate.js");
|
|
48
|
+
const { runPinnedInit } = await import("./handlers/pinned-init.js");
|
|
46
49
|
const scaffoldWrapper = async (input, context) => {
|
|
47
50
|
const result = runScaffold(input, context);
|
|
48
51
|
const nextSteps = result.status === "pass"
|
|
@@ -500,6 +503,58 @@ export const forgeCoreModule = {
|
|
|
500
503
|
cacheable: false,
|
|
501
504
|
execute: runKnowledgeCompact,
|
|
502
505
|
});
|
|
506
|
+
// ── pinned.validate ─────────────────────────────────────────────────────
|
|
507
|
+
registry.registerCommand({
|
|
508
|
+
name: "pinned.validate",
|
|
509
|
+
description: "Validate working tree against .forge/pinned.yaml manifest. " +
|
|
510
|
+
"Checks staged changes (default) or last commit (--mode ci) for " +
|
|
511
|
+
"delete/move/modify operations on pinned files. " +
|
|
512
|
+
"Use --allow-pinned-override <path> for audited escape hatch.",
|
|
513
|
+
scope: "workspace",
|
|
514
|
+
reads: [".forge/pinned.yaml", ".forge/pinned-audit.log"],
|
|
515
|
+
writes: [".forge/pinned-audit.log"],
|
|
516
|
+
cacheable: false,
|
|
517
|
+
flags: {
|
|
518
|
+
"allow-pinned-override": {
|
|
519
|
+
kind: "string[]",
|
|
520
|
+
description: "Path(s) to exempt from pinned-files validation on this invocation. " +
|
|
521
|
+
"Each override is logged to .forge/pinned-audit.log.",
|
|
522
|
+
},
|
|
523
|
+
mode: {
|
|
524
|
+
kind: "string",
|
|
525
|
+
description: "Validation mode: 'staged' (pre-commit, default) or 'ci' (last-commit diff).",
|
|
526
|
+
},
|
|
527
|
+
json: {
|
|
528
|
+
kind: "boolean",
|
|
529
|
+
description: "Output structured JSON result.",
|
|
530
|
+
},
|
|
531
|
+
},
|
|
532
|
+
execute: runPinnedValidate,
|
|
533
|
+
});
|
|
534
|
+
// ── pinned.init ─────────────────────────────────────────────────────────
|
|
535
|
+
registry.registerCommand({
|
|
536
|
+
name: "pinned.init",
|
|
537
|
+
description: "Initialize .forge/pinned.yaml with default foundation entries, " +
|
|
538
|
+
"install pre-commit hook, and add audit log to .gitignore. " +
|
|
539
|
+
"Use --ci to also generate .github/workflows/pinned-check.yml.",
|
|
540
|
+
scope: "workspace",
|
|
541
|
+
mutatesState: true,
|
|
542
|
+
writes: [
|
|
543
|
+
".forge/pinned.yaml",
|
|
544
|
+
".git/hooks/pre-commit",
|
|
545
|
+
".gitignore",
|
|
546
|
+
".github/workflows/pinned-check.yml",
|
|
547
|
+
],
|
|
548
|
+
reads: [".forge/pinned.yaml", ".git/hooks/pre-commit", ".gitignore"],
|
|
549
|
+
cacheable: false,
|
|
550
|
+
flags: {
|
|
551
|
+
ci: {
|
|
552
|
+
kind: "boolean",
|
|
553
|
+
description: "Also generate .github/workflows/pinned-check.yml CI workflow.",
|
|
554
|
+
},
|
|
555
|
+
},
|
|
556
|
+
execute: runPinnedInit,
|
|
557
|
+
});
|
|
503
558
|
// ── docs.archive ─────────────────────────────────────────────────────────
|
|
504
559
|
registry.registerCommand({
|
|
505
560
|
name: "docs.archive",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core.module.js","sourceRoot":"","sources":["../../../os/core/core.module.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"core.module.js","sourceRoot":"","sources":["../../../os/core/core.module.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import type { PinnedEntry, PinnedManifest, PinnedViolation } from "./pinned-types.ts";
|
|
2
|
+
/**
|
|
3
|
+
* Path to the pinned manifest relative to the repository root.
|
|
4
|
+
*/
|
|
5
|
+
export declare const PINNED_MANIFEST_PATH: string;
|
|
6
|
+
/**
|
|
7
|
+
* Error thrown when the manifest exists but is malformed (invalid YAML or missing required fields).
|
|
8
|
+
*/
|
|
9
|
+
export declare class PinnedManifestMalformedError extends Error {
|
|
10
|
+
constructor(message: string);
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Load and parse the pinned manifest from .forge/pinned.yaml.
|
|
14
|
+
* Returns null if the file does not exist (protection is opt-in).
|
|
15
|
+
* Throws PinnedManifestMalformedError if the file exists but is not valid YAML
|
|
16
|
+
* or does not contain a `pinned` array.
|
|
17
|
+
*/
|
|
18
|
+
export declare function loadPinnedManifest(repoRoot: string): Promise<PinnedManifest | null>;
|
|
19
|
+
/**
|
|
20
|
+
* Check if a relative file path matches a pinned entry.
|
|
21
|
+
*
|
|
22
|
+
* Path matching rules:
|
|
23
|
+
* - Exact match: if the entry path equals the file path, it matches.
|
|
24
|
+
* - Directory match: if the entry path ends with `/`, it matches any file
|
|
25
|
+
* that starts with the directory prefix (recursive).
|
|
26
|
+
*
|
|
27
|
+
* Returns the matching PinnedEntry or null if no match.
|
|
28
|
+
*/
|
|
29
|
+
export declare function isPinned(manifest: PinnedManifest, relPath: string): PinnedEntry | null;
|
|
30
|
+
/**
|
|
31
|
+
* Batch-check multiple file paths against the manifest.
|
|
32
|
+
* Returns violations for files that match a pinned entry.
|
|
33
|
+
* The operation type is determined by the caller (delete, move, or modify).
|
|
34
|
+
*/
|
|
35
|
+
export declare function checkFilesForPinned(manifest: PinnedManifest, files: Array<{
|
|
36
|
+
relPath: string;
|
|
37
|
+
operation: PinnedViolation["operation"];
|
|
38
|
+
}>): PinnedViolation[];
|
|
39
|
+
//# sourceMappingURL=pinned-check.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pinned-check.d.ts","sourceRoot":"","sources":["../../../../os/core/handlers/pinned-check.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAc,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAKlG;;GAEG;AACH,eAAO,MAAM,oBAAoB,QAAqC,CAAC;AAEvE;;GAEG;AACH,qBAAa,4BAA6B,SAAQ,KAAK;gBACzC,OAAO,EAAE,MAAM;CAI5B;AAED;;;;;GAKG;AACH,wBAAsB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAkEzF;AAED;;;;;;;;;GASG;AACH,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CAgBtF;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,cAAc,EACxB,KAAK,EAAE,KAAK,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,eAAe,CAAC,WAAW,CAAC,CAAA;CAAE,CAAC,GACzE,eAAe,EAAE,CAgBnB"}
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
/*
|
|
2
|
+
<MODULE_CONTRACT>
|
|
3
|
+
<purpose>Shared pre-check utility for the forge pinned-files protection system (RFC-0733).
|
|
4
|
+
Loads the pinned manifest from .forge/pinned.yaml and provides an isPinned lookup
|
|
5
|
+
that all archive handlers call before moving files. Manifest loading is cached
|
|
6
|
+
per invocation — loadPinnedManifest is called once and the result is reused.</purpose>
|
|
7
|
+
<non-goals>
|
|
8
|
+
<item>Does not implement validation logic (git diff parsing, violation detection) — use pinned-validate.ts.</item>
|
|
9
|
+
<item>Does not implement manifest creation — use pinned-init.ts.</item>
|
|
10
|
+
<item>Does not enforce overrides or audit logging — that is pinned-validate.ts responsibility.</item>
|
|
11
|
+
</non-goals>
|
|
12
|
+
</MODULE_CONTRACT>
|
|
13
|
+
<CHANGE_SUMMARY>
|
|
14
|
+
<item>RFC-0733: initial pinned-check utility — loadPinnedManifest, isPinned, checkFilesForPinned.</item>
|
|
15
|
+
</CHANGE_SUMMARY>
|
|
16
|
+
*/
|
|
17
|
+
import fs from "node:fs/promises";
|
|
18
|
+
import path from "node:path";
|
|
19
|
+
import { parse as parseYaml } from "yaml";
|
|
20
|
+
const PINNED_DIR = ".forge";
|
|
21
|
+
const PINNED_FILE = "pinned.yaml";
|
|
22
|
+
/**
|
|
23
|
+
* Path to the pinned manifest relative to the repository root.
|
|
24
|
+
*/
|
|
25
|
+
export const PINNED_MANIFEST_PATH = path.join(PINNED_DIR, PINNED_FILE);
|
|
26
|
+
/**
|
|
27
|
+
* Error thrown when the manifest exists but is malformed (invalid YAML or missing required fields).
|
|
28
|
+
*/
|
|
29
|
+
export class PinnedManifestMalformedError extends Error {
|
|
30
|
+
constructor(message) {
|
|
31
|
+
super(message);
|
|
32
|
+
this.name = "PinnedManifestMalformedError";
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Load and parse the pinned manifest from .forge/pinned.yaml.
|
|
37
|
+
* Returns null if the file does not exist (protection is opt-in).
|
|
38
|
+
* Throws PinnedManifestMalformedError if the file exists but is not valid YAML
|
|
39
|
+
* or does not contain a `pinned` array.
|
|
40
|
+
*/
|
|
41
|
+
export async function loadPinnedManifest(repoRoot) {
|
|
42
|
+
const manifestPath = path.join(repoRoot, PINNED_MANIFEST_PATH);
|
|
43
|
+
let content;
|
|
44
|
+
try {
|
|
45
|
+
content = await fs.readFile(manifestPath, "utf8");
|
|
46
|
+
}
|
|
47
|
+
catch {
|
|
48
|
+
return null;
|
|
49
|
+
}
|
|
50
|
+
let parsed;
|
|
51
|
+
try {
|
|
52
|
+
parsed = parseYaml(content);
|
|
53
|
+
}
|
|
54
|
+
catch (err) {
|
|
55
|
+
throw new PinnedManifestMalformedError(`pinned.yaml is not valid YAML: ${String(err.message)}`);
|
|
56
|
+
}
|
|
57
|
+
if (!parsed || typeof parsed !== "object") {
|
|
58
|
+
throw new PinnedManifestMalformedError("pinned.yaml must contain a top-level object with a `pinned` array");
|
|
59
|
+
}
|
|
60
|
+
const obj = parsed;
|
|
61
|
+
if (!Array.isArray(obj["pinned"])) {
|
|
62
|
+
throw new PinnedManifestMalformedError("pinned.yaml is missing required `pinned` array field");
|
|
63
|
+
}
|
|
64
|
+
const entries = [];
|
|
65
|
+
for (const raw of obj["pinned"]) {
|
|
66
|
+
if (!raw || typeof raw !== "object") {
|
|
67
|
+
throw new PinnedManifestMalformedError("pinned.yaml: each entry must be an object with path, mode, and reason");
|
|
68
|
+
}
|
|
69
|
+
const entry = raw;
|
|
70
|
+
const entryPath = entry["path"];
|
|
71
|
+
const entryMode = entry["mode"];
|
|
72
|
+
const entryReason = entry["reason"];
|
|
73
|
+
if (typeof entryPath !== "string" || !entryPath) {
|
|
74
|
+
throw new PinnedManifestMalformedError("pinned.yaml: each entry must have a non-empty `path` string");
|
|
75
|
+
}
|
|
76
|
+
if (entryMode !== "protect" && entryMode !== "freeze") {
|
|
77
|
+
throw new PinnedManifestMalformedError(`pinned.yaml: entry "${entryPath}" has invalid mode "${String(entryMode)}" — must be "protect" or "freeze"`);
|
|
78
|
+
}
|
|
79
|
+
if (typeof entryReason !== "string" || !entryReason) {
|
|
80
|
+
throw new PinnedManifestMalformedError(`pinned.yaml: entry "${entryPath}" must have a non-empty reason string`);
|
|
81
|
+
}
|
|
82
|
+
entries.push({
|
|
83
|
+
path: entryPath,
|
|
84
|
+
mode: entryMode,
|
|
85
|
+
reason: entryReason,
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
return { pinned: entries };
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Check if a relative file path matches a pinned entry.
|
|
92
|
+
*
|
|
93
|
+
* Path matching rules:
|
|
94
|
+
* - Exact match: if the entry path equals the file path, it matches.
|
|
95
|
+
* - Directory match: if the entry path ends with `/`, it matches any file
|
|
96
|
+
* that starts with the directory prefix (recursive).
|
|
97
|
+
*
|
|
98
|
+
* Returns the matching PinnedEntry or null if no match.
|
|
99
|
+
*/
|
|
100
|
+
export function isPinned(manifest, relPath) {
|
|
101
|
+
const normalizedRelPath = relPath.replace(/\\/g, "/");
|
|
102
|
+
for (const entry of manifest.pinned) {
|
|
103
|
+
const normalizedEntryPath = entry.path.replace(/\\/g, "/");
|
|
104
|
+
if (normalizedEntryPath.endsWith("/")) {
|
|
105
|
+
if (normalizedRelPath.startsWith(normalizedEntryPath)) {
|
|
106
|
+
return entry;
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
else if (normalizedRelPath === normalizedEntryPath) {
|
|
110
|
+
return entry;
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
return null;
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* Batch-check multiple file paths against the manifest.
|
|
117
|
+
* Returns violations for files that match a pinned entry.
|
|
118
|
+
* The operation type is determined by the caller (delete, move, or modify).
|
|
119
|
+
*/
|
|
120
|
+
export function checkFilesForPinned(manifest, files) {
|
|
121
|
+
const violations = [];
|
|
122
|
+
for (const { relPath, operation } of files) {
|
|
123
|
+
const entry = isPinned(manifest, relPath);
|
|
124
|
+
if (entry) {
|
|
125
|
+
violations.push({
|
|
126
|
+
path: relPath,
|
|
127
|
+
mode: entry.mode,
|
|
128
|
+
operation,
|
|
129
|
+
reason: entry.reason,
|
|
130
|
+
});
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
return violations;
|
|
134
|
+
}
|
|
135
|
+
//# sourceMappingURL=pinned-check.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pinned-check.js","sourceRoot":"","sources":["../../../../os/core/handlers/pinned-check.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { ForgeCommandInput, ForgeCommandResult, ForgeRuntimeContext } from "../../../src/types.ts";
|
|
2
|
+
import type { PinnedEntry } from "./pinned-types.ts";
|
|
3
|
+
/**
|
|
4
|
+
* Default pinned entries for a forge-consuming repository.
|
|
5
|
+
* These are re-added by pinned.init if missing from an existing manifest.
|
|
6
|
+
*/
|
|
7
|
+
export declare const DEFAULT_PINNED_ENTRIES: PinnedEntry[];
|
|
8
|
+
export interface PinnedInitResult {
|
|
9
|
+
command: "pinned.init";
|
|
10
|
+
status: "ok";
|
|
11
|
+
manifestPath: string;
|
|
12
|
+
manifestAction: "created" | "merged" | "unchanged";
|
|
13
|
+
entriesCount: number;
|
|
14
|
+
hookAction: "created" | "updated" | "unchanged";
|
|
15
|
+
gitignoreAction: "created" | "updated" | "unchanged";
|
|
16
|
+
ciWorkflowAction: "created" | "unchanged" | "skipped";
|
|
17
|
+
}
|
|
18
|
+
export declare function runPinnedInit(input: ForgeCommandInput, context: ForgeRuntimeContext): Promise<ForgeCommandResult<PinnedInitResult>>;
|
|
19
|
+
//# sourceMappingURL=pinned-init.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pinned-init.d.ts","sourceRoot":"","sources":["../../../../os/core/handlers/pinned-init.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EACV,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACpB,MAAM,uBAAuB,CAAC;AAG/B,OAAO,KAAK,EAAE,WAAW,EAAkB,MAAM,mBAAmB,CAAC;AAKrE;;;GAGG;AACH,eAAO,MAAM,sBAAsB,EAAE,WAAW,EAgG/C,CAAC;AAkHF,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,aAAa,CAAC;IACvB,MAAM,EAAE,IAAI,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,SAAS,GAAG,QAAQ,GAAG,WAAW,CAAC;IACnD,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,SAAS,GAAG,SAAS,GAAG,WAAW,CAAC;IAChD,eAAe,EAAE,SAAS,GAAG,SAAS,GAAG,WAAW,CAAC;IACrD,gBAAgB,EAAE,SAAS,GAAG,WAAW,GAAG,SAAS,CAAC;CACvD;AAED,wBAAsB,aAAa,CACjC,KAAK,EAAE,iBAAiB,EACxB,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAC,CAyE/C"}
|