@mmnto/totem 1.93.0 → 1.95.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/README.md +25 -0
- package/dist/artifacts/panel.d.ts +12 -12
- package/dist/artifacts/verdict.d.ts +14 -14
- package/dist/artifacts.d.ts +23 -0
- package/dist/artifacts.d.ts.map +1 -0
- package/dist/artifacts.js +24 -0
- package/dist/artifacts.js.map +1 -0
- package/dist/config.d.ts +21 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +21 -0
- package/dist/config.js.map +1 -0
- package/dist/index.d.ts +17 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +17 -0
- package/dist/index.js.map +1 -1
- package/dist/ingest/file-resolver.d.ts.map +1 -1
- package/dist/ingest/file-resolver.js +26 -1
- package/dist/ingest/file-resolver.js.map +1 -1
- package/dist/ingest/file-resolver.test.js +50 -1
- package/dist/ingest/file-resolver.test.js.map +1 -1
- package/dist/ingest/pipeline.d.ts.map +1 -1
- package/dist/ingest/pipeline.js +14 -2
- package/dist/ingest/pipeline.js.map +1 -1
- package/dist/lessons.d.ts +31 -0
- package/dist/lessons.d.ts.map +1 -0
- package/dist/lessons.js +27 -0
- package/dist/lessons.js.map +1 -0
- package/dist/packaged-exports.test.d.ts +22 -0
- package/dist/packaged-exports.test.d.ts.map +1 -0
- package/dist/packaged-exports.test.js +242 -0
- package/dist/packaged-exports.test.js.map +1 -0
- package/dist/packs.d.ts +23 -0
- package/dist/packs.d.ts.map +1 -0
- package/dist/packs.js +23 -0
- package/dist/packs.js.map +1 -0
- package/dist/recurrence-stats.d.ts +10 -10
- package/dist/retrospect.d.ts +42 -42
- package/package.json +17 -1
|
@@ -1,6 +1,7 @@
|
|
|
1
|
+
import * as fs from 'node:fs';
|
|
1
2
|
import * as crossSpawn from 'cross-spawn';
|
|
2
3
|
import { globSync } from 'glob';
|
|
3
|
-
import { afterEach, describe, expect, it, vi } from 'vitest';
|
|
4
|
+
import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest';
|
|
4
5
|
import { fail, ok } from '../test-utils.js';
|
|
5
6
|
import { getChangedFiles, getHeadSha, resolveFiles } from './file-resolver.js';
|
|
6
7
|
vi.mock('cross-spawn', () => ({
|
|
@@ -9,9 +10,22 @@ vi.mock('cross-spawn', () => ({
|
|
|
9
10
|
vi.mock('glob', () => ({
|
|
10
11
|
globSync: vi.fn(() => []),
|
|
11
12
|
}));
|
|
13
|
+
vi.mock('node:fs', async (importOriginal) => {
|
|
14
|
+
const actual = await importOriginal();
|
|
15
|
+
return { ...actual, lstatSync: vi.fn() };
|
|
16
|
+
});
|
|
12
17
|
afterEach(() => {
|
|
13
18
|
vi.restoreAllMocks();
|
|
14
19
|
});
|
|
20
|
+
beforeEach(() => {
|
|
21
|
+
// Default the fs mock to a normal (non-symlink) stat so tests that don't pin
|
|
22
|
+
// lstat exercise the real non-symlink path — not the error fallback a bare
|
|
23
|
+
// vi.fn() (returning undefined → throws in the guard) would silently route
|
|
24
|
+
// them through.
|
|
25
|
+
vi.mocked(fs.lstatSync).mockReturnValue({
|
|
26
|
+
isSymbolicLink: () => false,
|
|
27
|
+
});
|
|
28
|
+
});
|
|
15
29
|
describe('getHeadSha', () => {
|
|
16
30
|
it('returns trimmed SHA on success', () => {
|
|
17
31
|
vi.mocked(crossSpawn.sync).mockReturnValue(ok('abc123def456\n'));
|
|
@@ -120,4 +134,39 @@ describe('resolveFiles — submodule support', () => {
|
|
|
120
134
|
expect(result[0].relativePath).toBe('src/a.ts');
|
|
121
135
|
});
|
|
122
136
|
});
|
|
137
|
+
describe('resolveFiles — symlink guard (mmnto-ai/totem#2354)', () => {
|
|
138
|
+
it('skips a symlink under an ingest target (never read/indexed) and warns', () => {
|
|
139
|
+
// git ls-files reports the symlink path (mode 120000 is a valid entry), so
|
|
140
|
+
// the git-tracked-set gate does NOT filter it — the guard must.
|
|
141
|
+
vi.mocked(crossSpawn.sync).mockImplementation((() => ok('.totem/lessons/evil.md\0')));
|
|
142
|
+
vi.mocked(globSync).mockReturnValue(['.totem/lessons/evil.md']);
|
|
143
|
+
vi.mocked(fs.lstatSync).mockReturnValue({
|
|
144
|
+
isSymbolicLink: () => true,
|
|
145
|
+
});
|
|
146
|
+
const warn = vi.fn();
|
|
147
|
+
const result = resolveFiles([{ glob: '.totem/lessons/*.md', type: 'spec', strategy: 'markdown-heading' }], '/project', undefined, warn);
|
|
148
|
+
expect(result).toHaveLength(0);
|
|
149
|
+
expect(warn).toHaveBeenCalledWith(expect.stringContaining('symlink'));
|
|
150
|
+
});
|
|
151
|
+
it('indexes a regular (non-symlink) file under the same target', () => {
|
|
152
|
+
vi.mocked(crossSpawn.sync).mockImplementation((() => ok('.totem/lessons/good.md\0')));
|
|
153
|
+
vi.mocked(globSync).mockReturnValue(['.totem/lessons/good.md']);
|
|
154
|
+
vi.mocked(fs.lstatSync).mockReturnValue({
|
|
155
|
+
isSymbolicLink: () => false,
|
|
156
|
+
});
|
|
157
|
+
const result = resolveFiles([{ glob: '.totem/lessons/*.md', type: 'spec', strategy: 'markdown-heading' }], '/project');
|
|
158
|
+
expect(result).toHaveLength(1);
|
|
159
|
+
expect(result[0].relativePath).toBe('.totem/lessons/good.md');
|
|
160
|
+
});
|
|
161
|
+
it('degrades a raced/ENOENT lstat to non-symlink (still resolves the match)', () => {
|
|
162
|
+
vi.mocked(crossSpawn.sync).mockImplementation((() => ok('.totem/lessons/raced.md\0')));
|
|
163
|
+
vi.mocked(globSync).mockReturnValue(['.totem/lessons/raced.md']);
|
|
164
|
+
vi.mocked(fs.lstatSync).mockImplementation(() => {
|
|
165
|
+
throw Object.assign(new Error('ENOENT: no such file'), { code: 'ENOENT' });
|
|
166
|
+
});
|
|
167
|
+
const result = resolveFiles([{ glob: '.totem/lessons/*.md', type: 'spec', strategy: 'markdown-heading' }], '/project');
|
|
168
|
+
expect(result).toHaveLength(1);
|
|
169
|
+
expect(result[0].relativePath).toBe('.totem/lessons/raced.md');
|
|
170
|
+
});
|
|
171
|
+
});
|
|
123
172
|
//# sourceMappingURL=file-resolver.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-resolver.test.js","sourceRoot":"","sources":["../../src/ingest/file-resolver.test.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,UAAU,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAChC,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"file-resolver.test.js","sourceRoot":"","sources":["../../src/ingest/file-resolver.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipeline.d.ts","sourceRoot":"","sources":["../../src/ingest/pipeline.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"pipeline.d.ts","sourceRoot":"","sources":["../../src/ingest/pipeline.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAQvD,OAAO,KAAK,EAAS,WAAW,EAAa,MAAM,aAAa,CAAC;AAyCjE;;;GAGG;AACH;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,IAAI,CAuB3E;AAmCD;;;;;;;;GAQG;AACH,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,+FAA+F;IAC/F,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,gBAAgB,EAAE,CAAC;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,2EAA2E;AAC3E,eAAO,MAAM,qBAAqB,8BAA8B,CAAC;AAEjE;;;;;;;;;;;;GAYG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE;IACxC,SAAS,EAAE,gBAAgB,EAAE,CAAC;IAC9B,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACnC,SAAS,EAAE,IAAI,CAAC;CACjB,GAAG,aAAa,CAUhB;AAED,wBAAsB,OAAO,CAC3B,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC;IACT,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;CACvB,CAAC,CAUD;AAYD;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAChC,eAAe,EAAE,MAAM,EAAE,EACzB,iBAAiB,EAAE,MAAM,EAAE,GAC1B,MAAM,EAAE,CAGV"}
|
package/dist/ingest/pipeline.js
CHANGED
|
@@ -7,6 +7,7 @@ import { TotemDatabaseError } from '../errors.js';
|
|
|
7
7
|
import { withLock } from '../lock.js';
|
|
8
8
|
import { sanitizeForIngestion } from '../sanitize.js';
|
|
9
9
|
import { LanceStore } from '../store/lance-store.js';
|
|
10
|
+
import { sanitizeForTerminal } from '../terminal-sanitize.js';
|
|
10
11
|
import { getChangedFiles, getHeadSha, resolveFiles } from './file-resolver.js';
|
|
11
12
|
const EMBED_BATCH_SIZE = 100;
|
|
12
13
|
const SYNC_STATE_FILE = 'cache/sync-state.json';
|
|
@@ -238,13 +239,24 @@ async function runSyncInner(config, options) {
|
|
|
238
239
|
buffer = [];
|
|
239
240
|
}
|
|
240
241
|
for (const file of filesToProcess) {
|
|
241
|
-
|
|
242
|
+
const safeRel = sanitizeForTerminal(file.relativePath);
|
|
243
|
+
log(`Chunking ${safeRel}...`);
|
|
242
244
|
let content;
|
|
243
245
|
try {
|
|
246
|
+
// Symlink guard at the READ site (mmnto-ai/totem#2354, #2356 review):
|
|
247
|
+
// resolveFiles skips symlinks at discovery, but this read happens later,
|
|
248
|
+
// so a path swapped to a symlink after resolution would still be followed
|
|
249
|
+
// by readFileSync. Re-check here and skip — closes the discovery→read
|
|
250
|
+
// TOCTOU gap.
|
|
251
|
+
if (fs.lstatSync(file.absolutePath).isSymbolicLink()) {
|
|
252
|
+
log(` Skipping symlink (not indexed): ${safeRel}`);
|
|
253
|
+
continue;
|
|
254
|
+
}
|
|
244
255
|
content = fs.readFileSync(file.absolutePath, 'utf-8');
|
|
256
|
+
// totem-context: intentional skip — a per-file read failure (vanished/raced file, permission, decode) logs and skips just that file so sync continues over the rest; aborting the whole sync over one unreadable file would be the drift, not the skip.
|
|
245
257
|
}
|
|
246
258
|
catch (err) {
|
|
247
|
-
log(` Skipping (read error: ${err instanceof Error ? err.message : String(err)}): ${
|
|
259
|
+
log(` Skipping (read error: ${sanitizeForTerminal(err instanceof Error ? err.message : String(err))}): ${safeRel}`);
|
|
248
260
|
continue;
|
|
249
261
|
}
|
|
250
262
|
const chunker = createChunker(file.target.strategy);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipeline.js","sourceRoot":"","sources":["../../src/ingest/pipeline.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"pipeline.js","sourceRoot":"","sources":["../../src/ingest/pipeline.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `@mmnto/totem/lessons` — supported lesson read/write entry point.
|
|
3
|
+
*
|
|
4
|
+
* Curated, semver-tracked re-export of the bounded lesson-authoring surface:
|
|
5
|
+
* directory-based lesson I/O, ADR-070 frontmatter parse/build, the lesson
|
|
6
|
+
* role + frontmatter schema contracts, the role-applicability filter, and the
|
|
7
|
+
* retirement ledger. `ParsedLesson` is included so `readAllLessons`' return
|
|
8
|
+
* type is nameable by consumers.
|
|
9
|
+
*
|
|
10
|
+
* Deliberately bounded: this is the read/write + frontmatter + role/schema
|
|
11
|
+
* surface, NOT the rule compiler. The frozen legacy compiler
|
|
12
|
+
* (`compileLesson`, `compiler.js`) is not exposed as a new public contract
|
|
13
|
+
* here — see mmnto-ai/totem#2336. Lesson formatting/linting helpers
|
|
14
|
+
* (`lesson-format`, `lesson-linter`) also stay off this surface to keep the
|
|
15
|
+
* promise small.
|
|
16
|
+
*
|
|
17
|
+
* Every name here is also re-exported from the legacy root barrel (`.`).
|
|
18
|
+
* Additive per mmnto-ai/totem#2336 (ADR-084 / Proposal 294). The root barrel
|
|
19
|
+
* is unchanged; nothing is removed from it in this cut.
|
|
20
|
+
*/
|
|
21
|
+
export { lessonFileName, readAllLessons, writeLessonFile, writeLessonFileAsync, } from './lesson-io.js';
|
|
22
|
+
export type { ParsedLesson } from './drift-detector.js';
|
|
23
|
+
export type { FrontmatterParseResult } from './lesson-frontmatter.js';
|
|
24
|
+
export { buildFrontmatterFromLegacy, extractFrontmatter } from './lesson-frontmatter.js';
|
|
25
|
+
export type { LessonFrontmatter, LessonRole } from './types.js';
|
|
26
|
+
export { LessonFrontmatterSchema, LessonRoleSchema } from './types.js';
|
|
27
|
+
export type { LessonWithAppliesTo } from './lesson-role-filter.js';
|
|
28
|
+
export { filterLessonsByRole } from './lesson-role-filter.js';
|
|
29
|
+
export type { RetiredLesson } from './retired-lessons.js';
|
|
30
|
+
export { isRetiredHeading, readRetiredLessons, RETIRED_LESSONS_FILE, retireLesson, writeRetiredLessons, } from './retired-lessons.js';
|
|
31
|
+
//# sourceMappingURL=lessons.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lessons.d.ts","sourceRoot":"","sources":["../src/lessons.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAGH,OAAO,EACL,cAAc,EACd,cAAc,EACd,eAAe,EACf,oBAAoB,GACrB,MAAM,gBAAgB,CAAC;AASxB,YAAY,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAGxD,YAAY,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACtE,OAAO,EAAE,0BAA0B,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAGzF,YAAY,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAChE,OAAO,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAGvE,YAAY,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAG9D,YAAY,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,oBAAoB,EACpB,YAAY,EACZ,mBAAmB,GACpB,MAAM,sBAAsB,CAAC"}
|
package/dist/lessons.js
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `@mmnto/totem/lessons` — supported lesson read/write entry point.
|
|
3
|
+
*
|
|
4
|
+
* Curated, semver-tracked re-export of the bounded lesson-authoring surface:
|
|
5
|
+
* directory-based lesson I/O, ADR-070 frontmatter parse/build, the lesson
|
|
6
|
+
* role + frontmatter schema contracts, the role-applicability filter, and the
|
|
7
|
+
* retirement ledger. `ParsedLesson` is included so `readAllLessons`' return
|
|
8
|
+
* type is nameable by consumers.
|
|
9
|
+
*
|
|
10
|
+
* Deliberately bounded: this is the read/write + frontmatter + role/schema
|
|
11
|
+
* surface, NOT the rule compiler. The frozen legacy compiler
|
|
12
|
+
* (`compileLesson`, `compiler.js`) is not exposed as a new public contract
|
|
13
|
+
* here — see mmnto-ai/totem#2336. Lesson formatting/linting helpers
|
|
14
|
+
* (`lesson-format`, `lesson-linter`) also stay off this surface to keep the
|
|
15
|
+
* promise small.
|
|
16
|
+
*
|
|
17
|
+
* Every name here is also re-exported from the legacy root barrel (`.`).
|
|
18
|
+
* Additive per mmnto-ai/totem#2336 (ADR-084 / Proposal 294). The root barrel
|
|
19
|
+
* is unchanged; nothing is removed from it in this cut.
|
|
20
|
+
*/
|
|
21
|
+
// Directory-based lesson I/O.
|
|
22
|
+
export { lessonFileName, readAllLessons, writeLessonFile, writeLessonFileAsync, } from './lesson-io.js';
|
|
23
|
+
export { buildFrontmatterFromLegacy, extractFrontmatter } from './lesson-frontmatter.js';
|
|
24
|
+
export { LessonFrontmatterSchema, LessonRoleSchema } from './types.js';
|
|
25
|
+
export { filterLessonsByRole } from './lesson-role-filter.js';
|
|
26
|
+
export { isRetiredHeading, readRetiredLessons, RETIRED_LESSONS_FILE, retireLesson, writeRetiredLessons, } from './retired-lessons.js';
|
|
27
|
+
//# sourceMappingURL=lessons.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lessons.js","sourceRoot":"","sources":["../src/lessons.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,8BAA8B;AAC9B,OAAO,EACL,cAAc,EACd,cAAc,EACd,eAAe,EACf,oBAAoB,GACrB,MAAM,gBAAgB,CAAC;AAaxB,OAAO,EAAE,0BAA0B,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAIzF,OAAO,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAIvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAI9D,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,oBAAoB,EACpB,YAAY,EACZ,mBAAmB,GACpB,MAAM,sBAAsB,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Packed-tarball supported-subpath contract (mmnto-ai/totem#2336).
|
|
3
|
+
*
|
|
4
|
+
* These tests exercise the PUBLISHED package shape, not the workspace source
|
|
5
|
+
* graph: they `pnpm pack` the core package, extract the tarball into an
|
|
6
|
+
* isolated `node_modules/@mmnto/totem` sandbox, and then resolve every
|
|
7
|
+
* supported subpath (`./config`, `./lessons`, `./artifacts`, `./packs`)
|
|
8
|
+
* through the exports map — as Node ESM at runtime AND as TypeScript type
|
|
9
|
+
* resolution — plus an ADR-097 synchronous-CJS `register.cjs` pack proving
|
|
10
|
+
* registration works through that published shape.
|
|
11
|
+
*
|
|
12
|
+
* The sandbox lives under core's own `node_modules/` for two reasons: it is
|
|
13
|
+
* git- and prettier-ignored there, and the extracted package's transitive
|
|
14
|
+
* deps (`zod`, `remark-*`, `semver`, …) resolve via core's `node_modules`
|
|
15
|
+
* ancestor without a network install.
|
|
16
|
+
*
|
|
17
|
+
* Windows-CI note: no test here spawns real `git`; the only child processes
|
|
18
|
+
* are `tsc` (core build), `pnpm pack`, `tar`, and `node`/`tsc` over the
|
|
19
|
+
* sandbox — none touch a git seam.
|
|
20
|
+
*/
|
|
21
|
+
export {};
|
|
22
|
+
//# sourceMappingURL=packaged-exports.test.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"packaged-exports.test.d.ts","sourceRoot":"","sources":["../src/packaged-exports.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG"}
|
|
@@ -0,0 +1,242 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Packed-tarball supported-subpath contract (mmnto-ai/totem#2336).
|
|
3
|
+
*
|
|
4
|
+
* These tests exercise the PUBLISHED package shape, not the workspace source
|
|
5
|
+
* graph: they `pnpm pack` the core package, extract the tarball into an
|
|
6
|
+
* isolated `node_modules/@mmnto/totem` sandbox, and then resolve every
|
|
7
|
+
* supported subpath (`./config`, `./lessons`, `./artifacts`, `./packs`)
|
|
8
|
+
* through the exports map — as Node ESM at runtime AND as TypeScript type
|
|
9
|
+
* resolution — plus an ADR-097 synchronous-CJS `register.cjs` pack proving
|
|
10
|
+
* registration works through that published shape.
|
|
11
|
+
*
|
|
12
|
+
* The sandbox lives under core's own `node_modules/` for two reasons: it is
|
|
13
|
+
* git- and prettier-ignored there, and the extracted package's transitive
|
|
14
|
+
* deps (`zod`, `remark-*`, `semver`, …) resolve via core's `node_modules`
|
|
15
|
+
* ancestor without a network install.
|
|
16
|
+
*
|
|
17
|
+
* Windows-CI note: no test here spawns real `git`; the only child processes
|
|
18
|
+
* are `tsc` (core build), `pnpm pack`, `tar`, and `node`/`tsc` over the
|
|
19
|
+
* sandbox — none touch a git seam.
|
|
20
|
+
*/
|
|
21
|
+
import * as fs from 'node:fs';
|
|
22
|
+
import { createRequire } from 'node:module';
|
|
23
|
+
import * as path from 'node:path';
|
|
24
|
+
import { fileURLToPath } from 'node:url';
|
|
25
|
+
import { sync as spawnSync } from 'cross-spawn';
|
|
26
|
+
import { afterAll, beforeAll, describe, expect, it } from 'vitest';
|
|
27
|
+
import { VERDICT_ARTIFACT_SCHEMA_VERSION } from './artifacts.js';
|
|
28
|
+
const require = createRequire(import.meta.url);
|
|
29
|
+
const HERE = path.dirname(fileURLToPath(import.meta.url));
|
|
30
|
+
const CORE_ROOT = path.resolve(HERE, '..');
|
|
31
|
+
const INTEGRATION_TIMEOUT_MS = 180_000;
|
|
32
|
+
/** The supported (curated, semver-tracked) subpaths minted by #2336. */
|
|
33
|
+
const SUPPORTED_SUBPATHS = ['./config', './lessons', './artifacts', './packs'];
|
|
34
|
+
/** Absolute path to the workspace `tsc` (typescript is a core dependency). */
|
|
35
|
+
const TSC_BIN = require.resolve('typescript/bin/tsc');
|
|
36
|
+
let sandbox = '';
|
|
37
|
+
let installedPkgDir = '';
|
|
38
|
+
/** Run a child process, failing loud (never fail-open) with captured output. */
|
|
39
|
+
function run(cmd, args, opts) {
|
|
40
|
+
// cross-spawn resolves win32 `.cmd` shims (e.g. `pnpm`) and binaries under
|
|
41
|
+
// paths with spaces WITHOUT a shell, so both platforms spawn the same argv
|
|
42
|
+
// array — no cmd.exe, no manual quoting (repo safe-exec convention). The
|
|
43
|
+
// child-level `timeout` is the ONLY effective bound here: spawnSync blocks
|
|
44
|
+
// the event loop, so vitest's hook/test timeouts cannot fire mid-hang.
|
|
45
|
+
const res = spawnSync(cmd, [...args], {
|
|
46
|
+
cwd: opts.cwd,
|
|
47
|
+
encoding: 'utf-8',
|
|
48
|
+
timeout: INTEGRATION_TIMEOUT_MS,
|
|
49
|
+
});
|
|
50
|
+
if (res.error) {
|
|
51
|
+
throw new Error(`spawn failed for \`${cmd}\`: ${res.error.message}`);
|
|
52
|
+
}
|
|
53
|
+
if (res.status !== 0) {
|
|
54
|
+
throw new Error(`\`${cmd} ${args.join(' ')}\` exited ${String(res.status)}\n` +
|
|
55
|
+
`stdout:\n${res.stdout ?? ''}\nstderr:\n${res.stderr ?? ''}`);
|
|
56
|
+
}
|
|
57
|
+
return { stdout: res.stdout ?? '', stderr: res.stderr ?? '' };
|
|
58
|
+
}
|
|
59
|
+
beforeAll(() => {
|
|
60
|
+
// 1. Require a current build. Turbo's `test` task `dependsOn: ["build"]`, so
|
|
61
|
+
// dist is fresh before tests run; the gate flow (`pnpm -r build` first)
|
|
62
|
+
// guarantees the same. We assert rather than rebuild here so this test
|
|
63
|
+
// never races a concurrent `tsc -p core` from a sibling package's test.
|
|
64
|
+
for (const rel of [
|
|
65
|
+
'dist/index.js',
|
|
66
|
+
'dist/config.js',
|
|
67
|
+
'dist/lessons.js',
|
|
68
|
+
'dist/artifacts.js',
|
|
69
|
+
'dist/packs.js',
|
|
70
|
+
]) {
|
|
71
|
+
if (!fs.existsSync(path.join(CORE_ROOT, rel))) {
|
|
72
|
+
throw new Error(`core dist/${rel} is missing — build core first (\`pnpm -r build\`; turbo builds before test in CI).`);
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
// 2. Isolated sandbox under core's node_modules (git/prettier-ignored;
|
|
76
|
+
// transitive deps resolve via the core node_modules ancestor).
|
|
77
|
+
sandbox = fs.mkdtempSync(path.join(CORE_ROOT, 'node_modules', '.totem-packtest-'));
|
|
78
|
+
// 3. Pack the core package into the sandbox.
|
|
79
|
+
const packDest = path.join(sandbox, 'tgz');
|
|
80
|
+
fs.mkdirSync(packDest, { recursive: true });
|
|
81
|
+
run('pnpm', ['pack', '--pack-destination', packDest], { cwd: CORE_ROOT });
|
|
82
|
+
const tarball = fs
|
|
83
|
+
.readdirSync(packDest)
|
|
84
|
+
.filter((f) => f.endsWith('.tgz'))
|
|
85
|
+
.map((f) => path.join(packDest, f))[0];
|
|
86
|
+
if (!tarball) {
|
|
87
|
+
throw new Error(`pnpm pack produced no .tgz in ${packDest}`);
|
|
88
|
+
}
|
|
89
|
+
// 4. Extract into node_modules/@mmnto/totem (strip the `package/` prefix).
|
|
90
|
+
// Pass RELATIVE, forward-slash paths with cwd=sandbox so no drive-letter
|
|
91
|
+
// colon reaches tar — GNU tar (MSYS) otherwise reads `D:\…` as a remote
|
|
92
|
+
// `host:path`, and bsdtar rejects `--force-local`, so relative paths are
|
|
93
|
+
// the only form both accept.
|
|
94
|
+
installedPkgDir = path.join(sandbox, 'node_modules', '@mmnto', 'totem');
|
|
95
|
+
fs.mkdirSync(installedPkgDir, { recursive: true });
|
|
96
|
+
const tarballRel = path.relative(sandbox, tarball).replace(/\\/g, '/');
|
|
97
|
+
run('tar', ['-xzf', tarballRel, '-C', 'node_modules/@mmnto/totem', '--strip-components=1'], {
|
|
98
|
+
cwd: sandbox,
|
|
99
|
+
});
|
|
100
|
+
}, INTEGRATION_TIMEOUT_MS);
|
|
101
|
+
const CLEANUP_MAX_RETRIES = 5;
|
|
102
|
+
afterAll(() => {
|
|
103
|
+
if (sandbox) {
|
|
104
|
+
fs.rmSync(sandbox, { recursive: true, force: true, maxRetries: CLEANUP_MAX_RETRIES });
|
|
105
|
+
}
|
|
106
|
+
}, INTEGRATION_TIMEOUT_MS);
|
|
107
|
+
describe('@mmnto/totem packaged subpath exports (#2336)', () => {
|
|
108
|
+
it('declares every supported subpath in the packed exports map with existing targets', () => {
|
|
109
|
+
const pkg = JSON.parse(fs.readFileSync(path.join(installedPkgDir, 'package.json'), 'utf-8'));
|
|
110
|
+
const exportsMap = pkg.exports ?? {};
|
|
111
|
+
// The legacy root barrel stays present and byte-compatible.
|
|
112
|
+
expect(exportsMap['.']).toEqual({
|
|
113
|
+
import: './dist/index.js',
|
|
114
|
+
types: './dist/index.d.ts',
|
|
115
|
+
});
|
|
116
|
+
// Exact per-subpath targets: a lazy exports map pointing every subpath
|
|
117
|
+
// at dist/index.js would satisfy shape regexes AND the ESM-import test
|
|
118
|
+
// (the barrel is a superset), silently republishing the full unsupported
|
|
119
|
+
// surface at each curated subpath. Pin the exact aggregator targets.
|
|
120
|
+
const expectedTargets = {
|
|
121
|
+
'./config': { import: './dist/config.js', types: './dist/config.d.ts' },
|
|
122
|
+
'./lessons': { import: './dist/lessons.js', types: './dist/lessons.d.ts' },
|
|
123
|
+
'./artifacts': { import: './dist/artifacts.js', types: './dist/artifacts.d.ts' },
|
|
124
|
+
'./packs': { import: './dist/packs.js', types: './dist/packs.d.ts' },
|
|
125
|
+
};
|
|
126
|
+
for (const subpath of SUPPORTED_SUBPATHS) {
|
|
127
|
+
const expected = expectedTargets[subpath];
|
|
128
|
+
expect(expected, `expectedTargets["${subpath}"] declared`).toBeDefined();
|
|
129
|
+
if (!expected)
|
|
130
|
+
continue;
|
|
131
|
+
expect(exportsMap[subpath], `exports["${subpath}"]`).toEqual(expected);
|
|
132
|
+
expect(fs.existsSync(path.join(installedPkgDir, expected.import)), `${subpath} import target exists in tarball`).toBe(true);
|
|
133
|
+
expect(fs.existsSync(path.join(installedPkgDir, expected.types)), `${subpath} types target exists in tarball`).toBe(true);
|
|
134
|
+
}
|
|
135
|
+
}, INTEGRATION_TIMEOUT_MS);
|
|
136
|
+
it('imports every supported subpath from the packed artifact as Node ESM (via the package specifier)', () => {
|
|
137
|
+
const consumer = path.join(sandbox, 'esm-consumer.mjs');
|
|
138
|
+
fs.writeFileSync(consumer, [
|
|
139
|
+
"import * as config from '@mmnto/totem/config';",
|
|
140
|
+
"import * as lessons from '@mmnto/totem/lessons';",
|
|
141
|
+
"import * as artifacts from '@mmnto/totem/artifacts';",
|
|
142
|
+
"import * as packs from '@mmnto/totem/packs';",
|
|
143
|
+
'const report = {',
|
|
144
|
+
' config: typeof config.TotemConfigSchema !== "undefined" && typeof config.getConfigTier === "function",',
|
|
145
|
+
' lessons: typeof lessons.lessonFileName === "function" && typeof lessons.LessonRoleSchema !== "undefined",',
|
|
146
|
+
// Deliberate contract pin, derived not hardcoded: the packed artifact's
|
|
147
|
+
// exported schema version must equal the workspace source constant. A
|
|
148
|
+
// legit version bump moves both sides together; a mismatch means the
|
|
149
|
+
// packed tarball drifted from source.
|
|
150
|
+
` artifacts: typeof artifacts.VerdictArtifactSchema !== "undefined" && artifacts.VERDICT_ARTIFACT_SCHEMA_VERSION === ${JSON.stringify(VERDICT_ARTIFACT_SCHEMA_VERSION)},`,
|
|
151
|
+
' packs: typeof packs.loadInstalledPacks === "function" && typeof packs.isEngineSealed === "function" && typeof packs.InstalledPacksManifestSchema !== "undefined",',
|
|
152
|
+
'};',
|
|
153
|
+
'process.stdout.write(JSON.stringify(report));',
|
|
154
|
+
'',
|
|
155
|
+
].join('\n'));
|
|
156
|
+
const { stdout } = run(process.execPath, [consumer], { cwd: sandbox });
|
|
157
|
+
const report = JSON.parse(stdout);
|
|
158
|
+
expect(report).toEqual({
|
|
159
|
+
config: true,
|
|
160
|
+
lessons: true,
|
|
161
|
+
artifacts: true,
|
|
162
|
+
packs: true,
|
|
163
|
+
});
|
|
164
|
+
}, INTEGRATION_TIMEOUT_MS);
|
|
165
|
+
it('resolves every supported subpath through the packed types condition (tsc node16)', () => {
|
|
166
|
+
fs.writeFileSync(path.join(sandbox, 'type-consumer.ts'), [
|
|
167
|
+
"import type { TotemConfig } from '@mmnto/totem/config';",
|
|
168
|
+
"import type { LessonRole, LessonFrontmatter } from '@mmnto/totem/lessons';",
|
|
169
|
+
"import type { VerdictArtifact } from '@mmnto/totem/artifacts';",
|
|
170
|
+
"import type { PackRegistrationAPI, InstalledPacksManifest } from '@mmnto/totem/packs';",
|
|
171
|
+
'// Referencing the imported types forces full type resolution through',
|
|
172
|
+
'// the exports map; an unresolved specifier fails tsc with TS2307.',
|
|
173
|
+
'export type Probe = [',
|
|
174
|
+
' TotemConfig,',
|
|
175
|
+
' LessonRole,',
|
|
176
|
+
' LessonFrontmatter,',
|
|
177
|
+
' VerdictArtifact,',
|
|
178
|
+
' PackRegistrationAPI,',
|
|
179
|
+
' InstalledPacksManifest,',
|
|
180
|
+
'];',
|
|
181
|
+
'',
|
|
182
|
+
].join('\n'));
|
|
183
|
+
fs.writeFileSync(path.join(sandbox, 'tsconfig.json'), JSON.stringify({
|
|
184
|
+
compilerOptions: {
|
|
185
|
+
module: 'node16',
|
|
186
|
+
moduleResolution: 'node16',
|
|
187
|
+
target: 'ES2022',
|
|
188
|
+
strict: true,
|
|
189
|
+
noEmit: true,
|
|
190
|
+
skipLibCheck: true,
|
|
191
|
+
types: [],
|
|
192
|
+
},
|
|
193
|
+
files: ['type-consumer.ts'],
|
|
194
|
+
}, null, 2));
|
|
195
|
+
// Exits 0 only if all four supported subpaths resolve their `types`
|
|
196
|
+
// condition through the packed exports map.
|
|
197
|
+
run(process.execPath, [TSC_BIN, '-p', 'tsconfig.json'], { cwd: sandbox });
|
|
198
|
+
}, INTEGRATION_TIMEOUT_MS);
|
|
199
|
+
it('registers a synchronous CJS register.cjs pack through the published /packs shape (ADR-097)', () => {
|
|
200
|
+
// Fixture pack: a synchronous CommonJS `register.cjs` exporting the
|
|
201
|
+
// ADR-097 CJS-friendly named `register` callback.
|
|
202
|
+
const fixtureDir = path.join(sandbox, 'fixture-pack');
|
|
203
|
+
fs.mkdirSync(fixtureDir, { recursive: true });
|
|
204
|
+
const registerCjs = path.join(fixtureDir, 'register.cjs');
|
|
205
|
+
fs.writeFileSync(registerCjs, [
|
|
206
|
+
'// Synchronous CJS pack registration entry (ADR-097 § 5 Q5).',
|
|
207
|
+
'module.exports.register = function register(api) {',
|
|
208
|
+
" api.registerChunkStrategy('adr097-cjs-fixture', class FixtureChunker {});",
|
|
209
|
+
'};',
|
|
210
|
+
'',
|
|
211
|
+
].join('\n'));
|
|
212
|
+
// installed-packs.json pointing at the fixture's absolute register.cjs.
|
|
213
|
+
const projectRoot = path.join(sandbox, 'project');
|
|
214
|
+
fs.mkdirSync(path.join(projectRoot, '.totem'), { recursive: true });
|
|
215
|
+
fs.writeFileSync(path.join(projectRoot, '.totem', 'installed-packs.json'), JSON.stringify({
|
|
216
|
+
version: 1,
|
|
217
|
+
packs: [
|
|
218
|
+
{
|
|
219
|
+
name: 'adr097-cjs-fixture-pack',
|
|
220
|
+
resolvedPath: registerCjs,
|
|
221
|
+
declaredEngineRange: '*',
|
|
222
|
+
},
|
|
223
|
+
],
|
|
224
|
+
}, null, 2));
|
|
225
|
+
// Load through the PUBLISHED package specifier (not workspace src).
|
|
226
|
+
const consumer = path.join(sandbox, 'adr097-consumer.mjs');
|
|
227
|
+
fs.writeFileSync(consumer, [
|
|
228
|
+
"import { loadInstalledPacks } from '@mmnto/totem/packs';",
|
|
229
|
+
`const loaded = loadInstalledPacks(${JSON.stringify({
|
|
230
|
+
projectRoot,
|
|
231
|
+
totemDir: '.totem',
|
|
232
|
+
engineVersion: '1.0.0',
|
|
233
|
+
})});`,
|
|
234
|
+
'process.stdout.write(JSON.stringify(loaded.map((p) => p.name)));',
|
|
235
|
+
'',
|
|
236
|
+
].join('\n'));
|
|
237
|
+
const { stdout } = run(process.execPath, [consumer], { cwd: sandbox });
|
|
238
|
+
const names = JSON.parse(stdout);
|
|
239
|
+
expect(names).toContain('adr097-cjs-fixture-pack');
|
|
240
|
+
}, INTEGRATION_TIMEOUT_MS);
|
|
241
|
+
});
|
|
242
|
+
//# sourceMappingURL=packaged-exports.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"packaged-exports.test.js","sourceRoot":"","sources":["../src/packaged-exports.test.ts"],"names":[],"mappings":"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"}
|
package/dist/packs.d.ts
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `@mmnto/totem/packs` — supported pack-discovery entry point.
|
|
3
|
+
*
|
|
4
|
+
* Curated, semver-tracked re-export of the pack registration + load surface
|
|
5
|
+
* ADR-097 (§ 5 Q5, § 10) and ADR-099 classify as true semver contracts: the
|
|
6
|
+
* `PackRegistrationAPI` a pack's `register` callback receives, the boot-time
|
|
7
|
+
* `loadInstalledPacks()` loader, the sealed-engine predicates, and the
|
|
8
|
+
* `installed-packs.json` manifest schema/type. Third-party packs bind to this
|
|
9
|
+
* surface, so it carries the most external weight of the supported entries.
|
|
10
|
+
*
|
|
11
|
+
* Every name here is also re-exported from the legacy root barrel (`.`).
|
|
12
|
+
* Scope is deliberately the `pack-discovery` module only: the manifest
|
|
13
|
+
* *writer* (`resolveInstalledPacks` / `writeInstalledPacksManifest`) and the
|
|
14
|
+
* stale-manifest detector are `totem sync` producer internals, not the pack
|
|
15
|
+
* registration contract, and stay off this surface pending a first external
|
|
16
|
+
* consumer. Test-only helpers (`__resetForTests`) are never exported here.
|
|
17
|
+
*
|
|
18
|
+
* Additive per mmnto-ai/totem#2336 (ADR-084 / Proposal 294). The root barrel
|
|
19
|
+
* is unchanged; nothing is removed from it in this cut.
|
|
20
|
+
*/
|
|
21
|
+
export type { InstalledPacksManifest, LoadedPack, LoadInstalledPacksOptions, PackRegisterCallback, PackRegistrationAPI, } from './pack-discovery.js';
|
|
22
|
+
export { InstalledPacksManifestSchema, isEngineSealed, loadedPacks, loadInstalledPacks, resolveEngineVersion, } from './pack-discovery.js';
|
|
23
|
+
//# sourceMappingURL=packs.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"packs.d.ts","sourceRoot":"","sources":["../src/packs.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAGH,YAAY,EACV,sBAAsB,EACtB,UAAU,EACV,yBAAyB,EACzB,oBAAoB,EACpB,mBAAmB,GACpB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EACL,4BAA4B,EAC5B,cAAc,EACd,WAAW,EACX,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,qBAAqB,CAAC"}
|
package/dist/packs.js
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `@mmnto/totem/packs` — supported pack-discovery entry point.
|
|
3
|
+
*
|
|
4
|
+
* Curated, semver-tracked re-export of the pack registration + load surface
|
|
5
|
+
* ADR-097 (§ 5 Q5, § 10) and ADR-099 classify as true semver contracts: the
|
|
6
|
+
* `PackRegistrationAPI` a pack's `register` callback receives, the boot-time
|
|
7
|
+
* `loadInstalledPacks()` loader, the sealed-engine predicates, and the
|
|
8
|
+
* `installed-packs.json` manifest schema/type. Third-party packs bind to this
|
|
9
|
+
* surface, so it carries the most external weight of the supported entries.
|
|
10
|
+
*
|
|
11
|
+
* Every name here is also re-exported from the legacy root barrel (`.`).
|
|
12
|
+
* Scope is deliberately the `pack-discovery` module only: the manifest
|
|
13
|
+
* *writer* (`resolveInstalledPacks` / `writeInstalledPacksManifest`) and the
|
|
14
|
+
* stale-manifest detector are `totem sync` producer internals, not the pack
|
|
15
|
+
* registration contract, and stay off this surface pending a first external
|
|
16
|
+
* consumer. Test-only helpers (`__resetForTests`) are never exported here.
|
|
17
|
+
*
|
|
18
|
+
* Additive per mmnto-ai/totem#2336 (ADR-084 / Proposal 294). The root barrel
|
|
19
|
+
* is unchanged; nothing is removed from it in this cut.
|
|
20
|
+
*/
|
|
21
|
+
// Manifest schema, loader, engine-seal predicates, and engine-version resolver.
|
|
22
|
+
export { InstalledPacksManifestSchema, isEngineSealed, loadedPacks, loadInstalledPacks, resolveEngineVersion, } from './pack-discovery.js';
|
|
23
|
+
//# sourceMappingURL=packs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"packs.js","sourceRoot":"","sources":["../src/packs.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAWH,gFAAgF;AAChF,OAAO,EACL,4BAA4B,EAC5B,cAAc,EACd,WAAW,EACX,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,qBAAqB,CAAC"}
|