@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.
@@ -612,7 +612,7 @@
612
612
  },
613
613
  {
614
614
  "name": "pmcp",
615
- "version": "0.16.0",
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" },
@@ -445,7 +445,7 @@
445
445
  },
446
446
  {
447
447
  "name": "pmcp",
448
- "version": "0.16.0",
448
+ "version": "0.16.1",
449
449
  "description": "Find package skills and use native runtime project configuration.",
450
450
  "source": "./plugins/pmcp"
451
451
  },
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pmcp",
3
- "version": "0.16.0",
3
+ "version": "0.16.1",
4
4
  "description": "Find package skills and use native runtime project configuration.",
5
5
  "author": { "name": "modootoday" },
6
6
  "license": "Elastic-2.0",
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.0";
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.0";
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,
@@ -1,4 +1,4 @@
1
- import { E as Embedder } from './server-DAcT89iv.js';
1
+ import { E as Embedder } from './server-VWSY3Shw.js';
2
2
  import { E as EncoderOptions } from './encoder-DGRy9skC.js';
3
3
 
4
4
  /**
@@ -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");
@@ -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-DAcT89iv.js';
2
- import { L as LoadEmbedderOptions } from './embed-CVCEz2FH.js';
3
- export { l as loadEmbedder } from './embed-CVCEz2FH.js';
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.0";
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, R as Ranking, S as SkillServerOptions, E as Embedder, C as CatalogOptions, a as SkillEntry, M as MetadataValue, b as SkillTools } from './server-DAcT89iv.js';
2
- export { A as ASSET_KINDS, c as AssetKind, B as BundleFile, d as CATALOG_PAGE_MAX, e as CATALOG_PAGE_SIZE, f as COMPATIBILITY_MAX, g as CallResponse, h as CatalogItem, i as CatalogResponse, j as Classified, D as DEFAULT_FIND_LIMIT, k as DESCRIBE_FILE_LIMIT, l as DESCRIPTION_MAX, F as FileKind, m as FindOptions, n as FindResult, o as IntentCacheStats, K as KindFilter, p as MAX_SKILL_DEPTH, q as Match, r as MetadataLeaf, N as NAME_MAX, s as READ_BUDGET_BYTES, t as RUNTIMES, u as ReadResult, v as Runtime, w as SKIPPED_DIRS, x as SkillBundle, y as SkillFile, z as SkillFileContent, G as SkillFileListing, H as SkillFilters, J as bundleResponseSchema, L as bundleSkill, O as catalogResponseSchema, P as classify, Q as cosine, T as createSkillTools, U as describeResponseSchema, V as detectRuntime, W as displayPath, X as find, Y as findResultSchema, Z as isUtf8Text, _ as kindOf, $ as lexicalScore, a0 as listSkillFiles, a1 as mimeOf, a2 as normaliseIntent, a3 as parseSkillFrontmatter, a4 as readBody, a5 as readCatalog, a6 as readFrontmatter, a7 as readSkillFile, a8 as runtimeOfClient, a9 as specProblems, aa as verifiedRuntimesOf, ab as withoutBody } from './server-DAcT89iv.js';
3
- import { L as LoadEmbedderOptions } from './embed-CVCEz2FH.js';
4
- export { E as EntryVectorStore, e as encodeEntries, l as loadEmbedder, o as openEntryVectors } from './embed-CVCEz2FH.js';
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.0";
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.0";
4682
+ var SERVER_VERSION = "0.16.1";
4683
4683
  function registerSkillTools(server, tools) {
4684
4684
  registerCatalogTool(server, tools);
4685
4685
  registerFindTool(server, tools);
@@ -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
- * Same question, differently typed. Case, punctuation and spacing only — the
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 { lexicalScore 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 SkillFileListing as G, type SkillFilters as H, type IntentCache as I, bundleResponseSchema as J, type KindFilter as K, bundleSkill as L, type MetadataValue as M, NAME_MAX as N, catalogResponseSchema as O, classify as P, cosine as Q, type Ranking as R, type SkillServerOptions as S, createSkillTools as T, describeResponseSchema as U, detectRuntime as V, displayPath as W, find as X, findResultSchema as Y, isUtf8Text as Z, kindOf as _, type SkillEntry as a, listSkillFiles as a0, mimeOf as a1, normaliseIntent as a2, frontmatterObject as a3, readBody as a4, readCatalog as a5, readFrontmatter as a6, readSkillFile as a7, runtimeOfClient as a8, specProblems as a9, verifiedRuntimesOf as aa, withoutBody as ab, type SkillTools as b, type AssetKind as c, CATALOG_PAGE_MAX as d, CATALOG_PAGE_SIZE as e, COMPATIBILITY_MAX as f, type CallResponse as g, type CatalogItem as h, type CatalogResponse as i, type Classified as j, DESCRIBE_FILE_LIMIT as k, DESCRIPTION_MAX as l, type FindOptions as m, type FindResult as n, type IntentCacheStats as o, MAX_SKILL_DEPTH as p, type Match as q, type MetadataLeaf as r, READ_BUDGET_BYTES as s, RUNTIMES as t, type ReadResult as u, type Runtime as v, SKIPPED_DIRS as w, type SkillBundle as x, type SkillFile as y, type SkillFileContent as z };
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-DAcT89iv.js';
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.0";
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) {
@@ -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 |
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pmcp",
3
- "version": "0.16.0",
3
+ "version": "0.16.1",
4
4
  "mcpServers": {
5
5
  "pmcp": {
6
6
  "type": "stdio",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@modootoday/pmcp",
3
- "version": "0.16.0",
3
+ "version": "0.16.1",
4
4
  "license": "Elastic-2.0",
5
5
  "author": "modootoday",
6
6
  "description": "Use the skills your packages already ship, and keep your AI tools' project configuration in one place.",
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.0",
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",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pmcp",
3
- "version": "0.16.0",
3
+ "version": "0.16.1",
4
4
  "description": "Find package skills and use native runtime project configuration.",
5
5
  "author": { "name": "modootoday" },
6
6
  "license": "Elastic-2.0",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pmcp",
3
- "version": "0.16.0",
3
+ "version": "0.16.1",
4
4
  "mcpServers": {
5
5
  "pmcp": {
6
6
  "type": "stdio",
@@ -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.0",
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",