@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.
Files changed (43) hide show
  1. package/dist/embed/inspect.d.ts.map +1 -1
  2. package/dist/embed/inspect.js +21 -28
  3. package/dist/embed/inspect.js.map +1 -1
  4. package/dist/embed/pull.d.ts.map +1 -1
  5. package/dist/embed/pull.js +29 -0
  6. package/dist/embed/pull.js.map +1 -1
  7. package/dist/ghost-core/index.d.ts +1 -2
  8. package/dist/ghost-core/index.d.ts.map +1 -1
  9. package/dist/ghost-core/index.js +1 -3
  10. package/dist/ghost-core/index.js.map +1 -1
  11. package/dist/ghost-core/material-transport.d.ts +4 -8
  12. package/dist/ghost-core/material-transport.d.ts.map +1 -1
  13. package/dist/ghost-core/material-transport.js +39 -91
  14. package/dist/ghost-core/material-transport.js.map +1 -1
  15. package/dist/ghost-core/materials.d.ts +1 -1
  16. package/dist/ghost-core/materials.d.ts.map +1 -1
  17. package/dist/ghost-core/materials.js +4 -1
  18. package/dist/ghost-core/materials.js.map +1 -1
  19. package/dist/ghost-core/node/types.d.ts +3 -2
  20. package/dist/ghost-core/node/types.d.ts.map +1 -1
  21. package/dist/init-payloads/vessel-light/grammar.color-roles.md +0 -2
  22. package/dist/init-payloads/vessel-light/grammar.conversation.md +0 -1
  23. package/dist/init-payloads/vessel-light/grammar.hierarchy.md +0 -2
  24. package/dist/init-payloads/vessel-light/grammar.motion.md +0 -2
  25. package/dist/init-payloads/vessel-light/grammar.rhythm.md +0 -2
  26. package/dist/init-payloads/vessel-light/grammar.surfaces.md +0 -2
  27. package/dist/init-payloads/vessel-light/signature.type.md +7 -1
  28. package/dist/scan/fingerprint-package-lint.d.ts.map +1 -1
  29. package/dist/scan/fingerprint-package-lint.js +3 -5
  30. package/dist/scan/fingerprint-package-lint.js.map +1 -1
  31. package/dist/skill-bundle/SKILL.md +3 -2
  32. package/dist/skill-bundle/references/adapting-a-starter.md +8 -2
  33. package/dist/skill-bundle/references/capture.md +5 -3
  34. package/dist/skill-bundle/references/schema.md +8 -6
  35. package/package.json +1 -1
  36. package/dist/ghost-core/glob.d.ts +0 -5
  37. package/dist/ghost-core/glob.d.ts.map +0 -1
  38. package/dist/ghost-core/glob.js +0 -68
  39. package/dist/ghost-core/glob.js.map +0 -1
  40. package/dist/review/glob.d.ts +0 -2
  41. package/dist/review/glob.d.ts.map +0 -1
  42. package/dist/review/glob.js +0 -2
  43. 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":"AAgBA,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,CAiLrC"}
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"}
@@ -1,6 +1,6 @@
1
1
  import { readFile, stat } from "node:fs/promises";
2
2
  import { TextDecoder } from "node:util";
3
- import { classifyMaterialLocator, expandLocalMaterialLocator, hasGlobMagic, inferMaterialMime, isTextMime, materialLocator, materialLocatorClaimsPath, resolveContainedRealFile, resolveLocalMaterialLocator, validateMaterialLocator, } from "#ghost-core";
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 expanded = await expandLocalMaterialLocator(request.locator, {
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 (expanded.tier === "referenced" && policy.local === "bundled") {
31
- return rejected(request, "referenced material inspection is disabled by policy", expanded.tier);
30
+ if (resolved.tier === "referenced" && policy.local === "bundled") {
31
+ return rejected(request, "referenced material inspection is disabled by policy", resolved.tier);
32
32
  }
33
- if (expanded.matches.length === 0) {
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", expanded.tier);
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", expanded.tier, match.repoRelativePath);
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", expanded.tier, match.repoRelativePath);
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", expanded.tier, contained.repoRelativePath);
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", expanded.tier, contained.repoRelativePath);
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`, expanded.tier, contained.repoRelativePath, info.size);
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`, expanded.tier, contained.repoRelativePath, info.size, mime);
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", expanded.tier, contained.repoRelativePath);
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`, expanded.tier, contained.repoRelativePath, buffer.byteLength, mime);
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: expanded.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", expanded.tier, contained.repoRelativePath, buffer.byteLength, mime);
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) => hasGlobMagic(locator) &&
120
- materialLocatorClaimsPath(locator, requestedPath, {
121
- repoRoot,
122
- packageDir,
123
- materialsDir: GHOST_MATERIALS_DIR,
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":"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"}
1
+ {"version":3,"file":"inspect.js","sourceRoot":"","sources":["../../src/embed/inspect.ts"],"names":[],"mappings":"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"}
@@ -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,CAgD1B"}
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"}
@@ -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) => ({
@@ -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 { type ExpandedLocalMaterialLocator, expandLocalMaterialLocator, inferMaterialMime, isBinaryMaterial, isTextMime, listBundledMaterialFiles, type MaterialMimeInfo, type MaterialTransportOptions, type MaterialTransportResult, materialLocatorClaimsPath, resolveContainedRealFile, resolveLocalMaterialLocator, type TransportedMaterial, type TransportedMaterialTier, transportMaterials, } from "./material-transport.js";
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,EAAE,YAAY,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAEzE,OAAO,EACL,KAAK,qBAAqB,EAC1B,8BAA8B,EAC9B,KAAK,iBAAiB,EACtB,KAAK,wBAAwB,EAC7B,aAAa,GACd,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,KAAK,4BAA4B,EACjC,0BAA0B,EAC1B,iBAAiB,EACjB,gBAAgB,EAChB,UAAU,EACV,wBAAwB,EACxB,KAAK,gBAAgB,EACrB,KAAK,wBAAwB,EAC7B,KAAK,uBAAuB,EAC5B,yBAAyB,EACzB,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"}
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"}
@@ -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 { expandLocalMaterialLocator, inferMaterialMime, isBinaryMaterial, isTextMime, listBundledMaterialFiles, materialLocatorClaimsPath, resolveContainedRealFile, resolveLocalMaterialLocator, transportMaterials, } from "./material-transport.js";
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,iDAAiD;AACjD,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AACzE,0DAA0D;AAC1D,OAAO,EAEL,8BAA8B,EAG9B,aAAa,GACd,MAAM,eAAe,CAAC;AACvB,OAAO,EAEL,0BAA0B,EAC1B,iBAAiB,EACjB,gBAAgB,EAChB,UAAU,EACV,wBAAwB,EAIxB,yBAAyB,EACzB,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"}
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 ExpandedLocalMaterialLocator {
24
+ export interface ResolvedLocalMaterialFile {
26
25
  locator: string;
27
26
  tier: Exclude<TransportedMaterialTier, "url">;
28
27
  pattern: string;
29
- matches: Array<{
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 expandLocalMaterialLocator(locator: string, options: MaterialTransportOptions, expandOptions?: {
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":"AAIA,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,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,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,4BAA4B;IAC3C,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,OAAO,CAAC,uBAAuB,EAAE,KAAK,CAAC,CAAC;IAC9C,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,KAAK,CAAC;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,gBAAgB,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACnE,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAC;CAC1C;AAOD,wBAAsB,kBAAkB,CACtC,YAAY,EAAE,aAAa,EAAE,GAAG,SAAS,EACzC,OAAO,EAAE,wBAAwB,GAChC,OAAO,CAAC,uBAAuB,CAAC,CAgElC;AAED,wBAAsB,0BAA0B,CAC9C,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,wBAAwB,EACjC,aAAa,GAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAA;CAAO,GACnC,OAAO,CAAC,4BAA4B,CAAC,CAwCvC;AAED,wBAAsB,wBAAwB,CAC5C,OAAO,EAAE,wBAAwB,GAChC,OAAO,CAAC,MAAM,EAAE,CAAC,CAWnB;AAED,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,MAAM,EACf,gBAAgB,EAAE,MAAM,EACxB,OAAO,EAAE,wBAAwB,GAChC,OAAO,CAOT;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;AAsID,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
+ {"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 expanded = await expandLocalMaterialLocator(locator, options, {
30
- cap: options.globCap ?? DEFAULT_GLOB_CAP,
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: expanded.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
- for (const match of expanded.matches) {
45
- const transported = await transportFile(globbed ? match.repoRelativePath : locator, match, expanded.tier, options);
46
- if (note !== undefined)
47
- transported.note = note;
48
- materials.push(transported);
49
- if (transported.inlined !== undefined)
50
- inlined += 1;
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 expandLocalMaterialLocator(locator, options, expandOptions = {}) {
50
+ export async function resolveLocalMaterialFile(locator, options) {
68
51
  const resolved = resolveLocalMaterialLocator(locator, options);
69
- const cap = expandOptions.cap ?? Number.POSITIVE_INFINITY;
70
- if (!hasGlobMagic(locator)) {
71
- const absolutePath = resolve(options.repoRoot, resolved.pattern);
72
- try {
73
- const s = await stat(absolutePath);
74
- return {
75
- locator,
76
- tier: resolved.tier,
77
- pattern: resolved.pattern,
78
- matches: s.isFile()
79
- ? [{ absolutePath, repoRelativePath: resolved.pattern }]
80
- : [],
81
- truncated: false,
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, Number.POSITIVE_INFINITY);
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
- const normalizedPath = normalizeGlobPath(repoRelativePath);
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 = normalizeGlobPath(locator);
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, limit, glob) {
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, limit, glob);
176
+ await walkFiles(absolutePath, repoRoot, files);
222
177
  continue;
223
178
  }
224
179
  if (!entry.isFile())
225
180
  continue;
226
- const repoRelativePath = toRepoRelative(absolutePath, repoRoot);
227
- if (glob === undefined || matchesGlob(glob, repoRelativePath)) {
228
- files.push({ absolutePath, repoRelativePath });
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 normalizeGlobPath(rel === "" ? "." : rel);
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":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACrE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AACzE,OAAO,EACL,uBAAuB,EAEvB,iBAAiB,GAClB,MAAM,gBAAgB,CAAC;AA0CxB,MAAM,qBAAqB,GAAG,WAAW,CAAC;AAC1C,MAAM,gBAAgB,GAAG,EAAE,CAAC;AAC5B,MAAM,+BAA+B,GAAG,CAAC,GAAG,IAAI,CAAC;AACjD,MAAM,WAAW,GAAG,IAAI,WAAW,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AAE9D,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,YAAyC,EACzC,OAAiC;IAEjC,MAAM,SAAS,GAA0B,EAAE,CAAC;IAC5C,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,IAAI,OAAO,GAAG,CAAC,CAAC;IAEhB,KAAK,MAAM,WAAW,IAAI,YAAY,IAAI,EAAE,EAAE,CAAC;QAC7C,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,iBAAiB,CAAC,WAAW,CAAC,CAAC;QACzD,MAAM,UAAU,GAAG,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;QACtD,MAAM,UAAU,GAAG,uBAAuB,CAAC,OAAO,CAAC,CAAC;QACpD,IAAI,UAAU,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;YAC9B,SAAS,CAAC,IAAI,CAAC;gBACb,OAAO;gBACP,GAAG,UAAU;gBACb,IAAI,EAAE,KAAK;gBACX,OAAO,EAAE,IAAI;gBACb,MAAM,EACJ,4EAA4E;aAC/E,CAAC,CAAC;YACH,OAAO,IAAI,CAAC,CAAC;YACb,SAAS;QACX,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,0BAA0B,CAAC,OAAO,EAAE,OAAO,EAAE;YAClE,GAAG,EAAE,OAAO,CAAC,OAAO,IAAI,gBAAgB;SACzC,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;QACtC,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAClC,SAAS,CAAC,IAAI,CAAC;gBACb,OAAO;gBACP,GAAG,UAAU;gBACb,IAAI,EAAE,QAAQ,CAAC,IAAI;gBACnB,OAAO,EAAE,IAAI;gBACb,MAAM,EAAE,wBAAwB;aACjC,CAAC,CAAC;YACH,OAAO,IAAI,CAAC,CAAC;YACb,SAAS;QACX,CAAC;QAED,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;YACrC,MAAM,WAAW,GAAG,MAAM,aAAa,CACrC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,OAAO,EAC1C,KAAK,EACL,QAAQ,CAAC,IAAI,EACb,OAAO,CACR,CAAC;YACF,IAAI,IAAI,KAAK,SAAS;gBAAE,WAAW,CAAC,IAAI,GAAG,IAAI,CAAC;YAChD,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAC5B,IAAI,WAAW,CAAC,OAAO,KAAK,SAAS;gBAAE,OAAO,IAAI,CAAC,CAAC;YACpD,IAAI,WAAW,CAAC,OAAO;gBAAE,OAAO,IAAI,CAAC,CAAC;QACxC,CAAC;QAED,IAAI,QAAQ,CAAC,SAAS,EAAE,CAAC;YACvB,SAAS,CAAC,IAAI,CAAC;gBACb,OAAO;gBACP,GAAG,UAAU;gBACb,IAAI,EAAE,QAAQ,CAAC,IAAI;gBACnB,OAAO,EAAE,IAAI;gBACb,MAAM,EAAE,0BAA0B,OAAO,CAAC,OAAO,IAAI,gBAAgB,0BAA0B;aAChG,CAAC,CAAC;YACH,OAAO,IAAI,CAAC,CAAC;QACf,CAAC;IACH,CAAC;IAED,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;AACzC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,OAAe,EACf,OAAiC,EACjC,gBAAkC,EAAE;IAEpC,MAAM,QAAQ,GAAG,2BAA2B,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC/D,MAAM,GAAG,GAAG,aAAa,CAAC,GAAG,IAAI,MAAM,CAAC,iBAAiB,CAAC;IAE1D,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3B,MAAM,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;QACjE,IAAI,CAAC;YACH,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,CAAC;YACnC,OAAO;gBACL,OAAO;gBACP,IAAI,EAAE,QAAQ,CAAC,IAAI;gBACnB,OAAO,EAAE,QAAQ,CAAC,OAAO;gBACzB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;oBACjB,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,gBAAgB,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAC;oBACxD,CAAC,CAAC,EAAE;gBACN,SAAS,EAAE,KAAK;aACjB,CAAC;QACJ,CAAC;QAAC,MAAM,CAAC;YACP,OAAO;gBACL,OAAO;gBACP,IAAI,EAAE,QAAQ,CAAC,IAAI;gBACnB,OAAO,EAAE,QAAQ,CAAC,OAAO;gBACzB,OAAO,EAAE,EAAE;gBACX,SAAS,EAAE,KAAK;aACjB,CAAC;QACJ,CAAC;IACH,CAAC;IAED,MAAM,IAAI,GAAG,eAAe,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC/C,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAChD,MAAM,KAAK,GAA8D,EAAE,CAAC;IAC5E,MAAM,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,QAAQ,EAAE,KAAK,EAAE,GAAG,GAAG,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;IAE7E,OAAO;QACL,OAAO;QACP,IAAI,EAAE,QAAQ,CAAC,IAAI;QACnB,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;QAC5B,SAAS,EAAE,KAAK,CAAC,MAAM,GAAG,GAAG;KAC9B,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,OAAiC;IAEjC,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,qBAAqB,CAAC;IACnE,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;IAC1D,MAAM,KAAK,GAA8D,EAAE,CAAC;IAC5E,MAAM,SAAS,CACb,UAAU,EACV,OAAO,CAAC,QAAQ,EAChB,KAAK,EACL,MAAM,CAAC,iBAAiB,CACzB,CAAC;IACF,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,IAAI,EAAE,CAAC;AAC3D,CAAC;AAED,MAAM,UAAU,yBAAyB,CACvC,OAAe,EACf,gBAAwB,EACxB,OAAiC;IAEjC,IAAI,uBAAuB,CAAC,OAAO,CAAC,CAAC,IAAI,KAAK,KAAK;QAAE,OAAO,KAAK,CAAC;IAClE,MAAM,QAAQ,GAAG,2BAA2B,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC/D,MAAM,cAAc,GAAG,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;IAC3D,OAAO,YAAY,CAAC,OAAO,CAAC;QAC1B,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC;QAC/C,CAAC,CAAC,QAAQ,CAAC,OAAO,KAAK,cAAc,CAAC;AAC1C,CAAC;AAED,MAAM,UAAU,2BAA2B,CACzC,OAAe,EACf,OAAiC;IAKjC,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,qBAAqB,CAAC;IACnE,MAAM,UAAU,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAC9C,MAAM,mBAAmB,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;IACtE,MAAM,eAAe,GACnB,UAAU,KAAK,YAAY,IAAI,UAAU,CAAC,UAAU,CAAC,GAAG,YAAY,GAAG,CAAC,CAAC;IAC3E,MAAM,OAAO,GAAG,eAAe;QAC7B,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,UAAU,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC;QAC3E,CAAC,CAAC,UAAU,CAAC;IACf,MAAM,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC3D,MAAM,IAAI,GACR,eAAe,IAAI,eAAe,CAAC,eAAe,EAAE,mBAAmB,CAAC;QACtE,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,YAAY,CAAC;IACnB,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;AAC3B,CAAC;AAED,KAAK,UAAU,aAAa,CAC1B,OAAe,EACf,KAAyD,EACzD,IAA6C,EAC7C,OAAiC;IAEjC,MAAM,WAAW,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,gBAAgB,EAAE,CAAC;IACpE,IAAI,SAA+D,CAAC;IACpE,IAAI,CAAC;QACH,SAAS,GAAG,MAAM,wBAAwB,CACxC,KAAK,CAAC,YAAY,EAClB,OAAO,CAAC,QAAQ,CACjB,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO;YACL,GAAG,WAAW;YACd,OAAO,EAAE,IAAa;YACtB,MAAM,EAAE,gCAAgC;SACzC,CAAC;IACJ,CAAC;IACD,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;QACvB,OAAO;YACL,GAAG,WAAW;YACd,OAAO,EAAE,IAAa;YACtB,MAAM,EAAE,qCAAqC;SAC9C,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC,gBAAgB,EAAE,CAAC;IACjE,IAAI,CAAmC,CAAC;IACxC,IAAI,CAAC;QACH,CAAC,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IACrC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO;YACL,GAAG,IAAI;YACP,OAAO,EAAE,IAAa;YACtB,MAAM,EAAE,gCAAgC;SACzC,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;QAChB,OAAO,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,IAAa,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC;IACnE,CAAC;IAED,MAAM,WAAW,GACf,OAAO,CAAC,qBAAqB,IAAI,+BAA+B,CAAC;IACnE,IAAI,IAAI,KAAK,YAAY,IAAI,CAAC,CAAC,IAAI,GAAG,WAAW,EAAE,CAAC;QAClD,OAAO;YACL,GAAG,IAAI;YACP,OAAO,EAAE,IAAa;YACtB,MAAM,EAAE,WAAW,WAAW,CAAC,WAAW,CAAC,eAAe;SAC3D,CAAC;IACJ,CAAC;IAED,IAAI,MAAc,CAAC;IACnB,IAAI,CAAC;QACH,MAAM,GAAG,MAAM,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IAC9C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO;YACL,GAAG,IAAI;YACP,OAAO,EAAE,IAAa;YACtB,MAAM,EAAE,gCAAgC;SACzC,CAAC;IACJ,CAAC;IAED,IAAI,gBAAgB,CAAC,MAAM,CAAC,EAAE,CAAC;QAC7B,OAAO;YACL,GAAG,IAAI;YACP,OAAO,EAAE,IAAa;YACtB,MAAM,EAAE,wBAAwB;SACjC,CAAC;IACJ,CAAC;IAED,IAAI,CAAC;QACH,OAAO,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;IAC1D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,IAAa,EAAE,MAAM,EAAE,sBAAsB,EAAE,CAAC;IAC7E,CAAC;AACH,CAAC;AAED,KAAK,UAAU,SAAS,CACtB,GAAW,EACX,QAAgB,EAChB,KAAgE,EAChE,KAAa,EACb,IAAa;IAEb,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK;QAAE,OAAO;IAElC,IAAI,OAIF,CAAC;IACH,IAAI,CAAC;QACH,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IACxD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO;IACT,CAAC;IAED,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;QACzE,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK;YAAE,OAAO;QAClC,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM;YAAE,SAAS;QACpC,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QAC3C,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;YACxB,MAAM,SAAS,CAAC,YAAY,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;YAC5D,SAAS;QACX,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;YAAE,SAAS;QAC9B,MAAM,gBAAgB,GAAG,cAAc,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;QAChE,IAAI,IAAI,KAAK,SAAS,IAAI,WAAW,CAAC,IAAI,EAAE,gBAAgB,CAAC,EAAE,CAAC;YAC9D,KAAK,CAAC,IAAI,CAAC,EAAE,YAAY,EAAE,gBAAgB,EAAE,CAAC,CAAC;QACjD,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,eAAe,CAAC,OAAe;IACtC,MAAM,QAAQ,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACvD,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,IAAI,YAAY,CAAC,OAAO,CAAC;YAAE,MAAM;QACjC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACxB,CAAC;IACD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC/B,OAAO,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;AAClC,CAAC;AAED,SAAS,cAAc,CAAC,IAAY,EAAE,QAAgB;IACpD,MAAM,GAAG,GAAG,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IACrC,OAAO,iBAAiB,CAAC,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AACnD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,YAAoB,EACpB,QAAgB;IAEhB,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAC9C,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,YAAY,CAAC,CAAC;IAC9C,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,YAAY,CAAC;QAAE,OAAO,IAAI,CAAC;IAE1D,OAAO;QACL,QAAQ;QACR,gBAAgB,EAAE,cAAc,CAAC,QAAQ,EAAE,YAAY,CAAC;KACzD,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,IAAY;IAC5C,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;IACjC,IAAI,IAAI,GAAG,0BAA0B,CAAC;IACtC,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,IAAI,GAAG,WAAW,CAAC;SAC1C,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC;QACxD,IAAI,GAAG,YAAY,CAAC;SACjB,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,IAAI,GAAG,WAAW,CAAC;SAC/C,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC;QAAE,IAAI,GAAG,YAAY,CAAC;SACjD,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,IAAI,GAAG,eAAe,CAAC;SACnD,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,IAAI,GAAG,UAAU,CAAC;SAC9C,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC;QACxD,IAAI,GAAG,WAAW,CAAC;SAChB,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC;QAAE,IAAI,GAAG,kBAAkB,CAAC;SACvD,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC;QAC3D,IAAI,GAAG,eAAe,CAAC;SACpB,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,IAAI,GAAG,YAAY,CAAC;SAChD,IACH,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC;QACrB,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC;QACtB,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC;QACrB,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,EACtB,CAAC;QACD,IAAI,GAAG,YAAY,CAAC;IACtB,CAAC;IAED,OAAO;QACL,IAAI;QACJ,WAAW,EAAE,UAAU,CAAC,IAAI,CAAC;YAC3B,CAAC,CAAC,MAAM;YACR,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;gBACzB,CAAC,CAAC,OAAO;gBACT,CAAC,CAAC,QAAQ;KACf,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,MAAc;IAC7C,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;AAC5B,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,IAAY;IACrC,OAAO,CACL,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;QACxB,IAAI,KAAK,kBAAkB;QAC3B,IAAI,KAAK,eAAe,CACzB,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAC,KAAa,EAAE,MAAc;IACpD,MAAM,GAAG,GAAG,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACpC,OAAO,GAAG,KAAK,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;AACnE,CAAC;AAED,SAAS,WAAW,CAAC,KAAa;IAChC,OAAO,KAAK,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,QAAQ,CAAC;AACtE,CAAC"}
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 a repo-relative path/glob.
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,CAsDpE"}
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 a repo-relative path/glob.
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/globs and supported external locators. A locator
24
- * may be a bare string or an object with a short retrieval note. Guidance stays in
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;;;;;OAKG;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"}
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"}
@@ -2,8 +2,6 @@
2
2
  context: Choosing or applying color.
3
3
  materials:
4
4
  - materials/tokens.css
5
- - "**/*.css"
6
- - "**/*.html"
7
5
  ---
8
6
 
9
7
  The token file is the source of truth. An agent may combine tokens, but it
@@ -2,7 +2,6 @@
2
2
  context: Any AI thread, agent console, review assistant, or prompt composer.
3
3
  materials:
4
4
  - materials/ref/composition.conversation.html
5
- - "**/*.html"
6
5
  ---
7
6
 
8
7
  Conversation UI is not chat cosplay. The assistant speaks on the page surface
@@ -3,8 +3,6 @@ context: Any view containing text or actions.
3
3
  materials:
4
4
  - materials/primitives.css
5
5
  - materials/ref/composition.form.html
6
- - "**/*.html"
7
- - "**/*.css"
8
6
  ---
9
7
 
10
8
  Hierarchy is a closed vocabulary, not a size slider. Every piece of text and
@@ -2,8 +2,6 @@
2
2
  context: Any transition, animation, or hover treatment.
3
3
  materials:
4
4
  - materials/tokens.css
5
- - "**/*.css"
6
- - "**/*.html"
7
5
  ---
8
6
 
9
7
  Motion is evidence of a state change. It confirms hover, press, reveal,
@@ -2,8 +2,6 @@
2
2
  context: Laying out any view.
3
3
  materials:
4
4
  - materials/primitives.css
5
- - "**/*.html"
6
- - "**/*.css"
7
5
  ---
8
6
 
9
7
  All layout is stacks. Rhythm comes from relationships between siblings, not
@@ -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/*.woff2
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;AAoRD,0CAA0C;AAC1C,eAAO,MAAM,sBAAsB,yBAAmB,CAAC"}
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, expandLocalMaterialLocator, extractSkeletonSections, listBundledMaterialFiles, materialLocator, materialLocatorClaimsPath, parseGlossary, parseSourceRef, sliceNodeSection, } from "#ghost-core";
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 expanded = await expandLocalMaterialLocator(locator, options, {
189
- cap: Number.POSITIVE_INFINITY,
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":"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"}
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,uBAAuB,EAEvB,wBAAwB,EACxB,eAAe,EACf,yBAAyB,EACzB,aAAa,EACb,cAAc,EACd,wBAAwB,EACxB,gBAAgB,GACjB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAEvD,OAAO,EAAE,uBAAuB,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAC9E,OAAO,EAEL,mBAAmB,GACpB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,wBAAwB,EACxB,gBAAgB,GACjB,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpD;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,MAA0B,EAC1B,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE;IAEnB,MAAM,KAAK,GAAG,mBAAmB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC/C,MAAM,MAAM,GAAgB,EAAE,CAAC;IAE/B,MAAM,WAAW,GAAG,MAAM,YAAY,CACpC,KAAK,CAAC,QAAQ,EACd,cAAc,EACd,MAAM,CACP,CAAC;IAEF,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;QAC9B,oCAAoC;QACpC,MAAM,oBAAoB,GAAG,MAAM,CAAC,MAAM,CACxC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,KAAK,OAAO,CACtC,CAAC,MAAM,CAAC;QACT,wBAAwB,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QAC9C,MAAM,iBAAiB,GACrB,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,MAAM;YAC3D,oBAAoB,CAAC;QACvB,IAAI,iBAAiB;YAAE,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC/C,kDAAkD;QAClD,IAAI,CAAC;YACH,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,GACzD,MAAM,gBAAgB,CAAC,KAAK,CAAC,CAAC;YAChC,yEAAyE;YACzE,wEAAwE;YACxE,MAAM,CAAC,IAAI,CACT,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;gBACzB,QAAQ,EAAE,OAAgB;gBAC1B,IAAI,EAAE,cAAc;gBACpB,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,IAAI,EAAE,KAAK,CAAC,IAAI;aACjB,CAAC,CAAC,CACJ,CAAC;YACF,MAAM,CAAC,IAAI,CACT,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;gBAC/B,QAAQ,EAAE,OAAgB;gBAC1B,IAAI,EAAE,eAAe;gBACrB,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,IAAI,EAAE,KAAK,CAAC,IAAI;aACjB,CAAC,CAAC,CACJ,CAAC;YACF,MAAM,YAAY,CAAC,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YAC3C,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;YAC3C,MAAM,gBAAgB,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;YAC/C,gBAAgB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YAClC,oBAAoB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YACtC,MAAM,oBAAoB,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;YACxD,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QAC/C,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,IAAI,CAAC;gBACV,QAAQ,EAAE,OAAO;gBACjB,IAAI,EAAE,yBAAyB;gBAC/B,OAAO,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;gBACzD,IAAI,EAAE,QAAQ;aACf,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC;AAC1B,CAAC;AAED,KAAK,UAAU,YAAY,CACzB,YAAoB,EACpB,MAAmB;IAEnB,IAAI,GAAW,CAAC;IAChB,IAAI,CAAC;QACH,GAAG,GAAG,MAAM,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IAC9C,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,kBAAkB,CAAC,GAAG,CAAC;YAAE,OAAO;QACpC,MAAM,GAAG,CAAC;IACZ,CAAC;IAED,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;IAClC,IAAI,MAAM,CAAC,QAAQ,KAAK,IAAI;QAAE,OAAO;IACrC,MAAM,CAAC,IAAI,CACT,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QACjC,QAAQ,EAAE,OAAgB;QAC1B,IAAI,EAAE,kBAAkB;QACxB,OAAO;QACP,IAAI,EAAE,uBAAuB;KAC9B,CAAC,CAAC,CACJ,CAAC;AACJ,CAAC;AAED,SAAS,SAAS,CAChB,OAA2B,EAC3B,OAAqB,EACrB,MAAmB;IAEnB,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,MAAM,CAAC,IAAI,CAAC;YACV,QAAQ,EAAE,SAAS;YACnB,IAAI,EAAE,kBAAkB;YACxB,OAAO,EACL,6HAA6H;YAC/H,IAAI,EAAE,oBAAoB;SAC3B,CAAC,CAAC;QACH,OAAO;IACT,CAAC;IAED,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACzC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,MAAM,CAAC,IAAI,CAAC;YACV,QAAQ,EAAE,OAAO;YACjB,IAAI,EAAE,eAAe;YACrB,OAAO,EAAE,mBAAmB,OAAO,2BAA2B;YAC9D,IAAI,EAAE,oBAAoB;SAC3B,CAAC,CAAC;QACH,OAAO;IACT,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACrD,IAAI,KAAK,GAAG,IAAI,EAAE,CAAC;QACjB,MAAM,CAAC,IAAI,CAAC;YACV,QAAQ,EAAE,SAAS;YACnB,IAAI,EAAE,iBAAiB;YACvB,OAAO,EAAE,eAAe,OAAO,aAAa,KAAK,+FAA+F;YAChJ,IAAI,EAAE,GAAG,OAAO,KAAK;SACtB,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED,KAAK,UAAU,gBAAgB,CAC7B,KAAwB,EACxB,OAAqB,EACrB,MAAmB;IAEnB,MAAM,aAAa,GAAG,MAAM,yBAAyB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACtE,IAAI,aAAa,KAAK,SAAS;QAAE,OAAO;IAExC,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,aAAa,CAAC,CAAC;IACxC,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;QAC1C,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,SAAS;QAEjE,MAAM,WAAW,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC;QAC5D,MAAM,UAAU,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;QAClC,MAAM,CAAC,IAAI,CAAC;YACV,QAAQ,EAAE,SAAS;YACnB,IAAI,EAAE,iBAAiB;YACvB,OAAO,EACL,iBAAiB,IAAI,CAAC,IAAI,yBAAyB,uBAAuB,GAAG;gBAC7E,CAAC,UAAU,KAAK,SAAS;oBACvB,CAAC,CAAC,4CAA4C;oBAC9C,CAAC,CAAC,mBAAmB,UAAU,+CAA+C,CAAC;YACnF,IAAI,EAAE,GAAG,IAAI,CAAC,EAAE,KAAK;SACtB,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,SAAS,gBAAgB,CAAC,OAAqB,EAAE,MAAmB;IAClE,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;QAC1C,IAAI,IAAI,CAAC,yBAAyB,EAAE,CAAC;YACnC,MAAM,CAAC,IAAI,CAAC;gBACV,QAAQ,EAAE,SAAS;gBACnB,IAAI,EAAE,6BAA6B;gBACnC,OAAO,EACL,sGAAsG;gBACxG,IAAI,EAAE,GAAG,IAAI,CAAC,EAAE,iBAAiB;aAClC,CAAC,CAAC;QACL,CAAC;QACD,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC;YAAE,SAAS;QAC3E,MAAM,CAAC,IAAI,CAAC;YACV,QAAQ,EAAE,SAAS;YACnB,IAAI,EAAE,sBAAsB;YAC5B,OAAO,EACL,oKAAoK;YACtK,IAAI,EAAE,GAAG,IAAI,CAAC,EAAE,KAAK;SACtB,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED,SAAS,oBAAoB,CAC3B,OAAqB,EACrB,MAAmB;IAEnB,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;QAC1C,MAAM,QAAQ,GAAG,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpD,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC;gBAAE,SAAS;YAC1C,MAAM,CAAC,IAAI,CAAC;gBACV,QAAQ,EAAE,SAAS;gBACnB,IAAI,EAAE,sBAAsB;gBAC5B,OAAO,EACL,uGAAuG;gBACzG,IAAI,EAAE,GAAG,IAAI,CAAC,EAAE,KAAK;aACtB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;AACH,CAAC;AAED,KAAK,UAAU,oBAAoB,CACjC,KAAwB,EACxB,OAAqB,EACrB,MAAmB,EACnB,GAAW;IAEX,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,GAAG,CAAC,CAAC;IAC3C,MAAM,OAAO,GAAG;QACd,QAAQ;QACR,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,YAAY,EAAE,mBAAmB;KAClC,CAAC;IAEF,MAAM,eAAe,GAAa,EAAE,CAAC;IACrC,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;QAC1C,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,SAAS,IAAI,EAAE,EAAE,CAAC;YAC5C,MAAM,OAAO,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;YAC1C,IAAI,uBAAuB,CAAC,OAAO,CAAC,CAAC,IAAI,KAAK,KAAK;gBAAE,SAAS;YAC9D,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC9B,MAAM,QAAQ,GAAG,MAAM,wBAAwB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAClE,IAAI,QAAQ,CAAC,KAAK,KAAK,SAAS;gBAAE,SAAS;YAC3C,MAAM,CAAC,IAAI,CAAC;gBACV,QAAQ,EAAE,SAAS;gBACnB,IAAI,EAAE,uBAAuB;gBAC7B,OAAO,EAAE,qBAAqB,OAAO,0BAA0B;gBAC/D,IAAI,EAAE,GAAG,IAAI,CAAC,EAAE,eAAe;aAChC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,MAAM,YAAY,GAAG,MAAM,wBAAwB,CAAC,OAAO,CAAC,CAAC;IAC7D,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;QAChC,MAAM,OAAO,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAC/C,yBAAyB,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,CAClD,CAAC;QACF,IAAI,OAAO;YAAE,SAAS;QACtB,MAAM,CAAC,IAAI,CAAC;YACV,QAAQ,EAAE,SAAS;YACnB,IAAI,EAAE,mBAAmB;YACzB,OAAO,EACL,iEAAiE;YACnE,IAAI,EAAE,iBAAiB,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,UAAU,CAAC;SAC1D,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED,SAAS,iBAAiB,CACxB,gBAAwB,EACxB,QAAgB,EAChB,UAAkB;IAElB,MAAM,eAAe,GAAG,QAAQ,CAC9B,UAAU,EACV,OAAO,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CACpC;SACE,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;SACnB,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IACxB,OAAO,eAAe,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,eAAe,CAAC;AAChF,CAAC;AAED,SAAS,mBAAmB,CAC1B,OAAqB,EACrB,MAAgC,EAChC,MAAmB;IAEnB,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;QACpC,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;YACnC,MAAM,MAAM,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;YACnC,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;gBACpB,MAAM,CAAC,IAAI,CAAC;oBACV,QAAQ,EAAE,OAAO;oBACjB,IAAI,EAAE,2BAA2B;oBACjC,OAAO,EAAE,oBAAoB,GAAG,qDAAqD;oBACrF,IAAI,EAAE,UAAU,KAAK,CAAC,EAAE,gBAAgB;iBACzC,CAAC,CAAC;gBACH,SAAS;YACX,CAAC;YACD,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAC9C,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;gBACvB,MAAM,CAAC,IAAI,CAAC;oBACV,QAAQ,EAAE,SAAS;oBACnB,IAAI,EAAE,4BAA4B;oBAClC,OAAO,EAAE,oBAAoB,GAAG,6HAA6H;oBAC7J,IAAI,EAAE,UAAU,KAAK,CAAC,EAAE,gBAAgB;iBACzC,CAAC,CAAC;gBACH,SAAS;YACX,CAAC;YACD,IACE,MAAM,CAAC,OAAO,KAAK,SAAS;gBAC5B,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,KAAK,IAAI,EACpD,CAAC;gBACD,MAAM,CAAC,IAAI,CAAC;oBACV,QAAQ,EAAE,SAAS;oBACnB,IAAI,EAAE,iCAAiC;oBACvC,OAAO,EAAE,oBAAoB,GAAG,uHAAuH;oBACvJ,IAAI,EAAE,UAAU,KAAK,CAAC,EAAE,gBAAgB;iBACzC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED,KAAK,UAAU,yBAAyB,CACtC,YAAoB;IAEpB,IAAI,GAAW,CAAC;IAChB,IAAI,CAAC;QACH,GAAG,GAAG,MAAM,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IAC9C,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,kBAAkB,CAAC,GAAG,CAAC;YAAE,OAAO,SAAS,CAAC;QAC9C,MAAM,GAAG,CAAC;IACZ,CAAC;IAED,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;IAClC,IAAI,MAAM,CAAC,QAAQ,KAAK,IAAI;QAAE,OAAO,EAAE,CAAC;IACxC,OAAO,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACpE,CAAC;AAED,KAAK,UAAU,YAAY,CACzB,IAAY,EACZ,KAAa,EACb,MAAmB;IAEnB,IAAI,CAAC;QACH,OAAO,MAAM,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACvC,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,CAAC,IAAI,CAAC;YACV,QAAQ,EAAE,OAAO;YACjB,IAAI,EAAE,0BAA0B;YAChC,OAAO,EAAE,4BAA4B,KAAK,GAAG;YAC7C,IAAI,EAAE,KAAK;SACZ,CAAC,CAAC;QACH,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,0CAA0C;AAC1C,MAAM,CAAC,MAAM,sBAAsB,GAAG,gBAAgB,CAAC;AAEvD,SAAS,QAAQ,CAAC,MAAmB;IACnC,OAAO;QACL,MAAM;QACN,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,MAAM;QACnE,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,MAAM;QACvE,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,KAAK,MAAM,CAAC,CAAC,MAAM;KACjE,CAAC;AACJ,CAAC"}
@@ -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/globs or supported external locators (see
32
- [schema.md](references/schema.md)). A bare locator is enough
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. Role names can stay stable while values change. The point is that a
52
- realizing agent can inspect the same concrete source the prose governs.
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 paths/globs or
357
- supported external locators (see [schema.md](schema.md)) for the concrete
358
- materials the prose governs. Use a bare locator when it explains itself. Use
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/globs plus supported external locators using `https:`, `mcp:`,
61
- `figma:`, or `github:`. Items may be bare locator strings or
62
- `{ locator, note }` objects. Use a short `note` only when an opaque locator
63
- needs retrieval context. The external locator tells the host how to connect;
64
- ghost does not fetch or authenticate. The list
65
- locates material, while guidance stays in the node body.
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.27.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"}
@@ -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"}
@@ -1,2 +0,0 @@
1
- export { hasGlobMagic, matchesGlob, normalizeGlobPath } from "#ghost-core";
2
- //# sourceMappingURL=glob.d.ts.map
@@ -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"}
@@ -1,2 +0,0 @@
1
- export { hasGlobMagic, matchesGlob, normalizeGlobPath } from "#ghost-core";
2
- //# sourceMappingURL=glob.js.map
@@ -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"}