@modootoday/pmcp 0.13.0 → 0.13.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/NOTICE +4 -2
- package/README.md +19 -1
- package/dist/cli.js +2 -2
- package/dist/{embed-BW6AWD1e.d.ts → embed-BBhv3y5x.d.ts} +1 -1
- package/dist/http.d.ts +3 -3
- package/dist/http.js +1 -1
- package/dist/index.d.ts +5 -5
- package/dist/index.js +1 -1
- package/dist/stdio.d.ts +1 -1
- package/dist/stdio.js +1 -1
- package/docs/terminal-workspace.md +16 -14
- package/package.json +7 -3
- package/dist/{server-9w4R1caM.d.ts → server-CwWcRjqz.d.ts} +4 -4
package/NOTICE
CHANGED
|
@@ -40,9 +40,11 @@ their own terms and are not covered by the licence above.
|
|
|
40
40
|
@modelcontextprotocol/core MIT Copyright (c) Anthropic, PBC
|
|
41
41
|
zod MIT Copyright (c) Colin McDonnell
|
|
42
42
|
semver ISC See the dependency's LICENSE file.
|
|
43
|
+
smol-toml BSD-3-Clause Copyright (c) Squirrel Chat et al.
|
|
44
|
+
yaml ISC Copyright Eemeli Aro
|
|
43
45
|
|
|
44
|
-
|
|
45
|
-
|
|
46
|
+
Full licence texts and copyright notices ship with those packages. Their
|
|
47
|
+
respective licence terms govern distribution of those dependencies.
|
|
46
48
|
|
|
47
49
|
@huggingface/transformers is an optional peer dependency. It is never
|
|
48
50
|
distributed with this package; a user who wants semantic ranking installs it
|
package/README.md
CHANGED
|
@@ -95,6 +95,24 @@ The [configuration guide](docs/project-configuration.md) covers importing
|
|
|
95
95
|
existing servers, environment references, shared skills and rules, shell guards
|
|
96
96
|
and memory metadata.
|
|
97
97
|
|
|
98
|
+
## Manage native terminals
|
|
99
|
+
|
|
100
|
+
PMCP 0.13.0 or later can show a native main runtime, its worker terminals and a
|
|
101
|
+
coordination panel in one terminal workspace. The optional harness and TUI need
|
|
102
|
+
Linux, tmux, util-linux flock, Node.js 22 or later and a working user systemd
|
|
103
|
+
manager. Provider login, folder trust and tool approvals remain native.
|
|
104
|
+
|
|
105
|
+
```sh
|
|
106
|
+
npx @modootoday/pmcp --version
|
|
107
|
+
npx @modootoday/pmcp harness doctor
|
|
108
|
+
npx @modootoday/pmcp tui doctor
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
Follow the [native terminal guide](docs/terminal-harness.md) to create an owned
|
|
112
|
+
group and sessions, then [open a terminal workspace](docs/terminal-workspace.md).
|
|
113
|
+
Views start read only; acquiring control and stopping a runtime are explicit
|
|
114
|
+
actions. This optional CLI feature does not add execution tools to the MCP server.
|
|
115
|
+
|
|
98
116
|
## Everyday commands
|
|
99
117
|
|
|
100
118
|
Run these with `npx @modootoday/pmcp`, or with `pmcp` when it is on your PATH:
|
|
@@ -130,7 +148,7 @@ With no command, pmcp serves MCP on stdio.
|
|
|
130
148
|
| [Local mailbox](docs/mailbox.md) | Actor credentials, messages, receipts and library integration |
|
|
131
149
|
| [HTTP hosting](docs/hosting.md) | Authentication, catalog access and request controls |
|
|
132
150
|
| [Native terminal control](docs/terminal-harness.md) | Owned sessions, explicit input, Docker profiles and recovery |
|
|
133
|
-
| [Terminal workspace](docs/terminal-workspace.md) |
|
|
151
|
+
| [Terminal workspace](docs/terminal-workspace.md) | Main and worker panels, observation, control and failures |
|
|
134
152
|
| [Security policy](SECURITY.md) | Reporting vulnerabilities |
|
|
135
153
|
|
|
136
154
|
Semantic search is optional and requires `@huggingface/transformers` installed
|
package/dist/cli.js
CHANGED
|
@@ -9013,7 +9013,7 @@ function registerMailboxTools(server, service) {
|
|
|
9013
9013
|
|
|
9014
9014
|
// src/mcp.ts
|
|
9015
9015
|
var SERVER_NAME = "pmcp";
|
|
9016
|
-
var SERVER_VERSION = "0.13.
|
|
9016
|
+
var SERVER_VERSION = "0.13.1";
|
|
9017
9017
|
function registerSkillTools(server, tools) {
|
|
9018
9018
|
registerCatalogTool(server, tools);
|
|
9019
9019
|
registerFindTool(server, tools);
|
|
@@ -14428,7 +14428,7 @@ function dispatch(argv, options2 = {}) {
|
|
|
14428
14428
|
}
|
|
14429
14429
|
return run(command2, rest, { ui, env, cwd });
|
|
14430
14430
|
}
|
|
14431
|
-
var VERSION = "0.13.
|
|
14431
|
+
var VERSION = "0.13.1";
|
|
14432
14432
|
async function run(command2, argv, context) {
|
|
14433
14433
|
try {
|
|
14434
14434
|
return await command2.run({
|
package/dist/http.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { S as SkillServerOptions, E as Embedder, a as SkillEntry } from './server-
|
|
2
|
-
import { L as LoadEmbedderOptions } from './embed-
|
|
3
|
-
export { l as loadEmbedder } from './embed-
|
|
1
|
+
import { S as SkillServerOptions, E as Embedder, a as SkillEntry } from './server-CwWcRjqz.js';
|
|
2
|
+
import { L as LoadEmbedderOptions } from './embed-BBhv3y5x.js';
|
|
3
|
+
export { l as loadEmbedder } from './embed-BBhv3y5x.js';
|
|
4
4
|
import { M as MailboxService } from './service-qpCsOXkQ.js';
|
|
5
5
|
export { D as DEFAULT_MODEL_ID } from './encoder-DGRy9skC.js';
|
|
6
6
|
import 'zod';
|
package/dist/http.js
CHANGED
|
@@ -2190,7 +2190,7 @@ function registerMailboxTools(server, service) {
|
|
|
2190
2190
|
|
|
2191
2191
|
// src/mcp.ts
|
|
2192
2192
|
var SERVER_NAME = "pmcp";
|
|
2193
|
-
var SERVER_VERSION = "0.13.
|
|
2193
|
+
var SERVER_VERSION = "0.13.1";
|
|
2194
2194
|
function registerSkillTools(server, tools) {
|
|
2195
2195
|
registerCatalogTool(server, tools);
|
|
2196
2196
|
registerFindTool(server, tools);
|
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-
|
|
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-
|
|
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, R as Ranking, S as SkillServerOptions, E as Embedder, C as CatalogOptions, a as SkillEntry, M as MetadataValue, b as SkillTools } from './server-CwWcRjqz.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-CwWcRjqz.js';
|
|
3
|
+
import { L as LoadEmbedderOptions } from './embed-BBhv3y5x.js';
|
|
4
|
+
export { E as EntryVectorStore, e as encodeEntries, l as loadEmbedder, o as openEntryVectors } from './embed-BBhv3y5x.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-CJ43_oBS.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-CJ43_oBS.js';
|
|
@@ -282,7 +282,7 @@ declare function resolveSkillFileUri(uri: string, entries: readonly SkillEntry[]
|
|
|
282
282
|
|
|
283
283
|
/** Reported to the host on connect. */
|
|
284
284
|
declare const SERVER_NAME = "pmcp";
|
|
285
|
-
declare const SERVER_VERSION = "0.13.
|
|
285
|
+
declare const SERVER_VERSION = "0.13.1";
|
|
286
286
|
/**
|
|
287
287
|
* Registers the skill_* tools on a server.
|
|
288
288
|
*
|
package/dist/index.js
CHANGED
|
@@ -4497,7 +4497,7 @@ function registerMailboxTools(server, service) {
|
|
|
4497
4497
|
|
|
4498
4498
|
// src/mcp.ts
|
|
4499
4499
|
var SERVER_NAME = "pmcp";
|
|
4500
|
-
var SERVER_VERSION = "0.13.
|
|
4500
|
+
var SERVER_VERSION = "0.13.1";
|
|
4501
4501
|
function registerSkillTools(server, tools) {
|
|
4502
4502
|
registerCatalogTool(server, tools);
|
|
4503
4503
|
registerFindTool(server, tools);
|
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-CwWcRjqz.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
|
@@ -1837,7 +1837,7 @@ function registerMailboxTools(server, service) {
|
|
|
1837
1837
|
|
|
1838
1838
|
// src/mcp.ts
|
|
1839
1839
|
var SERVER_NAME = "pmcp";
|
|
1840
|
-
var SERVER_VERSION = "0.13.
|
|
1840
|
+
var SERVER_VERSION = "0.13.1";
|
|
1841
1841
|
function registerSkillTools(server, tools) {
|
|
1842
1842
|
registerCatalogTool(server, tools);
|
|
1843
1843
|
registerFindTool(server, tools);
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
# Terminal workspace
|
|
2
2
|
|
|
3
|
-
Use pmcp tui to view an existing main runtime and its workers in one terminal.
|
|
3
|
+
Use `pmcp tui` to view an existing main runtime and its workers in one terminal.
|
|
4
4
|
The main conversation stays in its native interface. PMCP adds a worker dock,
|
|
5
5
|
coordination panel and explicit control switching. Provider login, folder trust
|
|
6
6
|
and tool approvals stay in their native screens.
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
This feature requires PMCP 0.13.0 or later. The host requires Linux, tmux,
|
|
9
|
+
util-linux flock, Node.js 22 or later and a working
|
|
9
10
|
user systemd manager. The PMCP CLI supports Node or Bun; pane helpers use Node.
|
|
10
11
|
The presentation gets its own 512 MiB, 128-task, one-CPU scope. Native sessions
|
|
11
12
|
retain their existing group budgets and execution profile.
|
|
@@ -16,6 +17,7 @@ First [create a harness group and its sessions](terminal-harness.md). Set GROUP_
|
|
|
16
17
|
to that group's private state path, then check prerequisites and create a view:
|
|
17
18
|
|
|
18
19
|
```sh
|
|
20
|
+
pmcp --version
|
|
19
21
|
pmcp tui doctor
|
|
20
22
|
pmcp tui create --group-file "$GROUP_FILE" --columns 160 --rows 48
|
|
21
23
|
```
|
|
@@ -38,18 +40,18 @@ Views refer to an existing owned group and do not start a provider.
|
|
|
38
40
|
|
|
39
41
|
Press Ctrl-g, release it, then press a key:
|
|
40
42
|
|
|
41
|
-
| Key
|
|
42
|
-
|
|
|
43
|
-
| m
|
|
44
|
-
| w or 1–4 | Observe a worker
|
|
45
|
-
| c
|
|
46
|
-
| r
|
|
47
|
-
| h
|
|
48
|
-
| b
|
|
49
|
-
| g
|
|
50
|
-
| d
|
|
51
|
-
| !
|
|
52
|
-
| ?
|
|
43
|
+
| Key | Action | CLI operation |
|
|
44
|
+
| -------- | -------------------------------------------- | ----------------------- |
|
|
45
|
+
| m | Return to main and release worker control | main |
|
|
46
|
+
| w or 1–4 | Observe a worker | observe --index 1 |
|
|
47
|
+
| c | Request control of the current native target | control |
|
|
48
|
+
| r | Release control | release |
|
|
49
|
+
| h | Read owned native history | history |
|
|
50
|
+
| b | Show configured inbox metadata | mailbox |
|
|
51
|
+
| g | Open compact management window | management |
|
|
52
|
+
| d | Detach the view, preserving runtimes | detach |
|
|
53
|
+
| ! | Dismiss the last visible error | dismiss |
|
|
54
|
+
| ? | Show key help | Help in the status line |
|
|
53
55
|
|
|
54
56
|
CLI operations use pmcp tui OPERATION --view "$VIEW_FILE". Worker indices follow
|
|
55
57
|
the dock; CLI observe supports all available indices. Press Ctrl-g twice to
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@modootoday/pmcp",
|
|
3
|
-
"version": "0.13.
|
|
3
|
+
"version": "0.13.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.",
|
|
@@ -71,9 +71,10 @@
|
|
|
71
71
|
"clean": "rimraf dist",
|
|
72
72
|
"catalog:refresh": "node scripts/refresh-catalog.mjs",
|
|
73
73
|
"observations:refresh": "node scripts/refresh-observations.mjs",
|
|
74
|
-
"site:build": "node scripts/build-catalog-pages.mjs && node scripts/build-observation-pages.mjs && node scripts/build-sitemap.mjs",
|
|
74
|
+
"site:build": "node scripts/build-site-assets.mjs && node scripts/build-catalog-pages.mjs && node scripts/build-observation-pages.mjs && node scripts/build-guide-pages.mjs && node scripts/build-sitemap.mjs",
|
|
75
|
+
"docs:check": "prettier --check --ignore-path /dev/null README.md docs/*.md && node scripts/build-guide-pages.mjs --check && node scripts/build-site-assets.mjs --check",
|
|
75
76
|
"site:deployed": "node scripts/check-deployed.mjs",
|
|
76
|
-
"prepack": "npm run build && npm run typecheck && npm test",
|
|
77
|
+
"prepack": "npm run docs:check && npm run build && npm run typecheck && npm test",
|
|
77
78
|
"format": "prettier --write .",
|
|
78
79
|
"format:check": "prettier --check ."
|
|
79
80
|
},
|
|
@@ -96,8 +97,11 @@
|
|
|
96
97
|
"@types/node": "^22.15.21",
|
|
97
98
|
"@types/semver": "7.8.0",
|
|
98
99
|
"@typescript/native-preview": "7.0.0-dev.20260707.2",
|
|
100
|
+
"esbuild": "0.27.4",
|
|
101
|
+
"marked": "18.1.0",
|
|
99
102
|
"prettier": "^3.6.2",
|
|
100
103
|
"rimraf": "^6.0.1",
|
|
104
|
+
"three": "0.186.1",
|
|
101
105
|
"tsup": "^8.5.1",
|
|
102
106
|
"typescript": "^5.9.3",
|
|
103
107
|
"vitest": "^4.0.18"
|
|
@@ -346,11 +346,11 @@ declare const catalogItemSchema: z.ZodObject<{
|
|
|
346
346
|
mcp: "mcp";
|
|
347
347
|
}>>;
|
|
348
348
|
verifiedRuntimes: z.ZodOptional<z.ZodArray<z.ZodEnum<{
|
|
349
|
-
antigravity: "antigravity";
|
|
350
349
|
"claude-code": "claude-code";
|
|
351
350
|
"codex-cli": "codex-cli";
|
|
352
351
|
"gemini-cli": "gemini-cli";
|
|
353
352
|
"grok-cli": "grok-cli";
|
|
353
|
+
antigravity: "antigravity";
|
|
354
354
|
}>>>;
|
|
355
355
|
verified: z.ZodOptional<z.ZodBoolean>;
|
|
356
356
|
}, z.core.$loose>;
|
|
@@ -372,11 +372,11 @@ declare const catalogResponseSchema: z.ZodObject<{
|
|
|
372
372
|
mcp: "mcp";
|
|
373
373
|
}>>;
|
|
374
374
|
verifiedRuntimes: z.ZodOptional<z.ZodArray<z.ZodEnum<{
|
|
375
|
-
antigravity: "antigravity";
|
|
376
375
|
"claude-code": "claude-code";
|
|
377
376
|
"codex-cli": "codex-cli";
|
|
378
377
|
"gemini-cli": "gemini-cli";
|
|
379
378
|
"grok-cli": "grok-cli";
|
|
379
|
+
antigravity: "antigravity";
|
|
380
380
|
}>>>;
|
|
381
381
|
verified: z.ZodOptional<z.ZodBoolean>;
|
|
382
382
|
}, z.core.$loose>>;
|
|
@@ -388,11 +388,11 @@ declare const findResultSchema: z.ZodObject<{
|
|
|
388
388
|
lexical: "lexical";
|
|
389
389
|
}>;
|
|
390
390
|
runtime: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
|
|
391
|
-
antigravity: "antigravity";
|
|
392
391
|
"claude-code": "claude-code";
|
|
393
392
|
"codex-cli": "codex-cli";
|
|
394
393
|
"gemini-cli": "gemini-cli";
|
|
395
394
|
"grok-cli": "grok-cli";
|
|
395
|
+
antigravity: "antigravity";
|
|
396
396
|
}>>>;
|
|
397
397
|
matches: z.ZodArray<z.ZodObject<{
|
|
398
398
|
name: z.ZodString;
|
|
@@ -400,11 +400,11 @@ declare const findResultSchema: z.ZodObject<{
|
|
|
400
400
|
description: z.ZodString;
|
|
401
401
|
score: z.ZodNumber;
|
|
402
402
|
verifiedRuntimes: z.ZodOptional<z.ZodArray<z.ZodEnum<{
|
|
403
|
-
antigravity: "antigravity";
|
|
404
403
|
"claude-code": "claude-code";
|
|
405
404
|
"codex-cli": "codex-cli";
|
|
406
405
|
"gemini-cli": "gemini-cli";
|
|
407
406
|
"grok-cli": "grok-cli";
|
|
407
|
+
antigravity: "antigravity";
|
|
408
408
|
}>>>;
|
|
409
409
|
verified: z.ZodOptional<z.ZodBoolean>;
|
|
410
410
|
}, z.core.$loose>>;
|