@agenticprimitives/devkit 0.0.0-alpha.3 → 0.0.0-alpha.4
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 +10 -0
- package/bin/ap.mjs +8 -2
- package/dist/developer-mcp.d.ts +16 -0
- package/dist/developer-mcp.d.ts.map +1 -0
- package/dist/developer-mcp.js +215 -0
- package/dist/developer-mcp.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/package.json +5 -8
package/README.md
CHANGED
|
@@ -56,6 +56,16 @@ a consumer uses the copy bundled in the package.
|
|
|
56
56
|
`packages` is the coherent set `ap upgrade` maintains; `rules` the source digests; `doctor` the product's rule
|
|
57
57
|
config (each section replaces the reference section whole).
|
|
58
58
|
|
|
59
|
+
## The Developer MCP (`ap mcp`)
|
|
60
|
+
|
|
61
|
+
A coding agent's host spawns `ap mcp` (stdio JSON-RPC) and gets a **read-only** server: `packages_list`,
|
|
62
|
+
`package_exports` (the names each entry's `.d.ts` declares), `ontology_term` (T-box IRI, label, comment — what a term
|
|
63
|
+
means and what it is not), `contract_deployments` (addresses per chain), `recipes` (the agent rules and each
|
|
64
|
+
package's spec), `doctor` (the same report, redacted). Everything is answered from the packages installed beside it.
|
|
65
|
+
It is the **third** MCP — not the runtime's private MCP behind admission (ADR-0057), not the Home MCP (spec 397) —
|
|
66
|
+
and its `ap://developer-mcp/doctrine` resource says so first: no signing key, no vault, no authority, no production
|
|
67
|
+
effect (spec 398 §10.4, T23). Claude Code: `claude mcp add ap-dev -- npx ap mcp --root .`
|
|
68
|
+
|
|
59
69
|
## What it will not do
|
|
60
70
|
|
|
61
71
|
Hold a key, read a vault, mint authority, invoke a production effect. A doctor finding is a review checkpoint;
|
package/bin/ap.mjs
CHANGED
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
// ap conform a2a|mcp <url> [--bearer <token>] [--timeout <ms>] [--json]
|
|
8
8
|
// ap test --live-gates <ledger.json> [--only a,b] [--json]
|
|
9
9
|
// ap create <dir> --template product-repo [--name <n>] [--pin <version>] [--json]
|
|
10
|
+
// ap mcp [--root <dir>] the read-only Developer MCP on stdio (spec 398 §10.4)
|
|
10
11
|
//
|
|
11
12
|
// Exit: 0 clean · 1 findings · 2 usage/config · 3 a rule or dispatch errored.
|
|
12
13
|
import { spawnSync } from 'node:child_process';
|
|
@@ -15,6 +16,7 @@ import { resolve } from 'node:path';
|
|
|
15
16
|
import {
|
|
16
17
|
DevkitError, EXIT, RULE_IDS, runDoctor, formatDoctorReport, loadDoctorConfig, loadRulesCorpus, projectRules, rulesLockEntries,
|
|
17
18
|
readLock, writeLock, planUpgrade, applyUpgradePlan, formatUpgradePlan, loadConform, loadLiveGatesRunner, loadCreateApp, formatConformanceReport,
|
|
19
|
+
runDeveloperMcpStdio,
|
|
18
20
|
} from '../dist/index.js';
|
|
19
21
|
|
|
20
22
|
const argv = process.argv.slice(2);
|
|
@@ -35,7 +37,7 @@ const fail = (e) => {
|
|
|
35
37
|
process.exit(code === 'E_USAGE' || code === 'E_CONFIG' || code === 'E_RULE_UNKNOWN' ? EXIT.USAGE : EXIT.ERROR);
|
|
36
38
|
};
|
|
37
39
|
|
|
38
|
-
const USAGE = `ap <doctor|upgrade|conform|test|create> … (see the header of bin/ap.mjs). Rules: ${RULE_IDS.join(', ')}`;
|
|
40
|
+
const USAGE = `ap <doctor|upgrade|conform|test|create|mcp> … (see the header of bin/ap.mjs). Rules: ${RULE_IDS.join(', ')}`;
|
|
39
41
|
|
|
40
42
|
async function doctor() {
|
|
41
43
|
if (flag('rules')) {
|
|
@@ -108,7 +110,11 @@ async function create() {
|
|
|
108
110
|
out({ ok: true, result }, `ap create · ${result.dir}\n${(result.files ?? []).map((f) => ` ${f}`).join('\n')}`);
|
|
109
111
|
}
|
|
110
112
|
|
|
111
|
-
|
|
113
|
+
// The Developer MCP (spec 398 §10.4): read-only, on stdio — a coding agent's host spawns `ap mcp`. Nothing but JSON-RPC
|
|
114
|
+
// goes to stdout; the doctrine resource says what this server is and is not.
|
|
115
|
+
async function mcp() { await runDeveloperMcpStdio({ root }); }
|
|
116
|
+
|
|
117
|
+
const commands = { doctor, upgrade, conform, test, create, mcp };
|
|
112
118
|
try {
|
|
113
119
|
if (!cmd || flag('help') || cmd === '--help' || !commands[cmd]) {
|
|
114
120
|
if (json) console.log(JSON.stringify({ ok: !cmd || cmd === '--help', usage: USAGE }));
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { MethodRegistry } from '@agenticprimitives/mcp-protocol';
|
|
2
|
+
import type { JsonRpcResponse } from '@agenticprimitives/mcp-protocol';
|
|
3
|
+
export declare const DEVELOPER_MCP_DOCTRINE: string;
|
|
4
|
+
export interface DeveloperMcpOptions {
|
|
5
|
+
/** The project root — where `node_modules/@agenticprimitives/*` and `agentic.lock.json` are. */
|
|
6
|
+
root: string;
|
|
7
|
+
/** The rules corpus this kit bundles (recipes). Default: the devkit's own `rules/`. */
|
|
8
|
+
rulesDir?: string;
|
|
9
|
+
}
|
|
10
|
+
export declare function createDeveloperMcp(opts: DeveloperMcpOptions): {
|
|
11
|
+
registry: MethodRegistry;
|
|
12
|
+
handle: (raw: string) => Promise<JsonRpcResponse | null>;
|
|
13
|
+
};
|
|
14
|
+
/** The stdio transport: one JSON-RPC message per line on stdin, one per line on stdout; nothing else on stdout. */
|
|
15
|
+
export declare function runDeveloperMcpStdio(opts: DeveloperMcpOptions): Promise<void>;
|
|
16
|
+
//# sourceMappingURL=developer-mcp.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"developer-mcp.d.ts","sourceRoot":"","sources":["../src/developer-mcp.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,cAAc,EAAmI,MAAM,iCAAiC,CAAC;AAClM,OAAO,KAAK,EAAkB,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAKvF,eAAO,MAAM,sBAAsB,QAGuF,CAAC;AAK3H,MAAM,WAAW,mBAAmB;IAClC,gGAAgG;IAChG,IAAI,EAAE,MAAM,CAAC;IACb,uFAAuF;IACvF,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAqGD,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,mBAAmB,GAAG;IAAE,QAAQ,EAAE,cAAc,CAAC;IAAC,MAAM,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAAA;CAAE,CAoDpJ;AAED,mHAAmH;AACnH,wBAAsB,oBAAoB,CAAC,IAAI,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAQnF"}
|
|
@@ -0,0 +1,215 @@
|
|
|
1
|
+
// THE DEVELOPER MCP — spec 398 §10.4 (T23). Read-only, public: it resolves package exports, ontology terms (T-box IRIs
|
|
2
|
+
// and their comments), contract deployments, recipes (the agent rules and each package's spec) and diagnostics (the
|
|
3
|
+
// doctor) for a coding agent. It holds no signing key, reads no vault, mints no authority and invokes no production
|
|
4
|
+
// effect. It is a THIRD MCP, distinct from (a) the runtime's private MCP behind admission (ADR-0057) and (b) the Home
|
|
5
|
+
// MCP (spec 397, a person's entrance to their own agent). Its manifest says so in its first line, because confusing
|
|
6
|
+
// the three is the failure the review warns of.
|
|
7
|
+
//
|
|
8
|
+
// Everything it answers is read from the consumer's INSTALL (`node_modules/@agenticprimitives/*`) and this package's
|
|
9
|
+
// bundled rules — never from a network, never from a vault. A query it cannot answer says so; nothing is guessed.
|
|
10
|
+
import { existsSync, readFileSync, readdirSync } from 'node:fs';
|
|
11
|
+
import { join, resolve } from 'node:path';
|
|
12
|
+
import { createInterface } from 'node:readline';
|
|
13
|
+
import { MethodRegistry, RpcError, RPC_ERROR, parseJsonRpc, parseRequestMeta, negotiateProtocolVersion, SUPPORTED_PROTOCOL_VERSIONS, buildServerDiscover } from '@agenticprimitives/mcp-protocol';
|
|
14
|
+
import { runDoctor } from './doctor.js';
|
|
15
|
+
import { loadDoctorConfig } from './config.js';
|
|
16
|
+
import { redact } from './redact.js';
|
|
17
|
+
export const DEVELOPER_MCP_DOCTRINE = 'This is the DEVELOPER MCP (spec 398 §10.4): read-only, public. It holds no signing key, reads no vault, mints no authority and invokes no production effect. ' +
|
|
18
|
+
'It is not the runtime MCP (private, behind admission — ADR-0057) and not the Home MCP (spec 397, a person\'s entrance to their own agent). ' +
|
|
19
|
+
'It answers from the packages installed beside it: exports, ontology terms, contract deployments, recipes, diagnostics.';
|
|
20
|
+
const SERVER_INFO = { name: 'agenticprimitives-developer-mcp', version: '0.1.0', title: 'Agentic Primitives — Developer MCP (read-only)' };
|
|
21
|
+
const CAPABILITIES = { tools: { listChanged: false }, resources: { listChanged: false, subscribe: false } };
|
|
22
|
+
const SCOPE = '@agenticprimitives';
|
|
23
|
+
const text = (p) => { try {
|
|
24
|
+
return readFileSync(p, 'utf8');
|
|
25
|
+
}
|
|
26
|
+
catch {
|
|
27
|
+
return null;
|
|
28
|
+
} };
|
|
29
|
+
const jsonOf = (p) => { const t = text(p); if (t === null)
|
|
30
|
+
return null; try {
|
|
31
|
+
return JSON.parse(t);
|
|
32
|
+
}
|
|
33
|
+
catch {
|
|
34
|
+
return null;
|
|
35
|
+
} };
|
|
36
|
+
function installedPackages(root) {
|
|
37
|
+
const dir = join(root, 'node_modules', SCOPE);
|
|
38
|
+
if (!existsSync(dir))
|
|
39
|
+
return [];
|
|
40
|
+
return readdirSync(dir).flatMap((n) => {
|
|
41
|
+
const d = join(dir, n);
|
|
42
|
+
const pj = jsonOf(join(d, 'package.json'));
|
|
43
|
+
return pj?.name ? [{ name: pj.name, version: pj.version ?? '?', ...(pj.description ? { description: pj.description } : {}), ...(pj.exports ? { exports: pj.exports } : {}), dir: d }] : [];
|
|
44
|
+
}).sort((a, b) => a.name.localeCompare(b.name));
|
|
45
|
+
}
|
|
46
|
+
/** The names a `.d.ts` declares at top level — the export surface a coding agent should not have to guess at. */
|
|
47
|
+
function declaredNames(dts) {
|
|
48
|
+
const out = [];
|
|
49
|
+
const re = /^export (?:declare )?(function|const|class|type|interface|enum|let|var)\s+([A-Za-z_$][\w$]*)/gm;
|
|
50
|
+
for (let m = re.exec(dts); m; m = re.exec(dts))
|
|
51
|
+
out.push({ kind: m[1], name: m[2] });
|
|
52
|
+
const rex = /^export \{([^}]+)\}/gm;
|
|
53
|
+
for (let m = rex.exec(dts); m; m = rex.exec(dts))
|
|
54
|
+
for (const part of m[1].split(',')) {
|
|
55
|
+
const n = part.trim().split(/\s+as\s+/).pop()?.replace(/^type\s+/, '').trim();
|
|
56
|
+
if (n)
|
|
57
|
+
out.push({ kind: 're-export', name: n });
|
|
58
|
+
}
|
|
59
|
+
return out;
|
|
60
|
+
}
|
|
61
|
+
function packageExports(root, name) {
|
|
62
|
+
const pkg = installedPackages(root).find((p) => p.name === name || p.name === `${SCOPE}/${name}`);
|
|
63
|
+
if (!pkg)
|
|
64
|
+
throw new RpcError(RPC_ERROR.INVALID_PARAMS, `${name} is not installed under ${SCOPE} — install it, or ask packages_list for what is`);
|
|
65
|
+
const entries = Object.entries(pkg.exports ?? {}).map(([subpath, target]) => {
|
|
66
|
+
const t = target;
|
|
67
|
+
const types = typeof t === 'object' && t?.types ? t.types : undefined;
|
|
68
|
+
const dts = types ? text(join(pkg.dir, types)) : null;
|
|
69
|
+
return { subpath, ...(typeof t === 'string' ? { target: t } : t), ...(dts ? { declares: declaredNames(dts) } : {}) };
|
|
70
|
+
});
|
|
71
|
+
const readme = text(join(pkg.dir, 'README.md'));
|
|
72
|
+
return { name: pkg.name, version: pkg.version, ...(pkg.description ? { description: pkg.description } : {}), entries, ...(readme ? { readmeHead: readme.split('\n').slice(0, 12).join('\n') } : {}), hasSpec: existsSync(join(pkg.dir, 'spec.md')) };
|
|
73
|
+
}
|
|
74
|
+
/** A best-effort scan of the T-box Turtle: subject blocks with their labels and comments. Not a parser — the
|
|
75
|
+
* ontology package holds the machine-checked form; this is a coding agent's lookup. */
|
|
76
|
+
function ontologyTerms(root, query) {
|
|
77
|
+
const dir = join(root, 'node_modules', SCOPE, 'ontology', 'tbox');
|
|
78
|
+
if (!existsSync(dir))
|
|
79
|
+
throw new RpcError(RPC_ERROR.INVALID_PARAMS, `${SCOPE}/ontology is not installed (its tbox/ is what this answers from)`);
|
|
80
|
+
const q = query.trim().toLowerCase();
|
|
81
|
+
const out = [];
|
|
82
|
+
for (const f of readdirSync(dir).filter((x) => x.endsWith('.ttl'))) {
|
|
83
|
+
const ttl = text(join(dir, f)) ?? '';
|
|
84
|
+
// subject blocks: a line starting at column 0 with a prefixed name or IRI, running to the next such line
|
|
85
|
+
const blocks = ttl.split(/\n(?=(?:[a-zA-Z][\w-]*:[\w-]+|<[^>]+>)\s)/);
|
|
86
|
+
for (const b of blocks) {
|
|
87
|
+
const subject = b.match(/^([a-zA-Z][\w-]*:[\w-]+|<[^>]+>)\s/)?.[1];
|
|
88
|
+
if (!subject)
|
|
89
|
+
continue;
|
|
90
|
+
const label = b.match(/rdfs:label\s+"([^"]*)"/)?.[1];
|
|
91
|
+
const comment = b.match(/rdfs:comment\s+(?:"""([\s\S]*?)"""|"([^"]*)")/);
|
|
92
|
+
const hay = `${subject} ${label ?? ''}`.toLowerCase();
|
|
93
|
+
if (!hay.includes(q))
|
|
94
|
+
continue;
|
|
95
|
+
const types = [...b.matchAll(/(?:^|\s)a\s+([^;.\n]+)/g)].map((m) => m[1].trim()).slice(0, 1).flatMap((t) => t.split(/\s*,\s*/));
|
|
96
|
+
out.push({ iri: subject, file: f, ...(label ? { label } : {}), ...(comment ? { comment: (comment[1] ?? comment[2] ?? '').trim() } : {}), types });
|
|
97
|
+
if (out.length >= 40)
|
|
98
|
+
return out;
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
return out;
|
|
102
|
+
}
|
|
103
|
+
function deployments(root, chain) {
|
|
104
|
+
const dir = join(root, 'node_modules', SCOPE, 'contracts');
|
|
105
|
+
if (!existsSync(dir))
|
|
106
|
+
throw new RpcError(RPC_ERROR.INVALID_PARAMS, `${SCOPE}/contracts is not installed`);
|
|
107
|
+
const files = readdirSync(dir).filter((f) => /^deployments-[a-z0-9-]+\.json$/.test(f));
|
|
108
|
+
const chains = files.map((f) => f.replace(/^deployments-/, '').replace(/\.json$/, ''));
|
|
109
|
+
if (!chain)
|
|
110
|
+
return { chains };
|
|
111
|
+
const f = `deployments-${chain}.json`;
|
|
112
|
+
if (!files.includes(f))
|
|
113
|
+
throw new RpcError(RPC_ERROR.INVALID_PARAMS, `no deployments for "${chain}" — known: ${chains.join(', ')}`);
|
|
114
|
+
return { chain, deployments: jsonOf(join(dir, f)) };
|
|
115
|
+
}
|
|
116
|
+
function recipes(rulesDir, root, name) {
|
|
117
|
+
const rules = existsSync(rulesDir) ? readdirSync(rulesDir).filter((f) => f.endsWith('.md')).map((f) => f.replace(/\.md$/, '')) : [];
|
|
118
|
+
const specs = installedPackages(root).filter((p) => existsSync(join(p.dir, 'spec.md'))).map((p) => `${p.name}/spec`);
|
|
119
|
+
if (!name)
|
|
120
|
+
return { rules, specs, note: 'a rule is doctrine (docs/architecture/agent-rules); a spec is a package\'s architect-of-record' };
|
|
121
|
+
if (rules.includes(name))
|
|
122
|
+
return { name, kind: 'rule', text: text(join(rulesDir, `${name}.md`)) };
|
|
123
|
+
const m = name.match(/^(@agenticprimitives\/[\w-]+)\/spec$/);
|
|
124
|
+
if (m) {
|
|
125
|
+
const p = installedPackages(root).find((x) => x.name === m[1]);
|
|
126
|
+
const s = p ? text(join(p.dir, 'spec.md')) : null;
|
|
127
|
+
if (s)
|
|
128
|
+
return { name, kind: 'spec', text: s };
|
|
129
|
+
}
|
|
130
|
+
throw new RpcError(RPC_ERROR.INVALID_PARAMS, `no recipe "${name}" — ask recipes with no name for the list`);
|
|
131
|
+
}
|
|
132
|
+
const TOOLS = [
|
|
133
|
+
{ name: 'packages_list', description: 'The @agenticprimitives packages installed in this project: name, version, description, export subpaths.', inputSchema: { type: 'object', properties: {}, additionalProperties: false } },
|
|
134
|
+
{ name: 'package_exports', description: 'One package\'s export map with the names each entry declares (from its .d.ts), its README head and whether it ships a spec.', inputSchema: { type: 'object', properties: { name: { type: 'string', description: 'e.g. delegation or @agenticprimitives/delegation' } }, required: ['name'], additionalProperties: false } },
|
|
135
|
+
{ name: 'ontology_term', description: 'Look up T-box terms by IRI fragment or label: the IRI, its file, rdfs:label, rdfs:comment (what it means and what it is NOT), its types.', inputSchema: { type: 'object', properties: { query: { type: 'string' } }, required: ['query'], additionalProperties: false } },
|
|
136
|
+
{ name: 'contract_deployments', description: 'Deployed contract addresses per chain, from the contracts package. Without a chain: the chains it knows.', inputSchema: { type: 'object', properties: { chain: { type: 'string', description: 'e.g. faithchain, base-sepolia, anvil' } }, additionalProperties: false } },
|
|
137
|
+
{ name: 'recipes', description: 'The agent rules this kit bundles and each installed package\'s spec, by name; without a name, the list.', inputSchema: { type: 'object', properties: { name: { type: 'string' } }, additionalProperties: false } },
|
|
138
|
+
{ name: 'doctor', description: 'Run the doctrine rules over this project (read-only, redacted): the same report `ap doctor --json` prints.', inputSchema: { type: 'object', properties: { only: { type: 'array', items: { type: 'string' } } }, additionalProperties: false } },
|
|
139
|
+
];
|
|
140
|
+
const RESOURCES = [
|
|
141
|
+
{ uri: 'ap://developer-mcp/doctrine', name: 'What this server is and is not', mimeType: 'text/plain' },
|
|
142
|
+
];
|
|
143
|
+
export function createDeveloperMcp(opts) {
|
|
144
|
+
const root = resolve(opts.root);
|
|
145
|
+
const rulesDir = opts.rulesDir ?? resolve(new URL('../rules/', import.meta.url).pathname);
|
|
146
|
+
const call = async (name, args) => {
|
|
147
|
+
switch (name) {
|
|
148
|
+
case 'packages_list': return { packages: installedPackages(root).map(({ dir: _d, exports, ...p }) => ({ ...p, subpaths: Object.keys(exports ?? {}) })) };
|
|
149
|
+
case 'package_exports': return packageExports(root, String(args.name ?? ''));
|
|
150
|
+
case 'ontology_term': return { terms: ontologyTerms(root, String(args.query ?? '')) };
|
|
151
|
+
case 'contract_deployments': return deployments(root, typeof args.chain === 'string' ? args.chain : undefined);
|
|
152
|
+
case 'recipes': return recipes(rulesDir, root, typeof args.name === 'string' ? args.name : undefined);
|
|
153
|
+
case 'doctor': {
|
|
154
|
+
const loaded = loadDoctorConfig(root);
|
|
155
|
+
const report = await runDoctor({ root, loaded, ...(Array.isArray(args.only) ? { only: args.only.map(String) } : {}) });
|
|
156
|
+
return JSON.parse(redact(JSON.stringify(report)));
|
|
157
|
+
}
|
|
158
|
+
default: throw new RpcError(RPC_ERROR.INVALID_PARAMS, `unknown tool ${name}`);
|
|
159
|
+
}
|
|
160
|
+
};
|
|
161
|
+
const registry = new MethodRegistry()
|
|
162
|
+
.register('server/discover', () => buildServerDiscover({ serverInfo: SERVER_INFO, capabilities: CAPABILITIES }))
|
|
163
|
+
.register('tools/list', () => ({ tools: TOOLS }))
|
|
164
|
+
.register('resources/list', () => ({ resources: RESOURCES }))
|
|
165
|
+
.register('resources/read', (params) => {
|
|
166
|
+
const uri = String(params?.uri ?? '');
|
|
167
|
+
if (uri !== RESOURCES[0].uri)
|
|
168
|
+
throw new RpcError(RPC_ERROR.INVALID_PARAMS, `unknown resource ${uri}`);
|
|
169
|
+
return { contents: [{ uri, mimeType: 'text/plain', text: DEVELOPER_MCP_DOCTRINE }] };
|
|
170
|
+
})
|
|
171
|
+
.register('tools/call', async (params) => {
|
|
172
|
+
const name = String(params?.name ?? '');
|
|
173
|
+
const args = params?.arguments ?? {};
|
|
174
|
+
try {
|
|
175
|
+
const out = await call(name, args);
|
|
176
|
+
return { content: [{ type: 'text', text: JSON.stringify(out, null, 2) }], structuredContent: out, isError: false };
|
|
177
|
+
}
|
|
178
|
+
catch (e) {
|
|
179
|
+
if (e instanceof RpcError)
|
|
180
|
+
return { content: [{ type: 'text', text: e.message }], isError: true };
|
|
181
|
+
throw e;
|
|
182
|
+
}
|
|
183
|
+
});
|
|
184
|
+
const handle = async (raw) => {
|
|
185
|
+
const parsed = parseJsonRpc(raw);
|
|
186
|
+
if (!parsed.ok)
|
|
187
|
+
return parsed.res;
|
|
188
|
+
const req = parsed.req;
|
|
189
|
+
const meta = parseRequestMeta(req.params?._meta, undefined);
|
|
190
|
+
const requested = typeof req.params?.protocolVersion === 'string' ? req.params.protocolVersion : meta.protocolVersion;
|
|
191
|
+
const version = negotiateProtocolVersion(requested) ?? SUPPORTED_PROTOCOL_VERSIONS[0];
|
|
192
|
+
const id = req.id ?? null;
|
|
193
|
+
if (req.method === 'initialize')
|
|
194
|
+
return { jsonrpc: '2.0', id, result: { protocolVersion: version, capabilities: CAPABILITIES, serverInfo: SERVER_INFO, instructions: DEVELOPER_MCP_DOCTRINE } };
|
|
195
|
+
if (req.method === 'notifications/initialized')
|
|
196
|
+
return null;
|
|
197
|
+
if (req.method === 'ping')
|
|
198
|
+
return { jsonrpc: '2.0', id, result: {} };
|
|
199
|
+
return registry.dispatch(req, { meta, protocolVersion: version, raw });
|
|
200
|
+
};
|
|
201
|
+
return { registry, handle };
|
|
202
|
+
}
|
|
203
|
+
/** The stdio transport: one JSON-RPC message per line on stdin, one per line on stdout; nothing else on stdout. */
|
|
204
|
+
export async function runDeveloperMcpStdio(opts) {
|
|
205
|
+
const { handle } = createDeveloperMcp(opts);
|
|
206
|
+
const rl = createInterface({ input: process.stdin, crlfDelay: Infinity });
|
|
207
|
+
for await (const line of rl) {
|
|
208
|
+
if (!line.trim())
|
|
209
|
+
continue;
|
|
210
|
+
const res = await handle(line);
|
|
211
|
+
if (res)
|
|
212
|
+
process.stdout.write(`${JSON.stringify(res)}\n`);
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
//# sourceMappingURL=developer-mcp.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"developer-mcp.js","sourceRoot":"","sources":["../src/developer-mcp.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -21,4 +21,6 @@ export { planUpgrade, applyUpgradePlan, formatUpgradePlan, npmDistTags } from '.
|
|
|
21
21
|
export type { UpgradeMode, UpgradeChange, UpgradePlan, DistTagResolver } from './upgrade.js';
|
|
22
22
|
export { CONFORM_MODULES, LIVE_GATES_MODULE, CREATE_APP_MODULE, loadConform, loadLiveGatesRunner, loadCreateApp, formatConformanceReport } from './dispatch.js';
|
|
23
23
|
export type { ConformanceCheck, ConformanceReport, ConformFn, LiveGatesRunner } from './dispatch.js';
|
|
24
|
+
export { createDeveloperMcp, runDeveloperMcpStdio, DEVELOPER_MCP_DOCTRINE } from './developer-mcp.js';
|
|
25
|
+
export type { DeveloperMcpOptions } from './developer-mcp.js';
|
|
24
26
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,YAAY,EAAG,2BAAoC,CAAC;AACjE,eAAO,MAAM,cAAc,EAAG,yBAAkC,CAAC;AACjE,eAAO,MAAM,QAAQ,EAAG,uCAAgD,CAAC;AAEzE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAC7D,YAAY,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACvF,YAAY,EAAE,YAAY,EAAE,qBAAqB,EAAE,YAAY,EAAE,YAAY,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACnI,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAClH,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC1D,YAAY,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAC7E,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EACL,iBAAiB,EAAE,iBAAiB,EAAE,eAAe,EACrD,UAAU,EAAE,gBAAgB,EAAE,eAAe,EAAE,gBAAgB,EAAE,SAAS,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,YAAY,GAC9H,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EAAE,gBAAgB,EAAE,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvI,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAChD,YAAY,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpE,YAAY,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACzE,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC7F,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC7F,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,WAAW,EAAE,mBAAmB,EAAE,aAAa,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AAChK,YAAY,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,YAAY,EAAG,2BAAoC,CAAC;AACjE,eAAO,MAAM,cAAc,EAAG,yBAAkC,CAAC;AACjE,eAAO,MAAM,QAAQ,EAAG,uCAAgD,CAAC;AAEzE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAC7D,YAAY,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACvF,YAAY,EAAE,YAAY,EAAE,qBAAqB,EAAE,YAAY,EAAE,YAAY,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACnI,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAClH,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC1D,YAAY,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAC7E,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EACL,iBAAiB,EAAE,iBAAiB,EAAE,eAAe,EACrD,UAAU,EAAE,gBAAgB,EAAE,eAAe,EAAE,gBAAgB,EAAE,SAAS,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,YAAY,GAC9H,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EAAE,gBAAgB,EAAE,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvI,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAChD,YAAY,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpE,YAAY,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACzE,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC7F,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC7F,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,WAAW,EAAE,mBAAmB,EAAE,aAAa,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AAChK,YAAY,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAErG,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AACtG,YAAY,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -16,4 +16,6 @@ export { readLock, writeLock } from './lock.js';
|
|
|
16
16
|
export { workspaceGlobs, workspaceManifests } from './workspace.js';
|
|
17
17
|
export { planUpgrade, applyUpgradePlan, formatUpgradePlan, npmDistTags } from './upgrade.js';
|
|
18
18
|
export { CONFORM_MODULES, LIVE_GATES_MODULE, CREATE_APP_MODULE, loadConform, loadLiveGatesRunner, loadCreateApp, formatConformanceReport } from './dispatch.js';
|
|
19
|
+
// Spec 398 §10.4 — the read-only Developer MCP (the THIRD MCP; never the runtime's, never the Home's).
|
|
20
|
+
export { createDeveloperMcp, runDeveloperMcpStdio, DEVELOPER_MCP_DOCTRINE } from './developer-mcp.js';
|
|
19
21
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,mHAAmH;AACnH,+GAA+G;AAC/G,0GAA0G;AAC1G,+GAA+G;AAC/G,yFAAyF;AACzF,MAAM,CAAC,MAAM,YAAY,GAAG,2BAAoC,CAAC;AACjE,MAAM,CAAC,MAAM,cAAc,GAAG,yBAAkC,CAAC;AACjE,MAAM,CAAC,MAAM,QAAQ,GAAG,uCAAgD,CAAC;AAEzE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAE7D,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAGvF,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE1D,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAE7E,OAAO,EACL,iBAAiB,EAAE,iBAAiB,EAAE,eAAe,EACrD,UAAU,EAAE,gBAAgB,EAAE,eAAe,EAAE,gBAAgB,EAAE,SAAS,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,YAAY,GAC9H,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEhD,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAEpE,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE7F,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,WAAW,EAAE,mBAAmB,EAAE,aAAa,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,mHAAmH;AACnH,+GAA+G;AAC/G,0GAA0G;AAC1G,+GAA+G;AAC/G,yFAAyF;AACzF,MAAM,CAAC,MAAM,YAAY,GAAG,2BAAoC,CAAC;AACjE,MAAM,CAAC,MAAM,cAAc,GAAG,yBAAkC,CAAC;AACjE,MAAM,CAAC,MAAM,QAAQ,GAAG,uCAAgD,CAAC;AAEzE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAE7D,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAGvF,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE1D,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAE7E,OAAO,EACL,iBAAiB,EAAE,iBAAiB,EAAE,eAAe,EACrD,UAAU,EAAE,gBAAgB,EAAE,eAAe,EAAE,gBAAgB,EAAE,SAAS,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,YAAY,GAC9H,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEhD,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAEpE,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE7F,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,WAAW,EAAE,mBAAmB,EAAE,aAAa,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AAEhK,uGAAuG;AACvG,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@agenticprimitives/devkit",
|
|
3
|
-
"version": "0.0.0-alpha.
|
|
3
|
+
"version": "0.0.0-alpha.4",
|
|
4
4
|
"description": "The Developer Kit core (spec 398 §10 / spec 399 §3): `ap doctor` runs the doctrine gates as data + pure rules over any tree, `ap doctor --rules` projects one pinned rules source into AGENTS.md / CLAUDE.md / .cursor/rules by digest, `ap upgrade` rewrites every @agenticprimitives/* pin to one coherent exact set, and `ap conform` / `ap test` dispatch to the packages that own conformance and live gates.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -32,12 +32,12 @@
|
|
|
32
32
|
"access": "public"
|
|
33
33
|
},
|
|
34
34
|
"dependencies": {
|
|
35
|
-
"@agenticprimitives/capability-claims": "0.0.0-alpha.
|
|
35
|
+
"@agenticprimitives/capability-claims": "0.0.0-alpha.21",
|
|
36
|
+
"@agenticprimitives/mcp-protocol": "0.0.0-alpha.3"
|
|
36
37
|
},
|
|
37
38
|
"peerDependencies": {
|
|
38
|
-
"@agenticprimitives/a2a": "0.0.0-alpha.
|
|
39
|
-
"@agenticprimitives/evaluation": "0.0.0-alpha.
|
|
40
|
-
"@agenticprimitives/mcp-protocol": "0.0.0-alpha.2"
|
|
39
|
+
"@agenticprimitives/a2a": "0.0.0-alpha.22",
|
|
40
|
+
"@agenticprimitives/evaluation": "0.0.0-alpha.3"
|
|
41
41
|
},
|
|
42
42
|
"peerDependenciesMeta": {
|
|
43
43
|
"@agenticprimitives/a2a": {
|
|
@@ -45,9 +45,6 @@
|
|
|
45
45
|
},
|
|
46
46
|
"@agenticprimitives/evaluation": {
|
|
47
47
|
"optional": true
|
|
48
|
-
},
|
|
49
|
-
"@agenticprimitives/mcp-protocol": {
|
|
50
|
-
"optional": true
|
|
51
48
|
}
|
|
52
49
|
},
|
|
53
50
|
"devDependencies": {
|