@pathmode/mcp-server 1.19.0 → 1.20.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +24 -1
- package/dist/index.js +331 -1
- package/dist/packages/mcp-server/src/adopt.d.ts +12 -0
- package/dist/packages/mcp-server/src/adopt.d.ts.map +1 -0
- package/dist/packages/mcp-server/src/api-client.d.ts +1 -0
- package/dist/packages/mcp-server/src/api-client.d.ts.map +1 -1
- package/dist/packages/mcp-server/src/cli-info.d.ts.map +1 -1
- package/dist/packages/mcp-server/src/project-config.d.ts +11 -0
- package/dist/packages/mcp-server/src/project-config.d.ts.map +1 -0
- package/manifest.json +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -168,6 +168,25 @@ Works with Claude Code (`.mcp.json` in the project root), Claude Desktop (`claud
|
|
|
168
168
|
|
|
169
169
|
Get your API key from **Settings > API Keys** in the [Pathmode app](https://pathmode.io).
|
|
170
170
|
|
|
171
|
+
### Adopt an existing repository intent
|
|
172
|
+
|
|
173
|
+
If your repository already contains a preflighted `intent.md`, start from the repo onboarding
|
|
174
|
+
door in Pathmode. After you choose a workspace and Product, the page gives you a short-lived
|
|
175
|
+
one-time command:
|
|
176
|
+
|
|
177
|
+
```bash
|
|
178
|
+
npx @pathmode/mcp-server@latest adopt pm_adopt_...
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
Run it from the repository root. The command uploads the existing spec, adds only Pathmode's
|
|
182
|
+
canonical identity fields to its frontmatter, and configures that repository to use the selected
|
|
183
|
+
workspace. The one-time code expires after 15 minutes and is never stored in the repository.
|
|
184
|
+
|
|
185
|
+
The safe repository binding lives in `.pathmode/config.json`. The API key lives separately at
|
|
186
|
+
`~/.pathmode/workspaces/<workspace-id>.json`, so connecting one repository does not repoint other
|
|
187
|
+
repositories on the same machine. Add `.pathmode/` to `.gitignore` if your team does not want to
|
|
188
|
+
commit the non-secret workspace binding.
|
|
189
|
+
|
|
171
190
|
### Local Mode (Offline)
|
|
172
191
|
|
|
173
192
|
Local mode is the **default when no API key is configured**. It reads and writes [`intent.md`](https://intentspec.org/intent-md) in your
|
|
@@ -205,6 +224,7 @@ Pass `--local` only to force local mode when an API key *is* configured:
|
|
|
205
224
|
| Method | Details |
|
|
206
225
|
|--------|---------|
|
|
207
226
|
| Environment variable | `PATHMODE_API_KEY=pm_live_...` |
|
|
227
|
+
| Repository binding | `.pathmode/config.json`, with its key stored outside the repo in `~/.pathmode/workspaces/<workspace-id>.json` |
|
|
208
228
|
| Config file | `~/.pathmode/config.json` with `apiKey`, `apiUrl`, `workspaceId` |
|
|
209
229
|
| Local mode | Automatic when no key is found. Reads `intent.md` and `.pathmode/intents/*.md`; `--local` forces it |
|
|
210
230
|
| No config | Local mode. The Intent Compiler needs no configuration |
|
|
@@ -299,7 +319,10 @@ The **Intent Compiler** works entirely offline — specs are saved to your proje
|
|
|
299
319
|
|
|
300
320
|
**Keyless local mode sends nothing.** With no API key configured, the server makes no network request at all — no usage signals and no telemetry of any kind.
|
|
301
321
|
|
|
302
|
-
**Data storage:** The MCP server
|
|
322
|
+
**Data storage:** The MCP server stores `intent.md` and, when a repository is adopted, a
|
|
323
|
+
non-secret binding in `.pathmode/config.json` plus its API key in
|
|
324
|
+
`~/.pathmode/workspaces/<workspace-id>.json`. The legacy `setup` command stores configuration in
|
|
325
|
+
`~/.pathmode/config.json`. Persistent workspace data is stored in Pathmode's cloud infrastructure.
|
|
303
326
|
|
|
304
327
|
**Third-party sharing:** No data is shared with third parties. The server communicates exclusively with the Pathmode API.
|
|
305
328
|
|
package/dist/index.js
CHANGED
|
@@ -39562,6 +39562,187 @@ function renderCompactEvidence(evidence) {
|
|
|
39562
39562
|
}
|
|
39563
39563
|
|
|
39564
39564
|
|
|
39565
|
+
/***/ }),
|
|
39566
|
+
|
|
39567
|
+
/***/ 7797:
|
|
39568
|
+
/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) {
|
|
39569
|
+
|
|
39570
|
+
"use strict";
|
|
39571
|
+
|
|
39572
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
39573
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
39574
|
+
};
|
|
39575
|
+
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
39576
|
+
exports.isAdoptCommand = isAdoptCommand;
|
|
39577
|
+
exports.patchAdoptedIntentFrontmatter = patchAdoptedIntentFrontmatter;
|
|
39578
|
+
exports.runAdopt = runAdopt;
|
|
39579
|
+
const fs_1 = __importDefault(__nccwpck_require__(9896));
|
|
39580
|
+
const path_1 = __importDefault(__nccwpck_require__(6928));
|
|
39581
|
+
const api_client_1 = __nccwpck_require__(7475);
|
|
39582
|
+
const local_reader_1 = __nccwpck_require__(3518);
|
|
39583
|
+
const push_spec_1 = __nccwpck_require__(4239);
|
|
39584
|
+
const project_config_1 = __nccwpck_require__(581);
|
|
39585
|
+
const CODE_RE = /^pm_adopt_[A-Za-z0-9_-]{32}$/;
|
|
39586
|
+
function isAdoptCommand(argv = process.argv) {
|
|
39587
|
+
return argv.includes('adopt');
|
|
39588
|
+
}
|
|
39589
|
+
function getAdoptCode(argv = process.argv) {
|
|
39590
|
+
const index = argv.findIndex(arg => arg === 'adopt');
|
|
39591
|
+
return index < 0 ? undefined : argv.slice(index + 1).find(arg => CODE_RE.test(arg));
|
|
39592
|
+
}
|
|
39593
|
+
function apiOrigin(argv = process.argv) {
|
|
39594
|
+
const apiArg = argv.find(arg => arg.startsWith('--api-url='));
|
|
39595
|
+
if (apiArg)
|
|
39596
|
+
return apiArg.slice('--api-url='.length).replace(/\/$/, '');
|
|
39597
|
+
return argv.includes('--staging') ? 'https://staging.pathmode.io' : 'https://pathmode.io';
|
|
39598
|
+
}
|
|
39599
|
+
async function exchangeCode(code, origin, existing) {
|
|
39600
|
+
const response = await fetch(`${origin}/api/v1/onboarding/repo/exchange`, {
|
|
39601
|
+
method: 'POST',
|
|
39602
|
+
headers: {
|
|
39603
|
+
'Content-Type': 'application/json',
|
|
39604
|
+
...(existing?.apiKey ? { Authorization: `Bearer ${existing.apiKey}` } : {}),
|
|
39605
|
+
},
|
|
39606
|
+
body: JSON.stringify({ code }),
|
|
39607
|
+
});
|
|
39608
|
+
const body = await response.json().catch(() => ({}));
|
|
39609
|
+
if (!response.ok || !body.sessionId || !body.workspaceId || !body.productId) {
|
|
39610
|
+
throw new Error(body.error || `Adoption code exchange failed (${response.status})`);
|
|
39611
|
+
}
|
|
39612
|
+
if (!body.apiKey && !body.reusedCredential)
|
|
39613
|
+
throw new Error('The adoption exchange returned no credential.');
|
|
39614
|
+
return body;
|
|
39615
|
+
}
|
|
39616
|
+
/** Add cloud identity to the existing frontmatter without reformatting the user's spec body. */
|
|
39617
|
+
function patchAdoptedIntentFrontmatter(filePath, values) {
|
|
39618
|
+
if (fs_1.default.lstatSync(filePath).isSymbolicLink()) {
|
|
39619
|
+
throw new Error('Refusing to update a symbolic-link intent.md. Use a regular file inside the repository.');
|
|
39620
|
+
}
|
|
39621
|
+
const raw = fs_1.default.readFileSync(filePath, 'utf8');
|
|
39622
|
+
const newline = raw.includes('\r\n') ? '\r\n' : '\n';
|
|
39623
|
+
if (!raw.startsWith(`---${newline}`)) {
|
|
39624
|
+
throw new Error('intent.md must start with YAML frontmatter before it can be adopted.');
|
|
39625
|
+
}
|
|
39626
|
+
const close = raw.indexOf(`${newline}---`, 4);
|
|
39627
|
+
if (close < 0)
|
|
39628
|
+
throw new Error('intent.md has an unterminated YAML frontmatter block.');
|
|
39629
|
+
const headerEnd = 3 + newline.length;
|
|
39630
|
+
const managed = new Set(['id', 'specVersion', 'source', 'origin', 'authorization', 'authorizationNote']);
|
|
39631
|
+
const lines = raw.slice(headerEnd, close).split(/\r?\n/).filter(line => {
|
|
39632
|
+
const match = line.match(/^([A-Za-z][A-Za-z0-9_-]*):/);
|
|
39633
|
+
return !match || !managed.has(match[1]);
|
|
39634
|
+
});
|
|
39635
|
+
const add = (key, value) => {
|
|
39636
|
+
if (value !== undefined && value !== null && value !== '')
|
|
39637
|
+
lines.push(`${key}: ${JSON.stringify(value)}`);
|
|
39638
|
+
};
|
|
39639
|
+
add('id', values.id);
|
|
39640
|
+
add('specVersion', values.specVersion);
|
|
39641
|
+
add('source', values.sourceUrl);
|
|
39642
|
+
add('origin', values.origin);
|
|
39643
|
+
add('authorization', values.authorization);
|
|
39644
|
+
add('authorizationNote', values.authorizationNote);
|
|
39645
|
+
fs_1.default.writeFileSync(filePath, `---${newline}${lines.join(newline)}${raw.slice(close)}`, 'utf8');
|
|
39646
|
+
}
|
|
39647
|
+
async function runAdopt(argv = process.argv) {
|
|
39648
|
+
const code = getAdoptCode(argv);
|
|
39649
|
+
if (!code)
|
|
39650
|
+
throw new Error('Usage: npx @pathmode/mcp-server@latest adopt pm_adopt_…');
|
|
39651
|
+
const filePath = path_1.default.join(process.cwd(), 'intent.md');
|
|
39652
|
+
if (fs_1.default.existsSync(filePath) && fs_1.default.lstatSync(filePath).isSymbolicLink()) {
|
|
39653
|
+
throw new Error('Refusing to adopt a symbolic-link intent.md. Use a regular file inside the repository.');
|
|
39654
|
+
}
|
|
39655
|
+
const intent = (0, local_reader_1.readIntentFile)(filePath);
|
|
39656
|
+
const meta = (0, local_reader_1.readIntentMeta)(filePath);
|
|
39657
|
+
if (!intent || !meta?.id) {
|
|
39658
|
+
throw new Error('No valid intent.md with an id was found in this directory.');
|
|
39659
|
+
}
|
|
39660
|
+
console.log('');
|
|
39661
|
+
console.log('Pathmode repo adoption');
|
|
39662
|
+
console.log('──────────────────────');
|
|
39663
|
+
console.log(` ✓ Read intent.md — ${intent.title}`);
|
|
39664
|
+
process.stdout.write(' Connecting…');
|
|
39665
|
+
const origin = apiOrigin(argv);
|
|
39666
|
+
const current = (0, api_client_1.loadConfig)();
|
|
39667
|
+
let exchange;
|
|
39668
|
+
try {
|
|
39669
|
+
exchange = await exchangeCode(code, origin, current?.apiUrl.replace(/\/$/, '') === origin ? current : null);
|
|
39670
|
+
}
|
|
39671
|
+
catch (error) {
|
|
39672
|
+
// A valid key for a different workspace is not useful for this adoption, but it
|
|
39673
|
+
// must not block minting the correctly scoped project credential.
|
|
39674
|
+
if (current
|
|
39675
|
+
&& error instanceof Error
|
|
39676
|
+
&& (error.message.includes('different workspace') || error.message.includes('Invalid API key'))) {
|
|
39677
|
+
exchange = await exchangeCode(code, origin, null);
|
|
39678
|
+
}
|
|
39679
|
+
else {
|
|
39680
|
+
throw error;
|
|
39681
|
+
}
|
|
39682
|
+
}
|
|
39683
|
+
console.log(' ✓');
|
|
39684
|
+
console.log(` ✓ Destination confirmed — ${exchange.workspaceName} / ${exchange.productName}`);
|
|
39685
|
+
const apiKey = exchange.apiKey || current?.apiKey;
|
|
39686
|
+
if (!apiKey)
|
|
39687
|
+
throw new Error('No repository credential is available after adoption exchange.');
|
|
39688
|
+
const config = {
|
|
39689
|
+
apiKey,
|
|
39690
|
+
apiUrl: exchange.apiUrl,
|
|
39691
|
+
workspaceId: exchange.workspaceId,
|
|
39692
|
+
};
|
|
39693
|
+
// Persist immediately after the one-time exchange. If a later network call fails, the
|
|
39694
|
+
// credential remains recoverable from this repo without minting a duplicate key.
|
|
39695
|
+
(0, project_config_1.saveProjectConnection)(config);
|
|
39696
|
+
(0, project_config_1.ensureProjectMcpConfig)();
|
|
39697
|
+
console.log(' ✓ Credential stored outside the repository');
|
|
39698
|
+
console.log(' ✓ Pathmode project entries added without the credential');
|
|
39699
|
+
const client = new api_client_1.PathmodeClient(config);
|
|
39700
|
+
console.log(' • Creating and linking the hosted intent…');
|
|
39701
|
+
const pushed = await (0, push_spec_1.pushSpec)({
|
|
39702
|
+
client,
|
|
39703
|
+
id: meta.id,
|
|
39704
|
+
...(meta.specVersion ? { existingSpecVersion: meta.specVersion } : {}),
|
|
39705
|
+
payload: {
|
|
39706
|
+
title: intent.title,
|
|
39707
|
+
objective: intent.objective,
|
|
39708
|
+
...(intent.currentState ? { currentState: intent.currentState } : {}),
|
|
39709
|
+
outcomes: intent.outcomes,
|
|
39710
|
+
constraints: intent.constraints,
|
|
39711
|
+
healthMetrics: intent.healthMetrics,
|
|
39712
|
+
edgeCases: intent.edgeCases,
|
|
39713
|
+
verification: intent.verification,
|
|
39714
|
+
...(intent.scope ? { scope: intent.scope } : {}),
|
|
39715
|
+
productId: exchange.productId,
|
|
39716
|
+
},
|
|
39717
|
+
decisions: intent.decisions,
|
|
39718
|
+
implementationContext: intent.implementationContext,
|
|
39719
|
+
onIdentitySettled: settled => patchAdoptedIntentFrontmatter(filePath, {
|
|
39720
|
+
id: settled.canonicalId,
|
|
39721
|
+
specVersion: settled.specVersion,
|
|
39722
|
+
sourceUrl: settled.sourceUrl,
|
|
39723
|
+
origin: settled.origin,
|
|
39724
|
+
authorization: settled.authorization,
|
|
39725
|
+
authorizationNote: settled.authorizationNote,
|
|
39726
|
+
}),
|
|
39727
|
+
});
|
|
39728
|
+
if (!pushed.ok)
|
|
39729
|
+
throw new Error(pushed.error);
|
|
39730
|
+
await client.completeRepoOnboarding(exchange.sessionId, pushed.canonicalId);
|
|
39731
|
+
console.log(' ✓ Hosted intent linked');
|
|
39732
|
+
console.log(` ${pushed.sourceUrl}`);
|
|
39733
|
+
console.log('');
|
|
39734
|
+
console.log('What changed');
|
|
39735
|
+
console.log(' • intent.md remains authoritative; only its cloud identity frontmatter changed');
|
|
39736
|
+
console.log(' • Project connection files contain no Pathmode credential');
|
|
39737
|
+
console.log(' • The hosted record is ready for human review and authorization');
|
|
39738
|
+
console.log('');
|
|
39739
|
+
console.log('Next');
|
|
39740
|
+
console.log(' Keep the browser page open; it finishes automatically.');
|
|
39741
|
+
console.log(' Restart your coding tool once so it reloads .mcp.json and discovers Pathmode.');
|
|
39742
|
+
console.log('');
|
|
39743
|
+
}
|
|
39744
|
+
|
|
39745
|
+
|
|
39565
39746
|
/***/ }),
|
|
39566
39747
|
|
|
39567
39748
|
/***/ 7475:
|
|
@@ -39583,6 +39764,7 @@ exports.loadConfig = loadConfig;
|
|
|
39583
39764
|
const fs_1 = __importDefault(__nccwpck_require__(9896));
|
|
39584
39765
|
const path_1 = __importDefault(__nccwpck_require__(6928));
|
|
39585
39766
|
const os_1 = __importDefault(__nccwpck_require__(857));
|
|
39767
|
+
const project_config_1 = __nccwpck_require__(581);
|
|
39586
39768
|
const isDebug = process.env.PATHMODE_MCP_DEBUG === '1';
|
|
39587
39769
|
/** An API failure that keeps the response body, so callers can act on `code` and its payload. */
|
|
39588
39770
|
class ApiError extends Error {
|
|
@@ -39610,6 +39792,12 @@ function normalizeApiKey(raw) {
|
|
|
39610
39792
|
return key;
|
|
39611
39793
|
}
|
|
39612
39794
|
function loadConfig() {
|
|
39795
|
+
// A complete repository binding is the most specific configuration. It wins
|
|
39796
|
+
// over process/global defaults on this machine; CI still falls through to env
|
|
39797
|
+
// because the external home-secret file is intentionally not in the repository.
|
|
39798
|
+
const projectConfig = (0, project_config_1.loadProjectConnection)();
|
|
39799
|
+
if (projectConfig)
|
|
39800
|
+
return projectConfig;
|
|
39613
39801
|
const envKey = normalizeApiKey(process.env.PATHMODE_API_KEY);
|
|
39614
39802
|
if (envKey) {
|
|
39615
39803
|
return {
|
|
@@ -39762,6 +39950,13 @@ class PathmodeClient {
|
|
|
39762
39950
|
const res = await this.fetch(`/intents/${id}`);
|
|
39763
39951
|
return res.json();
|
|
39764
39952
|
}
|
|
39953
|
+
async completeRepoOnboarding(sessionId, intentId) {
|
|
39954
|
+
const res = await this.fetch('/onboarding/repo/complete', {
|
|
39955
|
+
method: 'POST',
|
|
39956
|
+
body: JSON.stringify({ sessionId, intentId }),
|
|
39957
|
+
});
|
|
39958
|
+
await res.json();
|
|
39959
|
+
}
|
|
39765
39960
|
async getIntentPrompt(id, agentType = 'claude-code', mode = 'execute') {
|
|
39766
39961
|
const res = await this.fetch(`/intents/${id}/prompt?agent_type=${agentType}&mode=${mode}`);
|
|
39767
39962
|
return res.json();
|
|
@@ -39940,6 +40135,7 @@ function formatHelp(version) {
|
|
|
39940
40135
|
' npx @pathmode/mcp-server Start the server (stdio). This is what an',
|
|
39941
40136
|
' MCP client runs; it waits on stdin by design.',
|
|
39942
40137
|
' npx @pathmode/mcp-server setup [key] Configure Claude Code/Desktop, Cursor, Windsurf.',
|
|
40138
|
+
' npx @pathmode/mcp-server adopt <code> Adopt this repo\'s existing intent.md.',
|
|
39943
40139
|
' npx @pathmode/mcp-server install-skills Install the skill pack into this project.',
|
|
39944
40140
|
' npx @pathmode/mcp-server --version Print the version.',
|
|
39945
40141
|
' npx @pathmode/mcp-server --help Print this help.',
|
|
@@ -41311,9 +41507,11 @@ function extractVerification(sections) {
|
|
|
41311
41507
|
const result = {};
|
|
41312
41508
|
let currentKind = null;
|
|
41313
41509
|
let currentLegacy = null;
|
|
41510
|
+
let sawLabel = false;
|
|
41314
41511
|
for (const line of lines) {
|
|
41315
41512
|
const label = parseVerificationLabel(line);
|
|
41316
41513
|
if (label) {
|
|
41514
|
+
sawLabel = true;
|
|
41317
41515
|
const kind = VERIFICATION_LABEL_TO_KIND[label.toLowerCase()];
|
|
41318
41516
|
if (kind) {
|
|
41319
41517
|
currentKind = kind;
|
|
@@ -41352,6 +41550,11 @@ function extractVerification(sections) {
|
|
|
41352
41550
|
else if (currentLegacy) {
|
|
41353
41551
|
result[currentLegacy].push(text);
|
|
41354
41552
|
}
|
|
41553
|
+
else if (!sawLabel) {
|
|
41554
|
+
// IntentSpec labels are optional. Treat an ungrouped list as manual checks so a valid
|
|
41555
|
+
// flat `## Verification` section survives adoption instead of silently disappearing.
|
|
41556
|
+
(result.manualChecks ||= []).push(text);
|
|
41557
|
+
}
|
|
41355
41558
|
}
|
|
41356
41559
|
return result;
|
|
41357
41560
|
}
|
|
@@ -42019,6 +42222,126 @@ function mergePathmodeSection(existing, section) {
|
|
|
42019
42222
|
}
|
|
42020
42223
|
|
|
42021
42224
|
|
|
42225
|
+
/***/ }),
|
|
42226
|
+
|
|
42227
|
+
/***/ 581:
|
|
42228
|
+
/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) {
|
|
42229
|
+
|
|
42230
|
+
"use strict";
|
|
42231
|
+
|
|
42232
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
42233
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
42234
|
+
};
|
|
42235
|
+
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
42236
|
+
exports.projectBindingFile = projectBindingFile;
|
|
42237
|
+
exports.loadProjectConnection = loadProjectConnection;
|
|
42238
|
+
exports.saveProjectConnection = saveProjectConnection;
|
|
42239
|
+
exports.ensureProjectMcpConfig = ensureProjectMcpConfig;
|
|
42240
|
+
const fs_1 = __importDefault(__nccwpck_require__(9896));
|
|
42241
|
+
const os_1 = __importDefault(__nccwpck_require__(857));
|
|
42242
|
+
const path_1 = __importDefault(__nccwpck_require__(6928));
|
|
42243
|
+
const UUID_RE = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
|
|
42244
|
+
const homeWorkspaceFile = (workspaceId, homeDir = os_1.default.homedir()) => path_1.default.join(homeDir, '.pathmode', 'workspaces', `${workspaceId}.json`);
|
|
42245
|
+
function projectBindingFile(cwd = process.cwd()) {
|
|
42246
|
+
return path_1.default.join(cwd, '.pathmode', 'config.json');
|
|
42247
|
+
}
|
|
42248
|
+
function readJson(filePath) {
|
|
42249
|
+
try {
|
|
42250
|
+
return JSON.parse(fs_1.default.readFileSync(filePath, 'utf8'));
|
|
42251
|
+
}
|
|
42252
|
+
catch {
|
|
42253
|
+
return null;
|
|
42254
|
+
}
|
|
42255
|
+
}
|
|
42256
|
+
function normalizeApiUrl(raw) {
|
|
42257
|
+
if (typeof raw !== 'string' || !raw.trim())
|
|
42258
|
+
return null;
|
|
42259
|
+
try {
|
|
42260
|
+
const url = new URL(raw.trim());
|
|
42261
|
+
if (url.protocol !== 'https:' && url.protocol !== 'http:')
|
|
42262
|
+
return null;
|
|
42263
|
+
return url.origin;
|
|
42264
|
+
}
|
|
42265
|
+
catch {
|
|
42266
|
+
return null;
|
|
42267
|
+
}
|
|
42268
|
+
}
|
|
42269
|
+
/** Repository files are attacker-controlled when a project or branch is first opened. */
|
|
42270
|
+
function assertSafeProjectWrite(cwd, filePath) {
|
|
42271
|
+
const root = path_1.default.resolve(cwd);
|
|
42272
|
+
const target = path_1.default.resolve(filePath);
|
|
42273
|
+
const relative = path_1.default.relative(root, target);
|
|
42274
|
+
if (!relative || relative.startsWith('..') || path_1.default.isAbsolute(relative)) {
|
|
42275
|
+
throw new Error(`Refusing to write outside the repository: ${filePath}`);
|
|
42276
|
+
}
|
|
42277
|
+
let current = root;
|
|
42278
|
+
for (const segment of relative.split(path_1.default.sep)) {
|
|
42279
|
+
current = path_1.default.join(current, segment);
|
|
42280
|
+
if (fs_1.default.existsSync(current) && fs_1.default.lstatSync(current).isSymbolicLink()) {
|
|
42281
|
+
throw new Error(`Refusing to write through a symbolic link: ${current}`);
|
|
42282
|
+
}
|
|
42283
|
+
}
|
|
42284
|
+
}
|
|
42285
|
+
function writeProjectFile(cwd, filePath, contents) {
|
|
42286
|
+
assertSafeProjectWrite(cwd, filePath);
|
|
42287
|
+
fs_1.default.mkdirSync(path_1.default.dirname(filePath), { recursive: true });
|
|
42288
|
+
// Re-check after creating a missing parent so a checked-in symlink is never followed.
|
|
42289
|
+
assertSafeProjectWrite(cwd, filePath);
|
|
42290
|
+
fs_1.default.writeFileSync(filePath, contents, 'utf8');
|
|
42291
|
+
}
|
|
42292
|
+
function loadProjectConnection(cwd = process.cwd(), homeDir = os_1.default.homedir()) {
|
|
42293
|
+
const binding = readJson(projectBindingFile(cwd));
|
|
42294
|
+
const workspaceId = typeof binding?.workspaceId === 'string' ? binding.workspaceId.trim() : '';
|
|
42295
|
+
if (!UUID_RE.test(workspaceId))
|
|
42296
|
+
return null;
|
|
42297
|
+
const secret = readJson(homeWorkspaceFile(workspaceId, homeDir));
|
|
42298
|
+
const apiKey = typeof secret?.apiKey === 'string' ? secret.apiKey.trim() : '';
|
|
42299
|
+
if (!apiKey)
|
|
42300
|
+
return null;
|
|
42301
|
+
// The repository chooses only which workspace to use. The protected home secret
|
|
42302
|
+
// chooses where that credential may be sent, so a malicious branch cannot redirect it.
|
|
42303
|
+
const apiUrl = normalizeApiUrl(secret?.apiUrl);
|
|
42304
|
+
if (!apiUrl)
|
|
42305
|
+
return null;
|
|
42306
|
+
return { apiKey, apiUrl, workspaceId };
|
|
42307
|
+
}
|
|
42308
|
+
function saveProjectConnection(config, cwd = process.cwd(), homeDir = os_1.default.homedir()) {
|
|
42309
|
+
if (!UUID_RE.test(config.workspaceId))
|
|
42310
|
+
throw new Error('Cannot save a project connection with an invalid workspace id.');
|
|
42311
|
+
const apiUrl = normalizeApiUrl(config.apiUrl);
|
|
42312
|
+
if (!apiUrl)
|
|
42313
|
+
throw new Error('Cannot save a project connection with an invalid API URL.');
|
|
42314
|
+
const bindingPath = projectBindingFile(cwd);
|
|
42315
|
+
writeProjectFile(cwd, bindingPath, JSON.stringify({
|
|
42316
|
+
workspaceId: config.workspaceId,
|
|
42317
|
+
}, null, 2) + '\n');
|
|
42318
|
+
const secretPath = homeWorkspaceFile(config.workspaceId, homeDir);
|
|
42319
|
+
fs_1.default.mkdirSync(path_1.default.dirname(secretPath), { recursive: true });
|
|
42320
|
+
fs_1.default.writeFileSync(secretPath, JSON.stringify({
|
|
42321
|
+
apiKey: config.apiKey,
|
|
42322
|
+
apiUrl,
|
|
42323
|
+
}, null, 2) + '\n', { encoding: 'utf8', mode: 0o600 });
|
|
42324
|
+
try {
|
|
42325
|
+
fs_1.default.chmodSync(secretPath, 0o600);
|
|
42326
|
+
}
|
|
42327
|
+
catch { /* best effort on non-POSIX filesystems */ }
|
|
42328
|
+
}
|
|
42329
|
+
/** Ensure the repository has a keyless MCP declaration. The credential is resolved
|
|
42330
|
+
* from the project binding at runtime and is never written into a committable file. */
|
|
42331
|
+
function ensureProjectMcpConfig(cwd = process.cwd()) {
|
|
42332
|
+
const configPath = path_1.default.join(cwd, '.mcp.json');
|
|
42333
|
+
assertSafeProjectWrite(cwd, configPath);
|
|
42334
|
+
const existing = fs_1.default.existsSync(configPath) ? readJson(configPath) : {};
|
|
42335
|
+
if (!existing)
|
|
42336
|
+
throw new Error(`${configPath} is not valid JSON; fix it before adopting.`);
|
|
42337
|
+
const servers = existing.mcpServers && typeof existing.mcpServers === 'object'
|
|
42338
|
+
? existing.mcpServers
|
|
42339
|
+
: {};
|
|
42340
|
+
servers.pathmode = { command: 'npx', args: ['@pathmode/mcp-server'] };
|
|
42341
|
+
writeProjectFile(cwd, configPath, JSON.stringify({ ...existing, mcpServers: servers }, null, 2) + '\n');
|
|
42342
|
+
}
|
|
42343
|
+
|
|
42344
|
+
|
|
42022
42345
|
/***/ }),
|
|
42023
42346
|
|
|
42024
42347
|
/***/ 4239:
|
|
@@ -71690,7 +72013,7 @@ module.exports = /*#__PURE__*/JSON.parse('{"$schema":"http://json-schema.org/dra
|
|
|
71690
72013
|
/***/ ((module) => {
|
|
71691
72014
|
|
|
71692
72015
|
"use strict";
|
|
71693
|
-
module.exports = /*#__PURE__*/JSON.parse('{"name":"@pathmode/mcp-server","version":"1.
|
|
72016
|
+
module.exports = /*#__PURE__*/JSON.parse('{"name":"@pathmode/mcp-server","version":"1.20.1","publishConfig":{"access":"public"},"mcpName":"io.github.pathmodeio/mcp-server","description":"Deterministic intent preflight before your agent builds: six calibrated gates, keyless, no model call. Draft and sharpen specs in conversation, or connect a Pathmode workspace to sync intent and evidence across a team.","main":"dist/index.js","bin":{"pathmode-mcp":"dist/index.js"},"files":["dist/","manifest.json","icon.svg","README.md","skills/"],"scripts":{"build":"rm -rf dist && ncc build src/index.ts -o dist","dev":"ts-node src/index.ts","prepublishOnly":"npm run build"},"keywords":["pathmode","mcp","model-context-protocol","claude-code","claude-code-skills","agent-skills","cursor","windsurf","intent-engineering","intent-compiler","ai-agents","product-development","dependency-graph","strategic-planning"],"author":"Pathmode","license":"MIT","type":"commonjs","engines":{"node":">=18.0.0"},"homepage":"https://pathmode.io","dependencies":{"@modelcontextprotocol/sdk":"^1.12.1","gray-matter":"^4.0.3","zod":"^3.24.0"},"devDependencies":{"@types/node":"^25.1.0","@vercel/ncc":"^0.38.4","ts-node":"^10.9.2","typescript":"^5.9.3"}}');
|
|
71694
72017
|
|
|
71695
72018
|
/***/ })
|
|
71696
72019
|
|
|
@@ -71800,6 +72123,7 @@ const setup_1 = __nccwpck_require__(8294);
|
|
|
71800
72123
|
const measurement_schema_1 = __nccwpck_require__(1635);
|
|
71801
72124
|
const install_skills_1 = __nccwpck_require__(3783);
|
|
71802
72125
|
const cli_info_1 = __nccwpck_require__(7198);
|
|
72126
|
+
const adopt_1 = __nccwpck_require__(7797);
|
|
71803
72127
|
// Server version is sourced from package.json so the version reported to MCP
|
|
71804
72128
|
// clients always matches the published package. ncc statically resolves this
|
|
71805
72129
|
// require() and inlines the JSON at build time (no runtime fs read).
|
|
@@ -71822,6 +72146,12 @@ else if ((0, setup_1.isSetupCommand)()) {
|
|
|
71822
72146
|
process.exit(1);
|
|
71823
72147
|
});
|
|
71824
72148
|
}
|
|
72149
|
+
else if ((0, adopt_1.isAdoptCommand)()) {
|
|
72150
|
+
(0, adopt_1.runAdopt)().then(() => process.exit(0)).catch((err) => {
|
|
72151
|
+
console.error(`\n ✗ ${err instanceof Error ? err.message : String(err)}\n`);
|
|
72152
|
+
process.exit(1);
|
|
72153
|
+
});
|
|
72154
|
+
}
|
|
71825
72155
|
else if ((0, install_skills_1.isInstallSkillsCommand)()) {
|
|
71826
72156
|
(0, install_skills_1.runInstallSkills)().then(() => process.exit(0)).catch((err) => {
|
|
71827
72157
|
console.error(err);
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export declare function isAdoptCommand(argv?: string[]): boolean;
|
|
2
|
+
/** Add cloud identity to the existing frontmatter without reformatting the user's spec body. */
|
|
3
|
+
export declare function patchAdoptedIntentFrontmatter(filePath: string, values: {
|
|
4
|
+
id: string;
|
|
5
|
+
specVersion?: string;
|
|
6
|
+
sourceUrl: string;
|
|
7
|
+
origin?: string | null;
|
|
8
|
+
authorization?: string | null;
|
|
9
|
+
authorizationNote?: string | null;
|
|
10
|
+
}): void;
|
|
11
|
+
export declare function runAdopt(argv?: string[]): Promise<void>;
|
|
12
|
+
//# sourceMappingURL=adopt.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"adopt.d.ts","sourceRoot":"","sources":["file:///Users/jannelammi/code/Pathmode/packages/mcp-server/src/adopt.ts"],"names":[],"mappings":"AAoBA,wBAAgB,cAAc,CAAC,IAAI,WAAe,GAAG,OAAO,CAE3D;AA8BD,gGAAgG;AAChG,wBAAgB,6BAA6B,CACzC,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GAC1J,IAAI,CA6BN;AAED,wBAAsB,QAAQ,CAAC,IAAI,WAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAkGjE"}
|
|
@@ -414,6 +414,7 @@ export declare class PathmodeClient {
|
|
|
414
414
|
recordToolCall(tool: string, outcome: 'ok' | 'error', repo?: string | null): Promise<void>;
|
|
415
415
|
listIntents(status?: string): Promise<ApiIntent[]>;
|
|
416
416
|
getIntent(id: string): Promise<ApiIntent>;
|
|
417
|
+
completeRepoOnboarding(sessionId: string, intentId: string): Promise<void>;
|
|
417
418
|
getIntentPrompt(id: string, agentType?: string, mode?: string): Promise<{
|
|
418
419
|
prompt: string;
|
|
419
420
|
json: object;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api-client.d.ts","sourceRoot":"","sources":["file:///Users/jannelammi/code/Pathmode/packages/mcp-server/src/api-client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"api-client.d.ts","sourceRoot":"","sources":["file:///Users/jannelammi/code/Pathmode/packages/mcp-server/src/api-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli-info.d.ts","sourceRoot":"","sources":["file:///Users/jannelammi/code/Pathmode/packages/mcp-server/src/cli-info.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAKH,wBAAgB,gBAAgB,CAAC,IAAI,WAAe,GAAG,OAAO,CAE7D;AAED,wBAAgB,aAAa,CAAC,IAAI,WAAe,GAAG,OAAO,CAE1D;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAErD;AAED,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"cli-info.d.ts","sourceRoot":"","sources":["file:///Users/jannelammi/code/Pathmode/packages/mcp-server/src/cli-info.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAKH,wBAAgB,gBAAgB,CAAC,IAAI,WAAe,GAAG,OAAO,CAE7D;AAED,wBAAgB,aAAa,CAAC,IAAI,WAAe,GAAG,OAAO,CAE1D;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAErD;AAED,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CA8BlD"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { PathmodeConfig } from './api-client';
|
|
2
|
+
export interface ProjectBinding {
|
|
3
|
+
workspaceId: string;
|
|
4
|
+
}
|
|
5
|
+
export declare function projectBindingFile(cwd?: string): string;
|
|
6
|
+
export declare function loadProjectConnection(cwd?: string, homeDir?: string): PathmodeConfig | null;
|
|
7
|
+
export declare function saveProjectConnection(config: PathmodeConfig, cwd?: string, homeDir?: string): void;
|
|
8
|
+
/** Ensure the repository has a keyless MCP declaration. The credential is resolved
|
|
9
|
+
* from the project binding at runtime and is never written into a committable file. */
|
|
10
|
+
export declare function ensureProjectMcpConfig(cwd?: string): void;
|
|
11
|
+
//# sourceMappingURL=project-config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"project-config.d.ts","sourceRoot":"","sources":["file:///Users/jannelammi/code/Pathmode/packages/mcp-server/src/project-config.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAEnD,MAAM,WAAW,cAAc;IAC3B,WAAW,EAAE,MAAM,CAAC;CACvB;AAOD,wBAAgB,kBAAkB,CAAC,GAAG,SAAgB,GAAG,MAAM,CAE9D;AA+CD,wBAAgB,qBAAqB,CAAC,GAAG,SAAgB,EAAE,OAAO,SAAe,GAAG,cAAc,GAAG,IAAI,CAcxG;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,cAAc,EAAE,GAAG,SAAgB,EAAE,OAAO,SAAe,GAAG,IAAI,CAiB/G;AAED;uFACuF;AACvF,wBAAgB,sBAAsB,CAAC,GAAG,SAAgB,GAAG,IAAI,CAUhE"}
|
package/manifest.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"manifest_version": "0.3",
|
|
3
3
|
"name": "pathmode",
|
|
4
4
|
"display_name": "Pathmode",
|
|
5
|
-
"version": "1.
|
|
5
|
+
"version": "1.20.1",
|
|
6
6
|
"description": "Deterministic preflight for the intent you hand to a coding agent: six calibrated gates, the exact blockers named, no model call, no key needed.",
|
|
7
7
|
"long_description": "Pathmode MCP Server runs a deterministic preflight before your coding agent builds: check_intent_readiness scores an intent spec against six calibrated gates (title, objective, outcomes, constraints, edge cases, verification) and names the exact blockers, with no model call and no account. Keyless local mode works out of the box; specs live in intent.md in your repo, plain markdown you own, and skills for drafting, pressure-testing, and handing off intent ride along. Connect a Pathmode workspace with an API key to sync intent and evidence across a team, analyze dependency graphs, and verify pull requests against the outcomes you agreed to.",
|
|
8
8
|
"author": {
|