diff --git a/.changeset/export-content-dir-path.md b/.changeset/export-content-dir-path.md new file mode 100644 index 0000000..845ef30 --- /dev/null +++ b/.changeset/export-content-dir-path.md @@ -0,0 +1,11 @@ +--- +"@contentrain/mcp": minor +--- + +feat(mcp): export `contentDirPath` from `@contentrain/mcp/core/ops` + +The helper already existed in `core/ops/paths.ts` (and backs `contentFilePath` +/ `documentFilePath`), but the subpath barrel only re-exported the file-level +helpers. Exposing the directory-level resolver lets consumers (e.g. Studio) +resolve a model's content directory through the same `content_path`-aware logic +instead of maintaining a local copy. diff --git a/packages/mcp/README.md b/packages/mcp/README.md index dc96f18..9dd7ddd 100644 --- a/packages/mcp/README.md +++ b/packages/mcp/README.md @@ -245,7 +245,7 @@ The package also exposes low-level modules for embedding and advanced use: - `@contentrain/mcp/core/scan-config` - `@contentrain/mcp/core/doctor` - `@contentrain/mcp/core/contracts` -- `@contentrain/mcp/core/ops` +- `@contentrain/mcp/core/ops` — plan APIs plus content-root-relative path helpers: `contentDirPath`, `contentFilePath`, `documentFilePath`, `metaFilePath` - `@contentrain/mcp/core/overlay-reader` - `@contentrain/mcp/util/detect` - `@contentrain/mcp/util/fs` diff --git a/packages/mcp/src/core/ops/index.ts b/packages/mcp/src/core/ops/index.ts index f374373..7648971 100644 --- a/packages/mcp/src/core/ops/index.ts +++ b/packages/mcp/src/core/ops/index.ts @@ -6,5 +6,5 @@ export { planModelDelete } from './model-delete.js' export type { ModelDeleteInput, ModelDeletePlan } from './model-delete.js' export { planModelSave } from './model-save.js' export type { ModelSaveInput, ModelSavePlan, ModelSaveResult } from './model-save.js' -export { contentFilePath, documentFilePath, metaFilePath } from './paths.js' +export { contentDirPath, contentFilePath, documentFilePath, metaFilePath } from './paths.js' export type { ContentSaveEntryResult, ContentSavePlan, OpPlan } from './types.js'