@design-intelligence/ghost 0.27.0 → 0.28.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/dist/embed/inspect.d.ts.map +1 -1
- package/dist/embed/inspect.js +21 -28
- package/dist/embed/inspect.js.map +1 -1
- package/dist/embed/pull.d.ts.map +1 -1
- package/dist/embed/pull.js +29 -0
- package/dist/embed/pull.js.map +1 -1
- package/dist/ghost-core/index.d.ts +1 -2
- package/dist/ghost-core/index.d.ts.map +1 -1
- package/dist/ghost-core/index.js +1 -3
- package/dist/ghost-core/index.js.map +1 -1
- package/dist/ghost-core/material-transport.d.ts +4 -8
- package/dist/ghost-core/material-transport.d.ts.map +1 -1
- package/dist/ghost-core/material-transport.js +39 -91
- package/dist/ghost-core/material-transport.js.map +1 -1
- package/dist/ghost-core/materials.d.ts +1 -1
- package/dist/ghost-core/materials.d.ts.map +1 -1
- package/dist/ghost-core/materials.js +4 -1
- package/dist/ghost-core/materials.js.map +1 -1
- package/dist/ghost-core/node/types.d.ts +3 -2
- package/dist/ghost-core/node/types.d.ts.map +1 -1
- package/dist/init-payloads/vessel-light/grammar.color-roles.md +0 -2
- package/dist/init-payloads/vessel-light/grammar.conversation.md +0 -1
- package/dist/init-payloads/vessel-light/grammar.hierarchy.md +0 -2
- package/dist/init-payloads/vessel-light/grammar.motion.md +0 -2
- package/dist/init-payloads/vessel-light/grammar.rhythm.md +0 -2
- package/dist/init-payloads/vessel-light/grammar.surfaces.md +0 -2
- package/dist/init-payloads/vessel-light/signature.type.md +7 -1
- package/dist/scan/fingerprint-package-lint.d.ts.map +1 -1
- package/dist/scan/fingerprint-package-lint.js +3 -5
- package/dist/scan/fingerprint-package-lint.js.map +1 -1
- package/dist/skill-bundle/SKILL.md +3 -2
- package/dist/skill-bundle/references/adapting-a-starter.md +8 -2
- package/dist/skill-bundle/references/capture.md +5 -3
- package/dist/skill-bundle/references/schema.md +8 -6
- package/package.json +1 -1
- package/dist/ghost-core/glob.d.ts +0 -5
- package/dist/ghost-core/glob.d.ts.map +0 -1
- package/dist/ghost-core/glob.js +0 -68
- package/dist/ghost-core/glob.js.map +0 -1
- package/dist/review/glob.d.ts +0 -2
- package/dist/review/glob.d.ts.map +0 -1
- package/dist/review/glob.js +0 -2
- package/dist/review/glob.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inspect.d.ts","sourceRoot":"","sources":["../../src/embed/inspect.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"inspect.d.ts","sourceRoot":"","sources":["../../src/embed/inspect.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EACV,kBAAkB,EAElB,2BAA2B,EAC3B,0BAA0B,EAC3B,MAAM,YAAY,CAAC;AAKpB,wBAAsB,oBAAoB,CACxC,QAAQ,EAAE,kBAAkB,EAC5B,OAAO,EAAE,2BAA2B,GACnC,OAAO,CAAC,0BAA0B,CAAC,CAsKrC"}
|
package/dist/embed/inspect.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { readFile, stat } from "node:fs/promises";
|
|
2
2
|
import { TextDecoder } from "node:util";
|
|
3
|
-
import { classifyMaterialLocator,
|
|
3
|
+
import { classifyMaterialLocator, inferMaterialMime, isTextMime, materialLocator, materialLocatorClaimsPath, resolveContainedRealFile, resolveLocalMaterialFile, resolveLocalMaterialLocator, validateMaterialLocator, } from "#ghost-core";
|
|
4
4
|
import { GHOST_MATERIALS_DIR } from "../scan/constants.js";
|
|
5
5
|
const DEFAULT_MAX_BYTES = 2 * 1024 * 1024;
|
|
6
6
|
const textDecoder = new TextDecoder("utf-8", { fatal: true });
|
|
@@ -22,66 +22,60 @@ export async function inspectGhostMaterial(snapshot, request) {
|
|
|
22
22
|
return rejected(request, "network material inspection is disabled by policy", "url");
|
|
23
23
|
}
|
|
24
24
|
const policy = normalizePolicy(request.policy);
|
|
25
|
-
const
|
|
25
|
+
const resolved = await resolveLocalMaterialFile(request.locator, {
|
|
26
26
|
repoRoot: request.repoRoot,
|
|
27
27
|
packageDir: snapshot.package.dir,
|
|
28
28
|
materialsDir: GHOST_MATERIALS_DIR,
|
|
29
29
|
});
|
|
30
|
-
if (
|
|
31
|
-
return rejected(request, "referenced material inspection is disabled by policy",
|
|
30
|
+
if (resolved.tier === "referenced" && policy.local === "bundled") {
|
|
31
|
+
return rejected(request, "referenced material inspection is disabled by policy", resolved.tier);
|
|
32
32
|
}
|
|
33
|
-
|
|
34
|
-
return rejected(request, "locator matched no local files", expanded.tier);
|
|
35
|
-
}
|
|
36
|
-
if (expanded.matches.length > 1 || expanded.truncated) {
|
|
37
|
-
return rejected(request, "locator matched multiple local files; inspect one matching file path at a time", expanded.tier);
|
|
38
|
-
}
|
|
39
|
-
const match = expanded.matches[0];
|
|
33
|
+
const match = resolved.match;
|
|
40
34
|
if (match === undefined) {
|
|
41
|
-
return rejected(request, "locator matched no local files",
|
|
35
|
+
return rejected(request, "locator matched no local files", resolved.tier);
|
|
42
36
|
}
|
|
43
37
|
let contained;
|
|
44
38
|
try {
|
|
45
39
|
contained = await resolveContainedRealFile(match.absolutePath, request.repoRoot);
|
|
46
40
|
}
|
|
47
41
|
catch {
|
|
48
|
-
return rejected(request, "matched file could not be read",
|
|
42
|
+
return rejected(request, "matched file could not be read", resolved.tier, match.repoRelativePath);
|
|
49
43
|
}
|
|
50
44
|
if (contained === null) {
|
|
51
|
-
return rejected(request, "resolved material path escapes repo",
|
|
45
|
+
return rejected(request, "resolved material path escapes repo", resolved.tier, match.repoRelativePath);
|
|
52
46
|
}
|
|
53
47
|
let info;
|
|
54
48
|
try {
|
|
55
49
|
info = await stat(contained.realPath);
|
|
56
50
|
}
|
|
57
51
|
catch {
|
|
58
|
-
return rejected(request, "matched file could not be read",
|
|
52
|
+
return rejected(request, "matched file could not be read", resolved.tier, contained.repoRelativePath);
|
|
59
53
|
}
|
|
60
54
|
if (!info.isFile()) {
|
|
61
|
-
return rejected(request, "not a file",
|
|
55
|
+
return rejected(request, "not a file", resolved.tier, contained.repoRelativePath);
|
|
62
56
|
}
|
|
63
57
|
if (info.size > policy.maxBytes) {
|
|
64
|
-
return rejected(request, `exceeds ${policy.maxBytes} byte inspect limit`,
|
|
58
|
+
return rejected(request, `exceeds ${policy.maxBytes} byte inspect limit`, resolved.tier, contained.repoRelativePath, info.size);
|
|
65
59
|
}
|
|
66
60
|
const { mime, contentKind } = inferMaterialMime(contained.repoRelativePath);
|
|
67
61
|
if (!mimeAllowed(mime, policy.allowedMimeTypes)) {
|
|
68
|
-
return rejected(request, `MIME type ${mime} is not allowed by policy`,
|
|
62
|
+
return rejected(request, `MIME type ${mime} is not allowed by policy`, resolved.tier, contained.repoRelativePath, info.size, mime);
|
|
69
63
|
}
|
|
70
64
|
let buffer;
|
|
71
65
|
try {
|
|
72
66
|
buffer = await readFile(contained.realPath);
|
|
73
67
|
}
|
|
74
68
|
catch {
|
|
75
|
-
return rejected(request, "matched file could not be read",
|
|
69
|
+
return rejected(request, "matched file could not be read", resolved.tier, contained.repoRelativePath);
|
|
76
70
|
}
|
|
77
71
|
if (buffer.byteLength > policy.maxBytes) {
|
|
78
|
-
return rejected(request, `exceeds ${policy.maxBytes} byte inspect limit`,
|
|
72
|
+
return rejected(request, `exceeds ${policy.maxBytes} byte inspect limit`, resolved.tier, contained.repoRelativePath, buffer.byteLength, mime);
|
|
79
73
|
}
|
|
80
74
|
const base = {
|
|
81
75
|
ok: true,
|
|
82
76
|
nodeId: request.nodeId,
|
|
83
77
|
locator: request.locator,
|
|
84
|
-
tier:
|
|
78
|
+
tier: resolved.tier,
|
|
85
79
|
path: contained.repoRelativePath,
|
|
86
80
|
byteLength: buffer.byteLength,
|
|
87
81
|
mime,
|
|
@@ -96,7 +90,7 @@ export async function inspectGhostMaterial(snapshot, request) {
|
|
|
96
90
|
};
|
|
97
91
|
}
|
|
98
92
|
catch {
|
|
99
|
-
return rejected(request, "not valid UTF-8 text",
|
|
93
|
+
return rejected(request, "not valid UTF-8 text", resolved.tier, contained.repoRelativePath, buffer.byteLength, mime);
|
|
100
94
|
}
|
|
101
95
|
}
|
|
102
96
|
return {
|
|
@@ -116,12 +110,11 @@ function declaredMaterialLocator(declared, requested, repoRoot, packageDir) {
|
|
|
116
110
|
packageDir,
|
|
117
111
|
materialsDir: GHOST_MATERIALS_DIR,
|
|
118
112
|
}).pattern;
|
|
119
|
-
return locators.find((locator) =>
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
}));
|
|
113
|
+
return locators.find((locator) => materialLocatorClaimsPath(locator, requestedPath, {
|
|
114
|
+
repoRoot,
|
|
115
|
+
packageDir,
|
|
116
|
+
materialsDir: GHOST_MATERIALS_DIR,
|
|
117
|
+
}));
|
|
125
118
|
}
|
|
126
119
|
function normalizePolicy(policy) {
|
|
127
120
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inspect.js","sourceRoot":"","sources":["../../src/embed/inspect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EACL,uBAAuB,
|
|
1
|
+
{"version":3,"file":"inspect.js","sourceRoot":"","sources":["../../src/embed/inspect.ts"],"names":[],"mappings":"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"}
|
package/dist/embed/pull.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pull.d.ts","sourceRoot":"","sources":["../../src/embed/pull.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EACV,kBAAkB,EAElB,cAAc,EACd,eAAe,EAChB,MAAM,YAAY,CAAC;AAOpB,wBAAsB,cAAc,CAClC,QAAQ,EAAE,kBAAkB,EAC5B,OAAO,EAAE;IACP,GAAG,EAAE,SAAS,MAAM,EAAE,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,KAAK,CAAC,EAAE,cAAc,CAAC;CACxB,GACA,OAAO,CAAC,eAAe,CAAC,
|
|
1
|
+
{"version":3,"file":"pull.d.ts","sourceRoot":"","sources":["../../src/embed/pull.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EACV,kBAAkB,EAElB,cAAc,EACd,eAAe,EAChB,MAAM,YAAY,CAAC;AAOpB,wBAAsB,cAAc,CAClC,QAAQ,EAAE,kBAAkB,EAC5B,OAAO,EAAE;IACP,GAAG,EAAE,SAAS,MAAM,EAAE,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,KAAK,CAAC,EAAE,cAAc,CAAC;CACxB,GACA,OAAO,CAAC,eAAe,CAAC,CAiD1B"}
|
package/dist/embed/pull.js
CHANGED
|
@@ -13,6 +13,7 @@ export async function pullGhostNodes(snapshot, options) {
|
|
|
13
13
|
: orderPulledNodes(givenNodes, snapshot.cover.state === "resolved" ? snapshot.cover.id : undefined);
|
|
14
14
|
const packageDir = snapshot.package.dir;
|
|
15
15
|
const pulledNodes = await resolvePulledNodes(orderedNodes, options.repoRoot, packageDir, options.inlineMaterials !== false);
|
|
16
|
+
dedupeInlinedMaterials(pulledNodes);
|
|
16
17
|
const materialCounts = sumMaterialCounts(pulledNodes);
|
|
17
18
|
return {
|
|
18
19
|
kind: "pull",
|
|
@@ -49,6 +50,34 @@ async function resolvePulledNodes(nodes, repoRoot, packageDir, inlineMaterials)
|
|
|
49
50
|
: locatorOnlyMaterials(node.materials, repoRoot, packageDir),
|
|
50
51
|
})));
|
|
51
52
|
}
|
|
53
|
+
/**
|
|
54
|
+
* Inline each distinct file once per pull. Nodes are already in output order,
|
|
55
|
+
* so the first node that carries a file inlines it; every later declaration of
|
|
56
|
+
* the same resolved path becomes a pointer at the copy already in context.
|
|
57
|
+
* Mechanical, not selective: nothing is dropped and no relevance decision is
|
|
58
|
+
* made — repeating identical bytes only dilutes context and inflates the
|
|
59
|
+
* file's apparent salience.
|
|
60
|
+
*/
|
|
61
|
+
function dedupeInlinedMaterials(nodes) {
|
|
62
|
+
const firstCarrier = new Map();
|
|
63
|
+
for (const { node, materials } of nodes) {
|
|
64
|
+
for (const material of materials.materials) {
|
|
65
|
+
if (material.inlined === undefined || material.path === undefined) {
|
|
66
|
+
continue;
|
|
67
|
+
}
|
|
68
|
+
const carrier = firstCarrier.get(material.path);
|
|
69
|
+
if (carrier === undefined) {
|
|
70
|
+
firstCarrier.set(material.path, node.id);
|
|
71
|
+
continue;
|
|
72
|
+
}
|
|
73
|
+
delete material.inlined;
|
|
74
|
+
material.omitted = true;
|
|
75
|
+
material.reason = `content inlined above under node ${carrier}`;
|
|
76
|
+
materials.inlined -= 1;
|
|
77
|
+
materials.omitted += 1;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
}
|
|
52
81
|
function orderPulledNodes(nodes, coverId) {
|
|
53
82
|
return nodes
|
|
54
83
|
.map((node, index) => ({
|
package/dist/embed/pull.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pull.js","sourceRoot":"","sources":["../../src/embed/pull.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"pull.js","sourceRoot":"","sources":["../../src/embed/pull.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
export { type AssembleCatalogInput, assembleCatalog, buildCatalogMenu, type CatalogMenuEntry, closestIds, type GhostCatalog, type GhostCatalogNode, type PlacedNode, } from "./catalog/index.js";
|
|
2
2
|
export { GHOST_CHECK_SCHEMA, GHOST_CHECK_SEVERITIES, type GhostCheckDocument, type GhostCheckFrontmatter, type GhostCheckLintIssue, type GhostCheckLintReport, type GhostCheckLintSeverity, type GhostCheckMarkdownSeverity, lintGhostCheck, loadGhostCheck, type ParsedCheckMarkdown, type ParsedSourceRef, parseCheckMarkdown, parseSourceRef, sliceNodeSection, } from "./check/index.js";
|
|
3
3
|
export { EXIT, UsageError } from "./errors.js";
|
|
4
|
-
export { hasGlobMagic, matchesGlob, normalizeGlobPath } from "./glob.js";
|
|
5
4
|
export { type GhostGlossaryDocument, GhostGlossaryFrontmatterSchema, type GhostGlossaryKind, type GhostGlossaryParseResult, parseGlossary, } from "./glossary.js";
|
|
6
|
-
export {
|
|
5
|
+
export { inferMaterialMime, isBinaryMaterial, isTextMime, listBundledMaterialFiles, type MaterialMimeInfo, type MaterialTransportOptions, type MaterialTransportResult, materialLocatorClaimsPath, type ResolvedLocalMaterialFile, resolveContainedRealFile, resolveLocalMaterialFile, resolveLocalMaterialLocator, type TransportedMaterial, type TransportedMaterialTier, transportMaterials, } from "./material-transport.js";
|
|
7
6
|
export { type ClassifiedGhostMaterialLocator, classifyMaterialLocator, externalLocatorScheme, type GhostAnnotatedMaterial, type GhostMaterial, type GhostMaterialLocatorKind, materialLocator, normalizeMaterial, validateMaterialLocator, } from "./materials.js";
|
|
8
7
|
export { carriesConcreteMaterial, extractSkeletonFences, extractSkeletonSections, type FencedBlock, GHOST_NODE_SCHEMA, type GhostNodeDocument, type GhostNodeFrontmatter, GhostNodeFrontmatterSchema, type GhostNodeLintIssue, type GhostNodeLintReport, type GhostNodeLintSeverity, hasSubstantialFencedExample, lintGhostNode, NodeIdSchema, NodeRefSchema, type ParseNodeResult, parseNode, type SkeletonSection, serializeNode, stripSkeletonSections, } from "./node/index.js";
|
|
9
8
|
export type {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ghost-core/index.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,KAAK,oBAAoB,EACzB,eAAe,EACf,gBAAgB,EAChB,KAAK,gBAAgB,EACrB,UAAU,EACV,KAAK,YAAY,EACjB,KAAK,gBAAgB,EACrB,KAAK,UAAU,GAChB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,kBAAkB,EAClB,sBAAsB,EACtB,KAAK,kBAAkB,EACvB,KAAK,qBAAqB,EAC1B,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EACzB,KAAK,sBAAsB,EAC3B,KAAK,0BAA0B,EAC/B,cAAc,EACd,cAAc,EACd,KAAK,mBAAmB,EACxB,KAAK,eAAe,EACpB,kBAAkB,EAClB,cAAc,EACd,gBAAgB,GACjB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE/C,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ghost-core/index.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,KAAK,oBAAoB,EACzB,eAAe,EACf,gBAAgB,EAChB,KAAK,gBAAgB,EACrB,UAAU,EACV,KAAK,YAAY,EACjB,KAAK,gBAAgB,EACrB,KAAK,UAAU,GAChB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,kBAAkB,EAClB,sBAAsB,EACtB,KAAK,kBAAkB,EACvB,KAAK,qBAAqB,EAC1B,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EACzB,KAAK,sBAAsB,EAC3B,KAAK,0BAA0B,EAC/B,cAAc,EACd,cAAc,EACd,KAAK,mBAAmB,EACxB,KAAK,eAAe,EACpB,kBAAkB,EAClB,cAAc,EACd,gBAAgB,GACjB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE/C,OAAO,EACL,KAAK,qBAAqB,EAC1B,8BAA8B,EAC9B,KAAK,iBAAiB,EACtB,KAAK,wBAAwB,EAC7B,aAAa,GACd,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,UAAU,EACV,wBAAwB,EACxB,KAAK,gBAAgB,EACrB,KAAK,wBAAwB,EAC7B,KAAK,uBAAuB,EAC5B,yBAAyB,EACzB,KAAK,yBAAyB,EAC9B,wBAAwB,EACxB,wBAAwB,EACxB,2BAA2B,EAC3B,KAAK,mBAAmB,EACxB,KAAK,uBAAuB,EAC5B,kBAAkB,GACnB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACL,KAAK,8BAA8B,EACnC,uBAAuB,EACvB,qBAAqB,EACrB,KAAK,sBAAsB,EAC3B,KAAK,aAAa,EAClB,KAAK,wBAAwB,EAC7B,eAAe,EACf,iBAAiB,EACjB,uBAAuB,GACxB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,uBAAuB,EACvB,qBAAqB,EACrB,uBAAuB,EACvB,KAAK,WAAW,EAChB,iBAAiB,EACjB,KAAK,iBAAiB,EACtB,KAAK,oBAAoB,EACzB,0BAA0B,EAC1B,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,KAAK,qBAAqB,EAC1B,2BAA2B,EAC3B,aAAa,EACb,YAAY,EACZ,aAAa,EACb,KAAK,eAAe,EACpB,SAAS,EACT,KAAK,eAAe,EACpB,aAAa,EACb,qBAAqB,GACtB,MAAM,iBAAiB,CAAC;AAEzB,YAAY;AACV,8CAA8C;AAC9C,+BAA+B,EAC/B,oBAAoB,GACrB,MAAM,uBAAuB,CAAC;AAC/B,OAAO;AACL,8CAA8C;AAC9C,gCAAgC,EAChC,oBAAoB;AACpB,oDAAoD;AACpD,qCAAqC,EACrC,0BAA0B,GAC3B,MAAM,uBAAuB,CAAC;AAE/B,YAAY,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC"}
|
package/dist/ghost-core/index.js
CHANGED
|
@@ -5,11 +5,9 @@ export { assembleCatalog, buildCatalogMenu, closestIds, } from "./catalog/index.
|
|
|
5
5
|
export { GHOST_CHECK_SCHEMA, GHOST_CHECK_SEVERITIES, lintGhostCheck, loadGhostCheck, parseCheckMarkdown, parseSourceRef, sliceNodeSection, } from "./check/index.js";
|
|
6
6
|
// --- CLI exit-code contract ---
|
|
7
7
|
export { EXIT, UsageError } from "./errors.js";
|
|
8
|
-
// --- Glob matching (repo-relative locators) ---
|
|
9
|
-
export { hasGlobMagic, matchesGlob, normalizeGlobPath } from "./glob.js";
|
|
10
8
|
// --- Glossary (reserved fingerprint vocabulary slot) ---
|
|
11
9
|
export { GhostGlossaryFrontmatterSchema, parseGlossary, } from "./glossary.js";
|
|
12
|
-
export {
|
|
10
|
+
export { inferMaterialMime, isBinaryMaterial, isTextMime, listBundledMaterialFiles, materialLocatorClaimsPath, resolveContainedRealFile, resolveLocalMaterialFile, resolveLocalMaterialLocator, transportMaterials, } from "./material-transport.js";
|
|
13
11
|
// --- Materials (node locators) ---
|
|
14
12
|
export { classifyMaterialLocator, externalLocatorScheme, materialLocator, normalizeMaterial, validateMaterialLocator, } from "./materials.js";
|
|
15
13
|
// --- Node (ghost.node/v1) — the markdown node artifact ---
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ghost-core/index.ts"],"names":[],"mappings":"AAAA,+BAA+B;AAE/B,wDAAwD;AACxD,OAAO,EAEL,eAAe,EACf,gBAAgB,EAEhB,UAAU,GAIX,MAAM,oBAAoB,CAAC;AAC5B,oEAAoE;AACpE,OAAO,EACL,kBAAkB,EAClB,sBAAsB,EAOtB,cAAc,EACd,cAAc,EAGd,kBAAkB,EAClB,cAAc,EACd,gBAAgB,GACjB,MAAM,kBAAkB,CAAC;AAC1B,iCAAiC;AACjC,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC/C,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ghost-core/index.ts"],"names":[],"mappings":"AAAA,+BAA+B;AAE/B,wDAAwD;AACxD,OAAO,EAEL,eAAe,EACf,gBAAgB,EAEhB,UAAU,GAIX,MAAM,oBAAoB,CAAC;AAC5B,oEAAoE;AACpE,OAAO,EACL,kBAAkB,EAClB,sBAAsB,EAOtB,cAAc,EACd,cAAc,EAGd,kBAAkB,EAClB,cAAc,EACd,gBAAgB,GACjB,MAAM,kBAAkB,CAAC;AAC1B,iCAAiC;AACjC,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC/C,0DAA0D;AAC1D,OAAO,EAEL,8BAA8B,EAG9B,aAAa,GACd,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,UAAU,EACV,wBAAwB,EAIxB,yBAAyB,EAEzB,wBAAwB,EACxB,wBAAwB,EACxB,2BAA2B,EAG3B,kBAAkB,GACnB,MAAM,yBAAyB,CAAC;AACjC,oCAAoC;AACpC,OAAO,EAEL,uBAAuB,EACvB,qBAAqB,EAIrB,eAAe,EACf,iBAAiB,EACjB,uBAAuB,GACxB,MAAM,gBAAgB,CAAC;AACxB,4DAA4D;AAC5D,OAAO,EACL,uBAAuB,EACvB,qBAAqB,EACrB,uBAAuB,EAEvB,iBAAiB,EAGjB,0BAA0B,EAI1B,2BAA2B,EAC3B,aAAa,EACb,YAAY,EACZ,aAAa,EAEb,SAAS,EAET,aAAa,EACb,qBAAqB,GACtB,MAAM,iBAAiB,CAAC;AAOzB,OAAO;AACL,8CAA8C;AAC9C,gCAAgC,EAChC,oBAAoB;AACpB,oDAAoD;AACpD,qCAAqC,EACrC,0BAA0B,GAC3B,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC"}
|
|
@@ -14,7 +14,6 @@ export interface MaterialTransportOptions {
|
|
|
14
14
|
repoRoot: string;
|
|
15
15
|
packageDir: string;
|
|
16
16
|
materialsDir?: string;
|
|
17
|
-
globCap?: number;
|
|
18
17
|
referencedInlineBytes?: number;
|
|
19
18
|
}
|
|
20
19
|
export interface MaterialTransportResult {
|
|
@@ -22,24 +21,21 @@ export interface MaterialTransportResult {
|
|
|
22
21
|
inlined: number;
|
|
23
22
|
omitted: number;
|
|
24
23
|
}
|
|
25
|
-
export interface
|
|
24
|
+
export interface ResolvedLocalMaterialFile {
|
|
26
25
|
locator: string;
|
|
27
26
|
tier: Exclude<TransportedMaterialTier, "url">;
|
|
28
27
|
pattern: string;
|
|
29
|
-
|
|
28
|
+
match?: {
|
|
30
29
|
absolutePath: string;
|
|
31
30
|
repoRelativePath: string;
|
|
32
|
-
}
|
|
33
|
-
truncated: boolean;
|
|
31
|
+
};
|
|
34
32
|
}
|
|
35
33
|
export interface MaterialMimeInfo {
|
|
36
34
|
mime: string;
|
|
37
35
|
contentKind: "text" | "image" | "binary";
|
|
38
36
|
}
|
|
39
37
|
export declare function transportMaterials(declarations: GhostMaterial[] | undefined, options: MaterialTransportOptions): Promise<MaterialTransportResult>;
|
|
40
|
-
export declare function
|
|
41
|
-
cap?: number;
|
|
42
|
-
}): Promise<ExpandedLocalMaterialLocator>;
|
|
38
|
+
export declare function resolveLocalMaterialFile(locator: string, options: MaterialTransportOptions): Promise<ResolvedLocalMaterialFile>;
|
|
43
39
|
export declare function listBundledMaterialFiles(options: MaterialTransportOptions): Promise<string[]>;
|
|
44
40
|
export declare function materialLocatorClaimsPath(locator: string, repoRelativePath: string, options: MaterialTransportOptions): boolean;
|
|
45
41
|
export declare function resolveLocalMaterialLocator(locator: string, options: MaterialTransportOptions): {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"material-transport.d.ts","sourceRoot":"","sources":["../../src/ghost-core/material-transport.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"material-transport.d.ts","sourceRoot":"","sources":["../../src/ghost-core/material-transport.ts"],"names":[],"mappings":"AAGA,OAAO,EAEL,KAAK,aAAa,EAEnB,MAAM,gBAAgB,CAAC;AAExB,MAAM,MAAM,uBAAuB,GAAG,SAAS,GAAG,YAAY,GAAG,KAAK,CAAC;AAEvE,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,uBAAuB,CAAC;IAC9B,6EAA6E;IAC7E,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,IAAI,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,qBAAqB,CAAC,EAAE,MAAM,CAAC;CAChC;AAED,MAAM,WAAW,uBAAuB;IACtC,SAAS,EAAE,mBAAmB,EAAE,CAAC;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,yBAAyB;IACxC,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,OAAO,CAAC,uBAAuB,EAAE,KAAK,CAAC,CAAC;IAC9C,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,gBAAgB,EAAE,MAAM,CAAA;KAAE,CAAC;CAC5D;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAC;CAC1C;AAMD,wBAAsB,kBAAkB,CACtC,YAAY,EAAE,aAAa,EAAE,GAAG,SAAS,EACzC,OAAO,EAAE,wBAAwB,GAChC,OAAO,CAAC,uBAAuB,CAAC,CAgDlC;AAED,wBAAsB,wBAAwB,CAC5C,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,wBAAwB,GAChC,OAAO,CAAC,yBAAyB,CAAC,CAgBpC;AAED,wBAAsB,wBAAwB,CAC5C,OAAO,EAAE,wBAAwB,GAChC,OAAO,CAAC,MAAM,EAAE,CAAC,CAMnB;AAED,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,MAAM,EACf,gBAAgB,EAAE,MAAM,EACxB,OAAO,EAAE,wBAAwB,GAChC,OAAO,CAIT;AAED,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,wBAAwB,GAChC;IACD,IAAI,EAAE,OAAO,CAAC,uBAAuB,EAAE,KAAK,CAAC,CAAC;IAC9C,OAAO,EAAE,MAAM,CAAC;CACjB,CAeA;AA2HD,wBAAsB,wBAAwB,CAC5C,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,gBAAgB,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAAC,CAShE;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB,CAiChE;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAExD;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAMhD"}
|
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
import { readdir, readFile, realpath, stat } from "node:fs/promises";
|
|
2
2
|
import { isAbsolute, join, relative, resolve } from "node:path";
|
|
3
3
|
import { TextDecoder } from "node:util";
|
|
4
|
-
import { hasGlobMagic, matchesGlob, normalizeGlobPath } from "./glob.js";
|
|
5
4
|
import { classifyMaterialLocator, normalizeMaterial, } from "./materials.js";
|
|
6
5
|
const DEFAULT_MATERIALS_DIR = "materials";
|
|
7
|
-
const DEFAULT_GLOB_CAP = 12;
|
|
8
6
|
const DEFAULT_REFERENCED_INLINE_BYTES = 8 * 1024;
|
|
9
7
|
const textDecoder = new TextDecoder("utf-8", { fatal: true });
|
|
10
8
|
export async function transportMaterials(declarations, options) {
|
|
@@ -26,102 +24,63 @@ export async function transportMaterials(declarations, options) {
|
|
|
26
24
|
omitted += 1;
|
|
27
25
|
continue;
|
|
28
26
|
}
|
|
29
|
-
const
|
|
30
|
-
|
|
31
|
-
});
|
|
32
|
-
const globbed = hasGlobMagic(locator);
|
|
33
|
-
if (expanded.matches.length === 0) {
|
|
27
|
+
const resolved = await resolveLocalMaterialFile(locator, options);
|
|
28
|
+
if (resolved.match === undefined) {
|
|
34
29
|
materials.push({
|
|
35
30
|
locator,
|
|
36
31
|
...annotation,
|
|
37
|
-
tier:
|
|
32
|
+
tier: resolved.tier,
|
|
38
33
|
omitted: true,
|
|
39
34
|
reason: "matched no local files",
|
|
40
35
|
});
|
|
41
36
|
omitted += 1;
|
|
42
37
|
continue;
|
|
43
38
|
}
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
if (transported.omitted)
|
|
52
|
-
omitted += 1;
|
|
53
|
-
}
|
|
54
|
-
if (expanded.truncated) {
|
|
55
|
-
materials.push({
|
|
56
|
-
locator,
|
|
57
|
-
...annotation,
|
|
58
|
-
tier: expanded.tier,
|
|
59
|
-
omitted: true,
|
|
60
|
-
reason: `glob matched more than ${options.globCap ?? DEFAULT_GLOB_CAP} files; omitted the rest`,
|
|
61
|
-
});
|
|
39
|
+
const transported = await transportFile(locator, resolved.match, resolved.tier, options);
|
|
40
|
+
if (note !== undefined)
|
|
41
|
+
transported.note = note;
|
|
42
|
+
materials.push(transported);
|
|
43
|
+
if (transported.inlined !== undefined)
|
|
44
|
+
inlined += 1;
|
|
45
|
+
if (transported.omitted)
|
|
62
46
|
omitted += 1;
|
|
63
|
-
}
|
|
64
47
|
}
|
|
65
48
|
return { materials, inlined, omitted };
|
|
66
49
|
}
|
|
67
|
-
export async function
|
|
50
|
+
export async function resolveLocalMaterialFile(locator, options) {
|
|
68
51
|
const resolved = resolveLocalMaterialLocator(locator, options);
|
|
69
|
-
const
|
|
70
|
-
|
|
71
|
-
const
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
}
|
|
84
|
-
catch {
|
|
85
|
-
return {
|
|
86
|
-
locator,
|
|
87
|
-
tier: resolved.tier,
|
|
88
|
-
pattern: resolved.pattern,
|
|
89
|
-
matches: [],
|
|
90
|
-
truncated: false,
|
|
91
|
-
};
|
|
92
|
-
}
|
|
52
|
+
const absolutePath = resolve(options.repoRoot, resolved.pattern);
|
|
53
|
+
try {
|
|
54
|
+
const s = await stat(absolutePath);
|
|
55
|
+
return {
|
|
56
|
+
locator,
|
|
57
|
+
tier: resolved.tier,
|
|
58
|
+
pattern: resolved.pattern,
|
|
59
|
+
...(s.isFile()
|
|
60
|
+
? { match: { absolutePath, repoRelativePath: resolved.pattern } }
|
|
61
|
+
: {}),
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
catch {
|
|
65
|
+
return { locator, tier: resolved.tier, pattern: resolved.pattern };
|
|
93
66
|
}
|
|
94
|
-
const base = globLiteralBase(resolved.pattern);
|
|
95
|
-
const baseAbs = resolve(options.repoRoot, base);
|
|
96
|
-
const found = [];
|
|
97
|
-
await walkFiles(baseAbs, options.repoRoot, found, cap + 1, resolved.pattern);
|
|
98
|
-
return {
|
|
99
|
-
locator,
|
|
100
|
-
tier: resolved.tier,
|
|
101
|
-
pattern: resolved.pattern,
|
|
102
|
-
matches: found.slice(0, cap),
|
|
103
|
-
truncated: found.length > cap,
|
|
104
|
-
};
|
|
105
67
|
}
|
|
106
68
|
export async function listBundledMaterialFiles(options) {
|
|
107
69
|
const materialsDir = options.materialsDir ?? DEFAULT_MATERIALS_DIR;
|
|
108
70
|
const bundledDir = join(options.packageDir, materialsDir);
|
|
109
71
|
const files = [];
|
|
110
|
-
await walkFiles(bundledDir, options.repoRoot, files
|
|
72
|
+
await walkFiles(bundledDir, options.repoRoot, files);
|
|
111
73
|
return files.map((file) => file.repoRelativePath).sort();
|
|
112
74
|
}
|
|
113
75
|
export function materialLocatorClaimsPath(locator, repoRelativePath, options) {
|
|
114
76
|
if (classifyMaterialLocator(locator).kind === "url")
|
|
115
77
|
return false;
|
|
116
78
|
const resolved = resolveLocalMaterialLocator(locator, options);
|
|
117
|
-
|
|
118
|
-
return hasGlobMagic(locator)
|
|
119
|
-
? matchesGlob(resolved.pattern, normalizedPath)
|
|
120
|
-
: resolved.pattern === normalizedPath;
|
|
79
|
+
return resolved.pattern === normalizePath(repoRelativePath);
|
|
121
80
|
}
|
|
122
81
|
export function resolveLocalMaterialLocator(locator, options) {
|
|
123
82
|
const materialsDir = options.materialsDir ?? DEFAULT_MATERIALS_DIR;
|
|
124
|
-
const normalized =
|
|
83
|
+
const normalized = normalizePath(locator);
|
|
125
84
|
const packageMaterialsDir = resolve(options.packageDir, materialsDir);
|
|
126
85
|
const packageRelative = normalized === materialsDir || normalized.startsWith(`${materialsDir}/`);
|
|
127
86
|
const pattern = packageRelative
|
|
@@ -201,9 +160,7 @@ async function transportFile(locator, match, tier, options) {
|
|
|
201
160
|
return { ...base, omitted: true, reason: "not valid UTF-8 text" };
|
|
202
161
|
}
|
|
203
162
|
}
|
|
204
|
-
async function walkFiles(dir, repoRoot, files
|
|
205
|
-
if (files.length >= limit)
|
|
206
|
-
return;
|
|
163
|
+
async function walkFiles(dir, repoRoot, files) {
|
|
207
164
|
let entries;
|
|
208
165
|
try {
|
|
209
166
|
entries = await readdir(dir, { withFileTypes: true });
|
|
@@ -212,37 +169,28 @@ async function walkFiles(dir, repoRoot, files, limit, glob) {
|
|
|
212
169
|
return;
|
|
213
170
|
}
|
|
214
171
|
for (const entry of entries.sort((a, b) => a.name.localeCompare(b.name))) {
|
|
215
|
-
if (files.length >= limit)
|
|
216
|
-
return;
|
|
217
172
|
if (entry.name === ".git")
|
|
218
173
|
continue;
|
|
219
174
|
const absolutePath = join(dir, entry.name);
|
|
220
175
|
if (entry.isDirectory()) {
|
|
221
|
-
await walkFiles(absolutePath, repoRoot, files
|
|
176
|
+
await walkFiles(absolutePath, repoRoot, files);
|
|
222
177
|
continue;
|
|
223
178
|
}
|
|
224
179
|
if (!entry.isFile())
|
|
225
180
|
continue;
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
}
|
|
230
|
-
}
|
|
231
|
-
}
|
|
232
|
-
function globLiteralBase(pattern) {
|
|
233
|
-
const segments = normalizeGlobPath(pattern).split("/");
|
|
234
|
-
const literal = [];
|
|
235
|
-
for (const segment of segments) {
|
|
236
|
-
if (hasGlobMagic(segment))
|
|
237
|
-
break;
|
|
238
|
-
literal.push(segment);
|
|
181
|
+
files.push({
|
|
182
|
+
absolutePath,
|
|
183
|
+
repoRelativePath: toRepoRelative(absolutePath, repoRoot),
|
|
184
|
+
});
|
|
239
185
|
}
|
|
240
|
-
const base = literal.join("/");
|
|
241
|
-
return base === "" ? "." : base;
|
|
242
186
|
}
|
|
243
187
|
function toRepoRelative(path, repoRoot) {
|
|
244
188
|
const rel = relative(repoRoot, path);
|
|
245
|
-
return
|
|
189
|
+
return normalizePath(rel === "" ? "." : rel);
|
|
190
|
+
}
|
|
191
|
+
/** Normalize a repo-relative path: forward slashes, no leading `./`. */
|
|
192
|
+
function normalizePath(p) {
|
|
193
|
+
return p.replace(/\\/g, "/").replace(/^\.\//, "");
|
|
246
194
|
}
|
|
247
195
|
export async function resolveContainedRealFile(absolutePath, repoRoot) {
|
|
248
196
|
const realRepoRoot = await realpath(repoRoot);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"material-transport.js","sourceRoot":"","sources":["../../src/ghost-core/material-transport.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"material-transport.js","sourceRoot":"","sources":["../../src/ghost-core/material-transport.ts"],"names":[],"mappings":"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"}
|
|
@@ -27,7 +27,7 @@ export declare function externalLocatorScheme(value: string): string | undefined
|
|
|
27
27
|
* Classify a material locator after `validateMaterialLocator`. `url` is the
|
|
28
28
|
* legacy public kind for an external locator; `access` distinguishes HTTPS from
|
|
29
29
|
* connection-dependent locators. ghost never resolves or connects to them.
|
|
30
|
-
* Everything else is
|
|
30
|
+
* Everything else is an explicit repo-relative file path.
|
|
31
31
|
*/
|
|
32
32
|
export declare function classifyMaterialLocator(value: string): ClassifiedGhostMaterialLocator;
|
|
33
33
|
/** Return a human-readable validation error, or null when the locator is valid. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"materials.d.ts","sourceRoot":"","sources":["../../src/ghost-core/materials.ts"],"names":[],"mappings":"AAAA,sDAAsD;AACtD,MAAM,MAAM,wBAAwB,GAAG,OAAO,GAAG,KAAK,CAAC;AAEvD,0DAA0D;AAC1D,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,0EAA0E;AAC1E,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,sBAAsB,CAAC;AAE5D,MAAM,WAAW,8BAA8B;IAC7C,IAAI,EAAE,wBAAwB,CAAC;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,2EAA2E;IAC3E,MAAM,CAAC,EAAE,OAAO,GAAG,WAAW,CAAC;CAChC;AAYD,6DAA6D;AAC7D,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,aAAa,GACtB,sBAAsB,CAExB;AAED,2EAA2E;AAC3E,wBAAgB,eAAe,CAAC,QAAQ,EAAE,aAAa,GAAG,MAAM,CAE/D;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAKvE;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,MAAM,GACZ,8BAA8B,CAYhC;AAED,mFAAmF;AACnF,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"materials.d.ts","sourceRoot":"","sources":["../../src/ghost-core/materials.ts"],"names":[],"mappings":"AAAA,sDAAsD;AACtD,MAAM,MAAM,wBAAwB,GAAG,OAAO,GAAG,KAAK,CAAC;AAEvD,0DAA0D;AAC1D,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,0EAA0E;AAC1E,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,sBAAsB,CAAC;AAE5D,MAAM,WAAW,8BAA8B;IAC7C,IAAI,EAAE,wBAAwB,CAAC;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,2EAA2E;IAC3E,MAAM,CAAC,EAAE,OAAO,GAAG,WAAW,CAAC;CAChC;AAYD,6DAA6D;AAC7D,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,aAAa,GACtB,sBAAsB,CAExB;AAED,2EAA2E;AAC3E,wBAAgB,eAAe,CAAC,QAAQ,EAAE,aAAa,GAAG,MAAM,CAE/D;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAKvE;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,MAAM,GACZ,8BAA8B,CAYhC;AAED,mFAAmF;AACnF,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAyDpE"}
|
|
@@ -30,7 +30,7 @@ export function externalLocatorScheme(value) {
|
|
|
30
30
|
* Classify a material locator after `validateMaterialLocator`. `url` is the
|
|
31
31
|
* legacy public kind for an external locator; `access` distinguishes HTTPS from
|
|
32
32
|
* connection-dependent locators. ghost never resolves or connects to them.
|
|
33
|
-
* Everything else is
|
|
33
|
+
* Everything else is an explicit repo-relative file path.
|
|
34
34
|
*/
|
|
35
35
|
export function classifyMaterialLocator(value) {
|
|
36
36
|
if (!URI_SCHEME.test(value) || WINDOWS_ABSOLUTE_PATH.test(value)) {
|
|
@@ -91,6 +91,9 @@ export function validateMaterialLocator(value) {
|
|
|
91
91
|
if (normalized.startsWith("~/")) {
|
|
92
92
|
return "local material locators must be repo-relative, not home-relative paths";
|
|
93
93
|
}
|
|
94
|
+
if (/[*?{]/.test(normalized)) {
|
|
95
|
+
return "local material locators must name each file explicitly; glob patterns are not supported";
|
|
96
|
+
}
|
|
94
97
|
return null;
|
|
95
98
|
}
|
|
96
99
|
//# sourceMappingURL=materials.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"materials.js","sourceRoot":"","sources":["../../src/ghost-core/materials.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"materials.js","sourceRoot":"","sources":["../../src/ghost-core/materials.ts"],"names":[],"mappings":"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"}
|
|
@@ -20,8 +20,9 @@ export interface GhostNodeFrontmatter {
|
|
|
20
20
|
description?: string;
|
|
21
21
|
/**
|
|
22
22
|
* Optional locators for the concrete materials this guidance is about:
|
|
23
|
-
* repo-relative paths
|
|
24
|
-
*
|
|
23
|
+
* explicit repo-relative file paths and supported external locators. Glob
|
|
24
|
+
* patterns are not supported and fail validation. A locator may be a bare
|
|
25
|
+
* string or an object with a short retrieval note. Guidance stays in
|
|
25
26
|
* prose; this list only says where the material can be found.
|
|
26
27
|
*/
|
|
27
28
|
materials?: GhostMaterial[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/ghost-core/node/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErD,eAAO,MAAM,iBAAiB,EAAG,eAAwB,CAAC;AAE1D;;;;;GAKG;AACH,MAAM,WAAW,oBAAoB;IACnC,qEAAqE;IACrE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IACvB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,2EAA2E;IAC3E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/ghost-core/node/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErD,eAAO,MAAM,iBAAiB,EAAG,eAAwB,CAAC;AAE1D;;;;;GAKG;AACH,MAAM,WAAW,oBAAoB;IACnC,qEAAqE;IACrE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IACvB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,2EAA2E;IAC3E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,aAAa,EAAE,CAAC;CAC7B;AAED,MAAM,WAAW,iBAAiB;IAChC,WAAW,EAAE,oBAAoB,CAAC;IAClC,kDAAkD;IAClD,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,MAAM,qBAAqB,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;AAEjE,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,qBAAqB,CAAC;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,kBAAkB,EAAE,CAAC;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;CACd"}
|
|
@@ -3,8 +3,6 @@ context: Any card, popover, modal, dialog, scrim, or bordered container.
|
|
|
3
3
|
materials:
|
|
4
4
|
- materials/primitives.css
|
|
5
5
|
- materials/ref/composition.overlay.html
|
|
6
|
-
- "**/*.html"
|
|
7
|
-
- "**/*.css"
|
|
8
6
|
---
|
|
9
7
|
|
|
10
8
|
Surface is the only way an element gets a background, border, radius, or
|
|
@@ -2,7 +2,13 @@
|
|
|
2
2
|
context: Any text, hero, landing page, or editorial moment.
|
|
3
3
|
materials:
|
|
4
4
|
- materials/tokens.css
|
|
5
|
-
- materials/fonts
|
|
5
|
+
- materials/fonts/HKGrotesk-Black.woff2
|
|
6
|
+
- materials/fonts/HKGrotesk-Bold.woff2
|
|
7
|
+
- materials/fonts/HKGrotesk-ExtraBold.woff2
|
|
8
|
+
- materials/fonts/HKGrotesk-Light.woff2
|
|
9
|
+
- materials/fonts/HKGrotesk-Medium.woff2
|
|
10
|
+
- materials/fonts/HKGrotesk-Regular.woff2
|
|
11
|
+
- materials/fonts/HKGrotesk-SemiBold.woff2
|
|
6
12
|
---
|
|
7
13
|
|
|
8
14
|
This is Vessel's answer to type — it stands until you replace it.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fingerprint-package-lint.d.ts","sourceRoot":"","sources":["../../src/scan/fingerprint-package-lint.ts"],"names":[],"mappings":"AA0BA,OAAO,KAAK,EAAa,UAAU,EAAE,MAAM,WAAW,CAAC;AAGvD;;;;GAIG;AACH,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,GAAG,SAAgB,GAClB,OAAO,CAAC,UAAU,CAAC,CA4DrB;
|
|
1
|
+
{"version":3,"file":"fingerprint-package-lint.d.ts","sourceRoot":"","sources":["../../src/scan/fingerprint-package-lint.ts"],"names":[],"mappings":"AA0BA,OAAO,KAAK,EAAa,UAAU,EAAE,MAAM,WAAW,CAAC;AAGvD;;;;GAIG;AACH,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,GAAG,SAAgB,GAClB,OAAO,CAAC,UAAU,CAAC,CA4DrB;AAkRD,0CAA0C;AAC1C,eAAO,MAAM,sBAAsB,yBAAmB,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { readFile } from "node:fs/promises";
|
|
2
2
|
import { relative, resolve } from "node:path";
|
|
3
|
-
import { classifyMaterialLocator, closestIds,
|
|
3
|
+
import { classifyMaterialLocator, closestIds, extractSkeletonSections, listBundledMaterialFiles, materialLocator, materialLocatorClaimsPath, parseGlossary, parseSourceRef, resolveLocalMaterialFile, sliceNodeSection, } from "#ghost-core";
|
|
4
4
|
import { isMissingPathError } from "../internal/fs.js";
|
|
5
5
|
import { GHOST_GLOSSARY_FILENAME, GHOST_MATERIALS_DIR } from "./constants.js";
|
|
6
6
|
import { resolveGhostPackage, } from "./fingerprint-package.js";
|
|
@@ -185,10 +185,8 @@ async function lintMaterialLocators(paths, catalog, issues, cwd) {
|
|
|
185
185
|
if (classifyMaterialLocator(locator).kind === "url")
|
|
186
186
|
continue;
|
|
187
187
|
claimedLocators.push(locator);
|
|
188
|
-
const
|
|
189
|
-
|
|
190
|
-
});
|
|
191
|
-
if (expanded.matches.length > 0)
|
|
188
|
+
const resolved = await resolveLocalMaterialFile(locator, options);
|
|
189
|
+
if (resolved.match !== undefined)
|
|
192
190
|
continue;
|
|
193
191
|
issues.push({
|
|
194
192
|
severity: "warning",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fingerprint-package-lint.js","sourceRoot":"","sources":["../../src/scan/fingerprint-package-lint.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EACL,uBAAuB,EACvB,UAAU,EACV,
|
|
1
|
+
{"version":3,"file":"fingerprint-package-lint.js","sourceRoot":"","sources":["../../src/scan/fingerprint-package-lint.ts"],"names":[],"mappings":"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"}
|
|
@@ -28,8 +28,9 @@ it applies, and an agent reads the relevant guidance before building.
|
|
|
28
28
|
|
|
29
29
|
- A **node** is a markdown file: `context`, optional `materials`, and prose brand guidance. `description` is a deprecated compatibility alias for one release.
|
|
30
30
|
- `materials` is one list of locators for the concrete stuff the guidance is about:
|
|
31
|
-
repo-relative paths
|
|
32
|
-
[schema.md](references/schema.md))
|
|
31
|
+
explicit repo-relative file paths or supported external locators (see
|
|
32
|
+
[schema.md](references/schema.md)); name each file rather than
|
|
33
|
+
reaching for a glob. A bare locator is enough
|
|
33
34
|
when it explains itself. An opaque locator may use `{ locator, note }` to say
|
|
34
35
|
what it contains. `materials/` is reserved for bundled materials; reference
|
|
35
36
|
living implementations where they already live. Guidance stays in prose.
|
|
@@ -48,8 +48,14 @@ that contradicts itself.
|
|
|
48
48
|
failures this brand actually needs to avoid.
|
|
49
49
|
4. **Add or edit materials.** Record literal values where the implementation or
|
|
50
50
|
asset materials live, then add `materials` locators to the nodes that explain
|
|
51
|
-
them.
|
|
52
|
-
|
|
51
|
+
them. Name each file explicitly; do not reach for glob patterns, which in a
|
|
52
|
+
live repo can capture unintended files into pulls. Role names can stay
|
|
53
|
+
stable while values change. The point is that a realizing agent can inspect
|
|
54
|
+
the same concrete source the prose governs. Starter and vendored packages
|
|
55
|
+
ship locators written against the source repo's layout, so after vendoring,
|
|
56
|
+
verify every locator resolves against this repo's actual paths, repoint the
|
|
57
|
+
ones that moved, and run `ghost validate` — `material-locator-dead` warnings
|
|
58
|
+
name the stale ones.
|
|
53
59
|
5. **Re-tune contexts.** Revisit each `context.*` node after the foundation
|
|
54
60
|
answers exist. Keep only inversions that apply in that situation; delete
|
|
55
61
|
generic foundation rules repeated there, and add new contexts only when a
|
|
@@ -353,9 +353,11 @@ non-negotiables that apply to every task, what the package covers, and any
|
|
|
353
353
|
stricter silence posture. `ghost gather` inlines it before the menu, so anything
|
|
354
354
|
that must never be missed belongs there.
|
|
355
355
|
|
|
356
|
-
Nodes may carry a `materials` list in frontmatter: repo-relative
|
|
357
|
-
supported external locators (see [schema.md](schema.md)) for the
|
|
358
|
-
materials the prose governs.
|
|
356
|
+
Nodes may carry a `materials` list in frontmatter: explicit repo-relative file
|
|
357
|
+
paths or supported external locators (see [schema.md](schema.md)) for the
|
|
358
|
+
concrete materials the prose governs. Name each file; glob patterns are not
|
|
359
|
+
supported and fail validation, because in a live repo a glob can capture
|
|
360
|
+
unintended files into pulls. Use a bare locator when it explains itself. Use
|
|
359
361
|
`{ locator, note }` when an opaque locator needs a short retrieval cue. The
|
|
360
362
|
external locator tells the host how to connect;
|
|
361
363
|
ghost does not fetch or authenticate. Put brand-owned materials that should
|
|
@@ -57,12 +57,14 @@ Use the full lockup when recognition matters.
|
|
|
57
57
|
universal wording unless universal retrieval is intended. `description`
|
|
58
58
|
remains a deprecated read alias for one release; `ghost validate` warns until
|
|
59
59
|
it is renamed.
|
|
60
|
-
- `materials` accepts repo-relative paths
|
|
61
|
-
`figma:`, or `github:`.
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
60
|
+
- `materials` accepts repo-relative file paths plus supported external locators
|
|
61
|
+
using `https:`, `mcp:`, `figma:`, or `github:`. Name each file explicitly:
|
|
62
|
+
glob patterns are not supported and fail validation, because in a live
|
|
63
|
+
repo a glob can capture unintended files into pulls. Items may be bare
|
|
64
|
+
locator strings or `{ locator, note }` objects. Use a short `note` only when
|
|
65
|
+
an opaque locator needs retrieval context. The external locator tells the
|
|
66
|
+
host how to connect; ghost does not fetch or authenticate. The list locates
|
|
67
|
+
material, while guidance stays in the node body.
|
|
66
68
|
|
|
67
69
|
ghost derives whether a node carries concrete material from structure:
|
|
68
70
|
non-empty `materials`, a fenced code block of at least 3 lines, or a
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@design-intelligence/ghost",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.28.0",
|
|
4
4
|
"description": "ghost CLI for portable .ghost/ packages of brand guidance your agent reads before it builds, with advisory review after",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"author": "Block, Inc.",
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
/** Tiny dependency-free glob matcher for repo-relative paths. */
|
|
2
|
-
export declare function matchesGlob(glob: string, path: string): boolean;
|
|
3
|
-
export declare function hasGlobMagic(path: string): boolean;
|
|
4
|
-
export declare function normalizeGlobPath(path: string): string;
|
|
5
|
-
//# sourceMappingURL=glob.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"glob.d.ts","sourceRoot":"","sources":["../../src/ghost-core/glob.ts"],"names":[],"mappings":"AAAA,iEAAiE;AACjE,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAG/D;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAElD;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEtD"}
|
package/dist/ghost-core/glob.js
DELETED
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
/** Tiny dependency-free glob matcher for repo-relative paths. */
|
|
2
|
-
export function matchesGlob(glob, path) {
|
|
3
|
-
const re = globToRegExp(glob);
|
|
4
|
-
return re.test(normalize(path));
|
|
5
|
-
}
|
|
6
|
-
export function hasGlobMagic(path) {
|
|
7
|
-
return /[*?{]/.test(path);
|
|
8
|
-
}
|
|
9
|
-
export function normalizeGlobPath(path) {
|
|
10
|
-
return normalize(path);
|
|
11
|
-
}
|
|
12
|
-
function normalize(p) {
|
|
13
|
-
return p.replace(/\\/g, "/").replace(/^\.\//, "");
|
|
14
|
-
}
|
|
15
|
-
const cache = new Map();
|
|
16
|
-
function globToRegExp(glob) {
|
|
17
|
-
const cached = cache.get(glob);
|
|
18
|
-
if (cached)
|
|
19
|
-
return cached;
|
|
20
|
-
const g = normalize(glob);
|
|
21
|
-
let re = "";
|
|
22
|
-
for (let i = 0; i < g.length; i++) {
|
|
23
|
-
const c = g[i];
|
|
24
|
-
if (c === "*") {
|
|
25
|
-
if (g[i + 1] === "*") {
|
|
26
|
-
i++;
|
|
27
|
-
if (g[i + 1] === "/") {
|
|
28
|
-
i++;
|
|
29
|
-
re += "(?:.*/)?";
|
|
30
|
-
}
|
|
31
|
-
else {
|
|
32
|
-
re += ".*";
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
else {
|
|
36
|
-
re += "[^/]*";
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
else if (c === "?") {
|
|
40
|
-
re += "[^/]";
|
|
41
|
-
}
|
|
42
|
-
else if (c === "{") {
|
|
43
|
-
const close = g.indexOf("}", i);
|
|
44
|
-
if (close === -1) {
|
|
45
|
-
re += "\\{";
|
|
46
|
-
}
|
|
47
|
-
else {
|
|
48
|
-
const alts = g
|
|
49
|
-
.slice(i + 1, close)
|
|
50
|
-
.split(",")
|
|
51
|
-
.map(escapeLiteral)
|
|
52
|
-
.join("|");
|
|
53
|
-
re += `(?:${alts})`;
|
|
54
|
-
i = close;
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
else {
|
|
58
|
-
re += escapeLiteral(c);
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
const compiled = new RegExp(`^${re}$`);
|
|
62
|
-
cache.set(glob, compiled);
|
|
63
|
-
return compiled;
|
|
64
|
-
}
|
|
65
|
-
function escapeLiteral(s) {
|
|
66
|
-
return s.replace(/[.+^${}()|[\]\\]/g, "\\$&");
|
|
67
|
-
}
|
|
68
|
-
//# sourceMappingURL=glob.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"glob.js","sourceRoot":"","sources":["../../src/ghost-core/glob.ts"],"names":[],"mappings":"AAAA,iEAAiE;AACjE,MAAM,UAAU,WAAW,CAAC,IAAY,EAAE,IAAY;IACpD,MAAM,EAAE,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IAC9B,OAAO,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;AAClC,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,IAAY;IACvC,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC5B,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,IAAY;IAC5C,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC;AACzB,CAAC;AAED,SAAS,SAAS,CAAC,CAAS;IAC1B,OAAO,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;AACpD,CAAC;AAED,MAAM,KAAK,GAAG,IAAI,GAAG,EAAkB,CAAC;AAExC,SAAS,YAAY,CAAC,IAAY;IAChC,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC/B,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC;IAE1B,MAAM,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAC1B,IAAI,EAAE,GAAG,EAAE,CAAC;IACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAClC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACf,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;YACd,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;gBACrB,CAAC,EAAE,CAAC;gBACJ,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;oBACrB,CAAC,EAAE,CAAC;oBACJ,EAAE,IAAI,UAAU,CAAC;gBACnB,CAAC;qBAAM,CAAC;oBACN,EAAE,IAAI,IAAI,CAAC;gBACb,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,EAAE,IAAI,OAAO,CAAC;YAChB,CAAC;QACH,CAAC;aAAM,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;YACrB,EAAE,IAAI,MAAM,CAAC;QACf,CAAC;aAAM,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;YACrB,MAAM,KAAK,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;YAChC,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;gBACjB,EAAE,IAAI,KAAK,CAAC;YACd,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,GAAG,CAAC;qBACX,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC;qBACnB,KAAK,CAAC,GAAG,CAAC;qBACV,GAAG,CAAC,aAAa,CAAC;qBAClB,IAAI,CAAC,GAAG,CAAC,CAAC;gBACb,EAAE,IAAI,MAAM,IAAI,GAAG,CAAC;gBACpB,CAAC,GAAG,KAAK,CAAC;YACZ,CAAC;QACH,CAAC;aAAM,CAAC;YACN,EAAE,IAAI,aAAa,CAAC,CAAC,CAAC,CAAC;QACzB,CAAC;IACH,CAAC;IACD,MAAM,QAAQ,GAAG,IAAI,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACvC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC1B,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,aAAa,CAAC,CAAS;IAC9B,OAAO,CAAC,CAAC,OAAO,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAAC;AAChD,CAAC"}
|
package/dist/review/glob.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"glob.d.ts","sourceRoot":"","sources":["../../src/review/glob.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC"}
|
package/dist/review/glob.js
DELETED
package/dist/review/glob.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"glob.js","sourceRoot":"","sources":["../../src/review/glob.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC"}
|