@trusty-squire/mcp 0.1.2 → 0.1.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/dist/bin.d.ts +3 -0
- package/dist/bin.d.ts.map +1 -0
- package/dist/bin.js +32 -0
- package/dist/bin.js.map +1 -0
- package/dist/install/cli.d.ts +6 -2
- package/dist/install/cli.d.ts.map +1 -1
- package/dist/install/cli.js +26 -15
- package/dist/install/cli.js.map +1 -1
- package/dist/server.d.ts +1 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +19 -24
- package/dist/server.js.map +1 -1
- package/dist/version.d.ts +2 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +9 -0
- package/dist/version.js.map +1 -0
- package/package.json +4 -6
package/dist/bin.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bin.d.ts","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":""}
|
package/dist/bin.js
ADDED
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
// The one and only entrypoint for @trusty-squire/mcp.
|
|
3
|
+
//
|
|
4
|
+
// A single bin (`mcp`, matching the package's unscoped name) means
|
|
5
|
+
// `npx @trusty-squire/mcp <subcommand>` is never ambiguous about which
|
|
6
|
+
// executable to run — npx can only auto-pick a bin when there is one,
|
|
7
|
+
// or one named for the package. Subcommands:
|
|
8
|
+
// server — start the MCP stdio server (host agents)
|
|
9
|
+
// install | pair | logout — the setup CLI (humans)
|
|
10
|
+
//
|
|
11
|
+
// This file is *only* ever a process entrypoint: it has no exports and
|
|
12
|
+
// runs unconditionally. The old `import.meta.url === file://argv[1]`
|
|
13
|
+
// "am I main?" guard — duplicated in cli.ts and server.ts, and wrong in
|
|
14
|
+
// both when launched via a bin symlink — is gone by construction.
|
|
15
|
+
import process from "node:process";
|
|
16
|
+
import { MissingSessionError } from "./api-client.js";
|
|
17
|
+
import { runCli } from "./install/cli.js";
|
|
18
|
+
import { runServer } from "./server.js";
|
|
19
|
+
const argv = process.argv.slice(2);
|
|
20
|
+
const isServer = argv[0] === "server";
|
|
21
|
+
(isServer ? runServer() : runCli(argv)).catch((err) => {
|
|
22
|
+
// stderr lands in the host agent's MCP log; keep it useful.
|
|
23
|
+
if (err instanceof MissingSessionError) {
|
|
24
|
+
console.error(err.message);
|
|
25
|
+
}
|
|
26
|
+
else {
|
|
27
|
+
console.error(`[trusty-squire] ${isServer ? "server" : "cli"} failed: ` +
|
|
28
|
+
(err instanceof Error ? err.message : String(err)));
|
|
29
|
+
}
|
|
30
|
+
process.exit(1);
|
|
31
|
+
});
|
|
32
|
+
//# sourceMappingURL=bin.js.map
|
package/dist/bin.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bin.js","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":";AACA,sDAAsD;AACtD,EAAE;AACF,mEAAmE;AACnE,uEAAuE;AACvE,sEAAsE;AACtE,6CAA6C;AAC7C,wEAAwE;AACxE,uDAAuD;AACvD,EAAE;AACF,uEAAuE;AACvE,qEAAqE;AACrE,wEAAwE;AACxE,kEAAkE;AAClE,OAAO,OAAO,MAAM,cAAc,CAAC;AACnC,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC;AAEtC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;IAC7D,4DAA4D;IAC5D,IAAI,GAAG,YAAY,mBAAmB,EAAE,CAAC;QACvC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC7B,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,KAAK,CACX,mBAAmB,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,WAAW;YACvD,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CACrD,CAAC;IACJ,CAAC;IACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
|
package/dist/install/cli.d.ts
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
1
|
import { type AgentTarget } from "./agents.js";
|
|
3
2
|
import { type AsnInfo } from "@trusty-squire/universal-bot";
|
|
4
3
|
type Argv = {
|
|
@@ -8,6 +7,11 @@ type Argv = {
|
|
|
8
7
|
withPair: boolean;
|
|
9
8
|
};
|
|
10
9
|
declare function parseArgs(argv: string[]): Argv;
|
|
10
|
+
declare function resolveServerLaunch(): {
|
|
11
|
+
command: string;
|
|
12
|
+
args: string[];
|
|
13
|
+
};
|
|
14
|
+
export declare function runCli(argv: string[]): Promise<void>;
|
|
11
15
|
declare function install(args: Argv): Promise<void>;
|
|
12
16
|
declare function pair(args: Argv): Promise<void>;
|
|
13
17
|
declare function logout(): Promise<void>;
|
|
@@ -20,5 +24,5 @@ declare function pollForClaim(apiBase: string, pairToken: string, intervalMsOrOp
|
|
|
20
24
|
timeoutMs?: number;
|
|
21
25
|
}, timeoutMsArg?: number): Promise<ClaimResult | null>;
|
|
22
26
|
declare function printAsnWarning(asn: AsnInfo): void;
|
|
23
|
-
export { install, pair, logout, parseArgs, pollForClaim, printAsnWarning };
|
|
27
|
+
export { install, pair, logout, parseArgs, pollForClaim, printAsnWarning, resolveServerLaunch };
|
|
24
28
|
//# sourceMappingURL=cli.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../src/install/cli.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../src/install/cli.ts"],"names":[],"mappings":"AAyBA,OAAO,EAAiC,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;AAC9E,OAAO,EAAa,KAAK,OAAO,EAAE,MAAM,8BAA8B,CAAC;AAKvE,KAAK,IAAI,GAAG;IACV,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,iBAAS,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,CAmBvC;AAWD,iBAAS,mBAAmB,IAAI;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAA;CAAE,CAMlE;AAED,wBAAsB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAoB1D;AAED,iBAAe,OAAO,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAgFhD;AAED,iBAAe,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAc7C;AAyDD,iBAAe,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAIrC;AAiBD,UAAU,WAAW;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,iBAAe,YAAY,CACzB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EACjB,gBAAgB,GAAE,MAAM,GAAG;IAAE,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAO,EAC3E,YAAY,CAAC,EAAE,MAAM,GACpB,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAoB7B;AAKD,iBAAS,eAAe,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI,CAyB3C;AAED,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,eAAe,EAAE,mBAAmB,EAAE,CAAC"}
|
package/dist/install/cli.js
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
// Install / pair / logout CLI.
|
|
1
|
+
// Setup CLI — the install / pair / logout subcommands.
|
|
3
2
|
//
|
|
4
3
|
// Tier 0 install (default) — friction-free:
|
|
5
4
|
// npx @trusty-squire/mcp install --target=claude-code
|
|
@@ -16,11 +15,16 @@
|
|
|
16
15
|
// --target=<agent> skip auto-detection
|
|
17
16
|
// --api-base=<url> override the API base URL
|
|
18
17
|
// --pair run pairing as part of install (Tier 1 from minute 1)
|
|
18
|
+
//
|
|
19
|
+
// Pure module — `runCli()` is invoked by bin.ts. No shebang, no
|
|
20
|
+
// entrypoint guard, no top-level execution.
|
|
19
21
|
import process from "node:process";
|
|
22
|
+
import { fileURLToPath } from "node:url";
|
|
20
23
|
import { pairInitiate, pairPoll, issueMachineToken } from "../api-client.js";
|
|
21
24
|
import { openSessionStorage } from "../session.js";
|
|
22
25
|
import { AGENTS, detectInstalledAgents } from "./agents.js";
|
|
23
26
|
import { detectAsn } from "@trusty-squire/universal-bot";
|
|
27
|
+
import { VERSION } from "../version.js";
|
|
24
28
|
const DEFAULT_API_BASE = process.env.TRUSTY_SQUIRE_API_BASE ?? "https://trusty-squire-api.fly.dev";
|
|
25
29
|
function parseArgs(argv) {
|
|
26
30
|
const positional = argv.filter((a) => !a.startsWith("--"));
|
|
@@ -48,8 +52,20 @@ function parseArgs(argv) {
|
|
|
48
52
|
function isAgentTarget(s) {
|
|
49
53
|
return s === "claude-code" || s === "cursor" || s === "goose" || s === "cline" || s === "continue";
|
|
50
54
|
}
|
|
51
|
-
|
|
52
|
-
|
|
55
|
+
// The MCP-config command that launches the server. An absolute
|
|
56
|
+
// `node <bin.js> server` is deterministic and offline — no npx package
|
|
57
|
+
// resolution every time the host agent spawns the server. But when this
|
|
58
|
+
// CLI is itself running from npx's throwaway cache, that path won't
|
|
59
|
+
// survive a cache sweep, so fall back to a version-pinned npx call.
|
|
60
|
+
function resolveServerLaunch() {
|
|
61
|
+
const binPath = fileURLToPath(new URL("../bin.js", import.meta.url));
|
|
62
|
+
const ephemeral = /[/\\]_npx[/\\]/.test(binPath);
|
|
63
|
+
return ephemeral
|
|
64
|
+
? { command: "npx", args: ["-y", `@trusty-squire/mcp@${VERSION}`, "server"] }
|
|
65
|
+
: { command: process.execPath, args: [binPath, "server"] };
|
|
66
|
+
}
|
|
67
|
+
export async function runCli(argv) {
|
|
68
|
+
const args = parseArgs(argv);
|
|
53
69
|
switch (args.command) {
|
|
54
70
|
case "install":
|
|
55
71
|
await install(args);
|
|
@@ -102,7 +118,7 @@ async function install(args) {
|
|
|
102
118
|
if (args.withPair) {
|
|
103
119
|
const upgraded = await runPair(args.apiBase, target, baseSession);
|
|
104
120
|
if (upgraded === null) {
|
|
105
|
-
console.warn("Pairing didn't complete — keeping Tier 0 session. Run `squire
|
|
121
|
+
console.warn("Pairing didn't complete — keeping Tier 0 session. Run `npx @trusty-squire/mcp pair` later to upgrade.");
|
|
106
122
|
}
|
|
107
123
|
else {
|
|
108
124
|
finalSession = upgraded;
|
|
@@ -122,9 +138,10 @@ async function install(args) {
|
|
|
122
138
|
// The machine token itself is NOT in the env — the MCP server reads it
|
|
123
139
|
// from session storage (keychain / file), which keeps it out of any
|
|
124
140
|
// child-process listing or shell history.
|
|
141
|
+
const launch = resolveServerLaunch();
|
|
125
142
|
await agent.writeConfig({
|
|
126
|
-
command:
|
|
127
|
-
args:
|
|
143
|
+
command: launch.command,
|
|
144
|
+
args: launch.args,
|
|
128
145
|
env: {
|
|
129
146
|
TRUSTY_SQUIRE_AGENT_IDENTITY: target,
|
|
130
147
|
UNIVERSAL_BOT_PREFER_CHEAP: "true",
|
|
@@ -204,7 +221,7 @@ async function logout() {
|
|
|
204
221
|
console.warn(`✓ Cleared local session (${storage.backendName()}).`);
|
|
205
222
|
}
|
|
206
223
|
function printHelp() {
|
|
207
|
-
console.warn(`
|
|
224
|
+
console.warn(`mcp — install Trusty Squire MCP into a coding agent`);
|
|
208
225
|
console.warn(``);
|
|
209
226
|
console.warn(`Commands:`);
|
|
210
227
|
console.warn(` install [--target=<agent>] [--api-base=<url>] [--pair]`);
|
|
@@ -267,11 +284,5 @@ function printAsnWarning(asn) {
|
|
|
267
284
|
return;
|
|
268
285
|
}
|
|
269
286
|
}
|
|
270
|
-
|
|
271
|
-
main().catch((err) => {
|
|
272
|
-
console.error(err instanceof Error ? err.message : String(err));
|
|
273
|
-
process.exit(1);
|
|
274
|
-
});
|
|
275
|
-
}
|
|
276
|
-
export { install, pair, logout, parseArgs, pollForClaim, printAsnWarning };
|
|
287
|
+
export { install, pair, logout, parseArgs, pollForClaim, printAsnWarning, resolveServerLaunch };
|
|
277
288
|
//# sourceMappingURL=cli.js.map
|
package/dist/install/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/install/cli.ts"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/install/cli.ts"],"names":[],"mappings":"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"}
|
package/dist/server.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
1
|
import { Server } from "@modelcontextprotocol/sdk/server/index.js";
|
|
3
2
|
import { ApiClient } from "./api-client.js";
|
|
4
3
|
export declare function buildServer(api: ApiClient | null): Promise<Server>;
|
|
4
|
+
export declare function runServer(): Promise<void>;
|
|
5
5
|
//# sourceMappingURL=server.d.ts.map
|
package/dist/server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAMnE,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAS5C,wBAAsB,WAAW,CAAC,GAAG,EAAE,SAAS,GAAG,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAuDxE;AAWD,wBAAsB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CA2B/C"}
|
package/dist/server.js
CHANGED
|
@@ -1,22 +1,21 @@
|
|
|
1
|
-
|
|
2
|
-
//
|
|
3
|
-
//
|
|
4
|
-
// registered tools over stdio.
|
|
1
|
+
// MCP server: reads the session from keytar/file, sets up an ApiClient
|
|
2
|
+
// against the configured API base URL, and exposes the registered tools
|
|
3
|
+
// over stdio.
|
|
5
4
|
//
|
|
6
|
-
//
|
|
7
|
-
//
|
|
8
|
-
//
|
|
5
|
+
// `runServer()` is invoked by bin.ts for the `server` subcommand. This
|
|
6
|
+
// file is a pure module — no shebang, no entrypoint guard, no top-level
|
|
7
|
+
// execution. The host agent launches `mcp server`; bin.ts dispatches.
|
|
9
8
|
import { Server } from "@modelcontextprotocol/sdk/server/index.js";
|
|
10
9
|
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
|
|
11
10
|
import { CallToolRequestSchema, ListToolsRequestSchema, } from "@modelcontextprotocol/sdk/types.js";
|
|
12
|
-
import { ApiClient
|
|
11
|
+
import { ApiClient } from "./api-client.js";
|
|
13
12
|
import { TOOLS, findTool } from "./tools/index.js";
|
|
14
13
|
import { openSessionStorage } from "./session.js";
|
|
14
|
+
import { VERSION } from "./version.js";
|
|
15
15
|
const SERVER_NAME = "trusty-squire";
|
|
16
|
-
const SERVER_VERSION = "0.1.0";
|
|
17
16
|
const DEFAULT_REGISTRY_BASE = process.env.ADAPTER_REGISTRY_URL ?? "https://registry.trustysquire.ai";
|
|
18
17
|
export async function buildServer(api) {
|
|
19
|
-
const server = new Server({ name: SERVER_NAME, version:
|
|
18
|
+
const server = new Server({ name: SERVER_NAME, version: VERSION }, { capabilities: { tools: {} } });
|
|
20
19
|
server.setRequestHandler(ListToolsRequestSchema, async () => ({
|
|
21
20
|
tools: TOOLS.map((t) => ({
|
|
22
21
|
name: t.name,
|
|
@@ -46,9 +45,8 @@ export async function buildServer(api) {
|
|
|
46
45
|
// session check above, so users who only need universal signup don't
|
|
47
46
|
// need to pair at all.
|
|
48
47
|
if (api === null) {
|
|
49
|
-
return errorContent(`This tool requires pairing (Tier 1+).
|
|
50
|
-
`\`
|
|
51
|
-
`In production: \`npx @trusty-squire/mcp install --target=<agent> --pair\`. ` +
|
|
48
|
+
return errorContent(`This tool requires pairing (Tier 1+). Run ` +
|
|
49
|
+
`\`npx @trusty-squire/mcp install --target=<agent> --pair\` to enable it. ` +
|
|
52
50
|
`If you just want to sign up for a free service, call \`provision_any_service\` instead — ` +
|
|
53
51
|
`it works with a Tier 0 machine_token and doesn't need pairing.`);
|
|
54
52
|
}
|
|
@@ -69,7 +67,14 @@ function errorContent(message) {
|
|
|
69
67
|
content: [{ type: "text", text: message }],
|
|
70
68
|
};
|
|
71
69
|
}
|
|
72
|
-
|
|
70
|
+
// Start the MCP stdio server. Throws on a fatal startup failure; bin.ts
|
|
71
|
+
// owns the process-level error handling.
|
|
72
|
+
export async function runServer() {
|
|
73
|
+
// Startup breadcrumb on stderr (which lands in the host agent's MCP
|
|
74
|
+
// log). A silent no-op was the worst part of the entrypoint-guard
|
|
75
|
+
// bug — this line makes "did the server actually start?" answerable
|
|
76
|
+
// at a glance.
|
|
77
|
+
process.stderr.write(`[trusty-squire] server v${VERSION} starting\n`);
|
|
73
78
|
const storage = await openSessionStorage();
|
|
74
79
|
const session = await storage.read();
|
|
75
80
|
// Tier-aware ApiClient: only paired (Tier 1+) sessions can call the
|
|
@@ -88,14 +93,4 @@ async function main() {
|
|
|
88
93
|
const transport = new StdioServerTransport();
|
|
89
94
|
await server.connect(transport);
|
|
90
95
|
}
|
|
91
|
-
if (import.meta.url === `file://${process.argv[1]}`) {
|
|
92
|
-
main().catch((err) => {
|
|
93
|
-
// stderr goes to the coding agent's MCP log — keep the message
|
|
94
|
-
// useful for debugging without leaking secrets.
|
|
95
|
-
console.error(err instanceof MissingSessionError
|
|
96
|
-
? err.message
|
|
97
|
-
: `[trusty-squire] startup failed: ${err instanceof Error ? err.message : String(err)}`);
|
|
98
|
-
process.exit(1);
|
|
99
|
-
});
|
|
100
|
-
}
|
|
101
96
|
//# sourceMappingURL=server.js.map
|
package/dist/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AASA,eAAO,MAAM,OAAO,EAAE,MAAoB,CAAC"}
|
package/dist/version.js
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
// Single source of truth for the package version. Read from
|
|
2
|
+
// package.json so it cannot drift from what is actually published —
|
|
3
|
+
// the old hardcoded `SERVER_VERSION = "0.1.0"` constant did exactly
|
|
4
|
+
// that (stale across three releases).
|
|
5
|
+
import { createRequire } from "node:module";
|
|
6
|
+
const require = createRequire(import.meta.url);
|
|
7
|
+
const pkg = require("../package.json");
|
|
8
|
+
export const VERSION = pkg.version;
|
|
9
|
+
//# sourceMappingURL=version.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA,4DAA4D;AAC5D,oEAAoE;AACpE,oEAAoE;AACpE,sCAAsC;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC/C,MAAM,GAAG,GAAG,OAAO,CAAC,iBAAiB,CAAwB,CAAC;AAE9D,MAAM,CAAC,MAAM,OAAO,GAAW,GAAG,CAAC,OAAO,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,13 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@trusty-squire/mcp",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.4",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Local MCP server vibe coding agents install. Thin relay to the Trusty Squire API.",
|
|
6
6
|
"main": "./dist/server.js",
|
|
7
7
|
"bin": {
|
|
8
|
-
"mcp": "./dist/
|
|
9
|
-
"squire-mcp": "./dist/install/cli.js",
|
|
10
|
-
"squire-mcp-server": "./dist/server.js"
|
|
8
|
+
"mcp": "./dist/bin.js"
|
|
11
9
|
},
|
|
12
10
|
"files": [
|
|
13
11
|
"dist"
|
|
@@ -39,7 +37,7 @@
|
|
|
39
37
|
"typecheck": "tsc --noEmit -p tsconfig.json",
|
|
40
38
|
"test": "vitest run",
|
|
41
39
|
"test:cov": "vitest run --coverage",
|
|
42
|
-
"dev:server": "tsx src/
|
|
43
|
-
"install:dev": "tsx src/
|
|
40
|
+
"dev:server": "tsx src/bin.ts server",
|
|
41
|
+
"install:dev": "tsx src/bin.ts install"
|
|
44
42
|
}
|
|
45
43
|
}
|