@mvanhorn/printing-press-library 0.1.6 → 0.1.8
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/CHANGELOG.md +13 -0
- package/README.md +76 -3
- package/dist/src/commands/list.js +2 -1
- package/dist/src/commands/list.js.map +1 -1
- package/dist/src/commands/search.js +77 -13
- package/dist/src/commands/search.js.map +1 -1
- package/dist/src/constants.d.ts +2 -0
- package/dist/src/constants.js +2 -0
- package/dist/src/constants.js.map +1 -1
- package/dist/src/format.js +2 -2
- package/dist/src/format.js.map +1 -1
- package/dist/src/registry.d.ts +1 -0
- package/dist/src/registry.js +18 -0
- package/dist/src/registry.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,18 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.1.8
|
|
4
|
+
|
|
5
|
+
- Avoid treating one-character queries or the shared `-pp-cli` binary suffix as searchable content, so queries like `a`, `t`, `pp`, or `cli` no longer match broad slices of the catalog while full binary-name queries still resolve to the intended CLI.
|
|
6
|
+
|
|
7
|
+
## 0.1.7
|
|
8
|
+
|
|
9
|
+
- Refresh the GitHub and npm README surfaces now that `@mvanhorn/printing-press-library` is live.
|
|
10
|
+
- Document catalog discovery flows for `list`, `search`, category filtering, installed-only listing, and JSON output.
|
|
11
|
+
- Normalize search punctuation and simple plurals so queries like `cal.com`, `cal-com`, and `hotels` find the expected catalog entries.
|
|
12
|
+
- Add generated registry `search_terms` sourced from manifest descriptions, auth notes, and novel features so concise result descriptions can stay readable without weakening discovery.
|
|
13
|
+
- Document the optional global uninstall step for the older `@mvanhorn/printing-press` package.
|
|
14
|
+
- Show `npx -y @mvanhorn/printing-press-library install <name>` in discovery output so copy-paste installs work before the package is globally installed.
|
|
15
|
+
|
|
3
16
|
## 0.1.6
|
|
4
17
|
|
|
5
18
|
- Rename the npm package and command to `@mvanhorn/printing-press-library` / `printing-press-library` so the public catalog installer is unambiguous and does not collide with the Printing Press generator concept.
|
package/README.md
CHANGED
|
@@ -1,12 +1,22 @@
|
|
|
1
1
|
# @mvanhorn/printing-press-library
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Browse, search, install, update, and remove [Printing Press](https://printingpress.dev)-generated CLIs. Each install pulls down a Go binary plus its focused agent skill — the skill lands in every supported agent on your machine (Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, and other agents the upstream [`skills`](https://github.com/vercel-labs/skills) CLI detects).
|
|
4
4
|
|
|
5
5
|
This package replaces the older `@mvanhorn/printing-press` npm package. Use the unambiguous `printing-press-library` command for catalog discovery and installs.
|
|
6
6
|
|
|
7
7
|
## Quick start
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
Search the catalog, browse a category, then install the CLI you want:
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
npx -y @mvanhorn/printing-press-library search flights
|
|
13
|
+
npx -y @mvanhorn/printing-press-library list --category travel
|
|
14
|
+
npx -y @mvanhorn/printing-press-library install airbnb
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
The `-y` flag only tells `npx` to run this wrapper package without an interactive npm prompt; `list` and `search` do not install catalog CLIs.
|
|
18
|
+
|
|
19
|
+
Or install the starter pack — four hand-picked CLIs and skills in one command:
|
|
10
20
|
|
|
11
21
|
```bash
|
|
12
22
|
npx -y @mvanhorn/printing-press-library install starter-pack
|
|
@@ -14,6 +24,43 @@ npx -y @mvanhorn/printing-press-library install starter-pack
|
|
|
14
24
|
|
|
15
25
|
The starter pack installs `espn` (live sports), `flight-goat` (flight search), `movie-goat` (movie discovery), and `recipe-goat` (recipe ranking).
|
|
16
26
|
|
|
27
|
+
## Discover the catalog
|
|
28
|
+
|
|
29
|
+
List every published CLI:
|
|
30
|
+
|
|
31
|
+
```bash
|
|
32
|
+
npx -y @mvanhorn/printing-press-library list
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
Filter to one category:
|
|
36
|
+
|
|
37
|
+
```bash
|
|
38
|
+
npx -y @mvanhorn/printing-press-library list --category travel
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
Search by keyword across names, categories, APIs, descriptions, binaries, and generated search metadata:
|
|
42
|
+
|
|
43
|
+
```bash
|
|
44
|
+
npx -y @mvanhorn/printing-press-library search flights
|
|
45
|
+
npx -y @mvanhorn/printing-press-library search sports
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
Discovery commands print compact cards by default:
|
|
49
|
+
|
|
50
|
+
```text
|
|
51
|
+
airbnb (travel) - airbnb-pp-cli
|
|
52
|
+
Search Airbnb and VRBO, find the host's direct booking site, and report the cheapest
|
|
53
|
+
of three sources side-by-side.
|
|
54
|
+
install: npx -y @mvanhorn/printing-press-library install airbnb
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
Use `--json` when another tool or agent is reading the output:
|
|
58
|
+
|
|
59
|
+
```bash
|
|
60
|
+
npx -y @mvanhorn/printing-press-library search flights --json
|
|
61
|
+
npx -y @mvanhorn/printing-press-library list --category travel --json
|
|
62
|
+
```
|
|
63
|
+
|
|
17
64
|
## Installing CLIs and skills
|
|
18
65
|
|
|
19
66
|
Every install pulls down the Go binary **and** the focused skill in one shot. Use `--cli-only` or `--skill-only` (see [Options](#options)) if you want just one half.
|
|
@@ -22,6 +69,7 @@ One tool:
|
|
|
22
69
|
|
|
23
70
|
```bash
|
|
24
71
|
npx -y @mvanhorn/printing-press-library install espn
|
|
72
|
+
npx -y @mvanhorn/printing-press-library install airbnb-pp-cli
|
|
25
73
|
```
|
|
26
74
|
|
|
27
75
|
Several at once (bundles and CLI names mix freely):
|
|
@@ -33,6 +81,8 @@ npx -y @mvanhorn/printing-press-library install starter-pack cal-com
|
|
|
33
81
|
|
|
34
82
|
Under the hood: the installer reads the live catalog at [`registry.json`](https://github.com/mvanhorn/printing-press-library/blob/main/registry.json), resolves the CLI's Go module path, runs `go install`, and installs the matching focused skill from `cli-skills/pp-<name>` via `npx skills@latest`.
|
|
35
83
|
|
|
84
|
+
Names are forgiving: use the catalog slug (`airbnb`), generated binary name (`airbnb-pp-cli`), or API-ish name (`Airbnb Vrbo`) and the installer normalizes it to the right catalog entry.
|
|
85
|
+
|
|
36
86
|
## Other commands
|
|
37
87
|
|
|
38
88
|
```bash
|
|
@@ -44,6 +94,8 @@ npx -y @mvanhorn/printing-press-library update espn
|
|
|
44
94
|
npx -y @mvanhorn/printing-press-library uninstall espn --yes
|
|
45
95
|
```
|
|
46
96
|
|
|
97
|
+
`list` shows the public catalog by default. Use `list --installed` when you only want CLIs already present on your machine.
|
|
98
|
+
|
|
47
99
|
## Options
|
|
48
100
|
|
|
49
101
|
```bash
|
|
@@ -59,6 +111,8 @@ npx -y @mvanhorn/printing-press-library install espn --agent claude-code
|
|
|
59
111
|
|
|
60
112
|
# Machine-readable output
|
|
61
113
|
npx -y @mvanhorn/printing-press-library install espn --json
|
|
114
|
+
npx -y @mvanhorn/printing-press-library search sports --json
|
|
115
|
+
npx -y @mvanhorn/printing-press-library list --installed --json
|
|
62
116
|
|
|
63
117
|
# Pin to an alternate catalog (mainly for testing)
|
|
64
118
|
npx -y @mvanhorn/printing-press-library search sports --registry-url https://example.com/registry.json
|
|
@@ -80,4 +134,23 @@ More bundles will be added over time. To suggest one, open an issue at the [prin
|
|
|
80
134
|
- Go 1.26.3 or newer (for `go install`)
|
|
81
135
|
- `$(go env GOPATH)/bin` on `$PATH` (usually `$HOME/go/bin`) so installed CLIs are runnable
|
|
82
136
|
|
|
83
|
-
|
|
137
|
+
## Migration from @mvanhorn/printing-press
|
|
138
|
+
|
|
139
|
+
The old package name was ambiguous with the generator repo. If you installed it globally, remove the old package first:
|
|
140
|
+
|
|
141
|
+
```bash
|
|
142
|
+
npm uninstall -g @mvanhorn/printing-press
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
New installs should use:
|
|
146
|
+
|
|
147
|
+
```bash
|
|
148
|
+
npx -y @mvanhorn/printing-press-library <command>
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
The command name is also `printing-press-library`, so global installs are explicit:
|
|
152
|
+
|
|
153
|
+
```bash
|
|
154
|
+
npm install -g @mvanhorn/printing-press-library
|
|
155
|
+
printing-press-library search flights
|
|
156
|
+
```
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { commandOnPath, execFileRunner } from "../process.js";
|
|
2
2
|
import { cliBinaryName, DEFAULT_REGISTRY_URL, fetchRegistry, } from "../registry.js";
|
|
3
3
|
import { renderCatalogEntries, renderInstalledEntries } from "../format.js";
|
|
4
|
+
import { NPX_COMMAND_PREFIX } from "../constants.js";
|
|
4
5
|
export function createListCommand(overrides = {}) {
|
|
5
6
|
const deps = {
|
|
6
7
|
fetchRegistry: (url) => fetchRegistry(url),
|
|
@@ -49,7 +50,7 @@ export function createListCommand(overrides = {}) {
|
|
|
49
50
|
}
|
|
50
51
|
if (installed.length === 0) {
|
|
51
52
|
const suffix = options.category ? ` in category "${options.category}"` : "";
|
|
52
|
-
deps.stdout(`No Printing Press CLIs installed${suffix}. Try
|
|
53
|
+
deps.stdout(`No Printing Press CLIs installed${suffix}. Try \`${NPX_COMMAND_PREFIX} search <query>\` or \`${NPX_COMMAND_PREFIX} install <name>\`.`);
|
|
53
54
|
return 0;
|
|
54
55
|
}
|
|
55
56
|
for (const line of renderInstalledEntries(installed)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../../src/commands/list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,cAAc,EAAe,MAAM,eAAe,CAAC;AAC3E,OAAO,EACL,aAAa,EACb,oBAAoB,EACpB,aAAa,GAGd,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../../src/commands/list.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { DEFAULT_REGISTRY_URL, fetchRegistry } from "../registry.js";
|
|
1
|
+
import { DEFAULT_REGISTRY_URL, cliBinaryName, fetchRegistry, } from "../registry.js";
|
|
2
2
|
import { renderCatalogEntries } from "../format.js";
|
|
3
3
|
export function createSearchCommand(overrides = {}) {
|
|
4
4
|
const deps = {
|
|
@@ -31,31 +31,95 @@ export function createSearchCommand(overrides = {}) {
|
|
|
31
31
|
};
|
|
32
32
|
}
|
|
33
33
|
export const searchCommand = createSearchCommand();
|
|
34
|
+
const MIN_MEANINGFUL_QUERY_LENGTH = 2;
|
|
35
|
+
const IGNORED_SEARCH_TERMS = new Set(["pp", "cli", "pp cli"]);
|
|
34
36
|
export function searchRegistry(entries, query) {
|
|
35
|
-
const
|
|
37
|
+
const terms = searchTerms(query);
|
|
36
38
|
return entries
|
|
37
|
-
.map((entry) => ({ entry, score: scoreEntry(entry,
|
|
39
|
+
.map((entry) => ({ entry, score: scoreEntry(entry, terms) }))
|
|
38
40
|
.filter((result) => result.score > 0)
|
|
39
41
|
.sort((a, b) => b.score - a.score || a.entry.name.localeCompare(b.entry.name))
|
|
40
42
|
.map((result) => result.entry);
|
|
41
43
|
}
|
|
42
|
-
function scoreEntry(entry,
|
|
43
|
-
const name = entry.name
|
|
44
|
-
const
|
|
45
|
-
const
|
|
46
|
-
const
|
|
47
|
-
|
|
44
|
+
function scoreEntry(entry, terms) {
|
|
45
|
+
const name = normalizeCatalogIdentifier(entry.name);
|
|
46
|
+
const binary = normalizeCatalogIdentifier(cliBinaryName(entry));
|
|
47
|
+
const api = normalizeSearchText(entry.api);
|
|
48
|
+
const category = normalizeSearchText(entry.category);
|
|
49
|
+
const description = normalizeSearchText(entry.description);
|
|
50
|
+
const indexText = normalizeSearchText(entry.search_terms?.join(" ") ?? "");
|
|
51
|
+
if (terms.some((term) => name === term || api === term))
|
|
48
52
|
return 100;
|
|
49
|
-
if (name
|
|
53
|
+
if (matchesAnyTerm(name, terms))
|
|
50
54
|
return 80;
|
|
51
|
-
if (
|
|
55
|
+
if (matchesAnyTerm(binary, terms))
|
|
56
|
+
return 80;
|
|
57
|
+
if (matchesAnyTerm(api, terms))
|
|
52
58
|
return 70;
|
|
53
|
-
if (category
|
|
59
|
+
if (matchesAnyTerm(category, terms))
|
|
54
60
|
return 50;
|
|
55
|
-
if (description
|
|
61
|
+
if (matchesAnyTerm(description, terms))
|
|
56
62
|
return 30;
|
|
63
|
+
if (matchesAnyTerm(indexText, terms))
|
|
64
|
+
return 25;
|
|
57
65
|
return 0;
|
|
58
66
|
}
|
|
67
|
+
function matchesAnyTerm(value, terms) {
|
|
68
|
+
return terms.some((term) => value.includes(term));
|
|
69
|
+
}
|
|
70
|
+
function searchTerms(query) {
|
|
71
|
+
const normalized = normalizeSearchText(query);
|
|
72
|
+
const terms = new Set();
|
|
73
|
+
addSearchTerm(terms, normalized);
|
|
74
|
+
return [...terms];
|
|
75
|
+
}
|
|
76
|
+
function isMeaningfulSearchTerm(value) {
|
|
77
|
+
const tokens = value.split(/\s+/).filter(Boolean);
|
|
78
|
+
return tokens.some((token) => token.length >= MIN_MEANINGFUL_QUERY_LENGTH) && !IGNORED_SEARCH_TERMS.has(value);
|
|
79
|
+
}
|
|
80
|
+
function addSearchTerm(terms, term) {
|
|
81
|
+
if (!isMeaningfulSearchTerm(term) || terms.has(term)) {
|
|
82
|
+
return;
|
|
83
|
+
}
|
|
84
|
+
terms.add(term);
|
|
85
|
+
const identifier = stripCommonBinarySuffix(term);
|
|
86
|
+
if (identifier !== term) {
|
|
87
|
+
addSearchTerm(terms, identifier);
|
|
88
|
+
}
|
|
89
|
+
const singular = singularizeTerm(term);
|
|
90
|
+
if (singular !== term) {
|
|
91
|
+
addSearchTerm(terms, singular);
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
function normalizeSearchText(value) {
|
|
95
|
+
return value
|
|
96
|
+
.toLowerCase()
|
|
97
|
+
.replace(/[^a-z0-9]+/g, " ")
|
|
98
|
+
.trim()
|
|
99
|
+
.replace(/\s+/g, " ");
|
|
100
|
+
}
|
|
101
|
+
function normalizeCatalogIdentifier(value) {
|
|
102
|
+
return stripCommonBinarySuffix(normalizeSearchText(value));
|
|
103
|
+
}
|
|
104
|
+
function stripCommonBinarySuffix(value) {
|
|
105
|
+
const suffix = " pp cli";
|
|
106
|
+
if (!value.endsWith(suffix)) {
|
|
107
|
+
return value;
|
|
108
|
+
}
|
|
109
|
+
const stripped = value.slice(0, -suffix.length).trim();
|
|
110
|
+
return stripped || value;
|
|
111
|
+
}
|
|
112
|
+
function singularizeToken(token) {
|
|
113
|
+
return token.length > 3 && token.endsWith("s") && !token.endsWith("ss")
|
|
114
|
+
? token.slice(0, -1)
|
|
115
|
+
: token;
|
|
116
|
+
}
|
|
117
|
+
function singularizeTerm(term) {
|
|
118
|
+
return term
|
|
119
|
+
.split(" ")
|
|
120
|
+
.map((token) => singularizeToken(token))
|
|
121
|
+
.join(" ");
|
|
122
|
+
}
|
|
59
123
|
function parseSearchArgs(args) {
|
|
60
124
|
const queryParts = [];
|
|
61
125
|
let json = false;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search.js","sourceRoot":"","sources":["../../../src/commands/search.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"search.js","sourceRoot":"","sources":["../../../src/commands/search.ts"],"names":[],"mappings":"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"}
|
package/dist/src/constants.d.ts
CHANGED
package/dist/src/constants.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,gBAAgB,GAAG,wBAAwB,CAAC"}
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,gBAAgB,GAAG,wBAAwB,CAAC;AACzD,MAAM,CAAC,MAAM,gBAAgB,GAAG,kCAAkC,CAAC;AACnE,MAAM,CAAC,MAAM,kBAAkB,GAAG,UAAU,gBAAgB,EAAE,CAAC"}
|
package/dist/src/format.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { cliBinaryName } from "./registry.js";
|
|
2
|
-
import {
|
|
2
|
+
import { NPX_COMMAND_PREFIX } from "./constants.js";
|
|
3
3
|
const DEFAULT_WIDTH = 88;
|
|
4
4
|
const BODY_INDENT = " ";
|
|
5
5
|
export function renderCatalogEntries(entries) {
|
|
@@ -7,7 +7,7 @@ export function renderCatalogEntries(entries) {
|
|
|
7
7
|
const lines = [
|
|
8
8
|
`${entry.name} (${entry.category}) - ${cliBinaryName(entry)}`,
|
|
9
9
|
...wrapText(entry.description, DEFAULT_WIDTH, BODY_INDENT),
|
|
10
|
-
`${BODY_INDENT}install: ${
|
|
10
|
+
`${BODY_INDENT}install: ${NPX_COMMAND_PREFIX} install ${entry.name}`,
|
|
11
11
|
];
|
|
12
12
|
return index === entries.length - 1 ? lines : [...lines, ""];
|
|
13
13
|
});
|
package/dist/src/format.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"format.js","sourceRoot":"","sources":["../../src/format.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAsB,MAAM,eAAe,CAAC;AAClE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"format.js","sourceRoot":"","sources":["../../src/format.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAsB,MAAM,eAAe,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAEpD,MAAM,aAAa,GAAG,EAAE,CAAC;AACzB,MAAM,WAAW,GAAG,IAAI,CAAC;AAEzB,MAAM,UAAU,oBAAoB,CAAC,OAAwB;IAC3D,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;QACtC,MAAM,KAAK,GAAG;YACZ,GAAG,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,QAAQ,OAAO,aAAa,CAAC,KAAK,CAAC,EAAE;YAC7D,GAAG,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE,aAAa,EAAE,WAAW,CAAC;YAC1D,GAAG,WAAW,YAAY,kBAAkB,YAAY,KAAK,CAAC,IAAI,EAAE;SACrE,CAAC;QACF,OAAO,KAAK,KAAK,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,EAAE,EAAE,CAAC,CAAC;IAC/D,CAAC,CAAC,CAAC;AACL,CAAC;AASD,MAAM,UAAU,sBAAsB,CAAC,OAAgC;IACrE,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;QACtC,MAAM,KAAK,GAAG;YACZ,GAAG,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,OAAO,OAAO,KAAK,CAAC,MAAM,EAAE;YACpD,GAAG,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE,aAAa,EAAE,WAAW,CAAC;SAC3D,CAAC;QACF,OAAO,KAAK,KAAK,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,EAAE,EAAE,CAAC,CAAC;IAC/D,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,QAAQ,CAAC,IAAY,EAAE,KAAa,EAAE,MAAc;IAC3D,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACvD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,IAAI,GAAG,MAAM,CAAC;IAClB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,SAAS,GAAG,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,IAAI,EAAE,CAAC;QAC3E,IAAI,SAAS,CAAC,MAAM,GAAG,KAAK,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;YAChD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACjB,IAAI,GAAG,GAAG,MAAM,GAAG,IAAI,EAAE,CAAC;QAC5B,CAAC;aAAM,CAAC;YACN,IAAI,GAAG,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjB,OAAO,KAAK,CAAC;AACf,CAAC"}
|
package/dist/src/registry.d.ts
CHANGED
package/dist/src/registry.js
CHANGED
|
@@ -94,6 +94,7 @@ function parseRegistryEntry(value) {
|
|
|
94
94
|
category: requiredString(value, "category"),
|
|
95
95
|
api: requiredString(value, "api"),
|
|
96
96
|
description: requiredString(value, "description"),
|
|
97
|
+
search_terms: optionalStringArray(value, "search_terms"),
|
|
97
98
|
path: requiredString(value, "path"),
|
|
98
99
|
};
|
|
99
100
|
return isRecord(value.mcp)
|
|
@@ -140,6 +141,23 @@ function requiredStringArray(value, key) {
|
|
|
140
141
|
}
|
|
141
142
|
return out;
|
|
142
143
|
}
|
|
144
|
+
function optionalStringArray(value, key) {
|
|
145
|
+
const raw = value[key];
|
|
146
|
+
if (raw === undefined || raw === null) {
|
|
147
|
+
return undefined;
|
|
148
|
+
}
|
|
149
|
+
if (!Array.isArray(raw)) {
|
|
150
|
+
throw new Error(`registry entry has non-array field: ${key}`);
|
|
151
|
+
}
|
|
152
|
+
const out = [];
|
|
153
|
+
for (const item of raw) {
|
|
154
|
+
if (typeof item !== "string" || item.trim() === "") {
|
|
155
|
+
throw new Error(`registry entry has non-string value in array field: ${key}`);
|
|
156
|
+
}
|
|
157
|
+
out.push(item);
|
|
158
|
+
}
|
|
159
|
+
return out.length > 0 ? out : undefined;
|
|
160
|
+
}
|
|
143
161
|
function isRecord(value) {
|
|
144
162
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
145
163
|
}
|
package/dist/src/registry.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/registry.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,oBAAoB,GAC/B,sFAAsF,CAAC;
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/registry.ts"],"names":[],"mappings":"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"}
|