@dzhechkov/harness-core 0.8.45 → 0.8.46
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/.dz-manifest.json +48 -28
- package/README.md +52 -6
- package/dist/apply-leg.d.ts +1 -1
- package/dist/apply-leg.d.ts.map +1 -1
- package/dist/apply-leg.js +22 -7
- package/dist/apply-leg.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/dist/pack-inventory.d.ts +13 -0
- package/dist/pack-inventory.d.ts.map +1 -1
- package/dist/pack-inventory.js +22 -1
- package/dist/pack-inventory.js.map +1 -1
- package/dist/round-exec-claim.d.ts +36 -0
- package/dist/round-exec-claim.d.ts.map +1 -0
- package/dist/round-exec-claim.js +17 -0
- package/dist/round-exec-claim.js.map +1 -0
- package/dist/session-retro.d.ts +33 -0
- package/dist/session-retro.d.ts.map +1 -1
- package/dist/session-retro.js +170 -34
- package/dist/session-retro.js.map +1 -1
- package/dist/sign.d.ts +44 -0
- package/dist/sign.d.ts.map +1 -1
- package/dist/sign.js +126 -1
- package/dist/sign.js.map +1 -1
- package/package.json +2 -2
- package/sbom.json +77 -27
- package/src/apply-leg.ts +22 -7
- package/src/index.ts +4 -0
- package/src/pack-inventory.ts +21 -1
- package/src/round-exec-claim.ts +43 -0
- package/src/session-retro.ts +153 -31
- package/src/sign.ts +136 -1
package/dist/session-retro.js
CHANGED
|
@@ -13,9 +13,10 @@
|
|
|
13
13
|
* SAFETY PROPERTY (ADR-001 §3, load-bearing): a rake seen for the FIRST time (effective count < threshold)
|
|
14
14
|
* is taught silently but NOT drilled — no nagging on a one-off. Drills are for recurrent patterns only.
|
|
15
15
|
*/
|
|
16
|
-
import { existsSync, readFileSync, readdirSync, statSync, openSync, readSync, closeSync, writeFileSync, renameSync, unlinkSync, mkdirSync } from 'node:fs';
|
|
16
|
+
import { existsSync, readFileSync, readdirSync, statSync, openSync, readSync, closeSync, writeFileSync, renameSync, unlinkSync, mkdirSync, rmSync } from 'node:fs';
|
|
17
17
|
import { join, basename, dirname } from 'node:path';
|
|
18
18
|
import { homedir } from 'node:os';
|
|
19
|
+
import { createHash } from 'node:crypto';
|
|
19
20
|
import { withProjectLockSync, NamedLockTimeoutError } from './named-lock.js';
|
|
20
21
|
export const RETRO_DOMAIN = 'retro';
|
|
21
22
|
export const DEFAULT_DRILL_THRESHOLD = 2;
|
|
@@ -518,10 +519,52 @@ export function findLatestTranscript(repoRoot) {
|
|
|
518
519
|
// ── Per-turn admission-debt scan (feature narrated-error-must-be-taught, ADR-001 D2/D4) ────────────
|
|
519
520
|
// The Stop hook runs `dz retro --scan-tail` after EVERY assistant turn, so this half is built around
|
|
520
521
|
// one budget: O(new bytes) — a persisted byte offset, no full re-read, no store open, no subprocess.
|
|
521
|
-
// The sentinel `.dz/retro
|
|
522
|
-
// directive; a REAL teach invocation (a TOOL event — prose promises never pay, ADR-001 D4)
|
|
522
|
+
// The sentinel `.dz/retro/<session>/pending.json` is the debt; the recall hook turns it into a
|
|
523
|
+
// next-prompt directive; a REAL teach invocation (a TOOL event — prose promises never pay, ADR-001 D4)
|
|
524
|
+
// clears it.
|
|
525
|
+
/** LEGACY flat names (pre retro-debt-sentinel-per-session): the ONE pair every session in a worktree
|
|
526
|
+
* once shared under `.dz/`. A scan ADOPTS its own transcript's flat files once (FR-4) and never
|
|
527
|
+
* writes them again; a stranger's flat file is never touched. */
|
|
523
528
|
export const RETRO_SCAN_STATE_FILE = 'retro-scan-state.json';
|
|
524
529
|
export const RETRO_PENDING_FILE = 'retro-pending.json';
|
|
530
|
+
// ── Per-session layout (feature retro-debt-sentinel-per-session, FR-1; backlog 58f3c56fbb9d6893) ──
|
|
531
|
+
// Two sessions in one worktree shared the flat pair above, so a Stop scan of EITHER unlinked the
|
|
532
|
+
// other's LIVE debt as "foreign", and the shared bookmark made each session's offset meaningless to
|
|
533
|
+
// the other (foreign transcript ⇒ offset 0 ⇒ a bounded re-scan every turn; MEASURED 22.09 20:23, a
|
|
534
|
+
// second session in this repo). The pair now lives in a directory named after the session.
|
|
535
|
+
export const RETRO_SESSION_DIRNAME = 'retro';
|
|
536
|
+
export const RETRO_SESSION_PENDING_BASENAME = 'pending.json';
|
|
537
|
+
export const RETRO_SESSION_STATE_BASENAME = 'scan-state.json';
|
|
538
|
+
/** A session dir whose scan-state is older than this belongs to a dead session: the next scan of
|
|
539
|
+
* any other session sweeps it (FR-5). A live session that ran no Stop for 7 days loses only a debt
|
|
540
|
+
* the hook would have called stale anyway (SENTINEL_FRESH_MS is 30 min) — accepted risk R2. */
|
|
541
|
+
export const RETRO_SESSION_STALE_MS = 7 * 24 * 3600 * 1000;
|
|
542
|
+
/** At most this many `.dz/retro/*` entries are examined per scan — the sweep's cost bound (NFR-1). */
|
|
543
|
+
const RETRO_SWEEP_MAX_ENTRIES = 64;
|
|
544
|
+
const SAFE_SESSION_ID_RE = /^[A-Za-z0-9._-]{1,128}$/;
|
|
545
|
+
/**
|
|
546
|
+
* The directory name for a session id. PURE. A plain token is used as is; anything else — a
|
|
547
|
+
* path-like string, the empty string, an over-long id, and the two dot names the charset regex
|
|
548
|
+
* alone would let through (`.` ⇒ `<dzDir>/retro`, `..` ⇒ `<dzDir>` itself) — becomes the first
|
|
549
|
+
* 32 hex of its sha256, so a session id can never name a path outside `.dz/retro/` (AC-2).
|
|
550
|
+
* TWIN: the recall hook in `apply-leg.ts` carries a copy (the hook must stay dependency-free);
|
|
551
|
+
* `test/retro-sentinel-per-session.test.ts` pins the two to equal outputs.
|
|
552
|
+
*/
|
|
553
|
+
export function safeSessionDirName(sessionId) {
|
|
554
|
+
if (SAFE_SESSION_ID_RE.test(sessionId) && sessionId !== '.' && sessionId !== '..')
|
|
555
|
+
return sessionId;
|
|
556
|
+
return createHash('sha256').update(sessionId).digest('hex').slice(0, 32);
|
|
557
|
+
}
|
|
558
|
+
/** The session id the SCANNER derives: the transcript basename without `.jsonl`. Claude Code names
|
|
559
|
+
* the transcript after the session id, so this equals the `session_id` the hook payload carries. PURE. */
|
|
560
|
+
export function sessionIdFromTranscript(transcriptPath) {
|
|
561
|
+
return basename(transcriptPath).replace(/\.jsonl$/, '');
|
|
562
|
+
}
|
|
563
|
+
/** Where ONE session's debt and bookmark live: `<dzDir>/retro/<safeId>/{pending,scan-state}.json`. PURE, no fs. */
|
|
564
|
+
export function retroSessionPaths(dzDir, sessionId) {
|
|
565
|
+
const dir = join(dzDir, RETRO_SESSION_DIRNAME, safeSessionDirName(sessionId));
|
|
566
|
+
return { dir, pendingPath: join(dir, RETRO_SESSION_PENDING_BASENAME), statePath: join(dir, RETRO_SESSION_STATE_BASENAME) };
|
|
567
|
+
}
|
|
525
568
|
/** Bound the very FIRST scan of an already-huge transcript; later scans read only the new bytes. */
|
|
526
569
|
const MAX_TAIL_SCAN_BYTES = 8 * 1024 * 1024;
|
|
527
570
|
/** Without a session id to compare, a sentinel older than this is stale (fallback freshness only). */
|
|
@@ -673,55 +716,89 @@ const writeJsonAtomic = (path, value) => {
|
|
|
673
716
|
export function runRetroTailScan(dzDir, transcriptPath, nowIso) {
|
|
674
717
|
if (transcriptPath === null || transcriptPath === '')
|
|
675
718
|
return { status: 'no-transcript', scannedBytes: 0, offset: 0 };
|
|
719
|
+
const sessionId = sessionIdFromTranscript(transcriptPath);
|
|
720
|
+
const ids = { sessionId, pendingPath: retroSessionPaths(dzDir, sessionId).pendingPath };
|
|
676
721
|
try {
|
|
677
722
|
return withProjectLockSync(dirname(dzDir), RETRO_SCAN_LOCK_NAME, () => scanTailUnderLock(dzDir, transcriptPath, nowIso), { timeoutMs: RETRO_SCAN_LOCK_TIMEOUT_MS });
|
|
678
723
|
}
|
|
679
724
|
catch (e) {
|
|
680
725
|
if (e instanceof NamedLockTimeoutError)
|
|
681
|
-
return { status: 'contended', scannedBytes: 0, offset: 0 };
|
|
726
|
+
return { status: 'contended', scannedBytes: 0, offset: 0, ...ids };
|
|
682
727
|
// Compromised lock or any unexpected failure: report nothing, advance nothing (never-block).
|
|
683
|
-
return { status: 'none', scannedBytes: 0, offset: 0 };
|
|
728
|
+
return { status: 'none', scannedBytes: 0, offset: 0, ...ids };
|
|
684
729
|
}
|
|
685
730
|
}
|
|
686
731
|
/** The transaction body — call ONLY under the named lock. Never throws for ordinary fs failures. */
|
|
687
732
|
function scanTailUnderLock(dzDir, transcriptPath, nowIso) {
|
|
733
|
+
// FR-2: every path this scan writes or removes is inside ITS OWN session dir; the only files it
|
|
734
|
+
// ever touches outside are the legacy flat pair, and only to adopt its own (FR-4).
|
|
735
|
+
const sessionId = sessionIdFromTranscript(transcriptPath);
|
|
736
|
+
const { dir, pendingPath, statePath } = retroSessionPaths(dzDir, sessionId);
|
|
737
|
+
const ids = { sessionId, pendingPath };
|
|
688
738
|
try {
|
|
689
|
-
const
|
|
690
|
-
const
|
|
739
|
+
const legacyStatePath = join(dzDir, RETRO_SCAN_STATE_FILE);
|
|
740
|
+
const legacyPendingPath = join(dzDir, RETRO_PENDING_FILE);
|
|
741
|
+
const readOffset = (p) => {
|
|
742
|
+
try {
|
|
743
|
+
const st = JSON.parse(readFileSync(p, 'utf8'));
|
|
744
|
+
if (st.transcript === transcriptPath && typeof st.offset === 'number' && Number.isFinite(st.offset) && st.offset >= 0)
|
|
745
|
+
return Math.floor(st.offset);
|
|
746
|
+
}
|
|
747
|
+
catch { /* absent or unreadable */ }
|
|
748
|
+
return null;
|
|
749
|
+
};
|
|
691
750
|
let offset = 0;
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
try {
|
|
704
|
-
const s = JSON.parse(readFileSync(pendingPath, 'utf8'));
|
|
705
|
-
if (s.transcript === transcriptPath && typeof s.snippet === 'string') {
|
|
706
|
-
prior = { snippet: s.snippet, ...(s.awaiting !== undefined ? { awaiting: s.awaiting } : {}) };
|
|
707
|
-
hadSentinel = true;
|
|
751
|
+
let adoptLegacyState = false;
|
|
752
|
+
const ownOffset = readOffset(statePath);
|
|
753
|
+
if (ownOffset !== null)
|
|
754
|
+
offset = ownOffset;
|
|
755
|
+
else if (!existsSync(statePath)) {
|
|
756
|
+
// FR-4: the flat bookmark is adopted ONCE — only while this session has no bookmark of its own,
|
|
757
|
+
// and only when it names THIS transcript. Another session's stays where it is.
|
|
758
|
+
const legacyOffset = readOffset(legacyStatePath);
|
|
759
|
+
if (legacyOffset !== null) {
|
|
760
|
+
offset = legacyOffset;
|
|
761
|
+
adoptLegacyState = true;
|
|
708
762
|
}
|
|
709
|
-
|
|
710
|
-
|
|
711
|
-
|
|
763
|
+
}
|
|
764
|
+
const readSentinel = (p) => {
|
|
765
|
+
try {
|
|
766
|
+
const s = JSON.parse(readFileSync(p, 'utf8'));
|
|
767
|
+
if (s.transcript === transcriptPath && typeof s.snippet === 'string') {
|
|
768
|
+
return { prior: { snippet: s.snippet, ...(s.awaiting !== undefined ? { awaiting: s.awaiting } : {}) }, present: true };
|
|
712
769
|
}
|
|
713
|
-
|
|
770
|
+
return { prior: null, present: true };
|
|
771
|
+
}
|
|
772
|
+
catch {
|
|
773
|
+
return { prior: null, present: false };
|
|
774
|
+
}
|
|
775
|
+
};
|
|
776
|
+
// Prior debt: this session's own sentinel. One naming ANOTHER transcript can only mean the
|
|
777
|
+
// transcript was moved or renamed under the same basename — it is IGNORED and overwritten (or
|
|
778
|
+
// removed below when nothing is armed), never deleted as "foreign": the pre-feature branch that
|
|
779
|
+
// unlinked a sentinel of another transcript deleted the NEIGHBOUR session's live debt (FR-2).
|
|
780
|
+
const own = readSentinel(pendingPath);
|
|
781
|
+
let prior = own.prior;
|
|
782
|
+
const staleOwn = own.present && own.prior === null;
|
|
783
|
+
let adoptLegacyPending = false;
|
|
784
|
+
if (!own.present) {
|
|
785
|
+
// FR-4: the flat sentinel is adopted only when it is THIS transcript's and this session has no
|
|
786
|
+
// per-session copy yet; a stranger's, or a nobody's (no transcript field), is left untouched.
|
|
787
|
+
const legacy = readSentinel(legacyPendingPath);
|
|
788
|
+
if (legacy.prior !== null) {
|
|
789
|
+
prior = legacy.prior;
|
|
790
|
+
adoptLegacyPending = true;
|
|
714
791
|
}
|
|
715
792
|
}
|
|
716
|
-
|
|
793
|
+
const hadSentinel = prior !== null;
|
|
717
794
|
let size = 0;
|
|
718
795
|
try {
|
|
719
796
|
size = statSync(transcriptPath).size;
|
|
720
797
|
}
|
|
721
798
|
catch {
|
|
722
799
|
return prior !== null
|
|
723
|
-
? { status: 'pending', snippet: prior.snippet, scannedBytes: 0, offset }
|
|
724
|
-
: { status: 'none', scannedBytes: 0, offset };
|
|
800
|
+
? { status: 'pending', snippet: prior.snippet, scannedBytes: 0, offset, ...ids }
|
|
801
|
+
: { status: 'none', scannedBytes: 0, offset, ...ids };
|
|
725
802
|
}
|
|
726
803
|
if (size < offset)
|
|
727
804
|
offset = 0; // truncated/rotated transcript
|
|
@@ -760,12 +837,12 @@ function scanTailUnderLock(dzDir, transcriptPath, nowIso) {
|
|
|
760
837
|
}
|
|
761
838
|
const next = foldAdmissionDebt(events, prior);
|
|
762
839
|
const newOffset = offset + consumed;
|
|
763
|
-
mkdirSync(
|
|
840
|
+
mkdirSync(dir, { recursive: true });
|
|
764
841
|
let outcome;
|
|
765
842
|
if (next !== null) {
|
|
766
843
|
const sentinel = {
|
|
767
844
|
schema: 1,
|
|
768
|
-
sessionId
|
|
845
|
+
sessionId,
|
|
769
846
|
transcript: transcriptPath,
|
|
770
847
|
snippet: next.snippet.replace(/\s+/g, ' ').trim().slice(0, 200),
|
|
771
848
|
ts: nowIso ?? new Date().toISOString(),
|
|
@@ -791,14 +868,68 @@ function scanTailUnderLock(dzDir, transcriptPath, nowIso) {
|
|
|
791
868
|
outcome = { status: 'cleared', scannedBytes: consumed, offset: newOffset };
|
|
792
869
|
}
|
|
793
870
|
else {
|
|
871
|
+
// Our own stale sentinel (moved transcript, see above) with nothing armed: removed, so the hook
|
|
872
|
+
// never confronts a debt this transcript no longer carries. Same ENOENT-only tolerance.
|
|
873
|
+
if (staleOwn) {
|
|
874
|
+
try {
|
|
875
|
+
unlinkSync(pendingPath);
|
|
876
|
+
}
|
|
877
|
+
catch (e) {
|
|
878
|
+
if (e.code !== 'ENOENT')
|
|
879
|
+
throw e;
|
|
880
|
+
}
|
|
881
|
+
}
|
|
794
882
|
outcome = { status: 'none', scannedBytes: consumed, offset: newOffset };
|
|
795
883
|
}
|
|
796
884
|
// Commit the debt BEFORE its offset: an interruption must leave these bytes replayable.
|
|
797
885
|
writeJsonAtomic(statePath, { schema: 1, transcript: transcriptPath, offset: newOffset });
|
|
798
|
-
|
|
886
|
+
// FR-4: the adopted flat files go only AFTER the per-session copies are committed — a failure
|
|
887
|
+
// above leaves them in place for the next scan to adopt again. Best-effort: leftover debris
|
|
888
|
+
// is harmless (a present per-session file blocks re-adoption), a thrown error here would
|
|
889
|
+
// misreport an already-committed scan.
|
|
890
|
+
if (adoptLegacyPending) {
|
|
891
|
+
try {
|
|
892
|
+
unlinkSync(legacyPendingPath);
|
|
893
|
+
}
|
|
894
|
+
catch { /* debris */ }
|
|
895
|
+
}
|
|
896
|
+
if (adoptLegacyState) {
|
|
897
|
+
try {
|
|
898
|
+
unlinkSync(legacyStatePath);
|
|
899
|
+
}
|
|
900
|
+
catch { /* debris */ }
|
|
901
|
+
}
|
|
902
|
+
sweepStaleSessionDirs(dzDir, dir, nowIso === undefined ? Date.now() : Date.parse(nowIso));
|
|
903
|
+
return { ...outcome, ...ids };
|
|
799
904
|
}
|
|
800
905
|
catch {
|
|
801
|
-
return { status: 'none', scannedBytes: 0, offset: 0 };
|
|
906
|
+
return { status: 'none', scannedBytes: 0, offset: 0, ...ids };
|
|
907
|
+
}
|
|
908
|
+
}
|
|
909
|
+
/**
|
|
910
|
+
* FR-5: remove dead sessions' dirs — `<dzDir>/retro/<x>/` whose `scan-state.json` mtime is older
|
|
911
|
+
* than {@link RETRO_SESSION_STALE_MS}. The scanning session's own dir is excluded; a dir with no
|
|
912
|
+
* readable scan-state cannot be dated and is left alone; every error is swallowed; at most
|
|
913
|
+
* {@link RETRO_SWEEP_MAX_ENTRIES} entries are examined (one readdir + ≤64 stats — NFR-1).
|
|
914
|
+
*/
|
|
915
|
+
function sweepStaleSessionDirs(dzDir, ownDir, nowMs) {
|
|
916
|
+
let names;
|
|
917
|
+
try {
|
|
918
|
+
names = readdirSync(join(dzDir, RETRO_SESSION_DIRNAME)).slice(0, RETRO_SWEEP_MAX_ENTRIES);
|
|
919
|
+
}
|
|
920
|
+
catch {
|
|
921
|
+
return;
|
|
922
|
+
}
|
|
923
|
+
for (const name of names) {
|
|
924
|
+
const d = join(dzDir, RETRO_SESSION_DIRNAME, name);
|
|
925
|
+
if (d === ownDir)
|
|
926
|
+
continue;
|
|
927
|
+
try {
|
|
928
|
+
const age = nowMs - statSync(join(d, RETRO_SESSION_STATE_BASENAME)).mtimeMs;
|
|
929
|
+
if (age > RETRO_SESSION_STALE_MS)
|
|
930
|
+
rmSync(d, { recursive: true, force: true });
|
|
931
|
+
}
|
|
932
|
+
catch { /* undatable or vanished: leave it */ }
|
|
802
933
|
}
|
|
803
934
|
}
|
|
804
935
|
/**
|
|
@@ -813,6 +944,11 @@ export const __scanTailUnderLockForTest = scanTailUnderLock;
|
|
|
813
944
|
export function retroSentinelIsFresh(sentinel, ctx) {
|
|
814
945
|
if (typeof sentinel.snippet !== 'string' || sentinel.snippet === '')
|
|
815
946
|
return false;
|
|
947
|
+
// AM-1 (retro-debt-sentinel-per-session): an EMPTY session id carries no identity — a sentinel that
|
|
948
|
+
// names no session never matches anyone, and an empty ctx id is the same as none (the hook side
|
|
949
|
+
// returns '' before any fs call for it; this is the core half of the same rule).
|
|
950
|
+
if (sentinel.sessionId === '')
|
|
951
|
+
return false;
|
|
816
952
|
if (typeof ctx.sessionId === 'string' && ctx.sessionId !== '')
|
|
817
953
|
return sentinel.sessionId === ctx.sessionId;
|
|
818
954
|
if (typeof ctx.transcriptPath === 'string' && ctx.transcriptPath !== '')
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-retro.js","sourceRoot":"","sources":["../src/session-retro.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"session-retro.js","sourceRoot":"","sources":["../src/session-retro.ts"],"names":[],"mappings":"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"}
|
package/dist/sign.d.ts
CHANGED
|
@@ -36,6 +36,13 @@ export interface VerifyFailure {
|
|
|
36
36
|
export interface VerifyResult {
|
|
37
37
|
readonly ok: boolean;
|
|
38
38
|
readonly failures: readonly VerifyFailure[];
|
|
39
|
+
/**
|
|
40
|
+
* Paths that failed the sweep with {@link OUTSIDE_FILES_REASON}: present in the DIRECTORY, not in
|
|
41
|
+
* the manifest, and outside `package.json.files` — the packer would never ship them. They are still
|
|
42
|
+
* failures (AM-1: nothing is skipped); this list only lets a caller say how many of the failures
|
|
43
|
+
* describe the directory rather than the pack. Absent when there are none.
|
|
44
|
+
*/
|
|
45
|
+
readonly outsideFiles?: readonly string[];
|
|
39
46
|
}
|
|
40
47
|
/** CycloneDX 1.5 JSON for current output. Canonical JSON digests are always explicitly labelled. */
|
|
41
48
|
export declare function buildSbom(manifest: Manifest): Sbom;
|
|
@@ -72,6 +79,43 @@ export declare function listPackFiles(root: string): string[];
|
|
|
72
79
|
* sees MORE than this (symlinks/specials outside node_modules), so a smuggled entry fails verification.
|
|
73
80
|
*/
|
|
74
81
|
export declare function listSignablePackFiles(root: string): string[];
|
|
82
|
+
/**
|
|
83
|
+
* The wording for a swept path that `package.json.files` would keep OUT of the tarball (feature
|
|
84
|
+
* verify-pack-sweep-respects-files, AM-1). MEASURED 2026-09-20 (backlog 338a3b59c878430c): right after
|
|
85
|
+
* `dz sign`, `dz verify-pack` over harness-core's directory named `coverage/coverage-final.json` and
|
|
86
|
+
* `CHANGELOG.md` as «present in the pack but not signed», while `npm pack --dry-run` shipped 922 files,
|
|
87
|
+
* ZERO of them coverage and no CHANGELOG — `files` limits the tarball to six entries. The sweep walks the
|
|
88
|
+
* DIRECTORY (by decision — see `verifyManifest`), so the reason must say so instead of saying PACK.
|
|
89
|
+
*/
|
|
90
|
+
export declare const OUTSIDE_FILES_REASON = "present in the directory but not signed \u2014 outside package.json.files, the packer would not ship it";
|
|
91
|
+
/**
|
|
92
|
+
* npm's always-included ROOT files, MEASURED from npm's own packer rather than its docs
|
|
93
|
+
* (`/usr/lib/node_modules/npm/node_modules/npm-packlist/lib/index.js:283-286`, fix round 1, 2026-09-25):
|
|
94
|
+
* `readme{,.*[^~$]}`, `copying{,.*[^~$]}`, `license{,.*[^~$]}`, `licence{,.*[^~$]}` — case-insensitive.
|
|
95
|
+
* That is the BARE name or `name.<ext>` where the extension does not end in `~` or `$` (editor backups and
|
|
96
|
+
* lock-style droppings). So `README.md`, `readme.txt`, `COPYING`, `LICENCE.md` are inside; `README-old`
|
|
97
|
+
* (no dot), `LICENSE.md~`, `README.` (empty extension) are NOT. Plus `package.json`, which npm always ships.
|
|
98
|
+
* NOT `CHANGELOG*`: MEASURED 2026-09-20, pnpm pack of harness-core omitted `CHANGELOG.md` while `files` did
|
|
99
|
+
* not name it — the npm docs list CHANGES/CHANGELOG/HISTORY, the packer does not; we follow the packer.
|
|
100
|
+
*/
|
|
101
|
+
export declare const NPM_ALWAYS_INCLUDED: RegExp;
|
|
102
|
+
/** What `package.json` says the tarball contains: normalised `files` entries plus `main` and the bin targets. */
|
|
103
|
+
export interface PackAllowlist {
|
|
104
|
+
readonly entries: readonly string[];
|
|
105
|
+
readonly main: string | null;
|
|
106
|
+
readonly bins: readonly string[];
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* `null` unless `pkg.files` is a non-empty array of strings — and `null` means «no allowlist, behaviour
|
|
110
|
+
* unchanged», never «everything is outside». Pure: the caller reads and parses `package.json`.
|
|
111
|
+
*/
|
|
112
|
+
export declare function packAllowlistFromPackageJson(pkg: unknown): PackAllowlist | null;
|
|
113
|
+
/**
|
|
114
|
+
* Would the packer ship `rel`? True when `rel` equals an entry, sits under an entry directory, matches a
|
|
115
|
+
* `*` glob entry, equals `main` or a bin target, or is a ROOT-level always-included file. `docs/README.md`
|
|
116
|
+
* is not root-level and is therefore outside unless `docs` is an entry.
|
|
117
|
+
*/
|
|
118
|
+
export declare function isInsidePackAllowlist(rel: string, allow: PackAllowlist): boolean;
|
|
75
119
|
/**
|
|
76
120
|
* The bytes that get signed (FR-7). Sorted by path, LF endings, no trailing whitespace, and no
|
|
77
121
|
* dependence on JSON key order — a signature must not depend on how a serialiser felt that day.
|
package/dist/sign.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sign.d.ts","sourceRoot":"","sources":["../src/sign.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAMH,eAAO,MAAM,aAAa,sBAAsB,CAAC;AACjD,eAAO,MAAM,SAAS,cAAc,CAAC;AACrC,kGAAkG;AAClG,eAAO,MAAM,gBAAgB,IAAI,CAAC;AAElC,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,SAAS,aAAa,EAAE,CAAC;CAC1C;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,4EAA4E;IAC5E,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,QAAQ,EAAE,SAAS,aAAa,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"sign.d.ts","sourceRoot":"","sources":["../src/sign.ts"],"names":[],"mappings":"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"}
|