@modootoday/pmcp 0.16.0 → 0.16.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/.agents/plugins/marketplace.json +1 -1
- package/.claude-plugin/marketplace.json +1 -1
- package/.claude-plugin/plugin.json +1 -1
- package/dist/cli.js +15 -3
- package/dist/{embed-CVCEz2FH.d.ts → embed-DRROSD3F.d.ts} +1 -1
- package/dist/harness-launch-gate.js +3 -0
- package/dist/harness-worker.js +4 -0
- package/dist/http.d.ts +5 -4
- package/dist/http.js +4 -2
- package/dist/index.d.ts +5 -5
- package/dist/index.js +2 -2
- package/dist/mailbox/index.js +3 -0
- package/dist/{server-DAcT89iv.d.ts → server-VWSY3Shw.d.ts} +2 -3
- package/dist/stdio.d.ts +1 -1
- package/dist/stdio.js +4 -2
- package/dist/tui-worker.js +12 -0
- package/docs/hosting.md +13 -0
- package/gemini-extension.json +1 -1
- package/package.json +1 -1
- package/plugin.json +1 -1
- package/plugins/pmcp/.claude-plugin/plugin.json +1 -1
- package/plugins/pmcp/gemini-extension.json +1 -1
- package/plugins/pmcp/plugin.json +1 -1
|
@@ -612,7 +612,7 @@
|
|
|
612
612
|
},
|
|
613
613
|
{
|
|
614
614
|
"name": "pmcp",
|
|
615
|
-
"version": "0.16.
|
|
615
|
+
"version": "0.16.1",
|
|
616
616
|
"description": "Find package skills and use native runtime project configuration.",
|
|
617
617
|
"source": { "source": "local", "path": "./plugins/pmcp" },
|
|
618
618
|
"policy": { "installation": "AVAILABLE", "authentication": "ON_USE" },
|
package/dist/cli.js
CHANGED
|
@@ -471,6 +471,8 @@ var init_types = __esm({
|
|
|
471
471
|
this.retryable = retryable;
|
|
472
472
|
this.name = "MailboxError";
|
|
473
473
|
}
|
|
474
|
+
code;
|
|
475
|
+
retryable;
|
|
474
476
|
};
|
|
475
477
|
}
|
|
476
478
|
});
|
|
@@ -2301,6 +2303,7 @@ var init_connection = __esm({
|
|
|
2301
2303
|
constructor(records2) {
|
|
2302
2304
|
this.records = records2;
|
|
2303
2305
|
}
|
|
2306
|
+
records;
|
|
2304
2307
|
tmux(args, options2 = {}) {
|
|
2305
2308
|
return command(
|
|
2306
2309
|
"tmux",
|
|
@@ -2578,6 +2581,8 @@ var init_journal = __esm({
|
|
|
2578
2581
|
this.id = id2;
|
|
2579
2582
|
runtimeUnit(id2);
|
|
2580
2583
|
}
|
|
2584
|
+
records;
|
|
2585
|
+
id;
|
|
2581
2586
|
path(kind2) {
|
|
2582
2587
|
if (!["intent", "proof", "grant", "committed", "aborted"].includes(kind2))
|
|
2583
2588
|
throw new Error("invalid_launch_artifact");
|
|
@@ -3862,6 +3867,7 @@ var init_backend = __esm({
|
|
|
3862
3867
|
this.runDirectory = recordStore.directory;
|
|
3863
3868
|
this.metadataPath = recordStore.metadataPath;
|
|
3864
3869
|
}
|
|
3870
|
+
recordStore;
|
|
3865
3871
|
connection;
|
|
3866
3872
|
owner;
|
|
3867
3873
|
socket;
|
|
@@ -5540,6 +5546,9 @@ var init_connection2 = __esm({
|
|
|
5540
5546
|
this.identity = identity;
|
|
5541
5547
|
this.socket = join49(directory, "s");
|
|
5542
5548
|
}
|
|
5549
|
+
directory;
|
|
5550
|
+
owner;
|
|
5551
|
+
identity;
|
|
5543
5552
|
socket;
|
|
5544
5553
|
raw(args) {
|
|
5545
5554
|
const env = { ...process.env };
|
|
@@ -5792,6 +5801,8 @@ var init_view = __esm({
|
|
|
5792
5801
|
view.serverIdentity
|
|
5793
5802
|
);
|
|
5794
5803
|
}
|
|
5804
|
+
view;
|
|
5805
|
+
stateFile;
|
|
5795
5806
|
connection;
|
|
5796
5807
|
shell(argv) {
|
|
5797
5808
|
return `exec ${argv.map(quote2).join(" ")}`;
|
|
@@ -6035,6 +6046,7 @@ var init_common = __esm({
|
|
|
6035
6046
|
constructor(view) {
|
|
6036
6047
|
this.view = view;
|
|
6037
6048
|
}
|
|
6049
|
+
view;
|
|
6038
6050
|
async call(family, action, input = {}) {
|
|
6039
6051
|
const group = new GroupStore(this.view.groupFile).state.group;
|
|
6040
6052
|
if (group.owner !== this.view.groupOwner) throw new Error("foreign_group");
|
|
@@ -7374,7 +7386,7 @@ init_entry();
|
|
|
7374
7386
|
|
|
7375
7387
|
// src/intent.ts
|
|
7376
7388
|
function normaliseIntent(intent) {
|
|
7377
|
-
return intent.toLowerCase().replaceAll(/[^\p{L}\p{N}\s]/gu, " ").split(/\s+/u).filter(Boolean).join(" ");
|
|
7389
|
+
return intent.normalize("NFC").toLowerCase().replaceAll(/[^\p{L}\p{N}\s]/gu, " ").split(/\s+/u).filter(Boolean).join(" ");
|
|
7378
7390
|
}
|
|
7379
7391
|
|
|
7380
7392
|
// src/cache.ts
|
|
@@ -9847,7 +9859,7 @@ function registerMailboxTools(server, service) {
|
|
|
9847
9859
|
|
|
9848
9860
|
// src/mcp.ts
|
|
9849
9861
|
var SERVER_NAME = "pmcp";
|
|
9850
|
-
var SERVER_VERSION = "0.16.
|
|
9862
|
+
var SERVER_VERSION = "0.16.1";
|
|
9851
9863
|
function registerSkillTools(server, tools) {
|
|
9852
9864
|
registerCatalogTool(server, tools);
|
|
9853
9865
|
registerFindTool(server, tools);
|
|
@@ -15934,7 +15946,7 @@ function dispatch(argv, options2 = {}) {
|
|
|
15934
15946
|
}
|
|
15935
15947
|
return run(command3, rest, { ui, env, cwd });
|
|
15936
15948
|
}
|
|
15937
|
-
var VERSION = "0.16.
|
|
15949
|
+
var VERSION = "0.16.1";
|
|
15938
15950
|
async function defaultEntry(options2, context) {
|
|
15939
15951
|
const terminal = options2.terminal ?? {
|
|
15940
15952
|
stdin: process.stdin.isTTY === true,
|
|
@@ -546,6 +546,7 @@ var Connection = class {
|
|
|
546
546
|
constructor(records3) {
|
|
547
547
|
this.records = records3;
|
|
548
548
|
}
|
|
549
|
+
records;
|
|
549
550
|
tmux(args, options = {}) {
|
|
550
551
|
return command(
|
|
551
552
|
"tmux",
|
|
@@ -692,6 +693,8 @@ var LaunchJournal = class {
|
|
|
692
693
|
this.id = id2;
|
|
693
694
|
runtimeUnit(id2);
|
|
694
695
|
}
|
|
696
|
+
records;
|
|
697
|
+
id;
|
|
695
698
|
path(kind) {
|
|
696
699
|
if (!["intent", "proof", "grant", "committed", "aborted"].includes(kind))
|
|
697
700
|
throw new Error("invalid_launch_artifact");
|
package/dist/harness-worker.js
CHANGED
|
@@ -453,6 +453,7 @@ var Connection = class {
|
|
|
453
453
|
constructor(records2) {
|
|
454
454
|
this.records = records2;
|
|
455
455
|
}
|
|
456
|
+
records;
|
|
456
457
|
tmux(args, options = {}) {
|
|
457
458
|
return command(
|
|
458
459
|
"tmux",
|
|
@@ -705,6 +706,8 @@ var LaunchJournal = class {
|
|
|
705
706
|
this.id = id2;
|
|
706
707
|
runtimeUnit(id2);
|
|
707
708
|
}
|
|
709
|
+
records;
|
|
710
|
+
id;
|
|
708
711
|
path(kind) {
|
|
709
712
|
if (!["intent", "proof", "grant", "committed", "aborted"].includes(kind))
|
|
710
713
|
throw new Error("invalid_launch_artifact");
|
|
@@ -1791,6 +1794,7 @@ var Backend = class {
|
|
|
1791
1794
|
this.runDirectory = recordStore.directory;
|
|
1792
1795
|
this.metadataPath = recordStore.metadataPath;
|
|
1793
1796
|
}
|
|
1797
|
+
recordStore;
|
|
1794
1798
|
connection;
|
|
1795
1799
|
owner;
|
|
1796
1800
|
socket;
|
package/dist/http.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { S as SkillServerOptions, E as Embedder, a as SkillEntry } from './server-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
import { S as SkillServerOptions, E as Embedder, a as SkillEntry } from './server-VWSY3Shw.js';
|
|
2
|
+
export { C as CatalogOptions, R as Runtime, r as readCatalog, v as verifiedRuntimesOf } from './server-VWSY3Shw.js';
|
|
3
|
+
import { L as LoadEmbedderOptions } from './embed-DRROSD3F.js';
|
|
4
|
+
export { l as loadEmbedder } from './embed-DRROSD3F.js';
|
|
4
5
|
import { M as MailboxService } from './service-qpCsOXkQ.js';
|
|
5
6
|
export { D as DEFAULT_MODEL_ID } from './encoder-DGRy9skC.js';
|
|
6
7
|
import 'zod';
|
|
@@ -80,4 +81,4 @@ interface SkillHttpHandler {
|
|
|
80
81
|
}
|
|
81
82
|
declare function createSkillHttpHandler(options: SkillHttpOptions): SkillHttpHandler;
|
|
82
83
|
|
|
83
|
-
export { DEFAULT_MAX_REQUEST_BYTES, DEFAULT_TIERS, Embedder, type RateLimitOptions, type SkillCaller, type SkillHttpHandler, type SkillHttpOptions, type SkillHttpSemanticOptions, createSkillHttpHandler, visibleTo };
|
|
84
|
+
export { DEFAULT_MAX_REQUEST_BYTES, DEFAULT_TIERS, Embedder, type RateLimitOptions, type SkillCaller, SkillEntry, type SkillHttpHandler, type SkillHttpOptions, type SkillHttpSemanticOptions, createSkillHttpHandler, visibleTo };
|
package/dist/http.js
CHANGED
|
@@ -694,7 +694,7 @@ function withoutBody({
|
|
|
694
694
|
|
|
695
695
|
// src/intent.ts
|
|
696
696
|
function normaliseIntent(intent) {
|
|
697
|
-
return intent.toLowerCase().replaceAll(/[^\p{L}\p{N}\s]/gu, " ").split(/\s+/u).filter(Boolean).join(" ");
|
|
697
|
+
return intent.normalize("NFC").toLowerCase().replaceAll(/[^\p{L}\p{N}\s]/gu, " ").split(/\s+/u).filter(Boolean).join(" ");
|
|
698
698
|
}
|
|
699
699
|
|
|
700
700
|
// src/embed.ts
|
|
@@ -2294,7 +2294,7 @@ function registerMailboxTools(server, service) {
|
|
|
2294
2294
|
|
|
2295
2295
|
// src/mcp.ts
|
|
2296
2296
|
var SERVER_NAME = "pmcp";
|
|
2297
|
-
var SERVER_VERSION = "0.16.
|
|
2297
|
+
var SERVER_VERSION = "0.16.1";
|
|
2298
2298
|
function registerSkillTools(server, tools) {
|
|
2299
2299
|
registerCatalogTool(server, tools);
|
|
2300
2300
|
registerFindTool(server, tools);
|
|
@@ -2426,6 +2426,8 @@ export {
|
|
|
2426
2426
|
DEFAULT_TIERS,
|
|
2427
2427
|
createSkillHttpHandler,
|
|
2428
2428
|
loadEmbedder,
|
|
2429
|
+
readCatalog,
|
|
2430
|
+
verifiedRuntimesOf,
|
|
2429
2431
|
visibleTo
|
|
2430
2432
|
};
|
|
2431
2433
|
//# sourceMappingURL=http.js.map
|
package/dist/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { I as IntentCache,
|
|
2
|
-
export { A as ASSET_KINDS,
|
|
3
|
-
import { L as LoadEmbedderOptions } from './embed-
|
|
4
|
-
export { E as EntryVectorStore, e as encodeEntries, l as loadEmbedder, o as openEntryVectors } from './embed-
|
|
1
|
+
import { I as IntentCache, b as Ranking, S as SkillServerOptions, E as Embedder, C as CatalogOptions, a as SkillEntry, M as MetadataValue, c as SkillTools } from './server-VWSY3Shw.js';
|
|
2
|
+
export { A as ASSET_KINDS, d as AssetKind, B as BundleFile, e as CATALOG_PAGE_MAX, f as CATALOG_PAGE_SIZE, g as COMPATIBILITY_MAX, h as CallResponse, i as CatalogItem, j as CatalogResponse, k as Classified, D as DEFAULT_FIND_LIMIT, l as DESCRIBE_FILE_LIMIT, m as DESCRIPTION_MAX, F as FileKind, n as FindOptions, o as FindResult, p as IntentCacheStats, K as KindFilter, q as MAX_SKILL_DEPTH, s as Match, t as MetadataLeaf, N as NAME_MAX, u as READ_BUDGET_BYTES, w as RUNTIMES, x as ReadResult, R as Runtime, y as SKIPPED_DIRS, z as SkillBundle, G as SkillFile, H as SkillFileContent, J as SkillFileListing, L as SkillFilters, O as bundleResponseSchema, P as bundleSkill, Q as catalogResponseSchema, T as classify, U as cosine, V as createSkillTools, W as describeResponseSchema, X as detectRuntime, Y as displayPath, Z as find, _ as findResultSchema, $ as isUtf8Text, a0 as kindOf, a1 as lexicalScore, a2 as listSkillFiles, a3 as mimeOf, a4 as normaliseIntent, a5 as parseSkillFrontmatter, a6 as readBody, r as readCatalog, a7 as readFrontmatter, a8 as readSkillFile, a9 as runtimeOfClient, aa as specProblems, v as verifiedRuntimesOf, ab as withoutBody } from './server-VWSY3Shw.js';
|
|
3
|
+
import { L as LoadEmbedderOptions } from './embed-DRROSD3F.js';
|
|
4
|
+
export { E as EntryVectorStore, e as encodeEntries, l as loadEmbedder, o as openEntryVectors } from './embed-DRROSD3F.js';
|
|
5
5
|
export { D as DEFAULT_MODEL_ID, a as EmbeddingModel, b as EncoderDtype, E as EncoderOptions, c as EncoderSpec, R as ResolvedEncoder, e as embeddingModels, d as encoderSpec, r as resolveEncoder } from './encoder-DGRy9skC.js';
|
|
6
6
|
import { P as ProjectConfig } from './config-BkSpjUG6.js';
|
|
7
7
|
export { C as CONFIG_FILE, a as CatalogSection, b as ConfigError, E as EmbeddingSection, f as findConfig, r as readConfig } from './config-BkSpjUG6.js';
|
|
@@ -275,7 +275,7 @@ declare function resolveSkillFileUri(uri: string, entries: readonly SkillEntry[]
|
|
|
275
275
|
|
|
276
276
|
/** Reported to the host on connect. */
|
|
277
277
|
declare const SERVER_NAME = "pmcp";
|
|
278
|
-
declare const SERVER_VERSION = "0.16.
|
|
278
|
+
declare const SERVER_VERSION = "0.16.1";
|
|
279
279
|
/**
|
|
280
280
|
* Registers the skill_* tools on a server.
|
|
281
281
|
*
|
package/dist/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// src/intent.ts
|
|
2
2
|
function normaliseIntent(intent) {
|
|
3
|
-
return intent.toLowerCase().replaceAll(/[^\p{L}\p{N}\s]/gu, " ").split(/\s+/u).filter(Boolean).join(" ");
|
|
3
|
+
return intent.normalize("NFC").toLowerCase().replaceAll(/[^\p{L}\p{N}\s]/gu, " ").split(/\s+/u).filter(Boolean).join(" ");
|
|
4
4
|
}
|
|
5
5
|
|
|
6
6
|
// src/storage/sqlite.ts
|
|
@@ -4679,7 +4679,7 @@ function registerMailboxTools(server, service) {
|
|
|
4679
4679
|
|
|
4680
4680
|
// src/mcp.ts
|
|
4681
4681
|
var SERVER_NAME = "pmcp";
|
|
4682
|
-
var SERVER_VERSION = "0.16.
|
|
4682
|
+
var SERVER_VERSION = "0.16.1";
|
|
4683
4683
|
function registerSkillTools(server, tools) {
|
|
4684
4684
|
registerCatalogTool(server, tools);
|
|
4685
4685
|
registerFindTool(server, tools);
|
package/dist/mailbox/index.js
CHANGED
|
@@ -144,6 +144,8 @@ var MailboxError = class extends Error {
|
|
|
144
144
|
this.retryable = retryable;
|
|
145
145
|
this.name = "MailboxError";
|
|
146
146
|
}
|
|
147
|
+
code;
|
|
148
|
+
retryable;
|
|
147
149
|
};
|
|
148
150
|
function failure(error) {
|
|
149
151
|
if (error instanceof MailboxError) {
|
|
@@ -1089,6 +1091,7 @@ var NotificationOutbox = class {
|
|
|
1089
1091
|
constructor(store) {
|
|
1090
1092
|
this.store = store;
|
|
1091
1093
|
}
|
|
1094
|
+
store;
|
|
1092
1095
|
discover(binding, nativeTarget) {
|
|
1093
1096
|
return this.store.run(() => {
|
|
1094
1097
|
this.store.assertBinding(binding);
|
|
@@ -144,8 +144,7 @@ interface IntentCache {
|
|
|
144
144
|
close(): void;
|
|
145
145
|
}
|
|
146
146
|
/**
|
|
147
|
-
*
|
|
148
|
-
* key has to survive a caller writing "How do I wire X?" and "how do i wire x".
|
|
147
|
+
* Canonically equivalent Unicode must share the same query and cache key.
|
|
149
148
|
*/
|
|
150
149
|
declare function normaliseIntent(intent: string): string;
|
|
151
150
|
|
|
@@ -541,4 +540,4 @@ declare function createSkillTools(options: SkillServerOptions): {
|
|
|
541
540
|
};
|
|
542
541
|
type SkillTools = ReturnType<typeof createSkillTools>;
|
|
543
542
|
|
|
544
|
-
export {
|
|
543
|
+
export { isUtf8Text as $, ASSET_KINDS as A, type BundleFile as B, type CatalogOptions as C, DEFAULT_FIND_LIMIT as D, type Embedder as E, type FileKind as F, type SkillFile as G, type SkillFileContent as H, type IntentCache as I, type SkillFileListing as J, type KindFilter as K, type SkillFilters as L, type MetadataValue as M, NAME_MAX as N, bundleResponseSchema as O, bundleSkill as P, catalogResponseSchema as Q, type Runtime as R, type SkillServerOptions as S, classify as T, cosine as U, createSkillTools as V, describeResponseSchema as W, detectRuntime as X, displayPath as Y, find as Z, findResultSchema as _, type SkillEntry as a, kindOf as a0, lexicalScore as a1, listSkillFiles as a2, mimeOf as a3, normaliseIntent as a4, frontmatterObject as a5, readBody as a6, readFrontmatter as a7, readSkillFile as a8, runtimeOfClient as a9, specProblems as aa, withoutBody as ab, type Ranking as b, type SkillTools as c, type AssetKind as d, CATALOG_PAGE_MAX as e, CATALOG_PAGE_SIZE as f, COMPATIBILITY_MAX as g, type CallResponse as h, type CatalogItem as i, type CatalogResponse as j, type Classified as k, DESCRIBE_FILE_LIMIT as l, DESCRIPTION_MAX as m, type FindOptions as n, type FindResult as o, type IntentCacheStats as p, MAX_SKILL_DEPTH as q, readCatalog as r, type Match as s, type MetadataLeaf as t, READ_BUDGET_BYTES as u, verifiedRuntimesOf as v, RUNTIMES as w, type ReadResult as x, SKIPPED_DIRS as y, type SkillBundle as z };
|
package/dist/stdio.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { serveStdio } from '@modelcontextprotocol/server/stdio';
|
|
3
|
-
import { S as SkillServerOptions, C as CatalogOptions } from './server-
|
|
3
|
+
import { S as SkillServerOptions, C as CatalogOptions } from './server-VWSY3Shw.js';
|
|
4
4
|
import { M as MailboxService } from './service-qpCsOXkQ.js';
|
|
5
5
|
import { M as MailboxAttachmentOptions } from './attachment-tU5FZrgZ.js';
|
|
6
6
|
import 'zod';
|
package/dist/stdio.js
CHANGED
|
@@ -1050,7 +1050,7 @@ import { createHash as createHash2 } from "crypto";
|
|
|
1050
1050
|
|
|
1051
1051
|
// src/intent.ts
|
|
1052
1052
|
function normaliseIntent(intent) {
|
|
1053
|
-
return intent.toLowerCase().replaceAll(/[^\p{L}\p{N}\s]/gu, " ").split(/\s+/u).filter(Boolean).join(" ");
|
|
1053
|
+
return intent.normalize("NFC").toLowerCase().replaceAll(/[^\p{L}\p{N}\s]/gu, " ").split(/\s+/u).filter(Boolean).join(" ");
|
|
1054
1054
|
}
|
|
1055
1055
|
|
|
1056
1056
|
// src/find.ts
|
|
@@ -1941,7 +1941,7 @@ function registerMailboxTools(server, service) {
|
|
|
1941
1941
|
|
|
1942
1942
|
// src/mcp.ts
|
|
1943
1943
|
var SERVER_NAME = "pmcp";
|
|
1944
|
-
var SERVER_VERSION = "0.16.
|
|
1944
|
+
var SERVER_VERSION = "0.16.1";
|
|
1945
1945
|
function registerSkillTools(server, tools) {
|
|
1946
1946
|
registerCatalogTool(server, tools);
|
|
1947
1947
|
registerFindTool(server, tools);
|
|
@@ -2003,6 +2003,8 @@ var MailboxError = class extends Error {
|
|
|
2003
2003
|
this.retryable = retryable;
|
|
2004
2004
|
this.name = "MailboxError";
|
|
2005
2005
|
}
|
|
2006
|
+
code;
|
|
2007
|
+
retryable;
|
|
2006
2008
|
};
|
|
2007
2009
|
function failure(error) {
|
|
2008
2010
|
if (error instanceof MailboxError) {
|
package/dist/tui-worker.js
CHANGED
|
@@ -911,6 +911,7 @@ var Connection = class {
|
|
|
911
911
|
constructor(records2) {
|
|
912
912
|
this.records = records2;
|
|
913
913
|
}
|
|
914
|
+
records;
|
|
914
915
|
tmux(args, options = {}) {
|
|
915
916
|
return command(
|
|
916
917
|
"tmux",
|
|
@@ -1147,6 +1148,8 @@ var LaunchJournal = class {
|
|
|
1147
1148
|
this.id = id2;
|
|
1148
1149
|
runtimeUnit(id2);
|
|
1149
1150
|
}
|
|
1151
|
+
records;
|
|
1152
|
+
id;
|
|
1150
1153
|
path(kind) {
|
|
1151
1154
|
if (!["intent", "proof", "grant", "committed", "aborted"].includes(kind))
|
|
1152
1155
|
throw new Error("invalid_launch_artifact");
|
|
@@ -2275,6 +2278,7 @@ var Backend = class {
|
|
|
2275
2278
|
this.runDirectory = recordStore.directory;
|
|
2276
2279
|
this.metadataPath = recordStore.metadataPath;
|
|
2277
2280
|
}
|
|
2281
|
+
recordStore;
|
|
2278
2282
|
connection;
|
|
2279
2283
|
owner;
|
|
2280
2284
|
socket;
|
|
@@ -3413,6 +3417,7 @@ var CommonHarness = class {
|
|
|
3413
3417
|
constructor(view) {
|
|
3414
3418
|
this.view = view;
|
|
3415
3419
|
}
|
|
3420
|
+
view;
|
|
3416
3421
|
async call(family, action, input = {}) {
|
|
3417
3422
|
const group = new GroupStore(this.view.groupFile).state.group;
|
|
3418
3423
|
if (group.owner !== this.view.groupOwner) throw new Error("foreign_group");
|
|
@@ -3570,6 +3575,9 @@ var ViewConnection = class {
|
|
|
3570
3575
|
this.identity = identity;
|
|
3571
3576
|
this.socket = join21(directory, "s");
|
|
3572
3577
|
}
|
|
3578
|
+
directory;
|
|
3579
|
+
owner;
|
|
3580
|
+
identity;
|
|
3573
3581
|
socket;
|
|
3574
3582
|
raw(args) {
|
|
3575
3583
|
const env = { ...process.env };
|
|
@@ -3721,6 +3729,8 @@ var TmuxView = class {
|
|
|
3721
3729
|
view.serverIdentity
|
|
3722
3730
|
);
|
|
3723
3731
|
}
|
|
3732
|
+
view;
|
|
3733
|
+
stateFile;
|
|
3724
3734
|
connection;
|
|
3725
3735
|
shell(argv2) {
|
|
3726
3736
|
return `exec ${argv2.map(quote).join(" ")}`;
|
|
@@ -4408,6 +4418,8 @@ var MailboxError = class extends Error {
|
|
|
4408
4418
|
this.retryable = retryable;
|
|
4409
4419
|
this.name = "MailboxError";
|
|
4410
4420
|
}
|
|
4421
|
+
code;
|
|
4422
|
+
retryable;
|
|
4411
4423
|
};
|
|
4412
4424
|
function failure(error) {
|
|
4413
4425
|
if (error instanceof MailboxError) {
|
package/docs/hosting.md
CHANGED
|
@@ -26,6 +26,19 @@ const skills = createSkillHttpHandler({
|
|
|
26
26
|
export default { fetch: (request: Request) => skills.fetch(request) };
|
|
27
27
|
```
|
|
28
28
|
|
|
29
|
+
Import `readCatalog` and `verifiedRuntimesOf` from the same `/http` entry when
|
|
30
|
+
the host also displays the catalog. `verifiedRuntimesOf(metadata)` accepts an
|
|
31
|
+
array or a comma/whitespace-separated string, drops unknown names and removes
|
|
32
|
+
duplicates while preserving declaration order. Hosts that need a fixed display
|
|
33
|
+
order can sort the result themselves.
|
|
34
|
+
|
|
35
|
+
Pass `onReject: ({ path, reason }) => reportRejectedCatalog(path, reason)` to
|
|
36
|
+
observe rejected marketplace entries during startup and `reload()`. This callback
|
|
37
|
+
is synchronous and reports only the path and reason. A custom `loadCatalog` must
|
|
38
|
+
forward its options to `readCatalog` to retain rejection reporting. If the host
|
|
39
|
+
loads a separate site catalog, pass the callback to that load as well. Deduplicate
|
|
40
|
+
repeated warnings in the host and keep local paths out of public responses.
|
|
41
|
+
|
|
29
42
|
The handler checks requests before they reach MCP:
|
|
30
43
|
|
|
31
44
|
| Option | Default | Effect |
|
package/gemini-extension.json
CHANGED
package/package.json
CHANGED
package/plugin.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
|
|
3
3
|
"name": "pmcp",
|
|
4
|
-
"version": "0.16.
|
|
4
|
+
"version": "0.16.1",
|
|
5
5
|
"description": "Find package skills and use native runtime project configuration.",
|
|
6
6
|
"author": { "name": "modootoday" },
|
|
7
7
|
"license": "Elastic-2.0",
|
package/plugins/pmcp/plugin.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
|
|
3
3
|
"name": "pmcp",
|
|
4
|
-
"version": "0.16.
|
|
4
|
+
"version": "0.16.1",
|
|
5
5
|
"description": "Find package skills and use native runtime project configuration.",
|
|
6
6
|
"author": { "name": "modootoday" },
|
|
7
7
|
"license": "Elastic-2.0",
|