@kwonye/mcpx 0.1.105 → 0.1.107
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/adapters/codex.d.ts +2 -0
- package/dist/adapters/index.d.ts +2 -1
- package/dist/adapters/json.d.ts +26 -0
- package/dist/adapters/pi.d.ts +9 -0
- package/dist/chunk-0xt563m1.js +126 -0
- package/dist/chunk-131c6axh.js +127 -0
- package/dist/chunk-1yq3yb66.js +126 -0
- package/dist/chunk-2qbt2pxv.js +755 -0
- package/dist/chunk-3j4g9141.js +18 -0
- package/dist/{chunk-tnhekcpv.js → chunk-56z18csx.js} +1 -1
- package/dist/chunk-5r4vs8ct.js +18166 -0
- package/dist/{chunk-bnbz55g6.js → chunk-65kshh9w.js} +1 -1
- package/dist/{chunk-xydajvzg.js → chunk-7ky3rsw9.js} +1 -1
- package/dist/chunk-9bjabsqb.js +563 -0
- package/dist/chunk-9jqdtz2y.js +26 -0
- package/dist/{chunk-y9a1rx7j.js → chunk-ad74zhbk.js} +5 -3
- package/dist/chunk-eqcsd1kw.js +33 -0
- package/dist/chunk-ezk8txcy.js +23 -0
- package/dist/chunk-f7w0a9nn.js +30542 -0
- package/dist/{chunk-12vgqm89.js → chunk-gvjxpk98.js} +1 -1
- package/dist/{chunk-am903qjk.js → chunk-h2ex6pmn.js} +11 -5
- package/dist/chunk-jncje8g1.js +60 -0
- package/dist/{chunk-h158rkts.js → chunk-kjd00ez5.js} +17 -5
- package/dist/{chunk-6mxr34tc.js → chunk-mazydv41.js} +4 -3
- package/dist/chunk-mkf7gc7q.js +14 -0
- package/dist/{chunk-btbww96n.js → chunk-mztnw25b.js} +69 -56
- package/dist/{chunk-enzmq965.js → chunk-n0462d52.js} +1 -1
- package/dist/chunk-n5ahyh0j.js +254 -0
- package/dist/{chunk-t4hqf6yh.js → chunk-naeqpnmf.js} +8136 -8262
- package/dist/chunk-nx22h1y3.js +33 -0
- package/dist/chunk-p7yzyt87.js +19426 -0
- package/dist/chunk-q86c5s6r.js +7 -0
- package/dist/chunk-qg1rbk0d.js +825 -0
- package/dist/chunk-r1aebtwm.js +36 -0
- package/dist/{chunk-01s7rhx3.js → chunk-rbra8ws6.js} +130 -113
- package/dist/{chunk-91vcwk5m.js → chunk-v14bg5yp.js} +1 -1
- package/dist/{chunk-4y0t0tfj.js → chunk-vnka4jbe.js} +39 -3
- package/dist/chunk-z4j5q2x0.js +30 -0
- package/dist/chunk-z7ykm4da.js +138 -0
- package/dist/{chunk-d2v9rxy0.js → chunk-zmf014br.js} +12 -6
- package/dist/cli.js +3879 -1061
- package/dist/core/adoption.d.ts +62 -0
- package/dist/core/analytics.d.ts +17 -0
- package/dist/core/consumers.d.ts +8 -0
- package/dist/core/control.d.ts +18 -0
- package/dist/core/daemon.d.ts +2 -2
- package/dist/core/file-state.d.ts +7 -0
- package/dist/core/harnesses.d.ts +25 -0
- package/dist/core/index.d.ts +12 -4
- package/dist/core/index.js +109 -71
- package/dist/core/managed-index-lock.d.ts +1 -1
- package/dist/core/management.d.ts +32 -0
- package/dist/core/native-document.d.ts +4 -0
- package/dist/core/operations.d.ts +52 -0
- package/dist/core/plugin-projections.d.ts +1 -0
- package/dist/core/runtime-entry.d.ts +6 -0
- package/dist/core/runtime-snapshot.d.ts +6 -0
- package/dist/core/secret-keychain.d.ts +31 -0
- package/dist/core/secrets.d.ts +12 -2
- package/dist/core/served-skills.d.ts +62 -0
- package/dist/core/status.d.ts +1 -0
- package/dist/core/sync-plan.d.ts +14 -0
- package/dist/core/sync.d.ts +3 -0
- package/dist/core/telemetry.d.ts +2 -2
- package/dist/core/tui.d.ts +20 -0
- package/dist/core/verify-upstreams.d.ts +4 -0
- package/dist/core/work-limiter.d.ts +10 -0
- package/dist/gateway/server.d.ts +2 -0
- package/dist/types.d.ts +62 -1
- package/dist/util/fs.d.ts +2 -0
- package/dist/version.d.ts +1 -1
- package/package.json +1 -1
- package/dist/adapters/opencode.d.ts +0 -11
- package/dist/chunk-56whm3hm.js +0 -4055
- package/dist/chunk-fw8dyt89.js +0 -344
package/dist/core/secrets.d.ts
CHANGED
|
@@ -1,9 +1,19 @@
|
|
|
1
|
+
import type { SecretBackendKind } from "../types.js";
|
|
2
|
+
export interface SecretBackendSwitchResult {
|
|
3
|
+
backend: SecretBackendKind;
|
|
4
|
+
changed: boolean;
|
|
5
|
+
migrated: string[];
|
|
6
|
+
preserved: string[];
|
|
7
|
+
removedFrom: SecretBackendKind | null;
|
|
8
|
+
}
|
|
9
|
+
export declare function describeSecretBackend(backend: SecretBackendKind): string;
|
|
10
|
+
export declare function getSecretBackend(configPath?: string): SecretBackendKind;
|
|
11
|
+
export declare function switchSecretBackend(target: SecretBackendKind, configPath?: string): SecretBackendSwitchResult;
|
|
1
12
|
export declare class SecretsManager {
|
|
2
13
|
private readonly storePath;
|
|
3
14
|
private readonly keyPath;
|
|
4
15
|
constructor(storePath?: string, keyPath?: string);
|
|
5
|
-
|
|
6
|
-
private recoverCorruptStore;
|
|
16
|
+
get backend(): SecretBackendKind;
|
|
7
17
|
listSecretNames(): string[];
|
|
8
18
|
setSecret(name: string, value: string): void;
|
|
9
19
|
removeSecret(name: string): void;
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import type { McpxConfig } from "../types.js";
|
|
3
|
+
export declare function skillVisible(config: McpxConfig, id: string, projectPath?: string): boolean;
|
|
4
|
+
declare const frontmatterSchema: z.ZodObject<{
|
|
5
|
+
name: z.ZodString;
|
|
6
|
+
description: z.ZodString;
|
|
7
|
+
}, z.core.$loose>;
|
|
8
|
+
interface ServedSkill {
|
|
9
|
+
uri: string;
|
|
10
|
+
frontmatter: z.infer<typeof frontmatterSchema>;
|
|
11
|
+
resources: Array<{
|
|
12
|
+
uri: string;
|
|
13
|
+
digest: string;
|
|
14
|
+
size: number;
|
|
15
|
+
}>;
|
|
16
|
+
files: Map<string, Buffer>;
|
|
17
|
+
}
|
|
18
|
+
export declare function servedSkills(config: McpxConfig, projectPath?: string): ServedSkill[];
|
|
19
|
+
export declare function listServedSkills(config: McpxConfig, projectPath?: string, cursor?: string): {
|
|
20
|
+
ttlMs: number;
|
|
21
|
+
cacheScope: string;
|
|
22
|
+
nextCursor?: string | undefined;
|
|
23
|
+
resultType: string;
|
|
24
|
+
skills: {
|
|
25
|
+
uri: string;
|
|
26
|
+
frontmatter: z.infer<typeof frontmatterSchema>;
|
|
27
|
+
resources: Array<{
|
|
28
|
+
uri: string;
|
|
29
|
+
digest: string;
|
|
30
|
+
size: number;
|
|
31
|
+
}>;
|
|
32
|
+
}[];
|
|
33
|
+
};
|
|
34
|
+
export declare function getServedSkill(config: McpxConfig, uri: string, projectPath?: string): {
|
|
35
|
+
resultType: string;
|
|
36
|
+
skill: {
|
|
37
|
+
uri: string;
|
|
38
|
+
frontmatter: z.infer<typeof frontmatterSchema>;
|
|
39
|
+
resources: Array<{
|
|
40
|
+
uri: string;
|
|
41
|
+
digest: string;
|
|
42
|
+
size: number;
|
|
43
|
+
}>;
|
|
44
|
+
};
|
|
45
|
+
ttlMs: number;
|
|
46
|
+
cacheScope: string;
|
|
47
|
+
};
|
|
48
|
+
export declare function readServedSkill(config: McpxConfig, uri: string, projectPath?: string): {
|
|
49
|
+
contents: ({
|
|
50
|
+
text: string;
|
|
51
|
+
uri: string;
|
|
52
|
+
mimeType: string;
|
|
53
|
+
} | {
|
|
54
|
+
blob: string;
|
|
55
|
+
uri: string;
|
|
56
|
+
mimeType: string;
|
|
57
|
+
})[];
|
|
58
|
+
ttlMs: number;
|
|
59
|
+
cacheScope: string;
|
|
60
|
+
};
|
|
61
|
+
export {};
|
|
62
|
+
//# sourceMappingURL=served-skills.d.ts.map
|
package/dist/core/status.d.ts
CHANGED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/** Read-only synchronization preview; credentials and raw configurations stay local. */
|
|
2
|
+
export declare function planSynchronization(targets?: string[]): {
|
|
3
|
+
revision: number;
|
|
4
|
+
harnesses: {
|
|
5
|
+
id: string;
|
|
6
|
+
configPath: string | null;
|
|
7
|
+
changes: {
|
|
8
|
+
name: string;
|
|
9
|
+
action: string;
|
|
10
|
+
}[];
|
|
11
|
+
message: string;
|
|
12
|
+
}[];
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=sync-plan.d.ts.map
|
package/dist/core/sync.d.ts
CHANGED
|
@@ -3,7 +3,10 @@ import { SecretsManager } from "./secrets.js";
|
|
|
3
3
|
export interface SyncOptions {
|
|
4
4
|
targetClients?: ClientId[];
|
|
5
5
|
importScan?: boolean;
|
|
6
|
+
configPath?: string;
|
|
6
7
|
}
|
|
8
|
+
/** Canonical sync transaction shared by the CLI, desktop service and plugins. */
|
|
9
|
+
export declare function synchronizeClients(options?: SyncOptions, secrets?: SecretsManager): Promise<SyncSummary>;
|
|
7
10
|
export interface SyncSummary {
|
|
8
11
|
gatewayUrl: string;
|
|
9
12
|
imports: SyncImportReport;
|
package/dist/core/telemetry.d.ts
CHANGED
|
@@ -17,9 +17,10 @@ declare const launchModeSchema: z.ZodEnum<{
|
|
|
17
17
|
status: "status";
|
|
18
18
|
clients: "clients";
|
|
19
19
|
project: "project";
|
|
20
|
-
skill: "skill";
|
|
21
20
|
proxy: "proxy";
|
|
22
21
|
auth: "auth";
|
|
22
|
+
skill: "skill";
|
|
23
|
+
list: "list";
|
|
23
24
|
plugin: "plugin";
|
|
24
25
|
desktop: "desktop";
|
|
25
26
|
daemon: "daemon";
|
|
@@ -27,7 +28,6 @@ declare const launchModeSchema: z.ZodEnum<{
|
|
|
27
28
|
remove: "remove";
|
|
28
29
|
enable: "enable";
|
|
29
30
|
disable: "disable";
|
|
30
|
-
list: "list";
|
|
31
31
|
sync: "sync";
|
|
32
32
|
doctor: "doctor";
|
|
33
33
|
secret: "secret";
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
type TuiRow = {
|
|
2
|
+
title: string;
|
|
3
|
+
state: string;
|
|
4
|
+
detail: string;
|
|
5
|
+
};
|
|
6
|
+
interface TuiFrameOptions {
|
|
7
|
+
width: number;
|
|
8
|
+
height: number;
|
|
9
|
+
revision: number;
|
|
10
|
+
view: number;
|
|
11
|
+
summary: string;
|
|
12
|
+
rows: TuiRow[];
|
|
13
|
+
selection: number;
|
|
14
|
+
details: string[];
|
|
15
|
+
status: string;
|
|
16
|
+
}
|
|
17
|
+
export declare function renderManagementTuiFrame(frame: TuiFrameOptions): string;
|
|
18
|
+
export declare function runManagementTui(cliPath: string): Promise<void>;
|
|
19
|
+
export {};
|
|
20
|
+
//# sourceMappingURL=tui.d.ts.map
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { McpxConfig } from "../types.js";
|
|
2
|
+
/** Only discovery/list operations are used before retiring native registrations. */
|
|
3
|
+
export declare function verifyUpstreams(config: McpxConfig, names: string[]): Promise<void>;
|
|
4
|
+
//# sourceMappingURL=verify-upstreams.d.ts.map
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/** Bounds work per upstream instance, including queued requests. */
|
|
2
|
+
export declare class WorkLimiter {
|
|
3
|
+
private readonly concurrency;
|
|
4
|
+
private readonly queueLimit;
|
|
5
|
+
private active;
|
|
6
|
+
private waiting;
|
|
7
|
+
constructor(concurrency?: number, queueLimit?: number);
|
|
8
|
+
run<T>(signal: AbortSignal, work: () => Promise<T>): Promise<T>;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=work-limiter.d.ts.map
|
package/dist/gateway/server.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import http from "node:http";
|
|
2
|
+
import { WorkLimiter } from "../core/work-limiter.js";
|
|
2
3
|
import { Client } from "@modelcontextprotocol/client";
|
|
3
4
|
import { StdioClientTransport } from "@modelcontextprotocol/client/stdio";
|
|
4
5
|
import { StreamableHTTPClientTransport } from "@modelcontextprotocol/client";
|
|
@@ -10,6 +11,7 @@ interface GatewayServerOptions {
|
|
|
10
11
|
secrets: SecretsManager;
|
|
11
12
|
}
|
|
12
13
|
interface UpstreamConnection {
|
|
14
|
+
limiter: WorkLimiter;
|
|
13
15
|
fingerprint: string;
|
|
14
16
|
client: Client;
|
|
15
17
|
transport: StdioClientTransport | StreamableHTTPClientTransport;
|
package/dist/types.d.ts
CHANGED
|
@@ -1,12 +1,15 @@
|
|
|
1
|
-
|
|
1
|
+
/** Harness IDs come from the adapter registry, including project installations. */
|
|
2
|
+
export type ClientId = string;
|
|
2
3
|
export type PluginComponent = "mcpServers" | "skills" | "hooks" | "agents" | "commands";
|
|
3
4
|
export interface HttpServerSpec {
|
|
5
|
+
scope?: string;
|
|
4
6
|
transport: "http";
|
|
5
7
|
url: string;
|
|
6
8
|
headers?: Record<string, string>;
|
|
7
9
|
enabled?: boolean;
|
|
8
10
|
}
|
|
9
11
|
export interface StdioServerSpec {
|
|
12
|
+
scope?: string;
|
|
10
13
|
transport: "stdio";
|
|
11
14
|
command: string;
|
|
12
15
|
args?: string[];
|
|
@@ -20,6 +23,8 @@ export interface GatewayConfig {
|
|
|
20
23
|
tokenRef: string;
|
|
21
24
|
autoStart: boolean;
|
|
22
25
|
}
|
|
26
|
+
/** Where stored secrets live. `file` is the default encrypted file; `keychain` is opt-in. */
|
|
27
|
+
export type SecretBackendKind = "file" | "keychain";
|
|
23
28
|
export type ClientStatus = "SYNCED" | "UNSUPPORTED_HTTP" | "ERROR" | "SKIPPED";
|
|
24
29
|
export interface ClientSyncState {
|
|
25
30
|
status: ClientStatus;
|
|
@@ -38,6 +43,44 @@ export interface ProjectScope {
|
|
|
38
43
|
}
|
|
39
44
|
export interface McpxConfig {
|
|
40
45
|
schemaVersion: 1;
|
|
46
|
+
consumers?: Record<string, {
|
|
47
|
+
tokenRef: string;
|
|
48
|
+
projectPath?: string;
|
|
49
|
+
}>;
|
|
50
|
+
packages?: Record<string, {
|
|
51
|
+
id: string;
|
|
52
|
+
root: string;
|
|
53
|
+
source: string;
|
|
54
|
+
harness: string;
|
|
55
|
+
fingerprint: string;
|
|
56
|
+
pinned: boolean;
|
|
57
|
+
name?: string;
|
|
58
|
+
identity?: string;
|
|
59
|
+
servers?: string[];
|
|
60
|
+
skills?: Array<{
|
|
61
|
+
id: string;
|
|
62
|
+
path: string;
|
|
63
|
+
projectionPath: string;
|
|
64
|
+
}>;
|
|
65
|
+
scope?: string;
|
|
66
|
+
previous?: {
|
|
67
|
+
root: string;
|
|
68
|
+
fingerprint: string;
|
|
69
|
+
};
|
|
70
|
+
}>;
|
|
71
|
+
revision?: number;
|
|
72
|
+
harnesses?: Record<string, {
|
|
73
|
+
mode: "observe" | "selected" | "automatic";
|
|
74
|
+
}>;
|
|
75
|
+
origins?: Record<string, {
|
|
76
|
+
id: string;
|
|
77
|
+
kind: string;
|
|
78
|
+
harness: string;
|
|
79
|
+
source: string;
|
|
80
|
+
nativeKey: string;
|
|
81
|
+
fingerprint: string;
|
|
82
|
+
operationId: string;
|
|
83
|
+
}>;
|
|
41
84
|
name?: string;
|
|
42
85
|
gateway: GatewayConfig;
|
|
43
86
|
servers: Record<string, UpstreamServerSpec>;
|
|
@@ -45,6 +88,9 @@ export interface McpxConfig {
|
|
|
45
88
|
projects?: Record<string, ProjectConfig>;
|
|
46
89
|
plugins?: Record<string, ManagedPlugin>;
|
|
47
90
|
marketplaces?: Record<string, ManagedMarketplace>;
|
|
91
|
+
secrets?: {
|
|
92
|
+
backend: SecretBackendKind;
|
|
93
|
+
};
|
|
48
94
|
}
|
|
49
95
|
export interface ManagedEntry {
|
|
50
96
|
fingerprint: string;
|
|
@@ -117,6 +163,9 @@ export interface SyncResult {
|
|
|
117
163
|
driftedEntries?: string[];
|
|
118
164
|
}
|
|
119
165
|
export interface Skill {
|
|
166
|
+
projectionPath?: string;
|
|
167
|
+
scope?: string;
|
|
168
|
+
ownerHarness?: string;
|
|
120
169
|
id: string;
|
|
121
170
|
content: string;
|
|
122
171
|
/** Canonical directory containing SKILL.md and optional resources. */
|
|
@@ -144,12 +193,24 @@ export interface PluginSyncResult {
|
|
|
144
193
|
unsupported: PluginComponent[];
|
|
145
194
|
error?: string;
|
|
146
195
|
}
|
|
196
|
+
export interface HarnessDescriptor {
|
|
197
|
+
label?: string;
|
|
198
|
+
projectConfig?: string;
|
|
199
|
+
skillPath?: string;
|
|
200
|
+
projectSkills?: string;
|
|
201
|
+
skillLayout?: "dir" | "flat";
|
|
202
|
+
pluginComponents?: PluginComponent[];
|
|
203
|
+
}
|
|
147
204
|
export interface ClientAdapter {
|
|
205
|
+
descriptor?: HarnessDescriptor;
|
|
206
|
+
managedName?(serverName: string): string;
|
|
148
207
|
id: ClientId;
|
|
149
208
|
detectConfigPath(): string | null;
|
|
150
209
|
supportsHttp(): boolean;
|
|
151
210
|
scanForImports(config: McpxConfig, managedIndex: ManagedIndex): ClientImportScanResult;
|
|
152
211
|
syncGateway(config: McpxConfig, options: SyncClientOptions): SyncResult;
|
|
212
|
+
skillDirectory?(): string;
|
|
213
|
+
additionalSkillDirectories?(): string[];
|
|
153
214
|
syncSkills?(skills: Skill[]): void;
|
|
154
215
|
syncPlugins?(plugins: PluginSyncInput[]): PluginSyncResult;
|
|
155
216
|
}
|
package/dist/util/fs.d.ts
CHANGED
|
@@ -2,4 +2,6 @@ export declare function readJsonFile<T>(filePath: string, fallback: T): T;
|
|
|
2
2
|
export declare function writeJsonAtomic(filePath: string, data: unknown): void;
|
|
3
3
|
export declare function sha256(value: string): string;
|
|
4
4
|
export declare function safeReadFile(filePath: string): string | null;
|
|
5
|
+
/** Native configuration must fail closed; malformed files are never reset. */
|
|
6
|
+
export declare function readJsonStrict<T>(filePath: string, fallback: T): T;
|
|
5
7
|
//# sourceMappingURL=fs.d.ts.map
|
package/dist/version.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const APP_VERSION = "0.1.
|
|
1
|
+
export declare const APP_VERSION = "0.1.107";
|
|
2
2
|
//# sourceMappingURL=version.d.ts.map
|
package/package.json
CHANGED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import type { ClientAdapter, ManagedIndex, McpxConfig, Skill, SyncClientOptions, SyncResult, PluginSyncInput, PluginSyncResult } from "../types.js";
|
|
2
|
-
export declare class OpenCodeAdapter implements ClientAdapter {
|
|
3
|
-
readonly id: "opencode";
|
|
4
|
-
detectConfigPath(): string | null;
|
|
5
|
-
supportsHttp(): boolean;
|
|
6
|
-
syncPlugins(plugins: PluginSyncInput[]): PluginSyncResult;
|
|
7
|
-
syncSkills(skills: Skill[]): void;
|
|
8
|
-
scanForImports(_config: McpxConfig, managedIndex: ManagedIndex): import("../types.js").ClientImportScanResult;
|
|
9
|
-
syncGateway(_config: McpxConfig, options: SyncClientOptions): SyncResult;
|
|
10
|
-
}
|
|
11
|
-
//# sourceMappingURL=opencode.d.ts.map
|